短幀Turbo譯碼器的FPGA實現(xiàn)
3.1 數(shù)據(jù)量化
在通信系統(tǒng)中,譯碼器的接收數(shù)據(jù)并不是連續(xù)不變的模擬量,而是經(jīng)過量化后的數(shù)字量。接收數(shù)據(jù)的量化會引入量化噪聲,從而影響譯碼的性能。所以,接收數(shù)據(jù)量化的精度直接影響到譯碼的性能。由參考文獻(xiàn)[5~6]可知,采用3位量化精度就能得到與沒有經(jīng)過量化的浮點數(shù)據(jù)相近的譯碼性能。為了簡化FPGA的設(shè)計,本文采用了統(tǒng)一的定點量化標(biāo)準(zhǔn)F(9,3),即最高位為符號位,整數(shù)部分8位,小數(shù)部分3位。由此,前后遞推項(9)、(10)式的初始值可表示為:

3.2 MAX*運算單元
由前面的MAX-LOG-MAP算法介紹可知,MAX*運算單元是整個譯碼的主要運算單元,它與viterbi譯碼的ACS(加比選)運算單元一樣,先分別進(jìn)行加法操作,然后對所得結(jié)果進(jìn)行比較,最后將較小的一個結(jié)果作為運算結(jié)果輸出。實現(xiàn)結(jié)構(gòu)如圖2所示。

3.3 前后向遞推運算單元
由公式(5)~(8)可知,前后向遞推單元除了需要進(jìn)行MAX*與運算外,還需要進(jìn)行歸一化處理。為得到較快的運算速度,首先,計算上一時刻所有狀態(tài)的最小值,然后對當(dāng)前時刻的每一狀態(tài)進(jìn)行MAX*運算,并將運算結(jié)果減去上一時刻的最小狀態(tài)值,即得到當(dāng)前時刻遞推各狀態(tài)的歸一化值。實現(xiàn)結(jié)構(gòu)如圖3所示。

評論