N - DSP AGH
Transkrypt
N - DSP AGH
Transformacja Karhunena-Loévego ang. Karhunen-Loéve Transform (KLT) Najczęściej kolejne próbki sygnałów (np. akustycznych lub pikseli) są silnie skorelowane. KLT jest przekształceniem usuwającym redundancję poprzez dekorelację danych. KLT jest realizacją wcześniej zaproponowanej przez Hotellinga metody głównych elementów (ang. Principal Components Analysis PCA). 1 Zbiór sygnałów losowych M s s ( 0 ), s ( 1 ), s ( M 1 ) Niech sygnał n n n n będzie elementem zbioru S s n nN1 sygnałów losowych o jednakowych prawdopodobieństwach, czyli p n 1 / N T Zatem: M – długość sygnału, N – ilość sygnałów Kolejne wartości sygnałów są zdekorelowane, jeżeli 1 covs (k ), s (l ) N 0 sn (k ) ssr (k ) sn (l ) ssr (l ) 2 n 0 N gdzie dla k l dla k l 0 k, l M 1 δ jest pewną liczbą rzeczywistą 2 Definicja transformacji Karhunena-Loévego KLT jest przekształceniem liniowym, czyli można go zapisać macierzowo s Ts M gdzie T w1 , w2 ,, wM M M T Charakterystyczną cechą KLT jest specyficzny sposób wyznaczania wektorów wm M . Są one zależne od statystycznych własności przetwarzanych sygnałów. 3 Macierz autokorelacji 1 N M Wartość średnia sygnałów s sr E ( s ) s n N n 1 1 N T macierz autokorelacji E ( ss ) s n s nT M M N n 1 dla sygnałów losowych sn nN1. Iloczyn diadyczny wektorów jest macierzą, tzn. sn snT sn snT 4 Macierz autokorelacji 1 N M Wartość średnia sygnałów s sr E ( s ) s n N n 1 1 N T macierz autokorelacji E ( ss ) s n s nT M M N n 1 N s sygnałów losowych n n 1. N 2 s (0) n N n 1 s n (1) s n (0) n 1 1 E ( ss T ) N N s n ( 2) s n ( 0) n 1 N s n ( M 1) s n (0) n 1 N s n 1 N n N s n 1 N s n 1 n 1 2 n n n 1 N n 1 n N (0) s n (2) (1) s n (2) s (2) s n (1) ( M 1) s n (1) n s (1) N s n s (0) s n (1) n 1 s n 1 2 n ( 2) N n (0) s n ( M 1) n 1 N s n (1) s n ( M 1) n 1 N s n (2) s n ( M 1) n 1 N 2 s ( M 1 ) n n 1 N ( M 1) s n (2) s n 5 Macierz kowariancji cov( s ) E ( s s sr )( s s sr ) 1 cov( s ) N E ss T 1 s s N n 1 1 N N T n n T 1 N N T M M ( s s )( s s ) n sr n sr n 1 1 s s N n 1 N T n sr T 1 s s s sr n sr n 1 N N 1 s s N n 1 N T sr n N T s s sr sr n 1 T T s s s sr sr n n 1 N E ss T s sr s srT s sr s srT s sr s srT T T cov( s ) E ss s s Otrzymujemy zatem zależność sr sr 6 Macierz kowariancji cd. cov( s ) E ss T s sr s srT N s n2 (0) N n 1 s n (1) s n (0) n 1 1 E ( ss T ) N N s n ( 2) s n ( 0) n 1 N s n ( M 1) s n (0) n 1 jest macierzą symetryczną N s n 1 n N n 1 s n 1 n 1 2 n n n 1 N n 1 n N (1) s n (2) n 1 n 1 ( 2) N s 2 n n ( M 1) s n (2) ssr2 (0) ssr (0) ssr (1) ssr (0) ssr (2) 2 ( 1 ) ( 0 ) s s s ssr (1) ssr (2) sr sr (1) sr ssr ssrT ssr (2) ssr (0) ssr (2) ssr (1) ssr2 (2) s (M 1) s (0) s (M 1) s (1) s (M 1) s (2) sr sr sr sr sr sr (0) s n ( M 1) n 1 N s n (1) s n ( M 1) n 1 N s n (2) s n ( M 1) n 1 N 2 s ( M 1 ) n n 1 N ( 0) s n ( 2) s (2) s n (1) ( M 1) s n (1) n s (1) N s n s (0) s n (1) s N N s n ssr (0) ssr (M 1) ssr (1) ssr (M 1) ssr (2) ssr (M 1) ssr2 (M 1) 7 Macierz transformacji Transformacją Karhunena-Loévego jest przekształceniem s T s M gdzie macierz T w1 , w2 ,, wM M M T składa się z wektorów własnych wm macierzy kowariancji cov(s ) Dla zbioru sygnałów losowych S s n nN1 otrzymujemy zbiór ich transformat S {sn }nN1 m 1, 2, , M 8 Kowariancja transformat 1 cov(s) E ss s s N T 1 N T sr sr 1 Ts s T n 1 N N T n n T 1 s s n 1 N N 1 Ts n n 1 N N T n n 1 n sn N N T sn n 1 N T Ts n n 1 N T E ss T s sr s srT T T Otrzymaliśmy zatem zależność cov(s) T cov(s ) T T 9 Ortogonalność macierzy transformacji cov(s ) wk k wk Wektory własne spełniają warunki cov(s ) wl l wl Mnożąc lewostronnie powyższe równania przez wektory otrzymujemy dwa skalarne równania. Odejmując je stronami otrzymujemy wlT cov(s ) wk k wlT wk wkT cov(s ) wl l wkT wl wlT cov( s ) cov( s ) T wk ( k l ) wlT wk Lewa strona jest równa 0 bo macierz kowariancji jest symetryczna. Ponieważ wartości własne z prawej strony są różne, to wektory własne muszą być ortogonalne. Można je unormować i wtedy T T T 1 czyli macierz transformacji jest ortonormalna. 10 Kowariancja transformat cd. cov(s ) wm m wm Dla m 1, 2,, M otrzymujemy cov( s )T T 1 w1 , 2 w2 , , M wM Mnożąc lewostronnie przez T otrzymujemy T cov( s )T T T 1 w1 , 2 w2 , , M wM TT T diag 1 , 1 , , M cov(s) diag1 , 2 , , M Sygnały otrzymane w wyniku transformacji Karhunena-Loévego są nieskorelowane. 11 Macierz kowariancji transformat jest macierzą diagonalną, czyli N 2 sn (0) n 1 0 1 covs N 0 0 0 0 0 s (1) 0 0 2 s n ( 2) 0 N n 1 2 n 0 N n 1 0 0 N 2 s n (M n 1 1) Dobrze jest tak ustawić wektory własne, aby wartości na głównej przekątnej były uszeregowane od największej (najważniejszej?) do najmniejszej. 12 Kolejność wartości własnych cov( s )T T 1 w1 , 2 w2 , , M wM Mnożąc lewostronnie przez T otrzymujemy T cov( s )T T T 1 w1 , 2 w2 , , M wM TT T diag 1 , 1 , , M cov(s) diag1 , 2 , , M Sygnały otrzymane w wyniku transformacji Karhunena-Loévego są nieskorelowane. Dodatkowo można tak uszeregować wektory własne, aby odpowiadające im wartości własne były uszeregowane od największej do najmniejszej N N N 1 s (0) 2 s (1) M sn2 ( M 1) n 1 2 n n 1 2 n n 1 13 Algorytm wyznaczania transformat Karhunena-Loévego N wyznaczyć macierz kowariancji cov(s ) dla sygnałów s n n 1 wyznaczyć wektory własne macierzy cov(s ) unormować otrzymane powyżej wektory utworzyć z nich macierz transformacji T macierz T mnożyć przez sygnały sn M poddawane KLT 14 Ocena transformacji Karhunena-Loévego Transformacja Karhunena-Loévego (KLT) jest transformacją optymalną dla sygnałów cyfrowych w tym sensie, że diagonalizuje macierz autokowariancji. Kompletnie dekoreluje sygnał w dziedzinie transformaty, minimalizuje błąd średniokwadratowy przy kompresji danych i lokuje większość energii w małej liczbie wartości transformat. 15