LTspice source de tension sinusoïdale avec décalage beaucoup plus grand que l'amplitude cassée?

14

Je dépanne un circuit analogique et je viens de réaliser que les sources de tension sinusoïdale à mV sont cassées.

En voici une qui est censée fournir une onde sinusoïdale de 1 mV à 1 Hz au-dessus d'un signal CC de 300 mV. Au lieu de cela, je reçois des ordures complètes.

Exécution de LTSpice version 4.22. Quelqu'un d'autre a vu ce problème ou peut vous conseiller sur le problème?

entrez la description de l'image ici

EasyOhm
la source
2
J'ai obtenu un résultat quelque peu similaire. La forme d'onde est plus uniforme, mais pas une onde sinusoïdale. La désactivation de la compression l'a corrigé pour moi. (selon la réponse de Lorenzo ci-dessous).
mkeith

Réponses:

20

Vous avez probablement activé la compression de forme d'onde et l'algorithme de compression a une tolérance relative trop élevée pour traiter correctement un tel signal, car la composante CA est si petite par rapport au décalage CC.

Ouvrez le panneau de configuration et réduisez la tolérance relative:

entrez la description de l'image ici

LTspice effectue généralement une compression de forme d'onde pour éviter de générer d'énormes fichiers de données pour les formes d'onde. L'algorithme de compression est avec perte, vous risquez donc de perdre des détails et d'avoir des artefacts comme ceux que vous voyez sur votre simulation.

Extrait d'aide en ligne de LTspice:

LTspice compresse les fichiers de données brutes à mesure qu'ils sont générés. Un fichier compressé peut être 50 fois plus petit que le fichier non compressé. Il s'agit d'une compression avec perte. Ce volet du panneau de configuration vous permet de contrôler la perte de compression.

Parfois, il est utile de désactiver complètement la compression, pour les formes d'onde complexes, mais attendez-vous à des fichiers .raw de taille Go (ce sont les fichiers où LTspice enregistre les données de forme d'onde). Quoi qu'il en soit, il suffit généralement de jouer avec les paramètres de compression, mais uniquement lorsque vous savez raisonnablement à quoi vous attendre d'une simulation.

MODIFIER (pour répondre à certains commentaires pertinents)

Certains commentateurs ont souligné que l'augmentation des tolérances, ou spécifiquement, le reltolparamètre SPICE augmentera le temps de simulation. C'est vrai, mais la compression relative tolerancen'a rien à voir avec le reltolparamètre SPICE, qui se trouve dans un autre onglet du panneau de configuration:

entrez la description de l'image ici

Pour renforcer mon propos, je citerai toute la section de l'aide de LTspice concernant l' compressiononglet du panneau de contrôle (c'est moi qui souligne):

LTspice compresse les fichiers de données brutes à mesure qu'ils sont générés. Un fichier compressé peut être 50 fois plus petit que le fichier non compressé. Il s'agit d'une compression avec perte. Ce volet du panneau de configuration vous permet de contrôler la perte de compression.

Taille de la fenêtre (nombre de points): nombre maximal de points pouvant être compressés en deux points d'extrémité.

Tolérance relative: erreur relative autorisée entre les données compressées et les données non compressées.

Tolérance de tension absolue [V]: l'erreur de tension autorisée par l'algorithme de compression.

Tolérance de courant absolu [A]: L'erreur actuelle autorisée est l'algorithme de compression.

Ces paramètres de compression ne sont pas mémorisés entre les appels de programme pour encourager l'utilisation des valeurs par défaut. Ils sont disponibles sur le panneau de commande à des fins de diagnostic. Les tolérances et la taille de la fenêtre peuvent être spécifiées avec les paramètres d'option plotreltol, plotvntol, plotabstol et plotwinsize dans les instructions .option placées en tant que directives SPICE sur le schéma.

Vous voudrez probablement désactiver la compression lorsque vous utilisez des instructions .four ou lorsque vous effectuez des FFT en post-analyse de vos données avec la directive SPICE:

.options plotwinsize = 0

Encore une fois, la dernière directive revient à désactiver la compression comme vous le feriez avec le panneau de configuration. Comme je l'ai déjà dit ci-dessus, c'est exactement ce que vous voulez faire pour éviter les artefacts, mais d'énormes fichiers seront générés.

Lorenzo Donati soutient Monica
la source
utilise LTSpice depuis des années, et n'a jamais été mordu par celui-là (encore), thx pour l'alerte gotcha.
Neil_UK
@Neil_UK Vous êtes les bienvenus! Je suis un de ces monstres refman qui aiment lire tout le manuel (le problème est de se rappeler où j'ai vu quelque chose!) ;-)
Lorenzo Donati soutient Monica
@LorenzoDonati Merci pour la réponse rapide! Je perdais la tête. Vous êtes un savant et un gentleman :)
EasyOhm
@ Gonzik007 Vous êtes les bienvenus! :-)
Lorenzo Donati soutient Monica
1
Avertissement: la réduction de la tolérance ralentira vos simulations. Cela ne se ressentira pas pour les schémas plus petits, mais pour les plus grands ... Tant que la plage dynamique n'est pas si grande (par exemple, 1 mV sinus au-dessus de 1 kV DC, ou similaire / inférieur), il vaut mieux utiliser opt plotwinsize=0que réduire les tolérances . En général, la plage dynamique est un problème car tout est calculé mathématiquement en utilisant la précision de la machine.
un citoyen inquiet