Insertar una fuente de voltaje no utilizada en LTspice desordena los resultados transitorios

3

Esto me tomó tres días para averiguarlo. Considere este simple circuito en LTspice:

Parecebastanteinocente.Lasalidaesunaondasinusoidalde1V,comoseesperaba.PasandoaVista->FFT,configurandoelnúmerodepuntosdedatosa5000,Horadeinicio50u,Horadefinalización100us.Sinfiltros.Estaeslasalida:

Unasalidacomoestanotienemuchosentidoparaunasalidadeondasinusoidaly/ounsistemadébilmentenolinealenelqueelarmónicodebecaersuavemente.

AhoraeliminaV6yvuelveaejecutar.Voila,elespectrotienemássentido.

LTspicenopermite"comentar" ciertos bloques y ni siquiera recuerda los parámetros. Entonces, si cambio entre la entrada de pecado y de pulso, siempre tengo que recrear y memorizar todo el conjunto de parámetros. Por lo tanto, tiene sentido colocar todas las fuentes en el esquema y simplemente conectar la fuente con la que estoy trabajando en este momento.

Tengo la sospecha de que tiene que ver con los intervalos de tiempo discretos que se aplican simplemente colocando una fuente de pulsos.

Mi pregunta es:

  • ¿Qué hice mal?
  • ¿Cómo se puede evitar esto? En otras palabras, ¿cómo puedo confiar en la salida de un análisis transitorio?
  • Lamentablemente, el LTspice parece tan espartano: ¿hay alguna opción para pasar un paso de muestra fijo? ¿Alguna opción para remuestrear la salida transitoria de modo que sea adecuada para una DFT?
pregunta divB

2 respuestas

2

No hay nada de malo en lo que hiciste, pero se puede mejorar. Según los comentarios y la respuesta de @HKOB, la fuente adicional tiene un 1ps de aumento / caída en comparación con su ciclo de trabajo de 0.5us . Mientras que las fuentes PULSE tienen un valor fijo internamente por paso de tiempo, es decir, a lo largo de la simulación, en cualquier momento, LTspice sabe qué valores están en qué momento: el solucionador aún necesita reducir su paso de tiempo para adaptarse a los objetivos más precisos. tiempos de subida / bajada. Esto es, en este caso, principalmente debido a la naturaleza muy suave de las señales (entrada sinusoidal, salida sinusoidal). Esto, junto con su paso de tiempo impuesto de 10ns durante un período de 1us , hace que LTspice genere ruido adicional, a pesar de .opt plotwinsize=0 , pero también note que los valores del ruido inducido son muy pequeños, comparables a los de falta la fuente.

Por cierto, puede agregar un 0 al comienzo del pulso, seguido de un comentario: 0;pulse ... , esto hará que la fuente tenga un valor cero. O bien, puede prepararlo para que esté listo para un .step como este: pulse {-a*0.8} {a*0.8} 0 {1p*a} {1p*a} {0.5u*a} {1u*a} , donde a puede ser .step param a list 1 0 , por ejemplo. Aquí está el resultado con estas configuraciones:

Observequeelruido(hasta100MHz)esenrealidadmenorquelosarmónicosdebidoalpasodetiemporelativamentegrande,loquesignificaqueesseguroignorarlosomejorarlasimulación:simplementehagaelpasodetiempo1ns(1000xmenosqueelperíodo)yvolveraejecutar.

Puede ir más bajo, pero la cantidad de tiempo que esté simulando se volverá muy lenta por un pequeño beneficio adicional, lo que significa que puede reducir el tiempo total de simulación a 8-10 períodos o similar (a menos que realmente quiera capturar las frecuencias muy bajas, también) y el resultado será más rápido y con la misma relevancia.

Desafortunadamente (y, al menos, que yo sepa), no hay un simulador SPICE que tenga un verdadero paso de tiempo fijo y que se deba a la naturaleza del solucionador. El paso de tiempo que imponga solo tiene el efecto de restringir el solucionador al máximo de esos pasos de tiempo, pero disminuirá si es necesario.

    
respondido por el a concerned citizen
0

Con la fuente adicional, está agregando puntos de tiempo forzados adicionales debido al tiempo de subida y caída de 1 ps. Los puntos de tiempo adicionales introducen discrepancias numéricas leves en las soluciones. Dos cosas a considerar: (1) Si los errores numéricos se deben a la convergencia, entonces reltol suele ser la opción para reducir. Por ejemplo, ".option reltol = 1e-6". También reducir dTmax en la declaración .tran también debería producir resultados más precisos. El consejo típico es reducir estos dos un poco y luego aflojarlos hasta que esté satisfecho de que su solución sea lo suficientemente precisa. No puedo probar ahora, pero creo que (2) si los puntos de tiempo están interfiriendo con el muestreo FFT, en LTspice puede establecer Tstep (paso de impresión) a un valor fijo, por ejemplo: ".tran 10e-9 100u 0 10e- 9 ".

    
respondido por el HKOB

Lea otras preguntas en las etiquetas