转自: http://blog.sina.com.cn/s/blog_4af018020100ef2k.html
栅栏效应:
对采样信号的频谱,为提高计算效率,通常采用FFT算法进行计算,设数据点数为
N = T/dt = T.fs
则计算得到的离散频率点为
Xs(fi) , fi = i.fs/N , i = 0,1,2,…,N/2
这就相当于透过栅栏观赏风景,只能看到频谱的一部分,而其它频率点看不见,因此很可能使一部分有用的频率成分被漏掉,此种现象被称为栅栏效应.
N = T/dt = T.fs
则计算得到的离散频率点为
Xs(fi) , fi = i.fs/N , i = 0,1,2,…,N/2
这就相当于透过栅栏观赏风景,只能看到频谱的一部分,而其它频率点看不见,因此很可能使一部分有用的频率成分被漏掉,此种现象被称为栅栏效应.
减小栅栏效应可用提高采样间隔也就是频率分辨力的方法来解决。间隔小,频率分辨力高,被“挡住”或丢失的频率成分就会越少。但会增加采样点数,使计算工作量增加。解决此项矛盾可以采用如下方法:在满足采样定理的前提下,采用频率细化技术(ZOOM),亦可用把时域序列变换成频谱序列的方法。
设定采样频率fs=5120Hz,软件中默认的FFT计算点数为512,其离散频率点为
fi = i.fs/N = i.5120/512=10×i , i= 0,1,2,…,N/2
位于505Hz 位置的真实谱峰被挡住看不见,看见的只是它们在相邻频率500Hz或510Hz处能量泄漏的值。
若设 fs=2560Hz,则频率间隔df=5Hz,重复上述分析步骤,这时在505位置有谱线,我们就能得到它们的精确值。从时域看,这个条件相当于对信号进行整周期采样,实际中常用此方法来提高周期信号的频谱分析精度。
频谱泄露:截断信号时域上相当于是乘以了rectangular window,于是造成了频谱泄漏的问题。
见参考书:lyon的understanding DSP.
旁瓣效应:
补零对频谱的影响:
进行zero padding只是增加了数据的长度,而不是原信号的长度。就好比本来信号是一个周期的余弦信号,如果又给它补了9个周期长度的0,那么信号并不是10个周期的余弦信号,而是一个周期的余弦加一串0,补的0并没有带来新的信息。其实zero padding等价于频域的sinc函数内插,而这个sinc函数的形状(主瓣宽度)是由补0前的信号长度决定的,补0的作用只是细化了这个sinc函数,并没有改变其主瓣宽度。而频率分辨率的含义是两个频率不同的信号在频率上可分,也就要求它们不能落到一个sinc函数的主瓣上。所以,如果待分析的两个信号频率接近,而时域长度又较短,那么在频域上它们就落在一个sinc主瓣内了,补再多的0也是无济于事的。