14-02-2013, 04:55 PM
CHANNEL EQUALISER
CHANNEL EQUALISER.docx (Size: 17.87 KB / Downloads: 18)
clear all;
close all;
clc;
mse=[];
N=1000;
sysorder=20;
x=randn(N,1);
b=fir1(sysorder-1,.5);
n=.1*randn(N,1);
d=filter(b,1,x)+n;
steps=[0.008 0.02 0.05]
for i=1:length(steps)
temp=0;
w=zeros(sysorder,1);
for n=sysorder:N
u=x(n:-1:n-sysorder+1);
y(n)=w'*u;
e(n)=d(n)-y(n);
w=w+steps(i)*u*e(n);
temp=temp+(e(n)^2);
mse(i,n)=(temp/n);
end
end
hold on;
grid on;
plot(1:n,mse(1,,'-r',1:n,mse(2,,'-g',1:n,mse(3,,'-b');
axis([1 N -.2 .5])
title('system output');
xlabel('No of Iterations');
ylabel('Mean Squared Error');;
legend('stepsize=.008','stepsize=.02','stepsize=.05');