短幀Turbo譯碼器的FPGA實(shí)現
Turbo碼雖然具有優(yōu)異的譯碼性能,但是由于其譯碼復雜度高,譯碼延時(shí)大等問(wèn)題,嚴重制約了Turbo碼在高速通信系統中的應用。因此,如何設計一個(gè)簡(jiǎn)單有效的譯碼器是目前Turbo碼實(shí)用化研究的重點(diǎn)。本文主要介紹了短幀Turbo譯碼器的FPGA實(shí)現,并對相關(guān)參數和譯碼結構進(jìn)行了描述。
本文引用地址:http://dyxdggzs.com/article/151302.htm1 幾種譯碼算法比較
Turbo碼常見(jiàn)的幾種譯碼算法中,MAP算法[1][3]具有最優(yōu)的譯碼性能。但因其運算過(guò)程中有較多的乘法和指數運算,硬件實(shí)現很困難。簡(jiǎn)化的MAP譯碼算法是LOG-MAP算法和MAX-LOG-MAP算法,它們將大量的乘法和指數運算轉化成了加減、比較運算,大幅度降低了譯碼的復雜度,便于硬件實(shí)現。簡(jiǎn)化算法中,LOG-MAP算法性能最接近MAP算法,MAX-LOG-MAP算法次之,但由于LOG-MAP算法后面的修正項需要一個(gè)查找表,增加了存儲器的使用。所以,大多數硬件實(shí)現時(shí),在滿(mǎn)足系統性能要求的情況下,MAX-LOG-MAP算法是硬件實(shí)現的首選。通過(guò)仿真發(fā)現,采用3GPP的編碼和交織方案[2],在短幀情況下,MAX-LOG-MAP算法同樣具有較好的譯碼性能。
如圖1所示,幀長(cháng)為128,迭代6次,BER=10-5的數量級時(shí), MAX-LOG-MAP算法的譯碼性能比MAP算法差大約0.6dB,比LOG-MAP算法差0.2dB左右。所以,本文采用3GPP的交織和(13,15)編碼方案,MAX-LOG-MAP譯碼算法進(jìn)行短幀Turbo碼譯碼器的FPGA實(shí)現與設計。

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

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

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


評論