Algorytm xLMS
Transkrypt
Algorytm xLMS
Algorytm xLMS Problem toru wtórnego Pierwotne źródło dźwięku Detektor Obserwator Kontroler C C Wtórne źródło dźwięku Algorytm adaptacji System akustyczny P’(z) Źródło dźwięku s(k) x(k) W(z) y(k) Algorytm xLMS S’(z) e(k) R(z) W praktyce mierzy się sygnał po przejściu przez dodatkowe transmitancje S’ oraz R. Problem toru wtórnego c.d. Algorytm LMS powinien dodatkowo brać pod uwagę: S (z ) = R (z )S ' (z ) poniewaŜ: oraz P (z ) = R (z )P ' (z ) E (z ) = R (z )[P ' (z ) − S ' (z )W (z )]X (z ) Stąd optymalny filtr: P' (z ) W (z ) = S ' (z ) o Kontroler ma więc za zadanie modelować tor źródła pierwotnego (P, to zostało omówione) oraz odwrócić tor wtórnego źródła dźwięku. Takie odwracanie niesie z sobą problemy: • istnienie czasu opóźnienia • niestabilne zera - jest to tzw. problem toru wtórnego Problem toru wtórnego c.d. PoniewaŜ R(z) jest wspólne dla obu torów wygodnie jest wciągnąć R(z) do transmitancji filtru: P (z ) W (z ) = S (z ) E (z ) = [P (z ) − S (z )W (z )]X (z ) o System akustyczny P(z) Źródło dźwięku s(k) x(k) W(z) y(k) Algorytm xLMS S(z) e(k) Algorytm FXLMS Aby zlikwidować problem toru wtórnego wprowadza się estymatę transmitancji S szeregowo z algorytmem LMS (zakłada się liniowość) System akustyczny y’(k) Źródło dźwięku x(k) W(z) y(k) S (z ) Ŝ (z ) x’(k) Algorytm LMS e(k) Algorytm FXLMS c.d. e(k ) = d (k ) − y ' (k ) = d (k ) − s (k ) ∗ y (k ) [ s (k ) - odpowiedź impulsowa S(z) ] = d (k ) − s (k ) ∗ w T (k )x (k ) ∗ - splot dyskretny NaleŜy minimalizować: 1 2 ˆ min ξ (k ) = min e (k ) w (k ) w (k ) 2 według algorytmu: w (k + 1 ) = w (k ) − µ ∇ ξˆ (k ) Algorytm FXLMS c.d. ∇ ξˆ (k ) = ∇ e 2 (k ) = 2 [∇ e (k )]e (k ) ∇ e (k ) = − s (k ) ∗ x (k ) = − x ' (k ) gdzie: ⇒ T x ' (k ) = [x ' (k ), x ' (k − 1 ), L , x ' (k − N − 1 )] x ' (k ) = s (k ) ∗ x (k ) ⇒ ∇ ξˆ (k ) = ∇ e 2 (k ) = − 2 x ' (k )e (k ) Ostatecznie: w (k + 1 ) = w (k ) − µ x ' (k )e (k ) Algorytm FXLMS c.d. Nazwa FXLMS pochodzi od ang.: Filtered ( by estimate of S(z) ) input x(k) LMS W praktycznej realizacji filtr S(z) nie jest znany, więc naleŜy wykorzystać jego estymatę: x ' (k ) = sˆ (k ) ∗ x (k ) Podkreśla się odporność algorytmu FXLMS na niedokładność modelu Ŝ ( z ) . Np. błąd fazowy moŜe dochodzić do 900, zmniejszając jedynie szybkość zbieŜności algorytmu. Algorytm FXLMS c.d. Analiza algorytmu FXLMS Zakładając zgodność modelu Ŝ i obiektu S oraz wolną zmienność estymowanych parametrów ich wartość średnia w s (k ) w s (k + 1 ) = (I − µ R )w s (k ) + µ p gdzie: R ≡ E {x ' (k ) x ' T (k ) } p ≡ E {d (k ) x ' (k ) } Elementy macierzy autokorelacji R oblicza się następująco: rx ' x ' (n ) = E {x ' (k )x ' (k − n )} = rss (n ) ∗ rxx (n ) ∞ ∑ r (l )r (n − l ) = ss xx l = −∞ rss (l ) ≡ l ∑ s (m )s (l − m ) m = −∞ Algorytm FXLMS c.d. Analiza algorytmu FXLMS W praktyce w algorytmie FXLMS zmienność estymowanych parametrów filtra moŜe być znaczna, udowodniono, Ŝe dopuszczalna wartość współczynnika kroku nie naruszająca stabilności wynosi: 1 µ max = Px ' ( N + ∆ ) gdzie: Px ' = E x ' 2 (k ) { } ∆ - całkowite dyskretne opóźnienie w torze wtórnym Algorytm FXLMS c.d. Analiza algorytmu FXLMS w dziedzinie częstotliwości W przypadku zwykłego algorytmu LMS ( Sˆ = 1 ): 1 − µ Px (ω )S (ω gdzie: { ) <1 } Px (ω ) = E X ω (k ) jest gęstością widmową mocy sygnału x. Warunek stabilności moŜna sformułować następująco: 2 1 µ Px (ω ) < Re * ( ) S ω Algorytm FXLMS c.d. Analiza algorytmu FXLMS w dziedzinie częstotliwości c.d. W przypadku algorytmu FXLMS: 0 < 1 − µ Px (ω ) S (ω )2 <1 Warunek stabilności moŜna sformułować następująco: µ Px (ω ) < 1 S (ω * ) 2 Algorytm FXLMS c.d. Algorytmu FXLMS z wyciekiem Podobnie jak w przypadku algorytmu LMS przy tłumieniu hałasu niskoczęstotliwościowego moŜe dochodzić do nadmiernego wzrostu pobudzenia głośnika sterującego i wzrostu negatywnego wpływu zniekształceń nieliniowych. Algorytm FXLMS z wyciekiem pozwala ograniczyć pobudzenie głośnika sterującego poprzez uwzględnienie we wskaźniku jakości wartości wielkości sterującej: 1 2 1 2 2 ˆ ξ (k ) = (e (k ) + γ y (k )) = (e (k ) + γw T (k )w (k )) 2 2 stąd: w (k + 1 ) = ν w (k ) − µ x ' (k )e (k ) , ν = 1 − µγ