Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)=...

107
Métodos de Identificación con Subespacios Prof. Cesar de Prada Dpt. Ingeniería de Sistemas y Automática Universidad de Valladolid

Transcript of Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)=...

Page 1: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Métodos de Identificación con Subespacios

Prof. Cesar de Prada Dpt. Ingeniería de Sistemas y

Automática Universidad de Valladolid

Page 2: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Indice Introducción Definiciones Métodos básicos

MOESP N4SID

HIDEN, ejemplos Métodos en lazo cerrado Ejemplos

Page 3: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Identificación en espacio de estados

x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t)

Ventaja: Permite tener en cuenta el carácter multivariable del sistema

Objetivos: estimar el orden n del modelo estimar los parametros (A,B,C,D) estimar los ruidos ω, v y el estado x

m l

Page 4: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Caso de estado x conocido x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t)

)t()t(DCBA

)t(z

)t(v)t(

)t()t(u)t(x

)t()t(y

)1t(x)t(z

ε+σ

=

ω=ε

+=

Si x(t) conocido, las matrices A,B,C,D pueden estimarse usando LS, OE, PEM, etc. Los ruidos se calculan como residuos.

Page 5: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Caso mas frecuente: x desconocido Suele implicar que el orden del modelo es desconocido

Diversos enfoques:

Métodos de subespacios

Métodos directos: Se puede usar una estructura de tipo independiente para calcular la salida del modelo

xm(t+1) = Axm(t) + Bu(t) y(t) = Cxm(t) + Du(t)

Page 6: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Identificacion directa tipo OE

En teoría puede usarse un algoritmo tipo OE para estimar A,B,C,D

Procesou

v

Modeloy

y

m

e(t)

m

Principales dificultades: orden desconocido y sobreparametrización del modelo

xm(t+1) = Axm(t) + Bu(t) ym(t) = Cxm(t) + Du(t) + v(t)

Page 7: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Dificultades: Orden del modelo x (t+1) = Ax (t) + Bu(t) y(t) = Cx (t) + Du(t)

[ ]

[ ] )t(Du)t(s)t(x

0C)t(y

Bu)t(s)t(x

0A)1t(s)1t(x

+

=

+

=

++

El orden del modelo puede aumentarse arbitrariamente manteniéndose la misma relación entrada-salida

Realización mínima : controlable y observable

Page 8: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Realizaciones equivalentes

Para cualquier T invertible, si z = T x

x(t+1)= Ax(t) + Bu(t) y(t) = Cx(t) + Du(t)

Tx(t+1)= TA T-1z(t) + TBu(t) y(t) = C T-1z(t) + Du(t)

x = T-1z

z(t+1)= [TA T-1] z(t) + [TB] u(t) y(t) = [C T-1] z(t) + [D] u(t)

[ TA T-1 , TB , C T-1, D ] = [AT , BT , CT , DT ] es una representación equivalente desde el punto de vista entrada-salida

Page 9: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Realizaciones equivalentes

x(t+1)= Ax(t) + Bu(t) y(t) = Cx(t) + Du(t)

Partiendo de datos entrada-salida, solo podemos aspirar a obtener una representación equivalente.

Este concepto es básico en los métodos de subespacios

z(t+1)= [TA T-1] z(t) + [TB] u(t) y(t) = [C T-1] z(t) + [D] u(t)

Page 10: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Métodos de subespacios

Basados en el uso de propiedades algebraicas Permiten estimar el orden de una realización mínima y los parámetros de una representación equivalente Existen diversos métodos con un fondo común

x(t+1)= Ax(t) + Bu(t) y(t) = Cx(t) + Du(t)

Orientados a un contexto multivariable con modelos en espacio de estados

Ordenes: n,m,l

Page 11: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Orígenes SMI

MOESP, Delf , Holanda •The output error state space model identification class of algorithms M Verhaegen, P. Dewilde, IJC, vol.56,n.5, 1992 • Identification of the Deterministic Part of MIMO State Space Models given in Innovations Form from I/O Data M. Verhaegen, Automática, Vol3, no.1, 1994

•N4SID, Catholic University of Leuven, Bélgium Peter Van Overschee y Bart de Moor, 1994.

•Closed loop •Closed loop identification of state space models using subspace techniques H. Jha, C. Georgakis, ADCHEM 97, Banff, 1997

Page 12: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Datos

)N,mi(

u...uu............

u...uuu...uu

U

)N,li(

y...yy............

y...yyy...yy

Y

2iNtit1it

Nt2t1t

1Nt1tt

N,i

2iNtit1it

Nt2t1t

1Nt1tt

N,i

=

=

−+++−+

+++

−++

−+++−+

+++

−++

Los datos experimentales se organizan como matrices Hankel :

yt, ut vectores de salida / entrada en el instante t

N+i-1= número de datos

i > orden del sistema

Page 13: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Representación básica

x(t+1)= Ax(t) + Bu(t) y(t) = Cx(t) + Du(t) y(t+1) = Cx(t+1) + Du(t+1) = CAx(t) + CBu(t) + Du(t+1) y(t+2) = Cx(t+2) + Du(t+2) = CAx(t+1) + CBu(t+1) + Du(t+2) = = CA2x(t) + CABu(t) + CBu(t+1) + Du(t+2) y(t+3) = ……

Page 14: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Representación básica

[ ]

y y yy y y

y y y

CCA

CA

x x x

DCB D

CAB CB D

CA B CA B D

t t t N

t t t N

t i t i t N ii

t t t N

i i

+ + −

+ + +

+ − + + + −−

+ + −

− −

=

+

1 1

1 2

1 21

1 1

2 3

0 00 0

0

.. .

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

. . .. . .

. . .

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

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

+ + −

+ + +

+ − + + + −

u u uu u u

u u u

t t t N

t t t N

t i t i t N i

1 1

1 2

1 2

. . .

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

. . .

Y X H Ui N i t N i i N, , ,= +Γ i > n

Page 15: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Matrices

=

−−

D......BCABCA...............0...DCBCAB0...0DCB0......0D

H

CA...

CAC

3i2i

i

1i

i

Matriz de observabilidad extendida

Matriz Toepliz de coeficientes de Markov coefficients (respuesta impulso)

Page 16: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Definiciones Descomposición en valores singulares Descomposición RQ Rango Subespacio columna Matrices invariantes a un desplazamiento Proyecciones

Page 17: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Descomposición en valores singulares SVD

Dada una matriz A (m , n) su SVD es: A = U S V* donde S es una matriz diagonal matrix con los valores singulares de A colocados en la diagonal principal en orden decreciente U , V son matrices unitarias ortogonales U (m , m) S (m , n) V (n , n)

Matlab svd(A)

Page 18: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Descomposición SVD

[ ]

σ

σ

==

n

2

1

v...vv

00000

0000

u|...|u|uUSVAn

1

m21

1v v v1u uu *VV UU

unitarias esortonormalmatrices )nn(V),mm(U)AA( singularesvalores

2iijji2iijji

1-*1-

Tii

=δ==δ=

==

××

λ+=σ

∗∗

Si rango(A) = n, debe haber n valores singulares > 0

Page 19: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Factorización RQ RQ Factorization

A = R Q A (m , n)

R (m , n) matriz triangular inferior

Q (n , n) matriz ortogonal Q-1 = Q’

Factorización reducida:

R (m , m) Q (m , n) Q Q’ = I (m , m) Matlab: QR Orthogonal-triangular decomposition. [Q,R] = QR(A) produces an upper triangular matrix R of the same dimension as A, and a unitary matrix Q so that A = Q*R.

Page 20: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Factorización de datos RQ

U

Y

R

R R

Q

Q

i N

i Nmi li N mi li mi li mi li N

,

,, ) ( , ) ( , )(

=

+ + + +

11

21 22

1

2

0

Factorización RQ de la matriz de datos U,Y

Q Q’ = I Q1 Q’1 = I (mi,mi) Q1 Q’2 = 0 (mi,li) Q2 Q’1 = 0 (li,mi) Q2 Q’2 = I (li,li) R11 (mi,mi)

R22 (li,li)

Page 21: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Definiciones

A secuencia de N vectores uk (m, 1) es persistentemente excitada de orden i si rank(Ui,N) = m i

Rango de A: número de lineas linealmente independientes Desigualdad de Sylvester

{ })B(rango),A(rangomin)AB(rangon)B(rango)A(rango ≤≤−+

Page 22: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Definiciones

[ ]

∑=

=

ijij

j

j

j

jN

j

j

t

ttt

b

bb

Ab

AAA..................

......

.........

......

......

3

2

1

3212

1

Dadas A y B (N, m) m < N B pertenece al subespacio columna de A si existe T (m, m) tal que B = A T

Page 23: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Matrices invariantes a un desplazamiento

TFF

que talT existe si entodesplazami una invariante es FF F F

xxxxxxxxx

xxxxxxxxx

xxxxxxxxxxxx

)1(n

)2(n

n

)2(n

)1(nn

=

Page 24: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

entodesplazami una invariante es

CA...

CACA

A

CA...

CAC

A

CACA

...CAC

i

)2(i

1i

2

2i

)1(i

1i

2ii

Γ

Γ=

=

−−−

Ejemplo

Page 25: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Proyecciones

Dada cualquier matriz U, la matriz:

U)UU(UI 1TTU

−⊥ −=Π

Es ortogonal a U (lleva a cabo una proyección ortogonal a U)

[ ]0UUU)UU(UUU

U)UU(UIUU1TT

1TTU

=−=−=

=−=Π−

−⊥

Page 26: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Herramientas geométricas

P

⊥QP /

QP/Q

⊥Q

y

z

Considerando los elemntos de una fila de una matriz como vectores

Proyección ortogonal de las filas de la matriz P sobre las filas de la matriz Q: P/Q

Q)QQ(PQPQ/P 1TTQ

−=Π=Q)QQ(PQPQ/P 1TT −⊥ −=

Page 27: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Métodos básicos de subespacios Métodos de realización: Los parámetros de Markov (respuesta impulso) se suponen conocidos

Métodos directos: Primero se estiman n y Γi y luego:

MOESP: Estima C, A y luego B y D

N4SID: Estima x y luego A, B, C, D

Page 28: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Métodos directos

uk, yk

n, Γi

X~

A,C

B,D,Q,R,S A,B,C,D,Q,R,S

MOESP N4SID

Page 29: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

MOESP Multivariable Output Error State Space Model Identification

Ordinary MOESP:

Verhagen 1993, sin ruido

PO-MOESP: Past Outputs MOESP,

Verhagen 1994, con ruido

Page 30: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

N,iiNiN,i UHXY +Γ=

U)UU(UI 1TTU

−⊥ −=∏ 0UUN,i =∏⊥

⊥⊥ ∏Γ=∏UU NiN,i XY

MOESP simple

⊥⊥⊥ ∏+∏Γ=∏UUU N,iiNiN,i UHXY

Se utiliza la proyección ortogonal de U para cancelar este término

Page 31: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

MOESP simple ⊥⊥ ∏Γ=∏UU NiN,i XY

Dos pasos:

Estimar el orden n del modelo

Estimar C y A a partir de las propiedades de invarianza a un desplazamiento de Γi

iN,i decolumna subespacio al perteneceYU

Γ∏⊥

Page 32: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Rangos Rango de XN es n

Si la entrada es persistentemente excitada: rango de Ui,N es mi

si i es suficientemente grande, rango (XN ΠU⊥) = n

En una realización mínima: rango(Γi) = n

Por tanto: rango( Yi,N ΠU⊥ = Γi XN ΠU

⊥) = n

y la SVD de Yi,N ΠU⊥ debe tener n valores singulares

diferentes de cero y el resto igual a cero

Page 33: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Estimación de n por SVD

[ ]

=∏ ⊥ T

n

Tnn

onUN,i VV

000S

UUY

En la practica, varios valores singulares serán proximos a cero pero distintos de cero y n debe estimarse por inspección de los mismos

[ ]

=∏ ⊥ T

n

Tn

o

nonUN,i V

VS00S

UUY

Page 34: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Elección de Γi

z(t+1)= [TA T-1] z(t) + [TB] u(t) y(t) = [C T-1] z(t) + [D] u(t)

1i

1

1i11i1

11

1

1i

i TT

CA...

CAC

TTACT...TATCT

CT

CA...

CAC

−−

−−−−

−−

Γ=

=

Podemos trabajar con cualquier matriz del subespacio de Γi

Page 35: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Estimación de Γi por SVD

[ ]

[ ] Tnnn

Tnn

on

Tn

Tnn

onUN,i

VSU0VS

UU

VV

000S

UUY

=

=

=

=∏ ⊥

Existen varias alternativas para elegir Γi teniendo en cuenta que el objetivo final es escoger una matriz del tipo ΓiT-1

21nnini SUˆUˆ =Γ=Γ⊥⊥ ∏Γ=∏

UU NiN,i XY

Page 36: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Estimación de AT

)2(nT

)1(n

T)1(

n

)2(n

1)2(i

1)1(i

11)1(iT

)1(n

)2(i

(1)ii

n

1in

i n

UAU

:departir a calcularse puede A ,n)Urango( is demás,A

UTAT)TAT(TAU

A :desplz una invariante es omoc :Prueba

ento.desplazami una invariante tambiénes U TU

decolumna subespacio del Umatrizuna conocemos que Una vez

=

=

=Γ=Γ=Γ=

Γ=ΓΓ

Γ=

Γ

−−−−

Page 37: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Estimación de AT

[ ][ ] [ ]†)1(

n

T)1(n

1)1(n

T)1(n

)2(n

T)1(n

1)1(n

T)1(nT

)2(n

T)1(nT

)1(n

T)1(n

UU)UU(

UU)UU(A

UUAUU

=

=

=

)2(nT

)1(n UAU =

Page 38: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Estimación of CT

tedirectamen CTCmuestra Ude bloqueprimer El

TCA...

CATCT

=T

CA...

CAC

TU

TU

1Tn

11i

1

1

1-

1i

1in

1in

−−

=

=Γ=

Γ=

Page 39: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

ni U=Γ

),(2

1

),(2221

11

),(

.

NlimilimilimiNlimi ++++

=

QQ

RR0R

YU

[ ]

012

11

222121

111

111

+==

=

T

T

TTT

QQIQQ

QRQRYRQU

QRU

Una alternativa usando RQ

[ ]

=∏ ⊥ T

n

Tn

o

nonUN,i V

VS00S

UUY

Page 40: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Una alternativa usando RQ

[ ] [ ]

[ ] [ ]

[ ] [ ]

[ ] [ ] 2221111T

1111T1121222121UN,i

1111T

1111T

1122212

12221U

1111T

11T

1111T

11T12

T11

22212

12221U

1111T

11T

1111T

11T

12

12221

2

12221U

QRQR)RR(R.RQRQRY

QR)IRR(R0I

.RRQQ

.RRY

QR)RQQR(RQQQQ.RR

QQ

.RRY

QR)RQQR(RQQQ

.RRQQ

.RRY

=−+=∏

=∏

=∏

=∏

UUUYUYY TTUNi

1, )( −−=∏ ⊥

222, QRY UNi =∏ ⊥

Page 41: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

[ ]

= T

0

Tn

0

n0n22 V

VS00S

UUR

==

−1

iTT

TT

TT

T

nU

AC:ACAC

C

i

( )n3T

n2†

n1T

UJCUJUJA

==

( ) ( ) ( ) ( )

=

=

−×−×−− lillilliliIJIJ

112

111 0,0

( )

=

−× lillIJ

13 0

Decomposición de R22

Page 42: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Operador q

qx(t) = x (t+1) q-1x(t) = x (t-1) qx(t) = x (t+1) = Ax (t) + Bu(t) y(t) = Cx (t) + Du(t) [qI - A] x(t) = Bu(t) x(t) = [qI - A]-1 Bu(t) y(t) = C [qI - A]-1 Bu(t) + Du(t)

Page 43: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Estimación de BT y DT Si A y C son conocidos, B y D pueden estimarse usando LS a partir de:

)t(v)t(uD)t(uB)AqI(C)t(y 1 ++−= −

Puesto que aparecen el forma lineal. Para este fin puede usarse el predictor:

ϕ=

)D(vec)B(vec

)t()t(ym v(t) ruido

Page 44: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

)t(v)t(uD)t(uB)AqI(C)t(y 1 ++−= −

ϕ=

)D(vec)B(vec

)t()t(ym

kj,j

kj1

i

B elemento al ecorrespondjn)1k(i

0

1

0

e

)t(ue)AqI(C)t(

+−=

=

−=ϕ −

Columna i de ϕ(t):

vec(X) = vector columna construido superponiendo las columnas de X

Estimación de BT y DT

Page 45: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

0)( 0 =nT UU

0U )( linli ×−1112100−= RRUHU T

iT

+−+

=

+−Ξ

+ΞΞ

Tn

l

T

T

TTT

BD

UI

liilU

llUliilUllUlU

miim

mmm

)1(

0

0

000

00

00):)1((:,0

0)2:1(:,):)1((:,)2:1(:,):1(:,

):1)1((:,

)2:1(:,):1(:,

111210−=Ξ RRU T

nn UJU 1)1( =

B y D

D

BT

Page 46: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

PO-MOESP

N,sN,ssN,isN,s NUHXY ++Γ=

MOESP con ruido

Si se consideran perturbaciones no medibles, aparece un término extra N en el modelo:

Pasos:

1 Eliminar el término HU

2 Cancelar el término N

3 Estimar Γ

Page 47: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

PO-MOESP

)N,li(

y...yy............

y...yyy...yy

Y

)N,li(

y...yy............

y...yyy...yy

Y

2i2Nti2t1i2t

iNt2it1it

1iNt1itit

F

2iNtit1it

Nt2t1t

1Nt1tt

P

=

=

−+++−+

++++++

−+++++

−+++−+

+++

−++La matriz de datos Y se divide en dos matrices YP e YF (pasado y futuro)

Se hace lo mismo con U y N

Page 48: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

PO-MOESP

FFiN,iiF NUHXY ++Γ=

La ecuación del modelo se formula en términos de los datos “futuros” YF , UF

⊥⊥⊥ ∏+∏Γ=∏FFF UFUN,iiUF NXY

Se multiplica por ΠUF⊥, para eliminar el término HU

Page 49: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

⊥⊥⊥ ∏+∏Γ=∏FFF UFUN,iiUF NXY

[ ]TP

TP

TP YUW =

TPUF

TPUN,ii

TPUF WNWXWY

FFF⊥⊥⊥ ∏+∏Γ=∏

[ ][ ] 0

,0

=

=Tpf

Tpf

ynE

unE 01=∏ ⊥

∞→

TPUF

TN

WNN

limFT

PO- MOESP

El ruido se elimina utilizando la variable instrumental:

Los ruidos “futuros” no dependen de las señales “pasadas”

Page 50: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

TPUN,ii

TPUF WXWY T

F∏Γ=∏ ⊥

PO-MOESP

TPUF WY

F⊥∏

n)WX(rango TPUN,i T =∏como

n puede calcularse de forma similar a partir de:

y Γi y H calcularse como anteriormente

Page 51: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

×

=

4

3

2

1

44434241

333231

2221

11

QQQQ

RRRRRRR

RRR

YYUU

F

P

P

F

PO-MOESP

Una alternativa eficiente para calcular Γi es usar la decomposición RQ :

Page 52: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

[ ]T

TPUNii RR

RRRWX T

=∏Γ

3332

224342,

0

[ ]

= T

Tnn

n VV

SS

UURR00

04342 00

ni U=ΓT

Tnn

TPUNi RR

RVSWX T

=∏

3332

22,

0

PO- MOESP Puede probarse que:

Page 53: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

[ ]

+

+=

×

×

lm

l

l

m

ml

kkk

kkk

lN

nm

m

m

nnmk

mk

mk

nkkk

k

lN

l

l

N

d

dd

d

dd

muuu

muuu

b

bb

b

bb

yyyyyyxCA

y

yy

y

yy

T

T

T

2

1

1

12

11

2

1

1

21

11

21121110

1

2

1

1

21

11

)()2()1(000

000000000)()2()1(

BT and DT

D

BT

Page 54: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

N4SID (Numerics for(4) Subspace Identification)

uk, yk

n, Γi

X~

A,C

B,D,Q,R,S A,B,C,D,Q,R,S

MOESP N4SID

La primera parte es similar a MOESP pero usando la proyección oblicua

N4SID usa también la partición de datos P, F

Page 55: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

FFiN,iiF NUHXY ++Γ=

⊥⊥⊥ ∏+∏Γ=∏FFF UFUNiiUF NXY ,

Cancelamos UF usando

FN=∏ ⊥FUFN

FUNiiUF NXYFF

+∏Γ=∏ ⊥⊥ ,

N4SID

⊥∏FU

Page 56: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

W1 y W2 escogidas de modo que:

)(rango)W(rango ii1 Γ=Γ)WX(rango)X(rango 2UN,ii

F⊥∏=

0WNW 2F1 =

N4SID Cancelación del ruido

2F12UN,ii12UF1 WNWWXWWYWFF

+∏Γ=∏ ⊥⊥

Page 57: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

YU

W W)W(WIWP

PPP

†Up2li1

F

=∏== ⊥

2,2 WXWYFF UNiiUF ⊥⊥ ∏Γ=∏

N4SID

Tn

2/1n2UNi,

2/1nni

T0

Tn

0

n0n2UF

VSWX SU

VV

S00S

UUWY

F

F

=∏=Γ

=∏

Page 58: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

N4SID

[ ]( )

N,iP1

pN,iPT

p

1Tp

1pN,i

PT

pT

U

1TU

1Tp

1p

1UUN,i

PT

pT

U

1TUp

1UpUN,i

PT

Up1

UpT

UpUN,i

P†

UpUN,i2UN,i

XWWXWWWWX

WWWWX

WW)W()W(X

W)W()W()W(X

W)W(XWX

FFFF

FFFF

FFFF

FFF

===

=∏∏∏∏=

=∏∏∏∏=

=∏∏∏∏=

=∏∏=∏

−−−

−−−−

−−

⊥⊥⊥⊥

⊥⊥⊥⊥

⊥⊥⊥⊥

⊥⊥⊥

Tn

2/1nN,i2UN,i VSX~WX

F==∏ ⊥

Page 59: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

1iX~ + puede calcularse de forma similar

N4SID

+

=

+

v

w

F

i

F

i

UX

DCBA

YX

ρρ

11

~~1

2

1

,,, 11

~~

FF

i

F

i

DCBAmin U

XDCBA

YX

+

A, B, C, D se obtienen por minimización

Page 60: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Alternativa para la estimación del estado

+

+

=

−+

+

−+

+

−−−

−+

+

2it

1t

t

2it

1t

t

3i2i

t

1i1it

1t

t

e

ee

u

uu

D......BCABCA...............0...DCBCAB0...0DCB0......0D

x

CA...

CAC

y

yy

)t(E)t(UH)t(x)t(Y iiiiii+++ ++Γ=

Page 61: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Estimación de x(t)

)t(E)t(UH)t(x)t(Y iiiiii+++ ++Γ=

x(t) será una combinación lineal de u(t-1), …,u(t-i), y(t-1),…, y(t-i)

[ ]

=

i

i21i U

YHH)t(x

[ ][ ]

)t(E)t(UHUY

HH)t(Y iiii

i

LL

21ii

21

++−

−+ ++

Γ=

L1 ,L2 ,Hi pueden estimarse por regresión lineal

Page 62: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Estimación de x(t) [ L1 ,L2 ] tiene rango n [ L1 ,L2 ]=Γι [ H1 ,H2 ]

[ ] [ ]

Σ= '

2

'1

2121 VV

000

UULL

Usando su SVD:

2/11i U Σ=Γ

[ ]

Σ=

=

i

i'1

2/1

i

i21i U

YV

UY

HH)t(x

[ ] 2/1121 UHH Σ=

Page 63: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Otra Alternativa: decomposición RQ

×

=

4

3

2

1

44434241

333231

2221

11

F

P

QQQQ

RRRRRRR

RRR

YYUU

F

P

Page 64: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

[ ] [ ] PUFi WMKGFWYZF

†2=∏= ⊥

N4SID

[ ] [ ] [ ] [ ][ ][ ]

[ ] [ ]

=

=

=

=−=

P

Pp Y

UW

RM

RRRRRR

RRR

RK

RRGRRRRRRRRF

000

**00

**

33

2221†

22213231

11

3231

11

4443

2221†

222142414241

Page 65: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

iiNi ZX †,

~ Γ=

N4SID

[ ]

= T

Tn

o

nni V

VS

SUUZ

00 0

0

NiUNi

nni

XWX

SU

F,2,

2/1

~=∏

Page 66: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Indice Interés Dificultades Algunos métodos de identificación Identificación con subespacios Ejemplos

Page 67: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Identificación en lazo cerrado

Hay situaciones (plantas inestables en lazo abierto, o con integradores) en las que los experimentos han de realizarse en lazo cerrado

Se desea garantizar la operación en un rango durante los experimentos

A veces, solo se dispone de datos de operación tomados en lazo cerrado, con cambios significativos o excitación externa

Se desea mejorar la identificación en un rango de frecuencias de interés, cercano al punto crítico

Page 68: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Dificultades La información en lazo cerrado puede

no ser lo suficientemente rica y se necesita excitación externa

La identificabilidad puede depender del tipo de regulador

Algunos métodos de identificación u/y dan estimas sesgadas si la identificación se realiza con datos en lazo cerrado

Page 69: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Dificultades, orden del Reg.

+ + -

K

Proceso

u

v

y

B / A

[ ] )t(v)1t(ybKa)t(v)1t(bKy)1t(ay)t(y

)t(Ky)t(u)t(v)1t(bu)1t(ay)t(y

+−+−==+−−−−=

−=+−+−−= w=0

A pesar de que la u está persistentemente excitada, en una identificación u/y es valida cualquier solución del tipo:

[ ] [ ][ ] )t(v)1t(ybKa

)t(v)1t(yKbKKa)t(v)1t(yKba)t(y

bb

Kaa

+−+−==+−λ−+λ+−=+−+−=

λ−=

λ+=

Page 70: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Dificultades (LS) Modelo (LS):

[ ] [ ]VN

e tN

y t y tN

y t tt

N

mt

N

t

N

= = − = − ′= = =∑ ∑ ∑1 1 12

1

2

1

2

1

( ) ( ( ) ( ) ( ( ) ( )ϕ θ

Criterio de estimación:Dado un conjunto de datos experimentales u(t), y(t), minimizar respecto a los parámetros θ :

Procesou

v

Modeloy

y

m

e(t)

m

y t tm ( ) ( )= ′ϕ θ

Page 71: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Mínimos cuadrados

[ ] ' 'θ = −Φ Φ Φ1 y [ ] ∑=

ϕϕ=ΦΦN

1t)'t()t('

Debe ser invertible

[ ]∑=

θθθ′ϕ−=

N

1t

2)t()t(y(N1minVmin [ ]

[ ])N(y),....,2(y),1(y')N(....)2()1('

=

ϕϕϕ=Φ

y

ϕ(t) es un vector de datos que depende del tipo de modelo

Page 72: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Propiedades (1)

[ ] ' 'θ = −Φ Φ Φ1 y

Suponiendo que el proceso puede ser representado de forma exacta por y(t)=ϕ(t)’θ0 +v(t)

[ ] [ ]v+θΦΦ′ΦΦ=θ −0

1'ˆ [ ]θ θ= + ′ ′−0

1Φ Φ Φ v

[ ] }{E}ˆ{E 10 vΦ′ΦΦ′+θ=θ −

E{}θ θ= 0

Si la estima es no sesgada [ ] 0}{E 1 =Φ′ΦΦ′ − v

Page 73: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Propiedades (2)

[ ]

ϕ

ϕ′ϕ=Φ′ΦΦ′ ∑∑

=

=

−N

1t

1´N

1t

1 )t(v)t(N1)t()t(

N1}{E v

Para que la estima de θ no sea sesgada los datos ϕ(t) no deben estar correlacionados con los ruidos v(t)

¿Cuando el término es nulo? [ ] }{E 1 vΦ′ΦΦ′ −

)0(R)t(v)t(N1

v

N

1tϕ

=

≈ϕ∑La inversa será no nula, luego el término determina el sesgo

Page 74: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Sesgo (resp. Impulso)

[ ])mt(u),....,2t(u),1t(u)t( −−−=′ϕ

Processu

vy

[ ] }{E}ˆ{E 10 vΦ′ΦΦ′+θ=θ −

Processu

vy

controller

Estimación no sesgada en lazo abierto: u y v no correlacionados

La estimación puede ser sesgada en lazo cerrado: v y u están correlacionadas a través de la y de realimentación

Page 75: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Métodos

Identificar con algoritmos PEM con datos en lazo cerrado

Identificar la función de transferencia en lazo cerrado y obtener de ella la de lazo abierto

Métodos de error de la salida en lazo cerrado Métodos de error de la salida en lazo abierto

filtrado Métodos de subespacios en lazo cerrado

Page 76: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Identificación en lazo cerrado

+ + + -

T 1 / R

S Proceso

u

v

y B / A

w

r

Pueden usarse datos de entrada - salida, u e y en lazo cerrado y métodos PEM La identificación no es mejor en la zona de frecuencias de interés

Page 77: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Interpretación en frecuencia (1) 2N

1t

n

1ii )it(ug)t(y

N1V ∑ ∑

= =

−∆−=

2N

1t

n

1i

ii

1k

k0k

2N

1t

n

1i

ii

1k

k0k

)t(v)t(uqgqgN1

)t(uqg)t(v)t(uqgN1V

∑ ∑∑

∑ ∑∑

= =

−∞

=

= =

−∞

=

+∆

−=

=

∆−+∆=

[ ]2N

1t

N

1t

22n

1i

ii

1k

k0k )t(v

N1)t(uqgqg

N1V ∑∑ ∑∑

== =

−∞

=

− +∆

−=

Modelo respuesta impulso

Datos tomados en lazo abierto: u y v están incorrelacionados

Page 78: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Dominio de la frecuencia (2)

[ ]2N

1t

N

1t

22n

1i

ii

1k

k0k )t(v

N1)t(uqgqg

N1V ∑∑ ∑∑

== =

−∞

=

− +∆

−=

Igualdad de Parserval x t dt dNT

xT

T

( ) ( )/

/2

0

12∫ ∫=

−πω ω

π

π

Φ

ωωΦπ

+ωωΦ

−π

= ∫∫ ∑∑π

π−

π

π−∆

=

ω−∞

=

ω− d)(21d)(egeg

21V

T/

T/v

T/

T/u

2n

1i

Tjii

1k

Tjk0k

Los errores están pesados en cada frecuencia por el espectro de potencia de los datos de entrada. El modelo, a las frecuencias que no se exciten presentará mayor error que aquellas donde Φ∆u(ω) sea significativo

Page 79: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Identificación en lazo cerrado

+ + + -

T 1 / R

S Proceso

u

v

y

B / A w

r

Puede identificarse el sistema completo M entre w e y o entre r e y como un proceso cualquiera si hay una excitación adecuada. Posteriormente se calcula B/A mediante: M BT

AR BS=

+La solución depende del orden del regulador

M

Page 80: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Identificación en lazo cerrado

El objetivo es obtener una identificación mas próxima al sistema real en la región de frecuencias en torno al punto crítico, que es la mas importante en el diseño de un controlador Para ello se utiliza una función de coste para identificar similar al objetivo de diseño del controlador, dentro del contexto de la metodología de identificación en lazo cerrado y re-diseño del controlador

Page 81: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Identificación en lazo cerrado

Regulador

w + +

+

- T 1 / R

S Proceso

u

r v

y B / A

[ ]u t r tR q

T q w t S q y t( ) ( )( )

( ) ( ) ( ) ( )= + −−− −1

11 1

y t B qA q

u t v t( ) ( )( )

( ) ( )= +−

1

1

Page 82: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Funciones de transferencia

+ -

T 1 / R

S Proceso

u

r v

y B / A

w

y BTAR BS

w BRAR BS

r ARAR BS

v=+

++

++

u ATAR BS

w ARAR BS

r ASAR BS

v=+

++

−+

Swy Svy

Swu Svu Sr u

Svy=Sr u

Como Sr u depende de datos medibles, Svy puede ser identificado

Sry

Page 83: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Identificación en lazo cerrado

+ -

T 1 / R

S Proceso

u

r v

y B / A

w=0

Con w=0 ( )

( )

y BA

u v BA

S r S v v

BA

S r S v v

ru vu

vy vu

= + = − + =

= − +

Page 84: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Interés de la CL-ID

( )y BA

S r S v vvy vu= − +

+ + B / A

v

y

- Svu

Svy r u

� Identificar en lazo cerrado entre y & u con excitación en r, asegura que u recibe componentes filtrados por Svy. Así se mejora la identificación en frecuencias cercanas a la del margén de módulo, donde Svy es grande. � Problema de ruido a traves de -Svuv

Page 85: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Método de identificación del error de la salida en lazo cerrado

Closed Loop Output Error CLOE

+ + + -

T 1 / R

S Proceso

u

r v

y B / A

w

+ + -

T 1 / R

S

Modelo

um ym

Bm / Am

ecl = y-ym +

-

CLOE

Page 86: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Dominio de la frecuencia

V G j G j S jS j

S jd

S j d

vywu w

vy r

vy v

m

m

= −+

+

+

+

( ) ( ) ( ) ( ) ( )

( ) ( )

( ) ( )

ω ω ωω ω

ω ωω

ω ω ω

π

π

π

π

2 2

2

2

2

Φ

Φ

Φ

• El ruido no afecta la estimación de los parámetros • Los errores disminuyen en la región donde Svy y el espectro de la señal de excitación son grandes

Page 87: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

FOL Filtered Open Loop Identification Algorithms Algoritmos estandar de identificación en lazo abierto pero utilizando datos filtrados de entrada- salida obtenidos en lazo cerrado

+ -

T 1 / R

S Proceso

u

r v

y B / A

w

No necesitan conocimiento del controlador

Page 88: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

FOL

0¡1

¡1

0

0

0

1

1

ˆˆ

ˆˆˆˆ

y

ˆ 0con w

)()()()(ˆ)(

v(t) )()()()()(

eySyS

eyAR

BSARyRA

SBRA

yARBSy

RASBey

erGvGr

trR

tSytTwqGty

trR

tSytTwqGty

mvyvy

m

mm

mm

=−

=+

−+

+−=−

=−+=

+

−=

+

+

−=

−−

e0 error proceso/modelo generado si se hubiera aplicado la señal r en lazo abierto

+ -

1 / R

S Proceso

u

r v

y B / A

0

Filtrando con Svy-1 el error en lazo cerrado se genera el error e0

Page 89: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

FOL-OE

• Minimizar los errores en lazo cerrado equivale a aplicar el algoritmo de lazo abierto Output Error (OE) con datos filtrados por la estimación de la función de sensibilidad de la salida Svy • Svy puede estimarse identificando Sru entre r y u previamente • Proporciona una estimación sesgada debido al ruido

[ ]e t S e t S y t y t S y t BA

S u tcl vy vy m vy

y

vy

uf f

( ) ( ) ( ) ( ) ( )

( )= = − = −

Page 90: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

FOL-IV dominio frecuencial

V G j G j S j S j d

S j S j d

vy vy r

vy vy v

= − +

+

( ) ( ) ( ) ( ) ( )

( ) ( ) ( )

ω ω ω ω ω ω

ω ω ω ω

π

π

π

π

2 2 2

2 2

Φ

Φ

• No presenta sesgo • La estimación se mejora en el rango de frecuencias en que Svy y la señal de excitación en r son altas • Es proxima a la expresión del algoritmo CLOE

Page 91: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Métodos de subespacios

C(z) P(z)rk +

wk vk

uk

-

yk

Consideran un sistema equivalente donde u e y son salidas y r entrada

Page 92: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Métodos de subespacios Métodos de Entrada/Salida: Modelo Global

Referencia)(1 kr Sistema a

Lazo Cerrado

Entrada alProceso

)(ku p

Salida delProceso

)(ky p

Page 93: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Modelo proceso - controlador

v(k)(k)uD(k)xC(k)yw(k)(k)uB(k)xA)1(kx

ppppp

ppppp

++=

++=+

(k)uD(k)xC(k)y(k)uB(k)xA)1(kx

ccccc

ccccc

+=+=+

c2p

p1c

yruyru

+=

−=

Reg. Proceso r1

r2 up

w v yp

Page 94: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Modelo Proceso - controlador

v(k)(k)uD(k)xC(k)yw(k)(k)uB(k)xA)1(kx

ppppp

ppppp

++=

++=+

(k)uD(k)xC(k)y(k)uB(k)xA)1(kx

ccccc

ccccc

+=+=+

(k)σ(k)r(k)r

DDDD

x(k)CC

(k)y(k)u

(k)σ(k)r(k)r

)B(BAx(k))1x(k

v2

1

2221

1211

2

1

p

p

w2

121

+

+

=

+

+=+

c2p

p1c

yruyru

+=

−=

Page 95: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Identificación a Lazo Cerrado Métodos Basados en Subespacios:

Método Indirecto: Desarrollado por Peter Van Overschee y Bart de

Moor. Supone conocer los parámetros de Markov del controlador.

Método Entrada/salida. Desarrollado por Michel Verhaegen. Parte un

modelo global el cual es analíticamente reducido conociendo el orden del controlador

Page 96: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

Referencia)(1 kr Sistema a

Lazo Cerrado

Entrada alProceso

)(ku p

Salida delProceso

)(ky p

(k)σ(k)rDDDD

x(k)CC

(k)y(k)u

(k)σ(k))rB(BAx(k))1x(k

v12221

1211

2

1

p

p

w121

+

+

=

++=+

1. Identificar el sistema global

IdentCL

Page 97: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

IdentCL

FFiNiiF UHXY Φ++Γ= ,

⊥⊥⊥ ∏+∏Γ=∏FFF UFUNiiUF NXY ,

PP UW =

[ ] ,0uE Tpf =Φ 0WN

N1lim T

PUFT

N FT

=∏ ⊥∞→

TPUF

TPUN,ii

TPUF WNWXWY

FFF⊥⊥⊥ ∏+∏Γ=∏

Page 98: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

IdentCL TPUN,ii

TPUF WXWY T

F∏Γ=∏ ⊥

×

=

3

2

1

333231

2221

11

000

QQQ

RRRRR

R

YUU

F

p

F

0=

=Txy

Txx

QQIQQ

11 QQI TU F

−=∏ ⊥

F1T

FFTFU U)UU(UI

F

−−=∏ ⊥ 1111

111111111 )( QRRQQRRQI TTTTU F

−−=∏ ⊥

Page 99: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

IdentCL

×

=

3

2

1

333231

2221

11

000

QQQ

RRRRR

R

YUU

F

p

F11 QQI T

U F−=∏ ⊥

[ ] [ ] [ ]

=∏ ⊥ T

TTTTT

PUF RR

QQQQIQQQ

RRRWYF

22

212111

3

2

1

333231

PP UW =

TTPUF RRWY

F2232=∏ ⊥

TTPUNii RRWX T 2232, =∏Γ

Page 100: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

IdentCL

= T

Tnn

n VV

SS

UUR00

032 00

ni U=Γ

( )nT

nnT

UJCUJUJA

3

2†

1

==

Page 101: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

IdentCL

[ ] [ ]iT

iT

T

i

i uDB

XCA

yX

=

+ ~~

1

iiT ZX †~ Γ=pi URRZ †2232=

TTPUNii RRWX T 2232, =∏Γ

Page 102: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

IdentCL

2. Simulación del modelo Global con la señal de referencia para obtener señales libres de ruido.

(k)Drx(k)C)k(y)k(u

(k)rBx(k)A)1x(k

1Tp

p

1TT

+=

+=+

Page 103: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

IdentCL

3. Obtener el modelo del proceso a Lazo Abierto con los datos obtenidos de la simulación libre de ruido.

)k(Du)k(xC)k(y)k(uB)k(xA)1k(x

pppp

ppppp

+=

+=+

No es necesario conocer el controlador

Page 104: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

IdentCL ejemplo

86.0483.709.84.4)02.030.359.1899.1298.0(10)( 2345

2343

−+−+−−+++

=−

zzzzzzzzzzP

9.061.27.2)74.2131189.2(01.0)( 23

2

−+−+−+

=zzzzzzD

39.057.111.365.249.083.176.203.261.0)( 234

234

+−+−+−+−

=zzzz

zzzzzC

Page 105: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

IdentCL

0 500 1000 1500 2000 2500 3000-1.5

-1

-0.5

0

0.5

1

1.5

2

Page 106: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

IdentCL

10-3

10-2

10-1

100

10-4

10-2

100

102

104

Figura 3.21. Diagrama de Bode. Proceso real: Rojo

IdenCl: Azul, CLID.m: verde

Page 107: Identificación de Sistemasprada/identifsubOLCL.pdfIdentificación en espacio de estados x(t+1)= Ax(t) + Bu(t) + ω(t) y(t) = Cx(t) + Du(t) + v(t) Ventaja: Permite tener en cuenta

IdentCL

0.2 0.4 0.6 0.8 1 1.2 1.4

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

Figura 3.22. Lugar de las Raíces. Proceso real: Rojo

IdenCl: ‘+’Azul, CLID.m: ‘o’ verde