Está en la página 1de 15

TEMA XII.

- IDENTIFICACIÓN DE SISTEMAS

entro del término de estimación de sistemas se engloba la identificación de


sistemas, la estimación determinística y la estimación de sistemas estocásticos. En
nuestro caso trataremos estas problemáticas en capítulos diferentes.

Se entiende por identificación el proceso de encontrar las ecuaciones matemáticas que rigen
el comportamiento de un sistema, es decir, crear un modelo matemático del sistema físico
real.

Los sistemas de E/S quedan determinados por su función de transferencia, que puede
expresarse como una función temporal (respuesta impulsional) o como una transformada
(de Laplace si el sistema es continuo y transformada Z si el sistema es muestreado). Entre
los métodos que identifican la respuesta impulsional se encuentran los que se basan en el
teorema de la convolución y los que emplean funciones de correlación. Para la
determinación de la función de transferencia transformada se emplean excitaciones
sinusoidales. Estos métodos clásicos no van a ser tratados.

Para la identificación de sistemas multivariables, que también pueden ser aplicados a


sistemas de E/S, se utilizan básicamente dos métodos: el de mínimos cuadrados y el del
gradiente.
-1-
A veces las ecuaciones matemáticas del sistema son conocidas y lo que hay que determinar
son los coeficientes de dichas ecuaciones. En este caso el método de mínimos cuadrados es
el adecuado.

Otras veces se identifica al sistema basándose en la señal de error que se produce cuando se
le compara con un modelo. En este caso se emplea el método del gradiente.

Respecto a la identificación puede ser paramétrica (cuando existe un modelo al que es


necesario ajustarle algunos parámetros) o no paramétrica (cuando se obtienen las
ecuaciones del modelo partiendo de la respuesta al escalón o de la respuesta en frecuencia)
y on-line (cuando el ordenador actúa en tiempo real como herramienta de la identificación)
u off-line (cuando los valores de las variables de entrada y salida se registran constituyendo
los datos para un programa de ordenador diseñado para identificar al sistema).

12.1.- IDENTIFICACIÓN DE SISTEMAS BASADA EN LA SEÑAL DE ERROR


Vamos a considerar un sistema multivariable descrito con variables de estado, ya que este
caso engloba a los sistemas de entrada - salida.

Los elementos desconocidos del sistema se engloban en la matriz A, y son los parámetros
que aparecen en las ecuaciones dinámicas del sistema que se quiere identificar. Por otra
$ es la matriz formada por los valores estimados de la matriz de valores reales A.
parte, A

Los coeficientes aij que se quieren identificar son los del sistema real:
y 1 = a 11 x 1 + a 12 x 2 +L+ a 1n x n
y 2 = a 21 x1 + a 22 x 2 +L+ a 2 n x n
LLLLLLLLLLLL
y r = a r1 x 1 + a r 2 x 2 +L+ a rn x n

que en forma vectorial se expresaría:


y = Ax

representando el vector y las r salidas del sistema y x las variables de las que dependen las
salidas.

El sistema estimado será:


$
y$ = Ax

es decir:

-2-
y$ 1 = a$ 11 x1 + a$ 12 x 2 +L+ a$ 1n x n
y$ 2 = a$ 21 x 1 + a$ 22 x 2 +L+ a$ 2 n x n
LLLLLLLLLLLL
y$ r = a$ r1 x1 + a$ r 2 x 2 +L+ a$ rn x n

El diagrama de bloques de este método es el siguiente:

Fig. 12.1.- Identificación basada en el error

La señal de error e2 es un escalar, de ahí que las líneas gruesas se hayan utilizado para
vectores y las finas para escalares.

Para que el modelo represente fielmente al sistema es necesario que el error cuadrático sea
mínimo, por lo que se define el índice de comportamiento:
1 T
J= e e
2
Para hacer que el modelo converja hacia el sistema, el algoritmo tiene que ir adaptándose a
las nuevas circunstancias que se produzcan, de modo que influya en el modelo para que el
error sea mínimo.

Algoritmo del gradiente


La expresión matemática de este algoritmo es:
$ ( k + 1) = A
A $ ( k ) − µ∇ $ J
A

con µ > 0.

-3-
Desarrollando el gradiente quedaría:

$ ( k ) − µ ∂J = A
$ ( k + 1) = A
A $ ( k ) − µ ∂J ∂e = A
$ ( k ) − µe ∂e
$
∂A $
∂e ∂A $
∂A
∂e
siendo la derivada de un vector respecto a una matriz.
$
∂A
Derivar con respecto a matrices no es muy ortodoxo, pero los resultados que se van a
obtener son exactos y la diferencia, en sencillez conceptual, con respecto a otros métodos
es notable.

Por ejemplo en el caso de que J y t sean escalares, x un vector de tres componente e y un


vector de dos componentes, y A una matriz de orden 2x3 y B una matriz de orden 4x3
puede entenderse que:
dJ
escalar de orden 1x1x1x1
dt
dJ
vector de orden 2x1x1x1
dy
dJ
matriz de orden 2x3x1x1
dA
dx
vector de orden 1x1x3x1
dt
dx
matriz de orden 2x1x3x1
dy
dx
matriz cubica de orden 2x3x3x1
dA
dB
matriz de orden 1x1x4x3
dt
dB
matriz cubica de orden 2x1x4x3
dy
dB
matriz de cuatro dimensiones de orden 2x3x4x3
dA
Es importante notar que aunque el sistema es continuo, debido a que la identificación se
realiza por computador, los parámetros desconocidos A $ ( k ) se estiman en instantes
discretos de tiempo. Para que la señal de error sea continua, como:
e( t ) = y( t ) − y$ ( kT)

el valor de y$ ( kT ) se mantiene constante entre dos periodos de muestreo, es decir durante


kT ≤ t ≤ (k+1)T.

Sustituyendo el valor de la estimación:

-4-
$ ( kT)
e( t ) = y( t ) − Ax
$:
y derivando con respecot a A
∂e
= −x T ( k )
$
∂A

por lo que el algoritmo resultante es:

A $ ( k ) − µe ∂e = A
$ ( k + 1) = A $ ( k ) + µex T ( k )
$
∂A

Para comprender como actúa este algoritmo, hay que tener en cuenta que el índice de
comportamiento es una función cuadrática de los parámetros a identificar:
1 T
J= e ( k ) e( k ) = f (e12 , e1 ,e 22 , e 2 ,L , e 2r , e r )
2
que representaría un hiperparaboloide de dimensión r+1.

Para demostrarlo:
e( k ) = y( k ) − y$ ( k )
1
2
1
[ ]
J = e T ( k ) e( k ) = y T ( k ) − y$ T ( k ) [ y( k ) − y$ ( k )] =
2
1
[
= y T ( k ) y( k ) − y T ( k ) y$ ( k ) − y$ T ( k ) y( k ) + y$ T ( k ) y$ ( k )
2 ]
Como:
$ ( k ) x( k )
y$( k ) = A
$ ( k ) la matriz formada por los parámetros que se quieren estimar, sustituyendo la
siendo A
expresión anterior en el índice de comportamiento resulta:

J=
1 T
2
[ $ ( k ) x( k ) − x T ( k ) A
y ( k ) y( k ) − y T ( k ) A $ ( k ) y( k ) + x T ( k ) A
$ T ( k) A ]
$ ( k ) x( k ) =

=
2
[
1 T $ ( k ) x( k ) + x T ( k ) A
y ( k ) y( k ) − 2 y T ( k ) A $ T (k)A
$ ( k ) x( k ) ]
$ (k) .
en donde queda de manifiesto que J es una función cuadrática de A

En el caso de que sólo hubiera un parámetro a identificar, esta función representaría una
parábola:

-5-
Fig. 12.2.- Algoritmo del gradiente

Si se parte de un valor inicial a$ ( 0) , en el siguiente periodo de muestreo:


dJ
a$ (1) = a$ ( 0) − µ a$ = a$ ( 0)
da$
dJ
como µ > 0 y en a$ ( 0) también lo es , el valor a$ (1) resultante es menor que a$ ( 0) , por
da$
lo que se acerca al valor óptimo que hace mínimo el error cuadrático. En el siguiente
muestreo resultaría un nuevo valor a$ (2) , que estaría, o bien más próximo a a$ opt , o bien
sobrepasando este último valor, en cuyo caso se situaría a la izquierda de a$ opt . En esta
dJ
región la derivada es negativa, por lo que en el siguiente periodo de muestreo resultaría
da$
un nuevo valor que se aproximaría a a$ opt . Es decir el algoritmo converge en muy pocos
periodos de muestreo hacia a$ opt .

El parámetro de convergencia µ es fundamental. Si es elevado converge hacia el valor


óptimo muy rápidamente, pero se producen oscilaciones alrededor de a$ opt . Si es pequeño se
tarda más en alcanzar el valor óptimo pero la estabilidad alrededor de a$ opt es mayor.

En la práctica el algoritmo del gradiente se aplica, con muy buenos resultados, cuando sólo
hay un parámetro a determinar. En el caso de ser dos los parámetros desconocidos, la
parábola se transforma en un paraboloide y los movimientos para alcanzar el punto óptimo,
que sería el vértice, se efectuan sobre una superficie, lo que hace que la convergancia sea
muchísimo más lenta.
dJ
También se podría haber calculado derivando directamente en la expresión de J:
$
dA ( k )

$
dJ
dA( k ) 2
1
[
= −2 y( k ) x T ( k ) + 2 A ]
$ ( k ) x( k ) x T ( k ) = A
$ ( k ) x( k ) x T ( k ) − y( k ) x T ( k ) =

[
= A ]
$ ( k ) x( k ) − y( k ) x T ( k ) = [ y$( k ) − y( k )]x T ( k ) = − e( k ) x T ( k )

y el algoritmo a implementar sería:

-6-
$ ( k + 1) = A
$ ( k) − µ dJ
A = A( k ) + µe( k ) x T ( k )
$
dA( k )

que como se ve coincide con el calculado anteriormente.

El siguiente organigrama indica la forma de operar:

Hay que tener en cuenta que la forma de actuar de este algoritmo es mejorando la
estimación en cada nueva medida.

Puede entrenarse off-line partiendo de una lista amplia de datos de entrada x(k) y salida
y(k) y alcanzado el valor óptimo de la estimación, por entrenamiento, fijar los parámetros
estimados para el modelo.

También puede trabajar on-line de modo que cada nueva medida la estimación se va
mejorando, a costa de que el proceso sea más lento.

12.2.- IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVOS


Es una identificación paramétrica, es decir se parte de que la estructura de las ecuaciones es
conocida y son sus coeficientes lo que se desea determinar.

Se estudiará primero el algoritmo de mínimos cuadrados para obtener unos coeficientes


constantes con las N primeras medidas. En la práctica, como el tiempo de cómputo es
elevado, la identificación suele realizarse off-line.

A continuación el algoritmo de mínimos cuadrados recursivos irá modificando estos


coeficientes secuencialmente, con cada nueva medida posterior a N y se obtendrán los
valores en régimen permanente de estos coeficientes. Este proceso puede realizarse on-line,

-7-
por lo que los coeficientes serán dinámicos, adaptándose en cada instante para que el error
entre el modelo y la planta sea mínimo.

12.2.1.- Mínimos cuadrados


Se trata de identificar a los coeficientes aij de las ecuaciones:
y$ 1 = a$ 11x1 + a$ 12 x 2 +L+ a$ 1n x n
y$ 2 = a$ 21x1 + a$ 22 x 2 +L+ a$ 2 n x n
LLLLLLLLLLLLL
y$ r = a$ r1x1 + a$ r 2 x 2 +L+ a$ rn x n

que podría ser el modelo matemático de una planta de r salidas y n entradas. De las
variables de salida y se sabe que sigue un comportamiento lineal respecto a otras variables
xi algunas de las cuales pueden ser valores de y en instantes precedentes o entradas. En
cualquier caso al vector x se le considerará como las entradas al sistema puesto que todos
sus valores serán conocidos.

Supongamos que se introducen k conjuntos de n entradas:

x(0), x(1), ... ,x(k)

[
en donde x(i) = x1 (i) L x n (i) ]T y que las salidas correspondientes de la planta real,
obtenidas directamente mediante mediciones, son:

y(0), y(1), ... ,y(k)

en donde k >> n para conseguir una estimación aceptable de los coeficientes a identificar.
Las ecuaciones del modelo, correspondientes a las medidas realizadas serían:
y$ 1 (0) = a$ 11x1 (0) + a$ 12 x 2 (0) +L+ a$ 1n x n (0)
LLLLLLLLLLLLLLLLL
y$ r (0) = a$ r1x1 (0) + a$ r 2 x 2 (0) +L+ a$ rn x n (0)
y$ 1 (1) = a$ 11x1 (1) + a$ 12 x 2 (1) +L+ a$ 1n x n (1)
LLLLLLLLLLLLLLLLL
y$ r (1) = a$ r1x1 (1) + a$ r 2 x 2 (1) +L+ a$ rn x n (1)
y$ 1 ( k ) = a$ 11x1 ( k ) + a$ 12 x 2 ( k ) +L+ a$ 1n x n ( k )
LLLLLLLLLLLLLLLLL
y$ r ( k ) = a$ r1x1 ( k ) + a$ r 2 x 2 ( k ) +L+ a$ rn x n ( k )

que podría escribirse como:

-8-
 T 0   a$ 11 
 y$ 1 (0)   x (0) 0 L  
 LL   L L L L  M 
  
 y$ r (0)   0 0 L x T (0)   a$ 1n 
 
   x T (1) 0 L 0   a$ 21 
$
y
 1   ( 1)
 LL  =  L L L L   M 
 
 y$ r (1)   0 0 x T (1)  a$ 2 n 
   
 LL   L L L L   M 
 y$ 1 ( k )  x T ( k ) 0 L 0   a$ r1 
 LL    
   L L L L  
 y$ r ( k )  T   a$ rn 
 0 L 0 x ( k ) 
krx1 krxnr nrx1
y en forma matricial:
r
y$ (k) = M a$

El objetivo de mínimos cuadrados es minimizar la suma del error cuadrático cometido en las
k medidas.
r
Para ello se define el error e( k ) como la diferencia entre el valor medido en la salida de la
r r
planta real y( k ) , y el estimado y$ ( k ) , es decir:

e1 (0)   y1 (0) − y$ 1 (0) 


   
.........  ......... 
e r (0)   y (0) − y$ (0) 
   r r

 e(0)  e1 (1)   y1 (1) − y$ 1 (1) 
 e(1)  .........  ..... .... 
r
e( k ) =  = = 
 L  e r (1)   y r (1) − y$ r (1) 
     
e( k ) .........  .........

e ( k )   y1 ( k ) − y$ 1 ( k ) 
 1   
.........  .........

e ( k )   y ( k ) − y$ ( k )
 r   r r 

Se trata de minimizar el índice de comportamiento:


 e(0) 
J = e ( k )e ( k ) = [e(0) L e( k )] L 
1 rT r 1
2 2  
e( k )

para obtener así el vector a$ óptimo cuyos componentes son los coeficientes buscados.
r v v v
e( k ) = y( k ) − y$ ( k ) = y( k ) − Ma$

-9-
El mínimo cumplirá:
r
dJ ∂J ∂e ( k ) r v
= r = − e ( k )M T = [Ma$ − y(k )]M T = 0
da ∂e ( k ) ∂a
$ $

por lo que:
v
Ma$ = y(k )

y como la matriz M no será cuadrada, en general, de la expresión anterior no podría


despejarse a$ . Teniendo en cuenta que MTM si es cuadrada y admitirá inversa, puede
ponerse:
v
M T Ma$ = M T y(k )
v
a$ = (M T M) −1 M T y(k )

También se podría haber deducido expresando el índice de comportamiento de la forma:

J=
1 rT r
2
1 r
2
T r
2 [ r
] r
e ( k )e ( k ) = [ y(k) - M a$ ] [ y(k) - M a$ ] = − a$ T M T + y T (k) [ y(k) - M a$ ] =
1

1
[ r r r r
= − a$ T M T y(k) + y T (k) y(k) + a$ T M T M a$ - y T (k)M a$
2 ]
y teniendo en cuenta que la derivada de una matriz A respecto a un vector x cumple:
d( Ax )
= AT
dx
d( x T Ax )
= Ax + A T x
dx
d( x T A )
=A
dx
derivando J con respecto a a$ e igualando a cero para minimizar el índice de
comportamiento cuadrático:
dJ 1
[ r r r
]
= -M T y(k) + M T M a$ + M T M a$ - M T y(k) = -M T y(k) + M T M a$ = 0
da$ 2
y despejando:

[ ]
−1 r
a$ = M T M M T y( k )

Esta última ecuación proporciona los coeficientes óptimos buscados. Para que exista
solución es necesario que la matriz MTM no sea singular, para que su inversa exista.

Este procedimiento es poco práctico en tiempo real, al exigir un elevado tiempo de


computación, además en el cálculo de matrices inversas pueden cometerse errores
importantes dependiendo de la precisión del computador.
-10-
El organigrama sería:

Este procedimiento es poco práctico en tiempo real, y suele realizarse off-line.

12.2.2.- Mínimos cuadrados recursivos


Si después de haber estimado los parámetros con k medidas, se realiza una nueva medida
k+1, los parámetros podrían estimarse mejor contando con esta nueva medida.

Se trata pues, de obtener un procedimiento recursivo que nos proporcione los valores de
los parámetros a$ (k+1), partiendo de los valores obtenidos en k y teniendo en cuenta la
última medida.

En la observación k+1 la entrada será x(k+1) y la salida de la planta y(k+1) que serán
vectores de n y r componentes respectivamente. Si denominamos al valor de los
coeficientes en ese instante a$ (k+1), las ecuaciones matriciales serían:
 M 
r  T  r
 y( k )  x ( k + 1) L 0
a$ ( k + 1) + 
e( k) 
 y( k + 1)  =  L L L  e( k + 1) 
   
 T 
 0 L x ( k + 1) 

en donde la notación anterior representa que se ha añadido una submatriz, cuyos elementos
v r
son vectores, a la matriz M y una fila, formada por un vector, a los vectores y( k ) y e( k ) .

Llamando:

-11-
r
r  y( k ) 
y( k + 1) =  
 y( k + 1) 
 M 
x T ( k + 1) L 0 
M ( k + 1) =  
 L L L 
 
 0 L x T ( k + 1) 
r
r  e( k ) 
e( k + 1) =  
e( N + 1) 

quedaría:
r r
y(k + 1) = M (k + 1)a$ (k + 1) + e (k + 1)

y aplicando la estimación óptima obtenida por mínimos cuadrados:


r
a$ (k + 1) = [M T (k + 1)M (k + 1)]-1 M T (k + 1) y(k + 1)

es decir:
−1
  M 
 x( k + 1) L 0  T   x( k + 1) L  r
0
 x ( k + 1) L   y( k ) 
a$ ( k + 1) = M T L   M T L  
0
L L  L L 
  L L L   y( k + 1) 
L x( k + 1)     L x( k + 1)

0 0
 0 L x T ( k + 1) 

Esta expresión puede simplificarse teniendo en cuenta la relación entre matrices:


( A + B D ) -1 = A -1 - A −1B ( I + D A -1B ) -1 D A -1

en donde puede identificarse:

x( k + 1) L 0  x T ( k + 1) L 0 
  
A = M TM B= L L L  D= L L L  = BT
 0 L x( k + 1)   0 L x T ( k + 1) 
 

por lo que llamando:


−1
  M 
 x( k + 1) L 0  T 
[ ] x ( k + 1)
−   
L
= M T L 
1 0
T
P( k + 1) = M ( k + 1)M ( k + 1) L L
 L = ( A + BD) −1
 L L 
L x( k + 1)   

0
 0 L x T ( k + 1) 

Aplicando la relación de matrices anteriormente mencionada, resultaría:

[ ] [ ] [ ] [ ]
−1 −1 −1 −1
P( k + 1) = M T M − M TM B( I + B T M T M B ) −1 B T M T M =

[
= P( k ) − P( k )B ( I + B T P( k )B ) −1 B T P( k ) = I − W ( k + 1)B T P( k ) ]
en donde se ha tenido en cuenta que:
-12-
[ ]
−1
P( k ) = M T ( k )M ( k )

[ ]
−1
W ( k + 1) = P( k )B I + B TP( k )B

siendo P(k) la matriz de covarianza de las estimaciones.

Como además:
 x1 ( k + 1) y1 ( k + 1) 
 M 
 
 x( k + 1) L 0  r  x ( k + 1) y ( k + 1) 
M T   y( k )  T r 
n 1
=
  y( k + 1)  = M ( k ) y( k ) + 
L L L
 M 
 0 L x( k + 1)  x1 ( k + 1) y r ( k + 1) 
 M 
x ( k + 1) y ( k + 1) 
 n r 
r
= M T y( k ) + By( k + 1)

puede ponerse:

[ r
] [
a$ ( k + 1) = I − W ( k + 1)B T P( k ) M T ( k ) y( k ) + By( k + 1) ]
y teniendo en cuenta el resultado de mínimos cuadrados:

[ ]
−1 r r
a$ (k) = M T ( k )M ( k ) M T ( k ) y( k ) = P ( k ) M T ( k ) y ( k )

operando:

[ ]
a$ ( k + 1) = I − W ( k + 1)B T [a$ ( k ) + P( k )By( k + 1)] =

[ ]
= a$ ( k ) + I − W ( k + 1)B T P( k )By( k + 1) − W ( k + 1)B T a$ ( k ) =

= a$ ( k ) + P( k + 1)By( k + 1) − W ( k + 1)B T a$ ( k )

y como:

[ ] [
P( k + 1)B = I − W ( k + 1)B T P( k )B = I − P( k )B ( I + B T P( k )B ) −1 B T P( k )B = ]
[
= P( k )B I − ( I + B T P( k )B ) −1 B T P( k )B = ]
= P( k )B[( I + B P( k )B )
T −1
( I + B T P( k )B ) − ( I + B T P( k )B ) −1 B T P( k )B = ]
[ ]
= P( k )B ( I + B T P( k )B ) −1 ( I + B T P( k )B − B T P( k )B = P( k )B ( I + B T P( k )B ) −1 = W ( k + 1)

resulta:

[ ]
a$ ( k + 1) = a$ ( k ) + W ( k + 1) y( k + 1) − B T a$ ( k ) = a$ ( k ) + W ( k + 1)e( k + 1)

-13-
Es decir, con el error de la última medida se mejora la estimación anterior.

Resumiendo, para aplicar el algoritmo de mínimos cuadrados recursivos, se opera de la


siguiente manera:

El algoritmo de mínimos cuadrados recursivos es equivalente al del filtro de Kalman,


cuando sólo se considera el ruido de medida.

Las ecuaciones recursivas se pueden utilizar para N>k. Sin embargo, si se actúa de manera
recursiva desde la medida inicial, se parte de una matriz definida positiva P(0)=P0 y
entonces:

[ ]
−1
P( k ) = P0−1 + M T ( k )M ( k )

que puede hacerse arbitrariamente próxima a la definida en teoría, sin más que escoger P0
suficientemente grande. Estadísticamente P0 representaría la matriz de covarianza inicial.

Sistemas variables con el tiempo: Factor de olvido.


Según se ha definido el índice de comportamiento, todos los datos tienen el mismo peso
específico.

Como los parámetros varían en cada periodo de muestreo, para ir adaptándose a que el
error sea mínimo en todos los instantes, es necesario eliminar la influencia de los datos más
antiguos, lo que se consigue definiendo el índice de comportamiento de la forma:

-14-
N
∑ λN-k [e T (k)e(k)]
1
J=
2
k =0

el "factor de olvido" λ es menor que la unidad e indica la rapidez con la que se olvidan los
datos antiguos. Un desarrollo del índice de comportamiento llevaría a:

J=
2 [
1 N T
λ e (0)e(0) + λN −1e T (1)e(1) + λN − 2 e T (2)e(2) +L+ λe T ( N − 1)e( N − 1) + e T ( N )e( N ) ]
en donde se aprecia que al ser λ menor que la unidad, los datos más recientes tienen mayor
peso específico.

Utilizando esta función de coste, la estimación de mínimos cuadrados recursivos es análoga


a la anterior, salvo en dos ecuaciones que quedan modificadas de la forma:

[
W (k + 1) = P(k)B λI + B T P(k) B ]
y:

P( k + 1) =
[I − W(k + 1)B ]P(k)
T

-15-

También podría gustarte