Jak poprawić wydajność filtra metodą najmniejszych kwadratów (LMS) / NLMS?

14

Czy istnieją sposoby na zwiększenie wydajności obliczeniowej znormalizowanego filtra najmniejszych kwadratów (NLMS)? Aby to zrobić, zaproponowano filtry wielopłaszczyznowe w dziedzinie częstotliwości blokowej (MDF) , ale zabierają one także szybkość konwergencji i dokładność, ponieważ aktualizują szacunkową odpowiedź impulsową tylko raz na każdy blok, a nie raz na próbkę. Czy są jakieś inne metody?

Phonon
źródło

Odpowiedzi:

6

Jeśli chcesz wdrożyć „standardowy” algorytm NLMS bez przycinania narożników, prawdopodobnie nie znajdziesz struktury, która byłaby znacznie bardziej wydajna. Blokowe formy filtrowania LMS mają na celu zastosowanie technik szybkiego splotu (takich jak nakładanie-zapisywanie lub nakładanie-dodawanie) w celu przyspieszenia tej części procesu. Jednak, jak zauważyłeś, współczynniki filtra są aktualizowane tylko dla jednego bloku, ponieważ filtr musi być stały w całym bloku, aby zastosować metodę szybkiego splotu.

Wysoce rekurencyjny charakter NLMS ograniczy cię, jeśli chcesz zachować charakterystykę aktualizacji próbka po próbce. Podczas gdy działanie filtrujące nie jest rekurencyjne, współczynniki filtra w chwili N są funkcją współczynników w chwili N-1, co ogranicza twoją zdolność do przyspieszenia procesu przy użyciu równoległości lub obliczeń blokowych. Jak w większości przypadków, nie ma darmowego lunchu: jeśli chcesz czystego NLMS, najlepiej po prostu go zaimplementuj.

Jason R.
źródło