FFT精度
1 采样长度
在相同的采样率率下,采样不同时间长度信号。fft的精度应该等于采样频率除以采样点数。如一个包括五个频点(20,21,50,51,100)的信号分别采样0.25s,1s,4s得到采样时间采样和其频谱分别如图1和图2、3、4.
图1
图2
图2
图3
在图中可以看出,当采样0.25S长度时,间隔为1Hz的两个信号无法分开;采样时间大于1s时可以区分开两个频率,时间越长则分辨率越高。这是因为对信号的FFT频谱分析实质上对一个周期信号时域上乘以一个矩形窗函数,在频域上等于原信号的实际频谱卷积上这个矩形窗的频谱。而矩形窗函数的Fourier变换是一个sinc形式,矩形窗的宽T越宽,sinc的第一零点为1/T越窄,即拖尾现象越轻。这是这种拖尾导致卷积后的结果中频谱分辨率降低。
2 采样率
不同采样率下由于采样时间长度相同,即窗函数宽度相同,由1中分辨率与采样的时间和使用的窗函数有关,与采样率无关。采样率影响的是什么呢?
3 加窗
可见窗函数实现了对旁辩的抑制,却降低了分辨率。如图比较了几种窗的时域和频域特点
4 FFT求频谱存在两个问题:能量泄漏和栅栏效应。前者是因为加窗截断造成的,后者是因为FFT为一个离散谱,只得求fs/N整数倍频率上的点。这里我们借鉴采用新的算法,同时改善频率分辨率和幅度误差。
假设在10240Hz采样率下采样1024个点,分辨率10Hz,分析信号包括3个点频,
f(1)=189.5;
f(2)=1446;
f(3)=2817;采样的信号为s1=cos(2*pi*f(1).*t)+0.5*cos(2*pi*f(2).*t)+cos(2*pi*f(3).*t);
分析结果如下: