1.Turbo码的编码原理
Turbo 码最先是由C. Beηou等提出的。
它实际上是一种并行级联卷积码(Parallel Concatenated Convolutional Codes)。Turbo 码编码器是由两个反馈的系统卷积编码器通过一个交织器并行连接而成,编码后的校验位经过删余阵,从而产生不同的码率的码字。
如图所示:信息序列u={u1,u2,……,uN}经过交织器形成一个新序列u'={u1',u2',……,uN'}(长度与内容没变,但比特位经过重新排列),u 和u'分别传送到两个分量编码器(RSC1与RSC2) ,一般情况下,这两个分量编码器结构相同,生成序列X和X,为了提高码率,序列X和X需要经过删余器,采用删余(puncturing)技术从这两个校验序列中周期的删除一些校验位,形成校验序列X,X,与未编码序列X'经过复用调制后,生成了Turbo码序列X. Turbo 码的一个重要特点是它的分量码采用递归系统卷积码(RSC,Recursive Systematic Convolutional code) ,这也是它性能优越的一个重要原因。之所以选择RSC编码器作为Turbo码的子码主要有以下原因:首先,RSC码具有系统码的优点。
这一特性使用户在译码时无需变换码字而直接对接收的码字进行译码,所以,递归系统卷积码(RSC)对于非系统卷积码(NSC)而言译码简单、快速。其次,从差错控制编码的相关文献中可知,非系统卷积码(NSC)的BER性能在高信噪比时比约束长度相同的非递归系统码要好,而在低信噪比时情况却正好相反。
递归系统卷积码综合了NSC码和非递归系统卷积码的特性,且然它与NSC码具有相同的trellis结构和自由距离,但是在高码率(R≥2/3)的情况下,对任何信噪比,它的性能均比等效的NSC码要好。由于系统递归卷积码具有以上特点,并且能改善误码率,所以通常选择RSC码作为Turbo码的子编码器。
递归系统卷积码(RSC)不同于一般的卷积码器在于其结构中不仅有向前结构,还有向后反馈结构,在下图中可以看出。RSC 编码器一般有2-5 级移位寄存器, 用生成多项式表示为:式中,1表示系统比特,gl 和g2分别表示编码器的前馈多项式和反馈多项式。
用RSC码构成Turbo码的分量码的码率R为:式中:R1,R2为构成Turbo 码的分量码的码率,在经删余后,分量RSC1和RSC2的码率可以不同。Turbo 码的最大似然译码性能分析出,Turbo 码在高信噪比下的性能主要由它的自由距离所决定。
因为Turbo码的自由距离主要由重量为2的输入信息序列所产生的码字间的最小距离所决定,用本原多项式作为反馈连接多项式的分量编码器所产生的码字的最小重量为最大,因此当Turbo码交织器的大小给定后,如果分量码的反馈连接多项式采用本原多项式,则Turbo码的自由距离会增加,从而Turbo码在高斯信噪比情况下的“错误平层(errorfloor)”会降低。错误平层效应指的是在中高信噪比情况下,误码曲线变平。
也就是说,即使是再增大信噪比,无码率也降不下来(一般的系统,比如说是BPSK的误码曲线,误码率随着信噪比的增大是单调下降的)。 交织器是影响Turbo码性能的一个关键因素,它可以便Turbo码的距离谱细化,即码重分布更为集中。
它的特性的好坏直接关系着Turbo码的性能。编码器中交织器的使用是实现Turbo码近似随机编码的关键。
交织器实际上是一个一一映射函数,作用是将输入信息序列中的比特位置进行重置,以减小分量编码器输出校验序列的相关性和提高码重。通常在输入信息序列较长时可以采用近似随机的映射方式,相应的交织器称为伪随机交织器。
由于在具体的通信系统中采用Turbo码时交织器必须具有固定的结构,同时是基于信息序列的,因此在一定条件下可以把Turbo码看成一类特殊的分组码来简化分析。交织是对信息序列加以重新排列的一个过程。
如果定义一个集合A , A={1,2,…,N}。则交织器可以定义为一个一一对应的映射函数π(A-->A):J=π(i),(i,j属于A) 这里的i ,j 分别是未交织序列C 和交织序列C' 中的元素标号。
映射函数可以表示为πN = (π⑴,π⑵,π⑶,…,π(N))。其原理如图在交织器的设计中,基本上是遵循下列原则:1)最大程度的置乱原来的数据排列顺序,避免置换前相距较近的数据在置换后仍然相距较近,特别是要避免相邻的数据在置换后仍然相邻。
2) 尽量提高最小码重码字的重量和减小低码重码字的数量。3) 尽可能避免与同一信息位直接相关的两个分量编码器中的校验位均被删除;4) 对于不归零的编码器,交织器设计时要避兔出现尾效应 图案。
在设计交织器时,应考虑具体应用系统的数据的大小,使交织深度在满足时延要求的前提下,与数据大小一致,或是数据帧长度的整数倍。交织器和分量码的结合可以确保Turbo码编码输出码字都具有较高的汉明重量。
在Turbo编码器中交织器的作用是将信息序列中的比特顺序重置。当信息序列经过第一个分量编码器后输出的码字重量较低时,交织器可以使交织后的信息序列经过第二个分量编码器编码后以很大的概率输出较高重码字,从而提高码字的汉明重量:同时好的交织器还可以奇效地降低校验序列间的相关性。
因此,交织器设计的好坏在很大程度上影响着Turbo码的性能。交织器的类型可以分为两大类,一是规则交织器,也称确定性交织器,其交织器。
2.Turbo码的译码原理
香农信息论告诉我们,最优的译码算法是概率译码算法,也就是最大后验概率算法(MAP)。但在Turbo码出现之前,信道编码使用的概率译码算法是最大似然算法(ML)。ML算法是MAP算法的简化,即假设信源符号等概率出现,因此是次优的译码算法。Turbo码的译码算法采用了MAP算法,在译码的结构上又做了改进,再次引入反馈的概念,取得了性能和复杂度之间的折衷。同时,Turbo 码的译码采用的是迭代译码,这与经典的代数译码是完全不同的。
Turbo 码的译码算法是最早在BCJR 算法的基础上改进的,我们称以MAP算法,后来又形成Log-MAP算法、Max-Log-MAP以及软输入软输出(SOVA)算法。Turbo 码的译码结构图
⒈Turbo 码的译码结构如图所示. Turbo 译码器有以下的特点:
1) 串行级联
2) 迭代译码
3) 在迭代译码过程中交换的是外部信息
⒉ 概率译码译码原理及结构
译码时首先对接收信息进行处理,两个成员译码器之间外部信息的传递就形成了一个循环迭代的结构。由于外部信息的作用,一定信噪比下的误比特率将随着循环次数的增加而降低。但同时外部信息与接受序列间的相关性也随着译码次数的增加而逐渐增加,外部信息所提供的纠错能力也随之减弱,在一定的循环次数之后,译码性能将不再提高。
3.Turbo码的编码原理
Turbo 码最先是由C. Beηou等提出的。
它实际上是一种并行级联卷积码(Parallel Concatenated Convolutional Codes)。Turbo 码编码器是由两个反馈的系统卷积编码器通过一个交织器并行连接而成,编码后的校验位经过删余阵,从而产生不同的码率的码字。
如图所示:信息序列u={u1,u2,……,uN}经过交织器形成一个新序列u'={u1',u2',……,uN'}(长度与内容没变,但比特位经过重新排列),u 和u'分别传送到两个分量编码器(RSC1与RSC2) ,一般情况下,这两个分量编码器结构相同,生成序列X和X,为了提高码率,序列X和X需要经过删余器,采用删余(puncturing)技术从这两个校验序列中周期的删除一些校验位,形成校验序列X,X,与未编码序列X'经过复用调制后,生成了Turbo码序列X. Turbo 码的一个重要特点是它的分量码采用递归系统卷积码(RSC,Recursive Systematic Convolutional code) ,这也是它性能优越的一个重要原因。之所以选择RSC编码器作为Turbo码的子码主要有以下原因:首先,RSC码具有系统码的优点。
这一特性使用户在译码时无需变换码字而直接对接收的码字进行译码,所以,递归系统卷积码(RSC)对于非系统卷积码(NSC)而言译码简单、快速。其次,从差错控制编码的相关文献中可知,非系统卷积码(NSC)的BER性能在高信噪比时比约束长度相同的非递归系统码要好,而在低信噪比时情况却正好相反。
递归系统卷积码综合了NSC码和非递归系统卷积码的特性,且然它与NSC码具有相同的trellis结构和自由距离,但是在高码率(R≥2/3)的情况下,对任何信噪比,它的性能均比等效的NSC码要好。由于系统递归卷积码具有以上特点,并且能改善误码率,所以通常选择RSC码作为Turbo码的子编码器。
递归系统卷积码(RSC)不同于一般的卷积码器在于其结构中不仅有向前结构,还有向后反馈结构,在下图中可以看出。RSC 编码器一般有2-5 级移位寄存器, 用生成多项式表示为:式中,1表示系统比特,gl 和g2分别表示编码器的前馈多项式和反馈多项式。
用RSC码构成Turbo码的分量码的码率R为:式中:R1,R2为构成Turbo 码的分量码的码率,在经删余后,分量RSC1和RSC2的码率可以不同。Turbo 码的最大似然译码性能分析出,Turbo 码在高信噪比下的性能主要由它的自由距离所决定。
因为Turbo码的自由距离主要由重量为2的输入信息序列所产生的码字间的最小距离所决定,用本原多项式作为反馈连接多项式的分量编码器所产生的码字的最小重量为最大,因此当Turbo码交织器的大小给定后,如果分量码的反馈连接多项式采用本原多项式,则Turbo码的自由距离会增加,从而Turbo码在高斯信噪比情况下的“错误平层(errorfloor)”会降低。错误平层效应指的是在中高信噪比情况下,误码曲线变平。
也就是说,即使是再增大信噪比,无码率也降不下来(一般的系统,比如说是BPSK的误码曲线,误码率随着信噪比的增大是单调下降的)。 交织器是影响Turbo码性能的一个关键因素,它可以便Turbo码的距离谱细化,即码重分布更为集中。
它的特性的好坏直接关系着Turbo码的性能。编码器中交织器的使用是实现Turbo码近似随机编码的关键。
交织器实际上是一个一一映射函数,作用是将输入信息序列中的比特位置进行重置,以减小分量编码器输出校验序列的相关性和提高码重。通常在输入信息序列较长时可以采用近似随机的映射方式,相应的交织器称为伪随机交织器。
由于在具体的通信系统中采用Turbo码时交织器必须具有固定的结构,同时是基于信息序列的,因此在一定条件下可以把Turbo码看成一类特殊的分组码来简化分析。交织是对信息序列加以重新排列的一个过程。
如果定义一个集合A , A={1,2,…,N}。则交织器可以定义为一个一一对应的映射函数π(A-->A):J=π(i),(i,j属于A) 这里的i ,j 分别是未交织序列C 和交织序列C' 中的元素标号。
映射函数可以表示为πN = (π⑴,π⑵,π⑶,…,π(N))。其原理如图在交织器的设计中,基本上是遵循下列原则:1)最大程度的置乱原来的数据排列顺序,避免置换前相距较近的数据在置换后仍然相距较近,特别是要避免相邻的数据在置换后仍然相邻。
2) 尽量提高最小码重码字的重量和减小低码重码字的数量。3) 尽可能避免与同一信息位直接相关的两个分量编码器中的校验位均被删除;4) 对于不归零的编码器,交织器设计时要避兔出现尾效应 图案。
在设计交织器时,应考虑具体应用系统的数据的大小,使交织深度在满足时延要求的前提下,与数据大小一致,或是数据帧长度的整数倍。交织器和分量码的结合可以确保Turbo码编码输出码字都具有较高的汉明重量。
在Turbo编码器中交织器的作用是将信息序列中的比特顺序重置。当信息序列经过第一个分量编码器后输出的码字重量较低时,交织器可以使交织后的信息序列经过第二个分量编码器编码后以很大的概率输出较高重码字,从而提高码字的汉明重量:同时好的交织器还可以奇效地降低校验序列间的相关性。
因此,交织器设计的好坏在很大程度上影响着Turbo码的性能。交织器的类型可以分为两大类,一是规则交织器,也称确定性交织。
4.Turbo码的译码原理
香农信息论告诉我们,最优的译码算法是概率译码算法,也就是最大后验概率算法(MAP)。
但在Turbo码出现之前,信道编码使用的概率译码算法是最大似然算法(ML)。ML算法是MAP算法的简化,即假设信源符号等概率出现,因此是次优的译码算法。
Turbo码的译码算法采用了MAP算法,在译码的结构上又做了改进,再次引入反馈的概念,取得了性能和复杂度之间的折衷。同时,Turbo 码的译码采用的是迭代译码,这与经典的代数译码是完全不同的。
Turbo 码的译码算法是最早在BCJR 算法的基础上改进的,我们称以MAP算法,后来又形成Log-MAP算法、Max-Log-MAP以及软输入软输出(SOVA)算法。Turbo 码的译码结构图⒈Turbo 码的译码结构如图所示. Turbo 译码器有以下的特点:1) 串行级联2) 迭代译码3) 在迭代译码过程中交换的是外部信息⒉ 概率译码译码原理及结构译码时首先对接收信息进行处理,两个成员译码器之间外部信息的传递就形成了一个循环迭代的结构。
由于外部信息的作用,一定信噪比下的误比特率将随着循环次数的增加而降低。但同时外部信息与接受序列间的相关性也随着译码次数的增加而逐渐增加,外部信息所提供的纠错能力也随之减弱,在一定的循环次数之后,译码性能将不再提高。
转载请注明出处众文网 » turbo码的毕业论文