www.pudn.com > ibd_blindequalizer.rar > blind_equalizer.m


% Final project, DSP-633
% Blind deconvolution using CMA 
clear;

% load data
load CMA;

% Initialize Output, Error arrays, constants, and kernel
y(size(x,2)) = 0;
e(size(x,2)) = 0;
R = 2;
mu = .001;
L = 10;
c(L+1) = 1;
c(2*L+1) = 0;

% Plot origional data
figure(1);
polar(angle(x), abs(x), '.');
ylabel('Unfiltered Channel Data (Closed Eye)');
print -deps close.eps

% Filter data and modify filter
for N = 1 : size(x,2) - 2*L,
	y(N) = c * x(N:N + 2*L)';
	e(N) = y(N) * (R - abs(y(N))^2);
	c = c + mu * x(N:N + 2*L) * e(N);
end

% Plot output of equalizer
figure(2)
polar(angle(y), abs(y), '.');
ylabel('Filtered Channel Data (Open Eye)');
print -deps open.eps