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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于TMS32OLF24O7的FFT算法的實現(xiàn)及應(yīng)用

          基于TMS32OLF24O7的FFT算法的實現(xiàn)及應(yīng)用

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

          TMS320LF2407定點DSP是一款專為工業(yè)控制、電機(jī)控制和數(shù)字信號處理等用途而設(shè)計的DSP,具備單周期乘加指令,具有反序間接尋址功能,最高運(yùn)行速度為40MIPS。為了充分利用DSP芯片特有的反序間接尋址等功能,程序采用語言編寫,主程序采用C語言,因此程序具有良好的兼容性和可擴(kuò)展性。
          主程序流程圖如圖4所示。系統(tǒng)初始化主要完成DSP的系統(tǒng)控制和狀態(tài)寄存器、等待狀態(tài)發(fā)生器控制寄存器、中斷寄存器等的必要設(shè)置。
          本程序采樣函數(shù)為:x=sin(20πt),采樣頻率為640Hz。
          輸入數(shù)據(jù)波形如圖5所示。一般情況下,我們只關(guān)心信號頻域的幅度譜。幅度譜|X(k)|2的計算:X(k)=XR(k)+jX(k),|X(k)2|=|Xr(k)|2+|Xi(k)|2。計算結(jié)果的信號幅度譜|X(k)|2如圖6所示。
          輸入信號頻率是10Hz,根據(jù)公式f=kfs/N,f是原始信號的頻率,k表示峰值出現(xiàn)的位置,fS是采樣頻率,N是計算的點數(shù),從幅度譜中看出,峰值出現(xiàn)在k=1處,那么,f=1×640/64=10,與原始信號的實際頻率一致,說明計算結(jié)果正確。


          3 快速傅里葉變換(FFT)的
          FFT在生產(chǎn)實踐和科學(xué)研究中有著廣泛的。圖7為FFT的典型方案。下面簡單介紹一下FFT的應(yīng)用領(lǐng)域。

          (1)頻譜分析。對各類旋轉(zhuǎn)機(jī)械、電機(jī)、機(jī)床等機(jī)器的主體或部件進(jìn)行實際運(yùn)行狀態(tài)下的頻譜分析,可以提供設(shè)計數(shù)據(jù)和檢驗設(shè)計結(jié)果,或者找尋震源和診斷故障,保證設(shè)備的安全運(yùn)行等。在聲納系統(tǒng)中,為了尋找海洋水面船只或潛艇,需要對噪聲信號進(jìn)行頻譜分析,以提供有用信息,判斷艦艇運(yùn)行速度、方向、位置、大小等。
          (2)濾波。濾波是FFT最廣泛的應(yīng)用,它使對波形的頻率分量濾波變得十分簡單。比如對采樣信號進(jìn)行FFT后,去掉不需要的頻率分量,再進(jìn)行FFT反變換,就得到濾波后的期望信號。
          (3)電力監(jiān)控系統(tǒng)的諧波分析。電力監(jiān)控系統(tǒng)的諧波分析,需要對采樣數(shù)據(jù)進(jìn)行FFT運(yùn)算,然后通過液晶屏或其它人機(jī)界面重新繪畫出來,以方便技術(shù)人員掌握電力的質(zhì)量。

          4 總結(jié)
          實驗證明,此程序在TMS320LF2407定點DSP中運(yùn)行良好,速度快且運(yùn)算結(jié)果十分可靠,其用于一般的信號處理和工業(yè)控制都能滿足精度和實時的要求,具有較高的學(xué)術(shù)價值和良好的應(yīng)用前景。其次,掌握FFT,學(xué)會在空域和頻域中同時思考問題,很多時候可以讓我們使用簡單的方法來解決復(fù)雜的問題。


          上一頁 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); })();