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 xh 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 1i 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 , hm1 ,..., 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 Chp 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