天津师范大学 天津市无线移动通信与无线电能传输重点实验室 李凯凯 陈 劲
Xilinx北京有限公司 季茂林
基于水听器线列阵的信道编解码的研究
天津师范大学 天津市无线移动通信与无线电能传输重点实验室 李凯凯 陈 劲
Xilinx北京有限公司 季茂林
本文针对压电型水听器线列阵的级联型信道实际需求,研究了基于准实时信道编解码的数字基带信号长距离传输技术及方法。在实验室建立传输的原理样机并进行实际的电路测试。并提出了面向水听器线列阵的动态删余Turbo-BCH联合编译码方法,更好地满足压电型水听器线列阵的数据传输要求。
Turbo-BCH联合编码;纠错码设计;FPGA
图1所示为一种典型的压电型水听器线列阵电子仓,各个水听器分段均通过图中所示的钛合金防扭型水密接头相连。由图1中的水密接头连接方式可以看出,该类型的水听器阵列不便于采用光纤或者频带调制的传输方式,更易于采用基于铜质双绞线等有线连接的数字基带信号直接传输方式。
图1 水听器线列阵电子仓实物图
本文研究的水听器线列阵级联型信道组成结构中每个电子仓中的多通道水听器信号调理与采集模块产生水听器阵列的多个快拍数据以后,通过多个本地串行上行链路将数据传输至数据组帧及信道驱动模块。该模块首先将本地数据组装为128字节的数据帧,然后进行BCH纠错编码。编码后的数据块再进行TURBO编码与动态删余,经过线路驱动后输出。线路的传输形式为不加调制的二进制数字基带直接传输方式,信道传输介质为铜质非屏蔽双绞线。级联型信道的接收端通过高速模数转换器对波形进行多级量化,在FPGA主控单元内进行自适应软阈值均衡运算,恢复出包含噪声信息和偶发性误码的多级量化的信源数据。
在进行前述电路设计的同时,设计了基于Verilog语言的TURBO程序模块并通过ModelSim仿真验证了其迭代的收敛性及实时性。鉴于大规模应用时的水听器线列阵峰值传输速率可达到200Mbps,仿真结果显示单独的Turbo迭代译码及纠错较难满足系统的实时性要求(假设迭代3 - 4次)。同时,由于非屏蔽双绞线连接的有线信道符合高斯信道的特性,传输衰减及信道常规随机噪声功率谱均较为恒定且与传输距离成正比,因此可以采用经典的BCH等循环纠错码来纠正大部分的常规传输错误。
2.2.1 纠错码设计
Turbo码、LDPC码和极化码均具有极佳的纠错性能,前两种接近香农理论极限,后者可以逼近甚至达到理论极限。随着5G通信标准最终确定分别采用LDPC码和极化码作为信道编码标准,Turbo已经逐渐退出技术发展的主流舞台。本项目的应用目标为特定环境的特定数据传输链路,对信道编解码格式的通用性要求不高,因此项目组决定仍然采用项目任务书设定的Turbo编解码方式进行研究。
将BCH码做为外码,基于了下面的实际工作条件:在水听器线列阵工作的大部分时间里,信道噪声及干扰均处于BCH纠错的能力范围内。此时,BCH每次纠错成功便可中止Turbo迭代,直接输出BCH运算结果。若级联信道出现偶发性的强干扰或强噪声而导致BCH无法纠错时,Turbo则通过迭代译码输出正确的信息序列。虽然Turbo迭代译码的收敛速度低于级联信道实时数据传输的要求,但是由于Turbo迭代译码输出模块工作于偶发性状态,因此Turbo-BCH联合信道译码的整体实时性指标完全满足实时数据传输的要求。这种Turbo-BCH联合纠错编、译码结构如图2所示。
图2 纠错码结构示意图
Turbo码选取了经典的(7,5)系统卷积码,编码结构采用由两个卷积码编码器组成的并行结构,使用交织器平衡两组编码信号的码重,在输出端对编码信号进行动态删余处理,可以较大程度地降低输出信号的冗余率。编码器结构如图3所示。
图3 Turbo码编码示意图
Turbo码的译码仍然采用了成熟算法,但是采用了软阈值均衡器输出的多位软信息作为输入信号,其原理框图如图4所示。
译码器1与译码器2交互传递表征数据概率的外部信息,译码器以各自的信息符号、编码符号概率对数似然比,以及外部信息为输入,计算出本次迭代的信息序列,同时将外部信息传递给另一个译码器,经过有限次迭代即可使译码结果收敛正确。
图4 Turbo码译码示意图
图5 Turbo-BCH联合编译码原理示意图
致谢:本文受天津市应用基础与前沿技术研究计划(14JCYBJC15800);天津市优秀青年教师计划,天津师范大学开发基金重点项目(52XK1601)和博士基金项目(52XB1603)资助。
2.2.2 Turbo-BCH联合编码
图5是Turbo-BCH联合编译码原理示意图。发送端编码时,128比特的数据块先经过BCH编码,在帧尾添加32个冗余位,而后进行Turbo编码及删余(码率初始为2/3,后续码率基于级联信道接收端通过下行命令总线下传的动态删余指令确定),输出至有线信道。接收端译码时,高速模数转换器对差分信号波形进行时域过采样,并对多值量化结果做自适应软阈值均衡。均衡后的结果有两个输出支路,一是直接将数据输入Turbo迭代译码模块;二是进行硬判决,并将判决后的二值数据送入BCH纠错模块。BCH纠错结果和Turbo译码结果通过二选一开关作为最终的译码输出序列。若BCH成功纠错,则在选通BCH支路输出数据序列的同时,复位Turbo译码模块。
2.2.3 Turbo编码端的动态删余机制
本文研究的级联信道接收端通过FPGA的数字逻辑实现了信道传输错误分布情况的实时累积和统计。首先,通过两个8bit计数器分别累计BCH纠错数据位输出和Turbo迭代纠错输出数据位数量。若在60秒内Turbo迭代纠错输出的次数为零且BCH纠错数据位低于8(编程时作为parameter参数固化在FPGA中)则表示信道特性良好,接收端则在下一个阵列基准时钟上升沿通过下行命令总线向发送端传输一个指令,使Turbo编码端的删余模块减少2个校验位输出(两个支路各减少一个位)。若Turbo纠错输出的次数为0且BCH纠错数据位输出大于等于8位,则不改变当前的编码码率。若Turbo译码器有纠错输出(即计数器不为0),接收端则在下一个阵列基准时钟上升沿通过下行命令总线向发送端传输一个指令,使Turbo编码端的删余模块增加2个校验位输出。
Turbo-BCH联合编译码:(1)占用的FPGA内部资源量
Turbo-BCH联合编译码系统所占用的FPGA资源与参数设置之间的关系如表1所示,该表以寄存器(REG)为计算基础,给出了查找表(LUT)与REG之间的比值以体现编程实现方式上的差别。其中,L表示数据块的帧长,N表示BCH纠错上限位数,M表示Turbo运算过程量位数,S表示Turbo生成多项式的位数,符号[A:B]表示数据的上下限范围。
BCH编译码所耗用的资源主要包括查找表(LUT)和寄存器(REG)两部分,且由数据块的帧长和纠错上限位数决定。Turbo译码器所占用的资源量与运算过程量位数、数据块帧长和生成多项式格式有关。
*说明:
a)Turbo译码BRAM主要包括对数查找表,以及首尾两方向运算过程量缓存;
b)表中数据是经典实现算法方式下的FPGA耗用资源量和编译码参数之间的大体关系,在每次通过开发软件进行具体的编译、综合时会有所差别,因此该表格为大致的估算范围和FPGA主控芯片的选型依据。
表1 联合编译码参数与FPGA资源关系
(2)时序
在本项目所述的动态删余Turbo-BCH联合编译码方式下,Turbo - BCH编码端容易成为整个系统的速度瓶颈。为了提高信道传输的实时性,项目组采用了基于流水线的方式实现该部分的联合编码。在保证FPGA编程资源的情况下,做到输出数据序列时间响应与输入序列一致,初步验证了级联信道数据传输的硬实时性。图6所示为联合编码时序图,BCH编码为多项式运算,各数据位寄存器的数值随输入数据实时更新,BCH编码校验位则只需将最终的寄存器值添加至数据块的帧尾即可。
图6 联合编码时序示意图
图7所示为Turbo-BCH联合译码的时序图。Turbo译码采用迭代方式,在不采用划窗分段设计方法的情况下,需要接收完整的一帧数据后才可以运算及输出纠错信息,因此该部分的处理延迟至少为迭代次数乘以帧长。虽然可通过多个译码器并行实现模块间流水线以满足处理的实时性要求,但是会大幅度增加系统设计占用的资源量。
图7 联合解码时序示意图
(3)ModelSim逻辑仿真结果
Turbo-BCH联合编码的FPGA程序模块设计完成以后,项目组在ModelSim中进行了详细的仿真和验证,其结果如图8所示。仿真参数如下:数据帧长设定为1KB(远大于实际数据块的帧长),BCH纠错编码采用了32bit校验位,Turbo编码选用经典的(7,5)系统卷积码,输出码率为1/2(联合编码的信道冗余上限)。该结果验证了相关程序模块的功能和实际效果,即使在信道最恶劣的情况下,本项目所研究的Turbo-BCH联合编码模块也可以实现净数据帧长度为1K位、删余输出码率位1/2时的硬实时联合编码。
图8 联合编码仿真图
联合译码仿真如图9所示,数据实时处理,输入数据为图中I_data,采用多个Turbo译码器并联实现连续译码,BCH译码器输入数据为S_data_sel,最终译码结果为O_data。
图9 联合译码仿真图
联合译码中,Turbo译码仿真图如图10所示。采用4次迭代输出,每次迭代中的运算单元资源复用,因此译码延迟较长,约为数据帧长的1/20。
图10 Turbo译码仿真图
本文设计了面向数字基带信号直接传输方式的多值输入二进制数字信号Turbo译码并提出了面向水听器线列阵的动态Turbo-BCH联合编译码方法。信道编码是降低各类数字通信系统误码率的主要技术,能够提高通信质量,在卫星通信,深空通信,移动通信等领域中得到了广泛地使用。
[1]曾素琼.基于RS码与Turbo码的纠错码特性研究[J].现代电子技术,2005:39-41.
[2]刘东华.Turbo码原理与应用技术[M].北京:电子工业出版社,2004.
[3]王丹,廖延彪,张敏.双光束干涉仪中椭圆拟合估算的参数精度研究[J].光学学报,2016,36(3):0312002.
[4]杨士莪.矢量传感器多极子化组合前景[J].哈尔滨工程大学学报,2017,38(1):101-102.
[5]樊婷婷.Polar码的若干关键技术研究[D].北京交通大学,2016.
[6]俞丹丽.海上数字通信信道编解码技术研究[D].南京信息工程大学,2012.
[7]张择书,郭树旭.可见光通信信道编码中卷积与RS级联码分析[J].
[8]吉晋龙.LDPC码的高速编译码器设计及FPGA实现[D].西安电子科技大学,2013.
[9]Costello D J,Forney G D.Channel coding:The road to channel capacity[J].Proceedings of the IEEE,2007,95(6):1150-1177.
[10]Polyanskiy Y,Poor H V,Verdú S.Channel coding rate in the finite blocklength regime[J].IEEE Transactions on Information Theory,2010,56(5):2307-2359.