sábado, 24 de marzo de 2012

Cómo obtener la función de transferencia de un circuito utilizando Matlab

Para poder obtener la función de transferencia de un circuito, primero necesitamos el esquemático del circuito. Este primer ejemplo será un circuito RLC Pasa Bajas.


Como las funciones de transferencia son análisis en el dominio de la frecuencia, hay que transformar los componentes a impedancias para poder manipularlos en el dominio de la frecuencia. De este modo, L se convierte en Z1, C se convierte en Z2 y R se convierte en Z3.


Como las inductancias se pueden manipular como si fuesen resistencias, podemos utilizar leyes de Kirchhoff para sacar las ecuaciones del circuito :D
Por definición, la función de transferencia de un circuito es Vo/Vi, por lo que necesitamos encontrar el voltaje de salida en función de los elementos que tiene el circuito. Para esto se utiliza la ley de nodos/corrientes de Kirchhoff, pues ese análisis encuentra los voltajes de nodo. De esta manera se tiene que la corriente que pasa por Z1 es igual a la suma de las corrientes que pasan por Z2 y Z3. Tomando que la tierra está en la parte de abajo del circuito, esto queda así


Para que Matlab pueda resolver correctamente esta ecuación, hay que dejarla igual a cero, por lo que tenemos que


Ahora que ya tenemos la única ecuación del circuito, ya podemos resolverla para Vo utilizando Matlab. Para esto, lo primero que se tiene que hacer es declarar las variables como variables simbólicas, para que pueda hacer el cálculo. Esto se hace de la siguiente manera:

>> syms vi vo z1 z2 z3

Ahora, lo que se tiene que hacer es almacenar en otra variable la ecuación que tenemos. Esto se hace así

>> eq1=(vi-vo)/z1-vo/z2-vo/z3;

Nótese que el ";" al final es únicamente para que no repita lo que le acabo de ingresar (echo off).
Ahora que ya tenemos la ecuación, ya podemos resolverla para Vo utilizando la función solve. Esto se hace así

>> vo=solve(eq1, vo)

La sintaxis básica de esta función es solve(ecuación igualada a cero, variable para la cual se resuelve). Por supuesto que tiene muchas más opciones, pero a nosotros nos interesa usarla así.
Al ingresar esto a Matlab, se obtiene el siguiente resultado

vo =

(vi*z2*z3)/(z1*z2 + z1*z3 + z2*z3)


Este resultado ya es la ecuación resuelta para Vo. Sin embargo, esta aún no es la función de transferencia, pues aún falta dividirla entre Vi. Esto se hace fácilmente de esta manera

>> Hs=vo/vi

Lo que nos regresa 

Hs =

(z2*z3)/(z1*z2 + z1*z3 + z2*z3)



Ahora ya tenemos la función de transferencia en función de las impedancias, pero nosotros la queremos en función de la frecuencia y de los valores de los componentes que forman el circuito. Para esto, sabemos que la impedancia de un inductor es SC, la de un capacitor es 1/SC y la de una resistencia es R. Esta información se le tiene que introducir a Matlab también de manera simbólica y de la siguiente manera:

>> syms r l c
>> syms s
>> z1=l*s;
>> z2=1/(s*c);
>> z3=r;

Sin embargo, en la función de transferencia siguen apareciendo Z1, Z2 y Z3, mas no sus valores. Para sustituir los valores de Z1, Z2 y Z3 en la función de transferencia, hacemos lo siguiente

>> Hs=subs(Hs)

Este comando nos regresa

Hs =

r/(c*s*(l/c + r/(c*s) + l*r*s))



Ahora ya tenemos la función de transferencia. Para verla un poco más clara, podemos utilizar la función simple y pretty. Esto se hace así

>> Hs=simple(Hs);
>> pretty(Hs)

Esto nos regresa

          r 
  ------------------ 
         2 
  c l r s  + l s + r



Con esto ya tenemos nuestra función de transferencia H(s) de un circuito RLC pasa bajas :D
En el siguiente ejemplo veremos cómo obtener la función de transferencia cuando se tiene más de una ecuación.

4 comentarios:

  1. Muy bueno! Listo para tesis jajaj

    ResponderEliminar
  2. Es posible hacer la funcion de transferencia con solo las impedancias en el dominio de la frecuencia?

    ResponderEliminar
  3. Hola! es posible hacer la función de transferencia con solo las impedancias en el dominio de la frecuencia?

    ResponderEliminar
  4. Este comentario ha sido eliminado por el autor.

    ResponderEliminar