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