频率分辨率的两种解释,这回终于彻底明白了!
解释一 频率分辨率可以理解为在使用DFT时,在频率轴上的所能得到的最小频率间隔f0=fs/N=1/(N*Ts)=1/T,其中N为采样点数,fs为采样频率,Ts为采样间隔。所以N*Ts就是采样前模拟信号的时间长度T,所以信号长度越长,频率分辨率越好。是不是采样点数越多,频率分辨力提高了呢?其实不是的,因为一段数据拿来就确定了时间T,注意:f0=1/T,而T=N*Ts,增加N必然减小Ts ,因此,增加N时f0是不变的。只有增加点数的同时导致增加了数据长度T才能使分辨率越好。
还有容易搞混的一点,我们在做DFT时,常常在有效数据后面补零达到对频谱做某种改善的目的,我们常常认为这是增加了N,从而使频率分辨率变好了,其实不是这样的,补零并没有增加有效数据的长度,仍然为T。
但是补零其实有其好处:
· 使数据N为2的整次幂,便于使用FFT;
· 补零后,其实是对DFT结果做了插值,克服“栅栏”效应,使谱外观平滑化。我把“栅栏”效应形象理解为,就像站在栅栏旁边透过栅栏看外面风景,肯定有被栅栏挡住比较多风景,此时就可能漏掉较大频域分量,但是补零以后,相当于你站远了,改变了栅栏密度,风景就看的越来越清楚了。
· 由于对时域数据的截短必然造成频谱泄露,因此在频谱中可能出现难以辨认的谱峰,补零在一定程度上能消除这种现象。
那么选择DFT时N参数要注意:
· 由采样定理:fs>=2fh
· 频率分辨率:f0=fs/N
所以一般情况给定了fh和f0时也就限制了N范围:N>=fs/f0。
解释二 频率分辨率也可以理解为某一个算法(比如功率谱估计方法)将原信号中的两个靠得很近的谱峰依然能保持分开的能力。这是用来比较和检验不同算法性能好坏的指标。
在信号系统中我们知道,宽度为N的矩形脉冲,它的频域图形为sinc函数,两个一阶零点之间的宽度为4π/N。由于时域信号的截短相当于时域信号乘了一个矩形窗函数,那么该信号的频域就等同卷积了一个sinc函数,也就是频域受到sinc函数的调制了,根据卷积的性质,因此两个信号圆周频率之差ω0必须大于4π/N。
从这里可以知道,如果增加数据点数N,即增加数据长度,也可以使频率分辨率变好,这一点与第一种解释是一样的。同时,考虑到窗函数截短数据的影响存在,当然窗函数的特性也要考虑,在频率做卷积,如果窗函数的频谱是个冲击函数最好了,那不就是相当于没截断吗?
可是那不可能的,我们考虑窗函数主要是以下几点:
· 主瓣宽度B最小(相当于矩形窗时的4π/N,频域两个过零点间的宽度);
· 最大边瓣峰值A最小(这样旁瓣泄露小,一些高频分量损失少了);
· 边瓣谱峰渐近衰减速度D最大(同样是减少旁瓣泄露)。
在此,总结几种很常用的窗函数的优缺点:
· 矩形窗:B=4π/N ,A=-13dB,D=-6dB/oct
· 三角窗:B=8π/N ,A=-7dB,D=-12dB/oct
· 汉宁窗:B=8π/N ,A=-32dB,D=-18dB/oct
· 海明窗:B=8π/N ,A=-43dB,D=-6dB/oct
· 布莱克曼窗:B=12π/N,A=-58dB,D=-18dB/oct
可以看出,矩形窗有最窄的主瓣,但是旁瓣泄露严重。汉宁窗和海明窗虽主瓣较宽,但是旁瓣泄露少,是常选用的窗函数。
本文来源于新浪考研数学笔记的博客,博主系武汉大学电子信息学院博士。
页:
[1]