熊心万丈 发表于 2009-11-15 12:02

如何对fft谱进行平滑

对仪器采集到的数据做fft,得到频谱,可是不够平滑,希望通过加窗平滑数据,不知道matlab怎么实现,差了一下资料,说“必须先对功率谱平滑,再将功率谱转换为频谱(地震动的谱分析,大崎顺彦)”,知道怎么用窗函数对功率谱平滑(通过pwelch函数),但是如何将功率谱转换为频谱呢?希望高人指点,或者有直接平滑fft谱的方法。

mjtai 发表于 2009-11-16 22:10

如果是做信号傅立叶变换,功率谱和频谱没什么区别。所谓的将功率谱转换为频谱,请恕区区孤陋寡闻。

如果想平滑功率谱,的确可以用加窗的方法,matlab里实现非常简单,直接调用希望的窗函数生成系数,比如hanning,然后滤波即可。另外需要多段平均,即计算多段数据的功率谱,然后做平均,效果会比较好。

其实如果仅仅想追求视觉效果,直接把纵坐标换算为dBm值,你就会发现好多了:@)

hyl2323 发表于 2009-11-17 16:45

我的看法:
1)加窗的作用主要是减少谱泄露,而不是平滑,平滑一般是通过多段FFT的平均来实现;
2)如果你的信号是平稳信号,用FFT就行了,不关功率谱什么事;
3)加非矩形窗涉及窗修正问题,看你作FFT的目的是侧重能量还是幅值而相应修正。
:lol

gongzuobiji 发表于 2010-8-9 21:29

请问楼上: 侧重幅值的 窗修正系数怎么算呢
页: [1]
查看完整版本: 如何对fft谱进行平滑