基于LDPC码的不等差错保护方法及性能仿真*

2014-11-09 10:57:06修春娣刘建伟
遥测遥控 2014年1期
关键词:码流码率差错

齐 睿, 修春娣, 刘建伟, 何 宇

(1北京航空航天大学电子信息工程学院 北京 100191 2中国人民解放军93638部队 北京 100075)

引 言

卫星通信是远距离信息传输的重要通信手段。然而,卫星信道具有干扰噪声大、带宽和功率受限等缺点[1]。为了保证卫星通信在受到强干扰、信道带宽受限的条件下高效率、高质量地传输信息,本文设计了一种有效的信源信道联合编码方法。其基本思想是:信源编码部分采用SPIHT(Set Partitioning In Hierarchical Trees)算法,信道编码部分则采用基于速率兼容的LDPC(RC-LDPC)码对SPIHT压缩后的码流进行不等差错保护(UEP)。

SPIHT算法[2]是一种高效的信源压缩方法。利用该算法可以生成一个嵌入位流,使接收的位流在任意点中断时,都可解压缩和重构图像,因而具有很好的渐进传输性,而且生成的位流越接近比特流的结束位置,其重要性越小,从而为与信道编码结合实施不等差错保护提供了良好的先天条件[3,4]。

LDPC码的编译码性能具有能够逼近香农极限的优良特性,其译码复杂度低于Turbo码,且可实现完全的并行操作,硬件复杂度低,具有高速译码潜力[5]。LDPC码的优异性能及在信息传输中的良好应用前景已引起学术界和信息产业界的高度重视,成为当前信道编码领域最受瞩目的研究热点之一。目前,下一代卫星数字视频广播标准DVB-S2、深空通信和移动通信等领域均采用了基于 LDPC码的编码方案[6~8]。

本文充分考虑SPIHT算法和LDPC码的特性,提出了一种SPIHT算法与基于RC-LDPC码不等差错保护技术相结合的信源信道联合编码方法。

1 基于RC-LDPC码的不等差错保护方案流程

SPIHT算法与基于RC-LDPC码不等差错保护相结合的联合编码方法流程如图1所示。图1中发送码流控制器的作用是对信源压缩码流进行分组,本方案中将压缩码流按输出顺序平均分为三组;RCLDPC码编/译码器的作用是在同一对编/译码器上实现系统要求的不同码率,对信源压缩后的码流进行不等差错保护;接收码流控制器的作用主要是控制接收用于SPIHT解码的码流。

图1所示的具体工作流程如下:信源编码部分采用小波SPIHT压缩算法,其输出码流的重要性大致由高到低排列,并由发送码流控制器平均分为三组,依次为重要数据、次重要数据、非重要数据,数据被打包成固定长度的数据包;数据包保护程度随分组重要性的增加而增加,相同分组的数据包采用相同速率的LDPC码进行保护;经RC-LDPC码编码后的数据包,经过并串转换,并进行BPSK调制后,按照重要性程度由强到弱依次发送;数据包经过信道传输到达接收端,在接收端进行解调和LDPC解码,当RC-LDPC解码器发现了LDPC码未能纠正的错误时,为了防止错误传播,后续接收到的数据包将被丢弃,SPIHT信源解码器只利用接收到的正确数据恢复原始图像。

图1 基于RC-LDPC码的不等差错保护方法流程图

2 RC-LDPC码的构造

打孔是构造RC-LDPC码的有效方法,但它可能会引起性能的损失,因此首先要选择一个抗误码性能优异的母码,同时还需要寻找一个好的打孔模式。由于本文提出的方法是应用于卫星通信,而研究表明DVB-S2标准中码长为16200bit、码率为1/2的LDPC码具有良好的抗误码性能[9],能够满足卫星通信的需求,因此选择该码作为母码。

文献[10]给出了一种适用于校验矩阵奇偶部分为双对角块结构的LDPC码的打孔思想,且仿真结果表明其打孔后性能损失较小。而DVB-S2标准中LDPC码校验矩阵符合文献[10]给出的结构特点,因此本文采用文献[10]的打孔思想。针对本文选用母码的结构特点进行打孔,分别构造出3/5、3/4、5/6、8/9四种码率的LDPC码,并进行性能仿真。

2.1 DVB-S2标准中LDPC码简介

DVB-S2标准中的LDPC码分为长码和短码两种,码长分别为64800bit和16200bit,对于这两种码长,标准中分别规定了11种和10种码率。DVB-S2标准中的LDPC码直接利用校验矩阵实现编码,其奇偶校验部分为一双对角线矩阵。校验矩阵的Tanner图如图2所示。从图2中可以看出,其奇偶校验部分呈“Z”字平行结构,符合文献[10]中的打孔结构。

2.2 DVB-S2标准中LDPC码的打孔步骤

DVB-S2标准中LDPC码的打孔分以下两步:

第一步:打孔形成1-SR(One Step Recoverable)节点,同时尽可能增大每个打孔节点对应的存活校验节点数。

1-SR节点是指打孔变量节点V至少有一个邻居校验节点C,这个校验节点C的其它邻居(除了V)都没有被打孔。1-SR节点的集合记为G1[11]。k-SR 节点是在第k次迭代时被恢复的节点,其集合记为Gk。若一个打孔变量节点V的邻居节点N(V)中存在校验节点C,C对应的变量节点中除V外其余均未被打孔,则称C为存活校验节点,否则称为死校验节点。图3描述了一个1-SR节点、2-SR节点、存活校验节点和死校验节点。

图2 DVB-S2中LDPC码的Tanner图

文献[11]证明越早恢复的节点可靠性越高,1-SR节点可以在第一次迭代中被恢复,相比于其它k-SR(k≥2)节点具有更高的可靠性。因此,在第一步选择打孔节点时,应尽量增大1-SR节点的数目。文献[12]证明在其他条件相同的情况下,若节点V拥有多个存活校验节点,则相比于只有一个存活校验节点的情况,其对数似然比值LLR(Log-Likelihood Ratio)信息期望值会更大,多个存活校验节点会降低节点V的译码差错概率。因此,在打孔形成1-SR节点的同时,也应考虑存活校验节点的重要性,尽量使每个打孔节点拥有尽可能多的存活校验节点。

如图4所示,给出了“Z”字平行结构中1-SR节点的选择方法。图4(a)、图4(b)分别给出了两种打孔方法,通过打孔均得到了3个1-SR节点。图4(a)中的1-SR节点为 v0、v2、v4,其各自分别拥有存活校验节点 v0:c1;v2:c2、c3;v4:c4。图4(b)中的1-SR 节点为 v0、v2、v3,其各自分别拥有存活校验节点v0:c1;v2:c2;v3:c4。两种打孔方法虽然均得到了3个1-SR节点,但图4(a)中的v2要比图4(b)中的v2拥有更多个存活校验节点,前者的v2比后者拥有更高的迭代恢复可靠性。因此,为了增大1-SR节点对应的存活校验节点数,本文在打孔形成1-SR节点时采用图4(a)中所示的打孔方法。

图3 1-SR节点、2-SR节点、存活校验节点和死校验节点

第二步:打孔形成k-SR节点。

随着码率的提高,需要继续打孔,新增的打孔节点不可避免会减少第一步产生的1-SR节点数目,产生k-SR节点。文献[11]证明一个打孔变量节点为了恢复信息需要的迭代次数越多,即k值越大,该打孔节点提供的译码差错概率越大,这就需要在新增打孔节点时尽量减少打孔节点恢复所需要的迭代次数,因此在第二步选择打孔节点时,应首先尽量增大二阶可恢复(2-SR)节点,其次是三阶可恢复(3-SR)节点,依次类推。

图4 “Z”字平行结构1-SR节点打孔方案

2.3 RC-LDPC码的打孔构造

本节依照2.2节中的打孔步骤对DVB-S2标准中码长为16200bit、码率为1/2的LDPC码进行打孔,分别得到3/5、3/4、5/6、8/9四种码率的LDPC码。表1给出了为获得所需码率需要打孔的节点数。表2为k-SR变量节点集合Gk的分布情况。

表1 打孔节点数

表2 k-SR变量节点集合Gk的分布情况

由2.2节的打孔方法及表2可知,由母码打孔构造3/5码率时产生的节点均为1-SR节点,且除第一个打孔节点外,其余打孔节点均对应两个存活校验节点。在形成1-SR节点的同时,保证了每个打孔节点对应的存活校验节点数尽可能的多。随着码率的进一步提高,即为了得到3/4、5/6、8/9这三种码率,不可避免产生了k-SR节点。由表2可知,在进一步打孔中,集合Gk中的元素随k的增加而减少。

3 仿真与性能对比

3.1 RC-LDPC码的性能仿真

为了验证2.2节打孔方法的有效性,本节采用Matlab软件,对通过打孔得到的四种码率的LDPC码在AWGN信道下的BER性能进行了仿真,并将结果与DVB-S2标准中由校验矩阵直接得到的相同码率的LDPC码的BER性能进行比较。仿真时,调制方式采用BPSK调制,译码采用基于对数似然比的置信传播LLR-BP(LLR-Belief Propagation)译码算法,最大迭代次数为30次。为使实验数据平稳,每一个SNR数据点运行的信息码总帧数应满足以下两个条件之一:①译码错帧数达到30帧;②总帧数达到500帧。

图5中,实线为通过打孔得到的3/5、3/4、5/6、8/9四种码率LDPC码在AWGN信道下的BER性能仿真曲线,虚线为DVB-S2标准中提供的码长为16200bit的相应四种码率LDPC码在AWGN信道下的BER性能仿真曲线。从图5中可以看出,打孔虽带来了一定的性能损失,但损失相对较小,同信噪比同码率下打孔引起的性能损失最多只有0.5dB。

3.2 SPIHT压缩算法与基于RC-LDPC码的UEP技术相结合的联合编码性能仿真

为了验证本文提出的联合编码方法的有效性,采用512pixel×512pixel的标准lena灰度图像进行测试,SPIHT的编码码率为0.5bpp,小波分解参数为5级。对编码器输出码流分别采用UEP和等差错保护(EEP)时的性能进行比较。采用UEP时,将压缩码流平均分成三组,依次为重要数据、次重要数据、非重要数据。为使总码率相同,等差错保护采用3.1节中打孔得到的3/4码率的LDPC码进行编码。对于不等差错保护,对重要数据、次重要数据、非重要数据分别采用3.1节中打孔得到的3/5、5/6、8/9码率LDPC码进行保护,其初始的保护等级是预先确定好的,而且对解码端已知。为了使实验数据平稳,在每个信噪比点将实验重复50次并取平均值。图6为分别采用UEP和EEP时不同信噪比下的峰值信噪比PSNR性能比较。

图5 相同码率不同构造方案BER性能比较

图6 分别采用UEP和EEP时不同信噪比下的PSNR性能比较

由图6可知,在信噪比SNR<2.75dB时,采用UEP方案的图像重建质量明显优于EEP方案,这主要是因为UEP方案对码流前端的重要信息加强了保护,从而减小了重要信息译码发生错误的概率,而EEP方案中所有信息译码发生错误的概率是均等的,在信噪比较低时易损失重要信息而导致图像无法恢复。在SNR介于3dB~4.25dB之间时,EEP方案的图像重建质量优于UEP方案,这主要是因为随着信噪比的增加,EEP使用的3/4码率LDPC码足以纠正信道错误,而UEP虽然也可以纠正信道错误,但8/9码率LDPC码不足以纠正全部错误。随着信噪比的进一步增大,到SNR=4.5dB时,UEP与EEP都足以纠正错误比特,所以两者的性能趋于一致。

为进一步比较UEP方案与EEP方案的性能,在表3中对信噪比SNR=2dB、2.25dB、2.5dB、2.75dB四个点处的图像重建质量进行了定量分析,并设定PSNR>20dB时,视为解码成功,可以重建原始图像。

表3 UEP与EEP在不同信噪比下的解码成功次数比较

由表3可知,50次试验中,在SNR=2dB时,采用UEP方案仅有一次不能重建原始图像,这是因为UEP方案对前端的重要信息加强了保护,即使非重要信息发生较多的误码,仍能获得图像的基本信息。而采用EEP方案,则50次试验均不能重建原始图像,这是因为EEP方案对信息的保护是均等的,当干扰噪声大、信噪比较低时,易损失重要信息而导致无法重建图像。在SNR=2.25dB和SNR=2.5dB两个点处,UEP方案的平均PSNR值和译码成功概率均优于EEP方案。在SNR=2.75dB时,虽然EEP的平均PSNR值略优于UEP的平均PSNR值,但此时采用UEP均能重建原始图像,而采用EEP有2次不能重建原始图像。

综合以上仿真结果可知,卫星通信在干扰严重、信道带宽受限、信噪比较低的情况下,采用UEP方案的图像重建质量明显优于EEP方案。

4 结束语

为了提高卫星通信在受到较强干扰、带宽受限时信道的利用率,本文提出了SPIHT算法与基于RCLDPC码的不等差错保护相结合的联合信源信道编码方法。文中首先给出了一种适用于DVB-S2标准中LDPC码的打孔方法,并对打孔得到的四种码率的LDPC码进行了仿真验证和性能分析。然后,利用打孔得到的LDPC码与SPIHT算法结合实现不等差错保护。仿真结果表明,采用本文提出的不等差错保护方法能够很好地保护重要数据,在低信噪比的情况下,图像传输质量明显优于等差错保护方案,从而提高了卫星通信在受到强干扰、带宽资源受限时的通信效率和通信质量。

[1]郭 庆,王振永,顾学迈.卫星通信系统[M].北京:电子工业出版社,2010.

[2]Said A,Pearlman W A .A New,Fast,and Efficient Image Coded Based on Set Partitioning in Hierarchical Trees[J].IEEE Transactions on Circuits and Systems for Video Technology,1996,6(3):243~250.

[3]肖 嵩,吴成柯.无线信道中的联合信源信道编码[J].电子与信息学报,2002,24(12):1835~1841.

[4]肖 嵩,张 方,吴成柯.基于小波SPIHT的联合信源信道编码新方法[J].计算机学报,2003,26(3):281~286.

[5]马红丽,李 犇,梁惠华.基于LDPC码的小波图像传输码率优化[J].通信技术,2009,11(42):7~9.

[6]DVB-S2 Standard Draft[S].ETSI EN 302 307 V1.1.1,2004.

[7]CCSDS131.1-0-2.Low Density Parity Check for Use in Near-earth and Deep Space Applications[S].USA:CCSDS,2007.

[8]IEEE P802.16e/D8.IEEE Standard for Local and Metropolitan Area Networks Part16:Air Interface for Fixed and Mobile Broadband Wireless Access Systems[S].May 2005.

[9]肖 扬.Turbo与LDPC编解码及其应用[M].北京:人民邮电出版社,2010.

[10]Choi E,Suh S B,Kim J.Rate-compatible Puncturing for Low-density Parity-check Codes with Dual-diagonal Parity Structure[C].IEEE 16th International Symposium on Personal,Indoor and Mobile Radio Communications,2005,4:2642~2646.

[11]Ha J,Kim J,Klinc D,et al.Rate-compatible Punctured Low-density Parity-check Codes with Short Block Lengths[J].IEEE Transactions on Information Theory,2006,52(2):728~738.

[12]苏和光,夏树涛.一种新的码率兼容LDPC码打孔方案[J].电子与信息学报,2011,33(10):2334~2339.

猜你喜欢
码流码率差错
分布式码流实时监控与录制系统的设计与实现
电视技术(2021年8期)2021-10-21 08:19:48
数字电视TS码流协议简要分析
视听(2021年8期)2021-08-12 10:53:42
直升机防差错设计
基于状态机的视频码率自适应算法
计算机应用(2018年7期)2018-08-27 10:42:40
差错是习题课的有效资源
校对工作中常见差错辨析
新闻传播(2016年17期)2016-07-19 10:12:05
基于场景突变的码率控制算法
X264多线程下码率控制算法的优化
计算机工程(2015年8期)2015-07-03 12:19:56
多光谱图像压缩的联合码率分配—码率控制方法
宇航学报(2014年2期)2014-12-15 02:49:06
一种比较ASN.1码流差异的方法