Cambio de valores de parámetros de un archivo de lista de valores en SPICE

En mi circuito, hay un generador de corriente. Este generador genera valores dependientes de un parámetro, lo llamamos N. Pero quiero usar el parámetro como variable. Si los valores cambian linealmente, usaré la función .step. Pero mis valores tienen una distribución gaussiana y un valor diferente de 10k. Por lo tanto, la función .step no es adecuada para mí.

Mi pregunta es, ¿podría cambiar el valor del parámetro N de un archivo .txt de salida continuamente como función .step?

Ahora, estoy usando LTSpice. Dime si conoces alguna aplicación SPICE útil. Sé que la función PWL() cambia los valores actuales del generador con un archivo. Pero hay una fórmula matemática en I2() y el parámetro N que se usa en eso.

¿Está buscando aplicar variables aleatorias que se distribuyan en una distribución gaussiana específica? Si es así, eso es relativamente fácil de generar usando el gauss ( σ ) función. No tienes que usar un archivo. Pero aún puede tratar esto como una especie de función continua. Así que no estoy seguro aquí. Si realmente necesita el orden y los valores específicos de sus propios valores distribuidos gaussianos, tampoco estoy seguro de cómo. El parámetro 'wavefile=' puede ser útil, pero lo dudo en este caso. ¿Quizás pueda usar una serie de ejecuciones de LTSpice desde la línea de comando?
gracias por participar jonk. No conozco la función de gauss que tenía LTSpice. Para lo básico, tal vez solo me ayude. Desafortunadamente, mis valores generados por otro script. Recojo la lista de valores preparada.
Buscaré un poco más para 'wavefile ='
También mire este enlace de Linear: linear.com/solutions/7852
Creo que el OP quiere que sus valores varíen durante la simulación, de forma similar a una fuente de PWL, pero con una fórmula. En este caso, solo puedo pensar en una fuente de comportamiento (actual), bio bi2. Consulte el manual para saber cómo usarlo: LTspice > Circuit Elements > B. Arbitrary behavioural ....
En realidad, cambiar los valores del generador no es lo que quería. Me centro en manipular el parámetro como una variable.
@agenel No importa cuántas veces lea, no puedo entender: ¿"los valores cambian linealmente"? "continuamente como .step"? "cambiar el parámetro N de out.txt"? "fórmula matemática en I2()"? Lo siento, pero ¿podrías pedirle a alguien que conozcas que tenga un mejor inglés que te lo traduzca? Yo, por mi parte, no puedo entender realmente qué mensaje estás tratando de transmitir, lo siento, pero tal vez solo soy yo.

Respuestas (2)

Al volver a leer esto ahora, creo que entiendo lo que OP quiere: usar una secuencia personalizada de números que se pueden usar en un .stepcomando. Si este es el caso, intentaré responder.

Normalmente, para una secuencia no lineal de números que no es logarítmica, listse utiliza la palabra clave. Desafortunadamente, no permite evaluaciones, es decir, los valores deben ser numéricos {cos(1)}o {2*5}fallarán. Entonces, la única solución sería generar los números externamente, en un archivo de texto sin formato, como una sola línea o como una línea concatenada (al frente + de cada nueva línea) y agregar:

.step param x list <sequence_of_numbers>

al principio. Este archivo se puede agregar al esquema con el comando .inc(o .include). No olvide que LTspice XVII clasifica los números en orden ascendente antes del inicio de la simulación. Puede que te guste o no, pero así es ahora. La única forma de eludir esto es usar LTspice IV.

Para probar esto, el contenido del archivo de texto se ve así:

.step param x list 7.254322142991044e-12 2.974321522582202e-10
+ 5.94864415973779e-9 7.733237831307738e-8 7.346575989515156e-7
+ 5.436466237528063e-6 3.261879742903331e-5 1.630939871486926e-4
+ 6.931494453849666e-4   0.02292014166076882 0.05730035415192529
+ 0.1278238669542985 0.2556477339086 0.4601659210354829 0.7477696216826623
+ 1.099661208356858 1.466214944475812 1.774891774891774 1.952380952380952

y el esquema da esto después de un .op:

prueba

Los números tienen una forma de campana gaussiana. La salida parece una línea recta, pero al usar View > Mark Data Pointsmuestra que la distribución no es lineal. El uso .tranmostrará diferentes niveles de CC, como se esperaba.

Tiene algunas opciones aquí, sin embargo, esto suena como un problema XY.

En primer lugar, las funciones .step son para ejecutar diferentes simulaciones.

Si desea ejecutar una simulación transitoria con sus propios valores personalizados para una fuente o carga, puede usar archivos PWL o Wave para la entrada a las fuentes en LT Spice. (o simplemente puede usar la opción PWL incorporada, que sería tedioso ingresar miles de valores).

En el primer circuito, V1 tiene una entrada de archivo de ondas que establecerá la Res neta en V1. Por el bien de los intereses, incluí configurar una resistencia al valor del archivo de onda, lo que hará que la resistencia R2 sea variable a lo que sea el archivo de onda.

V3 tiene una entrada de archivo PWL.

I1 tiene una entrada de vuelo PWL.

Recuerde que PWL puede ser complicado al establecer puntos, no puede tener dos puntos al mismo tiempo y PWL simplemente dibuja una línea entre los puntos.

Esta es la única forma de importar valores a un archivo lt Spice.

ingrese la descripción de la imagen aquí

También puede usar fuentes b (ya sea de corriente o de voltaje) con funciones matemáticas que controlan la entrada de la fuente.

Las funciones más útiles si intenta crear una fuente de ruido serían white, random y rand, que le permiten crear fuentes con propiedades gaussianas en el dominio del tiempo y simulación .trans.

ingrese la descripción de la imagen aquí