ARM CMSIS FFT庫


#include "arm_math.h"
#include "arm_const_structs.h"


#define FFT_LENGTH        1024         //FFT??,???1024?FFT

float fft_inputbuf[FFT_LENGTH*2];    //FFT????
float fft_outputbuf[FFT_LENGTH];    //FFT????
	    
    for(i=0;i<FFT_LENGTH;i++)//??????
	{
		fft_inputbuf[2*i] = table[i];

		fft_inputbuf[2*i+1]=0;
	}
	
	arm_cfft_f32(&arm_cfft_sR_f32_len1024,fft_inputbuf,0,1);
    arm_cmplx_mag_f32(fft_inputbuf,fft_outputbuf,FFT_LENGTH);    
	for(i=0;i<FFT_LENGTH;i++)
	{
		fft_outputbuf[i] = fft_outputbuf[i]/FFT_LENGTH;
		printf("%06f,\r\n",fft_outputbuf[i]);
	}

本採樣爲1024個數據。

100Hz的採樣率,分辨率爲100/1024 = 0.0976Hz

第0個數據是基波.。

實際觀察了下,浮點數對於處理器資源要求還是比較高,不是很實用。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章