analisis a respuesta transitoria
TRANSCRIPT
Capítulo 5: Análisis de Respuesta Transitoria
- 119 -
Capítulo 5.
ANÁLISIS DE RESPUESTA TRANSITORIA.
Sistemas de Control en Tiempo Discreto
- 120 -
5.1 INTRODUCCIÓN.
En este capítulo estudiaremos las carácterísticas de la respuesta transitoria de los
sistemas de control en lazo cerrado. La respuesta transitoria corresponde a aquella parte
de la respuesta debida a los ceros del sistema en lazo cerrado, y la respuesta en estado
permanente corresponde a aquella parte de la respuesta debida a los polos de la función
de entrada o excitación.
Con frecuencia, los sistemas de control en tiempo discreto son analizados
mediante entradas "estándar", como son entradas escalón, entradas rampa o entradas
senoidales. Esto es debido a que la respuesta del sistema a una entrada arbitraria puede
ser estimada a partir de su respuesta correspondiente a dichas entradas estándar. En este
capítulo, consideraremos la respuesta del sistema de control en tiempo discreto a
entradas en el dominio del tiempo, como son entradas escalón. [REF. 2].
5.2 ESPECIFICACIONES DE LA RESPUESTA TRANSITORIA.
En muchos casos prácticos, las características de diseño deseadas de los sistemas
de control, sean en tiempo continuo o en tiempo discreto, se especifican en términos de
cantidades en el dominio del tiempo. Esto ocurre debido a que los sistemas con
almacenamiento de energía no pueden responder de forma instantánea, y siempre que
estén sujetos a entradas o perturbaciones mostrarán algunas respuestas transitorias.
Con frecuencia, las características de diseño de un sistema de control están
especificadas en términos de su respuesta transitoria a una entrada escalón unitario, ya
que dicha entrada es fácil de generar, y sirve para proporcionar información útil de las
características de la respuesta transitoria. [REF. 2].
Capítulo 5: Análisis de Respuesta Transitoria
- 121 -
La respuesta transitoria de un sistema a una entrada escalón unitario depende de
las condiciones iniciales. Por comodidad, al comparar respuestas transitorias de varios
sistemas, es frecuente utilizar la condición inicial estándar: el sistema está inicialmente
en reposo, y la salida y todas sus derivadas con respecto al tiempo son cero. Las
características de respuesta pueden entonces compararse sin dificultad.
La respuesta transitoria de un sistema de control, donde la señal de salida es en
tiempo continuo, a menudo muestra oscilaciones amortiguadas antes de llegar al estado
permanente. Igual que en el caso de los sistemas de control en tiempo continuo, la
respuesta transitoria de un sistema de control digital puede caracterizarse no sólo por el
factor de amortiguamiento relativo y la frecuencia natural amortiguada [REF. 1], sino
por los parámetros que se muestran a continuación.
Primero definimos expr, que es la función con la que vamos a trabajar ahora.
NOTA del autor: Aunque mostramos la expresión en función de kT , expr sólo está en
función de k. A los procedimientos que describiremos a continuación, se les pasará
como argumentos dicha expresión y su período de muestreo correspondiente. En este
caso concreto, T = 0.1. También se le pasará el parámetro max, que es el número
máximo de puntos que tiene la secuencia.
> restart: Digits:=5:
f := (.13157e-1*z^3+1.1407*z^2+.13822*z-.20587) /
((z-1)*(z^2+0.3505*z-0.2642)):
expr := simplify(evalf(invztrans(f, z, k))):
subs(k=k*T, expr);
+
− + .77922 ( )charfcn0 k T .00022383 e( )−1.0002 k T
+ .99992 .20778 ( )-1.( ) + 1. k T
e( )−.33088 k T
Sistemas de Control en Tiempo Discreto
- 122 -
Y ahora la pintamos, teniendo en cuenta el período de muestreo:
> plot([seq([k/10, subs(k=k/10,expr)], k=0..20)], style=point,
xtickmarks=10);
5.2.1 Tiempo de retardo
El tiempo de retardo es el tiempo que tarda la respuesta en alcanzar o superar por
primera vez un valor mayor o igual que la mitad del valor final. [REF. 1].
Ejemplo:
Se define el intervalo de retardo kd como el índice del primer elemento de la
secuencia de salida con valor mayor o igual a la mitad del valor final de ésta. En los
sistemas discretos de control la salida es una respuesta temporal, por lo que el tiempo de
retardo dt se define como:
El procedimiento kd recibe como parámetro la secuencia de puntos de la salida y
calcula el intevalo de retardo kd . El procedimiento td calcula el tiempo de retardo
correspondiente. Sus parámetros, como ya se ha indicado, son expr, el período de
muestreo T y el número max de puntos de la secuencia.
td
= td kd T
Capítulo 5: Análisis de Respuesta Transitoria
- 123 -
> kd := proc(sec)
local i, f, mitad;
i := 1:
f := nops(sec):
mitad := sec[f, 2]/2;
while (sec[i,2] < mitad) do i := i+1:
od:
i-1:
end:
> td := proc(inv, T, max)
local sec, resp, i, invf;
invf := evalf(inv):
sec := []:
for i from 0 to max do
sec := [op(sec), [i, eval(subs(k=i, invf))]]:
od:
resp := kd(sec);
printf("\nTiempo de Retardo: td = %.3g\n", resp*T);
end:
> td(expr, 1/10, 20);
Tiempo de Retardo: td = .1
En el gráfico de la función (mostrado antes) puede comprobarse visualmente este
resultado.
Sistemas de Control en Tiempo Discreto
- 124 -
5.2.2 Tiempo de crecimiento o subida
El tiempo de crecimiento en sistemas continuos es el tiempo requerido para que
la respuesta crezca del 10% al 90%, del 5% al 95%, o del 0% al 100% de su valor final,
según la situación. Para sistemas de segundo orden subamortiguados, por lo general se
utiliza el tiempo de crecimiento de 0% a 100%. Para sistemas sobreamortiguados se
suele utilizar el tiempo de crecimiento de 10% a 90%. (Ver amortiguamiento).
[REF. 1].
Se define el intervalo de subida como el índice del primer elemento de la
secuencia de salida con valor mayor o igual al valor final de ésta. En los sistemas
discretos de control la salida es una respuesta temporal, por lo que el tiempo de
crecimiento o subida se define como [REF. 3]:
Ejemplo:
Se implementan los procedimientos kr y tr, que dada la secuencia de puntos de
una expresión, y un período de muestreo T, calculan el intervalo y el tiempo de subida.
> kr := proc(sec) local i, f, vfinal;
i := 1:
f := nops(sec):
vfinal := sec[f, 2];
while (sec[i,2] < vfinal) do i:=i+1:
od:
i-1:
end:
tr
kr
tr
= tr kr T
Capítulo 5: Análisis de Respuesta Transitoria
- 125 -
> tr := proc(inv, T, max)
local resp, i, sec, invf;
invf := evalf(inv):
sec := []:
for i from 0 to max do
sec := [op(sec), [i, eval(subs(k=i, invf))]]:
od:
resp := kr(sec):
printf("\nTiempo de Crecimiento: tr = %.3g\n", resp*T);
end:
> tr(expr, 1/10, 20);
Tiempo de Crecimiento: tr = .1
En el gráfico de la función puede comprobarse visualmente este resultado.
5.2.3 Tiempo de pico
El tiempo de pico es el tiempo requerido por la respuesta para alcanzar el primer
pico del sobreimpulso. [REF. 1].
Se define el intervalo de pico como el índice correspondiente al elemento de
la secuencia de salida de valor máximo. [REF. 3]. Como se señaló anteriormente,
teniendo en cuenta la particularidad en los sistemas discretos de control, se puede
definir el tiempo de pico como el instante en que el valor de la secuencia es máximo:
tp
kp
= tp kp T
Sistemas de Control en Tiempo Discreto
- 126 -
Ejemplo:
Se implementa el procedimiento tp, que dada la secuencia de puntos de una
expresión, y un período de muestreo T, calcula el tiempo de pico. Para ello nos
ayudamos del procedimiento kp, que calcula el intervalo de pico.
> kp := proc(sec)
local i, max, ind, f;
f := nops(sec):
max := sec[1,2]:
ind := 1:
for i from 1 to f do
if (sec[i,2] > max)
then max := sec[i,2]:
ind := i:
fi:
od:
ind-1:
end:
> tp := proc(inv, T, max)
local resp, i, sec, invf;
invf := evalf(inv):
sec := []:
for i from 0 to max do
sec := [op(sec), [i, eval(subs(k=i, invf))]]:
od: (continúa)
Capítulo 5: Análisis de Respuesta Transitoria
- 127 -
resp := kp(sec):
printf("\nTiempo de Pico: tp = %.3g\n", resp*T);
printf(" Valor maximo = %.3g\n", sec[resp+1, 2]);
end:
> tp(expr, 0.1, 20);
Tiempo de Pico: tp = .1
Valor maximo = 1.149
En el dibujo se aprecia que el primer pico se obtiene en = t k T con = k 1 y = T1
10
5.2.4 Sobreimpulso máximo
El máximo sobreimpulso es el valor pico máximo de la curva de respuesta,
medido a partir de la unidad. Si el valor final en estado permanente (estabilizado) de la
respuesta difiere de la unidad, entonces es común utilizar el sobreimpulso porcentual
máximo, definido por la relación:
Sobreimpulso máximo porcentual = − ( )x tp ( )x ∞
( )x ∞ 100%
Siendo ( )x k T la función de salida o respuesta.
El valor del máximo sobreimpulso (en porcentaje), indica en forma directa la
estabilidad relativa del sistema. [REF. 1].
Mp
Sistemas de Control en Tiempo Discreto
- 128 -
También se define el máximo sobreimpulso como el valor del elemento de la
secuencia de salida ( )x k T , de índice , [REF. 3], por lo que entonces se define el
máximo sobreimpulso como un valor relativo en tanto por ciento del valor final:
= Mp − ( )x kp ( )x ∞
( )x ∞ 100%
Ejemplo:
Se implementa el procedimiento Mp, que dada una expresión, y un período de
muestreo T, calcula el sobreimpulso máximo.
> Mp := proc(inv, T, max)
local x1, x2, resp, f, i, sec, invf;
invf := evalf(inv):
sec := []:
for i from 0 to max do
sec := [op(sec), [i, eval(subs(k=i, invf))]]:
od:
f := nops(sec):
x1 := sec[kp(sec)+1, 2]:
x2 := sec[f, 2]:
resp := (x1-x2)*100/x2:
printf("\nSobreimpulso Máximo Porcentual:");
printf(" Mp = %.3f%c\n", resp, "%");
printf(" Sube un %.3f%c sobre el ", resp, "%");
printf("valor final %.3g\n", x2);
printf(" Se puede apreciar en el dibujo.\n");
end:
kp
Capítulo 5: Análisis de Respuesta Transitoria
- 129 -
> Mp(expr, 0.1, 20);
Sobreimpulso Máximo Porcentual: Mp = 14.961%
Sube un 14.961% sobre el valor final 1
Se puede apreciar en el dibujo.
5.2.5 Tiempo de establecimiento
El tiempo de establecimiento es el tiempo requerido por la curva de respuesta
para alcanzar y mantenerse dentro de determinado rango alrededor del valor final de un
tamaño especificado, en función de un porcentaje absoluto de valor final, por lo general
2% ó 5%. El tiempo de establecimiento está relacionado con la constante de tiempo de
mayor valor en el sistema de control. El criterio para la fijación del porcentaje de error a
usar depende de los objetivos de diseño del sistema en cuestión. [REF. 1]. En nuestro
ejemplo pasamos el porcentaje como parámetro del procedimiento, debiendo estar entre
2% y 5%.
Se define el intervalo de establecimiento como el índice del primer elemento
de la secuencia de salida a partir del cual ésta se mantiene en la banda del más/menos
p% del valor final [REF. 3], siendo p el parámetro que se le pasa al procedimiento.
Asimismo, puede definirse el tiempo de establecimiento como:
ts
ks
ts
= ts ks T
Sistemas de Control en Tiempo Discreto
- 130 -
Ejemplo:
> ks := proc(sec, p)
local i, x2, ref, f;
if (p<2) or (p>5)
then ERROR(`invalid porcentaje`, p)
fi:
f := nops(sec):
x2 := sec[f, 2]:
ref := x2*p/100:
i := 1:
while ( (abs(sec[i,2]-c2) > ref) and (i <= f) ) do
i:=i+1:
od:
if (i=22)
then ERROR(`invalid ks`, i-1)
fi:
i-1:
end:
Capítulo 5: Análisis de Respuesta Transitoria
- 131 -
> ts := proc(inv, T, max, p)
local resp, valor, i, sec, invf;
invf := evalf(inv):
sec := []:
for i from 0 to max do
sec := [op(sec), [i, eval(subs(k=i, invf))]]:
od:
resp := ks(sec, p):
valor := resp*T:
printf("\nTiempo de Establecimiento:");
printf(" ts = %.3g\n", valor);
printf(" Tarda %d iteraciones en ", resp);
printf("alcanzar la banda del\n");
printf(" +/- %.3g%c del valor final.\n", p, "%");
end:
> ts(expr, 1/10, 20, 4.8);
Tiempo de Establecimiento: ts = .5
Tarda 5 iteraciones en alcanzar la banda del
+/- 4.8% del valor final.
Sistemas de Control en Tiempo Discreto
- 132 -
Las especificaciones en el dominio del tiempo que se acaban de dar son muy
importantes, ya que la mayor parte de los sistemas de control son sistemas en el
dominio del tiempo: deben mostrar respuestas aceptables en el tiempo. Lo que significa
que el sistema de control bajo diseño deberá ser modificado hasta que la respuesta
transitoria sea satisfactoria.
No todas las especificaciones se aplican necesariamente a un caso concreto. Por
ejemplo, para un sistema sobreamortiguado, el tiempo de pico y el sobreimpulso
máximo no son aplicables. [REF. 2].
Capítulo 5: Análisis de Respuesta Transitoria
- 133 -
5.3 EJERCICIOS.
Para poder realizar los ejercicios, es imprescindible haber ejecutado los
procedimientos de los apartados anteriores. Por eso aquí no utilizamos 'restart'.
5.3.1.- Análisis de respuesta transitoria de la siguiente expresión:
exp1 :=
para T = 1/5. Implementar primero un procedimiento que se encargue de
realizar todo el análisis de respuesta transitoria.
Primero se realiza el procedimiento que calcula los tiempos de retardo,
crecimiento, pico y establecimiento, así como el sobreimpulso máximo porcentual.
> AnaliTrans := proc(expr, T, max, p);
td(expr, T, max);
tr(expr, T, max);
tp(expr, T, max);
Mp(expr, T, max);
ts(expr, T, max, p);
end:
invztrans , ,
+ − − .050914 z3 1.2230 z2 .03125 z .15655
( ) − z 1 ( ) + − z2 .3505 z .2642z k
Sistemas de Control en Tiempo Discreto
- 134 -
Se pinta la función discreta para el período de muestreo T = 1/5
> exp1 := invztrans((.50914e-1*z^3+1.2230*z^2-.3125e-1*z-.15655) /
((z-1)*(z^2+0.3505*z-0.2642)), z, k):
plot([seq([1*k/5, subs(k=1*k/5, exp1)], k=0..20)], style=point,
xtickmarks=10);
Análisis de respuesta transitoria.
> AnaliTrans(exp1, 1/5, 20, 5);
Tiempo de Retardo: td = .2
Tiempo de Crecimiento: tr = .2
Tiempo de Pico: tp = .2
Valor maximo = 1.256
Sobreimpulso Máximo Porcentual: Mp = 25.687%
Sube un 25.687% sobre el valor final .999
Se puede apreciar en el dibujo.
Tiempo de Establecimiento: ts = 1.2
Tarda 6 iteraciones en alcanzar la banda del
+/- 5% del valor final.
Capítulo 5: Análisis de Respuesta Transitoria
- 135 -
5.3.2.- Análisis de respuesta transitoria de la siguiente función:
para T = 3/5
Primero la dibujamos, para que se aprecie que es una función que nunca llega a
1 (se queda por encima de dicho valor).
> fun2 := 1-exp(-7/10*t)+3*t^2*exp(-7/10*t):
plot({fun2, 1, 4}, t=0..15, color=[wheat, wheat, red]);
Ahora la convertimos en una expresión discreta:
> exp2 := invztrans(ztrans(fun2, t, z), z, k):
simplify(subs(k=k*T, exp2));
plot([seq([3*k/5, subs(k=3*k/5, exp2)], k=0..20)], style=point);
− + 1 e
−
7 t10
3 t2 e
− +
710
t
− + 1 e
−
710k T
3 e
−
710k T
k2 T2
Sistemas de Control en Tiempo Discreto
- 136 -
Análisis de respuesta transitoria. Nótese que, a diferencia del ejercicio anterior,
en esta ocasión el tiempo de pico no coincide con los de retardo y crecimiento.
> AnaliTrans(evalf(exp2), 3/5, 20, 5);
Tiempo de Retardo: td = .6
Tiempo de Crecimiento: tr = .6
Tiempo de Pico: tp = 1.8
Valor maximo = 4.184
Sobreimpulso Máximo Porcentual: Mp = 317.960%
Sube un 317.960% sobre el valor final 1.001
Se puede apreciar en el dibujo.
Tiempo de Establecimiento: ts = 8.4
Tarda 14 iteraciones en alcanzar la banda del
+/- 5% del valor final.
5.3.3.- Análisis de respuesta transitoria de la siguiente expresión:
para T = 2/5
> fun3 := (-1+10.15*t-6.44*t^2)*exp(-t)+1:
plot({fun3, 1}, t=0..10, color=[wheat, red]);
+ ( )− + − 1 10.15 t 6.44 t2 e( )− t
1
Capítulo 5: Análisis de Respuesta Transitoria
- 137 -
Esta función, tras estar por encima de uno, vuelve a decrecer, llegando a tener
valor negativo, y luego vuelve a subir, llegando al uno por debajo. Discretizamos y
definimos la secuencia de puntos correspondiente.
> exp3 := invztrans(ztrans(fun3, t, z), z, k):
subs(k=k*T, exp3);
plot([seq([2*k/5, subs(k=2*k/5,exp3)], k=0..20)], style=point,
xtickmarks=10);
Análisis de respuesta transitoria:
> AnaliTrans(exp3, 2/5, 20, 5);
Tiempo de Retardo: td = .4
Tiempo de Crecimiento: tr = .4
Tiempo de Pico: tp = .4
Valor maximo = 1.997
Sobreimpulso Máximo Porcentual: Mp = 99.700%
Sube un 99.700% sobre el valor final 1
Se puede apreciar en el dibujo.
Tiempo de Establecimiento: ts = 4
Tarda 10 iteraciones en alcanzar la banda del
+/- 5% del valor final.
− + − + 1.0000 .36788( )k T
10.150 .36788( )k T
k T 6.4400 .36788( )k T
k2 T2 1
Sistemas de Control en Tiempo Discreto
- 138 -
5.3.4.- Análisis de respuesta transitoria de la siguiente expresión:
para T = 4/5
> fun4:= 1-exp(-t/10):
plot({fun4, 1}, t=0..40, color=[wheat, red]);
Esta función va ascendiendo poco a poco hasta alcanzar su valor final,
acercándose a uno. En esta ocasión, tomamos 40 puntos de la secuencia al discretizar.
> exp4 := invztrans(ztrans(fun4, t, z), z, k):
simplify(subs(k=k*T, exp4));
plot([seq([4*k/5, exp4], k=0..40)], style=point);
− 1 e
−
t10
− 1 e
−
110k T
Capítulo 5: Análisis de Respuesta Transitoria
- 139 -
Análisis de respuesta transitoria. Al no ser una función con picos, sino que va creciendo
progresivamente, puede apreciarse que el Sobreimpulso Máximo Porcentual es de 0%,
ya que su valor nunca llega al uno.
> AnaliTrans(exp4, 4/5, 20, 5);
Tiempo de Retardo: td = 4.8
Tiempo de Crecimiento: tr = 16.0
Tiempo de Pico: tp = 16.0
Valor maximo = .865
Sobreimpulso Máximo Porcentual: Mp = 0.000%
Sube un 0.000% sobre el valor final .8665
Se puede apreciar en el dibujo.
Tiempo de Establecimiento: ts = 14.4
Tarda 18 iteraciones en alcanzar la banda del
+/- 5% del valor final.
5.3.5.- Análisis de respuesta transitoria de la siguiente expresión:
para T = 1/2
> fun5 := 1-exp(-t)-2*t^2*exp(-t):
plot({fun5, 1}, t=0..10, color=[wheat, red]);
− − 1 e( )− t
2 t2 e( )− t
Sistemas de Control en Tiempo Discreto
- 140 -
> exp5 := invztrans(ztrans(fun5, t, z), z, k):
simplify(subs(k=k*T, exp5));
plot([seq([k/2, subs(k=k/2,exp5)], k=0..20)],
style=point, xtickmarks=10);
En las gráficas anteriores puede observarse que exp5 tiene una oscilación oculta,
que no se ve en el gráfico de la función discreta.
Análisis de respuesta transitoria. Como nunca alcanza al uno, Mp = 0%.
− − 1 e( )−k T
2 e( )−k T
k2 T2
Capítulo 5: Análisis de Respuesta Transitoria
- 141 -
> AnaliTrans(exp5, 1/2, 20, 5);
Tiempo de Retardo: td = 2.5
Tiempo de Crecimiento: tr = 9.5
Tiempo de Pico: tp = 9.5
Valor maximo = 1
Sobreimpulso Máximo Porcentual: Mp = 0.000%
Sube un 0.000% sobre el valor final 1
Se puede apreciar en el dibujo.
Tiempo de Establecimiento: ts = 4
Tarda 8 iteraciones en alcanzar la banda del
+/- 5% del valor final.
Sistemas de Control en Tiempo Discreto
- 142 -
5.4 REFERENCIAS.
[REF. 1] K. Ogata,
Ingeniería de Control Moderna,
Prentice-Hall, 1980
[REF. 2] K. Ogata,
Sistemas de Control en Tiempo Discreto,
Prentice-Hall, 2ª edición, 1996
[REF. 3] J.M. Pérez Oria, S. Arnáltes Gómez,
Introducción a los Sistemas de Control con Computador,
Editorial Ciencia 3 Distribución S.A., 1993