張茜,詹明,章堅武,王富龍,馮云開,唐浩
研究與開發(fā)
一種合并狀態(tài)度量計算的高效并行Turbo碼譯碼器結(jié)構(gòu)設(shè)計及FPGA實現(xiàn)
張茜1,詹明1,章堅武2,王富龍1,馮云開1,唐浩1
(1. 西南大學(xué),重慶 400715;2. 杭州電子科技大學(xué),浙江 杭州 310018)
為滿足無線通信中高吞吐、低功耗的要求,并行譯碼器的結(jié)構(gòu)設(shè)計得到了廣泛的關(guān)注?;诓⑿蠺urbo碼譯碼算法,研究了前后向度量計算中的對稱性,提出了一種基于前后向合并計算的高效并行Turbo碼譯碼器結(jié)構(gòu)設(shè)計方案,并進(jìn)行現(xiàn)場可編程門陣列(field-programmable gate array,F(xiàn)PGA)實現(xiàn)。結(jié)果表明,與已有的并行Turbo碼譯碼器結(jié)構(gòu)相比,本文提出的設(shè)計結(jié)構(gòu)使?fàn)顟B(tài)度量計算模塊的邏輯資源降低50%左右,動態(tài)功耗在125 MHz頻率下降低5.26%,同時譯碼性能與并行算法的譯碼性能接近。
狀態(tài)度量合并計算;Turbo碼;FPGA實現(xiàn);并行算法
在無線通信系統(tǒng)中,信道編碼技術(shù)十分重要,主要用于糾正信息傳輸過程中出現(xiàn)的錯誤。Turbo碼作為先進(jìn)的迭代信道編碼之一,譯碼性能逼近香農(nóng)極限[1-2],所以在各個領(lǐng)域廣泛應(yīng)用,尤其是工業(yè)物聯(lián)網(wǎng)中[3-5]。無線通信系統(tǒng)中因為能量受限、譯碼算法迭代的依賴性和吞吐量的提高成為瓶頸,同時,工業(yè)物聯(lián)網(wǎng)中Turbo碼譯碼器的資源占用亦是待解決問題。因此,一種降低硬件資源且解決迭代譯碼算法實現(xiàn)高吞吐量Turbo碼譯碼器結(jié)構(gòu)成為研究的重點。有關(guān)Turbo碼譯碼器設(shè)計的研究中,譯碼主要采用最大后驗概率(maximum a posteriori probability,MAP)算法[6-7],通過交換軟信息并且迭代譯碼的方式獲得較好的誤碼率(bit error rate,BER)性能[8]。但是受限于Turbo碼的迭代譯碼算法MAP算法的復(fù)雜性,對數(shù)域最大后驗概率(maximum a posteriori probability in logarithmic domain,Log-MAP)算法成為主要的實現(xiàn)算法。由于Log-MAP算法中對數(shù)據(jù)的依賴性太強,導(dǎo)致算法在處理時需要依次處理每個信息位中的數(shù)據(jù),因此,譯碼速率有所限制[9-10]。
隨著電子技術(shù)的發(fā)展,硬件水平不斷提高,并行譯碼器的高吞吐量結(jié)構(gòu)設(shè)計所需要的資源是能夠承載的,所以研究人員提出了增強Turbo譯碼并行性的方法,以此提高Log-MAP算法譯碼器的譯碼速率和吞吐量[11-14]。文獻(xiàn)[12]提出使吞吐量更高、譯碼速率更快、適用性更廣的浮點型全并行譯碼(fully-parallel Turbo decoder,F(xiàn)PTD)算法。因為每次譯碼迭代時沒有數(shù)據(jù)依賴,所以FPTD譯碼算法有利于實現(xiàn)并行處理,但是要達(dá)到目前最先進(jìn)Turbo碼譯碼算法的糾錯能力,需要7倍的迭代次數(shù)才能實現(xiàn)[12]。文獻(xiàn)[13]將FPTD譯碼算法應(yīng)用到專用集成電路(application specific integrated circuit,ASIC)中,吞吐量提高到21.9 Gbit/s,然而隨著全并行譯碼的計算復(fù)雜度的攀升,資源占用量變大,大量的比特位數(shù)據(jù)需要計算。文獻(xiàn)[14]設(shè)計了一種新的定點型并行譯碼方案,并將定點型譯碼器結(jié)構(gòu)在現(xiàn)場可編程門陣列(field-programmable gate array,F(xiàn)PGA)上實現(xiàn),消息位占用的硬件資源減少了50%。雖然文獻(xiàn)[14]中譯碼器的吞吐量、譯碼速率以及復(fù)用性都很強,但譯碼器在硬件上占用的資源和電路面積相對其他譯碼器結(jié)構(gòu)設(shè)計仍然較大[15-16],本文研究表明并行譯碼器還能進(jìn)一步降低硬件資源的使用。
圖1 并行譯碼器結(jié)構(gòu)
由上文論述和圖1可知,并行譯碼算法的計算復(fù)雜度主要體現(xiàn)在單個算法塊當(dāng)中,因此,為了減少計算復(fù)雜度,進(jìn)一步減少并行譯碼器中所占用的資源,在每個算法塊中將會對前向狀態(tài)度量和后向狀態(tài)度量的遞歸計算進(jìn)行合并研究。根據(jù)式(2)和式(3)的狀態(tài)度量計算,可以分析出遞歸計算與網(wǎng)格圖相關(guān)。
圖2 LTE-Advanced標(biāo)準(zhǔn)下的Turbo碼網(wǎng)格圖分解
圖3 前向狀態(tài)度量和后向狀態(tài)度量的遞推關(guān)系
在實際的操作過程中可以發(fā)現(xiàn),首先在短途傳輸網(wǎng)絡(luò)的過程中,傳輸經(jīng)常會受到一些外來因素的影響,從而對傳輸信號造成一定的干擾。這種干擾的本質(zhì)通常是來源于一些鄉(xiāng)村或者鄉(xiāng)鎮(zhèn)中傳輸載體的質(zhì)量較為劣質(zhì)所導(dǎo)致的。對于傳輸速度而言,其傳輸?shù)男适欠窨焖伲c信息傳輸?shù)妮d體有著直接關(guān)系。所以在這種由傳輸載體所導(dǎo)致的傳輸速度下降的情況中,應(yīng)該盡快得到解決。相關(guān)的信息技術(shù)人員應(yīng)該加強對城鄉(xiāng)的通訊信息傳輸問題的重視,并且對一些農(nóng)村和鄉(xiāng)鎮(zhèn)中的基礎(chǔ)傳輸網(wǎng)絡(luò)設(shè)施進(jìn)行更新和改革,并且盡可能的加強其傳輸容量。
因為網(wǎng)格圖的3個狀態(tài)取值分為4個基本單元,同時每個基本單元的前向狀態(tài)度量和后向狀態(tài)度量的計算具有對稱性,所以在譯碼該時刻的前向狀態(tài)度量值的同時可以逆向計算該時刻的后向狀態(tài)度量值。前后向狀態(tài)度量合并后的Turbo碼網(wǎng)格圖如圖4所示,圖4中黑線代表前向狀態(tài)度量遞歸的方向,灰線代表后向狀態(tài)度量遞歸的方向。在并行譯碼的過程中,本文將運用圖4中合并網(wǎng)格圖的方式分為4個基本單元計算前向狀態(tài)度量值和后向狀態(tài)度量值。并行譯碼器中的算法塊得到上一時刻的前向狀態(tài)度量值和下一時刻的后向狀態(tài)度量值,然后將這兩個值按照遞推的關(guān)系在每個算法塊中同時進(jìn)行計算,這樣在并行譯碼時,則每個算法塊中的遞歸計算能進(jìn)行合并。
圖4 前后向狀態(tài)度量合并后的Turbo碼網(wǎng)格圖
因為圖4中4個基本單元的計算方式一致,所以本文針對其中的一個基本單元進(jìn)行詳細(xì)分析,基本單元合并計算結(jié)構(gòu)如圖5所示,其中,黑實線表示前向狀態(tài)度量的方向,灰虛線表示后向狀態(tài)度量的方向。
圖5 基本單元合并計算結(jié)構(gòu)
低資源需求的并行譯碼器結(jié)構(gòu)設(shè)計框圖比較如圖6所示。基于第1節(jié)以及合并計算的策略,圖6(b)給出了本文提出的并行譯碼器結(jié)構(gòu)設(shè)計方案中的合并模塊,與圖6(a)中并行譯碼器相比,本文的設(shè)計方案節(jié)省了大量的邏輯資源,進(jìn)而影響譯碼器的整體功耗。該合并計算的結(jié)構(gòu)設(shè)計相比已有的結(jié)構(gòu)設(shè)計,不同之處在于并行譯碼器中每個時刻的8個前向狀態(tài)度量和8個后向狀態(tài)度量的計算分為4個部分,前向、后向的狀態(tài)度量以及分支度量合并為一個循環(huán)進(jìn)行計算。
基于對上述并行譯碼算法的分析,對Turbo碼譯碼器的整體進(jìn)行FPGA實現(xiàn),本文方案的并行譯碼器FPGA結(jié)構(gòu)如圖7所示,譯碼器模塊的兩個虛線框表示上層和下層軟輸入軟輸出(soft in and soft out,SISO)的譯碼,中間通過交織器和解交織器實現(xiàn)奇數(shù)、偶數(shù)索引的銜接。控制模塊對迭代次數(shù)、輸入輸出以及上層下層譯碼進(jìn)行控制。圖1與圖7的不同之處在于單個算法塊中的前后向狀態(tài)度量計算是否被合并,圖1算法塊內(nèi)的前向和后向遞歸計算分為兩個模塊單獨計算,而圖7的前向后向遞歸計算合并在一個模塊中計算,并分為4個相同的單元同步計算。
圖6 低資源需求的并行譯碼器結(jié)構(gòu)設(shè)計框圖比較
圖8 狀態(tài)度量合并計算的FPGA實現(xiàn)結(jié)構(gòu)
表1 度量值量化方案
表2 狀態(tài)度量計算模塊的資源使用情況比較
本文提出的合并狀態(tài)度量計算的設(shè)計方案最大目的是降低Turbo碼譯碼器的整體資源占用和功耗。按照上文中對合并狀態(tài)度量的并行譯碼器結(jié)構(gòu)框圖的設(shè)計,將提出的譯碼器結(jié)構(gòu)通過Modelsim驗證,然后采用PowerPlay Early Power Estimator測試平臺對并行譯碼器結(jié)構(gòu)中單個算法塊的狀態(tài)度量計算模塊功耗進(jìn)行測試。
通過對并行譯碼器結(jié)構(gòu)中的單個算法塊進(jìn)行分析,單個算法塊的功耗主要是由狀態(tài)度量的計算所占用的資源決定的,因此在測試時,本文只測試并比較了狀態(tài)度量計算模塊的部分。硬件模塊的功耗主要由邏輯計算、RAM存儲、I/O輸入輸出,時鐘信號和靜態(tài)功耗組成。靜態(tài)功耗固定為0.127 W。
由于在相同目標(biāo)器件下,本文將對比各模塊中的動態(tài)功耗,即邏輯、RAM、I/O和時鐘方面的消耗。因為并行譯碼器不消耗存儲容量,所以RAM方面功耗為0,不同頻率下I/O和時鐘方面的合并狀態(tài)度量計算模塊的功耗對比如圖9所示。文獻(xiàn)[22]表明,邏輯計算的占用對狀態(tài)度量計算模塊的功耗影響較大。因此在功耗測試中,將本文提出的合并狀態(tài)度量計算模塊的邏輯功耗和該模塊的功耗分別與已有的并行譯碼器結(jié)構(gòu)的狀態(tài)度量計算模塊進(jìn)行了對比,不同頻率下與已有并行結(jié)構(gòu)的狀態(tài)度量計算模塊功耗比較如圖10所示。
圖9 不同頻率下I/O和時鐘方面的合并狀態(tài)度量計算模塊的功耗對比
圖10 不同頻率下與已有并行結(jié)構(gòu)的狀態(tài)度量計算模塊功耗比較
在不失通用性的前提下,F(xiàn)PGA實現(xiàn)的時鐘頻率分別設(shè)置為25 MHz、50 MHz、75 MHz、100 MHz和125 MHz進(jìn)行對比。前后向的邏輯計算合并后,邏輯計算的功耗在不同頻率下最大降低50%左右;由于邏輯計算的功耗降低從而導(dǎo)致單個算法塊中狀態(tài)度量計算模塊的功耗在125 MHz下降低5.26%,同時在25 MHz、50 MHz、75 MHz、100 MHz、125 MHz頻率約束下狀態(tài)度量計算模塊功耗分別從201 mW降到199 mW、266 mW降到258 mW、328 mW降到317 mW、391 mW降到377 mW、460 mW降到437 mW。對于狀態(tài)度量計算模塊來說,功耗測試結(jié)果表明邏輯計算功耗隨著頻率的增加而不斷增大,功耗下降率也隨之增加,并且本文設(shè)計的譯碼器結(jié)構(gòu)的狀態(tài)度量計算模塊功耗低于已有的并行譯碼器結(jié)構(gòu)設(shè)計方案中的狀態(tài)度量計算模塊。雖然本文所設(shè)計的譯碼器中單個算法塊的資源占用和功耗方面相較有所下降,但是本文所設(shè)計的譯碼器的復(fù)用性相較于已有的并行譯碼器會有所減弱,同時由于芯片使用型號不同,在模擬仿真過程中傳輸幀的時間以及讀寫數(shù)據(jù)的處理時間上會比已有的譯碼器長一些。
圖11 幀長440 bit的不同迭代次數(shù)的BER性能比較
圖12 幀長1 024 bit的不同迭代次數(shù)的BER性能比較
由圖12可知,在信噪比相同的情況下,幀長越長譯碼算法的性能越優(yōu)。同時在圖11和圖12中對同一幀長下不同迭代次數(shù)的BER性能進(jìn)行比較,可以證明并行譯碼能夠更好地應(yīng)用于較長的幀長和迭代次數(shù)較多的情況,所以在實際情況下對于幀長和迭代次數(shù)的選擇要做出合理考慮。因此,本文提出的算法不僅減少了數(shù)據(jù)傳輸過程中重復(fù)的消耗,還提高了數(shù)據(jù)傳輸?shù)目煽啃?,可?yīng)用于高吞吐低功耗無線通信中。
綜合以上分析,基于合并狀態(tài)度量計算的并行譯碼器結(jié)構(gòu)設(shè)計方案,較已有的并行譯碼器設(shè)計方案的結(jié)構(gòu)更為簡單,引入的邏輯資源占用更少,硬件的功耗更少。以BER性能、計算速率和功率消耗為考查指標(biāo),本文基于狀態(tài)度量合并的譯碼器結(jié)構(gòu)設(shè)計方案,具有明顯的總體優(yōu)勢。
[1] 田甜, 薛鴻民, 鄧志龍. Turbo碼在短波通信系統(tǒng)中的應(yīng)用研究[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碼數(shù)據(jù)傳輸系統(tǒng)的實現(xiàn)[J]. 電子測量技術(shù), 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] 陳發(fā)堂, 劉一帆, 唐成. 一種用于5G IOT通信的能量效率方案[J]. 電子技術(shù)應(yīng)用, 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標(biāo)準(zhǔn)中一種基于反向重算的低存儲容量Turbo碼譯碼器結(jié)構(gòu)設(shè)計[J]. 電子學(xué)報, 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]. 計算機應(yīng)用與軟件, 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碼譯碼算法理論推導(dǎo)及誤碼性能分析[J]. 電子測量技術(shù), 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
國家自然科學(xué)基金資助項目(No.61671390)
The National Natural Science Foundation of China (No.61671390)
張茜(1996?),女,西南大學(xué)碩士生,主要研究方向為信號與信息處理。
詹明(1975?),男,博士,西南大學(xué)學(xué)院教授、博士生導(dǎo)師,中國電子學(xué)會會員,主要研究方向為信道編碼理論與技術(shù)、無線傳感器網(wǎng)絡(luò)、超高性能工業(yè)無線控制。
章堅武(1961?),男,博士,杭州電子科技大學(xué)教授、博士生導(dǎo)師,中國電子學(xué)會高級會員,浙江省通信學(xué)會常務(wù)理事,主要研究方向為移動通信、多媒體信號處理與人工智能、通信網(wǎng)絡(luò)與信息安全。
王富龍(1995?),男,西南大學(xué)碩士生,主要研究方向為信號與信息處理。
馮云開(1995?),男,西南大學(xué)碩士生,主要研究方向為信號與信息處理。
唐浩(1996?),男,西南大學(xué)碩士生,主要研究方向為信號與信息處理。