一种适用于C C S DS规范的数据交织与解交织方法设计
2017-08-30航天恒星科技有限公司高振华艾国志陈皓一
航天恒星科技有限公司 李 博 高振华 艾国志 陈皓一
一种适用于C C S DS规范的数据交织与解交织方法设计
航天恒星科技有限公司 李 博 高振华 艾国志 陈皓一
数据的交织与解交织通常与信道编译码器结合使用,组成信道纠错系统。此类系统可将突发错误离散成随机错误,使突发错误散布在译码器纠错范围之内,提高信道抗干扰能力。本文针对CCSDS规范中RS编译码的特点,设计了一种数据交织与解交织的方法。该方法根据不同的交织深度,对数据进行分类处理。实现了不同交织深度下数据的交织与解交织。同时在FPGA中对此方法进行了设计和仿真。仿真结果表明该方法可实现适用于RS编译码的数据交织与解交织功能。
CCSDS;数据交织;数据解交织;数据传输
一、概述
交织和解交织是一种常用的构造码方法,交织技术的基本思想是在数据的发送端改变码元的发射顺序,将一个有记忆信道成功转变为无记忆信道。同时在接收端按照特定接收顺序接收码元,从而恢复码流的原始状态[1]。交织技术与纠错编译码技术相结合,可以把突发错误离散成随机错误,在随机错误的状态下进行译码纠错,可取得良好的效果[2]。该方法常用于组合信道纠错系统。实际使用中,在发送端数字交织单元加上纠错编码器后,接收端译码后接去交织,通过交织解交织模块的作用,将突发错误信道改造成独立的随机错误信道,将突发错误展开,实现错误离散化,使突发错误散布在纠错编码器纠错范围之内。以提高信道抗干扰的能力[3]。
现有数据传输系统中,交织技术与RS编译码相结合的处理方式能够满足相应的需求,但是对于大数据量和高速率数据传输系统,为了满足系统数据吞吐量以及速率的要求,数据采用并行传输的方式,现有的交织技术与RS编译码处理结构很难适应高速率下的并行传输方式,容易造成数据堆积导致误码,同时自身结构也限制了系统的传输速率[4][5]。
本文提出了一种适用于CCSDS规范的高速信息传输交织与解交织方法,该方法对输入的待译码信息进行处理,对于不同交织深度下的数据分类处理,既提高了系统的可靠性又满足了数据并行处理的高速率要求。此方法进行高速率数据的交织与解交织,处理复杂度较低,占用资源较少,同时对于并行度更高、传输速率更高的传输系统设计具有参考价值,可拓展性强,因此具有广泛的适用性。
二、方法设计
CCSDS规范中RS译码要求的数据交织深度分别为1,2,3,4,5,8。针对6种交织深度,本文设计了短交织单元、短解交织单元、长交织单元和长解交织单元分类实现数据交织和解交织。短交织单元和短解交织单元实现交织深度为1,2,3的数据交织和解交织,长交织单元和长解交织单元实现交织深度为4,5,8的数据交织和解交织。
1.短交织单元
短交织单元中根据交织深度,选通相应的通道,利用乒乓结构输入到相应选通的交织器中对数据进行分步处理,选通的交织器每次触发输出交织后数据,交织后数据进行重组,根据交织深度选通输出通道,每个选通支路每次触发后输出数据,完成数据交织。
短交织单元交织器由4个输入缓存FIFO、地址映射模块、读使能信号产生模块和地址映射数据重构模块组成,4个输入缓存FIFO对4路输入数据进行缓存,4个FIFO完成一个整帧的存储后,启动读FIFO读使能信号产生模块产生读FIFO使能信号。读使能信号经过地址映射模块进行有目的、有次序的读FIFO操作,地址映射模块根据输入的交织深度参数,按照地址映射算法产生相应的读FIFO地址标识,读FIFO使能信号按照地址标识的指示触发相对应的FIFO,读出相对应的数据并输入到地址映射数据重构模块,按照地址映射方式进行数据重组,并根据交织深度参数选通相应输出支路输出数据,即实现了数据交织。
2.短解交织单元
短解交织单元中,根据交织深度选通相应接口作为输入端口,输入数据通过选通的输入端口进入单元中进行数据重组,重组后数据分别输入到解交织器中进行数据的解交织,解交织后数据根据交织深度选通输出通道输出数据,完成数据解交织。
短解交织单元解交织器包括串并转换模块、地址映射模块、4个输出缓存FIFO和FIFO写使能信号产生模块,解交织器输入端共32bit位宽,输入数据根据交织深度不同,占用不同的位宽,经过串并转换后,共有4个输出接口,根据交织深度参数设置选通输出串并转换后的数据,串并转换后的数据输入到地址映射模块,输入到地址映射模块的数据根据地址映射算法有目的、有次序的进行数据重组,输入到相应的4个输出缓存FIFO中。地址映射算法为交织器中地址映射算法的逆运算,FIFO读使能信号产生模块在4个FIFO存储一整帧数据后产生读使能信号,读使能信号输入到地址映射模块中,根据与交织深度相对应的地址映射算法将所述读使能信号映射到相应的FIFO中,使能相应的FIFO读出数据,4个FIFO输出的数据即为解交织后的4路数据。
3.长交织单元
长交织单元根据交织深度产生相应地址映射算法,对输入数据进行数据映射重组,映射重组后根据地址映射算法选通相应输出支路输出数据,将映射重组后数据输入对应的输出缓存FIFO,根据交织深度,选通相对应的FIFO输出端口,被选通的FIFO输出数据即为交织后的数据。
4.长解交织单元
长解交织单元根据交织深度选择输入数据通道,将数据传输到相对应的FIFO中进行缓存,缓存数据为一整帧数据后,读出FIFO中数据。即为解交织后数据。FIFO读取顺序依据地址映射算法的映射,该单元中的地址映射算法为长交织深度交织器中地址映射算法的逆运算。
三、仿真验证
本设计选用Xilinx公司的ISE12.4作为硬件开发平台,并采用Verilog语言进行代码编写。文中程序已通过了综合实验,分别选取一帧数据为223字节,交织深度为4和2,进行功能仿真,仿真结果正确。下图为功能仿真图。
交织深度为4功能仿真图1
交织深度为2功能仿真图2
功能仿真图中,frm_dat_inI[7:0]为数据交织前输入数据流,deinterlance_din_I[63:0]为交织后数据流,deinterlance_data_outI[7:0]为解交织后数据流,deinterlance_vldin_I[7:0]为交织深度。从图中可以看出,输入的数据流为有序数,若交织深度设置为4,数据交织模块会按序取四个数据进行交织并输出。解交织模块会对交织后的数据进行解交织,将交织后的数据还原为有序数。若交织深度设置为2,则数据交织模块会按序取两个数据进行交织并输出。解交织模块会对交织后的数据进行解交织,将交织后的数据还原为有序数。
四、结论
本文针对CCSDS规范中RS编译码的特点,设计了一种数据交织与解交织的方法。该方法根据不同的交织深度,对数据进行分类处理。实现了不同交织深度下数据的交织与解交织。同时在FPGA中对此方法进行了设计和仿真。仿真结果表明该方法可实现适用于RS编译码的数据交织与解交织功能。
[1]张赟隆.交织与解交织的算法研究及FPGA实现[D].西安电子科技大学,2007.
[2]范寒柏,宋文妙.数据通信中交织与解交织的FPGA实现[J].华北电力大学学报,2002,29(2).
[3]晋兆虎.信道编译码与交织解交织技术及应用[D].重庆大学,2005.
[4]张善旭.一种块交织的交织及解交织方法[J].信息通信,2013(7).
[5]蔡剑,孙献璞,陈立娜.一种用CPLD实现的短帧交织器设计[J].现代电子技术,2007,30(3).
A kind of applicable to CCSDS standard data interleave and de-interleave method
Data interleave and de-interleave is usually combined with channel decoder,error correction system of channel. In the systems,burst error can be divided into random errors.The burst error spread within the scope of the decoder error correction.Channel anti-interference ability was improved.In this paper,according to the characteristics of RS coder in the CCSDS standard compiler design a kind of data interleave and de-interleave method.The method classify data processing according to the different interleave depth.Implements the interweave and de-interleave of data in different interleave depth.This method is simulated and implemented in FPGA.The results show that the method can realize the function of data interleave and de-interleave based on RS decoder.
CCSDS;data interleave;data de-interleave;data transmission
李博(1986-),男,工程师,现供职于航天恒星科技有限公司,主要从事卫星通信,遥感数据接收方面的研究。
高振华(1984-),男,工程师,现供职于航天恒星科技有限公司,主要从事遥感卫星地面接收站系统设计研究。
艾国志(1981-),男,工程师,现供职于航天恒星科技有限公司,主要从事遥感地面站数据接收处理方面的研究。
陈浩一(1985-),男,工程师,现供职于航天恒星科技有限公司,研究方向:计算机科学与技术,静止卫星地面应用软件架构设计。