資源簡介
用Matlab仿真實現最小二乘法和總體最小二乘法估計
假設仿真的觀測數據 產生,其中 為0均值, 單位方差的高斯白噪聲,取n=1,2,....128。
試用TLS,取AR階數為4,估計AR參數 和正弦波頻率;再用SVD-TLS ,估計AR參數 和正弦波頻率。
(1)、在仿真中,AR階數取為4和6。
(2)、執行SVD-TCS時,AR未知。仿真運行至少二十次。
代碼片段和文件信息
%Pisarenko算法估計
function?[AW]=pisar(xnsin_num)
load?testdat;
sin_num=3;
[N?t]=size(xn)
rxx=xcorr(xn‘biased‘);
rxx=rxx(N:(2*sin_num)+N);
?
%頻率估計
Rxx=toeplitz(rxx);
ev=eig(Rxx);
[S?i]=min(ev);
[V?D]=eig(Rxx);
a=V(:i);
rts=roots(a);
w_est=[];
for?i=1:2*sin_num
???w_est(i)=?abs(angle(rts(i)));
end
W=(w_est/(2*pi));
?
?
%幅度估計
mcos=[];
for?n=1:sin_num
???vcos=[];
???for?i=1:sin_num
??????vcos=[vcos?cos(n*w_est(i))];
???end
???mcos=[mcos;vcos];
end
rxx=rxx
評論
共有 條評論