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?
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:
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 reltol
SPICE-Parameter die Simulationszeit verlängern. Das stimmt, aber die Komprimierung relative tolerance
hat nichts mit dem reltol
SPICE-Parameter zu tun, der sich auf einer anderen Registerkarte des Bedienfelds befindet:
Um meinen Standpunkt weiter zu untermauern, werde ich den gesamten Abschnitt der Hilfe von LTspice bezüglich der compression
Registerkarte 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.
opt plotwinsize=0
Toleranzen als Reduzieren . Im Allgemeinen ist der Dynamikbereich ein Problem, da alles mathematisch mit Maschinenpräzision berechnet wird.reltol
SPICE-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.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.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
mkeith