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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > CVSD算法分析及其在FPGA中的實(shí)現(xiàn)

          CVSD算法分析及其在FPGA中的實(shí)現(xiàn)

          作者: 時間:2009-05-07 來源:網(wǎng)絡(luò) 收藏

          在設(shè)計(jì)上,不僅僅是采用實(shí)現(xiàn)和驗(yàn)證自己的編譯碼算法,還和專用芯片CMX639進(jìn)行互相通信進(jìn)行驗(yàn)證。CMX639是一款全雙工音頻調(diào)制芯片,集成了編碼和譯碼功能,實(shí)現(xiàn)了單芯片語音處理能力,外圍設(shè)備簡單,用戶可以根據(jù)實(shí)際情況,自主選擇采樣速率。
          圖8是通過ChipScope Pro采集的實(shí)時正弦信號。從圖中可以看出量階△的大小能夠很好地反映輸入信號斜率的大小,輸出端輸出信號能夠很好地重現(xiàn)輸入信號,說明編譯碼方式是有效的。

          本文引用地址:http://www.ex-cimer.com/article/192064.htm

          3.4 CVSD算法的實(shí)現(xiàn)
          采用原理圖和VHDL語言相結(jié)合的方式在中實(shí)現(xiàn)了CVSD電路。具體實(shí)現(xiàn)步驟如下:
          (1)根據(jù)算法框圖設(shè)計(jì)頂層原理圖CVSD.SCH;
          (2)利用IP Core產(chǎn)生底層所需要的乘法器;
          (3)利用VHDL語言完成CVSD編譯碼模塊;
          (4)I/O管腳定義,約束條件編寫;
          (5)設(shè)計(jì)綜合、編譯;
          (6)bit文件生成、下載,通過ChipScope Pro進(jìn)行仿真測試;
          (7)根據(jù)仿真測試結(jié)果返回修改設(shè)計(jì),直到設(shè)計(jì)成功;
          (8)mcs文件生成、加載,最終驗(yàn)證。
          驗(yàn)證是設(shè)計(jì)中很重要的一環(huán),只有通過驗(yàn)證才能說明設(shè)計(jì)的正確與否。采用XILINX公司的Spartan一3系列中的XC3S1500來具體實(shí)現(xiàn)CVSD的編譯碼功能。通過自己設(shè)計(jì)的編譯碼算法和CMX639專用芯片的編譯碼模塊互相通信,輸入實(shí)際語音信號測試,能夠很好地從D/A輸出語音信號,從CMX639譯碼輸出也能聽到語音信號,達(dá)到了滿意的效果。


          4 結(jié) 語
          本文提出的FPGA設(shè)計(jì)方法很好地實(shí)現(xiàn)了CVSD編譯碼功能,充分利用了FPGA的優(yōu)勢,可以同時實(shí)現(xiàn)多路CVSD編譯碼功能,彌補(bǔ)了采用專用芯片實(shí)現(xiàn)CVSD編譯碼的不足,設(shè)計(jì)靈活、簡單,成本低,具有很好的應(yīng)用前景。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();