Contenido principal

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.

freqresp

Evaluar la respuesta del sistema en una cuadrícula de frecuencias

Descripción

Utilice freqresp para evaluar la respuesta del sistema en una cuadrícula de frecuencias. Para obtener los datos de magnitud y de fase, así como las gráficas de respuesta en frecuencia, utilice bode.

[H,wout] = freqresp(sys) devuelve la respuesta en frecuencia del modelo de sistema dinámico sys en frecuencias wout. freqresp determina automáticamente las frecuencias en función de la dinámica de sys. Para obtener más información sobre la respuesta en frecuencia, consulte Respuesta en frecuencia.

ejemplo

H = freqresp(sys,w) devuelve la respuesta en frecuencia en la cuadrícula de frecuencias real especificada por el vector w.

ejemplo

H = freqresp(sys,w,units) especifica de manera explícita las unidades de frecuencia de w.

[H,wout,covH] = freqresp(sys,___) también devuelve la covarianza covH de la respuesta en frecuencia. Use esta sintaxis solo si sys es un modelo identificado de uno de los tipos incluidos en Identified LTI Models.

ejemplo

Ejemplos

contraer todo

Para este ejemplo, considere el siguiente modelo de espacio de estados SISO:

A=[-1.5-210]B=[0.50]C=[01]D=0SISO State-Space Model

Cree el modelo de espacio de estados SISO definido por las siguientes matrices de espacio de estados:

A = [-1.5,-2;1,0];
B = [0.5;0];
C = [0,1];
D = 0;
sys = ss(A,B,C,D);

Calcule la respuesta en frecuencia del sistema.

[H,wout] = freqresp(sys);
size(H)
ans = 1×3

     1     1    56

H contiene la respuesta en frecuencia a 56 frecuencias que se seleccionan automáticamente en función de la dinámica de sys.

size(wout)
ans = 1×2

    56     1

wout contiene las 56 frecuencias correspondientes.

Cree el siguiente sistema de 2 entradas y 2 salidas:

sys=[01s+1s-1s+21]

sys11 = 0; 
sys22 = 1; 
sys12 = tf(1,[1 1]); 
sys21 = tf([1 -1],[1 2]);
sys = [sys11,sys12;sys21,sys22];

Calcule la respuesta en frecuencia del sistema.

[H,wout] = freqresp(sys);

H es un arreglo de 2 por 2 por 45. Cada entrada H(:,:,k) de H es una matriz de 2 por 2 que da la respuesta en frecuencia compleja de todos los pares entrada-salida de sys en la frecuencia wout(k) correspondiente. Las 45 frecuencias de wout se seleccionan automáticamente en función de la dinámica de sys.

Cree el siguiente sistema de 2 entradas y 2 salidas:

sys=[01s+1s-1s+21]

sys11 = 0; 
sys22 = 1; 
sys12 = tf(1,[1 1]); 
sys21 = tf([1 -1],[1 2]);
sys = [sys11,sys12;sys21,sys22];

Cree una cuadrícula espaciada logarítmicamente de 200 puntos de frecuencia entre 10 y 100 radianes por segundo.

w = logspace(1,2,200);

Calcule la respuesta en frecuencia del sistema en la cuadrícula de frecuencia especificada.

H = freqresp(sys,w);

H es un arreglo de 2 por 2 por 200. Cada entrada H(:,:,k) de H es una matriz de 2 por 2 que da la respuesta en frecuencia compleja de todos los pares entrada-salida de sys en la frecuencia w(k) correspondiente.

Calcule la respuesta en frecuencia y la covarianza asociada para un modelo de proceso identificado en su frecuencia en respuesta pico.

Cargue los datos de estimación z1.

load iddata1 z1

Realice una estimación de un modelo de proceso SISO a partir de los datos.

model = procest(z1,'P2UZ');

Calcule la frecuencia en la que el modelo consigue la ganancia de respuesta en frecuencia de pico. Para conseguir un resultado más preciso, especifique un valor de tolerancia de 1e-6.

[gpeak,fpeak] = getPeakGain(model,1e-6);

Calcule la respuesta en frecuencia y la covarianza asociada para model en su frecuencia de respuesta pico.

[H,wout,covH] = freqresp(model,fpeak);

H es el valor de respuesta en la frecuencia fpeak y wout es igual a fpeak.

covH es un arreglo de 5 dimensiones que contiene la matriz de covarianza desde la respuesta de la entrada hasta la salida en la frecuencia fpeak. Aquí, covH(1,1,1,1,1) es la varianza de la parte real de la respuesta y covH(1,1,1,2,2) es la varianza de la parte imaginaria. Los elementos covH(1,1,1,1,2) y covH(1,1,1,2,1) son la covarianza entre las partes real e imaginaria de la respuesta.

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, como los modelos ss, tf y zpk.

  • Modelos dispersos de espacio de estados, como modelos sparss o mechss.

  • Modelos de espacio de estados generalizados o con incertidumbre, como modelos genss o uss (Robust Control Toolbox). El uso de modelos con incertidumbre requiere 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 para evaluar la respuesta en frecuencia.

    • En el caso de los bloques de diseño de control con incertidumbre, la función evalúa la respuesta en frecuencia en el valor nominal y muestras aleatorias del modelo.

  • Modelos de espacio de estados identificados, como modelos idss (System Identification Toolbox). El uso de modelos identificados requiere System Identification Toolbox™.

Para obtener una lista completa de modelos, consulte Modelos de sistemas dinámicos.

Frecuencias en las que evaluar la respuesta del sistema, especificadas como vector. Especifique frecuencias en unidades de rad/TimeUnit, donde TimeUnit son las unidades de tiempo en la propiedad TimeUnit de sys. Puede especificar las frecuencias directamente como valores reales o en términos de las variables de Laplace s y z.

  • Para obtener la respuesta del sistema en frecuencias especificadas, utilice valores reales en w.

  • Para obtener la respuesta del sistema a puntos especificados del plano s o z, utilice valores complejos. freqresp interpreta los valores complejos de la manera siguiente:

    • Para sys de tiempo continuo, la función interpreta w como w(k) = s(k) = j*freq(k), donde freq(k) son las frecuencias correspondientes para cada valor s.

    • Para sys de tiempo discreto, la función interpreta w como w(k) = z(k) = exp(j*freq(k)*Ts), donde freq(k) son las frecuencias y Ts es el tiempo de muestreo de sys.

Unidades de las frecuencias del vector de frecuencia de entrada w, especificadas como uno de los siguientes valores:

  • 'rad/TimeUnit': radianes por la unidad de tiempo especificada en la propiedad TimeUnit de sys

  • 'cycles/TimeUnit': ciclos por la unidad de tiempo especificada en la propiedad TimeUnit de sys

  • 'rad/s'

  • 'Hz'

  • 'kHz'

  • 'MHz'

  • 'GHz'

  • 'rpm'

Argumentos de salida

contraer todo

Valores de respuesta en frecuencia, devueltos como arreglo. Las dimensiones de H dependen de las dimensiones de sys.

  • Si sys es un modelo SISO, H es un arreglo de dimensiones 1 por 1 por Nw, donde Nw es el número de puntos de frecuencia (length(w) o length(wout)).

  • Si sys es un modelo MIMO con Ny salidas y Nu entradas, H es de Ny por Nu por Nw. Por lo tanto, H(:,:,k) es la respuesta de todos los canales de E/S en la k-ésima frecuencia y H(a,b,:) es la respuesta desde la entrada b hasta la salida a.

  • Si sys es un arreglo de modelos con dimensiones del arreglo [S1 ... Sn que contiene modelos con dimensiones de E/S [Ny Nu], H es un arreglo con dimensiones Ny por Nu por Nw por S1 por...por Sn. Por ejemplo, la respuesta en todas las frecuencias calculadas de la primera salida a la segunda salida del tercer sistema del arreglo es H(1,2,:,3).

Para modelos de datos de respuesta en frecuencia (como frd, genfrd o idfrd), freqresp(sys,w) se evalúa en NaN para los valores de w que quedan fuera del intervalo de frecuencia definido por sys.frequency. El comando freqresp puede interpolar entre frecuencias de sys.frequency. Sin embargo, freqresp no puede extrapolar más allá del intervalo de frecuencia definido por sys.frequency.

Frecuencias de salida correspondientes a la respuesta en frecuencia H, devueltas como vector. Al omitir w de las entradas a freqresp, el comando determina automáticamente las frecuencias de wout basadas en la dinámica del sistema. Si especifica w, wout = w

Covarianza de la respuesta en frecuencia, devuelta como arreglo 5D. Por ejemplo, covH(i,j,k,:,:) contiene la matriz de covarianza de 2 por 2 de la respuesta desde la i-ésima entrada hasta la j-ésima salida en la frecuencia w(k). El elemento (1,1) de esta matriz de 2 por 2 es la varianza de la parte real de la respuesta. El elemento (2,2) es la varianza de la parte imaginaria. Los elementos (1,2) y (2,1) son la covarianza entre las partes real e imaginaria de la respuesta.

Más acerca de

contraer todo

Algoritmos

Para las funciones de transferencia o los modelos cero-polo-ganancia, freqresp evalúa los numeradores y los denominadores en los puntos de frecuencia especificados. Para modelos de espacio de estados de tiempo continuo (A, B, C, D), la respuesta en frecuencia es

D+C(jωA)1B,ω=ω1,,ωN

Para mayor eficiencia, A se reduce a una forma de Hessenberg superior y la ecuación lineal (jω − A)X = B se resuelve en cada punto de frecuencia aprovechando la estructura de Hessenberg. La reducción a la forma de Hessenberg proporciona un buen equilibrio entre eficiencia y fiabilidad. Para obtener más información sobre esta técnica, consulte [1].

Referencias

[1] Laub, A.J., "Efficient Multivariable Frequency Response Computations," IEEE® Transactions on Automatic Control, AC-26 (1981), pp. 407-408.

Historial de versiones

Introducido antes de R2006a

Consulte también

| | | | | | (System Identification Toolbox)