u = randn(1,1000); % channel input c = [1 -1]; x = filter(c,1,u) + randn(1,1000)*.1; % channel output d = filter([zeros(1,15) 1],1,u); L = 30; w = zeros(L,1); mu = 0.005; for n = L:1000, Xtdl = x(n:-1:n-L+1)'; y(n) = w'*Xtdl; e(n) = d(n)-y(n); w = w + 2*mu*e(n)*Xtdl; end;