pytc2.sintesis_dipolo
Created on Thu Mar 2 11:26:00 2023
@author: mariano
Module Contents
Functions
|
Realiza una expansión en fracciones continuas sobre una inmitancia (imm), |
|
Dibuja una red escalera no disipativa, a partir de la expansión en fracciones |
|
Permite llegar a la forma foster de una inmitancia \(I(s)\) (YRC - ZRL), |
|
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)