Contenido principal

feedback

Conexión de retroalimentación de múltiples modelos

Descripción

sys = feedback(sys1,sys2) devuelve un objeto de modelo sys para la interconexión de retroalimentación negativa de objetos de modelo sys1,sys2.

Basándose en la figura, el modelo de lazo cerrado sys tiene u como vector de entrada e y como vector de salida. Ambos modelos, sys1 y sys2, deben ser continuos o discretos con tiempos de muestreo idénticos.

ejemplo

sys = feedback(sys1,sys2,feedin,feedout) calcula un modelo de lazo cerrado sys utilizando las conexiones de entrada y salida especificadas utilizando feedin y feedout. Utilice esta sintaxis cuando quiera conectar solo un subconjunto de las E/S disponibles de los sistemas MIMO.

ejemplo

sys = feedback(sys1,sys2,'name') calcula un modelo de lazo cerrado sys con las conexiones de retroalimentación especificadas por los nombres de E/S respectivos de los modelos MIMO sys1 y sys2. Utilice el indicador 'name' solo cuando todas las E/S obligatorias en el conjunto de sistemas MIMO tengan los nombres correctos.

ejemplo

sys = feedback(___,sign) devuelve un objeto de modelo sys para un lazo de retroalimentación con el tipo de retroalimentación especificado por sign. Por defecto, feedback asume retroalimentación negativo y es equivalente a feedback(sys1,sys2,-1). Para calcular el sistema de lazo cerrado con retroalimentación positivo, utilice sign = +1.

ejemplo

Ejemplos

contraer todo

pendulumModelAndController.mat contiene un modelo de función de transferencia de péndulo invertido SISO G y su controlador PID asociado C.

Cargue el modelo de controlador y péndulo invertido en el área de trabajo.

load('pendulumModelAndController','G','C');
size(G)
Transfer function with 1 outputs and 1 inputs.
size(C)
PID controller with 1 output and 1 input.

Para crear esta estructura de lazo, conecte el controlador y los modelos de planta en serie para crear sys1 y establezca sys2 en 1 para representar el retroalimentación unitario. De forma predeterminada, la función aplica retroalimentación negativo, pero puede utilizar el argumento opcional sign para especificar el tipo de retroalimentación. Para este ejemplo, puede omitir el argumento sign o establecerlo en -1 para un retroalimentación negativo.

sys1 = G*C;
sys2 = 1;
sign = -1;

Use feedback para crear el lazo de retroalimentación negativo con G y C.

sys = feedback(sys1,sys2,sign)
sys =
 
         1.307e-06 s^3 + 3.136e-05 s^2 + 5.227e-06 s
  ---------------------------------------------------------
  2.3e-06 s^4 + 1.725e-06 s^3 - 4.035e-05 s^2 - 5.018e-06 s
 
Continuous-time transfer function.
Model Properties

sys es la función de transferencia en tiempo continuo de lazo cerrado resultante obtenida utilizando retroalimentación negativo.

Para este ejemplo, considere dos funciones de transferencia que describen una planta G y un controlador C respectivamente.

G(s)=2s2+5s+1s2+2s+3C(s)=5(s+2)s+10

Cree las funciones de transferencia de planta y controlador.

G = tf([2 5 1],[1 2 3],'inputname',"torque",'outputname',"velocity");
C = tf([5,10],[1,10]); 

Use feedback para crear el lazo de retroalimentación negativo utilizando G y C.

sys = feedback(G,C,-1)
sys =
 
  From input "torque" to output "velocity":
  2 s^3 + 25 s^2 + 51 s + 10
  ---------------------------
  11 s^3 + 57 s^2 + 78 s + 40
 
Continuous-time transfer function.
Model Properties

sys es la función de transferencia de lazo cerrado resultante obtenida utilizando retroalimentación negativo con par motor como la entrada y velocidad como la salida.

Para este ejemplo, considere dos funciones de transferencia que describen una planta G y un controlador C respectivamente.

G(s)=2s2+5s+1s2+2s+3C(s)=5(s+2)s+10

Cree las funciones de transferencia de planta y controlador.

G = tf([2 5 1],[1 2 3],'inputname',"torque",'outputname',"velocity");
C = tf([5,10],[1,10]); 

Use feedback para crear el lazo de retroalimentación positivo utilizando G y C.

sys = feedback(G,C,+1)
sys =
 
  From input "torque" to output "velocity":
  -2 s^3 - 25 s^2 - 51 s - 10
  ---------------------------
  9 s^3 + 33 s^2 + 32 s - 20
 
Continuous-time transfer function.
Model Properties

sys es la función de transferencia de lazo cerrado resultante obtenida utilizando retroalimentación positivo con par motor como la entrada y velocidad como la salida.

Basándose en la siguiente figura, considere conectar dos funciones de transferencia MIMO con dos entradas y dos salidas en un lazo de retroalimentación negativo.

Para este ejemplo, cree dos modelos de espacio de estados continuos aleatorios utilizando rss.

G = rss(4,2,2);
C = rss(2,2,2);
size(G)
State-space model with 2 outputs, 2 inputs, and 4 states.
size(C)
State-space model with 2 outputs, 2 inputs, and 2 states.

Utilice feedback para conectar los dos modelos de espacio de estados en un lazo de retroalimentación negativo de acuerdo con la figura anterior.

sys = feedback(G,C,-1);
size(sys)
State-space model with 2 outputs, 2 inputs, and 6 states.

El modelo de espacio de estados resultante sys es un modelo de 2 entradas y 2 salidas con 6 estados. El lazo de retroalimentación negativo se completa de forma que

  • la primera salida de G se conecte con la primera entrada de C

  • la segunda salida de G se conecte con la segunda entrada de C

mimoPlantAndController.mat contiene un modelo de planta de función de transferencia de dos entradas y dos salidas G y un modelo de controlador de función de transferencia de dos entradas y dos salidas C que se conectan de la siguiente forma:

Primero, cargue los modelos de planta y controlador en el área de trabajo.

load('mimoPlantAndController.mat','G','C');
size(G)
Transfer function with 2 outputs and 2 inputs.
size(C)
Transfer function with 2 outputs and 2 inputs.

De forma predeterminada, feedback conectaría la primera salida de G a la primera entrada de C y la segunda salida de G a la segunda entrada de C. Para conectar la planta y el controlador según la figura, nombre las respectivas E/S de los dos sistemas para garantizar las conexiones correctas.

G.InputName 
ans = 2×1 cell
    {'torque'}
    {'angle' }

G.OutputName
ans = 2×1 cell
    {'velocity'}
    {'force'   }

C.InputName
ans = 2×1 cell
    {'force'   }
    {'velocity'}

C.OutputName
ans = 2×1 cell
    {'angle' }
    {'torque'}

A continuación, utilice el indicador 'name' con el comando feedback para hacer las conexiones con arreglo a los nombres de E/S.

sys = feedback(G,C,'name');

La función de transferencia de retroalimentación negativo de lazo cerrado resultante sys tiene las conexiones de retroalimentación en el orden necesario.

Considere una planta en espacio de estados G con cinco entradas y cuatro salidas, y un controlador de retroalimentación en espacio de estados K con tres entradas y dos salidas. Las salidas 1, 3 y 4 de la planta G deben estar conectadas a las entradas del controlador K y las salidas del controlador, a las entradas 2 y 4 de la planta.

feedback6-01.png

Para este ejemplo, genere modelos de espacio de estados en tiempo continuo aleatorizados utilizando rss tanto para G como para K.

G = rss(3,4,5);
K = rss(3,2,3);

Defina los vectores feedout y feedin en función de las entradas y salidas que se van a conectar en un lazo de retroalimentación.

feedin = [2 4];
feedout = [1 3 4];
sys = feedback(G,K,feedin,feedout,-1);
size(sys)
State-space model with 4 outputs, 5 inputs, and 6 states.

sys es el modelo de espacio de estados de lazo cerrado resultante que se obtiene conectando las entradas y salidas especificadas de G y K.

Argumentos de entrada

contraer todo

Sistemas para conectar en un lazo de retroalimentación, especificados como modelos de sistemas dinámicos. Se admiten los siguientes tipos de sistemas dinámicos:

  • Modelos LTI numéricos en tiempo continuo o en tiempo discreto, como modelos tf, zpk, pid, pidstd o ss.

  • Modelos de respuesta en frecuencia como frd o genfrd.

  • Modelos LTI generalizados o con incertidumbre, como modelos genss o uss (Robust Control Toolbox). El uso de modelos con incertidumbre requiere Robust Control Toolbox™.

    El lazo de retroalimentación resultante asume los

    • valores actuales de los componentes ajustables para los bloques de diseño de control ajustables.

    • valores nominales del modelo para los bloques de diseño de control con incertidumbre.

Para más información, consulte modelos de sistemas dinámicos.

Cuando sys1 y sys2 son dos tipos de modelos diferentes, feedback utiliza reglas de prioridad para determinar el modelo sys resultante. Por ejemplo, cuando un modelo de espacio de estados y una función de transferencia se conectan en un lazo de retroalimentación, el sistema resultante es un modelo de espacio de estados basado en las reglas de prioridad. Para más información, consulte Rules That Determine Model Type.

Subconjunto de entradas que se desea utilizar, especificado como un vector.

Basándose en la figura, feedin contiene índice del vector de entrada de la planta MIMO P y especifica el subconjunto de entradas u implicado en el lazo de retroalimentación. El modelo resultante sys tiene las mismas entradas que G, y con el mismo orden.

Para ver un ejemplo, consulte Especificar conexiones de entrada y salida en un lazo de retroalimentación.

Subconjunto de salidas que se desea utilizar, especificado como un vector.

feedout especifica qué salidas de la planta MIMO G se utilizan para el retroalimentación. El modelo resultante sys tiene las mismas salidas que G, y con el mismo orden.

Para ver un ejemplo, consulte Especificar conexiones de entrada y salida en un lazo de retroalimentación.

Tipo de retroalimentación, especificado como -1 para retroalimentación negativo o +1 para retroalimentación positivo. feedback asume retroalimentación negativo por defecto.

Argumentos de salida

contraer todo

Sistema de lazo cerrado, devuelto como un modelo de sistema dinámico SISO o MIMO. sys puede ser uno de los siguientes en función de las reglas de prioridad:

  • Modelos LTI numéricos en tiempo continuo o en tiempo discreto, como modelos tf, zpk, ss, pid o pidstd.

  • Modelos LTI generalizados o con incertidumbre, como modelos genss o uss (Robust Control Toolbox). El uso de modelos con incertidumbre requiere Robust Control Toolbox.

Cuando sys1 y sys2 son dos tipos de modelos diferentes, feedback utiliza reglas de prioridad para determinar el modelo sys resultante. Por ejemplo, cuando un modelo de espacio de estados y una función de transferencia se conectan en un lazo de retroalimentación, el sistema resultante es un modelo de espacio de estados basado en las reglas de prioridad descritas en Rules That Determine Model Type.

Limitaciones

  • La conexión de retroalimentación debe estar libre de bucles algebraicos. Por ejemplo, si D1 y D2 son las matrices de alimentación de sys1 y sys2, esta condición es equivalente a:

    • I + D1D2 no singular al utilizar retroalimentación negativo

    • I − D1D2 no singular al utilizar retroalimentación positivo

Sugerencias

  • En el caso de estructuras de retroalimentación complicadas, utilice append y connect.

Historial de versiones

Introducido antes de R2006a