<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 基于DSP的信道譯碼算法優(yōu)化

    時間:2024-10-13 08:29:21 理工畢業(yè)論文 我要投稿
    • 相關(guān)推薦

    基于DSP的信道譯碼算法優(yōu)化

    摘要:在DSP上移植算法,代碼優(yōu)化程度成為提高系統(tǒng)性能、縮短開發(fā)周期的瓶頸。同時針對復雜算法在DSP上的實現(xiàn),也產(chǎn)生很多優(yōu)化策略、方法。本文以在數(shù)字通信系統(tǒng)中應(yīng)用廣泛的Viterbi算法為例,簡述Viterbi算法的基本原理和目標處理器(TMS320C6211)的處理能力;介紹C6000軟件編程及優(yōu)化的步驟,并提出一些具體的優(yōu)化策略和技巧。

    雖然Texas Instrument推出的C6000系列DSP使對信號處理的能力顯著提高,但對信息處理能力要求的不斷提升使提對DSP程序的優(yōu)化越來越成為DSP開發(fā)工作中非常重要的環(huán)節(jié)。本文討論2Mbps視頻數(shù)據(jù)流的Viterbi算法的移植與優(yōu)化策略、技巧。

    1 Viterbi算法原理簡介

    Viterbi譯碼算法是由Viterbi于1967年提出的一種最大似然譯碼方法,譯碼器根據(jù)接收序列R按最大似然準則力圖找出正確的原始碼序列。隨著大規(guī)模集成電路技術(shù)的發(fā)展,采用Viterbi算法的卷積編碼技術(shù)已成為廣泛應(yīng)用的糾錯方案。Viterbi譯碼過程可用狀態(tài)圖表示,圖1表示2個狀態(tài)的狀態(tài)轉(zhuǎn)移圖。Sj,t和Sj N/2,t表示t時刻的兩個狀態(tài)。在t 1時刻,這兩個狀態(tài)值根據(jù)路徑為0或者1,轉(zhuǎn)移到狀態(tài)S2j,t 1和S2j 1,t 1。每一種可能的狀態(tài)轉(zhuǎn)移都根據(jù)接收到的有噪聲的序列R計算路徑度量,然后選擇出各個狀態(tài)的最小度量路徑(幸存路徑)。Viterbi算法就是通過在狀態(tài)圖中尋找最小量路徑向前回溯L步,最后得到的即為譯碼輸出。

    在卷積碼(n,k,m)表示法中,參數(shù)k表示每次輸入信息碼位數(shù),n表示編碼的輸出卷積碼位數(shù),m稱為約束長度(一些書中采用k=m 1為約束長度,也可稱(2,1,2)碼網(wǎng)格圖,r=k/n稱為信息率,即編碼效率。本文使用的是(2,1,3)碼,約速長度為2,狀態(tài)數(shù)為2 2=-4。

    2 目標處理器簡介

    TMS320C6000系列DSPs(數(shù)字信號處理器)是TI公司推出的一種并行處理的數(shù)字信號處理器,是基于TI的VLIW技術(shù)的。本文采用的是TMS320C6211。該處理器的工作頻率經(jīng)過倍頻可達到150MHz,每個時鐘周期最多可并行執(zhí)行8條指令,從而可以實現(xiàn)1200MIPS定點運算能力。C6000系列CPU采用哈佛結(jié)構(gòu),其程序總線與數(shù)據(jù)總線分開,取指令與執(zhí)行指令可以并行運行。其程序總線寬度為256位,每一次取指操作都是取8條指令,稱為一個取指包,執(zhí)行時每條指令占用1個功能單元。取指、指令分配和指令譯碼單元都具有每周期讀取并傳遞8條32位指令的能力。C6000系列CPU有2個類似的可進行數(shù)據(jù)處理的數(shù)據(jù)通道A和B,每個通路有4個功能單元(.L、.S、.M、.D)和1組包括16個(C64有32個)32位寄存器的通用寄存器組,每個功能單元完成一定的算術(shù)或邏輯運算。

    C6000的特殊結(jié)構(gòu)使多個指令交迭地在不同功能單元內(nèi)處理,大大提高了微處理器的處理能力。另外在其CPU硬件結(jié)構(gòu)上,C6000的流水線分為三個階段:取指、譯碼、執(zhí)行,每一級又包含幾個節(jié)拍。流水處理使得若干條指令的不同執(zhí)行階段可以并行執(zhí)行,從而能夠大幅度提高程序運行速度。

    3 算法的編程實現(xiàn)及優(yōu)化

    根據(jù)C6000的軟件編程流程,對Viterbi算法的編程及其優(yōu)化可分為三個階段來進行。這三個階段分別為:開發(fā)C代碼、優(yōu)化C代碼、編寫線性匯編代碼。在代碼編寫和優(yōu)化過程中,這三個階段不是必須都要經(jīng)過的,只要在某一階段已經(jīng)滿足了算法代碼的功能和性能要求,就不必繼續(xù)進行下面的階段。

    ①開發(fā)C代碼。這一階段完全是根據(jù)任務(wù)要求來完成算法的代碼編寫工作。在C6000的集成開發(fā)環(huán)境CCS(Code Composer Studio)下進行代碼的編譯和功能驗證,然后可用CCS的調(diào)試工具(如Profiler),利用在程序中設(shè)置斷點的方法可找出程序中耗時最多、最影響整體性能的代碼段。為改進代碼性能,可進入下一階段。如下是針對(2,1,3)碼的Viterbi算法代碼中完成算法功能的核心循環(huán),也是最耗時、最影響代碼整體性能的低效率段。

    for(c=0;c

    【基于DSP的信道譯碼算法優(yōu)化】相關(guān)文章:

    基于序貫蒙特卡羅算法的MIMO信道跟蹤11-22

    基于802.11a的信道估計算法設(shè)計與研究03-07

    LDPC碼譯碼算法研究03-07

    基于MR信息干擾矩陣的頻率優(yōu)化算法03-07

    基于智能優(yōu)化算法的MRI圖像適配模板濾波的閾值優(yōu)化03-07

    基于信道估計的改進單載波頻域塊LMS算法研究03-05

    V-BLAST典型譯碼算法的研究03-07

    OFDM系統(tǒng)中基于導頻插入的信道估計算法研究03-07

    FFT算法的研究與DSP實現(xiàn)03-07

    主站蜘蛛池模板: 久久精品国产第一区二区三区| 凹凸69堂国产成人精品视频| 国产精品亲子乱子伦xxxx裸| 狠狠色伊人久久精品综合网| 国产国产成人精品久久| 亚洲欧美日韩国产精品| 精品国产_亚洲人成在线高清| 日本aⅴ精品中文字幕| 日韩精品欧美亚洲| 国产在线观看一区精品 | 久久久久这里只有精品| 亚洲国产精品第一区二区| 国产精品伦一区二区三级视频| 在线精品自拍无码| 青青热久久国产久精品| 精品国产综合区久久久久久| 在线精品视频播放| 久久精品国产精品亚洲精品| 精品人妻大屁股白浆无码| 亚洲国产成人精品无码区在线观看| 久久精品免费大片国产大片| 成人精品一区二区三区在线观看| 国产精品自产拍在线观看| HEYZO无码综合国产精品| 日本aⅴ精品中文字幕| 久久久一本精品99久久精品88| 亚洲永久精品ww47| 亚洲精品午夜无码电影网| 中国国产精品| 亚洲αv在线精品糸列| 中文字幕精品亚洲无线码一区| 一区二区国产精品| 亚洲精品美女久久久久99| 亚洲精品国产精品乱码不卡√ | 精品人妻少妇一区二区三区不卡 | 久久精品国产亚洲av水果派| 四虎国产精品永久在线| 一本久久a久久精品综合夜夜| 久久99精品久久久久久野外| 97久久精品人妻人人搡人人玩| 精品国产第一国产综合精品|