miércoles, 12 de febrero de 2014

Funciones de Transferencia con MATLAB

La función de transferencia, expresada como cociente de polinomios se obtiene con el comando tf, pasándole dos vectores con los coeficientes en s del numerador y denominador; estos deberán ir ordenados desde el elemento de mayor potencia al de menor, añadiendo un cero en el caso de no existir. A continuación se muestra un ejemplo para los sistemas G1(s) y G2(s) dados.


La función de transferencia, expresada en función de los polos y ceros del sistema, se puede definir mediante el comando zpk (zero-polo-gain). Para ello es necesario pasarle al comando tres vectores que contengan las posiciones de los zeros (z), las de los polos (p) y el factor de ganancia (K), en este orden. Así pues, un sistema que contenga un cero doble en la posición -1, un polo en 0 y otro en -3, y un factor de ganancia de 10, se definirá como:
En un sistema que no contenga ceros, el vector correspondiente (z) debe estar vacío indicándose con [ ]:


Para crear funciones de transferencia de sistemas discretos, hay que tener en cuenta el tiempo de muestreo T empleado en la conversión de la señal continua en una secuencia discreta; para ello bastará con añadir el tiempo de muestreo T al comando tf o zpk. En el caso de un sistema discreta con un tiempo de muestreo indeterminado, se debe asignar un valor de T= -1.

Construcción directa

Si se define previamente la variable s como un objeto tf, las funciones de transferencia de los sistemas continuos se pueden construir directamente sin hacer uso de los comandos vistos anteriormente.

En el caso de los sistemas discretos se debe definir z como un objeto tf, incluyendo el tiempo de muestreo T con su valor, o -1 para dejarlo indeterminado.

NOTA: s y z se pueden definir igualmente como objetos zpk.

Una consulta al workspace permitirá observar los nuevos tipos de datos creados para los sistemas definidos.


Sistemas de Segundo Orden

La función de transferencia de un sistema de segundo orden se puede construir directamente con el comando ord2 a partir de los parámetros £ (coeficiente de amortiguamiento) y Wn (frecuencia natural). El comando devuelve los polinomios del numerador y del denominador de la función.


Sistemas con retardo puro


que se corresponde con la función de transferencia,


En determinadas ejecuciones en MATLAB, el retardo en la función de transferencia de un sistema generará errores al carácter no lineal del término e^(-T*s). Un ejemplo de ello sucedería al intentar calcular la función de transferencia equivalente en lazo cerrado de un sistema con retardo. Para evitarlo, se puede realizar una aproximación mediante el desarrollo de Padé y convertir el retardo en una función racional de la forma:


El comando de MATLAB que realiza esta aproximación es pade, al que se le pasan como argumentos la función de transferencia con retardo y el número de términos de los que constará la serie con la que se desea realizar la aproximación.





6 comentarios:

Aprende a Programar tus propias aplicaciones