解释一 频率分辨率可以理解为在使用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 可以看出,矩形窗有最窄的主瓣,但是旁瓣泄露严重。汉宁窗和海明窗虽主瓣较宽,但是旁瓣泄露少,是常选用的窗函数。 本文来源于新浪考研数学笔记的博客,博主系武汉大学电子信息学院博士。 |
GMT+8, 2024-11-25 21:48 , Processed in 0.043393 second(s), 22 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.