国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的指針?lè)答伿降凸腣iterbi譯碼器設(shè)計(jì)*

2013-09-07 02:51:44溫偉杰陸許明朱偉鴻蔡春曉譚洪舟
電子技術(shù)應(yīng)用 2013年7期
關(guān)鍵詞:譯碼器譯碼指針

溫偉杰,陸許明,朱偉鴻,蔡春曉,譚洪舟

(中山大學(xué) 信息科學(xué)與技術(shù)學(xué)院,廣東 廣州 510006)

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

傳統(tǒng)的Viterbi譯碼器主要包括支路度量單元(BMU)、加比選單元(ACSU)以及幸存路徑存儲(chǔ)單元(SMU)。其中SMU根據(jù)各狀態(tài)的幸存路徑得出譯碼信息,其實(shí)現(xiàn)方法有兩種:寄存器交換法(RE)和追蹤回溯法(TB)。傳統(tǒng)的寄存器交換法需要在譯碼過(guò)程中不斷進(jìn)行寄存器交換存取操作,對(duì)于約束長(zhǎng)度較大、狀態(tài)數(shù)較多的情況,硬件功耗較大;而追蹤回溯法無(wú)需進(jìn)行復(fù)雜的寄存器交換,每一個(gè)譯碼時(shí)刻只需變動(dòng)少量RAM,實(shí)現(xiàn)功耗較小。因此關(guān)于追蹤回溯法的Viterbi譯碼器研究甚廣[1-3]。但是TB方法的譯碼延時(shí)約為RE方法的4倍[4],無(wú)法滿足對(duì)實(shí)時(shí)性要求高的無(wú)線通信系統(tǒng)(如無(wú)線局域網(wǎng))的性能要求。

基于對(duì)譯碼性能、功耗以及延時(shí)的考慮,提出一種新型的指針?lè)答伿降凸腣iterbi譯碼器。該譯碼器采用新的譯碼單元取代SMU,利用譯碼路徑從初始狀態(tài)0開(kāi)始的特點(diǎn),通過(guò)每一時(shí)刻通過(guò)不斷更新的唯一狀態(tài)譯碼指針,結(jié)合加比選單元輸出的狀態(tài)譯碼信息,指示出當(dāng)前時(shí)刻的譯碼路徑狀態(tài)走向,并輸出當(dāng)前譯碼結(jié)果。FPGA實(shí)現(xiàn)結(jié)果表明,對(duì)于(2,1,7)卷積譯碼延時(shí)只為2個(gè)時(shí)鐘周期,實(shí)時(shí)性好。此外,該方法實(shí)現(xiàn)的譯碼器比傳統(tǒng)的追蹤回溯法譯碼器功耗降低60%,并且實(shí)現(xiàn)較好的譯碼性能。

1 指針?lè)答伿絍iterbi譯碼基本原理

傳統(tǒng)的Viterbi譯碼按照最大似然估計(jì)原則,通過(guò)計(jì)算每一時(shí)刻可能的路徑值,最終找出一條最大似然路徑作為譯碼輸出路徑。

本文提出的指針?lè)答伿絍iterbi譯碼利用傳統(tǒng)譯碼器每次譯碼從初始狀態(tài)0開(kāi)始的特點(diǎn),并且在譯碼過(guò)程中,使前一時(shí)刻某狀態(tài)只與當(dāng)前時(shí)刻另一狀態(tài)存在一對(duì)一指向關(guān)系,從而在每一時(shí)刻確定譯碼路徑。與此同時(shí),通過(guò)狀態(tài)指針不斷更新當(dāng)前時(shí)刻譯碼路徑上的狀態(tài),實(shí)時(shí)輸出譯碼結(jié)果。但是這種方法在遇到輸入序列某區(qū)域存在較多錯(cuò)碼情況時(shí),很有可能選錯(cuò)譯碼路徑而導(dǎo)致大面積譯碼錯(cuò)誤。為了克服上述缺點(diǎn),卷積編碼器必須做出簡(jiǎn)單調(diào)整:當(dāng)編碼L(L≥4)次后,重新復(fù)位輸入,使譯碼重新從狀態(tài)0開(kāi)始,從而有效阻隔輸入錯(cuò)碼引起的譯碼錯(cuò)誤的擴(kuò)散。在信噪比較高的情況下,該譯碼器能夠在功耗、延時(shí)以及性能上得到保證。

為了更好地說(shuō)明所提出的Viterbi譯碼器算法,現(xiàn)以約束長(zhǎng)度K=3、編碼率r=1/2生成多項(xiàng)式g0=1118,g1=1018,并且以L=10的卷積編碼器對(duì)數(shù)據(jù)(01011101001000)進(jìn)行編碼得到(00,11,10,00,01,10,01,00,10,11,11,10,11,00),并經(jīng)過(guò)噪聲干擾,對(duì)該組噪聲數(shù)據(jù)進(jìn)行軟判決處理,其譯碼過(guò)程如圖1所示。根據(jù)狀態(tài)轉(zhuǎn)移關(guān)系,狀態(tài)0或狀態(tài)2可能指向下一時(shí)刻的狀態(tài)0或狀態(tài)1。當(dāng)t=1時(shí),狀態(tài)0與狀態(tài)1幸存路徑均源于t=0時(shí)的狀態(tài)0,為了使相鄰時(shí)刻狀態(tài)轉(zhuǎn)移不出現(xiàn)分叉情況,此時(shí)需要對(duì)狀態(tài)0和狀態(tài)1更新后的累計(jì)路徑距離進(jìn)行最小值比較,較小的一方狀態(tài)指向不變,結(jié)果從t=0到t=1,狀態(tài)0指向狀態(tài)0。而原本狀態(tài)0指向狀態(tài)1的情況,改變成狀態(tài)2指向狀態(tài)1(即圖中虛線表示),從而實(shí)現(xiàn)相鄰兩時(shí)刻之間狀態(tài)轉(zhuǎn)移的單一指向性。為了演示方便,圖1中只給出t≤4時(shí)改進(jìn)后各狀態(tài)幸存路徑情況。另外,從圖中看出譯碼路徑每時(shí)刻經(jīng)過(guò)的譯碼狀態(tài)的最低位(最低位以下劃線標(biāo)示)與此刻譯碼比特相同,因此可以采用狀態(tài)指針的方法將其初始化為狀態(tài)0,每一時(shí)刻譯出的碼比特反饋更新?tīng)顟B(tài)指針,進(jìn)行實(shí)時(shí)譯碼追蹤。此外,由于L=10,在t=10時(shí),狀態(tài)重新復(fù)位到狀態(tài)0,使譯碼器重新從狀態(tài)0出發(fā)以實(shí)現(xiàn)連續(xù)譯碼。

圖1 指針?lè)答伿絍iterbi譯碼網(wǎng)格圖

2 指針?lè)答伿絍iterbi譯碼器整體設(shè)計(jì)

指針?lè)答伿絍iterbi譯碼器整體結(jié)果如圖2所示,其中包括支路度量單元(BMU)、改進(jìn)型加比選單元(MACSU)以及指針?lè)答佔(zhàn)粉?PFPT)模塊。本文基于802.11a/n,K=7,r=1/2,g0=1338,g1=1718卷積編碼,采用4比特軟判決對(duì)譯碼器進(jìn)行硬件設(shè)計(jì)及實(shí)現(xiàn)。

圖2 指針?lè)答伿絍iterbi譯碼器結(jié)構(gòu)圖

2.1 支路度量單元(BMU)

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

其中,BM00,BM01,BM10,BM11表示各狀態(tài)轉(zhuǎn)移時(shí)所有可能出現(xiàn)的支路距離情況。由式(1)看出,各支路距離計(jì)算只需通過(guò)簡(jiǎn)單的將輸入軟數(shù)據(jù)進(jìn)行取反和加法的操作,硬件消耗資源少。圖3為BMU的硬件實(shí)現(xiàn)圖。

圖3 支路度量單元硬件實(shí)現(xiàn)圖

2.2 改進(jìn)型加比選單元(MACSU)

MACSU由(2K-1)/2(即32)個(gè)改進(jìn)型蝶狀加比選基本單元MACS組成,其中每個(gè)MACS包含傳統(tǒng)的加比選操作。譯碼過(guò)程中,MACS輸入與輸出狀態(tài)轉(zhuǎn)移關(guān)系如圖4所示。其中St-1(i)表示t-1時(shí)刻第i個(gè)狀態(tài)。由圖可知,在t-1時(shí)刻狀態(tài)i和狀態(tài)j均有可能跳轉(zhuǎn)到t時(shí)刻狀態(tài)p和狀態(tài)q。

圖4 狀態(tài)轉(zhuǎn)移圖

在硬件實(shí)現(xiàn)時(shí),每個(gè)MACS單元結(jié)構(gòu)如圖5所示。其中,PMt-1(i)表示t-1時(shí)刻狀態(tài)i的累計(jì)路徑距離,PMt(p)表示t時(shí)刻狀態(tài)p更新的累計(jì)路徑距離,BM(i,p)表示由狀態(tài)i轉(zhuǎn)移到狀態(tài)p時(shí)對(duì)應(yīng)的支路度量距離。因此,根據(jù)傳統(tǒng)加比選操作,狀態(tài)p和狀態(tài)q更新的累計(jì)路徑距離可以表示為:

圖5 MACS硬件實(shí)現(xiàn)框圖

并且狀態(tài)p和狀態(tài)q的最小路徑輸出判決位表示為:

其中sign{x}表示取x符號(hào)位,即最高有效位。由于式(4)和式(5)中傳統(tǒng)判決位表示時(shí)會(huì)出現(xiàn)狀態(tài)分叉情況,即狀態(tài)p和狀態(tài)q均源于狀態(tài)i或狀態(tài)j,此時(shí)D(p)和D(q)輸出值相等。但是對(duì)于本文提出的譯碼器,上述的分叉情況是不允許的。因此在原來(lái)加比選操作的基礎(chǔ)上,當(dāng)出現(xiàn)上述分叉情況時(shí)(假設(shè)狀態(tài)p和狀態(tài)q均源于狀態(tài)i),為了使?fàn)顟B(tài)i單向指向其中一種狀態(tài),需要再對(duì)狀態(tài)p和狀態(tài)q的更新累計(jì)路徑距離PMt(p)和PMt(q)進(jìn)行最小值比較,若PMt(p)<PMt(q),則狀態(tài)i指向狀態(tài)p不變,而狀態(tài)i指向狀態(tài)q的情況變成狀態(tài)j指向狀態(tài)q。但狀態(tài)p和狀態(tài)q對(duì)應(yīng)的更新累計(jì)路徑距離不予改變,從而不影響基本加比選操作。此時(shí),輸入狀態(tài)i和狀態(tài)j以及輸出狀態(tài)p和狀態(tài)q在相鄰時(shí)刻呈現(xiàn)一對(duì)一指向關(guān)系,從初始化狀態(tài)0開(kāi)始在譯碼路徑上經(jīng)過(guò)的狀態(tài)在每一時(shí)刻都能確定。利用下一個(gè)模塊的狀態(tài)指針即可在每一時(shí)刻得出譯碼結(jié)果。在硬件實(shí)現(xiàn)時(shí),為了降低上述操作的復(fù)雜度,根據(jù)支路距離間關(guān)系:BM(i,p)=BM(j,q),BM(i,q)=BM(j,p),令ΔPM=PMt-1(j)-PMt-1(i),ΔBM=BM(j,q)-BM(i,q),則式(4)和式(5)可簡(jiǎn)化為:

在式(6)和式(7)的基礎(chǔ)上需要加上判決算法,即:如果D(p)⊕D(q)≡1,則D(p)和D(q)均不變;否則D(p)=0,D(q)=1(若ΔBM<0),或D(p)=1,D(q)=0(若ΔBM≥0),即:D(p)=~sign{ΔBM},D(q)=sign{ΔBM}。

由式(6)和式(7)以及上述判決算法看出,只需對(duì)ΔPM和ΔBM進(jìn)行簡(jiǎn)單的加減法以及取符號(hào)位,即可實(shí)現(xiàn)狀態(tài)間一一指向關(guān)系,硬件實(shí)現(xiàn)復(fù)雜度低,并且延時(shí)少。實(shí)現(xiàn)時(shí),每一時(shí)刻MACS輸出的各狀態(tài)更新的累計(jì)路徑距離反饋給下一時(shí)刻MACS的輸入端進(jìn)行疊加計(jì)算,并且將各狀態(tài)記錄當(dāng)前判決比特輸出至下一模塊中。

2.3 指針?lè)答佔(zhàn)粉櫮K(PFPT)

PFPT模塊通過(guò)狀態(tài)指針儲(chǔ)存的譯碼狀態(tài)結(jié)合從MACSU輸出的64位判決比特進(jìn)行狀態(tài)64選1的操作,最終在每一時(shí)刻輸出譯碼結(jié)果,并且將譯碼比特反饋更新?tīng)顟B(tài)指針,用于下一時(shí)刻譯碼路徑狀態(tài)的選取。另外,每進(jìn)行第1節(jié)中提及的L次譯碼時(shí),狀態(tài)指針復(fù)位至狀態(tài)0(008)。

3 FPGA實(shí)現(xiàn)結(jié)果及譯碼器性能分析

指針?lè)答伿絍iterbi譯碼器對(duì)于約束長(zhǎng)度大(K≥7)、譯碼狀態(tài)數(shù)較多的情況,其功耗以及性能效果明顯。對(duì)第2節(jié)中所述的硬件設(shè)計(jì)進(jìn)行FPGA實(shí)現(xiàn),并且對(duì)多種Viterbi譯碼器進(jìn)行功耗等參數(shù)比較。其結(jié)果如表1和表2所示。

表1 FPGA實(shí)現(xiàn)資源占用表

表2 Viterbi實(shí)現(xiàn)結(jié)果比較

由表2看出,在相同CMOS工藝情況下,指針?lè)答伿絍iterbi譯碼器與參考文獻(xiàn)[6]和參考文獻(xiàn)[7]相比,實(shí)現(xiàn)功耗最低;而在相同編碼條件下,本文實(shí)現(xiàn)的算法功耗比參考文獻(xiàn)[6]功耗至少降低60%。

另外,將卷積編碼數(shù)據(jù)經(jīng)過(guò)加性高斯白噪聲信道后,對(duì)噪聲數(shù)據(jù)進(jìn)行指針?lè)答伿絍iterbi譯碼,其仿真結(jié)果與理想無(wú)編碼情況作誤比特率(BER)及信噪比(SNR)對(duì)比。其結(jié)果如圖6所示,當(dāng)SNR在6dB附近時(shí),BER約為10-4;而當(dāng)SNR≥7.2 dB時(shí),BER=0。因此,該譯碼器在較高SNR時(shí)性能較好。

本文提出了一種指針?lè)答伿絍iterbi譯碼器,該譯碼器依靠初始譯碼狀態(tài)從狀態(tài)0開(kāi)始的特點(diǎn),相鄰兩時(shí)刻各狀態(tài)進(jìn)行單向一對(duì)一轉(zhuǎn)移關(guān)系,并在每時(shí)刻通過(guò)不斷更新的狀態(tài)指針尋找譯碼路徑上的狀態(tài),同時(shí)輸出譯碼結(jié)果。算法仿真以及FPGA和CMOS綜合結(jié)果表明,該Viterbi譯碼器在信噪比較高時(shí)有良好的譯碼性能,同時(shí)功耗相對(duì)一般譯碼器減少60%,硬件實(shí)現(xiàn)資源低,譯碼延時(shí)少,因此適合于無(wú)線局域網(wǎng)和移動(dòng)通信等系統(tǒng)硬件實(shí)現(xiàn)。

[1]童琦,何洪路,吳明森.基于FPGA的高速并行Viterbi譯碼器的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,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譯碼器的設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(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 memoryefficient architecture for low latency Viterbi decoder[C].International Symp.on VLSI Design,Automation and Test,2009:335-338.

猜你喜歡
譯碼器譯碼指針
基于校正搜索寬度的極化碼譯碼算法研究
偷指針的人
糾錯(cuò)模式可配置的NAND Flash BCH譯碼器設(shè)計(jì)
跟蹤導(dǎo)練(一)5
為什么表的指針都按照順時(shí)針?lè)较蜣D(zhuǎn)動(dòng)
從霍爾的編碼譯碼理論看彈幕的譯碼
新聞傳播(2016年3期)2016-07-12 12:55:27
LDPC 碼改進(jìn)高速譯碼算法
基于改進(jìn)Hough變換和BP網(wǎng)絡(luò)的指針儀表識(shí)別
HINOC2.0系統(tǒng)中高速LDPC譯碼器結(jié)構(gòu)設(shè)計(jì)
電力線通信中LDPC譯碼器的優(yōu)化設(shè)計(jì)與實(shí)現(xiàn)
宣城市| 辽源市| 清水河县| 罗田县| 安义县| 宁安市| 莫力| 天门市| 大连市| 鹤峰县| 扶余县| 资阳市| 江西省| 子长县| 德化县| 茂名市| 永仁县| 图木舒克市| 友谊县| 清流县| 合山市| 开封县| 芜湖县| 诏安县| 广灵县| 桃源县| 咸丰县| 尉氏县| 文化| 三原县| 札达县| 凌云县| 临江市| 沅陵县| 阜平县| 莱芜市| 贵南县| 忻州市| 滦南县| 辽阳县| 兖州市|