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