基于FPGA的卷積碼譯碼器的方案
出處:草原馬 發(fā)布于:2011-08-04 10:57:15
卷積碼是深度空間通信系統(tǒng)和無線通信系統(tǒng)中常用的一種差錯控制編碼。它克服了分組碼由于以碼塊為單位編譯碼而使分組間的相關(guān)信息丟失的缺點。(2,1,8)卷積碼在2G、3G通信系統(tǒng)中得到了廣泛的運用。CDMA/IS-95系統(tǒng)的前向信道[3]、CDMA20001x的前反向鏈路都使用了生成多項式為(561,753)碼率為1/2的(2,1,8)卷積碼。針對目前卷積碼譯碼器占用資源較多,工作頻率較低的缺點,本文設(shè)計了一種新的基于FPGA的(2,1,8)卷積碼譯碼器。該譯碼器工作頻率高,輸出時延小,占用資源少。
1 (2,1,8)卷積碼譯碼器的總體設(shè)計
本文所實現(xiàn)的(2,1,8)卷積碼譯碼器是基于維特比算法的硬判決譯碼器。整個系統(tǒng)分為啟動單元、中間處理單元、譯碼輸出單元3個單元模塊。系統(tǒng)總體結(jié)構(gòu)圖如圖1所示。對(2,1,8)卷積碼譯碼器,啟動單元處理的是前8個輸入的碼字,中間處理單元處理的是后續(xù)輸入的碼字。譯碼輸出單元實現(xiàn)對譯碼器譯出碼字的輸出。本設(shè)計中,各狀態(tài)節(jié)點的路徑度量和幸存路徑均采用FPGA片內(nèi)的寄存器作為存儲主體,即采用的是寄存器交換法。這樣譯碼輸出時不用回溯,能極大提高譯碼器的譯碼速率。

2 (2,1,8)卷積碼譯碼器各模塊設(shè)計
2.1 啟動單元模塊
?。?,1,8)卷積碼譯碼器共有256個狀態(tài)節(jié)點。在處理前8個輸入碼字中的第i(i為大于0且小于9的整數(shù))個碼字時,只需對其中的2i個狀態(tài)節(jié)點進(jìn)行處理,而且轉(zhuǎn)移至這2i個狀態(tài)節(jié)點的前一狀態(tài)節(jié)點都各僅有一個,其狀態(tài)轉(zhuǎn)移圖如圖2所示。因此并不需執(zhí)行比較和選擇操作。該單元的關(guān)鍵在于確定處理第i個碼元時,需對哪些狀態(tài)節(jié)點的幸存路徑和路徑度量值更新。經(jīng)分析可知:在第i個碼元處理結(jié)束后。當(dāng)且僅當(dāng)某節(jié)點對應(yīng)的狀態(tài)值的二進(jìn)制形式的低(8-k)位比特均為0,譯碼器才可能到達(dá)該狀態(tài)節(jié)點。據(jù)此本文設(shè)計了如下的一種巧妙方法確定某狀態(tài)節(jié)點是否能到達(dá)。設(shè)置一個8bit位寬的寄存器型變量sd0。其初始值置為0x7f,即將其位置為0,每處理完一個碼元,就將sd0右移一位,在判斷狀態(tài)值為i的節(jié)點是否需要處理時,將sd0與i進(jìn)行按位與運算,若其結(jié)果為0,則該狀態(tài)節(jié)點需被處理,否則,直接進(jìn)入對下一狀態(tài)節(jié)點的判斷處理。

在計算各狀態(tài)節(jié)點的路徑度量BM時,本設(shè)計采取了如下方案。預(yù)先計算出(2,1,8)卷積碼的256個狀態(tài)在輸入為0時的編碼結(jié)果,并將其存儲在一個由256個位寬為2bit的寄存器組中。處理接收的卷積碼碼字時,首先計算出該碼字與(2,1,8)卷積碼的4個可能碼字00,01,10,11的不同的比特的位數(shù)。并分別存儲在對應(yīng)的4個2bit位寬的路徑度量寄存器l0,l1,l2,l3中。將狀態(tài)節(jié)點i和(i+128)的兩個路徑度量值分別記為BM0和BM1,節(jié)點i的BM0和BM1分別為編碼器處于狀態(tài)(2×i)和(2×i+1)且輸入為0時的輸出碼字與當(dāng)前時刻輸入碼字不同的比特數(shù)。節(jié)點(i+128)的BM0和BM1分別為編碼器處于狀態(tài)(2×i)和(2×i+1)且輸入為1時的輸出碼字與當(dāng)前時刻輸入碼字不同的比特數(shù)。且任何狀態(tài)節(jié)點的兩個路徑度量值BM0和BM1之和為2,據(jù)此就可得出各個狀態(tài)節(jié)點的BM0和BM1的值。
2.2 中間處理單元
中間處理單元的主體是加比選操作模塊。(2,1,8)卷積碼譯碼器處理完開始的8個碼元之后,其狀態(tài)轉(zhuǎn)移圖如圖3所示。此時,到達(dá)每個狀態(tài)節(jié)點的路徑有兩條,到達(dá)狀態(tài)節(jié)點i和i+128的兩條路徑分別來自節(jié)點2×i和2×i+1,其中i為小于128的自然數(shù)。對狀態(tài)i和i+128對應(yīng)節(jié)點的幸存路徑和路徑度量值的更新就是要比較節(jié)點2×i和2×i+1的在前一碼元處理結(jié)束后的路徑度量與它們轉(zhuǎn)移至狀態(tài)i和i+128時對應(yīng)的路徑度量之和,并取其中較小者。

該單元需解決的一個關(guān)鍵問題就是路徑度量的溢出問題。若不對該問題進(jìn)行處理,隨著譯碼序列長度的增加,將根據(jù)各狀態(tài)的路徑度量寄存器存儲值的大小判斷各狀態(tài)路徑度量的相對大小發(fā)生錯誤,從而使得譯碼出錯。經(jīng)過對(2,1,8)卷積碼譯碼器網(wǎng)格圖的研究發(fā)現(xiàn):硬判決時,256個狀態(tài)的路徑度量的值與值之差不會超過15,若用5比特位寬的寄存器型變量存儲各狀態(tài)的路徑度量,當(dāng)路徑度量值達(dá)到31即將溢出時,路徑度量值一定不小于16,此時將所有256個狀態(tài)節(jié)點的路徑度量值均減去16,這樣就解決了溢出問題。根據(jù)各狀態(tài)的路徑度量值的比特位是0還是1就可判斷其值是否大于等于16。
2.3 譯碼輸出單元
本設(shè)計譯碼輸出單元采取截短譯碼算法。即譯碼到達(dá)一定深度時,就開始輸出譯碼結(jié)果。該譯碼深度一般應(yīng)不小于5倍卷積碼的約束長度。本設(shè)計中譯碼深度取為45。譯碼輸出采用任意狀態(tài)判決準(zhǔn)則。每個時刻將全0狀態(tài)的幸存路徑的比特位移出作為譯碼器輸出。采用任意狀態(tài)判決準(zhǔn)則能降低硬件的復(fù)雜度。
3 仿真結(jié)果及分析
采用EP1S20F484C5作為目標(biāo)器件,將譯碼器用Quartus2自帶的編譯器編譯綜合后的結(jié)果顯示:該譯碼器共占用了14226個邏輯單元LE,譯碼器的工作頻率可達(dá)102MHz,其輸出時延為47個時鐘周期。文獻(xiàn)[13]采用RAM作為幸存路徑的存儲主體實現(xiàn)的(2,1,8)卷積碼譯碼器,采用APEXEP20K200作為目標(biāo)芯片時,共使用了2200個邏輯單元,和16塊RAM,譯碼器僅可支持40MHz的時鐘,完成一步約束長度為9(256狀態(tài))的加、比、選操作需要132個時鐘周期。內(nèi)部的譯碼速度僅可達(dá)588kb/s。因此本設(shè)計僅用相對較少的硬件資源消耗換取了較大的譯碼速率的提高。
由糾錯編碼的理論可知,當(dāng)線性分組碼的碼字間的距離為dmin時,其多能糾正[(dmin-1)/2]個比特的錯誤,運算符[]表示不超過該數(shù)的整數(shù)。卷積碼中用自由距離df代替,生成多項式為(561,753)的(2,1,8)卷積碼的自由距離為df=12,因此其能糾正多為5個比特的突發(fā)錯誤。
為驗證所設(shè)計的卷積碼譯碼器的糾錯性能,首先基于有限狀態(tài)機設(shè)計了一個編碼器,當(dāng)其輸入為111111111111111100000000時,經(jīng)過一個時鐘周期的時延,編碼器輸出碼字為321201103333333301213223,將該序列的前5比特數(shù)據(jù)取反后作為譯碼器的輸入,其仿真結(jié)果如圖4所示。

由圖4中的仿真波形可看出:經(jīng)過47個時鐘周期的延遲之后,譯碼器糾正了輸入碼元5個比特的錯誤,正確譯出了信息碼字。從而說明該譯碼器設(shè)計正確。
4 結(jié)語
本文基于FPGA技術(shù)設(shè)計了一種(2,1,8)卷積碼的硬判決維特比譯碼器。該譯碼器以FPGA片內(nèi)的寄存器作為路徑度量和幸存路徑的存儲單元,經(jīng)分析得出了路徑度量單元的位寬,有效降低了對芯片資源的消耗。采用截短譯碼算法,降低了硬件的復(fù)雜度。采取了一種巧妙的方法實現(xiàn)了譯碼器的啟動過程單元。綜合和仿真結(jié)果表明:該譯碼器用較少的硬件資源消耗就換取了極大的譯碼速度的提高。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 工業(yè)5G技術(shù)在智能制造中的應(yīng)用與實踐解析2025/12/31 10:57:21
- 工業(yè)以太網(wǎng)交換機選型與現(xiàn)場應(yīng)用技術(shù)指南2025/12/18 10:48:14
- 無線傳輸電路基礎(chǔ),射頻前端設(shè)計、天線匹配與鏈路預(yù)算計算2025/10/27 13:55:50
- ASK 解調(diào)的核心要點與實現(xiàn)方式2025/9/5 16:46:17
- 雙偶極子天線:結(jié)構(gòu)、特性與應(yīng)用全解析2025/9/3 10:29:21
- 高速PCB信號完整性(SI)設(shè)計核心實操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計與干擾抑制核心實操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計要點
- 連接器結(jié)構(gòu)設(shè)計常見問題分析









