Szybka transformacja Fouriera

Z testwiki
Wersja z dnia 15:38, 20 lip 2024 autorstwa imported>Blakocha (jęz.)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania

Szybka transformacja Fouriera (Szablon:Ang., FFT) – algorytm wyznaczania dyskretnej transformaty Fouriera oraz transformaty do niej odwrotnej.

Czasem, w odniesieniu do tej metody, używane jest też określenie szybka transformata Fouriera[1], które jednak nie jest prawidłowe, gdyż pojęcie transformacja oznacza przekształcenie, a transformata jest wynikiem tego przekształcenia.

Niech x0,,xN1 będą liczbami zespolonymi, wtedy dyskretna transformata Fouriera jest określona wzorem:

Xk=n=0N1xne2πiNnkk=0,,N1.

Obliczanie sum za pomocą powyższego wzoru wymaga wykonania O(N2) operacji (zob. asymptotyczne tempo wzrostu).

Algorytmy (przede wszystkim algorytm Cooleya-Tukeya) obliczające szybką transformację Fouriera bazują na metodzie dziel i zwyciężaj, rekurencyjnie dzieląc transformatę wielkości N=N1N2 na transformaty wielkości N1 i N2 z wykorzystaniem O(N) operacji mnożenia.

Najpopularniejszą wersją algorytmu FFT jest FFT o podstawie 2. Jest on bardzo efektywny pod względem czasu realizacji, jednak wektor próbek wejściowych (spróbkowany sygnał) musi mieć długość N=2k, gdzie k to pewna liczba naturalna. Wynik otrzymuje się na drodze schematycznych przekształceń, opartych na tak zwanych strukturach motylkowych.

Złożoność obliczeniowa szybkiej transformacji Fouriera wynosi O(Nlog2N), w odróżnieniu od O(N2) algorytmu wynikającego wprost ze wzoru określającego dyskretną transformatę Fouriera. Dzięki szybkiej transformacji Fouriera praktycznie możliwe stało się cyfrowe przetwarzanie sygnałów (DSP), a także zastosowanie dyskretnych transformat kosinusowych (DCT) do kompresji danych audio-wideo (JPEG, MP3, XviD itd.).

Zobacz też

Przypisy

Szablon:Przypisy

Bibliografia

Linki zewnętrzne

Szablon:Kontrola autorytatywna