pytc2.sintesis_dipolo

Created on Thu Mar 2 11:26:00 2023

@author: mariano

Module Contents

Functions

cauer_RC(imm[, remover_en_inf])

Realiza una expansión en fracciones continuas sobre una inmitancia (imm),

cauer_LC(imm[, remover_en_inf])

Dibuja una red escalera no disipativa, a partir de la expansión en fracciones

foster_zRC2yRC([k0, koo, ki_wi, kk, ZRC_foster])

Permite llegar a la forma foster de una inmitancia \(I(s)\) (YRC - ZRL),

foster(imm)

Expande una función inmitancia \(I(s)\) en fracciones simples, de acuerdo al método

pytc2.sintesis_dipolo.cauer_RC(imm, remover_en_inf=True)[source]

Realiza una expansión en fracciones continuas sobre una inmitancia (imm), removiendo en DC o \(\infty\) dependiendo de (remover_en_inf). Este procedimiento se conoce como métodos de Cauer I y II. En el ejemplo de \(Z_{RC}\) se remueve en DC y para el caso de \(Y_{RC}\) en \(\infty\).

\[Z_{RC}(s)= \frac{1}{s.C_1} + \frac{1}{ \frac{1}{R_1} + \frac{1}{ \frac{1}{s.C_2} + \cdots } } = R_1 + \frac{1}{ s.C_1 + \frac{1}{ R_2 + \cdots } }\]
\[Y_{RC}(s)= s.C_1 + \frac{1}{ R_1 + \frac{1}{ s.C_2 + \cdots } } = \frac{1}{R_1} + \frac{1}{ s.C_1 + \frac{1}{ \frac{1}{R_2} + \cdots } }\]
Parameters:
  • imm (symbolic rational function) – La inmitancia a expandir en fracciones continuas..

  • remover_en_inf (boolean) – Determina en qué extremo se realiza la remoción.

Return type:

A list k0 with the i-th k0_i resulted from continued fraction expansion.

Raises:

ValueError – Si y_exc y z_exc no son una instancia de sympy.Expr.

See also

cauer_LC(), dibujar_cauer_RC_RL(), dibujar_cauer_LC()

Example

>>> import sympy as sp
>>> from pytc2.sintesis_dipolo import cauer_RC
>>> from pytc2.dibujar import dibujar_cauer_RC_RL
>>> s = sp.symbols('s ', complex=True)
>>> # Sea la siguiente función de excitación
>>> ZRC = (s**2 + 4*s + 3)/(s**2 + 2*s)
>>> # Implementaremos FF mediante Cauer 1 o remociones continuas en infinito
>>> koo, ZRC_cauer_oo, rem = cauer_RC(ZRC, remover_en_inf=True)
>>> # Tratamos a nuestra función inmitancia como una Z
>>> dibujar_cauer_RC_RL(koo, z_exc = ZRC_cauer_oo)
>>> # Tratamos a nuestra función inmitancia como una Y
>>> dibujar_cauer_RC_RL(koo, y_exc = ZRC_cauer_oo)
pytc2.sintesis_dipolo.cauer_LC(imm, remover_en_inf=True)[source]

Dibuja una red escalera no disipativa, a partir de la expansión en fracciones continuas (Método de Cauer). Se remueve en DC o \(\infty\) dependiendo de remover_en_inf. En los siguientes ejemplos se expande tanto \(Z(s)\) como \(Y(s)\), y se remueve a la izquierda en DC y a la derecha en \(\infty\). La forma matemática será:

\[Z(s)= \frac{1}{s.C_1} + \frac{1}{ \frac{1}{s.L_1} + \frac{1}{ \frac{1}{s.C_2} + \cdots } } = s.L_1 + \frac{1}{ s.C_1 + \frac{1}{ s.L_2 + \cdots } }\]
\[Y(s)= \frac{1}{s.L_1} + \frac{1}{ \frac{1}{s.C_1} + \frac{1}{ \frac{1}{s.L_2} + \cdots } } = s.C_1 + \frac{1}{ s.L_1 + \frac{1}{ s.C_2 + \cdots } }\]
Parameters:
  • imm (symbolic rational function) – La inmitancia a expandir en fracciones continuas..

  • remover_en_inf (boolean) – Determina en qué extremo se realiza la remoción.

Returns:

  • ko (lista de expresiones simbólicas) – Conjunto de términos con los residuos de forma \(\frac{k_0}{s}\) y \(s.k_{\infty}\)

  • imm_as_cauer (symbolic rational function) – La función inmitancia expandida en fracciones contínuas.

  • rem (symbolic rational function) – 0 en caso que la expansión sea exitosa, ó una función remanente que no puede ser expresada en formato Cauer.

Raises:

ValueError – Si y_exc y z_exc no son una instancia de sympy.Expr.

See also

cauer_LC(), foster_zRC2yRC(), dibujar_cauer_LC()

Examples

>>> import sympy as sp
>>> from pytc2.sintesis_dipolo import cauer_LC
>>> from pytc2.dibujar import dibujar_cauer_LC
>>> s = sp.symbols('s ', complex=True)
>>> # Sea la siguiente función de excitación
>>> FF = (2*s**4 + 20*s**2 + 18)/(s**3 + 4*s)
>>> # Implementaremos FF mediante Cauer 1 o remociones continuas en infinito
>>> koo, F_cauer_oo, rem = cauer_LC(FF, remover_en_inf=True)
>>> # Tratamos a nuestra función inmitancia como una Z
>>> dibujar_cauer_LC(koo, z_exc = F_cauer_oo)
>>> # Tratamos a nuestra función inmitancia como una Y
>>> dibujar_cauer_LC(koo, y_exc = F_cauer_oo)
pytc2.sintesis_dipolo.foster_zRC2yRC(k0=sp.Rational(0), koo=sp.Rational(0), ki_wi=sp.Rational(0), kk=sp.Rational(0), ZRC_foster=sp.Rational(0))[source]

Permite llegar a la forma foster de una inmitancia \(I(s)\) (YRC - ZRL), a partir de la propia función foster() de expansión en fracciones simples, y una conversión término-a-término de cada residuo obtenido.

De esa manera se comienza con la expansión foster( I(s)/s ), para luego realizarel siguiente mapeo de residuos:

  • \(k_\infty = kk\)

  • \(k_k = k_0\)

  • \(k_i = ki_wi\)

  • \(I_F(s) = I(s)*s\)

Parameters:
  • k0 (simbólica, opcional) – Residuo de la función en DC o \(s \to 0\). El valor predeterminado es 0.

  • koo (simbólica, opcional) – Residuo de la función en infinito o \(s \to \infty\). El valor predeterminado es 0.

  • ki_wi (simbólica, list o tuple opcional) – Residuo de la función en \(\omega_i\) o \(s^2 \to -\omega^2_i\). El valor predeterminado es 0.

  • kk (simbólica, opcional) – Residuo de la función en \(\sigma_i\) o \(\omega \to -\omega_i\). El valor predeterminado es 0.

  • ZRC_foster (simbólica) – Función inmitancia \(I(s)\) a expresar como \(I_F(s)\)

Returns:

  • k0 (simbólica, opcional) – No está permitido para esta forma el residuo en 0.

  • koo (simbólica, opcional) – Residuo de la función en infinito o \(s \to \infty\).

  • ki (simbólica, list o tuple opcional) – Residuo de la función en \(\omega_i\) o \(s \to -\sigma_i\).

  • kk (simbólica, opcional) – Residuo de la función en \(\sigma = 0\).

  • YRC_foster (simbólica) – Función YRC expresada como \(I_F(s) = I(s)*s\)

Raises:

ValueError – Si cualquiera de los argumentos no son una instancia de sympy.Expr.

See also

foster(), foster_zRC2yRC(), dibujar_foster_serie()

Examples

>>> import sympy as sp
>>> from pytc2.sintesis_dipolo import foster, foster_zRC2yRC
>>> from pytc2.dibujar import dibujar_foster_derivacion
>>> s = sp.symbols('s ', complex=True)
>>> # Sea la siguiente función de excitación
>>> YRC = 2*(s**2 + 4*s + 3)/(s**2 + 8*s + 12)
>>> k0, koo, ki_wi, kk, YRC_foster = foster(YRC/s)
>>> k0, koo, ki_wi, kk, YRC_foster = foster_zRC2yRC(k0, koo, ki_wi, kk, YRC_foster)
>>> dibujar_foster_derivacion(k0 = k0, koo = koo, ki = ki_wi, y_exc = YRC_foster)
pytc2.sintesis_dipolo.foster(imm)[source]

Expande una función inmitancia \(I(s)\) en fracciones simples, de acuerdo al método de Foster. La forma matemática es:

\[I(s)= \frac{k_0}{s} + k_\infty.s + \sum_{i=1}^N\frac{2.k_i.s}{s^2+\omega_i^2}\]

Dependiendo la naturaleza de \(I(s)\) como impedancia o admitancia, resultará en los métodos de Foster serie, o paralelo. También existen 3 variantes 1) en caso que se trate de redes no disipativas (LC), y redes disipativas compuestos solo por dos elementos circuitales: RC - RL. 2) Las expresiones matemáticas para \(Z_{RC}\) son las mismas que \(Y_{RL}\), mientras que 3) las de \(Z_{RL}\) iguales a las de \(Y_{RC}\).

Parameters:
  • k0 (simbólica, opcional) – Residuo de la función en DC o \(s \to 0\). El valor predeterminado es 0.

  • koo (simbólica, opcional) – Residuo de la función en infinito o \(s \to \infty\). El valor predeterminado es 0.

  • ki (simbólica, list o tuple opcional) – Residuo de la función en \(\omega_i\) o \(s^2 \to -\omega^2_i\). El valor predeterminado es 0.

  • kk (simbólica, opcional) – Residuo de la función en \(\sigma_i\) o \(\omega \to -\omega_i\). El valor predeterminado es 0.

Returns:

  • k0 (simbólica, opcional) – El residuo en 0, expresado matemáticamente como \(\frac{k_0}{s}\).

  • koo (simbólica, opcional) – Residuo de la función en infinito o \(s \to \infty\), que se corresponde al término \(k_\infty*s\).

  • ki (simbólica, list o tuple opcional) – Residuo de la función en \(s^2 \to -\omega_i^2\), matemáticamente \(\frac{2.k_i.s}{s^2+\omega_i^2}\).

  • kk (simbólica, opcional) – Residuo de la función en \(\sigma = 0\), para funciones disipativas.

  • foster_form (simbólica) – Función YRC expresada como \(I_F(s) = I(s)*s\)

Raises:

ValueError – Si cualquiera de los argumentos no son una instancia de sympy.Expr.

See also

foster(), foster_zRC2yRC(), dibujar_foster_paralelo()

Examples

>>> import sympy as sp
>>> from pytc2.sintesis_dipolo import foster
>>> from pytc2.dibujar import dibujar_foster_serie
>>> s = sp.symbols('s ', complex=True)
>>> # Sea la siguiente función de excitación
>>> FF = (2*s**4 + 20*s**2 + 18)/(s**3 + 4*s)
>>> # Se expande FF a la Foster
>>> k0, koo, ki_wi, _, FF_foster = foster(FF)
>>> # Tratamos a nuestra función imitancia como una Z
>>> dibujar_foster_serie(k0 = k0, koo = koo, ki = ki_wi, z_exc = FF)