<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于DSP的G.729語音編解碼器設計

          基于DSP的G.729語音編解碼器設計

          作者: 時間:2011-05-31 來源:網(wǎng)絡 收藏

          圖3是該算法精簡后的流程圖。

          d.jpg


          實驗證明,在10幀信號的編碼過程中,這部分算法優(yōu)化后平均可減少15 000次左右的L_mac運算的調(diào)用。
          3.2.2 去除不必要的溢出判斷
          使用CCS中的profiler工具對ITU提供的標準C源碼進行分析,結(jié)果表明,該算法大部分運算都集中在basic_op.c文件中的L_add()、L_mult()等幾個基本函數(shù)上。進一步分析發(fā)現(xiàn),這些函數(shù)在溢出判斷上花費了大量的時間,而實際運算中真正會產(chǎn)生溢出的地方非常少。因此,為了進一步提高代碼效率,在完全不會產(chǎn)生溢出的地方用簡單的基本運算取代函數(shù)的調(diào)用,這樣即能大大縮短運算時間,還能節(jié)省調(diào)用函數(shù)的開銷。例如:
          e.jpg
          這段程序中,由于-215≤a[i]≤215-1,-215≤b[i]≤215-1,那么a[i]*b[19-i]顯然不會超出區(qū)間[-231,231-1],即這一部分不會產(chǎn)生溢出問題,因此這里的L_mult函數(shù)便可簡單替換為:
          j.jpg
          這雖是一段極小的程序,但經(jīng)過這樣簡單的置換后卻能減少數(shù)十個時鐘周期。在整個代碼中類似的例子很多,優(yōu)化后的效果非常明顯。
          3.2.3 循環(huán)優(yōu)化
          對循環(huán)的優(yōu)化一直是代碼優(yōu)化的重點,一般的循環(huán)優(yōu)化包括:循環(huán)合并、循環(huán)展開、循環(huán)內(nèi)部的指令盡可能移到循環(huán)外等。這些方法在文獻中有詳細的介紹,這里就不再贅述。TMS320C54X系列芯片采用6級流水線結(jié)構(gòu),可以并行執(zhí)行多條指令,并在一定條件下可以實現(xiàn)零開銷循環(huán)處理。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();