tangzhenyun 发表于 2009-6-8 09:27

随机波分解成正弦波

各位好,一起讨论一个问题:如何将一条随机信号分解成正弦信号的叠加,得到各条正弦信号的幅值和相位!!

wangxinseu 发表于 2009-6-8 09:58

回复 楼主 tangzhenyun 的帖子

傅里叶变换不就是做的这个吗?

hcharlie 发表于 2009-6-8 10:44

回复 楼主 tangzhenyun 的帖子

你的目的?
理论上随机信号是不能得到所谓各条正弦信号的幅值和相位的。

jidianwangliang 发表于 2009-6-8 11:38

本帖最后由 wdhd 于 2016-9-18 14:11 编辑

原帖由 hcharlie 于 2009-6-8 10:44 发表
你的目的?
理论上随机信号是不能得到所谓各条正弦信号的幅值和相位的。
同意。
lz的随机信号是不是有谐波成分啊
或者就是一个谐波过程;
再者,随机过程采样一次(肯定是有限时长啊)就确定下来了,
lz的意思是对采集的随机信号进行谐波分析啊

tangzhenyun 发表于 2009-6-8 13:19

多谢各位,用傅里叶变换就可以了,matlab里面的FFT算法就可以得到各条余弦信号的和!

tangzhenyun 发表于 2009-6-8 13:20

只是相当于插值而已,理论上是没法得到的,但是信号处理都是离散点,近似结果还是不错的

hcharlie 发表于 2009-6-9 08:53

回复 地板 jidianwangliang 的帖子

一段采样做FFT就可以得到一串数据,原始意义是实部虚部,算出来的是绝对值和相位。但是大多数人忘了前提,就是数据的性质:随机的还是周期的!
我说过理论上“随机信号是不能得到所谓各条正弦信号的幅值和相位的”
在实践上也是如此。
对于周期函数,一帧数据,应该是取整数周期,做FFT,就得到各条正弦信号的幅值和相位,如果不是整数周期,有个网友做过,结果幅值对而相位不对!
对于随机信号,虽然也用FFT,但具体做法是不一样的:
1)不存在整数周期问题;
2)采样一帧是不够的,即使你有64*1024=65536点数据,假如你做一个65536点的FFT,对真正的随机信号结果是很乱的,也就是误差极大,置信度极低。
3)对于真正的随机信号有65536点数据,必须分成64个1024点,或32个2048点,做FFT,再做谱平均。
4)随机信号做FFT前要加窗,通常是海宁窗,海明窗等,矩形窗是不行的,否则有功率泄漏。
5)随机信号要做谱平均,以减小误差,增加置信度到合理的范围内。
6)即使用32或64帧平均,随机信号的精度也只能大概做到+/-1dB,90%的置信度。而周期信号,即使只做一帧也是精确的。
7)随机信号一加窗,再平均,相位信息丢失。
页: [1]
查看完整版本: 随机波分解成正弦波