Algorytm RLS Recursive Least Squares Ogólna postać kryterium LS: J = i e 2 (i) = i [d(i) y(i)] 2 Do wyprowadzenia algorytmu RLS posłuży kryterium autokorelacyjne: J n = e 2 (i) Zmodyfikowane kryterium autokorelacyjne: J n = λ n i e 2 (i) = λ n i [d(i) y(i)] 2 λ (0, 1] APSG W5: Filtracja adaptacyjna 2 algorytm RLS 1/16 Gradient funkcji kosztu: J n = 2 λ n i [d(i) f T n x i ]x i Przyrównujemy gradient do zera: λ n i [d(i) f T n x i ]x i =0 λ n i d(i)x i = } {{ } ˆr n λ n i f T n x i x i Układ równań normalnych: ( n ) λ n i d(i)x i = λ n i x i x T i f n } {{ } ˆR n APSG W5: Filtracja adaptacyjna 2 algorytm RLS 2/16
Rozwiązanie układu równań normalnych: f n = 1 ˆR n ˆr n gdzie: ˆr n = λˆr n 1 + x n d(n) =λ [ n 1 ] λn 1 i d(i)x i + d(n)x n ] + x n x T n ˆR n = λ ˆR n 1 + x n x T n = λ [ n 1 λn 1 i x i x T i Możemy odwracać w każdym kroku n rekursywną estymatę ˆR n macierzy autokorelacji R sygnału wejściowego, ale musimy pamiętać o: 1. złożoności obliczeniowej tego typu operacji; 2. uwarunkowaniu macierzy ˆR n ; 3. dokładności macierzy odwrotnej wobec oczywistego faktu niedokładności estymaty. Co zatem zrobić??? APSG W5: Filtracja adaptacyjna 2 algorytm RLS 3/16 Lemat 1 (o rekursywnym odwracaniu macierzy - identyczność Woodbury ego) Załóżmy, że mamy dane dwie dodatnio określone macierze kwadratowe A i B o wymiarze L L, które powiązane są zależnością: A = B 1 + CD 1 C T dim(c) =L N, dim(d) =N L Macierz odwrotną można zapisać w następującej postaci: A 1 = B + BC ( D + C T BC) 1 C T B APSG W5: Filtracja adaptacyjna 2 algorytm RLS 4/16
A = ˆR n B 1 = λ ˆR n 1 C = x n D =1 Po odpowiednim podstawieniu otrzymujemy: ˆR 1 n 1 1 = λ ˆR 1 n 1 λ ˆR 1 Wprowadźmy oznaczenia: n 1x n ( ˆR 1 n 1x n ) 1 1+λ 1 x T n }{{} } {{ skalar } k n x T 1 n λ ˆR 1 n 1 P n = ˆR 1 n k n = P n 1 x n λ + x T n P n 1 x n Rekursywna formuła na macierz P n : P n = 1 λ [ P n 1 k n x T n P n 1 ] APSG W5: Filtracja adaptacyjna 2 algorytm RLS 5/16 Wracamy do rozwiązania układu równań normalnych: f n = 1 ˆR n ˆr n = P nˆr n f n = P n (λˆr n 1 + d(n)x n )=λp nˆr n 1 + d(n)p n x n P n x n = 1 λ [P n 1 k n x T n P n 1 ]x n = 1 λ [P n 1x n k n x T n P n 1 x n ] P n x n = 1 λ [λk n + k n x T n P n 1 x n k n x T n P n 1 x n ] P n x n = k n f n =(P n 1 k n x T n P n 1 ) ˆr n 1 + d(n)k n f n = f n 1 k n x T n f n 1 + d(n)k n APSG W5: Filtracja adaptacyjna 2 algorytm RLS 6/16
[ ] f n = f n 1 + k n d(n) f T n 1x n }{{} e(n n 1) Warunki początkowe: f 0 = 0 P 0 = γi γ 1 Dla kolejnych chwil czasu n obliczamy: e(n n 1) = d(n) f T n 1x n P n 1 x n k n = λ + x T n P n 1 x n f n = f n 1 + k n e(n n 1) P n = 1 [ P n 1 k n x T ] n P n 1 λ APSG W5: Filtracja adaptacyjna 2 algorytm RLS 7/16 Porównanie właściwości algorytmów LMS i RLS LMS RLS Szybkość Wolna, zależna od Szybka, niezależna od zbieżności sygnału wejściowego. sygnału wejściowego Niedopasowanie M LMS = α tr(r) M RLS = 1 λ 1+λ L Złożoność Mała, liniowa Duża, kwadratowa obliczeniowa O(L) O(L 2 ) Zdolność śledzenia τ lag LMS = 1 αλ min τ lag RLS = 1 1 λ niestacjonarności Stabilność Odporny na kumulację Potencjalnie niestanumeryczna błędów numerycznych bilny numerycznie APSG W5: Filtracja adaptacyjna 2 algorytm RLS 8/16
Porównanie szybkości zbieżności 0 20 40 60 δ( n) 80 [db] 100 120 140 160 180 200 0 1000 2000 3000 4000 5000 Numer próbki n (a) algorytm LMS (1) (2) (3) 0 50 100 δ( n) 150 [db] 200 250 300 (1) (2) (3) 350 0 1000 2000 3000 4000 5000 Numer próbki n (b) algorytm RLS Sygnał wejściowy : (3) szum biały, χ(r) =1; (2) proces AR(4), χ(r) 630; (1) sygnał mowy APSG W5: Filtracja adaptacyjna 2 algorytm RLS 9/16 Zdolność śledzenia niestacjonarności 5 5 0 h ( n ) 2 h( n) 0 h ( n ) 2 h( n) 5 5 10 10 δ( n) [db] 15 20 δ( n) [db] 15 20 25 25 30 30 35 35 40 0 2000 4000 6000 8000 10000 Numer próbki n (a) α =0, 003; λ =0, 990 40 0 2000 4000 6000 8000 10000 Numer próbki n (b) α =0, 003; λ =0, 999 Sygnał wejściowy : x(n) - proces AR(5), χ(r) = 100, SNR=30 db (LMS linia przerywana, RLS linia ciągła) APSG W5: Filtracja adaptacyjna 2 algorytm RLS 10/16
Metody zwiększania szybkości zbieżności algorytmu LMS 1. Dekorelacja sygnału wejściowego 2. Uzmiennienie kroku adaptacji α 3. Filtracja adaptacyjna w podpasmach Metody redukcji złożoności obliczeniowej algorytmu RLS 1. Algorytmy typu FTF (Fast Transversal Filter) 2. Szybki adaptacyjny filtr kratowy LSL (Least Squares Lattice) 3. Dekompozycja QR APSG W5: Filtracja adaptacyjna 2 algorytm RLS 11/16 Algorytmy dekorelujące 1. Algorytm ELMS (Excited LMS) xn ( ) + + Kpn ~ ( ) x 1( n) f n h n en ( ) Algorytm NLMS - ^ yn ( ) + yn ( ) + dn ( ) + sn ( ) APSG W5: Filtracja adaptacyjna 2 algorytm RLS 12/16
2. Algorytm AP (Affine Projection - Ozekiego-Umady) x n = P a i x n i + w n = X n a + w n X n =[x n 1,...,x n P ] min â n x n X n â n 2 2 rozwiązanie â n =[X T n X n ] 1 X T n x n Dla P =1dostajemy algorytm DLMS: z n = x n X n â n f n+1 = f n + α z T e(n)z n n z n c(n) = xt n x n 1 x T n 1 x n 1 z n = x n c(n)x n 1 APSG W5: Filtracja adaptacyjna 2 algorytm RLS 13/16 Algorytmy ze zmiennym krokiem adaptacji Algorytm NLMS (Normalized LMS) f n+1 = f n + Zasada minimalnych zaburzeń: α ρ + x n 2 e(n)x n = f n + α ρ + x T n x n e(n)x n Po pojawieniu się nowych danych, parametry systemu adaptacyjnego należy modyfikować w minimalnym stopniu. min f n+1 f n 2 = min f n 2, przy ograniczeniu f T n+1x n = d(n) f n+1 f n+1 Ogólna postać algorytmu LMS ze zmiennym krokiem adaptacji: f n+1 = f n + α(n)e(n)x n APSG W5: Filtracja adaptacyjna 2 algorytm RLS 14/16
Metody wyznaczania parametru α(n): 1) Moc sygnału błędu jako kryterium oceny stanu adaptacji α(n +1)=µα(n)+γe 2 (n), 0 <µ<1, γ > 0 2) Kryterium korelacyjne c(n) =βc(n 1)+(1 β)e(n)e(n 1), 0 <β<1 α(n +1)=µα(n)+γc 2 (n), 0 <µ<1, γ > 0 APSG W5: Filtracja adaptacyjna 2 algorytm RLS 15/16 3) Adaptacyjne wyznaczanie wartości kroku adaptacji α(n) =α(n 1) ρ 2 α(n) =α(n 1) ρ 2 e 2 (n) α(n 1) T e 2 (n) f n f n α(n 1) α(n) =α(n 1) + ρe(n)e(n 1)x T n 1x n APSG W5: Filtracja adaptacyjna 2 algorytm RLS 16/16