En la teoría de control, el concepto de función de transferencia es algo que encontraras continuamente en varios textos y cursos que te dispongas a realizar. Una función de transferencia es una representación matemática que describe cómo un sistema dinámico responde a una entrada. Para un sistema lineal e invariante en el tiempo (LTI), la función de transferencia se define como G(s) = Y(s) / U(s) donde Y(s) es la transformada de Laplace de la salida y U(s) la de la entrada, suponiendo condiciones iniciales nulas. Esa última condición no es un detalle menor: sin ella, la relación ya no describe únicamente el sistema, sino también la energía almacenada al inicio del proceso. En pocas palabras una función de transferencia es una función matemática lineal que emplea la famosa herramienta matemática de la transformada de Laplace y permite representar el comportamiento dinámico y estacionario de cualquier sistema.
Sabemos que cuando nos encontramos en frente de algún proceso, sea cual sea, este proceso por lo general contará con actuadores y sensores. Obviamente nosotros vamos a querer controlar estas variables del proceso. Para poder hacer los cálculos matemáticos de nuestros controladores, es de vital importancia, primero y antes que nada, conocer y entender cómo se comporta nuestro proceso. Y tenemos que hallar la forma de representar ese proceso que está en la industria en el Papel. Ahí es donde tiene origen la función de transferencia.
Si un sistema está gobernado por una ecuación diferencial lineal, al aplicar la transformada de Laplace con condiciones iniciales nulas, obtenemos una relación algebraica entre Y(s) y U(s). Dicho de otra manera, la función de transferencia no describe todo sobre cualquier sistema físico; describe con gran eficacia una clase muy importante de sistemas: los que pueden modelarse como lineales e invariantes en el tiempo, o bien los que han sido linealizados alrededor de un punto de operación. Esa es una de las razones por las que sigue siendo tan usada en control automático, aun cuando existan enfoques más generales como espacio de estados o identificación basada en datos. Esa transición de ecuaciones diferenciales a álgebra es una de las grandes ventajas conceptuales de la función de transferencia: cambia un problema dinámico en el tiempo por un problema racional en la variable compleja s.
Si analizamos, veremos que las funciones de transferencia se componen de un numerador que es un polinomio y un denominador, que también es un polinomio.
Representación de Funciones de Transferencia
Puede representar sistemas lineales como funciones de transferencia en forma de polinomios o factorizada (cero-polo-ganancia). El objeto de modelo tf representa funciones de transferencia en forma polinómica. El objeto de modelo zpk representa funciones de transferencia de forma factorizada.
Lea también: IVA 21% Excel
Las funciones de transferencia MIMO son arreglos de funciones de transferencia SISO. Por ejemplo: es una función de transferencia de una entrada y dos salidas.
Polos y Ceros: Fundamentales para el Análisis de Estabilidad
Un aspecto crucial en el análisis de sistemas de control es identificar los polos y ceros de una función de transferencia. Estos determinan la estabilidad y respuesta del sistema. Para encontrar los polos, igualamos el denominador a cero y resolvemos para «s». Igualmente, para los ceros, igualamos el numerador a cero. Los polos y ceros no son un adorno algebraico: son la geometría esencial del sistema en el plano complejo.
La ubicación de los polos en el plano complejo «S» es crítica para determinar la estabilidad del sistema. Los sistemas con todos sus polos en el semiplano izquierdo (es decir, con partes reales negativas) son estables. Sin embargo, si algún polo se encuentra en el semiplano derecho, el sistema será inestable. Un sistema es limitadamente estable o criticamente estable si hay un polo en el origen y los demás polos en el semiplano negativo. Por otro lado, un sistema es marginalmente estable si existe una pareja simple (sin multiplicidad) de polos complejos conjugados sobre el eje imaginario (O sea no tienen componente real), estando el resto de los polos en el semiplano negativo. De forma general, podemos referirnos a todos estos casos como Marginalmente Estables, donde por lo menos exista algún polo en el eje imaginario (Complejo o No) y sin multiplicidad.
En tiempo continuo, la estabilidad asintótica exige polos en el semiplano izquierdo. Esa idea aparece directamente reflejada en el criterio gráfico del mapa de polos-ceros.
Trabajando con Funciones de Transferencia en Herramientas de Diseño
La evolución de las herramientas computacionales ha permitido una exploración más profunda de la función de transferencia, con software como MATLAB y Simulink ofreciendo un entorno dinámico para simular y analizar comportamientos de sistemas en tiempo real.
Lea también: Guía IVA reducido
Comandos para crear funciones de transferencia
Use los comandos descritos en la siguiente tabla para crear funciones de transferencia.
| Comando | Descripción |
|---|---|
| tf | Crea objetos tf que representan funciones de transferencia en tiempo continuo o tiempo discreto en forma polinómica. |
| zpk | Crea objetos zpk que representan funciones de transferencia en tiempo continuo o tiempo discreto en forma de cero-polo-ganancia (factorizada). |
| filt | Crea objetos tf que representan funciones de transferencia en tiempo discreto que utilizan la convención de procesamiento digital de señales (DSP). |
Creación de un modelo de función de transferencia utilizando coeficientes de polinomios
G es un objeto de modelo tf, que es un contenedor de datos para representar funciones de transferencia en forma polinómica. num y den son los coeficientes de numeradores y denominadores polinomiales en potencias decrecientes de s. Por ejemplo, den = [1 3 2] representa el denominador polinomial s2 + 3s + 2.
El comando más básico y más usado es tf. Permite crear modelos a partir de los coeficientes del numerador y denominador, o convertir otros modelos dinámicos a forma de transferencia.
num = [1];
den = [1 3 2];
G = tf(num, den)
Ese código crea:
G(s) = 1 / (s2 + 3s + 2)
Como alternativa, puede especificar la función de transferencia G(s) como una expresión en s: Cree un modelo de función de transferencia para la variable s. Especifique G(s) como relación de polinomios en s.
Lea también: ¿Cómo localizar tus XML del SAT?
Creación de un modelo de función de transferencia utilizando ceros, polos y ganancia
Este ejemplo muestra cómo crear funciones de transferencia de única entrada y única salida (SISO) de forma factorizada utilizando zpk. Z y P son los ceros y los polos (las raíces del numerador y del denominador, respectivamente). K es la ganancia de forma factorizada. G es un objeto de modelo zpk, que es un contenedor de datos para representar funciones de transferencia en forma de cero-polo-ganancia (factorizada).
Si ya conoces la forma factorizada, también puede ser útil zpk para trabajar con ceros, polos y ganancia de manera más transparente conceptualmente. MATLAB distingue explícitamente entre la representación polinómica (tf) y la factorizada (zpk).
Por ejemplo, G(s) tiene un polo real a s = -2 y un par de polos complejos a s = -1 ± i. El vector P = [-1-1i -1+1i -2] especifica las ubicaciones de estos polos.
Comandos importantes de MATLAB para trabajar con funciones de transferencia
En MATLAB, esta representación se modela de forma nativa mediante objetos tf.
- Crear la función de transferencia con tf
El comando más básico y más usado es tf. Permite crear modelos a partir de los coeficientes del numerador y denominador, o convertir otros modelos dinámicos a forma de transferencia.
- Extraer coeficientes con tfdata
Cuando quieres inspeccionar o reutilizar numéricamente el modelo, tfdata permite recuperar numerador y denominador. Para sistemas SISO conviene usar la opción 'v' para obtener vectores directamente.
[num, den] = tfdata(G, 'v');
Esto es útil cuando necesitas exportar parámetros, construir rutinas propias o comparar coeficientes con un modelo teórico derivado a mano.
- Ver polos, ceros y mapa de polos-ceros
Para extraerlos y graficarlos, MATLAB ofrece pole, zero y pzmap. El mapa de polos-ceros es especialmente útil para inspeccionar estabilidad y estructura dinámica.
p = pole(G);
z = zero(G);
pzmap(G);
grid on; - Analizar la respuesta temporal con step, impulse y stepinfo
Si quieres responder la pregunta “¿cómo se comporta el sistema en el tiempo?”, normalmente comienzas con la respuesta al escalón y al impulso. MATLAB las calcula con step e impulse, y resume métricas relevantes como tiempo de subida, tiempo de establecimiento y sobreimpulso mediante stepinfo.
step(G);
grid on;
impulse(G);
grid on;
S = stepinfo(G)Para diseño de control, stepinfo es muy valioso porque traduce una curva en indicadores cuantificables que pueden compararse contra especificaciones de desempeño.
- Analizar la respuesta en frecuencia con bode y margin
La función de transferencia también permite estudiar cómo responde el sistema a señales sinusoidales de distinta frecuencia. Ahí entran bode y margin. bode muestra magnitud y fase; margin superpone los márgenes de ganancia y fase, fundamentales para evaluar robustez en lazo abierto.
bode(G);
grid on;
margin(G);
grid on;En términos prácticos, estos diagramas te ayudan a contestar preguntas clave: cuánto retraso de fase tolera el sistema, cuánto puede variar la ganancia antes de perder estabilidad y en qué bandas de frecuencia se concentra la dinámica relevante.
- Cerrar el lazo con feedback
En control, rara vez nos quedamos solo con la planta en lazo abierto. Una operación central es formar el sistema en lazo cerrado mediante retroalimentación. MATLAB lo hace con feedback, que por defecto construye la interconexión con retroalimentación negativa.
C = tf([10 10], [1 0]); // ejemplo de controlador PI
T = feedback(C*G, 1); // lazo cerrado con realimentación unitaria
step(T);
grid on;Este es uno de los pasos más importantes del flujo de diseño: modelar planta, proponer controlador, cerrar el lazo y evaluar si las especificaciones realmente se cumplen.
- Usar rlocus para explorar diseño por lugar de las raíces
Si estás ajustando una ganancia o diseñando un compensador SISO clásico, rlocus es una herramienta muy instructiva. Muestra cómo se desplazan los polos de lazo cerrado al variar la ganancia.
rlocus(G);
grid on;Pedagógicamente, el lugar de las raíces conecta de forma elegante la estructura de G(s) con el comportamiento transitorio final.
- Convertir a tiempo discreto con c2d cuando el controlador será digital
En mecatrónica, los controladores suelen implementarse en microcontroladores, PLC o sistemas embebidos. Por eso es frecuente partir de una planta continua y luego discretizarla para diseño o simulación digital.
Ts = 0.01;
Gd = c2d(G, Ts, 'zoh');Aunque este artículo está centrado en funciones de transferencia continuas, la transición a tiempo discreto es muy relevante en implementaciones reales.
Un flujo de trabajo sencillo en MATLAB
Si tuviera que resumir un flujo mínimo para un estudiante o ingeniero que empieza a trabajar con funciones de transferencia, sería este:
- Derivar o identificar el modelo.
- Crear G con tf.
- Inspeccionar polos y ceros.
- Evaluar step, stepinfo, bode y margin.
- Diseñar un controlador.
- Formar el lazo cerrado con feedback.
- Validar nuevamente desempeño y estabilidad.
Ese flujo coincide con la manera en que se organiza gran parte del análisis de sistemas LTI: modelado, respuesta temporal, respuesta en frecuencia e interconexión de bloques.
Ejemplos de Diseño de Sistemas de Control
Sistema de Control Proporcional
Veamos un sistema de control proporcional porque es el más sencillo. Vemos varios bloques, kp1 es el control proporcional. La cadena desde el sumador hasta la salida es la cadena directa. kp2 es la realimentación.
En la cadena directa, el bloque que dice motor de cc controlado por armadura, hay una función matemática que representa las características del motor y la carga, es decir, que ese bloque representa el motor con las ruedas que se le ponen, y el peso que lleve la plataforma móvil. Entonces colocando valores en Ra (Resistencia de armadura), Bm (rozamiento del motor), tm constante de tiempo mecánico, ta constante de tiempo eléctrica, kt constante de cupla obtenemos la función transferencia del motor con la carga.
Para hallar todas esas constantes de la función transferencia del motor y la carga hay que hacer una serie de mediciones. Por ejemplo, para hallar Ra hay que bloquear el rotor del motor y medir la corriente de armadura. Para ta hay que poner a funcionar el motor y en un momento desconectarlo, entonces ta es el tiempo que tarda en parar el motor. Para kb y Bm tenemos que ver la evolución de la corriente en el tiempo y hay otras mediciones para las demás variables.
Todo lo que comenté es para control de un servomotor por armadura, que es el que más se usa en estas aplicaciones, pero también hay control por campo, y otros aunque son bastante parecidos.
Si vemos de nuevo el dibujo: vemos que todo el sistema funciona como un sistema de control. Básicamente si en la entrada alimentamos al sistema con una tensión continua, cuando la cambiamos tenemos un escalón de tensión. Esta tensión es comparada con la tensión de salida proporcional a la posición o velocidad del motor.
Comparando la entrada y la salida el sistema corrige la velocidad de salida permitiendo, por ejemplo, que la velocidad de salida sea constante independientemente de la carga del motor. A la resta de la tensión de salida y entrada se la llama tensión de error porque es la tensión con la que se corrige la velocidad del motor, y además representa un pequeño error entre la velocidad de salida con respecto a la deseada que es necesario para mantener el lazo de control funcionando.
Controlador PID
Ahora si en vez de el control proporcional ponemos un control PID (Proporcional + Integral + Derivativo) tenemos las siguientes funciones.
El control derivativo sirve para compensar el sistema y que no se vuelva inestable, es decir que el servomotor se embale. El control integral sirve para aumentar el "tipo" del sistema, es decir pasar de un sistema tipo I a uno tipo II.
Una comprensión profunda de la función de transferencia facilita el diseño de controladores PID (Proporcional-Integral-Derivativo), que son esenciales para el mantenimiento de la estabilidad y la optimización del rendimiento en la industria.
