Splot i korelacja -...

Post on 08-Feb-2018

215 views 2 download

Transcript of Splot i korelacja -...

1

2

Splot i korelacja są podstawowymi pojęciami przetwarzania sygnałów.

Splot jest bazową operacją dla filtracji cyfrowej, pozwołającej na zwiększenie stosunku mocy sygnału do mocy zakłóceń.

Splot jest bazową operacją dla filtracji cyfrowej, pozwołającej na zwiększenie stosunku mocy sygnału do mocy zakłóceń.

Korelacja pozwala na porównanie sygnałuz przebiegiem odniesienia (wzorcem). Redukuje wplyw składowych losowych oraz pomaga wykryć składowe sygnału podobne do wzorca.

Korelacja pozwala na porównanie sygnałuz przebiegiem odniesienia (wzorcem). Redukuje wplyw składowych losowych oraz pomaga wykryć składowe sygnału podobne do wzorca.

3

Τ−= ],...,,[ 110 NxxxX Τ

−= ],...,,[ 110 NhhhH

1,0 ,1

0

−== ∑−

=− Nmhxy

N

nnmnm

SPLOT KOLOWY

Y=HNX

Τ−= ],...,,[ 110 NyyyY

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

−−−

−−

0321

3012

2101

1210

hhhh

hhhhhhhhhhhh

NNN

N

NN

N

L

LLLLL

L

L

L

H

4

Przykład wyznaczenia splotu kolowego

1 2 4 82 5 4 3

1 2 4 83 2 5 4

1 2 4 84 3 2 5

1 2 4 85 4 3 2

5238445221)0( =⋅+⋅+⋅+⋅=y

5948542231)1( =⋅+⋅+⋅+⋅=y

5858243241)2( =⋅+⋅+⋅+⋅=y

4128344251)3( =⋅+⋅+⋅+⋅=y

1 2 4 8 2 3 4 5X= H=

52 59 58 41Y=

5

KORELACJA KOLOWA

Nmnhh

Nmxhy

nnm

n

N

nnmm

≥+=

−=⋅=

+

=+∑

dla ,

1,0 ,1

0Y=GNX

Τ−= ],...,,[ 110 NxxxX Τ

−= ],...,,[ 110 NhhhHΤ−= ],...,,[ 110 NyyyY

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

= −−−

−−

0321

3012

2101

1210

gggg

gggggggggggg

NNN

NN

N

N

L

MLMMM

L

L

L

G

6

Przykład wyznaczenia korelacji kolowej

1 2 4 82 3 4 5

1 2 4 85 2 3 4

1 2 4 84 5 2 3

1 2 4 83 4 5 2

1 2 4 8 2 3 4 5X= H=

64 53 46 47Y=

7

Obliczenie splotu kolowego za pomocą DFT

Splot w dziedzinie czasu może być zastąpiony przez mnożenie w dziedzinie częstotliwości!

DFT

DFT

IDFT

X

H

Y

8

Obliczenie korelacji kolowej za pomocą DFT

DFT

DFT

IDFT

X

H

Y

9

SPLOT LINIOWY

10

Splot liniowy dwóch ciągów skończonych jest zdefiniowany następująco:

Τ−= ],...,,[ 110 NxxxX Τ

−= ],...,,[ 10 MhhhH

y h xl l nn

l

n= ⋅−=∑

0

hl n− = 00<− nl

l N M= + −0 2,...,

Τ−+= ],...,,[ 210 MNyyyY 1)1( ×−+ MN

11

Splot sygnału z odpowiedzią impulsową można przedstawić opisowo w sposób następujący.

Ciąg odpowiedzi impulsowej należy odwrócić “tył na przód” i stopniowo przesuwać nad ciągiem sygnału wejściowego. W każdym położeniu wyznacza się iloczyny tych elementów obu ciągów, które znalazły się jeden nad drugim.

Zsumowanie tych iloczynów daje wynik splotu dla pojedyńczej wartości indeksu sygnału wyjściowego.

12

Przykład wyznaczenia splotu liniowego1 2 4 8

5 4 3 2

X= 2 3 4 5H=

1 2 4 8

1 2 4 85 4 3 2

1 2 4 85 4 3 2

1 2 4 85 4 3 2

1 2 4 85 4 3 2

221)0( =⋅=y 50384452)4( =⋅+⋅+⋅=y

5 4 3 21 2 4 8

72231)1( =⋅+⋅=y 524854)5( =⋅+⋅=y

1 2 4 85 4 3 2

4058)6( =⋅=y18243241)2( =⋅+⋅+⋅=y

2 7 18 41 50 52 40Y=

41284251)3( =⋅+⋅+⋅=y

13

1)12(1)12( ××−×− ⋅= NNNN XHY

Τ−= ],...,,[ 110 NxxxXΤ

−×− = ],...,,[ 22101)12( NN yyyY

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

=

−−

−−

−−−×−

1

21

121

0321

012

21

0

)12(

N

NN

NN

NNNNN

hhh

hhhhhhh

hhhhh

h

KKKKK

K

K

KKKKK

H

14

KORELACJA LINIOWA

15

1)12(1)12( ××−×− ⋅= NNNN XGY

Τ−= ],...,,[ 110 NxxxXΤ

−×− = ],...,,[ 22101)12( NN yyyY

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

=

−−−

−−

×−

0

10

210

1210

123

12

1

)12(

ggg

ggggggg

ggggg

g

N

N

NNN

NN

N

NN

KKKKK

K

K

KKKKK

G

16

Korelację sygnału z przebiegiem odniesieniamożna przedstawić opisowo w sposób następujący.

Ciąg przebiegu odniesienia uporządkowany według kolejności naturalnej należy rozmieścić pod sygnałem i stopniowo przesuwać nad ciągiem sygnału wejściowego.

W każdym położeniu wyznacza się iloczyny tych elementów obu ciągów, które znalazły się jeden nad drugim.

Zsumowanie tych iloczynów daje wynik splotu dla pojedyńczej wartości indeksu sygnału wyjściowego.

17

Przykład wyznaczenia korelacji liniowej1 2 4 8

2 3 4 5

X= 2 3 4 5G=

1 2 4 8

1 2 4 82 3 4 5

1 2 4 82 3 4 5

1 2 4 82 3 4 5

1 2 4 82 3 4 5

2 3 4 51 2 4 8

1 2 4 82 3 4 5

5 14 31 64 48 32 16Y=

18

xn-5

xn-4

xn-3

xn-2

xn-1

xn

xn+1

xn+2

h3

h2

h1

h0

suma iloczynów

19

Wyznaczenie splotuliniowego za pomocą

splotu kolowego

20

Algorytm wyznaczenia splotu liniowego za pomocą splotu kolowego

1. Sekwencje próbek sygnału oraz odpowiedź impulsowa filtru FIR uzupełniają się zerami.Długość sekwencji po uzupełnieniu jest równa sumiesekwencji pierwotnych pomniejszonej o 1, czyli N+M-1.

1. Sekwencje próbek sygnału oraz odpowiedź impulsowa filtru FIR uzupełniają się zerami.Długość sekwencji po uzupełnieniu jest równa sumiesekwencji pierwotnych pomniejszonej o 1, czyli N+M-1.

2. Nad poszerzonymi w taki sposób sekwencjami wykonyje się operacja splotu kołowego za pomocą metody klasycznej wcześniej rozpatrzonej.

2. Nad poszerzonymi w taki sposób sekwencjami wykonyje się operacja splotu kołowego za pomocą metody klasycznej wcześniej rozpatrzonej.

21

Przykład wyznaczenia splotu liniowego za pomocą splotu kolowego

1 2 4 8 0 0 0

2 0 0 0 5 4 3

1 2 4 8 0 0 0

3 2 0 0 0 5 4

1 2 4 8 0 0 0

4 3 2 0 0 0 5

1 2 4 8 0 0 0

5 4 3 2 0 0 0

1 2 4 8 0 0 0

0 5 4 3 2 0 0

1 2 4 8 0 0 0

0 0 5 4 3 2 0

1 2 4 8 0 0 0

0 0 0 5 4 3 2

2 7 18 41 50 52 40

2 3 4 5 0 0 01 2 4 8 0 0 0X= H=

221)0( =⋅=y 50384452)4( =⋅+⋅+⋅=y

524854)5( =⋅+⋅=y72231)1( =⋅+⋅=y

4058)6( =⋅=y18243241)2( =⋅+⋅+⋅=y

Y=

4128344251)3( =⋅+⋅+⋅+⋅=y

22

Realizacja splotu liniowego za pomocą

spłotu kolowegozz wykorzystaniem wykorzystaniem FFTFFT

(Filtracja długich ciągów)

23

W dotychczasowych rozważaniach przyjmowano, że przez filtr FIR rozumie się jego odpowiedź impulsową, bezpośrednio stosowaną do wyznaczania splotu liniowego.

Charakterystyka widmowa filtru stanowiła jedynie wstępne założenie projektowe.

24

W celu uproszczenia realizacji splotu liniowego dla długich sekwencji danych zostały zaproponowane metody wykorzystujące segmentację danych.Główne z nich to „Overlap-Save” oraz „Overlap-Add”.

Należy wspomnieć, że te metody wykorzystywane są w większości przypadków dla bardzo długich sekwencji danych, lub w szczególności dla nieskończonych sekwencji danych.

Należy wspomnieć, że te metody wykorzystywane są w większości przypadków dla bardzo długich sekwencji danych, lub w szczególności dla nieskończonych sekwencji danych.

W literaturze metody te były implementowane przede wszystkim przy realizacji splotu za pomocą transformaty FFT.

25

Idea tych metod polega na podziale danych wejściowych na mniejsze segmenty, a następnie rozważenie procesu obliczania splotu dla mniejszej liczby elementów (prostsze w budowie algorytmy).

Idea tych metod polega na podziale danych wejściowych na mniejsze segmenty, a następnie rozważenie procesu obliczania splotu dla mniejszej liczby elementów (prostsze w budowie algorytmy).

Następnie należy odpowiednio złożyć wyniki obliczeń w celu otrzymania końcowego rezultatu.

Następnie należy odpowiednio złożyć wyniki obliczeń w celu otrzymania końcowego rezultatu.

26

W obu metodach ciąg wejściowy dzielony jest w miarę napływania danych na bieżąco na bloki o długości Lx.

W obu metodach ciąg wejściowy dzielony jest w miarę napływania danych na bieżąco na bloki o długości Lx.

Τ−= ],...,,[ 110 NxxxX

Lx LxLx

… …Lx Lx

27

Każdy blok, w chwili jego filtracji, jest uzupełniony zerami (metoda overlap-add) lub początkiem kolejnego bloku (metoda overlap-save).

Lh-1Lx

Lx+Lh-1Overlap-add

Lx Lh-1Overlap-save

Lx+Lh-1

28

Długość tego uzupełnienia jest równa długości odpowiedzi impulsowej filtru FIR pomniejszonej o 1,czyli Lh-1.

Lh-1Lx

Lx+Lh-1Overlap-add

Lx Lh-1Overlap-save

Lx+Lh-1

29

W kolejnym kroku blok o łącznej długości Lx+Lh-1poddawany jest FFT, po czym przeprowadzana jest filtracja za pomocą mnożenia przez transformatę DFTodpowiedzi impulsowej filtru i wynik filtracji poddawany jest odwrotnej transformacji - czyli IFFT.

Lh-1Lx

Lx+Lh-1

30

Filtracja taka odpowiada splotowi kołowemu bloku danych o długości Lx+Lh-1.

W celu sprowadzenia wyniku do postaci odpowiadającej fragmentowi splotu liniowego o długości Lx stosuje się następujące zabiegi:

31

w metodzie „overlap-add”:

Do kolejnych początkowych Lx-1 elementów pierwszej części dodawane są kolejne elementy zapamiętane w buforze, znajdujące się tam w wyniku przetwarzania poprzedniego bloku.

Do kolejnych początkowych Lx-1 elementów pierwszej części dodawane są kolejne elementy zapamiętane w buforze, znajdujące się tam w wyniku przetwarzania poprzedniego bloku.

wynik splotu kołowego, o długości Lx+Lh-1, dzielony jest na dwie części - pierwszą, o długości Lx i drugą, o długości Lh-1.

wynik splotu kołowego, o długości Lx+Lh-1, dzielony jest na dwie części - pierwszą, o długości Lx i drugą, o długości Lh-1.

Z kolei druga część - właśnie o długości Lh-1 - jest wpisywana jako nowa zawartość bufora, do wykorzystania przy filtracji kolejnego bloku.

Z kolei druga część - właśnie o długości Lh-1 - jest wpisywana jako nowa zawartość bufora, do wykorzystania przy filtracji kolejnego bloku.

Cała, tak zmodyfikowana, pierwsza część o długości Lxstanowi odpowiedni fragment splotu liniowego.

Cała, tak zmodyfikowana, pierwsza część o długości Lxstanowi odpowiedni fragment splotu liniowego.

32

Lh-1Lx

Lx+Lh-1

Lh-1

Lx

Overlap-add

33

w metodzie „overlap-save”:

Wynik splotu kołowego, o długości Lx+Lh-1, jest dzielony na dwie części.

W tym przypadku pierwsza część ma długość Lh-1 i jest po prostu odrzucana, natomiast jako odpowiedni fragment splotu liniowego pozostawia się część drugą, o długości Lx .

34

Lx Lh-1

Lx+Lh-1

Lh-1

Lx

Lx

Overlap-save

35

Splot cykliczny rzSplot cykliczny rzęędu du N=8N=8

x0

x1

x2

x3

x4

x5

x6

x7

E2 E2

E2E2

E2

0s

1s

4s

5s

6s

7s

8s

9s

10s

2s

3s

1s

1s1s

E2

y0

y1

y2

y3

y4

y5

y7

y6

14 operacji mnożenia, 46 operacji dodawania

36

SPLOT DWUWYMIAROWY

37

,,lkN x=X

,, jiM φ=ф

38

,, jiM φ=ф,,lkN x=X

1,0, −= Nlk ;,1,0, NMMji <−=

jii j

jllklk xy ,,, φ⋅= ∑∑ ++

39

40

41

Rozfokusowanie (blur)

⎥⎥⎥

⎢⎢⎢

1121

1

61

42

Rozfokusowanie (Cz.d)

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

1232124542356532454212321

741

43

Podniesienie ostrości

⎥⎥⎥

⎢⎢⎢

−−−

1151

1

44

Wydzielenie krawędzi

⎥⎥⎥

⎢⎢⎢

−−−

1141

1

+ próg

45

Wytłaczanie

⎥⎥⎥

⎢⎢⎢

−−

1101

1

+ przesunięcie jaskrawości

46

47

48

49

Dziękuję za uwagę