Upload
phungque
View
215
Download
2
Embed Size (px)
Citation preview
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ę