《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的指針反饋式低功耗Viterbi譯碼器設計
基于FPGA的指針反饋式低功耗Viterbi譯碼器設計
來源:電子技術應用2013年第7期
溫偉杰,陸許明,朱偉鴻,蔡春曉,譚洪舟
中山大學 信息科學與技術學院,廣東 廣州510006
摘要: 為了滿足復雜的無線通信系統功耗以及性能要求,提出并設計了一種指針反饋式Viterbi譯碼器。該譯碼器使相鄰時刻的各狀態轉移滿足單向一對一指向關系,并根據傳統譯碼器初始譯碼狀態從狀態0延伸的特點,通過每一時刻不斷更新的狀態指針指向當前時刻譯碼路徑狀態,同時輸出譯碼結果。算法仿真以及FPGA和CMOS綜合結果表明,該譯碼器功耗降低60%,譯碼延時小,并且在信噪比較高的情況下有很好的譯碼性能,特別適用于約束長度大、譯碼狀態數多的情況。
中圖分類號: 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

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

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

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

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


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

 

 

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

    本文提出了一種指針反饋式Viterbi譯碼器,該譯碼器依靠初始譯碼狀態從狀態0開始的特點,相鄰兩時刻各狀態進行單向一對一轉移關系,并在每時刻通過不斷更新的狀態指針尋找譯碼路徑上的狀態,同時輸出譯碼結果。算法仿真以及FPGA和CMOS綜合結果表明,該Viterbi譯碼器在信噪比較高時有良好的譯碼性能,同時功耗相對一般譯碼器減少60%,硬件實現資源低,譯碼延時少,因此適合于無線局域網和移動通信等系統硬件實現。
參考文獻
[1] 童琦,何洪路,吳明森.基于FPGA的高速并行Viterbi譯碼器的設計與實現[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.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产伦精品一区二区三区免费下载 | 无人区免费高清在线观看| 亚洲乳大丰满中文字幕| 激情成人综合网| 再深点灬舒服灬太大了添a | 大又大粗又爽又黄少妇毛片| 一本色道久久88加勒比—综合| 无码综合天天久久综合网| 久久精品国产亚洲精品2020| 欧洲美女与动性zozozo| 亚洲图片第一页| 污污视频免费看| 亚洲香蕉久久一区二区| 男女一级毛片免费播放| 全免费a级毛片免费看| 纯肉高H啪动漫| 国产va免费精品观看精品| 试看120秒做受小视频免费| 国产在线精品一区二区不卡| 韩国福利影视一区二区三区| 欧美国产激情二区三区| 亚洲综合视频在线观看| 男插女高潮一区二区| 国产成人涩涩涩视频在线观看免费 | 免费看男女下面日出水视频| 五月婷婷丁香网| 国产精品对白交换视频| 91精品久久久| 国外bbw免费视频| 99riav国产在线观看| 大象视频在线免费观看| chinese男子同性视频twink| 好男人社区神马www在线影视| 一本大道久久东京热无码AV| 干b视频在线观看| 一本一本久久a久久精品综合麻豆| 岛国大片在线播放| 一区二区三区免费视频播放器 | 精品一区二区三区AV天堂| 公交车后车座的疯狂运| 精品人人妻人人澡人人爽人人|