本文主要对最近学习的Turbo码编码的原理做一个学习记录。
一、递归系统卷积码
在介绍Turbo编码原理之前,我们需要知道分量编码器的工作原理。根据差错控制编码的理论,递归系统卷积码(RSC)在性能方面要优于非系统卷积码和系统卷积码。因此, RSC 码通常作为 Turbo 码的分量码。若一个系统卷积码既有前馈多项式,又有后馈多项式,则称该系统卷积码为递归系统卷积码(RSC)。
上图是CDMA2000标准中定义的Turbo编码器的 分量编码器,采用递归系统卷积码。分量编码器后馈多项式:At =1+D^2+D^3 ; 前馈多项式Y0= 1+D+D^3 Y1= 1+D+D^2+D^3;设输入为Ut ,At = mod(Ut +D2+D3,2); Y0=mod(At+D1+D3,2);Y1= mod(At+D1+D2+D3,2);然后进行移位寄存,D3=D2;D2=D1;D1=At;
根据上述循环,可得到编码状态转移图如下:
二、Turbo编码的结构
Turbo 编码结构如下图 ,包括交织器、两个分量编码器(RSC1、 RSC2)、删余矩阵以及复用模块。交织器是用来打乱原始信息序列顺序,并按照交织器的规则输出新的信息序列;分量编码器是对输入的信息码元进行编码;删余矩阵由 Turbo 码的率决定,对编码后的校验码元进行选性删除;复用模块是将输入的原始信息码元与删余后的校验码元重组,然后按需求输出。
图中u 为输入信息序列, 𝑐𝑝1为 RSC1 输出的校验序列, u1为u 经过交织器后的序列, 𝑐𝑝2为 RSC2 输出的校验序列,当编码码率为 1/3 时,编码输出 c 由u 、 𝑐𝑝1和𝑐𝑝2构成。 将𝑐𝑝1和𝑐𝑝2分别通过删余矩阵选择性删除一些校验位,然后组合输出序列𝑐𝑝,可以提高码率。
三、交织器
交织器和解交织器在整个设计过程中是很重要的组成模块,交织可以使输入序列尽可能随机化,以满足 Shannon 定理的随机编码条件, 来获得逼近香农极限的性能。在进行译码器的设计时交织器可能会影响最后的性能, 而交织实际上采用的是映射原则,是将原始比特序列的位置置换,减少信息序列之间的相关性,造成信道的突发错误均化,使得经过分量编码器之后生成的校验数据拥有更强的检错和纠错能力。如图所示的是交织器的实现原理图。
图中可以看出,交织器的实现方式其实并不复杂,交织并不会改变输入信息的内容,只是将其输入序列重新进行排列,获得新的信息序列。而对应的逆过程称之为解交织,简而言之,就是将重置后的信息序列恢复成初始时的信息序列。为了在硬件实现时减少复杂度,本文选用设计相对简单的二次置换多项式( Quadratic PermutationPolynomial, QPP)交织器, QPP 交织器实现时的方式相对简单,不复杂,只需要两个参数就能够实现交织。
若输入的原始信息序列为 ,其中, k 表示的是交织长度,经过交织后的信息序列为,交织前后之间的对应关系为:
其中,交织地址
QPP 交织器及其相应的解交织器均拥有较好的性能,并且计算复杂度低,实现简单且需要较少的硬件存储空间等优点。因此适用于工程应用, QPP 交织器不仅可以满足卫星通信的需求,而且易于实现。详细的 QPP 交织参数如下:
文章来源:https://www.toymoban.com/news/detail-609835.html
文章来源地址https://www.toymoban.com/news/detail-609835.html
到了这里,关于Turbo编码原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!