Forum: Analoge Elektronik und Schaltungstechnik Darstellung FFT in LTSpice


von Peter (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe heute ein wenig in LTSpice mit der FFT Funktion hantiert und 
diese am Beispiel eines sinusförmigen Stromes mit einem überlagerten 
Dreiecksignal (Amplitude 0.8 A Spitze-Spitze, f=48 kHz) getestet. Die 
Stromform habe ich in Excel erzeugt und dann mit einem PWL-File in 
LTSpice integriert. Im Anhang könnt ihr mein Simulationsergebnis sehen.

Jetzt meine Frage: Warum weist der Strom laut LTSpice im Bereich 50 Hz 
bis 100 Hz ein kontinuierliches Spektrum auf? Der Sinus allein sollte ja 
ausschließlich bei 50 Hz ein diskretes Spektrum haben. Liegt es an der 
Darstellung von LTSpice dass das Spektrum im Bereich 50 Hz- 100 Hz 
kontinuierlich ausschaut? Gibt es generell eine Möglichkeit, dass das 
Spektrum in LTSpice mit senkrechten Spektrallinien anstelle dieser 
dreieckförmigen Spektrallinien auf einer ganz bestimmmten Frequenz 
angezeigt wird?

Viele Grüße

von Helmut S. (helmuts)


Lesenswert?

Hallo Peter,

> Liegt es an der Darstellung von LTSpice dass das Spektrum im Bereich 50 Hz- 100 
Hz kontinuierlich ausschaut?

Leider ja.
Das einzige was man noch machen könnte wäre
Plot Settings -> Mark Data Points

> Gibt es generell eine Möglichkeit, dass das Spektrum in LTSpice mit senkrechten 
Spektrallinien anstelle dieser dreieckförmigen Spektrallinien auf einer ganz 
bestimmmten Frequenz angezeigt wird?

Nein, aber man kann mit "File->Export" die Daten als Textdatei 
exportieren.

von Jens (Gast)


Lesenswert?

Ich könnte mir vorstellen, dass es hier das gleiche Problem wie beim 
Spektrumanalyzer ist.
Wenn die Resolution Bandbreite zu klein ist bekommst du keine einzelnen 
Frequenzen mehr.
Schau mal in die Einstellungen von der Berechnung. Wenn du bis auf 50Hz 
auflösen willst, dann muss die Bandbreite kleiner als 25Hz sein.
Oder anders ausgedrückt. Wenn du das Spektrum von 50Hz bis 1MHz 
darstellen willst mit dieser Bandbreite dann braucht deine FFT 400000 
Punkte.

Vielleicht hilft dir das weiter.

Schönen Abend!

von ChiefEinherjar (Gast)


Lesenswert?

Naja für den NF-Bereich hast du ja nicht mal eine ganze Periode 
aufgezeichnet. Wie soll da die FFT eine große Auflösung haben?!

Je mehr Perioden, desto präziser die FFT. Deswegen ist auch der 
HF-Anteil viel präziser aufgelöst als der NF-Teil.

von Peter (Gast)


Angehängte Dateien:

Lesenswert?

Helmut S. schrieb:
> Nein, aber man kann mit "File->Export" die Daten als Textdatei
> exportieren.

Vielen Dank schon mal für diese Info. Gibt es einen Trick bzw. eine 
Möglichkeiten die exportierten Daten im Excel einfach zu verwerten?

Hab das Reinkopieren sowohl mit dB-Darstellung als auch mit Real- und 
Imaginärteil probiert (siehe Anhang). Aber leider habe ich bei beiden 
Möglichkeiten in der zweiten Spalte ein Komma.

Viele Grüße

von Helmut S. (helmuts)


Lesenswert?

Hallo Peter,

Hier gibt es ein Konverter-Programm um die Datei zu wandeln.

LTSpice_converter_en.exe
https://groups.yahoo.com/neo/groups/LTspice/files/%20Util/

Die erzeugt dann aus den exportierten Daten (name.txt)

Freq.  V(out)
0.00000000000000e+000  (1.42341553715943e+001dB,1.80000000000000e+002°)
1.00000000000000e+004  (1.86334463609464e+001dB,1.74415217020834e+002°)
2.00000000000000e+004  (2.57623989824167e+001dB,1.69124425124340e+002°)
3.00000000000000e+004  (2.34721063204096e+001dB,-1.55219930611495e+001°)
4.00000000000000e+004  (1.11877541639471e+001dB,-1.88591269134962e+001°)
5.00000000000000e+004  (1.61001565149627e+000dB,-1.75122373895160e+001°)
6.00000000000000e+004  (-7.38623078336435e+000dB,1.16239019729260e+002°)
7.00000000000000e+004  (1.28119046920201e+001dB,1.39402534471976e+002°)
8.00000000000000e+004  (1.53874810187048e+001dB,-3.96186603404797e+001°)
9.00000000000000e+004  (6.46162083651068e+000dB,-3.88866184808751e+001°)
1.00000000000000e+005  (9.65665488081022e-001dB,-3.45661847927180e+001°)
...


eine neue Datei (name.csv).


Freq. (Hz),Mod (dB) V(out),Phi ( ° ) V(out)
0.00000000000000e+000,1.42341553715943e+001,1.80000000000000e+002
1.00000000000000e+004,1.86334463609464e+001,1.74415217020834e+002
2.00000000000000e+004,2.57623989824167e+001,1.69124425124340e+002
3.00000000000000e+004,2.34721063204096e+001,-1.55219930611495e+001
4.00000000000000e+004,1.11877541639471e+001,-1.88591269134962e+001
5.00000000000000e+004,1.61001565149627e+000,-1.75122373895160e+001
6.00000000000000e+004,-7.38623078336435e+000,1.16239019729260e+002
7.00000000000000e+004,1.28119046920201e+001,1.39402534471976e+002
8.00000000000000e+004,1.53874810187048e+001,-3.96186603404797e+001
9.00000000000000e+004,6.46162083651068e+000,-3.88866184808751e+001
1.00000000000000e+005,9.65665488081022e-001,-3.45661847927180e+001
....

Gruß
Helmut

: Bearbeitet durch User
von Frank (Gast)


Lesenswert?

Müsste man das ganze nicht auch noch Fenstern oder macht das LT von 
selbst?

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Das Bewertungsfenster kannst du im FFT-Dialogfenster wählen.
"None" bedeutet "Rechteckfenster" also alle Daten mit Faktor 1 bewerten

: Bearbeitet durch User
von Peter (Gast)


Angehängte Dateien:

Lesenswert?

ChiefEinherjar schrieb:
> Je mehr Perioden, desto präziser die FFT. Deswegen ist auch der
> HF-Anteil viel präziser aufgelöst als der NF-Teil.

Das habe ich jetzt auch gemacht und jetzt schaut auch das NF-Spektrum 
schöner aus.

Allerdings habe ich jetzt einen interessanten Effekt entdeckt beim 
Vergleich der Spektren zweier Signalformen, die sich nur im 
Nulldurchgang leicht unterscheiden.

Die höherfrequente Überlagerung hat eine Taktfrequenz von 48 kHz. Aus 
diesem Grund hätte ich erwartet, dass das Spektrum des grünen Signals 
erst bei 48 kHz beginnt. Komischerweise hat es aber bereits 
niederfrequentere Signalanteile.

Dagegen macht das Spektrum des roten Signals aus meiner Sicht mehr Sinn 
(Spektralanteile erst ab 48 kHz) obwohl dieses im Nulldurchgang 
verfälscht ist.

Ich hab die Signalverläufe und Spektren im Anhang beigefügt. Kann es 
sein, dass das seltsame Spektrum des grünen Signals an einer Einstellung 
im LTSpice liegt?

Viele Grüße

von Helmut S. (helmuts)


Lesenswert?

1. In .TRAN einen kleinen maximalen Zeitschritt setzen, z. B. 1/100 der 
Periodendauer deines schnellen Signals.

2. Diese Option als SPICE-Directive in den Schaltplan legen. Die 
schaltet die verlustbehaftete Datenkompression ab.

.options plotwinsize=0


Wenn du deine Dateien (.asc) und den PWL file anhängst, dann könnte ich 
mitsimulieren falls nötig.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.