Files
matlab/common/optimization/lms/lms_eval.m
T
2022-06-30 13:32:40 +02:00

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'