LTspice Sinusspannungsquelle mit Offset viel größer als Amplitude defekt?

Ich habe Fehler in einer analogen Schaltung behoben und bin gerade zu der Erkenntnis gekommen, dass Sinusspannungsquellen bei mV defekt sind.

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

Laufende LTSpice-Version 4.22. Hat noch jemand dieses Problem gesehen oder kann sagen, was das Problem ist?

Geben Sie hier die Bildbeschreibung ein

Ich kam zu einem etwas ähnlichen Ergebnis. Die Wellenform ist gleichmäßiger, aber keine Sinuswelle. Das Deaktivieren der Komprimierung hat es für mich behoben. (gemäß Lorenzos Antwort unten).

Antworten (2)

Höchstwahrscheinlich haben Sie die Wellenformkomprimierung aktiviert und der Komprimierungsalgorithmus hat eine zu hohe relative Toleranz, um ein solches Signal korrekt zu verarbeiten, da die AC-Komponente im Vergleich zum DC-Offset so klein ist.

Öffnen Sie das Bedienfeld und verringern Sie die relative Toleranz:

Geben Sie hier die Bildbeschreibung ein

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

Auszug aus der LTspice-Online-Hilfe:

LTspice komprimiert die Rohdatendateien, während sie generiert werden. Eine komprimierte Datei kann 50-mal kleiner sein als die unkomprimierte. Dies ist eine verlustbehaftete Komprimierung. In diesem Bereich des Bedienfelds können Sie steuern, wie verlustbehaftet die Komprimierung ausgeführt wird.

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

Einige Kommentatoren haben darauf hingewiesen, dass zunehmende Toleranzen oder insbesondere reltolSPICE-Parameter die Simulationszeit verlängern. Das stimmt, aber die Komprimierung relative tolerancehat nichts mit dem reltolSPICE-Parameter zu tun, der sich auf einer anderen Registerkarte des Bedienfelds befindet:

Geben Sie hier die Bildbeschreibung ein

Um meinen Standpunkt weiter zu untermauern, werde ich den gesamten Abschnitt der Hilfe von LTspice bezüglich der compressionRegisterkarte des Bedienfelds zitieren (Hervorhebung von mir):

LTspice komprimiert die Rohdatendateien, während sie generiert werden. Eine komprimierte Datei kann 50-mal kleiner sein als die unkomprimierte. Dies ist eine verlustbehaftete Komprimierung. In diesem Bereich des Bedienfelds können Sie steuern, wie verlustbehaftet die Komprimierung ausgeführt wird.

Window Size(No. of Points): Maximale Anzahl von Punkten, die in zwei Endpunkte komprimiert werden können.

Relative Toleranz: Der zulässige relative Fehler zwischen den komprimierten Daten und den unkomprimierten Daten.

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

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

Diese Komprimierungseinstellungen werden zwischen Programmaufrufen nicht gespeichert, um die Verwendung der Standardwerte 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-Direktiven auf dem Schaltplan platziert werden.

Sie werden wahrscheinlich die Komprimierung deaktivieren wollen, wenn Sie .four-Anweisungen verwenden oder FFTs in der Post-Analyse Ihrer Daten mit der SPICE-Direktive durchführen:

.options plotwinsize=0

Auch hier läuft die letzte Anweisung nur darauf hinaus, die Komprimierung zu deaktivieren, wie Sie es mit der Systemsteuerung tun würden. Wie ich bereits oben gesagt habe, ist dies genau das, was Sie tun möchten, um Artefakte zu vermeiden, aber es werden riesige Dateien generiert.

Ich benutze LTSpice seit Jahren und wurde (noch) nie von diesem gebissen, danke für die Gotcha-Warnung.
@Neil_UK Gern geschehen! Ich bin einer dieser Refman-Freaks, die gerne die ganze Anleitung lesen (das Problem ist, mich zu erinnern, wo ich etwas gesehen habe!) ;-)
@LorenzoDonati Danke für die schnelle Antwort! Ich verlor meinen Verstand. Du bist ein Gelehrter und ein Gentleman :)
@Gonzik007 Herzlich willkommen! :-)
Ein Wort der Warnung: Wenn Sie die Toleranz verringern, werden Ihre Simulationen langsamer. Es wird nicht für kleinere Schaltpläne zu spüren sein, aber für größere ... Solange der Dynamikbereich nicht so groß ist (z. B. 1 mV Sinus über 1 kV DC oder ähnlich / niedriger), verwenden Sie besser opt plotwinsize=0Toleranzen als Reduzieren . Im Allgemeinen ist der Dynamikbereich ein Problem, da alles mathematisch mit Maschinenpräzision berechnet wird.
plotwinsize ist die eigentliche Lösung für dieses Problem. reltol hat nichts mit Komprimierung zu tun, sondern beeinflusst den Algorithmus, der die dynamischen Zeitschritte auswählt. Wenn Sie aus irgendeinem Grund plotwinsize 0 vermeiden möchten, wäre eine Problemumgehung die Verwendung eines minimalen Zeitschritts von 10 us oder ähnlich.
@PlasmaHH Entschuldigung, aber ich denke, Sie verwechseln den reltolSPICE-Engine-Parameter mit der relativen Toleranz des Komprimierungsalgorithmus. Sie sind zwei verschiedene Dinge. Sie können unabhängig voneinander in zwei verschiedenen Registerkarten des Bedienfelds eingestellt werden. Worauf Sie sich beziehen ( reltol) befindet sich auf der Registerkarte SPICE.
@PlasmaHH Zitieren der Online-Hilfe: "Relative Toleranz: Der zulässige relative Fehler zwischen den komprimierten Daten und den unkomprimierten Daten."
@PlasmaHH Was plotwinsize=0, es ist nur gleichbedeutend mit dem Ausschalten der Komprimierung, was Sie tun sollten, um Artefakte zu vermeiden (wie ich bereits in meiner Antwort geschrieben habe), aber Sie benötigen jede Menge Speicherplatz.
@aconcernedcitizen, bitte sehen Sie sich meine Änderungen an.
@LorenzoDonati Du hast Recht, es ist ein Fall von falscher Identität. Trotzdem bleibt die Warnung vor einem zu großen Unterschied im Dynamikbereich, aber für das OP scheint es nicht der Fall zu sein.

Ich hatte dieses Problem mit meiner allerersten, supereinfachen Schaltung ... Dieses Problem ist besonders hart für Anfänger. Es sieht für mich wie ein Fehler aus, Gewürz scheint im Simulator Kurven zu nehmen.

Eine Lösung besteht darin, Ihrem Schema ein weiteres Netzteil mit 1 kHz (oder höher, je nach Bedarf) 1 Volt hinzuzufügen. Es scheint, dass es den Simulator irgendwie dazu bringt, richtig zu funktionieren

Die bereits akzeptierte Antwort hat das, was Sie brauchen, um dieses "Problem" zu lösen, es scheint, dass Sie es sich nicht einmal angesehen haben. TLDR? Willkommen auf der Seite.