Schneller Fourier verwandelt sich

Ein schneller Fourier verwandelt sich (FFT) ist ein effizienter Algorithmus, um den getrennten Fourier verwandelt sich (DFT) und sein Gegenteil zu schätzen. Es gibt viele verschiedene FFT Algorithmen, die eine breite Reihe der Mathematik, von der einfachen Arithmetik der komplexen Zahl bis Gruppentheorie und Zahlentheorie einschließen; dieser Artikel gibt eine Übersicht der verfügbaren Techniken und einige ihrer allgemeinen Eigenschaften, während die spezifischen Algorithmen in Unterstützungsartikeln beschrieben werden, die unten verbunden sind.

Ein DFT zersetzt eine Folge von Werten in Bestandteile von verschiedenen Frequenzen. Diese Operation ist in vielen Feldern nützlich (sieh getrennten Fourier sich für Eigenschaften und Anwendungen des Umgestaltens verwandeln), aber Computerwissenschaft davon direkt aus der Definition ist häufig zu langsam, um praktisch zu sein. Ein FFT ist eine Weise, dasselbe Ergebnis schneller zu schätzen: Computerwissenschaft eines DFT von N-Punkten auf die naive Weise, mit der Definition, nimmt O (N) arithmetische Operationen, während ein FFT rechnen kann, dasselbe laufen nur O hinaus (N loggen N) Operationen. Der Unterschied in der Geschwindigkeit kann besonders für lange Dateien wesentlich sein, wo N in den Tausenden oder Millionen — in der Praxis sein kann, kann die Berechnungszeit durch mehrere Größenordnungen in solchen Fällen reduziert werden, und die Verbesserung ist zu N / Klotz (N) grob proportional. Diese riesige Verbesserung hat viele DFT-basierte Algorithmen praktisch gemacht; FFTs sind zu einem großen Angebot an Anwendungen, von der Digitalsignalverarbeitung und dem Lösen teilweiser Differenzialgleichungen zu Algorithmen für die schnelle Multiplikation von großen ganzen Zahlen von großer Bedeutung.

Die weithin bekanntsten FFT Algorithmen hängen vom factorization von N ab, aber es gibt FFTs mit O (N loggen N) die Kompliziertheit für den ganzen N, sogar für ersten N. Viele FFT Algorithmen hängen nur von der Tatsache ab, die eine th primitive Wurzel der Einheit ist, und so auf den analogen angewandt werden kann, verwandelt sich über jedes begrenzte Feld, solcher, wie sich mit der Zahl theoretisch verwandelt. Da der umgekehrte DFT dasselbe als der DFT ist, aber mit dem entgegengesetzten Zeichen in der Hochzahl und einem 1/N Faktor kann jeder FFT Algorithmus daran leicht angepasst werden.

Der FFT ist als "der wichtigste numerische Algorithmus unserer Lebenszeit" beschrieben worden.

Definition und Geschwindigkeit

Ein FFT schätzt den DFT und erzeugt genau dasselbe Ergebnis wie das Auswerten der DFT Definition direkt; der einzige Unterschied ist, dass ein FFT viel schneller ist. (In Gegenwart von der Runde - vom Fehler sind viele FFT Algorithmen auch viel genauer als das Auswerten der DFT Definition direkt, wie besprochen, unten.)

Lassen Sie x...., x komplexe Zahlen sein. Der DFT wird durch die Formel definiert

:

\qquad

k = 0, \dots, n-1. </Mathematik>

Das Auswerten dieser Definition verlangt direkt O (N) Operationen: Es gibt N Produktionen X, und jede Produktion verlangt eine Summe von N-Begriffen. Ein FFT ist jede Methode zu rechnen dasselbe läuft auf O hinaus (N loggen N) Operationen. Genauer, alle bekannte FFT Algorithmen verlangen Θ (N loggen N), Operationen (technisch, O zeigt nur einen oberen gebunden an), obwohl es keinen bekannten Beweis gibt, dass bessere Kompliziertheit unmöglich ist.

Um die Ersparnisse eines FFT zu illustrieren, denken Sie die Zählung von komplizierten Multiplikationen und Hinzufügungen. Das Auswerten der Summen des DFT ist direkt mit N komplizierten Multiplikationen und N (N  1) komplizierte Hinzufügungen [verbunden, von denen O (N) Operationen durch das Beseitigen trivialer Operationen wie Multiplikationen durch 1] gespart werden kann. Die wohl bekannte Basis 2 Cooley-Tukey Algorithmus, für N eine Macht 2, kann dasselbe Ergebnis mit nur dem N Komplex des Klotzes (von N/2) schätzen, multipliziert (wieder, Vereinfachungen von Multiplikationen um 1 und ähnlich ignorierend), und N logN komplizierte Hinzufügungen. In der Praxis wird die wirkliche Leistung auf modernen Computern gewöhnlich durch Faktoren außer der Arithmetik beherrscht und ist ein kompliziertes Thema (sieh z.B, Frigo & Johnson, 2005), aber die gesamte Verbesserung von O (N) zu O (N loggen N), bleibt.

Algorithmen

Cooley-Tukey Algorithmus

Bei weitem ist der allgemeinste FFT der Cooley-Tukey Algorithmus. Das ist ein Teilen, und überwinden Sie Algorithmus, der rekursiv einen DFT jeder zerlegbaren Größe N = bricht, spielen NN in viele kleinere DFTs von Größen N und N, zusammen mit O (N) Multiplikationen durch komplizierte Wurzeln der traditionell genannten Einheit mit Faktoren (nach Gentleman und Sande, 1966) herum.

Diese Methode (und die allgemeine Idee von einem FFT) wurde durch eine Veröffentlichung von J. W. Cooley und J. W. Tukey 1965 verbreitet, aber es wurde später entdeckt (Heideman & Burrus, 1984), dass jene zwei Autoren einen Algorithmus unabhängig wiedererfunden hatten, der Carl Friedrich Gauss 1805 bekannt ist (und nachher mehrere Male in beschränkten Formen wieder entdeckt hat).

Der wohl bekannteste Gebrauch des Cooley-Tukey Algorithmus soll das Umgestalten in zwei Stücke der Größe an jedem Schritt teilen, und wird deshalb auf power-two Größen beschränkt, aber jeder factorization kann im Allgemeinen verwendet werden (wie sowohl Gauss als auch Cooley/Tukey bekannt war). Diese werden die Basis 2 und Mischbasis-Fälle beziehungsweise genannt (und andere Varianten wie die Spalt-Basis FFT haben ihre eigenen Namen ebenso). Obwohl die Grundidee rekursiv ist, traditionellste Durchführungen den Algorithmus umordnen, um ausführlichen recursion zu vermeiden. Außerdem, weil der Cooley-Tukey Algorithmus den DFT in kleineren DFTs bricht, kann es willkürlich mit jedem anderen Algorithmus für den DFT, wie diejenigen verbunden werden, die unten beschrieben sind.

Andere FFT Algorithmen

Es gibt andere FFT von Cooley-Tukey verschiedene Algorithmen. Weil mit coprime und man den Hauptfaktor (Guter-Thomas) Algorithmus (PFA) verwenden kann, der auf dem chinesischen Rest-Lehrsatz gestützt ist, um den DFT ähnlich zu Cooley-Tukey, aber ohne die herumspielen Faktoren zu faktorisieren. Der Algorithmus von Rader-Brenner (1976) ist ein Cooley-Tukey-like factorization, aber mit dem rein imaginären spielen mit Faktoren herum, Multiplikationen auf Kosten von vergrößerten Hinzufügungen reduzierend, und hat numerische Stabilität reduziert; es wurde später durch die Variante der Spalt-Basis von Cooley-Tukey ersetzt (der dieselbe Multiplikationszählung, aber mit weniger Hinzufügungen erreicht und ohne Genauigkeit zu opfern). Algorithmen, die rekursiv den DFT in kleinere Operationen außer DFTs faktorisieren, schließen die Algorithmen von Bruun und QFT ein. (Der Rader-Brenner und die QFT Algorithmen wurden für power-two Größen vorgeschlagen, aber es ist möglich, dass sie an die allgemeine Zusammensetzung angepasst werden konnten. Der Algorithmus von Bruun gilt für willkürliche sogar zerlegbare Größen.) Der Algorithmus von Bruun basiert insbesondere auf der Interpretation des FFT als ein rekursiver factorization des Polynoms, hier in Polynome des echten Koeffizienten der Form und

des.

Ein anderer polynomischer Gesichtspunkt wird durch den Algorithmus von Winograd ausgenutzt, der in cyclotomic Polynome faktorisiert — haben diese häufig Koeffizienten 1, 0, oder 1, und verlangen deshalb wenige (wenn irgendwelcher) Multiplikationen, so kann Winograd verwendet werden, um minimale Multiplikation FFTs zu erhalten, und wird häufig verwendet, um effiziente Algorithmen für kleine Faktoren zu finden. Tatsächlich hat Winograd gezeigt, dass der DFT mit nur vernunftwidrigen Multiplikationen geschätzt werden kann, hat das Führen zu einem bewiesenen erreichbaren tiefer zur Zahl von Multiplikationen für power-two Größen gebunden; leider kommt das auf Kosten noch vieler Hinzufügungen, eines Umtauschs, der nicht mehr auf modernen Verarbeitern mit Hardware-Vermehrern günstig ist. Insbesondere Winograd macht auch vom PFA sowie einem Algorithmus durch Rader für FFTs von Hauptgrößen Gebrauch.

Der Algorithmus von Rader, die Existenz eines Generators für die multiplicative Gruppe modulo erst ausnutzend, drückt einen DFT der Hauptgröße als eine zyklische Gehirnwindung (der zerlegbaren) Größe aus, die dann von einem Paar von gewöhnlichem FFTs über den Gehirnwindungslehrsatz geschätzt werden kann (obwohl Winograd andere Gehirnwindungsmethoden verwendet). Eine andere Hauptgröße ist FFT wegen L. I. Bluesteins, und wird manchmal den Algorithmus des Zwitscherns-z genannt; es drückt auch einen DFT als eine Gehirnwindung, aber dieses Mal derselben Größe wiederaus (der zu einer Macht zwei nullausgepolstert und durch die Basis 2 Cooley-Tukey FFTs, zum Beispiel bewertet werden kann), über die Identität.

FFT Algorithmen haben sich für echte und/oder symmetrische Daten spezialisiert

In vielen Anwendungen sind die Eingangsdaten für den DFT rein echt, in welchem Fall die Produktionen die Symmetrie befriedigen

:

und effiziente FFT Algorithmen sind für diese Situation entworfen worden (sieh z.B Sorensen, 1987). Eine Annäherung besteht daraus, einen gewöhnlichen Algorithmus zu nehmen (z.B. Cooley-Tukey) und das Entfernen der überflüssigen Teile der Berechnung, grob einen Faktor zwei rechtzeitig und Gedächtnis sparend. Wechselweise ist es möglich, einen echten Eingang der gleichen Länge DFT als ein komplizierter DFT der Hälfte der Länge auszudrücken (dessen echte und imaginäre Teile die gleichen/seltsamen Elemente der ursprünglichen echten Daten sind), gefolgt von O (N) in einer Prozession postgehende Operationen.

Es wurde einmal geglaubt, dass echter Eingang DFTs konnte mittels des getrennten Hartleys verwandelt sich (DHT) effizienter geschätzt werden, aber es wurde nachher behauptet, dass ein spezialisierter echter Eingang DFT Algorithmus (FFT) normalerweise das gefunden werden kann, weniger Operationen verlangt als der entsprechende DHT Algorithmus (FHT) für dieselbe Zahl von Eingängen. Der Algorithmus von Bruun ist (oben) eine andere Methode, die am Anfang vorgeschlagen wurde, um echte Eingänge auszunutzen, aber es hat sich populär nicht erwiesen.

Es gibt weiter FFT Spezialisierungen für die Fälle von echten Daten, die gleiche/seltsame Symmetrie haben, in welchem Fall man einen anderen Faktor von (ungefähr) zwei rechtzeitig und Gedächtnis gewinnen kann und der DFT der getrennte Kosinus/Sinus wird, verwandeln sich (s) (DCT/DST). Anstatt einen FFT Algorithmus für diese Fälle direkt zu modifizieren, kann DCTs/DSTs auch über FFTs von echten Daten geschätzt werden, die mit O (N) pre/post Verarbeitung verbunden sind.

Rechenbetonte Probleme

Grenzen auf der Kompliziertheit und den Operationszählungen

Eine grundsätzliche Frage vom seit langer Zeit bestehenden theoretischen Interesse ist zu beweisen, dass sich niedrigere Grenzen auf der Kompliziertheit und den genauen Operationszählungen von schnellem Fourier verwandeln, und viele offene Probleme bleiben. Es wird nicht sogar streng bewiesen, ob DFTs aufrichtig (d. h., Ordnung oder größer) Operationen sogar für den einfachen Fall der Macht von zwei Größen verlangen, obwohl keine Algorithmen mit der niedrigeren Kompliziertheit bekannt sind. Insbesondere die Zählung von arithmetischen Operationen ist gewöhnlich der Fokus solcher Fragen, obwohl die wirkliche Leistung auf modern-tägigen Computern durch viele andere Faktoren wie geheimes Lager oder Zentraleinheitsrohrleitungsoptimierung bestimmt wird.

Die folgende Pionierarbeit von Winograd (1978), ein tiefer gebundener dichter ist für die Zahl von echten durch einen FFT erforderlichen Multiplikationen bekannt. Es kann gezeigt werden, dass nur vernunftwidrige echte Multiplikationen erforderlich sind, einen DFT der power-two Länge zu schätzen. Außerdem sind ausführliche Algorithmen, die diese Zählung erreichen, bekannt (Heideman & Burrus, 1986; Duhamel, 1990). Leider verlangen diese Algorithmen, dass zu viele Hinzufügungen mindestens auf modernen Computern mit Hardware-Vermehrern praktisch sind.

Ein tiefer gebundener dichter ist auf der Zahl von erforderlichen Hinzufügungen nicht bekannt, obwohl niedrigere Grenzen unter einigen einschränkenden Annahmen auf den Algorithmen bewiesen worden sind. 1973 hat Morgenstern bewiesen, dass ein niedrigerer zum Hinzufügungszählen für Algorithmen gebunden hat, wo die multiplicative Konstanten Umfänge begrenzt haben (der für die meisten, aber nicht alle FFT Algorithmen wahr ist). Pfanne (1986) hat ein niedrigeres bestimmtes Annehmen eines gebundenen ein Maß "des asynchronicity" des FFT Algorithmus bewiesen, aber die Allgemeinheit dieser Annahme ist unklar. Für den Fall von power-two hat Papadimitriou (1979) behauptet, dass die Zahl von durch Cooley-Tukey Algorithmen erreichten Hinzufügungen der komplexen Zahl unter bestimmten Annahmen auf dem Graphen des Algorithmus optimal ist (seine Annahmen deuten unter anderem an, dass keine zusätzliche Identität in den Wurzeln der Einheit ausgenutzt wird). (Dieses Argument würde andeuten, dass mindestens echte Hinzufügungen erforderlich sind, obwohl das nicht ein gebundener dichter ist, weil Extrahinzufügungen als ein Teil von Multiplikationen der komplexen Zahl erforderlich sind.) So weit nicht hat veröffentlichter FFT Algorithmus weniger erreicht als Hinzufügungen der komplexen Zahl (oder ihre Entsprechung) für power-two.

Ein drittes Problem ist, die Gesamtzahl von echten Multiplikationen und Hinzufügungen, manchmal genannt die "arithmetische Kompliziertheit" zu minimieren (obwohl in diesem Zusammenhang es die genaue Zählung und nicht die asymptotische Kompliziertheit ist, die betrachtet wird). Wieder, nicht dicht tiefer gebunden ist bewiesen worden. Seit 1968, jedoch, wurde das niedrigste veröffentlichte Zählen power-two lange durch die Spalt-Basis FFT Algorithmus erreicht, der echte Multiplikationen und Hinzufügungen dafür verlangt. Das wurde kürzlich darauf reduziert (Johnson und Frigo, 2007; Lundy und Van Buskirk, 2007). Wie man zeigte, war eine ein bisschen größere Zählung (aber noch besser als Spalt-Basis für N256) für N512 unter zusätzlichen Beschränkungen der möglichen Algorithmen ("Spalt-Basis wie" flowgraphs mit dem Einheitsmodul multiplicative Faktoren), durch die Verminderung zu einem Satisfiability Modulo Theorie-Problem lösbar mit roher Gewalt (Haynal & Haynal, 2011) nachweisbar optimal.

Die meisten Versuche, die Kompliziertheit von FFT Algorithmen zu sinken oder zu beweisen, haben sich auf den gewöhnlichen Fall der komplizierten Daten konzentriert, weil es am einfachsten ist. Jedoch verwandeln sich komplizierte Daten FFTs sind so nah mit Algorithmen für zusammenhängende Probleme wie echte Daten FFTs, getrennter Kosinus verbunden, getrennter Hartley verwandelt sich und so weiter, diese jede Verbesserung in einem von diesen würde zu Verbesserungen in anderen (Duhamel & Vetterli, 1990) sofort führen.

Genauigkeit und Annäherungen

Alle FFT Algorithmen, die unten besprochen sind, schätzen den DFT genau (in der genauen Arithmetik, d. h. Vernachlässigen-Schwimmpunkt-Fehlern). Einige "FFT" Algorithmen sind jedoch vorgeschlagen worden, die den DFT ungefähr mit einem Fehler schätzen, der willkürlich klein auf Kosten der vergrößerten Berechnung gemacht werden kann. Solche Algorithmen tauschen den Annäherungsfehler gegen die vergrößerte Geschwindigkeit oder anderen Eigenschaften. Zum Beispiel, ein ungefährer FFT Algorithmus durch Edelman u. a. (1999) erreicht niedrigere Nachrichtenvoraussetzungen für die parallele Computerwissenschaft mit der Hilfe einer schnellen Mehrpol-Methode. Ein Elementarwelle-basierter ungefährer FFT durch Guo und Burrus (1996) nimmt spärliche Eingänge/Produktionen (Lokalisierung der Zeit/Frequenz) in die Rechnung effizienter, als mit einem genauen FFT möglich ist. Ein anderer Algorithmus für die ungefähre Berechnung einer Teilmenge der DFT Produktionen ist wegen Shentovs u. a. (1995). Der Algorithmus von Edelman arbeitet ebenso gut für spärliche und nichtspärliche Daten, da er auf der Verdichtbarkeit (Reihe-Mangel) von der Matrix von Fourier selbst aber nicht der Verdichtbarkeit (sparsity) von den Daten basiert. Umgekehrt, wenn die Daten spärlich sind - d. h. wenn nur K aus Koeffizienten von N Fourier Nichtnull-dann sind, kann die Kompliziertheit auf O reduziert werden (K loggen N-Klotz (N/K)), und das ist demonstriert worden, um zu praktischen Beschleunigungen im Vergleich zu einem gewöhnlichen FFT für N/K&gt;32 in einem großen-N Beispiel (N=2) mit einem probabilistic ungefährer Algorithmus zu führen (der die größten K Koeffizienten zu mehreren dezimalen Plätzen schätzt).

Sogar die "genauen" FFT Algorithmen haben Fehler, wenn Fließkommaarithmetik der begrenzten Präzision verwendet wird, aber diese Fehler sind normalerweise ziemlich klein; die meisten FFT Algorithmen, z.B. Cooley-Tukey, haben Sie ausgezeichnete numerische Eigenschaften demzufolge der pairwise Summierungsstruktur der Algorithmen. Das obere hat zum Verhältnisfehler für den Cooley-Tukey Algorithmus gebunden ist O (ε loggen N), im Vergleich zu O (εN) für die naive DFT Formel (Gentleman und Sande, 1966), wo ε die Maschinenschwimmpunkt-Verhältnispräzision ist. Tatsächlich, die Wurzel bedeuten, dass Quadrat (rms) Fehler viel besser ist als diese oberen Grenzen, nur O (ε log N) für Cooley-Tukey und O (ε N) für den naiven DFT (Schatzman, 1996) seiend. Diese Ergebnisse sind jedoch zur Genauigkeit der herumspielen Faktoren sehr empfindlich, die im FFT (d. h. die trigonometrischen Funktionswerte) verwendet sind, und es ist für unvorsichtige FFT Durchführungen ziemlich üblich, viel schlechtere Genauigkeit z.B zu haben. wenn sie ungenaue trigonometrische Wiederauftreten-Formeln verwenden. Einige FFTs anders als Cooley-Tukey, wie der Algorithmus von Rader-Brenner, sind wirklich weniger stabil.

In der Festkommaarithmetik sind die durch FFT Algorithmen angesammelten Fehler der begrenzten Präzision mit rms Fehlern schlechter, als O (N) für den Cooley-Tukey Algorithmus (Waliser, 1969) wachsend. Außerdem verlangt sogar das Erzielen dieser Genauigkeit sorgfältige Aufmerksamkeit auf das Schuppen, um den Verlust der Präzision und festen Punkt zu minimieren, schließen FFT Algorithmen Wiederschuppen in jeder Zwischenbühne von Zergliederungen wie Cooley-Tukey ein.

Um die Genauigkeit einer FFT Durchführung nachzuprüfen, können strenge Garantien in O erhalten werden (N loggen N) die Zeit durch ein einfaches Verfahren, das die Linearität, Impuls-Antwort und Zeitverschiebungseigenschaften des Umgestaltens auf zufälligen Eingängen (Ergün, 1995) überprüft.

Mehrdimensionaler FFTs

Wie definiert, im mehrdimensionalen Artikel DFT, der mehrdimensionale DFT

:

gestaltet eine Reihe mit - dimensionaler Vektor von Indizes durch eine Reihe von verschachtelten Summierungen um (für jeden), wo die Abteilung, definiert als, mit dem Element klug durchgeführt wird. Gleichwertig ist es einfach die Zusammensetzung einer Folge von Sätzen von eindimensionalem DFTs, der entlang einer Dimension auf einmal (in jeder Ordnung) durchgeführt ist.

Dieser compositional Gesichtspunkt stellt sofort den einfachsten und allgemeinsten mehrdimensionalen DFT Algorithmus zur Verfügung, der als der Algorithmus der Reihe-Säule (nach dem zweidimensionalen Fall, unten) bekannt ist. D. h. man führt einfach eine Folge von eindimensionalem FFTs (durch einigen der obengenannten Algorithmen) durch: Zuerst verwandeln Sie sich entlang der Dimension dann entlang der Dimension und so weiter (oder wirklich jede Einrichtung wird arbeiten). Wie man leicht zeigt, hat diese Methode die übliche Kompliziertheit, wo die Gesamtzahl von umgestalteten Datenpunkten ist. Insbesondere es gibt verwandelt sich der Größe et cetera, so ist die Kompliziertheit der Folge von FFTs:

:\begin {richten }\aus

& {} \qquad \frac {N} {N_1} O (N_1 \log N_1) + \cdots + \frac {N} {N_d} O (N_d \log N_d) \\[6pt]

& = O\left (N \left [\log N_1 + \cdots + \log N_d\right] \right) = O (N \log N).

\end {richten }\aus</Mathematik>

In zwei Dimensionen entspricht die Dose, als eine Matrix und dieser Algorithmus angesehen werden, dem ersten Durchführen des FFT aller Reihen und dann aller Säulen (oder umgekehrt), folglich der Name.

In mehr als zwei Dimensionen ist es häufig für die Gegend des geheimen Lagers vorteilhaft, die Dimensionen rekursiv zu gruppieren. Zum Beispiel könnte ein dreidimensionaler FFT zuerst zweidimensionalen FFTs jeder planaren "Scheibe" für jeden bestochen durchführen, und dann den eindimensionalen FFTs entlang der Richtung durchführen. Mehr allgemein besteht ein asymptotisch optimaler gegen das geheimes Lager vergesslicher Algorithmus daraus, rekursiv die Dimensionen in zwei Gruppen zu teilen, und die rekursiv umgestaltet werden (das Runden, wenn nicht sogar ist) (sieh Frigo und Johnson, 2005). Und doch, das bleibt eine aufrichtige Schwankung des Algorithmus der Reihe-Säule, der schließlich nur einen eindimensionalen FFT Algorithmus als der Grundfall verlangt, und noch Kompliziertheit hat. Und doch soll eine andere Schwankung Matrixumstellungen zwischen dem Umwandeln nachfolgender Dimensionen durchführen, so dass das Umgestalten auf aneinander grenzenden Daten funktioniert; das ist für verteilte Speichersituationen aus dem Kern besonders wichtig, wo das Zugreifen auf aneinander nichtgrenzende Daten äußerst zeitraubend ist.

Es gibt andere mehrdimensionale FFT Algorithmen, die vom Algorithmus der Reihe-Säule verschieden sind, obwohl sie alle Kompliziertheit haben. Vielleicht das einfachste "ist nicht Reihe-Säule" FFT die Vektor-Basis FFT Algorithmus, der eine Generalisation des gewöhnlichen Cooley-Tukey Algorithmus ist, wo man die umgestalten Dimensionen durch einen Vektoren von Basen an jedem Schritt teilt. (Das kann auch Vorteile des geheimen Lagers haben.) Ist der einfachste Fall der Vektor-Basis, wo alle Basen gleich sind (z.B vector-radix-2, teilt alle Dimensionen durch zwei), aber das ist nicht notwendig. Die Vektor-Basis mit nur einer einzelnen Nichteinheitsbasis auf einmal, d. h., ist im Wesentlichen ein Algorithmus der Reihe-Säule. Anderer, mehr kompliziert, schließen Methoden Polynom ein gestalten Algorithmen wegen Nussbaumer (1977) um, die das Umgestalten in Bezug auf Gehirnwindungen und polynomische Produkte ansehen. Sieh Duhamel und Vetterli (1990) für mehr Information und Verweisungen.

Andere Generalisationen

Ein O (N loggen N), wurde die Generalisation zu kugelförmigen Obertönen auf dem Bereich S mit N Knoten von Mohlenkamp (1999) beschrieben, zusammen mit einem Algorithmus vermutet (aber nicht bewiesen), um O (N zu haben, loggen N) Kompliziertheit; Mohlenkamp stellt auch eine Durchführung in der libftsh Bibliothek zur Verfügung. Ein kugelförmig-harmonischer Algorithmus mit O (N loggen N), Kompliziertheit wird von Rokhlin und Tygert (2006) beschrieben.

Verschiedene Gruppen haben auch "FFT" Algorithmen für non-equispaced Daten, wie nachgeprüft, in Potts veröffentlicht u. a. (2001). Solche Algorithmen schätzen den DFT nicht ausschließlich (der nur für equispaced Daten definiert wird), aber eher etwas Annäherung davon (ein ungleichförmiger getrennter Fourier verwandeln sich, oder NDFT, der selbst häufig nur ungefähr geschätzt wird).

Siehe auch

  • Hauptfaktor FFT Algorithmus
  • Der FFT Algorithmus von Bruun
  • Der FFT Algorithmus von Rader
  • Der FFT Algorithmus von Bluestein
  • Schmetterling-Diagramm - ein Diagramm hat gepflegt, FFTs zu beschreiben.
  • Odlyzko-Schönhage Algorithmus wendet den FFT auf die begrenzte Reihe von Dirichlet an.
  • Übergreifen fügt hinzu/übergreift sparen - effiziente Gehirnwindungsmethoden mit FFT für lange Signale
  • Geisterhafte Musik (schließt Anwendung der FFT Analyse zur Musikzusammensetzung ein)
  • Spektrum-Analysatoren - Geräte, die einen FFT durchführen
  • FFTW "Schnellster Fourier Verwandeln Sich im Westen" - Bibliothek 'von C' für den getrennten Fourier verwandelt sich (DFT) in einer oder mehr Dimensionen.
  • FFTPACK - ein anderer C und Java FFT Bibliothek (öffentliches Gebiet)
  • Zeitreihe
  • Mathekernbibliothek
  • Schneller Walsh-Hadamard gestaltet um
  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest und Clifford Stein, 2001. Einführung in Algorithmen, 2. Hrsg. MIT Presse und McGraw-Hügel. Internationale Standardbuchnummer 0-262-03293-7. Besonders Kapitel 30, "Polynome und der FFT."
  • P. Duhamel und M. Vetterli, 1990, Signal, das 19 In einer Prozession geht: 259-299.
  • A. Edelman, P. McCorquodale und S. Toledo, 1999, SIAM J. Sci. Computerwissenschaft 20: 1094-1114.
  • D. F. Elliott, & K. R. Rao, 1982, verwandelt sich Schnell: Algorithmen, Analysen, Anwendungen. New York: Akademische Presse.
  • Funda Ergün, 1995, Proc. 27. ACM Symposium auf der Theorie der Computerwissenschaft: 407-416.
  • M. Frigo und S. G. Johnson, 2005, "Das Design und die Durchführung von FFTW3," Verhandlungen des IEEE 93: 216-231.
  • Carl Friedrich Gauss, 1866. "Nachlass: Theoria interpolationis methodo nova tractata," Band von Werke 3, 265-327. Göttingen: Königliche Gesellschaft der Wissenschaften.
  • W. M. Gentleman und G. Sande, 1966, "Verwandelt sich schneller Fourier — zum Spaß und Gewinn," Proc. AFIPS 29: 563-578.
  • H. Guo und C. S. Burrus, 1996, Proc. SPIE Intl. Soc. Wählen. Eng. 2825: 250-259.
  • H. Guo, G. A. Sitton, C. S. Burrus, 1994, Proc. IEEE Conf. Acoust. Speech und Sig. Verarbeitung (ICASSP) 3: 445-448.
  • Steve Haynal und Heidi Haynal, "Erzeugend und Familien von FFT Algorithmen", Zeitschrift auf Satisfiability, dem Boolean Modellieren und der Berechnung vol Suchend. 7, Seiten 145-187 (2011).
  • S. G. Johnson und M. Frigo, 2007. "Eine modifizierte Spalt-Basis FFT mit weniger arithmetischen Operationen," IEEE Trans. Signal, das 55 (1) In einer Prozession geht: 111-119.
  • T. Lundy und J. Van Buskirk, 2007. "Eine neue Matrixannäherung an echten FFTs und Gehirnwindungen der Länge 2," 80 (1) Rechnend: 23-45.
  • Kent, Ray D. und Read, Charles (2002). Akustische Analyse der Rede. Internationale Standardbuchnummer 0-7693-0112-6. Zitiert Strang, G. (1994)/May-June). Elementarwellen. Amerikanischer Wissenschaftler, 82 Jahre alt, 250-255.
  • V. Pfanne, 1986, Information Proc. Lette. 22: 11-14.
  • Christos H. Papadimitriou, 1979, J. ACM 26: 95-102.
  • D. Potts, G. Steidl und M. Tasche, 2001. "Schneller Fourier verwandelt sich für nonequispaced Daten: Ein Tutorenkurs", in: J.J. Benedetto und P. Ferreira (Hrsg.). Moderne Ausfallende Theorie: Mathematik und Anwendungen (Birkhauser).
  • James C. Schatzman, 1996, verwandelt sich die Genauigkeit des getrennten Fouriers, und der schnelle Fourier verwandeln sich, SIAM J. Sci. Comput. 17: 1150-1166.
  • Siehe auch

Außenverbindungen


Francis Drake / Das Fort William, Schottland
Impressum & Datenschutz