文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.190245
中文引用格式: 曾潔,,詹明,,羅小紅,等. 一種低存儲(chǔ)容量Turbo碼譯碼器結(jié)構(gòu)設(shè)計(jì)及FPGA實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,,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年提出以來(lái),,由于其獨(dú)特的編譯碼結(jié)構(gòu)和逼近Shannon極限的譯碼性能及良好的糾錯(cuò)性能[1],引起了廣泛的關(guān)注,。目前,,Turbo碼已被第四代移動(dòng)通信系統(tǒng)所采用[2-3],并廣泛應(yīng)用于能量受限的深空通信和工業(yè)物聯(lián)網(wǎng)中[4-5],。在無(wú)線通信應(yīng)用中,,Turbo碼進(jìn)行編譯碼的硬件實(shí)現(xiàn)時(shí),,譯碼器被認(rèn)為是信號(hào)接收終端功耗的主要瓶頸,而譯碼器有一半以上的功耗主要用于對(duì)狀態(tài)度量緩存(State Metric Cache,,SMC)的訪問(wèn)[6],。因此,一種降低SMC容量的低功耗Turbo碼譯碼器結(jié)構(gòu)成為研究的重點(diǎn),。
Turbo碼譯碼器的實(shí)現(xiàn)主要是采用對(duì)數(shù)域最大后驗(yàn)概率算法[7](Maximum a Posteriori Probability Algorithm in Logarithmic Domain,,Log-MAP),所以基于Log-MAP算法的低存儲(chǔ)容量的低功耗Turbo譯碼器成為目前主要研究的對(duì)象[6-7],。根據(jù)存儲(chǔ)容量降低方式,,主要分為變換法和反向重算的設(shè)計(jì)方法。在變換法中,,文獻(xiàn)[6]提出線性估算的方法使SMC降低了55%,,但引入了較大的譯碼性能損失。在反向重算中,,文獻(xiàn)[7]通過(guò)保存部分狀態(tài)度量去計(jì)算出其他狀態(tài)度量,,誤碼率與Log-MAP算法接近,SMC容量降低了50%,,但是存儲(chǔ)容量降低得還不夠。因此僅用變換法的設(shè)計(jì),,雖然SMC容量很小,,但譯碼性能差;而反向重算方法的硬件開(kāi)銷(xiāo)和功耗需求還可進(jìn)一步降低,。
基于以上問(wèn)題,,為降低存儲(chǔ)容量達(dá)到低功耗并保證Turbo碼譯碼性能的要求,本文以LTE-Advance標(biāo)準(zhǔn)中的Turbo碼作為研究對(duì)象,,提出一種對(duì)前向狀態(tài)度量進(jìn)行線性估算和反向重算的設(shè)計(jì)方案,。在每個(gè)譯碼時(shí)刻只存儲(chǔ)1個(gè)前向狀態(tài)度量和3個(gè)增量值,當(dāng)需要使用前向狀態(tài)度量時(shí),,利用線性估算和反向重算的算法恢復(fù)出8個(gè)前向狀態(tài)度量,,使得本文所提出的方案在SMC容量較低時(shí),誤碼率(Bit Error Rate,,BER)和誤包率(Packet Error Rate,,PER)性能與Log-MAP算法基本接近,與傳統(tǒng)譯碼器結(jié)構(gòu)相比功耗較低,。
1 低存儲(chǔ)容量譯碼器結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn)
1.1 低存儲(chǔ)容量譯碼器結(jié)構(gòu)實(shí)現(xiàn)原理
1.2 低存儲(chǔ)容量譯碼器結(jié)構(gòu)設(shè)計(jì)的FPGA實(shí)現(xiàn)
對(duì)于增量計(jì)算模塊的硬件實(shí)現(xiàn),,使用簡(jiǎn)單的反向、選擇和加法操作就能夠完成,,增量計(jì)算模塊的FPGA實(shí)現(xiàn)如圖2所示,。在完成對(duì)前向狀態(tài)度量的增量值計(jì)算后,,存放在LIFO SMC中,使得在反向重算的同時(shí),,從LIFO SMC模塊中讀出前向狀態(tài)度量值A(chǔ)k(s1,,k)及增量值Im(k),m∈{1,,2,,3},然后利用式(4)進(jìn)行前向狀態(tài)度量值,j2∈{1,,3,,4,6}的恢復(fù)計(jì)算,,其硬件實(shí)現(xiàn)過(guò)程就是增量計(jì)算模塊的逆過(guò)程,。根據(jù)式(2)可知,反向重算的過(guò)程是通過(guò)一個(gè)多路選擇單元,、一個(gè)比較控制單元以及兩個(gè)最小值單元將未存儲(chǔ)的前向狀態(tài)度量重新計(jì)算出來(lái),,其硬件實(shí)現(xiàn)如圖3所示。
2 性能分析和功耗估算結(jié)果
2.1 SMC容量比較
在本文中,,狀態(tài)度量采用(10,,3)的二進(jìn)制量化方案[7],增量值量化為(6,,3),。為了便于分析,本文選擇以文獻(xiàn)[6]-[7]所研究的線性估算和反向重算的譯碼器結(jié)構(gòu)設(shè)計(jì)方案以及經(jīng)典的設(shè)計(jì)方案作為比較對(duì)象,,列出了這4種設(shè)計(jì)方案下譯碼器的SMC容量比較結(jié)果,,如表1所示。其中N表示編碼長(zhǎng)度,,占用率表示不同的譯碼設(shè)計(jì)方案與經(jīng)典設(shè)計(jì)方案對(duì)SMC的使用量的比較,。經(jīng)表格中的數(shù)據(jù)分析可知,本文所設(shè)計(jì)的方案不需要過(guò)多地將狀態(tài)度量存儲(chǔ)在SMC中,,每個(gè)譯碼時(shí)刻,,只存儲(chǔ)1個(gè)前向狀態(tài)度量值和3個(gè)增量值在SMC中,使用SMC的容量降低了65%,。
2.2 BER和PER對(duì)比
在仿真實(shí)現(xiàn)中,,為證實(shí)本方案的有效性,根據(jù)LTE-Advanced的標(biāo)準(zhǔn)構(gòu)造了碼率為1/3的Turbo編碼序列,,分別研究了已有的4種譯碼算法與本文提出的算法在不同幀長(zhǎng)情況下的BER和PER性能比較,,結(jié)果如圖4和圖5所示。本文采取并行的譯碼結(jié)構(gòu),,分組譯碼長(zhǎng)度L=40,,在MATLAB仿真中,,采用二進(jìn)制相移鍵控的調(diào)制方式,以加性高斯白噪聲信道作為仿真信道,,迭代次數(shù)設(shè)定為8,;為改善譯碼性能,外信息乘上一個(gè)度量因子λ[7],,取值λ=0.8,。
從圖4中可以看出,本文提出的算法的BER性能是優(yōu)于線性估算算法,,并且在幀長(zhǎng)為800,、BER=10-4時(shí),本文提出的算法距離Log-MAP譯碼算法約0.018 dB的編碼增益損失,。因此本文提出的算法在保證SMC容量較小的同時(shí)BER性能也較好,。由圖5可知,線性估算的PER性能曲線距離Max-Log-MAP譯碼算法接近,,所以線性估算在保證BER性能較好的時(shí)候并不能保證PER的性能,;值得注意的是,在幀長(zhǎng)為800,,信噪比大于1.2 dB時(shí),,譯碼比特的誤包率能夠達(dá)到10-4。因此,,本文提出的算法可以提高數(shù)據(jù)傳輸?shù)目煽啃?,可?yīng)用于高性能低功耗無(wú)線通信中[8]。
2.3 功耗測(cè)試
按照?qǐng)D1中設(shè)計(jì)的結(jié)構(gòu)框圖,,在Quartus Ⅱ13.1平臺(tái)中,以Altera公司的Cyclone IV系列的EP4CE75F23C8作為目標(biāo)器件,,使用Verilog硬件描述語(yǔ)言(Hardware Description Language,,HDL)對(duì)譯碼器各個(gè)功能模塊進(jìn)行編程實(shí)現(xiàn),并在Quartus Ⅱ中的Modelsim實(shí)現(xiàn)了仿真和綜合,,完成LTE-Advance標(biāo)準(zhǔn)中的Turbo碼譯碼器FPGA設(shè)計(jì),,同時(shí)分析了整個(gè)譯碼器結(jié)構(gòu)的硬件資源使用情況和功耗,采用PowerPlay Early Power Estimator進(jìn)行功耗測(cè)試,。
通過(guò)譯碼器結(jié)構(gòu)的仿真全編譯報(bào)告提取出4種譯碼結(jié)構(gòu)方案的邏輯單元,、寄存器和總的內(nèi)存量使用情況,如表2所示,。對(duì)于總的內(nèi)存量的使用情況,,反向重算、線性估算和本文提出的算法能將譯碼器結(jié)構(gòu)總的內(nèi)存量的使用分別降低27.4%,、34.24%和35.62%,。因此,,本文提出的譯碼器結(jié)構(gòu)設(shè)計(jì)方案通過(guò)降低SMC容量使得譯碼器結(jié)構(gòu)的硬件資源更節(jié)省。
已有的文獻(xiàn)[6]表明,,RAM模塊的功耗對(duì)總功耗的影響較大,。因此在功耗測(cè)試的各模塊中,將本文提出的譯碼器結(jié)構(gòu)的RAM模塊功耗和總功耗分別與傳統(tǒng)方法,、反向重算以及線性估算的譯碼器結(jié)構(gòu)進(jìn)行了對(duì)比,,結(jié)果如圖6~圖8所示。圖6是本文設(shè)計(jì)的譯碼器結(jié)構(gòu)與傳統(tǒng)的譯碼器結(jié)構(gòu)分別在25 MHz,、50 MHz,、75 MHz、100 MHz,、125 MHz頻率下RAM模塊功耗和總功耗比較,,RAM模塊部分的功耗在不同頻率下均下降50%左右;總功耗相應(yīng)地下降了4.97%,、8.78%,、11.93%、14.18%,、14.65%,。因此,通過(guò)減少對(duì)狀態(tài)度量的存儲(chǔ)使SMC容量降低,,進(jìn)而功耗得到有效降低,。
圖7和圖8是本文設(shè)計(jì)的譯碼器結(jié)構(gòu)與反向重算和線性估算方案的譯碼器結(jié)構(gòu)分別在不同頻率下RAM模塊功耗和總功耗的比較。由圖7可知,,RAM模塊功耗和總功耗隨著頻率的增加而增大,,功耗下降率也隨之增加,并且本文設(shè)計(jì)的譯碼器結(jié)構(gòu)的總功耗低于反向重算方案,。圖8表明,,與已有存儲(chǔ)容量最低的線性估算相比較[6],在不同頻率下功耗也有不同程度的降低,;其中在125 MHz的頻率約束下,,RAM模塊功耗降低了28%,總功耗降低了6.34%,。
3 結(jié)論
通過(guò)減少SMC容量使得功耗降低并保證譯碼性能是Turbo碼類(lèi)譯碼器結(jié)構(gòu)設(shè)計(jì)的重要方法,。研究結(jié)果表明,本文以引入低復(fù)雜度的計(jì)算量來(lái)減小對(duì)前向狀態(tài)度量存儲(chǔ),,雖然在硬件的消耗中邏輯單元和寄存器的使用量有較小的增加,,但存儲(chǔ)容量降低了65%,BER和PER性能與Log-MAP算法接近,。與此同時(shí),,在125 MHz頻率下,,動(dòng)態(tài)的存儲(chǔ)容量功耗較傳統(tǒng)下降約50%,總功耗降低14.65%,。
參考文獻(xiàn)
[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] 陳發(fā)堂,,劉一帆,,唐成.一種用于5G IOT通信的能量效率方案[J].電子技術(shù)應(yīng)用,2017,,43(11):2-6,,26.
[5] 李貴勇,舒強(qiáng),,李文彬.基于NB-IoT系統(tǒng)的eDRX的分析與研究[J].電子技術(shù)應(yīng)用,,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標(biāo)準(zhǔn)中一種基于反向重算的低存儲(chǔ)容量Turbo碼譯碼器結(jié)構(gòu)設(shè)計(jì)[J].電子學(xué)報(bào),,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.
作者信息:
曾 潔,,詹 明,,羅小紅,楊 超,,鄧 熠,,王 夢(mèng)
(西南大學(xué) 電子信息工程學(xué)院,重慶400715)