用STM32F405的DSP库做64点FFT,衰减很大, 是我用错了么,有用过的老师么,指导一下。
另这个信号怎么用F4的FFT,插值的话,误差很大。
#define Fs 14400.0f
#define PI2 PI*2.0f
for(i=0;i<288;i++)
adcfft=1000.0f+100.0f*arm_sin_f32(PI2*i*50.0f/Fs)+ 10.0f * arm_cos_f32(PI2*i*100.0f/Fs) + 1.0f*arm_sin_f32(PI2*i*150.0f/Fs);
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
你的插值又是指的神马、
什么又是误差很大、
+_+
你的窗是个64点的窗,采样频率是14400.
所以频率的物理分辨率为 14400/64 = 225Hz.(这是由于原频谱和sa卷积所造成的)
但是信号一个是50Hz, 一个是100Hz,一个是150Hz,在FFT是无法分辨这些频率的。
虽然不知道你的到底表述的是什么,不过根据你的这个信号,用64点做FFT,根本就是有问题的。
2.288点的FFT,可以减两个点来做FFT,也可以补零不到512做FFT。建议用补零的方法,因为减两个点会造成物理频率分辨率的轻微降低。
一周热门 更多>