Unten ist eine ideale Rechteckwelle im Zeitbereich und ihre harmonischen Komponenten in der Frequenz. Domain:
Wie Sie oben sehen, besteht eine Rechteckwelle nur aus ihren ungeraden Harmonischen, da dazwischen keine Spitzen auftreten.
Und unten ist die FFT eines Oszilloskops einer Rechteckwelle:
Hier sehen wir, dass zwei Dinge anders sind. Zunächst einmal besteht die obige FFT nicht aus Spitzen, sondern aus verbreiterten Kurven. Zweitens ist es kontinuierlich, nicht diskret.
Möglicherweise enthält das Oszilloskop Rauschen, und die Anstiegszeit der Rechteckwelle ungleich Null kann die FFT-Ergebnisse beeinflussen.
Schauen wir uns also anstelle des Oszilloskops an, was LTspice die FFT einer Rechteckwelle (in diesem Fall eine Impulsfolge) mit dem folgenden Setup anzeigt:
Hier ist die FFT:
Das sieht auch nicht gut aus. Also habe ich die Anstiegszeiten viel kürzer als die Standardeinstellung von LTspice wie folgt eingestellt:
Jetzt wurde die FFT besser:
Jetzt kann ich eines der Probleme sehen, wenn ich die FFT einer Rechteckwelle oder eines Impulses in einem Oszilloskop betrachte, wobei die Anstiegs- und Abfallzeiten niemals Null sind. Das andere Problem ist, dass es etwas Rauschen gibt.
Hier meine Frage:
Hier ist, was ich nicht verstehe. Am Anfang habe ich ein Spektrum einer idealen Rechteckwelle bereitgestellt, die diskrete ungerade Harmonische als Spitzen waren. Aber sowohl im Bereich als auch in LTspice ist die FFT kontinuierlich.
Ich bin an dieser Stelle verwirrt. Lassen Sie mich ein Beispiel geben. In meinem letzten Diagramm oben beträgt die Impulsfrequenz 100 Hz. Ich würde also erwarten, dass es aus seinen ungeraden harmonischen Sinuskurven von 300 Hz, 500 Hz, 700 Hz usw. besteht. Ich würde nicht erwarten, dass es beispielsweise eine 130-Hz-Komponente oder 102 Hz enthält. Tatsächlich gibt es gemäß dem letzten FFT-Diagramm eine Komponente bei 102 Hz und sie ist sogar größer als die 300-Hz-Komponente.
Irgendeine Idee, welche hier die Realität darstellt? Was weiß ich falsch?
Willkommen in der realen Welt!
Die „mathematisch perfekte“ Transformation, die Sie oben zeigen, mit den „diskreten“ Harmonischen wird unter der Annahme generiert, dass die Anstiegs- und Abfallzeiten der Wellenform Null sind und dass Sie eine kontinuierliche Transformation durchführen – kein diskretes Sampling im Zeitbereich . Es wird davon ausgegangen, dass sich die Integrationen über eine unendliche Spanne erstrecken – oder äquivalent dazu, dass sie über eine exakte ganze Anzahl von Zyklen durchgeführt werden.
Wenn Sie eine Wellenform in einem Simulator erzeugen oder eine echte Wellenform in ein Oszilloskop einspeisen, gelten diese Annahmen nicht mehr. Die Anstiegs- und Abfallzeiten haben Werte ungleich Null, und das Signal wird im Zeitbereich abgetastet. Am wichtigsten ist, dass das Sampling normalerweise weder eine genaue Anzahl ganzer Zyklen umfasst noch genau mit der Wellenform synchronisiert ist.
Ein Verstoß gegen diese Annahmen führt dazu, dass sich die Spitzen, die Sie in der Transformationsausgabe sehen, "ausbreiten". Dies bedeutet nicht, dass beispielsweise bei 102 Hz Energie vorhanden ist, sondern nur, dass die Einschränkungen des Algorithmus dazu führen, dass er angesichts der Einschränkungen des Sample-Satzes, mit dem er arbeitet, nicht unterscheiden kann, ob dort Energie vorhanden ist oder nicht.
Ich bin zugegebenermaßen in der relevanten Mathematik untererzogen und kann leicht durch einige elegante Formeln mit Transformationen, Operatoren, Funktionsmatrizen usw. gedemütigt werden, aber lassen Sie mich präsentieren, was ich im Laienvokabular weiß - vielleicht bin ich die richtige Person dafür versuchen, genau aus diesem Grund:
Ich würde vermuten, dass in Ihrer ersten "theoretischen" Skizze das "Balkendiagramm" genau zentrierte ideale harmonische Frequenzen zeigt. Sie sind ganzzahlige Vielfache der Hauptfrequenz Ihres Signals. Sie betrachten einfach kein kontinuierliches Spektrum zwischen den idealen Harmonischen :-) Und dann vergleichen Sie sie mit einem alternativen Frequenzbereichsdiagramm, das kontinuierlich ist .
Übrigens, in Ihrem ersten "Balkendiagramm" im Frequenzbereich scheint der Abstand von 0-1-3 seltsam zu sein :-) Und ich würde tatsächlich erwarten, dass die Hauptfrequenz die höchste Spitze auf der linken Seite ist und alle Harmonischen auf der linken Seite rechts davon sollte niedriger sein.
Als nächstes: Die diskrete Fourier-Transformation (von der FFT ein Sonderfall ist) hat einen wichtigen Parameter: die Fenstergröße. Dies ist die endliche Stapelgröße (eine Folge von Zeitbereichsabtastungen), über die Ihr "Mittelungsalgorithmus" integriert. DFT/FFT ist nur ein Karton voller gewichteter Mittelwerte :-) Ein Mittelwert pro interessierender Frequenz. Die Größe Ihres Sample-Stapels bestimmt also, bis zu welchem Grad an Genauigkeit (oder statistischer Konfidenz/Sicherheit) Sie das Frequenzbereichsbild Ihres Originalsignals berechnen können. Je länger Ihr Fenster ist, desto schlanker werden Ihre Spektrallinien ausfallen. FFT ist eine Version von DFT, optimiert für Fenster der Größe 2^n.
Beachten Sie das folgende offensichtliche Paradoxon: Je schlanker (präziser) Sie Ihre Spektrallinien haben möchten, insbesondere bei relativ niedrigeren Frequenzen, desto länger müssen Sie das Zeitbereichssignal beobachten (= längeres "Fenster"). Was gleichzeitig bedeutet, dass die resultierende spektrale Änderung weniger "zeitlich fokussiert" ist :-) Ein bisschen wie ein "Unschärfeprinzip". Wenn zu einem bestimmten Zeitpunkt eine Änderung in Ihrem Zeitbereichssignal auftritt, die das resultierende Spektrum beeinflussen kann (z. B. Änderungen der Hauptfrequenz), dauert es länger, bis Sie dies bemerken, wenn Ihr DFT-„Fenster“ groß ist. Ein längeres Fenster bedeutet mehr Frequenzpräzision, aber auch eine langsamere Reaktion im Spektrumbereich.
BTW2: Beachten Sie, dass in Ihrem ersten "Balkendiagramm" im Frequenzbereich die Amplitude linear ist, während die Amplitude in Ihren späteren Diagrammen logarithmisch ist (dB-Einheiten). Dies zieht optisch die "Röcke" um Ihre "reinen" Spektrumslinien vom "Rauschhintergrund" nach oben - aber es ist wirklich nur ein optischer Nebeneffekt Ihrer Wahl der Skala (linear vs. logarithmisch). Probieren Sie es in jeder Spektrumanalysator-Software aus, die zwischen einer linearen und einer logarithmischen Skala umschalten kann. Daher erscheint auch das "Abklingen" von Obertönen zu höheren Frequenzen hin viel weniger steil (allmählicher, langsamer). Gleicher Effekt für logarithmische Frequenzskala. In Ihrem ersten Balkendiagramm ist die Frequenzskala linear (mit Ausnahme der 0-1-3-Anomalie). In den letztgenannten Spektraldiagrammen erscheint die Skala logarithmisch.
Bei meiner Arbeit habe ich ein USB-Scopey-Gadget (das M595 von ETC), das mit einer interessanten softwarebasierten Spektrumanalysator-App (nur gut als Übersichtsspektrograf) ausgestattet ist, die einstellbare Knöpfe hat, wodurch einige dieser Effekte sehr auffällig werden. Sie können den Vert optimieren. scale (lin/log), die Fenstergröße und die Abtastfrequenz (durch Größe und Verschiebung des Frequenzfensters entlang der Frequenzachse in der freq.domain-Anzeige). Sie können die Auswirkungen Ihrer Optimierungen in Ihrer menschlichen Echtzeit sehen :-) Ähnliche Effekte können in verschiedenen FFT-Softwares erzielt werden - es gibt eine Freeware-App namens SpectrumLab - kann mit einer Soundkarte oder einer WAV-Datei arbeiten, hat einen Wasserfallausgang usw. und ermöglicht Ihnen die Auswahl eines sehrgroße Auswahl an Windows-Größen. Ähnliche Effekte können beim "RTLSDR-Scanner" beobachtet werden: Sie können einen kompatiblen USB/DVB-T-Dongle verwenden, um das Funkspektrum zu scannen, und die Software ermöglicht Ihnen, die Fenstergröße und andere Parameter auszuwählen ... den Effekt des FFT-Fensters Größe ist wieder deutlich sichtbar.
Irgendwo zu Hause hatte ich immer eine Papierkopie eines alten Artikels: „More on Averages“ von „Jack W. Crenshaw“, der 1996 in der Zeitschrift „Embedded Systems Programming“ veröffentlicht wurde – ich erinnere mich, dass ich begann, das zu verstehen Grundlagen der FFT beim Lesen. Ich kann es jetzt nicht finden, aber vielleicht könnten Sie eine Kopie in einer Bibliothek oder so bekommen.
Stellen Sie sich vor, dass Sie für jede Frequenz, an der Sie interessiert sind (im Spektralbereich), eine präzise Sinuswelle dieser Frequenz nehmen und sie als "Gewicht" in einem gewichteten Durchschnitt über Ihr diskretes Abtastfenster im Zeitbereich verwenden. Das machst du für jede Frequenz, die dich interessiert. Vielleicht sollte es dir da anfangen zu dämmern. (Sie sollten dies eigentlich zweimal für jede Frequenz tun, indem Sie die Sinus- und Cosinus-Wellenform verwenden, was zu einer komplexen Amplitude für die jeweilige Frequenz führt = leicht in eine skalare Amplitude und einen Phasenwinkel umzuwandeln.)
Denken Sie an die gewichtete Mittelung Ihres Zeitbereichsfensters mit der Sinuswelle, an der Sie interessiert sind. Was passiert nun, wenn Ihr Fenster relativ klein ist, vielleicht in der Nähe einer einzelnen Periode der Frequenz, die Sie auswerten möchten? Oder ein kleines nicht ganzzahliges Vielfaches? Richtig - Unsicherheit / störende Artefakte am untersten Rand Ihres Spektrums. Je länger Ihr Fenster für eine bestimmte Frequenz ist, desto feiner ist Ihr Spektralbild. Je kürzer das Fenster, desto gröber das Spektralbild (besonders auffällig am unteren Ende, in logarithmischer Frequenzskala).
Abgesehen von der Fenstergröße gibt es einen verwandten Parameter namens "Fensteralgorithmus" (Triangular/Hanning/Blackman usw.) - so wie ich es verstehe, können Sie damit "allmählich verblasste Kanten" in Ihr Zeitbereichsfenster von Samples einfügen ( = noch eine weitere Ebene eines Filters / gewichteten Mittelwerts), mit der Sie einige grobe Artefakte am untersten Ende Ihres Spektralbilds unterdrücken können, die "nicht wirklich da sind", bevor Sie ein scharfkantiges Fenster anwenden.
ein besorgter Bürger
Benutzer16307
PlasmaHH
ein besorgter Bürger