新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的短幀Turbo譯碼器的實(shí)現(xiàn)

基于FPGA的短幀Turbo譯碼器的實(shí)現(xiàn)

作者: 時(shí)間:2012-10-31 來源:網(wǎng)絡(luò) 收藏

3.4 8狀態(tài)值最小值運(yùn)算單元

由MAX-LOG-MAP算法可知,在進(jìn)行前后向遞推歸一化處理和計(jì)算譯碼軟輸出時(shí),均需要計(jì)算每一時(shí)刻8個(gè)狀態(tài)的最小值。為了減小計(jì)算延時(shí),采用了8狀態(tài)值并行比較的結(jié)構(gòu),與串行的8狀態(tài)值比較結(jié)構(gòu)相比較,要少4級(jí)延時(shí)。結(jié)構(gòu)如圖4所示。

8狀態(tài)值最小值運(yùn)算單元

4 仿真結(jié)果

按照以上所分析的簡化譯碼算法、的相關(guān)參數(shù)和結(jié)構(gòu),整個(gè)譯碼采用Verilog HDL語言編程,以Xilinx ISE 7.1i、Modelsim SE 6.0為開發(fā)環(huán)境,選定Virtex4芯片xc4vlx40-12ff668進(jìn)行設(shè)計(jì)與。整個(gè)譯碼器占用邏輯資源如表1所示。

整個(gè)譯碼器占用邏輯資源

MAX-LOG-MAP譯碼算法,幀長為128,迭代4次的情況下,MATLAB浮點(diǎn)算法和定點(diǎn)實(shí)現(xiàn)的譯碼性能比較如圖5所示。

MATLAB浮點(diǎn)算法和FPGA定點(diǎn)實(shí)現(xiàn)的譯碼性能比較

由MAX-LOG-MAP算法的MATLAB浮點(diǎn)與定點(diǎn)的性能比較仿真結(jié)果可知,采用F(9,3)的定點(diǎn)量化標(biāo)準(zhǔn),F(xiàn)PGA定點(diǎn)實(shí)現(xiàn)譯碼性能和理論的浮點(diǎn)仿真性能基本相近,并具有較好的譯碼性能。

綜上所述,在短幀情況下,MAX-LOG-MAP算法具有較好的譯碼性能,相對(duì)于MAP,LOG-MAP算法具有最低的硬件實(shí)現(xiàn)復(fù)雜度,并且碼譯碼延時(shí)也較小。所以,在特定的短幀通信系統(tǒng)中,如果采用碼作為信道編碼方案,MAX-LOG-MAP譯碼算法是硬件實(shí)現(xiàn)的最佳選擇。

碼常見的幾種譯碼算法中,MAP算法[1][3]具有最優(yōu)的譯碼性能。但因其運(yùn)算過程中有較多的乘法和指數(shù)運(yùn)算,硬件實(shí)現(xiàn)很困難。簡化的MAP譯碼算法是LOG-MAP算法和MAX-LOG-MAP算法,它們將大量的乘法和指數(shù)運(yùn)算轉(zhuǎn)化成了加減、比較運(yùn)算,大幅度降低了譯碼的復(fù)雜度,便于硬件實(shí)現(xiàn)。簡化算法中,LOG-MAP算法性能最接近MAP算法,MAX-LOG-MAP算法次之,但由于LOG-MAP算法后面的修正項(xiàng)需要一個(gè)查找表,增加了存儲(chǔ)器的使用。所以,大多數(shù)硬件實(shí)現(xiàn)時(shí),在滿足系統(tǒng)性能要求的情況下,MAX-LOG-MAP算法是硬件實(shí)現(xiàn)的首選。通過仿真發(fā)現(xiàn),采用3GPP的編碼和交織方案[2],在短幀情況下,MAX-LOG-MAP算法同樣具有較好的譯碼性能。

如圖1所示,幀長為128,迭代6次,BER=10-5的數(shù)量級(jí)時(shí), MAX-LOG-MAP算法的譯碼性能比MAP算法差大約0.6dB,比LOG-MAP算法差0.2dB左右。所以,本文采用3GPP的交織和(13,15)編碼方案,MAX-LOG-MAP譯碼算法進(jìn)行短幀Turbo碼譯碼器的FPGA實(shí)現(xiàn)與設(shè)計(jì)。

2.jpg

2 MAX-LOG-MAP算法

為對(duì)MAP算法進(jìn)行簡化,通常將運(yùn)算轉(zhuǎn)換到對(duì)數(shù)域上進(jìn)行,避免了MAP算法中的指數(shù)運(yùn)算,同時(shí),乘法運(yùn)算變成了加法運(yùn)算,而加法運(yùn)算用雅可比公式簡化成MAX*運(yùn)算[4]。

將運(yùn)算轉(zhuǎn)化到正對(duì)數(shù)域進(jìn)行運(yùn)算,則MAX*可等效為:

公式

按照簡化公式(3)對(duì)MAP譯碼算法[1][3]的分支轉(zhuǎn)移度量、前向遞推項(xiàng)、后向遞推項(xiàng)及譯碼軟輸出進(jìn)行簡化。

分支轉(zhuǎn)移度量:

公式

為防止迭代過程中數(shù)據(jù)溢出,對(duì)前后向遞推項(xiàng)(5)、(6)式進(jìn)行歸一化處理:

公式

公式



關(guān)鍵詞: 實(shí)現(xiàn) Turbo FPGA 基于

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉