用AR模型估计信号的功率谱
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用AR 模型估计观测信号的功率谱
1. 理论原理
本文用SVD-TLS 算法估计观测信号的功率谱,观测信号为:
()0.2)0.213),x n n n ππ=1,2,,128n =……
SVD-TLS 算法的步骤如下:
(1) 计算样本相关函数矩阵R 的SVD ,并存储奇异值和矩阵V;
(2) 确定R 的有效秩,本文使用的是归一化奇异值法来求有效秩
(3) 用总体最小二乘法估计参数
2. 程序
%计算样本相关矩阵R ,求其svd 并存储奇异值和矩阵V
clear
X=sqrt(20)*sin(2*pi*0.2*[1:128])+sqrt(2)*sin(2*pi*0.213*[1:128]);
M=70;
pe=55;
qe=65;
R=zeros(M,pe+1);
for i=1:M,
for j=1:pe+1,
for n=qe+i-j+1+1:128,
R(i,j)=R(i,j)+X(n)*X(n-qe-i+j-1);
end
end
end
[U,S,V]=svd(R);
%确定R 的有效秩
k=1;
while S(k,k)/S(1,1)>=0.00001,
k=k+1;
end
p=k-1;
p
%下面用总体最小二乘法估计参数
D=zeros(p+1,p+1);
for j=1:p,
for k=1:pe+1-p,
B=V(k:k+p,j);
D=D+B*B'*S(j,j)^2;
end
end
A=inv(D);
for i=1:p,
x(i)=A(i+1,1)/A(1,1)
end
%利用估计出的参数画出功率谱
freqz(1,[1,x],1024,1)
3. 结果
观测信号的功率谱如下:
00.050.10.150.20.250.3
0.350.40.450.50500
1000
1500
2000
Frequency (Hz)P h a s e (d e g r e e s )00.050.10.150.20.250.3
0.350.40.450.5
-500
50
100
Frequency (Hz)M a g n i t u d e (d B )
有效秩P=14
估计的参数为:
x =
Columns 1 through 11
-0.8767 2.0264 -0.5249 0.7909 0.2515 15.5127 -16.8714 37.2947 -5.6919 -3.6480 38.2700
Columns 12 through 14
-33.2510 23.2555 -9.0139
加了高斯白噪声之后,用SVD-TLS 方法得到的功率谱如下:
00.050.10.150.20.250.3
0.350.40.450.5-20000
2000
4000
6000
Frequency (Hz)P h a s e (d e g r e e s )00.050.10.150.20.250.3
0.350.40.450.5
-500
50
Frequency (Hz)M a g n i t u d e (d B )
此时p=50,阈值设置由原来的0.00001变成了0.001