自相关法谱估计matlab,经典法谱估计(2)自相关法MATLAB及Python实现

原理

对于确定性信号,可以用FFT做频域分析,得到其频域特性。对于平稳随机信号,因为是无限能量的信号,故其傅里叶变换不存在(在Z平面不满足绝对可和条件)。如果是截取随机序列的一段用FFT做频域分析,那么不同段求出的频谱必然是不同的,可见这种分析并无意义。而自相关序列是一个能量有限的确定性序列,故能满足傅里叶变换条件,且由维纳辛钦定理可知,其傅里叶变换就是原序列的功率谱,因此我们采用下面这种方法,也叫BT法。

平稳随机信号的自相关函数的定义为:

2414408105a599014078d123bf55a85f.png

式中,x(n)和y(n)都是平稳随机信号,“*”代表取共轭。如果x(n)和y(n)都是实随机序列,则上面两式成为

c01b24121908e3d41fd4b5d2a1671c5c.png

再由维纳辛钦定理知,随机信号自相关函数的傅里叶变换是信号的功率谱密度,则有

a45fa12247a6c31f79c04f55e9425cd1.png

与上面相同,我们需要将其进行离散化N点取样:

491c65b025502403633c9b3200132f4e.png

至此,我们可以画出随机信号的功率谱密度。

程序和结果

(出于维护版权原因,此处只放截图)

MATLAB

程序:

1d1e8194f6428841e27a3123a88cda22.png

89d7975db0df284352984dc0d517aba4.png

28be0d8b5cdc97ddb8f88ae642c6de7d.png

结果:

d0d25bee0484fd79559ad79eabc93639.png

Python

程序:

4065c59039c7b4e403ad05a0d4ee059d.png

3ee02a0f1dc7caf84460ec70022514a8.png

结果:

3a08cc503c9cc9022924c1384f0ba141.png

分析

由上图可见,我给程序输入的N为512,此时我们可以从功率谱图中看到四个峰,呈现对称分布,信号中f1=0.1,f2=0.13,在图中我们可以看到对应的位置出现了峰值,由于给定幅度大小不同,故峰值大小有很大差别。且由于输入的x(n)为一个实序列,从而其自相关函数 是实偶函数,根据“实偶虚奇”,它所对应的DFT为偶对称,这也就是为什么会出现左右对称的四个峰。然后我利用了寻峰函数来得出峰值对应的横坐标(Python中是自己写了一个寻峰估计频率的方法)

程序中将所有的峰值及其索引分别放入到两个数组中,且根据峰值大小降序排列,之所以采用降序排列,有借鉴过网上的经验,同时经过自己思考,认为是在噪声功率远小于信号功率的情况下,在很接近信号频率的附近,噪声产生的扰动应该较小,几乎可以忽略,所以在信号频率附近的峰值应该可以说几乎是纯信号的峰值,而没有噪声引起的小峰,可想而知,纯信号的两个峰应该是最大的两个,而在远离信号频率的位置上,噪声的扰动是相对较大的,所以我们可以通过降序排列,确定最大的两个峰值和其索引位置。

(因原博客是以word形式写的,CSDN不支持Mathtype公式,故部分地方直接采用了截图形式)

下载链接:

经典法功率谱估计及MSE随SNR曲线

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值