lunes, 17 de febrero de 2014

Reducción de diagramas de bloques en MATLAB

En la teoría de control se suele recurrir al concepto de bloques a la hora de representar gráficamente los sistemas, interconectando los distintos bloques que lo forman y dando lugar a lo que se conoce como una estructura de control. Algunos sistemas pueden dar lugar a estructuras de control complejas que interesará, en la mayoría de los casos, reducir o simplificar, Las operaciones más comunes para la simplificación de estas estructuras o diagramas de bloques se resuelven en MATLAB, principalmente, con cuatro comandos: series, parallel, feedback, minreal.

En los próximos ejemplos de reducción de bloques se emplearán las siguientes funciones de transferencia:
Serie

El comando series obtiene la función de transferencia equivalente del conjunto formado por dos bloques conectados en serie. Al comando se le pasan como argumentos las dos funciones de transferencia correspondiente a los sistemas, separadas por comas. Agrupaciones en serie de más de dos bloques se deberán realizar por partes, ya que no es posible realizar en un solo paso la asociación en serie de más de dos bloques.

Una alternativa al comando series consiste en realizar directamente la operación de multiplicar, sin ninguna limitación en el número de bloques conectados en serie.



Paralelo

El comando parallel obtiene la función de transferencia del conjunto formado por dos bloques en paralelo. Al comando se le pasan como argumentos las dos funciones de transferencia correspondientes a los sistemas, separadas por comas. Agrupaciones en paralelo de mas de dos objetos se deberán realizar por partes. También en este caso, una alternativa al comando parallel consiste en realizar directamente la operación de sumar, sin ninguna limitación en el número de bloques conectados en paralelo. En el caso de que los bloques se resten a la salida, puede emplearse el comando parallel cambiando el signo de la función de transferencia correspondiente, o bien, recurrir directamente a la operación de restar.




Retroalimentación

La función de transferencia equivalente a un sistema retroalimentado se obtiene con el comando feedback. A este comando se le pasan, por este orden, la función de transferencia del lazo directo y la de la retroalimentación, separadas por comas. Por defecto el comando feedback realiza una realimentación negativa; en el caso de que la realimentación sea positiva, se debe añadir un 1 a continuación de las funciones de transferencia.

En caso de tener un sistema realimentado unitariamente, tal y cual se muestra a continuación, su equivalencia será:


Como en los casos de series y parallel, es posible obtener la función de transferencia equivalente de un sistema retroalimentado, expresado en cada caso la ecuación correspondiente. Conviene simplificar las funciones de transferencia de aquellos sistemas que se han obtenido de esta forma, es decir, como resultado de operar directamente sobre los bloques que lo forman (suma, resta, multiplicación). Para ello, el comando minreal devuelve el sistema simplificado como resultado de cancelar las raíces del numerador (ceros) con las del denominador (polos). En el caso de operar con los comandos series, parallel y feedback, MATLAB devuelve la solución simplificada.


En el caso de un sistema con retroalimentación no unitaria como el de la imagen, su equivalente será:



El mismo diagrama anterior, empleando realimentación positiva, dará una nueva función de transferencia equivalente:


En MATLAB se pueden anidar comandos y ejecutar en una sola línea múltiples comandos, debiendo poner especial cuidado en el uso de los paréntesis. A continuación se muestra un ejemplo sobre el sistema retroalimentado de la siguiente figura:



MATLAB devuelve el resultado dado por la expresión:

Los comandos vistos en el post se aplican tanto a sistemas continuos como a discretos, tal y como se muestra en el siguiente ejemplo con las funciones de transferencia en z indicadas a continuación












1 comentario:

Aprende a Programar tus propias aplicaciones