www.pudn.com > estimate-ar.rar > p509.m


%program p509 
var=sqrt(1/exp(1.0)); 
v=var*randn(1,1000); 
 
n=1:1000; 
w0=1.4*pi; 
xn=exp(j*pi*n-j*pi)+exp(j*w0*n-j*0.7*pi)+v; 
m=-500:500; 
[r,lag]=xcorr(xn,500,'biased');%corr 
 
%pmusic 
R=[r(501),r(502),r(503),r(504); 
   r(500),r(501),r(502),r(503); 
   r(499),r(500),r(501),r(502); 
   r(498),r(499),r(500),r(501)]; 
 
[V,D]=eig(R); 
V3=[V(1,3),V(2,3),V(3,3),V(4,3)].'; 
V4=[V(1,4),V(2,4),V(3,4),V(4,4)].'; 
 
p=0:3; 
wm=[0:0.002*pi:2*pi]; 
B=[(exp(-j)).^(wm'*p)]; 
A=B.'; 
 
p1=A'*V3; 
p2=A'*V4; 
s=(abs(p1)).^2+(abs(p2)).^2; 
pmus=1./s; 
 
subplot(211); 
pp=10*log10(pmus); 
plot(wm/pi,pp); 
ylabel('Power Spectrum Magnitude (dB)'); 
title(' Music Spectral Estimate') 
 
%MATLAB¹¤¾ßÏ亯Êý 
subplot(212); 
pmusic(xn,5)