热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

Turbo编码原理及基本概念

1、基本概念理解传统编码中,人们将信道编码着重于短码构造上面,即寻找一种译码结构,使其具有尽可能大的最小距离。但是,Turb

1、基本概念理解

       传统编码中,人们将信道编码着重于短码构造上面,即寻找一种译码结构,使其具有尽可能大的最小距离。但是,Turbo码中使用了两个递归系统卷积码并行级联(RSC-PCCC),编译码器中使用了交织器和解交织器,有效地实现了随机性编译码的思想,通过对短码有效结合取得了长码的效果,从而达到了接近Shannon理论极限的性能。    

       编码由3部分组成:直接输入复接口,经水平编码器1、再经开关电路送入复接器,以及经垂直编码器2、再经开关电路送入复接器。经水平编码器1的水平码与经垂直编码器2的垂直码称为Turbo Codes的分量码。

       原则上,分量码既可以采用系统码形式,也可以采用非系统码形式。但考虑到码的整体速率,我们研究更多的是系统码作为分量码



1.1  LTE中Turbo编码方案

图2  Turbo RSC编码结构图

       

LTE中规定的RSC编码器采用系数为[13,15]的8状态递归系统卷积码作为分量码。分量码编码器传输函数采用如下:

                 G(D)=[1\, \, \, \,\frac{1+D+D^3}{1+D^2+D^3}]

前馈生成多项式:  g1=1+D+D^3 ,反馈多项式  1+D^2+D^3


1.2  LTE中交织器实现

       编码器中交织器的使用是实现Turbo码近似随机编码的关键。交织器实际上是一个一对一的映射函数,作用是将输入信息序列中的比特位置进行重置,以减小分量编码器输出校验序列的相关性并且提高码重。

图3  Turbo 交织器原理示意图

        LTE中采用QPP交织器作为标准的交织器,只需要进行多项式计算或者递推计算,不需要大量的查表操作,节省了运算时间和运算复杂度。输入序号i和输出符合x(i)的关系满足如下公式: 

                                        \large x(i)=(f_1i+f_2\, i^2)\, mod\, K

      \large f_1,f_2决定于K的取值,与K的关系可参考下表:

 

表1.2    \large f_1,f_2的对应参数表格


i

Ki

f1

f2

i

Ki

f1

f2

1

40

3

10

10

112

41

84

2

48

7

12

11

120

103

90

3

56

19

42

12

128

15

32

4

64

7

16

13

136

9

34

5

72

7

18

14

144

17

108

6

80

11

20

15

152

9

38

7

88

5

22

16

160

21

120

8

96

11

24

17

168

101

84

9

104

7

26

18

176

21

44

●  若编码序列的长度为1024,根据查表得到\large f_1=31,f_2=64: 。MATALB仿真得到地址生成模块输入输出序列如下表所示:

 

表1.3 模块输入输出序列


输入

1

3

3

4

5

6

7

8

9

输出

1

96

319

670

125

732

443

282

249


推荐阅读
author-avatar
喵喵妈70929
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有