怎樣進行信號的運算

怎樣進行信號的運算

FFT算法實現因爲PIC16F877片內有高達368×8位(相當於184×16位)的數據存儲器(RAM),故用片內RAM最多可以完成64點FFT(16位實部和虛部數據)。

現在僅實現16點FFT,主要是起拋磚引玉的作用。這裏的FFT是按頻率抽取的。在調用FFT子程序前,輸入數據按正常次序輸入,而輸出數據是經FFT變換整序處理後輸出。原始數據被變換後的數據覆蓋存放在RAM中,這是通過分解序列實現的;然而分解序列將引起DFT的項序混亂,所以在變換結束,所有的數據需要進行“整序”,以恢復DFT的正內常次序。

某些應用可以不進行整序;因而整序程序編成子程序形容式,當需要時隨時可以調用。輸入數據爲32位,前爲16位實部,後爲16位虛部,中間結果爲32位;輸出數據也是前爲實部,後爲虛部。這樣計算的結果具有相當高的精度。