Main Content

margin

Margen de ganancia, margen de fase y frecuencias de cruce

Descripción

ejemplo

margin(sys) representa la respuesta de Bode de sys en la pantalla e indica los márgenes de ganancia y fase en la gráfica. Los márgenes de ganancia se expresan en dB en la gráfica.

Las líneas verticales continuas marcan el margen de ganancia y el margen de fase. Las líneas verticales discontinuas indican las ubicaciones de Wcp, la frecuencia donde se mide el margen de fase, y Wcg, la frecuencia donde se mide el margen de ganancia. El título de la gráfica incluye la magnitud y la ubicación del margen de fase y ganancia.

Gm y Pm de un sistema indican la estabilidad relativa del sistema de lazo cerrado que se formó aplicando feedback negativo unitario a sys, como se muestra en la siguiente figura.

Gm es la cantidad de varianza de ganancia necesaria para unir la ganancia de lazo en la frecuencia Wcg, donde el ángulo de fase es –180° (módulo 360°). Dicho de otra forma, el margen de ganancia es 1/g si g es la ganancia en la frecuencia de fase –180°. Del mismo modo, el margen de fase es la diferencia entre la fase de la respuesta y –180° cuando la ganancia de lazo es 1,0.

La frecuencia Wcp a la que la magnitud es 1,0 se denomina frecuencia de unidad-ganancia o frecuencia de cruce de ganancias. Generalmente, los márgenes de ganancia de tres o más combinados con los márgenes de fase entre 30° y 60° resultan ser tradeoffs razonables entre ancho de banda y estabilidad.

margin(sys,w) representa la respuesta de Bode de sys utilizando el vector de frecuencias w en radianes/unidad de tiempo. Utilice esta sintaxis cuando tenga modelos dispersos como objetos de modelos sparss o mechss.

ejemplo

[Gm,Pm,Wcg,Wcp] = margin(sys) devuelve el margen de ganancia Gm en unidades absolutas, el margen de fase Pm y las frecuencias correspondientes Wcg y Wcp de sys. Wcg es la frecuencia en la que se mide el margen de ganancia, que es una frecuencia de cruce de fases de –180°. Wcp es la frecuencia en la que se mide el margen de fase, que es una frecuencia de cruce de ganancias de 0 dB. Estas frecuencias se expresan en radianes/TimeUnit, donde TimeUnit es la unidad especificada en la propiedad TimeUnit de sys. Cuando sys tiene varios cruces, margin devuelve los márgenes de ganancia y fase más pequeños y las frecuencias correspondientes.

margin devuelve una advertencia si el sistema no es estable internamente, si el lazo cerrado no es estable o contiene cancelaciones de polos y ceros fuera de la mitad izquierda del plano abierto.

ejemplo

[Gm,Pm,Wcg,Wcp] = margin(mag,phase,w) deriva los márgenes de ganancia y fase de los datos de respuesta en frecuencia. Proporcione los datos de ganancia mag en unidades absolutas y los datos de fase phase en grados. Puede proporcionar el vector de frecuencia w en cualquier unidad, y margin devuelve Wcg y Wcp en las mismas unidades.

ejemplo

[Gm,Pm] = margin(sys,J1,...,JN) devuelve el margen de ganancia Gm y el margen de fase Pm de las entradas en el arreglo de modelos sys con subíndices (J1,...,JN).

Ejemplos

contraer todo

Para este ejemplo, cree una función de transferencia continua.

sys = tf(1,[1 2 1 0])
sys =
 
         1
  ---------------
  s^3 + 2 s^2 + s
 
Continuous-time transfer function.

Muestre los márgenes de ganancia y fase gráficamente.

margin(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.

El margen de ganancia (6,02 dB) y el margen de fase (21,4 grados) que se muestran en la titulación se marcan con líneas verticales continuas. Las líneas verticales discontinuas indican las ubicaciones de Wcg, la frecuencia donde se mide el margen de ganancia, y Wcp, la frecuencia donde se mide el margen de fase.

Para este ejemplo, cree una función de transferencia de tiempo discreto.

sys = tf([0.04798 0.0464],[1 -1.81 0.9048],0.1)
sys =
 
   0.04798 z + 0.0464
  ---------------------
  z^2 - 1.81 z + 0.9048
 
Sample time: 0.1 seconds
Discrete-time transfer function.

Calcule el margen de ganancia, el margen de fase y las frecuencias.

[Gm,Pm,Wcg,Wcp] = margin(sys)
Gm = 2.0517
Pm = 13.5712
Wcg = 5.4374
Wcp = 4.3544

Los resultados indican que una variación de ganancia de aproximadamente 2,05 (6,24 dB) en la frecuencia de cruce de fases de 5,43 rad/s provocaría inestabilidad en el sistema. Del mismo modo, una variación de fase de aproximadamente 13,57 grados en la frecuencia de cruce de ganancias de 4,35 rad/s provocará que el sistema pierda estabilidad.

Para este ejemplo, cargue los datos de respuesta en frecuencia de un sistema de lazo abierto que se compone de valores de magnitud (m) y fase (p) medidos en las frecuencias en w.

load('openLoopFRD.mat','p','m','w');

Calcule los márgenes de ganancia y fase.

[Gm,Pm,Wcg,Wcp] = margin(m,p,w)
Gm = 0.6249
Pm = 48.9853
Wcg = 1.2732
Wcp = 1.5197

Para este ejemplo, cargue invertedPendulumArray.mat, que contiene un arreglo de 3 por 3 de modelos de péndulo invertido. La masa del péndulo varía mientras se mueve de un modelo a otro a lo largo de una única columna de sys, y la longitud del péndulo varía mientras se mueve a lo largo de una única fila. Los valores de masa utilizados son 100 g, 200 g y 300 g, y las longitudes del péndulo utilizadas son 3 m, 2 m y 1 m respectivamente.

Column1Column2Column3Row1100g,3m100g,2m100g,1mRow2200g,3m200g,2m200g,1mRow3300g,3m300g,2m300g,1m

load('invertedPendulumArray.mat','sys');
size(sys)
3x3 array of transfer functions.
Each model has 1 outputs and 1 inputs.

Encuentre los márgenes de ganancia y fase para todos los modelos en el arreglo.

[Gm,Pm] = margin(sys)
Gm = 3×3

    0.9800    0.9800    0.9800
    0.9800    0.9800    0.9800
    0.9800    0.9800    0.9800

Pm = 3×3

  -11.3798  -11.4118  -11.4433
  -11.4059  -11.4296  -11.4532
  -11.4228  -11.4410  -11.4592

margin devuelve dos arreglos, Gm y Pm, en los que cada entrada es el valor del margen de ganancia y fase de la entrada correspondiente en sys. Por ejemplo, el margen de ganancia y fase del modelo con un peso de péndulo de 100 g y una longitud de 2 m es Gm(1,2) y Pm(1,2), respectivamente.

Argumentos de entrada

contraer todo

Sistema dinámico, especificado como un modelo de sistema dinámico SISO, o bien un arreglo de modelos de sistemas dinámicos SISO. Los sistemas dinámicos que puede utilizar incluyen modelos LTI numéricos de tiempo continuo o de tiempo discreto como los modelos tf, zpk, ss, sparss o mechss.

Si sys es un modelo de espacio de estados generalizado genss o un modelo de espacio de estados con incertidumbre uss, margin devuelve el margen de ganancia y el margen de fase del valor actual o nominal de sys. Si sys es un arreglo de modelos, margin devuelve Gm y Pm del modelo correspondiente a su subíndice J1,...,JN en sys. Para obtener más información sobre arreglos de modelos, consulte Arreglos de los modelos.

Índices de modelos en un arreglo cuyos márgenes de ganancia y fase desea extraer, especificados como enteros positivos. Puede proporcionar tantos índices como dimensiones de arreglos hay en sys. Por ejemplo, si sys es un arreglo de 4 por 5 de modelos de sistemas dinámicos, el siguiente comando extrae Gm y Pm para la entrada (2,3) en el arreglo.

[Gm,Pm] = margin(sys,2,3);

Magnitud de la respuesta del sistema en unidades absolutas, especificada como un arreglo 3D. Puesto que margin solo acepta sistemas SISO, mag es un arreglo de 1 por 1 por N, donde N es el número de puntos de frecuencia. Para ver un ejemplo, consulte Obtener datos de magnitud y fase.

Fase de la respuesta del sistema en grados, especificada como un arreglo 3D. Puesto que margin solo acepta sistemas SISO, phase es un arreglo de 1 por 1 por N, donde N es el número de puntos de frecuencia. Para ver un ejemplo, consulte Obtener datos de magnitud y fase.

Frecuencias en las cuales se obtienen los valores de magnitud y fase de la respuesta del sistema, especificadas como un vector columna.

Argumentos de salida

contraer todo

Margen de ganancia, devuelto como un escalar o un arreglo. Si sys es:

  • Un solo modelo, entonces Gm se devuelve como un escalar.

  • Un arreglo de modelos, entonces Gm es un arreglo de márgenes de ganancia de cada modelo en sys.

Gm es la cantidad de varianza de ganancia necesaria para unir la ganancia de lazo en la frecuencia Wcg, donde el ángulo de fase es –180° (módulo 360°). Dicho de otra forma, el margen de ganancia es 1/g si g es la ganancia en la frecuencia de fase –180°. Los márgenes de ganancia negativos indican que se pierde estabilidad disminuyendo la ganancia, mientras que los márgenes de ganancia positivos indican que se pierde estabilidad aumentando la ganancia

El margen de ganancia Gm se calcula en unidades absolutas. Puede calcular el margen de ganancia en dB con

Gm_dB = 20*log10(Gm)

Margen de fase, devuelto como un escalar o un arreglo. Si sys es:

  • Un solo modelo, entonces Pm se devuelve como un escalar.

  • Un arreglo de modelos, entonces Pm es un arreglo de márgenes de fase de cada modelo en sys.

El margen de fase es la diferencia entre la fase de la respuesta y –180° cuando la ganancia de lazo es 1,0.

El margen de fase Pm se expresa en grados.

Frecuencia de cruce de fases, devuelta como un escalar. Wcg es la frecuencia en la que se mide el margen de ganancia, que es una frecuencia de cruce de fases de –180°.

Wcg se expresa en radianes/TimeUnit, donde TimeUnit es la unidad especificada en la propiedad TimeUnit de sys.

Frecuencia de cruce de ganancias, devuelta como un escalar. Wcp es la frecuencia en la que se mide el margen de fase, que es una frecuencia de cruce de ganancia de 0 dB.

Wcp se expresa en radianes/TimeUnit, donde TimeUnit es la unidad especificada en la propiedad TimeUnit de sys.

Sugerencias

  • Cuando utiliza margin(mag,phase,w), margin se basa en la interpolación para aproximar los márgenes, que suelen generar resultados menos precisos. Por ejemplo, si no hay cruce de 0 dB dentro del rango de w, margin devuelve un margen de fase de Inf. Por lo tanto, si tiene un modelo analítico sys, utilizar [Gm,Pm,Wcg,Wcp] = margin(sys) es una forma más fiable de obtener los márgenes.

Historial de versiones

Introducido antes de R2006a