声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

楼主: evans_xu

[FFT] 求各种窗函数的幅值恢复系数

[复制链接]
发表于 2013-1-17 16:31 | 显示全部楼层
回复 支持 反对
分享到:

使用道具 举报

发表于 2014-6-19 09:18 | 显示全部楼层
过来求知的,瞄了一眼。。
发表于 2014-6-19 12:49 | 显示全部楼层
附件有50多个窗函数的各种参数
幅值恢复系数= 1/ Coherent Gain
能量恢复系数= 1/sqrt[Equivalent Noise Bandwidth x (Coherent Gain^2)]

Evaluation_of_Various_Window_Functions_using_Multi-Instrument_D1003.pdf

1.68 MB, 下载次数: 43

发表于 2014-10-8 15:22 | 显示全部楼层
TestGuru 发表于 2014-6-19 12:49
附件有50多个窗函数的各种参数
幅值恢复系数= 1/ Coherent Gain
能量恢复系数= 1/sqrt[Equivalent Noise  ...

我不能下载那个附件,可不可以发我邮箱里一份啊?!cumt_xzy@126.com,谢谢啦!
发表于 2014-10-22 17:43 | 显示全部楼层
发了,请查邮箱
发表于 2014-10-22 20:44 | 显示全部楼层
我也跟着学学看
发表于 2015-7-4 18:49 | 显示全部楼层
新来的,学习了
发表于 2015-7-16 13:29 | 显示全部楼层
感谢分享。
发表于 2015-8-16 16:03 | 显示全部楼层
本帖最后由 小海豚zc 于 2015-8-16 17:55 编辑
songzy41 发表于 2009-7-6 11:43
LZ调用的是flattopwin窗函数,如果doc flattopwin,看一下flattopwin窗是什么窗:
w(t)=1-1.93*cos(2*pi ...

教授您好,请问
1.什么时候用恢复系数呢?是不是在关注纵轴幅值的时候必须要用这个系数?
2.幅值相等和功率相等两种系数分别什么时候采用?

我自己用正弦函数验证时发现,幅值相等恢复系数在做FFT时是对的,但是做功率谱时 功率相等系数却不对,不知是什么原因?
我在做三分之一倍频程后计权,所以对幅值要求准确,希望教授给指导下
发表于 2015-8-16 19:51 | 显示全部楼层
本帖最后由 小海豚zc 于 2015-8-16 19:55 编辑
TestGuru 发表于 2014-6-19 12:49
附件有50多个窗函数的各种参数
幅值恢复系数= 1/ Coherent Gain
能量恢复系数= 1/sqrt[Equivalent Noise  ...

请问,两个恢复系数具体怎么使用?(不是求法)
比如加汉宁窗FFT,乘系数2后,幅值与不加窗相同。
那功率相等的系数如何用呢?在求加窗功率谱时如何用恢复系数呢?
为什么我做完加窗功率谱后乘Equivalent Noise Bandwidth (bins)值得到和不加窗幅值相等,但是乘功率恢复系数幅值就不对了呢?
发表于 2015-8-19 18:48 | 显示全部楼层
本帖最后由 TestGuru 于 2015-8-19 19:45 编辑
小海豚zc 发表于 2015-8-16 19:51
请问,两个恢复系数具体怎么使用?(不是求法)
比如加汉宁窗FFT,乘系数2后,幅值与不加窗相同。
那功 ...

WindowFunctionCorrrectionFactor0.png
1)上图是的信号频率为1000.48828125 Hz, 振幅为1V, 采样率是48 kHz, FFT点数为32768, 窗函数为矩形,整周期采样(683个整周期),信号是软件数字生成的,因此可以认为无噪音和失真。频谱分析仪显示的是RMS幅度谱,由于是整周期采样,无泄漏,单峰的幅度为0.707 mVrms.
WindowFunctionCorrrectionFactor1.png
WindowFunctionCorrrectionFactor2.png
发表于 2015-8-19 19:14 | 显示全部楼层
本帖最后由 TestGuru 于 2015-8-19 19:34 编辑

2) 上面第二幅图的信号频率为1000.48828125 Hz, 振幅为1V, 采样率是48 kHz, FFT点数为32768, 窗函数为汉宁窗,整周期采样(683个整周期),信号是软件数字生成的,因此可以认为无噪音和失真。频谱分析仪显示的是RMS幅度谱,虽然是整周期采样,主谱线居于FFT BIN的正中,但仍然有泄漏,各谱线的RMS幅度为577.330 mVrms, 288.665 mVrms, 288.665 mVrms.  如果要求该信号的RMS幅度,

法1(能量法): sqrt(577.330*577.330+288.665*288.665+288.665*288.665)=707.082 mVrms.   

法2(幅度系数法):577.330/1.632993*2=707.082 mVrms, 其中1.632993为汉宁窗的能量恢复系数,2为幅值恢复系数。577.330/1.632993是把经软件能量恢复计算后的幅度(已经乘过1.632993了),退回到FFT计算时的本来数值。注意这里的幅值恢复计算只用到了正中的主谱线,且谱线居于FFT BIN的正中。

3)上面第三幅图的信号频率为1000 Hz, 振幅为1V, 采样率是48 kHz, FFT点数为32768, 窗函数为汉宁窗,非整周期采样,信号是软件数字生成的,因此可以认为无噪音和失真。频谱分析仪显示的是RMS幅度谱,由于是非整周期采样,主谱线不居于FFT BIN的正中,而且有泄漏,各谱线的RMS幅度为537.130 mVrms, 429.704 mVrms, 153.466 mVrms,53.713 mVrms, 15.347 mVrms.  如果要求该信号的RMS幅度,

法1(能量法): sqrt(537.130*537.130+429.704*429.704+153.466*153.466+53.713*53.713+15.347*15.347)=706.984 mVrms.  再加入其他的能量小的谱线可更准确些。

法2(幅度系数法):????

发表于 2015-8-20 17:20 | 显示全部楼层
本帖最后由 小海豚zc 于 2015-8-20 17:26 编辑
TestGuru 发表于 2015-8-19 19:14
2) 上面第二幅图的信号频率为1000.48828125 Hz, 振幅为1V, 采样率是48 kHz, FFT点数为32768, 窗函数为汉宁 ...

首先非常感谢您花时间做演示,我大概理解怎么用了,
根据我的理解,我写了个MATLAB的功率谱的演示程序,您看下对不对

还有两个小问题:
1.MATLAB做功率谱也会默认使用功率恢复系数,要想让幅值恢复 就得  /1.633*2(汉宁窗)??
2.如果我以功率谱为评价指标(例如根据功率谱做的三分之一倍频程),关注幅值绝对大小,那么我需要恢复幅值还是就用默认的能量恢复??相关的规范上只说了要加窗,没具体说是否用恢复系数等等。简单说就是:什么情况下用幅值恢复系数,什么情况下用功率恢复系数?
第二个问题困扰我很久了。。。希望前辈指教



  1. %演示

  2. clear;clc;
  3. Fs=100;
  4. N=10000;
  5. n=0:1/Fs:(N/Fs-1/Fs);
  6. xn=cos(2*pi*40*n);
  7. ff=(0:N/2-1)*Fs/N;
  8. figure;
  9. subplot(221),plot(n,xn),title('时域图');
  10. xlabel('时间');
  11. ylabel('幅值');

  12. y=fft(xn,N);
  13. y1=abs(y)*2/N;
  14. plot_y=y1(1:(N/2));
  15. subplot(222),plot(ff,plot_y),title('频谱图(FFT)');
  16. xlabel('频率/Hz');
  17. ylabel('幅值');

  18. window=boxcar(length(xn));
  19. [Pxx1,f]=periodogram(xn,window,N,Fs);
  20. subplot(223),plot(ff,Pxx1(1:N/2)*Fs/N),title('直接法功率谱 矩形窗');
  21. xlabel('频率/Hz');
  22. ylabel('幅值');

  23. han=1.5;
  24. %用Equivalent Noise Bandwidth (bins)值,而不是hanning能量恢复系数1.633
  25. %1.5=(2/1.633)^2
  26. window=hanning(length(xn));
  27. [Pxx2,f]=periodogram(xn,window,N,Fs);
  28. subplot(224),plot(ff,Pxx2(1:N/2)*Fs/N*han),title('直接法功率谱 汉宁窗');
  29. xlabel('频率/Hz');
  30. ylabel('幅值');
复制代码
发表于 2015-8-20 20:05 | 显示全部楼层
1. 那种幅值恢复要谱线在正中才行吧(如图2和图3)。 2. 用能量恢复在任何情况下都对。
发表于 2015-8-28 22:58 | 显示全部楼层
TestGuru 发表于 2015-8-20 20:05
1. 那种幅值恢复要谱线在正中才行吧(如图2和图3)。 2. 用能量恢复在任何情况下都对。

幅值恢复是要满足一定条件才能用吗?您说的谱线在正中,具体反映在采样频率和采样点上是否指整周期采样?即 f=n*(Fs/N)关注频率为采样分辨率的整数倍。

能量恢复后主瓣的幅值肯定跟加矩形窗的不同,是这个意思吧?

我的例子 是满足的整周期采样的,但是为什么看不到旁瓣呢?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-4-25 07:37 , Processed in 0.068428 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表