随机信号做谱估计(3)-Yule-walker方程—python语言
随机信号模型
这里我们用X(n)=s(n)+w(n)来表示所分析的随机信号,其中s(n)是具有两个频率分量的正弦波,可表示为是s(n)=A1sin(2pif1+pi/3)+A2sin(2pif2+pi/4)。w(n)是随机高斯白噪声,它的谱线是一个直线,用它代表信号在传播中所夹杂的噪声不仅可以体现随机过程而且对于功率谱的求解也更为简单。
估计质量的评价
可以用均分误差以及偏差来评价估计质量的好坏,通过画出均分误差和均值随SNR变化的图来观察估计质量。
原理
(具体原理可以查书)
代码
(具体如何实现(1)中有介绍)
import numpy as np
import matplotlib.pyplot as plt
import scipy.signal
import math
import scipy.linalg
N=64
p=30
f1=0.1
f2=0.13
n=np.linspace(0,N-1,N)
sn=2*np.sin(2*np.pi*f1*n+np.pi/3)+10*np.sin(2*np.pi*f2*n+np.pi/4) #未加噪声的信号
Rx=np.correlate(sn, sn,mode='full')[N-1:2*N-1]/N #求自相关
Power=Rx[