Función de transferencia de un filtro de paso de banda

Tengo que calcular la función de transferencia simbólica de este filtro de paso de banda. Intenté hacer los cálculos, pero me gustaría, si es posible, revisarlos y decirme si la función de transferencia está bien calculada.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Si tiene acceso a Mathematica, simplemente ingrese las diversas ecuaciones de nodo y deje que esa herramienta calcule la función de transferencia.
@analogsystemsrf no tengo acceso a Mathematica y tengo que entregar la resolución de este ejercicio hecho analíticamente. No quería hacer una mala figura frente a mi maestro. ¿Podría comprobar si los cálculos son correctos, por favor? Gracias de antemano por su atención.
@Carmen González: Mathematica (u otras herramientas de matemáticas simbólicas) lo resuelven analíticamente, es decir, como resultados (intermedios o finales) obtienes expresiones matemáticas; y por cierto no necesitas Mathematica; puede usar, por ejemplo, sympy, un paquete gratuito de matemáticas simbólicas para python. Mira mi publicación.

Respuestas (3)

La fórmula que derivó utilizando KCL y KVL parece correcta. Sin embargo, el resultado que ha obtenido es completamente intratable en el sentido de que no puede distinguir polos, ceros o ganancias. En otras palabras, su función de transferencia es una forma de alta entropía mientras que es deseable una forma de baja entropía . La expresión amablemente ofrecida por Subas Thomas usando Mathematica se acerca a este formato, pero aún se puede factorizar en una forma más simple. Para mostrar cómo proceder, necesitamos invocar las técnicas de circuitos analíticos rápidos o FACT. Para usar estas técnicas, determina y combina todas las constantes de tiempo del circuito cuando se estudia en dos configuraciones diferentes: estímulo reducido a 0 ( V i norte = 0 V ) y la respuesta ( V o tu t ) se anula a pesar de la presencia de excitación. Para continuar con este ejemplo, he vuelto a capturar su circuito usando las etiquetas que ha puesto en su esquema original:ingrese la descripción de la imagen aquí

Mirando este circuito, puedo contar dos elementos de almacenamiento de energía C 1 y C 2 , este es un circuito de segundo orden. El denominador de la función de transferencia seguirá la forma: D ( s ) = 1 + s ( τ 1 + τ 2 ) + s 2 τ 2 τ 21 en el cual τ 1 y τ 2 son las constantes de tiempo que involucran C 1 y C 2 cuando la excitación es 0 V y τ 2 τ 21 en el cual τ 21 es la constante de tiempo asociada C 1 mientras C 2 se sustituye por un cortocircuito.

El numerador es un poco más complejo y se puede escribir de manera generalizada como: norte ( s ) = H 0 + s ( H 1 τ 1 + H 2 τ 2 ) + s 2 H 2 H 21 en el que la τ son los de D ( s ) y el H son ganancias de cd simples determinadas cuando C 1 o y C 2 son reemplazados por cortocircuitos. Cuando ensambla todos estos elementos, tiene su función de transferencia en una forma bien ordenada.

Comencemos con la ganancia de CC, H 0 . Abra todas las mayúsculas y resuelva la función de transferencia considerando amplificadores operacionales de ganancia infinita. Para simplificar el análisis, puedo considerar la red hecha de R 4 y R 5 como divisor k 1 igual a k 1 = R 5 R 5 + R 4 y polarizando el pin (+) con k 1 V o tu t . Si analiza el circuito para s = 0 , la ganancia H 0 es 0. Ahora, reemplaza V i norte por un cortocircuito (reducir la excitación a 0) y "observar" la resistencia que conduce C 1 . En otras palabras, inyectas una fuente actual I T al otro lado de C 1 terminales y determinar el voltaje V T tu obtienes. La relación de estas dos variables conduce a la constante de tiempo τ 1 = 0 considerando ganancias infinitas de bucle abierto para los amplificadores operacionales. Si haces lo mismo por τ 2 , deberías encontrar τ 2 = C 2 R 2 R 3 k 1 R 1 ( 1 k 1 ) . La segunda constante de tiempo utiliza τ 2 y τ 21 . Para este último, reemplace C 2 por un cortocircuito y determine la resistencia que conduce C 1 en este modo (la excitación sigue siendo 0 V para el estudio de D ). Si haces bien los cálculos, deberías encontrar τ 21 = R 1 C 1 . Esto es todo, tenemos nuestro denominador: D ( s ) = 1 + s τ 2 + s 2 τ 2 τ 21 = 1 + s C 2 R 2 R 3 k 1 R 1 ( 1 k 1 ) + s 2 C 2 R 2 R 3 k 1 R 1 ( 1 k 1 ) R 1 C 1 . Para el numerador tenemos H 0 que es 0. Sabemos que si acortamos C 1 Llegar H 1 entonces también tenemos 0 en la salida. Y si cortamos C 1 y C 2 Llegar H 21 , también obtendremos 0. La única ganancia que tenemos que determinar es cuando C 2 se sustituye por un cortocircuito. Puede ir con un esquema separado como aquí para obtener el resultado:

ingrese la descripción de la imagen aquí

Y si hace bien los cálculos, nuevamente considerando ganancias infinitas de bucle abierto, debe encontrar H 2 = 1 k 1 . Genial, ahora tenemos toda la función de transferencia ya que norte ( s ) es una expresión de un solo elemento:

H ( s ) = s C 2 R 2 R 3 R 1 ( 1 k 1 ) 1 + s C 2 R 2 R 3 k 1 R 1 ( 1 k 1 ) + s 2 C 2 R 2 R 3 k 1 R 1 ( 1 k 1 ) R 1 C 1 = s ω z 1 + s ω 0 q + ( s ω 0 ) 2

Si ahora factorizamos el término s ω z en el numerador y s ω 0 q en el denominador y luego reorganizar, se obtiene una verdadera función de transferencia de baja entropía definida como:

H ( s ) = H 00 1 1 + q ( s ω 0 + ω 0 s )

en el cual: q = R 1 C 1 C 2 ( R 2 R 3 k 1 R 1 ( 1 k 1 ) ) , ω 0 = 1 C 2 C 1 R 2 R 3 k 1 ( 1 k 1 ) y H 00 = 1 k 1

Cuando todos estos términos se capturan en una hoja de Mathcad, obtiene los siguientes gráficos

ingrese la descripción de la imagen aquí

Por supuesto, será difícil mostrarle estas ecuaciones a tu maestro :) Sin embargo, la conclusión es que obtener una función de transferencia para una aplicación numérica pura está bien, independientemente del método. Sin embargo, lo que realmente importa es la forma bien ordenada de baja entropía que le dice qué términos contribuyen a las ganancias, los polos y los ceros. Sin este arreglo, no hay forma de que pueda diseñar sus circuitos para cumplir con ciertos objetivos. En mi opinión, los FACT son imbatibles para obtener estos resultados. Como estudiante, te animo a que adquieras esa habilidad porque una vez que la tengas, no volverás al enfoque clásico. Puedes descubrir FACTs más aquí

http://cbasso.pagesperso-orange.fr/Downloads/PPTs/Chris%20Basso%20APEC%20seminar%202016.pdf

y también a través de ejemplos publicados en el libro introductorio

http://cbasso.pagesperso-orange.fr/Downloads/Book/List%20of%20FACTs%20examples.pdf

¡Suerte con este circuito!

muy buena y completa respuesta

Si no tiene acceso a Mathematica:
puede usar sympy , un paquete matemático simbólico gratuito para Python:

He preparado una solución paso a paso anotada para su problema. Puede usarlo para verificar sus resultados (finales o intermedios) y adaptarlo para otros problemas:

# Deriving the transfer function of a Band Pass filter
# using symbolic mathematics package sympy:

from sympy import *

# (1) Define symbols (s, R's, C's and V's)
s = Symbol('s')
R1, R2, R3, R4, R5 = symbols('R1 R2 R3 R4 R5')
C1, C2 = symbols('C1 C2')
Vin, Vout, Vx, Vy = symbols('Vin Vout Vx Vy')

# (2) Define generically impedance of C: 
def Xc(C): global s; return 1 / (s * C)

# (3) Define impedance of C's:
X1 = Xc(C1)
X2 = Xc(C2)

# (4) Define currents:
i1  = (Vin  - Vx) / R1
iC1 =         Vx  / X1
i2  = (Vx - Vy  ) / R2
iC2 = (Vy - Vx  ) / X2
i3  = (Vx - Vout) / R3
i4  = (Vout - Vx) / R4
i5  =         Vx  / R5

# (5) Solve nodal equation system: 
solvedEqSystem = solve([ 
        i1 - (iC1 + i2), # equation (1)
        iC2 - i3,        # equation (2)
        i4 - i5          # equation (3)
    ],
    [Vout, Vx, Vy] 
)

# (6) Divide expression for Vout by Vin to get the transfer function 
#     H(s) := Vout(s)/Vin(s)
H = solvedEqSystem[Vout] / Vin

# (7) Collect same powers of s:
H = collect(H, s)

# (8) Show final result:
print H

Resultado:

C2*R2*R3*s*(R4 + R5)/(C1*C2*R1*R2*R3*R5*s**2 + C2*R2*R3*R5*s + R1*R4)

Tu respuesta parece correcta. Aquí está la captura de pantalla de los cálculos de Mathematica:

ingrese la descripción de la imagen aquí

Y la forma de entrada del código:

ExpandDenominator[First[Subscript[V, 0]/Subscript[V, i] /. 
   Solve[{(Subscript[V, i] - Subscript[V, x])/Subscript[R, 1] == 

   Subscript[V, x]/(1/(Subscript[\[ScriptCapitalC], 1]*s)) + 
             (Subscript[V, x] - Subscript[V, y])/
     Subscript[R, 2], 
         (Subscript[V, y] - 
      Subscript[V, 
       x])/(1/(Subscript[\[ScriptCapitalC], 2]*s)) == 
           (Subscript[V, x] - Subscript[V, 0])/Subscript[R, 3], 
         (Subscript[V, 0] - Subscript[V, x])/Subscript[R, 4] == 
           Subscript[V, x]/Subscript[R, 5]} /. 
 Subscript[R, i_] :> 
         1/Subscript[G, i], {Subscript[V, 0], Subscript[V, x], 
       Subscript[V, y]}]]]