基于RS-Turbo级联码的单向传输系统的可靠性研究
2018-05-17刘重骁刘晓东
刘重骁 ,刘晓东
(1.武汉邮电科学研究院湖北武汉430072;2.武汉虹旭信息技术有限责任公司湖北武汉430072)
随着信息行业的高速发展,特别是云计算、大数据时代的到来,各行各业的数据交互需求将越来越多。由于交互双方或者多方之间的保密级别不一样,例如公检法、银行等单位的有些涉密设备不允许接入互联网,为了保证涉密数据的安全性,单向传输系统起到了重要的作用[1]。目前单向传输系统通过光闸技术等方法,物理隔离两个独立的主机或者系统,防止涉密数据从高保密级别方向低保密级别方流出导致泄密,一定程度上保证了数据单向传输的安全性[2]。但是在确保数据安全性的同时,由于单向传输系统没有反馈机制,保障传输数据的可靠性成为了目前关注的重点问题。文中提出了一种基于RS-Turbo并行级联码的前向纠错机制的方法。
1 RS码和Turbo码
1.1 RS码
RS码[3],作为一种前向纠错的信道编码在通信系统中广泛应用,在单向传输系统的发送端将数据进行RS编码,在接收端使用RS解码,能在发现错误码元的同时对其进行纠错,在单向传输系统中[4],它的优势就在于能够同时纠正随机错误和突发错误的能力。
RS的编码就是计算信息码符多项式M(x)除以校验码生成的多项式G(x)之后的余数。在GF(2m)域中[5],符号RS(n,k)中参数的含义见表1。
表1 RS码参数及释义
GF(2m)域中,RS(n,k)的纠错能力如下所示:码长n=2m-1,RS码能纠t=(2m-k-1)/2个随机错误码元,同时还能纠正错误长度为:b<[(t-1)*m+1]=[(2m-k-3)*m/2+1]的突发错误。
1.2 Turbo码
Turbo码又称为并行级联卷积码[6],它是由两个或两个以上的基本编码器通过交织器将卷积码和随机交织结合在一起,是一种使用反复迭代译码方式的并行级联码,它可以得到几乎接近Shannon理论极限的译码性能。
Turbo码具有卷积码的特点,能够连续编码和译码,延时短。另外,Turbo码通过交织器充分利用了各组成员码的相关性,这样就把一般的突发错误离散为相对独立的随机错误,客服了卷积码纠正突发错误性能差的特点。
图1 turbo码编码器结构框图
典型的Turbo码编码器结构框图如图1所示[7]:由两个反馈的编码器(称为成员编码器)通过一个交织器并行连接而成。一般情况下,Turbo码成员编码器称为RSC,在成员编码器中编码完成后,由成员编码器输出的序列经过删余阵,从而可以产生一系列不同码率的码。Turbo码中,交织器起到了很重要的作用,交织器能改变码的重量分布,并能控制编码序列的距离特性。所以,分量码的选择和交织器的设计都是影响Turbo码性能的重要因素。
译码时[8],Turbo码的译码算法采用的MAP算法。如图2所示,一个有两个成员码构成的Turbo码的译码器是由两个与分量码对应的译码单元和交织器与解交织器组成的,将一个译码单元的输出信息作为下一个译码器单元的输入,两个成员码外部信息的传递就形成了一个循环迭代的结构,由于外部信息的作用,一定信噪比下的误码率将随着迭代次数的增加而降低。另外,为了进一步提高译码性能,在译码的结构上还引入了反馈的概念,取得性能和复杂度之间的折中。
图2 turbo码译码器结构框图
2 RS-Turbo并行码
目前,由于单向传输系统[9]无反馈的特性,大多数单向传输系统均采用前向纠错编码(FEC)对信道传输的数据流进行误码处理[10]。前向纠错码(FEC)的码字是具有一定纠错能力的码型,它在接收端解码后,不仅可以发现错误还能判断错误的位置并自动纠错。标准的turbo码在误比特率低于10-6时,由于存在“错误平层”的原因,继续降低误码率将非常困难[11]。通过以往的实验发现,引起“错误平层”的原因主要是低重量码字中错误位引起的残余错误[12]。而目前为了降低错误平层,级联一个高码率的编码当外码将有效降低误比特率和帧错率。本文选用的RS码作为常用的纠错码之一,具有码率高,纠正突发和随机错误的能力强,编译码相对简单,译码延时固定等优势。
2.1 RS-Turbo并行码的编码方案
文中提出的RS-Turbo级联码编译码过程如图3所示。相比于常用的串行级联RS码的方式,本方案采用并行编码方式,当外网服务器端将发送的码元A通过Turbo编码器编码得到校验元B,同时码元A并行通过RS编码器编码得到校验元C,然后在存储器中将得到A+B+C的级联码,通过单向传输信道将级联码发送到内网服务器端。在接收端有相应的存储器将发送过来的码元序列接收并存储,等待着对应的译码器将序列进行纠错并译码。这种并行级联编码的方式相对串行级联编码减少了编码的时间,同时增加了码率。
2.2 RS-Turbo并行码的译码方案
由编码方案可知,在接收端的存储器中存放着单向传输系统传递过来的级联码元,那么接收的级联码元里面有可能存在着在信道传输过程中产生的突发错误码元或者随机错误码元。在译码过程中,本文采用的是完全迭代硬判决译码方式进行译码,所谓完全迭代译码就是在turbo码和RS码之间交互进行的,turbo译码器将设定一个最大的迭代次数(例如8次),在每次迭代后就将结果输入到RS译码器中:如果结果在RS码的纠错范围以内或者没有发现错误,将终止turbo码内部的迭代,RS码将进行纠错并完成译码,最后输出结果到内网服务器,传输完成;如果输入到RS译码器的结果经过RS译码器判断超出了RS码的纠错能力,RS无法完成纠错,那么结果将再次返回turbo译码器继续迭代,直到通过RS的判断能够进行纠错继而停止迭代或者迭代次数达到预选设置的最大迭代次数为止。
图3 RS-Turbo级联码实现框图
3 完全迭代级联码的性能分析
上一节已经提到了并行码的优点,目前一般的单向传输系统对实时性都有一定的要求,并行码同时编码的方案可以节省编码时间,提高实时性。假设并行编码方案里,RS编码时间为TA,Turbo编码时间为TB,那么并行编码方案的编码时间为T1=max(TA,TB),而在串行级联方案中,先由RS编码器编码,然后再进入Turbo编码器编码,此时在turbo编码器中,不止要对信息码元进行编码,还要对RS校验元进行编码。所以串行编码的时间为T2=TA+TB+TAB,其中TAB为turbo编码器对RS校验码编码的时间。很明显,节省下来的时间TC=T2-T1=TA+TAB(一般Turbo编码时间比RS编码时间要长)。每次在进行传输时,设turbo码的码率为R,则并联码的码率在R1=LA/(LA+LB/R+LC),串联码的码率R2=LA/(LA+LB+(LC+LB)/R)。
我们通过仿真进一步对本文提出的并行编码级联码进行性能分析,通过软件模拟了并行级联码,串行级联码,RS码在加入白噪声的高斯信道下的纠错能力。RS-Turbo码采用(7,5;255,239)配置,Turbo码的迭代次数最多为8次,turbo码的码率为1/3,RS码采用最常用的RS(255,239)配置。在相同的误码率10-6时,串联码和并联码的码率如图4所示,当传输信息码元加RS码元和两组Turbo码校验码元时,要求误码率为10-6的情况下,并行码的码率是0.321,串行码的码率是0.287,并行码的码率比串行码码率高0.034。另外在不同的信噪比下,并行码还可以采取不同的传输序列进行传输。一般来说,当保证系统要求的误码率的情况下,在较高信噪比的环境下可以更进一步选择是传输信息码元和RS码元或者是传输信息码元和RS校验位并加上一组turbo校验码元,这样在不同的信噪比环境下选择不同的传输方式,根据实际情况进一步提高码率和编码时间。
图4 RS-Turbo码并行码和串行码的码率
并行码设计级联码中的译码可以有四种译码方式,分别是[13]:完全迭代硬判决译码,完全迭代软判决译码,部分迭代硬判决译码,部分迭代软判决译码。在这4种方式中[14],部分迭代硬判决译码方式是最简单的一种译码方式,在给定的迭代次数后输出给RS译码器,最后由RS译码后输出后得出译码结果,这种译码方法对于选取Turbo码的迭代次数要求比较高,合适的迭代次数可以增加系统的可靠性和实时性,该方法更适用于自动重传机制中。而相对硬判决译码,在完全迭代软判决译码中,相当于把RS码作为了Turbo码的一个分量进行译码每次迭代都需要传出外验信息进行判定,并且在传递判决信息的同时还会传出可信度信息,对于每个分量码都需要使用“软进软出”的译码模块,因此这种译码方法的译码复杂度高,时延大。而部分迭代软判决译码,迭代只在Turbo码内部进行,最终的软输出作为RS码的软输入,内外码之间没有进一步的信息交换,最终的结果即为RS码的判决结果,这种方法诚然复杂度较低,但是译码性能会受到一定影响。相比于两种软判决译码,本文采用的完全迭代硬判决译码可以通过RS译码器判断是否终止turbo译码器的迭代[15]。每次迭代判断Turbo译码器输出的错误是否在RS码的纠错范围之内,如果输出的错误超出了RS码的译码能力,继续迭代直到迭代后的输出码元的错误数在外码RS译码器的纠错范围之内,通过RS译码器来纠错输出,这种外码和内码之间的信息交换方式既降低了系统的复杂度,减少了传输系统的时延,同时也保证译码的可靠性,是4种译码方式中最为适合单向传输系统的方法[16]。这种译码方式重点在于选取合适的Turbo码,尽可能的提高内码的纠错能力,进而尽可能减少迭代次数,保证系统要求的误比特率和帧错率。
图5 误码率曲线
中高信噪比下的仿真曲线如图5所示,仿真结果表明:当误码率同为10-6时,RS码需要的信噪比为9.14 db,RS-turbo串联码需要的信噪比为3.96 db,RS-Turbo并行码需要的信噪比为5.27 db。也就是说,RS-Turbo串联码比RS码有5.18 db的增益,比RS-Turbo并行码有1.31 db的增益;相比之下,turbo并联码比RS码也有3.87 db的增益。也就是说,在同等条件下,RS-Turbo串联码性能是最好的,远优于RS码的性能,而相比RS-Turbo并行码,性能优势并不是很大。相比之下,RS-Turbo并联码与仅RS码相比,性能上有着较大的提升。另外,由于RS码在turbo码编码器内没有进行二次编码,所以在译码过程中也会相对简单一些,相比串行级联码在复杂度上也有所降低。
4 结论
常用的单向传输系统大多数采用基于RS码的前向纠错机码对传输的信息码元进行纠错,系统的可靠性、实时性、传输的码率都是衡量单向传输系统性能的重要指标之一,可靠性越高,数据差错越小越好。如何在保证可靠性的前提下,尽可能的提高传输的码率和实时性,降低系统的复杂度,是本文研究的重点。本文介绍了RS码,Turbo码的基本原理,并提出的基于RS-Turbo并联码算法的编译码方法:采用并行的编码方式,在译码过程中采用完全迭代硬判决译码方法。通过仿真模拟了RS码,RS-Turbo串联码,RS-Turbo并联码的性能,得到了误码率曲线图进行比较。结果表明,在误码率同等条件的前提下,尽管RS-Turbo并行码在性能上差一点,但是相比串行码节约了编码时间,提高了码率,同时也减少了译码的复杂度;而和传统的RS码相比,在性能方面优势明显。
目前,在单向传输系统可靠性研究上,考虑到硬件系统的实现,平衡系统的可靠性和复杂度一直是探讨的重点。如何选取合适的并联码中的分量码和交织器的设计将是下一步研究的重点。
参考文献:
[1]陈达.单向安全隔离与信息交换机制的研究与实现[D].北京:北京交通大学,2015.
[2]魏小振.基于双单向光闸的双网安全访问的研究[D].北京:北京化工大学,2015.
[3]颜敏燕.单向隔离网闸的设计及其传输可靠性探讨 [J],价值工程,2014(27):219-221.
[4]傅鸿雅.Turbo乘积码与RS码的混合纠错性能对比分析[J].应用科技,2012(39):17-19.
[5]吴朝.RS码、RS-Turbo码的纠错性能分析[J].网络工程,2016(8):190-191.
[6]齐华.基于RS-Turbo码的汉信码纠错性能研究[J].西安工业大学学报,2013(5):51-53.
[7]邵旭东.基于光纤通信技术的数据单向传输可靠性研究[J].理论研究,2016(10):76-79.
[8]王晓明.一种改进的turbo码译码算法[J].自动化与仪器仪表,2013(4):49-53.
[9]许艳光.基于单向隔离网闸的数据过滤系统研究与实现[D].廊坊:北华航天工业学院,2015.
[10]陈小锋.通信新读[M].北京:机械工业出版社,2014.
[11]周炯槃,庞沁华.通信原理[M].北京:北京邮电大学出版社,2015.
[12]郭佳.抗突发误码的双重交织Turbo码设计[J].电讯技术,2014(6):765-769.
[13]赵铭.无反馈纯单向信息传输系统的设计[J].长春理工大学学报,2013(36):40-44.
[14]OpticalFiberCommunications[M].GerdKeiser.2013.
[15]FiberOpticCommunications[M].Joseph.C.Palais.2015.
[16]张择书.可见光通信信道编码中卷积与RS级联码分析[J].吉林大学学,2014(1):36-40.