声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4679|回复: 32

[FFT] 关于多段fft平均问题

  [复制链接]
发表于 2013-12-4 17:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
请教各位一个基本的问题。
得到一组时间序列数据,1024个点,fft后曲线不够平滑,通过论坛搜索知道可以进行多段fft平均进行平滑。
可是具体实施起来应该怎么操作,看了一些关于信号处理的书籍,没有找到这方面的内容。
非常感谢。。。
回复
分享到:

使用道具 举报

发表于 2013-12-8 00:53 | 显示全部楼层
将信号等分成nfft点数的信号段,每段与段与可以有重叠部分,然后计算每一段的功率谱,求和后平均即可。
如你的信号1024点,你可以设置每段512点,每段之间重合0.75*512点,那么你可以得到5段512点的信号段,你就能平均5次。

点评

反对: 2.0
反对: 2
不是好办法  发表于 2013-12-8 21:26

评分

1

查看全部评分

发表于 2013-12-8 21:43 | 显示全部楼层
应该用N个1024点FFT以后平均。N可以是10,也可能是100。
平均方法有两种:
一是绝对值的平均,适用于频谱法求周期信号峰值,平均的作用是抑制随机噪声;
一是绝对值平方的平均,适用于求纯随机信号的功率谱,平均的作用是得到较平稳的值。
顺便说一下,部分重叠适用于随机信号加(海宁)窗时为了提高一些数据利用率;而对于周期信号则不宜加(海宁)窗,也就不能用重叠的办法。

点评

反对: 2.0
反对: 2
他只有1024个点,只能牺牲频率分辨率!你上哪给他弄余下的N-1个1024点去?  发表于 2013-12-9 08:50
发表于 2013-12-8 22:05 | 显示全部楼层
表示在学习之中。。
发表于 2013-12-9 17:16 | 显示全部楼层

其实不用这样复杂。
只有1024点数据,FFT得512谱线,将邻近谱线平均即可。
将第1,3谱线(绝对)值相加的一半加到第2谱线里;
再将第3,5谱线(绝对)值相加的一半加到第4谱线里;
。。。。。。
如此保留偶数谱线,去掉奇数谱线,共保留256谱线,与你的结果应该是一样的。
可以稍微平滑一点,不可能很光滑的哟。巧媳妇难做无米之炊哟。
我们两种方法的限制条件,在奇数频谱上没有高的尖峰,否则会产生大的误差。
发表于 2013-12-9 18:21 | 显示全部楼层
从理论上讲,分段做平均的效果肯定比直接做差很多。

当然,为了多造一些文章,这样的做法很有效。
发表于 2013-12-10 09:01 | 显示全部楼层
本帖最后由 江树空 于 2013-12-10 12:47 编辑
hcharlie 发表于 2013-12-9 17:16
其实不用这样复杂。
只有1024点数据,FFT得512谱线,将邻近谱线平均即可。
将第1,3谱线(绝对)值相加 ...

主任,你不觉得你这样提取奇数谱线求和然后除2再然后加在偶数谱线上麻烦么,还得算法去实现!我那方法一个pwelch函数就搞定,你还觉得我的复杂。。。
 楼主| 发表于 2013-12-10 10:04 | 显示全部楼层
江树空 发表于 2013-12-8 00:53
将信号等分成nfft点数的信号段,每段与段与可以有重叠部分,然后计算每一段的功率谱,求和后平均即可。
如 ...

非常感谢    我试试
 楼主| 发表于 2013-12-10 10:05 | 显示全部楼层
hcharlie 发表于 2013-12-9 17:16
其实不用这样复杂。
只有1024点数据,FFT得512谱线,将邻近谱线平均即可。
将第1,3谱线(绝对)值相加 ...

谢谢主任   我试试您的方法  
发表于 2013-12-10 10:19 | 显示全部楼层
请参照matlab里面的Wech Periodogram方法。
发表于 2013-12-10 12:00 | 显示全部楼层
impulse 发表于 2013-12-10 10:19
请参照matlab里面的Wech Periodogram方法。

还是这位主任好!一个简单pwelch算法搞定的事,让最上面那位主任这样加那样加的弄得麻烦的不得了。
发表于 2013-12-10 12:17 | 显示全部楼层
本帖最后由 impulse 于 2013-12-10 12:43 编辑
江树空 发表于 2013-12-10 12:00
还是这位主任好!一个简单pwelch算法搞定的事,让最上面那位主任这样加那样加的弄得麻烦的不得了。

不能这么说,每种方法都有其优缺点。数据量太少的话,每种方法效果都不佳。
发表于 2013-12-10 12:26 | 显示全部楼层
重采样是怎么搞的?可以对时间数据插值【当然这会造成混叠】,然后就增加了点数,“提高”分辨率可以么?
发表于 2013-12-10 12:43 | 显示全部楼层
mxlzhenzhu 发表于 2013-12-10 12:26
重采样是怎么搞的?可以对时间数据插值【当然这会造成混叠】,然后就增加了点数,“提高”分辨率可以么?{: ...

好像主题对不上啊
发表于 2013-12-10 12:50 | 显示全部楼层
mxlzhenzhu 发表于 2013-12-10 12:26
重采样是怎么搞的?可以对时间数据插值【当然这会造成混叠】,然后就增加了点数,“提高”分辨率可以么?{: ...

你是说升采样吧!在待插值时刻补零,然后低通滤波得到的新序列即为升采样信号

点评

补零只是形式上增加了分辨率吧,实际上用途不大,之前有一帖子采样频率貌似是10K,特征频率不到100,数据点数不到1024,试图想通过补零来增加分辨率,结果是徒劳。  发表于 2013-12-10 15:08
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-5 19:27 , Processed in 0.080632 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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