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 − µγ

Podobne dokumenty