⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ls-ar.m

📁 自编函数实现AR模型的最小二乘估计(AR阶数=4)
💻 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 + -