Convertir un bloque de subcircuitos en una función de transferencia para una simulación más rápida en SPICE

2

¿Hay alguna forma de tomar una definición de circuito secundario (.subckt) y hacer que SPICE (o en mi caso LTSpice) tome la función de transferencia para ello? Luego, haga que SPICE se refiera a esta función de transferencia cada vez que se inserte un componente con esta definición .subckt en cualquier esquema, se usa la función de transferencia.

Por lo que sé, un .subckt solo se puede definir como una lista de redes, no una función de transferencia.

El problema real es que tengo algunos problemas para que mis circuitos converjan lo suficientemente rápido (la simulación puede tardar decenas de minutos en finalizar). Probablemente es porque estoy empezando a usar fuentes de corriente cada vez más constantes.

¿Algún consejo?

    

1 respuesta

1

Este es un buen paso para usar las fuentes de corriente sobre las de voltaje. Puede usar las funciones de transferencia en forma de expresiones Laplace , con el siguiente aspecto:

Laplace=(s + 1)/(s^2 + 2);

Esto, como se ve, se ingresaría como el valor de una fuente G , por ejemplo. LTspice sabrá transformar s en el exponencial complejo. También puede funcionar en una fuente de comportamiento.

PERO mientras que las expresiones Laplace funcionarán perfectamente en el dominio de frecuencia, pueden dar como resultado basura en el dominio de tiempo, algo que se menciona en el manual.

Por esta razón, a menos que esté tratando con funciones de transferencia exóticas que tengan sqrt(s) , o similar, no múltiplo de s , es mejor derivar sus funciones de transferencia utilizando el% básico RLC elementos. Por ejemplo:

Sepuedencombinarenexpresionesdefuncióndetransferenciadetamañocompleto,perodebenserfuncionesdetransferenciaadecuadas;paralosincorrectos,tendrásquehacermalabaresconlosbloquesdeconstrucciónbásicosdearriba,dealgunamanera.Paraproblemasdeestabilidad,tambiénesunabuenaideadividirlasexpresionesmáslargasenexpresionesdesegundoorden.Aquíhayunejemplo:

También puedes usar los archivos S-param , pero, IIRC, están basados en Laplace . Estos son solo ejemplos de cómo hacerlo y, recuerde, es solo para evitar el horrible rendimiento en el dominio del tiempo de las expresiones Laplace . En última instancia, la elección está en tus manos.

La función de transferencia genérica para el bloque de segundo orden es la siguiente:

$$ H (s) = \ frac {a_ {2} s ^ 2 + a_ {1} s + a_0} {s ^ 2 + b_ {1} s + b_0} $$

donde \ $ a_n \ $ y \ $ b_n \ $ son los que están en la imagen, mientras que \ $ s \ $ se expresa como \ $ \ frac {1} {2 \ pi f} \ $ (ya que, como vista en la primera imagen, G+C significa \ $ 1 / s \ $).

Como recordatorio, la función de transferencia debe ser correcta: el orden del numerador es menor o igual al del denominador.

    
respondido por el a concerned citizen

Lea otras preguntas en las etiquetas