基于TMS32OLF24O7的FFT算法的實現(xiàn)及應用
TMS320LF2407定點DSP是一款專為工業(yè)控制、電機控制和數(shù)字信號處理等用途而設計的DSP,具備單周期乘加指令,具有FFT反序間接尋址功能,最高運行速度為40MIPS。為了充分利用DSP芯片特有的反序間接尋址等功能,FFT算法程序采用匯編語言編寫,主程序采用C語言,因此程序具有良好的兼容性和可擴展性。
主程序流程圖如圖4所示。系統(tǒng)初始化主要完成DSP的系統(tǒng)控制和狀態(tài)寄存器、等待狀態(tài)發(fā)生器控制寄存器、中斷寄存器等的必要設置。
本程序采樣函數(shù)為:x=sin(20πt),采樣頻率為640Hz。
輸入數(shù)據(jù)波形如圖5所示。一般情況下,我們只關心信號頻域的幅度譜。幅度譜|X(k)|2的計算:X(k)=XR(k)+jX(k),|X(k)2|=|Xr(k)|2+|Xi(k)|2。FFT計算結果的信號幅度譜|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,與原始信號的實際頻率一致,說明計算結果正確。
3 快速傅里葉變換(FFT)的應用
FFT在生產(chǎn)實踐和科學研究中有著廣泛的應用。圖7為FFT的典型應用方案。下面簡單介紹一下FFT的應用領域。
(1)頻譜分析。對各類旋轉機械、電機、機床等機器的主體或部件進行實際運行狀態(tài)下的頻譜分析,可以提供設計數(shù)據(jù)和檢驗設計結果,或者找尋震源和診斷故障,保證設備的安全運行等。在聲納系統(tǒng)中,為了尋找海洋水面船只或潛艇,需要對噪聲信號進行頻譜分析,以提供有用信息,判斷艦艇運行速度、方向、位置、大小等。
(2)濾波。濾波是FFT最廣泛的應用,它使對波形的頻率分量濾波變得十分簡單。比如對采樣信號進行FFT后,去掉不需要的頻率分量,再進行FFT反變換,就得到濾波后的期望信號。
(3)電力監(jiān)控系統(tǒng)的諧波分析。電力監(jiān)控系統(tǒng)的諧波分析,需要對采樣數(shù)據(jù)進行FFT運算,然后通過液晶屏或其它人機界面重新繪畫出來,以方便技術人員掌握電力的質量。
4 總結
實驗證明,此程序在TMS320LF2407定點DSP中運行良好,速度快且運算結果十分可靠,其用于一般的信號處理和工業(yè)控制都能滿足精度和實時的要求,具有較高的學術價值和良好的應用前景。其次,掌握FFT,學會在空域和頻域中同時思考問題,很多時候可以讓我們使用簡單的方法來解決復雜的問題。
評論