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