Rechner für die inverse diskrete Fouriertransformation (IDFT)
Mit diesem kostenlosen Rechner für die inverse diskrete Fouriertransformation (IDFT) wandeln Sie Komponenten im Frequenzbereich X[k] zurück in eine Folge im Zeitbereich x[n]. Geben Sie kommagetrennte reelle oder komplexe Werte ein und erhalten Sie sofort das Ergebnis.
IDFT-Signalrekonstruktion im Zeitbereich
Formel der inversen diskreten Fouriertransformation
mit:
- \(x[n]\) — Abtastwert im Zeitbereich bei Index \(n\)
- \(X[k]\) — Komponente im Frequenzbereich (Spektralkomponente) bei Index \(k\)
- \(N\) — Gesamtzahl der Abtastwerte, entspricht der Anzahl der eingegebenen Werte
- \(j\) — imaginäre Einheit, \(j^2 = -1\)
- \(n\) — Abtastindex im Zeitbereich (\(0 \le n \le N-1\))
- \(k\) — Frequenzbin-Index (\(0 \le k \le N-1\))
Dies ist die Standarddefinition der IDFT: Jeder Abtastwert im Zeitbereich ist eine Summe aller Spektralkomponenten, die mit komplexen Exponentialfunktionen gewichtet und mit \(1/N\) skaliert werden. Sie invertiert die diskrete Fouriertransformation (DFT) exakt.
Inverse DFT – Berechnungsbeispiel
Beispiel: die Folge im Frequenzbereich \(X[k] = 1, 0, 0, 0\) (die Standardwerte des Rechners), also \(N = 4\).
\[ x[n] = \frac{1}{4} \sum_{k=0}^{3} X[k]\, e^{j 2\pi kn/4} = \frac{1}{4} \left( X[0] \cdot e^{j 0} \right) = \frac{1}{4} \cdot 1 = 0.25 \]
Da nur \(X[0]\) von null verschieden ist, erhält jeder Abtastwert denselben Beitrag.
Ergebnis: \(x[n] = 0.25, 0.25, 0.25, 0.25\) — eine konstante Folge (Gleichanteil). Ein einziger von null verschiedener Bin \(X[0]\) rekonstruiert stets ein konstantes Signal.
Zweites Beispiel (komplexe Eingabe): \(X[k] = 1+2j,\; 0,\; -1,\; 0\).
\[ x[0] = \tfrac{1}{4}\left[(1+2j) + 0 + (-1) + 0\right] = 0.5j \]
Ergebnis: \(x[n] = 0.5j,\; 0.5+0.5j,\; 0.5j,\; 0.5+0.5j\). Beachten Sie das sich wiederholende Muster: Die Bins 0 und 2 sind die geraden (konjugiert-symmetrischen) Komponenten des Spektrums.
So benutzen Sie den Rechner
- Geben Sie Ihre Werte im Frequenzbereich in das Feld Werte im Frequenzbereich ein, als kommagetrennte Liste, z. B.
1, 0, 0, 0oder1+2j, 0, -1, 0. - Verwenden Sie einfache reelle Zahlen (
3,-2.5) oder komplexe Zahlen in der Forma+bj(1+2j,-1-1.5j). Ein rein imaginärer Wert kann als2jgeschrieben werden. Verwenden Sie keine Leerzeichen innerhalb einer komplexen Zahl. - Klicken Sie auf Berechnen.
- Lesen Sie die rekonstruierte Folge im Ergebnisfeld Zeitbereichsfolge x[n] ab. Die Ausgabe enthält genau so viele Abtastwerte wie eingegebene Werte, in der Reihenfolge \(x[0], x[1], \ldots, x[N-1]\).
Was ist die inverse diskrete Fouriertransformation?
Die inverse diskrete Fouriertransformation (IDFT) ist die Operation, die die Frequenzbereichsdarstellung eines Signals zurück in den Zeitbereich abbildet. Ihr Gegenstück, die DFT, zerlegt eine Folge von \(N\) Abtastwerten in \(N\) komplexe Spektralkoeffizienten; die IDFT kehrt diesen Prozess um und stellt die ursprünglichen Abtastwerte aus dem Spektrum wieder her. Wendet man zunächst die DFT und danach die IDFT an (mit derselben hier verwendeten \(1/N\)-Skalierung), erhält man exakt das ursprüngliche Signal zurück — bis auf Rundungsfehler.
Die IDFT ist wichtig, weil ein großer Teil der modernen Signalverarbeitung im Frequenzbereich stattfindet. Filter werden durch die Formung des Betragsfrequenzgangs entworfen, Kommunikationssysteme modulieren Daten auf bestimmte Frequenz-Bins, und Audiocodecs (wie MP3 oder AAC) speichern Signale als Spektralkoeffizienten. Am Ende all dieser Operationen ist die IDFT der Schritt, der das verarbeitete Spektrum wieder in Abtastwerte verwandelt, die man hören oder übertragen kann. In der Praxis wird sie mit dem FFT-Algorithmus berechnet, der identische Ergebnisse deutlich schneller liefert; dieser Rechner führt die direkte Summe aus, was sich ideal zum Lernen und Überprüfen eignet.
Die Ausgabe zu interpretieren ist unkompliziert, sobald man einige Eigenschaften kennt. Der Bin \(X[0]\) stellt den Gleichanteil (Mittelwert) dar, daher erzeugt ein großes \(X[0]\) ein Signal mit konstantem Offset. Höhere Bins entsprechen schnelleren Schwingungen: Der Bin \(k\) durchläuft \(k\) volle Perioden über die \(N\) Abtastwerte. Ist das Eingangsspektrum konjugiert symmetrisch — \(X[N-k] = X[k]^*\) —, so ist das rekonstruierte Signal rein reell; deshalb erzeugen reale Signale symmetrische Spektren. Eine asymmetrische Eingabe, wie im zweiten Beispiel oben, erzeugt komplexwertige Abtastwerte.
Annahmen, Grenzen und Tipps
- Normierungskonvention: Der Rechner wendet den Faktor \(1/N\) nur auf die Rücktransformation an (die Konvention „1/N rückwärts“). Wenn Ihre DFT-Definition \(1/\sqrt{N}\) auf beiden Seiten verwendet, skalieren Sie die Ausgabe mit \(\sqrt{N}\), um sie zu vergleichen.
- Punktanzahl: \(N\) entspricht der Anzahl der kommagetrennten Werte, die Sie eingeben. Ergänzen Sie Nullen, um eine gewünschte Länge zu erreichen — Null-Erweiterung (Zero-Padding) in einem Bereich bewirkt Interpolation im anderen.
- Komplexes Format: Verwenden Sie
j(nichti) als imaginäre Einheit, ohne Leerzeichen:2-3jist gültig,2 - 3inicht. - Genauigkeit: Ergebnisse werden mit vier Nachkommastellen angezeigt. Sehr kleine restliche Imaginärteile (z. B.
0.0000j) bei theoretisch reellen Ausgaben sind normale Rundungsartefakte. - Praktikable Größe: Die direkte Berechnung mit \(O(N^2)\) ist für Folgen bis zu einigen hundert Punkten unproblematisch; für große Spektren verwenden Sie eine FFT-Implementierung.
Ein guter Plausibilitätstest: Geben Sie ein flaches Spektrum wie 1, 1, 1, 1 ein — die IDFT sollte einen einzelnen Impuls 1, 0, 0, 0 zurückgeben, da ein konstantes Spektrum die DFT eines Impulses ist.
WPCalc bietet außerdem eine Reihe weiterer Techniker-Rechner, vom Parallelwiderstandsrechner und dem Rechner für Reiheninduktivitäten bis hin zum Wirk- und Blindleistungsrechner für die Analyse von Wechselstromkreisen.
Häufig gestellte Fragen
Wie berechne ich die IDFT von Hand?
Multiplizieren Sie für jeden Ausgabewert jeden Spektralwert mit einer komplexen Exponentialfunktion und summieren Sie die Ergebnisse. Beispiel mit N = 4 und X[k] = 2, 0, 1, 0: x[0] = (2 + 1)/4 = 0.75, während x[1] = (2 + 1·e^{jπ/2})/4 = (2 + j)/4 = 0.5 + 0.25j. Wiederholen Sie dies für n = 2 und n = 3. Mit der Eulerschen Formel \( e^{j\theta} = \cos\theta + j\sin\theta \) berechnen Sie jede Exponentialfunktion; teilen Sie anschließend jede Summe durch N.
Warum ist mein Ergebnis komplex, obwohl ich ein reelles Signal erwartet habe?
Die IDFT liefert nur dann rein reelle Abtastwerte, wenn das Spektrum konjugiert symmetrisch ist, d. h. \( X[N-k] = X[k]^* \). Für N = 8 muss X[7] das Konjugat von X[1] sein, X[6] das Konjugat von X[2] und so weiter, wobei X[0] und X[4] reell sind. Wenn Sie eine beliebige Liste wie 1, 2, 3, 4 eingeben, ist diese Symmetrie gebrochen, sodass die Ausgabe zu Recht Imaginärteile enthält. Sehr kleine Reste wie 0.0000j bei ansonsten reellen Ausgaben sind lediglich Rundungsartefakte.
Was ist der Unterschied zwischen der IDFT und der IFFT?
Sie berechnen exakt dasselbe. Die IFFT ist einfach ein schneller Algorithmus (die inverse schnelle Fouriertransformation), der die IDFT-Summe in \( O(N \log N) \) Operationen statt in \( O(N^2) \) auswertet. Die Ergebnisse sind bis auf Gleitkomma-Rundung identisch. Dieser Rechner verwendet die direkte Summe und eignet sich daher am besten für Folgen mit einigen hundert Punkten oder weniger; für längere Spektren verwenden Sie FFT-basierte Software.
Warum weichen meine Werte um den Faktor N oder √N von anderen Tools ab?
Unterschiedliche DFT/IDFT-Konventionen platzieren den Skalierungsfaktor unterschiedlich. Dieser Rechner verwendet die Konvention „1/N rückwärts“, bei der die Vorwärts-DFT unskaliert ist und die Rücktransformation den Faktor \( 1/N \) trägt. Manche Tools (wie NumPys ifft) machen dasselbe, andere verwenden \( 1/\sqrt{N} \) bei beiden Transformationen oder setzen \( 1/N \) auf die Vorwärts-Transformation. Wenn Ergebnisse abweichen, multiplizieren oder dividieren Sie mit N oder \( \sqrt{N} \), um sie in Einklang zu bringen.
Was bedeuten negative oder außerhalb des Bereichs liegende Frequenz-Bins?
Das DFT-Spektrum ist periodisch mit der Periode N, daher wird ein Bin-Index oberhalb von N-1 umgebrochen: \( X[N+k] = X[k] \). Negative Frequenzen sind in der oberen Hälfte des Arrays gespeichert. Bei N = 8 steht der Bin 6 beispielsweise für die Frequenz -2 und der Bin 7 für -1. Wenn Sie ein zweiseitiges Spektrum von -N/2 bis N/2-1 vorliegen haben, sortieren Sie es um, sodass die Bins negativer Frequenzen ans Ende der Liste verschoben werden, bevor Sie es eingeben.
Kann ich weniger Werte oder eine ungerade Anzahl von Werten eingeben?
Ja — N ist einfach die Anzahl der kommagetrennten Werte, die Sie eingeben, und sie kann ungerade oder gerade sein. Eine Zweierpotenz ist nicht erforderlich (diese Einschränkung gilt nur für manche FFT-Algorithmen, nicht für die direkte IDFT-Summe). Ein einzelner Wert wie 5 ergibt N = 1 und liefert einfach diesen Wert geteilt durch 1 zurück, also 5. Wenn Sie eine bestimmte Länge benötigen, ergänzen Sie Nullen: Null-Padding des Spektrums interpoliert das rekonstruierte Signal.
Wie kann ich überprüfen, dass das Ergebnis korrekt ist?
Ein schneller Check ist, die Vorwärts-DFT auf die Ausgabe anzuwenden — Sie sollten Ihre ursprüngliche Eingabe exakt zurückbekommen, bis auf Rundung auf vier Nachkommastellen. Ein weiterer Test: Geben Sie 1, 1, 1, 1 ein und bestätigen Sie, dass die Ausgabe der Impuls 1, 0, 0, 0 ist, da ein flaches Spektrum die DFT eines Impulses ist. Prüfen Sie außerdem, ob der Mittelwert der Ausgabewerte \( X[0]/N \) entspricht, weil der Bin null stets den Gleichanteil (Mittelwert) codiert.