随机信号的功率谱及参数估计与python仿真

1.概要:本文以 x(n)=sin(2*π*f1*n+π/3)+10*\sin(6*π*f2*n+π/4)+wgn(0,sigma)
为例进行其功率谱的估计及观察sigma参数对f1,f2估计的影响,影响情况以MSE为衡量标准
(注:f1规定为0.1,f2规定为0.3。n的取值为[1,256],wgn(0,sigma)是0均值,标准差为sigma的高斯分布的随机数)

2.随机信号功率谱的估计方法:对于平稳随机信号,其功率谱与其自相关函数为傅里叶变换对。对于本例而言,其均值E[x(n)]为0,自相关函数R(m)与时间起点无关,只与时间间隔m有关因而具有平稳性,可以直接运用维纳-欣钦定理。如果是不具有平稳性的话可以把其自相关函数取均值得到E[R]再运用维纳欣钦定理。

3.自相关的估计方法:通过上文内容可以知道,对于随机信号来说,其自相关函数是得到功率谱的重要途径。常用的自相关估计方法有两种:

  • (1)
    在这里插入图片描述
    这种估计方法的均值为:
    在这里插入图片描述
    方差为:
    在这里插入图片描述
    可以看到这种估计方法是一种无偏估计

  • (2.)
    在这里插入图片描述
    均值为:
    在这里插入图片描述
    当N趋近于无穷时是无偏估计。

  • 两种估计的性能比较:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一般用第二种方法去估计自相关。
在这里插入图片描述
4.估计参数f1和f2的方法:本例是一个实函数,其功率谱是有偶对称形状的。故其谱上一定会出现一高一低两个峰,两个峰出现的位置理论来说是在DTFT频谱的0.2π和0.6π处。但计算机无法处理DTFT,只能处理DFT和FFT。DTF是对DTFT在[0,2π]内的等间隔采样,FFT则是DFT的快速运算版本。在DFT的频谱横坐标是采样点的序号,我们需要由这样一个序号去转换到频率。这里我使用的方法就是在一定的范围内把寻找两个最大峰的横坐标,以256点DFT为例,那么横坐标的值乘以1/256得到就是f1和f2的估计值。

5.参数估计好坏的衡量指标:MSE均方误差
在这里插入图片描述

6.程序实现:功率谱估计

#随机信号功率谱估计
import numpy as np
import matplotlib.pyplot as plt
from math import *

#n取值从1到256
def signal(n):
    if(n<1 or n>256):
        return 0
    else:
        return (sin(0.2*pi*n+pi/3)+10*sin(0.6*pi*n+pi/4)+np.random.normal(0,1,1)[0])
    
#生成WN项(旋转因子)
def wn_k(k,n,N):
    return complex(cos(2*pi*n*k/N)
  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值