任 杰 苗俊刚
(北京航空航天大学 电子信息工程学院,北京100191)
张会生 陈正康
(西北工业大学 电子信息学院,西安710072)
分组编码调制(BCM,Block Coding Modulation)码是将编码与调制作为整体考虑的带宽有效码,可以明显地改善编码系统的性能.系统传输误码率取决于信号之间的欧氏距离,而在BCM中,编码信号映射成多进制已调信号,从而使欧氏距离增加,改善系统误码性能.对BCM译码技术的研究,其主要目的在于选择某种意义上的BCM最佳译码方案,使得系统误码性能达到最佳.这一优势使BCM在通信可靠性研究中得以广泛应用[1-3].
一种常用的BCM译码方法是Viterbi译码算法.Viterbi译码算法用于从离散无记忆信道上接收到序列,采用迭代方法处理该序列,找出通过网格图的最大似然路径,即幸存路径.在每个时间单元,它把所有分支量度加到每个单元前面存储的路径量度上,比较进入每一状态的所有路径的量度,选择幸存路径,在每个状态的幸存路径就和其量度一起存储下来.在最后一个时间单元,只有一个状态,因而仅有一条幸存路径,此路径就是要求的最大似然路径[4-6].研究表明这种译码算法能使系统获得较好的编码增益,并且明显改善系统的误码性能.但因为每次只能对一个序列进行Viterbi译码,对于N级BCM,就要进行(1+2+…+N)次Viterbi译码.对于较长的 BCM,Viterbi译码算法往往过于复杂,工程上较难实现[7-8].
在某些通信系统中,对译码速度要求较高,译码算法就不能太复杂.针对这种应用情况,本文基于BCM的多级结构,给出了一种新的多阶段译码算法:算法从BCM中第一级分量码开始,根据BCM的级数逐阶段进行译码,针对每级分量码,采用软判决最大似然译码,直到最后一级分量码.如此,可降低译码复杂度.
BCM是一种多级分组调制,BCM构造旨在选择各级成分码,使所构造的BCM在码率、误码性能和译码复杂度之间达到最佳折衷[7,9].
在加性高斯白噪声(AWGN,Additive White Gaussian Noise)信道中,调制码的误码性能主要依赖于其最小平方欧氏距离与路径重数.多级编码能够系统地构造具有任意大距离参数的带宽有效调制码.它采用汉明距离分量码(即分组码),并通过信号集分割进行恰当的比特-信号映射,具有通过优化给定信道调制码的距离参数来得到最优性能的灵活性.因此适当的运用多级编码方法,可以使编码输出的信号点具有较大的最小平方欧氏距离,继而改善系统的误码性能[1,10].
本文以3级 8相相移键控(8PSK,8 Phase Shift Keying)BCM为对象,给出了BCM的构造流程图如图1所示.
图1 BCM的构造流程
在图1所示的BCM构造中,编码方式是对信源输出进行串/并转换后,采用多级编码技术,依次进行线性分组码编码,并采用8PSK信号映射[6,9].图2示出了8PSK 分割链及其信号标记.
图2 8PSK分割链与信号标记
对于比特-信号映射,每个8PSK信号集由一个3 bit的基于三级二进制分割链8PSK/QPSK/BPSK/{0}的序列标记.s中标签第一位是a0的信号点组合构成一个四相相移键控(QPSK,Quadrature Phase Shift Keying);s中标签前两位是a0a1的信号点组合构成一个二进制相移键控(BPSK,Binary Phase Shift Keying).由此,信号集分割和信号标记过程定义了一个一一映射,它把每个标签映射成相应的信号点s.考虑到系统误码性能的改善需要BCM编码过程提供信号点间较大的最小平方欧式距离,在选择 C0,C1,C23种分量码时,需要保证3种码的纠检错性能逐一下降.
为了降低线性分组码编码的译码复杂度,分别将3个线性分组码选择为:
C0:由全零和全一向量组成的(8,1,8)重复码;
C1:由所有偶数重量的8维向量组成的(8,7,2)单奇偶校验码;
C2:由所有8维向量构成的(8,8,1)普通码.
在这组线性分组码中,C0具有最理想的纠检错性能,C1次之,C2再次之.
为降低译码复杂度,本文基于BCM的多级结构,提出一种新型多阶段译码算法.对应第1节中构造的三级BCM,提出的多阶段译码算法分为三阶段,即构成三级BCM的三阶段译码器.每次一个分量码,逐阶段进行.在每级分量码,即线性分组码的译码时,采用软判决最大似然译码方法.每一阶段的译码信息传递到下一阶段.译码过程从第一级分量码开始,最后一级分量码结束.
前节构造的长度为n的三级8PSK BCM码表示为:C=f[C0× C1× C2].
令 r=(r0,r1,…,rn-1)为 8PSK 调制器输出端的接收序列,其中
令 v0=(v0,0,v0,1,…,v0,n-1)是 C0的一个码字,d2E[ri,Q(v0,i)]是第 i个接收信号和 Q(v0,i)中信号点之间的最小平方欧氏距离.
接收序列r和码字v0之间的平方欧氏距离定义为
对每个码字 v0∈ C0,计算距离 d2E[r,v0],并把 r译成使 d2E[r]最小的码字,即 C0的译码.
令:v1=(v1,0,v1,1,…,v1,n-1)表示 C1中的一个码字表示第 i个接收信号ri和 Q(,v1,i)中信号点之间的最小平方欧氏距离.
对v1∈C1的每个码字,计算距离:
把r译成C1中使d2E(r×v1)最小的码字,即C1的译码.
对满足v2∈C2的每个码字,计算距离:
把r译成使d2E(r×v1×v2)最小的码字∈C2,即C2的译码.
对于N级BCM,不同于Viterbi译码算法要进行(1+2+…+N)次译码,采用多阶段译码算法只需进行N次译码.因此对于长BCM,和Viterbi译码算法相比,多阶段译码算法明显降低了译码复杂度.
本节以MatLab为平台,分别对采用Viterbi译码算法、多阶段译码算法以及不经过BCM编译码,即只经过QPSK数字调制与解调的通信系统进行了仿真.
仿真环境:信道假设为AWGN信道,即只考虑加性高斯白噪声带来的影响;所用编码为长度n=8的三级8PSK BCM 码 C=f[C0×C1×C2],其中
C0:由全零和全一向量组成的(8,1,8)重复码;
C1:由GF(2)域上所有偶数重量的8维向量组成的(8,7,2)单奇偶校验码;
C2:由GF(2)域上所有8维向量组成的(8,8,1)普通码.
总的信息位数目是k=1+7+8=16.因此,C的频谱效率η[C]=16/8=2 bit/符号.
对译码结果与原信源输出进行对比求得误比特率,绘出误比特率与对应信噪比间的关系曲线[3].
仿真结果如图3所示.
图3 3种系统误码率对比图
由仿真结果可见:相对非编码的QPSK,在所有信噪比情况下,多阶段译码算法与Viterbi译码算法都可获得比QPSK更大的编码增益;而采用多阶段译码算法与Viterbi译码算法获得的编码增益则呈现如下情况.
1)信噪比 4.8<Es/No<6.7及 7.3<Es/No<8.5时,采用多阶段译码算法与 Viterbi译码算法获得的编码增益基本相同;
2)3<Es/No<4.8时,采用多阶段译码算法比采用Viterbi译码算法获得更大的编码增益:如误码率为10-2时,采用多阶段译码算法获得将近1.5 dB的编码增益,而Viterbi译码算法仅能获得将近1dB的编码增益;
3)6.7 <Es/No<7.3 时,采用 Viterbi译码算法比采用多阶段译码算法能获得更大的编码增益.
但总的来说,采用多阶段译码算法与Viterbi译码算法获得的编码增益大致相当,误码性能差不太多.笔者尝试其他分量码组合在AWGN信道中进行仿真,仿真结果大致相同,证明此译码算法稳定性较强[8,11-12].
本文基于BCM的多级结构提出了BCM的多阶段译码算法.对于N级BCM,采用多阶段译码算法只需进行N次译码;而Viterbi译码算法需进行(1+2+…+N)次译码.且仿真结果表明,该算法与传统Viterbi译码算法误码性能大致相当.因此针对长BCM,虽然信噪比较高(6.7<Es/No<7.3)时使用多阶段译码算法的系统误码性能略差于Viterbi译码算法;但在保证误码性能的前提下,该算法复杂度较低,更易于工程实现.本文构造的是N=3的BCM,若N更大,多阶段译码算法将大幅度减少译码次数,从而大大降低译码复杂度.因此,针对长BCM,尤其信噪比较低情况下,多阶段译码算法具有重要的应用价值.
References)
[1] 林舒,Costello D J.差错控制编码[M].2版.北京:机械工业出版社,2007:267-296,703-720 Lin Shu,Costello D J.Error control coding[M].2 nd ed.Beijing:China Machine Press,2007:267 -296,703 -720(in Chinese)
[2] Wu T M,Hou Y F.Noncoherent UWB with block coded modulation in cooperative communications systems[C]//Digest of Technical Papers-IEEE International Conference on Consumer Electronics.Piscataway,NJ:IEEE,2012:1 -4
[4] 张昊.LDPC码及其在编码调制系统中的研究与应用[D].上海:复旦大学,2008 Zhang Hao.Study and application on LDPC codes in coding modulation systems[D].Shanghai:Fudan University,2008(in Chinese)
[5] 王俊萍.分组编码调制技术译码算法的研究[D].大连:大连理工大学,2010 Wang Junping.Study on decoding algorithm of block coded modulation[D].Dalian:Dalian University of Technology,2010(in Chinese)
[6] Liang H.Combining block-coded modulation codes and improved constellation extended schemes to reduce peak-to-average power ratio in orthogonal frequency-division multiplexing systems[J].Communications,IET,2012,6(16):2705 -2714
[7] 张霖.基于迭代系统的LDPC码编译码器的设计与实现[D].哈尔滨:哈尔滨工业大学,2011 Zhang Lin.Study and implementation on LDPC coder and decoder based on iterated systems[D].Harbin:Harbin Institute of Technology,2011(in Chinese)
[8] 曾雷杰,孔庆芸,秦晓红,等.Matlab基础教程[M].2版.北京:清华大学出版社,2011:22-203 Zeng Leijie,Kong Qingyun,Qin Xiaohong,et al.Matlab fundamental tutorial[M].2nd ed.Beijing:Tsinghua University Press,2011:22-203(in Chinese)
[9] 罗晶文.LTE系统中Turbo码的研究与实现[D].北京:北京邮电大学,2010 Luo Jingwen.Study and implementation on Turbo code in LTE systems[D].Beijing:Beijing University of Posts and Telecommunication,2010(in Chinese)
[10] 樊昌信,曹丽娜.通信原理[M].6版.北京:国防工业出版社,2006:151-163 Fan Changxin,Cao Lina.Communication theories[M].6th ed.Beijing:China Machine Press,2006:151 -163(in Chinese)
[11] Kasami T,Lin S.On the probability of undetected error for the maximum distance separable codes[J].IEEE Communications Society IEEE Trans Commun,1984:998 -1006
[12] van Nobelen R,Taylor D P.Analysis of the pairwise error probability of noninterleaved codes on the Rayleigh-fading channel[C]//IEEE Transactions on Communications.Piscataway,NJ:IEEE,1996,44(4):456 -463