📄 ls-ar.m
字号:
%自编函数实现AR模型的最小二乘估计
%-----------------------------------------
close all;
clear all;
clc;
N=128;
n=1:128;
a1=sqrt(20);
a2=sqrt(2);
w=randn(128,1);
x=a1*sin(2*pi*0.2*n)+a2*sin(2*pi*0.213*n)+w';%数据源序列
%xcorr
xxcorr=xcorr(x,'unbiased');
%-----------------------------------------
%ls
% Matrix---R4x4阶自相关矩阵
p=4;%AR阶数4
q=20;%q>=p
%matrix
for i=1:p
for j=1:p
recorr(i,j)=xxcorr(q+i+j-1-p);%生成自相关序列
end
end
disp('自相关序列的维数=');%4维
recorrlegnth=size(recorr);
%r
for i=1:p %i=1,2,3,4
r(i)=xxcorr(q+i);
end
disp('r的维数=');
rlength=size(r)
r=-r';%因为Ra=-r
yyy=(inv(recorr'*recorr)*recorr')*r;
disp('求解序列的维数');
yylength=length(yyy)
for i=1:yylength
%--------------a=[ap,...,a1]
yyy1(i)=yyy(yylength+1-i);%序列反转
%--------------a=[a1,...,ap]
end
figure(1);
freqz(1,yyy1,1024,1);
title('自编函数实现AR模型的最小二乘估计');
legend('AR阶数=4');
grid on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -