3G系統中Turbo譯碼改進及DSP實現
Turbo碼是近年來通信系統糾錯編碼領域的重大突破,他以其接近Shannon限的優越性能博得眾多學者的青睞。在第三代移動通信系統中,Turbo碼在各種標準中被普遍作為高速數據業務的信道編碼方式,如何實現高性能的Turbo碼譯碼器,成為第三代移動通信系統開發中接收機基帶處理部分的重點和難點之一。Turbo譯碼器中的分量譯碼器的實現算法有SOVA算法,Max-Log-Map算法和Log-Map算法,其中SOVA算法復雜度最低,性能最差;Log-Map算法性能最佳,復雜度最大,本文采用基于Max-Log-Map的優化譯碼算法,對狀態量度歸一化計算和滑動窗算法等關鍵技術進行優化,在滿足性能要求的情況下,大大降低算法復雜度。
本文引用地址:http://www.104case.com/article/151051.htm1 Turbo編碼器.譯碼器及算法
Turbo編碼器采用3GPP的編碼方案,由約束長度K為4,碼率為1/2的RSC編碼器通過1個交織器并行級聯而成,為提高性能對2個譯碼器分別附加3個尾比特使譯碼器的最終狀態為全0。
譯碼器采用反饋迭代結構,每級譯碼模塊除了交織器,解交織器外主要包括兩個級聯的分量譯碼器;一個分量譯碼器的輸出的軟判決信息經過處理成為外信息輸入另一個分量譯碼器,形成迭代譯碼,在迭代一定級數后硬判決輸出。
編碼網格表貫穿整個譯碼過程,任意時刻k~k+1的RSC網格結構如圖3所示,圖中編碼器輸入的0~7狀態可以由二進制表示。
下面介紹Max-Log-Map算法。
由于需要進行大量的乘法運算和指數運算,Map算法不適用于硬件實現。Erfanian和Pasupanthy最早提出了Map算法在對數域的簡化算*og-Map算法。通過轉換到對數域運算,避免了指數運算,同時乘法變成加法,而加法則變成Max運算,不過由此也會帶來了一定的性能損失。下面簡要描述Max-Log-Map算法。設Ak(s),Bk(s),Γk(s)分別代表對數域的前向狀態度量、后向狀態度量和分支度量,其表達式分別可表示為:
如圖3所示,每個節點狀態s都對應于一個Ak(s),1個Bk(5)和2個Γk(s)。因此編碼網絡貫穿整個編譯碼過程,譯碼前要先按圖3建立網格映射表。
評論