文献标识码: A
DOI:10.16157/j.issn.0258-7998.190245
中文引用格式: 曾洁,詹明,罗小红,等. 一种低存储容量Turbo码译码器结构设计及FPGA实现[J].电子技术应用,2019,45(7):72-76.
英文引用格式: Zeng Jie,Zhan Ming,Luo Xiaohong,et al. A memory reduced Turbo code decoding architecture design and FPGA implementation[J]. Application of Electronic Technique,2019,45(7):72-76.
0 引言
Turbo码自1993年提出以来,由于其独特的编译码结构和逼近Shannon极限的译码性能及良好的纠错性能[1],引起了广泛的关注。目前,Turbo码已被第四代移动通信系统所采用[2-3],并广泛应用于能量受限的深空通信和工业物联网中[4-5]。在无线通信应用中,Turbo码进行编译码的硬件实现时,译码器被认为是信号接收终端功耗的主要瓶颈,而译码器有一半以上的功耗主要用于对状态度量缓存(State Metric Cache,SMC)的访问[6]。因此,一种降低SMC容量的低功耗Turbo码译码器结构成为研究的重点。
Turbo码译码器的实现主要是采用对数域最大后验概率算法[7](Maximum a Posteriori Probability Algorithm in Logarithmic Domain,Log-MAP),所以基于Log-MAP算法的低存储容量的低功耗Turbo译码器成为目前主要研究的对象[6-7]。根据存储容量降低方式,主要分为变换法和反向重算的设计方法。在变换法中,文献[6]提出线性估算的方法使SMC降低了55%,但引入了较大的译码性能损失。在反向重算中,文献[7]通过保存部分状态度量去计算出其他状态度量,误码率与Log-MAP算法接近,SMC容量降低了50%,但是存储容量降低得还不够。因此仅用变换法的设计,虽然SMC容量很小,但译码性能差;而反向重算方法的硬件开销和功耗需求还可进一步降低。
基于以上问题,为降低存储容量达到低功耗并保证Turbo码译码性能的要求,本文以LTE-Advance标准中的Turbo码作为研究对象,提出一种对前向状态度量进行线性估算和反向重算的设计方案。在每个译码时刻只存储1个前向状态度量和3个增量值,当需要使用前向状态度量时,利用线性估算和反向重算的算法恢复出8个前向状态度量,使得本文所提出的方案在SMC容量较低时,误码率(Bit Error Rate,BER)和误包率(Packet Error Rate,PER)性能与Log-MAP算法基本接近,与传统译码器结构相比功耗较低。
1 低存储容量译码器结构设计与实现
1.1 低存储容量译码器结构实现原理
1.2 低存储容量译码器结构设计的FPGA实现
对于增量计算模块的硬件实现,使用简单的反向、选择和加法操作就能够完成,增量计算模块的FPGA实现如图2所示。在完成对前向状态度量的增量值计算后,存放在LIFO SMC中,使得在反向重算的同时,从LIFO SMC模块中读出前向状态度量值Ak(s1,k)及增量值Im(k),m∈{1,2,3},然后利用式(4)进行前向状态度量值,j2∈{1,3,4,6}的恢复计算,其硬件实现过程就是增量计算模块的逆过程。根据式(2)可知,反向重算的过程是通过一个多路选择单元、一个比较控制单元以及两个最小值单元将未存储的前向状态度量重新计算出来,其硬件实现如图3所示。
2 性能分析和功耗估算结果
2.1 SMC容量比较
在本文中,状态度量采用(10,3)的二进制量化方案[7],增量值量化为(6,3)。为了便于分析,本文选择以文献[6]-[7]所研究的线性估算和反向重算的译码器结构设计方案以及经典的设计方案作为比较对象,列出了这4种设计方案下译码器的SMC容量比较结果,如表1所示。其中N表示编码长度,占用率表示不同的译码设计方案与经典设计方案对SMC的使用量的比较。经表格中的数据分析可知,本文所设计的方案不需要过多地将状态度量存储在SMC中,每个译码时刻,只存储1个前向状态度量值和3个增量值在SMC中,使用SMC的容量降低了65%。
2.2 BER和PER对比
在仿真实现中,为证实本方案的有效性,根据LTE-Advanced的标准构造了码率为1/3的Turbo编码序列,分别研究了已有的4种译码算法与本文提出的算法在不同帧长情况下的BER和PER性能比较,结果如图4和图5所示。本文采取并行的译码结构,分组译码长度L=40,在MATLAB仿真中,采用二进制相移键控的调制方式,以加性高斯白噪声信道作为仿真信道,迭代次数设定为8;为改善译码性能,外信息乘上一个度量因子λ[7],取值λ=0.8。
从图4中可以看出,本文提出的算法的BER性能是优于线性估算算法,并且在帧长为800、BER=10-4时,本文提出的算法距离Log-MAP译码算法约0.018 dB的编码增益损失。因此本文提出的算法在保证SMC容量较小的同时BER性能也较好。由图5可知,线性估算的PER性能曲线距离Max-Log-MAP译码算法接近,所以线性估算在保证BER性能较好的时候并不能保证PER的性能;值得注意的是,在帧长为800,信噪比大于1.2 dB时,译码比特的误包率能够达到10-4。因此,本文提出的算法可以提高数据传输的可靠性,可应用于高性能低功耗无线通信中[8]。
2.3 功耗测试
按照图1中设计的结构框图,在Quartus Ⅱ13.1平台中,以Altera公司的Cyclone IV系列的EP4CE75F23C8作为目标器件,使用Verilog硬件描述语言(Hardware Description Language,HDL)对译码器各个功能模块进行编程实现,并在Quartus Ⅱ中的Modelsim实现了仿真和综合,完成LTE-Advance标准中的Turbo码译码器FPGA设计,同时分析了整个译码器结构的硬件资源使用情况和功耗,采用PowerPlay Early Power Estimator进行功耗测试。
通过译码器结构的仿真全编译报告提取出4种译码结构方案的逻辑单元、寄存器和总的内存量使用情况,如表2所示。对于总的内存量的使用情况,反向重算、线性估算和本文提出的算法能将译码器结构总的内存量的使用分别降低27.4%、34.24%和35.62%。因此,本文提出的译码器结构设计方案通过降低SMC容量使得译码器结构的硬件资源更节省。
已有的文献[6]表明,RAM模块的功耗对总功耗的影响较大。因此在功耗测试的各模块中,将本文提出的译码器结构的RAM模块功耗和总功耗分别与传统方法、反向重算以及线性估算的译码器结构进行了对比,结果如图6~图8所示。图6是本文设计的译码器结构与传统的译码器结构分别在25 MHz、50 MHz、75 MHz、100 MHz、125 MHz频率下RAM模块功耗和总功耗比较,RAM模块部分的功耗在不同频率下均下降50%左右;总功耗相应地下降了4.97%、8.78%、11.93%、14.18%、14.65%。因此,通过减少对状态度量的存储使SMC容量降低,进而功耗得到有效降低。
图7和图8是本文设计的译码器结构与反向重算和线性估算方案的译码器结构分别在不同频率下RAM模块功耗和总功耗的比较。由图7可知,RAM模块功耗和总功耗随着频率的增加而增大,功耗下降率也随之增加,并且本文设计的译码器结构的总功耗低于反向重算方案。图8表明,与已有存储容量最低的线性估算相比较[6],在不同频率下功耗也有不同程度的降低;其中在125 MHz的频率约束下,RAM模块功耗降低了28%,总功耗降低了6.34%。
3 结论
通过减少SMC容量使得功耗降低并保证译码性能是Turbo码类译码器结构设计的重要方法。研究结果表明,本文以引入低复杂度的计算量来减小对前向状态度量存储,虽然在硬件的消耗中逻辑单元和寄存器的使用量有较小的增加,但存储容量降低了65%,BER和PER性能与Log-MAP算法接近。与此同时,在125 MHz频率下,动态的存储容量功耗较传统下降约50%,总功耗降低14.65%。
参考文献
[1] BERROU C,GLAVIEUX A,THITIMAISHIMA P.Near shannon limit error-correcting coding and decoding:turbocodes[C].IEEE International Conference on Communications.IEEE,1993:1064-1070.
[2] 3GPP TS 36.212 v9.2.0,3rd Generation partnership project:multiplexing and channel coding(Release 9)[S].2010.
[3] 3GPP TS 36.212 v11.3.0,3rd Generation partnership project:multiplexing and channel coding(Release 11)[S].2013.
[4] 陈发堂,刘一帆,唐成.一种用于5G IOT通信的能量效率方案[J].电子技术应用,2017,43(11):2-6,26.
[5] 李贵勇,舒强,李文彬.基于NB-IoT系统的eDRX的分析与研究[J].电子技术应用,2018,44(8):98-101.
[6] ZENG J,ZHAN M,SHI Y Q.FPGA implementation of a power-efficient and low-memory capacity turbo decoding architecture[C].15th Annual IEEE International Conference on Sensing,Communication,and Networking.IEEE,2018:1-3.
[7] 詹明,文红,伍军.LTE-Advanced标准中一种基于反向重算的低存储容量Turbo码译码器结构设计[J].电子学报,2017,45(7):1584-1592.
[8] ZHAN M,PANG Z,XIAO M,et al.Wireless high-performance communications:improving effectiveness and creating ultrahigh reliability with channel coding[J].IEEE Industrial Electronics Magazine,2018,12(3):32-37.
作者信息:
曾 洁,詹 明,罗小红,杨 超,邓 熠,王 梦
(西南大学 电子信息工程学院,重庆400715)