git-svn-id: http://moon:8086/svn/matlab/trunk@153 801c6759-fa7c-4059-a304-17956f83a07c
This commit is contained in:
2021-03-22 20:28:22 +00:00
parent 1b5742e13e
commit b31f3e7435
140 changed files with 6054 additions and 0 deletions
Executable
+48
View File
@@ -0,0 +1,48 @@
% LMS-Algorithmus
% ---------------
% function [ys,e,wf,fpo] = lms(x,d,N,mu,wi)
%
% Parameter:
% x : Eingangssignal
% d : erwünschtes Signal (Referenzsignal)
% N : Filterordnung
% mu : konstante Schrittweite
% wi : Startwerte der Filterkoeffizienten im Zeitbereich
%
% Rückgabewerte:
% ys : Schätzung des erwünschten Signals d aus x
% e : Fehler d - y
% wf : Filterkoeffizienten am Ende der Adaption im Zeitbereich
% fpo : Anzahl benötigten der Floating-Point Operationen
% -------------------------------------------------------------------------
% Datum : 20.7.2001
% Autor : Jens Ahrensfeld
% Thema : Diplomarbeit
% Datei : lms.m
% Benötigte Dateien: keine
%
% -------------------------------------------------------------------------
function [ys,e,wf,fpo] = lms(x,d,N,mu,wi)
% -------------------------------------------------------------------------
% Initialisierung LMS
% -------------------------------------------------------------------------
wf = wi;
y = zeros(length(x),1);
e = zeros(length(x),1);
flops(0);
% -------------------------------------------------------------------------
% LMS Adaptation
% -------------------------------------------------------------------------
for n = N : length(x)
xs = x(n:-1:n-N+1);
ys(n) = xs'*wf;
e(n) = d(n) - ys(n);
wf = wf + mu*e(n)*xs;
end ;
fpo = flops;
% -------------------------------------------------------------------------
% Ende lms.m