新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于DSP處理器的UMTS Turbo MAP 解碼器

        基于DSP處理器的UMTS Turbo MAP 解碼器

        作者: 時間:2008-12-25 來源:網絡 收藏

          2 LLR的實現

          對于UMTS 解碼器,MAP算法的LLR可由式(1),式(2)和式(3)計算得到。式(2)和式(3)分別說明了通過α、γ和β來計算位“1”和位“0”的APP值的關系。這些MAP LLR的關系如圖5(a)和圖5(b)所示。

          

          圖5(a) 位“1”的 MAP關系,(b)位“0”的MAP關系

          對于兩個相同的輸入和輸出,位“1”和位“0”的MAP關系并不相似(極少情況下狀態被交換),而這類不對稱流程使我們無法利用Blackfin中計算單元和加載/存儲單元的最大帶寬。例如,圖5(a)和圖5(b)中標示的部分,我們考慮與式(2)和式(3)的前兩項相對應的頂端蝶形運算。

          

          圖6 在Blackfin ALU上的LLR計算

          由于Blackfin只需要三個周期就能完成四個16位加法和兩個16位求最大值操作,要平衡加載/存儲(DAG)單元的帶寬和計算單元,只能用三個周期來加載數據。假設三個寄存器在三個周期中分別加載了α0|α0, α1|α1和 β4|β0,如圖6所示。那么通過16位加法操作,我們可以在兩個周期中計算出α0+β4|α0+β0和α1+β4|α1+β0。但是,MAX 操作要求仿照式(3)從反方向由α1+β0|α1+β4求得輸出的第二項。Blackfin的16位加法指令所支持的交叉選項(CO)選項可用來換回加法的中間輸出,如圖6所示。如果沒有交叉選項(CO),我們將耗費四個周期來計算四次加法,而不是兩個。采用(CO)選項換回之后,執行最大向量操作(一個周期)即可得到兩個Log-Max 輸出。這一部分程序代碼如圖7所示。有了(CO)選項,就可以在18個Blackfin指令周期內計算某一級上的LLR值。

          

          圖7 利用BF5xx處理器交叉選項(CO)的LLR高效實現

          總結

          本文介紹了在ADI BF5xx處理器上 MAP解碼器的高效實現,詳細說明了基于窗口的存儲空間降低方法,并利用16位加/減和16位求最大值向量指令以及交叉選項(CO),高效地在Blackfin嵌入式處理器上實現了 MAP解碼。該方法耗費大約36個BF5xx周期,即可計算得到一個LLR輸出。同時,利用約50kB的BF5xx存儲空間,完成了UMTS Turbo MAP解碼算法的數據和程序存儲。


        上一頁 1 2 3 4 5 下一頁

        關鍵詞: Turbo DSP BLACKFIN

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 拜城县| 柳江县| 荔浦县| 盐津县| 武城县| 宿迁市| 自治县| 石楼县| 唐河县| 台山市| 平顶山市| 湘阴县| 紫金县| 定远县| 建瓯市| 永吉县| 酒泉市| 荆门市| 神池县| 贵阳市| 建平县| 蒙自县| 新巴尔虎左旗| 吉首市| 乌审旗| 年辖:市辖区| 遵义县| 都匀市| 黔东| 普兰店市| 巴楚县| 嘉义县| 台湾省| 康平县| 奉新县| 汤阴县| 肥东县| 商都县| 额敏县| 宜宾市| 将乐县|