Turbo簡(jiǎn)化譯碼算法的FPGA設(shè)計(jì)與實(shí)現(xiàn)
3 FPGA實(shí)現(xiàn)關(guān)鍵技術(shù)
3.1 數(shù)據(jù)量化
在通信系統(tǒng)中,譯碼器的接收數(shù)據(jù)并不是連續(xù)不變的模擬量,而是經(jīng)過(guò)量化后的數(shù)字量。接收數(shù)據(jù)的量化會(huì)引入量化噪聲,從而影響譯碼的性能。所以,接收數(shù)據(jù)量化的精度直接影響到譯碼的性能。由參考文獻(xiàn)[5~6]可知,采用3位量化精度就能得到與沒(méi)有經(jīng)過(guò)量化的浮點(diǎn)數(shù)據(jù)相近的譯碼性能。為了簡(jiǎn)化FPGA的設(shè)計(jì),本文采用了統(tǒng)一的定點(diǎn)量化標(biāo)準(zhǔn)F(9,3),即最高位為符號(hào)位,整數(shù)部分8位,小數(shù)部分3位。由此,前后遞推項(xiàng)(9)、(10)式的初始值可表示為:
3.2 MAX*運(yùn)算單元
由前面的MAX-LOG-MAP算法介紹可知,MAX*運(yùn)算單元是整個(gè)譯碼的主要運(yùn)算單元,它與viterbi譯碼的ACS(加比選)運(yùn)算單元一樣,先分別進(jìn)行加法操作,然后對(duì)所得結(jié)果進(jìn)行比較,最后將較小的一個(gè)結(jié)果作為運(yùn)算結(jié)果輸出。實(shí)現(xiàn)結(jié)構(gòu)如圖2所示。
3.3 前后向遞推運(yùn)算單元
由公式(5)~(8)可知,前后向遞推單元除了需要進(jìn)行MAX*與運(yùn)算外,還需要進(jìn)行歸一化處理。為得到較快的運(yùn)算速度,首先,計(jì)算上一時(shí)刻所有狀態(tài)的最小值,然后對(duì)當(dāng)前時(shí)刻的每一狀態(tài)進(jìn)行MAX*運(yùn)算,并將運(yùn)算結(jié)果減去上一時(shí)刻的最小狀態(tài)值,即得到當(dāng)前時(shí)刻遞推各狀態(tài)的歸一化值。實(shí)現(xiàn)結(jié)構(gòu)如圖3所示。
評(píng)論