Der FFT Algorithmus von Bruun

Der Algorithmus von Bruun ist ein Algorithmus des schnellen Fouriers verwandelt sich (FFT), der auf einer ungewöhnlichen rekursiven polynomischen-factorization Annäherung gestützt ist, die für Mächte zwei durch G. Bruun 1978 vorgeschlagen ist und zu willkürlichen sogar zerlegbaren Größen durch H. Murakami 1996 verallgemeinert ist. Weil seine Operationen mit nur echten Koeffizienten bis zur letzten Berechnungsbühne verbunden sind, wurde sie als eine Weise am Anfang vorgeschlagen, den getrennten Fourier verwandelt sich (DFT) von echten Daten effizient zu schätzen. Der Algorithmus von Bruun hat weit verbreiteten Gebrauch jedoch nicht gesehen, weil Annäherungen, die auf dem gewöhnlichen Cooley-Tukey FFT Algorithmus gestützt sind, an echte Daten mit mindestens so viel Leistungsfähigkeit erfolgreich angepasst worden sind. Außerdem gibt es Beweise, dass der Algorithmus von Bruun wirklich weniger genau sein kann als Cooley-Tukey angesichts der begrenzten numerischen Präzision (Storn, 1993).

Dennoch illustriert der Algorithmus von Bruun ein alternatives algorithmisches Fachwerk, das sich sowohl als auch den Cooley-Tukey Algorithmus äußern kann, und so eine interessante Perspektive auf FFTs zur Verfügung stellt, der Mischungen der zwei Algorithmen und anderen Generalisationen erlaubt.

Eine polynomische Annäherung an den DFT

Rufen Sie zurück, dass der DFT durch die Formel definiert wird:

:

\qquad

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

Für die Bequemlichkeit, lassen Sie uns die N Wurzeln der Einheit durch ω anzeigen (n = 0..., N &minus; 1):

:

und definieren Sie das Polynom x (z), dessen Koeffizienten x sind:

:

Der DFT kann dann als die Verminderung dieses Polynoms verstanden werden; d. h. durch X wird gegeben:

:

wo mod die polynomische Rest-Operation anzeigt. Der Schlüssel zu schnellen Algorithmen wie Bruun oder Cooley-Tukey kommt aus der Tatsache, dass man diesen Satz von N Rest-Operationen in rekursiven Stufen durchführen kann.

Rekursiver factorizations und FFTs

Um den DFT zu schätzen, müssen wir den Rest von modulo N Grad 1 Polynome, wie beschrieben, oben bewerten. Das Auswerten dieser Reste ist eins nach dem anderen zum Auswerten der üblichen DFT Formel direkt gleichwertig, und verlangt O (N) Operationen. Jedoch kann man diese Reste rekursiv verbinden, um die Kosten mit dem folgenden Trick zu reduzieren: Wenn wir modulo zwei Polynome bewerten wollen, und wir können zuerst den Rest modulo ihr Produkt nehmen, das den Grad des Polynoms reduziert und nachfolgende modulo Operationen weniger rechenbetont teuer macht.

Das Produkt von allen Monomen für k=0.. N-1 ist einfach (dessen Wurzeln klar die N Wurzeln der Einheit sind). Man möchte dann einen rekursiven factorization in Polynome von wenigen Begriffen und kleinerem und kleinerem Grad finden. Um den DFT zu schätzen, nimmt man modulo jedes Niveau dieses factorization der Reihe nach rekursiv, bis man in die Monome und das Endresultat ankommt. Wenn jedes Niveau des factorization jedes Polynom in einen O (1) (unveränderlich begrenzte) Zahl von kleineren Polynomen, jedem mit einem O (1) Zahl von Nichtnullkoeffizienten spaltet, dann nehmen die modulo Operationen wegen dieses Niveaus O (N) Zeit; da es eine logarithmische Zahl von Niveaus geben wird, ist die gesamte Kompliziertheit O (N loggen N).

Nehmen Sie ausführlicher zum Beispiel dass, und dass und so weiter an. Der entsprechende FFT Algorithmus würde aus der ersten Computerwissenschaft x (z) = x (z) mod bestehen

F (z), dann x (z) = x (z) mod rechnend

F (z), und so weiter rekursiv immer mehr Rest-Polynome des kleineren und kleineren Grads bis schaffend, kommt man in den Endgrad 0 Ergebnisse an.

Außerdem, so lange die polynomischen Faktoren in jeder Bühne relativ erst sind (der für Polynome bedeutet, dass sie keine gemeinsamen Wurzeln haben), kann man einen Doppelalgorithmus bauen, indem man den Prozess mit dem chinesischen Rest-Lehrsatz umkehrt.

Cooley-Tukey als Polynom factorization

Die normale Basis-r der Dezimierung in der Frequenz (DIF) Cooley-Tukey Algorithmus entspricht nah zu einem rekursiven factorization. Zum Beispiel, Basis 2 DIF Cooley-Tukey Faktoren in und. Diese modulo Operationen reduzieren den Grad um 2, der dem Teilen der Problem-Größe durch 2 entspricht. Anstatt direkt aber Cooley-Tukey rekursiv zu faktorisieren, schätzt stattdessen zuerst x (z ω), alle Wurzeln auswechselnd (durch einen herumspielen Faktor), so dass es den rekursiven factorization auf beide Teilprobleme anwenden kann. D. h. Cooley-Tukey stellt sicher, dass alle Teilprobleme auch DFTs sind, wohingegen das für einen willkürlichen rekursiven factorization (wie Bruun, unten) nicht allgemein wahr ist.

Bruun factorization

Der grundlegende Algorithmus von Bruun für Mächte zwei faktorisiert z-1 rekursiv über die Regeln:

::

wo einer echten Konstante mit |a  2 zu sein. Am Ende des recursion, für M=1, werden Sie mit dem Grad 2 Polynome verlassen, die dann modulo zwei Wurzeln (z - ω) für jedes Polynom bewertet werden können. So, in jeder rekursiven Bühne, werden alle Polynome in zwei Teile der Hälfte des Grads faktorisiert, von denen jeder höchstens drei Nichtnullbegriffe hat, zu einem O führend (N loggen N), der Algorithmus für den FFT.

Außerdem, da alle diese Polynome rein echte Koeffizienten haben (bis zur allerletzten Bühne), nutzen sie automatisch den speziellen Fall aus, wo die Eingänge x rein echt sind, um grob einen Faktor zwei in der Berechnung und Lagerung zu sparen. Man kann auch aufrichtigen Vorteil des Falls von echt-symmetrischen Daten nehmen für zu rechnen der getrennte Kosinus verwandeln sich (Chen und Sorensen, 1992).

Generalisation zu willkürlichen Basen

Bruun factorization, und so der Bruun FFT Algorithmus, wurden verallgemeinert, um willkürliche sogar zerlegbare Längen, d. h. das Teilen des polynomischen Grads durch eine willkürliche Basis (Faktor) wie folgt zu behandeln. Erstens definieren wir eine Reihe von Polynomen φ (z) für positive ganze Zahlen N und für α in durch:

:

\left\{\begin {Matrix-}\

z^ {2N} - 2 \cos (2 \pi \alpha) z^N + 1 & \mbox {wenn} 0

Bemerken Sie, dass alle Polynome, die in Bruun factorization oben erscheinen, in dieser Form geschrieben werden können. Diese Polynome können für einen Faktor (Basis) r rekursiv faktorisiert werden über:

:\left\{\begin {Matrix-}\

\prod_ {\\ell=0} ^ {r-1} \phi_ {M, (\alpha +\ell)/r} & \mbox {wenn} 0

  • Georg Bruun, "z-Transform DFT Filter und FFTs," IEEE Trans. auf der Akustik, der Rede und dem Signal, das (ASSP) 26 (1), 56-63 (1978) Bearbeitet.
  • H. J. Nussbaumer, Schneller Fourier verwandelt Sich und Gehirnwindungsalgorithmen (Springer-Verlag: Berlin, 1990).
  • Yuhang Wu, "Neue FFT Strukturen hat auf dem Algorithmus von Bruun," IEEE Trans gestützt. ASSP 38 (1), 188-191 (1990)
  • Jianping Chen und Henrik Sorensen, "Ein effizienter FFT Algorithmus für echt-symmetrische Daten," Proc. ICASSP 5, 17-20 (1992).
  • Rainer Storn "Laufen einige auf feste Punkt-Fehleranalyse des Bruun-FTT [sic] Algorithmus," IEEE Trans hinaus. Signal, das 41 (7), 2371-2375 (1993) In einer Prozession geht.
  • Hideo Murakami, "Reellwertige Dezimierung rechtzeitig und Algorithmen der Dezimierung in der Frequenz," IEEE Trans. Stromkreis-System. II: Analogon und Digitaler Sig. Proc. 41 (12), 808-816 (1994).
  • Hideo Murakami "Verwandelt sich reellwertiger schneller getrennter Fourier und zyklische Gehirnwindungsalgorithmen der hoch zerlegbaren gleichen Länge," Proc. ICASSP 3, 1311-1314 (1996).
  • Shashank Mittal, Maryland. Zafar Ali Khan, M. B. Srinivas, "Eine Vergleichende Studie von Verschiedenen FFT Architekturen für die Software Definiertes Radio", Vortrag-Zeichen in der Informatik 4599 (Eingebettete Computersysteme: Architekturen, das Modellieren und die Simulation), 375-384 (2007). Proc. 7. Intl. Werkstatt, SAMOS 2007 (Samos, Griechenland, am 16-19 Juli 2007).

Clapham Verbindungspunkt-Bahnstation / S-IVB
Impressum & Datenschutz