Practica 2 - Identificacion Recursiva(1).pdf

18
1 Práctica 3 2008 Identificación Recursiva INTRODUCCIÓN TEÓRICA El algoritmo de identificación recursiva mas conocido y empleado es el de mínimos cuadrados recursivos (RLS) que surge de la ecuación normal al volverla recursiva 1 . 1 ˆ ˆ ˆ () ( 1) ()() () ()( 1) () ()( 1) () () T T t t R t t yt t t Rt tRt t t θ θ ϕ ϕ θ λ ϕ ϕ = + = + (1) Definiendo 1 () () Rt P t = otra forma usual de presentar el algoritmo en la bibliografía es: 1 1 ˆ ˆ ˆ () ( 1) ()() () ()( 1) () () ( 1) () () T T t t Pt t yt t t P t tP t t t θ θ ϕ ϕ θ λ ϕ ϕ = + = + (1’) Tras aplicar el lema de inversión de matrices nos queda el algoritmo siguiente que evita la inversión de una matriz de dxd (d es la dimensión del vector de parámetros θ y del regresor ϕ ). Para pocos parámetros la (1) y la (2) son equivalentes, pero para muchos parámetros la (2) es mucho más rápida) ˆ ˆ ˆ () ( 1) () () ()( 1) ( 1) ( ) () () ()( 1) ( ) ( 1) ( ) ()( 1) () ( 1) /() () ()( 1) ( ) T T T T t t Lt yt t t Pt t Lt t tPt t Pt t tPt Pt Pt t t tPt t θ θ ϕ θ ϕ λ ϕ ϕ ϕ ϕ λ λ ϕ ϕ = + = + = + (2) 1 La ecuación normal es: 1 1 1 ˆ () () ()() N N T t t t t tyt θ ϕ ϕ ϕ = = = Recordar que el algoritmo RLS es válido para modelos linealmente parametrizados ˆ ˆ( ) ()( 1) T yt t t ϕ θ = como el ARX y no es en general válido para modelos no linealmente parametrizados (ver apuntes). Curso de Modelado e Identificación de Sistemas

Transcript of Practica 2 - Identificacion Recursiva(1).pdf

Page 1: Practica 2 - Identificacion Recursiva(1).pdf

1

Práctica 3 2008

Identificación Recursiva

INTRODUCCIÓN TEÓRICA El algoritmo de identificación recursiva mas conocido y empleado es el de mínimos cuadrados recursivos (RLS) que surge de la ecuación normal al volverla recursiva1.

1ˆ ˆ ˆ( ) ( 1) ( ) ( ) ( ) ( ) ( 1)

( ) ( ) ( 1) ( ) ( )

T

T

t t R t t y t t t

R t t R t t t

θ θ ϕ ϕ θ

λ ϕ ϕ

− ⎡ ⎤= − + − −⎣ ⎦= − +

(1)

Definiendo 1( ) ( )R t P t−= otra forma usual de presentar el algoritmo en la bibliografía es:

1 1

ˆ ˆ ˆ( ) ( 1) ( ) ( ) ( ) ( ) ( 1)

( ) ( ) ( 1) ( ) ( )

T

T

t t P t t y t t t

P t t P t t t

θ θ ϕ ϕ θ

λ ϕ ϕ− −

⎡ ⎤= − + − −⎣ ⎦= − +

(1’)

Tras aplicar el lema de inversión de matrices nos queda el algoritmo siguiente que evita la inversión de una matriz de dxd (d es la dimensión del vector de parámetros θ y del regresor ϕ ). Para pocos parámetros la (1) y la (2) son equivalentes, pero para muchos parámetros la (2) es mucho más rápida)

ˆ ˆ ˆ( ) ( 1) ( ) ( ) ( ) ( 1)

( 1) ( )( )

( ) ( ) ( 1) ( )

( 1) ( ) ( ) ( 1)( ) ( 1) / ( )

( ) ( ) ( 1) ( )

T

T

T

T

t t L t y t t t

P t tL t

t t P t t

P t t t P tP t P t t

t t P t t

θ θ ϕ θ

ϕλ ϕ ϕ

ϕ ϕλ

λ ϕ ϕ

⎡ ⎤= − + − −⎣ ⎦−

=+ −

⎡ ⎤− −⎢ ⎥= − −⎢ ⎥+ −⎣ ⎦

(2)

1 La ecuación normal es:

1

1 1

ˆ ( ) ( ) ( ) ( )N N

T

t tt t t y tθ ϕ ϕ ϕ

= =

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥= ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦∑ ∑

Recordar que el algoritmo RLS es válido para modelos linealmente parametrizados ˆ(̂ ) ( ) ( 1)Ty t t tϕ θ= − como el ARX y

no es en general válido para modelos no linealmente parametrizados (ver apuntes).

Curso de Modelado e Identificación de Sistemas

Page 2: Practica 2 - Identificacion Recursiva(1).pdf

2

En la (1) y (2) ( )tλ es el factor de olvido, este puede ser variable, generalmente se adopta un valor constante λ . El factor de olvido es necesario cuando la planta que se quiere identificar varía en el tiempo en forma abrupta pero esporádicamente o cuando varía en forma lenta (con respecto al algoritmo). Si la planta es fija se adopta 1λ = . Al implementar el algoritmo RLS ((1) o (2)) en Simulink, las entradas son ( )y t y ( )tϕ y la salida es ( )tθ .

θ(t) ϕ(t)

y(t) RLS

Algoritmo PEM recursivo (RPEM) Para modelos no linealmente parametrizados (por ejemplo modelos ARMAX) no es posible emplear el algoritmo RLS, para estos casos el algoritmo más eficiente es el RPEM.

1

ˆ( ) ( ) ( )

ˆ ˆ( ) ( 1) ( ) ( ) ( )

( ) ( ) ( 1) ( ) ( )T

t y t y t

t t R t t t

R t t R t t t

ε

θ θ ψ ε

λ ψ ψ

= −

= − +

= − +

(3)

donde el vector ( )tψ se define como2: (̂ , )

( )d y t

td

θψ

θ

Aplicando el lema de inversión de matrices se llega al siguiente algoritmo:

ˆ ˆ( ) ( 1) ( ) ( )

ˆ( ) ( ) ( )

( 1) ( )( )

( ) ( ) ( 1) ( )

( 1) ( ) ( ) ( 1)( ) ( 1) / ( )

( ) ( ) ( 1) ( )

T

T

T

t t L t t

t y t y t

P t tL t

t t P t t

P t t t P tP t P t t

t t P t t

θ θ ε

ε

ψλ ψ ψ

ψ ψλ

λ ψ ψ

= − +

= −

−=

+ −⎡ ⎤− −⎢ ⎥= − −⎢ ⎥+ −⎣ ⎦

(4)

ˆ( ) ( , ( 1))t t tψ ψ θ= − , ˆ( ) ( , ( 1))t t tϕ ϕ θ= − , ˆ ˆ ˆ(̂ ) ( , ( 1)) ( 1) ( ) ( 1)T Ty t t t t t tϕ θ θ ϕ θ= − − = −

Si el modelo está linealmente parametrizado (p.ej. ARX) ˆ(̂ ) ( ) ( 1)Ty t t tϕ θ= −

2 En realidad operacionalmente es:

(̂ 1)

ˆˆ ˆ( , ) ( , ( 1))ˆ( , ( 1))

(̂ 1)t

d y t d y t tt t

d d tθ θ

θ θψ θ

θ θ= −

−− =

Ver el apéndice sobre la estructura ARMAX para un ejemplo del cálculo de ( )tψ .

Page 3: Practica 2 - Identificacion Recursiva(1).pdf

3

(̂ , ))

( ) ( )d y t

t td

θψ ϕ

θ=

entonces el RPEM (Ec.4) coincide con RLS ( Ec.2). Observación Importante: Lo anterior implica que el mismo soft desarrollado para RLS (en este caso bloques de Simulink) puede ser reutilizado y empleado para RPEN. Para el caso RLS como se dijo anteriormente las entradas son ( )y t y ( )tϕ y la salida es ( )tθ .

θ(t) ϕ(t)

y(t) RLS

Si se quiere emplear el mismo bloque para resolver RPEM las entradas deben ser ( )z t y ( )tψ , donde

ˆ ˆˆ( ) ( ) ( , ( 1)) ( ) ( 1)Tz t y t y t t t tθ ψ θ= − − + −

debe ingresar ( )z t y no ( )y t ya que el algoritmo asume que ingresa ( )tϕ y calcularía el error

de predicción como ˆ( ) ( ) ( ) ( 1)Tt y t t tε ψ θ= − − en lugar del correcto ˆˆ( ) ( ) ( , ( 1))t y t y t tε θ= − − . Al ingresar ( )z t y ( )tψ se tiene: ˆ ˆˆ( ) ( ) ( ) ( 1) ( ) ( , ( 1))Tt z t t t y t y t tε ψ θ θ= − − = − −

θ(t) ϕ(t)

z(t) RPEM

Algoritmos aproximados En el algoritmo RLS la actualización de la estima θ̂ involucra menos carga computacional que el cálculo de ( )R t y su inversa (o equivalentemente 1( ) ( )P t R t−= ) . Por lo que se proponen un par de algoritmos mas sencillos pero con inferiores velocidades de convergencia. 1- Algoritmo de Kaczmarz o de proyección

( )ˆ ˆ ˆ( ) ( 1) ( ) ( ) ( 1)( ) ( )

0 , 0 2

TTt

t t y t t tt t

μϕθ θ ϕ θ

α ϕ ϕα μ

⎡ ⎤= − + − −⎣ ⎦+≥ < < (6)

Page 4: Practica 2 - Identificacion Recursiva(1).pdf

4

2- Aproximación Estocástica (Algoritmo de Robbins-Monro) Definiendo como antes: ˆ ˆˆ( , ( 1)) ( ) ( , ( 1))t t y t y t tε θ θ− = − −

ˆ ˆ( 1) ( 1)

(̂ , ) ( , )ˆ( , ( 1))

t t

d y t d tt t

d dθ θ θ θ

θ ε θψ θ

θ θ= − = −

− = −

y considerando en el algoritmo RPEM (Ec.(3)) ( )R t I= (matriz identidad) se obtiene el siguiente algoritmo:

ˆ ˆ ˆ ˆ( ) ( 1) ( ) ( , ( 1)) ( , ( 1))t t t t t t tθ θ μ ψ θ ε θ= − + − − (7)

donde { }( )tμ es una secuencia de números positivos que satisface determinadas condiciones que aseguran la convergencia del algoritmo, típicamente

i) 1

( )t

tμ∞

== ∞∑

ii) lim ( ) 0

ttμ

→∞=

Si el modelo es linealmente parametrizado ˆ ˆ(̂ , ( 1)) ( ) ( 1)Ty t t t tθ ϕ θ− = − , entonces

{ }

(̂ 1) (̂ 1)

ˆ(̂ , ) ( ) ( 1)ˆ( , ( 1)) ( )

T

t t

d y t d t tt t t

d dθ θ θ θ

θ ϕ θψ θ ϕ

θ θ= − = −

−− = = =

ˆ ˆ ˆ( ) ( 1) ( ) ( ) ( , ( 1))t t t t t tθ θ μ ϕ ε θ= − + − (8)

frecuentemente se adopta 1

( )tt

μ = , en otras ocasiones por simplicidad se adopta

( )tμ μ= constante, 0 1μ< < que claramente no verifica la segunda condición y por lo tanto es mas difícil asegurar la convergencia del algoritmo.

ˆ ˆ ˆ ˆ( ) ( 1) ( , ( 1)) ( , ( 1))t t t t t tθ θ μψ θ ε θ= − + − − (9)

y para el caso linealmente parametrizado3

3 Los algoritmos simplificados (9) y (10) son los mas simples posibles. En la página 22 del apunte Parametrica-di Sciascio.pdf se los presenta como “Estimación de parámetros por el método del gradiente”.

Page 5: Practica 2 - Identificacion Recursiva(1).pdf

5

ˆ ˆ ˆ( ) ( 1) ( ) ( , ( 1))t t t t tθ θ μϕ ε θ= − + − (10)

Para el algoritmo (10) se verifica que el algoritmo es estable si μ verifica la relación

max20 μ λ< < , donde maxλ es el autovalor mayor de la matriz (definida positiva)

[ ( ) ( ) ]TR E t tϕ ϕ= generalmente se adopta max 1μλ . Los algoritmos (8) y (10) son muy

conocidos en la ingeniería en particular en el área de procesamiento adaptable de señales. Se denomina algoritmo LMS (least mean squares). Fueron desarrollados por Bernard Widrow a fines de los 60. DESARROLLO DE LA PRÁCTICA Con el fin de su posterior empleo en las prácticas de Control Adaptable se pide: 1) Desarrollar en Simulink el algoritmo RLS (2) y el aproximado (10) para identificar en forma recursiva modelos ARX (modelos linealmente parametrizados)

ˆ ˆ ˆ( ) ( 1) ( ) ( ) ( ) ( 1)

( 1) ( )( )

( ) ( ) ( 1) ( )

( 1) ( ) ( ) ( 1)( ) ( 1) / ( )

( ) ( ) ( 1) ( )

T

T

T

T

t t L t y t t t

P t tL t

t t P t t

P t t t P tP t P t t

t t P t t

θ θ ϕ θ

ϕλ ϕ ϕ

ϕ ϕλ

λ ϕ ϕ

⎡ ⎤= − + − −⎣ ⎦−

=+ −

⎡ ⎤− −⎢ ⎥= − −⎢ ⎥+ −⎣ ⎦ (2)

ˆ ˆ ˆ( ) ( 1) ( ) ( , ( 1))t t t t tθ θ μϕ ε θ= − + −

(10) 2) Desarrollar en Simulink el algoritmo RPEM (4) y el aproximado (9) para identificar en forma recursiva modelos ARMAX (modelos no-linealmente parametrizados)

ˆ ˆ( ) ( 1) ( ) ( )

ˆ( ) ( ) ( )

( 1) ( )( )

( ) ( ) ( 1) ( )

( 1) ( ) ( ) ( 1)( ) ( 1) / ( )

( ) ( ) ( 1) ( )

T

T

T

t t L t t

t y t y t

P t tL t

t t P t t

P t t t P tP t P t t

t t P t t

θ θ ε

ε

ψλ ψ ψ

ψ ψλ

λ ψ ψ

= − +

= −

−=

+ −⎡ ⎤− −⎢ ⎥= − −⎢ ⎥+ −⎣ ⎦ (4)

ˆ ˆ ˆ ˆ( ) ( 1) ( , ( 1)) ( , ( 1))t t t t t tθ θ μψ θ ε θ= − + − −

(9)

Page 6: Practica 2 - Identificacion Recursiva(1).pdf

6

Ejemplo de implementación en Simulink del RPEM

Page 7: Practica 2 - Identificacion Recursiva(1).pdf

7

Observación: Los bloques que aparecen a la entrada remueven los valores medios.

El bloque regresor ARMAX (ver el apéndice B sobre la estructura ARMAX) se construye siguiendo las líneas del apéndice A. Apéndice A: Diseño de regresores con Simulink En esta sección se dan las guías para el diseño de regresores en Simulink ya que estos constituyen una parte importante en la identificación recursiva. Supongamos que deseamos construir un bloque que genere el regresor para la estructura ARX. La estructura ARX se define mediante los polinomios ( )A q y ( )B q

( ) 1

( ) ( ) ( )( ) ( )B q

y t u t e tA q A q

= +

con

1 21 2( ) 1 na

naA q a q a q a q− − −= + + + + 1 1

1 2( ) nb nknbB q b b q b q q− − + −⎡ ⎤= + + +⎣ ⎦ (4)

La mejor estima de la salida es:

[ ](̂ ) 1 ( ) ( ) ( ) ( )y t A q y t B q u t= − + reemplazando ( )A q y ( )B q en el segundo miembro

[ ]1 2 1 11 2 1 2(̂ ) ( ) ( )na nb nk

na nby t a q a q a q y t b b q b q q u t− − − − − + −⎡ ⎤= − − − − + + + +⎣ ⎦

1 2 1 2(̂ ) ( 1) ( 2) ( ) ( ) ( 1 ) ( 1 )na nby t a y t a y t a y t na bu t nk b u t nk b u t nb nk=− − − − − − − + − + − − + ++ − + − se define ahora el vector de parámetros θ y el vector regresor ( )tϕ

( , ) ( 1) ( 2) ( ) ( ) ( 1 ) ( )T

t y t y t y t na u t nk u t nk u t nb nkϕ θ ⎡ ⎤= − − − − − − − − − − − −⎢ ⎥⎣ ⎦

4 Acá se adopta la nomenclatura del Toolbox de identificación de Matlab. Por defecto el toolbox asume 1nk =

1 21 2( ) nb

nbB q b q b q b q− − −= + + + . También es usual en la bibliografía definir el polinomio ( )B q como 1

0 1( ) nb nknbB q b b q b q q− − −⎡ ⎤= + + +⎣ ⎦ .

Page 8: Practica 2 - Identificacion Recursiva(1).pdf

8

1 2 1 2T

na nba a a b b bθ ⎡ ⎤= ⎢ ⎥⎣ ⎦

(̂ ) ( )Ty t tθ ϕ=

esta ecuación expresa la estima del modelo como una parametrización lineal. Para el caso de la identificación recursiva los parámetros se estiman a partir de los datos disponibles

ˆ(̂ )) ( 1) ( )Ty t t tθ ϕ= − Luego el vector regresor está constituido por las ( )y t y ( )u t pasadas

Por simplicidad se implementa el regresor por partes, la primera involucra las ( )y t pasadas.

La forma mas sencilla es emplear una cadenas de bloques de retardo unitarios por ejemplo para 3na = la estructura es la siguiente:

el problema con esta forma de implementar el regresor es que es poco flexible y se debe modificar para distintos na . La forma mas elegante para construir un regresor genérico para cualquier na es mediante un sistema dinámico discreto en su representación en el espacio de estados en el que la entrada al sistema es ( )y t y la salida son los estados del mismo, donde los estados son las entradas retrasadas con el signo cambiado.

1

( 1) ( ) ( )

( ) ( ) ( )

x t Ax t By t

z t Cx t Dy t

⎧ + = +⎪⎪⎨⎪ = +⎪⎩

Page 9: Practica 2 - Identificacion Recursiva(1).pdf

9

Ejemplo para 3na =

1( 1) ( )x t y t+ = − → 1( ) ( 1)x t y t= − −

2 1( 1) ( )x t x t+ = → 2 1( ) ( 1) ( 2)x t x t y t= − = − −

3 2( 1) ( )x t x t+ = → 3 2 1( ) ( 1) ( 2) ( 3)x t x t x t y t= − = − = − −

1

2

3

1( 1) 1( )

2( 1) 2( )

3( 1) 3( )

( ) 1( )

1 ( ) 2( )

( ) 3( )

0 0 0 1

1 0 0 0 ( )

0 1 0 0

1 0 0

( ) 0 1 0

0 0 1

t t

t t

t t

t t

t t

t t

x x

x x y t

x x

z x

z t z x

z x

+

+

+

⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤ −⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥= +⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

⎡ ⎤⎡ ⎤ ⎡ ⎤⎢ ⎥⎢ ⎥ ⎢⎢ ⎥⎢ ⎥ ⎢= = ⎢ ⎥⎢ ⎥ ⎢⎢ ⎥⎢ ⎥ ⎢⎢ ⎥⎢ ⎥ ⎢⎣ ⎦ ⎣ ⎦⎢ ⎥⎣ ⎦

0

0 ( )

0

y t

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪ ⎡ ⎤⎪⎪ ⎢ ⎥⎥⎪⎪ ⎢ ⎥⎥⎪ + ⎢ ⎥⎪ ⎥⎪ ⎢ ⎥⎥⎪⎪ ⎢ ⎥⎥⎪ ⎢ ⎥⎪⎩ ⎣ ⎦⎪

que es de la forma

1

( 1) ( ) ( )

( ) ( ) ( )

x t Ax t By t

z t Cx t Dy t

⎧ + = +⎪⎪⎨⎪ = +⎪⎩

con

0 0 0

1 0 0

0 1 0

A

⎡ ⎤⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

,

1

0

0

B

⎡ ⎤−⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

,

1 0 0

0 1 0

0 0 1

C

⎡ ⎤⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

,

0

0

0

D

⎡ ⎤⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

La anterior se implementa con un bloque Discrete State-Space de la librería Discrete de Simulink en forma genérica (función de na ).

Page 10: Practica 2 - Identificacion Recursiva(1).pdf

10

Para este ejemplo ( 3na = )

A=[[zeros(1,na);eye(na-1,na)]] →

0 0 0

1 0 0

0 1 0

A

⎡ ⎤⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

B= [-1, zeros(1,na-1)]' →

1

0

0

B

⎡ ⎤−⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

C= eye(na) →

1 0 0

0 1 0

0 0 1

C

⎡ ⎤⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

D =[zeros(na,1)] →

0

0

0

D

⎡ ⎤⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

Page 11: Practica 2 - Identificacion Recursiva(1).pdf

11

Para la parte del regresor que involucra las ( )u t pasadas el procedimiento es el mismo, teniendo en cuenta que la entrada al sistema ahora es ( )u t nk− y que las ( )u t pasadas no están invertidas por lo que

B= [1, zeros(1,nb-1)]' →

1

0

0

B

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

Otra posibilidad es considerar un sistema con nb nk+ estados donde la entrada es ( )u t . Finalmente con un multiplexor (bloque mux de Simulink) se forma el regresor completo.

También es posible generar en un solo paso el regresor completo donde las matrices A , B , C y D son funciones de na , nb y nk

Page 12: Practica 2 - Identificacion Recursiva(1).pdf

12

Ejemplo para 3na = , 2nb = , 1nk =

0 0 0 0 0

1 0 0 0 0

0 1 0 0 0

0 0 0 0 0

0 0 0 1 0

A

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥

= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

,

1 0

0 0

0 0

0 1

0 0

B

−⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥

= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

1 0 0 0 0

0 1 0 0 0

0 0 1 0 0

0 0 0 1 0

0 0 0 0 1

C

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥

= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

,

0 0

0 0

0 0

0 0

0 0

D

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥

= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

Page 13: Practica 2 - Identificacion Recursiva(1).pdf

13

Apéndice B: Sobre la estructura ARMAX La estructura ARMAX se define mediante los polinomios ( )A q , ( )B q y ( )C q

( ) ( )

( ) ( ) ( )( ) ( )B q C q

y t u t e tA q A q

= + (11)

con

1 21 2( ) 1 na

naA q a q a q a q− − −= + + + + 1 1

1 2( ) nb nknbB q b b q b q q− − + −⎡ ⎤= + + +⎣ ⎦ (nota5)

1 21 2( ) 1 nc

ncC q c q c q c q− − −= + + + + La mejor estima de la salida es:

( ) ( )

(̂ ) ( ) 1 ( )( ) ( )B q A q

y t u t y tC q C q

⎡ ⎤= + −⎢ ⎥

⎢ ⎥⎣ ⎦ (12)

pasando ( )C q al primer miembro

[ ]ˆ( ) ( ) ( ) ( ) ( ) ( ) ( )C q y t B q u t C q A q y t= + − (13) sumando [ ]ˆ1 ( ) ( )C q y t− en ambos miembros de la (13) y reordenando

[ ]ˆ ˆ ˆ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )y t A q y t B q u t C q y t y t y t= − + + − + sumando y restando ( )y t en el segundo miembro y reordenando queda:

[ ] [ ](̂ ) 1 ( ) ( ) ( ) ( ) ( ) 1 ( )y t A q y t B q u t C q tε= − + + − (14) con ˆ( ) ( ) ( )t y t y tε − que es el error de predicción, reemplazando ( )A q , ( )B q y ( )C q en el segundo miembro de la (14) [ ]1 2 1 1

1 2 1 2(̂ ) ( ) ( )na nb nkna nby t a q a q a q y t b b q b q q u t− − − − − + −⎡ ⎤= − − − − + + + + +⎣ ⎦

[ ]1 21 2 ( )nc

ncc q c q c q tε− − −+ + + +

1 2 1 2(̂ ) ( 1) ( 2) ( ) ( ) ( 1 )nay t a y t a y t a y t na bu t nk b u t nk=− − − − − − − + − + − − + +

(15) 1 2( 1 ) ( 1) ( 2) ( )nb ncb u t nb nk c t c t c t ncε ε ε+ − + − + − + − + + −

5 Ver nota 4

Page 14: Practica 2 - Identificacion Recursiva(1).pdf

14

se define ahora el vector de parámetros θ y el vector regresor ( )tϕ ( , ) ( 1) ( 2) ( ) ( ) ( 1 ) ( ) ( 1) ( 2) ( )

Tt y t y t y t na u t nk u t nk u t nb nk t t t ncϕ θ ε ε ε⎡ ⎤= − − − − − − − − − − − − − − −⎢ ⎥⎣ ⎦

1 2 1 2 1 2T

na nb nca a a b b b c c cθ ⎡ ⎤= ⎢ ⎥⎣ ⎦

(̂ ) ( , )Ty t tθ ϕ θ= (16)

la (16) expresa la estima del modelo como una parametrización pseudolineal o no lineal.6 Para el caso de la identificación recursiva los parámetros se estiman a partir de los datos disponibles y la (16) es:

ˆ ˆ ˆ(̂ , ( 1)) ( 1) ( , ( 1))Ty t t t t tθ θ ϕ θ− = − − (16´)

En lo que sigue se calcula el vector (̂ )

( )y t

tψθ

∂∂

, este vector es necesario para los

algoritmos de identificación recursivos (en particular el RPEM). Se rescribe la (14)

[ ] [ ](̂ ) 1 ( ) ( ) ( ) ( ) ( ) 1 ( )y t A q y t B q u t C q tε= − + + − (14) y a partir de esta ecuación se calculan las distintas derivadas parciales de (̂ )y t con respecto a los parámetros.

[ ] [ ][ ] [ ][ ]

(̂ ) 1 ( ) ( ) ( ) ( ) ( ) 1 ( ) 1 ( ) ( )( ) ( ) 1

i i i i

y t A q y t B q u t C q t A q ty t C q

a a a aε ε∂ ∂ − + + − ∂ − ∂

= = + −∂ ∂ ∂ ∂

(17)

[ ] [ ]1 21 21 ( ) i na

i na i

i i

a q a q a q a qA qq

a a

− − − −−∂ − − − − − −∂ −

= = −∂ ∂

(18)

[ ]ˆ ˆ( ) ( ) ( ) ( )

i i i

t y t y t y ta a aε∂ ∂ − ∂

= = −∂ ∂ ∂

(19)

reemplazando las (18) y (19) en la (17)

[ ]ˆ ˆ( ) ( )

( ) ( ) 1i

i i

y t y tq y t C q

a a−∂ ∂

= − − −∂ ∂

reordenando

(̂ )( ) ( )

i

y tC q y t i

a∂

= − −∂

⇒ (̂ ) 1

( )( )i

y ty t i

a C q∂

= − −∂

(20)

repitiendo el cálculo para los parámetros ib

6 Por simplicidad en la notación se ha escrito (̂ )y t y ( )tψ en lugar de (̂ , )y t θ y ( , )tψ θ

Page 15: Practica 2 - Identificacion Recursiva(1).pdf

15

[ ] [ ][ ][ ]

(̂ ) 1 ( ) ( ) ( ) ( ) ( ) 1 ( ) ( ) ( )( ) ( ) 1

i i i i

y t A q y t B q u t C q t B q tu t C q

b b b bε ε∂ ∂ − + + − ∂ ∂

= = + −∂ ∂ ∂ ∂

(21)

1 1 1

1 2 1( ) i nb nki nb i nk

i i

b b q b q b q qB qq

b b

− − + − + −− + −

⎡ ⎤∂ + + + + +∂ ⎣ ⎦= =∂ ∂

(22)

[ ]ˆ ˆ( ) ( ) ( ) ( )

i i i

t y t y t y tb b bε∂ ∂ − ∂

= = −∂ ∂ ∂

(23)

reemplazando las (22) y (23) en la (21)

[ ]ˆ ˆ( ) ( )

( 1 ) ( ) 1i i

y t y tu t i nk C q

b b∂ ∂

= − + − − −∂ ∂

reordenando

(̂ )( ) ( 1 )

i

y tC q u t i nk

b∂

= − + −∂

⇒ (̂ ) 1

( 1 )( )i

y tu t i nk

b C q∂

= − + −∂

(24)

finalmente para los parámetros ic

[ ] [ ][ ](̂ ) 1 ( ) ( ) ( ) ( ) ( ) 1 ( )

i i

y t A q y t B q u t C q tc c

ε∂ ∂ − + + −= =

∂ ∂

[ ][ ] [ ]

[ ]( ) 1 ( ) ( ) 1 ( )

( ) ( ) 1i i i

C q t C q tt C q

c c cε ε

ε∂ − ∂ − ∂

= = + −∂ ∂ ∂

(25)

[ ] [ ]1 2

1 2( ) 1 i nci nc i

i i

c q c q c q c qC qq

c c

− − − −−∂ + + + + +∂ −

= =∂ ∂

(26)

[ ]ˆ ˆ( ) ( ) ( ) ( )

i i i

t y t y t y tc c cε∂ ∂ − ∂

= = −∂ ∂ ∂

(27)

reemplazando las (26) y (27) en la (25)

[ ]ˆ ˆ( ) ( )

( ) ( ) 1i i

y t y tt i C q

c cε

∂ ∂= − − −

∂ ∂

reordenando

(̂ )

( ) ( )i

y tC q t i

∂= −

∂ ⇒

(̂ ) 1( )

( )i

y tt i

c C qε

∂= −

∂ (28)

las (20), (24) y (28) son las derivadas parciales de (̂ )y t respecto de los parámetros

Page 16: Practica 2 - Identificacion Recursiva(1).pdf

16

(̂ ) 1( )

( )

(̂ ) 1( 1 )

( )

(̂ ) 1( )

( )

i

i

i

y ty t i

a C q

y tu t i nk

b C q

y tt i

c C qε

∂= − −

∂∂

= − + −∂∂

= −∂

que se pueden agrupar en forma vectorial

(̂ )

( )(̂ ) 1

( 1 )( )

( )(̂ )

i

i

i

y ta y t iy t

u t i nkb C q

t iy tc

ε

⎡ ∂ ⎤⎢ ⎥∂ ⎡ ⎤⎢ ⎥ − −⎢ ⎥⎢ ⎥∂ ⎢ ⎥⎢ ⎥ = − + −⎢ ⎥⎢ ⎥∂ ⎢ ⎥⎢ ⎥

⎢ ⎥⎢ ⎥ −⎢ ⎥∂ ⎣ ⎦⎢ ⎥⎢ ⎥∂⎢ ⎥⎣ ⎦

de la definición del vector de parámetros θ , del regresor ( )tϕ y de ( )tψ se tiene para la estructura ARMAX que:

(̂ ) 1

( ) ( )( )

y tt t

C qψ ϕ

θ∂

= =∂

(29)

se llega a que ( )tψ se obtiene filtrando el regresor ( )tϕ con el filtro 1( )C q

1 21 2

1 1( ) 1 nc

ncC q c q c q c q− − −=+ + + +

Implementación del filtro 1( )C q

Desarrollando la (29)

( )1 2

1 2

1 2

1 2

( ) ( ) ( )

1 ( ) ( )

( ) ( 1) ( 2) ( ) ( )

( ) ( ) ( 1) ( 2) ( )

ncnc

nc

nc

C q t t

c q c q c q t t

t c t c t c t nc t

t t c t c t c t nc

ψ ϕ

ψ ϕ

ψ ψ ψ ψ ϕ

ψ ϕ ψ ψ ψ

− − −

=

+ + + + =

+ − + − + + − =

= − − − − − − −

Page 17: Practica 2 - Identificacion Recursiva(1).pdf

17

Se implementa en Simulink la última ecuación para 3nc = . El vector con los coeficientes del polinomio ( )C q es parte del vector de pará,etros que se está identificando.

Observación: En realidad lo anterior se diseño para las versiones de Simulink anteriores al Matlab 6.0 que no disponían de un filtro adaptable incorporado en sus librerías. En el Simulink 5 (R13) de Matlab 6.5 en adelante ya se cuenta en DSP Blockset/Filtering/Filter Designs, el bloque Digital Filter y la implementación del filtro es directa.

Page 18: Practica 2 - Identificacion Recursiva(1).pdf

18

BIBLIOGRAFÍA Åström, K., Wittenmark, B., Adaptive Control, Second Edition, Editorial: Addison-Wesley Publishing Company, Inc., 1995. di Sciascio F., Identificación Paramétrica de Sistemas Lineales, Apuntes de Cátedra, 1998. Goodwin, G.C. y Sin, Kyai Sang, Adaptive Filtering, Prediction and Control, Prentice-Hall, Inc. Englewood Cliffs, 1984. Ljung, L., System Identification: Theory for the User, 2nd Edition, Prentice Hall, Englewood Cliffs, N.J., 1999. Ljung, L., Sodestrom, T., Theory and Prectice of Recursive System Identification, 2nd Edition, Prentice The MIT Press, 1983. Ljung, L., System Identification Toolbox, for use with Matlab, User's Guide Version 5, The MathWorks, Inc, Natick, MA, 2002. Söderström, T. & Stoica, P.: System Identification, Prentice Hall, Englewood Cliffs, N.J., 1989.