Wie kann die Leistung von Least Means Squares (LMS) / NLMS-Filtern verbessert werden?

14

Gibt es Möglichkeiten, die Rechenleistung eines normalisierten Filters der kleinsten Quadrate (NLMS) zu erhöhen? Hierzu wurden Multidelay-Block-Frequenzdomänenfilter (MDF- Filter ) vorgeschlagen, die jedoch auch die Konvergenzgeschwindigkeit und -genauigkeit beeinträchtigen , da sie die geschätzte Impulsantwort nur einmal pro Block und nicht einmal pro Abtastung aktualisieren. Gibt es noch andere Methoden?

Phonon
quelle

Antworten:

6

Wenn Sie den "Standard" -NLMS-Algorithmus implementieren möchten, ohne Ecken und Kanten zu schneiden, werden Sie wahrscheinlich keine Struktur finden, die wesentlich effizienter ist. Blockformen der LMS-Filterung zielen darauf ab, schnelle Faltungstechniken (wie Überlappungsspeicherung oder Überlappungsaddition) zu verwenden, um diesen Teil des Prozesses zu beschleunigen. Wie Sie bemerkt haben, werden die Filterkoeffizienten jedoch nur pro Block aktualisiert, da der Filter über den Block konstant sein muss, um den Ansatz der schnellen Faltung zu verwenden.

Die stark rekursive Natur von NLMS wird Sie einschränken, wenn Sie die Aktualisierungsmerkmale von Stichprobe zu Stichprobe beibehalten möchten. Während die Filteraktion nicht rekursiv ist, sind die Filterkoeffizienten zum Zeitpunkt N eine Funktion der Koeffizienten zum Zeitpunkt N-1, was Ihre Fähigkeit einschränkt, den Prozess durch Verwendung von Parallelität oder blockorientierter Berechnung zu beschleunigen. Wie in den meisten Fällen gibt es kein kostenloses Mittagessen: Wenn Sie reines NLMS möchten, sollten Sie dies am besten einfach implementieren.

Jason R
quelle