《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的指針反饋式低功耗Viterbi譯碼器設計
基于FPGA的指針反饋式低功耗Viterbi譯碼器設計
來源:電子技術應用2013年第7期
溫偉杰,,陸許明,,朱偉鴻,蔡春曉,,譚洪舟
中山大學 信息科學與技術學院,,廣東 廣州510006
摘要: 為了滿足復雜的無線通信系統(tǒng)功耗以及性能要求,提出并設計了一種指針反饋式Viterbi譯碼器,。該譯碼器使相鄰時刻的各狀態(tài)轉移滿足單向一對一指向關系,,并根據(jù)傳統(tǒng)譯碼器初始譯碼狀態(tài)從狀態(tài)0延伸的特點,通過每一時刻不斷更新的狀態(tài)指針指向當前時刻譯碼路徑狀態(tài),,同時輸出譯碼結果,。算法仿真以及FPGA和CMOS綜合結果表明,,該譯碼器功耗降低60%,,譯碼延時小,并且在信噪比較高的情況下有很好的譯碼性能,,特別適用于約束長度大,、譯碼狀態(tài)數(shù)多的情況。
中圖分類號: TN492
文獻標識碼: A
文章編號: 0258-7998(2013)07-0007-03
Design of low-power Viterbi decoder with feedback pointer based on FPGA
Wen Weijie,,Lu Xuming,,Zhu Weihong,Cai Chunxiao,,Tan Hongzhou
School of Information Science & Technology,,Sun Yat-Sen University,Guangzhou 510006,China
Abstract: In order to meet the requirement of low power consumption and performance in complex wireless communication system, a Viterbi decoder using feedback pointer is proposed. In the decoding process, the proposed decoder makes one-to-one relationship in state transitions at every adjacent moment. Since Viterbi decoder always starts from state 0, the decoded bits are output by the updating state pointer which points to current state in the decoding path. Simulation and implementation results of FPGA and CMOS show that the decoder has 60% power reduction with less time delay, and it performs well at a high signal-to-noise ratio environment. This decoder is particularly applicable to the situation that has long constraint length and large decode states.
Key words : low power,;Viterbi decoder,;FPGA;feedback pointer

    隨著現(xiàn)代無線通信系統(tǒng)日益復雜化的發(fā)展,,無線基帶通信系統(tǒng)中各模塊的實際性能,、延時、功耗等參數(shù)成為基帶設計的重要考慮因素,。Viterbi譯碼器廣泛應用于無線局域網(wǎng)和移動通信系統(tǒng),,并且作為基帶系統(tǒng)的重要組成部分,其功耗與性能成為基帶設計中非常關鍵的一環(huán),。因此,,設計功耗低、譯碼性能好的Viterbi譯碼器尤為重要,。

    傳統(tǒng)的Viterbi譯碼器主要包括支路度量單元(BMU),、加比選單元(ACSU)以及幸存路徑存儲單元(SMU)。其中SMU根據(jù)各狀態(tài)的幸存路徑得出譯碼信息,,其實現(xiàn)方法有兩種:寄存器交換法(RE)和追蹤回溯法(TB),。傳統(tǒng)的寄存器交換法需要在譯碼過程中不斷進行寄存器交換存取操作,對于約束長度較大,、狀態(tài)數(shù)較多的情況,,硬件功耗較大;而追蹤回溯法無需進行復雜的寄存器交換,,每一個譯碼時刻只需變動少量RAM,,實現(xiàn)功耗較小。因此關于追蹤回溯法的Viterbi譯碼器研究甚廣[1-3],。但是TB方法的譯碼延時約為RE方法的4倍[4],,無法滿足對實時性要求高的無線通信系統(tǒng)(如無線局域網(wǎng))的性能要求。
    基于對譯碼性能,、功耗以及延時的考慮,,提出一種新型的指針反饋式低功耗Viterbi譯碼器。該譯碼器采用新的譯碼單元取代SMU,,利用譯碼路徑從初始狀態(tài)0開始的特點,,通過每一時刻通過不斷更新的唯一狀態(tài)譯碼指針,結合加比選單元輸出的狀態(tài)譯碼信息,,指示出當前時刻的譯碼路徑狀態(tài)走向,,并輸出當前譯碼結果。FPGA實現(xiàn)結果表明,,對于(2,,1,,7)卷積譯碼延時只為2個時鐘周期,實時性好,。此外,,該方法實現(xiàn)的譯碼器比傳統(tǒng)的追蹤回溯法譯碼器功耗降低60%,并且實現(xiàn)較好的譯碼性能,。
1 指針反饋式Viterbi譯碼基本原理
    傳統(tǒng)的Viterbi譯碼按照最大似然估計原則,,通過計算每一時刻可能的路徑值,最終找出一條最大似然路徑作為譯碼輸出路徑,。
    本文提出的指針反饋式Viterbi譯碼利用傳統(tǒng)譯碼器每次譯碼從初始狀態(tài)0開始的特點,,并且在譯碼過程中,使前一時刻某狀態(tài)只與當前時刻另一狀態(tài)存在一對一指向關系,,從而在每一時刻確定譯碼路徑,。與此同時,通過狀態(tài)指針不斷更新當前時刻譯碼路徑上的狀態(tài),,實時輸出譯碼結果,。但是這種方法在遇到輸入序列某區(qū)域存在較多錯碼情況時,很有可能選錯譯碼路徑而導致大面積譯碼錯誤,。為了克服上述缺點,,卷積編碼器必須做出簡單調(diào)整:當編碼L(L≥4)次后,重新復位輸入,,使譯碼重新從狀態(tài)0開始,,從而有效阻隔輸入錯碼引起的譯碼錯誤的擴散。在信噪比較高的情況下,,該譯碼器能夠在功耗,、延時以及性能上得到保證。
    為了更好地說明所提出的Viterbi譯碼器算法,,現(xiàn)以約束長度K=3,、編碼率r=1/2生成多項式g0=1118,g1=1018,,并且以L=10的卷積編碼器對數(shù)據(jù)(01011101001000)進行編碼得到(00,11,10,00,01,10,01,00,10,11,11,10,11,00),,并經(jīng)過噪聲干擾,對該組噪聲數(shù)據(jù)進行軟判決處理,,其譯碼過程如圖1所示,。根據(jù)狀態(tài)轉移關系,狀態(tài)0或狀態(tài)2可能指向下一時刻的狀態(tài)0或狀態(tài)1,。當t=1時,狀態(tài)0與狀態(tài)1幸存路徑均源于t=0時的狀態(tài)0,,為了使相鄰時刻狀態(tài)轉移不出現(xiàn)分叉情況,,此時需要對狀態(tài)0和狀態(tài)1更新后的累計路徑距離進行最小值比較,,較小的一方狀態(tài)指向不變,結果從t=0到t=1,,狀態(tài)0指向狀態(tài)0,。而原本狀態(tài)0指向狀態(tài)1的情況,改變成狀態(tài)2指向狀態(tài)1(即圖中虛線表示),,從而實現(xiàn)相鄰兩時刻之間狀態(tài)轉移的單一指向性,。為了演示方便,圖1中只給出t≤4時改進后各狀態(tài)幸存路徑情況,。另外,,從圖中看出譯碼路徑每時刻經(jīng)過的譯碼狀態(tài)的最低位(最低位以下劃線標示)與此刻譯碼比特相同,因此可以采用狀態(tài)指針的方法將其初始化為狀態(tài)0,,每一時刻譯出的碼比特反饋更新狀態(tài)指針,,進行實時譯碼追蹤。此外,,由于L=10,,在t=10時,狀態(tài)重新復位到狀態(tài)0,,使譯碼器重新從狀態(tài)0出發(fā)以實現(xiàn)連續(xù)譯碼,。

2 指針反饋式Viterbi譯碼器整體設計
    指針反饋式Viterbi譯碼器整體結果如圖2所示,其中包括支路度量單元(BMU),、改進型加比選單元(MACSU)以及指針反饋追蹤(PFPT)模塊,。本文基于802.11a/n,K=7,,r=1/2,,g0=1338,g1=1718卷積編碼,,采用4比特軟判決對譯碼器進行硬件設計及實現(xiàn),。

2.1 支路度量單元(BMU)
    支路度量單元負責將接收到的編碼數(shù)據(jù)與參考數(shù)據(jù)進行各狀態(tài)支路距離計算。理論上在進行軟判決處理時,,支路距離采用歐氏距離計算方法,。但是傳統(tǒng)的歐氏距離需要進行開根號與平方操作,因此硬件實現(xiàn)消耗資源高,。本文給出一種改良的距離計算方法,,數(shù)據(jù)量化范圍從0~15共15個區(qū)間,與參考文獻[5]提出的14個區(qū)間量化相比,,計算精度上升,。各支路距離的表達式為:


    由式(6)和式(7)以及上述判決算法看出,只需對ΔPM和ΔBM進行簡單的加減法以及取符號位,,即可實現(xiàn)狀態(tài)間一一指向關系,,硬件實現(xiàn)復雜度低,,并且延時少。實現(xiàn)時,,每一時刻MACS輸出的各狀態(tài)更新的累計路徑距離反饋給下一時刻MACS的輸入端進行疊加計算,,并且將各狀態(tài)記錄當前判決比特輸出至下一模塊中。
2.3 指針反饋追蹤模塊(PFPT)
    PFPT模塊通過狀態(tài)指針儲存的譯碼狀態(tài)結合從MACSU輸出的64位判決比特進行狀態(tài)64選1的操作,,最終在每一時刻輸出譯碼結果,,并且將譯碼比特反饋更新狀態(tài)指針,用于下一時刻譯碼路徑狀態(tài)的選取,。另外,,每進行第1節(jié)中提及的L次譯碼時,狀態(tài)指針復位至狀態(tài)0(008),。
3 FPGA實現(xiàn)結果及譯碼器性能分析
    指針反饋式Viterbi譯碼器對于約束長度大(K≥7),、譯碼狀態(tài)數(shù)較多的情況,其功耗以及性能效果明顯,。對第2節(jié)中所述的硬件設計進行FPGA實現(xiàn),,并且對多種Viterbi譯碼器進行功耗等參數(shù)比較。其結果如表1和表2所示,。

 

 

    由表2看出,,在相同CMOS工藝情況下,指針反饋式Viterbi譯碼器與參考文獻[6]和參考文獻[7]相比,,實現(xiàn)功耗最低,;而在相同編碼條件下,本文實現(xiàn)的算法功耗比參考文獻[6]功耗至少降低60%,。
    另外,,將卷積編碼數(shù)據(jù)經(jīng)過加性高斯白噪聲信道后,對噪聲數(shù)據(jù)進行指針反饋式Viterbi譯碼,,其仿真結果與理想無編碼情況作誤比特率(BER)及信噪比(SNR)對比,。其結果如圖6所示,當SNR在6dB附近時,,BER約為10-4,;而當SNR≥7.2 dB時,BER=0,。因此,,該譯碼器在較高SNR時性能較好。

    本文提出了一種指針反饋式Viterbi譯碼器,,該譯碼器依靠初始譯碼狀態(tài)從狀態(tài)0開始的特點,,相鄰兩時刻各狀態(tài)進行單向一對一轉移關系,并在每時刻通過不斷更新的狀態(tài)指針尋找譯碼路徑上的狀態(tài),同時輸出譯碼結果,。算法仿真以及FPGA和CMOS綜合結果表明,,該Viterbi譯碼器在信噪比較高時有良好的譯碼性能,,同時功耗相對一般譯碼器減少60%,,硬件實現(xiàn)資源低,譯碼延時少,,因此適合于無線局域網(wǎng)和移動通信等系統(tǒng)硬件實現(xiàn),。
參考文獻
[1] 童琦,何洪路,,吳明森.基于FPGA的高速并行Viterbi譯碼器的設計與實現(xiàn)[J].電子技術應用,,2007,33(1):30-32.
[2] LIN D J,,LIN C C,,CHEN C L,et al.A low-power Viterbi decoder based on scarce state transition and variable  truncation length[C].International Symp.on VLSI Design,, automation and test,,2007:1-4.
[3] AMEEN S Y,Al-JAMMAS M H,,ALENEZI A S.FPGA  implementation of modified architecture for adaptive Viterbi  decoder[C].Electronics, Communications and Photonics  Conference(SIECPC),,2011:1-9.
[4] 朱永旭,吳斌,,周玉梅,,等.適用于IEEE 802.11n的高速低功耗Viterbi譯碼器的設計[J].微電子學與計算機,2010,,27(7):10-14.
[5] El-DIB D A,,ELMASRY M I.Memoryless Viterbi decoder[J].IEEE Trans. on Circuits and System-II,2005,,52(12): 826-830.
[6] LIN C C,,SHIH Y H,CHANG H C,,et al.Design of a powerreduction Viterbi decoder for WLAN application[J].IEEE Trans. on Circuits and System-I,,2005,52(6):1148-1156.
[7] Tang Yunching,,Hu Dochen,,Wei Weiyi,et al.A memory efficient architecture for low latency Viterbi decoder[C]. International Symp.on VLSI Design,,Automation and Test,,2009:335-338.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載,。