• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    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

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 达孜县| 纳雍县| 高青县| 康乐县| 西林县| 新乐市| 松溪县| 甘肃省| 兴海县| 集贤县| 永春县| 德兴市| 盐源县| 襄樊市| 凌源市| 九江县| 洞口县| 阳原县| 大荔县| 新野县| 日土县| 延津县| 页游| 安国市| 上饶县| 萝北县| 柘城县| 伊川县| 秭归县| 安龙县| 广昌县| 嘉禾县| 城固县| 雷州市| 吴桥县| 斗六市| 潮州市| 萝北县| 芜湖县| 三明市| 荔浦县|