<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)用

          作者: 時間:2011-04-30 來源:網(wǎng)絡(luò) 收藏

          傅立葉變換是一種將信號從時域轉(zhuǎn)變?yōu)轭l域表示的變換形式,它是數(shù)字信號處理中對信號進(jìn)行分析時經(jīng)常采用的一種方法。信號的一些特性在時域總是表現(xiàn)得不明顯,通過傅里葉算法,將其變換到頻域,其特性就一目了然。例如,來自供電系統(tǒng)的干擾在時域上總是不易識別,但是在頻域上就可以很清晰地看到50~60 Hz的離散諧波。

            在計算機系統(tǒng)中,實際上是以離散傅立葉變換(DFT)的方式處理數(shù)據(jù)。由于DFT的運算量比較大,并不適用于嵌入式控制系統(tǒng),所以實際應(yīng)用中常使用DFT 的快速算法一快速傅立葉變換()。雖然 比DFT的計算量減少了很多,但用普通單片機來實現(xiàn)多點、實時運算還是比較困難的。DSP(數(shù)字信號處理器)具有運算速度快和精度高的特點,恰好滿足FFT的要求,能較好地解決這個問題。

            1 快速傅里葉變換的原理

            非周期性連續(xù)時間信號x(t)的傅里葉變換可以表示為

          公式

            式中計算出來的是信號x(t)的連續(xù)頻譜。但是,在實際的控制系統(tǒng)中能夠得到的是連續(xù)信號x(t)的離散采樣值x(nT)。因此需要利用離散信號x(nT)來計算信號x(t)的頻譜。

            有限長離散信號x(n),n=0,1,…,N-1的DFT定義為:

          公式

            可以看出,DFT需要計算大約N2次乘法和N2次加法。當(dāng)N較大時,這個計算量是很大的。利用WN的對稱性和周期性,將N點DFT分解為兩個N/2點的 DFT,這樣兩個N/2點DFT總的計算量只是原來的一半,即(N/2)2+(N/2)2=N2/2,這樣可以繼續(xù)分解下去,將N/2再分解為N/4點 DFT等。對于N=2m 點的DFT都可以分解為2點的DFT,這樣其計算量可以減少為(N/2)log2N次乘法和Nlog2N次加法。圖1為FFT與DFT-所需運算量與計算點數(shù)的關(guān)系曲線。由圖可以明顯看出FFT算法的優(yōu)越性。

          FFT與DFT-所需運算量與計算點數(shù)的關(guān)系曲線

            將x(n)分解為偶數(shù)與奇數(shù)的兩個序列之和,即

          公式

            x1(n)和x2(n)的長度都是N/2,x1(n)是偶數(shù)序列,x2(n)是奇數(shù)序列,則

          公式

            其中X1(k)和X2(k)分別為x1(n)和x2(n)的N/2點DFT。由于X1(k)和X2(k)均以N/2為周期,且WN k+N/2=-WN k,所以X(k)又可表示為:

          公式

            上式的運算可以用圖2表示,根據(jù)其形狀稱之為蝶形運算。依此類推,經(jīng)過m-1次分解,最后將N點DFT分解為N/2個兩點DFT。圖3為8點FFT的分解流程。

          蝶形運算

          8點FFT的分解流程

            FFT算法的原理是通過許多小的更加容易進(jìn)行的變換去實現(xiàn)大規(guī)模的變換,降低了運算要求,提高了與運算速度。FFT不是DFT的近似運算,它們完全是等效的。

           


          上一頁 1 2 下一頁

          關(guān)鍵詞: TMS32OLF24O7 FFT

          評論


          相關(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); })();