Clase 13 Control con Modelo de...

31
Clase 13 Control con Modelo de Referencia.doc 1 1. Control con Modelo de Referencia 1. CONTROL CON MODELO DE REFERENCIA .................................................... 1 1.1. INTRODUCCIÓN.......................................................................................................... 2 1.2. CONTROL CON MODELO DE REFERENCIA DETERMINISTA ....................................... 3 1.3. CONTROL CON MODELO DE REFERENCIA ESTOCÁSTICO........................................10 1.4. SIMULACIONES ........................................................................................................15 1.4.1. Control con Modelo de Referencia .................................................................15 1.4.2. Control con Modelo de Referencia Adaptativo ..............................................19 1.4.3. Control con Modelo de Referencia Estocástico .............................................23 1.5. REFERENCIAS ..........................................................................................................31

Transcript of Clase 13 Control con Modelo de...

Page 1: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 1

1. Control con Modelo de Referencia 1. CONTROL CON MODELO DE REFERENCIA....................................................1

1.1. INTRODUCCIÓN..........................................................................................................2

1.2. CONTROL CON MODELO DE REFERENCIA DETERMINISTA .......................................3

1.3. CONTROL CON MODELO DE REFERENCIA ESTOCÁSTICO........................................10

1.4. SIMULACIONES ........................................................................................................15

1.4.1. Control con Modelo de Referencia .................................................................15

1.4.2. Control con Modelo de Referencia Adaptativo ..............................................19

1.4.3. Control con Modelo de Referencia Estocástico .............................................23

1.5. REFERENCIAS ..........................................................................................................31

Page 2: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 2

1.1. Introducción Se contempla en el diseño la dinámica de la referencia:

Mkk+d k+d

H = = y y rE (1.1)

r es un escalón y H y E dos polinomios que definen la dinámica del modelo.

-+

k dr +-d Bz A

′ku ky

Mky-d Hz

Ekε+

-

Page 3: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 3

1.2. Control con Modelo de Referencia Determinista En este caso el modelo de la planta será:

-dA y = B uz ′ (1.2)

Se definirá un nuevo predictor del siguiente modo:

kk+d kE = G + F B y y u′ (1.3)

donde los polinomios F y G cumplen la ecuación, -dE = F A + Gz (1.4)

La ecuación (1.2) y la (1.3) son equivalentes ya que si multiplicamos (1.2) por F resulta:

( )-d

-d -d

F A y = F B uzE - G y = F B uz z

′ (1.5)

kk+d kE = G + F B y y u′ (1.6)

Como el objetivo es cumplir (1.1), la ley de control deberá ser:

kkk+d kE = G + F B = H y y u r′ (1.7)

Page 4: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 4

-+

k dr + -d Bz A

′ku ky1FB′

G

H

kk k

-d

kk

-d -d

kk k

= H - G yr Bz= y

A F B H Gz z= - y yrF A F A

ε

ε′′

(1.8)

( )-d -dkkF A - G = H yz z r (1.9)

k+d

k

y H= Er

(1.10)

estabilidad de la actuación.

Page 5: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 5

-d

u = F B

G B= H r - u = F B uz A

ε

ε

′′

′ (1.11)

( )-dH A r = A F B + B G uz′ ′ (1.12)

u H A=r E B′

(1.13)

B' debe ser estable.

Page 6: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 6

Notación vectorial de la ley de control:

( )kk 0 kk0

1 = H - G + - F B yu b urb

′ (1.14)

Tk k = pu x (1.15)

donde T a

kk k-1k = , - - yx ur … … (1.16)

T 0 1

0 0 0

g f b1= , pb b b

… … (1.17)

y la variable auxiliar ak k = H r r (1.18)

Page 7: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 7

Notación vectorial de la planta: El predictor dice

kk+d kE = G + F B y y u′ (1.19)

o

( )

0 k 0 k k k+d

k 0 kk+d k0

+ ( F B - ) + G = E y yb u b u1 = E - G + - F B y yu b ub

′ (1.20)

definiendo la variable auxiliar, ak+d k+d = E y y (1.21)

la expresión de ku resulta T

k k = pu x (1.22)

siendo los vectores: aT

k-1k k+d k

T 0 1

0 0 0

= , - - y y ux

g f b1= , pb b b

… …

… … (1.23)

Page 8: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 8

Si no se conoce p se lo debe estimar con algún método de identificación recur-sivo.

Ejemplo: Planta

( )1 -2

-2 1

1 -2 -3

1 1,74 +0,77z

z 0,0011 0,0009

C=1 2 +1,29z 0,27z

A z

B z

z

= −

= +

− −

(1.24)

Modelo de referencia:

-1

0,41 0,6z

HE=

= − (1.25)

Reducción de la ganancia a la mitad en la muestra 50.

Page 9: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 9

0 50 100 150 200 250-1.5

-1

-0.5

0

0.5

1

1.5

0 50 100 150 200 250-1.5

-1

-0.5

0

0.5

1

1.5

0 50 100 150 200 250-1

-0.5

0

0.5

1

1.5

2

2.5

Page 10: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 10

1.3. Control con Modelo de Referencia Estocástico Modelo del proceso:

-dA y = B u + C z ω′ (1.26)

Se definirá una variable filtrada fy de la forma:

f = E yy (1.27)

Se puede demostrar que la mejor predicción de fy es: 0

kkf k+dC = G + F B yy u′ (1.28)

siendo -dC E = F A + Gz (1.29)

Demostración:

( )( ) ( )

-d -d

-dkk

0f k

C E - G y = F B u + F C z z

C E y - F = G + F B y uz

= E y - F y

ω

ω

ω

′ (1.30)

donde el valor Fω es el error de predicción.

Page 11: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 11

Por lo tanto el control debe ser tal que M M

f fE y = = H r = E = y y y (1.31)

Definimos el funcional a minimizar de la siguiente forma:

( ){ }min2MJ E y - y = ∑ (1.32)

Sumando y restando el predictor se obtiene:

{ }[ ][ ]{ }

( ) ( ) [ ][ ]{ }

2M 0 0f f

2 20 M 0f f

22 M 0f

J E y - E + - y y y

E y - + E - + 2y y y

F + E - + 2y yω

= Σ

= Σ

= Σ

(1.33)

esto se cumple ya que 0

f f - = F y y ω (1.34)

Entonces, para que J sea mínimo debe cumplirse M 0

fE - = 0y y (1.35)

Page 12: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 12

es decir 0 Mf f = y y (1.36)

y si se reemplaza la ecuación del predictor, 0

kkf k+dM

kk+d

C = G + F B yy u

= C E = C H y r

′ (1.37)

la ley de control queda

kk kF B = C H - G yu r′ (1.38)

Page 13: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 13

-+

k dr + -d Bz A

′ku ky1FB′

G

HC

CA

+

+

Relación entre referencia y salida.

-d

-d -d

k k+dk+d

k k+dk+d

= H C r - G yCzy = +

F A AF A y = H C r - G y + C F z z

C E = H C + C F y rE = H + F y r

ε

ε ω

ω

ωω

(1.39)

Page 14: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 14

Por lo tanto la salida sigue al modelo excepto un error debido al ruido. En cuan-to a la variable de control, obedece a la siguiente ecuación: u A H C = r E B′

(1.40)

O sea que es estable para sistemas de fase mínima.

0 50 100 150 200 250-1.5

-1

-0.5

0

0.5

1

1.5

Page 15: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 15

1.4. Simulaciones 1.4.1. Control con Modelo de Referencia

cambioref = 50; ciclos = 5; n = cambioref * ciclos; e = 0.02*randn(n,1); y = zeros(n,1); Ap = [1 -1.74 .77]; Bp = 2 * [1.1 .9]; A = Ap; B = Bp; na = length(Ap); nb = length(Bp); C = [1.0000 -2.0000 1.2900 -0.2700 0 0 0 0]; nc = 4; EE = [1 -.60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; ne = 2; HH = [.4 0 0 0 0 0 0]; nh = 1; nk = 2; ref = ones(cambioref,1); for i = 1:ciclos-1, ref = [ref; (-1)^i*ones(cambioref,1)]; end; Ra = zeros(n,1); ym = zeros(n,1);

Page 16: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 16

u = zeros(n,1); % calculo del vector F F = zeros(nk,1); F(1) = 1; for i = 2: nk F(i) = EE(i); for j = 1:i-1 if i-j+1 <= length(A) F(i) = F(i) - F(j)*A(i-j+1); end; end; end; % calculo del vector G G = zeros(na,1); for i = 1: na G(i) = EE(nk + i); for j = 0:nk-1 if i+nk-j <= length(A) G(i) = G(i) - F(j+1)*A(i+nk-j); end; end; end; % calculo del vector FB FB = conv(F,B)'; % cálculo del vector de parámetros ParReg = ones(na+nb+nk-3+length(P),1)*B(1) /( B(1)*B(1)+lambda); ParReg(2:na) = ParReg(1) * G(1:na-1);

Page 17: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 17

ParReg(na+1:na+nb+nk-2) = (FB(2:nb+nk-1)+lambda*R(2:nb+nk-1)'/B(1)) * ParReg(1); ParReg(na+nb+nk-1:na+nb+nk+length(P)-3) = -lambda*P(2:length(P))/B(1)*ParReg(1); for i = nk+nb+5 : n % reducción de ganancia if i==120 B=B./2; end % Sistema y(i) = 0; for j = 2:na y(i) = y(i) - A(j)*y(i-j+1); end; for j = 1:nb y(i) = y(i) + B(j)*u(i+1-j-nk); end; % y(i)=fliplr(B(1:length(B)))*u(i-length(B):i-1)-%fliplr(A(2:length(A)))*y(i-length(A)+1:i-1); for j = 1:nc y(i) = y(i) + C(j)*e(i-j); end; % Regulador % cálculo de la ref filtrada: ra = referencia * H for j = 1:nh Ra(i) = Ra(i) + ref(i-j+1)*HH(j); end; ym(i) = Ra(i); for j = 2:ne ym(i) = ym(i) - ym(i-j+1)*EE(j); end; % cálculo del vector de valores para el control predictivo ValReg = zeros(na+nb+nk-3+length(P),1);

Page 18: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 18

ValReg(1) = Ra(i); ValReg(2:na) = -flipud(y(i-na+2:i)); ValReg(na+1:na+nb+nk-2) = -flipud(u(i-nb-nk+2:i-1)); % actuación u(i) = ValReg' * ParReg; end plot([y ym]);grid; hold on; stairs(u,'r'); hold off axis([0 n -1.5 1.5])

0 50 100 150 200 250-1.5

-1

-0.5

0

0.5

1

1.5

Page 19: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 19

1.4.2. Control con Modelo de Referencia Adaptativo

cambioref = 50; ciclos = 5; n = cambioref * ciclos; e = 0.02*randn(n,1); y = zeros(n,1); Ap = [1 -1.74 .77]; Bp = 2 * [1.1 .9]; A = Ap; B = Bp; na = length(Ap); nb = length(Bp); C = [1.0000 -2.0000 1.2900 -0.2700 0 0 0 0]; nc = 4; EE = [1 -.60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; ne = 2; HH = [.4 0 0 0 0 0 0]; nh = 1; nk = 2; ref = ones(cambioref,1); for i = 1:ciclos-1, ref = [ref; (-1)^i*ones(cambioref,1)]; end; Ra = zeros(n,1);

Page 20: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 20

ym = zeros(n,1); u = zeros(n,1); % inicialización identificación np=na+nb+nk+length(P)-1-2; Aest = ones(n,np); lam=.9; p=10000*eye(np); th=eps*ones(np,1); % calculo del vector F F = zeros(nk,1); F(1) = 1; for i = 2: nk F(i) = EE(i); for j = 1:i-1 if i-j+1 <= length(A) F(i) = F(i) - F(j)*A(i-j+1); end; end; end; % calculo del vector G G = zeros(na,1); for i = 1: na G(i) = EE(nk + i); for j = 0:nk-1 if i+nk-j <= length(A) G(i) = G(i) - F(j+1)*A(i+nk-j); end; end; end;

Page 21: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 21

% calculo del vector FB FB = conv(F,B)'; % cálculo del vector de parámetros ParReg = ones(na+nb+nk-3+length(P),1)*B(1) /( B(1)*B(1)+lambda); ParReg(2:na) = ParReg(1) * G(1:na-1); ParReg(na+1:na+nb+nk-2) = FB(2:nb+nk-1) * ParReg(1); for i = nk+nb+5 : n % reducción de ganancia if i==120 B=B./2; p=10000*eye(np); end % Sistema y(i) = 0; for j = 2:na y(i) = y(i) - A(j)*y(i-j+1); end; for j = 1:nb y(i) = y(i) + B(j)*u(i+1-j-nk); end; for j = 1:nc y(i) = y(i) + C(j)*e(i-j); end; % Regulador % cálculo de la ref filtrada: ra = referencia * H for j = 1:nh Ra(i) = Ra(i) + ref(i-j+1)*HH(j);

Page 22: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 22

end; ym(i) = Ra(i); for j = 2:ne ym(i) = ym(i) - ym(i-j+1)*EE(j); end; % cálculo del vector de valores para el control predictivo ValReg = zeros(na+nb+nk-3+length(P),1); ValReg(1) = Ra(i); ValReg(2:na) = -flipud(y(i-na+2:i)); ValReg(na+1:na+nb+nk-2) = -flipud(u(i-nb-nk+2:i-1)); % actuación % u(i) = ValReg' * ParReg; u(i) = Aest(i-1,1:np) * ValReg(1:np); % Cálculo del vector X para el identificador x = zeros(np,1); % x(1)=y(i)+lambda/Bp(1)*uf(i-nk); for j = 1:ne x(1) = x(1) + y(i-j+1)*EE(j); end; x(2:na)=-flipud(y(i-na+2-nk:i-nk)); x(na+1:na+nb+nk-2) = -flipud(u(i-nb-nk+2-nk:i-1-nk)); % x(na+nb+nk-1:na+nb+nk+length(P)-3) = -flipud(uf(i-length(P)+1-nk:i-1-nk)); % Identificación yh=x'*Aest(i-1,1:np)'; epsi=u(i-nk)-yh; K=p*x/(lam + x'*p*x); p=(p-K*x'*p)/lam; Aest(i,1:np)=(Aest(i-1,1:np)'+K*epsi)'; epsilon=u(i)-Aest(i,1:np)*x;

Page 23: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 23

end plot([y ym]);grid; hold on; stairs(u,'r'); hold off axis([0 n -1.5 1.5]) plot([Aest Aesti]);grid

1.4.3. Control con Modelo de Referencia Estocástico

cambioref = 50; ciclos = 5; n = cambioref * ciclos; e = 0.02*randn(n,1); y = zeros(n,1); Ap = [1 -1.74 .77]; Bp = 2 * [1.1 .9]; A = Ap; B = Bp; na = length(Ap); nb = length(Bp); C = [1.0000 -2.0000 1.2900 -0.2700 0 0 0 0]; nc = 4; EE = [1 -.60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; ne = 2; HH = [.4 0 0 0 0 0 0]; nh = 1;

Page 24: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 24

CE = conv(C,EE); CH = conv(C,HH); nk = 2; ref = ones(cambioref,1); for i = 1:ciclos-1, ref = [ref; (-1)^i*ones(cambioref,1)]; end; Ra = zeros(n,1); ym = zeros(n,1); u = zeros(n,1); % calculo del vector F F = zeros(nk,1); F(1) = 1; for i = 2: nk F(i) = CE(i); for j = 1:i-1 if i-j+1 <= length(A) F(i) = F(i) - F(j)*A(i-j+1); end; end; end; % calculo del vector G G = zeros(na,1); for i = 1: na G(i) = CE(nk + i); for j = 0:nk-1 if i+nk-j <= length(A) G(i) = G(i) - F(j+1)*A(i+nk-j); end;

Page 25: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 25

end; end; % calculo del vector FB FB = conv(F,B)'; % cálculo del vector de parámetros ParReg = ones(na+nb+nk-1,1)/ B(1); ParReg(2:na+1) = ParReg(1) * G(1:na); ParReg(na+2:na+nb+nk-1) = FB(2:nb+nk-1) * ParReg(1); for i = nk+nb+5 : n % reducción de ganancia if i==120 B=B./2; end % Sistema y(i) = 0; for j = 2:na y(i) = y(i) - A(j)*y(i-j+1); end; for j = 1:nb y(i) = y(i) + B(j)*u(i+1-j-nk); end; for j = 1:nc y(i) = y(i) + C(j)*e(i-j); end; % Regulador % cálculo de la ref filtrada: ra = referencia * CH for j = 1:5 %nh Ra(i) = Ra(i) + ref(i-j+1)*CH(j); end; ym(i) = Ra(i); for j = 2:6 %ne

Page 26: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 26

ym(i) = ym(i) - ym(i-j+1)*CE(j); end; % cálculo del vector de valores para el control predictivo ValReg = zeros(na+nb+nk-1,1); ValReg(1) = Ra(i); ValReg(2:na+1) = -flipud(y(i-na+1:i)); ValReg(na+2:na+nb+nk-1) = -flipud(u(i-nb-nk+2:i-1)); % actuación u(i) = ValReg' * ParReg; end plot([y ym]);grid; hold on; stairs(u,'r'); hold off axis([0 n -1.5 1.5])

Page 27: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 27

0 50 100 150 200 250-1.5

-1

-0.5

0

0.5

1

1.5

cambioref = 50; ciclos = 5; n = cambioref * ciclos; e = 0.02*randn(n,1); y = zeros(n,1); Ap = [1 -1.74 .77]; Bp = 2 * [1.1 .9]; A = Ap; B = Bp;

Page 28: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 28

na = length(Ap); nb = length(Bp); C = [1.0000 -2.0000 1.2900 -0.2700 0 0 0 0]; nc = 4; EE = [1 -.60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; ne = 2; HH = [.4 0 0 0 0 0 0]; nh = 1; CE = conv(C,EE); CH = conv(C,HH); nk = 2; ref = ones(cambioref,1); for i = 1:ciclos-1, ref = [ref; (-1)^i*ones(cambioref,1)]; end; Ra = zeros(n,1); ym = zeros(n,1); u = zeros(n,1); % calculo del vector F F = zeros(nk,1); F(1) = 1; for i = 2: nk F(i) = CE(i); for j = 1:i-1 if i-j+1 <= length(A) F(i) = F(i) - F(j)*A(i-j+1); end; end; end;

Page 29: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 29

% calculo del vector G G = zeros(na,1); for i = 1: na G(i) = CE(nk + i); for j = 0:nk-1 if i+nk-j <= length(A) G(i) = G(i) - F(j+1)*A(i+nk-j); end; end; end; % calculo del vector FB FB = conv(F,B)'; % cálculo del vector de parámetros ParReg = ones(na+nb+nk-1,1)/ B(1); ParReg(2:na+1) = ParReg(1) * G(1:na); ParReg(na+2:na+nb+nk-1) = FB(2:nb+nk-1) * ParReg(1); for i = nk+nb+5 : n % reducción de ganancia if i==120 B=B./2; end % Sistema y(i) = 0; for j = 2:na y(i) = y(i) - A(j)*y(i-j+1); end; for j = 1:nb y(i) = y(i) + B(j)*u(i+1-j-nk); end; for j = 1:nc

Page 30: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 30

y(i) = y(i) + C(j)*e(i-j); end; % Regulador % cálculo de la ref filtrada: ra = referencia * CH for j = 1:5 %nh Ra(i) = Ra(i) + ref(i-j+1)*CH(j); end; ym(i) = Ra(i); for j = 2:6 %ne ym(i) = ym(i) - ym(i-j+1)*CE(j); end; % cálculo del vector de valores para el control predictivo ValReg = zeros(na+nb+nk-1,1); ValReg(1) = Ra(i); ValReg(2:na+1) = -flipud(y(i-na+1:i)); ValReg(na+2:na+nb+nk-1) = -flipud(u(i-nb-nk+2:i-1)); % actuación u(i) = ValReg' * ParReg; end plot([y ym]);grid; hold on; stairs(u,'r'); hold off axis([0 n -1.5 1.5])

Page 31: Clase 13 Control con Modelo de Referenciamaterias.fi.uba.ar/6631/material/Clase_13_Control_con... · 2005-04-13 · Clase 13 Control con Modelo de Referencia.doc 3 1.2. Control con

Clase 13 Control con Modelo de Referencia.doc 31

1.5. Referencias Goodwin, G. Sin: Adaptive Filtering, Prediction and Control, Prentice Hall –

1984.