Tarea2 07 sol

5
Departamento de Ingeniería de Sistemas y Automática Universidad Politécnica de Valencia INGENIERÍA DE CONTROL I 2007-8 __________________________________________________________________________________________________ P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected] J.V. Roig. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 75768 e-mail [email protected] Tarea 2. Análisis del modelo de un sistema (entrega 15-11-07) El modelo obtenido para un sistema en tiempo continuo es: = = - - - - - - - - - - - - = 1.5 0.25 - 1.5 0.75 - 1 1 0.5 - 0 0.5 0 0.5 0.25 - 0.5 0.25 0 C , 0 3 1 0 2 3 2 2 - 0 4 0 1 0 1 1 B , 2 1 0 0 1 1 5 . 3 1 5 . 0 2 5 . 2 25 . 1 5 . 4 75 . 0 0 6 3 6 0 0 1 5 . 0 1 5 . 0 2 A Determinar: a. Polos del sistema. b. Ceros del sistema. c. Realización mínima. d. ¿Qué entrada/s pueden eliminarse, manteniendo el sistema controlable? e. ¿Qué salida/s pueden suprimirse, manteniendo el sistema observable? f. Matriz de transferencia. g. Matriz de transferencia discreta con T = 0.25 s. h. Polos y ceros de esta representación. i. Representación interna discreta. j. Ganancia estática del sistema y sus valores singulares. k. Considerando únicamente la primera entrada y la segunda salida, obtener la descomposición de Kalman del sistema.

Transcript of Tarea2 07 sol

Page 1: Tarea2 07 sol

Departamento de Ingeniería de Sistemas y Automática

Universidad Politécnica de Valencia

INGENIERÍA DE CONTROL I 2007-8

__________________________________________________________________________________________________ P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected] J.V. Roig. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 75768 e-mail [email protected]

Tarea 2. Análisis del modelo de un sistema (entrega 15-11-07) El modelo obtenido para un sistema en tiempo continuo es:

=

=

−−−−−

−−−−−−−

=1.50.25-1.50.75-1

10.5-00.50

0.50.25-0.50.250

C,

031

023

22-0

401

011

B,

21001

15.315.02

5.225.15.475.00

63600

15.015.02

A

Determinar: a. Polos del sistema.

b. Ceros del sistema.

c. Realización mínima.

d. ¿Qué entrada/s pueden eliminarse, manteniendo el sistema controlable?

e. ¿Qué salida/s pueden suprimirse, manteniendo el sistema observable?

f. Matriz de transferencia.

g. Matriz de transferencia discreta con T = 0.25 s.

h. Polos y ceros de esta representación.

i. Representación interna discreta.

j. Ganancia estática del sistema y sus valores singulares.

k. Considerando únicamente la primera entrada y la segunda salida, obtener la

descomposición de Kalman del sistema.

Page 2: Tarea2 07 sol

Departamento de Ingeniería de Sistemas y Automática

Universidad Politécnica de Valencia

INGENIERÍA DE CONTROL I 2007-8

__________________________________________________________________________________________________ P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected] J.V. Roig. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 75768 e-mail [email protected]

Solución

a. Polos del sistema. Los polos del sistema serán los valores propios de la matriz A, que podemos calcular con el comando de MATLAB:

>> SYS = ss(A,B,C,D) >> eig(SYS) = [-4; -2; -1; -3; -2]

b. Ceros del sistema.

Calcularemos los ceros de transmisión resolviendo el problema del valor propio Primero comprobamos si el sistema es una realización mínima, analizando el rango de la matriz de controlabilidad y observabilidad:

>> rank(ctrb(SYS)) = 4 >> rank(obsv(SYS)) = 5

Como el sistema tiene 5 variables de estado, esto nos indica que existe un polo no controlable, que será también un cero de desacoplamiento de entrada y que desaparecerá al obtener la realización mínima del sistema. Como no es una realización mínima, obtendremos los ceros invariantes al resolver el problema del valor propio generalizado, con el con comando de MATLAB:

>> tzero(SYS) = [-1; -2]

Los ceros invariantes están formados por los ceros de transmisión más algunos ceros de desacoplamiento. Obtenemos ahora la realización mínima y comprobamos sus polos y ceros de transmisión:

>> SYSm = minreal(SYS); 1 state removed. >> eig(SYSm) = [-1; -4; -3; -2] >> tzero(SYSm) = -1

Observamos que en la realización mínima se ha eliminado un polo en -2; que corresponde con el cero de desacoplamiento de entrada. Quedándose únicamente un cero de transmisión en -1.

c. Realización mínima. La realización mínima del sistema se obtiene con el comando minreal de MATLAB, que elimina el modo no controlable, devolviendo el siguiente sistema:

−−−−−−−

=

−−−−

−−−−−

=

−−−−−

−−−−−

=

0409.05283.01005.03751.0

6297.04723.07527.04550.0

0502.00376.04965.03663.0

C

1926.13707.00144.2

8944.01911.44023.2

2164.40452.08885.0

05429.01754.1

B,

9965.27526.01606.06716.2

7616.16788.25664.06954.0

7891.05919.03488.32198.5

1573.01180.00695.09759.0

m

mmA

Page 3: Tarea2 07 sol

Departamento de Ingeniería de Sistemas y Automática

Universidad Politécnica de Valencia

INGENIERÍA DE CONTROL I 2007-8

__________________________________________________________________________________________________ P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected] J.V. Roig. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 75768 e-mail [email protected]

d. ¿Qué entrada/s pueden eliminarse, manteniendo el sistema controlable? Tomando la realización mínima que es completamente controlable:

>> rank(ctrb(SYSm.A, SYSm.B)) = 4

Comprobamos si eliminando alguna entrada el sistema sigue siendo controlable. Para ello comprobaremos el rango de la matriz de controlabilidad considerando que tomamos sólo alguna de las entradas:

>> rank(ctrb(SYSm.A, SYSm.B(:,1))) = 3 >> rank(ctrb(SYSm.A, SYSm.B(:,2))) = 2 >> rank(ctrb(SYSm.A, SYSm.B(:,3))) = 1 >> rank(ctrb(SYSm.A, [SYSm.B(:,1) SYSm.B(:,2)])) = 4 >> rank(ctrb(SYSm.A, [SYSm.B(:,1) SYSm.B(:,3)])) = 3 >> rank(ctrb(SYSm.A, [SYSm.B(:,2) SYSm.B(:,3)])) = 3

La única posibilidad que nos da una matriz de controlabilidad de rango completo (4) es tomando la 1ª y la 2ª entrada. Por tanto si eliminamos la 3ª entrada el sistema seguiría siendo controlable.

e. ¿Qué salida/s pueden suprimirse, manteniendo el sistema observable? Tomando la realización mínima que es completamente observable:

>> rank(obsv(SYSm.A, SYSm.C)) = 4

Comprobamos si eliminando alguna salida el sistema sigue siendo observable. Para ello comprobaremos el rango de la matriz de observabilidad considerando que tomamos sólo alguna de las salidas:

>> rank(obsv(SYSm.A,SYSm.C(1,:))) = 2 >> rank(obsv(SYSm.A,SYSm.C(2,:))) = 3 >> rank(obsv(SYSm.A,SYSm.C(3,:))) = 2 >> rank(obsv(SYSm.A,[SYSm.C(1,:); SYSm.C(2,:)])) = 3 >> rank(obsv(SYSm.A,[SYSm.C(1,:); SYSm.C(3,:)])) = 4 >> rank(obsv(SYSm.A,[SYSm.C(2,:); SYSm.C(3,:)])) = 4

Para que el sistema sea observable, la matriz de observabilidad ha de ser de rango completo (4). Esto se consigue en dos casos: eliminado la 1ª salida o eliminando la 2ª salida. Por tanto si nos quedamos con la 3ª salida y cualquiera de las otras dos, el sistema seguirá siendo observable.

f. Matriz de transferencia.

Podemos obtener la matriz de transferencia, en forma de polos y ceros, con el siguiente comando de MATLAB:

>> G = zpk(minreal(tf(SYSm)))

( )( ) ( ) ( )

( ) ( ) ( ) ( )

( )( )

( ) ( )

04s2s

5.3s2

4s

13s

2

2s

2

3s1s

23s

20

3s1s

2

+⋅++

+

+++⋅+

++⋅+

=sG

Page 4: Tarea2 07 sol

Departamento de Ingeniería de Sistemas y Automática

Universidad Politécnica de Valencia

INGENIERÍA DE CONTROL I 2007-8

__________________________________________________________________________________________________ P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected] J.V. Roig. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 75768 e-mail [email protected]

g. Matriz de transferencia discreta con T = 0.25 s. Para obtener la matriz de transferencia discreta, discretizamos cada fdt y construimos la matriz de transferencia discreta con las siguientes instrucciones:

>> Ts = 0.25; >> gd11 = c2d(G(1,1), Ts, 'zoh' ); >> gd12 = c2d(G(1,2), Ts, 'zoh' ); >> gd13 = c2d(G(1,3), Ts, 'zoh' ); >> gd21 = c2d(G(2,1), Ts, 'zoh' ); >> gd22 = c2d(G(2,2), Ts, 'zoh' ); >> gd23 = c2d(G(2,3), Ts, 'zoh' ); >> gd31 = c2d(G(3,1), Ts, 'zoh' ); >> gd32 = c2d(G(3,2), Ts, 'zoh' ); >> gd33 = c2d(G(3,3), Ts, 'zoh' ); >> Gd = [gd11 gd12 gd13 gd21 gd22 gd23 gd31 gd32 gd33];

( )

( )( ) ( ) ( )

( )( ) ( ) ( ) ( )

( )( )

( ) ( )

⋅−−

−−⋅−+

−⋅−+

=

00.6065-z3679.0z

0.4183z37412.0

3679.0z

15803.04724.0z

35176.0

6065.0z

39347.0

0.7788-z4724.0z

0.7168z045321.04724.0z

35176.00

0.7788-z4724.0z

0.7168z045321.0

zG

h. Polos y ceros de esta representación.

Los polos y ceros de transmisión de esta representación, los obtendremos a partir de una realización mínima en espacio de estados de esta matriz de transferencia discreta.

>> SYSd = mineral(ss(Gd)); 5 states removed. >> eig(SYSd) = [0.7788; 0.3679; 0.6065; 0.4727] >> tzero(SYSd) = 0.7788

i. Representación interna discreta.

La realización mínima del sistema se obtiene aplicando el comando ss y minreal a la matriz de transferencia discreta, obteniéndose las siguientes matrices:

−−−

−=

−−=

−−−−−−−−

−−

=

2765.0007485.04357.0

3423.04024.01594.02041.0

03276.04024.00976.003756.0

C

04694.08742.008418.0

8314.001749.0

1398.01655.04174.0

05381.03323.03444.0

B,

6091.0009923.003899.00673.0

2069.0603.06162.02371.0

01263.002956.06004.01131.0

001195.001138.009008.0413.0

d

ddA

Page 5: Tarea2 07 sol

Departamento de Ingeniería de Sistemas y Automática

Universidad Politécnica de Valencia

INGENIERÍA DE CONTROL I 2007-8

__________________________________________________________________________________________________ P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected] J.V. Roig. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 75768 e-mail [email protected]

j. Ganancia estática del sistema y sus valores singulares. La matriz de ganancias estática se determina como:

( ) ( ) ( )zGsGGzs 10limlim0

→→==

Utilizando los comandos de MATLAB se calcula como, se calcula como la respuesta en frecuencia para la crecencia 0 rad/seg:

>> G0 = freqresp(G,0)

( )

=0875.025.0

6667.016667.0

6667.006667.0

0G

Los valores singulares para esta matriz de ganancias estática son: >> [U S V] = svd(G0) U = -0.3948 0.7878 0.4728 -0.8069 -0.0513 -0.5885 -0.4394 -0.6138 0.6559 S = 1.7003 0 0 0 0.8374 0 0 0 0.1171 V = -0.5358 0.4031 0.7419 -0.7007 -0.7026 -0.1242 -0.4712 0.5864 -0.6589

Los valores singulares son los valores de la diagonal de S, e indican la máxima y mínima ganancia del sistema; y las matrices U y V indican las direcciones de entrada y salida para las cuales se obtienen dichos valores singulares.

k. Considerando únicamente la primera entrada y la segunda salida, obtener la descomposición de Kalman del sistema. En primer lugar seleccionamos el sistema formado por la 1ª entrada y la 2ª salida:

>> [a b c d] = ssselect(A, B, C, D, 1, 2);

Mediante el comando minreal obtenemos la matriz de transformación que nos permite pasar a la forma de Kalman.

>> sys = ss(a, b, c, d) >> [sysm Tk] = minreal(sys) >> sysk = ss2ss(sys,Tk)

La descomposición de Kalman nos ha dado los siguientes subespacios: - Subespacio controlable y observable: x1 y x2. - Subespacio controlable y no observable: x3. - Subespacio no controlable y observable: x4 y x5.

La realización mínima será el subespacio controlable y observable.

[ ]9815.04715.004837.02834.0

0

0

1305.3

7499.0

2797.1

b,

20000

02000

7446.05502.040945.28695.0

2493.0735.101678.30697.0

8696.02944.802218.58322.0

−−−=

−=

−−

−−−−−−−

=

k

kk

c

a