19
Capítulo 4: Estabilidad. Criterio de Jury - 99 - Capítulo 4. ESTABILIDAD. CRITERIO DE JURY.

Criterio de Jury

  • Upload
    edolza

  • View
    151

  • Download
    9

Embed Size (px)

Citation preview

Page 1: Criterio de Jury

Capítulo 4: Estabilidad. Criterio de Jury

- 99 -

Capítulo 4.

ESTABILIDAD.

CRITERIO DE JURY.

Page 2: Criterio de Jury

Sistemas de Control en Tiempo Discreto

- 100 -

4.1 INTRODUCCIÓN.

A continuación analizaremos la estabilidad de los sistemas de control en tiempo

discreto lineales e invariantes con el tiempo. En concreto, nos centraremos en el criterio

de estabilidad de Jury, que es un método para saber si las raíces de un polinomio están

dentro, fuera o en el círculo unidad, sin necesidad de calcular dichas raíces.

Uno de los temas más importantes dentro de la teoría de control es el análisis de

la estabilidad de los sistemas, ya que uno de los primeros objetivos que se pretenden

alcanzar al diseñar un sistema de control, es que dicho sistema sea estable.

Se dice que un sistema discreto es estable si, ante cualquier secuencia de entrada

acotada, la secuencia de salida es también acotada. Si existe alguna secuencia acotada

de entrada ante la cual la secuencia de salida no lo es, el sistema será inestable.

[REF. 1].

El objetivo de este capítulo es mostrar el criterio de estabilidad de Jury, e

implementarlo como una función de Maple. El algoritmo en cuestión se puede encontrar

en [REF. 2].

4.2 CRITERIO DE ESTABILIDAD DE JURY.

La prueba de estabilidad de Jury es un algoritmo que se aplica directamente

sobre los coeficientes de un polinomio, sin tener que resolver las raíces. Dicho

polinomio será la ecuación característica P(z) = 0. Esta prueba revela la existencia de

cualquier raíz inestable (raíces en el plano z que se presentan fuera del círculo unitario).

Sin embargo, no da la localización de las raíces inestables. Se limita a comprobar si las

raíces de la ecuación característica P(z) = 0 están dentro del círculo unidad.

Page 3: Criterio de Jury

Capítulo 4: Estabilidad. Criterio de Jury

- 101 -

Al aplicar la prueba de estabilidad de Jury a una ecuación característica dada

P(z) = 0, construimos una tabla cuyos elementos se basan en los coeficientes de P(z).

Supongamos que la ecuación característica P(z) es un polinomio en z como el siguiente:

donde > 0

Entonces la tabla de Jury se construye como se muestra a continuación:

= ( )P z + a0 zn a1 z( ) − n 1

a0

Fila z0 z z2 z3 ... z( ) − n 2

z( ) − n 1

zn

1 an a − n 1 a − n 2 a − n 3 ... a2 a1 a0

2 a0 a1 a2 a3 ... a − n 2 a − n 1 an

3 b − n 1 b − n 2 b − n 3 b − n 4 ... b1 b0

4 b0 b1 b2 b3 ... b − n 2 b − n 1

5 c − n 2 c − n 3 c − n 4 c − n 5 ... c0

6 c0 c1 c2 c3 ... c − n 2

. .

. .

− 2 n 5 p3 p2 p1 p0

− 2 n 4 p0 p1 p2 p3

− 2 n 3 q2 q1 q0

Page 4: Criterio de Jury

Sistemas de Control en Tiempo Discreto

- 102 -

Los elementos de la primera fila están formados por los coeficientes en P(z)

ordenados en orden de potencias ascendentes de z. Los elementos de la segunda fila son

los mismos, pero en orden inverso (potencias descendentes de z). Los elementos de las

demás filas se obtienen mediante los siguientes determinantes:

k = 0, 1, 2, ..., n-1

k = 0, 1, 2, ..., n-2

y así sucesivamente hasta llegar a

k = 0, 1, 2

Nótese que la última fila de la tabla está formada por tres elementos. Para

sistemas de segundo orden, y la tabla de Jury está formada por una sola

fila, de tres elementos. Los elementos de las filas pares son los mismos que los de la fila

impar anterior, pero en orden inverso.

= bk det

an a − − n 1 k

a0 a + k 1

= ck det

b − n 1 b − − n 2 k

b0 b + k 1

= qk det

p3 p − 2 k

p0 p + k 1

= − 2 n 3 1

Page 5: Criterio de Jury

Capítulo 4: Estabilidad. Criterio de Jury

- 103 -

Criterio de estabilidad mediante la prueba de Jury. Un sistema con la

ecuación característica P(z) = 0 dada en potencias de z de la forma

donde > 0, es estable (todas sus raíces dentro del círculo unitario), si todas las

condiciones siguientes se satisfacen:

1. <

2. P(1) > 0

3. P(-1) > 0 para n par

P(-1) < 0 para n impar

4. >

>

.

.

>

Esta última condición sólo hay que probarla para sistemas de tercer orden o

superiores: para un sistema de segundo orden, la tabla de Jury consta de una sola fila.

= ( )P z + a0 zn a1 z( ) − n 1

a0

ana0

b − n 1 b0

c − n 2 c0

q2 q0

Page 6: Criterio de Jury

Sistemas de Control en Tiempo Discreto

- 104 -

4.3 IMPLEMENTACIÓN DEL CRITERIO DE ESTABILIDAD DE

JURY.

Primero implementamos la función Es_Par, que nos indica si el grado del

polinomio es par (retorna 1) o impar (retorna 0).

> restart: Digits:=5:

> Es_Par := proc (n) local ret;

ret := 0;

if ((n mod 2) = 0) then ret := 1 fi;

ret;

end:

Se implementa ahora el procedimiento Estabilidad_Jury, que dada la ecuación

característica P(z) = 0 nos dice si el sistema es estable, críticamente estable, o inestable,

mirando de una en una las condiciones del criterio.

> Estabilidad_Jury := proc (p)

local n, a, ind, cond4, renglon, val, estab, cont;

estab := 1;

n := degree(p, z);

printf("El sistema es de orden %d\n\n", n);

if (n < 2) then ERROR(`invalid n`, n) fi; (continúa)

Page 7: Criterio de Jury

Capítulo 4: Estabilidad. Criterio de Jury

- 105 -

# tabla de estabilidad

for ind from 0 to n do

a[ind,1] := coeff(p, z, ind);

a[n-ind, 2] := coeff(p, z, ind)

od;

# Comprobamos primera condicion

if (abs(a[0,1]) >= a[n,1])

then estab := -1;

printf("No cumple condicion 1\n")

else printf("Cumple condicion 1\n")

fi;

# Comprobamos segunda condicion

val := subs(z=1, p);

printf(" p(1) = %g\n", val);

if (val = 0)

then if (estab = 1)

then estab := 0

fi;

printf("Condicion 2: polo en z = 1\n");

elif (val < 0)

then printf("p(1) no cumple condicion 2\n");

estab := -1;

else printf("p(1) cumple condicion 2\n");

fi; (continúa)

Page 8: Criterio de Jury

Sistemas de Control en Tiempo Discreto

- 106 -

# Comprobamos tercera condicion

val := subs(z=-1, p);

printf(" p(-1) = %g\n", val);

if (val = 0)

then if (estab = 1)

then estab := 0

fi;

printf("Condicion 3: polo en z = -1\n");

elif ( ((val<0) and (1=Es_Par(n)))

or

((val>0) and (0=Es_Par(n))) )

then estab := -1;

printf("p(-1) no cumple condicion 3\n")

else printf("p(-1) cumple condicion 3\n")

fi; (continúa)

Page 9: Criterio de Jury

Capítulo 4: Estabilidad. Criterio de Jury

- 107 -

# completo tabla de estabilidad

if ((n > 2))

then cont := n-1;

for renglon from 3 by 2 to 2*n-3 do

for ind from 0 to cont do

a[cont-ind, renglon] := a[cont+1, renglon-1] *

a[ind+1, renglon-1] -

a[0, renglon-1] *

a[cont-ind, renglon-1];

a[ind, renglon+1] := a[cont-ind, renglon]

od;

cont := cont -1;

od;

cont := n-1; (continúa)

Page 10: Criterio de Jury

Sistemas de Control en Tiempo Discreto

- 108 -

# Comprobamos cuarta condicion

cond4 := 1;

for renglon from 3 by 2 to 2*n-3 do

if (abs(a[0, renglon]) <= abs(a[cont, renglon]))

then printf(" Falla condicion 4");

cond4 := 0

fi;

cont := cont -1;

od;

if (cond4 = 1)

then printf("Cumple condicion 4")

else printf("\nNo cumple condicion 4");

estab := -1

fi;

else printf("No hay condicion 4")

fi;

# Analizamos la estabilidad

if (estab = 1)

then printf("\n\nEs Estable")

elif (estab = 0)

then printf("\n\nCriticamente Estable")

else printf("\n\nNo es Estable")

fi;

end:

Page 11: Criterio de Jury

Capítulo 4: Estabilidad. Criterio de Jury

- 109 -

Ejemplos.

> Estabilidad_Jury(z^4-1.2*z^3+0.07*z^2+0.3*z-0.08); El sistema es de orden 4

Cumple condicion 1

p(1) = .09 p(1) cumple condicion 2

p(-1) = 1.89 p(-1) cumple condicion 3 Cumple condicion 4

Es Estable

En este ejemplo se observa que p (1 ) = 0 (el sistema tiene un polo en z = 1).

Como se cumplen el resto de condiciones, el sistema es críticamente estable.

> Estabilidad_Jury(z^3-1.1*z^2-0.1*z+0.2);

El sistema es de orden 3

Cumple condicion 1 p(1) = 0

Condicion 2: polo en z = 1 p(-1) = -1.8

p(-1) cumple condicion 3 Cumple condicion 4

Criticamente Estable

Page 12: Criterio de Jury

Sistemas de Control en Tiempo Discreto

- 110 -

4.4 EJERCICIOS.

> restart: Digits:=5:

Para poder realizarlos es indispensable haber ejecutado primero el procedimiento

'Estabilidad_Jury', del apartado anterior.

4.4.1.- Determinar la estabilidad del sistema de control gobernado por la siguiente

ecuación característica: = 0

> Estabilidad_Jury(z^3-1.3*z^2-0.08*z+0.24); El sistema es de orden 3

Cumple condicion 1

p(1) = -.14 p(1) no cumple condicion 2

p(-1) = -1.98 p(-1) cumple condicion 3 Cumple condicion 4

No es Estable

= ( )P z − − + z3 1.3 z2 .08 z .24

Page 13: Criterio de Jury

Capítulo 4: Estabilidad. Criterio de Jury

- 111 -

4.4.2.- Considere el sistema descrito por

donde x ( k ) es la entrada y la salida del sistema es y ( k ) . Determine la

estabilidad de dicho sistema.

La función transferencia de pulso para el sistema es

equivalente a

por lo que tenemos

> Estabilidad_Jury(z^4-.6*z^3-.81*z^2+.67*z-.12); El sistema es de orden 4 Cumple condicion 1 p(1) = .14 p(1) cumple condicion 2 p(-1) = 0 Condicion 3: polo en z = -1 Cumple condicion 4 Criticamente Estable

= ( )Y z( )X z

1

− − + − 1 .6 z( )−1

.81 z( )−2

.67 z( )−3

.12 z( )−4

z4

− − + − z4 .6 z3 .81 z2 .67 z .12

= ( )P z − − + − z4 .6 z3 .81 z2 .67 z .12

= − − + − ( )y k .6 y ( ) − k 1 .81 y ( ) − k 2 .67 y ( ) − k 3 .12 y ( ) − k 4 ( )x k

Page 14: Criterio de Jury

Sistemas de Control en Tiempo Discreto

- 112 -

= ( )P z − − + − z4 .6 z3 .81 z2 .67 z .12

4.4.3.- Determinar la estabilidad del sistema de control gobernado por la siguiente

ecuación característica:

> Estabilidad_Jury(2*z^2-.17); El sistema es de orden 2 Cumple condicion 1 p(1) = 1.83 p(1) cumple condicion 2 p(-1) = 1.83 p(-1) cumple condicion 3 No hay condicion 4 Es Estable

4.4.4.- Realizar el cálculo explícito de las raíces de la ecuación característica

del ejercicio 4.4.2 mediante el uso de la función 'solve' de Maple, y

compararlo con el método de Jury empleado en dicho ejercicio.

> solve(z^4-.6*z^3-.81*z^2+.67*z-.12 = 0, z); -1., .30000, .50000, .80000

Las raíces de la ecuación característica son las mostradas, y puede verse que dos

de ellas están dentro del círculo unitario, y la otra está en dicho círculo (polo en z = -1).

Por lo tanto, el sistema es críticamente estable. Estabilidad.

= ( )P z − 2 z2 .17

Page 15: Criterio de Jury

Capítulo 4: Estabilidad. Criterio de Jury

- 113 -

A simple vista da la impresión de que ambos métodos son igualmente válidos.

Pero, ¿cuál es la razón para usar el criterio de Jury en vez de calcular las raíces con

‘solve’? Conforme aumenta la complejidad de la ecuación característica, se hace más

difícil calcular las raíces, haciéndose más necesario un método para analizar la

estabilidad sin calcularlas.

Vemos ahora un ejemplo con una ecuación característica compleja, y calculamos

el tiempo invertido en cada uno de los dos métodos, mediante la función ‘time’. Para

hacerlo más real, volvemos a implementar la función ‘Estabilidad_Jury’, pero sin los

mensajes de información que se imprimen, ya que éstos consumen un tiempo que no

tiene nada que ver con los cálculos en sí.

> Estabilidad_Jury := proc (p) local n, a, ind, cond4,

renglon, val, estab, cont;

estab := 1;

n := degree(p, z);

# tabla de estabilidad

for ind from 0 to n do

a[ind,1] := coeff(p, z, ind);

a[n-ind, 2] := coeff(p, z, ind)

od;

# Comprobamos primera condicion

if (abs(a[0,1]) >= a[n,1])

then estab := -1;

fi; (continúa)

Page 16: Criterio de Jury

Sistemas de Control en Tiempo Discreto

- 114 -

# Comprobamos segunda condicion

val := subs(z=1,p);

if (val = 0)

then if (estab = 1) then estab := 0 fi;

elif (val < 0) then estab := -1;

fi;

# Comprobamos tercera condicion

val := subs(z=-1,p);

if (val = 0)

then if (estab = 1) then estab := 0 fi;

elif ( ((val<0) and (1=Es_Par(n))) or ((val>0) and (0=Es_Par(n))) )

then estab := -1;

fi;

# completo tabla de estabilidad

if ((n > 2)) then cont := n-1;

for renglon from 3 by 2 to 2*n-3 do

for ind from 0 to cont do

a[cont-ind, renglon] := a[cont+1, renglon-1] *

a[ind+1, renglon-1] - a[0, renglon-1] *

a[cont-ind, renglon-1];

a[ind, renglon+1] := a[cont-ind, renglon]

od;

cont := cont -1;

od;

cont := n-1; (continua)

Page 17: Criterio de Jury

Capítulo 4: Estabilidad. Criterio de Jury

- 115 -

# Comprobamos cuarta condicion

cond4 := 1;

for renglon from 3 by 2 to 2*n-3 do

if (abs(a[0, renglon])<=abs(a[cont, renglon]))

then cond4 := 0

fi;

cont := cont -1;

od;

if (cond4 <> 1) then estab := -1 fi;

fi;

# Analizamos la estabilidad

if (estab = 1)

then printf("\n\nEs Estable")

elif (estab = 0)

then printf("\n\nCriticamente Estable")

else printf("\n\nNo es Estable")

fi;

end:

La función 'time' indica el tiempo de CPU total usado desde que se inició la

sesión de Maple. Para saber cuando tiempo se invierte en una función determinada, se

ejecuta 'time()' antes y después de dicha función, y se restan sus valores.

Page 18: Criterio de Jury

Sistemas de Control en Tiempo Discreto

- 116 -

> expr := 40.2 - 118.4*z^6 + 487.1*z^2 + 245.3*z^4 + 59.9*z^5 -

219.5*z - 535.2*z^3 + z^10 - 5.9*z^9 + 4.9*z^8 + z^12 -

40.5*z^7 - 0.8*z^18 + 1.5*z^27:

st := time():

solve(expr = 0, z);

Tiempo := time() - st;

> st := time():

Estabilidad_Jury(expr);

Tiempo := time() - st; No es Estable

Con ambos métodos se llega a la conclusión de que el sistema no es estable. Sin

embargo, mientras que se tarda 0.15 sg. en calcular las raíces, con el criterio de Jury

sólo se tardan 0.01 sg. Cuanto más compleja sea la ecuación, más diferencia de tiempo

habrá.

, , ,-1.3183 − -1.2753 .33560 I + -1.2753 .33560 I − -1.1517 .63885 I, , , + -1.1517 .63885 I − -.94866 .91626 I + -.94866 .91626 I − -.67598 1.1358 I, , , + -.67598 1.1358 I − -.34244 1.2608 I + -.34244 1.2608 I − .024849 1.2842 I

, , , + .024849 1.2842 I − .37439 1.1934 I + .37439 1.1934 I − .41697 .73820 I, , , + .41697 .73820 I − .50394 .28124 I + .50394 .28124 I .51927

, , , − .71329 .98893 I + .71329 .98893 I − .99057 .72406 I + .99057 .72406 I, , − 1.1574 .37218 I + 1.1574 .37218 I 1.2242

:= Tiempo .15

:= Tiempo .01

Page 19: Criterio de Jury

Capítulo 4: Estabilidad. Criterio de Jury

- 117 -

4.5 REFERENCIAS.

[REF. 1] R. Aracil Santonja, A. Jiménez Avello,

Sistemas Discretos de Control,

Cátedra de Automática, 1987

[REF. 2] K. Ogata,

Sistemas de Control en Tiempo Discreto,

Prentice-Hall, 2ª edición, 1996