Algorytm FFT z wektorową podstawą jest wielowymiarowym algorytmem szybkiej transformaty Fouriera (FFT), który jest uogólnieniem zwykłego algorytmu FFT Cooleya-Tukeya , który dzieli wymiary transformacji przez dowolne podstawy. Rozbija wielowymiarową (MD) dyskretną transformatę Fouriera (DFT) na kolejne mniejsze MD DFT, aż ostatecznie trzeba będzie ocenić tylko trywialne MD DFT.
Najpopularniejszym wielowymiarowym algorytmem FFT jest algorytm kolumnowo-wierszowy, co oznacza transformację tablicy najpierw w jednym indeksie, a następnie w drugim, zobacz więcej w FFT . Następnie opracowano radix-2 direct 2-D FFT, który może wyeliminować 25% mnożeń w porównaniu z konwencjonalnym podejściem wiersz-kolumna. Algorytm ten został rozszerzony na tablice prostokątne i dowolne podstawy, co jest ogólnym algorytmem wektorowo-podstawowym.
Algorytm Vector-radix FFT może znacznie zmniejszyć liczbę złożonych mnożeń w porównaniu z algorytmem wektorów wierszy. Na przykład dla wymiarów i rozmiaru N w każdym wymiarze) liczba zespolonych wielokrotności algorytmu FFT z wektorową podstawą dla podstawy-2 tymczasem algorytm kolumnowy, to . Ogólnie rzecz biorąc, jeszcze większe oszczędności w mnożnikach uzyskuje się, gdy algorytm ten działa na większych podstawach i na tablicach o wyższych wymiarach.
Ogólnie rzecz biorąc, algorytm wektor-podstawa znacznie zmniejsza złożoność strukturalną tradycyjnego DFT, mającego lepszy schemat indeksowania, kosztem niewielkiego wzrostu operacji arytmetycznych. Algorytm ten jest więc szeroko stosowany w wielu zastosowaniach w inżynierii, nauce i matematyce, na przykład w implementacjach przetwarzania obrazu i projektowaniu szybkich procesorów FFT.
Obudowa 2-D DIT
Podobnie jak w przypadku algorytmu FFT Cooleya-Tukeya , dwuwymiarowa FFT z wektorową podstawą jest uzyskiwana przez rozłożenie zwykłego 2-D DFT na sumy mniejszych DFT pomnożonych przez współczynnik „twiddle”.
dziesiątkowania w czasie ( DIT ) oznacza dekompozycja jest oparta na domenie czasu zobacz więcej w Algorytm Cooley – Tukey FFT .
Zakładamy, że 2-D DFT
gdzie i i jest macierz i .
Dla uproszczenia załóżmy, że i radix - ( są liczbami całkowitymi).
Korzystając ze zmiany zmiennych:
-
, gdzie
-
, gdzie
gdzie lub , to dwuwymiarowy DFT można zapisać jako:
Jednostopniowy „motylek” dla DIT vector-radix 2x2 FFT
definiuje podstawową strukturę podstawy 2-D ” (Patrz „motyl” 1-D w algorytmie Cooley – Tukey FFT )
Gdy równanie można podzielić na cztery podsumowania: jedno na tych próbkach x, dla których zarówno , jak i są parzyste, dla których jest parzyste i jest nieparzyste, z których jedno jest nieparzyste i jest parzysta i taka, dla której zarówno jak i są nieparzyste, a to prowadzi do: n 1 {\ displaystyle n_ {1}}
gdzie
Obudowa DIF 2-D
Podobnie algorytm decymacji w częstotliwości ( DIF , zwany także algorytmem Sande-Tukeya) oznacza, że dekompozycja jest oparta na dziedzinie częstotliwości więcej w Algorytm FFT Cooleya-Tukeya .
Korzystając ze zmiany zmiennych:
-
, gdzie
-
, gdzie
gdzie lub , a równanie DFT można zapisać jako:
Inne podejścia
algorytm FFT z dzieloną podstawą jest przydatną metodą dla 1-D DFT. I ta metoda została zastosowana do wektorowo-radixowej FFT, aby otrzymać podzieloną wektorowo-radiową FFT.
W konwencjonalnym algorytmie wektora-podstawy 2-D rozkładamy wskaźniki na 4 grupy:
Dzięki algorytmowi podzielonej podstawy wektorów pierwsze trzy grupy pozostają niezmienione, czwarta grupa nieparzysta-nieparzysta jest dalej rozkładana na kolejne cztery podgrupy i łącznie siedem grup:
Oznacza to czwarty wyraz w równaniu 2-D DIT radix- równanie, staje się:
gdzie
Następnie 2-DN przez N DFT uzyskuje się przez kolejne zastosowanie powyższego rozkładu, aż do ostatniego etapu.
Wykazano, że algorytm podzielonej podstawy wektora pozwolił zaoszczędzić około 30% złożonych mnożeń i mniej więcej taką samą liczbę złożonych dodawań dla typowej z algorytmem wektora podstawy .