ER1.21. Discretización con diferentes períodos de muestreo de una ecuación de estado con un único retardo

Introducción (planteamiento)

Discretizar la siguiente ecuación de estado de orden 2 con dos entradas, cada una con diferentes retardos, con los tres períodos de muestreo indicados y analizar los resultados:

˙x=[1102]x+[11]u(t0.2)y(t)=x1Ts={0.4,0.1,0.08}

Método (plan de solución)

Pasos: i) cálculo de la matriz de transición del estado (la cual se puede obtener en función del período de muestreo y funciona para todos los casos), ii) discretización con cada período de muestreo aplicando diferentes fórmulas dependiendo si el retardo es o no un múltiplo del período de muestreo, iii) verificación de los resultados con MATLAB, iv) análisis de los resultados (en especial, comparar con la función de transferencia).

Resultados (solución)

Para todos los casos, y(k)=x1(k). Cálculo de la matriz de transición del estado:

Φ(t)=L1{(sIA)1}=L1{[s+110s+2]1}

Φ(t)=L1{[1s+11(s+1)(s+2)01s+2]}=[etete2t0e2t]

Discretización con Ts=0.4 (retardo menor que el período de muestreo):

Φ(0.4)=[0.67030.221000.4493]

d=τTs=0.20.4=0.5=0

Γ0=Tsτ0Φ(t)dtB=0.20[etete2t0e2t][11]dt=0.20[e2te2t]dt=[0.16480.1648]

Γ1=Φ(Tsτ)τ0Φ(t)dtB=[0.11050.1105]

Modelo discreto:

[x(k+1)u(k)]=[ΦΓ100][x(k)u(k1)]+[Γ0I]u(k)

[x1(k+1)x2(k+1)u(k)]=[0.67030.22100.110500.44930.1105000][x1(k)x2(k)u(k1)]+[0.16480.16481]u(k)

Para Ts=0.1 se tiene que τ=2Ts,d=2, por lo que el modelo es el mismo sin retardo, pero con la entrada desplazada, es decir, se aplica un método de discretización diferente:

Φ(0.1)=[0.90480.086100.8187]

Γ=T0Φ(t)dtB=0.10[e2te2t]dt=[0.09060.0906]

El modelo discreto es:

[x1(k+1)x2(k+1)]=[0.90480.086100.8187][x1(k)x2(k)]+[0.09060.0906]u(k2)

Para Ts=0.08 se tiene:

d=τTs=0.20.08=2.5=2

Por lo tanto, se dejan los dos enteros para la solución final y se discretiza con un retardo τ=0.5. Repitiendo los pasos del primer caso con τ=0.5 y un retardo discreto de 2 se llega al siguiente resultado:

[x1(k+1)x2(k+1)u(k)]=[0.92310.070970.0354900.85210.03549000][x1(k)x2(k)u(k1)]+[0.038440.038441]u(k2)

El modelo discreto anterior sin retardo y con el estado expandido en dos estados adicionales, obtenido con la función c2d_expand de MATLAB, es:

S = ss ([-1 1; 0 -2], [1; -1], [1 0], [0], 'InputDelay', 0.2); 
SDexp = c2d_expand(S,0.08)

 

Resultado de MATLAB 1

Discusión y verificación

Verificación con MATLAB para Ts=0.4, τ<Ts:

S = ss ([-1 1; 0 -2], [1; -1], [1 0], [0], 'InputDelay', 0.2); 
Sd = c2d (S, 0.4)
Resultado de MATLAB 2               Resultado de MATLAB 3

Como la matriz Φ es triangular superior se observa claramente que los valores propios están dentro del círculo unitario, por lo que el sistema discreto es estable. Además, tiene un polo en z=0. MATLAB permite obtener la función de transferencia a partir del siguiente código, el cual entrega el resultado que se muestra. Este proceso es equivalente a tomar la función de transferencia continua y discretizarla.

Gd = tf(Sd)

La función de transferencia respectiva se muestra a continuación, donde se observa en el denominador el polo en el origen correspondiente a z1, es decir, a un retardo puro de un período de muestreo. Al ser el retardo menor que el período de muestreo, el retardo queda representado solo por el retardo puro y no el retardo intrínseco (ver figura abajo), algo propio de la transformada z modificada.

Resultado de MATLAB 4 

Verificación con MATLAB:

S = ss ([-1 1; 0 -2], [1; -1], [1 0], [0], 'InputDelay', 0.2); 
Sd = c2d (S, 0.1); 
Gd = tf(Sd)

Resultado de MATLAB 5    Resultado de MATLAB 6


La función de transferencia discreta se muestra a continuación, donde se observa que el orden es 2 y el retardo puro es igual a 2 (dado que τ=2Ts), pero hay un retardo adicional intrínseco de 1 (debido a la discretización aplicando la transformada z convencional), por lo que el retardo total nk es 3 (ver la figura de abajo): 

Resultado de MATLAB 7

Verificación con MATLAB para Ts=0.08:

S = ss ([-1 1; 0 -2], [1; -1], [1 0], [0], 'InputDelay', 0.2); 
Sd = c2d (S, 0.08)

Resultado de MATLAB 8             Resultado de MATLAB 9


La función de transferencia se muestra a continuación. Sacando el factor común en el denominador, se observa que el orden es 2, el retardo total nk es igual a 3. Hay un retardo de 2 debido al retardo del modelo continuo, pero falta un retardo de 0.04 (τ2Ts=0.20.16) que es menor que 1, por lo cual se aplica la transformada z modificada, que entrega un retardo puro y no intrínseco, como en el primer caso con Ts=0.4.

Resultado de MATLAB 10

Respuesta temporal


Las respuestas temporales de los modelos anteriores a un escalón se muestran arriba, donde se observa el efecto del muestreo en cada caso. Es muy importante analizar muy bien este gráfico y entenderlo en el marco del retardo total, retardo puro y retardo intrínseco, además de la aplicación de la transformada z convencional y la modificada.


 

Comentarios