Wstęp do metod numerycznych Dyskretna transformacja Fouriera. P. F. Góra

Podobne dokumenty
Analiza szeregów czasowych: 1. Dyskretna transformata Fouriera i zagadnienia pokrewne

Analiza szeregów czasowych: 1. Dyskretna transformata Fouriera i zagadnienia pokrewne

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

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

Transformaty. Kodowanie transformujace

uzyskany w wyniku próbkowania okresowego przebiegu czasowego x(t) ze stałym czasem próbkowania t takim, że T = t N 1 t

FFT i dyskretny splot. Aplikacje w DSP

9. Dyskretna transformata Fouriera algorytm FFT

Transformacje Fouriera * podstawowe własności

Transformata Fouriera i analiza spektralna

8. Analiza widmowa metodą szybkiej transformaty Fouriera (FFT)

DYSKRETNA TRANSFORMACJA FOURIERA

Przekształcenie Fouriera obrazów FFT

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Transformacja Fouriera i biblioteka CUFFT 3.0

Szereg i transformata Fouriera

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

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

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

Przetwarzanie sygnału cyfrowego (LabVIEW)

DYSKRETNE PRZEKSZTAŁCENIE FOURIERA C.D.

Analiza obrazu. wykład 5. Marek Jan Kasprowicz Uniwersytet Rolniczy 2008

Szybka transformacja Fouriera

Wykład 2: Szeregi Fouriera

Dystrybucje, wiadomości wstępne (I)

PRZETWARZANIE SYGNAŁÓW

Wstęp do metod numerycznych Faktoryzacja Cholesky ego i QR. P. F. Góra

Właściwości sygnałów i splot. Krzysztof Patan

Dyskretne przekształcenie Fouriera cz. 2

Funkcje analityczne. Wykład 2. Płaszczyzna zespolona. Paweł Mleczko. Funkcje analityczne (rok akademicki 2017/2018)

Szybka transformacja Fouriera (FFT Fast Fourier Transform)

Andrzej Leśnicki Laboratorium CPS Ćwiczenie 6 1/8 ĆWICZENIE 6. Dyskretne przekształcenie Fouriera DFT

Algorytmy detekcji częstotliwości podstawowej

Liczby zespolone. P. F. Góra (w zastępstwie prof. K. Rościszewskiego) 27 lutego 2007

Przekształcenie Fouriera i splot

Cyfrowe przetwarzanie i kompresja danych

Analiza szeregów czasowych: 4. Filtry liniowe

dr inż. Artur Zieliński Katedra Elektrochemii, Korozji i Inżynierii Materiałowej Wydział Chemiczny PG pokój 311

Wstęp do metod numerycznych Faktoryzacja QR i SVD. P. F. Góra

Zastowowanie transformacji Fouriera w cyfrowym przetwarzaniu sygnałów

Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7

Andrzej Leśnicki Laboratorium CPS Ćwiczenie 7 1/7 ĆWICZENIE 7. Splot liniowy i kołowy sygnałów

Transformata Fouriera

CYFROWE PRZTWARZANIE SYGNAŁÓW (Zastosowanie transformacji Fouriera)

5. Rozwiązywanie układów równań liniowych

Przetwarzanie sygnałów

7. Szybka transformata Fouriera fft

Wstęp do metod numerycznych Eliminacja Gaussa Faktoryzacja LU. P. F. Góra

Kompresja Danych. Streszczenie Studia Dzienne Wykład 13, f(t) = c n e inω0t, T f(t)e inω 0t dt.

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

NIEOPTYMALNA TECHNIKA DEKORELACJI W CYFROWYM PRZETWARZANIU OBRAZU

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago

Spis treści. Metody nieparametryczne. Transformacja Fouriera

Wykład 2. Transformata Fouriera

Wyznaczniki. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 6. Wykład z algebry liniowej Warszawa, listopad 2013

Transformata Laplace a to przekształcenie całkowe funkcji f(t) opisane następującym wzorem:

Wstęp do metod numerycznych Eliminacja Gaussa i faktoryzacja LU. P. F. Góra

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 13

2. Szybka transformata Fouriera

Układy stochastyczne

FUNKCJE. (odwzorowania) Funkcje 1

Stabilność. Krzysztof Patan

ALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ. 1. Ciała

Przekształcenie całkowe Fouriera

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 4. Równania różniczkowe zwyczajne podstawy teoretyczne

Technika audio część 2

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

Rozdział 2. Liczby zespolone

Postać Jordana macierzy

Kartkówka 1 Opracowanie: Próbkowanie częstotliwość próbkowania nie mniejsza niż podwojona szerokość przed spróbkowaniem.

Wymiana i składowanie danych multimodalnych

Ćwiczenie: Własności dyskretnej transformaty Fouriera (DFT)

Politechnika Świętokrzyska. Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 6. Transformata cosinusowa. Krótkookresowa transformata Fouriera.

Akwizycja i przetwarzanie sygnałów cyfrowych

2. P (E) = 1. β B. TSIM W3: Sygnały stochastyczne 1/27

Analiza szeregów czasowych: 3. Filtr Wienera

Obliczenia iteracyjne

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania. Podstawy Automatyki

Przetwarzanie sygnałów biomedycznych

Akwizycja i przetwarzanie sygnałów cyfrowych

Plan wykładu. Własności statyczne i dynamiczne elementów automatyki:

III. Układy liniowe równań różniczkowych. 1. Pojęcie stabilności rozwiązań.

Wstęp do metod numerycznych Rozwiazywanie równań algebraicznych. P. F. Góra

Wykład 14. Elementy algebry macierzy

Wstęp do metod numerycznych Zagadnienia wstępne Uwarunkowanie. P. F. Góra

WEKTORY I WARTOŚCI WŁASNE MACIERZY. = λ c (*) problem przybliżonego rozwiązania zagadnienia własnego dla operatorów w mechanice kwantowej

Układy równań i nierówności liniowych

Metody numeryczne I Równania nieliniowe

Metody numeryczne Wykład 6

Funkcje analityczne. Wykład 12

Macierze. Rozdział Działania na macierzach

Modelowanie rynków finansowych z wykorzystaniem pakietu R

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

1 Grupa SU(3) i klasyfikacja cząstek

LABORATORIUM METROLOGII. Podstawy akwizycji i cyfrowego przetwarzania sygnałów. dr inż. Andrzej Skalski. mgr inż. Mirosław Socha

1 Macierz odwrotna metoda operacji elementarnych

Transkrypt:

Wstęp do metod numerycznych Dyskretna transformacja Fouriera P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 01

Problem Majac dany szereg czasowy {x i } N i=1 = {x 1, x,..., x N } (zazwyczaj nieciekawy), zdobadź informację na temat mechanizmu odpowiedzialnego za wygenerowanie tego szeregu (co może być interesujace). Copyright c 009-1 P. F. Góra 13

Przykład 1.0.0 1.5 1.5 1.0 1.0 0.5 0.5 x(t) 0.0 x(t) 0.0-0.5-0.5-1.0-1.0-1.5-1.5 -.0 0 4 6 8 10 1 14 16 t -.0 0 4 6 8 10 1 14 16 t Po owocach jego poznacie go. Copyright c 009-1 P. F. Góra 13 3

Próbkowanie Nie zajmujemy się sygnałami ciagłymi, ale sygnałami, które zostały spróbkowane z pewnym stałym krokiem: g n = g(n ), n =..., 3,, 1, 0, 1,, 3,... (1) Proces próbkowania wprowadza pewna częstotliwość charakterystyczna, zwana częstotliwościa Nyquista: f Nyq = 1. () Uwaga: Jeśli chcemy rozpoznać falę harmoniczna, należy ja spróbkować (co najmniej) dwa razy w każdym okresie. Jeśli próbkujemy z krokiem, możemy rozpoznać częstotliwości f [ f Nyq, f Nyq. Copyright c 009-1 P. F. Góra 13 4

Dodatnie i ujemne częstotliwości Jeśli dopuszczamy dodatnie i ujemne częstotliwości, e +πift, e πift = e +πi( f)t, możemy odróżnić sin πft od cos πft, które maja taka sama częstotliwość, ale różnia się faza. Copyright c 009-1 P. F. Góra 13 5

Twierdzenie Shannona-Kotelnikowa o próbkowaniu Pytanie: Kiedy możemy próbkować lub też pod jakimi warunkami dyskretne próbki dadza tę sama informację, co funkcja o argumencie ciagłym? Theorem: Jeśli funkcja g(t) jest pasmowo ograniczona, czyli gdy zwiera tylko częstotliwości z przedziału [ f Nyq, f Nyq, i gdy mamy nieskończony szereg próbkowany z krokiem, wówczas sin ( πf Nyq (t n ) ) t: g(t) = g n. (3) π(t n ) n= Szum (procesy stochastyczne) i funkcje nieciagłę (zawierajace skoki) nie sa pasmowo ograniczone. Copyright c 009-1 P. F. Góra 13 6

Aliasy Jeśli w sygnale sa częstotliwości spoza przedziału f [ f Nyq, f Nyq, nie tylko sa one tracone, ale także psuja one informację o częstotliwościach z przedziału Nyquista. Rozważmy dwie fale harmoniczne exp(πif 1 t), exp(πif t) takie, że f 1 f = k/. Wówczas exp(πif 1 n ) = exp(πi(f + k/ )n ) = exp(πif n + πikn) = exp(πif n ). Takie fale daja identyczne próbki, jeśli próbkować je z krokiem. Copyright c 009-1 P. F. Góra 13 7

Example 1.5 1.0 sin(πt) + 0.5sin(9πt) 0.5 0.0-0.5 sin(πt) - 0.5sin(7πt) -1.0-1.5 0.0 0.5 1.0 1.5.0.5 3.0 3.5 4.0 t Częstotliwość 9/ zostanie fałszywie zinterpretowana jako 7/. Copyright c 009-1 P. F. Góra 13 8

Transformacja Fouriera G(f) = g(t)e πift dt (4) Funkcja musi znikać dostatecznie szybko dla t ± aby transformacj Fouriera istniała. Transformacja odwrotna: g(t) = G(f)e πift df (5) Trzeba zapamiętać gdzie umieścić π, jest kilka różnych konwencji. Copyright c 009-1 P. F. Góra 13 9

Własności transformacji Fouriera Splot: (g h)(t) = g(τ)h(t τ) dτ (6a) g h G(f)H(f) (6b) Funkcja korelacji: Corr(g, h) = g(τ + t)h(t) dτ (7a) Corr(g, h) G(f)H (f) (7b) Copyright c 009-1 P. F. Góra 13 10

Twierdzenie Wienera-Chinczyna Funkcja korelacji: Corr(g, g) G(f) (8) Tożsamość Parsevala g(t) dt = G(f) df = całkowita moc (9) Copyright c 009-1 P. F. Góra 13 11

Skończone szeregi czasowe Twierdzenie o próbkowaniu wymaga nieskończonego szeregu czasowego. W rzeczywistości mamy dane jedynie szeregi skończone, o pewnej długości N. Stosowane sa dwie konwencje: Zakładamy, że wyrazy szeregu na obu końcach daż a do zera (jeśli trzeba, mnożymy szereg przez odpowiednia funkcję okna) i sa tożsamościowo równe zeru przed zarejestrowanym poczatkiem i po zarejestrowanym końcu. Zakładamy, że zaobserwowany szereg skończony jest okresem nieskończonego szeregu okresowego. (W tej konwencji sinus i kosinus maja transformaty Fouriera.) Copyright c 009-1 P. F. Góra 13 1

Przyjmujemy ta druga konwencję i udajemy, że szereg ma postać..., g 0, g 1, g,..., g N 1, g 0, g 1, g,..., g N 1, g 0, g 1, g,..., g N 1,... (10) } {{ } kopia 1 } {{ } prawdziwe dane } {{ } kopia +1 Ponieważ mamy N (przyjmijmy, że jest to liczba parzysta) próbek wejściowych, dyskretna transformacja Fouriera (Discrete Fourier Transform, DFT) może być obliczana tylko w N punktach. Decydujemy, że DFT obliczamy tylko dla częstotliwości f n = n N, n = N,..., N. (11) Copyright c 009-1 P. F. Góra 13 13

Dyskretna transformacja Fouriera G(f n ) = g(t) e πif nt dt = lim M 1 M+1 M s(n 1) s= M (s 1)(N 1) g(t) e πif nt dt = (N 1) 0 g(t)e πif nt dt N 1 k=0 g k e πif nt k = N 1 k=0 g k e πikn/n. (1) Copyright c 009-1 P. F. Góra 13 14

Liczby G n = 1 N 1 N k=0 g k e πikn/n (13) nazywamy dyskretnymi składowymi Fourierowskimi funkcji g. Transformacja odwrotna ma postać g k = 1 N 1 N Dyskretna tożsamość Parsevala: n=0 G n e πikn/n. (14) N 1 k=0 g k = N 1 n=0 G n. (15) Copyright c 009-1 P. F. Góra 13 15

DFT jako transformacja liniowa Równanie (13) można przepisać w postaci G n = N 1 k=0 W nk g k, W nk = 1 N e πikn/n. (16a) (16b) Liczby W nk można interpretować jako elementy pewnej macierzy. Wobec tego (16) można zapisać w zwartej postaci w następujacy sposób: G = Wg, (17) gdzie G, g C N, W C N N. Jaka jest złożoność obliczenia DFT? Wydaje się, że jest to koszt pomnożenia wektora przez macierz, a więc O(N ). Copyright c 009-1 P. F. Góra 13 16

Własności macierzy W ( WW ) ls = N 1 k=0 ( W lk W ) N 1 ks = k=0 W lk (W sk ) = 1 N N 1 k=0 Jeżeli l = s, wszystkie wyrazy równaja się 1, więc wynikiem jest 1. l s = m 0, ( WW ) ls = 1 N N 1 k=0 ( e πim/n ) k = 1 ( e πim/n ) N e πi(l s)k/n (18) Jeżeli N(1 e πim/n ) = 1 emπi N(1 e πim/n ) = 0. (19) ( WW ) ls = δ ls. Macierz W jest macierza unitarna. Copyright c 009-1 P. F. Góra 13 17

Podsumowanie DFT jest, z dokładnościa do normalizacji, unitarnym przekształceniem wektora próbek na wektor składowych Fourierowskich. DFT przedstawia wektor próbek w innej bazie, a mianowicie w bazie rozpinanej przez zdyskretyzowane sinusy i kosinusy o częstotliwościach 0, 1/(N ), /(N ),..., 1/( ). Dzięki symetriom macierzy W, złożoność obliczeniowa DFT może być znacznie zmniejszona (FFT). Copyright c 009-1 P. F. Góra 13 18

Uwagi Dyskretne składowe Fourierowskie sa okresowe. G N/ = G N/. W szczególności, Używa się także transformacji rozpiętych na samych sinusach badź kosinusach (transformacje jednostronne). Sygnał może być zespolony. Jeśli sygnał jest rzeczywisty, wygodnie jest obliczać jego transformatę, traktujac go jako sygnał zespolony o połówkowej długości. Wygodnie jest także jednocześnie obliczać transformatę dwu sygnałów rzeczywistych, traktowanych jako część rzeczywista i urojona sygnału zespolonego. W obu wypadkach symetrie DFT pozwalaja zidentyfikować co jest transformacja czego. Copyright c 009-1 P. F. Góra 13 19

Transformata sygnału pokrywajacego się z jednym z sygnałów bazowych 1.0 1 N = 3, = 1/8 0.5 0.8 sin(πt) 0.0 P(f) 0.6 0.4-0.5 0. -1.0 0.0 0.5 1.0 1.5.0.5 3.0 3.5 4.0 t 0 0.0 0.5 1.0 1.5.0.5 3.0 3.5 4.0 f Copyright c 009-1 P. F. Góra 13 0

Transformata czystego sygnału harmonicznego, który nie pokrywa się z pojedynczym sygnałem bazowym 1.0 0.8 1 N = 3, = 1/8 0.6 0.4 0.8 0. sin(6t) 0.0 P(f) 0.6-0. 0.4-0.4-0.6 0. -0.8-1.0 0.0 0.5 1.0 1.5.0.5 3.0 3.5 4.0 t 0 0.0 0.5 1.0 1.5.0.5 3.0 3.5 4.0 f Copyright c 009-1 P. F. Góra 13 1

Zwiększanie liczby próbek bez zmiany kroku próbkowania zwiększa rozdzielczość 1 N = 3, = 1/8 0.8 1.5 P(f) 0.6 1.0 0.4 0. sin(6t) + 0.5sin(7t) 0.5 0.0-0.5 P(f) 0 0.0 0.5 1.0 1.5.0.5 3.0 3.5 4.0 f N = 18, = 1/8 1 0.8 0.6-1.0 0.4-1.5 0.0 0.5 1.0 1.5.0.5 3.0 3.5 4.0 t 0. 0 0.0 0.5 1.0 1.5.0.5 3.0 3.5 4.0 f Copyright c 009-1 P. F. Góra 13

Macierz Vandermonde a Mecierz DFT jest szczególnym przypadkiem macierzy Vandermonde a W = 1 N V (N) C N N, gdzie V (N) = 1 1 1 1 z 0 z 1 z N z N 1 z0 z1 zn z N 1... z0 N 1 z1 N 1 zn N 1. zn 1 N 1 (0) W wypadku DFT, z k = exp(πik/n). Copyright c 009-1 P. F. Góra 13 3

Algorytm szybkiej transformacji Fouriera (Fast Fourier Transform, FFT) Przedyskutujmy to na przykładzie N = 8 G = V(8) 8 g = 1 8 1 1 1 1 1 1 1 1 i i 1 1+i 1+i 1 1 i 1 i 1 i 1 i 1 i 1 i i 1 i 1 1+i 1+i 1 i 1 i 1 1 1 1 1 1 1 1 i i 1 1 i 1 i 1 1+i 1+i 1 i 1 i 1 i 1 i 1 i i 1 i 1 i 1 1+i Widać pewne wzorce, ale trudno jest dostrzec symetrie. 1+i g 0 g 1 g g 3 g 4 g 5 g 6 g 7 (1) Copyright c 009-1 P. F. Góra 13 4

Spermutujmy kolumny macierzy i wiersze wektora próbek tak, aby nie zmienić wyniku: G = 1 8 1 1 1 1 1 1 1 1 1 i 1 i 1+i 1+i 1 i 1 i 1 1 1 1 i i i i 1 i 1 i 1+i 1+i 1 i 1 i 1 1 1 1 1 1 1 1 1 i 1 i 1 i 1 i 1+i 1+i 1 1 1 1 i i i i 1 i 1 i 1 i 1 i 1+i 1+i g 0 g g 4 g 6 g 1 g 3 g 5 g 7 () Teraz zaczynamy coś widzieć! Copyright c 009-1 P. F. Góra 13 5

Przepiszmy równanie () w następujacej notacji blokowej G = 1 8 V (4) Ω (4) V (4) V (4) Ω (4) V (4) g 0 g g 4 g 6 g 1 g 3 g 5 g 7 (3) Copyright c 009-1 P. F. Góra 13 6

... gdzie V (4) = 1 1 1 1 1 i 1 i 1 1 1 1 1 i 1 i, (4) Ω (4) = 1 0 0 0 0 1+i 0 0 0 0 i 0 0 0 0 1+i = ( ) 0 1+i ( ) 1 1+i ( ) 1+i ( ) 3 1+i (5) Copyright c 009-1 P. F. Góra 13 7

A zatem G = 1 8 V (4) V (4) g 0 g g 4 g 6 g 0 g g 4 g 6 + Ω(4) V (4) Ω(4) V (4) g 1 g 3 g 5 g 7 g 1 g 3 g 5 g 7 (6) Fragmenty o różnych kolorach obliczane sa tylko raz. Mnożenie przez Ω (4) zachodzi w czasie liniowym. Zredukowaliśmy całkowita liczbę operacji o połowę. Copyright c 009-1 P. F. Góra 13 8

Kluczowa obserwacja: V (4) można sfaktoryzować w podobny sposób, z jednoczesna permutacja wektora wejściowego: V (4) g 0 g g 4 g 6 = V () Ω () V () V () Ω () V () g 0 g 4 g g 6 (7) V () = [ 1 1 1 1, Ω () = [ 1 i = [ i 0 i 1 (podobnie dla [g 1, g 3, g 5, g 7 T ) Copyright c 009-1 P. F. Góra 13 9

Zatem G = 1 8 V () [ g0 g 4 +Ω () V () [ g g 6 V () [ g0 g 4 Ω () V () [ g g 6 V () [ g0 g 4 +Ω () V () [ g g 6 V () [ g0 g 4 Ω () V () [ g g 6 +Ω(4) Ω (4) V () [ g1 g 5 +Ω () V () [ g3 g 7 V () [ g1 g 5 Ω () V () [ g3 g 7 V () [ g1 g 5 +Ω () V () [ g3 g 7 V () [ g1 g 5 Ω () V () [ g3 g 7 Wektory dwuwymiarowe o różnych kolorach obliczane sa tylko raz. Zmniejszyliśmy liczbę operacji czterokrotnie. Copyright c 009-1 P. F. Góra 13 30 (8)

Ostatnia zagadka Dokonaliśmy następujacej permutacji wektora wejściowego [g 0, g 1, g, g 3, g 4, g 5, g 6, g 7 T [g 0, g 4, g, g 6, g 1, g 5, g 3, g 7 T. Czy taka permutację łatwo jest zaimplementować? 0 4 6 1 5 3 7 = 000 100 010 110 001 101 011 111 odwróć kolejność 000 001 010 011 100 101 110 111 = 0 1 3 4 5 6 7 (9) Wejściowy wektor został zapisany w odwrotnej kolejności bitowej indeksów. Copyright c 009-1 P. F. Góra 13 31

Ten algorytm łatwo można uogólnić dla każdego N = s, s N. Nie trzeba obliczać członów postaci sin ( ) ( ) nπ N, cos nπ N nie trzeba wołać funkcji bibliotecznych sin( ), cos( ). Na każdym etapie faktoryzacji tylko jeden raz obliczany jest pierwiastek odpowiedniego stopnia z i, na co sa gotowe wzory. Następnie oblicza się tylko kolejne potęgi tego pierwiastka. Jaki jest więc końcowy koszt numeryczny? Copyright c 009-1 P. F. Góra 13 3

Każda faktoryzacja zmniejsza liczbę operacji o połowę. Jest log N fakatoryzacji. Złożoność obliczeniowa algorytmu FFT wynosi O(N log N) Na przykład, dla N = 65536 = 16, algorytm FFT zmniejsza koszt obliczeniowy wyliczenia DFT ponad cztery tysiace razy. Copyright c 009-1 P. F. Góra 13 33

Uwagi Podobne algorytmy można skonstruować dla N = 3 s, N = 5 s i, w ogólności, dla każdego N = q s, gdzie q jest liczba pierwsza. Ich złożoność obliczeniowa wynosi O(N log q N). Dobre biblioteki automaczynie faktoryzuja macierze o rozmiarach N = q s 1 q 1, q,..., q m sa niewielkimi liczbami pierwszymi. 1 qs qs m, gdzie Jeśli analizujemy szerego, którego wyrazy obliczamy, możemy kontrolować jego długość i powinniśmy zadbać, aby była ona potęga niewielkiej liczby peirwszej. Jeśli analizujemy szereg doświadczalny, rozsadnie jest go albo obciać, albo wypełnić zerami, tak, aby długość była potęga niewielkiej liczby peirwszej. Istnieja także szybkie algorytmy obliczania transformat jednostronnych (sinusowej i kosinusowej). Na sieci dostępnych jest wiele pakietów obliczajacych FFT. Niektóre z nich sa dobre. Ja polecam The Fastest Fourier Transform in the West, http://www.fftw.com. Copyright c 009-1 P. F. Góra 13 34