Sandkasten für Diskrete Frourier-Transformation

Dieser Rechner veranschaulicht die diskrete Fourier Transformation, mit der schnellen Fourier Transformation und Beispiel Daten. Durch das verändern der Beispieldaten können Sie verschiedene Signale überprüfen und die Gegenstücke (Diagramme für reelle und imaginäre Teile, Größen und Phasen) überprüfen.

Dieser Rechner ist ein Online-Sandkasten um der Diskreten Fourier-Transformation (DFT) zu experimentieren. Er nutzt die reelle DFT, dies bedeutet, dass diese Version der diskreten Fourier-Transformation reelle Zahlen nutzt um die Eingangs- du Ausgangssignale darzustellen. DFT ist Teil der Fourier-Analyse, welches ein Satz von mathematischen Verfahren, die auf die Zerlegung von Zeichen in Sinusoiden basiert. Während viele Bücher alle möglichen Diagramme zur Darstellung von DFT zeigen, habe ich mich immer gefragt, wie die Sinuskurven aussehen, oder wie sie sich verändern, wenn man das Eingangssignal ein wenig verändert. Dieser Sandkasten kann nun damit helfen. Als Standard werden 32 Beispiele angezeigt, alle mit Nullen außer dem zweiten Beispiel, wo eine 5 angegeben ist. Für diese Beispiele zeigt der Rechner Diagramme mit reellen Werten, imaginären Werten, Größenwerte, und Phasenwerten an. Er zeigt auch Diagramme mit allen Sinusoiden und summierten Zeichen an. Sie können die Beispiele nach Ohren Wünschen ändern – die Diagramme werden entsprechend aktualisiert.

Nun ist es Zeit für ein wenig Theorie. Die Basis der Fourier-Analyse ist die Annahme, das Signal als die Summe von korrekt ausgewählten Sinuswellen dargestellt werden können. Aber warum werden Sinusoiden verwendet? Da diese einfacher nutzbar sind als die Originalzeichen, oder alle andere Formen von Wellen. Sie haben auch eine ganz besondere Eigenschaft - Sinusoid Harmonie. Dies bedeutet, dass der Eingang in ein System garantiert, eine Ausgabe zu produzieren. Nur die Amplitude und Phase können sich ändern, die Frequenz und die Wellenform bleiben gleich.

Es gibt vier Arten von Fourier-Transformationen: Fourier Transformation (für aperiodische und kontinuierliche Signale), Fourier Reihe (für periodisch kontinuierlicher Signale), Diskrete Zeit-Fourier Transformation (für aperiodische diskrete Signale) und Diskrete Fourier Transformation (für periodische diskrete Signale). Alle Transformationen arbeiten mit Signalen, die ins Unendliche verlängert werden. In der Informatik gibt es eine endliche Anzahl von Beispielen. Mit Verwendung der Fourier Transformation tuen wir so, dass die endliche Anzahl von Beispielen eine unendliche Zahl von Beispielen rechts und links der wirklichen Daten hat. Und diese Beispiele wiederholen einfach unsere Daten. Durch die Annahme, dass unser Beispiel diskrete periodische Signale haben, nutzt man die Diskrete Fourier Transformation (DFT) im Informatik Algorithmus. (Würde man die Daten anstatt mit wiederholenden Zahlen mit Nullen auffüllen, würde man diskrete aperiodische Signale erhalten. Solch ein Signal würde eine unendliche Anzahl von Sinusiden benötigen. Daher kann man dies in der Informatik nicht nutzen.)

Bitte beachten Sie auch, dass jede Fourier Transformation eine reelle and komplexe Version hat. Die reelle Version ist die einfachste und nutzt ordinäre Zahlen für die Eingabe (Signalbeispiele etc.) und Ausgabe. Die komplexe Version verwendet komplexe Zahlen mit einem imaginären Teil. Hierfür nutzt man die reelle DFT, da diese einfach darzustellen und zu verstehen ist.

Die DFT ändert einen Eingabe-Signal von N-Punkten in zwei N/2+1 Ausgabesignale. Ein Eingabesignal ist einfach ein eingegebenes Signal, und die zwei Ausgabesignale sind die Amplitude der Sinus und Kosinus-Wellen. Zum Beispiel um ein 32-faches Punktesignal in einem Frequenzbereich darzustellen, benötigt man 17 Sinus- und 17-Kosinuswellen.

Das Eingabesignal ist in einem Zeit-Bereich, und die Ausgabesignale sind in einem Frequenz-Bereich. Der Prozess zur Berechnung des Frequenz-Bereichs bezeichnet man Zerlegung, Analyse, weiterleitende DFT, oder einfach nur DFT. Der gegenteilige Prozess wird als Synthese oder inverse DFT bezeichnet.

Das Zeit-Bereich Signal wird mit kleingeschriebenem Buchstabieren, z.B. x[ ] und Frequenz-Bereich Zeichen werden mit Großbuchstaben dargestellt, .B. x[ ]. Die zwei Teile des Ausgangssignals werden Reelle Teile von X[ ] oder Re X[ ], und Imaginärer Teil von X[ ] oder Im X[ ] genannt. Die Werte von Re X[ ] sind Amplituden der Kosinus Wellen, und Werte von lm X[ ] sind Amplitude von Sinus-Wellen. Die Begriffe reelle und imaginäre kommen aus der allgemeinen DFT, wo man mit komplexen Zahlen arbeitet. In der reellen DFT sind dies einfach nur die Amplituden der Sinus und Kosinus Wellen.

Die Sinus und Kosinus Welle werden als DFT Grundfunktionen bezeichnet – dies sind die Wellen mit Einheitsamplituden. Die DFT Grundfunktionen haben die folgenden Gleichungen:
c_k[i]=cos(\frac{2\pi k i}{N})\\s_k[i]=sin(\frac{2\pi k i}{N}),
Wobei i von 0 zu N-1 und k von 0 zu N/2 verändert wird.

Jede Amplitude von Re X and Im X werden einer richtigen Sinus- und Kosinus-Welle zugeordnet. Das Ergebnis kann summiert werden, um wieder den Zeit-Bereich zu formen. Die Synthesen-Gleichung ist:
x[i]=\sum_{k=0}^{N/2}Re\bar{X}[k]cos(\frac{2\pidurch  ki}{N})+\sum_{k=0}^{N/2}Im\bar{X}[k]sin(\frac{2\pi ki}{N})
Das bedeutet, dass jeder Punkt von dem N-Punkten Signal durch das Addieren von N/2+1 Kosinus-Welle und N/2+1 Sinus-Welle vom selben Punkt kreiert werden kann.

Bitte beachten Sie den Balken in der obigen Formel. Dies wird angezeigt, da die Amplitude der Synthese durch die Skalierung der originalen Amplituden-Werts der Frequenz-Bereichs ermittelt wird. Diese Amplituden sollten mit der folgenden Gleichung normalisiert werden:
Re\bar{X}[k]=\frac{ReX[k]}{N/2}\\Im\bar{X}[k]=-\frac{ImX[k]}{N/2},
mit zwei speziellen Fällen:
Re\bar{X}[0]=\frac{ReX[0]}{N}\\Re\bar{X}[N/2]=\frac{ReX[N/2]}{N}

Reelle und imaginäre Teile können in polare Notationen in der folgenden Beziehung dargestellt werden:
Acos(x)+Bsin(x)=Mcos(x+\theta)
M und Theta werden Größe und Phase genannt, und können von Re and Im mit der folgenden Beziehung berechnet werden:
MagX[k]=(ReX[k]^2+ImX[k]^2)^{\frac{1}{2}}\\PhaseX[k]=arctan(\frac{ImX[k]}{ReX[k]})

Daher kann DFT in einer polaren Notation einen N-Punkt in N/2+1 Kosinus-Wellen mit spezifischen Amplituden und Phasenverschiebung zerlegen. Manchmal ergeben Diagramme für Größe und Phasen mehr Sinn als Diagramme für Re and Im.

Gehen wir wieder zurück zur originalen Synthesen Gleichung:
x[i]=\sum_{k=0}^{N/2}Re\bar{X}[k]cos(\frac{2\pi ki}{N})+\sum_{k=0}^{N/2}Im\bar{X}[k]sin(\frac{2\pi ki}{N})
Dies kann erklären, warum man die DFT durchführen kann, also die Amplitude von Re and Im ermitteln. Bitte beachten Sie, dass in dieser Gleichung ImX[0] und ImX[N/2] immer Null sein werden. Daher beinhaltet die Formel für jede N-Punkte nur N-Terme.
Nun haben wir die lineare Systemgleichungen mit N-Gleichungen für N-unbekannte Koeffizienten, welche man z.B. mit dem Gaußschen Eliminationsverfahren lösen kann.

Für große N nutzt niemand das Gaußsche Eliminationsverfahren, da es zu langsam ist. Dies ist der Fall, wo Schnelle Fourier Transformation (SFT) hilft. Es ist ein schnelles Verfahren, um die Re und Im Werte zu berechnen.
Jedoch basiert FFT auf die komplexe DFT, die allgemeinere Version von DFT. Für komplexe N-Punkte (mit reellen und imaginären Teilen) von Eingabesignale berechnet dieses Verfahren komplexe N-Punkte für das Ausgabesignal. Die Frage lautet dann, wie es sich auf die reelle DFT bezieht.
Glücklicherweise ist dies ganz einfach. Wenn man ein N-Punkte Signal hat, stellt man diese Punkte den reellen Teil des komplexen Eingabesignals, setzt den kompletten imaginären Teil des Eingangssignals auf Null, verwendet SFT, und die ersten N72+1 Punkte des reellen Teils und N/2+1 des imaginären Teils vom Ausgabesignals entsprechen dem reellen DFT.

Der folgende Rechner erlaubt es Ihnen, die DFT auszuprobieren. Sie können die Eingabesignale nach Ihren Wünschen verändern. Der Rechner wendet SFT für Ihre Signale an (und zwar die Javascript FFT Implementation von Project Nayuki). Dann zeigt er die Diagramme für Re X[ ], Im X[ ], Mag X[ ], Phase X[ ] an, und veranschaulicht die Synthese anhand der Sinus und Kosinus- Wellen. Er verwendet auch die Kosinus-Welle und die Phasenverschiebung, um zu zeigen, wie alle Wellen summiert werden um das originale Eingabesignal des Zeit-Bereichs zu ermitteln.

PLANETCALC, Sandkasten für Diskrete Frourier-Transformation

Sandkasten für Diskrete Frourier-Transformation

Beispiele

ZahlenbeispielBeispielswert
Elemente pro Seite:

Zahlen nach dem Dezimalpunkt: 2
Beispiele
Die Datei ist sehr groß; Beim Laden und Erstellen kann es zu einer Verlangsamung des Browsers kommen.
Re X[ ]
Die Datei ist sehr groß; Beim Laden und Erstellen kann es zu einer Verlangsamung des Browsers kommen.
Im X[ ]
Die Datei ist sehr groß; Beim Laden und Erstellen kann es zu einer Verlangsamung des Browsers kommen.
Größe von X[ ]
Die Datei ist sehr groß; Beim Laden und Erstellen kann es zu einer Verlangsamung des Browsers kommen.
Phase von X[ ]
Die Datei ist sehr groß; Beim Laden und Erstellen kann es zu einer Verlangsamung des Browsers kommen.
Synthese (Cos + Sin)
Die Datei ist sehr groß; Beim Laden und Erstellen kann es zu einer Verlangsamung des Browsers kommen.
Die Datei ist sehr groß; Beim Laden und Erstellen kann es zu einer Verlangsamung des Browsers kommen.
Sinthese (Summe von Cos & Sin)
Die Datei ist sehr groß; Beim Laden und Erstellen kann es zu einer Verlangsamung des Browsers kommen.
Synthese (Größe + Phase)
Die Datei ist sehr groß; Beim Laden und Erstellen kann es zu einer Verlangsamung des Browsers kommen.
Synthese (Summe von Größe & Phase)
Die Datei ist sehr groß; Beim Laden und Erstellen kann es zu einer Verlangsamung des Browsers kommen.

URL 复制到剪贴板
PLANETCALC, Sandkasten für Diskrete Frourier-Transformation

评论