clc;clear all;close all;
a=[-0.8;-0.2;0.4;-0.5;0.08]; %实际参数
n=length(a);
% 参数估计
sigma2=1;
N=128;
x(1:n)=0;
for i=n+1:N
x(i)=-a(1)*x(i-1)-a(2)*x(i-2)-a(3)*x(i-3)-a(4)*x(i-4)-a(5)*x(i-5)+randn;
end
p=6;
[a_p var] = LD_model(x,p)
% 不同方法估计参数
for j = 1:128
for i=n+1:N
x(i)=-a(1)*x(i-1)-a(2)*x(i-2)-a(3)*x(i-3)-a(4)*x(i-4)-a(5)*x(i-5)+randn;
end
[a_aryule(j,:),var_aryule(j)] = aryule(x,p);
% [a_LD,var_L] = levinson(Re,5)
[a_burg(j,:),var_burg(j)] = arburg(x,p);
[a_cov(j,:),var_cov(j)] = arcov(x,p);
[a_mcov(j,:),var_mcov(j)] = armcov(x,p);
end
%求均值
aryule = mean(a_aryule)
v_aryule = mean(var_aryule)
burg = mean(a_burg)
v_burg = mean(var_burg)
cov = mean(a_cov)
v_cov = mean(var_cov)
mcov = mean(a_mcov)
v_mcov = mean(var_mcov)
figure,
boxplot(a_aryule)
title('aryule')
figure,
boxplot(a_burg)
title('burg')
figure,
boxplot(a_cov)
title('cov')
figure,
boxplot(a_mcov)
title('mcov')
% [p_fpe p_aic] = p_LD(x,25) %阶数估计
% figure;
% stem(a); hold on;stem(a_p(2:end));hold on; stem(aryule(2:end));
%
% title('Reflection Coefficients '); xlabel('Lag');
% legend('真实值','Levinson-Durbin',' aryule函数');
% ylabel('Reflection Coefficent');
评论0