Wie die FFT-Werke
Kapitel 12: Die schnelle Fourier-Transformation
Wie die FFT-Werke
Die FFT ist ein komplizierter Algorithmus, und ihre Einzelheiten sind in der Regel denjenigen überlassen, die in solchen Dingen spezialisiert. Dieser Abschnitt beschreibt den allgemeinen Betrieb der FFT, aber umsäumt ein zentrales Thema: die Verwendung von komplexen Zahlen. Wenn Sie einen Hintergrund in der komplexen Mathematik haben, können Sie zwischen den Zeilen lesen, die wahre Natur des Algorithmus zu verstehen. Keine Sorge, wenn die Details, die Sie entziehen sich; Einige Wissenschaftler und Ingenieure, die die FFT verwenden könnte das Programm von Grund auf neu schreiben.
In komplexer Schreibweise, der Zeit- und Frequenzbereich enthält jeweils ein Signal von Ncomplex Punkten erzielt. Jede dieser komplexen Punkten besteht aus zwei Zahlen, die Realteil und dem Imaginärteil. Zum Beispiel, wenn wir über komplexe Probe X [42] sprechen, bezieht er sich auf die Kombination von ReX [42] und IMX [42]. Mit anderen Worten, jede komplexe Variable enthält zwei Zahlen. Wenn zwei komplexen Variablen multipliziert werden, müssen die vier einzelnen Komponenten kombiniert werden, um die beiden Komponenten des Produkts zu bilden (wie in Gl. 9-1). Die folgende Diskussion zum Thema „Wie die FFT arbeitet“ verwendet diesen Jargon der komplexen Notation. Das heißt, die singulären Termini: Signal, Punkt, Probe. und Wert. beziehen sich auf die Kombination aus dem Realteil und dem Imaginärteil.
Der nächste Schritt in dem FFT-Algorithmus ist es, die Frequenzspektren der 1-Punkt-Zeitdomänensignale zu finden. Nichts könnte einfacher sein; das Frequenzspektrum eines Signals 1 Punkt ist auf sich selbst gleich. Das bedeutet, dass nichts ist erforderlich, um diesen Schritt zu tun. Zwar gibt es keine Arbeit beteiligt ist, vergessen Sie nicht, dass jeder der 1 Punktsignale ist nun ein Frequenzspektrum, und nicht Signal ein Zeitbereich.
8-Punkt-Signal, und fügen Sie dann die Signale zusammen. Das heißt, abcd wird a0b0c0d0. und efgh wird 0e0f0g0h. diese zwei 8-Punkt-Signale erzeugt Hinzufügen aebfcgdh. Wie es in Fig. 12-4, entspricht einer Duplizierung des Frequenzspektrums der Zeitdomäne mit Nullen zu verdünnen. Daher werden die Frequenzspektren in dem FFT kombiniert sie durch Duplizieren und dann zusammen, um die duplizierten Spektren hinzuzufügen.
Um bis zu entsprechen, wenn zugegeben, die zwei Zeitbereichssignale mit Nullen in einer etwas anderen Weise verdünnt. In einem Signal, sind die ungeraden Punkte Null, während in dem anderen Signal, die geraden Punkte Null sind. Mit anderen Worten, eine der Zeitbereichssignal (0e0f0g0h in Fig. 12-4) ist, nach rechts um einen Abtastwert verschoben wird. Dieser Zeitbereich Verschiebung entspricht das Spektrum durch eine Sinuskurve zu multiplizieren. Um dies zu sehen, sie erinnern, dass eine Verschiebung in der Zeitdomäne zu Konvolvieren das Signal mit einer verschobenen Delta-Funktion entspricht. Dieses multipliziert das Spektrum des Signals mit dem Spektrum der verschobenen Delta-Funktion. Das Spektrum einer verschobenen Delta-Funktion ist eine Sinuskurve (siehe Fig 11-2).
Abbildung 12-5 zeigt ein Flussdiagramm für zwei 4-Punkt-Spektren in ein einziges 8 Punktspektrum zu kombinieren. Um die Situation noch mehr zu reduzieren, feststellen, dass Abb. 5.12 aus dem Grundmuster in Fig 12-6 gebildet wird, immer und immer wiederholt.
Dieses einfache Ablaufdiagramm ist ein Schmetterling aufgrund seiner geflügelten Erscheinung genannt. Der Schmetterling ist das Grundrechenelement der FFT, transformierende zwei komplexe Punkte in zwei anderen komplexen Punkte.
Die Frequenzbereich-Synthese erfordert drei Schleifen. Die äußere Schleife läuft durch die log 2 N-Stufen (d.h. jeder Ebene in Fig. 12-2, von unten beginnend und nach oben bewegt). Die mittlere Schleife bewegt sich durch jede der einzelnen Frequenzspektren in der Stufe gearbeitet wird (d.h. jede der Boxen auf einer beliebigen Ebene in Fig. 12-2). Die innerste Schleife verwendet den Schmetterling die Punkte in jedem Frequenzspektrum zu berechnen (das heißt durch die Proben innerhalb eines Kastens in Fig Looping. 12-2). Die Overhead-Boxen in Abb. 7.12 den Beginn bestimmen und endend Indizes für die Schleifen, sowie die Sinusoide in den Schmetterlingen benötigt berechnen. Nun kommen wir zum Kern dieses Kapitels, die tatsächlichen FFT-Programme.