git-svn-id: http://moon:8086/svn/matlab/trunk@99 801c6759-fa7c-4059-a304-17956f83a07c
33 lines
487 B
Matlab
Executable File
33 lines
487 B
Matlab
Executable File
function lms_eval(N, mu)
|
|
|
|
% lms_eval(N, mu)
|
|
% Example: lms_eval(1000, 0.01)
|
|
|
|
h = [0 0 0 1 0 0 0 0];
|
|
w = randn(1, length(h));
|
|
|
|
z_h = zeros(length(h)-1, 1);
|
|
z_w = zeros(length(h)-1, 1);
|
|
|
|
x = zeros(1, length(h));
|
|
|
|
e_last = 0;
|
|
p = 1.0;
|
|
|
|
for n=1:N,
|
|
xs = 0.1*randn();
|
|
p = 0.99*p + 0.01*xs*xs;
|
|
x = [xs x(1:length(x)-1)];
|
|
d = x*h';
|
|
y = x*w';
|
|
e = d - y;
|
|
|
|
w = w + mu*e*x*(1/(0.001+p));
|
|
|
|
e_last = 0.5*e_last + 0.5*e*e;
|
|
_e(n) = e_last;
|
|
_p(n) = p;
|
|
end
|
|
|
|
plot(1:N, _e, 1:N, _p); grid;
|
|
w=w' |