Szybka transformacja Fouriera (FFT Fast Fourier Transform)

Podobne dokumenty
9. Dyskretna transformata Fouriera algorytm FFT

Aproksymacja. funkcji: ,a 2. ,...,a m. - są funkcjami bazowymi m+1 wymiarowej podprzestrzeni liniowej X m+1

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Przekształcenia całkowe. Wykład 1

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Transformata Fouriera

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Przestrzenie wektorowe

Informacja o przestrzeniach Hilberta

Lista. Algebra z Geometrią Analityczną. Zadanie 1 Przypomnij definicję grupy, które z podanych struktur są grupami:

2.1. Postać algebraiczna liczb zespolonych Postać trygonometryczna liczb zespolonych... 26

= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3

Lista. Przestrzenie liniowe. Zadanie 1 Sprawdź, czy (V, +, ) jest przestrzenią liniową nadr :

Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych klasa druga zakres rozszerzony

Przykładowe zadania z teorii liczb

Algorytmy i struktury danych. Wykład 4

Metody numeryczne Wykład 6

2. Próbkowanie Sygnały okresowe (16). Trygonometryczny szereg Fouriera (17). Częstotliwość Nyquista (20).

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.

Całka nieoznaczona, podstawowe wiadomości

Próbny egzamin z matematyki dla uczniów klas II LO i III Technikum. w roku szkolnym 2012/2013

1. LICZBY DZIAŁ Z PODRĘCZNIKA L.P. NaCoBeZu kryteria sukcesu w języku ucznia

Transformaty. Kodowanie transformujace

Całkowanie numeryczne przy użyciu kwadratur

przy warunkach początkowych: 0 = 0, 0 = 0

Wykład z Technologii Informacyjnych. Piotr Mika

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2012/13

Matematyka stosowana i metody numeryczne

MATeMAtyka 3. Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych. Zakres podstawowy i rozszerzony. Zakres podstawowy i rozszerzony

FFT i dyskretny splot. Aplikacje w DSP

2. Szybka transformata Fouriera

Teoria sygnałów Signal Theory. Elektrotechnika I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

φ(x 1,..., x n ) = a i x 2 i +

Transformacja Fouriera i biblioteka CUFFT 3.0

Rozkład materiału a wymagania podstawy programowej dla I klasy czteroletniego liceum i pięcioletniego technikum. Zakres rozszerzony

MATeMAtyka klasa II poziom rozszerzony

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Ćwiczenie 3. Właściwości przekształcenia Fouriera

INTERPOLACJA I APROKSYMACJA FUNKCJI

Jolanta Pająk Wymagania edukacyjne matematyka w zakresie rozszerzonym w klasie 2f 2018/2019r.

Interpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna

2) R stosuje w obliczeniach wzór na logarytm potęgi oraz wzór na zamianę podstawy logarytmu.

3. Interpolacja. Interpolacja w sensie Lagrange'a (3.1) Dana jest funkcja y= f x określona i ciągła w przedziale [a ;b], która

Tematyka do egzaminu ustnego z matematyki. 3 semestr LO dla dorosłych

Akwizycja i przetwarzanie sygnałów cyfrowych

Wielomiany. dr Tadeusz Werbiński. Teoria

Analiza szeregów czasowych: 2. Splot. Widmo mocy.

n=0 (n + r)a n x n+r 1 (n + r)(n + r 1)a n x n+r 2. Wykorzystując te obliczenia otrzymujemy, że lewa strona równania (1) jest równa

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

V. WYMAGANIA EGZAMINACYJNE

3 1 + i 1 i i 1 2i 2. Wyznaczyć macierze spełniające własność komutacji: [A, X] = B

Szybka transformacja Fouriera

Interpolacja funkcji

Wykład z równań różnicowych

1. PODSTAWY TEORETYCZNE

Analiza szeregów czasowych: 2. Splot. Widmo mocy.

Propozycja szczegółowego rozkładu materiału dla 4-letniego technikum, zakres podstawowy i rozszerzony. Klasa I (90 h)

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY 7SP. V. Obliczenia procentowe. Uczeń: 1) przedstawia część wielkości jako procent tej wielkości;

Przetwarzanie i transmisja danych multimedialnych. Wykład 8 Transformaty i kodowanie cz. 2. Przemysław Sękalski.

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

WYKŁADY Z MATEMATYKI DLA STUDENTÓW UCZELNI EKONOMICZNYCH

Lista nr 1 - Liczby zespolone

WYRAŻENIA ALGEBRAICZNE

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

ROZKŁAD MATERIAŁU DLA KLASY I LICEUM I TECHNIKUM (ZAKRES PODSTAWOWY I ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ

Wykład Matematyka A, I rok, egzamin ustny w sem. letnim r. ak. 2002/2003. Każdy zdający losuje jedno pytanie teoretyczne i jedno praktyczne.

Układy stochastyczne

Całkowanie numeryczne

Zagadnienia do małej matury z matematyki klasa II Poziom podstawowy i rozszerzony

II. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE Janusz Adamowski

MATEMATYKA WYKAZ UMIEJĘTNOŚCI WYMAGANYCH NA POSZCZEGÓLNE OCENY DLA KLASY DRUGIEJ

Zagadnienia na egzamin poprawkowy z matematyki - klasa I 1. Liczby rzeczywiste

Wykład Ćwiczenia Laboratorium Projekt Seminarium Liczba godzin zajęć zorganizowanych w Uczelni ,5 1

Projekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Wymagania edukacyjne z matematyki klasa II technikum

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

Egzamin z Metod Numerycznych ZSI, Grupa: A

WYMAGANIA NA POSZCZEGÓLNE OCENY MATEMATYKA KL.VII

Plan realizacji materiału nauczania wraz z określeniem wymagań edukacyjnych

Algebra Liniowa 2 (INF, TIN), MAP1152 Lista zadań

Wymagania edukacyjne z matematyki klasa IV technikum

MATEMATYKA Z PLUSEM DLA KLASY VII W KONTEKŚCIE WYMAGAŃ PODSTAWY PROGRAMOWEJ. programowej dla klas IV-VI. programowej dla klas IV-VI.

1 Macierze i wyznaczniki

Inżynierskie metody numeryczne II. Konsultacje: wtorek 8-9:30. Wykład

ROZKŁAD MATERIAŁU NAUCZANIA KLASA 2, ZAKRES PODSTAWOWY

MATeMAtyka 3. Propozycja przedmiotowego systemu oceniania wraz z określeniem wymagań edukacyjnych. Zakres podstawowy i rozszerzony

Zdający posiada umiejętności w zakresie: 1. wykorzystania i tworzenia informacji: interpretuje tekst matematyczny i formułuje uzyskane wyniki

Technikum Nr 2 im. gen. Mieczysława Smorawińskiego w Zespole Szkół Ekonomicznych w Kaliszu

Kodowanie transformujace. Kompresja danych. Tomasz Jurdziński. Wykład 11: Transformaty i JPEG

Matematyka z kluczem. Szkoła podstawowa nr 18 w Sosnowcu. Przedmiotowe zasady oceniania klasa 7

Matematyka dyskretna

Spis treści. Rozdział I. Wstęp do matematyki Rozdział II. Ciągi i szeregi... 44

Ważne rozkłady i twierdzenia c.d.

Transkrypt:

Szybka transformacja Fouriera (FFT Fast Fourier Transform) Plan wykładu: 1. Transformacja Fouriera, iloczyn skalarny 2. DFT - dyskretna transformacja Fouriera 3. FFT szybka transformacja Fouriera a) algorytm Cooleya-Tukeya (radix-2) b) algorytm PFA c) wielowymiarowe FFT 4. Przykłady zastosowań: - mnożenie wielomianów, - odszumianie sygnału, - rozwiązanie równania Poissona, - całkowanie 1

Jeśli funkcja f(x) jest okresowa wówczas zamiast wielomianów do jej interpolacji (aproksymacji) lepiej użyć wielomianów trygonometrycznych tj. rozwinąć funkcję w szereg Fouriera. Dla funkcji okresowej o okresie 2p: Jak liczymy czynnik normalizacyjny? Funkcję możemy też zapisać w postaci zespolonego szeregu Fouriera Jak liczymy czynnik normalizacyjny? 2

Jeśli funkcja f(x) jest rzeczywista wówczas zwykły szereg Fouriera jest częścią rzeczywistą zespolonego szeregu Fouriera: Dla ciągu współczynników definiujemy Co prowadzi do zależności pomiędzy szeregiem rzeczywistym i zespolonym Dla sygnału rzeczywistego współczynniki a k lub bk mogą być wszystkie równe 0. 3

Funkcje generują ciąg ortonormalnych funkcji w zespolonej przestrzeni Hilberta. Iloczyn skalarny w tej przestrzeni: Dysponując tablicą wartości funkcji f i g w węzłach siatki, iloczyn wewnętrzny (skalarny) można zapisać w postaci dyskretnej: 4

Własności iloczynu wewnętrznego/skalarnego: oraz związek z normą euklidesową Dla każdego Dowód 5

Dla pozostałych przypadków można się posłużyć wyrażeniem na sumę szeregu: co daje ze względu na postać licznika. Funkcje Ek(x) tworzą ciąg ortogonalnych (ortonormalnych) jednomianów eksponencjalnych, z których można utworzyć wielomian : Wielomian eksponencjalny może posłużyć do interpolacji funkcji f(x). 6

Załóżmy, że jej wartości są określone na siatce zbudowanej z równoodległych węzłów: Wielomian interpolujący ma wówczas postać Uwaga: nie uwzględniamy punktu 2π bo jest on powtórzeniem wezła x0 Współczynniki znajdziemy licząc iloczyny skalarne (lewa i prawa strona) z kolejnymi jednomianami Em Ciąg współczynników cm wyznaczanych zgodnie z powyższym wzorem definiuje dyskretną transformatę Fouriera (DFT to wynik przekształcenia). W metodzie najmniejszych kwadratów wielomian ten może posłużyć do aproksymacji funkcji f(x), gdy stopień wielomianu aproksymującego jest mniejszy od N-1. 7

DFT można zapisać wykorzystując postać macierzową Transformatę można znaleźć wykonując tylko mnożenie wektora przez macierz. Ale w ten sposób należy wykonać O(N 2) operacji arytmetycznych. Jednakże macierz E ma specyficzną postać jej elementy są ze sobą ściśle powiązane co można wykorzystać w celu zmniejszenia nakładu obliczeń. Dzięki FFT liczba wykonywanych operacji może zmaleć do wartości O(Nlog2N). 8

Algorytm radix-2 Najprostszy algorytm FFT to radix-2 (Cooley-Tukey) opracowany w latach 60 XX wieku w celu szybkiej analizy danych sejsmologicznych. Naszym zadaniem jest obliczenie współczynników transformaty Fouriera (DFT) ck, ale wykonując jak najmniej obliczeń. Zakładamy że całkowita liczba węzłów jest potęgą 2: 9

Osobno grupujemy składniki parzyste nieparzyste 10

Korzystamy teraz z okresowości wyrazów p k oraz qk: (nie musimy wyznaczać wszystkich współczynników tylko połowę) Natomiast czynnik fazowy ma następującą własność: 11

Uwagi: a) współczynniki pk oraz qk można wyliczyć dzięki DFT nakładem O(N/2)2=O(N2/4) b) dodatkowo oszczędzamy czas wyznaczając tylko współczynniki dla ponieważ c) kolejnym krokiem w FFT jest podział sum w pk oraz w qk na sumy zawierające tylko elementy parzyste i nieparzyste d) po podziale liczba elementów w każdej z dwóch powstałych sum jest dwukrotnie mniejsza niż w elemencie macierzystym e) proces rekurencyjnego podziału kończymy, gdy liczba elementów jest równa 1 12

FFT z rozkładem na czynniki pierwsze (PFA - Prime Factor Algorithm) Liczbę naturalną możemy zapisać jako gdzie: ri są liczbami pierwszymi przykład Idea algorytmu PFA polega na zastąpieniu obliczeń DFT w jednym wymiarze (skala N 2), na obliczeniu iloczynu p transformat DFT skalujących się jak Algorytm PFA zmniejsza nakład obliczeń z N2 do N(r1+r2+...+rp) Zakładamy, że funkcja f(x) jest stablicowana w n węzłach Funcję rozwijamy w bazie wielomianów eksponencjalnych 13

Wykorzystując własności wielomianów, współczynniki rozwinięcia zapisujemy w postaci Oznaczenia: Rozkładamy liczbę węzłów na iloczyn liczb pierwszych: i wprowadzamy kolejne oznaczenia: 14

Zmienną k zapisujemy w postaci: i podobnie ułamek j/n: W wykładniku funkcji exp mamy wyraz podstawmy ten wynik do rozwinięcia 15

Wykorzystujemy uzyskany wynik do obliczenia w kj uwaga: Chcemy znaleźć wartość współczynników ck 16

Wykorzystujemy teraz zależność pomiędzy wskaźnikiem j a l1,l2,...,lp w sumowaniu Sumę po j możemy zapisać jako ponieważ każdą wartość j realizuje odpowiednia kombinacja wskaźników l1,l2,...,lp. To przejście pozwala zapisać współczynnik ck jako iloczyn p transformat DFT jednowymiarowych 17

Startujemy od obliczenia jednowymiarowego DFT dla wartości funkcji w węzłach, których indeksy zależą od aktualnych wartości l 1,l2,...,lp Takich transformat będzie n/rp, a wyznaczenie każdej z nich wiąże się z nakładem obliczeń rzędu (rp)2 następnie obliczamy Po wyznaczeniu w ten sposób p transformat dostajemy żądany współczynnik c k (procedurę powtarzamy dla każdej wartości k) 18

Inne algorytmy FFT 1) Algorytm Winograda/Radera DFT jest sformułowane w postaci cyklicznego splotu. Modyfikacja Winograda algorytmu FFT działa gdy N=p m, p -liczba pierwsza. 2) Split-radix modyfikacja algorytmu Cooleya-Tukeya. W każdym kroku DFT jest wyrażana jako suma DFT dla N/2 oraz dwóch DFT dla N/4. Jest to najszybszy algorytm FFT. 3) DST (discrete sine transform) oraz DCT (discrete cosine transform) - transformaty sinusowa i kosinusowa, opłaca się je stosować gdy transformację przeprowadzamy na funkcjach rzeczywistych. Unikamy w ten sposób operacji na liczbach zespolonych co jest kosztowne. Wielowymiarowa FFT Transformacja Fouriera jest operacją liniową, zatem w przypadku d-wymiarowym możemy dokonać d transformacji niezależnych. Współczynnki wyznacza się stosując algorytm jednowymiarowego FFT kolejno dla każdego z wymiarów. 19

Zastosowania FFT: 1) interpolacja, aproksymacja 2) szybkie mnożenie wielomianów 3) cyfrowe przetwarzanie sygnału (np. odszumianie, analiza widma częstotliwości) 4) kompresja danych 5) analiza sygnałów czasowych (korelacja, splot) 6) rozwiązywanie równań różniczkowych (rów. Poissona) 7) całkowanie (splot) 20

Szybkie mnożenie wielomianów przy użyciu FFT Chcemy obliczyć iloczyn dwóch wielomianów Jeśli stopnie wielomianów są różne to je wyrównujemy dodając do wielomianu niższego stopnia współczynniki równe 0. Iloczyn wielomianów Dokonujemy reindeksacji wskaźników 21

Po reindeksacji dostajemy Jeśli współczynniki wielomianów ai oraz bi potraktujemy jako współrzędne wektorów to wektor c jest ich splotem: Korzystając z definicji tranformacji Fouriera dla splotu funkcji możemy zapisać Wektory a i b powiększamy więc dodatkowe elementy zerujemy (bo ich nie ma): 22

Filtracja sygnału (aproksymacja) FFT Dyskryminacja szumu FFT-1 23

Rozwiązywanie równania Poissona (2D, 3D) dokonujemy transformacji (FFT) całego równania (do przestrzeni odwrotnej) skąd już łatwo wyznaczymy Vk i gotowe rozwiązanie (w przestrzeni rzeczywistej) Uwaga: musimy jeszcze uwzględnić warunki brzegowe (WB) 1) jeśli WB są typu Dirichleta to wykonujemy DST-FFT dla wnętrza obszaru, a WB uwzględniamy dokonując transformat potencjału na brzegach wyniki dodajemy 2) jeśli WB są typu Neumanna to wówczas stosujemy DCT-FFT dla wnętrza obszaru. WB są automatycznie spełnione. 24

Całkowanie poprzez liczenie splotu Chcemy obliczyć całkę oddziaływania dwóch gęstości ładunku/materii która zawiera osobliwość. Całkę możemy zapisać nieco inaczej Potencjał V(r1) jest splotem dwóch funkcji: gęstości i funkcji f. Można więc wykorzystać tu twierdzenie o splocie i jego transformacie: Nastepnie wykonujemy transformację odwrotną ostatniego iloczynu co daje poszukiwany potencjał V(r). 25

Generowanie pola prędkości w równaniu adwekcji Równanie adwekcji Zadajemy funkcję wirowości Rozwiązując równanie Poissona dla funkcji strumienia Y(x,y) z WB (DCT - FFTW) możemy otrzymać pole prędkości 26

Rozwiązanie - plamka oleju poruszająca się po powierzchnii cieczy 27