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.