殷云志,韩明钥,张玉琴
(1.中国电子科技集团公司第五十四研究所,河北石家庄050081;2.冀州职教中心,河北冀州053200)
Turbo乘积码(Turbo Product Code,TPC)由于具有优异的性能、较低的编译码复杂度以及短的译码延时,而且码字内部具有自交织结构,可以有效对抗快衰落,因此可将其应用于具有衰落信道的无线通信系统[1,2]。
主要研究TPC码在无线衰落信道中应用的设计实例。在研究过程中,为使开发工作能够科学、有效、快速的进行,按照以下步骤进行:
①TPC码的理论研究以及在衰落信道中应用码字的选取;
②利用Matlab工具进行编译码算法的性能仿真,指导硬件参数设计;
③以Quartus为设计工具、Altera StratixII开发板为平台进行硬件设计与实现;
④将编、译码模块应用到无线通信调制解调器中,并进行性能测试。
Turbo乘积码结构简单,可以有效地基于2个或多个短码来构造长码[1-3]。考虑2个系统线性分组码C1,参数为(n1,k1,δ1)和C2,参数为(n2,k2,δ2),其中,ni,ki,δi,i∈(1,2)分别代表分组码的码字长度、信息位长度、最小汉明距。Turbo乘积码P的参数分别为n=n1×n2,k=k1×k2,δ=δ1×δ2,码率为R=R1×R2,其中Ri,i∈(1,2)分别为C1、C2的码率。
Turbo乘积码编码步骤如下:
①(k1×k2)位信息比特放入k1行、k2列的方阵中;
②对k1行以C2进行编码;
③对n2列以C1进行编码。
Turbo乘积码采用软判决迭代译码,结构如图1所示。其行(列)译码器由SISO(soft-input/soft-output)的Chase译码器来实现。在2个子译码器之间传递的反馈信息是译码器输出码字的可靠性与接收字的差值,可靠性用对数似然比进行估值[4-6]。
图1 TPC迭代译码结构示意图
下面简述TPC码的迭代译码过程:
①对接收序列矩阵R及其硬判决矩阵D的行(或列)应用Chase译码算法,其中β(m)为迭代过程的调节系数,控制软输出信息的输出峰值范围,一般选取经验值β(m)=[0.2 0.4 0.6 0.8 1.0 1.0 1.0 1.0 1.0 1.0];
②R中每一元素为rij,D中每一元素为dij,迭代译码中用到的反馈信息wij为:
式中,Λ(dij)是译码器输出判决码字元素dij的可靠性;
③计算码字矩阵中每一向量的外信息,并用该外信息修改接收序列信息,送入下一次迭代译码过程。假设[W(m)]是第m次迭代计算的外信息,[R]是接收序列矩阵,则第(m+1)次迭代输入信息为:
式中,α(m)是外信息[W(m)]的归一化加权因子,在[0,1]之间取值,一般选取经验值:α(m)=[0 0.2 0.3 0.5 0.7 0.9 1.0 1.0 1.0 1.0];
④若未达到设定的迭代次数,矩阵[R(m+1)]输入到下一次译码过程,迭代过程转至式(1);否则,对矩阵[R(m+1)]进行硬判决,得到原始信息。
上述过程中,每次迭代完成一次行或列译码,都只是完成了半次迭代译码,二者一起才完成一次完整的迭代。
根据TPC编译码原理可知,通过行编码、列编码实现了码字的内交织特性,采用基于Chase算法的软判决迭代译码,从而具有优异的纠错性能。码长、码率都是影响码字性能的关键因素,码长越长、码率越低,性能越好[7]。
在无线通信中,对于高速传输,由于受到带宽限制,码率不能低于0.7,同时考虑到码长过长使得译码复杂度很高,因此选择(64,57,4)扩展汉明码作为TPC码字的子码[8]。
利用Matlab仿真工具,采用蒙特卡罗仿真模型,对以(64,57,4)扩展汉明码作为子码的TPC码字进行编译码算法的仿真[9-12]。
在AWGN信道条件下,采用BPSK调制,译码过程采用浮点运算,迭代次数分别为1~6次的仿真结果如图2所示,显示了在不同的信噪比下迭代次数和误码率的关系曲线。可知,迭代次数大于4的性能改善很小,考虑译码复杂度与性能的折中,迭代次数选取4次。
图2 迭代次数与误码率的关系
在AWGN信道条件下,采用BPSK调制、译码迭代4次、译码运算定点量化的性能曲线如图3所示,显示了量化比特数目与误码率的关系。采用的量化比特数目越多,性能越好,但是量化比特数为3~5时的性能变化显著,且量化比特数为5时已经非常接近浮点运算的性能,比特数再增加带来的意义不大。因此,采用5bit量化,实现了复杂度与性能的最佳配置。
图3 量化比特数目与误码率的关系
采用(64,57,4)扩展汉明码作为子码的TPC码字,对其在衰落信道中的性能进行仿真,根据上节不同参数的仿真结果,编译码参数选择:译码迭代4次、定点量化5bit。仿真条件为:QPSK调制、瑞利衰落信道、4重分集、2Mb/s速率、5Hz多普勒频移,仿真结果如图4所示。由图4可知,误码率10-5时的编码增益约3.5dB。因此,TPC码应用于衰落信道可获得显著的性能改善。
图4 TPC码在衰落信道中的仿真性能
根据上节的仿真结果,对以(64,57,4)扩展汉明码为子码的TPC码字进行编译码算法的硬件设计,采用4次译码迭代、5bit定点量化。本设计在QuartusII-6.0集成环境下进行,并结合编译码算法的Matlab仿真,采用Altera StratixII开发板为平台。
在进行硬件设计时,首先将编、译码算法分解为各个子模块,完成各子模块硬件程序的编写后分别将编码模块、译码模块作为一个整体进行调试。由于编、译码模块程序庞大、结构复杂,因此硬件逻辑开发过程关键在于编码、译码模块的调试,为使得调试过程高效、有序的进行,采用从前至后、逐个子模块进行功能检测的串行调试方法。
完成了TPC编译码模块的硬件设计与调试后,将其应用于某8Mb/s无线通信调制解调器,通过接口设计分别将2个模块与调制解调器内的调制、解调模块进行有效连接,进而完成整个调制解调器的设计,其连接框图如图5所示。其中,调制端通过插入帧头将编码后的码字进行成帧处理,解调端通过帧头检测对均衡解调后的信号流实现帧同步;由于衰落信道中解调信号存在相位旋转,采用去相位模糊模块,根据帧头检测指示,对解调后的信号进行相位纠正后送入译码模块。
图5 TPC编译码模块在调制解调器中的应用
针对该调制解调器在变参模拟信道中进行测试,由于变参信道测试仪器的限制,无法实现调制解调器所需的4重空间分集,只能在2重空间分集下进行近似测试,测试条件如下:2重分集、瑞利衰落信道、多径数目5个、多普勒频移5Hz、多径时延500ns。测试结果如图6所示,针对未采用TPC编码时的性能与采用TPC编码后的性能进行比较可知,在误码率10-5时的编码增益约3dB。因此,采用TPC纠错编码显著提高了调制解调器的性能。
图6 变参信道性能测试
基于Turbo乘积码的编译码原理,对以(64,57,4)扩展BCH码为子码的TPC码字进行了不同参数时的性能仿真,根据仿真结果确定了硬件实现的设计参数并进行了硬件设计,将其成功应用到无线调制解调器中,使得系统性能得到显著改善。这种性能善使得无线通信系统可以实现更低的系统门限,也可用于改善系统通信质量。
[1]刘东华,梁光明.Turbo码设计与应用[M].北京:电子工业出版社,2011.
[2]TRANTER W H,SHANMUGAN K S,RAPPAPORT T S.通信系统仿真原理与无线应用[M].肖明波,杨光松译.北京:机械工业出版社,2004.
[3]PYNDIAH R M.Near-optimum Decoding of Product Codes:Block Turbo Codes[J].IEEE Transactions on Communications,1998,46(8):1003-1010.
[4]吴丹.删余Turbo乘积码的编译码算法分析[J].无线电工程,2011,41(12):26-28.
[5]SHIC,LI Z W,WU D J,et al.Turbo Product Codes on Frequency Selective Fading Channel[C]// Vehicular Technology Conference,2002:1233-1236.
[6]BERROU C,GLAVIEUX A,THITIMAJSHIMA P.Near Shannon Limit Error-Correcting Codeing and Decoding:Turbo Codes[J].IEEE International Conference,1993(2):1064-1070.
[7]杨亮,胡家佺,马腾飞.Turbo码随机性交织器设计[J].无线电工程,2011,41(6):36-39.
[8]CHEN Y,PARHI K K.Avery Low Complexity Block Turbo Decoder Composed of Extended Hamming Codes[C]// IEEE GlobalTelecommunicationsConference,2011:171-175.
[9]孟庆萍,周新力,田伟.基于DDEA算法的短波信道Turbo均衡研究[J].无线电通信技术,2011,37(6):28-32.
[10]姚安,陈自力.Turbo均衡中迭代停止准则的研究[J].无线电通信技术,2014,40(1):37-40.
[11]吴丹,唐秋菊,梁保卫.删余Turbo乘积码的编译码算法分析[J].无线电工程,2011,41(12):26-28.
[12]段志辉.一种用于高可靠性系统蒙特卡罗仿真的抽样方法[J].兵工学报,1990(2):63-66.