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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于DSP和SOPC數(shù)字信號發(fā)生器的設計

          基于DSP和SOPC數(shù)字信號發(fā)生器的設計

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

          摘 要:為了比較技術(shù)在電子領域的應用,采用泰勒展開法和DDFS技術(shù),分別給出方案的硬件電路結(jié)構(gòu)和軟件流程圖,并通過集成開發(fā)環(huán)境CCS和DE2開發(fā)板實現(xiàn)正弦。結(jié)果表明,采用技術(shù)的正弦與使用芯片實現(xiàn)相比,其高速的運算能力以及內(nèi)部操作的靈活性,使得產(chǎn)生的波形具有控制方便,輸出相位連續(xù),精度高,穩(wěn)定性好等優(yōu)點,具有很高的應用價值。
          關鍵詞:可編程片上系統(tǒng);;集成開發(fā)環(huán)境CCS;

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


          O 引 言
          信號發(fā)生器是在電子電路設計、自動控制系統(tǒng)和儀表測量校正調(diào)試中應用很多的一種信號發(fā)生裝置和信號源。而正弦信號是一種頻率成分最為單一的常見信號源,任何復雜信號(例如聲音信號)都可以通過傅里葉變換分解為許多頻率不同、幅度不等的正弦信號的疊加,廣泛地應用在電子技術(shù)試驗、自動控制系統(tǒng)和通信、儀器儀表、控制等領域的信號處理系統(tǒng)中及其他機械、電聲、水聲及生物等科研領域。
          目前,常用的信號發(fā)生器絕大部分由模擬電路或電路構(gòu)成,體積和功耗都很大,價格也比較貴。隨著微電子技術(shù)和計算機技術(shù)的發(fā)展,以DSP微處理器及DSP軟硬件開發(fā)系統(tǒng)(例如集成開發(fā)環(huán)境CCS)及配套產(chǎn)品為內(nèi)容已形成了龐大并極具前途的高新技術(shù)產(chǎn)業(yè),而可編程邏輯器件、等新技術(shù)的應用迅速滲透到電子、信息、通信等領域。這里分別借助DSP芯片運算速度高,功耗低,實時分析的優(yōu)勢以及SOPC技術(shù)靈活的可配置性、較高的可靠性、硬件升級容易等優(yōu)點設計了正弦信號發(fā)生器,并對各自設計過程及優(yōu)缺點進行了對比。


          1 DSP設計正弦信號發(fā)生器
          1.1 正弦波產(chǎn)生原理
          一般情況,產(chǎn)生正弦波的方法有兩種:查表法和泰勒級數(shù)展開法。查表法是使用比較普遍的方法,優(yōu)點是處理速度快,調(diào)頻調(diào)相容易,精度高,但需要的存儲器容量很大。泰勒級數(shù)展開法需要的存儲單元少,具有穩(wěn)定性好,算法簡單,易于編程等優(yōu)點,而且展開的級數(shù)越多,失真度就越小。本文采用了泰勒級數(shù)展開法。一個角度為θ的正弦和余弦函數(shù),可以展開成泰勒級數(shù),取其前5項進行近似得:


          式中:x為θ的弧度值,x=2πf/fs(fs是采樣頻率;f是所要發(fā)生的信號頻率)。


          上一頁 1 2 3 4 下一頁

          評論


          相關推薦

          技術(shù)專區(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); })();