Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Representación de respuestas del sistema

Este ejemplo muestra cómo representar las respuestas en el tiempo y en la frecuencia de sistemas lineales SISO y MIMO.

Respuestas en el tiempo

Cree un sistema lineal. Para este ejemplo, cree una función de transferencia de tercer orden.

sys = tf([8 18 32],[1 6 14 24])
sys =
 
     8 s^2 + 18 s + 32
  -----------------------
  s^3 + 6 s^2 + 14 s + 24
 
Continuous-time transfer function.

Puede representar gráficamente las respuestas al escalón y al impulso de este sistema utilizando los comandos step e impulse.

subplot(2,1,1)
step(sys)
subplot(2,1,2)
impulse(sys)

Figure contains 2 axes objects. Axes object 1 contains an object of type line. This object represents sys. Axes object 2 contains an object of type line. This object represents sys.

Con el comando lsim, también puede simular la respuesta a una señal arbitraria, como una onda sinusoidal. La señal de entrada aparece en color gris y la respuesta del sistema, en color azul.

clf
t = 0:0.01:4;
u = sin(10*t);
lsim(sys,u,t)   % u,t define the input signal

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent Driving inputs, sys.

Puede utilizar los comandos de representación con modelos tf, ss o zpk continuos o discretos. Para los modelos de espacio de estados, también puede representar gráficamente la respuesta no forzada de un estado inicial dado. Por ejemplo:

A = [-0.8 3.6 -2.1;-3 -1.2 4.8;3 -4.3 -1.1];
B = [0; -1.1; -0.2];
C = [1.2 0 0.6];
D = -0.6;
G = ss(A,B,C,D);
x0 = [-1;0;2];  % initial state
initial(G,x0)
grid

Figure contains an axes object. The axes object contains an object of type line. These objects represent Driving inputs, G.

Respuestas en frecuencia

El análisis en el dominio de la frecuencia es clave para entender las propiedades de estabilidad y rendimiento de los sistemas de control. Los diagramas de Bode, Nyquist y Nichols son tres formas estándar de representar gráficamente y analizar la respuesta en frecuencia de un sistema lineal. Estas gráficas se pueden generar mediante los comandos bode, nichols y nyquist.

Cree un sistema lineal.

sys = tf([8 18 32],[1 6 14 24])
sys =
 
     8 s^2 + 18 s + 32
  -----------------------
  s^3 + 6 s^2 + 14 s + 24
 
Continuous-time transfer function.

Cree un diagrama de Bode para este sistema.

bode(sys)
grid

Figure contains 2 axes objects. Axes object 1 with ylabel Magnitude (dB) contains an object of type line. This object represents sys. Axes object 2 with ylabel Phase (deg) contains an object of type line. This object represents sys.

Cree un diagrama de Nyquist para este sistema.

nyquist(sys)
grid

Figure contains an axes object. The axes object contains an object of type line. This object represents sys.

Cree un diagrama de Nichols para este sistema.

nichols(sys)
grid

Figure contains an axes object. The axes object contains an object of type line. This object represents sys.

Mapas de polos y ceros y lugar de las raíces

Los polos y ceros de un sistema contienen información valiosa acerca de su dinámica, su estabilidad y los límites de su rendimiento. Por ejemplo, considere el lazo de feedback en el siguiente lazo de control de SISO.

En este caso:

G=-(2s+1)s2+3s+2

Para el valor de ganancia k = 0.7, puede representar los polos y ceros de lazo cerrado utilizando pzmap.

s = tf('s');
G = -(2*s+1)/(s^2+3*s+2);
k = 0.7;
T = feedback(G*k,1);
pzmap(T)
grid, axis([-2 0 -1 1])

Figure contains an axes object. The axes object contains 2 objects of type line. One or more of the lines displays its values using only markers This object represents T.

Los polos de lazo cerrado (marcados con x de color azul) se encuentran en el semiplano izquierdo, por lo que el lazo de feedback es estable para esta elección de ganancia k. Puede leer el coeficiente de amortiguamiento de los polos de lazo cerrado en esta gráfica (véanse las etiquetas de las líneas radiales). Aquí el coeficiente de amortiguamiento es de aproximadamente 0,7, lo que sugiere que se trata de una respuesta en lazo cerrado bien amortiguada, como se confirma mediante:

clf
step(T)

Figure contains an axes object. The axes object contains an object of type line. This object represents T.

Para comprender mejor cómo afecta la ganancia del lazo k a la estabilidad de lazo cerrado, puede representar gráficamente el lugar de los polos de lazo cerrado como una función de k.

rlocus(G)
grid

Figure contains an axes object. The axes object contains 4 objects of type line. One or more of the lines displays its values using only markers This object represents G.

Al hacer clic en la intersección entre el lugar y el eje y, se revela que los polos de lazo cerrado se vuelven inestables cuando k = 1.51. Por lo tanto, la ganancia del lazo debería ser siempre inferior a 1,5 para preservar la estabilidad de lazo cerrado.

Características de las respuestas

Si hace clic con el botón secundario sobre las gráficas de respuestas, accederá a una variedad de opciones y anotaciones. En concreto, el menú Characteristics permite mostrar métricas estándar, como el tiempo de subida y el tiempo de estabilización para respuestas al escalón, o la ganancia de pico y los márgenes de estabilidad para las gráficas de respuestas en frecuencia.

Utilizando el ejemplo del apartado anterior, represente la respuesta al escalón de lazo cerrado:

step(T)

Figure contains an axes object. The axes object contains an object of type line. This object represents T.

A continuación, haga clic con el botón secundario en la gráfica para mostrar las características de respuesta de pico y tiempo de estabilización. Luego, haga clic en los puntos azules para leer los valores de tiempo de sobreimpulso y estabilización correspondientes:

Análisis de sistemas MIMO

Todos los comandos mencionados hasta el momento son totalmente compatibles con sistemas de múltiples entradas y múltiples salidas (MIMO). En el caso de MIMO, estos comandos generan arreglos de gráficas. Por ejemplo, considere el siguiente sistema de dos entradas y dos salidas.

sys = rss(3,2,2);
sys.A = [-0.5 -0.3 -0.2 ; 0 -1.3  -1.7; 0.4 1.7 -1.3];

La respuesta al escalón es un arreglo de gráficas de 2 por 2, donde cada columna muestra la respuesta al escalón de un canal de entrada particular.

step(sys)

Figure contains 4 axes objects. Axes object 1 with title From: In(1), ylabel To: Out(1) contains an object of type line. This object represents sys. Axes object 2 with ylabel To: Out(2) contains an object of type line. This object represents sys. Axes object 3 with title From: In(2) contains an object of type line. This object represents sys. Axes object 4 contains an object of type line. This object represents sys.

Puede agrupar las cuatro respuestas en una sola gráfica haciendo clic con el botón secundario sobre la gráfica y seleccionando el submenú I/O Grouping -> All.

Las siguientes gráficas adicionales son útiles para analizar sistemas MIMO:

  • Gráfica de valor singular (sigma), que muestra las principales ganancias de la respuesta en frecuencia

  • Mapa de polos y ceros para cada par E/S (iopzplot)

Por ejemplo, represente el pico de ganancia de sys como función de la frecuencia:

sigma(sys)
grid

Figure contains an axes object. The axes object contains 2 objects of type line. This object represents sys.

Comparación de sistemas

Es posible representar varios sistemas a la vez utilizando cualquiera de los comandos de gráfica de respuesta. Puede asignar un color, un marcador o un estilo de línea específico a cada sistema para facilitar las comparaciones. Utilizando el ejemplo de feedback anterior, represente la respuesta al escalón de lazo cerrado para tres valores de la ganancia de lazo k con tres colores diferentes:

k1 = 0.4;
T1 = feedback(G*k1,1);
k2 = 1;
T2 = feedback(G*k2,1);
step(T,'b',T1,'r',T2,'g')
legend('k = 0.7','k = 0.4','k = 1')

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent k = 0.7, k = 0.4, k = 1.

Modificar los valores del eje de tiempo o frecuencia

Puede modificar los vectores de tiempo y frecuencia para las gráficas de análisis lineales existentes.

En el caso de las gráficas step e impulse, puede especificar el vector de tiempo haciendo clic con el botón secundario en el área de la gráfica y seleccionando Specify time.

En el cuadro de diálogo Specify time, puede definir valores y unidades de tiempo utilizando uno de los siguientes métodos.

  • Generate automatically: genera automáticamente el vector de tiempo basado en la dinámica del sistema. Esta opción no se admite en sistemas dispersos.

  • Define stop time: especifica el tiempo de detención, lo que crea un vector de tiempo que comienza en la unidad de tiempo 0. El tamaño de escalón para el vector de tiempo se determina en función de la dinámica del sistema.

  • Define vector: especifica los intervalos que se desean representar gráficamente como vector de valores de tiempo espaciados uniformemente que aumentan de forma constante.

En el caso de los diagramas de bode, nyquist, nichols y sigma, puede especificar el vector de frecuencia haciendo clic con el botón secundario en el área de la gráfica y seleccionando Specify frequency.

En el cuadro de diálogo Specify frequency, puede definir valores y unidades de frecuencia utilizando uno de los siguientes métodos.

  • Generate automatically: genera automáticamente el vector de frecuencia basado en la dinámica del sistema. Este método no se admite en sistemas dispersos.

  • Define range: especifica el rango de frecuencia. Este método no se admite en sistemas dispersos.

  • Define vector: especifica las frecuencias que se desean representar gráficamente como vector.

Si el sistema es un objeto frd, la gráfica interpola la respuesta entre valores de frecuencia.

Cambiar las unidades de tiempo y frecuencia especifica las unidades de la entrada y no cambia las unidades en la gráfica.

Consulte también

|

Temas relacionados