Transformata Fouriera i analiza spektralna

Transkrypt

Transformata Fouriera i analiza spektralna
Transformata Fouriera
i analiza spektralna
●
●
●
●
●
●
●
Z czego składają się sygnały?
Sygnały jednowymiarowe, częstotliwość
Liczby zespolone
Transformata Fouriera
Szybka Transformata Fouriera (FFT)
FFT w 2D
Przykłady
Częstotliwość
Prędkość (liniowa): V = S / t
S – droga
t – czas
Prędkość kołowa: ω = θ / t
θ – kąt
t – czas
kąt pełny = 2*PI
PI=3.14....
okres T [s] – czas, w jakim przebyty zostanie kąt
pełny
Częstotliwość
kąt pełny = 2*PI
2*PI = 360˚
PI = 180˚
PI/2 = 90˚ itd...
PI=3.14....
ω = 2*PI / T = 2*PI *f
okres T [s] – czas, w jakim przebyty zostanie kąt
pełny
jednostka: sekunda 1 s
częstotliwość f [Hz] – ile pełnych kątów na sekundę
jednostka: Herz 1 Hz = 1/s
Sygnał 1D
Sygnał 1D
Sygnał 1D
Sygnały składają się z wielu składowych o różnych częstotliwościach...
Zaszumiony sygnał 1D
...dodatkowo występują w nich szumy.
Sygnał 1D
Celem analizy spektralnej i zastosowania transformaty Fouriera jest analiza
sygnału w przestrzeni częstotliwości (rys. po prawej). Widać, że w sygnale
występują dwie częstotliwości – 25 Hz oraz 40 Hz.
Przykład zastosowania:
odfiltrowanie zbędnych częstotliwości
Mając zaszumiony sygnał,
możemy przenieść go do
przestrzeni
częstotliwości....
Przykład zastosowania:
odfiltrowanie zbędnych częstotliwości
... i zaobserwować, iż
pewne częstotliwości
zdecydowanie dominują
w sygnale, pozostałe
mogą (ale nie muszą)
odpowiadać za szum.
Przykład zastosowania:
odfiltrowanie zbędnych częstotliwości
Usuwamy (zerujemy) “zbyt
małe” częstotliwości i
wracamy do przestrzeni
sygnału za pomocą
transformaty odwrotnej...
Przykład zastosowania:
odfiltrowanie zbędnych częstotliwości
...otrzymując sygnał jedynie z
dominującymi składowymi
częstotliwościowymi.
Transformata Fouriera
t – czas (time domain)
f – częstotliwość (frequency domain)
Liczby zespolone
Liczby zespolone
Działania
Liczby zespolone
Postać trygonometryczna
Wzory Eulera
z = | z | (cosφ + i sinφ) = | z | e^(iφ)
Liczby zespolone
Transformata Fouriera
Transformata Fouriera
Symetrie
Transformata Fouriera
Właściwości
Transformata Fouriera
Konwolucja (splot) dwóch funkcji g(t) oraz h(t),
których transformatami Fouriera są odpowiednio
G(f) oraz H(f).
Zamiast dokonywać
uciążliwego obliczeniowo
splotu w sposób bezpośredni,
można obliczenia przenieść do
przestrzeni częstotliwości,
gdzie splot sprowadza się do
mnożenia.
Transformata Fouriera
Konwolucja (splot) to np. również nakładanie
dyskretnej maski na obraz (np. Sobela, Gaussa, itd.)
Mask = [-1,-2,-1;
0, 0, 0;
1, 2, 1];
Transformata Fouriera
Korelacja dwóch funkcji
* oznacza liczbę zespoloną
sprzężoną
Transformata Fouriera
dla dyskretnych sygnałów
Krytyczna częstotliwość Nyquista
to “sampling interval” - tzn. jak często próbkujemy dany sygnał
Próbkując dany sygnał nie jesteśmy w stanie “uchwycić” tych wysokich
częstotliwości, które są “szybsze” od naszego próbkowania.
Powyższa zależność mówi, że próbkowanie będzie skuteczne jeśli da nam
co najmniej dwie zmierzone wartości w jednym okresie T danej
częstotliwości.
Transformata Fouriera
dla dyskretnych sygnałów
Próbkowanie
Transformata Fouriera
dla dyskretnych sygnałów
W przypadku dyskretnych sygnałów, całka przechodzi w sumę.
Nasz dyskretny sygnał składa się z N zmierzonych wartości:
Możemy uzyskać informacje o następujących częstotliwościach:
Transformata Fouriera
dla dyskretnych sygnałów
Dyskretna Transformata Fouriera
Odwrotna
Dyskretna Transformata Fouriera
W ogólności wszystkie operacje są dla
liczb zespolonych.
Szybka Transformata Fouriera
dla dyskretnych sygnałów
Szybka Transformata Fouriera (Fast Fourier
Transform – FFT) pozwala w sposób
efektywny liczyć transformaty dla sygnałów
dyskretnych.
Transformata Fouriera
transformata cosinusów i sinusów
Transformata Fouriera
Transformata sinusów
Transformata cosinusów
FFT w 2D
FFT w dwóch wymiarach
Inverse FFT w dwóch wymiarach
FFT w 2D
Reasumując, dla obrazów przedstawianych jako dwuwymiarowa funkcja
f(m,n)
mamy
FFT w 2D
W przypadku dwóch
wymiarów, FFT wykonuje
się najpierw w jednym z
wymiarów (np. dla każdego
wiersza) a później dla
drugiego wymiaru na
otrzymanej transformacie z
pierwszej FFT.
Analogicznie jest dla
większej liczby wymiarów.
FFT w 2D
Dlatego w Matlabie wykonanie FFT dla obrazu (funkcji dwuwymiarowej)
Y = fft2(X)
jest równoważne wykonaniu jednowymiarowej FFT dla każdego wiersza
a potem jednowymiarowej FFT dla kązdej kolumny w wynikowym
obrazie
fft(fft(X).').'
FFT w 2D
FFT w 2D
FFT w 2D
FFT w 2D
FFT w 2D
Warto zwrócić uwagę,
że rysunek
transformaty pokazuje
większą energię dla
dużych
horyzontalnych
częstotliwości niż dla
dużych wertykalnych
częstotliwości.
Wynika to z faktu, iż
na oryginalnym
rysunku szybsze
zmiany następują w
przekroju poziomym
(tzn. jest większa
częstotliwość zmian),
dlatego, że prostokąt
jest węższy w
poziomie.
FFT w 2D
FFT w 2D
FFT w 2D
FFT w 2D
FFT w 2D
FFT w 2D
FFT w 2D: usuwanie częstotliwości o
niskich wspólczynnikach Fouriera
FFT w 2D: usuwanie częstotliwości o
wysokich wspólczynnikach Fouriera
FFT w 2D: usuwanie częstotliwości o
niskich wspólczynnikach Fouriera
FFT w 2D: usuwanie częstotliwości o
wysokich wspólczynnikach Fouriera
Wniosek
Widać, że nie zawsze współczynniki Fouriera o
niskich wartościach odpowiadają za szum w obrazie
(sygnale) ale niosą ważną informację.
Konwolucja
Konwolucja dwóch obrazów w przestrzeni
oryginalnej odpowiada mnożeniu w przestrzni
częstotliwości!
Konwolucja za pomocą dyskretnej
maski 3x3
mask = [-1,-2,-1; 0, 0, 0; 1, 2, 1];
x3 = filter2(mask, x);
figure
imshow(x3,'notruesize');
title('po filtrowaniu');
Konwolucja za pomocą mnożenia
w przestrzeni częstotliwości
mask = [-1,-2,-1; 0, 0, 0; 1, 2, 1];
mask = rot90(mask,2);
mask(s(1),s(2)) = 0;
% Zero-pad mask to be 8-by-8;
%KONWOLUCJA
x2 = ifft2(fft2(x).*fft2(mask));
x2 = real(x2); % Remove imaginary part caused by roundoff error
Konwolucja za pomocą mnożenia
w przestrzeni częstotliwości
Ten sposób jest dużo oszczędniejszy w przypadku
dużych masek filtrów.
Korelacja w przestrzeni
częstotliwości
Szukany wzorzec
Korelacja w przestrzeni
częstotliwości
Korelacja dwóch obrazów również może
być wydajnie przeprowadzona w przestrzeni
częstotliwości. Jest ona ponownie
równoważna mnożeniu transforat z
dodatkową rotacją szukanego wzorca.
Korelacja w przestrzeni
częstotliwości
Zwróć
uwagę na
jaśniejsze
punkty.
Korelacja w przestrzeni
częstotliwości
Po odpowiednim
progowaniu...
Korelacja w przestrzeni
częstotliwości
...wzorzec zostaje
znaleziony.