Gast
#3534701
Hallo allerseits, ich befasse mich grade ein wenig mit adaptiven Filtern. Den LMS- und NLMS-Algorithmus habe ich bereits nachvollziehen können und habe sie eigentlich auch sehr gut verstanden, ich konnte die Algorithmen auch in C selber implementieren und es hat funktioniert. Nun möchte ich noch den RLS-Algorithmus verstehen. http://en.wikipedia.org/wiki/Recursive_least_squares_filter ist meine Informationsquelle ;-) Also was ich bis jetzt weiss: der Algorithmus summiert zu jedem Zeitpunkt über alle Fehlerquadrate auf. Die Fehlerquadrate werden noch mit dem Parameter lambda exponentiell abklingend gewichtet. Damit kommt zu meiner Summe nach jedem Zeitschritt ein Summand hinzu (vorerst, die Rekursion betrachte ich später). Die Kostenfunktion heisst also:
Soweit so gut. Nun wird für den Fehler die Gleichung des FIR-Filters eingesetzt:
Hierbei sind die w die Filterkoeffizienten, u ist der Eingang ins FIR-Filter und d ist das desired Signal. Soweit so gut, ich habe bisher nur in die Kostenfunktion eingesetzt, was ich schon kenne. Nun soll ja der Gradient der Kostenfunktion bestimmt werden. Dazu muss man nach den aktuellen Filterkoeffizienten
partiell ableiten. Nur: wie mache ich das? eins ist sicher: der Exponent 2 kommt runter und wird ein Vorfaktor. Was passiert mit der inneren Summe, wenn ich nach
ableite? Den Schritt kann ich auf der Wikipedia-Seite nicht verstehen, er wird nur unzureichend erklärt... :-/ Ich freue mich über eure Hilfe! Gruss.