LTspice sinusförmige Spannungsquelle mit Offset viel größer als Amplitude gebrochen?

14

Ich habe eine analoge Schaltung gestört und bin gerade zu der Erkenntnis gekommen, dass die Sinusspannungsquellen bei mV defekt sind.

Hier ist eine, die eine 1-mV-1-Hz-Sinuswelle über einem 300-mV-Gleichstromsignal bereitstellen soll. Stattdessen bekomme ich kompletten Müll.

Ausführen von LTSpice Version 4.22. Hat noch jemand dieses Problem gesehen oder kann er raten, wo das Problem liegt?

Bildbeschreibung hier eingeben

EasyOhm
quelle
2
Ich habe ein ähnliches Ergebnis erzielt. Die Wellenform ist gleichmäßiger, aber keine Sinuswelle. Das Deaktivieren der Komprimierung hat das Problem für mich behoben. (gemäß der Antwort von Lorenzo unten).
mkeith

Antworten:

20

Höchstwahrscheinlich ist die Wellenformkomprimierung aktiviert, und der Komprimierungsalgorithmus weist eine zu hohe relative Toleranz auf, um ein solches Signal korrekt zu verarbeiten, da die Wechselstromkomponente im Vergleich zum Gleichstromoffset so klein ist.

Öffnen Sie die Systemsteuerung und verringern Sie die relative Toleranz:

Bildbeschreibung hier eingeben

LTspice führt normalerweise eine Wellenformkomprimierung durch, um zu vermeiden, dass große Datendateien für Wellenformen erstellt werden. Der Komprimierungsalgorithmus ist verlustbehaftet, sodass Sie möglicherweise Details verlieren und Artefakte haben, wie Sie sie in Ihrer Simulation sehen.

LTspice Online-Hilfeauszug:

LTspice komprimiert die Rohdatendateien beim Generieren. Eine komprimierte Datei kann 50-mal kleiner sein als die nicht komprimierte. Dies ist eine verlustbehaftete Komprimierung. In diesem Bereich der Systemsteuerung können Sie steuern, wie verlustbehaftet die Komprimierung ausgeführt wird.

Manchmal ist es hilfreich, die Komprimierung für komplexe Wellenformen vollständig zu deaktivieren, aber mit .raw-Dateien in GB-Größe zu rechnen (dies sind die Dateien, in denen LTspice Wellenformdaten speichert). Trotzdem ist es normalerweise ausreichend, mit den Komprimierungseinstellungen herumzuspielen, aber nur, wenn Sie vernünftigerweise wissen, was Sie von einer Simulation erwarten können.

BEARBEITEN (um einige relevante Kommentare zu adressieren)

Einige Kommentatoren haben darauf hingewiesen, dass eine Erhöhung der Toleranzen oder speziell des reltolSPICE-Parameters die Simulationszeit verlängert. Dies ist wahr, aber die Komprimierung relative tolerancehat nichts mit dem reltolSPICE-Parameter zu tun , der sich auf einer anderen Registerkarte der Systemsteuerung befindet:

Bildbeschreibung hier eingeben

Um meinen Standpunkt weiter zu verdeutlichen, werde ich den gesamten Abschnitt der LTspice-Hilfe in Bezug auf die compressionRegisterkarte des Steuerungsfelds zitieren (Hervorhebung meiner):

LTspice komprimiert die Rohdatendateien beim Generieren. Eine komprimierte Datei kann 50-mal kleiner sein als die nicht komprimierte. Dies ist eine verlustbehaftete Komprimierung. In diesem Bereich der Systemsteuerung können Sie steuern, wie verlustbehaftet die Komprimierung ausgeführt wird.

Fenstergröße (Anzahl der Punkte): Maximale Anzahl der Punkte, die zu zwei Endpunkten komprimiert werden können.

Relative Toleranz: Der relative Fehler, der zwischen den komprimierten und den nicht komprimierten Daten zulässig ist.

Absolute Spannungstoleranz [V]: Der vom Kompressionsalgorithmus zugelassene Spannungsfehler.

Absolute Stromtoleranz [A]: Der zulässige Stromfehler ist der Kompressionsalgorithmus.

Diese Komprimierungseinstellungen werden zwischen Programmaufrufen nicht gespeichert, um die Verwendung der Standardeinstellungen zu fördern. Sie stehen für Diagnosezwecke auf dem Bedienfeld zur Verfügung. Die Toleranzen und die Fenstergröße können mit den Optionsparametern plotreltol, plotvntol, plotabstol und plotwinsize in .option-Anweisungen angegeben werden, die als SPICE-Anweisungen auf dem Schaltplan platziert sind.

Möglicherweise möchten Sie die Komprimierung deaktivieren, wenn Sie .four-Anweisungen verwenden oder FFTs für die Nachanalyse Ihrer Daten mit der SPICE-Direktive ausführen :

.options plotwinsize = 0

Die letzte Anweisung deaktiviert die Komprimierung genau so, wie Sie es über das Bedienfeld tun würden. Wie oben bereits erwähnt, ist dies genau das, was Sie tun möchten, um Artefakte zu vermeiden. Es werden jedoch große Dateien generiert.

Lorenzo Donati unterstützt Monica
quelle
Ich benutze LTSpice seit Jahren und wurde (noch) nicht von diesem gebissen, danke für den Gotcha-Alarm.
Neil_UK
@Neil_UK Gern geschehen! Ich bin einer dieser Refman-Freaks, die gerne das gesamte Handbuch lesen (das Problem ist, dass sie sich daran erinnern, wo ich etwas gesehen habe!) ;-)
Lorenzo Donati unterstützt Monica
@LorenzoDonati Danke für die schnelle Antwort! Ich verlor meinen Verstand. Sie sind ein Gelehrter und ein Gentleman :)
EasyOhm
@ Gonzik007 Gern geschehen! :-)
Lorenzo Donati unterstützt Monica
1
Warnung: Wenn Sie die Toleranz verringern, werden Ihre Simulationen langsamer. Es ist nicht für kleinere Schaltpläne geeignet, sondern für größere ... Solange der Dynamikbereich nicht so groß ist (z. B. 1 mV Sinus über 1 kV Gleichstrom oder ähnlich / niedriger), ist es besser opt plotwinsize=0, Toleranzen zu reduzieren . Im Allgemeinen ist der dynamische Bereich ein Problem, da alles mathematisch mit Maschinengenauigkeit berechnet wird.
ein besorgter Bürger