n - cygnus

Transkrypt

n - cygnus
ZAGADNIENIE W POSTACI OGÓLNEJ
s(n) - sygnał 1
e(n) - sygnał 2
d (n)
-sygnał obserwowany
x(n) -sygnał skorelowany z e(n)
i nieskorelowany z s(n)
xˆ(n) -model sygnału d(n)
 (n)  s(n)  e(n)  xˆ(n)
Szukane:
h  [h0 , h1 ,..., hM 1 ]T
Kryterium:
- odpowiedź impulsowa filtru FIR,
min E [ 2 (n)]
-błąd
T - transpozycja
REDUKCJA ZAKŁÓCEŃ
s(n) -sygnał akustyczny
e(n) -zakłócenie addytywne
d (n)-sygnał zakłócony
x(n) -zakłócenie skorelowane z e(n)
i nieskorelowane z s(n)
xˆ(n) -odfiltrowane zakłócenie
 (n)  s(n)  e(n)  xˆ(n)
Szukane:
h  [h0 , h1 ,..., hM 1 ]T
Kryterium:
- odpowiedź impulsowa filtru FIR,
min E [ 2 (n)]
-błąd
T - transpozycja
REDUKCJA ZAKŁÓCEŃ - PRZYKŁAD
Przykładowa odpowiedź impulsowa filtru tłumiącego zakłócenie
TŁUMIENIE ECHA
s(n) -sygnał przychodzący
e(n) -echo mowy wychodzącej
d (n)-sygnał zakłócony echem
x(n) -mowa wychodząca-
skorel. z e(n)
i nieskorelowana z s(n)
xˆ(n) -odfiltrowana mowa wychodząca
 (n)  s(n)  e(n)  xˆ(n)
Szukane:
h  [h0 , h1 ,..., hM 1 ]T
Kryterium:
- odpowiedź impulsowa filtru FIR,
min E [ 2 (n)]
- błąd
T - transpozycja
TŁUMIENIE ECHA - PRZYKŁAD
Przykładowa odpowiedź impulsowa filtru tłumiącego echo
IDENTYFIKACJA OBIEKTU DYNAMICZNEGO
s(n) -szum
e(n) -sygnał wyjściowy obiektu
d (n)-sygnał zakłócony (obserwowany)
x(n) -sygnał pobudzający-
skorel. z e(n)
i nieskorelowany z s(n)
xˆ(n) -sygnał wyjściowy modelu
 (n)  s(n)  e(n)  xˆ(n)
Szukane:
h  [h0 , h1 ,..., hM 1 ]T
Kryterium:
- odpowiedź impulsowa filtru FIR,
min E [ 2 (n)]
- błąd
T - transpozycja
KOREKCJA KANAŁU
s(n)
e(n)
s(n) -szum
e(n) – impulsy (symbole)
nadawane
d(n) – kopia impulsów
nadawanych
x(n) - sygnał wyjściowy kanału
d (n)
x(n)
xˆ(n)
-sygnał wyjściowy korektora
 (n)  s(n)  e(n)  xˆ(n)
Szukane:
h  [h0 , h1 ,..., hM 1 ]T
Kryterium:
- odpowiedź impulsowa filtru FIR,
min E [ 2 (n)]
- błąd
T - transpozycja
PREDYKCJA
x(n) - bieżąca próbka sygnału
s(n) - szum (może być = 0)
d (n)-sygnał obserwowany
xˆ(n) -predykcja próbki x(n)
 (n)  s(n)  x(n)  xˆ(n)
Szukane:
a  [a1,..., aM ]T
Kryterium:
- współczynniki predykcji,
min E [ 2 (n)]
T - transpozycja
-błąd
predykcji
PREDYKCJA - PRZYKŁAD
Sygnał mowy (czarny) i jego predykcja (czerwony)
-10 współczynników predykcji
ZAGADNIENIE W POSTACI OGÓLNEJ
s(n) - sygnał 1
e(n) - sygnał 2
d (n)-sygnał obserwowany
x(n) -sygnał skorelowany z e(n)
i nieskorelowany z s(n)
xˆ(n) -model sygnału d(n)
 (n)  s(n)  e(n)  xˆ(n)
Szukane:
h  [h0 , h1 ,..., hM 1 ]T
Kryterium:
- odpowiedź impulsowa filtru FIR,
min E [ 2 (n)]
- błąd
T - transpozycja
Rozwiązanie (filtr Wienera)
M 1
xˆ (n)   hi x(n  i )  h T x (n)
gdzie
i 0
x ( n)




 x(n  1) 
x (n)  




 x(n  M  1) 


 (n)  d (n)  xˆ(n)  d (n)  h T x (n)
 2 (n)  [d (n)  h T x (n)]2  d 2 (n)  2 d (n) h T x (n)  h T x (n) x T (n) h
E[ 2 (n)]  E[d 2 (n)]  2 h T E [d (n) x (n)]  h T E [ x (n) x T (n)]h
Rozwiązanie (filtr Wienera)
E[ 2 (n)]  E[d 2 (n)]  2 h T E [d (n) x (n)]  h T E [ x (n) x T (n)]h
E[d (n) x(n)]




E
[
d
(
n
)
x
(
n

1
)]


p  E [d (n) x (n)]  




 E[d (n) x(n  M  1)]


Podstawiamy
 R0  RM 1 


T
C  E x (n) x (n)  {cij }i , j 0,1,, M 1   

 
R

 M 1  R0 

gdzie

cij  E [ x(n  i) x(n  j )]  Ri  j
- współczynnik autokorelacji sygnału x(n)
Rozwiązanie (filtr Wienera)
min E[ 2 (n)]  min {E[d 2 (n)]  2 h T p  h T C h}
Rozwiązanie:

 T
 T
2
E[ (n)]  2 [h p ] 
[h C h ]  0
h
h
h
 2 p  2C h  0  C h  p
Dobre wyniki dla sygnału s(n) i x(n) o charakterze stacjonarnym
Adaptacja filtru
1.
Blokowa – np. dla mowy co 10-30 ms oblicza się nową odpowiedź impulsową
a) obliczenie wsp. autokorelacji sygnału x i wsp. korelacji sygn. d i x
Ri   x(n) x(n  i ),
n
pi   d (n) x(n  i )
i  0,1, , M  1
n
b) obliczenie współczynników filtru – rozwiązanie układu równań liniowych
Ch  p
c) filtracja
xh
Adaptacja filtru
2.
Sekwencyjna
- Co próbkę oblicza się nowe współczynniki filtru, dodając poprawkę
do estymaty uzyskanej dla poprzedniej próbki.
h (n  1)  h (n)  h (n)
h (n)
- poprawka w chwili n
Poprawki winny powodować zmniejszenie mocy błędu
- kryterium dla metod LMS (least mean square)
Metoda gradientowa
(SG – stochastycznego gradientu)
- należy do metod LMS
h (n)   grad[ (n)]2
[ (n)]2
M 2
Adaptacja sekwencyjna
Moc chwilowa błędu:
[ (n)]2  [d (n)  h T (n) x (n)]2
jest funkcją wektora współczynników filtru
h (n)
Gradient (kierunek wzrostu mocy błedu):
grad [ (n)]2 

[d (n)  h T (n) x (n)]2  2 (n) x (n)
h
Poprawka (w kierunku przeciwnym do gradientu):
Metoda stochastycznego gradientu:
h (n)   2 grad [ (n)]2    (n) x (n)
h (n  1)  h (n)  h (n)  h (n)    (n) x (n)
 – szybkość adaptacji
Metody LS (najmniejszej sumy kwadratów)
W każdej chwili n obliczamy nowe współczynniki filtru h0(n),…,hM-1(n)
M 1
xˆ (n)   hi (n) x(n  i )  h T (n) x (n)
 (n)  d (n)  xˆ (n)  d (n)  h T (n) x (n)
i 0
n
Kryterium:
min E (n)
h (n)
E (n)    2 (i )
(okno początkowe, rozszerzające się)
i 1
n
E (n)   n i  2 (i )
i 1
n
E (n)    2 (i )
i  n0
Metody LS (najmniejszej sumy kwadratów)
n
n
E (n)    (i )   [d (i )  h T (n) x (i )]2 
2
i 1
n
i 1
n
n
  d (i )  2  d (i ) x (i ) h (n)  h (n) x (i ) x T (i ) h (n) 
2
i 1
n
T
i 1
T
i 1
  d 2 (i )  2 p T (n) h (n)  h T (n) C (n) h (n)
i 1
n
gdzie
rozwiązanie
p (n)   d (i ) x (i)
i 1
n
C (n)   x (i ) x T (i )
C (n) h (n)  p(n)
i 1
Wariant sekwencyjny
RLS (recursive least squares)
C (n  1) h (n  1)  p (n  1)
h (n),
C ( n) h ( n )  p ( n)
Znamy rozwiązanie
szukamy
Okno zanikające (dla =1 przechodzi w początkowe)
n
E ( n)   
i 1
n
 
n i
i 1
n
 (i)   n i [d (i )  h T (n) x (i)]2 
i 1
n
d (i )  2  
2
gdzie
n i
i 1
  n i d 2 (i )
i 1
n
n i 2

n
p ( n)   
i 1
T
i 1
2 p T ( n) h ( n)
n i
n
d (i ) x (i ) h (n)  h (n) n i x (i ) x T (i ) h (n) 
T
d (i ) x (i ) 

h T ( n ) C ( n) h ( n)
n 1
 n i d (i) x (i)  d (n) x (n) 
i 1
n 1
   n 1i d (i ) x (i )  d (n) x (n)   p (n  1)  d (n) x (n)
i 1
podobnie
C (n)  C (n 1)  x (n) x T (n)
Wariant sekwencyjny
RLS (recursive least squares)
Aby uniknąć odwracania macierzy korzystamy ze wzoru:
Jeśli A, B – macierze kwadratowe, x – wektor, oraz
A
to
A
1
 B
Podstawiamy:
Stąd
1
B x xT B
1  xT B x
A  C (n),
1
B 1   C (n  1),
1
C (n)   C (n  1)   g (n) x (n) C (n  1),
Z drugiej strony
B 1  xx T
1
1
T
x  x ( n)
g ( n) 
C 1 (n  1) x (n)
 (1  1 x T (n)C 1 (n  1) x (n))
C 1 (n) x (n)  1 C 1 (n  1) x (n)  1 g (n) x T (n) C 1 (n  1) x (n) 
 g (n)(1  1 x T (n)C 1 (n  1) x (n))  1 g (n) x T (n) C 1 (n  1) x (n)  g (n)
Ostatecznie
h (n)  C 1 (n) p(n)  C 1 (n) [ p(n  1)  d (n) x (n)]   C 1 (n) p(n  1)  d (n)C 1 (n) x (n) 
 C 1 (n  1) p(n  1)  g (n) x T (n)C 1 (n  1) p(n  1)  d (n) g (n)  h (n  1)  g (n)[d (n)  x T (n)h (n  1)]
h (n  1)
h (n  1)
Wariant sekwencyjny
RLS (recursive least squares)
h (n)  h (n  1)  g (n)[d (n)  x T (n)h (n  1)]
Błąd a priori
 pr (n)  d (n)  x T (n)h (n  1)
Błąd a posteriori
 po (n)  d (n)  x T (n)h (n)
Współczynnik „zapominania”:  (wpływa na stabilność numeryczną algorytmu RLS)
Start algorytmu:
Krok n: obliczamy
n  1,
g (n),
C 1 (0)   I ,
h (n),
h (0)  0
C 1 (n)
„Rzadkie” modele
Projektując filtr H(z) można wykorzystać naszą wiedzę o problemie.
Np. w zagadnieniu tłumienia echa można się spodziewać odpowiedzi impulsowej:
h  [0, 0,,0, hm , hm1 ,..., hM 1 ]T
gdzie m – opóźnienie echa
Długość odpowiedzi impulsowej (M) musi być większa niż opóźnienie echa
Podobnie w zagadnieniu identyfikacji odpowiedzi impulsowej kanału wielodrożnego
można założyć liczbę dróg (K) i szukać odpowiedzi impulsowej:
h  [0, ,0, h j (1) ,0, ,0, h j ( 2 ) ,0, ,0, h j ( K ) ]T
Tworzymy w ten sposób tzw. „rzadkie” modele sygnałów lub układów
„Rzadkie” modele – c.d.
Przepiszmy równanie błędu dla kolejnych chwil czasowych:
 ( n)  d ( n)  x T ( n) h
 (n  1)  d (n  1)  x T (n  1) h
 d Xh

 (1)  d (1)  x T (1) h
macierz n x M
W metodach LS minimalizujemy energię błędu:
min ||  ||2  min || d  X h ||2
h
h
„Rzadkie” modele – c.d.
min ||  ||2  min || d  X h ||2
h
h
|| d  X h || 2  (d  X h )t (d  X h )  d t d  2 d t X h  h t X t X h 
 d t d  2 pt h  h tC h
gdzie
p  XTd, C  XT X
Przyrównując pochodne do zera
otrzymuje się układ równań liniowych

|| d  X h ||2  2 p  2C h  0
h
Chp
Rozwiązując ten układ równań liniowych, otrzymamy najczęściej odpowiedź impulsową,
która nie jest „rzadka” (nie zawiera ciągów zer)
__
_
„rzadkiego” rozwiązania trzeba szukać bezpośrednio, dążąc z Xh do d
„Rzadkie” modele – matching pursuit (MP)
min ||  ||2  min || d  X h ||2
h
h
X  [ X 1 , X 2 , , X M ]
K
„Rzadki” model wektora docelowego
d:
d   h j (i ) X j (i )
*
i 1
jest kombinacją liniową K < M kolumn macierzy
Matching pursuit:
Kolumny wybieramy kolejno,
stopniowo zmniejszając błąd
  d d*
X
„Rzadkie” modele – matching pursuit (MP)
min ||  ||2  min || d  X h ||2
h
h
X  [ X 1 , X 2 , , X M ]
K
„Rzadki” model wektora docelowego
d:
d   h j (i ) X j (i )
*
i 1
jest kombinacją liniową K < M kolumn macierzy
X
wektor
docelowy
_
d
Matching pursuit:
Kolumny wybieramy kolejno,
stopniowo zmniejszając błąd
i  d  d
*
i
1
X3
X2
f
hj(1)Xj(1)
X1
pierwsza
wybrana
kolumna
„Rzadkie” modele – matching pursuit (MP)
Wybór drugiej kolumny:
wektor
docelowy
Matching pursuit:
Kolumny wybieramy kolejno,
stopniowo zmniejszając błąd
  d d
X3
2
1
X2
*
hj(2)Xj(2)
f
hj(1)Xj(1)
X1
„Rzadkie” modele – OMP
Wada MP: wolna zbieżność do wektora docelowego
(odpowiednio mały błąd uzyskujemy przy dużym K, a więc
model nie jest bardzo „rzadki”)
Orthogonal MP (OMP):
rzutowanie wektora
docelowego na
podprzestrzeń
rozpiętą na kolejno
wybieranych
kolumnach
_
d
X3
OMP też nie daje gwarancji
optymalnego rozwiązania,
chyba że przeszukamy wszystkie
możliwe podprzestrzenie w liczbie
M!
K!( M  K )!
wektor
docelowy

X2
f
hj(1)Xj(1) + hj(2)Xj(2)
X1
„Rzadkie” modele – min L1
W metodach LS minimalizujemy energię błędu wyrażoną normą euklidesową (norma L2):
n
min ||  ||  min || d  X h ||  min   i2
h
2
2
2
2
h
h
i 1
Dodajmy człon ograniczający normę L1 szukanej odpowiedzi impulsowej:
M 1
|| h ||1   | h j |
j 0
Na przykład w ten sposób:
min{ || h ||1  ||  ||22 }  min{ || h ||1  || d  X h ||22 }
h
h
Takie zadanie ma analityczne rozwiązanie i zapewnia „rzadszą”
odpowiedź impulsową niż metody LMS