基于DSP處理器的UMTS Turbo MAP 解碼器
圖 2 基于窗口的Turbo解碼器的高效實現(xiàn)
在這一部分,將討論Turbo MAP解碼器中復(fù)雜的度量計算如何在ADI Blackfin處理器上實現(xiàn),并充分利用Blackfin處理器提供的專用特性高效實現(xiàn)Turbo解碼器。
1 狀態(tài)度量計算實現(xiàn)
圖3 第n+1級和第n級計算的蝶形算法
狀態(tài)度量α和β可由式(4)和式(5)求得,該狀態(tài)度量的計算可用圖3所示的方法得以實現(xiàn)。α由正向(從左到右)計算得到,而β則由反向(從右到左)計算得到。圖中,實線和虛線分別對應(yīng)于輸入“1”和“0”的編碼。雖然通過分支度量(γ),可以由兩個輸入狀態(tài)度量計算出兩個輸出狀態(tài)度量(α和β),但這兩個度量的輸出狀態(tài)卻根據(jù)它們各自的輸入狀態(tài)而有所不同。在執(zhí)行過程中,這一輸入和輸出狀態(tài)度量的位置改變,在將數(shù)據(jù)從ALU寄存器存入存儲器和將數(shù)據(jù)從存儲器載入ALU寄存器時,可以通過加載/存儲(DAG)模塊解決。
圖4 UMTS Turbo解碼器狀態(tài)度量估計的高效實現(xiàn)
UMTS Turbo解碼過程中,α和β計算在Blackfin處理器上的高效實現(xiàn)如圖4。由于Blackfin處理器能以向量模式運行,在單個指令周期執(zhí)行四個16位加/減操作或兩個16位求最大值操作,每一級α的計算需要8個循環(huán)周期來完成,而每一級β的計算則需要另外8個周期來完成。
評論