Sorgente di tensione sinusoidale di LTspice con offset molto maggiore dell'ampiezza rotta?


14

Ho risolto i problemi di un circuito analogico e ho appena capito che le sorgenti di tensione sinusoidale a mV sono rotte.

Eccone uno che dovrebbe fornire un'onda sinusoidale 1mV 1Hz sopra un segnale DC 300mV. Invece ricevo spazzatura completa.

Esecuzione di LTSpice versione 4.22. Qualcun altro ha visto questo problema o può consigliare qual è il problema?

inserisci qui la descrizione dell'immagine


2
Ho ottenuto un risultato un po 'simile. La forma d'onda è più uniforme, ma non un'onda sinusoidale. La disabilitazione della compressione l'ha risolto per me. (secondo la risposta di Lorenzo di seguito).
mkeith,

Risposte:


20

Molto probabilmente hai abilitato la compressione della forma d'onda e l'algoritmo di compressione ha una tolleranza relativa troppo elevata per elaborare correttamente tale segnale, poiché il componente CA è così piccolo rispetto all'offset CC.

Aprire il pannello di controllo e ridurre la tolleranza relativa:

inserisci qui la descrizione dell'immagine

LTspice di solito esegue la compressione delle forme d'onda per evitare di generare enormi file di dati per le forme d'onda. L'algoritmo di compressione è in perdita, quindi potresti perdere dettagli e avere artefatti come quelli che vedi nella tua simulazione.

Estratto della guida in linea di LTspice:

LTspice comprime i file di dati non elaborati mentre vengono generati. Un file compresso può essere 50 volte più piccolo di quello non compresso. Questa è una compressione con perdita di dati. Questo riquadro del pannello di controllo consente di controllare la perdita della compressione.

A volte è utile disabilitare completamente la compressione, per forme d'onda complesse, ma aspettarsi file .raw di dimensioni GB (questi sono i file in cui LTspice salva i dati della forma d'onda). Tuttavia, di solito è sufficiente giocare con le impostazioni di compressione, ma solo quando si sa ragionevolmente cosa aspettarsi da una simulazione.

EDIT (per rispondere ad alcuni commenti rilevanti)

Alcuni commentatori hanno sottolineato che aumentando le tolleranze, o in particolare, il reltolparametro SPICE aumenterà il tempo di simulazione. Questo è vero, ma la compressione relative tolerancenon ha nulla a che fare con il reltolparametro SPICE, che si trova in un'altra scheda del pannello di controllo:

inserisci qui la descrizione dell'immagine

Per rafforzare ulteriormente il mio punto, citerò l'intera sezione dell'aiuto di LTspice riguardante la compressionscheda del pannello di controllo (sottolineatura mia):

LTspice comprime i file di dati non elaborati mentre vengono generati. Un file compresso può essere 50 volte più piccolo di quello non compresso. Questa è una compressione con perdita di dati. Questo riquadro del pannello di controllo consente di controllare la perdita della compressione.

Dimensioni finestra (numero di punti): numero massimo di punti che possono essere compressi in due punti finali.

Tolleranza relativa: l'errore relativo consentito tra i dati compressi e i dati non compressi.

Tolleranza di tensione assoluta [V]: errore di tensione consentito dall'algoritmo di compressione.

Tolleranza corrente assoluta [A]: l'errore corrente consentito è l'algoritmo di compressione.

Queste impostazioni di compressione non vengono ricordate tra le chiamate del programma per incoraggiare l'uso delle impostazioni predefinite. Sono disponibili sul pannello di controllo a fini diagnostici. Le tolleranze e le dimensioni della finestra possono essere specificate con i parametri di opzione plotreltol, plotvntol, plotabstol e plotwinsize in istruzioni .option posizionate come direttive SPICE sullo schema.

Probabilmente vorrai disattivare la compressione quando usi dichiarazioni .four o esegui FFT in post analisi dei tuoi dati con la direttiva SPICE:

.options plotwinsize = 0

Ancora una volta, l'ultima direttiva equivale a disabilitare la compressione come faresti usando il pannello di controllo. Come ho già detto sopra, questo è proprio quello che vuoi fare per evitare artefatti, ma verranno generati file enormi.


uso LTSpice da anni e non sono mai stato morso da quello (ancora), grazie per l'avviso gotcha.
Neil_UK,

@Neil_UK Prego! Sono uno di quei mostri refman che amano leggere l'intero manuale (il problema è ricordare dove ho visto qualcosa!) ;-)
Lorenzo Donati supporta Monica il

@LorenzoDonati Grazie per la rapida risposta! Stavo perdendo la testa. Sei uno studioso e un gentiluomo :)
EasyOhm,

@ Gonzik007 Prego! :-)
Lorenzo Donati supporta Monica il

1
Avvertenza: ridurre la tolleranza rallenterà le simulazioni. Non si sentirà per schemi più piccoli, ma per schemi più grandi ... Fintanto che la gamma dinamica non è eccezionale (ad es. Seno 1mV sopra 1kV CC o simile / inferiore), è meglio usare opt plotwinsize=0che ridurre le tolleranze . In generale, la gamma dinamica è un problema poiché tutto viene calcolato matematicamente usando la precisione della macchina.
un cittadino interessato il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.