arma_ls.m
来自「基于累计量的奇异值-总体最小二乘法求AR参数 用奇异值-总体最小二乘法求AR参数」· M 代码 · 共 26 行
M
26 行
function [a,Rx,fLS]=ARMA_LS(M,x,p,varargin)
%p=4;
[Q,N]=size(x);
%M=100;
%n=1:N;
%sampling=100;
%fls=zeros(sampling,2);
%for k=1:sampling
% w=randn(size(n));
% x = sqrt(20)*sin(2*pi*0.2*n)+sqrt(2)*sin(2*pi*0.213*n)+w;
Rx=xcorr(x,varargin{:});
R=zeros(M,p);
for i=1:M
R(i,:)=Rx(p+i-1+N:-1:i+N);
end
b=-Rx(p+1+N:p+M+N)';
a=(inv(R'*R))*R'*b;
a=[1;a]; %add a0=1
z=roots(a');
f=atan(imag(z)./real(z))/2/pi;
f=sort(f,'descend');
fLS=[f(2);f(1)]; %the frequency obtained by LS method
%end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?