王玮
摘要:针对航天测控通信中遥测数据删除卷积码的译码,提出了一种低复杂度、低资源占用量的译码方法。介绍了卷积码和删除卷积码的原理和区别、传统遥测数据删除卷积的译码方式,针对其在高码率时资源消耗量大的问题,提出了一种改进方法,采用遥测节点同步的方式,在卷积译码前即可确认删除码率和数据组合;对比了2种方式的资源占用量和译码性能,说明采用遥测节点同步的方式可以有效地减少译码器的使用,大大节省了资源占用量。
关键词:航天测控;删余卷积码;遥测节点同步
中图分类号:V527文献标志码:A文章编号:1008-1739(2023)06-53-5
在航天测控通信中,为了提高遥测数据传输的可靠性,通常采用信道编码技术[1]。在测控通信中常用的信道编码技术有卷积编码、LDPC编码、RS编码以及RS+卷积级联码等编码方式。卷积编码是一种非分组码,由伊利亚斯(P.Elias)于1955年提出,它具有纠错能力强、编译码简单等优点,在许多实际情况中的性能优于分组码[2-3],因此得到了广泛应用。标准的CCSDS卷积编码为(2,1,7)卷积码,即编码后数据速率为编码前的2倍,但这样会增加传输带宽,或者在不改变传输带宽条件下降低信息传输速率。为了提高信道编码码率,增加带宽有效性,通常会采用删除方法,即信息进行卷积编码后,消去编码完的序列中的部分比特,通过减少传输的比特数来提高编码码率[4-5]。常用的打孔删除方式有2/3、3/4、5/6、7/8。相比于1/2编码方式,采用这种方式虽然会损失一定的纠错性能,但是可以有效提高信息码速率,降低传输带宽[6-7]。
通过删除的方法,虽然可以提高遥测数据传输带宽,但是在对删除卷积码进行译码时所需要的译码器数量较多,资源消耗较大。针对这一问题,本文分析了航天测控通信中传统遥测数据进行删除卷积码译码的处理流程,在其基础上提出一种改进方法,通过增加遥测节点同步环节,在译码前即可确定译码模块输入端的数据组合方式,在实现高码率信道编译码的同时,降低了资源的消耗。
首先介绍了删除卷积码的结构并给出了通过固定删除图样得到的不同码率的删除码,然后给出了传统遥测数据处理流程并分析了不同码率对应的资源消耗量,在此基础上提出了遥测节点同步处理方法,最后对2种方法在不同码率下的资源消耗进行了对比。
1.1卷积码介绍
卷积码是让待编码的信息序列通过一个线性的、有限状态的移位寄存器得到编码序列的编码方法。将待编码信息序列分为组长度为的子序列,每个子序列编码后长度为,那么编码码率为= /。编码完成的bit数据不仅与当前组的个信息位有关,还与前面的-1组信息位有关,卷积码就是利用这些信息之间的相关性,来得到优异的编码增益。
卷积码有多种表示方法:解析表示法和图表表示法。其中,图表表示法又可分为结构图表示法、网格图表示法和状态图表示法。
1.1.1解析表示法
例如,空间数据系统咨询委员会(CCSDS)标准卷积码的表达式为(2,1,7),即=2,=1,=7,表示输入1 bit信息,输出2 bit编码数据,约束长度为7。1= 1111001,2= 1011011,2路输出反向。
1.1.2图表表示法
图表表示法中常用的表示法为结构图表示法和网格图表示法,在进行卷积编码时常用到结构图表示法;在进行卷积码译码时常用到网格图表示法。本文重点介绍结构图表示法。CCSDS标准卷积码的结构图表示如图1所示。
1.2删除卷积码介绍
为提高航天测控中下行遥测的信道编码码率,在卷积码中通常会采用删除的方法。删除就是在遥测信息序列完成卷积编码之后,按照一定的规则周期性地删除信息序列中的一些数据,即采用更少的编码数据来传达相同的信息,可以达到提高编码码率的目的。在航天测控中,一般通过对约束长度为7,码率为1/2的CCSDS标准卷积码进行删除,增加传输带宽有效性,提高遥测码率。但由于在传输前删除了部分已编码符号,与原始的码字相比降低了纠错性能。按照不同的删除规则,可以得到2/3、3/4、5/6、7/8码率编码。删除卷积编码器的结构如图2所示。
由初始的碼率1/2 CCSDS标准卷积码通过固定删除规则得到的码率2/3、3/4、5/6、7/8的删除码,删除规则如表1所示。
由表1可以看出,长度为的序列经过码率为1/2的编码器编码后长度变为2的序列,根据不同的删除规则进行删除,删除-1 bit,最终得到的删除编码序列码率为/( +1)。经过删除后,卷积码之间的码距会减小,影响卷积码的编码性能。
1.3卷积码的译码介绍
卷积码的译码方法有很多种,主要有:1961年由沃曾克拉夫特(Wozencraft)提出,1963年由费诺(Fano)改进的序列译码;1963年由梅西(Massey)提出的门限译码;1967年由维特比(Viterbi)提出的Viterbi算法;1974年Bahl、Cocke、Jelinek和Raviv(BCJR)对信息比特具有不等先验概率的卷积码提出了最大后验概率(MAP)译码算法。其中,卷积码的最优译码方法为基于最大似然估计和最大后验概率准则的译码方法。故后2种,即Viterbi和BCJR译码方法得到了更为广泛的应用。本节主要介绍Viterbi译码算法的基本原理。
Viterbi译码方法是一种基于编码器网格图搜索的最大似然译码方法,其目的在于在网格图中寻找一条与接收序列之间的距离最小的路径。根据解调之后选择的判决方法,在寻找最佳路径的过程中可以采用汉明距离和欧式距离进行度量值的比较。Viterbi译码算法不是一次性在网格图中所有可能的2条不同的路径中选择一条具有最佳度量值的路径,而是每次接收一段信息序列,进行度量值的计算,并在到达同一状态的路径中选择当前具有较大度量值的路径,舍弃其他路徑,从而使得最后留存的路径仅有一条,并且是具有最大似然函数的路径。Viterbi译码的实现过程可分为:路径度量的计算、路径度量的更新、循环搜索所有路径、反向索引幸存路径4个流程。
删除卷积码的本质是一种高码率的卷积码,其在译码时仍需要按照卷积码进行译码。由于待译码序列在卷积编码之后按照一定的规则周期性地删除信息序列中的一些数据,因此在译码的时候需要按照相应规则对数据进行补全操作,然后再对数据再进行卷积译码。但由于删除的序列与补充的序列不一致,势必造成译码性能损失。在航天测控领域的应用中,下行遥测一般会预留充足的链路余量,因此可通过牺牲译码性能来换取遥测传输带宽的提升。
传统遥测数据卷积译码处理流程如图3所示。遥测接收设备首先要完成遥测信号的捕获跟踪和位同步处理。在解调出基带数据流之后进行信道译码、帧同步、解扰等处理。卷积编码对应的译码方式为Viterbi译码,任一码率的编码数据,必须经过2 bit数据重新组合后才能确定删除起始位置,之后按照删除规则进行数据填补后,作为Viterbi译码模块的输入数据[9-10]。不同码率1/2、2/3、3/4、5/6、7/8编码后的数据流,2 bit重新组合会出现多种可能,如果每个数据流2 bit重新组合都是从起始数据开始组合,译码结果正确;如果不是起始数据组合,则译码出错。图4列出了各个不同码率的编码数据作为译码模块输入数据时,可能出现的组合方式。
由图3可以看出,1/2码率时,编码数据送入译码模块输入端时,可能出现2种2 bit组合方式。在进行数据流处理时,不能确定哪种才是正确的数据组合,所以需要放置2个Viterbi译码模块,随后对译码输出进行鉴定,正确的一路保留,错误的舍弃。同理:
2/3码率时,译码器输入端的数据流有3种2 bit组合方式,需要放置3个Viterbi译码模块来判断选择其中正确的一个译码输出;
3/4码率时,译码器输入端的数据流有4种2 bit组合方式,需要放置4个Viterbi译码模块来判断选择其中正确的一个译码输出;
5/6码率时,译码器输入端的数据流有6种2 bit组合方式,需要放置6个Viterbi译码模块来判断选择其中正确的一个译码输出;
7/8码率时,译码器输入端的数据流有8种2 bit组合方式,需要放置8个Viterbi译码模块来判断选择其中正确的一个译码输出。
由此得出,不确定数据流起始点的情况下,需要遍历所有数据组合,并通过Viterbi译码结果正确性来确定数据组合方式。采用这种方式,当码率越高时,需要的Viterbi译码器就越多,资源占用也越多。
采用传统遥测数据删除卷积译码的方式,会占用大量Viterbi译码资源,而一般Viterbi译码利用FPGA来实现,所需要的FPGA资源更多,不利于接收解调设备小型化、便携化和多通道的实现。为了解决该问题,本文提出了一种新的低复杂度删除卷积译码方式,在遥测数据解调流程中增加节点同步流程。通过遥测节点同步,可以在Viterbi译码前就确定好数据组合方式和遥测帧头起始位置,因此接收端只需要1个Viterbi译码模块进行译码即可,相比传统遥测数据删除卷积译码方式,大大节省了FPGA资源。图5为改进后的遥测数据解调流程,遥测接收设备首先进行遥测信号捕获跟踪和位同步处理,然后进行节点同步确认Viterbi译码的起始点和数据组合方式,之后进行Viterbi译码和帧同步等处理。
节点同步流程如图6所示。首先对预设的遥测数据帧头进行(2,1,7)卷积编码;然后根据不同码率按照对应删除规则对编码后序列进行删除,得到各种码率和各种数据组合的节点同步帧头;最后通过设置合适的容错比特,在遥测数据流中匹配查找所有的节点同步帧头,若正确匹配到节点同步帧头,则查找对应的编码速率和数据组合,并输出至Viterbi译码模块。
当帧头为16 bit时,1/2码率帧头编码輸出1111111111111111/1111111111111111;2/3码率帧头编码输出1010101010101010/1111111111111111;3/4码率帧头编码输出1011011011011011/1101101101101101;5/6码率帧头编码输出1010110101101011/1101011010110101;7/8码率帧头编码输出1000101100010110/1111010111101011。其中,1代表数据保留,0代表数据删除。
当帧头为24bit时,1/2码率帧头编码输出111111111111111111111111/111111111111111111111111;2/3码率帧头编码输出101010101010101010101010/ 111111111111111111111111;3/4码率帧头编码输出101101101101101110110110/110110110110110111011011;5/6码率帧头编码输出101011010110101110101101/110101101011010111010110;7/8码率帧头编码输出100010110001011010001011/111101011110101111110101。其中,1代表数据保留,0代表数据删除。
当帧头为32 bit时;1/2码率帧头编码输出11111111111111111111111111111111/111111111111111111111 11111111111;2/3码率帧头编码输出1010101010101010101010 1010101010/11111111111111111111111111111111;3/4码率帧头编码输出10110110110110110110110110110110/ 11011011011011011011011011011011011011;5/6码率帧头编码输出10101101011010111010110101101011/11010110101 101011101011010110101;7/8码率帧头编码输出10001011000101101000101100010110/111101011110101111110 10111101011。其中,1代表数据保留,0代表数据删除。
编码结构框图有6个寄存器,因此帧头数据依次送入编码器6 bit数据后,数据编码输出是确定的,可知,对于帧头编码输出序列,舍弃前6 bit数据的编码序列,从之后的输出数据进行同步,即可找到数据处理的起始点。可以事先把不同帧头在不同码率情况下的编码输出预存起来,经过节点同步处理,可以确定译码器输入数据的组合方式,通过1个译码器即可完成译码。由于2/3、3/4、5/6、7/8码率数据编码是有删除的,所以译码器输入数据必须添加使能控制信号。
综合上文分析可得2种遥测数据删除卷积译码方式的译码器数量,如表2所示。FPGA消耗资源如表3所示。由表2和表3可以看出,采用传统方式处理,随着码率的提高,所需译码器的数量也越多,资源消耗越大。若采用本文提出的节点同步方式处理,只需一个译码器即可完成译码,FPGA资源消耗量相比传统方式大大减少。由此可见,本文所提方法可以在较低资源消耗的情况下,有效地提高信道编码码率,提升信号传输速率。
本文针对航天测控通信中遥测数据的编译码处理方式,提出了基于删除卷积码的遥测节点同步技术实现方法。采用删除卷积码方法,在传输前删除部分已编码符号,有效提高了信道编码码率,增加了带宽有效性;针对高码率删除卷积码资源消耗大的问题,通过对传统遥测数据处理流程进行改进,提出遥测节点同步处理方法,在译码前确定好数据起始点,只需使用1个Viterbi译码模块即可完成译码,相比传统遥测帧同步处理方法,在提升信息码率的同时,有效节省了资源。
参考文献
[1]饶启龙.航天测控技术及其发展方向[J].信息通信技术, 2011,5 (3) :77-83.
[2]宋阳,解辉,王丰华,等.删除卷积码参数快速估计算法[J].中国电子科学研究院学报,2013,8 (2) :178-183.
[3] YUAN D F,LI Z W,SUN A F, et al. Research on Unequal Error Protection with Punctured Convolutional Codes in Image Transmission System over Mobile Channels[J].Acta Electronica Sinica,2001,29 (7) :1-4.
[4]阮峥,景为平.IEEE802.11p下删余卷积编码译码方法的研究[J].电子技术应用,2012,38 (8) :116-118.
[5]原进红,匡镜明,柯有安.删除卷积码与MPSK调制[J].北京理工大学学报,1995,15 (2) :163-170.
[6] Sasano H, KIKUCHI K,MORIYA S.Construction of High Rate Punctured Convolutional Codes[C]//International Symposium on Information Theory and its Applications(ISITA).Monterey : IEEE, 2016 :498-501.
[7] MORIYA S, KIKUCHI K, SASANO H. Search for High-rate Punctured Convolutional Codes Through Transformed Identical Codes[J].IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences,2017(12):2607-2614.
[8]张磊,卢华平,朱爱民.基于删余等效的高码率卷积码的低复杂度译码方法[J].电讯技术,2018,58 (11) :1296-1302.
[9]曾丽君.软件无线电在遥控遥测基带系统中的应用研究[D].南京:南京航空航天大学,2007.
[10]何小敏.卷积码编码与维特比译码加速器设计[D].北京:北京邮电大学,2010.