一、原理
Turbo的编码器由两个并行的分量编码器组成。分量编码器的选择一般是卷积码。在Turbo码中,输入序列在进入第二个编码器时须经过一个交织器 ,用于将序列打乱。两个编码器的输出共同作为冗余信息添加到信息序列之后,对抗信道引起的错误。
- turbo编码器的结构
二、交织器
什么是交织器?
编码器中交织器的使用是实现Turbo码近似随机编码的关键。交织器实际上是一个一对一的映射函数,作用是将输入信息序列中的比特位置进行重置,以减小分量编码器输出校验序列的相关性并且提高码重(码字中1的数目)。
如何实现交织器?
k:信息块的长度,取k = 960
s:原始数据序号,1~k
k = k1 * k2 = 4 * 240
Π(s):交织后的数据序号
根据下图所示流程,即可得到交织后的数据序号。
三、RSC 递归系统卷积码
所谓卷积码,即输出为输入和一段已知序列的卷积。
每个输入会产生三个输出。
-
RSC编码器结构
-
生成多项式
四、归零处理
在数据序列编码完成后,归零处理使分量编码器RSC中的移位寄存器恢复成编码前的零状态,从而使编译码变得简单易于控制。
Turbo码的归零处理如下:
(1)输入所有的编码序列,完成编码
(2)分量码开关切换,各个寄存器中的遗留状态值和反馈结构生成某些编码序列的尾部比特,这些尾比特与自身异或,使新进入寄存器的值为0。尾比特添加至编码序列系统部位,RSC计算出的比特添加到校验序列后。
(3)该过程直到所有移位寄存器中值全部为0。如寄存器有m个,则经过m次后寄存器将全为0。
- 实际操作
前k个时钟,开关位于a,信息被输入到编码器中。
在k个时钟之后的6个时钟,开关位于位置b。在这6个时钟的前3个时钟里,只有RSC1输出。在这6个时钟的后3个时钟里,只有RSC2输出。
所以,终止序列是(X、Y0、Y1、X’、Y0’、Y1’);
五、数据打孔(删余)
现代通信系统中,为了实现高速数据传输,系统对频带利用率要求较高,一般Turbo码的码率只有1/3,所以,频带利用率不高,为了解决这一问题,在编码器中加入了删余处理。
删余处理的具体操作即在编码完成后,将分量码输出的两路校验信息输入删余器,按照一定的规则删除一部分校验信息,减小信息的冗余度,从而提高编码效率。删余处理根据各系统自定。
在上表中,0表示删除这个数据,1表示保留这个数据。
注意,终止部分(尾比特)的穿刺表与前面数据的穿刺表不一定相同。