5 votos

Función de transferencia de un filtro RLC

Quiero calcular la función de transferencia del siguiente filtro paso bajo

schematic

simular este circuito - Esquema creado con CircuitLab

Circuito ACTUALIZADO
enter image description here

Está formado por un inductor, la resistencia interna del inductor, un condensador y una resistencia de carga.
Entonces utilizando un divisor de tensión podemos decir

\begin{align} v_{o}&=v_{oi}\frac{R}{Ls+R_{L}+\frac{R(\frac{1}{Cs})}{R+\frac{1}{Cs}}}\\ \frac{v_{o}}{v_{oi}}&=\frac{R}{Ls+R_{L}+\frac{1}{\frac{1}{R}+\frac{1}{\frac{1}{Cs}}}}\\ &=\frac{R}{Ls+R_{L}+\frac{1}{\frac{1}{R}+Cs}}\\ &=\frac{R}{Ls+R_{L}+\frac{1}{\frac{1+RCs}{R}}}\\ &=\frac{R}{Ls+R_{L}+\frac{R}{1+RCs}}\\ &=\frac{R}{Ls+R_{L}+\frac{R}{1+RCs}}\frac{1+RCs}{1+RCs}\\ &=\frac{R+R^{2}Cs}{(Ls+RLCs^{2})+(R_{L}+RR_{L}Cs)+R}\\ &=\frac{R+R^{2}Cs}{(Ls+RLCs^{2})+(R_{L}+RR_{L}Cs)+R} \end{align}

Pero creo que esto debería ser un poco diferente: parece un sistema de 2º orden pero parece demasiado hinchado, ¿es esta la función de transferencia? Estoy intentando acoplar esto a la salida de un inversor CC-CA.

ACTUALIZACIÓN
Como señaló ErikR, el numerador estaba mal, por lo que la derivación es:

\$\frac{v_{o}}{v_{oi}}=\frac{\frac{1}{\frac{1}{R}+\frac{1}{\frac{1}{Cs}}}}{Ls+R_{L}+\frac{1}{\frac{1}{R}+\frac{1}{\frac{1}{Cs}}}}\$

\$\frac{v_{o}}{v_{oi}}=\frac{\frac{1}{\frac{1}{R}+Cs}}{Ls+R_{L}+\frac{1}{\frac{1}{R}+Cs}}\$

\$\frac{v_{o}}{v_{oi}}=\frac{\frac{1}{\frac{1+RCs}{R}}}{Ls+R_{L}+\frac{1}{\frac{1+RCs}{R}}}\$

\$\frac{v_{o}}{v_{oi}}=\frac{\frac{R}{1+RCs}}{Ls+R_{L}+\frac{R}{1+RCs}}\$

\$\frac{v_{o}}{v_{oi}}=\frac{\frac{R}{1+RCs}}{Ls+R_{L}+\frac{R}{1+RCs}}\frac{1+RCs}{1+RCs}\$

\$\frac{v_{o}}{v_{oi}}=\frac{R}{(Ls+RLCs^{2})+(R_{L}+RR_{L}Cs)+R}\$

\$\frac{v_{o}}{v_{oi}}=\frac{1}{(\frac{Ls}{R}+LCs^{2})+(\frac{R_{L}}{R}+R_{L}Cs)+1}\$

\$\frac{v_{o}}{v_{oi}}=\frac{1}{LCs^{2}+(\frac{L}{R}+R_{L}C)s+(\frac{R_{L}}{R}+1)}\$

7voto

Julia Puntos 6

Tu numerador en esto:

$$ v_{o}=v_{oi}\frac{R}{Ls+R_{L}+\frac{R(\frac{1}{Cs})}{R+\frac{1}{Cs}}} $$

Debería ser \$Z_R || Z_C\$ . Es decir,

$$ v_{o}=v_{oi}\frac{R || Z_C}{Z_L+R_{L}+(R||Z_C)} $$

7voto

AitorTheRed Puntos 241

Este es el tipo de preguntas que deberían plantearse aquí más a menudo. Veo que ErikR ha identificado correctamente el fallo en tu redacción y que has seleccionado la respuesta. Estupendo.

Así que no insistiré en esos detalles.


En su lugar, te recomendaré que aprendas a utilizar sympy de libre acceso. (Sí, hay algunas "instrucciones" que tendrás que seguir para que se cargue y funcione bien).

Permíteme mostrarte una forma en que puedes utilizar esa herramienta:

var('s R_l R L C')                    # let sympy know your variable names
zc = 1/s/C                            # capacitor C impedance
zl = s*L                              # inductor L impedance
zp = R / (1 + R/zc)                   # parallel (R || C) impedance
                                      # ... same as writing zc / (1 + zc/R)
tf = simplify( zp / (zp + R_l + zl) ) # generate the transfer function

De lo anterior, si imprimes 'tf' obtendrás:

$$\frac{R}{R+\left(L\cdot s + R_L\right)\cdot\left(C\cdot R\cdot s + 1\right)}$$

Y eso ya es de una forma útil.


Sin embargo, he escrito un poco de Python (sympy requiere Python) para funciones de transferencia de 2º orden para ayudarme a la hora de poner las cosas en forma estándar:

def tf2( h ):
    global s, omega, zeta, P, A, N
    s, omega, zeta, P, A, N = symbols( "s omega zeta P A N")
    expr = simplify( h )
    n, d = fraction( expr )
    v = {}
    for fs in d.free_symbols: v[fs] = 1
    nc = Poly( expand( n ), s).all_coeffs()
    dc = Poly( expand( d ), s).all_coeffs()
    sgn = dc[0].subs( v )
    if sgn < 0:
        nc = Poly( expand( -n ), s).all_coeffs()
        dc = Poly( expand( -d ), s).all_coeffs()
    if len( dc ) == 3 and len( nc ) <= len( dc ):
        omegac = powdenest( sqrt( simplify( dc[2] / dc[0] ) ), force=True )
        zetac = powdenest( simplify( dc[1] / 2 / powdenest( sqrt( simplify( dc[0] * dc[2] ) ), force=True ) ), force=True )
        u = []
        for i in range( len( nc ) ):
            Av = powdenest( simplify( nc[i] / dc[len( dc ) - len( nc ) + i] ), force=True )
            if Av != 0:
                u.append( { A: Av, N: (len( nc ) - i - 1) } )
        return { omega: omegac, zeta: zetac, P: u }

Escribí el código anterior en aproximadamente una hora de tiempo (depuración y todo) para ayudarme a trabajar más rápido y mejor, ayudándome a validar lo que escribo aquí. En parte porque respeto el tiempo de los demás y hago lo que puedo para verificar lo que escribo.

Esta función está definida para mí dentro de un archivo llamado init.sage. (Uso sympy como parte de SageMath que es otra herramienta gratuita). Es capaz de manejar el completo Función de transferencia de 2º orden de esta forma tan general:

$$\begin{align*} \mathcal{H}\left(s\right)&=\frac{a_2 s^2 + a_1 s + a_0}{b_2 s^2 + b_1 s + b_0}\\\\ &=\frac{a_2 s^2}{b_2 s^2 + b_1 s + b_0}+\frac{a_1 s}{b_2 s^2 + b_1 s + b_0}+\frac{a_0}{b_2 s^2 + b_1 s + b_0} \end{align*}$$

Y convertirlo en uno de estos estándar forma:

$$\begin{align*} \mathcal{H}\left(s\right)&=A_2\frac{\left(\frac{s}{\omega_{_0}}\right)^2} { \left(\frac{s}{\omega_{_0}}\right)^2 + 2\zeta \left(\frac{s}{\omega_{_0}}\right) + 1}+A_1\frac{ 2\zeta \left(\frac{s}{\omega_{_0}}\right)} { \left(\frac{s}{\omega_{_0}}\right)^2 + 2\zeta \left(\frac{s}{\omega_{_0}}\right) + 1} +A_0\frac1 { \left(\frac{s}{\omega_{_0}}\right)^2 + 2\zeta \left(\frac{s}{\omega_{_0}}\right) + 1}\\\\ &=A_2\frac{ s^2} { s^2 + 2\zeta\,\omega_{_0} s + \omega_{_0}^2}+A_1\frac{ 2\zeta\,\omega_{_0} s} { s^2 + 2\zeta\,\omega_{_0} s + \omega_{_0}^2}+A_0\frac{ \omega_{_0}^2} { s^2 + 2\zeta\,\omega_{_0} s + \omega_{_0}^2} \end{align*}$$

Esto es lo que saco en claro:

tf2(tf)
{omega: sqrt(R + R_l)/(sqrt(C)*sqrt(L)*sqrt(R)),
 zeta: (C*R*R_l/2 + L/2)/(sqrt(C)*sqrt(L)*sqrt(R)*sqrt(R + R_l)),
 P: [{A: R/(R + R_l), N: 0}]}

Los dos primeros mostrados allí, omega y zeta son comunes a todos los términos (independientemente de que haya uno, dos o tres). P es una matriz. Aquí, indica el \$A\$ factores para cada término y el s -poder del término, \$N\$ . Puede ver que el único \$s^0\$ está presente. Así que este es un filtro de paso bajo.

Así que tienes un filtro de paso bajo, donde: \$A_0=\frac1{1+\frac{R_L}{R}}\$ , \$\omega_{_0}={\sqrt{1+\frac{R_L}{R}}}\cdot\frac1{\sqrt{L\,\cdot\, C}}\$ y \$\zeta=\frac1{2\,\omega_{_0}}\cdot\left(\frac{R_L}{L}+\frac1{R\,\cdot\, C}\right)\$ .

Es el hecho de que \$\alpha=\omega_{_0}\cdot\zeta\$ . Así que para lograr los resultados anteriores para \$\zeta\$ más fácilmente, hice esto:

mytf2 = tf2(tf)
alpha = simplify( mytf2[zeta] * mytf2[omega] )

Descubrí que \$\alpha=\frac12\left(\frac{R_L}{L}+\frac1{R\,\cdot\, C}\right)\$ . Así que fue muy fácil escribir el resultado de \$\zeta=\frac{\alpha}{\omega_{_0}}\$ .

1voto

Mary Puntos 1

Bien, la función de transferencia de tu circuito viene dada por:

$$\mathscr{H}\left(\text{s}\right):=\frac{\text{v}_\text{o}\left(\text{s}\right)}{\text{v}_\text{i}\left(\text{s}\right)}=\frac{\text{R}\text{||}\frac{1}{\text{sC}}}{\left(\text{R}\text{||}\frac{1}{\text{sC}}\right)+\text{R}_\text{L}+\text{sL}}=\frac{\text{R}}{\text{RLCs}^2+\left(\text{L}+\text{CRR}_\text{L}\right)\text{s}+\text{R}+\text{R}_\text{L}}\tag1$$

Ahora, al trabajar con señales sinusoidales podemos utilizar \$\text{s}:=\text{j}\omega\$ (donde \$\text{j}^2=-1\$ y \$\omega=2\pi\text{f}\$ con \$\text{f}\$ es la frecuencia de la señal de entrada en hercios). Así obtenemos:

$$\underline{\mathscr{H}}\left(\text{j}\omega\right)=\frac{\text{R}}{\text{RLC}\left(\text{j}\omega\right)^2+\left(\text{L}+\text{CRR}_\text{L}\right)\text{j}\omega+\text{R}+\text{R}_\text{L}}=$$ $$\frac{\text{R}}{\text{R}_\text{L}+\text{R}\left(1-\text{LC}\omega^2\right)+\left(\text{L}+\text{CRR}_\text{L}\right)\omega\text{j}}\tag2$$

Entonces, la respuesta en amplitud de tu circuito viene dada por:

$$\left|\underline{\mathscr{H}}\left(\text{j}\omega\right)\right|=\frac{\text{R}}{\sqrt{\left(\text{R}_\text{L}+\text{R}\left(1-\text{LC}\omega^2\right)\right)^2+\left(\left(\text{L}+\text{CRR}_\text{L}\right)\omega\right)^2}}\tag3$$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X