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 nN1 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
covs (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 nN1.
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 nN1
otrzymujemy zbiór ich transformat S  {sn }nN1
m  1, 2,  , M
8
Kowariancja transformat
 
1
cov(s)  E ss  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 sn  N
N
T

sn  

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)  diag1 ,  2 ,  ,  M 
Sygnały otrzymane w wyniku transformacji Karhunena-Loévego są
nieskorelowane.
11
Macierz kowariancji transformat
jest macierzą diagonalną, czyli
N 2
 sn (0)
 n 1
 0
1 
covs 
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)  diag1 ,  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   sn2 ( 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