一种Turbo码迭代译码方法
技术领域
本发明属于通信与信息技术中的信道译码的技术领域,特别涉及一种Turbo码迭代译码方法,适用于成员编码器为卷积码的Turbo码译码。
背景技术
一、Turbo码概述
法国科学家Berrou于90年代初提出了Turbo码,它是在综合过去几十年人们在构造级联码及改进最大后验概率译码(MAP)算法、迭代译码思想等基础上的一种推广和创新,是近年来纠错编码领域研究的重要突破。Turbo码为一种并行级联码,它的内码,外码均使用卷积码。它使用了一种全新的译码思想——迭代译码,从而真正挖掘了级联码的潜力。它也突破了最小码距的设计思想,更接近仙农的随机码概念,获得趋近极限的性能。计算机仿真结果表明,在加性白高斯噪声信道(AWGN)上,特定参数条件下Turbo码的误码率可以达到与香农理论极限相差0.7dB的性能,这是任何其他纠错编码方案所无法比拟的。对于传输信息位同样长的数据块,Turbo码可以比RS码与卷积码组成的串行级联码多1dB的编码增益。Turbo码的优异译码性能决定了它已经成为当今信息论和编码领域的一个重要研究方向。一经提出,它就获得了广泛的重视,得到了普遍的应用。Turbo码不仅在信噪比较低的高噪声环境下性能优越,而且具有很强的抗衰落、抗干扰能力。这使得Turbo码在信道条件较差的移动通信系统中有很大的应用潜力。
第二代移动通信系统中,卷积编码和交织的应用对于保证话音质量和低速数据业务的质量有很好的效果。但是第三代移动通信系统在第二代的基础上,所需要提供的业务种类对差错控制编译码提出了更高的要求。随着Turbo码的提出和相关研究的进一步深入和完善,Turbo码已经被确定为第三代移动通信系统IMT 2000中高质量、高速率传输业务的首选编码方案。
二、现有的迭代译码方法:
Turbo码译码采用了迭代译码的方法。每次迭代时子译码器产生的外附信息经加权后将作为下一次迭代时子译码器的先验信息使用,由于奇数次和偶数次译码各自对应的先验信息的排列顺序有所不同,所以在进行下一次迭代之前需要根据当前迭代次数的情况对加权后的外附信息进行交织或解交织处理。最后一次迭代时,对子译码器输出的软信息作硬判决后得出译码结果。
现有的Turbo码迭代译码方法中子译码器通常采用Log-MAP(对数-最大后验概率)或Max-Log-MAP(最大值-对数-最大后验概率)进行计算,下面简要说明它们的工作流程:
Log-MAP可以分解为前向迭代、反向迭代和软信息及外附信息计算三个部分。Log-MAP需要计算的量度有前向迭代参数
、反向迭代参数
以及软信息Λ(d
k)和外附信息L
e(d
k)(也就是下一级译码的z
k)。其工作步骤如下:
步骤2:
前向推进k=(1→N),同时
逆向推进k=(N→1),然后计算软信息。
步骤3:软信息经过处理后,可得到新的外附信息,输入下一译码器,进行下一轮译码。
Log-MAP算法在对数域上进行。为了下文描述方便起见,定义函数mas(a,b)=ln(ea+eb),a,b为函数的参数项,则指数加法运算进入对数域后可进行(式1)所示的分解。
ln(ea+eb)=ln[emax(a,b)(1+e-|b-a|]=max(a,b)+ln(1+e-|b-a|)(式1)
式中的ln(1+e-|b-a|)为一非线性的修正函数,其计算十分复杂,故实现时常采用线性近似法,以直线逼近或查表法来求得该修正项。
Log-MAP算法中前向迭代和反向迭代的计算方法分别为:
(式2)
(式3)
其中,前向迭代和反向迭代的初始条件如下:
软信息和外附信息的计算方法分别为:
(式4)
(式5)
Max-Log-MAP算法将(式1)中的修正项剔除,即
ln(ea+eb)≈max(a,b) (式6)
这一近似简化带来了算法实现上的方便,省去了修正项加法运算所引入的查找表资源占用及运算延时等。
这样,(式2)、(式3)和(式4)式可得到进一步的化简
(式7)
(式8)
(式9)
由(式2)(式3)和(式4)以及(式7)(式8)和(式9)可见,现有的迭代译码方法中对本次迭代产生的外附信息L
e(d
k)(本次迭代的外附信息,即下一次迭代中的z
k,为了表达方便起见,下文中将其简称为外附信息或z
k)的加权采用了估计外附信息参数
,并使用估计出的外附信息参数
对外附信息进行加权的方式。需要估计的参数有两个,即:m
z(本次迭代时使用的外附信息绝对值的均值)和σ
z 2(本次迭代使用的外附信息上叠加的噪声的方差)。它们的估计方法如下:
(式10)
(式11)
(式10)和(式11)中,N是用于统计的外附信息的总数量,k是不小于1且不大于N的整数,zk是第k个用于统计的外附信息。
此外,还需要估计输入数据上叠加的噪声的方差σ2,用以对输入的待译码数据进行加权。σ2的值取决于待译码数据的统计特性,因此在输入的待译码数据确定的情况下,σ2的值是一个常数,迭代过程中只需要估计一次。σ2的估计方法如下:
(式12)
(式13)
其中,N是用于统计的待译码数据的总数量,k是不小于1且不大于N的整数,xk是第k个用于统计的待译码数据,mx是待译码数据绝对值的均值。
现有的迭代译码方法信号处理步骤为:
步骤1:待译码数据和先验信息
(第1次迭代时先验信息取0)被输入子译码器,子译码器使用Log-MAP算法或者Max-Log-MAP算法对待译码数据和先验信息进行译码得出外附信息和软信息数据。
步骤2:判断当前迭代次数,如果是最后一次迭代则对子译码器得出的软信息进行硬判决输出译码结果,并结束整个译码过程。
步骤3:估计外附信息参数,对外附信息进行加权,得到经过加权的外附信息。
步骤4:判断当前迭代次数,如果是奇数则对加权后的外附信息进行交织处理,并作为先验信息送回子译码器;否则对加权后的外附信息进行解交织处理,并作为先验信息送回子译码器。跳转至步骤1。
现有的Max-Log-MAP算法较Log-MAP算法进行了三处简化,分别是:(式2)简化为(式7)、(式3)简化为(式8)以及(式4)简化为(式9)。经过简化,Max-Log-MAP算法的实现复杂度及译码速度均优于Log-MAP算法,但研究表明,这种简化造成了约为0.2dB左右的译码性能损失。
发明内容
本发明要解决的技术问题是提供一种基于Turbo码迭代译码方法,解决现有的Turbo码译码的迭代方法中外附信息参数估计的实现复杂度较高的问题。
为了解决上述技术问题,本发明提供了一种Turbo码迭代译码方法,将待译码数据和先验信息输入子译码器,子译码器对待译码数据和先验信息进行前向迭代以及反向迭代,得到外附信息和软信息数据,对外附信息进行加权,进行下一次迭代,直到最后一次迭代,得到译码结果,其特征在于,在进行每一次迭代时,使用常数代替σ2mz/σz 2,其中,σ2是输入的待译码数据上叠加的噪声的方差,mz是本次迭代使用的外附信息绝对值的均值,σz 2是本次迭代使用的外附信息上叠加的噪声的方差。
进一步地,上述方法还可具有以下特点,迭代时使用对数-最大后验概率Log-MAP算法或最大值-对数-最大后验概率Max-Log-MAP算法。
进一步地,上述方法还可具有以下特点,迭代时使用混合Log-MAP迭代译码方法,即计算前向迭代参数和后向迭代参数时,使用最大值-对数-最大后验概率Max-Log-MAP算法,在计算外附信息和软信息时使用对数-最大后验概率Log-MAP算法。
进一步地,上述方法还可具有以下特点,所述常数根据下述方法确定,称为通用常数:
110,明确需要译码的Turbo码结构、码率和数据块长度;
120,根据步骤110中的参数构建加性白高斯噪声环境下的译码器仿真平台;
130,任意选取某个大于0且小于1的常数作为外附信息的加权系数;
140,进行仿真,得出需要优化的比特性能比区间内的译码器误帧率或误码率性能;
150,在〔0,1〕区间内选取新的加权外附信息的常数,并重复步骤140,直至所述需要优化的比特性能区间内的译码器的误帧率或误码率最小。
进一步地,上述方法还可具有以下特点,步骤150中,采用黄金分割优化方法或二分查找法选取新的加权外附信息的常数。
进一步地,上述方法还可具有以下特点,建立常数查找表,在进行迭代译码时,首先根据迭代次数,查找所述常数查找表中该迭代次数对应的最优常数,用所查到的最优常数代替σ2mz/σz 2。
进一步地,上述方法还可具有以下特点,所述常数查找表的建立方法如下,获得通用常数后对要进行优化的某次迭代采用的常数进行变更,其余迭代次数的常数固定为通用常数,直至误帧率或误码率最小,得到该次迭代对应的最优常数,随后固定该次迭代采用的常数为最优常数,变更下一个需要优化的迭代次数的常数,最终达到所有迭代采用的常数都被优化为最优常数,优化完毕后产生了一个迭代次数和最优常数的对照表即常数查找表。
进一步地,上述方法还可具有以下特点,所述方法应用于宽带码分多址系统,所述常数为0.375。
本发明还提出一种Turbo码迭代译码方法,将待译码数据和先验信息输入子译码器,子译码器对待译码数据和先验信息进行前向迭代以及反向迭代,得到外附信息和软信息数据,对外附信息进行加权,进行下一次迭代,直到最后一次迭代,得到译码结果,其特征在于,所述方法在进行迭代译码时,计算前向迭代参数和后向迭代参数时,使用最大值-对数-最大后验概率Max-Log-MAP算法,在计算外附信息和软信息时使用对数-最大后验概率Log-MAP算法。
本发明将现有的Log-MAP(对数-最大后验概率)算法和Max-Log-MAP(最大值-对数-最大后验概率)算法综合使用,在译码速度和性能之间获得较好的折中;本发明通过在设计译码器阶段采用计算机仿真的方法确定外附信息的加权系数,取代现有迭代方法中对外附信息进行参数估计得到的加权系数,降低了实现复杂度。本发明的译码速度快于现有基于Log-MAP的Turbo码迭代译码方法,解决了现有的Turbo码译码方法中外附信息参数估计实现复杂度较高的问题,且比特信噪比为0.2dB至1dB范围内的误码率和误帧率性能优于现有方法。
附图说明
图1是现有Turbo码迭代译码方法的信号处理流程图。
图2是本发明Turbo码迭代译码方法的信号处理流程图。
图3子译码器的信号处理流程图。
图4是本发明方法一、方法二以及方法三与现有方法的误码率性能比较示意图。
图5是本发明方法一、方法二以及方法三与现有方法的误帧率性能比较示意图。
具体实施方式
本发明综合使用Max-Log-MAP算法和Log-MAP算法的计算方式。在前向迭代求解
以及反向迭代求解
的过程中,沿用了Max-Log-MAP的计算方式,也即以max(a,b)作为ln(e
a+e
b)的近似值;而在求解软信息Λ(d
k)的过程中,使用了Log-MAP的计算方式,以max(a,b)+修正函数精确计算ln(e
a+e
b)。本发明将这种综合使用Max-Log-MAP算法和Log-MAP算法的计算方式称为混合Log-MAP算法,该算法中计算式的使用方法如下:
(式14)
(式15)
(式16)
由于在前向迭代和反向迭代过程中,下一时刻计算需要当前时刻的计算结果的出后才能开始进行,例如,在得出
后才能计算
;得出
后才能计算
而求解下一时刻软信息的过程不依赖于当前时刻的计算结果,可以采用流水线的方式进行。所以,子译码器的译码速度主要受限于前向迭代和反向迭代的计算速度。本发明提出的混合Log-MAP算法沿用了Max-Log-MAP算法的前向迭代和反向迭代计算方式,在采用相同实现结构时能够获得与Max-Log-MAP算法同样的译码速度,且实现复杂性低于Log-MAP算法。此外,由于本发明软信息的计算精度高于Max-Log-MAP算法,混合Log-MAP算法的译码性能优于Max-Log-MAP算法。
在本发明中,Turbo码迭代译码中的外附信息加权系数采用与外附信息本身无关的常数;该常数的选取是在译码器设计阶段通过计算机仿真的方法优化确定的。
下面以混合Log-MAP算法为例,说明常数迭代方法的工作原理。首先,定义 以及 在输入的待译码数据确定的情况下,σ2的值是一个常数,则(式14)(式15)和(式16)可以分别被改写为如下形式:
(式17)
(式18)
(式19)
以常数c取代
可以得到(式20)(式21)和(式22):
(式20)
(式21)
(式22)
其中,常数c是在译码器设计阶段通过计算机仿真的方法优化确定的固定常数,其数值在整个译码过程中保持不变。上述Turbo码迭代译码方法称为基于常数的混合Log-MAP Turbo码迭代译码方法,即本发明的方法一。同理,将常数c取代参数估计值的方法应用于Log-MAP算法和Max-Log-MAP算法可以得到本发明的方法二和方法三。本发明将这种使用在译码器设计阶段通过计算机仿真确定的常数取代参数估计值的迭代译码方法称为基于常数的Turbo码迭代译码方法。该方法解决了现有方法中参数估计实现复杂的问题。此外,由于经过计算机仿真优化,该方法在给定的比特信噪比工作区间内(给定的比特信噪比工作区间是指用户关注的信噪比区间,在该区间内译码器达到用户需要的误块率性能,比如百分之一或千分之一)的译码性能优于现有方法。
也可以根据当前迭代次数,通过查找常数表的方法获得外附信息的加权系数;该常数表中的常数是在译码器设计阶段通过计算机仿真的方法优化确定的。
本发明的方法二和方法三除采用计算式和确定的常数数值有所不同之外,信号处理流程和方法一完全一致。
下面以方法一为例说明本发明的信号处理流程:
Turbo码译码采用了迭代译码的方法。每次迭代时子译码器产生的外附信息经加权后将作为下一次迭代时子译码器的先验信息使用,由于奇数次和偶数次译码各自对应的先验信息的排列顺序有所不同,所以在进行下一次迭代之前需要根据当前迭代次数的情况对加权后的外附信息进行交织或解交织处理。最后一次迭代时,对子译码器输出的软信息作硬判决后得出译码结果。其中子译码器采用了如前文所述的混合Log-MAP算法。
本发明针对特定的比特信噪比工作区间,使用了经过计算机仿真优化过的常数对外附信息进行加权,该常数在译码过程中保持不变。
本发明在译码器设计阶段需要通过计算机仿真的方法优化确定常数作为外附信息的加权系数。该常数的确定方法为:
步骤1:明确需要译码的Turbo码结构、码率以及数据块长度等参数。
步骤2:根据上述参数构建AWGN(加性白高斯噪声)环境下的译码器计算机仿真平台。
译码器计算机仿真平台一般包括编码器、信道发生器、待测译码器和误块率统计模块,用于采用模拟仿真的方法评估译码器的性能指标。
AWGN信道环境仿真为业界评估译码器性能指标的通用标准,由于各种译码算法推导均以AWGN信道为基准,因此在AWGN信道下测试具有较高的可比性。
步骤3:任意选取某个大于0且小于1的常数作为外附信息的加权系数。
步骤4:进行计算机仿真,得出需要优化的比特性能比区间内的译码器误帧率性能。
编码器产生符合编码规则的调制信号后信道发生器根据当前待测信噪比的要求在调制信号上叠加白高斯噪声,混合信号送入待测译码器进行译码,误块率统计模块用于将译码结果和编码前的数据进行比较,以确定当前信噪比情况下该传输块是否译码错误。重复上述过程足够多的次数(如100次)以达到较为准确的统计结果。
步骤5:采用黄金分割(0.618)优化方法,在〔0,1〕区间内选取新的加权外附信息的常数,并重复步骤4,直至所关心的比特信噪比区间内译码器的误帧率最小。
选取方式可采用先选择0.618作为常数仿真,第二次在分割后的区间内各自取0.618倍的位置作为常数(0.382和0.764),第三次在第二次分割的区间内取0.618倍的位置作为常数(0.236、0.528、0.708和0.910)依次递归采用这些常数仿真所关注的比特信噪比区间内译码器的误帧率,直至误帧率达到极小值。除上述方法外还可以采用二分查找等方法优化该常数。
上述误帧率也可采用误码率或误块率替代。
每次迭代时可以采用相同的常数,也可以通过上述仿真的方法逐次迭代优化该常数得出每次迭代适用的最优常数,优化方法如下:
首先根据上述常数确定方法获得一个最优的常数,称为通用常数,获得通用常数后,固定其余迭代时采用的常数(即使用通用常数),对要进行优化的某次迭代采用的常数进行变更,直至性能最优(误码率或误帧率最小),获得该次迭代的最优常数,随后固定该次迭代采用的常数为所述最优常数,变更下一个需要进行优化的迭代次数的常数,最终达到所有迭代采用的常数都被优化为最优常数,优化完毕后产生了一个迭代次数和最优常数的对照表即常数查找表,译码时根据当前迭代次数查找该表得出当前适用的最优常数进行后续计算。
下面以第三代移动通信系统3GPP WCDMA(3rd Generation PartnershipProject Wideband Code Division Multiple Access第三代合作伙伴计划宽带码分多址)标准中的Turbo码为例,比较本发明的方法一、方法二以及方法三和现有方法在误码率和误帧率方面的性能。
首先,在设计译码器阶段需要优化本发明方法一、方法二以及方法三中常数的取值。在特定比特信噪比(0.2dB至1dB)情况下,用计算机仿真的方法对适用于WCDMA系统Turbo码的译码器加权常数进行优化并综合考虑硬件实现的难易程度,得到该情况下本发明方法一、方法二和方法三中的常数均应选取0.375。
本发明的信号处理过程如下,如图2所示:
步骤1:待译码数据和先验信息(第1次迭代时先验信息取0)被输入子译码器,子译码器对待译码数据和先验信息进行前向迭代以及反向迭代后,通过计算得出外附信息和软信息数据。
步骤2:判断当前迭代次数,如果是最后一次迭代则对子译码器得出的软信息进行硬判决输出译码结果,并结束整个译码过程。
步骤3:使用固定常数对外附信息进行加权,得到经过加权的外附信息。
此处固定常数取0.375。
步骤4:判断当前迭代次数,如果是奇数则对加权后的外附信息进行交织处理,并作为先验信息送回子译码器;否则对加权后的外附信息进行解交织处理,并作为先验信息送回子译码器。跳转至步骤1。
接下来通过计算机仿真的方法比较本发明方法一、方法二以及方法三和现有方法的性能,仿真条件如下:
信道模型为AWGN信道。
编码器及编码器中内交织器的结构参见3GPP Technical Specification(第三代合作伙伴计划技术规范)25.212 V3.3.0(2000-06)中第15页至第20页的说明。
编码前的数据块长度为4224,码率为1/3,编码后的数据块长度为12684。
译码器的迭代次数为18次单迭代(单迭代的次数定义为子译码器完成译码的次数),译码器中所使用的待译码数据、外附信息、软信息以及中间变量的数据类型均为浮点类型。
图4是本发明方法一、方法二以及方法三与现有方法的误码率性能比较示意图。图中,横坐标Eb/N0是比特信噪比,单位为dB;纵坐标BER是误码率,也即译码结果中译错比特数占总比特数的比例。Log-MAP表示现有的采用Log-MAP算法的迭代译码方法;Max-Log-MAP表示现有的采用Max-Log-MAP算法的迭代译码方法;const Mix-Log-MAP表示本发明的方法一;const Log-MAP表示本发明的方法二;const Max-Log-MAP表示本发明的方法三。
图5是本发明方法一、方法二以及方法三与现有方法的误帧率性能比较示意图。图中,横坐标同图4;纵坐标FER是误帧率,也即译码结果中译错帧数占总帧数的比例。
图中每个点的仿真帧数为一百万帧,或错误帧达到一百帧。
由图可见,本发明的方法三、方法一和方法二在误码率和误帧率的性能上依次略有提高。且上述三种方法均明显优于现有的采用Max-Log-MAP算法的迭代译码方法。其中,比特信噪比为0.3dB至0.7dB的区间,误码率性能优于现有方法约0.3dB,误码率较现有方法下降约两个数量级。此外,本发明在该比特信噪比区间内的误帧率性能也较现有的采用Max-Log-MAP算法的迭代译码方法有0.2dB左右的增益。
与现有的采用Log-MAP算法的迭代译码方法相比,本发明方法二在比特信噪比为0.3dB至0.7dB的区间内性能略占优势,方法一和方法三与现有的采用Log-MAP算法的迭代译码方法较为接近。
在实现复杂性方面,本发明按方法二、方法一和方法三的顺序依次降低。由于迭代过程中无需估计参数,本发明的方法二和方法三的实现复杂性分别低于现有的采用Log-MAP算法的迭代译码方法和现有的采用Max-Log-MAP算法的迭代译码方法。
相对于现有技术,基于常数的改进不仅大幅降低了运算量,而且使得译码性能得到相当提升。