Tarea2 06 sol
-
Upload
nano-orte-garcia -
Category
Documents
-
view
144 -
download
0
Transcript of Tarea2 06 sol
Departamento de Ingeniería de Sistemas y Automática
Universidad Politécnica de Valencia
INGENIERÍA DE CONTROL I 2006-7
__________________________________________________________________________________________________P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected]
Tarea 2. Análisis del modelo de un sistema (entrega 16-11-06) El modelo obtenido para un sistema en tiempo continuo es:
−−−−
−−
−−
=
20100
13122
00300
00120
10121
A
−−
−−
=
210
012
101
110
011
B ;
Inicialmente, se miden las dos primeras variables de estado, aunque la primera (x1) presenta un retraso de 0.5 segundos. Determinar, sin considerar el retardo: a. Polos del sistema
b. Ceros del sistema
c. Realización mínima
d. ¿Qué variable de estado adicional podría medirse para hacer el sistema observable?
e. ¿Qué variable de control puede suprimirse, manteniendo el sistema controlable?
f. Matriz de transferencia, incluyendo el retardo
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 primera salida, obtener la
descomposición de Kalman del sistema.
Departamento de Ingeniería de Sistemas y Automática
Universidad Politécnica de Valencia
INGENIERÍA DE CONTROL I 2006-7
__________________________________________________________________________________________________P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected]
Solución
%Ingeniería de Control I Curso 06-07 %Tarea 2 A = [-1 2 -1 0 1 0 -2 1 0 0 0 0 -3 0 0 2 2 -1 -3 1 0 0 -1 0 -2]; B = [1 -1 0 0 1 -1 1 0 1 2 -1 0 0 -1 2]; C = [1 0 0 0 0 0 1 0 0 0]; D = zeros(2,3); SYS=ss(A,B,C,D); %a. Polos del sistema disp( 'a) Polos del sistema:' ),eig(A) %b. Ceros del sistema disp( 'c) Ceros del sistema' ) disp( 'Número de estados' ),size(A,1) disp( 'Estados controlables' ),rank(ctrb(A,B)) %Totalmente controlable disp( 'Estados observables' ),rank(obsv(A,C)) %Hay un estado no observable disp( 'Ceros de transmisión+ceros desacoplamiento' ),tzero(A,B,C,D) %No hay ceros de trasmisión es un cero de desacopla miento de salida %c. Realización mínima [Am Bm Cm Dm]=ssdelete(A,B,C,D,[],[],4); %El cuarto estado es no observable porque no influy e en ningún otro estado %(la cuarta columna de A es todo 0 excepto la 4ª fi la) %eliminando este estado se obtiene la realización m ínima. disp( 'c) Realización mínima:' ),SYSm=minreal(SYS) %d. ¿Qué variable de estado adicional podría medirs e para hacer el sistema observable? disp( 'd) ¿Qué variable de estado adicional podría medirs e para hacer el sistema observable?' ) % Claramente la 4ª v.e. que es la no observable (po lo en -3) Ca3=[C;0 0 1 0 0]; disp( 'Rango Observabilidad añadiendo 3ª v.e.' ),rank(obsv(A,Ca3)) Ca4=[C;0 0 0 1 0]; disp( 'Rango Observabilidad añadiendo 4ª v.e.' ),rank(obsv(A,Ca4)) Ca5=[C;0 0 0 0 1]; disp( 'Rango Observabilidad añadiendo 5ª v.e.' ),rank(obsv(A,Ca5))
Departamento de Ingeniería de Sistemas y Automática
Universidad Politécnica de Valencia
INGENIERÍA DE CONTROL I 2006-7
__________________________________________________________________________________________________P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected]
%e. ¿Qué variable de control puede suprimirse, mant eniendo el sistema controlable? disp( 'e) ¿Qué variable de control puede suprimirse, mant eniendo el sistema controlable?' ) % Solo la 2ª entrada [A1 B1 C1 D1]=ssdelete(A,B,C,D,1,[],[]); disp( 'Eliminando la 1ª Entrada. Rango matriz de controlablidad:' ),rank(ctrb(A1,B1)) [A2 B2 C2 D2]=ssdelete(A,B,C,D,2,[],[]); disp( 'Eliminando la 2ª Entrada. Rango matriz de controlablidad:' ),rank(ctrb(A2,B2)) [A3 B3 C3 D3]=ssdelete(A,B,C,D,3,[],[]); disp( 'Eliminando la 3ª Entrada. Rango matriz de controlablidad:' ),rank(ctrb(A3,B3)) %f. Matriz de transferencia, incluyendo el retardo G = minreal(tf(SYS)); %Añadir retardo de e^(-0.5s) a las fdt de la 1ª sal ida (1ª fila de G(s)) s=zpk( 's' ); r=exp(-0.5*s); Gr=[G(1,:)*r; G(2,:)]; disp( 'f) Matriz de transferencia continua' ),Gr %g. Matriz de transferencia discreta con T = 0.25 s . T=0.25; Gz=c2d(G,T, 'zoh' ); Gzd=[Gz(1,:)*tf(1,[1 0 0],T); Gz(2,:)]; disp( 'g) Matriz de transferencia discreta' ),Gzd %h. Polos y ceros de esta representación disp( 'h) Polos y ceros de esta representación discreta' ) SYSzd=minreal(ss(Gzd)); disp( 'Polos:' ),eig(SYSzd) disp( 'Ceros de transmisión:' ),tzero(SYSzd) %i. Representación interna discreta disp( 'i) Representación interna discreta:' ),SYSzd %j. Ganancia estática del sistema y sus valores sin gulares disp( 'j) Ganancia estática del sistema y sus valores sin gulares' ) G0=[5/6 -1/2 -1/6 1/6 1/2 -1/3]; disp( 'Ganancia estática:' ),G0 [U,S,V]=svd(G0) disp( 'Valores singulares:' ),[S(1,1) S(2,2)]
Departamento de Ingeniería de Sistemas y Automática
Universidad Politécnica de Valencia
INGENIERÍA DE CONTROL I 2006-7
__________________________________________________________________________________________________P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail [email protected]
%k. Considerando únicamente la primera entrada y la primera salida, obtener la descomposición de Kalman del sistema. [Ak Bk Ck Dk]=ssselect(A,B,C,D,1,1); SYSk=ss(Ak,Bk,Ck,Dk); disp( 'Número de estados' ),size(Ak,1) disp( 'Estados controlables' ),rank(ctrb(Ak,Bk)) %2 estados no controlables disp( 'Estados observables' ),rank(obsv(Ak,Ck)) %2 estado no observables disp( 'Separar la parte no controlable de la controlable: ' ) [Ak1 Bk1 Ck1, Tk1, k]=ctrbf(Ak,Bk,Ck) SYSk1=ss(Ak1,Bk1,Ck1,0); disp( 'Subespacio no controlable:' ) [Ak3,Bk3, Ck3,Dk3]=ssselect(Ak1,Bk1,Ck1,Dk,1,1,[1 2 ]) disp( 'Polos no controlables:' ),eig(Ak3) disp( 'Estados no controlables y observables:' ),rank(obsv(Ak3,Ck3)) disp( 'Estados no controlables y no observables:' ),size(Ak3,1)-rank(obsv(Ak3,Ck3)) disp( 'Subespacio controlable:' ) [Ak2,Bk2, Ck2,Dk2]=ssdelete(Ak1,Bk1,Ck1,Dk,[],[],[1 2]) disp( 'Polos controlables:' ),eig(Ak2) disp( 'Estados controlables y observables:' ),rank(obsv(Ak2,Ck2)) disp( 'Estados controlables y no observables:' ),size(Ak2,1)-rank(obsv(Ak2,Ck2)) %Descomposición de Kalman: T1 = [ 1 0 -1 0 0 0 1 0 0 0 0 0 0 0 1 -1 0 -1 1 0 1 0 0 0 0]; %Conseguimos B=[0;0;0;0;1]; T2 = [ 1 -0.5 0.5 0 0 -1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1]; %Conseguimos A(1:2,4:5)=0 T3 = [1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1]; %Conseguimos A(1,3)=0 Falta A(2,3)=0 T=T3*T2*T1; SYSk3=ss2ss(SYSk,T) Tx=[-0.0005 0 0 0.0005 0 0.5 1 0 0 0.5 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1]; SYSx=ss2ss(SYSk,Tx)