sd
发表于 2016-7-5 10:50
ZH----过客 发表于 2016-7-5 10:47
加不同的窗会造成的泄漏也会不尽相同,但是每个窗都有自己的优点!!!所以在实际中我们要根据具体的情况去 ...
比如呢举例说说
ZH----过客
发表于 2016-7-5 10:57
sd 发表于 2016-7-5 10:50
比如呢举例说说
(1)矩形窗(Rectangle):习惯上不加窗就是使信号通过了矩形窗。优点是主瓣比较集中,缺点是旁瓣较高并伴有负旁瓣。导致变换中带进了高频干扰和泄露,甚至出现负谱现象,频率识别精度较高,幅值识别精度最低,所以矩形窗不是一个理想窗。应用:如果仅要求精确读出主瓣频率,而不考虑幅值精度,则可选用矩形窗。例如测量物体的自振频率等也可以用在阶次分析中。
(2)汉宁窗(Hanning):又称余弦窗。主瓣加宽并降低,旁瓣则显著减小。从减小泄露的观点出发,汉宁窗优于矩形窗,但汉宁窗主瓣加宽,相当于分析带宽加宽,频率分辨率下降。它与矩形窗相比泄露、波动都减小了并且选择性也提高。应用:如果测试信号有多个频率分量,频谱表现的十分复杂,且测试的目的更多关注频率点而非能量大小需要选择汉宁窗。如果被测信号是随机或未知的选择汉宁窗。
sd
发表于 2016-7-5 13:09
一个二维Hann窗的例子
由于hann函数只能得到一个1维的窗。所以要用一个矩阵乘法
f1 = imread('deglena00000.tif');
= size(f1);
W = hanning(N1) * hanning(N2)';
f1_fft = fft2(W.*double(f1));
TestGuru
发表于 2016-7-5 16:13
1. 如果DFT采集时间窗口内的信号的周期延拓与实际信号完全吻合,那么就不会出现泄漏现象。换句话说,对于周期信号,如果采集时间窗口内正好包含整数个信号周期,就能避免频谱泄漏。有时可利用这个特点来进行所谓的整周期采样(这里面还有更多的规矩细节)。
下面是一个1000.4882812Hz的正弦信号,采样频率为48kHz,FFT点数为32768(无窗,或矩形窗),因此一个FFT段包含32768/48000*1000.4882812=683个整信号周期,信号能量集中于单一谱线上,无泄漏。
2. 如果DFT采集时间窗口内的信号的周期延拓与实际信号不完全吻合,就会在周期延拓的边界上出现不连续点,就会出现泄漏现象。
下面是一个1000Hz的正弦信号,采样频率为48kHz,FFT点数为32768(无窗,或矩形窗),因此一个FFT段包含32768/48000*1000=682.6666667个信号周期,信号能量分散于多条谱线上,而且散布到离信号本身频率以外相当远的地方,出现了严重的频谱泄漏。
3. 减少频谱泄漏的方法就是将采集时间窗口内的数据乘以一个窗函数,再做DFT。与矩形窗给所有采集窗口内的数据同样的权重(即:1)不同,通常采用的窗函数都是给予采集窗口内中间的数据最大的权重(即:1),然后从中间到两边权重逐渐减小,最后在边界上变为0,这就强制了在DFT周期延拓的边界上,不会出现不连续的跳变。
加窗后,在周期延拓的边界上,被强制连续。
下面是一个1000Hz的正弦信号,采样频率为48kHz,FFT点数为32768(汉宁窗),因此一个FFT段包含32768/48000*1000=682.6666667个信号周期,加窗后信号能量集中于信号频率附近的几条谱线上,频谱泄漏的情况比不加窗时小。
sd
发表于 2016-7-5 16:23
TestGuru 发表于 2016-7-5 16:13
1. 如果DFT采集时间窗口内的信号的周期延拓与实际信号完全吻合,那么就不会出现泄漏现象。换句话说,对于周 ...
说的很详细很清楚要是能把程序也贴出来就更好了
加窗的意义就是要减少频谱泄露对吗?
TestGuru
发表于 2016-7-5 16:32
在时域乘以窗函数,相当于在频域对跟该窗函数的频谱做卷积。不同的窗函数有不同的频谱,那么在频谱泄漏不可避免的时候,如何选择合适的窗函数呢?这个得首先估计被测信号的频率成分。
1. 如果信号中的干扰信号的频率离所关注的信号的频率较远,则应选择旁瓣衰减率高的窗函数;
2. 如果信号中的干扰信号的频率离所关注的信号的频率较近,则应选择最高旁瓣幅度低的窗函数;
3. 如果信号中的干扰信号的频率离所关注的信号的频率非常接近,则应选择主瓣窄的窗函数;
4. 如果要准确测量信号的某一单频分量的幅度,则应选择主瓣宽的窗函数;
5. 如果信号是宽频噪音信号,则宜采用矩形窗。
总的来看,汉宁窗具有较好的频率分辨率,也大大减少了频谱泄漏,适用于大多数情形。
我们评估了MI所支持的55种窗函数,在这55种窗函数中选择了单项冠军。
1. 旁瓣衰减率高的窗函数 Cosine Window (Alfa = 5)
2. 最高旁瓣幅度低的窗函数 Kaiser-Bessel Window(Alfa = 19.0)
3. 主瓣窄的窗函数 Rectangle Window
4. 主瓣宽的窗函数 Kaiser-Bessel Window(Alfa = 20.0)
另一个常用的主瓣宽的窗函数是 Flat Top Window
5. 最常用的窗之一 Hanning Window
旧言虐心
发表于 2016-7-8 08:44
楼上给的资料太详细了谢谢谢谢!学习一下!
chukongde
发表于 2016-7-8 13:56
TestGuru 发表于 2016-7-5 16:13
1. 如果DFT采集时间窗口内的信号的周期延拓与实际信号完全吻合,那么就不会出现泄漏现象。换句话说,对于周 ...
楼主写的例子很好,我的疑问基本均已解决,十分感谢,顶!
怪咖先生
发表于 2016-7-11 08:56
TestGuru 发表于 2016-7-5 16:13
1. 如果DFT采集时间窗口内的信号的周期延拓与实际信号完全吻合,那么就不会出现泄漏现象。换句话说,对于周 ...
为啥说人家胡说八道啊
TestGuru
发表于 2016-7-14 08:38
怪咖先生 发表于 2016-7-11 08:56
为啥说人家胡说八道啊
你懂?说来听听