Está en la página 1de 19

Captulo 4: Estabilidad.

Criterio de Jury

Captulo 4. ESTABILIDAD. CRITERIO DE JURY.

- 99 -

Sistemas de Control en Tiempo Discreto

4.1 INTRODUCCIN.
A continuacin 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 mtodo para saber si las races de un polinomio estn dentro, fuera o en el crculo unidad, sin necesidad de calcular dichas races. Uno de los temas ms importantes dentro de la teora de control es el anlisis de la estabilidad de los sistemas, ya que uno de los primeros objetivos que se pretenden alcanzar al disear 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 tambin 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 captulo es mostrar el criterio de estabilidad de Jury, e implementarlo como una funcin de Maple. El algoritmo en cuestin 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 races. Dicho polinomio ser la ecuacin caracterstica P(z) = 0. Esta prueba revela la existencia de cualquier raz inestable (races en el plano z que se presentan fuera del crculo unitario). Sin embargo, no da la localizacin de las races inestables. Se limita a comprobar si las races de la ecuacin caracterstica P(z) = 0 estn dentro del crculo unidad.

- 100 -

Captulo 4: Estabilidad. Criterio de Jury

Al aplicar la prueba de estabilidad de Jury a una ecuacin caracterstica dada P(z) = 0, construimos una tabla cuyos elementos se basan en los coeficientes de P(z). Supongamos que la ecuacin caracterstica P(z) es un polinomio en z como el siguiente:
(n 1) n P ( z ) = a 0 z + a1 z

donde a0 > 0 Entonces la tabla de Jury se construye como se muestra a continuacin:

Fila 1 2 3 4 5 6 . . 2 n 5 2 n 4 2 n 3

z an 1 a1 bn 2 b1 cn 3 c1

... ... ... ... ... ... ...

(n 2) a2

(n 1) a1

an a0 bn 1 b0 cn 2 c0 . . p3 p0 q2

an 2 a2 bn 3 b2 cn 4 c2

an 3 a3 bn 4 b3 cn 5 c3

an 2 b1 bn 2 c0 cn 2

an 1 b0 bn 1

p2 p1 q1

p1 p2 q0

p0 p3

n z a0 an

- 101 -

Sistemas de Control en Tiempo Discreto

Los elementos de la primera fila estn 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 dems filas se obtienen mediante los siguientes determinantes:

an bk = det a 0

an 1 k ak + 1

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

bn 1 ck = det b 0

bn 2 k bk + 1

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

y as sucesivamente hasta llegar a

p3 qk = det p 0

p2 k pk + 1

k = 0, 1, 2

Ntese que la ltima fila de la tabla est formada por tres elementos. Para sistemas de segundo orden, 2 n 3 = 1 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.

- 102 -

Captulo 4: Estabilidad. Criterio de Jury

Criterio de estabilidad mediante la prueba de Jury. Un sistema con la ecuacin caracterstica P(z) = 0 dada en potencias de z de la forma

(n 1) n P ( z ) = a 0 z + a1 z

donde a0 > 0, es estable (todas sus races dentro del crculo unitario), si todas las condiciones siguientes se satisfacen: 1. 2. 3.

an
P(1) P(-1) P(-1)

< a0 > 0 > 0 para n par < 0 para n impar > b0 > . .

4.

bn 1 cn 2

c0

q2

>

q0

Esta ltima condicin slo 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.

- 103 -

Sistemas de Control en Tiempo Discreto

4.3 IMPLEMENTACIN DEL CRITERIO DE ESTABILIDAD DE JURY.


Primero implementamos la funcin 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 ecuacin caracterstica P(z) = 0 nos dice si el sistema es estable, crticamente 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;
(contina)

- 104 -

Captulo 4: Estabilidad. Criterio de Jury

# tabla de estabilidad for ind from 0 to n do a[ind,1] 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;
(contina)

:= coeff(p, z, ind);

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

- 105 -

Sistemas de Control en Tiempo Discreto

# 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) ((val>0) and or 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;
(contina)

(1=Es_Par(n)))

- 106 -

Captulo 4: Estabilidad. Criterio de Jury

# 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;
(contina)

- 107 -

Sistemas de Control en Tiempo Discreto

# 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:

- 108 -

Captulo 4: Estabilidad. Criterio de Jury

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 crticamente 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

- 109 -

Sistemas de Control en Tiempo Discreto

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 ecuacin caracterstica:
3 2 P( z ) = z 1.3 z .08 z + .24 = 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

- 110 -

Captulo 4: Estabilidad. Criterio de Jury

4.4.2.- Considere el sistema descrito por


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

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

La funcin transferencia de pulso para el sistema es


Y( z ) X( z ) 1 1 .6 z ( 1 ) .81 z ( 2 ) + .67 z ( 3 ) .12 z ( 4 )

equivalente a
z 4

4 3 2 z .6 z .81 z + .67 z .12

por lo que tenemos


4 3 2 P( z ) = z .6 z .81 z + .67 z .12

> 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

- 111 -

Sistemas de Control en Tiempo Discreto

4.4.3.- Determinar la estabilidad del sistema de control gobernado por la siguiente 2 ecuacin caracterstica: P( z ) = 2 z .17

> 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 clculo explcito de las races de la ecuacin caracterstica 4 3 2 P( z ) = z .6 z .81 z + .67 z .12 del ejercicio 4.4.2 mediante el uso de la funcin 'solve' de Maple, y compararlo con el mtodo 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 races de la ecuacin caracterstica son las mostradas, y puede verse que dos de ellas estn dentro del crculo unitario, y la otra est en dicho crculo (polo en z = -1). Por lo tanto, el sistema es crticamente estable. Estabilidad.

- 112 -

Captulo 4: Estabilidad. Criterio de Jury

A simple vista da la impresin de que ambos mtodos son igualmente vlidos. Pero, cul es la razn para usar el criterio de Jury en vez de calcular las races con
solve? Conforme aumenta la complejidad de la ecuacin caracterstica, se hace ms

difcil calcular las races, hacindose ms necesario un mtodo para analizar la estabilidad sin calcularlas. Vemos ahora un ejemplo con una ecuacin caracterstica compleja, y calculamos el tiempo invertido en cada uno de los dos mtodos, mediante la funcin time. Para hacerlo ms real, volvemos a implementar la funcin Estabilidad_Jury, pero sin los mensajes de informacin que se imprimen, ya que stos consumen un tiempo que no tiene nada que ver con los clculos 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;
(contina)

- 113 -

Sistemas de Control en Tiempo Discreto

# Comprobamos segunda condicion val := subs(z=1,p); if (val = 0) then if (estab = 1) then estab := 0 fi; elif (val < 0) 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)

then estab := -1;

- 114 -

Captulo 4: Estabilidad. Criterio de Jury

# 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 funcin 'time' indica el tiempo de CPU total usado desde que se inici la sesin de Maple. Para saber cuando tiempo se invierte en una funcin determinada, se ejecuta 'time()' antes y despus de dicha funcin, y se restan sus valores.

- 115 -

Sistemas de Control en Tiempo Discreto

> 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;
-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

> st := time(): Estabilidad_Jury(expr); Tiempo := time() - st;


No es Estable

Tiempo := .01

Con ambos mtodos se llega a la conclusin de que el sistema no es estable. Sin embargo, mientras que se tarda 0.15 sg. en calcular las races, con el criterio de Jury slo se tardan 0.01 sg. Cuanto ms compleja sea la ecuacin, ms diferencia de tiempo habr.

- 116 -

Captulo 4: Estabilidad. Criterio de Jury

4.5 REFERENCIAS.
[REF. 1] R. Aracil Santonja, A. Jimnez Avello, Sistemas Discretos de Control, Ctedra de Automtica, 1987 [REF. 2] K. Ogata, Sistemas de Control en Tiempo Discreto, Prentice-Hall, 2 edicin, 1996

- 117 -