www.pudn.com > e29.rar > e29.m


clear all 
%generate signal sequence 
N=1000 
n=1:N 
w0=1.4*pi 
var=sqrt(1/exp(1.0)) 
e=var*randn(1,N) 
xn=exp(j*pi*n-j*pi)+exp(j*w0*n-j*0.7*pi)+e 
 
%generate signal wave 
subplot(211) 
plot(n,xn) 
xlabel('sampling point n') 
ylabel('magnitude') 
title('x(n)=exp(j*pi*n-j*pi)+exp(j*w0*n-j*0.7*pi)+e(n)') 
 
%estimated autocorrelation function 
m=500:500 
[r,lag]=xcorr(xn,500,'biased') 
 
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)].' 
V3=[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.' 
 
%MMSE 
z=A'*inv(R)*A 
Z=diag(z') 
pmv=1./Z 
subplot(212) 
plot(wm/pi,pmv) 
title('MMSE') 
ylabel('power spectrum(db)') 
xlabel('w/pi') 
grid on