一种合并状态度量计算的高效并行Turbo码译码器结构设计及FPGA实现

2022-03-02 08:28张茜詹明章坚武王富龙冯云开唐浩
电信科学 2022年2期
关键词:译码器译码度量

张茜,詹明,章坚武,王富龙,冯云开,唐浩

研究与开发

一种合并状态度量计算的高效并行Turbo码译码器结构设计及FPGA实现

张茜1,詹明1,章坚武2,王富龙1,冯云开1,唐浩1

(1. 西南大学,重庆 400715;2. 杭州电子科技大学,浙江 杭州 310018)

为满足无线通信中高吞吐、低功耗的要求,并行译码器的结构设计得到了广泛的关注。基于并行Turbo码译码算法,研究了前后向度量计算中的对称性,提出了一种基于前后向合并计算的高效并行Turbo码译码器结构设计方案,并进行现场可编程门阵列(field-programmable gate array,FPGA)实现。结果表明,与已有的并行Turbo码译码器结构相比,本文提出的设计结构使状态度量计算模块的逻辑资源降低50%左右,动态功耗在125 MHz频率下降低5.26%,同时译码性能与并行算法的译码性能接近。

状态度量合并计算;Turbo码;FPGA实现;并行算法

0 引言

在无线通信系统中,信道编码技术十分重要,主要用于纠正信息传输过程中出现的错误。Turbo码作为先进的迭代信道编码之一,译码性能逼近香农极限[1-2],所以在各个领域广泛应用,尤其是工业物联网中[3-5]。无线通信系统中因为能量受限、译码算法迭代的依赖性和吞吐量的提高成为瓶颈,同时,工业物联网中Turbo码译码器的资源占用亦是待解决问题。因此,一种降低硬件资源且解决迭代译码算法实现高吞吐量Turbo码译码器结构成为研究的重点。有关Turbo码译码器设计的研究中,译码主要采用最大后验概率(maximum a posteriori probability,MAP)算法[6-7],通过交换软信息并且迭代译码的方式获得较好的误码率(bit error rate,BER)性能[8]。但是受限于Turbo码的迭代译码算法MAP算法的复杂性,对数域最大后验概率(maximum a posteriori probability in logarithmic domain,Log-MAP)算法成为主要的实现算法。由于Log-MAP算法中对数据的依赖性太强,导致算法在处理时需要依次处理每个信息位中的数据,因此,译码速率有所限制[9-10]。

随着电子技术的发展,硬件水平不断提高,并行译码器的高吞吐量结构设计所需要的资源是能够承载的,所以研究人员提出了增强Turbo译码并行性的方法,以此提高Log-MAP算法译码器的译码速率和吞吐量[11-14]。文献[12]提出使吞吐量更高、译码速率更快、适用性更广的浮点型全并行译码(fully-parallel Turbo decoder,FPTD)算法。因为每次译码迭代时没有数据依赖,所以FPTD译码算法有利于实现并行处理,但是要达到目前最先进Turbo码译码算法的纠错能力,需要7倍的迭代次数才能实现[12]。文献[13]将FPTD译码算法应用到专用集成电路(application specific integrated circuit,ASIC)中,吞吐量提高到21.9 Gbit/s,然而随着全并行译码的计算复杂度的攀升,资源占用量变大,大量的比特位数据需要计算。文献[14]设计了一种新的定点型并行译码方案,并将定点型译码器结构在现场可编程门阵列(field-programmable gate array,FPGA)上实现,消息位占用的硬件资源减少了50%。虽然文献[14]中译码器的吞吐量、译码速率以及复用性都很强,但译码器在硬件上占用的资源和电路面积相对其他译码器结构设计仍然较大[15-16],本文研究表明并行译码器还能进一步降低硬件资源的使用。

1 并行译码器结构基本原理

图1 并行译码器结构

2 合并状态度量实现原理

由上文论述和图1可知,并行译码算法的计算复杂度主要体现在单个算法块当中,因此,为了减少计算复杂度,进一步减少并行译码器中所占用的资源,在每个算法块中将会对前向状态度量和后向状态度量的递归计算进行合并研究。根据式(2)和式(3)的状态度量计算,可以分析出递归计算与网格图相关。

图2 LTE-Advanced标准下的Turbo码网格图分解

图3 前向状态度量和后向状态度量的递推关系

在实际的操作过程中可以发现,首先在短途传输网络的过程中,传输经常会受到一些外来因素的影响,从而对传输信号造成一定的干扰。这种干扰的本质通常是来源于一些乡村或者乡镇中传输载体的质量较为劣质所导致的。对于传输速度而言,其传输的效率是否快速,与信息传输的载体有着直接关系。所以在这种由传输载体所导致的传输速度下降的情况中,应该尽快得到解决。相关的信息技术人员应该加强对城乡的通讯信息传输问题的重视,并且对一些农村和乡镇中的基础传输网络设施进行更新和改革,并且尽可能的加强其传输容量。

因为网格图的3个状态取值分为4个基本单元,同时每个基本单元的前向状态度量和后向状态度量的计算具有对称性,所以在译码该时刻的前向状态度量值的同时可以逆向计算该时刻的后向状态度量值。前后向状态度量合并后的Turbo码网格图如图4所示,图4中黑线代表前向状态度量递归的方向,灰线代表后向状态度量递归的方向。在并行译码的过程中,本文将运用图4中合并网格图的方式分为4个基本单元计算前向状态度量值和后向状态度量值。并行译码器中的算法块得到上一时刻的前向状态度量值和下一时刻的后向状态度量值,然后将这两个值按照递推的关系在每个算法块中同时进行计算,这样在并行译码时,则每个算法块中的递归计算能进行合并。

图4 前后向状态度量合并后的Turbo码网格图

因为图4中4个基本单元的计算方式一致,所以本文针对其中的一个基本单元进行详细分析,基本单元合并计算结构如图5所示,其中,黑实线表示前向状态度量的方向,灰虚线表示后向状态度量的方向。

图5 基本单元合并计算结构

低资源需求的并行译码器结构设计框图比较如图6所示。基于第1节以及合并计算的策略,图6(b)给出了本文提出的并行译码器结构设计方案中的合并模块,与图6(a)中并行译码器相比,本文的设计方案节省了大量的逻辑资源,进而影响译码器的整体功耗。该合并计算的结构设计相比已有的结构设计,不同之处在于并行译码器中每个时刻的8个前向状态度量和8个后向状态度量的计算分为4个部分,前向、后向的状态度量以及分支度量合并为一个循环进行计算。

3 高效并行译码器结构设计的FPGA实现

基于对上述并行译码算法的分析,对Turbo码译码器的整体进行FPGA实现,本文方案的并行译码器FPGA结构如图7所示,译码器模块的两个虚线框表示上层和下层软输入软输出(soft in and soft out,SISO)的译码,中间通过交织器和解交织器实现奇数、偶数索引的衔接。控制模块对迭代次数、输入输出以及上层下层译码进行控制。图1与图7的不同之处在于单个算法块中的前后向状态度量计算是否被合并,图1算法块内的前向和后向递归计算分为两个模块单独计算,而图7的前向后向递归计算合并在一个模块中计算,并分为4个相同的单元同步计算。

图6 低资源需求的并行译码器结构设计框图比较

图8 状态度量合并计算的FPGA实现结构

4 功耗估算和性能分析

4.1 资源占用比较

表1 度量值量化方案

表2 状态度量计算模块的资源使用情况比较

4.2 功耗分析

本文提出的合并状态度量计算的设计方案最大目的是降低Turbo码译码器的整体资源占用和功耗。按照上文中对合并状态度量的并行译码器结构框图的设计,将提出的译码器结构通过Modelsim验证,然后采用PowerPlay Early Power Estimator测试平台对并行译码器结构中单个算法块的状态度量计算模块功耗进行测试。

通过对并行译码器结构中的单个算法块进行分析,单个算法块的功耗主要是由状态度量的计算所占用的资源决定的,因此在测试时,本文只测试并比较了状态度量计算模块的部分。硬件模块的功耗主要由逻辑计算、RAM存储、I/O输入输出,时钟信号和静态功耗组成。静态功耗固定为0.127 W。

由于在相同目标器件下,本文将对比各模块中的动态功耗,即逻辑、RAM、I/O和时钟方面的消耗。因为并行译码器不消耗存储容量,所以RAM方面功耗为0,不同频率下I/O和时钟方面的合并状态度量计算模块的功耗对比如图9所示。文献[22]表明,逻辑计算的占用对状态度量计算模块的功耗影响较大。因此在功耗测试中,将本文提出的合并状态度量计算模块的逻辑功耗和该模块的功耗分别与已有的并行译码器结构的状态度量计算模块进行了对比,不同频率下与已有并行结构的状态度量计算模块功耗比较如图10所示。

图9 不同频率下I/O和时钟方面的合并状态度量计算模块的功耗对比

图10 不同频率下与已有并行结构的状态度量计算模块功耗比较

在不失通用性的前提下,FPGA实现的时钟频率分别设置为25 MHz、50 MHz、75 MHz、100 MHz和125 MHz进行对比。前后向的逻辑计算合并后,逻辑计算的功耗在不同频率下最大降低50%左右;由于逻辑计算的功耗降低从而导致单个算法块中状态度量计算模块的功耗在125 MHz下降低5.26%,同时在25 MHz、50 MHz、75 MHz、100 MHz、125 MHz频率约束下状态度量计算模块功耗分别从201 mW降到199 mW、266 mW降到258 mW、328 mW降到317 mW、391 mW降到377 mW、460 mW降到437 mW。对于状态度量计算模块来说,功耗测试结果表明逻辑计算功耗随着频率的增加而不断增大,功耗下降率也随之增加,并且本文设计的译码器结构的状态度量计算模块功耗低于已有的并行译码器结构设计方案中的状态度量计算模块。虽然本文所设计的译码器中单个算法块的资源占用和功耗方面相较有所下降,但是本文所设计的译码器的复用性相较于已有的并行译码器会有所减弱,同时由于芯片使用型号不同,在模拟仿真过程中传输帧的时间以及读写数据的处理时间上会比已有的译码器长一些。

4.3 BER性能仿真

图11 帧长440 bit的不同迭代次数的BER性能比较

图12 帧长1 024 bit的不同迭代次数的BER性能比较

由图12可知,在信噪比相同的情况下,帧长越长译码算法的性能越优。同时在图11和图12中对同一帧长下不同迭代次数的BER性能进行比较,可以证明并行译码能够更好地应用于较长的帧长和迭代次数较多的情况,所以在实际情况下对于帧长和迭代次数的选择要做出合理考虑。因此,本文提出的算法不仅减少了数据传输过程中重复的消耗,还提高了数据传输的可靠性,可应用于高吞吐低功耗无线通信中。

综合以上分析,基于合并状态度量计算的并行译码器结构设计方案,较已有的并行译码器设计方案的结构更为简单,引入的逻辑资源占用更少,硬件的功耗更少。以BER性能、计算速率和功率消耗为考查指标,本文基于状态度量合并的译码器结构设计方案,具有明显的总体优势。

5 结束语

[1] 田甜, 薛鸿民, 邓志龙. Turbo码在短波通信系统中的应用研究[J]. 科技资讯, 2020, 18(24): 49-51, 63.

TIAN T, XUE H M, DENG Z L. Application research of turbo code in short wave communication system[J]. Science & Technology Information, 2020, 18(24): 49-51, 63.

[2] 郭臣, 付高原, 杨茂辉. 基于FPGA的Turbo码数据传输系统的实现[J]. 电子测量技术, 2017, 40(10): 221-225.

GUO C, FU G Y, YANG M H. Implementation of Turbo codes data transmission system on the basis of FPGA[J]. Electronic Measurement Technology, 2017, 40(10): 221-225.

[3] FIGUEIREDO F A P, MATHILDE F, CARRILLO D, et al. A framework for the automation of LTE physical layer tests[J]. Wireless Personal Communications, 2018, 102(1): 293-307.

[4] 陈发堂, 刘一帆, 唐成. 一种用于5G IOT通信的能量效率方案[J]. 电子技术应用, 2017, 43(11): 2-6, 26.

CHEN F T, LIU Y F, TANG C. An energy-efficient scheme for 5G Internet of Things[J]. Application of Electronic Technique, 2017, 43(11): 2-6, 26.

[5] 3GPP. Multiplexing and channel coding (Release 11): TS 36.212 v11.3.0 [S]. 2013.

[6] 詹明, 文红, 伍军. LTE-Advanced标准中一种基于反向重算的低存储容量Turbo码译码器结构设计[J]. 电子学报, 2017, 45(7): 1584-1592.

ZHAN M, WEN H, WU J. A memory reduced turbo code decoding architecture for LTE-Advanced standard based on reverse recalculation[J]. Acta Electronica Sinica, 2017, 45(7): 1584-1592.

[7] LI Y, XU B J, MA L, et al. High-throughput error correction for continuous-variable quantum key distribution systems based on shuffled iterative decoding[C]//Proceedings of SPIE/COS Photonics Asia. Proc SPIE 11558, Quantum and Nonlinear Optics VII, Online Only. [S.l.:s.n.], 2020, 11558: 77-82.

[8] YOO I, KIM B, PARK I C. Tail-overlapped SISO decoding for high-throughput LTE-advanced turbo decoders[J]. IEEE Transactions on Circuits and Systems I: Regular Papers, 2014, 61(9): 2711-2720.

[9] LIN J S, SHIEH M D, LIU C Y, et al. Efficient highly-parallel turbo decoder for 3GPP LTE-Advanced[J]. VLSI Design, Automation and Test (VLSI-DAT), 2015: 1-4.

[10] PARVATHY M, GANESAN R. Throughput enhancement of SISO parallel LTE turbo decoders using floating point turbo decoding algorithm[J]. International Journal of Wireless and Mobile Computing, 2018, 15(1): 58.

[11] GONZALEZ-PEREZ L F, YLLESCAS-CALDERON L C, PARRA-MICHEL R. Parallel and configurable turbo decoder implementation for 3GPP-LTE[C]//Proceedings of 2013 International Conference on Reconfigurable Computing and FPGAs (ReConFig). Piscataway: IEEE Press, 2013: 1-6.

[12] MAUNDER R G. A fully-parallel turbo decoding algorithm[J]. IEEE Transactions on Communications, 2015, 63(8): 2762-2775.

[13] LI A, XIANG L P, CHEN T H, et al. VLSI implementation of fully parallel LTE turbo decoders[J]. IEEE Access, 2016, 4: 323-346.

[14] LI A, HAILES P, MAUNDER R G, et al. 1.5 Gbit/s FPGA implementation of a fully-parallel turbo decoder designed for mission-critical machine-type communication applications[J]. IEEE Access, 2016(4): 5452-5473.

[15] TRAN M T, GAUTIER M, CASSEAU E. On the FPGA-based implementation of a flexible waveform from a high-level description: application to LTE FFT case study[C]//Proceedings of Cognitive Radio Oriented Wireless Networks. [S.l.:s.n.], 2016.

[16] MURUGAPPA P, BAZIN J N, BAGHDADI A, et al. FPGA prototyping and performance evaluation of multi-standard Turbo/LDPC Encoding and Decoding[C]//Proceedings of 2012 23rd IEEE International Symposium on Rapid System Prototyping. Piscataway: IEEE Press, 2012: 143-148.

[17] 孙增友, 李欢欢, 王蒙, 等. 采用近似max*运算的Log-MAP译码算法[J]. 计算机应用与软件, 2016, 33(3): 255-258.

SUN Z Y, LI H H, WANG M, et al. Log-map decoding algorithm using approximate max*operation[J]. Computer Applications and Software, 2016, 33(3): 255-258.

[18] 付婉, 杨茂辉, 胡明亮, 等. Turbo码译码算法理论推导及误码性能分析[J]. 电子测量技术, 2018, 41(11): 10-14.

FU W, YANG M H, HU M L, et al. Theoretical derivation and error performance analysis of Turbo decoding algorithm[J]. Electronic Measurement Technology, 2018, 41(11): 10-14.

[19] SYBIS M. Chebyshev inequality based max* approximation for reduced complexity decoding of turbo TCM[C]//Proceedings of 2010 6th International Symposium on Turbo Codes & Iterative Information Processing. Piscataway: IEEE Press, 2010: 265-269.

[20] MISHRA S, SHUKLA H, MADHEKAR S. Implementation of Turbo decoder using MAX-LOGMAP algorithm in VHDL[C]//Proceedings of 2015 Annual IEEE India Conference. Piscataway: IEEE Press, 2015: 1-6.

[21] GAO Z, ZHANG L L, YAN T, et al. Design of SEU-tolerant turbo decoders implemented on SRAM-FPGAs[J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2020, 28(12): 2563-2572.

[22] ZHAN M, PANG Z B, YU K, et al. Reverse calculation-based low memory turbo decoder for power constrained applications[J]. IEEE Transactions on Circuits and Systems I: Regular Papers, 2021, 68(6): 2688-2701.

Design and FPGA implementation of an efficient parallel Turbo decoder for combining state metric calculations

ZHANG Qian1, ZHAN Ming1, ZHANG Jianwu2, WANG Fulong1, FENG Yunkai1, TANG Hao1

1. SouthwestUniversity, Chongqing 400715, China 2. Hangzhou Dianzi University, Hangzhou 310018, China

In order to achieve the requirement of high throughput and low-power in wireless communication, a parallel Turbo decoder has attracted extensive attention. By analyzing the calculating of the state metrics, a low-resource parallel Turbo decoder architecture scheme based on merging the forward and backward state metrics calculation modules was proposed, and effectiveness of the new architecture was demonstrated through field-programmable gate array (FPGA) hardware realization. The results show that, compared with the existing parallel Turbo decoder architectures, the proposed design architecture reduces the logic resource of state metrics calculation module about 50%, while the dynamic power dissipation of the decoder architecture is decreased by 5.26% at the frequency of 125 MHz. Meanwhile the decoding algorithm is close to the decoding performance of the parallel algorithm.

state measure merge calculation, Turbo code, FPGA implementation, parallel algorithm

TN929

A

10.11959/j.issn.1000-0801.2022023

2021−09−30;

2022−01−28

詹明,zmdjs@swu.edu.cn;章坚武,jwzhang@hdu.edu.cn

国家自然科学基金资助项目(No.61671390)

The National Natural Science Foundation of China (No.61671390)

张茜(1996−),女,西南大学硕士生,主要研究方向为信号与信息处理。

詹明(1975−),男,博士,西南大学学院教授、博士生导师,中国电子学会会员,主要研究方向为信道编码理论与技术、无线传感器网络、超高性能工业无线控制。

章坚武(1961−),男,博士,杭州电子科技大学教授、博士生导师,中国电子学会高级会员,浙江省通信学会常务理事,主要研究方向为移动通信、多媒体信号处理与人工智能、通信网络与信息安全。

王富龙(1995−),男,西南大学硕士生,主要研究方向为信号与信息处理。

冯云开(1995−),男,西南大学硕士生,主要研究方向为信号与信息处理。

唐浩(1996−),男,西南大学硕士生,主要研究方向为信号与信息处理。

猜你喜欢
译码器译码度量
极化码自适应信道译码算法
鲍文慧《度量空间之一》
基于扩大候选码元范围的非二元LDPC加权迭代硬可靠度译码算法
分段CRC 辅助极化码SCL 比特翻转译码算法
基于校正搜索宽度的极化码译码算法研究
代数群上由模糊(拟)伪度量诱导的拓扑
突出知识本质 关注知识结构提升思维能力
度 量
编码器和译码器综合实现数字显示
跟踪导练(一)5