Main Content

nyquist

Diagrama de Nyquist de la respuesta en frecuencia

Descripción

ejemplo

nyquist(sys) crea un diagrama de Nyquist de la respuesta en frecuencia de un modelo de sistema dinámico sys. El diagrama muestra la parte real y la imaginaria de la respuesta del sistema como una función de frecuencia.

nyquist representa un contorno que consta de frecuencias positivas y negativas. El diagrama también muestra flechas que indican la dirección de la frecuencia ascendente para cada rama. nyquist determina automáticamente qué frecuencias representar en función de la dinámica del sistema.

Si sys es un modelo de múltiples entradas y múltiples salidas (MIMO), nyquist crea un arreglo de diagramas de Nyquist y cada diagrama muestra la respuesta en frecuencia de un par E/S.

Si sys es un modelo con coeficientes complejos, entonces las ramas positiva y negativa no son simétricas.

ejemplo

nyquist(sys1,sys2,...,sysN) representa la respuesta en frecuencia de varios sistemas dinámicos en el mismo diagrama. Todos los sistemas deben contar con el mismo número de entradas y salidas.

ejemplo

nyquist(sys1,LineSpec1,...,sysN,LineSpecN) especifica un color, un estilo de línea y un marcador para cada sistema del diagrama.

ejemplo

nyquist(___,w) representa respuestas de sistema para frecuencias especificadas por w.

  • Si w es un arreglo de celdas en formato {wmin,wmax}, entonces nyquist representa la respuesta en frecuencias entre wmin y wmax.

  • Si w es un vector de frecuencias, entonces nyquist representa la respuesta en cada frecuencia especificada. El vector w puede contener frecuencias negativas y positivas.

Puede utilizar w con cualquiera de las combinaciones de entrada/argumento de sintaxis anteriores.

ejemplo

[re,im,wout] = nyquist(sys) devuelve la parte real y la imaginaria de la respuesta en frecuencia en cada frecuencia del vector wout. La función determina automáticamente frecuencias de wout en función de la dinámica del sistema. Esta sintaxis no crea un diagrama.

ejemplo

[re,im,wout] = nyquist(sys,w) devuelve los datos de respuesta en las frecuencias especificadas por w.

  • Si w es un arreglo de celdas en formato {wmin,wmax}, entonces wout contiene frecuencias entre wmin y wmax.

  • Si w es un vector de frecuencias, entonces wout = w.

ejemplo

[re,im,wout,sdre,sdim] = nyquist(sys,w) también devuelve la desviación estándar estimada de la parte real y la imaginaria de la respuesta en frecuencia para el modelo identificado sys. Si omite w, entonces la función determina automáticamente frecuencias en wout en función de la dinámica del sistema.

Ejemplos

contraer todo

Cree la siguiente función de transferencia y represente su respuesta de Nyquist.

H(s)=2s2+5s+1s2+2s+3.

H = tf([2 5 1],[1 2 3]);
nyquist(H)

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

La función nyquist puede mostrar una cuadrícula de círculos M, que son los contornos de la magnitud constante de lazo cerrado. Los círculos M se definen como los lugares de números complejos donde la siguiente cantidad es un valor constante en toda la frecuencia.

T(jω)=|G(jω)1+G(jω)|.

En este caso, ω es la frecuencia en radianes/TimeUnit, donde TimeUnit son las unidades de tiempo del sistema y G es la colección de números complejos que satisfacen el requisito de una magnitud constante.

Para mostrar la cuadrícula de círculos M, haga clic con el botón secundario en el diagrama y seleccione Grid. De manera alternativa, utilice el comando grid.

grid on

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

Cree un diagrama de Nyquist a lo largo de un rango de frecuencia especificado. Utilice este enfoque cuando desee centrarse en la dinámica de un rango de frecuencia en particular.

H = tf([-0.1,-2.4,-181,-1950],[1,3.3,990,2600]);
nyquist(H,{1,100})

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

El arreglo de celdas {1,100} especifica un rango de frecuencia [1,100] para la rama de frecuencia positiva y [–100,–1] para la rama de frecuencia negativa en el diagrama de Nyquist. En el caso de modelos con coeficientes reales, la banda de frecuencia negativa se obtiene mediante simetría. Cuando establece límites de frecuencia de esta manera, la función selecciona los puntos intermedios para los datos de respuesta en frecuencia.

Como alternativa, especifique un vector de puntos de frecuencia para utilizar cuando evalúe y represente la respuesta en frecuencia.

w = 1:0.1:30;
nyquist(H,w,'.-')

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

nyquist representa la respuesta en frecuencia en las frecuencias especificadas.

Compare la respuesta en frecuencia de varios sistemas dinámicos en el mismo diagrama de Nyquist.

Cree los sistemas dinámicos.

rng(0)
sys1 = tf(3,[1,2,1]);
sys2 = tf([2 5 1],[1 2 3]);
sys3 = rss(4);

Cree un diagrama de Nyquist que muestre todos los sistemas.

nyquist(sys1,sys2,sys3)
legend('Location','southwest')

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent sys1, sys2, sys3.

Especifique el estilo de línea, el color o el marcador en cada sistema de un diagrama de Nyquist utilizando el argumento de entrada LineSpec.

sys1 = tf(3,[1,2,1]);
sys2 = tf([2 5 1],[1 2 3]);
nyquist(sys1,'o:',sys2,'g')

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent sys1, sys2.

La primera LineSpec, 'o:', especifica una línea de puntos con marcadores circulares para la respuesta de sys1. La segunda LineSpec, 'g', especifica una línea continua verde para la respuesta de sys2.

Calcule la parte real y la imaginaria de la respuesta en frecuencia de un sistema SISO.

Si no se especifican frecuencias, nyquist elige frecuencias en función de la dinámica del sistema y las devuelve en el tercer argumento de salida.

H = tf([2 5 1],[1 2 3]);
[re,im,wout] = nyquist(H);

Dado que H es un modelo SISO, las primeras dos dimensiones de re y im son 1. La tercera dimensión es el número de frecuencias de wout.

size(re)
ans = 1×3

     1     1   141

length(wout)
ans = 141

De este modo, cada entrada a lo largo de la tercera dimensión de re proporciona la parte real de la respuesta en la correspondiente frecuencia de wout.

Para este ejemplo, cree un sistema de dos salidas y tres entradas.

rng(0,'twister');
H = rss(4,2,3);

En este sistema, nyquist representa las respuestas en frecuencia de cada canal de E/S en un diagrama diferente y en una única figura.

nyquist(H)

Figure contains 6 axes objects. Axes object 1 with title From: In(1) contains an object of type line. This object represents H. Axes object 2 contains an object of type line. This object represents H. Axes object 3 with title From: In(2) contains an object of type line. This object represents H. Axes object 4 contains an object of type line. This object represents H. Axes object 5 with title From: In(3) contains an object of type line. This object represents H. Axes object 6 contains an object of type line. This object represents H.

Calcule la parte real y la imaginaria de estas respuestas en 20 frecuencias entre 1 y 10 radianes.

w = logspace(0,1,20);
[re,im] = nyquist(H,w);

re y im son arreglos tridimensionales en los que las primeras dos dimensiones corresponden a las dimensiones de salida y entrada de H y la tercera dimensión es el número de frecuencias. A modo de ejemplo, examine las dimensiones de re.

size(re)
ans = 1×3

     2     3    20

De este modo, por ejemplo, re(1,3,10) es la parte real de la respuesta desde la tercera entrada hasta la primera salida, calculada en la 10.ª frecuencia de w. Del mismo modo, im(1,3,10) contiene la parte imaginaria de la misma respuesta.

Calcule las desviaciones estándar de la parte real y la imaginaria de la respuesta en frecuencia de un modelo identificado. Utilice estos datos para crear una gráfica de 3σ de la incertidumbre de la respuesta.

Cargue los datos de la estimación z2.

load iddata2 z2;

Identifique un modelo de función de transferencia utilizando los datos. Para utilizar el comando tfest se requiere el software System Identification Toolbox™.

sys_p = tfest(z2,2);

Obtenga las desviaciones estándar para la parte real y la imaginaria de la respuesta en frecuencia para un conjunto de 512 frecuencias w.

w = linspace(-10*pi,10*pi,512);
[re,im,wout,sdre,sdim] = nyquist(sys_p,w);

re e im son la parte real y la imaginaria de la respuesta en frecuencia, y sdre y sdim son sus desviaciones estándar respectivamente. Las frecuencias en wout son las mismas que las frecuencias que especificó en w.

Utilice los datos de desviación estándar para crear una gráfica de 3σ que corresponda a la región de confianza.

re = squeeze(re);
im = squeeze(im); 
sdre = squeeze(sdre);
sdim = squeeze(sdim);
plot(re,im,'b',re+3*sdre,im+3*sdim,'k:',re-3*sdre,im-3*sdim,'k:')
xlabel('Real Axis');
ylabel('Imaginary Axis');

Figure contains an axes object. The axes object contains 3 objects of type line.

Cree un diagrama de Nyquist de un modelo con coeficientes complejos y un modelo con coeficientes reales en el mismo diagrama.

rng(0)
A = [-3.50,-1.25-0.25i;2,0];
B = [1;0];
C = [-0.75-0.5i,0.625-0.125i];
D = 0.5;
Gc = ss(A,B,C,D);
Gr = rss(4);
nyquist(Gc,Gr)
legend('Complex-coefficient model','Real-coefficient model')

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent Complex-coefficient model, Real-coefficient model.

El diagrama de Nyquist muestra siempre dos ramas, una para frecuencias positivas y otra para frecuencias negativas. Las flechas indican la dirección de las frecuencias que aumentan en cada rama. En los modelos con coeficientes complejos, ninguna de las dos ramas es simétrica. En los modelos con coeficientes reales, la rama negativa se obtiene mediante simetría.

Argumentos de entrada

contraer todo

Sistema dinámico, especificado como un modelo de sistema dinámico SISO o MIMO, o bien un arreglo de modelos de sistemas dinámicos. Se admiten los siguientes tipos de sistemas dinámicos:

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

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

    • En el caso de los bloques de diseño de control ajustables, la función evalúa el modelo con su valor actual tanto para representar como para devolver los datos de respuesta en frecuencia.

    • En el caso de los bloques de diseño de control con incertidumbre, la función representa el valor nominal y muestras aleatorias del modelo. Cuando utiliza argumentos de salida, la función devuelve únicamente datos de respuesta en frecuencia para el modelo nominal.

  • Modelos de datos de respuesta en frecuencia, como modelos frd. En el caso de estos modelos, la función representa la respuesta en frecuencias definidas en el modelo.

  • Modelos LTI identificados, como modelos idtf (System Identification Toolbox), idss (System Identification Toolbox) o idproc (System Identification Toolbox). En el caso de estos modelos, la función también puede representar intervalos de confianza y devolver desviaciones estándar de la respuesta en frecuencia. Consulte Crear un diagrama de Nyquist de un modelo identificado con incertidumbre de la respuesta. El uso de modelos identificados requiere el software System Identification Toolbox™.

Si sys es un arreglo de modelos, la función representa las respuestas en frecuencia de todos los modelos del arreglo en los mismos ejes.

Estilo de línea, marcador y color, especificados como una cadena o vector de uno, dos o tres caracteres. Los caracteres pueden aparecer en cualquier orden. No es necesario que especifique las tres características (estilo de línea, marcador y color). Por ejemplo, si omite el estilo de línea y especifica el marcador, la gráfica mostrará únicamente el marcador y ninguna línea. Para obtener más información sobre cómo configurar este argumento, consulte el argumento de entrada LineSpec de la función plot.

Ejemplo: 'r--' especifica una línea discontinua roja

Ejemplo: '*b' especifica marcadores de asterisco azul

Ejemplo: 'y' especifica una línea amarilla

Frecuencias en las que calcular y representar la respuesta en frecuencia, especificadas como el arreglo de celdas {wmin,wmax} o como un vector de valores de frecuencia.

  • Si w es un arreglo de celdas en formato {wmin,wmax}, entonces la función calcula la respuesta en frecuencias entre wmin y wmax.

  • Si w es un vector de frecuencias, entonces la función calcula la respuesta en cada frecuencia especificada. Por ejemplo, utilice logspace para generar un vector fila con valores de frecuencia espaciados logarítmicamente. El vector w puede contener frecuencias positivas y negativas.

Si especifica un rango de frecuencia de [wmin,wmax] para su diagrama, el diagrama muestra un contorno formado tanto por frecuencias positivas [wmin,wmax] como por frecuencias negativas [–wmax,–wmin].

Especifique frecuencias en unidades de rad/TimeUnit, donde TimeUnit es la propiedad TimeUnit del modelo.

Argumentos de salida

contraer todo

Parte real de la respuesta del sistema, devuelta como un arreglo 3D. Las dimensiones de este arreglo son (número de salidas del sistema) por (número de entradas del sistema) por (número de puntos de frecuencia).

Parte imaginaria de la respuesta del sistema, devuelta como un arreglo 3D. Las dimensiones de este arreglo son (número de salidas del sistema) por (número de entradas del sistema) por (número de puntos de frecuencia).

Frecuencias en las que la función devuelve la respuesta del sistema, devueltas como un vector columna. La función elige los valores de frecuencia en función de la dinámica del modelo, a menos que especifique frecuencias con el argumento de entrada w.

wout también contiene valores de frecuencia negativos para modelos con coeficientes complejos.

Los valores de frecuencia se expresan en radianes por TimeUnit, donde TimeUnit es el valor de la propiedad TimeUnit de sys.

Desviación estándar estimada de la parte real de la respuesta en cada punto de frecuencia, devuelta como un arreglo 3D. sdre tiene las mismas dimensiones que re.

Si sys no es un modelo LTI identificado, sdre es [].

Desviación estándar estimada de la parte imaginaria de la respuesta en cada punto de frecuencia, devuelta como un arreglo 3D. sdim tiene las mismas dimensiones que im.

Si sys no es un modelo LTI identificado, sdim es [].

Sugerencias

  • Cuando necesite opciones de personalización de diagramas adicionales, utilice en su lugar nyquistplot.

  • Existen dos opciones de zoom aplicables específicamente a los diagramas de Nyquist. Estas opciones están disponibles en el menú que aparece al hacer clic con el botón secundario:

    • Full View: recorta las ramas desacotadas del diagrama de Nyquist, pero sigue incluyendo el punto crítico (–1, 0).

    • Zoom on (-1,0): amplía la imagen alrededor del punto crítico (–1, 0). Para acceder al zoom del punto crítico de forma programática, utilice el comando zoomcp. Para obtener más información, consulte nyquistplot.

  • Para activar los marcadores de datos que muestran el valor real y el imaginario en una frecuencia dada, haga clic en cualquier parte de la curva. La siguiente figura muestra un diagrama nyquist con un marcador de datos.

Historial de versiones

Introducido antes de R2006a