hcharlie 发表于 2017-1-23 09:19

z527883588 发表于 2017-1-22 21:02
最近工作比较忙,没时间搞,而且我考虑分段进行FFT怎样实现重叠

你需要考虑的是你的信号的性质,为什么要取整数1Hz为分辨率?
如果是考虑你的主信号是整数频率,比如50Hz,这样分析起来能准确点,如是这样的话,你分段以后不要再加窗了,就用矩形窗,分10段做FFT,频谱平均可以抑制噪声。重叠就没有意义。
如果你是随机信号,分段后加hanning窗,适当的重叠率可以增加一点数据利用率,比如重叠25%,可以取到13段,做PSD平均。重叠率多少并不重要。问题是一加窗,频谱峰值就不准了,适合于随机信号。你一定要取整数频率意义就不大了。
你到底是什么信号?

z527883588 发表于 2017-1-23 13:30

hcharlie 发表于 2017-1-23 09:19
你需要考虑的是你的信号的性质,为什么要取整数1Hz为分辨率?
如果是考虑你的主信号是整数频率,比如50H ...

您好,我现在采集的是发动机的振动信号和缸压信号,因为现在想把振动激励转换到频域,然后给仿真的同事使用,他们要求频率分辨率为1Hz等整数。刚开始看到pwelch这个函数既考虑分段平均、加窗,又考虑重叠,但是pwelch计算出来的是功率谱密度,而不是频谱,所以想请教能不能从pwelch得到的结果直接计算出分段FFT的结果。现在看来还得自己编程序去分段FFT,然后平均了。

hcharlie 发表于 2017-1-23 17:07

本帖最后由 hcharlie 于 2017-1-23 21:12 编辑

z527883588 发表于 2017-1-23 13:30
您好,我现在采集的是发动机的振动信号和缸压信号,因为现在想把振动激励转换到频域,然后给仿真的同事使 ...
看来你的信号接近于有噪声的周期信号,不适合用功率谱方法,也不用加窗和重叠,建议你直接用分段FFT,求谱平均,概念清楚。
顺便说一下,你的同事要求 1Hz的整数倍的要求,并无非常必要的理由,如果你们的数据有限,增加频率分辨率比如到2,或2.5,则可以增加平均次数,对抑制噪声是有益的。
你念念不忘的pwelch函数,是一个打包好的程序包,它可能能自动做PSD平均,但是它应该是功率谱的平均,相当于频谱平方的平均,而FFT的谱平均应当是频谱绝对值的平均。所以忘掉pwelch吧!

z527883588 发表于 2017-2-5 21:15

hcharlie 发表于 2017-1-23 17:07
看来你的信号接近于有噪声的周期信号,不适合用功率谱方法,也不用加窗和重叠,建议你直接用分段FFT,求 ...

谢谢大神

jiangwj 发表于 2017-2-8 08:44

楼主做分段处理了吗

z527883588 发表于 2017-2-8 09:36

jiangwj 发表于 2017-2-8 08:44
楼主做分段处理了吗

做了,和利用商业软件得到的结果有点差异,正在找原因

jiangwj 发表于 2017-2-9 09:06

z527883588 发表于 2017-2-8 09:36
做了,和利用商业软件得到的结果有点差异,正在找原因

加油等待反馈祝你成功
页: 1 2 [3]
查看完整版本: 如何将频率分辨率自定义