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.

Retardos de tiempo en sistemas lineales

Utilice las siguientes propiedades de modelo para representar retardos de tiempo en sistemas lineales.

  • InputDelay, OutputDelay: retardos de tiempo en las entradas o salidas del sistema

  • ioDelay, InternalDelay: retardos de tiempo internos del sistema

En modelos de tiempo discreto, estas propiedades se limitan a valores enteros que representan retardos expresados como múltiplos enteros del tiempo de muestreo. Para aproximar modelos de tiempo discreto con retardos que son un múltiplo fraccionario del tiempo de muestreo, utilice thiran.

Modelo de primer orden más tiempo muerto

Este ejemplo muestra cómo crear un modelo de primer orden más tiempo muerto utilizando las propiedades InputDelay u OutputDelay de tf.

Para crear la siguiente función de transferencia de primer orden con un retardo de tiempo de 2.1 segundos:

G(s)=e2.1s1s+10,

introduzca:

G = tf(1,[1 10],'InputDelay',2.1)

donde InputDelay especifica el retardo en la entrada de la función de transferencia.

Sugerencia

Puede utilizar InputDelay con zpk del mismo modo que con tf:

G = zpk([],-10,1,'InputDelay',2.1)

En el caso de las funciones de transferencia SISO, un retardo en la entrada es equivalente a un retardo en la salida. Por tanto, el siguiente comando crea la misma función de transferencia:

G = tf(1,[1 10],'OutputDelay',2.1)

Utilice la notación de puntos para examinar o cambiar el valor de un retardo de tiempo. Por ejemplo, cambie el retardo de tiempo a 3.2 de la siguiente manera:

 G.OutputDelay = 3.2;

Para ver el valor actual, introduzca:

G.OutputDelay

ans =

    3.2000

Sugerencia

Una forma alternativa de crear un modelo con un retardo de tiempo es especificar la función de transferencia con el retardo como expresión en s:

  1. Cree un modelo de función de transferencia para la variable s.

    s = tf('s');          
  2. Especifique G(s) como expresión en s.

    G = exp(-2.1*s)/(s+10);

Retardo de entrada y de salida en modelos de espacio de estados

Este ejemplo muestra cómo crear modelos de espacio de estados con retardos en las entradas y las salidas utilizando las propiedades InputDelay u OutputDelay de ss.

Cree un modelo de espacio de estados describiendo el siguiente sistema de una entrada y dos salidas:

dx(t)dt=2x(t)+3u(t1.5)y(t)=[x(t0.7)x(t)].

Este sistema tiene un retardo de entrada de 1.5. La primera salida tiene un retardo de salida de 0.7 y la segunda salida no tiene retardo.

Nota

En contraste con las funciones de transferencia SISO, los retardos de entrada no son equivalentes a los retardos de salida en los modelos de espacio de estados. Pasar un retardo desde la entrada a la salida de un modelo de espacio de estados requiere introducir un desplazamiento temporal en los estados del modelo. Por ejemplo, en el modelo de este ejemplo, definir T = t – 1.5 y X(T) = x(T + 1.5) da como resultado el siguiente sistema equivalente:

dX(T)dT=2X(T)+3u(T)y(T)=[X(T2.2)X(T1.5)].

Todos los retardos de tiempo se encuentran en las salidas, pero la nueva variable de estado X está desplazada en el tiempo con respecto a la variable de estado original x. Por tanto, si los estados tienen significado físico, o si conoce las condiciones de estado iniciales, piénselo detenidamente antes de alternar los retardos de tiempo entre las entradas y las salidas.

Para crear este sistema:

  1. Defina las matrices de espacio de estados.

    A = -2;
    B = 3;
    C = [1;-1];
    D = 0;
    
  2. Cree el modelo.

    G = ss(A,B,C,D,'InputDelay',1.5,'OutputDelay',[0.7;0])

G es un modelo ss.

Sugerencia

Utilice delayss para crear modelos de espacio de estados con combinaciones más generales de retardos de entrada, salida y estado, con el formato:

dxdt=Ax(t)+Bu(t)+j=1N(Ajx(ttj)+Bju(ttj))y(t)=Cx(t)+Du(t)+j=1N(Cjx(ttj)+Dju(ttj))

Retardo de transporte en funciones de transferencia MIMO

Este ejemplo muestra cómo crear una función de transferencia MIMO con distintos retardos de transporte para cada par de entrada/salida (E/S).

Cree la función de transferencia MIMO:

H(s)=[e0.12se0.3s+1s+1010e0.2s1s+5].

Los retardos de tiempo en sistemas MIMO pueden ser específicos para cada par E/S, como en este ejemplo. No puede utilizar InputDelay y OutputDelay para modelar retardos de transporte específicos para una E/S. En su lugar, utilice ioDelay para especificar el retardo de transporte en cada par E/S.

Para crear esta función de transferencia MIMO:

  1. Cree un modelo de función de transferencia para la variable s.

    s = tf('s');          
  2. Utilice la variable s para especificar las funciones de transferencia de H sin los retardos de tiempo.

    H = [2/s (s+1)/(s+10); 10 (s-1)/(s+5)];
    
  3. Especifique la propiedad ioDelay de H como un arreglo de valores correspondiente al retardo de transporte para cada par E/S.

    H.IODelay = [0.1 0.3; 0 0.2];

H es un modelo tf de dos entradas y dos salidas. Cada par E/S en H tiene el retardo de tiempo especificado por la entrada correspondiente en tau.

Función de transferencia en tiempo discreto con retardo de tiempo

Este ejemplo muestra cómo crear una función de transferencia en tiempo discreto con un retardo de tiempo.

En modelos de tiempo discreto, un retardo de un periodo de muestreo corresponde a un factor de z-1 en la función de transferencia. Por ejemplo, la siguiente función de transferencia representa un sistema SISO en tiempo discreto con un retardo de 25 periodos de muestreo.

H(z)=z-252z-0.95.

Para representar retardos enteros en sistemas de tiempo discreto en MATLAB, establezca la propiedad 'InputDelay' del objeto de modelo en un valor entero. Por ejemplo, el siguiente comando crea un modelo tf que representa H(z) con un tiempo de muestreo de 0.1 segundos.

H = tf(2,[1 -0.95],0.1,'InputDelay',25)
H =
 
               2
  z^(-25) * --------
            z - 0.95
 
Sample time: 0.1 seconds
Discrete-time transfer function.

Si el sistema tiene un retardo de tiempo que no es un múltiplo entero del tiempo de muestreo, puede utilizar el comando thiran para aproximar la parte fraccionaria del retardo de tiempo con un filtro de paso total. Consulte Time-Delay Approximation.

Ejemplos relacionados

Más acerca de