Está en la página 1de 319

Diseño de Filtros Óptimos

Universidad Tecnológica de Pereira

Luis Enrique Avendaño


Escuela de Tecnología Eléctrica
Facultad de Tecnologías
Universidad Tecnológica de Pereira
Diseño de Filtros Óptimos

Universidad Tecnológica de Pereira


Diseño de Filtros Óptimos

Universidad Tecnológica de Pereira

Luis Enrique Avendaño


Escuela de Tecnología Eléctrica
Facultad de Tecnologías
Universidad Tecnológica de Pereira
© 2021. Luis Enrique Avendaño

© Universidad Tecnológica de Pereira


AA No. 97
www.utp.edu.co
Pereira, 2021

Impreso en Colombia - Printed in Colombia


Registro de la propiedad intelectual
ISBN

Derechos reservados de autor. No está permitida la distribución de este texto, ni el código


asociado, a terceras personas, por cualquier medio.

Diseño de cubierta: Autor con base en formato de Fernando García García.


Imagen de cubierta: Prometeo Encadenado. Rodrigo Arenas Betancourt.
Diseño de maquetación (LATEX): F. Javier Payán Somet © 2014.
A Gloria Mercedes Valencia Torres
Mi amada esposa
Prefacio

E l presente texto contiene la experiencia del autor en el diseño de filtros. Inicialmente como
modelos analógicos, descritos en el libro de texto, Sistemas Electrónicos Analógicos: un
enfoque matricial. En este volumen se aborda el problema de los filtros desde el punto de vista
digital, en el esquema óptimo proporcionado por R. E. Kalman.
En el primer capítulo se hace un corto análisis de álgebra lineal en lo que compete al cálculo
matricial. Se estudian algunos teoremas útiles en el desarrollo ulterior del texto.
El segundo capítulo es un resumen de elementos de sistemas dinámicos desde el punto de
vista de variables de estado, tanto continuos como discretos. Se estudian algunas propiedades
de estos sistemas tales como controlabilidad y observabilidad.
El tercer capítulo corresponde a la estimación de los sistemas dinámicos utilizando el modelo
de mínimos cuadrados. Este es un preámbulo para el estudio de los filtros de Kalman que se
analizarán posteriormente.
El capítulo cuarto es el núcleo del texto y corresponde a la deducción del filtro de Kalman y
algunas de sus propiedades.
En el capítulo quinto se plantean algunas formas alternas del filtro de Kalman y el desarrollo
y aplicación de algunos algoritmos de uso común.
El capítulo sexto es la generalización del filtro de Kalman, donde se plantean dos aspectos
importantes, el modelado de ruido correlacionado y el ruido coloreado; mostrándose que es
factible la aplicación directa del filtro de Kalman a tales problemas.
El capítulo séptimo corresponde al análisis del filtro de Kalman en tiempo continuo llegando
a la ecuación de Riccati y su correspondiente solución en modo dinámico y estacionario.
El capítulo noveno aborda el problema de los sistemas no lineales y su posible solución con
el filtro de Kalman. Se estudian, en particular, los filtros EKF y UKF.
En los apéndices se hace un resumen de funciones matriciales y de la transformada delta.

Manizales, 2021

III
Índice

Prefacio III
Índice V
Notación XI

1 Elementos de cálculo matricial 1


1.1 Cálculo matricial 1
1.2 Álgebra de matrices 3
1.2.1 Suma de matrices 4
1.2.2 Multiplicación de matrices 4
1.2.3 Propiedades básicas de las matrices 5
1.2.4 El caso especial de las matrices 2 × 2 9
1.2.5 Lema de inversión de matrices 13
1.2.6 Valores propios 16
1.2.7 Diagonalización 17
1.2.8 Teorema espectral 17
1.2.9 El producto de Hadamard 18
1.2.10 Propiedades básicas del producto de Hadamard 18
1.2.11 El producto de Kronecker 19
1.2.12 El operador vec 23
Nota sobre la función vec y Matlab. 26
1.2.13 Suma de Kronecker 26
1.2.14 Funciones de Lyapunov 28
1.3 Número de condición 31
1.4 Cálculo vectorial y matricial 35
1.4.1 Derivada parcial 36
1.5 Resumen 39

2 Conceptos de cálculo matricial 41


2.1 Introducción 41

V
VI Índice

2.2 Cálculo matricial 41


2.3 Álgebra de matrices 44
2.3.1 Suma de matrices 44
2.3.2 Multiplicación de matrices 44
2.3.3 Divisiones de matrices en Matlab 46
2.3.4 Propiedades básicas de las matrices 46
2.3.5 El caso especial de las matrices 2 × 2 50
2.3.6 Lema de inversión de matrices 54
2.3.7 Valores propios 56
2.3.8 Diagonalización 57
2.3.9 Teorema espectral 57
2.3.10 El producto de Hadamard 58
2.3.11 Propiedades básicas del producto de Hadamard 58
2.3.12 El producto de Kronecker 59
2.3.13 Suma de Kronecker 63
2.3.14 El operador vec 65
Nota sobre la función vec y Matlab. 68
2.3.15 Funciones de Lyapunov 69
2.4 Número de condición 72
2.5 Cálculo vectorial y matricial 75
2.5.1 Derivada parcial 76
2.6 Resumen 79

3 Elementos de sistemas dinámicos 81


3.1 Introducción 81
3.2 Sistemas lineales 81
3.3 Sistemas no lineales 83
3.4 Discretización 85
3.5 Estabilidad 88
3.5.1 Sistemas de tiempo continuo 88
3.5.2 Sistemas de tiempo discreto 91
3.6 Controlabilidad y Observabilidad 93
3.6.1 Controlabilidad 93
3.6.2 Observabilidad 95
3.6.3 Estabilidad y detectabilidad 98
3.7 Resumen 100

4 Estimación por mínimos cuadrados 103


4.1 Introducción 103
4.2 Estimación de una constante 103
4.3 Estimación por mínimos cuadrados ponderados 106
4.4 Estimación recursiva por mínimos cuadrados 108
4.5 Formas alternas del estimador 111
Índice VII

4.6 El filtro de Wiener 117


4.6.1 Optimización del filtro paramétrico 121
4.6.2 Optimización del filtro general 122
4.6.3 Optimización del filtro no causal 123
4.6.4 Optimización del filtro causal 124
4.6.5 Comparación 126
4.7 Resumen 127

5 Filtro de Kalman discreto 129


5.1 Introducción 129
5.2 Sistemas discretos en el tiempo 129
5.2.1 Procesos con ruido ponderado 133
5.3 Sistemas con datos muestreados 134
5.4 Deducción del filtro de Kalman discreto 140
El filtro de Kalman discreto 144
5.5 Propiedades del filtro de Kalman 147
5.5.1 Ecuaciones del filtro de Kalman de un paso 148
5.5.2 Propagación alterna de la covarianza 153
Sistemas con estados múltiples 153
Sistemas escalares 156
5.6 Resumen 163

6 Formas alternas del filtro de Kalman 165


6.1 Introducción 165
6.2 Filtrado de raíz cuadrada 165
Número de condición 166
6.2.1 Ecuación de actualización en el tiempo de la raíz cuadrada 169
6.2.2 Algoritmos para transformaciones ortogonales 171
El algoritmo de Householder 171
El algoritmo de Gram–Schmidt modificado 176
Algoritmo de actualización de la medida de raíz cuadrada de
Potter 181
6.3 Filtro de información 186
6.4 Resumen 190

7 Generalización del filtro de Kalman 191


7.1 Introducción 191
7.2 Simulación de ruido correlacionado 191
7.3 Correlación del ruido del proceso y de la medida 193
7.4 Ruido coloreado de proceso y medición 199
7.4.1 Ruido coloreado del proceso 199
7.4.2 Ruido coloreado de medición: aumento de estados 200
7.4.3 Ruido coloreado de la medida: diferenciación de la medición 201
VIII Índice

7.5 Filtrado de estado estacionario 205


7.5.1 Un enfoque Hamiltoniano para filtrado de estado estacionario 211
7.6 Resumen 218

8 El filtro de Kalman continuo 219


8.1 Introducción 219
8.2 Ruido blanco en tiempo discreto y en tiempo continuo 220
8.2.1 Ruido del proceso 220
8.2.2 Ruido de medición 222
8.2.3 Simulación discretizada de sistemas de tiempo continuo ruidosos223
8.2.4 Deducción del filtro de Kalman en tiempo continuo 223
8.3 Soluciones alternativas para la ecuación de Riccati 230
8.3.1 El enfoque de la matriz de transición 230
8.3.2 El filtro de raíz cuadrada 234
8.4 Filtro de Kalman en tiempo continuo de estado estacionario 235
8.4.1 La ecuación algebraica de Riccati 236
8.4.2 El filtro de Wiener es un filtro de Kalman 240
8.5 Dualidad 241
8.6 Resumen 243

9 El filtro de Kalman no lineal 245


9.1 Introducción 245
9.2 El filtro de Kalman linealizado 246
9.3 Filtro de Kalman extendido 249
9.3.1 Filtro de Kalman extendido de tiempo discreto 252
9.3.2 Filtro de Kalman extendido híbrido 253
9.4 El filtro de Kalman unscented 255
9.4.1 Media y covarianza de trasformaciones no lineales 256
La media de una transformación no lineal 257
La covarianza de una transformación no lineal 260
9.4.2 Transformaciones unscented 263
Aproximación de la media 265
Aproximación de la covarianza 268
La transformación unscented 269
9.5 Filtrado de Kalman unscented 272
9.6 Otras transformaciones unscented 276
9.6.1 Transformaciones unscented generalizadas 276
9.6.2 La transformación unscented símplex 277
9.6.3 La transformación unscented esférica 279

Apéndice A Funciones matriciales 283


A.1 Derivada de la traza 283
Primer Orden 283
Índice IX

Segundo Orden 284


Orden Superior 284
Otras 285

Índice de Figuras 287


Índice de Tablas 289
Índice de Códigos 291
Bibliografía 293
Índice alfabético 299
Glosario 299
Notación

R Cuerpo de los números reales


C Cuerpo de los números complejos
kvk Norma del vector v
hv, wi Producto escalar de los vectores v y w
|A| Determinante de la matriz cuadrada A
det (A) Determinante de la matriz (cuadrada) A
A> Transpuesto de A
A−1 Inversa de la matriz A
A† Matriz pseudoinversa de la matriz A
AH Transpuesto y conjugado de A
A∗ Conjugado
c.t.p. En casi todos los puntos
c.q.d. Como queríamos demostrar
 Como queríamos demostrar
 Fin de la solución
e.o.c. En cualquier otro caso
e número e
ejx Exponencial compleja
ej2πx Exponencial compleja con 2π
e−jx Exponencial compleja negativa
e−j2πx Exponencial compleja negativa con 2π
IRe Parte real
IIm Parte imaginaria
sen Función seno
tg Función tangente
arc tg Función arco tangente
siny x Función seno de x elevado a y
cosy x Función coseno de x elevado a y
Sa Función sampling

XI
XII Notación

sgn Función signo


rect Función rectángulo
Sinc Función sinc
∂y
∂x Derivada parcial de y respecto a x

x Notación de grado, x grados.
Pr (A) Probabilidad del suceso A
E [X] Valor esperado de la variable aleatoria X
σX2 Varianza de la variable aleatoria X
∼ fX (x) Distribuido siguiendo la función densidad de probabilidad
fX (x)
N mX , σX2 Distribución gaussiana para la variable aleatoria X, de media


mX y varianza σX2
In Matriz identidad de dimensión n
diag (x) Matriz diagonal a partir del vector x
diag (A) Vector diagonal de la matriz A
SNR Signal-to-noise ratio
MSE Minimum square error
: Tal que
def
= Igual por definición
kxk Norma-2 del vector x
|A| Cardinal, número de elementos del conjunto A
xi ,i = 1,2, . . . ,n Elementos i, de 1 a n, del vector x
dx Diferencial de x
6 Menor o igual
> Mayor o igual
\ Backslash
⇔ Si y sólo si
x = a+3 = 4 Igual con explicación

a=1
a
b Fracción con estilo pequeño, a/b
∆ Incremento
b · 10a Formato científico

− Tiende, con x
x
O Orden
TM
Trade Mark
E[x] Esperanza matemática de x
Cx Matriz de covarianza de x
Rx Matriz de correlación de x
σx2 Varianza de x
1 Elementos de cálculo matricial

The fundamental problem of communication is that of repro-


ducing at one point either exactly or approximately a message
selected at another point.

Claude Shannon, 1948

E n este capítulo se revisan algunos aspectos básicos del álgebra lineal. La teoría de es-
timación óptima de estados depende fuertemente de la teoría de matrices, incluyendo
cálculo matricial; de manera que la primera parte está dedicada a una revisión de este tópico.
La estimación óptima de estados se aplica tanto a sistemas lineales como a no lineales, aunque
es más directa para los lineales. Por lo tanto, se dará una breve revisión de estos sistemas.
Las últimas secciones se dedicarán a revisar los conceptos de estabilidad, controlabilidad y
observabilidad de los sistemas lineales. Estos conceptos son necesarios para comprender el
material de estimación óptima de estados que se estudiará más adelante.

1.1 Cálculo matricial

En esta sección, se revisará el concepto de matrices, álgebra matricial y cálculo matricial. Esto
es necesario con el objeto de entender el resto del libro ya que los algoritmos de estimación
óptima de estados se formulan con matrices.
Un escalar es una cantidad simple. Por ejemplo el número 5 es un escalar, el número 2 + j3
es un escalar, así como el número π o el número e.
Un vector consiste en escalares que se arreglan en filas o en columnas. Por ejemplo, el vector

[1 5 −3 0]

1
2 Capítulo 1. Elementos de cálculo matricial

es un vector de 4 elementos. Este vector se denomina 1 × 4 porque tiene una fila y cuatro
columnas, también se denomina vector fila. El vector
 >
x = cos ωk sen ωk − sen ωk cos ωk 0 1

es un vector de 6 elementos, donde el superíndice > indica la transpuesta. Este vector se


denomina vector 6 × 1 porque tiene seis filas y una columna.

Una matriz consiste de escalares que se arreglan en un rectángulo. Por ejemplo, la matriz
 
cos ωn T sen ωn T 0 0
− sen ωn T cosωn T 0 1
0 0 1 1

es una matriz 3 × 4 puesto que tiene 3 filas y cuatro columnas. El número de filas y columnas
se define como la dimensión de la matriz. Se define el rango de una matriz como el número
de filas o columnas linealmente independientes [49]. El rango de la matriz A se indica como
ρ(A). El rango de una matriz siempre es menor o igual que el número de filas o columnas,
según el caso que se contemple. Por ejemplo, la matriz
 
2 3 1 −2
A=
4 6 2 −4

es uno (Matlab: rank(A)) debido a que tiene solamente una fila linealmente independiente;
las dos filas son múltiples entre sí. Por otra parte, la matriz
 
1 2 5
A =  3 4 −1
−1 3 5

tiene rango 3 puesto que todas sus filas y columnas son linealmente independientes. Esto es,
existen escalares α1 , α2 y α3 tales que
       
α1 1 2 5 + α2 3 4 −1 + α3 −1 3 5 = 0 0 0

de modo que las tres filas son linealmente independientes. Lo mismo para las columnas. Esto
es, hay escalares α1 , α2 y α3 diferentes de cero tales que
       
1 2 5 0
α1  3  + α2 4 + α3 −1 = 0
−1 3 5 0

de modo que las tres columnas son linealmente independientes. Una matriz cuyos elementos
son todos cero tiene un rango de cero. Una matriz n × m cuyo rango es igual al min(n,m) es de
rango completo. La nulidad de una matriz A n × m es igual a [m − ρ(A)].

La transpuesta de una matriz o vector se puede obtener por el cambio de todas las filas a
columnas, y todas las columnas a filas o de columna a fila en el caso de un vector. Por ejemplo,
1.2 Álgebra de matrices 3

si A es una matriz r × p
 
a11 ··· a1p
 .. .. .. 
A= . . . 
ar1 ··· arp

entonces A> es la matriz p × r


 
a11 ··· ar1
>  .. .. .. 
A = . . . 
a1p ··· arp

Si una matriz es simétrica entonces A = A> .


Para una matriz en Cn×n , la transpuesta hermitiana (o Hermítica) es la conjugada compleja
de la transpuesta, y se indica con un superíndice H, como en AH . Por ejemplo, si
 
2 3 − j4 j
A = 1 − j2 2 1 + j3
j3 5 − j2 5

entonces AH es la matriz
 
2 1 + j2 − j3
AH = 3 + j4 2 5 + j2
−j 1 − j3 5

Una matriz hermítica es aquella para la cual A = AH . Esto es equivalente a la condición

ai j = a ji , (1.1)

donde a ji denota la conjugada compleja. Como resultado de esta definición, los elementos
de la diagonal aii de una matriz hermítica son números reales (ya que aii = aii ), mientras que
otros elementos pueden ser complejos.
Como un ejemplo de matrices hermíticas 2 × 2 se tienen las matrices de Pauli [58]:
     
0 1 0 −i 1 0
σ1 = σ2 = σ3 =
1 0 i 0 0 −1

1.2 Álgebra de matrices

En esta sección se hará un breve repaso de las operaciones algebraicas que se pueden realizar
con matrices, se hace una revisión de algunas de las propiedades de las matrices que se
consideran importantes para los estudios posteriores.
4 Capítulo 1. Elementos de cálculo matricial

1.2.1 Suma de matrices

La suma y la resta entre matrices se define por la adición y sustracción de elemento por
elemento de cada matriz, solo si la dimensión de las matrices es igual. Por ejemplo,
     
a11 · · · a1p b11 · · · b1p a11 ± b11 · · · a1p ± b1p
A ± B =  ... ..
.
..  ±  ..
.   .
..
.
..  = 
.  
..
.
..
.
..
. (1.2)
 

ar1 · · · arp br1 · · · brp ar1 ± br1 · · · arp ± brp

1.2.2 Multiplicación de matrices

Dadas dos matrices A y B, tales que el número de columnas de la matriz A es igual al número
de filas de la matriz B; es decir:

A := (ai j )m×n y B := (bi j )n×p

la multiplicación de A por B, que se denota AB, es una nueva matriz C:

C = AB := (ci j )m×p

es decir:
   
a11 ··· a1n b11 ··· b1p
 .. .. ..   .. .. .. 
C = Am×n Bn×p =  . . .  × . . . 
am1 ··· amn m×n
bn1 ··· bnp n×p
 
a11 b11 + · · · + a1n bn1 ··· a11 b1p + · · · + a1n bnp
.. .. ..
= . . .
 

am1 b11 + · · · + amn bn1 ··· am1 b1p + · · · + amn bnp m×p

o en forma más compacta [68],[49]:


 n n 
∑ a1 j b j1 ··· a b
∑ 1 j jp 
 j=1 j=1
.. .. ..
 
C= . (1.3)
 n . .
 

n

···
 
∑ am j b j1 ∑ am j b j p
j=1 j=1 m×p

El producto matricial AB solo está definido si el número de columnas de A es igual al número


de filas de B. Se debe notar que la multiplicación de matrices no es conmutativa. En general
AB 6= BA.
Como un caso particular del producto de matrices, se tiene el producto entre vectores el
cual puede conducir a un escalar o a una matriz, según como se aplique dicho producto. Sea el
1.2 Álgebra de matrices 5

vector xn×1 . Se puede calcular el producto (x> x)1×1 , y el producto (xx> )n×n como sigue:
 
x1
 x2 

x> x = x1 x2 · · · xn  .  = x12 + x22 + · · · + xn2 (1.4)
 
 .. 
xn
   2 
x1 x1 x1 x2 · · · x1 xn
2
x2 x1 x2 · · · x2 xn 
x2     
xx> =  .  x1 x2 · · · xn =  . . . . (1.5)
 
 ..   .. .. .. .. 

xn xn x1 xn x2 · · · xn2

Supóngase que se tiene una matriz H(p×n) y una matriz P(n×n) . Entonces H> es una matriz
n × p, y se puede calcular el producto matricial HPH>
(p×p) [63].
   
h11 ··· h1n p11 ··· p1n h11 ··· h p1
>  .. .. ..   .. .. ..   .. .. .. 
HPH =  . . .  . . .  . . . 
h p1 ··· h pn pn1 ··· pnn h1n ··· h pn
∑ h1 j p jk h1k · · · ∑ h1 j p jk h pk
 
 j,k j,k
.. .. ..

= . . . (1.6)
 

 
∑ h p j p jk h1k · · · ∑ h p j p jk h pk
j,k j,k

Esta matriz de sumas se puede escribir como la siguiente suma de matrices:


   
h11 p11 h11 · · · h11 p11 h p1 h1n pnn h1n · · · h1n pnn h pn
HPH> =  .. .. .. .. .. ..
. . . +···+ . . .
   

h p1 p11 h11 · · · h p1 p11 h p1 h pn pnn h1n · · · h pn pnn h pn
= h1 p11 h> >
1 + · · · + hn pnn hn
= ∑ h j p jk h>
k (1.7)
j,k

donde se ha utilizado la notación de que hk es la columna de orden k de H.

1.2.3 Propiedades básicas de las matrices

A continuación se muestran algunas de las propiedades de las matrices, para que se cumplan,
en algunas situaciones se requiere que posean rango completo [49], [61].
6 Capítulo 1. Elementos de cálculo matricial

1. No conmutativa para el producto:


En general:

AB 6= BA (1.8)

2. Asociativa:

A(BC) = (AB)C (1.9)

3. Distributiva sobre la suma:

A(B + C) = AB + AC, (A + B)C = AC + BC (1.10)

4. Multiplicación por un escalar:

α(AB) = (αA)B y (AB)α = A(Bα) α es un escalar. (1.11)

5. Inversa:

(AB)−1 = B−1 A−1 (1.12)

En general

(ABC · · · P)−1 = P−1 · · · C−1 B−1 A−1 (1.13)

6. Transpuesta:

(A + B)> = A> + B> (1.14)

(AB)> = B> A> (1.15)

(A> )−1 = (A−1 )> (1.16)

En general

(ABC · · · P)> = P> · · · C> B> A> (1.17)

7. Conjugada Hermítica:
1.2 Álgebra de matrices 7

Si A y B tienen elementos complejos, entonces

(A + B)H = AH + BH (1.18)

(AB)H = BH AH (1.19)

(AH )−1 = (A−1 )H (1.20)

donde H denota la conjugada hermítica de una matriz (conjugada compleja y transpuesta).


En general

(ABC · · · P)H = PH · · · CH BH AH (1.21)

8. Traza:

tr(A) = ∑ aii = ∑ λi ; donde λi = eig(A) (1.22)


i i

La traza de un producto es independiente del orden de los factores:

tr(AB) = tr(BA) (1.23)

tr(ABC) = tr(BCA) = tr(CAB) (1.24)

Para una suma:

tr(A + B) = tr(A) + tr(B) (1.25)

9. Determinante:
Sea A una matriz n × n. Usando la notación Aij para representar la matriz formada
borrando la i-ésima fila y la j-ésima columna de A. Entonces, el determinante de A se
define como
n
|A| = ∑ (−1)i+ j ai j |Aij | (1.26)
j=1

para cualquier valor de i ∈ [1,n]. Esta se denomina expansión de Laplace de A a lo largo


de su i-ésima fila. Se puede observar que el determinante de la matriz A n × n, se define
en términos de los determinantes de las matrices (n − 1) × (n − 1). Similarmente, los
determinantes de las matrices (n − 1) × (n − 1) se definen en términos de las matrices
(n − 2) × (n − 2). Esto continúa hasta el determinante de las matrices 2 × 2 los cuales se
definen en términos de los determinantes de las matrices 1 × 1, los cuales son escalares.
El determinante de la matriz A también se puede definir como una expansión de Laplace
8 Capítulo 1. Elementos de cálculo matricial

a lo largo de su j-ésima columna, es decir,


n
|A| = ∑ (−1)i+ j ai j |Aij | (1.27)
i=1

para cualquier valor de j ∈ [1,n]. Ambos desarrollos conducen a un mismo resultado. A


partir de la definición se puede observar para los casos (2 × 2) y (3 × 3):
 
a a12
det(A) = det 11 = a11 a22 − a12 a21 (1.28)
a21 a22
 
a11 a12 a13
det(A) = det a21 a22 a23  =
a31 a32 a33
     
a22 a23 a21 a23 a21 a22
= a11 det − a12 det + a13 det =
a32 a33 a31 a33 a31 a32
= a11 (a22 a33 − a23 a32 ) − a12 (a21 a33 − a23 a31 ) + a13 (a21 a32 − a22 a31 ) (1.29)

Propiedades:

det(A) = Πi λi , donde λi = eig(A), (1.30)


n
det(cA) = c det(A), si A ∈ R n×n
, (1.31)
>
det(A ) = det(A), (1.32)
det(AB) = det(A)det(B), (1.33)
−1
det(A ) = 1/det(A), (1.34)
n
det(A ) = det(A) . n
(1.35)

10. Potencia de matrices.

Las matrices cuadradas se pueden multiplicar por sí mismas en forma repetida del
mismo modo que los números ordinarios, puesto que ellas tienen siempre el mismo
número de filas y columnas. Esta multiplicación repetida se puede describir como la
“potencia de la matriz”, un caso especial del producto de matrices. Las matrices “rectan-
gulares” no tienen el mismo número de filas y columnas por lo que no se pueden elevar
a una potencia. Una matriz An×n elevada a un entero positivo p se define como

A p = AA · · · A}
| {z
p veces

y las siguientes identidades se mantienen, donde κ es un escalar:

(i) Potencia cero:

A0 = I
1.2 Álgebra de matrices 9

I es la matriz identidad.
(ii) Multiplicación por un escalar:

(αA) p = α p A p

Norma euclidiana
La norma dos de un vector columna de números reales, también llamada la norma euclidiana,
se define como sigue:
√ q
||x||2 = x> x = x12 + · · · + xn2 (1.36)
De la Ecuación (2.5), se observa que
   2 
x1 x1 x1 x2 ··· x1 xn
x2    x2 x1
 x22 ··· x2 xn 
xx> =  .  x1 x2 · · · xn =  . .. .. .. 
  
..  .. . . . 
xn xn x1 xn x2 ··· xn2

Tomando la traza de esta matriz se obtiene:

Tr xx> = x12 + x22 + · · · + xn2




= ||x||22 (1.37)

Esto significa que la norma euclidiana al cuadrado equivale a la traza del producto del vector
por su transpuesta, es decir:
x> x = Tr xx> (1.38)


1.2.4 El caso especial de las matrices 2 × 2

Dado que las matrices cuadradas 2 × 2 son de uso muy frecuente en la práctica, es de interés
analizar este caso ya que posee algunas propiedades de interés, las cuales permiten simplificar
los cálculos. Considérese la matriz
 
a11 a12
A= (1.39)
a21 a22

1. Determinante y traza.

det(A) = a11 a22 − a12 a21 , (1.40)


tr(A) = a11 + a22 . (1.41)

2. Valores propios
     
λ 0 a a12 λ − a11 −a12
|[λ I − A]| = 0 = − 11 =
0 λ a21 a22 −a21 λ − a22
10 Capítulo 1. Elementos de cálculo matricial

(λ − a11 )(λ − a22 ) − a12 a21 = λ 2 − (a11 + a22 )λ + a11 a22 − a12 a21
Entonces

λ 2 − λ · tr(A) + det(A) = 0, (1.42)


 
1 1h
q i
(1.43)
p
λ1 = 2
tr(A) + tr(A) − 4det(A) , λ2 = tr(A) − tr(A)2 − 4det(A) ,
2 2
λ1 + λ2 = tr(A), λ1 λ2 = det(A). (1.44)

3. Autovectores
 
a12
v1 ∝ (1.45)
λ1 − a11

 
a12
v2 ∝ (1.46)
λ2 − a11

4. Inversa
 
1 a22 −a12
A−1 = (1.47)
det(A) −a21 a11

Figura 1.1 Circuito realimentado serie–serie..


1.2 Álgebra de matrices 11

Figura 1.2 Circuito equivalente del sistema realimentado..

Ejemplo 1.2.1 Realimentación serie–serie con un elemento activo (NFC) [6].


El circuito de la Fig. 2.1, constituye una red lineal con realimentación a través de un circuito
activo. Se puede definir la red conformada por Ra ,Rb y el amplificador Ao1, como una fuente
de tensión controlada por tensión, es decir,
 
Rb .
vβ = 1 + vm = µvm (1.48)
Ra

La red equivalente se muestra en la Fig. 2.2, donde se indica la relación definida en la ecuación
(2.48). Las resistencias de entrada y salida de Ao1 y Ao2 están dadas por Ria ,Roa ,Rib y Rob ,
respectivamente.
Nótese que
vε = Ria i1
y además, puesto que la impedancia de entrada de Ao2 es muy elevada,

Rc ||Rib ≈ Rc ,

entonces,
vm ≈ Rc iL
También,
Ria  Rob
Escribiendo el modelo en forma de matriz se obtiene:
    
vi − µvm Ria + Rob 0 i1
=
Ao vε 0 Roa + RL + Rc ||Rib iL
12 Capítulo 1. Elementos de cálculo matricial

o, sustituyendo y reagrupando términos


       
vi Ria µRc i1 z βz i1
≈ = i (1.49)
0 −Ao Ria Roa + RL + Rc iL µz zo iL

La matriz de impedancias Z ∈ R2×2 , está dada por la Ecuación (2.49), es decir,


 
zi βz
Z=
µz zo

Entonces:

det(Z) = zi zo − βz µz
Tr(Z) = zi + zo ≈ Ria

  " s #
1 Ria Rc
q
λ1 = zi + zo + (zi − zo )2 + 4βz µz ≈ 1 + 1 − µAo
2 2 Ria
  " s #
1 Ria Rc
q
λ2 = zi + zo − (zi − zo )2 + 4βz µz ≈ 1 − 1 − µAo
2 2 Ria

Ejemplo 1.2.2 Realimentación Serie–Paralelo [6].


El modelo de realimentación serie–paralelo se muestra esquemáticamente en la Figura 2.3.

Figura 1.3 Circuito realimentado serie–paralelo..

El amplificador básico y la red de realimentación tienen la misma corriente de entrada y la


misma tensión de salida. Se utilizan los parámetros h para representar los circuitos con reali-
mentación serie–paralelo.
1.2 Álgebra de matrices 13

Por lo tanto, de la Figura 2.3.


       
vs zs + h11a + h11 f h12a + h12 f is zi β is
= = (1.50)
0 h21a + h21 f yL + h22a + h22 f vo µ yo vo

Es decir,
   
vs i
=H s
0 vo

donde  
z β
H= i (1.51)
µ yo
Invirtiendo la expresión (2.50) se llega a:
     " yo
#
is 1 yo −β vs |H|
= = µ vs
vo |H| −µ zi 0 − |H|

donde   
µ
|H| = yo zi − β µ = yo zi 1 + β −
yo zi
o
|H| = yo zi (1 + β Ava )
con
µ
Ava = − .
yo zi
De esta expresión se pueden calcular los parámetros de transferencia, v.gr.:
Ganancia de tensión,
vo µ −µ Ava
Av = =− =− =
vs |H| yo zi (1 + β Ava ) 1 + β Ava

En este problema, puesto que el modelo de la matriz tiene dimensiones híbridas, es posible
calcular algunas funciones de la misma, tales como el determinante y la matriz inversa; sin
embargo, la traza no está definida ya que se tendría la suma de [Ω] + [S] (ver Ecuación (2.51)),
lo cual no es posible. Esto se debe tener en cuenta en los sistemas físicos, pues ocurre con
alguna frecuencia.
1.2.5 Lema de inversión de matrices

En matemáticas, particularmente en álgebra lineal, la matriz identidad de Woodbury planteada


para buscar matrices n × n está dada por la siguiente fórmula [33]:

(A − BD−1 C)−1 = A−1 + A−1 B(D − CA−1 B)−1 CA−1 (1.52)

En ella A y BD−1 C son matrices de dimensión n × n, mientras que D es una matriz cuadrada
que puede tener una dimensión r × r diferente, en consecuencia B tendrá dimensión n × r y
14 Capítulo 1. Elementos de cálculo matricial

C dimensión r × n. Los nombres alternativos para esta fórmula son el lema de inversión de
matrices, la fórmula de Sherman-Morrison-Woodbury [67] o sólo la fórmula de Woodbury
[77]. Sin embargo, la identidad apareció en varios artículos antes del informe de Woodbury.
Demostración:

Se construye una matriz aumentada A, B, C y D y su correspondiente inversa:


 −1  
A B E F
= (1.53)
C D G H

Entonces se construyen los productos


      
A B E F AE + BG AF + BH I 0
= = (1.54)
C D G H CE + DG CF + DH 0 I
      
E F A B EA + FC EB + FD I 0
= = (1.55)
G H C D GA + HC GB + HD 0 I

Las submatrices en (1.54) y (1.55) se abren para formar ocho ecuaciones matriciales:

AE + BG = I (1.56)
AF + BH = 0 (1.57)
CE + DG = 0 (1.58)
CF + DH = I (1.59)
EA + FC = I (1.60)
EB + FD = 0 (1.61)
GA + HC = 0 (1.62)
GB + HD = I (1.63)

De (1.56) y (1.58)

AE = I − BG
DG = −CE
G = −D−1 CE

AE = I + BD−1 CE
AE − BD−1 CE = I
(A − BD−1 C)E = I
E = (A − BD−1 C)−1 (1.64)
1.2 Álgebra de matrices 15

De (1.61) y (1.64)

EB + FD = 0
FD = −EB
F = −(A − BD−1 C)−1 BD−1 (1.65)

De (1.58) y (1.64)

DG = −CE
G = −D−1 C(A − BD−1 C)−1 (1.66)

De (1.59) y (1.65)

DH = I − CF = I + C(A − BD−1 C)−1 BD−1


H = D−1 + D−1 C(A − BD−1 C)−1 BD−1 (1.67)

De (1.63) y (1.62)

HD = I − GB
GA = −HC
G = −HCA−1
HD = I + HCA−1 B
H(D − CA−1 B) = I
H = (D − CA−1 B)−1 (1.68)

De (1.62) y (1.68)

G = −(D − CA−1 B)−1 CA−1 (1.69)

De (1.57) y (1.68)

AF = −BH
AF = −B(D − CA−1 B)−1
F = −A−1 B(D − CA−1 B)−1 (1.70)

De (1.60) y (1.70)

EA = I − FC
EA = I + A−1 B(D − CA−1 B)−1 C
E = A−1 + A−1 B(D − CA−1 B)−1 CA−1 (1.71)
16 Capítulo 1. Elementos de cálculo matricial

La prueba se completa mediante la combinación de, v.gr., (1.64) y (1.71), con la condición
que existan todas las inversas involucradas. En forma general se tiene:

(A ∓ BD−1 C)−1 = A−1 ± A−1 B(D ∓ CA−1 B)−1 CA−1 (1.72)

1.2.6 Valores propios

La matriz cuadrada A tiene autovalores λ y autovectores q si

Aq = λ q (1.73)

Por lo tanto
(A − λ I)q = 0 (1.74)
Para el análisis de valores propios se procede como sigue para satisfacer esta ecuación o bien
q = 0, lo cual es interesante, o la matriz A − λ I debe reducir q al vector nulo (un único punto).
Para que esto suceda A − λ I debe ser singular. Por lo tanto,

det(A − λ I) = 0 (1.75)

Por lo tanto, el análisis de valores propios procede así (i) se resuelve la ecuación anterior para
encontrar los autovalores λi y entonces (ii) se sustituyen en la Ecuación (2.59) para encontrar
los autovectores. Por ejemplo, si  
4 −5
A= (1.76)
2 −3
entonces
det(A − λ I) = (4 − λ )(−3 − λ ) − (−5)(2) = 0 (1.77)
lo cual se puede reordenar como

λ2 −λ −2 = 0
(1.78)
(λ + 1)(λ − 2) = 0

Por lo tanto los autovalores son λ = −1 y λ = 2 . Sustituyendo de nuevo en la Ecuación (2.59)


da un autovector q1 el cual es cualquier múltiplo de [1 1]> . Similarmente, el autovector q2
es cualquier múltiplo de [5 2]> .

Ahora se nota que el determinante de la matriz es también igual a el producto de sus


autovalores
det(A) = ∏ λi (1.79)
i

Puesto que la traza de una matriz es la suma de sus elementos diagonales

Tr(A) = ∑ aii (1.80)


i
1.2 Álgebra de matrices 17

entonces también es también igual a la suma de los autovalores

Tr(A) = ∑ λi (1.81)
i

El análisis de autovalores se aplica solamente a matrices cuadradas.

1.2.7 Diagonalización

Si se colocan los autovectores en las columnas de una matriz

(1.82)
 
Q = q1 q2 · · · qd

entonces, debido a que, Aqk = λk qk , se tiene

(1.83)
 
AQ = λ1 q1 λ2 q2 · · · λd qd

Si se colocan los autovalores en la matriz Λ entonces la anterior matriz también puede escribirse
como QΛ Λ. Por lo tanto,
AQ = QΛ Λ (1.84)
Premultiplicando ambos lados por Q−1 se obtiene

Q−1 AQ = Λ (1.85)

esto muestra que cualquier matriz cuadrada se puede convertir en una forma diagonal (siempre
que tenga valores propios distintos; ver [72]). A veces no habrá valores propios d distintos y
en ocasiones ellos serán complejos.

1.2.8 Teorema espectral

Para cualquier matriz real simétrica todos los autovalores serán reales y habrá d valores propios
distintos y vectores propios. Los autovectores serán ortogonales (si la matriz es no simétrica
los autovectores no serán ortogonales). Ellos pueden normalizarse y colocarse en la matriz Q.
Puesto que Q es ahora ortogonal se tiene Q−1 = Q> . De este modo

Q> AQ = Λ (1.86)

Premultiplicando por Q y post-multiplicando por Q> se tiene

Λ Q>
A = QΛ (1.87)

lo cual se conoce como el teorema espectral. Éste dice que cualquier matriz real simétrica
puede representarse como la anterior donde las columnas de Q contienen los autovectores y Λ
18 Capítulo 1. Elementos de cálculo matricial

es una matriz diagonal que contiene los autovalores, Λi . Equivalentemente


  
λ1 q1
 λ 2  q2 
  
(1.88)

A = q1 q2 · · · qd  . .

 ..   .. 
  

λd qd

Ésta también puede escribirse como una sumatoria


d
A= ∑ λk qk q>k (1.89)
k=1

1.2.9 El producto de Hadamard

Se define como el producto de dos matrices elemento por elemento. Sean dos matrices, A, B,
de la misma dimensión, m × p. El producto de Hadamard (Matlab: A. ∗ B) está definido por
[61]

a11 b11 a12 b12 · · · a1p b1p


 

.  a21 b21 a22 b22 · · · a2p b2p 


 
A◦B= . . .. . (1.90)
 .. .. . ..  
am1 bm1 am2 bm2 · · · amp bmp

Para matrices de diferentes dimensiones, m × n y p × q, donde (m 6= p) ∨ (n 6= q) el producto


de Hadamard no está definido.

1.2.10 Propiedades básicas del producto de Hadamard

Algunas propiedades correspondientes al producto de Hadamard se describen a continuación

1. Conmutativo

A ◦ B = B ◦ A, (1.91)

2. Lineal

(αA) ◦ B = A ◦ (αB), α una constante (1.92)

3. Asociativo

A ◦ (B ◦ C) = (A ◦ B) ◦ C, (1.93)

4. Distributivo

A ◦ (B + C) = A ◦ B + A ◦ C. (1.94)
1.2 Álgebra de matrices 19

5. Rango.

Sean A y B dos matrices cuadradas de tamaño n. Entonces

ρ(A ◦ B) ≤ ρ(A)ρ(B). (1.95)

6. Matrices diagonales.

Supóngase que A, B son matrices m × n y D y E son matrices diagonales de tama-


ño m y n, respectivamente. Entonces,

D(A ◦ B)E = (DAE) ◦ B = (DA) ◦ (BE) = (AE) ◦ (DB) = A ◦ (DBE) (1.96)

Ejemplo 1.2.3 Verificar las relaciones de los productos mixtos de Hadamard de la Ecua-
ción (2.82), para los valores de A,B, D, E como se especifican a continuación:
 
      1 0 0
1 2 −1 −2 4 1 −2 0
A= , B= , D= , E = 0 −1 0 .
−1 3 −2 1 −3 −1 0 1
0 0 4

Aplicando las relaciones dadas en las ecuaciones (2.82), se obtiene:



D(A ◦ B)E 


(DAE) ◦ B


  
4 16 8

(DA) ◦ (BE) =
 −1 9 8
(AE) ◦ (DB)





A ◦ (DBE)

1.2.11 El producto de Kronecker

Dadas dos matrices, A(m×n) y B(p×q) , el producto de Kronecker, producto directo o producto
tensorial se define como la matriz A ⊗ B(mp×nq) (Matlab: kron(A,B)) [61].
 
a11 B a12 B ··· a1n B
 a21 B a22 B ··· a2n B 
A⊗B =  . .. .. ..  (1.97)
 
 .. . . . 
am1 B am2 B ··· amn B

donde ai j es el i j-ésimo elemento de A. A continuación se hace un resumen de algunas


propiedades del producto de Kronecker.

1. Conmutatividad.
A ⊗ B 6= B ⊗ A, en general. (1.98)
20 Capítulo 1. Elementos de cálculo matricial

2. Asociatividad.
(A ⊗ B) ⊗ C = A ⊗ (B ⊗ C). (1.99)
Así, la expresión A ⊗ B ⊗ C no presenta ambigüedad.
3. Dadas las matrices C(n×q) y D(l×s) , entonces

(A ⊗ B)(C ⊗ D) = AC ⊗ BD. (1.100)

4. Transpuesta
(A ⊗ B)> = A> ⊗ B> . (1.101)

5. Distributividad
A ⊗ (B + C) = A ⊗ B + A ⊗ C. (1.102)

6. Rango
ρ(A ⊗ B) = ρ(A)ρ(B). (1.103)

7. Escala
(αA ⊗ β B) = αβ (A ⊗ B). (1.104)

8. Traza
Tr(A ⊗ B) = Tr(A)Tr(B) = Tr(ΛA ⊗ ΛB ). (1.105)

9. Inversa. Si A y B son de rango completo, entonces

(A ⊗ B)−1 = A−1 ⊗ B−1 . (1.106)

10. Determinante Si A(m×m) y B(k×k) , entonces

det(A ⊗ B) = (det A)k (det B)m . (1.107)

11. Interacción con la matriz identidad

A ⊗ B = (AIk ) ⊗ (Im B) = (A ⊗ Im )(Ik ⊗ B). (1.108)

12. Ortogonalidad. Si A y B son ortogonales entonces el producto A⊗B también es ortogonal.


Esto se puede ver con la ayuda de las propiedades anteriores:

(A ⊗ B)> (A ⊗ B) = (A> ⊗ B> )(A ⊗ B) = (A> A) ⊗ (B> B) = Im ⊗ Ik = Imk . (1.109)

Esta propiedad también es válida para matrices unitarias.

Nótese que el producto de Kronecker está definido independientemente del orden de las matrices
involucradas, por lo que es un concepto más general que la multiplicación de matrices. A
continuación se hará la demostración de algunas de las propiedades relacionadas anteriormente.
Dichas demostraciones tienen el carácter de teoremas y en esa forma se plantean.
1.2 Álgebra de matrices 21

El siguiente teorema hace referencia a la relación entre el producto de Kronecker de dos


matrices y las matrices unitarias asociadas.

Teorema 1.2.1 Sea A ∈ Rm×n y B ∈ R p×q , entonces

A ⊗ B = (A ⊗ I p )(In ⊗ B) = (Im ⊗ B)(A ⊗ Iq ). (1.110)

Demostración: De acuerdo a la definición del producto de Kronecker y a la multiplicación


de matrices, se tiene
 
a11 B a12 B · · · a1n B
 a21 B a22 B · · · a2n B 
A ⊗ B = . ..  =
 
.. ..
 .. . . . 
am1 B am2 B ··· amn B
···
  
a11 I p a12 I p a1n I p B 0 · · · 0
 a21 I p a22 I p ···  0 B · · ·
a2n I p  0
= .
 
.. .. ..  .. .. . . .. 
 .. . . .  . . . .
am1 I p am2 I p ··· amn I p 0 0 · · · B
= (A ⊗ I p )(In ⊗ B),

 
a11 B a12 B ··· a1n B
 a21 B a22 B ··· a2n B 
A ⊗ B = . ..  =
 
.. ..
 .. . . . 
am1 B am2 B · · · amn B
···
  
B 0 · · · 0 a11 Iq a12 Iq a1n Iq
 0 B · · · 0  a21 Iq a22 Iq ··· a2n Iq 
= . . .
  
. . . ..  .. .. .. .. 
. . . .  . . . . 
0 0 · · · B am1 Iq am2 Iq ··· amn Iq

A ⊗ B = (Im ⊗ B)(A ⊗ Iq ). 

Corolario 1.2.1.1 Sea A ∈ Rm×m y B ∈ Rn×n , entonces

A ⊗ B = (A ⊗ In )(Im ⊗ B) = (Im ⊗ B)(A ⊗ In ). (1.111)

Esto significa que Im ⊗ B y A ⊗ In son conmutativos para matrices cuadradas tales como
A y B.

A partir del Teorema 2.3.1, se puede demostrar el siguiente teorema de productos mixtos.
22 Capítulo 1. Elementos de cálculo matricial

Teorema 1.2.2 Sea A ∈ Rm×n , B ∈ Rq×r , C ∈ Rn×p y D ∈ Rr×s , entonces

(A ⊗ B)(C ⊗ D) = (AC) ⊗ (BD). (1.112)

Demostración: De acuerdo al Teorema 2.3.1, se tiene

(A ⊗ B)(C ⊗ D)
= (A ⊗ Iq )(In ⊗ B)(C ⊗ Ir )(I p ⊗ D)
= (A ⊗ Iq )[(In ⊗ B)(C ⊗ Ir )](I p ⊗ D)
= (A ⊗ Iq )(C ⊗ B)(I p ⊗ D)
= (A ⊗ Iq )[(C ⊗ Iq )(I p ⊗ B)](I p ⊗ D)
  
= (A ⊗ Iq )(C ⊗ Iq ) (I p ⊗ B)(I p ⊗ D)
  
= (AC ⊗ Iq ) (I p ⊗ BD)
= (AC) ⊗ (BD). 

Teorema 1.2.3 Sea A ∈ Rm×n y B ∈ R p×q , entonces

(A ⊗ B)−1 = A−1 ⊗ B−1 .

Demostración: De acuerdo con el Teorema 2.3.2:

(A ⊗ B)(C ⊗ D) = AC ⊗ BD.

Sustituyendo, se obtiene sucesivamente:

(A ⊗ B)(A ⊗ B)−1 = (A ⊗ B)(A−1 ⊗ B−1 )


= AA−1 ⊗ BB−1
= Im ⊗ In = Imn 

Ejemplo 1.2.4 Sean las matrices


 
    1 2  
1 2 3 2 3 1 0 1 0
A= , B= , C= −1 1 , D=
4 5 6 1 2 1 1 −1 2
−2 1

donde m = 2, n = 3, k = 2, l = 2, q = 2, s = 4. Verificar las relaciones de la Ecuación (2.94).


Solución:
La relación directa está dada por
 
1 0 1 0 2 0 2 0 3 0 3 0
 1 1 −1 2 2 2 −2 4 3 3 −3 6 
A⊗D =   4 0 4 0 5 0 5

0 6 0 6 0 
4 4 −4 8 5 5 −5 10 6 6 −6 12
1.2 Álgebra de matrices 23

La matriz I2 es la matriz identidad (2 × 2) e I3 , la matriz identidad (3 × 3), entonces


 
    1 0 2 0 3 0
1 2 3 1 0 1 0 0 1 0 2 0 3
AI3 = , I2 D = , A ⊗ I2 =  
4 5 6 1 1 −1 2 4 0 5 0 6 0
0 4 0 5 0 6
 
1 0 1 0 0 0 0 0 0 0 0 0

 1 1 −1 2 0 0 0 0 0 0 0 0 

 0 0 0 0 1 0 1 0 0 0 0 0 
I3 ⊗ D =  

 0 0 0 0 1 1 −1 2 0 0 0 0 
 0 0 0 0 0 0 0 0 1 0 1 0 
0 0 0 0 0 0 0 0 1 1 −1 2
Obsérvese que la matriz A ⊗ I2 es diagonal por bloques mientras que la matriz I3 ⊗ D es
dispersa. El resultado de las otras dos operaciones se muestra a continuación, comprobándose
la igualdad con la primera operación realizada:
 
1 0 1 0 2 0 2 0 3 0 3 0
 1 1 −1 2 2 2 −2 4 3 3 −3 6 
(AI3 )⊗(I2 D) =   = (A⊗I2 )(I3 ⊗D)
 4 0 4 0 5 0 5 0 6 0 6 0 
4 4 −4 8 5 5 −5 10 6 6 −6 12

1.2.12 El operador vec

El operador vec crea un vector columna a partir de una matriz Am×n , apilando los vectores
.
columna de A = [A.1 A.2 · · · A.n ] uno debajo del otro (donde A.k = A(: ,k), según la notación
de Matlab) [61]; v.gr.: sea la matriz 2 × 2
 
  a11
a11 a12 a21 
A= =⇒ vec(A) =  
a21 a22 a12 
a22

A continuación se hace un resumen de algunas propiedades de la función vec.

1. Producto
vec(AXB) = (B> ⊗ A)vec(X) (1.113)

2. Traza
Tr(A> B) = vec(A)> vec(B) (1.114)

3. Suma
vec(A + B) = vec(A) + vec(B) (1.115)

4. Escala
vec(αA) = α vec(A) (1.116)
24 Capítulo 1. Elementos de cálculo matricial

5. Producto matriz–vector

a> XBX> c = vec(X)> (B> ⊗ ca> )vec(X) (1.117)

A continuación se demostrará la relación que existe entre matrices y el operador vec denomina-
da vectorización, la cual permite la transformación de un producto matricial en un vector. Este
resultado será utilizados más adelante en el cálculo de las ecuaciones de Sylvester y Lyapunov.
Teorema 1.2.4 Sean las matrices A ∈ Rm×n , B ∈ R p×q y X ∈ Rn×p . Demostrar que se cumple
la relación (Ecuación (2.107)):

vec(AXB) = (B> ⊗ A)vec(X)

Demostración:
Se pueden reescribir las matrices B y X usando vectores columna como

B = [b.1 b.2 · · · b.q ] p×q y X = [x.1 x.2 · · · x.p ]n×p

donde el vector (.k ), corresponde a la k–ésima columna de la matriz. Por lo tanto, el producto
(AXB), se puede escribir como
 
x.1
p x
 .2 
 
(AXB).k = A ∑ x.i bik = b1k A b2k A · · · b pk A  .  =

i=1  .. 
x.p
· · · b pk ⊗ A vec(X).
  
= b1k b2k

Entonces,
.k ⊗ A vec(X)
(AXB).k = b>


Apilando todos los vectores, se obtiene:


   >
b.1 ⊗ A

(AXB).1
(AXB).2  b>
  .2 ⊗ A

vec(AXB) =  ..  =  ..  vec(X),

 .   . 
(AXB).q b>
.q ⊗ A

es decir,

vec(AXB)mq×1 = (B> ⊗ A)vec(X) 

Corolario 1.2.4.1

vec(AB) = (I p ⊗ A)vec(B) = (B> ⊗ Im )vec(A).


1.2 Álgebra de matrices 25

Ejemplo 1.2.5 Verificar la relación (2.107) a partir de las siguientes matrices:


 
    1 −2
1 2 3 2 3 4 1
A= , B= , X= 1 1 .
4 3 1 2×3 1 3 2 1 2×4
−1 1 3×2

Solución:  
3
8
 
 9
 

3 9 6 3 6
vec(AXB) = vec = 
8 6 16 2 6
 
16
 
3
2
   
2 4 6 1 2 3   3
8 6 2 4 3 1  1 8
   
3 6 9 3 6 9  1   9 
   

 −1 =  6 
12 9 3 12 9 3
(B> ⊗ A)vec(X) = 
   
−2  6 
4 8 12 2 4 6     

16 12 4 8 6 2  1  16
   
1 2 3 1 2 3 1 3
4 3 1 4 3 1 2
Con lo cual queda demostrada la relación pedida.

Ejemplo 1.2.6 A continuación se definen algunas cantidades vectoriales y matriciales. Verificar


la Ecuación (2.3.7).
     
1 −2   1 −2
2 3
a = 2 , c =  1  , B = , X = −1 3 
1 −4
3 5 2 −1
   
1 −2    −2
2 3 1 −1 2
a> XBX> c = 1 2 3 −1 3 
 
 1  = 99
1 −4 −2 3 −1
2 −1 5

vec(X)> (B> ⊗ ca> )vec(X) =


  
−4 −8 −12 −2 −4 −6 1
2 4 6 1 2 3  −1
  
 10 20 30 5 10 15  2  = 99
  
= 1 −1 2 −2 3 −1  −6
 −12 −18 8 16 −2
24  
3 6 9 −4 −8 −12 3 
15 30 45 −20 −40 −60 −1
26 Capítulo 1. Elementos de cálculo matricial

Nota sobre la función vec y Matlab.


Matlab no tiene la función vec, pero posee una función llamada reshape, la cual puede usarse
para este propósito. Específicamente, si A ∈ Rm×n , entonces se puede obtener el vector a con
el siguiente enunciado de Matlab:
a = reshape(A, m*n, 1);
Existe una forma más corta para realizar la misma tarea, esto es,
a = A(:);
la cual es similar a la expresión anterior. Para reconstruir la forma de matriz, es decir, de a → A,
se puede usar de nuevo la función reshape:
A = reshape(a, p, q); donde pq = mn, es decir, mn|p y mn|q (Resto = 0).

Ejemplo 1.2.7 Sea A ∈ R3×2 , dada por:


 
1
  3
1 2  
1
A = 3 −1 ⇒ [m,n] = size(A) = [3,2]; a = reshape(A,m ∗ n,1) = 

2

1 4 
−1

Se puede reconstruir, v.gr., la matriz A1 ∈ R2×3 :


 
1 1 −1
A1 = reshape(a,n,m) ⇒ A1 = .
3 2 4

1.2.13 Suma de Kronecker

Dada una matriz A ∈ Rm×m y una matriz B ∈ Rn×n , la suma de Kronecker denotada por A ⊕ B
se define como la expresión
A ⊕ B = A ⊗ In + Im ⊗ B. (1.118)
Para el caso de N matrices, Ai , i = 1, · · · , N (no necesariamente de la misma dimensión), la
suma de Kronecker o suma directa está dada como la matriz diagonal por bloques:
 
A1
 A2 
A1 ⊕ A2 ⊕ · · · ⊕ AN =  .. . (1.119)
 
 . 
AN

La matriz en la Ecuación (2.100), se puede expresar en notación compacta como


N
(1.120)
M
Ai = A1 ⊕ A2 ⊕ · · · ⊕ AN .
i=0

Propiedades de la suma de Kronecker de matrices:


1.2 Álgebra de matrices 27

1. Suma mixta
(A ⊕ B)(C ⊕ D) = (AC) ⊕ (BD) (1.121)

2. Rango !
N N
(1.122)
M
ρ Ai = ∑ ρ(Ai ).
i=0 i=0

3. Determinante
Si cada Ai es una matriz cuadrada, entonces
!
N N
(1.123)
M
det Ai = ∏ det(Ai ).
i=0 i=0

4. Ortogonalidad
Si A1 y A2 son ortogonales, entonces A1 ⊕ A2 es ortogonal.
5. Exponencial
Sea A ∈ Rm×m y B ∈ Rn×n , entonces
exp(A ⊕ B) = exp(A ⊗ In ) exp (Im ⊗ B) (aun si A y B no conmutan). (1.124)

6. Exponencial de suma y producto


Sea A ∈ Rm×m y B ∈ Rn×n , entonces

exp(A ⊕ B) = exp A ⊗ exp B. (1.125)

En expresiones que contienen tanto productos como sumas de Kronecker, la operación de


producto de Kronecker tiene precedencia.

Ejemplo 1.2.8 Verificar las ecuaciones (2.105) y (2.106) dadas las matrices
 
  2 1 −1
1 2
A= B = 1 −1 0 
3 −1
1 2 1

Se puede observar que los miembros de la derecha de las ecuaciones (2.105) y (2.106), consti-
tuyen también una igualdad, por lo tanto, los resultados deben ser idénticos. Se realizan tres
operaciones para las expresiones mencionadas, teniendo en cuenta que la suma de Kronecker
no está definida directamente en Matlab. Notando que las ecuaciones (2.99) y (2.105) tienen
como factores la matriz identidad, entonces se define para cada caso la matriz correspondiente,
es decir,  
  1 0 0
1 0
I2 = eye(2) = I3 = eye(3) = 0 1 0 ,
0 1
0 0 1
Se aplica dicha ecuación:
28 Capítulo 1. Elementos de cálculo matricial

sumK=kron(A,I3)+ kron(I2,B);
expo_1=expm(sumK);

con el resultado,
 
52.3148 −1.8745 −40.7088 28.4898 −1.0208 −22.1694
19.4172
 4.7092 −10.6458 10.5743 2.5645 −5.7976 

62.0005 28.1885 0.9602 33.7645 15.3510 0.5229 
expo_1 =  
42.7348
 −1.5312 −33.2541 23.8250 −0.8537 −18.5394

15.8614 3.8468 −8.6963 8.8429 2.1446 −4.8483 
50.6467 23.0265 0.7844 28.2360 12.8375 0.4373

Por otro lado, operando sobre el miembro de la derecha de la Ecuación (2.105) se obtiene:
expo_2 = expm(kron(A,I3))*expm(kron(I2,B));

o sea,
 
52.3148 −1.8745 −40.7088 28.4898 −1.0208 −22.1694
19.4172 4.7092
 −10.6458 10.5743 2.5645 −5.7976 

62.0005 28.1885 0.9602 33.7645 15.3510 0.5229 
expo_2 = 
42.7348 −1.5312

 −33.2541 23.8250 −0.8537 −18.5394

15.8614 3.8468 −8.6963 8.8429 2.1446 −4.8483 
50.6467 23.0265 0.7844 28.2360 12.8375 0.4373

La tercera expresión está dada por (2.106).


expo_3=kron(expm(A),expm(B));
con el resultado
 
52.3148 −1.8745 −40.7088 28.4898 −1.0208 −22.1694
19.4172 4.7092 −10.6458 10.5743 2.5645 −5.7976 
 
62.0005 28.1885 0.9602 33.7645 15.3510 0.5229 
expo_3 =  42.7348 −1.5312 −33.2541 23.8250 −0.8537

 −18.5394
15.8614 3.8468 −8.6963 8.8429 2.1446 −4.8483 
50.6467 23.0265 0.7844 28.2360 12.8375 0.4373

Los tres resultados son idénticos como era de esperarse. Recuérdese que en Matlab la expo-
nencial de una matriz se define como expm(A).
1.2.14 Funciones de Lyapunov

Sea la ecuación de estados definida en la forma estándar como

ẋ(t) = Ax(t) + Bu(t) (1.126)

donde A ∈ Rm×m , es la matriz de transición, x es el vector de estados y u es el vector de


control. Por otra parte, una función de Lyapunov V : Rm 7→ R es una función de tipo energía
que se puede utilizar para determinar la estabilidad de un sistema. En términos generales, si se
puede encontrar una función no negativa que disminuya siempre a lo largo de la trayectoria del
1.2 Álgebra de matrices 29

sistema, se puede concluir que el mínimo de la función es un punto de equilibrio estable (a


nivel local). Para describir de manera más formal, se empieza con algunas definiciones. Se dice
que una función continua V es definida positiva si V (x) > 0 para todo x 6= 0 y V (0) = 0. Se
dice que una función V es semidefinida positiva si V (x) > 0 para todo x pero V (x) puede ser
cero en puntos diferentes de x = 0. Similarmente, una función es definida negativa si V (x) < 0
para todo x 6= 0 y V (0) = 0.

Teorema 1.2.5 Teorema de estabilidad de Lyapunov.


Sea V una función no negativa sobre Rm y sea V̇ la derivada en el tiempo de V a lo largo de
las trayectorias de la dinámica del sistema (2.112):
dV dV dx dV
V̇ = = = ẋ (1.127)
dt dx dt dx
Sea Br = Br (0) una bola de radio r alrededor del origen. Si ∃ r > 0 tal que V sea definida
positiva y V̇ sea semidefinida negativa para todo x ∈ Br , entonces x = 0 es localmente estable
en el sentido de Lyapunov. Si V es definida positiva y V̇ es definida negativa en Br , entonces
x = 0 es localmente asintóticamente estable.

Si V satisface una de las condiciones anteriores, se dice que V es una función (local) de
Lyapunov para el sistema. Siempre es posible encontrar una función de Lyapunov para un
sistema lineal de la forma descrita por (2.112), sin perturbación externa, esto es, con u = 0.
En este caso, se puede escoger una función candidata de Lyapunov de la forma cuadrática:

V = x> Px (1.128)

donde P es una matriz simétrica definida positiva. Entonces, se tiene

V̇ = ẋ> Px + x> Pẋ


= (Ax)> Px + x> P(Ax)
= x> A> Px + x> PAx
= x> (A> P + PA)x
= −x> Qx (1.129)

El sistema matricial de ecuaciones (2.115), tiene la forma general de un sistema del tipo
AX + XB = C. Este sistema general debe ser adecuado para el sistema particular de Lyapunov,
haciendo B = A> y C = −Q. Si la matriz Q es definida positiva, entonces el sistema es
asintóticamente estable.
A continuación, se abordará la solución del sistema matricial planteado por la aplicación
del método de Lyapunov, dado por

A> P + PA = −Q. (1.130)

Sea la ecuación matricial


AX + XB = C, (1.131)
30 Capítulo 1. Elementos de cálculo matricial

conocida como ecuación de Sylvester, donde X ∈ Rm×n , C ∈ Rm×n , A ∈ Rm×m y B ∈ Rn×n . Se


ha desarrollado la solución partiendo de la conformación del producto de Kronecker y luego
una transformación vectorial.
Aplicando el Teorema 2.3.4 y su Corolario a los términos de la Ecuación (2.117), se obtiene:

vec(AX) = (In ⊗ A)vec(X), (1.132)


>
vec(XB) = vec(Im XB) = (B ⊗ Im )vec(X). (1.133)

De acuerdo a lo anterior, se puede vectorizar la ecuación(2.117) obteniéndose:

(In ⊗ A)vec(X) + (B> ⊗ Im )vec(X) = vec(C),


(In ⊗ A + B> ⊗ Im )vec(X) = vec(C).

Despejando vec(X):

vec(X) = (In ⊗ A + B> ⊗ Im )−1 vec(C); ⇒ vec(X) → X ∈ Rm×n . (1.134)

La solución existe si (In ⊗ A + B> ⊗ Im ) es no singular. La ecuación de Sylvester se puede


presentar en la forma de triple producto matricial. Esta forma generalizada de la ecuación de
Sylvester se muestra a continuación con su correspondiente solución:

AXD + EXB = C (1.135)


vec(X) = (D> ⊗ A + B> ⊗ E)−1 vec(C); ⇒ vec(X) → X ∈ Rm×n . (1.136)

como en el caso anterior, la solución existe si (D> ⊗ A + B> ⊗ E) es no singular.


Hay otra forma de representación de la ecuación de Sylvester conocida como ecuación de
Lyapunov la cual es una forma particular de la misma. Ésta se muestra a continuación, también
con la solución correspondiente:

AX + XA = C (1.137)
> −1
vec(X) = (I ⊗ A + A ⊗ I) vec(C); ⇒ vec(X) → X ∈ R m×n
. (1.138)

En el siguiente script realizado en Matlab se muestra un ejemplo de la solución de la ecuación


de Sylvester y sus variantes planteadas en el procedimiento anterior. En él se presentan los tres
casos descritos.

Ejemplo 1.2.9 Cálculo de AX + XB = C y sus variantes.


% % Cálculo de la ecuación AX + XB = C, utilizando el producto de Kronecker.
A=[1 3;2 4];
B=[2 0 1;-1 4 7;2 6 5];
C=[1 4 2;5 -2 1]; C1=[1 4;5 -2];
D=[2 1 3;0 4 6;1 0 -2];
E=[5 1;-3 2];
I2=eye(2);
I3=eye(3);
1.3 Número de condición 31

% Sylvester
% AX + XB = C
x1=(kron(I3,A)+kron(B’,I2))\C(:);
X1=vec2mat(x1,2)’;
% Generalized Sylvester
% AXD + EXB = C
x2=(kron(D’,A)+kron(B’,E))\C(:);
X2=vec2mat(x2,2)’;
% Lyapunov
% AX + XA = C1
x3=(kron(I2,A)+kron(A’,I2))\C1(:);
X3=vec2mat(x3,2)’;

Resultados:

 
−1.6766
 1.4203 
   
−0.1206 −1.6766 −0.1206 0.8241
x1 = 
  =⇒ X1 =
−0.1139 1.4203 −0.1139 −0.1413

 0.8241 
−0.1413
 
−0.3531
 0.3959 
   
−0.0460 −0.3531 −0.0460 0.1516
x2 = 
  =⇒ X2 =
−0.0283 0.3959 −0.0283 0.0288

 0.1516 
0.0288
 
4.50  
−1.10 4.50 −2.35
x3 = 
−2.35
 =⇒ X3 =
−1.10 0.75
0.75

1.3 Número de condición

En esta sección se estudia el problema de la llamada sensibilidad de un sistema lineal al


proceso computacional referido como número de condición, en el cual se plantea lo bien
o mal condicionado que esté dicho sistema. Este problema ha sido estudiado por muchos
investigadores tales como Turing, Von Neumann y Goldstine.
Sea A ∈ Rn×n , una matriz invertible con coeficientes reales y b ∈ Rn . Se desea resolver
el sistema Ax = b, y se quiere estudiar como se afecta la solución si se perturban los datos
ingresados (entrada) A y b. Será conveniente conocer de antemano cuán distante es la solución
32 Capítulo 1. Elementos de cálculo matricial

del sistema perturbado x̂ de la solución del sistema x. O sea, saber de antemano cual es la
sensibilidad de la solución a las perturbaciones en los datos de entrada. Para tales fines existe
una cantidad que da una medida de esa sensibilidad. Dicha cantidad se denomina número de
condición [33]. El número de condición se define por

κ(A) = ||A|| · ||A−1 || (1.139)

donde ||A|| corresponde a la norma euclidiana, es decir,

||Ax||
||A|| = sup = sup ||Ax|| (1.140)
x∈Rn ||x|| ||x||=1

Se hará el análisis por partes, primero suponiendo que existe un error de redondeo en b y que
A es exacta, luego recíprocamente, para finalmente hacer el caso conjunto.
Sea la ecuación lineal dada por
Ax = b (1.141)

1. b está perturbado pero A no tiene error

A(x + ∆x) = b + ∆b
Ax + A∆x = b + ∆b
A∆x = ∆b
∆x = A−1 ∆b
||∆x|| = ||A−1 · ∆b|| ≤ ||A−1 || · ||∆b||

Pero por otra parte, Ax = b, entonces

||A|| · ||x|| ≥ ||b||


||x|| ≥ ||A||−1 · ||b||

y
1 1
≤ ||A|| ·
||x|| ||b||

Por lo cual el error relativo será


||∆x|| ||∆b|| ||∆b||
≤ ||A|| · ||A−1 || · = κ(A)
||x|| ||b|| ||b||

Donde κ(A) = ||A|| · ||A−1 ||, es el número de condición, como se había definido antes.
O sea
||∆x|| ||∆b||
≤ κ(A) (1.142)
||x|| ||b||
1.3 Número de condición 33

2. Se perturba A pero b no tiene error

(A + ∆A)(x + ∆x) = b
∆A · (x + ∆x) + A · ∆x = 0
∆A · x + (A + ∆A)∆x = 0
∆x = −(A + ∆A)−1 · ∆A · x (1.143)

El término entre paréntesis se puede escribir

(A + ∆A) = A(I + A−1 ∆A)

Entonces

(A + ∆A)−1 = (I + A−1 ∆A)−1 A−1

Por lo que la norma será:

||A−1 ||
||(A + ∆A)−1 || ≤ (1.144)
1 − ||A−1 || · ||∆A||

Para la Ecuación (2.129) se tiene la norma:

||∆x|| ≤ ||(A + ∆A)−1 ∆A|| · ||x|| (1.145)

Es decir,
||∆x||
≤ ||(A + ∆A)−1 ∆A||
||x||
≤ ||(A + ∆A)−1 || · ||∆A|| (1.146)

Reemplazando (2.130) en (2.132) se obtiene

||∆x|| ||A−1 || · ||∆A||



||x|| 1 − ||A−1 || · ||∆A||

Premultiplicando arriba y abajo por la norma de A, ||A||, se tiene:

||∆x|| ||A|| · ||A−1 || · ||∆A||



||x|| ||A|| − ||∆A||
o sea,
||∆A||
κ(A) ·
||∆x|| ||A||
= (1.147)
||x|| ||∆A||
1 − κ(A) ·
||A||
34 Capítulo 1. Elementos de cálculo matricial

3. Error en todas las mediciones

(A + ∆A)(x + ∆x) = b + ∆b
(A + ∆A)∆x = ∆b − ∆A · x

Si ||A−1 ∆A|| < 1, entonces A + ∆A es invertible y se cumple la Ecuación (2.130), por


lo tanto
∆x = (A + ∆A)−1 (∆b − ∆A · x)

||∆x|| ≤ ||(A + ∆A)−1 || · ||(∆b − ∆A · x)||


≤ ||(A + ∆A)−1 || · (||∆b|| + ||∆A · x||)
≤ ||(A + ∆A)−1 || · (||∆b|| + ||∆A|| · ||x||)
 
||∆x|| ||∆b||
≤ ||(A + ∆A)−1 || · + ||∆A||
||x|| ||x||
Pero ||b|| ≤ ||A|| · ||x)||, entonces
 
||∆x|| ||∆b||
≤ ||(A + ∆A)−1 || · + ||∆A||
||x|| ||A−1 || · ||b||

Reemplazando la (2.130) en la expresión anterior, se obtiene

||A−1 ||
 
||∆x|| ||∆b||
≤ · + ||∆A||
||x|| 1 − ||A−1 || · ||∆A|| ||A−1 || · ||b||
||A−1 || · ||A||
 
||∆x|| ||∆b|| ||∆A||
≤ · +
||x|| 1 − ||A−1 || · ||∆A|| ||b|| ||A||

Por lo tanto,
 
||∆x|| κ(A) ||∆b|| ||∆A||
≤ · + (1.148)
||x|| ||∆A|| ||b|| ||A||
1 − κ(A) ·
||A||

Ejemplo 1.3.1 Sea el siguiente sistema de la forma Ax = b, donde


     
10 7 8 7 32 0.1
7 5 6 5 23 −0.1
A=  8 6 10 9  , b= 33 , con ∆b =  0.1  .
   

7 5 9 10 31 −0.1
1.4 Cálculo vectorial y matricial 35

La solución exacta del sistema es


    
25 −41 10 −6 32 1
−41 68 −17 10 
−1  23 = 1 ,
   
x=A b= 
10 −17 5 −3 33 1
−6 10 −3 2 31 1

mientras que la del sistema alterado A(x + ∆x) = b + ∆b es


      
25 −41 10 −6 32.1 9.2 8.2
−41 68 −17 10  22.9 −12.6 −13.6
x + ∆x =  10 −17
 =  ⇒ ∆x =  
5 −3 33.1  4.5   3.5 
−6 10 −3 2 30.9 −1.1 −2.1

De los anteriores resultados se tiene las siguientes relaciones:

||∆x||
||∆x|| = 16.3970; ||x|| = 2.0000; =⇒ = 8.1985
||x||
||∆b||
||∆b|| = 0.2000; ||b|| = 60.0250; =⇒ = 0.0033
||b||
κ(A) = 2984.1

1.4 Cálculo vectorial y matricial

En el primer curso de cálculo, se aprenden las matemáticas de las derivadas e integrales y


cómo aplicar estos conceptos a escalares. También se pueden aplicar las herramientas de
cálculo a vectores y matrices. Algunos aspectos del cálculo de matrices son idénticos al cálculo
escalar, pero algunos conceptos de cálculo con escalares tienen que ampliarse a fin de obtener
fórmulas de cálculo matricial. Como la intuición llevaría a creer, la derivada de una matriz
es simplemente igual a la matriz de las derivadas temporales de los elementos individuales
de la matriz. También, la integral de una matriz es igual a la matriz de las integrales de los
elementos individuales de la matriz. En esta sección se aplicarán algunos conceptos básicos y
otros nuevos al cálculo de estructuras vectoriales y matriciales. En otras palabras, suponiendo
que A ∈ Rm×n , se tiene derivada total contra el tiempo de la matriz:
 
ȧ11 (t) · · · ȧ1n (t)
Ȧ(t) =  ... ..
.
.. 
.  (1.149)

ȧm1 (t) ··· ȧmn (t)

De la misma manera se puede realizar el proceso inverso, es decir, la integral en el tiempo:


R R 
a11 (t)dt · · · a1n (t)dt
.. .. ..
Z
A(t)dt =  . . . (1.150)
 

R R
am1 (t)dt ··· amn (t)dt
36 Capítulo 1. Elementos de cálculo matricial

Supóngase que la matriz A tiene elementos que son funciones del tiempo. Se sabe que
AA−1 = I; esto es, AA−1 es una matriz constante y por lo tanto tiene derivada en el tiempo
igual a cero, entonces la derivada en el tiempo de AA−1 se puede calcular como

d d
(AA−1 ) = ȦA−1 + A (A−1 ) (1.151)
dt dt
d(A−1 )
Puesto que esto es cero, puede resolverse para dt como

d −1
(A ) = −A−1 ȦA−1 (1.152)
dt
Nótese que para el caso especial de una función escalar A(t), esto se reduce a la ecuación
familiar
 
d 1 ∂ (1/A(t)) dA(t) Ȧ(t)
= =− 2 (1.153)
dt A(t) ∂ A(t) dt A (t)

1.4.1 Derivada parcial

Supóngase que x ∈ Rn es un vector y f (x) es una función escalar de los elementos de x,


entonces
 
∂ f (x) ∂ f (x) ∂ f (x)
= ···
∂x ∂ x1 ∂ xn
∂ f (x)
A pesar de que x es un vector columna, ∂ x es un vector fila. Lo contrario también es cierto,
es decir, si x es un vector fila,entonces ∂ ∂f (x)
x es un vector columna. Ahora supóngase que
A ∈ Rm×n es una matriz y f (A) es un escalar. Entonces, la derivada parcial de un escalar con
respecto a una matriz puede ser calculada de la siguiente manera:
 
∂ f (A) ∂ f (A)
 ∂a ···
∂ f (A)  11 ∂ a1n 
= 
∂A 
 ∂ f (A)

∂ f (A) 
···
∂ am1 ∂ amn

Con estas definiciones se puede calcular la derivada parcial del producto escalar de dos vectores.
Sean x e y vectores columna {x, y ∈ Rn }. Entonces

x> y = x1 y1 + · · · + xn yn (1.154)
1.4 Cálculo vectorial y matricial 37

y las derivadas correspondientes serán:

∂ (x> y) ∂ (x> y) ∂ (x> y)


 
· · · yn = y> (1.155)
 
= ··· = y1
∂x ∂ x1 ∂ xn
>
∂ (x> y) ∂ (x> y)
 
∂ (x y)
· · · xn = x> (1.156)
 
= ··· = x1
∂y ∂ y1 ∂ yn

Ahora se calculará la derivada parcial de una función cuadrática con respecto a un vector.
Primero escribe la ecuación cuadrática de la siguiente manera:
    
a11 · · · a1n x1 x
 . . .  ..    .1 
> . . .
.  .  = ∑i xi ai1 · · · ∑i xi ain  .. 

x Ax = x1 · · · xn  . .
an1 · · · ann xn xn
= ∑ xi x j ai j (1.157)
i, j

Ahora se toma la derivada parcial de la ecuación cuadrática como sigue:

∂ (x> Ax) ∂ (x> Ax) ∂ (x> Ax)


 
= ···
∂x ∂ x1 ∂ xn
 
= ∑ j x j a1 j + ∑i xi ai1 · · · ∑ j x j an j + ∑i xi ain
   
= ∑ j x j a1 j · · · ∑ j x j an j + ∑i xi ai1 · · · ∑i xi ain
= x> A> + x> A (1.158)

Si A es simétrica, como a menudo se encuentra en las expresiones cuadráticas, entonces


A = A> y la expresión anterior se simplifica a

∂ (x> Ax)
= 2x> A (1.159)
∂x

A continuación se define la derivada parcial de un vector con respecto a otro vector.


Supóngase que    
f1 (x) x1
 ..   .. 
f(x) =  .  y x =  . .
fm (x) xn
Entonces
 
∂ f1 (x) ∂ f1 (x)
 ∂x ···
1 ∂ xn 
=  ... .. 
∂ f(x)  ..

. .  (1.160)

∂x  
 ∂ fm (x) ∂ fm (x) 
···
∂ x1 ∂ xn
38 Capítulo 1. Elementos de cálculo matricial

Bien sea que f(x) o x sea transpuesta, entonces la derivada parcial también es transpuesta.
>
∂ f> (x)

∂ f(x)
=
∂ (x) ∂ (x)
 >
∂ f(x) ∂ f(x)
= (1.161)
∂ (x)> ∂ (x)
∂ f> (x) ∂ f(x)
=
∂ (x)> ∂ (x)

Con estas relaciones, se pueden derivar las siguientes igualdades. Supóngase que A ∈ Rm×n y
x ∈ Rn×1 . Entonces
∂ (Ax)
=A
∂x
(1.162)
∂ (x> A> ) >
=A
∂x

Ahora supóngase que A ∈ Rm×n , B ∈ Rn×n y se desea calcular la derivada parcial Tr(ABA> )
con respecto a A. Primero se calcula ABA> como sigue:
   
a11 · · · a1n b11 · · · b1n a11 · · · am1
ABA> =  ... ..
.
..   ..
.  .
..
.
..   ..
.  .
..
.
.. 
. 

am1 · · · amn bn1 · · · bnn a1n ··· amn


∑ a1k bk j a1 j · · · ∑ a1k bk j am j
 
j,k j,k
.. .. ..
 
= . . . (1.163)
 

 
∑ amk bk j a1 j · · · ∑ amk bk j am j
j,k j,k

De esto se puede observar que la traza de (ABA> ) está dada como

Tr(ABA> ) = ∑ aik bk j ai j (1.164)


i, j,k
1.5 Resumen 39

Su derivada parcial con respecto a A se puede calcular como

∂ Tr(ABA> ) ∂ Tr(ABA> )
 
···
 ∂ a11 ∂ a1n 
∂ Tr(ABA> )  ..

= .
 
∂A

 
 ∂ Tr(ABA> ) ∂ Tr(ABA )> 
···
∂ am1 ∂ amn
 
a b + a
∑ j 1 j 1 j ∑k 1k k1 b · · · ∑ j a1 j bn j + ∑k a1k bkn
= ..
.
 

∑ j am j b1 j + ∑k amk bk j · · · ∑ j am j bn j + ∑k amk bkn
  
∑ j a1 j b1 j · · · ∑ j a1 j bn j ∑k a1k bk1 · · · ∑k a1k bkn
= .. ..
. + .
  

∑ j am j b1 j · · · ∑ j am j bn j ∑k amk bk1 · · · ∑k amk bkn

Por lo tanto
∂ Tr(ABA> )
= AB> + AB (1.165)
∂A
Si B es simétrica entonces

∂ Tr(ABA> )
= 2AB si se cumple que B = B> (1.166)
∂A

1.5 Resumen
En este capítulo se ha hecho una revisión de aspectos básicos de álgebra lineal incluyendo una
introducción a productos de Hadamard y de Kronecker, los cuales no son muy corrientes en
los cursos introductorios. La razón es que se presentan algunas procesos en la práctica que
requieren esas aplicaciones, tales como en la solución de la ecuación de Sylvester o Lyapunov
que tiene ocurrencia en sistemas de control. Esto conduce a un conjunto de resultados que se han
expuesto en el texto en forma de teoremas con el objeto de darles formalidad y también como
ejercicio para el lector. También se ha hecho un estudio del concepto de número de condición.
Esto es de utilidad en el proceso de análisis de estabilidad numérica de algunos sistemas
dinámicos. En la segunda parte se abordó el problema del cálculo de matrices, procedimiento
que conduce a la obtención de resultados directos para diversas aplicaciones de matrices
y vectores. Se ha procurado realizar los procedimientos por el método de paso a paso con
el fin de que el lector pueda seguir fácilmente las demostraciones. Finalmente, se hace una
pequeña introducción a los sistemas lineales y no lineales y a la discretización de los procesos
dinámicos.
2 Conceptos de cálculo matricial

La ciencia será siempre una búsqueda, jamás un descubrimiento


real. Es un viaje, nunca una llegada.

Karl Raiumd Popper

2.1 Introducción

E n este capítulo se revisan algunos aspectos básicos del álgebra lineal. La teoría de es-
timación óptima de estados depende fuertemente de la teoría de matrices, incluyendo
cálculo matricial; de manera que la primera parte está dedicada a una revisión de este tópico.
La estimación óptima de estados se aplica tanto a sistemas lineales como a no lineales, aunque
es más directa para los lineales. Por lo tanto, se dará una breve revisión de estos sistemas.
Las últimas secciones se dedicarán a revisar los conceptos de estabilidad, controlabilidad y
observabilidad de los sistemas lineales. Estos conceptos son necesarios para comprender el
material de estimación óptima de estados que se estudiará más adelante.

2.2 Cálculo matricial

En esta sección, se revisará el concepto de matrices, álgebra matricial y cálculo matricial. Esto
es necesario con el objeto de entender el resto del libro ya que los algoritmos de estimación
óptima de estados se formulan con matrices.
Un escalar es una cantidad simple. Por ejemplo el número 5 es un escalar, el número 2 + j3
es un escalar, así como el número π o el número e.
Un vector consiste en escalares que se arreglan en filas o en columnas. Por ejemplo, el vector

[1 5 −3 0]

41
42 Capítulo 2. Conceptos de cálculo matricial

es un vector de 4 elementos. Este vector se denomina 1 × 4 porque tiene una fila y cuatro
columnas, también se denomina vector fila. El vector
 >
x = cos ωk sen ωk − sen ωk cos ωk 0 1

es un vector de 6 elementos, donde el superíndice > indica la transpuesta. Este vector se


denomina vector 6 × 1 porque tiene seis filas y una columna.

Una matriz consiste de escalares que se arreglan en un rectángulo. Por ejemplo, la matriz
 
cos ωn T sen ωn T 0 0
− sen ωn T cosωn T 0 1
0 0 1 1

es una matriz 3 × 4 puesto que tiene 3 filas y cuatro columnas. El número de filas y columnas
se define como la dimensión de la matriz. Se define el rango de una matriz como el número
de filas o columnas linealmente independientes [49]. El rango de la matriz A se indica como
ρ(A). El rango de una matriz siempre es menor o igual que el número de filas o columnas,
según el caso que se contemple. Por ejemplo, la matriz
 
2 3 1 −2
A=
4 6 2 −4

es uno (Matlab: rank(A)) debido a que tiene solamente una fila linealmente independiente;
las dos filas son múltiples entre sí. Por otra parte, la matriz
 
1 2 5
A =  3 4 −1
−1 3 5

tiene rango 3 puesto que todas sus filas y columnas son linealmente independientes. Esto es,
existen escalares α1 , α2 y α3 tales que
       
α1 1 2 5 + α2 3 4 −1 + α3 −1 3 5 = 0 0 0

de modo que las tres filas son linealmente independientes. Lo mismo para las columnas. Esto
es, hay escalares α1 , α2 y α3 diferentes de cero tales que
       
1 2 5 0
α1  3  + α2 4 + α3 −1 = 0
−1 3 5 0

de modo que las tres columnas son linealmente independientes. Una matriz cuyos elementos
son todos cero tiene un rango de cero. Una matriz n × m cuyo rango es igual al min(n,m) es de
rango completo. La nulidad de una matriz A n × m es igual a [m − ρ(A)].

La transpuesta de una matriz o vector se puede obtener por el cambio de todas las filas a
columnas, y todas las columnas a filas o de columna a fila en el caso de un vector. Por ejemplo,
2.2 Cálculo matricial 43

si A es una matriz r × p
 
a11 ··· a1p
 .. .. .. 
A= . . . 
ar1 ··· arp

entonces A> es la matriz p × r


 
a11 ··· ar1
>  .. .. .. 
A = . . . 
a1p ··· arp

Si una matriz es simétrica entonces A = A> .

Para una matriz en Cn×n , la transpuesta hermitiana (o Hermítica) es la conjugada compleja


de la transpuesta, y se indica con un superíndice H, como en AH . Por ejemplo, si
 
2 3 − j4 j
A = 1 − j2 2 1 + j3
j3 5 − j2 5

entonces AH es la matriz
 
2 1 + j2 − j3
AH = 3 + j4 2 5 + j2
−j 1 − j3 5

Una matriz hermítica es aquella para la cual A = AH . Esto es equivalente a la condición

ai j = a ji , (2.1)

donde a ji denota la conjugada compleja. Como resultado de esta definición, los elementos
de la diagonal aii de una matriz hermítica son números reales (ya que aii = aii ), mientras que
otros elementos pueden ser complejos.

Como un ejemplo de matrices hermíticas 2 × 2 se tienen las matrices de Pauli [58]:


     
0 1 0 −i 1 0
σx = σy = σz =
1 0 i 0 0 −1
44 Capítulo 2. Conceptos de cálculo matricial

Ejemplo 2.2.1 Algunas propiedades de las matrices de Pauli

hσx ,σy i = σx σy − σy σx = 2iσz


hσx ,σz i = σx σz − σz σx = −2iσy
hσy ,σz i = σy σz − σz σy = 2iσx

2.3 Álgebra de matrices

En esta sección se hará un breve repaso de las operaciones algebraicas que se pueden realizar
con matrices, se hace una revisión de algunas de las propiedades de las matrices que se
consideran importantes para los estudios posteriores.

2.3.1 Suma de matrices

La suma y la resta entre matrices se define por la adición y sustracción de elemento por
elemento de cada matriz, solo si la dimensión de las matrices es igual. Por ejemplo,
     
a11 · · · a1p b11 · · · b1p a11 ± b11 · · · a1p ± b1p
A ± B =  ... ..
.
..  ±  ..
.   .
..
.
..  = 
.  
..
.
..
.
..
. (2.2)
 

ar1 · · · arp br1 · · · brp ar1 ± br1 · · · arp ± brp

Nota: Utilizando Matlab, la suma y resta de dos matrices también se puede obtener respectiva-
mente con plus(A, B) y minus(A, B).

2.3.2 Multiplicación de matrices

Dadas dos matrices A y B, tales que el número de columnas de la matriz A es igual al número
de filas de la matriz B; es decir:

A := (ai j )m×n y B := (bi j )n×p

la multiplicación de A por B, que se denota AB, es una nueva matriz C:

C = AB := (ci j )m×p
2.3 Álgebra de matrices 45

es decir:
   
a11 ··· a1n b11 ··· b1p
C = Am×n Bn×p =  ... ..
.
.. 
.  ×  ... ..
.
.. 
. 
 

am1 ··· amn m×n


bn1 ··· bnp n×p
 
a11 b11 + · · · + a1n bn1 ··· a11 b1p + · · · + a1n bnp
.. .. ..
= . . .
 

am1 b11 + · · · + amn bn1 ··· am1 b1p + · · · + amn bnp m×p

o en forma más compacta [68],[49]:


 n n 
∑ a1 j b j1 ··· ∑ a1 j b j p 
 j=1 j=1
.. .. ..
 
C= . (2.3)
 n . .
 

n

···
 
∑ am j b j1 ∑ am j b j p
j=1 j=1 m×p

El producto matricial AB solo está definido si el número de columnas de A es igual al número


de filas de B. Se debe notar que la multiplicación de matrices no es conmutativa. En general
AB 6= BA. Como un caso particular del producto de matrices, se tiene el producto entre vectores
el cual puede conducir a un escalar o a una matriz, según como se aplique dicho producto. Sea
el vector xn×1 . Se puede calcular el producto (x> x)1×1 , y el producto (xx> )n×n como sigue:
 
x1
x2 
x> x = x1 x2 · · · xn  .  = x12 + x22 + · · · + xn2 (2.4)
   
 .. 
xn

x12
   
x1 x1 x2 ··· x1 xn
x2    x2 x1
 x22 ··· x2 xn 
xx> =  .  x1 x2 · · · xn =  . .. .. ..  (2.5)
  
 ..   .. . . . 
xn xn x1 xn x2 ··· xn2
46 Capítulo 2. Conceptos de cálculo matricial

Supóngase que se tiene una matriz H(p×n) y una matriz P(n×n) . Entonces H> es una matriz
n × p, y se puede calcular el producto matricial HPH>
(p×p) [63].
   
h11 ··· h1n p11 ··· p1n h11 ··· h p1
>  .. .. ..   .. .. ..   .. .. .. 
HPH =  . . .  . . .  . . . 
h p1 ··· h pn pn1 ··· pnn h1n ··· h pn
∑ h1 j p jk h1k · · · ∑ h1 j p jk h pk
 
j,k j,k
.. .. ..
 
= . . . (2.6)
 

 
∑ h p j p jk h1k · · · ∑ h p j p jk h pk
j,k j,k

Esta matriz de sumas se puede escribir como la siguiente suma de matrices:


   
h11 p11 h11 · · · h11 p11 h p1 h1n pnn h1n · · · h1n pnn h pn
HPH> =  .. .. .. .. .. ..
. . . +···+ . . .
   

h p1 p11 h11 · · · h p1 p11 h p1 h pn pnn h1n · · · h pn pnn h pn
= h1 p11 h> >
1 + · · · + hn pnn hn
= ∑ h j p jk h>
k (2.7)
j,k

donde se ha utilizado la notación de que hk es la columna de orden k de H.

2.3.3 Divisiones de matrices en Matlab

Las divisiones de matrices están estrechamente relacionadas con las soluciones de ecuaciones
simultáneas lineales o inversas de matrices. En Matlab, están definidas la división izquierda y
la división derecha.
La división izquierda de dos matrices se puede evaluar a partir de X = A B, y es la solución
de la ecuación matricial AX = B. Para las ecuaciones donde no existe solución, se puede
obtener la solución X por mínimos cuadrados. La división izquierda de matrices también se
puede obtener con X = mldivide (A, B). La división derecha de dos matrices se puede evaluar
a partir de X = A/B, y es la solución de la ecuación matricial XA = B.
La división derecha también se puede obtener con la función Matlab X = mrdivide (A, B).

2.3.4 Propiedades básicas de las matrices

A continuación se muestran algunas de las propiedades de las matrices, para que se cumplan,
en algunas situaciones se requiere que posean rango completo [49], [61].

1. No conmutativa para el producto:


En general:

AB 6= BA (2.8)
2.3 Álgebra de matrices 47

2. Asociativa:

A(BC) = (AB)C (2.9)

3. Distributiva sobre la suma:

A(B + C) = AB + AC, (A + B)C = AC + BC (2.10)

4. Multiplicación por un escalar:

α(AB) = (αA)B y (AB)α = A(Bα) α es un escalar. (2.11)

5. Inversa:

(AB)−1 = B−1 A−1 (2.12)

En general

(ABC · · · P)−1 = P−1 · · · C−1 B−1 A−1 (2.13)

6. Transpuesta:

(A + B)> = A> + B> (2.14)

(AB)> = B> A> (2.15)

(A> )−1 = (A−1 )> (2.16)

En general

(ABC · · · P)> = P> · · · C> B> A> (2.17)

7. Conjugada Hermítica:

Si A y B tienen elementos complejos, entonces

(A + B)H = AH + BH (2.18)
48 Capítulo 2. Conceptos de cálculo matricial

(AB)H = BH AH (2.19)

(AH )−1 = (A−1 )H (2.20)

donde H denota la conjugada hermítica de una matriz (conjugada compleja y transpuesta).


En general

(ABC · · · P)H = PH · · · CH BH AH (2.21)

8. Traza:

tr(A) = ∑ aii = ∑ λi ; donde λi = eig(A) (2.22)


i i

La traza de un producto es independiente del orden de los factores:

tr(AB) = tr(BA) (2.23)

tr(ABC) = tr(BCA) = tr(CAB) (2.24)

Para una suma:

tr(A + B) = tr(A) + tr(B) (2.25)

9. Determinante:
Sea A una matriz n × n. Usando la notación Aij para representar la matriz formada
borrando la i-ésima fila y la j-ésima columna de A. Entonces, el determinante de A se
define como
n
|A| = ∑ (−1)i+ j ai j |Aij | (2.26)
j=1

para cualquier valor de i ∈ [1,n]. Esta se denomina expansión de Laplace de A a lo largo


de su i-ésima fila. Se puede observar que el determinante de la matriz A n × n, se define
en términos de los determinantes de las matrices (n − 1) × (n − 1). Similarmente, los
determinantes de las matrices (n − 1) × (n − 1) se definen en términos de las matrices
(n − 2) × (n − 2). Esto continúa hasta el determinante de las matrices 2 × 2 los cuales se
definen en términos de los determinantes de las matrices 1 × 1, los cuales son escalares.
El determinante de la matriz A también se puede definir como una expansión de Laplace
a lo largo de su j-ésima columna, es decir,
n
|A| = ∑ (−1)i+ j ai j |Aij | (2.27)
i=1
2.3 Álgebra de matrices 49

para cualquier valor de j ∈ [1,n]. Ambos desarrollos conducen a un mismo resultado. A


partir de la definición se puede observar para los casos (2 × 2) y (3 × 3):
 
a11 a12
det(A) = det = a11 a22 − a12 a21 (2.28)
a21 a22
 
a11 a12 a13
det(A) = det a21 a22 a23  =
a31 a32 a33
     
a22 a23 a21 a23 a21 a22
= a11 det − a12 det + a13 det =
a32 a33 a31 a33 a31 a32
= a11 (a22 a33 − a23 a32 ) − a12 (a21 a33 − a23 a31 ) + a13 (a21 a32 − a22 a31 ) (2.29)

Propiedades:

det(A) = Πi λi , donde λi = eig(A), (2.30)


n
det(cA) = c det(A), si A∈R n×n
, (2.31)
>
det(A ) = det(A), (2.32)
det(AB) = det(A)det(B), (2.33)
−1
det(A ) = 1/det(A), (2.34)
det(An ) = det(A)n . (2.35)

10. Potencia de matrices.

Las matrices cuadradas se pueden multiplicar por sí mismas en forma repetida del
mismo modo que los números ordinarios, puesto que ellas tienen siempre el mismo
número de filas y columnas. Esta multiplicación repetida se puede describir como la
“potencia de la matriz”, un caso especial del producto de matrices. Las matrices “rectan-
gulares” no tienen el mismo número de filas y columnas por lo que no se pueden elevar
a una potencia. Una matriz An×n elevada a un entero positivo p se define como

A p = |AA{z
· · · A}
p veces

y las siguientes identidades se mantienen, donde κ es un escalar:

(i) Potencia cero:

A0 = I

I es la matriz identidad.

(ii) Multiplicación por un escalar:

(αA) p = α p A p
50 Capítulo 2. Conceptos de cálculo matricial

Norma euclidiana
La norma dos de un vector columna de números reales, también llamada la norma euclidiana,
se define como sigue:
√ q
||x||2 = x> x = x12 + · · · + xn2 (2.36)
De la Ecuación (2.5), se observa que
   2 
x1 x1 x1 x2 ··· x1 xn
x2   x2 x1 x22 ··· x2 xn 
xx> =  .  x1 x2 · · · xn =  .

.. .. .. 
   
 ..   .. . . . 
xn xn x1 xn x2 ··· xn2

Tomando la traza de esta matriz se obtiene:

tr xx> = x12 + x22 + · · · + xn2




= ||x||22 (2.37)

Esto significa que la norma euclidiana al cuadrado equivale a la traza del producto del vector
por su transpuesta, es decir:
x> x = tr xx> (2.38)


2.3.5 El caso especial de las matrices 2 × 2

Dado que las matrices cuadradas 2 × 2 son de uso muy frecuente en la práctica, es de interés
analizar este caso ya que posee algunas propiedades de interés, las cuales permiten simplificar
los cálculos. Considérese la matriz
 
a a12
A = 11 (2.39)
a21 a22

1. Determinante y traza.

det(A) = a11 a22 − a12 a21 , (2.40)


tr(A) = a11 + a22 . (2.41)

2. Valores propios
     
λ 0 a a12 λ − a11 −a12
|[λ I − A]| = 0 = − 11 =
0 λ a21 a22 −a21 λ − a22

(λ − a11 )(λ − a22 ) − a12 a21 = λ 2 − (a11 + a22 )λ + a11 a22 − a12 a21
2.3 Álgebra de matrices 51

Entonces

λ 2 − λ · tr(A) + det(A) = 0, (2.42)


 
1 1h
q i
(2.43)
p
λ1 = tr(A) + tr(A)2 − 4det(A) , λ2 = tr(A) − tr(A)2 − 4det(A) ,
2 2
λ1 + λ2 = tr(A), λ1 λ2 = det(A). (2.44)

3. Autovectores
 
a12
v1 ∝ (2.45)
λ1 − a11

 
a12
v2 ∝ (2.46)
λ2 − a11

4. Inversa
 
1 a22 −a12
A−1 = (2.47)
det(A) −a21 a11

Figura 2.1 Circuito realimentado serie–serie.


52 Capítulo 2. Conceptos de cálculo matricial

Figura 2.2 Circuito equivalente del sistema realimentado.

Ejemplo 2.3.1 Realimentación serie–serie con un elemento activo (NFC) [6].


El circuito de la Fig. 2.1, constituye una red lineal con realimentación a través de un circuito
activo. Se puede definir la red conformada por Ra ,Rb y el amplificador Ao1, como una fuente
de tensión controlada por tensión, es decir,
 
Rb .
vβ = 1 + vm = µvm (2.48)
Ra

La red equivalente se muestra en la Fig. 2.2, donde se indica la relación definida en la ecuación
(2.48). Las resistencias de entrada y salida de Ao1 y Ao2 están dadas por Ria ,Roa ,Rib y Rob ,
respectivamente.
Nótese que
vε = Ria i1
y además, puesto que la impedancia de entrada de Ao2 es muy elevada,

Rc ||Rib ≈ Rc ,

entonces,
vm ≈ Rc iL
También,
Ria  Rob
Escribiendo el modelo en forma de matriz se obtiene:
    
vi − µvm Ria + Rob 0 i1
=
Ao vε 0 Roa + RL + Rc ||Rib iL
2.3 Álgebra de matrices 53

o, sustituyendo y reagrupando términos


       
vi Ria µRc i1 z βz i1
≈ = i (2.49)
0 −Ao Ria Roa + RL + Rc iL µz zo iL

La matriz de impedancias Z ∈ R2×2 , está dada por la Ecuación (2.49), es decir,


 
zi βz
Z=
µz zo

Entonces:

det(Z) = zi zo − βz µz
tr(Z) = zi + zo ≈ Ria

  " s #
1 Ria Rc
q
λ1 = zi + zo + (zi − zo )2 + 4βz µz ≈ 1 + 1 − µAo
2 2 Ria
  " s #
1 Ria Rc
q
λ2 = zi + zo − (zi − zo )2 + 4βz µz ≈ 1 − 1 − µAo
2 2 Ria

Ejemplo 2.3.2 Realimentación Serie–Paralelo [6].


El modelo de realimentación serie–paralelo se muestra esquemáticamente en la Figura 2.3.

Figura 2.3 Circuito realimentado serie–paralelo.

El amplificador básico y la red de realimentación tienen la misma corriente de entrada y la


misma tensión de salida. Se utilizan los parámetros h para representar los circuitos con reali-
mentación serie–paralelo.
54 Capítulo 2. Conceptos de cálculo matricial

Por lo tanto, de la Figura 2.3.


       
vs zs + h11a + h11 f h12a + h12 f is zi β is
= = (2.50)
0 h21a + h21 f yL + h22a + h22 f vo µ yo vo

Es decir,
   
vs i
=H s
0 vo

donde  
z β
H= i (2.51)
µ yo
Invirtiendo la expresión (2.50) se llega a:
     " yo
#
is 1 yo −β vs |H|
= = µ vs
vo |H| −µ zi 0 − |H|

donde   
µ
|H| = yo zi − β µ = yo zi 1 + β −
yo zi
o
|H| = yo zi (1 + β Ava )
con
µ
Ava = − .
yo zi
De esta expresión se pueden calcular los parámetros de transferencia, v.gr.:
Ganancia de tensión,
vo µ −µ Ava
Av = =− =− =
vs |H| yo zi (1 + β Ava ) 1 + β Ava

En este problema, puesto que el modelo de la matriz tiene dimensiones híbridas, es posible
calcular algunas funciones de la misma, tales como el determinante y la matriz inversa; sin
embargo, la traza no está definida ya que se tendría la suma de [Ω] + [S] (ver Ecuación (2.51)),
lo cual no es posible. Esto se debe tener en cuenta en los sistemas físicos, pues ocurre con
alguna frecuencia.
2.3.6 Lema de inversión de matrices

En matemáticas, particularmente en álgebra lineal, la matriz identidad de Woodbury planteada


para buscar matrices n × n está dada por la siguiente fórmula [33]:

(A − BD−1 C)−1 = A−1 + A−1 B(D − CA−1 B)−1 CA−1 (2.52)

En ella A y BD−1 C son matrices de dimensión n × n, mientras que D es una matriz cuadrada
que puede tener una dimensión r × r diferente, en consecuencia B tendrá dimensión n × r y C,
2.3 Álgebra de matrices 55

dimensión r × n. Los nombres alternativos para esta fórmula son el lema de inversión de
matrices, la fórmula de Sherman-Morrison-Woodbury [67] o sólo la fórmula de Woodbury
[77]. Sin embargo, la identidad apareció en varios artículos antes del informe de Woodbury.

Demostración:
Para su derivación se utilizan las siguientes identidades; factorizando a izquierda y a derecha,
respectivamente:

B − BD−1 CA−1 B = BD−1 (D − CA−1 B) (2.53)


−1 −1
= (A − BD C)A B (2.54)

También se tiene la siguiente identidad, la cual se demuestra a continuación

(A − BD−1 C)−1 BD−1 = A−1 B(D − CA−1 B)−1 (2.55)

Partiendo del miembro de la izquierda de la Ecuación (2.55), se obtiene sucesivamente:

(A − BD−1 C)−1 BD−1 = [(I − BD−1 CA−1 )A]−1 BD−1


= [B(B−1 − D−1 CA−1 )A]−1 BD−1
= [B(I − D−1 CA−1 B)B−1 A]−1 BD−1
= [BD−1 (D − CA−1 B)B−1 A]−1 BD−1
= A−1 B(D − CA−1 B)]−1 DB−1 BD−1
= A−1 B(D − CA−1 B)−1 (2.56)

Ahora bien

A−1 = IA−1
= (A − BD−1 C)−1 (A − BD−1 C)A−1
= (A − BD−1 C)−1 (I − BD−1 CA−1 )
= (A − BD−1 C)−1 − (A − BD−1 C)−1 BD−1 CA−1 (2.57)

Sustituyendo en el segundo término de la derecha de la Ecuación (2.57), el resultado obtenido


en la Ecuación (2.56):

A−1 = (A − BD−1 C)−1 − A−1 B(D − CA−1 B)−1 CA−1

De aquí se obtiene la relación planteada:

(A − BD−1 C)−1 = A−1 + A−1 B(D − CA−1 B)−1 CA−1

En forma general se puede escribir:

(A ∓ BD−1 C)−1 = A−1 ± A−1 B(D ∓ CA−1 B)−1 CA−1 (2.58)


56 Capítulo 2. Conceptos de cálculo matricial

2.3.7 Valores propios

La matriz cuadrada A tiene autovalores λ y autovectores q si

Aq = λ q (2.59)

Por lo tanto
(A − λ I)q = 0 (2.60)
Para el análisis de valores propios se procede como sigue para satisfacer esta ecuación o bien
q = 0, lo cual es interesante, o la matriz A − λ I debe reducir q al vector nulo (un único punto).
Para que esto suceda A − λ I debe ser singular. Por lo tanto,

det(A − λ I) = 0 (2.61)

Por lo tanto, el análisis de valores propios procede así (i) se resuelve la ecuación anterior para
encontrar los autovalores λi y entonces (ii) se sustituyen en la Ecuación (2.59) para encontrar
los autovectores. Por ejemplo, si  
4 −5
A= (2.62)
2 −3
entonces
det(A − λ I) = (4 − λ )(−3 − λ ) − (−5)(2) = 0 (2.63)
lo cual se puede reordenar como

λ2 −λ −2 = 0
(2.64)
(λ + 1)(λ − 2) = 0

Por lo tanto los autovalores son λ = −1 y λ = 2 . Sustituyendo de nuevo en la Ecuación (2.59)


da un autovector q1 el cual es cualquier múltiplo de [1 1]> . Similarmente, el autovector q2
es cualquier múltiplo de [5 2]> .

Ahora se nota que el determinante de la matriz es también igual a el producto de sus


autovalores
det(A) = ∏ λi (2.65)
i

Puesto que la traza de una matriz es la suma de sus elementos diagonales

tr(A) = ∑ aii (2.66)


i

entonces también es también igual a la suma de los autovalores

tr(A) = ∑ λi (2.67)
i

El análisis de autovalores se aplica solamente a matrices cuadradas.


2.3 Álgebra de matrices 57

2.3.8 Diagonalización

Si se colocan los autovectores en las columnas de una matriz

(2.68)
 
Q = q1 q2 · · · qd

entonces, debido a que, Aqk = λk qk , se tiene

(2.69)
 
AQ = λ1 q1 λ2 q2 · · · λd qd

Si se colocan los autovalores en la matriz Λ entonces la anterior matriz también puede escribirse
como QΛ Λ. Por lo tanto,
AQ = QΛ Λ (2.70)
Premultiplicando ambos lados por Q−1 se obtiene

Q−1 AQ = Λ (2.71)

esto muestra que cualquier matriz cuadrada se puede convertir en una forma diagonal (siempre
que tenga valores propios distintos; ver [72]). A veces no habrá valores propios d distintos y
en ocasiones ellos serán complejos.

2.3.9 Teorema espectral

Para cualquier matriz real simétrica todos los autovalores serán reales y habrá d valores propios
distintos y vectores propios. Los autovectores serán ortogonales (si la matriz es no simétrica
los autovectores no serán ortogonales). Ellos pueden normalizarse y colocarse en la matriz Q.
Puesto que Q es ahora ortogonal se tiene Q−1 = Q> . De este modo

Q> AQ = Λ (2.72)

Premultiplicando por Q y post-multiplicando por Q> se tiene

Λ Q>
A = QΛ (2.73)

lo cual se conoce como el teorema espectral. Éste dice que cualquier matriz real simétrica
puede representarse como la anterior donde las columnas de Q contienen los autovectores y Λ
es una matriz diagonal que contiene los autovalores, Λi . Equivalentemente
  
λ1 q1
λ 2  q2 
   
(2.74)
 
A = q1 q2 · · · qd  . .. .
  .. 
  

λd qd

Ésta también puede escribirse como una sumatoria


d
A= ∑ λk qk q>k (2.75)
k=1
58 Capítulo 2. Conceptos de cálculo matricial

2.3.10 El producto de Hadamard

Se define como el producto de dos matrices elemento por elemento. Sean dos matrices, A, B,
de la misma dimensión, m × p. El producto de Hadamard (Matlab: A. ∗ B) está definido por
[61]

a11 b11 a12 b12 · · · a1p b1p


 

.  a21 b21 a22 b22 · · · a2p b2p 


 
A◦B= . . . . (2.76)
 .. .. .. ..  
am1 bm1 am2 bm2 · · · amp bmp

Para matrices de diferentes dimensiones, m × n y p × q, donde (m 6= p) ∨ (n 6= q) el producto


de Hadamard no está definido.

2.3.11 Propiedades básicas del producto de Hadamard

Algunas propiedades correspondientes al producto de Hadamard se describen a continuación

1. Conmutativo

A ◦ B = B ◦ A, (2.77)

2. Lineal

(αA) ◦ B = A ◦ (αB), α una constante (2.78)

3. Asociativo

A ◦ (B ◦ C) = (A ◦ B) ◦ C, (2.79)

4. Distributivo

A ◦ (B + C) = A ◦ B + A ◦ C. (2.80)

5. Rango.

Sean A y B dos matrices cuadradas de tamaño n. Entonces

ρ(A ◦ B) ≤ ρ(A)ρ(B). (2.81)

6. Matrices diagonales.

Supóngase que A, B son matrices m × n y D y E son matrices diagonales de tama-


ño m y n, respectivamente. Entonces,

D(A ◦ B)E = (DAE) ◦ B = (DA) ◦ (BE) = (AE) ◦ (DB) = A ◦ (DBE) (2.82)


2.3 Álgebra de matrices 59

Ejemplo 2.3.3 Verificar las relaciones de los productos mixtos de Hadamard de la Ecua-
ción (2.82), para los valores de A,B, D, E como se especifican a continuación:
 
      1 0 0
1 2 −1 −2 4 1 −2 0
A= , B= , D= , E = 0 −1 0 .
−1 3 −2 1 −3 −1 0 1
0 0 4

Aplicando las relaciones dadas en las ecuaciones (2.82), se obtiene:



D(A ◦ B)E 


(DAE) ◦ B


  
4 16 8

(DA) ◦ (BE) =
 −1 9 8
(AE) ◦ (DB)





A ◦ (DBE)

2.3.12 El producto de Kronecker

Dadas dos matrices, A(m×n) y B(p×q) , el producto de Kronecker, producto directo o producto
tensorial se define como la matriz A ⊗ B(mp×nq) (Matlab: kron(A,B)) [61].
 
a11 B a12 B ··· a1n B
 a21 B a22 B ··· a2n B 
A⊗B =  . .. .. ..  (2.83)
 
 .. . . . 
am1 B am2 B ··· amn B

donde ai j es el i j-ésimo elemento de A. A continuación se hace un resumen de algunas


propiedades del producto de Kronecker.

1. Conmutatividad.
A ⊗ B 6= B ⊗ A, en general. (2.84)

2. Asociatividad.
(A ⊗ B) ⊗ C = A ⊗ (B ⊗ C). (2.85)
Así, la expresión A ⊗ B ⊗ C no presenta ambigüedad.
3. Dadas las matrices C(n×q) y D(l×s) , entonces

(A ⊗ B)(C ⊗ D) = AC ⊗ BD. (2.86)

4. Transpuesta
(A ⊗ B)> = A> ⊗ B> . (2.87)

5. Distributividad
A ⊗ (B + C) = A ⊗ B + A ⊗ C. (2.88)
60 Capítulo 2. Conceptos de cálculo matricial

6. Rango
ρ(A ⊗ B) = ρ(A)ρ(B). (2.89)

7. Escala
(αA ⊗ β B) = αβ (A ⊗ B). (2.90)

8. Traza
tr(A ⊗ B) = tr(A)tr(B) = tr(ΛA ⊗ ΛB ). (2.91)

9. Inversa. Si A y B son de rango completo, entonces

(A ⊗ B)−1 = A−1 ⊗ B−1 . (2.92)

10. Determinante Si A(m×m) y B(k×k) , entonces

det(A ⊗ B) = (det A)k (det B)m . (2.93)

11. Interacción con la matriz identidad

A ⊗ B = (AIk ) ⊗ (Im B) = (A ⊗ Im )(Ik ⊗ B). (2.94)

12. Ortogonalidad. Si A y B son ortogonales entonces el producto A⊗B también es ortogonal.


Esto se puede ver con la ayuda de las propiedades anteriores:

(A ⊗ B)> (A ⊗ B) = (A> ⊗ B> )(A ⊗ B) = (A> A) ⊗ (B> B) = Im ⊗ Ik = Imk . (2.95)

Esta propiedad también es válida para matrices unitarias.

Nótese que el producto de Kronecker está definido independientemente del orden de las matrices
involucradas, por lo que es un concepto más general que la multiplicación de matrices. A
continuación se hará la demostración de algunas de las propiedades relacionadas anteriormente.
Dichas demostraciones tienen el carácter de teoremas y en esa forma se plantean.
El siguiente teorema hace referencia a la relación entre el producto de Kronecker de dos
matrices y las matrices unitarias asociadas.

Teorema 2.3.1 Sea A ∈ Rm×n y B ∈ R p×q , entonces

A ⊗ B = (A ⊗ I p )(In ⊗ B) = (Im ⊗ B)(A ⊗ Iq ). (2.96)


2.3 Álgebra de matrices 61

Demostración: De acuerdo a la definición del producto de Kronecker y a la multiplicación


de matrices, se tiene
 
a11 B a12 B · · · a1n B
 a21 B a22 B · · · a2n B 
A ⊗ B = . ..  =
 
.. ..
 .. . . . 
am1 B am2 B ··· amn B
···
  
a11 I p a12 I p a1n I p B 0 · · · 0
 a21 I p a22 I p ···  0 B · · ·
a2n I p  0
= .
 
.. .. ..  .. .. . . .. 
 .. . . .  . . . .
am1 I p am2 I p ··· amn I p 0 0 · · · B
= (A ⊗ I p )(In ⊗ B),

 
a11 B a12 B ··· a1n B
 a21 B a22 B ··· a2n B 
A ⊗ B = . ..  =
 
.. ..
 .. . . . 
am1 B am2 B · · · amn B
···
  
B 0 · · · 0 a11 Iq a12 Iq a1n Iq
 0 B · · · 0  a21 Iq a22 Iq ··· a2n Iq 
= . . .
  
 .. .. . . ...  .
 ..
..
.
..
.
.. 
. 
0 0 · · · B am1 Iq am2 Iq ··· amn Iq

A ⊗ B = (Im ⊗ B)(A ⊗ Iq ). 

Corolario 2.3.1.1 Sea A ∈ Rm×m y B ∈ Rn×n , entonces

A ⊗ B = (A ⊗ In )(Im ⊗ B) = (Im ⊗ B)(A ⊗ In ). (2.97)

Esto significa que Im ⊗ B y A ⊗ In son conmutativos para matrices cuadradas tales como
A y B.

A partir del Teorema 2.3.1, se puede demostrar el siguiente teorema de productos mixtos.

Teorema 2.3.2 Sea A ∈ Rm×n , B ∈ Rq×r , C ∈ Rn×p y D ∈ Rr×s , entonces

(A ⊗ B)(C ⊗ D) = (AC) ⊗ (BD). (2.98)


62 Capítulo 2. Conceptos de cálculo matricial

Demostración: De acuerdo al Teorema 2.3.1, se tiene

(A ⊗ B)(C ⊗ D)
= (A ⊗ Iq )(In ⊗ B)(C ⊗ Ir )(I p ⊗ D)
= (A ⊗ Iq )[(In ⊗ B)(C ⊗ Ir )](I p ⊗ D)
= (A ⊗ Iq )(C ⊗ B)(I p ⊗ D)
= (A ⊗ Iq )[(C ⊗ Iq )(I p ⊗ B)](I p ⊗ D)
  
= (A ⊗ Iq )(C ⊗ Iq ) (I p ⊗ B)(I p ⊗ D)
  
= (AC ⊗ Iq ) (I p ⊗ BD)
= (AC) ⊗ (BD). 

Teorema 2.3.3 Sea A ∈ Rm×n y B ∈ R p×q , entonces

(A ⊗ B)−1 = A−1 ⊗ B−1 .

Demostración: De acuerdo con el Teorema 2.3.2:

(A ⊗ B)(C ⊗ D) = AC ⊗ BD.

Sustituyendo, se obtiene sucesivamente:

(A ⊗ B)(A ⊗ B)−1 = (A ⊗ B)(A−1 ⊗ B−1 )


= AA−1 ⊗ BB−1
= Im ⊗ In = Imn 

Ejemplo 2.3.4 Sean las matrices


 
    1 2  
1 2 3 2 3 1 0 1 0
A= , B= , C = −1 1 , D=
4 5 6 1 2 1 1 −1 2
−2 1

donde m = 2, n = 3, k = 2, l = 2, q = 2, s = 4. Verificar las relaciones de la Ecuación (2.94).


Solución:
La relación directa está dada por
 
1 0 1 0 2 0 2 0 3 0 3 0
 1 1 −1 2 2 2 −2 4 3 3 −3 6 
A⊗D =   4 0 4 0 5 0

5 0 6 0 6 0 
4 4 −4 8 5 5 −5 10 6 6 −6 12
2.3 Álgebra de matrices 63

La matriz I2 es la matriz identidad (2 × 2) e I3 , la matriz identidad (3 × 3), entonces


 
    1 0 2 0 3 0
1 2 3 1 0 1 0 0 1 0 2 0 3
AI3 = , I2 D = , A ⊗ I2 =  
4 5 6 1 1 −1 2 4 0 5 0 6 0
0 4 0 5 0 6
 
1 0 1 0 0 0 0 0 0 0 0 0

 1 1 −1 2 0 0 0 0 0 0 0 0 

 0 0 0 0 1 0 1 0 0 0 0 0 
I3 ⊗ D =  

 0 0 0 0 1 1 −1 2 0 0 0 0 
 0 0 0 0 0 0 0 0 1 0 1 0 
0 0 0 0 0 0 0 0 1 1 −1 2
Obsérvese que la matriz A ⊗ I2 es diagonal por bloques mientras que la matriz I3 ⊗ D es
dispersa. El resultado de las otras dos operaciones se muestra a continuación, comprobándose
la igualdad con la primera operación realizada:
 
1 0 1 0 2 0 2 0 3 0 3 0
 1 1 −1 2 2 2 −2 4 3 3 −3 6 
(AI3 )⊗(I2 D) =   = (A⊗I2 )(I3 ⊗D)
 4 0 4 0 5 0 5 0 6 0 6 0 
4 4 −4 8 5 5 −5 10 6 6 −6 12

2.3.13 Suma de Kronecker

Dada una matriz A ∈ Rm×m y una matriz B ∈ Rn×n , la suma de Kronecker denotada por A ⊕ B
se define como la expresión
A ⊕ B = A ⊗ In + Im ⊗ B. (2.99)
Para el caso de N matrices, Ai , i = 1, · · · , N (no necesariamente de la misma dimensión), la
suma de Kronecker o suma directa está dada como la matriz diagonal por bloques:
 
A1
 A2 
A1 ⊕ A2 ⊕ · · · ⊕ AN =  . . (2.100)
 
 .. 
AN

La matriz en la Ecuación (2.100), se puede expresar en notación compacta como


N
(2.101)
M
Ai = A1 ⊕ A2 ⊕ · · · ⊕ AN .
i=0

Propiedades de la suma de Kronecker de matrices:

1. Suma mixta
(A ⊕ B)(C ⊕ D) = (AC) ⊕ (BD) (2.102)
64 Capítulo 2. Conceptos de cálculo matricial

2. Rango !
N N
(2.103)
M
ρ Ai = ∑ ρ(Ai ).
i=0 i=0

3. Determinante
Si cada Ai es una matriz cuadrada, entonces
!
N N
(2.104)
M
det Ai = ∏ det(Ai ).
i=0 i=0

4. Ortogonalidad
Si A1 y A2 son ortogonales, entonces A1 ⊕ A2 es ortogonal.
5. Exponencial
Sea A ∈ Rm×m y B ∈ Rn×n , entonces

exp(A ⊕ B) = exp(A ⊗ In ) exp (Im ⊗ B) (aun si A y B no conmutan). (2.105)

6. Exponencial de suma y producto


Sea A ∈ Rm×m y B ∈ Rn×n , entonces

exp(A ⊕ B) = exp A ⊗ exp B. (2.106)

En expresiones que contienen tanto productos como sumas de Kronecker, la operación de


producto de Kronecker tiene precedencia.

Ejemplo 2.3.5 Verificar las ecuaciones (2.105) y (2.106) dadas las matrices
 
  2 1 −1
1 2
A= B = 1 −1 0 
3 −1
1 2 1

Se puede observar que los miembros de la derecha de las ecuaciones (2.105) y (2.106), consti-
tuyen también una igualdad, por lo tanto, los resultados deben ser idénticos. Se realizan tres
operaciones para las expresiones mencionadas, teniendo en cuenta que la suma de Kronecker
no está definida directamente en Matlab. Notando que las ecuaciones (2.99) y (2.105) tienen
como factores la matriz identidad, entonces se define para cada caso la matriz correspondiente,
es decir,  
  1 0 0
1 0
I2 = eye(2) = I3 = eye(3) = 0 1 0 ,
0 1
0 0 1
Se aplica dicha ecuación:

sumK=kron(A,I3)+ kron(I2,B);
expo_1=expm(sumK);
2.3 Álgebra de matrices 65

con el resultado,
 
52.3148 −1.8745 −40.7088 28.4898 −1.0208 −22.1694
19.4172 4.7092
 −10.6458 10.5743 2.5645 −5.7976 

62.0005 28.1885 0.9602 33.7645 15.3510 0.5229 
expo_1 = 
42.7348 −1.5312

 −33.2541 23.8250 −0.8537 −18.5394

15.8614 3.8468 −8.6963 8.8429 2.1446 −4.8483 
50.6467 23.0265 0.7844 28.2360 12.8375 0.4373

Por otro lado, operando sobre el miembro de la derecha de la Ecuación (2.105) se obtiene:
expo_2 = expm(kron(A,I3))*expm(kron(I2,B));

o sea,
 
52.3148 −1.8745 −40.7088 28.4898 −1.0208 −22.1694
19.4172
 4.7092 −10.6458 10.5743 2.5645 −5.7976 
62.0005 28.1885 0.9602 33.7645 15.3510 0.5229 
expo_2 =  
42.7348
 −1.5312 −33.2541 23.8250 −0.8537 −18.5394
15.8614 3.8468 −8.6963 8.8429 2.1446 −4.8483 
50.6467 23.0265 0.7844 28.2360 12.8375 0.4373

La tercera expresión está dada por (2.106).


expo_3=kron(expm(A),expm(B));
con el resultado
 
52.3148 −1.8745 −40.7088 28.4898 −1.0208 −22.1694
19.4172 4.7092 −10.6458 10.5743 2.5645 −5.7976 
 
62.0005 28.1885 0.9602 33.7645 15.3510 0.5229 
expo_3 =  42.7348 −1.5312 −33.2541

 23.8250 −0.8537 −18.5394

15.8614 3.8468 −8.6963 8.8429 2.1446 −4.8483 
50.6467 23.0265 0.7844 28.2360 12.8375 0.4373

Los tres resultados son idénticos como era de esperarse. Recuérdese que en Matlab la expo-
nencial de una matriz se define como expm(A).

2.3.14 El operador vec

El operador vec crea un vector columna a partir de una matriz Am×n , apilando los vectores
.
columna de A = [A.1 A.2 · · · A.n ] uno debajo del otro (donde A.k = A(: ,k), según la notación
de Matlab) [61]; v.gr.: sea la matriz 2 × 2
 
  a11
a11 a12 a21 
A= =⇒ vec(A) =  
a21 a22 a12 
a22
66 Capítulo 2. Conceptos de cálculo matricial

A continuación se hace un resumen de algunas propiedades de la función vec.

1. Producto
vec(AXB) = (B> ⊗ A)vec(X) (2.107)

2. Traza
tr(A> B) = vec(A)> vec(B) (2.108)

3. Suma
vec(A + B) = vec(A) + vec(B) (2.109)

4. Escala
vec(αA) = α vec(A) (2.110)

5. Producto matriz–vector

a> XBX> c = vec(X)> (B> ⊗ ca> )vec(X) (2.111)

A continuación se demostrará la relación que existe entre matrices y el operador vec denomina-
da vectorización, la cual permite la transformación de un producto matricial en un vector. Este
resultado será utilizados más adelante en el cálculo de las ecuaciones de Sylvester y Lyapunov.

Teorema 2.3.4 Sean las matrices A ∈ Rm×n , B ∈ R p×q y X ∈ Rn×p . Demostrar que se cumple
la relación (Ecuación (2.107)):

vec(AXB) = (B> ⊗ A)vec(X)

Demostración:
Se pueden reescribir las matrices B y X usando vectores columna como

B = [b.1 b.2 · · · b.q ] p×q y X = [x.1 x.2 · · · x.p ]n×p

donde el vector (.k ), corresponde a la k–ésima columna de la matriz. Por lo tanto, el producto
(AXB), se puede escribir como
 
x.1
p x
 .2 
 
(AXB).k = A ∑ x.i bik = b1k A b2k A · · · b pk A  ..  =

i=1  . 
x.p
· · · b pk ⊗ A vec(X).
  
= b1k b2k

Entonces,
.k ⊗ A vec(X)
(AXB).k = b>

2.3 Álgebra de matrices 67

Apilando todos los vectores, se obtiene:


   >
b.1 ⊗ A

(AXB).1
>
(AXB).2  b.2 ⊗ A
vec(AXB) =  ..  =  ..  vec(X),
   
 .   . 
(AXB).q b>
.q ⊗ A

es decir,

vec(AXB)mq×1 = (B> ⊗ A)vec(X) 

Corolario 2.3.4.1

vec(AB) = (I p ⊗ A)vec(B) = (B> ⊗ Im )vec(A).

Ejemplo 2.3.6 Verificar la relación (2.107) a partir de las siguientes matrices:


 
    1 −2
1 2 3 2 3 4 1
A= , B= , X= 1 1 .
4 3 1 2×3 1 3 2 1 2×4
−1 1 3×2

Solución:  
3
8
 
 9
 

3 9 6 3 6
vec(AXB) = vec = 
8 6 16 2 6
 
16
 
3
2
   
2 4 6 1 2 3   3
8 6 2 4 3 1  1
8
  
3 6 9 3 6 9  1   9 
   

(B> ⊗ A)vec(X) = 
12 9 3 12 9 3 −1 =  6 
    
4
 8 12 2 4 6 −2
 
 6
 
16 12 4 8 6 2  1  16
   
1 2 3 1 2 3 1 3
4 3 1 4 3 1 2
Con lo cual queda demostrada la relación pedida.
68 Capítulo 2. Conceptos de cálculo matricial

Ejemplo 2.3.7 A continuación se definen algunas cantidades vectoriales y matriciales. Verificar


la Ecuación (2.3.7).
     
1 −2   1 −2
2 3
a = 2 , c =  1  , B = , X = −1 3 
1 −4
3 5 2 −1
   
1 −2    −2
2 3 1 −1 2
a> XBX> c = 1 2 3 −1 3 
 
 1  = 99
1 −4 −2 3 −1
2 −1 5

vec(X)> (B> ⊗ ca> )vec(X) =


  
−4 −8 −12 −2 −4 −6 1
2 4 6 1 2 3  −1
  
 10 20 30 5 10 15  2  = 99
  
= 1 −1 2 −2 3 −1  −6
 −12 −18 8 16 −2
24  
3 6 9 −4 −8 −12 3 
15 30 45 −20 −40 −60 −1

Nota sobre la función vec y Matlab.

Matlab no tiene la función vec, pero posee una función llamada reshape, la cual puede usarse
para este propósito. Específicamente, si A ∈ Rm×n , entonces se puede obtener el vector a con
el siguiente enunciado de Matlab:
a = reshape(A, m*n, 1);
Existe una forma más corta para realizar la misma tarea, esto es,
a = A(:);
la cual es similar a la expresión anterior. Para reconstruir la forma de matriz, es decir, de a → A,
se puede usar de nuevo la función reshape:
A = reshape(a, p, q); donde pq = mn, es decir, mn|p y mn|q (Resto = 0).

Ejemplo 2.3.8 Sea A ∈ R3×2 , dada por:


 
1
  3
1 2  
1
A = 3 −1 ⇒ [m,n] = size(A) = [3,2]; a = reshape(A,m ∗ n,1) = 
2

1 4  
−1
4

Se puede reconstruir, v.gr., la matriz A1 ∈ R2×3 :


 
1 1 −1
A1 = reshape(a,n,m) ⇒ A1 = .
3 2 4
2.3 Álgebra de matrices 69

2.3.15 Funciones de Lyapunov

Sea la ecuación de estados definida en la forma estándar como

ẋ(t) = Ax(t) + Bu(t) (2.112)

donde A ∈ Rm×m , es la matriz de transición, x es el vector de estados y u es el vector de


control. Por otra parte, una función de Lyapunov V : Rm 7→ R es una función de tipo energía
que se puede utilizar para determinar la estabilidad de un sistema. En términos generales, si se
puede encontrar una función no negativa que disminuya siempre a lo largo de la trayectoria del
sistema, se puede concluir que el mínimo de la función es un punto de equilibrio estable (a
nivel local). Para describir de manera más formal, se empieza con algunas definiciones. Se dice
que una función continua V es definida positiva si V (x) > 0 para todo x 6= 0 y V (0) = 0. Se
dice que una función V es semidefinida positiva si V (x) > 0 para todo x pero V (x) puede ser
cero en puntos diferentes de x = 0. Similarmente, una función es definida negativa si V (x) < 0
para todo x 6= 0 y V (0) = 0.

Teorema 2.3.5 Teorema de estabilidad de Lyapunov.


Sea V una función no negativa sobre Rm y sea V̇ la derivada en el tiempo de V a lo largo de
las trayectorias de la dinámica del sistema (2.112):
dV dV dx dV
V̇ = = = ẋ (2.113)
dt dx dt dx
Sea Br = Br (0) una bola de radio r alrededor del origen. Si ∃ r > 0 tal que V sea definida
positiva y V̇ sea semidefinida negativa para todo x ∈ Br , entonces x = 0 es localmente estable
en el sentido de Lyapunov. Si V es definida positiva y V̇ es definida negativa en Br , entonces
x = 0 es localmente asintóticamente estable.

Si V satisface una de las condiciones anteriores, se dice que V es una función (local) de
Lyapunov para el sistema. Siempre es posible encontrar una función de Lyapunov para un
sistema lineal de la forma descrita por (2.112), sin perturbación externa, esto es, con u = 0.
En este caso, se puede escoger una función candidata de Lyapunov de la forma cuadrática:

V = x> Px (2.114)

donde P es una matriz simétrica definida positiva. Entonces, se tiene

V̇ = ẋ> Px + x> Pẋ


= (Ax)> Px + x> P(Ax)
= x> A> Px + x> PAx
= x> (A> P + PA)x
= −x> Qx (2.115)

El sistema matricial de ecuaciones (2.115), tiene la forma general de un sistema del tipo
AX + XB = C. Este sistema general debe ser adecuado para el sistema particular de Lyapunov,
70 Capítulo 2. Conceptos de cálculo matricial

haciendo B = A> y C = −Q. Si la matriz Q es definida positiva, entonces el sistema es


asintóticamente estable.
A continuación, se abordará la solución del sistema matricial planteado por la aplicación
del método de Lyapunov, dado por

A> P + PA = −Q. (2.116)

Sea la ecuación matricial


AX + XB = C, (2.117)
conocida como ecuación de Sylvester, donde X ∈ R ,C∈R
m×n
,A∈R
m×n
y B ∈ Rn×n . Se
m×m

ha desarrollado la solución partiendo de la conformación del producto de Kronecker y luego


una transformación vectorial.
Aplicando el Teorema 2.3.4 y su Corolario a los términos de la Ecuación (2.117), se obtiene:

vec(AX) = (In ⊗ A)vec(X), (2.118)


>
vec(XB) = vec(Im XB) = (B ⊗ Im )vec(X). (2.119)

De acuerdo a lo anterior, se puede vectorizar la ecuación(2.117) obteniéndose:

(In ⊗ A)vec(X) + (B> ⊗ Im )vec(X) = vec(C),


(In ⊗ A + B> ⊗ Im )vec(X) = vec(C).

Despejando vec(X):

vec(X) = (In ⊗ A + B> ⊗ Im )−1 vec(C); ⇒ vec(X) → X ∈ Rm×n . (2.120)

La solución existe si (In ⊗ A + B> ⊗ Im ) es no singular. La ecuación de Sylvester se puede


presentar en la forma de triple producto matricial. Esta forma generalizada de la ecuación de
Sylvester se muestra a continuación con su correspondiente solución:

AXD + EXB = C (2.121)


> > −1
vec(X) = (D ⊗ A + B ⊗ E) vec(C); ⇒ vec(X) → X ∈ R m×n
. (2.122)

como en el caso anterior, la solución existe si (D> ⊗ A + B> ⊗ E) es no singular.


Hay otra forma de representación de la ecuación de Sylvester conocida como ecuación de
Lyapunov la cual es una forma particular de la misma. Ésta se muestra a continuación, también
con la solución correspondiente:

AX + XA = C (2.123)
> −1
vec(X) = (I ⊗ A + A ⊗ I) vec(C); ⇒ vec(X) → X ∈ R m×n
. (2.124)

En el siguiente script realizado en Matlab se muestra un ejemplo de la solución de la ecuación


de Sylvester y sus variantes planteadas en el procedimiento anterior. En él se presentan los tres
casos descritos.
2.3 Álgebra de matrices 71

Ejemplo 2.3.9 Cálculo de AX + XB = C y sus variantes.


% % Cálculo de la ecuación AX + XB = C, utilizando el producto de Kronecker.
A=[1 3;2 4];
B=[2 0 1;-1 4 7;2 6 5];
C=[1 4 2;5 -2 1]; C1=[1 4;5 -2];
D=[2 1 3;0 4 6;1 0 -2];
E=[5 1;-3 2];
I2=eye(2);
I3=eye(3);
% Sylvester
% AX + XB = C
x1=(kron(I3,A)+kron(B’,I2))\C(:);
X1=vec2mat(x1,2)’;
% Generalized Sylvester
% AXD + EXB = C
x2=(kron(D’,A)+kron(B’,E))\C(:);
X2=vec2mat(x2,2)’;
% Lyapunov
% AX + XA = C1
x3=(kron(I2,A)+kron(A’,I2))\C1(:);
X3=vec2mat(x3,2)’;

Resultados:

 
−1.6766
 1.4203 
   
−0.1206 −1.6766 −0.1206 0.8241
x1 = 
  =⇒ X1 =
−0.1139 1.4203 −0.1139 −0.1413

 0.8241 
−0.1413
 
−0.3531
 0.3959 
   
−0.0460 −0.3531 −0.0460 0.1516
x2 = 
  =⇒ X2 =
−0.0283 0.3959 −0.0283 0.0288

 0.1516 
0.0288
 
4.50  
−1.10 4.50 −2.35
x3 = 
−2.35
 =⇒ X3 =
−1.10 0.75
0.75
72 Capítulo 2. Conceptos de cálculo matricial

2.4 Número de condición

En esta sección se estudia el problema de la llamada sensibilidad de un sistema lineal al


proceso computacional referido como número de condición, en el cual se plantea lo bien
o mal condicionado que esté dicho sistema. Este problema ha sido estudiado por muchos
investigadores tales como Turing, Von Neumann y Goldstine.
Sea A ∈ Rn×n , una matriz invertible con coeficientes reales y b ∈ Rn . Se desea resolver
el sistema Ax = b, y se quiere estudiar como se afecta la solución si se perturban los datos
ingresados (entrada) A y b. Será conveniente conocer de antemano cuán distante es la solución
del sistema perturbado x̂ de la solución del sistema x. O sea, saber de antemano cual es la
sensibilidad de la solución a las perturbaciones en los datos de entrada. Para tales fines existe
una cantidad que da una medida de esa sensibilidad. Dicha cantidad se denomina número de
condición [33]. El número de condición se define por

κ(A) = ||A|| · ||A−1 || (2.125)

donde ||A|| corresponde a la norma euclidiana, es decir,

||Ax||
||A|| = sup = sup ||Ax|| (2.126)
x∈Rn ||x|| ||x||=1

Se hará el análisis por partes, primero suponiendo que existe un error de redondeo en b y que
A es exacta, luego recíprocamente, para finalmente hacer el caso conjunto.
Sea la ecuación lineal dada por
Ax = b (2.127)

1. b está perturbado pero A no tiene error

A(x + ∆x) = b + ∆b
Ax + A∆x = b + ∆b
A∆x = ∆b
∆x = A−1 ∆b
||∆x|| = ||A−1 · ∆b|| ≤ ||A−1 || · ||∆b||

Pero por otra parte, Ax = b, entonces

||A|| · ||x|| ≥ ||b||


||x|| ≥ ||A||−1 · ||b||

y
1 1
≤ ||A|| ·
||x|| ||b||
2.4 Número de condición 73

Por lo cual el error relativo será


||∆x|| ||∆b|| ||∆b||
≤ ||A|| · ||A−1 || · = κ(A)
||x|| ||b|| ||b||

Donde κ(A) = ||A|| · ||A−1 ||, es el número de condición, como se había definido antes.
O sea
||∆x|| ||∆b||
≤ κ(A) (2.128)
||x|| ||b||

2. Se perturba A pero b no tiene error

(A + ∆A)(x + ∆x) = b
∆A · (x + ∆x) + A · ∆x = 0
∆A · x + (A + ∆A)∆x = 0
∆x = −(A + ∆A)−1 · ∆A · x (2.129)

El término entre paréntesis se puede escribir

(A + ∆A) = A(I + A−1 ∆A)

Entonces

(A + ∆A)−1 = (I + A−1 ∆A)−1 A−1

Por lo que la norma será:

||A−1 ||
||(A + ∆A)−1 || ≤ (2.130)
1 − ||A−1 || · ||∆A||

Para la Ecuación (2.129) se tiene la norma:

||∆x|| ≤ ||(A + ∆A)−1 ∆A|| · ||x|| (2.131)

Es decir,
||∆x||
≤ ||(A + ∆A)−1 ∆A||
||x||
≤ ||(A + ∆A)−1 || · ||∆A|| (2.132)

Reemplazando (2.130) en (2.132) se obtiene

||∆x|| ||A−1 || · ||∆A||



||x|| 1 − ||A−1 || · ||∆A||
74 Capítulo 2. Conceptos de cálculo matricial

Premultiplicando arriba y abajo por la norma de A, ||A||, se tiene:

||∆x|| ||A|| · ||A−1 || · ||∆A||



||x|| ||A|| − ||∆A||
o sea,
||∆A||
κ(A) ·
||∆x|| ||A||
= (2.133)
||x|| ||∆A||
1 − κ(A) ·
||A||

3. Error en todas las mediciones

(A + ∆A)(x + ∆x) = b + ∆b
(A + ∆A)∆x = ∆b − ∆A · x

Si ||A−1 ∆A|| < 1, entonces A + ∆A es invertible y se cumple la Ecuación (2.130), por


lo tanto
∆x = (A + ∆A)−1 (∆b − ∆A · x)

||∆x|| ≤ ||(A + ∆A)−1 || · ||(∆b − ∆A · x)||


≤ ||(A + ∆A)−1 || · (||∆b|| + ||∆A · x||)
≤ ||(A + ∆A)−1 || · (||∆b|| + ||∆A|| · ||x||)
 
||∆x|| −1 ||∆b||
≤ ||(A + ∆A) || · + ||∆A||
||x|| ||x||
Pero ||b|| ≤ ||A|| · ||x)||, entonces
 
||∆x|| −1 ||∆b||
≤ ||(A + ∆A) || · + ||∆A||
||x|| ||A−1 || · ||b||

Reemplazando la (2.130) en la expresión anterior, se obtiene

||A−1 ||
 
||∆x|| ||∆b||
≤ · + ||∆A||
||x|| 1 − ||A−1 || · ||∆A|| ||A−1 || · ||b||
||A−1 || · ||A||
 
||∆x|| ||∆b|| ||∆A||
≤ · +
||x|| 1 − ||A−1 || · ||∆A|| ||b|| ||A||

Por lo tanto,
 
||∆x|| κ(A) ||∆b|| ||∆A||
≤ · + (2.134)
||x|| ||∆A|| ||b|| ||A||
1 − κ(A) ·
||A||
2.5 Cálculo vectorial y matricial 75

Ejemplo 2.4.1 Sea el siguiente sistema de la forma Ax = b, donde


     
10 7 8 7 32 0.1
7 5 6 5 23 −0.1
A=  8 6 10 9  , b= 33 , con ∆b =  0.1  .
   

7 5 9 10 31 −0.1

La solución exacta del sistema es


    
25 −41 10 −6 32 1
−41 68 −17 10 
−1  23 = 1 ,
   
x=A b= 
10 −17 5 −3 33 1
−6 10 −3 2 31 1

mientras que la del sistema alterado A(x + ∆x) = b + ∆b es


      
25 −41 10 −6 32.1 9.2 8.2
−41 68 −17 10  22.9 −12.6 −13.6
x + ∆x =  10 −17
 =  ⇒ ∆x =  
5 −3 33.1  4.5   3.5 
−6 10 −3 2 30.9 −1.1 −2.1

De los anteriores resultados se tiene las siguientes relaciones:

||∆x||
||∆x|| = 16.3970; ||x|| = 2.0000; =⇒ = 8.1985
||x||
||∆b||
||∆b|| = 0.2000; ||b|| = 60.0250; =⇒ = 0.0033
||b||
κ(A) = 2984.1

2.5 Cálculo vectorial y matricial

En el primer curso de cálculo, se aprenden las matemáticas de las derivadas e integrales y


cómo aplicar estos conceptos a escalares. También se pueden aplicar las herramientas de
cálculo a vectores y matrices. Algunos aspectos del cálculo de matrices son idénticos al cálculo
escalar, pero algunos conceptos de cálculo con escalares tienen que ampliarse a fin de obtener
fórmulas de cálculo matricial. Como la intuición llevaría a creer, la derivada de una matriz
es simplemente igual a la matriz de las derivadas temporales de los elementos individuales
de la matriz. También, la integral de una matriz es igual a la matriz de las integrales de los
elementos individuales de la matriz. En esta sección se aplicarán algunos conceptos básicos y
otros nuevos al cálculo de estructuras vectoriales y matriciales. En otras palabras, suponiendo
76 Capítulo 2. Conceptos de cálculo matricial

que A ∈ Rm×n , se tiene derivada total contra el tiempo de la matriz:


 
ȧ11 (t) · · · ȧ1n (t)
Ȧ(t) =  ... ..
.
.. 
.  (2.135)

ȧm1 (t) ··· ȧmn (t)

De la misma manera se puede realizar el proceso inverso, es decir, la integral en el tiempo:


R R 
a11 (t)dt · · · a1n (t)dt
.. .. ..
Z
A(t)dt =  . . . (2.136)
 

R R
am1 (t)dt ··· amn (t)dt

Supóngase que la matriz A tiene elementos que son funciones del tiempo. Se sabe que
AA−1 = I; esto es, AA−1 es una matriz constante y por lo tanto tiene derivada en el tiempo
igual a cero, entonces la derivada en el tiempo de AA−1 se puede calcular como

d d
(AA−1 ) = ȦA−1 + A (A−1 ) (2.137)
dt dt
d(A−1 )
Puesto que esto es cero, puede resolverse para dt como

d −1
(A ) = −A−1 ȦA−1 (2.138)
dt
Nótese que para el caso especial de una función escalar A(t), esto se reduce a la ecuación
familiar
 
d 1 ∂ (1/A(t)) dA(t) Ȧ(t)
= =− 2 (2.139)
dt A(t) ∂ A(t) dt A (t)

2.5.1 Derivada parcial

Supóngase que x ∈ Rn es un vector y f (x) es una función escalar de los elementos de x,


entonces
 
∂ f (x) ∂ f (x) ∂ f (x)
= ···
∂x ∂ x1 ∂ xn
∂ f (x)
A pesar de que x es un vector columna, ∂ x es un vector fila. Lo contrario también es cierto,
entonces ∂ ∂f (x)
es decir, si x es un vector fila, x es un vector columna. Ahora supóngase que
A ∈ Rm×n es una matriz y f (A) es un escalar. Entonces, la derivada parcial de un escalar con
2.5 Cálculo vectorial y matricial 77

respecto a una matriz puede ser calculada de la siguiente manera:


 
∂ f (A) ∂ f (A)
 ∂a ···
∂ f (A)  11 ∂ a1n 
= 
∂A  ∂ f (A)

∂ f (A) 
···
∂ am1 ∂ amn

Con estas definiciones se puede calcular la derivada parcial del producto escalar de dos vectores.
Sean x e y vectores columna {x, y ∈ Rn }. Entonces

x> y = x1 y1 + · · · + xn yn (2.140)

y las derivadas correspondientes serán:

∂ (x> y) ∂ (x> y) ∂ (x> y)


 
· · · yn = y> (2.141)
 
= ··· = y1
∂x ∂ x1 ∂ xn
>
∂ (x> y) ∂ (x> y)
 
∂ (x y)
· · · xn = x> (2.142)
 
= ··· = x1
∂y ∂ y1 ∂ yn

Ahora se calculará la derivada parcial de una función cuadrática con respecto a un vector.
Primero escribe la ecuación cuadrática de la siguiente manera:
    
a11 · · · a1n x1 x
 . . . .  .1 
x Ax = x1 · · · xn  ..
> .. ..  ..  = ∑i xi ai1 · · · ∑i xi ain  .. 
   

an1 · · · ann xn xn
= ∑ xi x j ai j (2.143)
i, j

Ahora se toma la derivada parcial de la ecuación cuadrática como sigue:

∂ (x> Ax) ∂ (x> Ax) ∂ (x> Ax)


 
= ···
∂x ∂ x1 ∂ xn
 
= ∑ j x j a1 j + ∑i xi ai1 · · · ∑ j x j an j + ∑i xi ain
   
= ∑ j x j a1 j · · · ∑ j x j an j + ∑i xi ai1 · · · ∑i xi ain
= x> A> + x> A (2.144)

Si A es simétrica, como a menudo se encuentra en las expresiones cuadráticas, entonces


A = A> y la expresión anterior se simplifica a

∂ (x> Ax)
= 2x> A (2.145)
∂x
78 Capítulo 2. Conceptos de cálculo matricial

A continuación se define la derivada parcial de un vector con respecto a otro vector.


Supóngase que    
f1 (x) x1
f(x) =  ...  y x =  ...  .
   

fm (x) xn
Entonces
 
∂ f1 (x) ∂ f1 (x)
 ∂x ···
1 ∂ xn 
=  ... .. 
∂ f(x)  ..

. .  (2.146)

∂x  
 ∂ fm (x) ∂ fm (x) 
···
∂ x1 ∂ xn

Bien sea que f(x) o x sea transpuesta, entonces la derivada parcial también es transpuesta.
>
∂ f> (x)

∂ f(x)
=
∂ (x) ∂ (x)
 >
∂ f(x) ∂ f(x)
= (2.147)
∂ (x)> ∂ (x)
∂ f> (x) ∂ f(x)
=
∂ (x)> ∂ (x)

Con estas relaciones, se pueden derivar las siguientes igualdades. Supóngase que A ∈ Rm×n y
x ∈ Rn×1 . Entonces
∂ (Ax)
=A
∂x
(2.148)
∂ (x> A> )
= A>
∂x

Ahora supóngase que A ∈ Rm×n , B ∈ Rn×n y se desea calcular la derivada parcial tr(ABA> )
con respecto a A. Primero se calcula ABA> como sigue:
   
a11 · · · a1n b11 · · · b1n a11 · · · am1
ABA> =  ... ..
.
..   ..
.  .
..
.
..   ..
.  .
..
.
.. 
. 

am1 · · · amn bn1 · · · bnn a1n ··· amn


∑ a1k bk j a1 j · · · ∑ a1k bk j am j
 
 j,k j,k
.. .. ..

= . . . (2.149)
 

 
∑ amk bk j a1 j · · · ∑ amk bk j am j
j,k j,k
2.6 Resumen 79

De esto se puede observar que la traza de (ABA> ) está dada como

tr(ABA> ) = ∑ aik bk j ai j (2.150)


i, j,k

Su derivada parcial con respecto a A se puede calcular como

∂ tr(ABA> ) ∂ tr(ABA> )
 
···
 ∂ a11 ∂ a1n 
∂ tr(ABA> )  ..

= .
 
∂A

 
 ∂ tr(ABA> ) ∂ tr(ABA> ) 
···
∂ am1 ∂ amn
 
∑ j a1 j b1 j + ∑k a1k bk1 · · · ∑ j a1 j bn j + ∑k a1k bkn
= ..
.
 

∑ j am j b1 j + ∑k amk bk j · · · ∑ j am j bn j + ∑k amk bkn
  
∑ j a1 j b1 j · · · ∑ j a1 j bn j ∑k a1k bk1 · · · ∑k a1k bkn
= .. ..
. + .
  

∑ j am j b1 j · · · ∑ j am j bn j ∑k amk bk1 · · · ∑k amk bkn

Por lo tanto
∂ tr(ABA> )
= AB> + AB (2.151)
∂A
Si B es simétrica entonces

∂ tr(ABA> )
= 2AB si se cumple que B = B> (2.152)
∂A

2.6 Resumen
En este capítulo se ha hecho una revisión de aspectos básicos de álgebra lineal incluyendo una
introducción a productos de Hadamard y de Kronecker, los cuales no son muy corrientes en
los cursos introductorios. La razón es que se presentan algunas procesos en la práctica que
requieren esas aplicaciones, tales como en la solución de la ecuación de Sylvester o Lyapunov
que tiene ocurrencia en sistemas de control. Esto conduce a un conjunto de resultados que se han
expuesto en el texto en forma de teoremas con el objeto de darles formalidad y también como
ejercicio para el lector. También se ha hecho un estudio del concepto de número de condición.
Esto es de utilidad en el proceso de análisis de estabilidad numérica de algunos sistemas
dinámicos. En la segunda parte se abordó el problema del cálculo de matrices, procedimiento
que conduce a la obtención de resultados directos para diversas aplicaciones de matrices
y vectores. Se ha procurado realizar los procedimientos por el método de paso a paso con
el fin de que el lector pueda seguir fácilmente las demostraciones. Finalmente, se hace una
pequeña introducción a los sistemas lineales y no lineales y a la discretización de los procesos
dinámicos.
3 Elementos de sistemas dinámicos

Si quieres encontrar los secretos del universo, piensa en términos


de energía, frecuencia y vibración.

Nikola Tesla

3.1 Introducción

E n este capítulo se revisan algunos aspectos esenciales de la teoría de sistemas lineales. La


teoría de estimación óptima de estados depende fuertemente de la teoría de matrices,
incluyendo cálculo matricial; de manera que la primera parte está dedicada a una revisión
de este tópico. La estimación óptima de estados se aplica tanto a sistemas lineales como a
no lineales, aunque es más directa para los lineales. Por lo tanto, se dará una breve revisión
de estos sistemas. Las últimas secciones se dedicarán a revisar los conceptos de estabilidad,
controlabilidad y observabilidad de los sistemas lineales. Estos conceptos son necesarios para
comprender el material de estimación óptima de estados que se estudiará más adelante.

3.2 Sistemas lineales


Muchos procesos en la práctica se pueden describir por sistemas de espacio de estado. Esto
incluye procesos en ingeniería, economía, física, química, biología y en general cualquier área
del conocimiento. Si se puede encontrar un modelo matemático para un proceso, entonces se
pueden usar las herramientas de matemáticas para controlar el proceso y obtener información
del mismo. Esta es la razón por la cual los sistemas en variables de estado son tan útiles
en la práctica de ingeniería. Si se conoce el estado de un sistema en el tiempo presente y
se conocen los datos de entrada presentes y futuros, entonces se pueden deducir las salidas
futuras del sistema. Los modelos en espacio de estado en general se pueden dividir en lineales
y no lineales. Aunque la mayoría de los procesos reales son no lineales, las herramientas
matemáticas disponibles para estimación y control son mucho más accesibles y comprensibles

81
82 Capítulo 3. Elementos de sistemas dinámicos

para sistemas lineales. Por esta razón, los sistemas no lineales a veces se aproximan como
lineales. De esa manera, se pueden aplicar las herramientas desarrolladas para sistemas lineales
con el fin de obtener algoritmos para estimación y control.
Un sistema lineal en tiempo continuo, determinístico, se puede describir por las ecuaciones

ẋ = Ax + Bu
(3.1)
y = Cx

donde x es el vector de estado, u es el vector de control y y es el vector de salida. La matriz


A se denomina matriz del sistema, la matriz B, matriz de entrada y la matriz C la matriz de
salida. Si A, B y C son constantes, se desea determinar la solución a las ecuaciones (3.1) para
un estado inicial x(t0 ) y entrada u(t),t ≥ 0 dados.
Una forma de encontrar la solución a la primera expresión, es suponer que x(t) en (3.1)
involucra la exponencial matricial eAt . Multiplicando entonces, ambos lados de la primera
expresión de (3.1) por la matriz e−Aτ , donde τ es la variable de integración, se obtiene:

e−Aτ ẋ(τ) − e−Aτ Ax(τ) = e−Aτ Bu(τ)


d −Aτ
x(τ) = e−Aτ Bu(τ).

e

La integración de esta última ecuación entre t0 y t da
t Z t
e−Aτ x(τ) t = e−Aτ Bu(τ)dτ,
0 t0

o lo que es lo mismo,
Z t
e−At x(t) − e−At0 x(t0 ) = e−Aτ Bu(τ)dτ.
t0

o sea, Z t
e−At x(t) = e−At0 x(t0 ) + e−Aτ Bu(τ)dτ.
t0

Premultiplicando por eAt ambos miembros de la ecuación, se llega a la solución


Z t
x(t) = eA(t−t0 ) x(t0 ) + eA(t−τ) Bu(τ)dτ (3.2)
t0

donde t0 es el tiempo inicial del sistema y a menudo se toma como 0. La Ecuación (3.2) es
la solución general de la ecuación de estado definida en (3.1). Suele referirse como fórmula
de variación de parámetros. La sustitución de la expresión (3.2) en la ecuación de salida de
(3.1) expresa y(t) en la forma siguiente, la cual hace evidente la superposición de la respuesta
a entrada nula y la respuesta a condiciones iniciales nulas:
Z t
y(t) = CeA(t−t0 ) x(t0 ) + C eA(t−τ) Bu(τ)dτ (3.3)
t0
3.3 Sistemas no lineales 83

Nótese que en el caso de entrada nula, x(t) está dado como

x(t) = eA(t−t0 ) x(t0 ), (3.4)

por esta razón, eAt se denomina matriz de transición de estado del sistema. Es la matriz que
describe como cambia el estado de su condición inicial en la ausencia de entradas externas.
(Matlab: expm(A) 6= exp(A), exp(A) calcula la exponencial de una matriz, elemento por
elemento).

3.3 Sistemas no lineales

Un sistema lineal en la realidad no existe. Los sistemas reales siempre tienen algunas no linea-
lidades. Aun un simple resistor finalmente es no lineal si se aplica una tensión suficientemente
grande a través de él. La misma ley de Ohm que establece una relación lineal en una red
eléctrica, sólo es valida en un cierto rango de operación. Pero aunque los sistemas lineales
no existen en el mundo real, la teoría de los sistemas lineales es una valiosa herramienta que
puede emplearse para estudiar los sistemas no lineales.

La forma general de un sistema no lineal continuo se puede escribir como

ẋ = f(x,u,v)
(3.5)
y = h(x,w)

donde f(·) y h(·) son funciones vectoriales arbitrarias [48]. Se utiliza v para indicar el ruido
del proceso y w para indicar el ruido de la medición. Si f(·) y h(·) son funciones explícitas del
tiempo, entonces el sistema es variante en el tiempo. De otra forma, el sistema es invariante en
el tiempo. Si f(x,u,v) = Ax + Bu + v y h(x,w) = Hx + w, entonces el sistema es lineal. De
otra forma es no lineal. Con el fin de aplicar herramientas a partir de la teoría de los sistemas
lineales a los sistemas no lineales, se necesita linealizar estos sistemas. En otras palabras, se
necesita encontrar un sistema lineal que sea aproximadamente igual al sistema no lineal. Para
ver como se hace esto, se empieza con una función no lineal f (x) de un escalar x. Se expande
f (x) en una serie Taylor alrededor de un punto de operación nominal (también llamado punto
de linealización) x = x̄. Definiendo x̃ = x − x̄:

1 ∂ 2 f 2 1 ∂ 3 f 3

∂ f
f (x) = f (x̄) + x̃ + x̃ + x̃ + · · · (3.6)
∂ x x̄ 2! ∂ x2 x̄ 3! ∂ x3 x̄
84 Capítulo 3. Elementos de sistemas dinámicos

Ahora supóngase que x es un vector 2 × 1. Esto implica que x es una función no lineal de dos
variables independientes x1 y x2 . La expansión en serie de Taylor de f (x) conduce a

∂ f (x) ∂ f (x)
f (x) = f (x̄) + x̃ + x̃ +
∂ x1 x̄ 1 ∂ x2 x̄ 2
1 ∂ 2 f (x) 2 ∂ 2 f (x) 2 ∂ 2 f (x)
 
+ x̃ + x̃ + 2 x̃ x̃ +
2! ∂ x12 x̄ 1 ∂ x22 x̄ 2 ∂ x1 x2 x̄ 1 2
!
1 ∂ 3 f (x) 3 ∂ 3 f (x) 3 ∂ 3 f (x) 2 ∂ 3 f (x)

2
+ x̃ + x̃ + 3 x̃ x̃ + 3 x̃ x̃ + · · ·
3! ∂ x13 x̄ 1 ∂ x23 x̄ 2 ∂ x12 x2 x̄ 1 2 ∂ x1 x22 x̄ 1 2

Extendiendo esto al caso más general en el cual x es un vector n × 1, se ve que cualquier


función vectorial continua f (x) puede ser expandida en una serie de Taylor como
   2
∂ ∂ 1 ∂ ∂
f (x)= f (x̄)+ x̃1 +· · ·+x̃n f (x) + x̃1 +· · ·+x̃n f (x)

∂ x1 ∂ xn x̄ 2! ∂ x 1 ∂ xn

 3
1 ∂ ∂
+ x̃1 + · · · + x̃n f (x) + · · · (3.7)

3! ∂ x1 ∂ xn

Ahora se define el operador Dkx̃ f (x) como


!k
n


Dkx̃ f (x) , (3.8)

∑ x̃i ∂ x f (x)
i=1 i

Usando esta definición se escribe la expansión de la serie de Taylor de f (x) como

1 2 1
f (x) = f (x̄) + Dx̃ f (x) + Dx̃ f (x) + D3x̃ f (x) + · · · (3.9)
2! 3!
Si la función no lineal f (x) es suficientemente suave, entonces las derivadas de orden superior
de f (x) deben ser algo pequeñas. También, si f (x) se expande alrededor de un punto tal que
x se acerque a x̃, entonces x es pequeña y las potencias de orden superior en la Ecuación
(3.9) serán pequeñas. Finalmente, las derivadas de mayor orden en la expansión en serie de
Taylor de la Ecuación (3.9) se dividen entre factoriales incrementalmente mayores, los cuales
disminuyen aún más la magnitud de los términos de mayor orden en la citada ecuación. Esto
justifica la aproximación

f (x) ≈ f (x̄) + Dx̃ f



∂ f
≈ f (x̄) + x̃
∂x x̄
≈ f (x̄) + Ax̃ (3.10)
3.4 Discretización 85


∂ f
donde A = , es la matriz definida por la anterior ecuación.
∂ x x̄
Retornando al sistema de ecuaciones no lineal planteado en (3.5) y tomando la expresión
f(x,u,v), se ve que ésta se puede expandir alrededor del punto de operación nominal (x̄,ū,v̄),
obteniéndose una aproximación lineal como sigue;

ẋ = f(x,u,v)

∂ f ∂ f ∂ f
≈ f(x̄,ū,v̄) + (x − x̄) + (u − ū) + (v − v̄)
∂ x 0 ∂ u 0 ∂ v 0
= x̄˙ + Ax̃ + Bũ + Lṽ (3.11)

donde el subíndice 0 significa que la función es evaluada en el punto nominal (x̄,ū,v̄). A, B y


L están definidas en la ecuación anterior. Substrayendo x̄˙ en ambos lados de la Ecuación (3.11)
da
x̃˙ = Ax̃ + Bũ + Lṽ (3.12)
Puesto que v es ruido, se escoge v̄ = 0 de modo que ṽ = v y se obtiene

x̃˙ = Ax̃ + Bũ + Lv (3.13)

Se tiene una ecuación lineal para x̃˙ en términos de x̃,ũ y v. Una ecuación lineal para las
desviaciones de los estados y control de sus valores nominales. Siempre que las desviaciones
permanezcan pequeñas, la linealización será exacta y la ecuación lineal describirá con precisión
las desviaciones de x de sus valores nominales x̄. En una forma similar se puede expandir la
ecuación de medición no lineal dada por la Ecuación (3.5) alrededor de un punto de operación
nominal x = x̄ y w = w̄ = 0. Esto resulta en la ecuación de medición linealizada

∂ h ∂ h
ỹ = x̃ + w̃
∂ x 0 ∂ w 0
= Cx̃ + Mw (3.14)

donde C y M están definidas por la anterior ecuación. Las ecuaciones (3.13) y (3.14) com-
prenden un sistema lineal que describe las desviaciones del estado y de la salida desde sus
valores nominales. Donde las cantidades con virgulilla en las ecuaciones (3.13) y (3.14) están
definidas como
x̃ = x − x̄; ũ = u − ū; ỹ = y − ȳ

3.4 Discretización

La mayoría de los sistemas en el mundo real se describen con la dinámica de tiempo conti-
nuo del tipo mostrado en la Ecuación (3.1). Sin embargo, los algoritmos de estimación de
estados y control son casi siempre implementados con electrónica digital. Esto requiere una
transformación de una dinámica en tiempo continuo a una dinámica en tiempo discreto. Acá
se discutirá cómo un sistema lineal en tiempo continuo se transforma en un sistema lineal en
tiempo discreto. Recordando la Ecuación (3.2) y haciendo t = tk y haciendo el tiempo inicial
86 Capítulo 3. Elementos de sistemas dinámicos

t0 = tk−1 , se tiene
Z tk
x(tk ) = eA(tk −tk−1 ) x(tk−1 ) + eA(tk −τ) dτBu(tk−1 )
tk−1 (3.15)
y(tk ) = Cx(tk ).

Definiendo T = tk − tk−1 y α = τ − tk−1 y sustituyendo en la Ecuación (3.15) se obtiene:


Z T
AT
x(tk ) = e x(tk−1 ) + eA(T−α) dαBu(tk−1 )
0
Z T
= eAT x(tk−1 ) + eAT e−Aα dαBu(tk−1 ).
0

Entonces,
xk = Fk−1 xk−1 + Gk−1 uk−1 (3.16)
donde
Fk−1 = eAT (3.17a)
Z T
Gk−1 = eAT e−Aα dαB. (3.17b)
0
Esta es una aproximación lineal discreta en el tiempo a la dinámica continua en el tiempo dada
por la Ecuación (3.1). El cálculo de la integral de la exponencial de la matriz se puede realizar
si A es invertible:

(−Aτ)k
Z T Z T ∞
e−Aτ dτ = ∑ dτ
0 0 k=0 k!
A2 τ 2 A3 τ 3
Z T 
= I − Aτ + − + · · · dτ
0 2! 3!
T
Aτ 2 2 3 3 4

A τ A τ
= Iτ − + − +···
2! 3! 4! 0
AT2 2 3 3 4
 
A T A T
= IT − + − +···
2! 3! 4!

(AT)2 (AT)3 (AT)4


Z T  
−Aτ
e dτ = AT − + − + · · · A−1
0 2! 3! 4!
(AT)2 (AT)3 (AT)4
  
= I − I − AT + − + − · · · A−1
2! 3! 4!

Entonces, Z T
e−Aτ dτ = I − e−AT A−1 (3.18)

0
3.4 Discretización 87

Si la matriz A tiene inversa, la conversión de las matrices A y B de sistemas en tiempo continuo


a las matrices F y G de sistemas en tiempo discreto se puede resumir como sigue:

F = eAT
(3.19)
G = F I − e−AT A−1 B.


Donde T es el tamaño del paso de discretización.

Ejemplo 3.4.1 (Sistema de primer orden) Considérese el sistema [79]

ẋ = ax + bu

con a 6= 0.
Aplicando las ecuaciones (3.19) se obtiene

F = eaT
 b b aT
G = eaT 1 − e−aT

= e −1
a a
El sistema de muestreo se convierte así en
b aT
xk = eaT xk−1 +

e − 1 uk−1
a

Ejemplo 3.4.2 (Integrador doble) El integrador doble se describe por [79]


   
0 1 0
ẋ = x+ u
0 0 1
 
y= 1 0 x

Por lo tanto
      
1 0 0 1 1 0 1 0 1 2
F = eAT = + T+ T +··· =
0 1 0 0 2! 0 0 0 0
     
1 0 0 T 1 T
= + =
0 1 0 0 0 1

Para el cálculo de G, no se puede aplicar en este caso la Ecuación (3.19) puesto que A−1 no
existe; por lo tanto, se aplica directamente la Ecuación (3.17b), o sea
 Z T       2 T  
1 T 1 −α 0 1 T α − α2 0
G= dα =
0 1 0 0 1 1 0 1 0 α 0 1
T T − 21 T2 0 1 T − 21 T2 1 2
          
1 T
= = = 2
0 1 0 T 1 0 1 T T
88 Capítulo 3. Elementos de sistemas dinámicos

   1 2
1 T T
xk = x + 2 uk−1
0 1 k−1 T
 
y = 1 0 xk−1

3.5 Estabilidad

En esta sección, se revisará el concepto de estabilidad para sistemas lineales invariantes en el


tiempo. En la primera parte se analizan los sistemas en tiempo continuo y luego los sistemas
en tiempo discreto. Se establecerán resultados importantes sin demostración. Para más detalle
y resultados adicionales se refiere al lector interesado a algunas referencias estándar sobre
sistemas lineales, v.gr.: [78], [21], [36], [41].

3.5.1 Sistemas de tiempo continuo

Considérese el sistema de tiempo continuo lineal y de entrada cero

ẋ = Ax
(3.20)
y = Cx

A partir de estas ecuaciones se pueden definir los conceptos de estabilidad marginal y estabilidad
asintótica como sigue.

Definición 3.5.1 Un sistema lineal de tiempo continuo invariante en el tiempo es marginalmente


estable si el estado x(t) es acotado para todo t y para todos los estados iniciales acotados x(0).

La estabilidad marginal es también llamada estabilidad de Lyapunov.

Definición 3.5.2 Un sistema lineal de tiempo continuo invariante en el tiempo es asintótica-


mente estable si, para todos los estados iniciales acotados x(0).

lı́m x(t) = 0 (3.21)


t→∞

Las dos definiciones anteriores muestran que un sistema es marginalmente estable si éste es
asintóticamente estable. Esto es, estabilidad asintótica es un subconjunto de la estabilidad
marginal. Estabilidad marginal y estabilidad asintótica son clases de estabilidad interna. Esto
es, porque se ocupan sólo del estado del sistema (es decir, la condición interna del sistema) y
no consideran la salida del sistema. Categorías más específicas de estabilidad interna (es decir,
estabilidad uniforme y estabilidad exponencial) están dadas en algunos libros sobre sistemas
lineales [21], [68], [51].
Puesto que la solución de la Ecuación (3.20) está dada como

x(t) = eAt x(0) (3.22)

se puede establecer el siguiente teorema.


3.5 Estabilidad 89

Teorema 3.5.1 Un sistema lineal de tiempo continuo, invariante en el tiempo es marginalmente


estable si y solo si
lı́m eAt ≤ M < ∞ (3.23)
t→∞

para alguna matriz constante M. Esto es solo una forma de decir que la matriz exponencial
no aumenta ilimitadamente.

La relación “menor que o igual que” en el anterior teorema plantea algunas preguntas, puesto
que las cantidades en ambos lados de este símbolo matemático son matrices. ¿Qué significa
que una matriz ser menor que otra matriz? Esto puede ser interpretado de varias formas. Por
ejemplo, decir que A < B se interpreta normalmente como que (B − A) es definida positiva.
En el anterior teorema se puede usar cualquier definición razonable para la desigualdad de la
matriz y el teorema continúa siendo válido. Un teorema similar puede establecerse combinando
la Definición 3.5.2 con la Ecuación (3.22).
Se puede establecer el siguiente teorema.

Teorema 3.5.2 Un sistema lineal de tiempo continuo, invariante en el tiempo es asintóticamente


estable si y solo si
lı́m eAt = 0 (3.24)
t→∞

Recordando que eAt = QeÂt Q−1 , donde Q es una matriz constante que contiene los autovectores
de A y  es la forma de Jordan de A. La matriz exponencial eÂt , por lo tanto, contiene términos
como e(λi t) ,te(λi t) ,t 2 e(λi t) , etc, donde λi , es un autovalor de A. La acotación de eAt está referida
a los autovalores de A como se establece por los siguientes teoremas.

Teorema 3.5.3 Un sistema lineal de tiempo continuo, invariante en el tiempo es marginalmente


estable si y solo si una de las siguientes condiciones se mantiene.

1. Todos los autovalores de A tienen parte real negativa.


2. Todos los autovalores de A tienen parte real negativa o cero, y esos con parte real igual
a cero tienen una multiplicidad geométrica igual a su multiplicidad algebraica. Esto
es, los bloques de Jordan que están asociados con los autovalores que tienen parte real
igual a cero son de primer orden.

Teorema 3.5.4 Un sistema lineal de tiempo continuo, invariante en el tiempo es asintóticamente


estable si y solo si todos los autovalores de A tienen parte real negativa.

Ejemplo 3.5.1 Considere el sistema


 
0 1 0
ẋ = 0 0 0 x
0 0 −1

Ya que la matriz A es triangular superior, se sabe que sus autovalores están sobre la diagonal;
esto es, los autovalores de A son iguales a 0,0, y −1. Se ve que el sistema es asintóticamente
90 Capítulo 3. Elementos de sistemas dinámicos

inestable puesto que algunos de sus autovalores son no negativos. También nótese que la matriz
A ya está en la forma de Jordan y se ve que el bloque de Jordan correspondiente al autovalor 0
es de segundo orden. Por lo tanto, el sistema también es marginalmente inestable. La solución
de este sistema es

x(t) = exp(At)x(0)
 
1 t 0
= 0 1 0  x(0)
0 0 e−t

El elemento de la primera fila y segunda columna de exp(At) crece sin límite cuando t se
incrementa, de manera que hay algunos estados iniciales x(0) que resultarán en x(t) no acotado.
Sin embargo, hay algunos estados iniciales x(0) que resultarán en x(t) acotado. Por ejemplo,
si x(0) = [1 0 1]> , entonces

x(t) = exp(At)x(0)
    
1 t 0 1 1
= 0 1 0  0 =  0 
0 0 e−t 1 e−t

y x(t) será acotado para todo t. Sin embargo, esto nada dice acerca de la estabilidad del sistema;
sólo dice que existe algún x(0) que resulta en un x(t) acotado. Si se escoge x(0) = [0 1 0]> ,
entonces

x(t) = exp(At)x(0)
    
1 t 0 0 t
= 0 1 0  1 = 1
0 0 e−t 0 0

y x(t) crecerá sin límite. Esto prueba que el sistema es asintóticamente inestable y marginal-
mente inestable.

Ejemplo 3.5.2 Considérese el sistema


 
0 0 0
ẋ = 0 0 0 x
0 0 −1

Los autovalores de A son iguales a 0,0, y −1. Se ve que el sistema es asintóticamente inestable
puesto que algunos de sus autovalores son no negativos. Además para ver si el sistema es
marginalmente estable, se necesita calcular la multiplicidad geométrica del autovalor 0. (Esto
puede hacerse notando que A ya está en la forma de Jordan, pero se irá a través del ejercicio
3.5 Estabilidad 91

por motivo de ilustración). resolviendo la ecuación


 
0
(λ I − A)v = 0
0

(donde λ = 0) para vectores no cero v, se ve que hay dos soluciones linealmente independiente
dadas como
   
1 0
v = 0 , 1
0 0

Esto muestra que la multiplicidad geométrica del autovalor 0 es igual a 2, lo cual significa que
el sistema es marginalmente estable. La solución del sistema es

x(t) = exp(At)x(0)
 
1 0 0
= 0 1 0  x(0)
0 0 e−t

Independientemente de x(0), se ve que x(t) siempre será limitado, lo cual significa que el
sistema es marginalmente estable. Nótese que x(t) puede aproximarse a 0 cuando t crece,
dependiendo del valor de x(0). Por ejemplo, si x(0) = [0 0 − 1]> , entonces
    
1 0 0 0 0
x(t) = 0 1 0   0  =  0 
0 0 e−t −1 −e−t

y x(t) se aproxima a 0 cuando t crece. Sin embargo, esto no dice nada acerca de la estabilidad
asintótica del sistema; esto solamente dice que existe algún x(0) que resulta en el estado x(t)
que se aproxima asintóticamente a 0. Si por el contrario se opta por escoger x(0) = [0 1 0]> ,
entonces
    
1 0 0 0 0
x(t) = 0 1 0  1 = 1
0 0 e−t 0 0

y x(t) no se aproxima a 0. Esto prueba que el sistema es asintóticamente inestable.

3.5.2 Sistemas de tiempo discreto

Considérese la entrada cero, lineal, y el sistema de tiempo discreto invariante en el tiempo

xk+1 = Fxk
(3.25)
yy = Hxk
92 Capítulo 3. Elementos de sistemas dinámicos

Las definiciones de estabilidad marginal (también llamada estabilidad de Lyapunov) y estabili-


dad asintótica son análogas a las definiciones para sistemas de tiempo continuo que fueron
dadas en la Subsección 3.5.1.
Definición 3.5.3 Un sistema lineal de tiempo discreto invariante en el tiempo es marginalmente
estable si el estado xk es acotado para todo k y para todos los estados iniciales acotados x0 .
Definición 3.5.4 Un sistema lineal de tiempo discreto invariante en el tiempo es asintóticamente
estable si,
lı́m xk = 0 (3.26)
k→∞

para todos los estados iniciales acotados x0 .


Estabilidad marginal y estabilidad asintótica son clases de estabilidad interna. esto es porque
tratan sólo del estado del sistema (es decir, la condición interna del sistema) y no considera
la salida del sistema. Categorías más específicas de estabilidad interna (es decir, estabilidad
uniforme y estabilidad exponencial) están dadas en algunos libros sobre sistemas lineales. La
solución de la Ecuación (3.25) está dada por

xk = Fk x0 (3.27)

A partir de la expresión (3.27) se pueden establecer los siguientes teoremas:


Teorema 3.5.5 Un sistema lineal de tiempo discreto, invariante en el tiempo es marginalmente
estable si y solo si
lı́m Fk ≤ M < ∞ (3.28)
k→∞

para alguna matriz constante M. Esto es sólo una forma de decir que las potencias de F no
aumentan sin límite.
Teorema 3.5.6 Un sistema lineal de tiempo discreto, invariante en el tiempo es asintóticamente
estable si y solo si
lı́m Fk = 0 (3.29)
k→∞
−1
Recordando que F = QF̂ Q , donde Q es una matriz constante que contiene los autovectores
k k

de F y F̂ es la forma de Jordan de F. La matriz F̂k por lo tanto contiene términos como


λik , kλik , k2 λik , etc, donde λi , es un autovalor de F. La acotación de Fk es por lo tanto referida a
los autovalores de F como se establece por los siguientes teoremas.
Teorema 3.5.7 Un sistema lineal de tiempo discreto, invariante en el tiempo es marginalmente
estable si y solo si una de las siguientes condiciones se mantiene.
1. Todos los autovalores de F tienen magnitud menor que uno.
2. Todos los autovalores de F tienen magnitud menor que uno o igual a uno, y esos con
magnitud igual a uno tienen una multiplicidad geométrica igual a su multiplicidad
algebraica. Esto es, los bloques de Jordan que están asociados con los autovalores que
tienen magnitud igual a uno son de primer orden.
Teorema 3.5.8 Un sistema lineal de tiempo discreto, invariante en el tiempo es asintóticamente
estable si y solo si todos los autovalores de F tienen magnitud menor que uno.
3.6 Controlabilidad y Observabilidad 93

3.6 Controlabilidad y Observabilidad

Los conceptos de controlabilidad y observabilidad son fundamentales para la teoría de control


moderno. Estos conceptos definen que tan bien se puede controlar un sistema (es decir, conducir
el estado a un valor deseado) y que tan bien se puede observar un sistema (es decir, determinar las
condiciones iniciales después de medir las entradas). Tales conceptos son también importantes
para algunos de los resultados teóricos relacionados a la estimación del estado óptimo que se
encontrarán más adelante.
Los conceptos de controlabilidad y observabilidad fueron introducidos por R. E. Kalman en
una conferencia en 1959 y publicados en 1960 [45], [44].

3.6.1 Controlabilidad

Las siguientes definiciones y teoremas dan descripción clara de la controlabilidad para sistemas
lineales tanto en tiempo continuo como en discreto.

Definición 3.6.1 Un sistema de tiempo continuo es controlable si para cualquier estado inicial
x(0) y cualquier tiempo final t > 0 existe una ley de control que transfiera el estado a cualquier
valor deseado en el tiempo t.

Definición 3.6.2 Un sistema de tiempo discreto es controlable si para cualquier estado inicial
x0 y algún tiempo final k existe una ley de control que transfiera el estado a cualquier valor
deseado en el tiempo k.

Nótese que la definición de controlabilidad en el caso de tiempo continuo es más exigente


que la definición en el caso de tiempo discreto. En el caso de tiempo continuo, se requiere la
existencia de una ley de control para cualquier tiempo final. En el caso de tiempo discreto,
se requiere la existencia de una ley de control para algún tiempo final. En ambos casos, la
controlabilidad es independiente de la ecuación de salida.
Hay varios pruebas para la controlabilidad. Los siguientes teoremas equivalentes pueden
usarse para probar la controlabilidad de sistemas lineales continuos invariantes en el tiempo.

Teorema 3.6.1 Un sistema lineal continuo e invariante en el tiempo de n estados ẋ = Ax + Bu


tiene la matriz de controlabilidad C definida por

C= B AB · · · An−1 B (3.30)
 

El sistema es controlable si y solo si ρ( C) = n.

Teorema 3.6.2 Un sistema lineal de n estados, continuo e invariante en el tiempo ẋ = Ax + Bu


es controlable si y solo si la matriz grammiana de controlabilidad definida por
Z t
>
G= eAτ BB> eA τ dτ (3.31)
0

es definida positiva para algún t ∈ (0,∞).


94 Capítulo 3. Elementos de sistemas dinámicos

Teorema 3.6.3 Un sistema lineal de n estados, continuo e invariante en el tiempo ẋ = Ax + Bu


es controlable si y solo si la ecuación diferencial de Lyapunov

Ẇ = WA> + AW + WW> (3.32)


W(0) = 0

tiene una solución definida positiva W(t) para algún t ∈ (0,∞). Ésta también es llamada
ecuación de Sylvester.

Similar al caso de tiempo continuo, los siguientes teoremas equivalentes pueden usarse para
probar la controlabilidad de sistemas lineales discretos invariantes en el tiempo.

Teorema 3.6.4 Un sistema lineal de n estados, discreto e invariante en el tiempo xk = Fxk−1 +


Guk−1 tiene la matriz de controlabilidad C definida por

C= G FG · · · Fn−1 G (3.33)
 

El sistema es controlable si y solo si ρ( C) = n

Teorema 3.6.5 Un sistema lineal de n estados, discreto e invariante en el tiempo xk = Fxk−1 +


Guk−1 es controlable si y solo si la matriz grammiana controlabilidad definida por

k
G = ∑ Fk−1 GG> (A> )k−i (3.34)
i=0

es definida positiva para algún k ∈ (0,∞).

Teorema 3.6.6 Un sistema lineal de n estados, discreto e invariante en el tiempo xk = Fxk−1 +


Guk−1 es controlable si y solo si la ecuación de diferencias de Lyapunov

Wi+1 = FWi F> + GG> (3.35)


W0 = 0

tiene una solución definida positiva Wk para algún k ∈ (0,∞). Ésta es también llamada la
ecuación de Stein.

Nótese que los Teoremas 3.6.1 y 3.6.4 dan pruebas idénticas de controlabilidad tanto para
sistemas de tiempo continuo como de tiempo discreto. En general, estas son las pruebas más
simples de controlabilidad. Las pruebas de controlabilidad para sistemas lineales variantes en
el tiempo pueden obtenerse generalizando los teoremas anteriores. La controlabilidad para
sistemas no lineales es mucho más difícil de formalizar.
3.6 Controlabilidad y Observabilidad 95

Ejemplo 3.6.1 El circuito RLC de la Figura 3.1 tiene la descripción en variables de estados
dada por (ver por ejemplo [20])
" # " −2 1 # " # " 1 #
v̇C RC C
vC RC
= + u
−1 1
ı̇L L 0 ıL L

donde vC es la tensión a través del capacitor, ıL es la corriente a través del inductor y u es la


tensión de excitación.
Se usará el Teorema 3.6.1 para determinar las condiciones bajo las cuales este sistema es
controlable. La matriz de controlabilidad se calcula como
 
C= B AB

+ R
u L R
-

Figura 3.1 Circuito RLC para análisis de controlabilidad.

Sustituyendo en la ecuación anterior se obtiene:


1 1 2
− (RC)
" #
RC LC 2
C=
1 −1
L RLC

De aquí se puede calcular el determinante de C como


1 1
| C| = − (3.36)
(RC)2 L L2C

El determinante de Ces 0 solamente si R = L/C. Así, el sistema es controlable a menos que


p

R = L/C. Puede ser muy difícil obtener este resultado a partir de los Teoremas 3.6.2 y 3.6.3.
p

3.6.2 Observabilidad

Las siguientes definiciones y teoremas dan descripción clara de la observabilidad para sistemas
lineales tanto en tiempo continuo como en discreto.
Definición 3.6.3 Un sistema de tiempo continuo es observable si para cualquier estado inicial
x(0) y cualquier tiempo final t > 0 el estado inicial x(0) se puede determinar únicamente con
el conocimiento de la entrada u(τ) y la salida y(τ) para todo τ ∈ [0,t].
96 Capítulo 3. Elementos de sistemas dinámicos

Definición 3.6.4 Un sistema de tiempo discreto es observable si para cualquier estado inicial x0
y algún tiempo final k el estado inicial x0 se puede determinar únicamente con el conocimiento
de la entrada ui y la salida yi para todo i ∈ [0,k].
Nótese que la observabilidad en el caso de tiempo continuo es más exigente que la definición
en tiempo discreto. En el caso de tiempo continuo, el estado inicial se debe poder determinar
en cualquier tiempo final. En el caso de tiempo discreto, el estado inicial se debe poder
determinar algún tiempo final. Si el sistema es observable entonces se puede determinar el
estado inicial, y si se puede determinar el estado inicial entonces todos los estados entre
los tiempos inicial y final pueden determinarse. Hay varias pruebas para la observabilidad.
Los siguientes teoremas equivalentes puede usarse para probar la observabilidad de sistemas
lineales continuos invariantes en el tiempo.
Teorema 3.6.7 El sistema lineal de n estados, continuo e invariante en el tiempo

ẋ = Ax + Bu
(3.37)
y = Cx

tiene la matriz de observabilidad O definida por


 
C
 CA 
O =  .. (3.38)
 

 . 
CAn−1

el sistema es observable si y solo si ρ(O) = n.


Teorema 3.6.8 El sistema lineal de n estados, continuo e invariante en el tiempo

ẋ = Ax + Bu
(3.39)
y = Cx

es observable si y solo si la observabilidad grammiana definida por


Z t
>
eA τ C> CeAτ dτ (3.40)
0

es definida positiva para algún t ∈ (0,∞).


Teorema 3.6.9 El sistema lineal de n estados, continuo e invariante en el tiempo

ẋ = Ax + Bu
(3.41)
y = Cx

es observable si y solo si la ecuación diferencial de Lyapunov

−Ẇ = WA + A> W + C> C (3.42)


W(t) = 0
3.6 Controlabilidad y Observabilidad 97

tiene una solución definida positiva W(τ) para algún τ ∈ (0,t). Esta es también llamada la
ecuación de Sylvester.

Similar al caso de tiempo continuo, los siguientes teoremas pueden usarse para probar la
observabilidad de un sistema lineal discreto invariante en el tiempo.
Teorema 3.6.10 El sistema lineal de n estados, discreto e invariante en el tiempo

xk = Fxk−1 + Guk−1
(3.43)
yk = Hxk

tiene la matriz de observabilidad O defina por


 
H
 HF
O=  (3.44)
 
 ..
  .
HFn−1

El sistema es observable si y solo si ρ(O) = n.

Teorema 3.6.11 Un sistema lineal de n estados, discreto e invariante en el tiempo

xk = Fxk−1 + Guk−1
(3.45)
yk = Hxk

es observable si y solo si la observabilidad grammiana definida por


k
∑ (F> )i H> HFi (3.46)
i=0

es definida positiva para algún k ∈ (0,∞).

Teorema 3.6.12 El sistema lineal de n estados, discreto e invariante en el tiempo

xk = Fxk−1 + Guk−1
(3.47)
yk = Hxk

es observable si y solo si la ecuación diferencial de Lyapunov

−Wi = F> Wi+1 F + H> H (3.48)


Wk = 0

tiene una solución definida positiva W0 para algún k ∈ (0,∞). Esta es también llamada la
ecuación de Stein.

Nótese que los Teoremas 3.6.7 y 3.6.10 dan pruebas idénticas de observabilidad tanto para
sistemas de tiempo continuo como de tiempo discreto. En general, estas son las pruebas más
98 Capítulo 3. Elementos de sistemas dinámicos

simples de observabilidad. Las pruebas de observabilidad para sistemas lineales variantes en


el tiempo pueden obtenerse generalizando los anteriores teoremas. La observabilidad para
sistemas no lineales es mucho más difícil de formalizar.

Ejemplo 3.6.2 El circuito RLC de la Figura 3.1 está definido en variables de estados como
" # " −2 1 # " # " 1 #
v̇C RC C
vC RC
= + u
−1 1
ı̇L L 0 ıL L
 
 v
y = −1 0 C

ıL

donde vC es la tensión a través del capacitor, ıL es la corriente a través del inductor y u es la


tensión aplicada. Se usará el Teorema 3.6.7 para determinar las condiciones bajo las cuales
este sistema es observable. La matriz de observabilidad se calcula como
   
C −1 0
O= = 2
CA RC − C1

El determinante de la matriz de observabilidad se calcula como


1
|O| =
C
El determinante de O es diferente de cero, por lo tanto, el sistema es observable. Por otro lado,
supóngase que R = L = C = 1, entonces la ecuación de salida será
 
 v
y = −1 1 C

ıL

Luego, la matriz de observabilidad se calcula como


 
−1 1
O=
1 −1
|O| = 0

Por lo tanto, el sistema es no observable. Sería muy difícil obtener este resultado a partir de
los Teoremas 3.6.8 y 3.6.9.

3.6.3 Estabilidad y detectabilidad

Los conceptos de estabilidad y detectabilidad están cercanamente relacionados a la controla-


bilidad y observabilidad, respectivamente. Estos conceptos también están relacionados a los
modos de un sistema. Los modos de un sistema son todos los estados desacoplados, después
3.6 Controlabilidad y Observabilidad 99

que el sistema se ha transformado en una forma de Jordan. Un sistema puede transformarse en


una forma de Jordan como sigue. Considérese el sistema

ẋ = Ax + Bu
(3.49)
y = Cx + Du

Primero se encuentran los autovalores de la matriz A del sistema. Supóngase que los autovec-
tores se indican como v1 , · · · , vn . Se crea una matriz Mn×n agregando los autovectores como
sigue
(3.50)
 
M = v1 · · · vn
Se define un nuevo sistema como
x̄˙ = M−1 AMx̄ + M−1 Bu
= Āx̄ + B̄u
(3.51)
y = CMx̄ + Du
= C̄x̄ + Du

El nuevo sistema se denomina la representación en forma de Jordan del sistema original. Nótese
que la matriz M siempre será invertible porque los autovectores de la matriz siempre pueden
ser elegidos para ser linealmente independientes. Los dos sistemas de las ecuaciones (3.49) y
(3.51) son sistemas algebraicamente equivalentes. Esto es porque tienen la misma entrada y la
misma salida (y por lo tanto, tienen la misma función de transferencia) pero tienen estados
diferentes.

Ejemplo 3.6.3 Considérese el sistema

ẋ = Ax + Bu
   
1 1 2 1
= 0 1 3  x + 1 u
0 0 −2 0
y = Cx + Du
 
= 1 0 0 x

Este sistema tiene la misma función de transferencia que

x̄˙ = Āx̄ + B̄u


   
1 1 0 1
= 0 1 0  x + 1 u
0 0 −2 0
y = C̄x̄ + Du
 
= 1 0 1 x̄
100 Capítulo 3. Elementos de sistemas dinámicos

La matriz de autovectores de A es
 
M = v1 v2 v3
 
1 0 1
= 0 1 3 
0 0 −3

Se pueden observar las equivalencias:

Ā = M−1 AM
B̄ = M−1 B
C̄ = CM

El sistema de la forma de Jordan tiene dos modos desacoplados.


El primer modo es    
1 1 1
x̄˙ 1 = x̄1 + u
0 1 1
 
y1 = 1 0 x̄1
El segundo modo es
x̄˙ 2 = −2x̄2 + 0u
(3.52)
y2 = x̄2

Definición 3.6.5 Si un sistema es controlable o estable, entonces también es estabilizable. Si


un sistema es no controlable o inestable, entonces es estabilizable si sus modos no controlables
son estables.

En el ejemplo anterior, el primer modo es inestable (ambos autovalores en +1) pero es con-
trolable. El segundo modo es estable (autovalor en −2) pero no controlable. Por lo tanto, el
sistema es estabilizable.

Definición 3.6.6 Si un sistema es observable o estable, entonces también es detectable. Si un


sistema es no observable o inestable, entonces es detectable si sus modos no observables son
estables.

En el ejemplo de más arriba, es primer modo es inestable pero observable. El segundo modo
es estable y observable. Por lo tanto, el sistema es detectable.

3.7 Resumen
En este capítulo se ha hecho una revisión de aspectos básicos de álgebra lineal incluyendo una
introducción a productos de Hadamard y de Kronecker, los cuales no son muy corrientes en
los cursos introductorios. La razón es que se presentan algunas procesos en la práctica que
requieren esas aplicaciones, tales como en la solución de la ecuación de Sylvester o Lyapunov
que tiene ocurrencia en sistemas de control. Esto conduce a un conjunto de resultados que se han
3.7 Resumen 101

expuesto en el texto en forma de teoremas con el objeto de darles formalidad y también como
ejercicio para el lector. También se ha hecho un estudio del concepto de número de condición.
Esto es de utilidad en el proceso de análisis de estabilidad numérica de algunos sistemas
dinámicos. En la segunda parte se abordó el problema del cálculo de matrices, procedimiento
que conduce a la obtención de resultados directos para diversas aplicaciones de matrices
y vectores. Se ha procurado realizar los procedimientos por el método de paso a paso con
el fin de que el lector pueda seguir fácilmente las demostraciones. Finalmente, se hace una
pequeña introducción a los sistemas lineales y no lineales y a la discretización de los procesos
dinámicos.
4 Estimación por mínimos cuadrados

La ciencia puede divertirnos y fascinarnos, pero es la Ingeniería


la que cambia el mundo

Isaac Asimov

4.1 Introducción

E n este capítulo se discutirá la estimación por mínimos cuadrados, la cual es la base para
los métodos de diseño óptimo de filtros. En la primera parte se discute la estimación de
un vector constante sobre la base de varias mediciones lineales pero ruidosas de ese vector.
Luego se extienden los resultados al caso en el cual algunas medidas son más ruidosas que
otras; esto es, se tiene mayor confianza en algunas medidas que en otras. Cuando los datos se
incrementan en el tiempo se hace difícil hacer cálculos de los valores estimados; esto conduce
al concepto de recursión en el proceso, sobre la base de medidas ruidosas. La estimación
recursiva es un método de estimación en el cual no se incrementa el esfuerzo computacional
del algoritmo, independientemente de cuantas mediciones se dispone. A mediados del siglo
pasado, apareció el filtro de Wiener, el cual es un método de estimar señales variantes en el
tiempo contaminadas por ruido, con base en las mediciones del ruido. Hasta 1960, el filtro de
Wiener era el estado del arte en la estimación de señales [40]. Este paradigma fue roto con la
publicación del trabajo de R. Kalman en los comienzos de los años 60 [46], a partir del cual
miles de proyectos se han elaborado con mucho éxito.

4.2 Estimación de una constante


En esta sección, se estudiará como estimar una constante sobre la base de varias medidas
ruidosas de dicha constante. Por ejemplo, supóngase que se tiene un resistor pero no se conoce
su resistencia. Se toman varias medidas de su resistencia usando un multímetro, pero las
medidas son ruidosas porque se tiene un multímetro de baja calidad. Se desea estimar la

103
104 Capítulo 4. Estimación por mínimos cuadrados

resistencia sobre la base de las medidas ruidosas. En este caso, se desea estimar una constante
escalar pero, en general, se desea estimar un vector constante [26].
Para tomar el problema en términos matemáticos, supóngase que x es un vector constante
desconocido de n elementos y y es un vector de k elementos de medidas ruidosas. Entonces
surge la pregunta ¿Cómo se puede encontrar el mejor estimado x̂ de x? Para tratar de resolver
este problema se procede como se describe a continuación.
Asúmase que cada elemento del vector y de medidas es una combinación lineal de los
elementos de x, con la suma de algunas medidas ruidosas w:

y1 = h11 x1 + · · · + h1n xn + w1
.. ..
. .
yk = hk1 x1 + · · · + hkn xn + wk

Este conjunto de ecuaciones se puede colocar en forma matricial como

y = Hx + w (4.1)

Se define ε y como la diferencia entre las medidas ruidosas y el vector Hx̂:

ε y = y − Hx̂ (4.2)

El vector ε y es llamado la medida residual. El valor más probable del vector x es el vector x̂
que hace mínima la suma de los cuadrados entre los valores observados y y el vector Hx̂. De
esta manera se tratará de calcular el vector x̂ que minimice la función de costo J, donde J está
dada como

J = ε 2y1 + · · · + ε 2yk
= ε>
y εy (4.3)

La variable J se refiere en la literatura como función de costo, función objetivo o función de


retorno y, como se puede apreciar, es una función escalar. Se puede sustituir ε y en la anterior
ecuación para reescribir J como

J = (y − Hx̂)> (y − Hx̂) = y> y − y> Hx̂ − x̂> H> y + x̂> H> Hx̂

Con el fin de minimizar J con respecto a x̂, se calcula la derivada parcial y el resultado se
iguala a cero.

∂J
= −y> H − y> H + 2x̂> H> H = −2y> H + 2x̂> H> H = 0 (4.4)
∂ x̂
Resolviendo esta ecuación para x̂ resulta en

y> H = x̂> H> H


H> y = H> Hx̂
4.2 Estimación de una constante 105

Es decir,

x̂ = (H> H)−1 H> y (4.5)

donde (H> H)−1 H> , es la seudoinversa de H, la cual ocurre si k ≥ n y H es de rango completo


[72]. Esto significa que el número de medidas k es mayor que el número de variables n que
se trata de estimar y las medidas son linealmente independientes. Para demostrar que se trata
de un mínimo de J, se debe probar que la segunda derivada de J es semidefinida positiva, es
decir,
∂ 2J
= 2H> H (4.6)
∂ x̂2
Si H es una matriz de orden k × n, entonces se verifica que tanto HH> como H> H son matrices
semidefinidas positivas. Ahora bien,

• Si ρ(H) = k entonces HH> es definida positiva.


• Si ρ(H) = n entonces H> H es definida positiva.

Este último caso corresponde a la Ecuación (4.6) lo cual completa la demostración.

Ejemplo 4.2.1 La idea es tratar de estimar la resistencia x de un resistor no marcado con base a
k medidas ruidosas de un multímetro. En este caso x es un escalar de modo que las k medidas
ruidosas estarán dadas como

y1 = x + w1
.. ..
. .
yk = x + wk

Estas k ecuaciones se pueden combinar en una simple expresión matricial como


   
y1 1
 ..   .. 
 .  .x+w
=
yk 1

La Ecuación (4.5) muestra que el estimado óptimo de la resistencia x está dado como

x̂ = (H> H)−1 H> y


  −1  
1 y
  .1 
x̂ =  1 · · · 1  ...  · · · 1  ..  = k−1 y1 + · · · +yk
      
1

1 yk

1 k
x̂ = ∑ yi (4.7)
k i=1
106 Capítulo 4. Estimación por mínimos cuadrados

En este simple ejemplo, se puede observar que la estimación por mínimos cuadrados concuerda
con nuestra intuición de simplemente calcular el promedio de las medidas.

4.3 Estimación por mínimos cuadrados ponderados

En la sección anterior, se asumió que se tenía igual nivel de confianza en todas las medidas.
Ahora se va a suponer que se tiene mayor confianza en algunas medidas con respecto a otras.
En este caso, se requiere generalizar los resultados de la sección anterior con el fin de obtener
la estimación por mínimos cuadrados ponderados. La situación se presenta, v.gr., cuando se
tienen diferentes dispositivos de medición y alguno o algunos son de mejor calidad que los
demás; sin embargo, no se pueden descartar las medidas tomadas con los dispositivos de menor
calidad puesto que ya están, por ejemplo, en una base de datos y se puede tomar información
de ellas. En la práctica se hace mayor énfasis en las medidas más confiables que en las tomadas
con aparatos o en condiciones de baja fiabilidad. En esta sección se muestra que en efecto se
puede aprovechar esa información de “baja” calidad y ponderar su valor no importa su nivel
de confianza.
Para poner el problema en términos matemáticos, supóngase que x es un vector constante
desconocido de n elementos y y es un vector de medidas ruidosas de k elementos. Se supone que
y es una combinación lineal de los elementos de x con la adición de algún ruido de medición
cuya varianza puede ser diferente para cada elemento de y [26]:
      
y1 h11 · · · h1n x1 w1
 ..   ..   ..   .. 
 . = .  . + . 
yk hk1 ··· hkn xn wk

E{w2i } = σi2 i = 1, . . . ,k

Se supone que el ruido en cada medida tiene media cero y es independiente. La matriz de
covarianza de la medida está dada por
 2 
σ1 0
R = E{ww> } =  ..
.
 

0 σk2

Ahora se debe minimizar la siguiente cantidad con respecto a x̂:

εy21 εy2k
J= +···+ (4.8)
σ12 σk2

Nótese que en lugar de minimizar la suma de los cuadrados de ε y como se hizo en la Ecuación
(4.3), se minimiza la suma de los cuadrados ponderados. Si, por ejemplo, y1 es una medida
relativamente ruidosa, entonces no hay necesidad de ser muy cuidadoso en la minimización de
la diferencia entre y1 y el primer elemento de Hx̂ pues no se tiene la suficiente confianza en el
4.3 Estimación por mínimos cuadrados ponderados 107

valor de y1 . La función de costo se puede escribir como

J = ε> −1 > −1
y R ε y = (y − Hx̂) R (y − Hx̂)
= y> R−1 y − y> R−1 Hx̂ − x̂> H> R−1 y + x̂> H> R−1 Hx̂

Ahora, se toma la derivada parcial de J respecto de x̂ y se hace igual a cero, con el fin de
calcular el mejor valor estimado de dicha variable:

∂J
= −2y> R−1 H + 2x̂> H> R−1 H = 0
∂ x̂
y> R−1 H = x̂> H> R−1 H,

es decir,

H> R−1 Hx̂ = H> R−1 y

Finalmente,

x̂ = (H> R−1 H)−1 H> R−1 y (4.9)

Resultado que se conoce como Teorema de Gauss–Markov [23]. Nótese que este método
requiere que la matriz de ruido de la medida, R, sea definida positiva, es decir, cada medida yi
debe estar contaminada por algún ruido para que este método funcione.

Ejemplo 4.3.1 Se regresa al problema original de tratar de estimar la resistencia x de un resistor


no marcado sobre la base de k medidas ruidosas generadas por un multímetro. En este caso x
es un escalar de modo que las k medidas ruidosas están dadas por

yi = x + wi
2
E{σi } = σi2 i = 1, · · · ,k

     
y1 1 w1
 ..   ..   .. 
 .  = .x+ . 
yk 1 wk

R = diag(σ12 · · · σk2 )
108 Capítulo 4. Estimación por mínimos cuadrados

x̂ = (H> R−1 H)−1 H> R−1 y


  2 −1  −1  2 −1  
σ1 0 1 σ 0 y1
. .  1  1 ..   .. 
..   .. 
 
=  1 ··· 1  ··· 1  .  .
  

0 σk2 1 0 σk2 yk

1 −1 y1
   
yk
= ∑ 2 + · · · +
σi σ12 σk2

4.4 Estimación recursiva por mínimos cuadrados

En esta sección, se mostrará cómo calcular recursivamente el valor estimado de un vector


constante por mínimos cuadrados ponderados [31]. Esto es, supóngase que se tiene x̂ después
de (k − 1) medidas y luego se obtiene una nueva medida yk . ¿Cómo se puede actualizar un
estimado sin reelaborar completamente la Ecuación (4.9)?

yk = Hk x + wk
(4.10)
x̂k = x̂k−1 + Kk (yk − Hk x̂k−1 )

Para esto, se calcula x̂ sobre la base del valor estimado anterior x̂k−1 y la nueva medida yk . Kk
es una matriz a ser determinada, llamada la matriz de ganancia del estimador. La cantidad
(yk − Hk x̂k−1 ), se denomina término corrector. Nótese que si el término corrector es cero o si
la matriz de ganancia es cero, entonces el valor estimado no cambia del paso (k − 1) al paso k.
Antes de calcular el valor óptimo de la matriz de ganancia Kk , se debe analizar el promedio
del error de estimación del estimador recursivo lineal.
El promedio del error estimado se puede calcular como

E{εε x,k } = E{x − x̂k }


= E{x − x̂k−1 − Kk (yk − Hk x̂k−1 )}
= E{εε x,k−1 − Kk (Hk x + wk − Hk x̂k−1 )}
= E{εε x,k−1 − Kk Hk (x − x̂k−1 ) − Kk wk }
= (I − Kk Hk )E{εε x,k−1 } − Kk E{wk } (4.11)

Así, si E{wk } = 0 y E{εε x,k−1 } = 0, entonces E{εε x,k } = 0. En otras palabras, si la medida
ruidosa wk tiene promedio cero para todo k y el estimado inicial de x se escoge igual al valor
esperado de x, es decir, x̂0 = E{x}, entonces el valor esperado de x̂k será igual a x para todo k.
Debido a esto, el estimador de la Ecuación (4.10) se denomina estimador imparcial. Nótese
que esta propiedad se mantiene independientemente del valor de la matriz de ganancia Kk .
Esta es una propiedad deseable de un estimador porque dice que en promedio, el estimado x̂
será igual al verdadero valor x. Nótese además que, en concordancia con la Ecuación (4.11),
4.4 Estimación recursiva por mínimos cuadrados 109

el error del estimador está dado por

ε x,k = (I − Kk Hk )εε x,k−1 − Kk wk . (4.12)

Ahora se determinará el valor óptimo de Kk . Puesto que el estimador es imparcial, indepen-


dientemente del valor de Kk utilizado, se debe escoger algún otro criterio de optimalidad para
determinarlo. El criterio de optimalidad elegido para minimizar, corresponde a la suma de las
varianzas de lo errores de estimación en el instante k, es decir,

Jk = E{(x1 − x̂1 )2 } + · · · + E{(xn − x̂n )2 }


= E{εε 2x1 ,k + · · · + ε 2xn ,k }
= E{εε >
x,k ε x,k }

Ahora, aplicando la Ecuación (2.38) se obtiene:

Jk = E{εε > ε x,k ε >


x,k ε x,k } = E{tr(ε ε x,k ε >
x,k )} = tr(E{ε x,k })
= tr(Pk ) (4.13)

donde, como se observa, Pk es la covarianza del error de estimación.

Se puede usar un proceso similar al seguido en la Ecuación (4.11), con el fin de obtener una
fórmula recursiva para el cálculo de Pk . Entonces, partiendo de la expresión (4.12) del error
de estimación:

Pk = E{εε x,k ε >


x,k }
= E{[(I − Kk Hk )εε x,k−1 − Kk wk ][(I − Kk Hk )εε x,k−1 − Kk wk ]> }
= (I − Kk Hk )E{εε x,k−1 ε > > >
x,k−1 }(I − Kk Hk ) − Kk E{wk εx,k−1 }(I − Kk Hk )
>

− (I − Kk Hk )E{εε x,k−1 w> > > >


k }Kk + Kk E{wk wk }Kk . (4.14)

Ahora, nótese que ε x,k−1 , el error estimado en el instante (k − 1), es independiente de wk (el
ruido estimado en el instante k). Por lo tanto,

E{εε x,k−1 w> > ε>


k } = E{wk ε x,k−1 } = E{wk }E{ε x,k−1 } = 0, (4.15)

puesto que ambos valores esperados son cero. Por lo tanto, la Ecuación (4.14) se reduce a

Pk = (I − Kk Hk )Pk−1 (I − Kk Hk )> + Kk Rk K>


k (4.16)

donde Rk es la covarianza de wk . Esta es la fórmula recursiva para la covarianza del error


de estimación por mínimos cuadrados. Esto es consistente con la intuición en el sentido de
que cuando el ruido de la medida aumenta (es decir, Rk aumenta), la incertidumbre del valor
estimado también aumenta (es decir, Pk aumenta). Nótese que la matriz Pk debe ser definida
positiva puesto que es una matriz de covarianza y la forma de la Ecuación (4.16) garantiza que
Pk sea definida positiva, asumiendo que Pk−1 y Rk son definidas positivas. Ahora se necesita
encontrar el valor de Kk que haga la función de costo en la Ecuación (4.13) tan pequeña como
110 Capítulo 4. Estimación por mínimos cuadrados

sea posible. El promedio del error estimado es cero para cualquier valor de Kk . Por lo tanto, si
se escoge Kk de modo que la función de costo (es decir, la traza de Pk ) sea pequeña, entonces
el error de la estimación no solo tendrá promedio cero, también será consistentemente tan
cerca a cero como sea posible.

Algoritmo 1 Estimación recursiva por mínimos cuadrados

Inicialización:
x̂0 = E{x}
P0 = E{(x − x̂0 )(x − x̂0 )> }
{Si no hay conocimiento disponible de x antes de que las medidas sean tomadas, entonces P0 = ∞I. Si
hay conocimiento absoluto de x antes de que las medidas sean tomadas, entonces P0 = 0.}
Cómputo:
1. Obtención del vector de medición yk .

for k = 1 to N do
yk = Hk xk + wk {wk ∼ NID(0,Rk ) }
end for
2. Actualización del valor estimado de x y la covarianza del error de estimación P.

for k = 1 to N do
 −1
Kk = Pk−1 H> >
k Hk Pk−1 Hk + Rk

x̂k = x̂k−1 + Kk yk − Hk x̂k−1
Pk = (I − Kk Hk )Pk−1 (I − Kk Hk )> + Kk Rk K>
k
end for

Con el fin de encontrar el mejor valor de Pk primero se necesita recordar de la Ecuación (2.25)
>
que ∂ tr(ABA
∂A
)
= 2AB si B es simétrica. Además, de la Ecuación (A.2), ∂ tr(XA) >
∂ X = A . Con esto
en mente, se pueden usar las ecuaciones (4.13) y (4.16) y la regla de cadena para obtener

∂ Jk ∂ tr(Pk )
= = 2(I − Kk Hk )Pk−1 (−H>
k ) + 2Kk Rk (4.17)
∂ Kk ∂ Kk

Ahora bien, para encontrar el valor de Kk que minimice Jk , se hace la derivada igual a cero y
entonces se resuelve para Kk como sigue:

Kk Rk = (I − Kk Hk )Pk−1 H>
k
Kk Rk = Pk−1 H> >
k − Kk Hk Pk−1 Hk
4.5 Formas alternas del estimador 111

Factorizando y luego despejando Kk :

Kk (Rk + Hk Pk−1 H> >


k ) = Pk−1 Hk
Kk = Pk−1 H> >
k (Hk Pk−1 Hk + Rk )
−1
(4.18)

Las ecuaciones (4.10), (4.16), y (4.18) forman la estimación recursiva por mínimos cuadrados,
la cual se resume en el Algoritmo 1.

4.5 Formas alternas del estimador

Algunas veces es útil escribir las ecuaciones para Pk y Kk en otras formas de representación.
Aunque esas formas alternas son matemáticamente idénticas, pueden ser beneficiosas desde el
punto de vista computacional. También pueden conducir a nuevos resultados, los cuales se
discutirán en los próximos capítulos. Primero, se encontrará una forma alterna para la expresión
de la covarianza del error de estimación. Sustituyendo Kk de la Ecuación (4.18) en la Ecuación
(4.16) se obtiene
−1 > −1
Pk = (I − Pk−1 H> > >
k Sk Hk )Pk−1 (I − Pk−1 Hk Sk Hk ) + Kk Rk Kk (4.19)

donde se ha introducido la variable auxiliar Sk = Hk Pk−1 H>


k + Rk . Ahora, se sustituye en la
ecuación anterior el valor obtenido para Kk y se expanden los términos entre paréntesis, con
lo cual se obtiene:
−1 > −1 −1
Pk = Pk−1 − 2Pk−1 H> >
k Sk Hk Pk−1 + Pk−1 Hk Sk · Hk Pk−1 Hk · Sk Hk Pk−1
−1 −1
+ Pk−1 H>
k Sk · Rk · Sk Hk Pk−1 .

Combinando los dos últimos términos de esta ecuación, y teniendo en cuenta que Sk =
Hk Pk−1 H>
k + Rk , se llega a

−1 > −1 −1
Pk = Pk−1 −2Pk−1 H> >
k Sk Hk Pk−1 +Pk−1 Hk Sk (Hk Pk−1 Hk +Rk )Sk Hk Pk−1
−1 > −1
= Pk−1 − 2Pk−1 H>
k Sk Hk Pk−1 + Pk−1 Hk Sk Hk Pk−1
−1
= Pk−1 − Pk−1 H>
k Sk Hk Pk−1 (4.20)

Ahora, nótese de la Ecuación (4.18) que Kk aparece implícitamente en la ecuación anterior.


Por lo tanto, se puede reescribir ésta en términos de Kk como

Pk = Pk−1 − Kk Hk Pk−1
= (I − Kk Hk )Pk−1 (4.21)

Comparada con la Ecuación (4.16), esta es una ecuación más simple para la determinación de
Pk ; sin embargo, esta expresión puede causar problemas de cálculo numérico (v.gr.: de tipo
escalamiento), por no ser definida positiva, aun cuando Pk−1 y Rk sí lo sean.
Otra forma alterna consiste en la aplicación del lema de inversión de matrices (Ecuación
(2.58)), para reescribir la ecuación de la medida actualizada de Pk . Comenzando con la Ecuación
112 Capítulo 4. Estimación por mínimos cuadrados

(4.20) se obtiene:

Pk = Pk−1 − Pk−1 H> > −1


k (Hk Pk−1 Hk + Rk ) Hk Pk−1 (4.22)

Haciendo en la Ecuación (2.58), A = P−1 >


k−1 , B = Hk , C = Hk y D = Rk e igualando término a
término con la Ecuación (4.22) se obtiene:

Pk = Pk−1 − Pk−1 H> > −1


k (Hk Pk−1 Hk + Rk ) Hk Pk−1
= A−1 − A−1 B(CA−1 B + D)−1 CA−1
= (A + BD−1 C)−1 ≡ (P−1 > −1 −1
k−1 + Hk Rk Hk ) , (4.23)

es decir,
−1
Pk = P−1 > −1
k−1 + Hk Rk Hk (4.24)

Esta ecuación es más complicada para el cálculo de Pk puesto que requiere tres inversiones de
matrices, pero puede ser más ventajosa en algunos casos, como se verá más adelante. Se puede
utilizar la Ecuación (4.24) con el fin de obtener una ecuación equivalente para la ganancia del
estimador Kk . Reescribiendo la Ecuación (4.18):

Kk = Pk−1 H> >


k (Hk Pk−1 Hk + Rk )
−1
(4.25)

Premultiplicando el miembro de la derecha por Pk P−1


k , que es equivalente a multiplicar por la
matriz identidad, da

Kk = Pk P−1 > >


k Pk−1 Hk (Hk Pk−1 Hk + Rk )
−1
(4.26)

Sustituyendo Pk−1 a partir de la Ecuación (4.24):

Kk = Pk (P−1 > −1 > >


k−1 + Hk Rk Hk )Pk−1 Hk (Hk Pk−1 Hk + Rk )
−1
(4.27)

Nótese el factor Pk−1 H> k que está a la derecha del primer término entre paréntesis. Se puede
introducir este factor dentro del primer término entre paréntesis para obtener
> −1
Kk = Pk (H> > >
k + Hk Rk Hk Pk−1 Hk )(Hk Pk−1 Hk + Rk )
−1
(4.31)

Ahora se extrae H>


k del paréntesis, con lo cual se tiene:

−1
Kk = Pk H> > >
k (I + Rk Hk Pk−1 Hk )(Hk Pk−1 Hk + Rk )
−1
(4.32)

Extrayendo como factor común el término R−1


k , se llega a

−1
Kk = Pk H> > >
k Rk (Rk + Hk Pk−1 Hk )(Hk Pk−1 Hk + Rk )
−1
4.5 Formas alternas del estimador 113

Algoritmo 2 Estimación recursiva por mínimos cuadrados.


Ecuaciones de medida.
yk = Hk x + wk
x = constante
(4.28)
E{wk } = 0
E{wk w>
i } = Rk δk−i

Estimado inicial del vector constante x, junto con su incertidumbre.

x̂0 = E{x}
(4.29)
P0 = E{(x − x̂0 )(x − x̂0 )> }

Para k ∈ {1, 2, · · · , ∞}, las ecuaciones de estimación por mínimos cuadrados son:

Kk = Pk−1 H> >


k (Hk Pk−1 Hk + Rk )
−1

−1
= Pk H>
k Rk
x̂k = x̂k−1 + Kk (yk − Hk x̂k−1 )
(4.30)
Pk = (I − Kk Hk )Pk−1 (I − Kk Hk )> + Kk Rk K>
k
= (P−1 > −1
k−1 + Hk Rk Hk )
−1

= (I − Kk Hk )Pk−1

Con lo cual se obtiene finalmente:


−1
Kk = Pk H>
k Rk (4.33)

El procedimiento recursivo por mínimos cuadrados se da en el Algoritmo 2.

Ejemplo 4.5.1 Se volverá al problema original de tratar de estimar la resistencia x de un resistor


no marcado sobre la base de k medidas ruidosas generadas por un multímetro. Sin embargo,
no se desea esperar hasta tener todas las medidas para tener un estimado. Se desea modificar
recursivamente el estimado de x cada vez que se obtenga una nueva medida. En un tiempo de
muestreo k la medida es

yk = Hk x + wk
Hk = 1 (4.34)
Rk = E{w2k }
Para este problema, la matriz de medida Hk es un escalar y la covarianza del ruido de la
medida Rk también es un escalar. Se supone que cada medida tiene la misma covarianza, así
la covarianza del ruido de la medida Rk no es una función de k y puede escribirse como R.
Inicialmente, antes de tomar cualquier medida, se tiene alguna idea del valor de la resistencia x
114 Capítulo 4. Estimación por mínimos cuadrados

y esto constituye el estimado inicial. También se tiene alguna incertidumbre acerca del estimado
inicial y esto conforma la covarianza inicial:

x̂0 = E{x}
P0 = E{(x − x̂0 )(x − x̂0 )> } (4.35)
P0 = E{(x − x̂0 )2 }
Si no se tiene idea en absoluto del valor de la resistencia, entonces P0 → ∞. Si se está 100 %
seguro acerca del valor de la resistencia antes de tomar cualquier medida, entonces P0 = 0. El
conjunto de ecuaciones (4.30) dice como obtener la ganancia del estimador, el estimado de x y
la covarianza de la estimación, después de la primera medición (k = 1):

Kk = Pk−1 Hk> (Hk Pk−1 Hk> + Rk )−1


K1 = P0 (P0 + R)−1
x̂k = x̂k−1 + Kk (yk − Hk x̂k−1 )
P0
x̂1 = x̂0 + (y − x̂0 )
P0 + R 1
Pk = (I − Kk Hk )Pk−1 (I − Kk Hk )> + Kk Rk Kk>
P0 R2 P02 R PR
P1 = 2
+ = 0
(P0 + R) (P0 + R)2 P0 + R
Repitiendo estos cálculos para encontrar esas cantidades después de la segunda medida (k = 2)
da

P1 P0
K2 = =
P1 + R 2P0 + R
P1 P +R P0
x̂2 = x̂1 + (y − x̂1 ) = 0 x̂ + y (4.36)
P1 + R 2 2P0 + R 1 2P0 + R 2
PR P0 R
P2 = 1 =
P1 + R 2P0 + R
Por inducción, se pueden encontrar expresiones generales para Kk , x̂k y Pk como sigue:

P0
Kk = (4.37)
kP0 + R

x̂k = x̂k−1 + Kk (yk − x̂k−1 ) = (1 − Kk )x̂k−1 + Kk yk


(k − 1)P0 + R P0
= x̂k−1 + y
kP0 + R kP0 + R k (4.38)
P0 R
Pk =
kP0 + R
Nótese que si x se conoce perfectamente a priori (es decir, antes de tomar cualquier medida)
entonces P0 = 0 y las ecuaciones anteriores muestran que Kk = 0 y x̂k = x̂0 . Esto es, el estimado
óptimo de x es independiente de cualquier medida que se haya obtenido. Por otra parte, si x es
totalmente desconocida a priori, entonces P0 → ∞ y las ecuaciones anteriores muestran que
4.5 Formas alternas del estimador 115

(k − 1)P0 + R P0 k−1 1
x̂k = lı́m x̂k−1 + yk = x̂k−1 + yk
P0 →∞ kP0 + R kP0 + R k k
1
= [(k − 1)x̂k−1 + yk ] (4.39)
k

En otras palabras, el valor estimado óptimo de x es igual al promedio de las medidas yk , lo


cual se puede escribir como
! " ! #
1 k 1 k−1 1 1 k−1
ȳk = ∑ y j =
k j=1 k j=1∑ y j + yk = k (k − 1) k − 1 ∑ y j + yk
j=1
1
(4.40)

= (k − 1)ȳk−1 + yk
k

Ejemplo 4.5.2 Supóngase que se desea ajustar una línea recta a un conjunto de datos puntuales.
El problema de ajuste datos lineales se puede escribir como

yk = x1 + x2tk + wk
2
(4.41)
E{wk } = Rk

donde tk es la variable independiente (quizá el tiempo), yk es el dato ruidoso. Se desea encontrar


la relación lineal entre yk y tk . En otras palabras se desea estimar las constantes x1 y x2 . La
matriz de medidas se puede escribir como
 
Hk = 1 t k

de modo que la Ecuación (4.41) estará dada por

y k = H k x + wk (4.42)

El estimador recursivo se inicializa así:

x̂0 = E{x}
   
x̂1,0 E{x1 }
=
x̂2,0 E{x2 }
P0 = E{(x − x̂0 )(x − x̂0 )> }
E{(x1 − x̂1,0 )2 }
 
E{(x1 − x̂1,0 )(x2 − x̂2,0 )}
=
E{(x1 − x̂1,0 )(x2 − x̂2,0 )} E{(x2 − x̂2,0 )2 }

El estimador recursivo del vector x de dos elementos se obtiene entonces de la Ecuación (4.30)
como sigue:
116 Capítulo 4. Estimación por mínimos cuadrados

Para k = 1,2, . . .,

Kk = Pk−1 H> >


k (Hk Pk−1 Hk + Rk )
−1

x̂k = x̂k−1 + Kk (yk − Hk x̂k−1 )


Pk = (I − Kk Hk )Pk−1 (I − Kk Hk )> + Kk Rk K>
k (4.43)

Ejemplo 4.5.3 Supóngase que un tanque contiene una concentración x1 del químico 1 y una
concentración x2 del químico 2. Se tiene una instrumentación que puede detectar la concen-
tración combinada (x1 + x2 ) de los dos químicos, pero la instrumentación no puede distinguir
ninguno de los químicos por separado.
Se elimina del tanque el químico 2 a través de un proceso de lixiviación de modo que su
concentración decrece en un 1 % por cada medida. La ecuación de medición está dada por

yk = x1 + 0.99k−1 x2 + wk
= 1 0.99k−1 x + wk (4.44)
 

donde wk es el ruido de la medida, el cual es una variable aleatoria de media cero y varianza
R = 0.01. Supóngase que x1 = 10 y x2 = 5.
Además, supóngase que los estimados iniciales son x̂1 = 8 y x̂2 = 7, con una varianza del
error de estimación P0 = I.

11
10
9
Estimados

8 x1
7 x2
6
5
4
0 10 20 30 40 50 60

1
P(1,1)
0.8 P(2,2)
Varianza

0.6

0.4

0.2

0
0 10 20 30 40 50 60
Paso de tiempo

Figura 4.1 Problema del tanque.

Se puede implementar el algoritmo recursivo de mínimos cuadrados dado en las ecuaciones


(4.30) para estimar las dos concentraciones. La Figura 4.1 muestra los estimados de x1 y x2
de la forma como son obtenidos con las mediciones, junto con las varianzas de los errores de
4.6 El filtro de Wiener 117

estimación. Se puede observar que luego de un conjunto de medidas los estimados se van acer-
cando a los valores 10 y 5. Las varianzas de los errores de estimación tienden asintóticamente
a cero, lo cual significa que se ha incrementado el nivel de confianza de los estimados cuando
se incrementa el número de medidas.

4.6 El filtro de Wiener

En esta sección, se dará una breve reseña del filtro de Wiener. El filtrado de Wiener es importante
desde una perspectiva histórica y todavía tiene múltiples aplicaciones en el procesamiento de
la señal y en la teoría de las comunicaciones, aunque no se utiliza actualmente en estimación
de estados. El filtrado de Wiener aborda el problema de diseño de un filtro lineal invariante en
el tiempo, para la extracción del ruido en una señal. Aborda el problema desde la perspectiva
de dominio de la frecuencia. Antes de plantear el método desarrollado por Wiener se requiere
entender un poco el concepto de ruido blanco y ruido coloreado. A continuación se dará una
breve exposición de estos conceptos básicos para la comprensión del filtro de Wiener.
Sea X(t) una variable aleatoria (VA) que representa una señal de ruido, si la VA X(t1 ) es
independiente de la VA X(t2 ) para todo t1 6= t2 entonces X(t) se denomina ruido blanco. De
otro modo, X(t) se denomina ruido coloreado. El contenido de blancura o color de un proceso
estocástico se puede caracterizar por su espectro de potencia. Se define el espectro de potencia
Sx (ω)) en sentido amplio de un proceso estocástico estacionario X(t) como la transformada
de Fourier de la autocorrelación. La autocorrelación es la transformada inversa de Fourier del
espectro de potencia. Z ∞
SX (ω) = RX (τ)e− jωτ dt
−∞
(4.45)
1
Z ∞
RX (ω) = SX (τ)e jωτ dω
2π −∞
Este es el teorema de Einstein-Wiener-Khinchin (demostrado por Wiener, e independientemente
por Khinchin, en la década de 1930, pero –sólo recientemente reconocido– planteado por
Einstein en 1914) [59]. El espectro de potencia se refiere a veces como el espectro de densidad
de potencia, la densidad espectral de potencia o la densidad de potencia. La potencia de un
proceso estocástico estacionario en sentido amplio se define como
1
Z ∞
PX (ω) = SX (ω)dω (4.46)
2π −∞

El espectro cruzado de potencia de dos procesos estocásticos estacionarios en sentido amplio


X(t) e Y (t) es la transformada de Fourier de la correlación cruzada:
Z ∞
SXY (ω) = RXY (τ)e− jωτ dt
−∞
1
Z ∞
RXY (ω) = SXY (τ)e jωτ dω (4.47)
2π −∞
118 Capítulo 4. Estimación por mínimos cuadrados

Definiciones similares son válidas para procesos aleatorios de tiempo discreto. El espectro de
potencia de un proceso aleatorio de tiempo discreto se define como

SXY (ω) = ∑ RX (k)e− jωk ω ∈ [−π,π]
−∞
1
Z ∞
RXY (ω) = SX (ω)e jkω dω (4.48)
2π −∞

Un proceso estocástico de tiempo discreto X(t) se denomina ruido blanco si

RX (ω) =σ 2 δk (4.49)

donde δk es la función delta de Kronecker. La definición de ruido blanco de tiempo discreto


muestra que no tiene ninguna correlación con sí mismo, excepto en el instante actual. Si X(k)
es un proceso de ruido blanco de tiempo discreto, entonces la VA X(n) no está correlacionada
con la VA X(m) a menos que n = m. Esto muestra que la potencia de un proceso de ruido
blanco de tiempo discreto es igual en todas las frecuencias:

SX (ω) = RX (0) para todo ω ∈ [−π,π] (4.50)

Para un proceso aleatorio de tiempo continuo, el ruido blanco se define de manera similar. El
ruido blanco tiene la misma potencia en todas las frecuencias

SX (ω) = RX (0) para todo ω (4.51)

Sustituyendo esta expresión para SX (ω) en la Ecuación (4.45), se ve que para el ruido blanco
de tiempo continuo
RX (τ) = RX (0)δ (τ) (4.52)
donde δ (τ) es la función de impulso de tiempo continuo. Es decir, δ (τ) es la función delta de
Dirac.

Ejemplo 4.6.1 Supóngase que un proceso estocástico estacionario de media cero tiene la función
de autocorrelación
RX (τ) = σ 2 e−β |τ| (4.53)
donde β es un número real positivo. El espectro de potencia se calcula de la Ecuación (4.45)
como
Z ∞
SX (ω) = σ 2 e−β |τ| e− jωτ dt
−∞
Z 0 Z ∞
= σ 2 e(β − jω)τ dτ + σ 2 e−(β + jω)τ dτ
−∞ 0
4.6 El filtro de Wiener 119

σ2 σ2
SX (ω) = +
β − jω β + jω
2σ 2 β
= (4.54)
β 2 + ω2

La varianza del proceso estocástico se calcula como

1 2σ 2 β
Z ∞
E{X 2 } = 2 2

2π −∞ β + ω
σ 2β 1 ω ∞
 
= tan−1
π β β −∞
= σ2
= RX (0) (4.55)

Ahora bien, para plantear el filtro de Wiener, se requiere responder la siguiente pregunta:
¿Cómo cambia el espectro de potencia de un proceso estocástico x(t) cuando pasa a través de
un sistema lineal invariante en el tiempo (LTI) con respuesta al impulso g(t)? La salida y(t)
del sistema está dada por la convolución de la respuesta de impulso con la entrada:

y(t) = g(t) ∗ x(t) (4.56)

Puesto que el sistema es invariante en el tiempo, un cambio de tiempo en la entrada resulta en


un cambio igual de tiempo en la salida:

y(t + α) = g(t) ∗ x(t + α) (4.57)

Multiplicando las dos ecuaciones anteriores y escribiendo las convoluciones como integrales
se obtiene: Z Z
y(t)y(t + α) = g(τ)x(t − τ)dτ g(γ)x(t + α − γ)dγ (4.58)

Tomando el valor esperado en ambos lados de la ecuación anterior da la autocorrelación de


y(t) como función de la autocorrelación de x(t):
Z Z
E{y(t)y(t + α)} = g(τ)g(γ)E{x(t − τ)x(t + α − γ)}dτdγ (4.59)

lo cual se escribirá en notación abreviada como


Z Z
Ry (α) = g(τ)g(γ) Rx (α + τ − γ)dτdγ (4.60)

Tomando la transformada de Fourier de la anterior ecuación:


Z Z Z Z
Ry (α)e− jωα dα = g(τ)g(γ) Rx (α + τ − γ)e− jωα dτdγdα (4.61)
120 Capítulo 4. Estimación por mínimos cuadrados

Se define una nueva variable de integración β = α + τ − γ y se reemplaza α en la ecuación


anterior para obtener:
Z Z Z
Sy (ω) = g(τ)g(γ) Rx (β )e− jωβ e− jωγ e− jωτ dτdγdβ
= G(−ω)G(ω)Sx (ω) (4.62)

En otras palabras, el espectro de potencia de la salida y(t) es función de la transformada de


Fourier de la respuesta al impulso del sistema, G(ω) y al espectro de potencia de entrada x(t).

Ahora se puede plantear el problema de la siguiente manera: Diseñar un filtro estable LTI
para extraer una señal de ruido. Las cantidades de interés en este problema están dadas como

x(t) = señal libre de ruido


v(t) = ruido aditivo
g(t) = filtro de respuesta al impulso (para ser diseñado)
x̂(t) = salida del filtro [estimado de x(t)]
e(t) = x(t) − x̂(t) (error de estimación) (4.63)

Estas cantidades están representadas en la Figura 4.2, de la cual se ve que

Figura 4.2 Representación del filtro de Wiener.

x̂(t) = g(t) ∗ [x(t) + v(t)]


X̂(ω) = G(ω)[X(ω) +V (ω)]
E(ω) = X(ω) − X̂(ω)
= X(ω) − G(ω)[X(ω) +V (ω)]
= [1 − G(ω)]X(ω) − G(ω)V (ω) (4.64)

Se ve que la señal de error e(t) es la superposición del sistema [1 − G(ω)] actuando sobre la
señal x(t), y el sistema G(ω) actuando sobre la señal v(t). Por lo tanto, de la Ecuación (4.62),
4.6 El filtro de Wiener 121

se obtiene

Se (w) = [1 − G(w)][1 − G(−ω)]Sx (ω) − G(ω)G(−ω)Sv (ω) (4.65)

La varianza del error de estimación se obtiene de la Ecuación (4.45) como


1
Z
E{e2 (t)} = Se (ω)dω (4.66)

Para encontrar el filtro óptimo G(ω) se necesita minimizar E{e2 (t)}, lo cual significa que se
necesita conocer Sx (ω) y Sv (ω), las propiedades estadísticas de la señal x(t) y el ruido v(t).

4.6.1 Optimización del filtro paramétrico

Con el fin de simplificar el problema de la determinación del filtro óptimo G(ω), se puede
asumir que el filtro óptimo es un filtro pasa bajo de primer orden, –estable y causal– con un
ancho de banda 1/T a ser determinado por optimización paramétrica. (Un sistema causal es
aquel cuya salida depende sólo de las entradas presentes y futuras. Los sistemas del mundo real
son siempre causales, pero un filtro que se utiliza para postprocesado puede ser no causal.)
1
G(ω) = (4.67)
1 + T jω
Esto puede ser una suposición no válida, pero reduce el problema a un problema de optimización
paramétrica. Con el fin de simplificar aún más el problema, supóngase que Sx (ω) y Sv (ω)
están dados de la siguiente manera:

2σ 2 β
Sx (ω) =
ω2 + β 2 (4.68)
Sv (ω) = A

En otras palabras, el ruido v(t) es blanco. De la Ecuación (4.65) se obtiene

2σ 2 β
      
T jω −T jω 1 1
Sx (ω) = − A (4.69)
1 + T jω 1 − T jω ω2 + β 2 1 + T jω 1 − T jω

Ahora se puede sustituir Se (ω) en la Ecuación (4.66) y derivar con respecto a T para obtener

A
Topt = p √ (4.70)
σ 2β − β A

Ejemplo 4.6.2 Si A = σ = β = 1 entonces la constante tiempo óptimo del filtro se calcula


como
1
T=√ ≈ 2.4142
2−1
122 Capítulo 4. Estimación por mínimos cuadrados

y el filtro óptimo está dado como

1 1/T
G(ω) = =
1 + T jω 1/T + jω
1
g(t) = e−t/T t ≥0
T
Convirtiendo este filtro al dominio del tiempo resulta en
1
x̂˙ = (−x̂ + y)
T

4.6.2 Optimización del filtro general

Ahora se toma un enfoque más general para encontrar el filtro óptimo. El valor esperado del
error de estimación puede calcularse como

e(t) = x(t) − x̂(t)


e2 (t) = x2 (t) − 2x(t)x̂(t) + x̂2 (t)
Z
= x2 (t) − 2x(t) g(u)[x(t − u) + v(t − u)]du+
Z Z
+ g(u)g(γ)[x(t − u) + v(t − u)][x(t − v) + v(t − v)]dudγ (4.71)

Aplicando el concepto del valor esperado a la Ecuación (4.71) se obtiene:


Z
E{e2 (t)} = E{x2 (t)} − 2 g(u)Rx (u)du+
Z Z
+ g(u)g(γ)[Rx (u − v) + Rv (u − v)]dudγ (4.72)

Ahora se puede usar un enfoque del cálculo variacional [76] para encontrar el filtro g(t) que
minimize E{e2 (t)}. Se reemplaza g(t) en la anterior ecuación con g(t) + εη(t), donde ε es
algún número pequeño, y η(t) es una perturbación arbitraria en g(t). Aplicando los conceptos
del cálculo de variaciones los cuales establecen que se puede minimizar E{e2 (t)} haciendo

∂ E{e2 (t)}

=0 (4.73)
∂ε
ε=0

y así resolver para hallar el valor de g(t) óptimo. De la Ecuación (4.72), se puede escribir
Z
Re (0) = Rx (0) − 2 [g(u) + εη(u)]Rx (u)du +
Z Z
[g(u) + εη(u)][g(γ) + εη(γ)][Rx (u − γ) + Rv (u − γ)]dudγ (4.74)
4.6 El filtro de Wiener 123

Tomando la derivada parcial con respecto a ε se obtiene

∂ Re (0)
Z Z Z
= −2 η(u)Rx (u)du + [η(u)g(γ) + η(γ)g(u) + 2εη(u)η(γ)]×
∂ε
× [Rx (u − v) + Rv (u − γ)]dudγ

∂ Re (0)
Z
= −2 η(τ)Rx (τ)dτ+
∂ ε ε=0
Z Z
η(τ)g(γ)[Rx (τ − γ) + Rv (τ − γ)]dτdγ+
Z Z
η(τ)g(u)[Rx (u − τ) + Rv (u − τ)]dτdu (4.75)

Para un proceso estocástico estacionario en sentido amplio x(t) se cumple que Rx (τ − u) =


Rx (u − τ) [es decir, Rx (τ) es par] [60]. En este caso, la anterior ecuación puede escribirse como
Z
0 = −2 η(τ)Rx (τ)dτ+
Z Z
2 η(τ)g(u)[Rx (u − τ) + Rv (u − τ)]dτdu (4.76)

Esto da la condición necesaria para la optimalidad del filtro g(t) como sigue:
Z  Z 
η(τ) −Rx (τ) + g(u)[Rx (u − τ) + Rv (u − τ)]du dτ = 0 (4.77)

Se requiere resolver esta ecuación para g(t) y así encontrar el filtro óptimo.

4.6.3 Optimización del filtro no causal

Si no se hace alguna restricción sobre la causalidad del filtro, entonces g(t) puede ser no cero
para t < 0, lo cual quiere decir que la perturbación η(t) puede también ser no cero para t < 0.
Esto significa que la cantidad dentro de los corchetes en la Ecuación (4.77) debe ser cero. Lo
que resulta en

Z
Rx (τ) = g(u)[Rx (u − τ) + Rv (u − τ)]du = g(τ) ∗ [Rx (τ) + Rv (τ)]
Sx (ω) = G(ω)[Sx (ω) + Sv (ω)]
Sx (ω)
G(ω) = (4.78)
Sx (ω) + Sv (ω)

La función de transferencia del filtro óptimo es la relación del espectro de potencia de la


señal x(t) con respecto a la suma de los espectros de potencia de x(t) y el ruido v(t).

Ejemplo 4.6.3 Considérese el sistema del Ejemplo 4.6.2 con A = β = σ = 1. El espectro de


potencia de la señal y del ruido están dados como
124 Capítulo 4. Estimación por mínimos cuadrados

2
Sx (ω) =
ω2 + 1
Sv (ω) = 1
De la Ecuación (4.78) se obtiene el filtro no causal óptimo como

√ !
2 1 2 3
G(ω) = 2 =√
ω +3 3 ω2 + 3

1 √
g(t) = √ e− 3|t| ≈ 0.58e−0.58|t| , t ∈ (−∞,∞)
3
Además, para obtener una representación en el dominio del tiempo del filtro, se realiza
una expansión en fracciones parciales de G(ω) a fin de encontrar la parte causal y la parte
anti-causal del filtro:
1 1
G(ω) = √ √ +√ √
3( jω + 3) 3(− jω + 3)
| {z } | {z }
filtro causal filtro anti-causal
De esto se ve que

1 1
X̂(ω) = √ √ Y (s) − √ √ Y (s)
3( jω + 3) 3( jω − 3)
= X̂c (ω) + X̂a (ω)

X̂c (ω) y X̂a (ω) (definidos por la anterior ecuación) son la parte causal y anti-causal de X̂(ω),
respectivamente. En el dominio del tiempo, esto puede escribirse como

x̂(t) = x̂c (t) + x̂a (t)


√ √
˙x̂c (t) = − 3x̂c + y/ 3
√ √
x̂˙a (t) = 3x̂a − y/ 3

La ecuación x̂˙c (t) corre hacia adelante en el tiempo y es por lo tanto causal y estable. La
ecuación x̂˙a (t) corre hacia atrás en el tiempo y es por lo tanto anti-causal y estable. (Si ésta
corriera hacia adelante en el tiempo, sería inestable).
4.6.4 Optimización del filtro causal

Si se requiere un filtro causal para estimación de señal, entonces g(t) = 0 para t < 0, y la
perturbación η(t) debe ser igual a 0 para t < 0. En este caso, la Ecuación (4.77) da
Z
Rx (τ) − g(u)[Rx (u − τ) + Rv (u − τ)]du = 0, t ≥0 (4.79)
4.6 El filtro de Wiener 125

La aplicación inicial de esta ecuación fue en el campo de la astrofísica en 1894 [65]. Se


pensaba que era imposible tener soluciones explícitas para esta ecuación, pero N. Wiener y E.
Hopf se hicieron inmediatamente famosos cuando la resolvieron en 1931. Su solución fue tan
impresionante que se conoce como la ecuación de Wiener–Hopf.
Para resolver la Ecuación (4.79), se postula alguna función a(t) que es arbitraria para t < 0,
pero es igual a 0 para t ≥ 0. Entonces se obtiene
Z
Rx (τ) − g(u)[Rx (u − τ) + Rv (u − τ)]du = a(τ)
Sx (ω) − G(ω)[Sx (ω) + Sv (ω)] = A(ω) (4.80)

Para facilitar la notación, se hace la siguiente definición

Sxv (ω) = Sx (ω) + Sv (ω) (4.81)

Entonces la Ecuación (4.80) queda como



+
Sx (ω) − G(ω)Sxv (ω) + Sxv (ω) = A(ω) (4.82)

donde Sxv+
es la parte de Sxv que tiene todos sus polos y ceros en el semiplano izquierdo (SPI) (y

por lo tanto corresponde a una función de tiempo causal) y Sxv es la parte de Sxv que tiene todos
sus polos y ceros en el semiplano derecho (SPD) (y por lo tanto corresponde a una función de
tiempo anti-causal). La Ecuación (4.82) puede escribirse como

Sx (ω) A(ω)
+
G(ω)Sxv (ω) = − − − (4.83)
Sxv (ω) Sxv (ω)

El término del lado izquierdo corresponde a una función de tiempo causal [asumiendo que g(t)
es estable]. El último término al lado derecho corresponde a función de tiempo anti-causal.
Por lo tanto,
S (ω)
+
G(ω)Sxv (ω) = parte causal de −x
Sxv (ω)
  (4.84)
1 Sx (ω)
G(ω) = + parte causal de −
Sxv (ω) Sxv (ω)
Esto da la función de transferencia del filtro causal óptimo.

Ejemplo 4.6.4 Considérese el sistema discutido en el Ejemplo 4.6.3, con A = β = σ = 1.

Para este caso se tiene:


2
Sx (ω) =
ω2 + 1
Sv (ω) = 1
ω2 + 3
Sxv (ω) =
ω2 + 1
126 Capítulo 4. Estimación por mínimos cuadrados

Dividiendo esto en sus factores causal y anti-causal da


√ ! √ !
jω + 3 − jω + 3
Sxv (ω) =
jω + 1 − jω + 1
| {z }| {z }
+ −
Sxv (ω) Sxv (ω)
Sx (ω) 2(− jω + 1)
− = √
Sxv (ω) (ω 2 + 1)(− jω + 3)
2
= √
(− jω + 3)( jω + 1)
√ √
3−1 3−1
= + √
jω + 1 − jω + 3
| {z } | {z }
parte causal parte anti-causal

La Ecuación (4.84) da
  √ ! √ !
jω + 1 3−1 3−1
G(ω) = √ = √
jω + 3 jω + 1 jω + 3

√ √
g(t) = ( 3 − 1)e− 3t , t ≥0

Esto da la función de transferencia y la respuesta al impulso del filtro óptimo cuando se requiere
la causalidad.

4.6.5 Comparación

Comparando los tres ejemplos de diseño de filtro óptimo presentados en esta sección (Ejemplos
4.6.2, 4.6.3 y 4.6.4), se puede demostrar que los valores esperados de los errores cuadráticos
medios de la filtro son las siguientes [16]:

• Método de optimización de parámetros: E{e2 (t)} = 0.914

• Filtro causal de Wiener: E{e2 (t)} = 0.732

• Filtro no causal de Wiener: E{e2 (t)} = 0.577

Como era de esperarse, el error de estimación disminuye cuando se tienen menos restricciones
en el filtro. Sin embargo, la eliminación de restricciones hace que el problema de diseño de
filtros sea más difícil. El filtro de Wiener no es muy manejable para procesos de estimación de
estado debido a la dificultad en la extensión a problemas MIMO con descripciones de variables
de estado, y la dificultad en la aplicación a señales con propiedades estadísticas variables en el
tiempo.
4.7 Resumen 127

4.7 Resumen
En este capítulo se discutió la estimación por mínimos cuadrados en un par de contextos
diferentes. Primero se derivó un método para estimar vector constante sobre la base de varias
mediciones ruidosas de ese vector. De hecho, las mediciones no tienen que ser medidas directas
del vector constante, pero pueden ser mediciones de alguna combinación lineal de los elementos
de ese vector constante. Además, el ruido asociado con cada medición no tiene que ser el
mismo. En la técnica de estimación por mínimos cuadrados que se deriva, se asume que el ruido
de medición es blanco de media cero (no correlacionado de un paso de tiempo al siguiente) y
que se conoce su varianza. A continuación, se extiende el estimador de mínimos cuadrados
a una formulación recursiva, en la que el esfuerzo de cálculo sigue siendo el mismo en cada
paso de tiempo, independientemente del número total de mediciones que sean procesadas. La
estimación por mínimos cuadrados de un vector constante forma parte de la fundamentación
del desarrollo del filtro de Kalman, que se va a derivar más adelante.
Finalmente, se da un breve resumen de los conceptos correspondientes a los filtros de Wiener,
que si bien plantearon paradigmas difíciles de superar, hoy día no se aplican ampliamente
debido a dificultades en el desarrollo de los procedimientos, ya que para su aplicación se
requieren señales estacionarias y eventualmente monovariables. Para los casos donde hay
señales estadísticas variables en el tiempo o de variables múltiples, el mejor estimador es el
filtro de Kalman.
5 Filtro de Kalman discreto

Si crees totalmente en ti mismo, no habrá nada que esté fuera de


tus posibilidades

Wayne W. Dyer

5.1 Introducción

E n este capítulo, se comienza con la descripción matemática de un sistema dinámico y


luego se derivan las ecuaciones que rigen la propagación de la media y la covarianza de
estado. Este material es fundamental para el algoritmo de estimación de estado (el filtro de
Kalman) que se va a obtener en la segunda parte del capítulo. La primera sección cubre los
sistemas de tiempo discreto. A continuación se estudian los sistemas de datos muestreados, los
cuales son los tipos más comunes de sistemas que se encuentran en el mundo real. En este tipo
de sistemas, la dinámica se describe por ecuaciones diferenciales de tiempo continuo, pero las
señales de medición y de control son de tiempo discreto (por ejemplo, el control basado en un
computador digital y las mediciones obtenidas en tiempo discreto).

5.2 Sistemas discretos en el tiempo

Supóngase que se tiene el siguiente sistema lineal discreto en el tiempo:

xk = Fk−1 xk−1 + Gk−1 uk−1 + vk−1 (5.1)

donde uk es una entrada conocida y vk es ruido blanco gaussiano con promedio cero y covarianza
Qk . ¿Cómo cambia con el tiempo la media del estado xk ? Si se toma el valor medio en ambos
lados de la Ecuación (5.1) se obtiene

x̄k = E{xk } = Fk−1 x̄k−1 + Gk−1 uk−1 (5.2)

129
130 Capítulo 5. Filtro de Kalman discreto

¿Cómo cambia con el tiempo la covarianza de xk ? Se pueden usar las ecuaciones (5.1) y (5.2)
para obtener

(xk − x̄k )(xk − x̄k )> =


= (Fk−1 xk−1 + Gk−1 uk−1 + vk−1 − x̄k )(Fk−1 xk−1 + Gk−1 uk−1 + vk−1 − x̄k )>
= (Fk−1 (xk−1 − x̄k−1 ) + vk−1 )(Fk−1 (xk−1 − x̄k−1 ) + vk−1 )>
= Fk−1 (xk−1 − x̄k−1 )(xk−1 − x̄k−1 )> F> >
k−1 + vk−1 vk−1 +
+Fk−1 (xk−1 − x̄k−1 )v> > >
k−1 + vk−1 (xk−1 − x̄k−1 ) Fk−1 (5.3)

Por lo tanto, se obtiene la covarianza de xk como el valor esperado de la anterior expresión. Ya


que (xk−1 − x̄k−1 ) no está correlacionada con vk−1 , se tiene

Pk = E{(xk − x̄k )(xk − x̄k )> }


= Fk−1 E{(xk−1 − x̄k−1 )(xk−1 − x̄k−1 )> }F> >
k−1 + E{vk−1 vk−1 }
= Fk−1 Pk−1 F>
k−1 + Qk−1 . (5.4)

Esta es llamada la ecuación de Lyapunov de tiempo discreto o ecuación de Stein. Se verá


más adelante que las ecuaciones (5.2) y (5.4) son fundamentales en la deducción del filtro de
Kalman. Es interesante considerar las condiciones bajo las cuales la ecuación de Lyapunov de
tiempo discreto tiene una solución de estado estacionario. Esto es, supóngase que Fk = F es
una constante y Qk = Q es una constante. Entonces se tiene el siguiente teorema cuya prueba
se encuentra en [42].

Teorema 5.2.1 Considérese la ecuación P = FPF> + Q donde F y Q son matrices reales. Los
autovalores de la matriz F se denotan por λi (F).

1. Existe una solución única para P si y solo si λi (F)λ j (F) 6= 1 para todo i, j. Esta solución
única es simétrica.

2. Nótese que la anterior condición incluye el caso de F estable, porque si F es estable enton-
ces todos sus autovalores son menores que uno en magnitud, de modo que λi (F)λ j (F) 6= 1
para todo i, j. Por lo tanto, se ve que si F es estable entonces la ecuación de Lyapunov de
tiempo discreto tiene una solución P que es única y simétrica. En este caso, la solución
puede ser escrita como

P = ∑ Fi Q(F> )i (5.5)
i=0

3. Si F es estable y Q > 0 o Q ≥ 0, entonces la solución única P es simétrica y definida


positiva o semidefinida positiva.

4. Si F es estable, Q ≥ 0 y (F,Q1/2 ) es controlable, entonces P es única, simétrica y definida


 >
positiva. Nótese que Q1/2 se considera aquí como una matriz tal que (Q1/2 ) Q1/2 = Q.
5.2 Sistemas discretos en el tiempo 131

Ahora se solucionará el sistema lineal de la Ecuación (5.1)


k−1
xk = Fk,0 x0 + ∑ (Fk,i+1 vi + Fk,i+1 Gi ui ) (5.6)
i=0

La matriz Fk,i es la matriz de transición de estado del sistema y se define como



Fk−1 Fk−2 · · · Fi
 k>i
Fk,i = I k=i (5.7)

0 k<i

Nótese de la Ecuación (5.6) que xk es una combinación lineal de x0 ,{vi } y {ui }. Si se conoce la
secuencia de entrada {ui }, entonces es una constante y se puede considerar como una secuencia
de variables aleatorias gaussianas con covarianza cero.
Si x0 y {vi } son desconocidas pero son variables aleatorias gaussianas, entonces xk de la
Ecuación (5.6), es una combinación lineal de variables aleatorias gaussianas. Por lo tanto, xk
es en sí misma una variable aleatoria gaussiana. Sin embargo, se puede calcular la media y la
covarianza de xk en las ecuaciones (5.2) y (5.4). Por lo tanto,

xk ∼ N(x̄k , Pk ). (5.8)

Esto caracteriza a xk en un sentido estadístico puesto que una variable aleatoria gaussiana está
completamente caracterizada por su media y su covarianza.

Ejemplo 5.2.1 Considérese el sistema


1 
2 0
xk+1 = 1 x + vk
0 2
vk ∼ (0,Q)
 
1 1
Q=
0 1

Usar la Ecuación (5.5) para encontrar la covarianza de estado estacionario del vector de estado.

Solución:

La covarianza está dada por


132 Capítulo 5. Filtro de Kalman discreto

i  i
1 1 12 0
∞ ∞ 1 
i > i 2 0
P = ∑ F Q(F ) = ∑ =
i=0 i=0
0 21 0 1 0 21
  1 1  1 1   1 1 
1 1 4 4 16 16 64 64
= + + 1 + 1 +···
0 1 0 14 0 16 0 64
   0    1    2    3
1 1 1 1 1 1 1 1 1 1 1 1
= + + + +···
0 1 4 0 1 4 0 1 4 0 1 4
  ∞  i
1 1 1
= ∑ 4
0 1 i=0

La sumatoria infinita del miembro de la derecha corresponde a una serie geométrica con razón
r = 1/4,
i
1 − ri 1 − 41 4
Si = lı́m = lı́m =
i→∞ 1 − r i→∞ 1 − 1 3
4
Por lo tanto, la covarianza en estado estacionario será:

4 4

3 3
P= 
4
0 3

Ejemplo 5.2.2 Un sistema lineal describe la población de un predador x1 y la de su presa x2


los cuales pueden ser expresados como

x1,k+1 = x1,k − 0.8x1,k + 0.4x2,k + v1,k


(5.9)
x2,k+1 = x2,k − 0.4x1,k + uk + v2,k

En la primera ecuación, se puede ver que la población del predador se reduce a causa de su
superpoblación, pero la población de la presa hace que la población del predador se incremente.
En la segunda ecuación, se ve que la población de la presa decrece debido a la población del
predador y se incrementa debido a un suministro externo de alimento uk . Las poblaciones
también están sujetas a perturbaciones aleatorias (con sus respectivas varianzas 1 y 2) debido
a factores ambientales. Este sistema se puede escribir en forma de variables de estado como
   
0.2 0.4 0
xk+1 = xk + u + vk
−0.4 1 1 k (5.10)
vk ∼ (0,Q) Q = diag(1,2)
5.2 Sistemas discretos en el tiempo 133

20

Población media
x1
x2
10

0
0 5 10 15 20 25
Varianza de la población

15 P(1,1)
P(1,2)
10 P(2,2)

0
0 5 10 15 20 25
Pasos de tiempo

Figura 5.1 Problema predador–presa.


Las ecuaciones (5.2) y (5.4) describen como cambian con el tiempo, la media y la covarianza
de la población. La Figura 5.1 muestra los valores promedios y los elementos de la matriz
de covarianza (p12 = p21 por simetría de la matriz de covarianza), para los primeros pasos
de tiempo cuando uk = 1 y las condiciones iniciales se establecen como x̄ = [5 20]> y
P0 = diag(10,10). Se ve que la media y la covarianza finalmente alcanzan valores de estado
estacionario dados por
   
2.5 2.88 3.08
x̄ = P=
5 3.08 7.96

Nótese que, puesto que F para este ejemplo es estable y Q es definida positiva, entonces el
Teorema 5.2.1 garantiza que P tiene una solución única de estado estacionario definida positiva.

5.2.1 Procesos con ruido ponderado

En la Ecuación (5.1), se mostró el ruido del proceso entrando directamente a la dinámica del
sistema. Esta es la convención que se usa acá. Sin embargo, muchas veces el ruido del proceso
se multiplica primero por una matriz antes de entrar en la dinámica del sistema. Es decir, se
multiplica por un factor de escala o función de peso, esto es,

xk = Fk−1 xk−1 + Gk−1 uk−1 + Lk−1 v̌k−1 , v̌k ∼ (0,Q̌k ) (5.11)


134 Capítulo 5. Filtro de Kalman discreto

¿Cómo se puede poner esto en la forma convencional de la Ecuación (5.1)? Nótese que el
término de la derecha de la Ecuación (5.11) tiene una covarianza dada por

E (Lk−1 v̌k−1 )(Lk−1 v̌k−1 )> = Lk−1 E v̌k−1 v̌>


  >
k−1 Lk−1
= Lk−1 Q̌k−1 L>
k−1 (5.12)

Por lo tanto, la Ecuación (5.11) es equivalente a la expresión

xk = Fk−1 xk−1 + Gk−1 uk−1 + vk−1 , vk ∼ (0,Lk Q̌k L>


k ) (5.13)

El mismo tipo de transformación se puede hacer con las ecuaciones de medida ruidosa. Esto
es, la ecuación de la medida

yk = Hk xk + Mk w̌k , w̌k ∼ (0,Řk ) (5.14)

es equivalente a la ecuación de medición

yk = Hk xk + wk , wk ∼ (0,Mk Řk M>


k ) (5.15)

5.3 Sistemas con datos muestreados

Ahora se estudiarán los sistemas con datos muestreados, los cuales son los más frecuentemente
encontrados en la práctica. Un sistema con datos muestreados es aquel cuya dinámica se
describe por una ecuación diferencial de tiempo continuo, pero la entrada solo cambia a
instantes discretos de tiempo, debido a que está generada, v.gr., por un computador digital. Por
otro lado, solo interesa estimar los estados en instantes discretos de tiempo. Se debe obtener la
media y la covarianza de los estados solamente en instantes discretos de tiempo. La dinámica
en tiempo continuo se describe como

ẋ = Ax + Bu + v (5.16)

Se sabe que la solución para x(t) en algún tiempo arbitrario tk , está dada por
Z tk
x(tk ) = eA(tk −tk−1 ) x(tk−1 ) + eA(tk −τ) [B(τ)u(τ) + v(τ)]dτ (5.17)
tk−1

Se supone que u(t) = uk para t ∈ [tk ,tk+1 ]; esto es, el control u(t) es constante a tramos.
Definiendo
T = tk − tk−1
xk = x(tk ) (5.18)
uk = u(tk )
Z tk Z tk
xk = eAT xk−1 + eA(tk −τ) B(τ)dτuk−1 + eA(tk −τ) v(τ)dτ (5.19)
tk−1 tk−1
5.3 Sistemas con datos muestreados 135

Ahora, si se define Fk y Gk como

Fk = eAT
Z tk+1
(5.20)
Gk = eA(tk+1 −τ) B(τ)dτ
tk

entonces la Ecuación (5.19) queda


Z tk
xk = Fk−1 xk−1 + Gk−1 uk−1 + eA(tk −τ) v(τ)dτ (5.21)
tk−1

La exponencial eA(tk −τ) es la matriz de transición de estado del sistema desde el tiempo τ al
tiempo tk . Tomando la media de la ecuación anterior y recordando que la media de v(t) es
cero, se obtiene
x̄k = E{xk } = Fk−1 x̄k−1 + Gk−1 uk−1 (5.22)
Se puede usar la ecuación anterior para obtener la covarianza de estado como

Pk = E{(xk − x̄k )(xk − x̄k )> } =


tk
 Z 
= E Fk−1 xk−1 + Gk−1 uk−1 + eA(tk −τ) v(τ)dτ − x̄k ×
tk−1
 Z tk
) >
Fk−1 xk−1 + Gk−1 uk−1 + eA(tk −τ) v(τ)dτ − x̄k
tk−1
(Z )
tk
Z tk
>
> A(tk −τ) A(tk −τ)
=Fk−1 Pk−1 Fk−1 + E e v(τ)dτ e v(τ)dτ
tk−1 tk−1
Z Z tk >
=Fk−1 Pk−1 F> eA(tk −τ) E v(τ)v> (α) eA (tk −τ) dτdα (5.23)

k−1 +
tk−1

Ahora, si se asume que v(t) es ruido blanco de tiempo continuo con una covarianza Qc (t), se
ve que

E v(τ)v> (α) = Qc (τ)δ (τ − α) (5.24)




Esto significa que se puede usar la propiedad de filtrado de la función impulso para escribir la
Ecuación (5.23) como
Z tk
> (t −τ)
Pk = Fk−1 Pk−1 F>
k−1 + eA(tk −τ) Qc (τ)eA k dτ
tk−1

= Fk−1 Pk−1 F>


k−1 + Qk−1 (5.25)

donde Qk−1 está definida por


Z tk
> (t
Qk−1 , eA(tk −τ) Qc (τ)eA k −τ) dτ (5.26)
tk−1
136 Capítulo 5. Filtro de Kalman discreto

En general, es difícil calcular Qk−1 , pero para valores pequeños de (tk −tk−1 ) se puede obtener

eA(tk −τ) ≈ I para τ ∈ [tk−1 ,tk ]


(5.27)
Qk−1 ≈ Qc (tk )T

Ejemplo 5.3.1 Supóngase que se tiene un sistema dinámico de tiempo continuo de primer orden
dado por la ecuación
ẋ = ax + v
(5.28)
E{v(t)v(t + τ)} = qc δ (τ)
Para describir la mayoría de los procesos físicos simples se puede emplear ecuaciones de
primer orden. Por ejemplo, esta ecuación describe el comportamiento de la corriente a través
de un circuito serie RL que está excitado por una tensión aleatoria v(t), donde a = −R/L.
Supóngase que se está interesado en obtener la media y la covarianza del estado x(t) cada T
unidades de tiempo; esto es, tk − tk−1 = T. Para este simple ejemplo escalar, se puede calcular
explícitamente Qk−1 en la Ecuación (5.26) como
Z tk
Qk−1 = ea(tk −τ) qc ea(tk −τ) dτ
tk−1
Z tk
= e2atk qc e−2aτ dτ
tk−1
 −2atk−1
− e−2atk

2atk e
=e qc
2a

qc h 2a(tk −tk−1 ) i
=e −1
2a
q 
Qk−1 = c e2aT − 1 (5.29)

2a
Para valores pequeños de T, se puede expandir la ecuación anterior en una serie de Taylor
alrededor de T = 0, para obtener
qc  2aT 
Qk−1 = e −1
2a
(2aT)2
  
q
= c 1 + 2aT + +··· −1
2a 2!
qc
Qk−1 ≈ [1 + 2aT − 1]
2a
= qc T

Esto coincide con la Ecuación (5.27), la cual establece que si T es pequeño entonces Qk−1 ≈ qc T.
El valor medio del estado muestreado se calcula de la Ecuación (5.22) (nótese que la entrada
5.3 Sistemas con datos muestreados 137

de control en la Ecuación (5.28) es cero) como

x̄k = Fk−1 x̄k−1 + Gk−1 uk−1


= ea(tk −tk−1 ) x̄k−1 + 0
= eaT x̄k−1
= ekaT x̄0

Se puede observar que si a > 0, es decir, el sistema es inestable, entonces la media x̄k se
incrementará ilimitadamente (a menos que x̄0 = 0). Sin embargo, si a < 0, es decir, el sistema
es estable, entonces la media x̄k caerá a cero independientemente del valor de x̄0 . La covarianza
del estado muestreado se calcula de la Ecuación (5.25) como
>
Pk = Fk−1 Pk−1 Fk−1 + Qk−1
≈ (1 + 2aT)Pk−1 + qc T
Pk − Pk−1 = (2aPk−1 + qc )T

De la ecuación anterior, se observa que Pk alcanza el estado estacionario (es decir, Pk − Pk−1 = 0)
q
cuando Pk−1 = − c , suponiendo que a < 0. Por otro parte, si a ≥ 0 entonces Pk − Pk−1 siempre
2a
será mayor que 0, lo cual significa que lı́m Pk −→ ∞.
k→∞

Ejemplo 5.3.2 Dos mezclas químicas se vierten en un tanque. Una tiene concentración c1 y
se vierte a una razón de F1 y la otra tiene concentración c2 y se vierte a una razón de F2 . El
tanque tiene un volumen V y su salida está a una concentración c y razón F. Esto es típico
de muchos sistemas de control de procesos [50]. La ecuación linealizada para este sistema se
puede escribir como
" F #
− 2V00
 
0 1 1
ẋ = x + c1 −c0 c2 −c0 u + v (5.30)
0 − VF00 V0 V0

donde F0 , V0 y c0 son los puntos de linealización de F, V y c. El estado x consta de las


desviaciones de los valores en estado estacionario de V y c; y la entrada de ruido v consta de
las desviaciones de los valores en estado estacionario de la F1 y F2 . Supóngase que F0 = 2V0 ,
c1 − c0 = V0 y c2 − c0 = 2V0 . Supóngase también que la entrada de ruido v tiene una matriz
de covarianza identidad.

1. Usar la Ecuación (5.26) para calcular Qk−1 .


2. Usar la Ecuación (5.27) para aproximar Qk−1 .
3. Evaluar la respuesta obtenida en la parte (1.) con una diferencia pequeña (tk − tk−1 ) para
verificar que coincida con la respuesta de la parte (2.).
4. Utilizar la Ecuación (5.25) para calcular la covarianza del estado estacionario del estado
en función de T.
138 Capítulo 5. Filtro de Kalman discreto

Solución:

Insertando los valores dados en la Ecuación (5.30) se obtiene


   
−1 0 1 1
ẋ = x+ u+v
0 −2 1 2

De aquí se calcula Qc como sigue


     
1 1 1 0 1 1 2 3
Qc = BE{vv> }B> = =
1 2 0 1 1 2 3 5

1. El cálculo de Qk−1 se efectúa de la siguiente manera:

Z tk
> (t
Qk−1 = eA(tk −τ) Qc eA k −τ) dτ
tk−1
Z tk
> >t
= eAtk · e−Aτ Qc e−A τ dτ · eA k (5.31)
tk−1

Para el cálculo de eAt lo más conveniente es aplicar el método de la transformada de Laplace


[79]. Entonces
   −1  −1
−1 s 0 −1 0 s+1 0
(sI − A) = − =
0 s 0 −2 0 s+2
 1 
s+1 0
= 1
0 s+2

Por lo tanto, la matriz exponencial estará dada por


 −t 
e 0
eAt = L−1 {(sI − A)−1 } =
0 e−2t

Sustituyendo este resultado, con los ajustes correspondientes, en la Ecuación (5.31) se obtiene:
5.3 Sistemas con datos muestreados 139

Z tk
>
Qk−1 = eA(tk −τ) Qc eA (tk −τ) dτ
tk−1
 −t Z t  τ     −t 
e k 0 k e 0 2 3 eτ 0 e k 0
= −2tk 2τ dτ ·
0 e tk−1 0 e 2τ
3 5 0 e 0 e−2tk
 −t  Z t  2τ 3τ
  −t 
e k 0 k 2e 3e e k 0
= dτ ·
0 e−2tk tk−1 3e3τ 5e4τ 0 e−2tk
 −t   2τ t  −t
e3τ k

e k 0 e e k 0
=
0 e−2tk e3τ 45 e4τ t 0 e−2tk
k−1

1 − e−2(tk −tk−1 ) 1 − e−3(tk −tk−1 )


 
=
1 − e−3(tk −tk−1 ) 45 (1 − e−4(tk −tk−1 ) )

Finalmente se llega a

1 − e−2T 1 − e−3T
 
Qk−1 = (5.32)
1 − e−3T 5
4 (1 − e
−4T
)

donde T = tk − tk−1 es el tamaño del paso de discretización.

2. Para el segundo caso basta sustituir en la Ecuación (5.27), o sea


 
2T 3T
Qk−1 ≈ Qc T =
3T 5T

3. Para este caso se puede aplicar la Ecuación (5.32) haciendo el desarrollo de potencias de
las exponenciales:
2 3 2 3
" #
1 − (1 − 2T + (2T)
2! + (2T)
3! +···) 1 − (1 − 3T + (3T)
2! + (3T)
3! +···)
Qk−1 = 2 (3T)3 (4T)2 (4T)3
1 − (1 − 3T + (3T)
2! + 3! + · · · )
5
4 (1 − (1 − 4T + 2! + 3! + · · · ))

Para valores pequeños de T las potencias de orden superior de T se pueden despreciar, lo cual
da un valor aproximado para Qk−1 , igual al de la parte (2..).

4. En estado estacionario la Ecuación (5.25) se puede escribir como:

P = Fk−1 PF>
k−1 + Qk−1 (5.33)

Efectuando la multiplicación e igualando los elementos individuales de las matrices en el lado


derecho e izquierdo de esta ecuación da
  −T   −T >
1 − e−2T 1 − e−3T
   
P11 P12 e 0 P11 P12 e 0
P= = +
P21 P22 0 e−2T P21 P22 0 e−2T 1 − e−3T 5
4 (1 − e
−4T
)
140 Capítulo 5. Filtro de Kalman discreto

P e−2T P12 e−3T 1 − e−2T 1 − e−3T


     
P11 P12
= 11 −3T +
P21 P22 P21 e P22 e−4T 1 − e−3T 5
4 (1 − e
−4T
)

P11 (1 − e−2T ) = 1 − e−2T P12 (1 − e−3T ) = 1 − e−3T


5
P21 (1 − e−3T ) = 1 − e−3T P22 (1 − e−4T ) = (1 − e−4T )
4
Resolviendo estas ecuaciones se llega a
   
P P12 1 1
P = 11 = 5
P21 P22 1 4

5.4 Deducción del filtro de Kalman discreto

Como se verá más adelante, el filtro de Kalman funciona mediante la propagación en el tiempo
de la media y la covarianza de los estados. El enfoque para derivar el filtro de Kalman incluirá
los siguientes pasos:

• Se inicia con una descripción matemática de un sistema dinámico cuyos estados se


quieren estimar.
• Se implementan las ecuaciones que describen la forma como se propagan en el tiempo
la media y la covarianza de los estados.
• Se toma el sistema dinámico que describe la propagación en el tiempo de la media y la
covarianza y se implementan estas ecuaciones en un computador.
• Cada vez que se tiene una medida, se actualiza la media y la covarianza de los estados.
(Esto es similar a lo que se hizo al comienzo del capítulo, donde se realizaron mediciones
recursivas para actualizar la estimación de una constante).

Supóngase que se tiene un sistema lineal discreto en el tiempo dado por

xk = Fk−1 xk−1 + Gk−1 uk−1 + vk−1


(5.34)
yk = Hk xk + wk

El proceso y la medida tienen ruidos {vk } y {wk } los cuales son blancos, con media cero, no
correlacionados y además, tienen matrices de covarianza conocidas Qk y Rk , respectivamente:

vk ∼ (0,Qk )
wk ∼ (0,Rk )
E{vk v>j } = Qk δk− j (5.35)
E{wk w>j } = Rk δk− j
E{vk w>j } = E{wk v>j } = 0
5.4 Deducción del filtro de Kalman discreto 141

Donde δk− j es la función delta de Kronecker. La meta es estimar el estado xk con base al
conocimiento de la dinámica del sistema y la disponibilidad de las mediciones ruidosas {yk }.
La cantidad de información disponible para estimar el estado varía de acuerdo al problema
particular que se trate de resolver. Si se tienen todas las medidas disponibles incluyendo el
instante k, para uso en el estimado de xk , entonces se puede formar un estimado a posteriori, el
cual se denota como x̂+k . El superíndice “+” significa que el estimado es a posteriori. Un modo
de formar el estimado del estado a a posteriori es calcular el valor esperado de xk condicionado
a todas las medidas tomadas incluyendo la del instante k, es decir,

k = E{xk |y1 ,y2 , . . . , yk } = estimado a posteriori


x̂+ (5.36)

Si se tienen todas las medidas anteriores pero sin incluir el instante k disponible, para uso en
la obtención del estimado de xk , entonces se puede conformar un estimado a priori, el cual se
denota como x̂−k . El superíndice “−” significa que el estimado es a priori. Un modo de formar
el estimado del estado a priori es calcular el valor esperado de xk condicionado a todas las
medidas tomadas antes pero no incluyendo la del instante k, es decir,

x̂−
k = E{xk |y1 ,y2 , . . . , yk−1 } = estimado a priori (5.37)

Es importante notar que x̂− k y x̂k son ambos estimados de la misma cantidad, son estimados de
+

xk . Sin embargo, x̂k es el estimado de xk antes que la medida yk es tenida en cuenta y x̂+
k , es el
estimado de xk después que la medida yk es tenida en cuenta. Naturalmente, se espera que x̂+ k
sea un mejor estimado que x̂− k , debido a que se utiliza mayor información para calcular x̂k :
+

x̂−
k = estimado de xk antes que se procese la medida en el instante k,
(5.38)
k = estimado de xk después que se procese la medida en el instante k.
x̂+

Si se tienen medidas disponibles después del instante k para usar en el estimado de xk , entonces
se puede formar un estimado suavizado. Una manera de formar el estimado de estado suavizado,
es calcular el valor esperado de xk condicionado a que todas las medidas estén disponibles:

x̂k|k+n = E{xk |y1 ,y2 , . . . , yk , . . . , yk+n } = estimado suavizado (5.39)

donde n es algún entero positivo cuyo valor depende del problema específico que se desea
resolver. Si se quiere encontrar la mejor predicción de xk con más de un paso de tiempo por
delante de las medidas disponibles, entonces se puede formar una estimación predictiva. Una
manera de formar el estado estimado predictivo es calcular el valor esperado de xk , condicionado
a todas las mediciones que estén disponibles, es decir,

x̂k|k−m = E{xk |y1 ,y2 , . . . , yk , . . . , yk−m } = estimado predictivo (5.40)

donde m es algún entero positivo cuyo valor depende del problema específico que se desea
resolver. La relación entre los estimados de los estados suavizado, a posteriori, a priori y
predictivo se muestra en la Figura 5.2.
En la notación que sigue, se utiliza x̂+
0 para denotar el estimado inicial de x0 antes de que
sea disponible cualquier medida. La primera medida se toma en el instante k = 1. Puesto que
142 Capítulo 5. Filtro de Kalman discreto
Estimado suavizado
Estimado a posteriori
Estimado a priori
Predicción

1 2 3 4 5 6 7 8 9 tiempo

Figura 5.2 Línea temporal que muestra la relación entre los estimados de estado suavizado, a posteriori, a priori y
predictivo. En esta figura, se supone que se han recibido las medidas, en pasos de tiempo hasta k = 5,
inclusive. Una estimación del estado en k < 5 se denomina una estimación suavizada. Una estimación
del estado en k = 5 se denomina una estimación a posteriori. Una estimación del estado en k = 6 se
llama la estimación a priori. Una estimación del estado en k > 6 se llama predicción.

no se tiene ninguna medida disponible para estimar x0 , es razonable tomar x̂+


0 como el valor
esperado del estado inicial x0 :
x̂+
0 = E{x0 } (5.41)
Se utiliza el término Pk para denotar la covarianza del error de estimación. P− k denota la
covarianza del error de estimación de x̂−
k y P+
k la covarianza del error de estimación de x̂+
k :

P− − − >
k = E{(xk − x̂k )(xk − x̂k ) },
+ >
(5.42)
P+ +
k = E{(xk − x̂k )(xk − x̂k ) }.

Estas relaciones se explican en la Figura 5.3. La figura muestra que una vez hecha la medida
en el instante (k − 1) se obtiene un estimado de xk−1 (definido como x̂+ k−1 ) y la covarianza del
error de estimación (definida como P+ k−1 ). Cuando llega el instante k, antes que se procesen las
medidas en ese instante, se calcula un estimado de xk (denotado como x̂− k y la covarianza del
)
error de estimación (denotada como P− k ). Entonces se procesa la medida en el instante k para
refinar el estimado de xk . El valor estimado resultante de xk se denota como x̂+ k y su covarianza
como P+ k . Se comienza el proceso de estimación con x̂+
0 , el mejor estimado del estado inicial x0 .
− −
Dado x̂+0 , ¿cómo se podrá calcular x̂1 ? Para ello se establece x̂1 = E{x 1 }. Pero nótese que
x̂+
0 = E{x 0 }, y recuérdese de la Ecuación (5.22), cómo se propaga en el tiempo la media de x:
x̄k = Fk−1 x̄k−1 + Gk−1 uk−1 . Por lo tanto, se obtiene

x̂− +
1 = F0 x̂0 + G0 u0 (5.43)

Esta es una ecuación específica que muestra como obtener x̂− 1 desde x̂0 . Sin embargo, el
+

razonamiento puede extenderse para obtener la siguiente ecuación más general:

x̂− +
k = Fk−1 x̂k−1 + Gk−1 uk−1 (5.44)

Esta es llamada ecuación de actualización temporal para x̂. Desde el instante (k − 1)+ hasta el
instante k− , la estimación de estado se propaga de la misma manera que se propaga la media
5.4 Deducción del filtro de Kalman discreto 143

Figura 5.3 Línea de tiempo que muestra los valores estimados de los estados y la covarianza del error
de estimación a priori y a posteriori, respectivamente.

del estado. Esto tiene sentido intuitivamente. No se tiene ninguna medida adicional disponible
para ayudar a actualizar la estimación de estado entre el instante (k − 1)+ y el instante k− , así
que se debe actualizar la estimación de estado con base al conocimiento de la dinámica del
sistema.

Lo siguiente que se necesita es calcular la ecuación de actualización temporal de P, la


covarianza del error de estimación de estado. Se comienza con P+ 0 , la cual es la covarianza
del error de estimación inicial de x0 . Si se conoce perfectamente el estado inicial, entonces
P+0 = 0. Si no se tiene idea en absoluto del valor de x0 , entonces P0 → ∞I. En general, P0
+ +

representa la incertidumbre en el estimado inicial de x0 :


>
P+
0 = E{(x0 − x̄0 )(x0 − x̄0 ) }
+ >
(5.45)
= E{(x0 − x̂+
0 )(x0 − x̂0 ) }


Dado el valor inicial de la covarianza, P+ 0 , ¿cómo calcular el siguiente valor, P1 ? De la
Ecuación (5.4) se puede recordar la forma como se propaga la covarianza del estado de un
sistema lineal discreto en el tiempo: Pk = Fk−1 Pk−1 F>
k−1 + Qk−1 . De aquí, se obtiene:

P− + >
1 = F0 P0 F0 + Q0 (5.46)

Esta es una ecuación específica, que muestra cómo obtener P−1 desde P0 . Este razonamiento
+

se puede extender para obtener una ecuación más general, es decir,

P− + >
k = Fk−1 Pk−1 Fk−1 + Qk−1 (5.47)

Esta es llamada la ecuación de actualización temporal para P.

Se han derivado las ecuaciones de actualización temporal para x̂ y P. Ahora se requiere


derivar las ecuaciones de actualización de medidas para x̂ y P. La cuestión es, dado x̂− k ,

¿cómo calcular x̂+k ? La cantidad x̂k es un estimado de x k y la cantidad x̂+
k también es un
estimado de xk . La única diferencia entre x̂−
k y x̂k es que x̂k tiene en cuenta la medida yk .
+ +

Recuérdese del desarrollo de estimación recursiva por mínimos cuadrados de la Sección 4.4,
que la disponibilidad de la medida yk cambia el estimado de un vector constante x, de acuerdo
144 Capítulo 5. Filtro de Kalman discreto

al conjunto de ecuaciones (4.30), que aquí se repiten por comodidad:


−1
Kk = Pk−1 H> >
k (Hk Pk−1 Hk + Rk )
−1
= Pk H>
k Rk
x̂k = x̂k−1 + Kk (yk − Hk x̂k−1 )
(5.48)
Pk = (I − Kk Hk )Pk−1 (I − Kk Hk )> + Kk Rk K>
k
= (P−1 > −1
k−1 + Hk Rk Hk )
−1
= (I − Kk Hk )Pk−1

donde x̂k−1 y Pk−1 son el valor estimado y la covarianza del error de estimación antes que la
medida yk sea procesada y x̂k y Pk son el valor estimado y la covarianza del error de estimación
después que la medida yk ha sido procesada. En esta sección, x̂− −
k y Pk son el valor estimado y la
covarianza del error de estimación antes que la medida yk sea procesada y x̂+k y Pk son el valor
+

estimado y la covarianza del error de estimación después que la medida yk ha sido procesada.
Estas relaciones se pueden ver en la Tabla 5.1. Ahora se puede generalizar, a partir de las

Tabla 5.1 Relaciones entre las estimaciones y las covarianzas de las secciones 4.4 y 5.4.

Estimación por mínimos cuadrados Filtro de Kalman


x̂k−1 = estimación antes de procesar yk ⇒ x̂−
k = estimado a priori
Pk−1 = covarianza antes de procesar yk ⇒ P−k = covarianza a priori
x̂k = estimación después de procesar yk ⇒ x̂k = estimado a posteriori
+

Pk = covarianza después de procesar yk ⇒ P+k = covarianza a posteriori

fórmulas para el cálculo de la estimación de una constante de la Sección 4.4, las ecuaciones de
actualización de la medición, requeridas en esta sección. En las ecuaciones (5.48), se reemplaza
x̂k−1 con x̂− −
k y Pk−1 con Pk , x̂k con x̂k y Pk con Pk . Esto resulta en
+ +

Kk = P− > − >
k Hk (Hk Pk Hk + Rk )
−1
= P+ > −1
k H k Rk
− −
x̂+
k = x̂k + Kk (yk − Hk x̂k )
− > >
(5.49)
P+
k = (I − Kk Hk )Pk (I − Kk Hk ) + Kk Rk Kk
= [(P−
k )
−1
+ H> −1
k Rk H k ]
−1
= (I − Kk Hk )P−
k

Estas son las ecuaciones de actualización de la medida para xk y Pk . La matriz Kk en las


ecuaciones anteriores se denomina ganancia del filtro de Kalman.

El filtro de Kalman discreto

Aquí se resume el filtro de Kalman de tiempo discreto combinando las ecuaciones anteriores
en un algoritmo.
La dinámica del sistema está dada por las siguientes ecuaciones:

xk = Fk−1 xk−1 + Gk−1 uk−1 + vk−1


(5.50)
yk = Hk xk + wk
5.4 Deducción del filtro de Kalman discreto 145

Mientras que las perturbaciones están relacionadas por:

E{vk v>j } = Qk δk− j


E{wk w>j } = Rk δk− j (5.51)
E{vk w>j } =0

Algoritmo 3 Filtro de Kalman discreto.

Inicialización:
x̂+
0 = E{x0 }
+ >
(5.52)
P+ +
0 = E{(x0 − x̂0 )(x0 − x̂0 ) }

Para k ∈ {1, 2, · · · , ∞}, las ecuaciones de predicción del filtro de Kalman son:

x̂−
k = Fk−1 x̂k−1 + Gk−1 uk−1 = estado estimado a priori
+
(5.53)
P− + >
k = Fk−1 Pk−1 Fk−1 + Qk−1

Las ecuaciones de actualización son:

Kk = P− > − >
k Hk (Hk Pk Hk + Rk )
−1

> −1
= P+
k H k Rk
− −
k = x̂k + Kk (yk − Hk x̂k ) = estado estimado a posteriori
x̂+
− > >
(5.54)
P+
k = (I − Kk Hk )Pk (I − Kk Hk ) + Kk Rk Kk
= [(P−
k )
−1
+ H> −1
k Rk Hk ]
−1

= (I − Kk Hk )P−
k

Observaciones:

• La primera expresión para P+ k anterior, se denomina la versión estabilizada de Joseph


de la ecuación de corrección de la medida de la covarianza. Fue formulada en los años
sesenta. Se puede demostrar que es más estable y robusta que la tercera. Esta primera

expresión garantiza que P+k será siempre simétrica definida positiva si Pk es simétrica
definida positiva.

• La tercera expresión para P+k es computacionalmente más simple que la primera, pero
su forma no garantiza la simetría o que sea definida positiva.

• La segunda forma para P+k es rara vez implementada tal como está escrita, pero será útil
en la deducción del denominado filtro de información.
146 Capítulo 5. Filtro de Kalman discreto

• Si se utiliza la segunda expresión para Kk , entonces se debe usar la segunda expresión


para P+k . Esto se debe a que la segunda expresión para Kk depende de Pk , de modo que
+

se necesita usar una expresión para Pk que no dependa de Kk .


+

• Nótese que si xk es constante, entonces Fk = I, Qk = 0 y uk = 0. En este caso, el filtro de


Kalman de la Ecuación (5.49) se reduce al algoritmo recursivo de mínimos cuadrados
para la estimación de un vector constante como en la Ecuación (4.30).

• Un aspecto práctico importante del filtro de Kalman. Del Algoritmo 3, se puede notar
que el cálculo de P−
k , Kk y Pk no dependen de las mediciones que se tengan de yk , sino
+

que dependen únicamente de los parámetros del sistema Fk , Hk , Qk y Rk . Eso significa


que se puede calcular la ganancia de Kalman Kk fuera de línea antes de que el sistema
entre en operación y guardar los datos resultantes en la memoria. Luego, cuando llega
el momento de operar el sistema en tiempo real, sólo las ecuaciones x̂k necesitan ser
implementadas. Se puede ahorrar esfuerzo computacional de calcular Kk durante el
funcionamiento en tiempo real precalculando la ganancia.

• Si el filtro de Kalman se implementa en un sistema embebido con estrictos requisitos de


cálculo, esto puede hacer la diferencia entre si se puede o no implementar el sistema
en tiempo real. Por otra parte, el desempeño del filtro puede ser investigado y evaluado
antes de que se ejecute en tiempo real. Esto se debe a que Pk indica la precisión de
la estimación del filtro, y puede ser calculada fuera de línea, ya que no depende de
las mediciones. Por el contrario, como verá más adelante, la ganancia del filtro y la
covarianza para sistemas no lineales no pueden, en general, ser calculadas fuera de línea,
ya que dependen de las mediciones.

Figura 5.4 El ciclo del filtro de Kalman.


5.5 Propiedades del filtro de Kalman 147

Desde este punto de vista las ecuaciones que se utilizan para derivar el filtro de Kalman, éstas
se pueden dividir en dos grupos: las que actualizan el tiempo o ecuaciones de predicción y las
que actualizan los datos observados o ecuaciones de actualización. Las del primer grupo son
responsables de la proyección del estado en el instante k tomando como referencia el estado
en el instante k − 1 y de la actualización intermedia de la matriz de covarianza del estado. El
segundo grupo de ecuaciones son responsables de la retroalimentación, es decir, incorporan
nueva información dentro de la estimación anterior con lo cual se llega a una estimación
mejorada del estado. Las ecuaciones que actualizan el tiempo pueden también ser pensadas
como ecuaciones de pronóstico (predicción), mientras que las ecuaciones que incorporan
nueva información pueden considerarse como ecuaciones de corrección. Efectivamente, el
algoritmo de estimación final puede definirse como un algoritmo de pronóstico–corrección para
resolver numerosos problemas. Así, el filtro de Kalman funciona por medio de un mecanismo
de proyección y corrección al pronosticar el nuevo estado y su incertidumbre y corregir la
proyección con la nueva medida. Este ciclo se muestra en la Figura 5.4. El primer paso consiste
en generar un pronóstico del estado hacia adelante en el tiempo tomando en cuenta toda
la información disponible en ese momento y en un segundo paso, se genera un pronóstico
mejorado del estado, de tal manera que el error es minimizado estadísticamente.

5.5 Propiedades del filtro de Kalman

En esta sección se resumen algunas de las propiedades interesantes e importantes del filtro de
Kalman. Supóngase que se tiene el sistema lineal de la Ecuación (5.50) y se desea encontrar
un filtro causal que resulta de un estimado x̂k . El error entre el estado verdadero y el estado
estimado se denota por x̃k ,
x̃k = xk − x̂k (5.55)
Debido a que el estado está determinado parcialmente por el proceso estocástico {wk }, entonces
xk es una variable aleatoria. Además, el valor estimado del estado está determinado por la
secuencia de medición {yk }, la cual a su vez está determinada por el proceso estocástico vk ,
entonces x̂k es una variable aleatoria. Por lo tanto, x̃k también es una variable aleatoria.
Supóngase que se desea encontrar el estimador que minimiza (en cada etapa de tiempo) una
media ponderada de norma dos del valor esperado del error de estimación x̃k :

min E{x̃>
k Sk x̃k } (5.56)

donde Sk es una matriz de ponderación definida positiva, establecida por el diseñador. Si Sk


es una matriz diagonal con elementos sk (1), . . . , sk (n), entonces la suma ponderada es igual a
sk (1)E{x̃2k (1)} + · · · + sk (n)E{x̃2k (n)}.

• Si {vk } y {wk } son ruidos blancos, gaussianos, de media cero, no correlacionados,


entonces el filtro de Kalman es la solución al problema anterior.
• Si {vk } y {wk } son ruidos blancos, de media cero y no correlacionados, entonces el filtro
de Kalman es la mejor solución lineal para el anterior problema. Es decir, el filtro de
Kalman es el mejor filtro que es una combinación lineal de las medidas. Puede haber un
filtro no lineal que dé una mejor solución, pero el filtro de Kalman es el mejor filtro lineal.
148 Capítulo 5. Filtro de Kalman discreto

A menudo se afirma en los libros y documentos que el filtro de Kalman no es óptimo a


menos que el ruido sea gaussiano. Sin embargo, según como se ve de la deducción dada
en este capítulo, eso no es verdad. Estas declaraciones surgen de las interpretaciones
erróneas de las deducciones del filtro de Kalman. Incluso si el ruido no es gaussiano, el
filtro de Kalman continúa siendo un filtro lineal óptimo.
• Si {vk } y {wk } son correlacionados o coloreados, entonces se puede modificar el filtro
de Kalman para resolver el problema anterior. Esto se mostrará en el Capítulo 7.
• Para sistemas no lineales, varias formulaciones de filtros de Kalman no lineales se
aproximan a la solución del problema anterior. Esto se discutirá en el Capítulo 9.
Del Algoritmo 3, tomando la ecuación de corrección de la medida, es decir,
− −
x̂+
k = x̂k + Kk (yk − Hk x̂k ), (5.57)

se pueden hacer algunas observaciones:


• La cantidad (yk − Hk x̂−
k ) se denomina innovación. Esta es la parte de la medida que
contiene información nueva acerca del estado. De hecho, el filtro de Kalman en realidad
se puede derivar como un filtro que blanquea la medición y, por lo tanto, extrae la
máxima cantidad posible de información de la medida. Esto fue propuesto inicialmente
en [38].
• Cuando se utiliza un filtro de Kalman para estimación de estados, las innovaciones pueden
medirse y su media y su covarianza se pueden aproximar usando métodos estadísticos.
Si la media y la covarianza de las innovaciones no son como se esperaban, significa que
algo anda mal con el filtro. Quizá el modelo asumido del sistema es incorrecto, o las
estadísticas asumidas del ruido son incorrectas. Esto puede utilizarse en tiempo real para
verificar el desempeño del filtro de Kalman y sus parámetros, incluso para ajustar los
parámetros del filtro de Kalman con el fin de mejorar su funcionamiento.
El filtro de Kalman estima variables de estado de un proceso con realimentación. Calcula
el estado del proceso en algún instante y entonces obtiene información (se realimenta) de la
medida. Por tanto, las ecuaciones del filtro se pueden clasificar en dos tipos: actualización del
tiempo y actualización de las medidas. Las primeras son responsables de proyectar hacia el
futuro los estimadores del estado actual y de la covarianza del error, para obtener los estimadores
a priori del siguiente estado. Las ecuaciones de actualización de las medidas son responsables
de la realimentación, incorporando una nueva medida a los estimadores a priori para obtener
unos estimadores a posteriori mejorados. Las ecuaciones de actualización del tiempo pueden
ser interpretadas como ecuaciones de predicción, mientras que las de actualización de la medida
pueden pensarse como ecuaciones de corrección.
Se puede demostrar que las innovaciones son NID ∼ (O,Rk ) [27]. De hecho, el filtro de
Kalman en realidad se puede derivar como un filtro que blanquea la medición y por lo tanto
extrae la máxima cantidad posible de información de ella.

5.5.1 Ecuaciones del filtro de Kalman de un paso

En esta subsección, se verá como las ecuaciones del filtro de Kalman a priori y a posteriori
se combinan en una sola. Esto puede simplificar la implementación computacional de las
5.5 Propiedades del filtro de Kalman 149

ecuaciones. Empezando con la expresión de estimación de estado a priori de las ecuaciones


(5.53), con el índice de tiempo incrementado en uno:

x̂− +
k+1 = Fk x̂k + Gk uk (5.58)

Ahora, tomando la expresión a posteriori para x̂+


k de las ecuaciones (5.54) y sustituyendo en
la ecuación anterior se obtiene
x̂− − −
k+1 = Fk [x̂k + Kk (yk − Hk x̂k )] + Gk uk
(5.59)
= Fk (I − Kk Hk )x̂−
k + Fk Kk yk + Gk uk

Esto muestra que el estimado de estado a priori se puede calcular directamente de su valor
en la etapa de tiempo previo, sin calcular el estimado de estado a posteriori entre ellos. Un
procedimiento similar puede seguirse para obtener una expresión de un solo paso para la
covarianza a priori. Se comienza con la expresión de la covarianza a priori de la Ecuación
(5.53), con el índice de tiempo incrementado en uno:

P− + >
k+1 = Fk Pk Fk + Qk (5.60)

Ahora se toma la expresión para P+


k de la Ecuación (5.54) y se sustituye en la anterior ecuación
para obtener

P− − − >
k+1 = Fk (Pk − Kk Hk Pk )Fk + Qk
= Fk P− > − >
k Fk − Fk Kk Hk Pk Fk + Qk
= Fk P− > − > − > −1 − >
k Fk − Fk Pk Hk (Hk Pk Hk + Rk ) Hk Pk Fk + Qk (5.61)

Esta ecuación, llamada ecuación discreta de Riccati, muestra como P− k+1 se puede calcular
sobre la base de P− k sin un cálculo intermedio de P+
k . Se pueden realizar manipulaciones
similares para obtener expresiones de un solo paso para la estimación a posteriori de los
estados y la covarianza. Esto resulta en

x̂+ +
k = (I − Kk Hk )(Fk−1 x̂k−1 + Gk−1 uk−1 ) + Kk yk
>
(5.62)
P+ +
k = (I − Kk Hk )(Fk−1 Pk−1 Fk−1 + Qk−1 )

Se pueden plantear muchas maneras diferentes de combinar las dos expresiones de Kk y las
tres expresiones de P+k en las ecuaciones (5.54). Esto resultaría en un número de diferentes
expresiones para las actualizaciones de un solo paso de la covarianza a priori y a posteriori.

Ejemplo 5.5.1 Supóngase que se tiene un sistema newtoniano, sin ruido, con posición r, velo-
cidad v y aceleración constante a. El sistema puede describirse como:
    
ṙ 0 1 0 r
v̇ = 0 0 1 v
ȧ 0 0 0 a
ẋ = Ax
150 Capítulo 5. Filtro de Kalman discreto

La versión discretizada de este sistema (con tiempo de muestreo T) puede escribirse como

xk+1 = Fxk

donde F está dada por

A2 T2
F = eAT = I + AT + +···
2!
es decir,
1 2
       
1 0 0 0 1 0 0 0 1 2 1 T 2T
T
F = 0 1 0 + 0 0 1 T + 0 0 0 = 0 1 T .
2
0 0 1 0 0 0 0 0 0 0 0 1

El filtro de Kalman para este sistema es

x̂− +
k = Fx̂k−1
P− + >
k = FPk−1 F + Qk−1 con Qk−1 = 0
>
= FP+
k−1 F

Como se puede ver, la covarianza del error de estimación aumenta entre el tiempo (k − 1)+
(esto es, el tiempo (k − 1) después que se procesa la medida) y el tiempo k− (es decir, el
tiempo k antes que se procese la medida). Puesto que no se obtiene alguna medida entre el
tiempo (k − 1)+ y el tiempo k− , tiene sentido el hecho de que la incertidumbre de la estimación
se incremente. Ahora, supóngase que se mide la posición con una varianza de σ 2 .
 
yk = Hk xk + wk = 1 0 0 xk + wk
wk ∼ (0,Rk )
Rk = σ 2

La ganancia de Kalman puede obtenerse de la Ecuación (5.54) como

Kk = P− > − >
k Hk (Hk Pk Hk + Rk )
−1

Si se escribe la matrix P−
k ∈R
3×3
, en términos de sus elementos, dado que es simétrica, y se
sustituye para Hk y Rk en la ecuación anterior, se obtiene
−1
p− p− p−
 −
p− p−
     
11,k 12,k 13,k 1  p 1
 11,k 12,k 13,k
Kk =  p−
21,k p−
22,k p−
23,k
0 1 0 0  p−
21,k p−
22,k
−   2
p23,k 0 + σ 
p−
31,k p−
32,k

p33,k 0 p−
31,k p−
32,k p−
33,k
0
5.5 Propiedades del filtro de Kalman 151

p−
   − 
11,k  −1  −1 p11,k
Kk =  p −
21,k
 p− + σ 2
11,k ≡ p−
11,k + σ
2  p−
12,k

− −
p31,k p13,k

La covarianza a posteriori puede obtenerse de la Ecuación (5.54) como


− −
P+
k = Pk − Kk Hk Pk

Procediendo de igual manera que para el caso de la ganancia de Kalman Kk y, teniendo en


cuenta la simetría de P−
k , se obtiene para la expresión anterior:

p−
 −
p11,k 0 0
  
11,k 
− 1  p−  1 0 0 P− = P− − 1  p−  −
P+

k = Pk − − 12,k 0 0 Pk
p11,k + σ 2 12,k k k
p −
+ σ 2
p−
13,k
11,k p−
13,k 0 0

p11,k p12,k p−
− − −
 −  
− −  2
p11,k p12,k p13,k (p11,k ) 11,k p13,k
1
= p− p− p−  − −
12,k 22,k 23,k − −
 p p
2  11,k 12,k
(p−12,k )
2
p− − 
12,k p13,k  (5.63)
p + σ
p−
13,k p−23,k p−
33,k
11,k p− p −
11,k 13,k p −
p −
12,k 13,k (p −
13,k )2

Se usará esta expresión para mostrar que del tiempo k− al tiempo k+ la traza de la covarianza
del error de estimación decrece.

3500
P−2
Estimación de la varinza del error de posición

3000
P−3
P−1
2500
P−4
2000
P−5

1500

1000

P+3 P+4 P+5


500
P+2
P+0 P+1
0
0 1 2 3 4 5
Pasos de tiempo

Figura 5.5 Los primeros cinco pasos de las varianzas en la estimación del error a priori y a posteriori
del Ejemplo 5.5.1.
152 Capítulo 5. Filtro de Kalman discreto

Puesto que la matriz de covarianza es simétrica, entonces, de la Ecuación (5.63) se puede


ver que la traza de P+
k , está dada como

− 2 − 2 − 2
! ! !

(p 11,k ) (p 12,k ) (p 13,k )
tr(P+
k ) = p11,k − − + p−
22,k − − + p−33,k − −
p11,k + σ 2 p11,k + σ 2 p11,k + σ 2
(p− 2 − 2 −
11,k ) + (p12,k ) + (p13,k )
2
= tr(P−
k )− (5.64)
p−
11,k + σ
2

Cuando se toma una nueva medida, se espera que el estimado del estado mejore. Es decir, se
espera que la covarianza disminuya, y la ecuación anterior muestra que ésta en realidad ha

decrecido. Esto es, la traza de P+ k es menor que la traza de Pk . Este sistema fue simulado con
cinco unidades de tiempo entre pasos de discretización (T = 5), y una desviación estándar
posición–medida de 30 unidades. La Figura 5.5 muestra la varianza de la estimación de la
posición (p−11,k y p11,k ) para los primeros cinco pasos de tiempo del filtro Kalman. Se puede
+

observar que la varianza (incertidumbre) se incrementa desde el estado de tiempo uno al


siguiente, pero luego decrece en cada paso de tiempo cuando la medida es procesada.

3500
Estimación de la varinza del error de posición

3000

2500

2000

1500

1000

500

0
0 10 20 30 40 50 60
Pasos de tiempo

Figura 5.6 Los primeros sesenta pasos de las varianzas del error de estimación a priori y a posteriori
del Ejemplo 5.5.1.
5.5 Propiedades del filtro de Kalman 153

100
Error de medición
Error de estimation
80

60

40

20
Posición

−20

−40

−60

−80
0 10 20 30 40 50 60
Pasos de tiempo

Figura 5.7 El error de medición y el error de estimación de la posición en el Ejemplo 5.5.1.

La Figura 5.6, muestra la varianza de la estimación de la posición (p− 11,k y p11,k ) para los
+

primeros 60 pasos de tiempo del filtro Kalman. Ésta muestra que la varianza aumenta entre
pasos de tiempo, y luego decrece en cada paso de tiempo. También se puede observar de esta
figura que la varianza converge al valor de estado estacionario.
La Figura 5.7, muestra el error posición de la medida (con una desviación estándar de 30)
y el error de estimación de la posición a posteriori. El error de la estimación comienza con
una desviación estándar cercana a 30, pero al final de la simulación la desviación estándar está
cerca de 11.

5.5.2 Propagación alterna de la covarianza

En esta subsección, se desarrolla una ecuación alterna para la propagación de la covarianza


del error de estimación P. Esta ecuación alterna, basada en [31] puede usarse para encontrar
una expresión de forma cerrada para un filtro escalar de Kalman. También puede usarse para
encontrar una solución rápida para la covarianza del error de estimación en estado estacionario.
Sistemas con estados múltiples
Recordando de las ecuaciones (5.53) y (5.54), las expresiones de actualización para la cova-
rianza del error de estimación:

P− + >
k = Fk−1 Pk−1 Fk−1 + Qk−1 (5.65)
− − > − > −1 −
P+
k = Pk − Pk Hk (Hk Pk Hk + Rk ) Hk Pk

Si la matriz P−
k ∈R
n×n
se factoriza como

P− −1
k = Ak Bk (5.66)
154 Capítulo 5. Filtro de Kalman discreto

donde Ak y Bk son matrices Rn×n a ser determinadas, entonces P−


k+1 satisface

P− −1
k+1 = Ak+1 Bk+1 (5.67)

en la que A y B se propagan de la siguiente manera:

Qk I F−> −1
0 H>
      
Ak+1 k Rk Hk I Ak
= k (5.68)
Bk+1 I 0 0 Fk I 0 Bk

Realizando los productos indicados se llega a


 " # 
F + Qk F−> > −1
Qk F−>

Ak+1 k H k Rk H k Ak
= k −> −1
k
(5.69)
Bk+1 Fk H> k Rk H k F−>
k
Bk

La demostración de la relación (5.67) puede obtenerse a partir de la Ecuación (5.69) observando


que:

B−1 −> > −1 −>


k+1 = [Fk Hk Rk Hk Ak + Fk Bk ]
−1

= [F−> > −1 −1
k (Hk Rk Hk Ak Bk + I)Bk ]
−1

= B−1 > −1 −1 −1 >


k [Hk Rk Hk Ak Bk + I] Fk (5.70)

De la Ecuación (5.69) se ve que

Ak+1 B−1 −> > −1 −>


k+1 = [(Fk + Qk Fk Hk Rk Hk )Ak + Qk Fk Bk ]×
× B−1 > −1 −1 −1 >
k [Hk Rk Hk Ak Bk + I] Fk

Ak+1 B−1 −> > −1 −1 −>


k+1 = [(Fk + Qk Fk Hk Rk Hk )Ak Bk + Qk Fk ]
−1 −1
× [H> −1 >
k Rk Hk Ak Bk + I] Fk (5.71)

Sustituyendo Ak B−1 −
k por Pk en la ecuación anterior da

Ak+1 B−1 −> > −1 − −> > −1 − −1 >


k+1 = [(Fk + Qk Fk Hk Rk Hk )Pk + Qk Fk ][Hk Rk Hk Pk + I] Fk
= [Fk P− −> > −1 − −> > −1 − −1 >
k +Qk Fk Hk Rk Hk Pk +Qk Fk ][Hk Rk Hk Pk +I] Fk
= [Fk P− −> > −1 − > −1 − −1 >
k +Qk Fk (Hk Rk Hk Pk + I)][Hk Rk Hk Pk + I] Fk
= Fk P− > −1 − −1 >
k [Hk Rk Hk Pk + I] Fk + Qk (5.72)
5.5 Propiedades del filtro de Kalman 155

Aplicando el lema de inversión de matrices para el término entre corchetes de la ecuación



anterior, con A = I, B = H>
k , C = Hk Pk y D = Rk , se obtiene:

Ak+1 B−1 − > − > −1 − >


k+1 = Fk Pk [I − Hk (Hk Pk Hk + Rk ) Hk Pk ]Fk + Qk
= Fk [P− − > − > −1 − >
k − Pk Hk (Hk Pk Hk + Rk ) Hk Pk ]Fk + Qk
>
= Fk P+
k F k + Qk
= P−
k+1 (5.73)

Por lo tanto, queda demostrado que Ak+1 B−1 −


k+1 = Pk+1 .

Se puede utilizar la Ecuación (5.69) para obtener una solución rápida de la covarianza de
estado estacionario en sistemas multidimensionales (aunque no es una solución de forma
cerrada). Supóngase que F,Q,H y R son matrices constantes. De la Ecuación (5.69) se obtiene
 " # 
F + QF−> H> R−1 H QF−> Ak
  
Ak+1 Ak
= = Ψ (5.74)
Bk+1 F−> H> R−1 H F−> Bk Bk

Donde, como se puede observar


" #
F + QF−> H> R−1 H QF−>
Ψ= (5.75)
F−> H> R−1 H F−>

Teniendo en cuenta el hecho de que A1 = P−


1 y B1 = I, satisface la factorización original de la
Ecuación (5.66), se obtiene sucesivamente:
   −      −      −
A2 P A3 A P A4 A P
=Ψ 1 ; =Ψ 2 =Ψ2 1 ; =Ψ 3 =Ψ3 1 (5.76)
B2 I B3 B2 I B4 B3 I

De aquí se tiene por inducción para el instante k:


   −
Ak k−1 P1
=Ψ (5.77)
Bk I

Ahora se puede elevar Ψ sucesivamente a potencias de dos un total de p veces para obtener
p
Ψ2 , Ψ4 , Ψ8 , etc, hasta que Ψ2 converja a un valor de estado estacionario:
   −
A∞ 2 p P1
≈Ψ para p grande (5.78)
B∞ I

La covarianza de estado estacionario es P− −1


∞ = A∞ B∞ . También se puede encontrar la ganancia
Kalman de estado estacionario simplemente iterando las ecuaciones de filtro de la Ecuación
(5.54), pero el método en esta sección puede ser un modo mucho más rápido para encontrar
la ganancia en estado estacionario. Una vez encontrada P−
∞ , como se muestra más arriba, se
calcula K∞ = P− > − > −1
∞ H (HP∞ H + R) , la ganancia del filtro de Kalman en estado estacionario.
156 Capítulo 5. Filtro de Kalman discreto

Sistemas escalares

Se puede usar la Ecuación (5.69) para obtener una solución en forma cerrada del filtro escalar
de Kalman para sistemas invariantes en el tiempo.

Supóngase que F, Q, H y R son escalares constantes. Entonces de la Ecuación (5.69) se


obtiene
 " 2
# 
F + HFRQ Q
  
Ak+1 Ak Ak
= F = Ψ (5.79)
Bk+1 H2 1 Bk Bk
FR F

donde Ψ está definido como en la Ecuación (5.74). Ahora se encuentran los datos propios de
Ψ. Supóngase que los valores propios de Ψ son λ1 y λ2 y que al conformar los vectores propios
de Ψ (v. gr.: aplicando el método de Gram–Schmidt), se crea la matriz M ∈ R2×2 . Entonces

 
λ 0
Ψ=M 1 M−1 (5.80)
0 λ2

Nótese la secuencia
   
λ1 0 λ 0
Ψ2 = M M−1 × M 1 M−1
0 λ2 0 λ2
 2 
λ 0
=M 1 M−1
0 λ22
 2   
λ 0 −1 λ1 0
Ψ3 = M 1 M × M M−1
0 λ22 0 λ2
 3 
λ1 0
=M M−1
0 λ23
..
.
 k 
λ1 0
k
Ψ =M M−1
0 λ2k

Entonces la Ecuación (5.77) se puede escribir como

   −  k−1   −
Ak P λ 0 P1
= Ψk−1 1 = M 1 M−1 (5.81)
Bk I 0 λ2k−1 I
5.5 Propiedades del filtro de Kalman 157

Realizando los cálculos correspondientes para encontrar λ1 y λ2 y M, se obtiene:


µ1
λ1 =
2FR
µ
λ2 = 2
2FR
µ1 = H 2 Q + R(F 2 + 1) + ρ
µ2 = H 2 Q + R(F 2 + 1) − ρ
ν1 = H 2 Q + R(F 2 − 1) + ρ
ν2 = H 2 Q + R(F 2 − 1) − ρ
(5.82)
q q
ρ = H 2 Q + R(F + 1)2 H 2 Q + R(F − 1)2
 
ν1 ν2
M =  2H 2 2H 2 
1 1
2RH 2 −ν1
 
1
M−1 =
ν1 (R − 1) + 2ρ −2RH 2 Rν1
ν1 µ1k−1 (2RH 2 P1− − ν2 ) − ν2 µ2k−1 (2H 2 P1− − ν1 )
Pk− =
2H 2 µ1k−1 (2RH 2 P1− − ν2 ) − 2H 2 µ2k−1 (2H 2 P1− − ν1 )

Esta es una ecuación en forma cerrada del filtro de Kalman variante en el tiempo para un
sistema escalar invariante en el tiempo. Ésta puede utilizarse fácilmente para obtener el valor
de estado estacionario de Pk− . Nótese que µ2 < µ1 . Cuando k se incrementa, µ2k se hace más
pequeño con respecto a µ1k . Por lo tanto,

ν1 µ1k−1 (2RH 2 P1− − ν2 ) − ν2 µ2k−1 (2H 2 P1− − ν1 )


lı́m Pk− = lı́m
k→∞ k→∞ 2H 2 µ1k−1 (2RH 2 P1− − ν2 ) − 2H 2 µ2k−1 (2H 2 P1− − ν1 )
ν1 µ1k−1 (2RH 2 P1− − ν2 )
= lı́m
k→∞ 2H 2 µ1k−1 (2RH 2 P1− − ν2 )
ν1
= (5.83)
2H 2
Esto da la covarianza de estado estacionario para un sistema escalar.

Ejemplo 5.5.2 Propagación de una covarianza escalar. Considérese el siguiente sistema escalar:

xk+1 = xk + vk
yk = xk + wk
vk ∼ (0,1), wk ∼ (0,1)

Este es un ejemplo muy simple pero que puede surgir en muchas aplicaciones; v.gr.: puede
representar algún parámetro xk con variación lenta que se mide directamente. El término de
158 Capítulo 5. Filtro de Kalman discreto

ruido del proceso vk se tiene en cuenta en las variaciones de xk y, la medida del término de
ruido wk , se considera para errores en la medida. En este sistema, se tiene F = H = Q = R = 1.
Sustituyendo estos valores en la Ecuación (5.82) da

µ1 = 3 + 5

µ2 = 3 − 5

ν1 = 1 + 5

ν2 = 1 − 5
ν1 µ1k−1 (2P1− − ν2 ) − ν2 µ2k−1 (2P1− − ν1 )
Pk− =
2µ1k−1 (2P1− − ν2 ) − 2µ2k−1 (2P1− − ν1 )

Tomando el límite cuando k → ∞ da el valor de estado estacionario de Pk− :



ν1 1+ 5
P∞− = =
2 2
= 1.6180 ≈ 1.62

Ahora se puede usar la Ecuación (5.54) para encontrar el valor de estado estacionario de Kk :

Kk = Pk− Hk> (Hk Pk− Hk> + Rk )−1


Pk−
=
Pk− + 1

ν1 ν1 1+ 5
K∞ = = = √
2( ν21 + 1) ν1 + 2 3 + 5
= 0.6180 ≈ 0.62

La Figura 5.8, muestra la covarianza del estimado a priori y la ganancia Kalman en función
del tiempo, también ilustra su convergencia a los valores de estado estacionario. De la ecuación

para la covarianza del error de estimación a posteriori, se sabe que P+ k = (I − Kk Hk )Pk . En
consecuencia, para este ejemplo se ve que el valor de la covarianza Pk en estado estacionario
+

está dada por


√ ! √ √
+ 1 + 5 1+ 5 1+ 5
P∞ = 1 − √ = √
3+ 5 2 3+ 5

La teoría presentada en este capítulo hace del filtro de Kalman una selección atractiva para
la estimación de estados. Pero cuando un filtro de Kalman se implementa en un sistema real
éste puede no funcionar, aun cuando la teoría sea correcta. Dos de las primeras causas para la
falla del filtrado de Kalman son: la aritmética de precisión finita y los errores de modelado.
Esta metodología supone que la aritmética del filtro de Kalman tiene precisión infinita. En
microprocesadores digitales la aritmética tiene precisión finita, solamente una cierta cantidad
5.5 Propiedades del filtro de Kalman 159

2
Ganancia de Kalman
Covarianza del error de estimación
1.8

1.6

1.4

1.2

0.8

0.6
0 1 2 3 4 5 6 7 8 9 10
tiempo

Figura 5.8 Covarianza del error de estimación y ganancia de Kalman en función del tiempo. Ambas
convergen a valores de estado estacionario.

de bits se usa para representar los números en las ecuaciones del filtro de Kalman. Esto puede
causar divergencia o aun inestabilidad en la implementación del filtro de Kalman.
En la teoría presentada, también se supone que el modelo del sistema se conoce exactamente.
Esto es, se supone que las matrices F, Q, H y R se conocen exactamente y además, se asume que
las secuencias ruidosas {wk } y {vk } son ruidos blancos puros, de media cero y absolutamente
no correlacionados. Si alguna de estas hipótesis no se cumple, ya que siempre están en las
implementaciones reales, entonces los supuestos del filtro de Kalman son violados y la teoría no
funciona. Con el fin de mejorar el rendimiento del filtro de cara a estas realidades, el diseñador
puede utilizar varias estrategias:

• Aumentar la precisión aritmética.


• Usar alguna forma de filtrado de raíz cuadrada.
• Simetrizar P en cada etapa de tiempo:
1
P + P>

P=
2

• Inicializar P apropiadamente para evitar cambios grandes en el mismo.


• Usar un filtro con memoria de desvanecimiento.
• Usar ruido ficticio en el proceso (especialmente para estimación de constantes).
160 Capítulo 5. Filtro de Kalman discreto

Ejemplo 5.5.3 A continuación se va a ilustrar el uso de ruido ficticio en un proceso. Supóngase


que se está tratando de estimar un estado que se asume constante, pero en realidad es una
rampa. En otras palabras, se tiene un error de modelado. El modelo asumido (pero incorrecto),
sobre el cual se basa el filtro de Kalman, se da de la siguiente manera:

xk+1 = xk + vk
yk = xk + wk
(5.84)
vk ∼ (0,0)
wk ∼ (0,1)

El ruido del proceso se asume cero, lo que significa que se está modelando xk como una
constante. De la Ecuación (5.54) se obtienen las ecuaciones del filtro de Kalman para este
sistema como

Pk− = Fk−1 Pk−1


+ >
Fk−1 +
+ Qk−1 = Pk−1
Pk−
Kk = Pk− Hk> (Hk Pk− Hk> + Rk )−1 = −
Pk + 1
(5.85)
x̂k− = Fk−1 x̂k−1
+ +
= x̂k−1
x̂k+ = x̂k− + Kk (yk − Hk x̂k− ) = x̂k− + Kk (yk − x̂k− )
Pk+ = (I − Kk Hk )Pk− (I − Kk Hk )> + Kk Rk Kk> = (1 − Kk )2 Pk− + Kk2

Supóngase que el sistema verdadero, aunque desconocido para el diseñador del filtro de
Kalman, es el modelo de dos estados siguiente:
 
1 1
xk+1 = x
0 1 k
 
yk = 1 0 xk + wk
wk ∼ (0,1)

El primer estado es una rampa, el cual se asumió incorrectamente en el modelo del sistema
como una constante.
La Figura 5.9 muestra el estado verdadero x1 k y el estado estimado x̂1 k . Se puede ver que el
valor estimado diverge del estado verdadero y el error de estimación crece ilimitadamente.
Sin embargo, si se añade ruido ficticio al proceso, en el filtro de Kalman, el filtro hará más
hincapié en las medidas, lo que mejorará su desempeño.
La Figura 5.10 muestra el estado verdadero y el estado estimado cuando se utilizan diferentes
valores de Q en el filtro de Kalman.
A medida que el ruido ficticio del proceso se hace más grande, el error de estimación se
hace más pequeño. Por supuesto, esto es al precio de empeorar el desempeño en el caso de que
el modelo del sistema asumido sea realmente correcto.
El diseñador tiene que añadir una cantidad apropiada de ruido ficticio al proceso para
compensar el desempeño bajo condiciones nominales de mal modelado.
5.5 Propiedades del filtro de Kalman 161

Q=0
600
Estado verdadero
Estado estimado
500

400

300

200

100

0
0 10 20 30 40 50
Tiempo

Figura 5.9 Divergencia del filtro de Kalman debido al mal modelado de un proceso.

600
Estado verdadero
x estimado (Q = 1)
500 x estimado (Q = 0.1)
x estimado (Q = 0.01)
x estimado (Q = 0)
400

300

200

100

0
0 10 20 30 40 50
Tiempo

Figura 5.10 Mejora del filtrado de Kalman debido a ruido ficticio en el proceso.

La Figura 5.11 muestra la evolución temporal de la ganancia de Kalman Kk de este ejemplo,


para varios valores de Q. Como era de esperar, la ganancia Kk converge a un valor de estado
estacionario más grande cuando Q es más grande, haciendo que el filtro sea más sensible
a las mediciones [ver la expresión x̂k+ en la Ecuación (5.85)]. Esto compensa los errores de
modelado. También téngase en cuenta en la Figura 5.11, que la ganancia de Kalman en estado
estacionario es de aproximadamente 0.62 cuando Q = 1.
Este ejemplo ilustra el principio general de que el ruido del modelo es bueno, pero sólo
hasta cierto punto. Si un modelo de sistema tiene mucho ruido, entonces es difícil estimar sus
estados. Pero si un modelo de sistema tiene muy poco ruido, entonces el estimador de estados
puede ser demasiado susceptible a errores de modelado. En el diseño de un modelo para un
162 Capítulo 5. Filtro de Kalman discreto

0.7

0.6
Q = 1
Q = 0.1
0.5
Q = 0.01
Q = 0
0.4

0.3

0.2

0.1

0
0 10 20 30 40 50
Tiempo

Figura 5.11 Ganancia de Kalman para varios valores del ruido del proceso.

filtro de Kalman, se necesita balancear la confianza en el modelo (bajo nivel de ruido resulta
en un seguimiento cercano del modelo, es decir, ancho de banda bajo) con una duda metódica
saludable (alto ruido resulta en mayor capacidad de respuesta del filtro, es decir, ancho de
banda alto).
Un examen a las ecuaciones del filtro muestra por qué la adición de ruido ficticio al proceso
compensa los errores de modelado. Recordando las ecuaciones del filtro de Kalman, (5.53) y
(5.54), algunas de las cuales se repiten aquí:

Pk− = Fk−1 Pk−1


+ >
Fk−1 + Qk−1
Kk = Pk− Hk> (Hk Pk− Hk> + Rk )−1 (5.86)
x̂k+ = x̂k− + Kk (yk − Hk x̂k− )

Si Qk es pequeña, entonces la covarianza no puede aumentar en gran medida entre los tiempos
de muestreo. En el ejemplo anterior, Fk = 1, por lo que Pk− = Pk−1 +
cuando Qk = 0. Pero la

covarianza se reducirá de Pk hasta Pk cada vez que una medición se obtiene debido a la
+

ecuación de actualización de la medida de la covarianza. Eventualmente Pk− convergirá a cero.


Esto se puede ver examinado la Ecuación (5.61), la cual muestra la ecuación de un solo paso
para Pk− :

Pk+1 = Fk Pk− Fk> − Fk Kk Hk Pk− Fk> + Qk (5.87)
Si Qk = 0, entonces la ecuación tiene una solución de estado estacionario cero. Un valor de
cero para Pk− resultará en Kk = 0, como se ve a partir de las ecuaciones (5.86). Un valor de
cero para Kk significa que la ecuación de actualización de medición (5.86) para x̂ no tomará en
cuenta la medida, es decir, la medida yk se ignora completamente en el cálculo de xk . Esto es,
debido a que la medición del ruido de covarianza Rk (asumiendo que es mayor que cero), será
infinitamente veces más grande que el ruido del proceso, Qk = 0. El filtro se torna lento en el
sentido de que no va a responder a las mediciones.
5.6 Resumen 163

Por otro lado, si Qk es más grande, entonces la covarianza aumentará siempre entre muestras
temporales; esto es, Pk− siempre será mayor que Pk−1 +
. Cuando Pk− converge, lo hará a un
valor mayor. Esto hará que Kk converja a un valor mayor. Un Kk más grande significa que la
actualización de la medida de x̂ en la Ecuación (5.86), incluirá un mayor énfasis en la medición;
es decir, el filtro prestará más atención a las medidas.

5.6 Resumen
En este capítulo, se ha presentado la esencia del filtro Kalman en tiempo discreto. Durante las
últimas décadas, este algoritmo de estimación ha encontrado aplicaciones en prácticamente
todas las áreas de la ingeniería.
Se ha mostrado que las ecuaciones del filtro de Kalman se pueden escribir de varias maneras
diferentes, cada una de las cuales puede parecer muy diferente a las otras, aunque todas ellas
son matemáticamente equivalentes. Se ha visto que el filtro de Kalman es óptimo incluso
cuando el ruido no es gaussiano. El filtro de Kalman es el estimador óptimo cuando el ruido es
gaussiano, y es el estimador lineal óptimo cuando el ruido no es gaussiano.
También se ha observado que el filtro de Kalman puede no funcionar adecuadamente si las
suposiciones subyacentes no se mantienen. Para esta situación se mencionaron brevemente
algunas formas de compensar los supuestos violados. En los capítulos siguientes se expandirán
y generalizarán los resultados presentados en éste.
6 Formas alternas del filtro de Kalman

La simplicidad es la máxima sofisticación.

Leonardo da Vinci

6.1 Introducción

E n este capítulo se analizarán algunos modos alternos de presentar las ecuaciones del
filtro de Kalman. Hay un número de maneras matemáticamente equivalentes de escribir
las ecuaciones del filtro de Kalman. Esto puede ser confuso. Usted puede leer dos artículos
o libros que presentan diferentes ecuaciones del filtro de Kalman, y las ecuaciones pueden
parecer completamente diferentes. Usted no puede saber si una de las ecuaciones tiene un error
tipográfico, o si son matemáticamente equivalentes. Así que intenta demostrar la equivalencia
de los dos conjuntos de ecuaciones sólo para llegar a un callejón sin salida matemático,
porque no siempre es fácil demostrar la equivalencia de dos conjuntos de ecuaciones. En este
capítulo se derivan algunas formulaciones del filtro de Kalman las cuales son diferentes (pero
matemáticamente equivalentes) a las ecuaciones derivadas en el Capítulo 5. En este capítulo
también se ilustran sus ventajas y desventajas.

6.2 Filtrado de raíz cuadrada


En los primeros días del filtrado de Kalman surgieron problemas debido a dificultades nu-
méricas, sobre todo en su implementación. La solución de la ecuación de Riccati Pk podrá
teóricamente ser siempre una matriz semidefinida positiva, pero problemas numéricos en
implementaciones computacionales algunas veces conducen a matrices Pk que pueden ser
indefinidas o no simétricas. Esto fue a menudo debido a las longitudes de palabra muy cortas
en los computadores de la década de 1960 [64]. Pueden surgir problemas numéricos en casos
en los cuales algunos elementos del vector de estado x son estimados a mucha más precisión
que otros elementos del vector x. Esto podría ser debido a las discrepancias en las unidades de

165
166 Capítulo 6. Formas alternas del filtro de Kalman

los elementos del vector de estado. Por ejemplo, un estado puede estar en unidades de km y
puede estimarse dentro de 0.01 km, mientras que un segundo estado puede estar en unidades
de cm/s y puede estimarse dentro de 10 cm/s. La covarianza para el primer estado estaría en el
orden de 10−4 mientras que la covarianza para el segundo estado sería del orden de 102 . Esto
dio lugar a una gran cantidad de investigación durante los años 60 que fue relacionada con la
implementación numérica.
El filtrado de raíz cuadrada es una manera de aumentar matemáticamente la precisión
del filtro de Kalman cuando la precisión de hardware no está disponible. Quizá el primer
algoritmo de la raíz cuadrada fue desarrollado por James Potter para el programa espacial
Apolo de la NASA [8]. Aunque el algoritmo de Potter se limitaba a ruido del proceso cero
y medidas escalares, su éxito condujo a una gran cantidad de investigaciones adicionales de
la raíz cuadrada en los años siguientes. El algoritmo de Potter se amplió a la manipulación
de procesos ruidosos en [2], [24] y se generalizó en dos modos diferentes para manipular
medidas vectoriales en [9] y [2]. Paul Kaminski da una buena revisión de la evolución de
filtrado de raíz cuadrada en la primera década del filtro de Kalman [47]. En [52] se presentan
varios procedimientos de raíz cuadrada, con los algoritmos de estimación recursiva de sistemas
dinámicos lineales.

Número de condición

Recordando la definición de valores singulares de una matriz. Una matriz P n × n tiene n


valores singulares σ dados como

σ 2 (P) = λ (P> P)
= λ (PP> ) (6.1)

La matriz P> P es definida positiva simétrica y los autovalores de una matriz simétrica son
siempre reales y no negativos, así los valores singulares de tal matriz son siempre reales y no
negativos. La matriz P es no singular (invertible) si y solo si todos sus valores singulares son
positivos. El número de condición de una matriz está definido como

σmax (P)
κ(P) = ≥1 (6.2)
σmin (P)

Algunos autores usan definiciones alternas para número de condición, por ejemplo, pueden
definir el número de condición de una matriz como el cuadrado de la anterior definición.
Cuando κ(P) → ∞, la matriz P se dice ser pobremente condicionada o mal condicionada, y P
se aproxima a una matriz singular. En la implementación de un filtro
n de Kalman, la matriz
o de
>
covarianza del error P será siempre definida positiva porque P = E (x − x̂)(x − x̂) . Se usa
la notación estándar
P>0 (6.3)
para indicar que P es definida positiva. Esto implica que P es invertible, lo cual a su vez es
equivalente a decir que todos los autovalores de P son mayores que cero. Pero supóngase en el
filtro de Kalman que algunos de los elementos de x son estimados a mucha más precisión que
6.2 Filtrado de raíz cuadrada 167

otros elementos de x. Por ejemplo, supóngase que


 6 
10 0
(6.4)
0 10−6

Esto significa que el estimado de x1 tiene una desviación estándar de 103 y el estimado
de x2 tiene una desviación estándar de 10−3 . Esto puede ser debido a unidades en x1 y x2
drásticamente diferentes, o esto podrá ser simplemente que x1 es mucho más observable que
x2 . Los valores singulares de una matriz singular son las magnitudes de los elementos de la
diagonal, los cuales son 106 y 10−6 . En otras palabras,

κ(P) = 1012 (6.5)

Este es un número de condición demasiado grande, lo cual significa que la matriz P podría
parecer como una matriz singular al computador digital. Por ejemplo, si se tiene un computador
con procesador de punto fijo con diez dígitos decimales de precisión, entonces el término
10−12 se representará como cero en la máquina. Matemáticamente, P es no singular, pero
computacionalmente P es singular.
El filtro de raíz cuadrada se basa en la idea de encontrar una matriz Γ tal que P = Γ Γ > .
La matriz Γ se denomina la raíz cuadrada de P. Si P es definida positiva simétrica entonces
siempre tendrá una raíz cuadrada [29, 56]. La raíz cuadrada de una matriz puede no ser única;
esto es, puede haber más de una solución para Γ en la ecuación P = Γ Γ > . También nótese que
Γ Γ > será siempre semidefinida positiva simétrica no importa cual sea el valor de la matriz Γ .
Considerando que algunas dificultades numéricas podrían ocasionar que P en las ecuaciones
del filtro de Kalman se convierta en no simétrica o indefinida, estas dificultades numéricas
nunca podrán ocasionar que P = Γ Γ > se convierta en no simétrica o indefinida. Uno de los
algoritmos para raíz cuadrada de matrices fue dado por Cholesky [25]. El Algoritmo 4 calcula
la matriz Γ tal que P = Γ Γ > para una matriz Pn×n .

Algoritmo 4 Algoritmo de Cholesky para raíz cuadrada de matrices.


Cómputo:
for i = 1 to n do
q
γii = pii − ∑i−1 2
j=1 γi j

for j = 1 to n do

γ ji = 0 j<i
1
p − ∑i−1 j>i

γ ji = k=1 γ jk γik
γii ji
end for
end for

Esta es llamada la factorización de Cholesky y resulta en una matriz Γ tal que P = Γ Γ > .
168 Capítulo 6. Formas alternas del filtro de Kalman

La matriz Γ es referida en la literatura como el triángulo de Cholesky debido a que ésta es


una matriz triangular inferior. Sin embargo, el algoritmo solamente trabaja si P es definida
positiva simétrica. Si P no es definida positiva simétrica, entonces ésta puede o no tener una
raíz cuadrada.
En el siguiente ejemplo se ilustra la aplicación de la factorización Cholesky.

Ejemplo 6.2.1 Supóngase que se tiene una matriz P dada como


 
1 2 3
P = 2 8 2 
3 2 14

El algoritmo de factorización de Cholesky dice que para i = 1,



γ11 = p11 = 1
1
γ21 = (p ) = 2
γ11 21
1
γ31 = (p ) = 3
γ11 31

Para i = 2, el algoritmo establece que

γ12 = 0

r q
1
γ22 = p22 − ∑ j=1 γ22j = 2 =
p22 − γ21 8−4 = 2
!
1
1 1 1
γ32 = p32 − ∑ γ3k γ2k = (p32 − γ31 γ21 ) = (2 − 3 × 2) = −2
γ22 k=1 γ22 2

Para i = 3, el algoritmo dice que

γ13 = 0
γ23 = 0
r q
2 p
γ33 = p33 − ∑ j=1 γ32j = 2 + γ2 ) =
p33 − (γ31 32 14 − (9 + 4) = 1

Así se obtiene  
1 0 0
Γ = 2 2 0
3 −2 1
Se puede verificar que P = Γ Γ > .

Después de definir Γ como la raíz cuadrada de P en el filtro de Kalman, se propaga Γ en lugar


de P. Esto requiere más esfuerzo computacional pero se multiplica la precisión del filtro y
6.2 Filtrado de raíz cuadrada 169

ayuda a evitar problemas numéricos. Los valores singulares σ de P están dados como

ΓΓ > Γ Γ > )
σ 2 (P) = λ (P> P) = λ (Γ (6.6)

Los valores singulares de Γ están dados como

σ 2 (Γ ΓΓ > )
Γ) = λ (Γ (6.7)

Recordando que para una matriz general A se tiene λ (A2 ). Por lo tanto, se ve desde la anterior
ecuación que
σ 2 (P) = [σ 2 (Γ
Γ)]2
2
σmax (P) σmax (Γ
Γ)
= 2 (6.8)
σmin (P) σmin (Γ
Γ)
κ(P) = κ 2 (Γ
Γ)
Esto es, el número de condición de P es el cuadrado del número de condición de Γ . Por ejemplo,
considérese la matriz dada anteriormente en esta sección:
 6 
10 0
P=
0 10−6 (6.9)
12
κ(P) = 10

La raíz cuadrada de esta matriz y su número de condición son


 3 
10 0
Γ=
0 10−3 (6.10)
Γ) = 10 6
κ(Γ

El número de condición de P es 1012 , pero el número de condición de la raíz cuadrada de P


es solamente 106 . El filtro de raíz cuadrada utiliza esta idea para proporcionar el doble de la
precisión del filtro estándar de Kalman. En vez de propagar P, se propaga la raíz cuadrada de P.

6.2.1 Ecuación de actualización en el tiempo de la raíz cuadrada

Supóngase que se tiene un sistema LTI discreto de n-estados, dado como

xk = Fk−1 xk−1 + Gk−1 uk−1 + vk−1


 > (6.11)
E vk vk = Qk

La matriz de covarianza del error a priori del filtro de Kalman es P−
k y su raíz cuadrada es Γ k .
La matriz de covarianza del error a posteriori es Pk y su raíz cuadrada es Γ k . Supóngase que
+ +
170 Capítulo 6. Formas alternas del filtro de Kalman

se puede encontrar una matriz ortogonal θ 2n×2n tal que


" − ># " + > > # " + > > #

Γk ) (Γ
Γk−1 ) Fk−1  (Γ
Γk−1 ) Fk−1
(6.12)

=θ >/2
= θ1 θ2
>/2
0 Qk−1 Qk−1

Puesto que θ es ortogonal se ve que


" ># " >
θ>
#  
>
θ1  θ1 θ1 1 θ2 I 0
(6.13)

θ θ= θ1 θ2 = =
θ> θ> θ> 0 I
2 2 θ1 2 θ2

donde θ 1 y θ 2 son ambas matrices n × n. Se ve de lo anterior que

θ> >
1 θ2 = θ2 θ1 = 0
(6.14)
θ> >
1 θ1 = θ2 θ2 = I

Ahora nótese que se puede utilizar la ecuación (6.12) para escribir


 − > h i>h
 −  (Γ
Γk ) >/2 >/2
i
Γk 0 = θ 1 (Γ Γ+ > > + > >
k−1 ) Fk−1 + θ Q
2 k−1 θ (Γ
Γ
1 k−1 ) Fk−1 + θ Q
2 k−1
0

Se puede usar esta ecuación, junto con la ecuación (6.14), para escribir
> 1/2 > >/2
Γ− Γ−
k (Γ
> +
Γ+
k ) = Fk−1 Γ k−1 θ 1 θ 1 (Γ
> >
k−1 ) Fk−1 + Qk−1 θ 2 θ 2 Qk−1
> > 1/2 >/2
= Fk−1 Γ + Γ+
k−1 (Γ k−1 ) Fk−1 + Qk−1 Qk−1 (6.15)

k−1 es la raíz cuadrada de Pk−1 , esto implica que


Si Γ + +

P− + >
k = Fk−1 Pk−1 Fk−1 + Qk−1 (6.16)

la cual es exactamente la ecuación de actualización en el tiempo para Pk que se requiere en el


filtro de Kalman, como se muestra en la ecuación (5.54). Por lo tanto, si se puede encontrar
una matriz ortogonal θ 2n×2n tal que
" + > > #

Γk−1 ) Fk−1 
matriz n×n

θ = (6.17)
>/2
Qk−1 0

entonces la matriz n × n en la mitad superior de la estructura matricial del lado derecho será
igual a (ΓΓ− >
k ) . Esto supone que (Γ
>
k−1 ) está disponible de la ecuación de actualización de
Γ+
medida de la raíz cuadrada, como se verá más adelante. La ecuación de actualización del tiempo
de la raíz cuadrada anterior es matemáticamente equivalente a la ecuación de actualización en
el tiempo del filtro de Kalman original para P, pero la ecuación de actualización se usa para
actualizar Γ en lugar de P.

Como se observó anteriormente, la raíz cuadrada de P−


k no es única, de manera que diferentes
6.2 Filtrado de raíz cuadrada 171

Γ−
algoritmos para la solución de la ecuación (6.17) darán lugar a diferentes matrices θ y (Γ >
k ) .
Se pueden usar varios métodos de algebra lineal para encontrar la matriz ortogonal θ n×n y la
matriz de la raíz cuadrada resultante Γ −
k .

6.2.2 Algoritmos para transformaciones ortogonales

Varios algoritmos numéricos están disponibles para llevar a cabo las transformaciones ortogo-
nales que se requieren para resolver las matrices θ y la matriz raíz cuadrada resultante Γ −
k de la
Ecuación (6.17). Algunos algoritmos que pueden ser utilizados son el método de Householder,
el método de Givens, el método de Gram–Schmidt y el método de Gram–Schmidt modificado.
En esta sección se presentará (sin derivación) el algoritmo de Householder y el algoritmo de
Gram–Schmidt modificado. Deducciones y presentaciones de los otros algoritmos se pueden
encontrar en muchos textos sobre álgebra lineal numérica, como [32], [29], [56]. Una compa-
ración de Gram–Schmidt, Gram–Schmidt modificado y las transformaciones de Householder
se puede encontrar en [37], donde se establece que el procedimiento de Gram–Schmidt modifi-
cado es mejor (desde un punto de vista numérico) que el método de Householder, ofreciendo
un desempeño de muy alta calidad.
El algoritmo de Householder
El algoritmo que se presenta aquí lo desarrolló Alston Householder [33], se aplicó a la estima-
ción de mínimos cuadrados por Gene Golub [28] y se configuró para filtrado de Kalman por
Paul Kaminski [47].

1. Supóngase que se tiene una matriz 2n × n A(1) y se desea encontrar una matriz W n × n
tal que  
W
θ A(1) = (6.18)
0
donde θ es una matriz ortogonal 2n × 2n y 0 es una matriz n × n conformada por ceros.
Obsérvese que el enunciado de este problema está en la misma forma que la Ecuación
(6.17). También téngase en cuenta que no necesariamente se requiere hallar θ ; el objetivo
es encontrar W.
2. Para k = 1, . . . , n realizar lo siguiente:

a) Calcular el escalar ςk como


v
 u
u 2n  (k) 2
(k)
ςk = sgn Akk t ∑ Aik (6.19)
i=k

(k)
donde Aik es el elemento de la i−ésima fila y la k−ésima columna de A(k) . La
función sgn(x) se define como
(
+1 x≥0
sgn =
−1 x<0
172 Capítulo 6. Formas alternas del filtro de Kalman

b) Calcular el escalar βk como

1
βk =   (6.20)
(k)
ςk ςk + Akk

c) Para i = 1, . . . , 2n realizar lo siguiente:




 0 i<k

(k) (k)
ui = ςk + Akk i=k (6.21)

 (k)

Aik i>k

Esto da un vector columna u(k) con 2n-elementos.

d) Para i = 1, . . . , n realizar lo siguiente:



 0 i<k

(k)
yi = 1 i=k (6.22)

 (k)> (k)
βk u Ai i>k

(k)
donde Ai es la i-ésima columna de A(k) . Esto da un vector columna y(k) con n-
elementos,

e) Calcular la matriz A(k+1) 2n × n como

A(k+1) = A(k) − u(k) y(k)> (6.23)

3. Después de que los anteriores pasos han sido ejecutados, A(n+1) tiene la forma
 
W
A(n+1) = (6.24)
0

donde W es la matriz n × n que se está tratando de resolver. Si ςk = 0 en cualquier etapa


el algoritmo, significa que A(1) tiene rango deficiente y el algoritmo fallará. Nótese que
el procedimiento anterior no calcula la matriz θ .

4. La matriz θ se puede encontrar como

θ (k) = I − βk u(k) u(k)> i = 1, . . . ,n


(6.25)
(n) (n−1) (1)
θ =θ θ ···θ

El procedimiento está resumido en el Algoritmo 5.


6.2 Filtrado de raíz cuadrada 173

Algoritmo 5 Algoritmo de Householder.


for k = 1 to n do
r
(k) 2
  
(k)
ςk = sgn Akk ∑2n
i=k Aik

1
βk =  
(k)
ςk ςk + Akk

for i = 1 to 2n do
if i < k then
(k)
ui = 0
else if i = k then
(k) (k)
ui = ςk + Akk
else if i > k then
(k) (k)
ui = Aik
end if
end for
for i = 1 to n do
if i < k then
(k)
yi = 0
else if i = k then
(k)
yi = 1
else if i > k then
(k) (k)
yi = βk u(k)> Ai
end if
end for
 
W
A(k+1) = A(k) − u(k) y(k)> → A(n+1) =
0
for i = 1 to n do
θ (k) = I − βk u(k) u(k)>
θ = ∏1n θ (i)
end for
end for

Ejemplo 6.2.2 Usar el método de Householder para


 encontrar
 una matriz ortogonal θ tal que
  1 1
W 2 2
θA = donde W es una matriz 2 × 2 y A = 
0 1 = A
 (1)
0
2 2
174 Capítulo 6. Formas alternas del filtro de Kalman

Solución:
Aplicando el Algoritmo 5 se obtiene:
s
4 
(1) 2
   p
(1)
ς1 = sgn A11 ∑ Ai1 = 12 + 22 + 02 + 22 = 3
i=1
1 1 1
β1 =  = =
(1)
ς1 ς1 + A11 3(3 + 1) 12

(1) (1)
u1 = ς1 + A11 = 3 + 1 = 4
(1) (1)
u2 = A21 = 2
(1) (1)
u3 = A31 = 0
(1) (1)
u4 = A41 = 2
h i> >
u(1) = u(1) (1) (1) (1)

1 u2 u3 u4 = 4 2 0 2

(1)
y1 = 1
 
1
(1) (1) 1   2 1
y2 = β1 u(1)> A2 = 4 2 0 2 1 = 12 (4 + 4 + 0 + 4) = 1

12
2
 >
y= 1 1

       
1 1 4 1 1 4 4
2 2 − 2 1
 2 2
(2) (1) (1) (1)>  − 2 2
  
A = A −u y =
 1 =
 
0 1 0 0 1 0 0
2 2 2 2 2 2 2
 
−3 −3
(2)
0 0
A =  
0 1
0 0

s r
4
(2) 2 (2) 2 (2) 2 (2) 2
        
(2)
ς2 = sgn A22 A
∑ i2 = sgn(0) A22 + A32 + A42
i=2

= 0+1+0 = 1
1 1
β2 =  = =1
(2)
ς2 ς2 + A22 1(1 + 0)
6.2 Filtrado de raíz cuadrada 175

(2)
u1 = 0
(2)
u 2 = ς2 + 0 = 1
(2) (2)
u3 = ς2 + A32 = 1 + 0 = 1
(2) (2)
u4 = A42 = 0
 
0
(2)
1  >
u = 1 = 0
 1 1 0
0

(2)
y1 = 0
(2)
y2 = 1
>
y(2) = 0

1

       
−3 −3 0 −3 −3 0 0
(3) (2) (2) (2)>
0 0 1   0 0 0 1
A = A −u y =
0
−  0 1 = − 
1  1 0 1  0 1
0 0 0 0 0 0 0
 
−3 −3
(3)
 0 −1
A = 0

0
0 0
 
−3 −3
W= (6.26)
0 −1

  
θ = I − β2 u(2) u(2)> I − β1 u(1) u(1)>
        
1 0 0 0 0 1 0 0 0 4
0 1 0 0 1 0 1 0 0 1 2 
0 0 1 0−11 0 1 1 0 0
=      −   4 2 0 2
0 1 0 120 
0 0 0 1 0 0 0 0 1 2

0 0 − 13 − 32 − 32
  1
− 23 − 23
  
1 0 0 −3 0
−1 0  2 2
− 31  −1
 − 3
0 0 0  0 0 0 
θ = 3 = 
0 −1 0 0  0 0 1 0   23 − 32 0 1 
3
0 0 0 1 − 23 − 31 0 2
3 − 23 − 13 0 2
3
176 Capítulo 6. Formas alternas del filtro de Kalman

El algoritmo de Gram–Schmidt modificado


El algoritmo de Gram–Schmidt modificado para ortonormalización que se presenta aquí, se
discute en la mayoría de los libros de sistemas lineales [39], [21]. Para filtrado de Kalman se
puede encontrar en [47].

1. Supóngase que se tiene la matriz A(1) de 2n × n y se desea encontrar una matriz W tal
que  
W
θ A(1) = (6.27)
0
donde θ es una matriz ortogonal 2n × 2n y 0 es una matriz n × n conformada por ceros.
Nótese que este problema se plantea de la misma forma como en la Ecuación (6.17).
2. Para k = 1, . . . ,n desarrollar lo siguiente:
a) Calcular el escalar ςk como
q
(k)> (k)
ςk = Ak Ak (6.28)

(k)
donde Ak es la k-ésima columna de A(k) .
b) Calcular la k–ésima fila de W como


 0 j = 1, . . . , k − 1

j=k

ςk
Wk j = (6.29)
 1 (k)> (k)
 Ak A j j = k + 1, . . . ,n


ςk

c) Calcular la k–ésima fila de θ como


1 (k)>
θk = A (6.30)
ςk k

d) Si k < n, calcular las últimas (n − k) columnas de A(k+1) como

(k+1) (k) 1 (k)


Aj = Aj − W A j = k + 1, . . . , n (6.31)
ςk k j k

Al igual que con el algoritmo de Householder, si ςk = 0 en cualquier etapa, significa que


A(1) es de rango deficiente y el algoritmo falla. Después que se completa el algoritmo,
se tienen las primeras n filas de θ . Ésta es una matriz n × 2n. Para calcular las últimas
n filas de θ , se puede utilizar un algoritmo regular de Gram–Schmidt de la siguiente
manera [29], [56], [32]:
a) Expandir la matriz θ que se inició anteriormente, añadiendo una matriz identidad
2n × 2n en la parte inferior de la misma. Esto asegura que las filas de θ abarcan todo
6.2 Filtrado de raíz cuadrada 177

el espacio vectorial 2n–dimensional:


 
θ
θ := (6.32)
I 3n×2n

b) Ahora se efectúa un procedimiento estándar de ortonormalización Gram–Schmidt


en las últimas 2n filas de θ (con respecto a las n primeras filas de θ ya obtenidas).
Para k = n + 1, . . . , 3n, calcular la k-ésima fila de θ como
k−1  
θ k := θ k − ∑ θ k θ >
i θi
i=1
θk
θ k := (6.33)
||θθ ||2

Si θ k es cero, significa que es una combinación lineal de las filas anteriores de θ . En ese
caso, la división en la ecuación anterior será una división entre cero, de modo que θ k debe
descartarse. Este descarte ocurrirá exactamente n veces, de modo que este procedimiento
calculará las n filas adicionales de θ y se terminará obteniendo una matriz ortogonal
θ 2n×2n .
Un resumen del procedimiento de Gram–Schmidt modificado para ortonormalización se
muestra en el Algoritmo 6.

Ejemplo 6.2.3 Utilizar el método de Gram–Schmidt modificado para resolver el Ejemplo 6.2.2.

Solución:

Siguiendo el Algoritmo 6 se tiene


v  
1
u
u
 2 √
q u
(1)> (1)
ς 1 = A1 A1 = u 1 2 0 2 0 = 1 + 4 + 0 + 4 = 3
u 
t
2
 
1
1 (1)> (1) 1   2
W11 = 3; W12 = A1 A1 = 1 2 0 2  0 = 3

3 3
2

   
W1 = W11 W12 = 3 3
1 1
θ 1 = A(1)> 2 = 13 2 2
  
= 1 2 0 0
ς 1 3 3 3
178 Capítulo 6. Formas alternas del filtro de Kalman

Algoritmo 6 Algoritmo de Gram–Schmidt modificado.


(1) Realizar procedimiento
for k = 1 to n do
(a) Calcular
q el escalar ςk
(k)> (k)
ςk = Ak Ak
(b) Calcular la k–ésima fila de W
if j ≤ k − 1 then
Wk j = 0
else if j = k then
Wk j = ςk
else if k + 1 ≤ j ≤ n then
(k)> (k)
Wk j = ς1 Ak Ak
k
end if
(c) Calcular la k–ésima fila de θ
1 (k)>
θk = ς k Ak

(d) Calcular las últimas (n − k) columnas de A(k+1)


if k < n then
for j = k + 1 to n do
(k+1) (k) (k)
Aj = A j − ς1 Wk j Ak
k

end for
end if
end for
(2) Expandir la matriz θ
 
θ
θ :=
I 3n×2n
(3) Recalcular la k-ésima fila de θ
for k = n + 1 to 3n do
 
>
θ k := θ k − ∑k−1
i=1 θ k θ i θi
θk
θ k :=
||θθ ||2
end for

     
1 1 0
(2) (1) 1 (1) 2 1 2 0
A2 = A2 − W12 A1 =   − · 3 ·   =  
    
ς1 1 3 0 1
2 2 0
6.2 Filtrado de raíz cuadrada 179

v  
0
u
u
 0 √
q u
(2)> (2)
ς 2 = A2 A2 = u 0 0 1 0 1 = 0 + 0 + 1 + 0 = 1
u 
t
0

Para k = 2
   
W21 = 0; W22 = 1; W2 = W21 W22 = 0 1

1 (2)> 1   
θ2 = A = 0 0 1 0 = 0 0 1 0
ς2 2 1
 
θ3 = 1 0 0 0
 
θ4 = 0 1 0 0
 
θ5 = 0 0 1 0
 
θ6 = 0 0 0 1

   
θ3 = θ 3 − θ 3θ > >
1 θ 1 − θ 3θ 2 θ 2
  1 
3
   2  
 
0  3  13 2 2
  
= 1 0 0 0 − 1 0 0 3 0 3 −0
  0 
2
3
 1 1 2
0 32
 
= 1 0 0 − 0 3 3
8 3
2 2
θ3 = 9 − 9 0 − 9
θ3 h √ i
θ3 = = 2 3 2 − 3√1 2 0 − 3√1 2
||θθ ||
h √3 2 √ √ i
= 2 2 2 2
θ3 3 − 6 0 − 6

     
θ4 = θ 4 − θ 4θ > > >
1 θ 1 − θ 4θ 2 θ 2 − θ 4θ 3 θ 3

1  
3 0
    2  1 2 2
  0  
= 0 1 0 0 − 0 1 0 0 0 · 3
3
3 0 3 − 0 1 0 01· 0
 0 1 0
2 0
3
180 Capítulo 6. Formas alternas del filtro de Kalman

 √ 
2 2
3√
− 62  2√2
 √ √ i
  h
− 0 1 0 0  · 3 − 62 0 − 6
2
 0√ 
− 2
  26 4
0 − 9 9 0 94 + 29 1 1 1
− 12
     
= 0 1 0 − 18 0 − 18 = 0 2 0
θ4
θ4 =
||θθ 4 ||2
r r √
1 1 1 1 2
||θθ 4 ||2 = 0+ +0+ = =√ =
4 4 2 2 2
h √ √ i
= 2 2
θ4 0 2 0 − 2
 1 2 2

3 3 0 3
 0 1√ 0 0√ 
 √
=

θ 2 2
−√ 62 0 − √62 

 3
2
0 2 0 − 22

Ejemplo 6.2.4 Supóngase que en el tiempo (k − 1) el filtro de Kalman tiene la matriz del
sistema, la covarianza del ruido del proceso y la raíz cuadrada de la covarianza de estimación
a posteriori dadas por
     
1 1 0 0 1 0
Fk−1 = ; Qk−1 = ; Γ+
k−1 =
0 1 0 2 0 1

1/2 >/2
Puede verificarse que la raíz cuadrada de Qk−1 (tal que Qk−1 Qk−1 = Qk−1 ) está dada por
 
1/2 0 0
Qk−1 =
−1 −1

La Ecuación (6.17) se puede resolver, v.gr., aplicando el algoritmo de Gram–Schmidt modifi-


cado, es decir,
" + > > # " − >#

Γk−1 ) Fk−1 (Γ
Γk )
θ >/2
=
Qk−1 0
√ √   √ √ 
5 5 0 0 1 0 20 5
1  1 −1 2 2  1 1  1  0 −5 
√   = √  
10 −2 −2
 1
√ √1
  0 −1  10  0 0 
0 0 − 5 5 0 −1 0 0

La submatriz 2 × 2 superior, al lado derecho de la anterior ecuación, es igual a (Γ Γ− >


k ) . Así,
ésta indica que la raíz cuadrada de la covarianza de la estimación a priori en el tiempo k está
6.2 Filtrado de raíz cuadrada 181

dada por √ 
1
Γ−
k = √
√20 0
10 5 −5
De esto se puede inferir que la covarianza de estimación a priori en el tiempo k está dada como
 
− − > 2 1
P−
k = Γ k (Γ
Γ k ) =
1 3

En efecto, una implementación directa de la ecuación de actualización en el tiempo para la


covarianza de estimación del error da
 
2 1
P−
k = F P+
F>
k−1 k−1 k−1 + Q k−1 =
1 3

lo cual confirma el resultado de la raíz cuadrada. Sin embargo, la actualización en el tiempo


de la raíz cuadrada tiene básicamente el doble de la precisión de la ecuación de tiempo de
actualización estándar.

Algoritmo de actualización de la medida de raíz cuadrada de Potter


La ecuación de actualización de la medida de raíz cuadrada discutido aquí se basa en el
algoritmo de J. Potter, el cual fue desarrollado para el programa espacial Apolo de la NASA
[8], [47] y modificado por A. Andrews para manejar medidas vectoriales [2]. Recordando de la
Ecuación (5.54) que la expresión para la actualización de la medida de la covarianza estimada,
dada como

P+
k = (I − Kk Hk )Pk (6.34)
se puede procesar la medición de una en una utilizando el llamado filtro de Kalman secuencial

[15]. Esto es, primero se inicializa P+
0k = Pk . Entonces, para i = 1, . . . , r (donde r es el número
de mediciones), se calcula
>
P+
i−1,k Hik
Kik =
Hik P+ >
i−1,k Hik + Rik (6.35)
P+ +
ik = (I − Kik Hik )Pi−1,k

donde Hik es la i-ésima fila de Hk y Rik es la varianza de la i-ésima medición; se asume, que
Rk es diagonal. Supóngase que se tiene la raíz cuadrada de P+i−1,k tal que Pi−1,k = Γ i−1,k Γ i−1,k .
+ + +>

Entonces Kik puede escribirse como

Γ+ +> >
i−1,k Γi−1,k Hik
Kik = (6.36)
Hik Γ + +> >
i−1,k Γ i−1,k Hik + Rik

ik puede escribirse como


y P+

Γ+ +> >
!
i−1,k Γ i−1,k Hik Hik
P+
ik = I− Γ+ +>
i−1,k Γ i−1,k
Hik Γ + +> >
i−1,k Γ i−1,k Hik + Rik
182 Capítulo 6. Formas alternas del filtro de Kalman

Γ+ +> > +
!
i−1,k Γ i−1,k Hik Hik Γ i−1,k
P+
ik = Γ+
i−1,k − Γ +>
i−1,k
Hik Γ + +> >
i−1,k Γ i−1,k Hik + Rik
P+ + +> +
φ φ > )Γ
ik = Γ i,k Γ i,k = Γ i−1,k (I − αφ Γ+>
i−1,k (6.37)

donde φ y α están definidos como

> 1
φ = Γ +>
i−1,k Hik α = (6.38)
φ > φ + Rik

Se puede demostrar (ver Ejemplo 6.2.5 a continuación) que

I − αφφ φ > = (I − αγφφ φ > )2 (6.39)

donde γ está dado (ver Ejemplo 6.2.5 a continuación) como,


1
γ= √ (6.40)
1 ± αRik

Ya sea el signo más o el menos se puede usar para el cálculo de γ. Sustituyendo la Ecuación
(6.39) en la Ecuación (6.37) se obtiene

Γ+ +
φ φ >)
ik = Γ i−1,k (I − αγφ (6.41)

Esto da como resultado un algoritmo de actualización de la medida de raíz cuadrada. Aunque


el filtro de raíz cuadrada mejora las características del filtro de Kalman, también aumenta los
requerimientos computacionales.

Ejemplo 6.2.5 Verificar la Ecuación (6.39).


Solución:
Desarrollando el cuadrado del miembro del lado derecho se obtiene

I − αφφ φ > = (I − αγφφ φ > )2


I − αφφ φ > = I − 2αγφφ φ > + (αγφφ φ > )2
0 = αφφ φ > − 2αγφφ φ > + (αγφφ φ > )2 (6.42)

Tomando la transpuesta de la Ecuación (6.42)

0 = αφφ > φ − 2αφφ > φ γ + (αφφ > φ )2 γ 2


= (αφφ > φ )(1 − 2γ + αφφ > φ γ 2 ) (6.43)

Puesto que φ es definida positiva, entonces la Ecuación (6.49) será válida para el caso

0 = 1 − 2γ + αφφ > φ γ 2 (6.44)


6.2 Filtrado de raíz cuadrada 183

Algoritmo 7 Actualización de la medida de raíz cuadrada de Potter.


Inicialización
1. raíz cuadrada de la covarianza a priori Γ − −
k y el estimado del estado a priori x̂k :


x̂+
0k = x̂k

(6.45)
Γ+
0k = Γ k

2. Realizar
for i = 1 to r do
(a) Definir:
(i) Hik ← i-ésima fila de Hk ,
(ii) yik ← i-ésimo elemento de yk ,
(iii) Rik ← varianza de la i-ésima medición (Rk diagonal).
(b) Calcular:
>
φ i = Γ +>
i−1,k Hik
1
αi =
φ>i i + Rik
φ
1
γ= √ (6.46)
1 ± αi Rik
>
Γ+ +
ik = Γ i−1,k (I − αi γi φ i φ i )
Kik = αi Γ +
ik φ i
x̂+ + +
ik = x̂i−1,k + Kik (yik − Hik x̂i−1,k )

end for
3. raíz cuadrada de la covarianza a posteriori y el estimado del estado a posteriori

Γ+ +
k = Γ rk
(6.47)
x̂+ +
k = x̂rk

De la Ecuación (6.38)

αφφ > φ + αRik = 1


αφφ > φ = 1 − αRik (6.48)

Sustituyendo (6.48) en (6.44) se obtiene

0 = 1 − 2γ + (1 − αRik )γ 2 ; es decir,
184 Capítulo 6. Formas alternas del filtro de Kalman

αRik γ 2 = 1 − 2γ + γ 2 = (1 − γ)2
p
± αRik γ = 1 − γ
p
γ ± αRik γ = 1
1
γ= √ (6.49)
1 ± αRik

El cual es el factor de ajuste de modo que se cumpla la Ecuación (6.39).

Ejemplo 6.2.6 Supóngase que se tiene un sistema LTI con


   
1 0 1 0
P−
k = F =
0 1 0 1
 
  0 0
H= 1 0 Q=
0 0

Si se tuviera un computador de precisión infinita, la ganancia de Kalman exacta y la covarianza


a posteriori en el tiempo k estarían dadas por
" #
1
Kk = P− > − >
k H (HPk H + R)
−1
= 1+R
0
" #
R
− 0
P+
k = (I − Kk H)Pk =
1+R
0 1

La covarianza a posteriori y la ganancia de Kalman en el siguiente paso de tiempo (k + 1)


estarían dadas por
" #
R
− + > 1+R 0
Pk+1 = FPk F + Q =
0 1
" # (6.50)
1
Kk+1 = P− > − >
k+1 H (HPk+1 H + R)
−1
= 2+R
0

Ahora considérese la implementación en un computador digital de precisión finita. Supóngase


que la covarianza de medición R  1. La covarianza√ R es un número pequeño tal que debido
al redondeo en el computador, 1 + R u 1, pero 1 + R > 1. Los valores de redondeo de la
ganancia Kalman y la covarianza a posteriori en el tiempo k estarán dadas por
" #  
1
1+R 1
Kk = =
0 0
 
+ − 0 0
Pk = (I − Kk H)Pk =
0 1
6.2 Filtrado de raíz cuadrada 185

Nótese que P+
k se ha convertido en singular debido a las limitaciones numéricas del computador.
Los valores de redondeo de la covarianza a priori y la ganancia de Kalman en el siguiente
paso de tiempo (k + 1) estarán dados por
 
− + > 0 0
Pk+1 = FPk F + Q =
0 1
  (6.51)
− > − > −1 0
Kk+1 = Pk+1 H (HPk+1 H + R) =
0

Las limitaciones numéricas del computador han dado como resultado una ganancia de Kalman
cero, mientras que la ganancia de Kalman de precisión infinita, como se indica en la Ecuación
>
(6.50), es de aproximadamente 1/2 0 . Ahora supóngase que se implementa la ecuación


de actualización de la medida usando el algoritmo de Potter. Se comienza con


 
− 1 0
Γk = (6.52)
0 1

sólo se tiene que iterar la Ecuación (6.46) una vez, ya que sólo se tiene una medición. Los
valores alrededor de los parámetros dados en la Ecuación (6.46) son
 
1
φ = (ΓΓ−
k )> >
H =
0
1 1
α= > = ≈1
φ φ +R 1+R

1 1
γ= √ = √
1 + αR 1 + R
" √ #
R
√ 0
Γ+
k = Γ− φ φ >) =
k (I − αγφ
1+ R
0 1

Nótese que Γ+ +>


k Γk es no singular. Los valores alrededor de la raíz cuadrada de la covarianza
a priori, los parámetros de la Ecuación (6.46) y la ganancia de Kalman en el siguiente paso de
tiempo (k + 1) estarán dados por

Γ− +
k+1 = Γ k
" √ #
R

φ Γ−
= (Γ > >
k+1 ) H = 1+ R
0
√ √
1 1+R+2 R 1+2 R (6.53)
α= > = √ ≈ √
φ φ + R R2 + 2R + 2R R 2R(1 + R)
√ " R √
# " 1√
#
1 + 2 R
Γ−
Kk+1 = αΓ k+1 φ ≈ √ 1+R+2 R ≈ 2(1+ R)
2R(1 + R) 0 0
186 Capítulo 6. Formas alternas del filtro de Kalman

Nótese que la ganancia de Kalman redondeada es casi idéntica a la ganancia de Kalman exacta
dada por la Ecuación (6.50). Esto demuestra el beneficio que se puede obtener mediante el uso
del filtro de raíz cuadrada.
6.3 Filtro de información
En esta sección, se discute el filtro de información. Esta es una implementación del filtro
de Kalman que propaga la inversa de P en lugar de la propagación de P; esto es, el filtro de
información propaga la matriz de información del sistema. Recordando que

P = E (x − x̂)(x − x̂)> (6.54)




Esto es, P representa la incertidumbre en el estimado del estado. Si P es “grande” entonces se


tiene mucha incertidumbre en el estimado del estado. En el límite, cuando P → ∞, se tiene
cero conocimiento de x y cuando P → 0, se tiene perfecto conocimiento de x. La matriz de
información se define como
I = P−1 (6.55)
Esto es, I representa la certeza en el estimado del estado. Si I es “grande” entonces se tiene
mucha confianza en el estimado del estado. En el límite, cuando I → ∞, se tiene perfecto
conocimiento de x y cuando I → 0, se tiene cero conocimiento de I.
Recordando de la Ecuación (5.54) que la expresión de actualización de la medida para P
puede escribirse como
(P+
k )
−1
= (P−
k )
−1
+ H> −
k Rk H k (6.56)
sustituyendo la definición de I en esta ecuación da

I+
k = Ik + Hk Rk Hk
> −
(6.57)

Esto da la ecuación de actualización de la medición para la matriz de información. Recordando


de la Ecuación (5.53) que la expresión de actualización en el tiempo para P:

P− + >
k = Fk−1 Pk−1 Fk−1 + Qk−1 (6.58)

Esto implica que


h i−1
I−
k = Fk−1 (Ik−1 ) Fk−1 + Qk−1
+ −1 >
(6.59)

Ahora se puede usar el lema de inversión de matrices, el cual se vuelve a replantear aquí:
−1 −1
(A + BD−1 C) = A−1 − A−1 B(D + CA−1 B) CA−1 (6.60)

k−1 y D = Ik−1 , entonces se


+
Si se hacen las identificaciones A = Qk−1 , B = Fk−1 , C = F>
puede aplicar el lema de inversión de matrices a la Ecuación (6.59) para obtener

I−
k = Qk−1 − Qk−1 Fk−1 (Ik−1 + Fk−1 Qk−1 Fk−1 ) Fk−1 Qk−1
−1 −1 + > −1 −1 > −1
(6.61)

Esto da la ecuación de actualización del tiempo para la matriz de información. El filtro de


información puede resumirse en el Algoritmo 8.
6.3 Filtro de información 187

Algoritmo 8 Filtro de información.


1. Dinámica del sistema:
xk = Fk−1 xk−1 + Gk−1 uk−1 + vk−1
yk = Hk xk + wk
vk ∼ (0, Qk )
wk ∼ (0,Rk )
E{vk v>j } = Qk δk− j
E{wk w>j } = Rk δk− j
E{vk w>j } = 0
2. Inicialización del filtro de Kalman:
x̂+
0 = E{x }
 0 + > −1
I0 = E (x0 − x̂+
+ 
0 )(x0 − x̂0 )
3. Cálculo del filtro de información:
for k = 1 to n do
I−
k = Qk−1 − Qk−1 Fk−1 (Ik−1 + Fk−1 Qk−1 Fk−1 ) Fk−1 Qk−1
−1 −1 + > −1 −1 > −1

Ik = Ik + H>
+ −1
k Rk H k
Kk = (Ik ) Hk Rk
+ −1 > −1
(6.62)
x̂− +
k = Fk−1 x̂k−1 + Gk−1 uk−1
x̂k = x̂k + Kk (yk − Hk x̂−
+ −
k )

end for

Las ecuaciones del filtro de Kalman estándar requieren la inversión de una matriz r ×r, donde
r es el número de mediciones. Las ecuaciones del filtro de información requiere al menos un
par de inversiones de matrices n × n, donde n es el número de estados. Por lo tanto, si r  n (es
decir, se tiene significativamente más mediciones que estados) puede ser computacionalmente
más eficiente usar el filtro de información. Se podría argumentar que, dado que la ganancia de
Kalman se da como
> −1
Kk = P+ k Hk Rk (6.63)
se tiene que realizar e invertir de todos modos una matriz r × r sobre Rk , si se usa el filtro
de Kalman estándar o el filtro de información. Pero si Rk es constante, entonces se podría
invertir ésta como parte del proceso de inicialización. Así, la ecuación de ganancia de Kalman,
después de todo, puede no requerir esta inversión de una matriz r × r. La misma idea se aplica
también a la inversión de Qk−1 . Si la incertidumbre inicial es infinita, no se puede escoger
0 → ∞, pero se puede escoger numéricamente I0 = 0. Esto hace el filtro de
+
numéricamente P+
información matemáticamente más preciso para el caso de certeza inicial cero. Sin embargo,
si la incertidumbre inicial es cero (es decir, se tiene perfecto conocimiento de x0 ), se puede
0 = 0, pero no se puede escoger numéricamente I0 → ∞. Esto
+
escoger numéricamente P+
hace el filtro de Kalman estándar, matemáticamente más preciso para el caso de incertidumbre
inicial cero.
Ejemplo 6.3.1 Una masa radiactiva tiene una vida media de τ s. A cada paso de tiempo k el
número de partículas emitidas x es la mitad de las emitidas en el paso de tiempo anterior, pero
188 Capítulo 6. Formas alternas del filtro de Kalman

hay algún error vk (media cero con varianza Qk ) en el número de partículas emitidas debido a
la radiación de fondo. En cada paso de tiempo el número de partículas emitidas se cuenta con
dos instrumentos separados e independientes. Ambos instrumentos tienen un error aleatorio en
cada paso de tiempo que es de media cero con una varianza unidad. La incertidumbre inicial en
el número de partículas radiactivas es una variable aleatoria con media cero y varianza unidad.

1. Las ecuaciones de tiempo discreto que modelan este sistema tienen una variable de estado
unidimensional y una de medición de dos dimensiones. Utilizar el filtro de información
para calcular las matrices de información a priori y a posteriori en k = 1 y k = 2.
Supóngase que Q0 = 1 y Q1 = 5/4.
2. Otra forma de resolver este problema es darse cuenta que las dos mediciones pueden
promediarse formando una única medida con una variación más pequeña que las dos
medidas independientes. ¿Cuál es la varianza de la medida promedio en cada paso de
tiempo? Usar las ecuaciones del filtro estándar de Kalman para calcular las matrices de
covarianza a priori y a posteriori en k = 1 y k = 2 y comprobar que son las inversas de
las matrices de información que se calcularon en la parte 1.

Solución:
El modelo del sistema está dado como
1
xk = xk−1 + vk−1
2 
1
yk = x + wk
1 k

donde vk ∼ (0,Qk ) y wk ∼ (0,I).


1. Las expresiones de la matriz de información están dadas en las ecuaciones (6.62), de las
cuales se obtiene

Ik− = Q−1
k−1 − Qk−1 F (Ik−1 + F Qk−1 ) Qk−1
−1 2 + 2 −1 −1 −1

1 F2 1
= − · +
Qk−1 Qk−1 Ik−1 + F 2
2
Q k−1

1 F2 1
I1− = − 2· +
Q0 Q0 I + F 2
0 Q0
1 1 4
= 1− · =
4 1 + 14 5
− −
I+
k = Ik + Hk Rk Hk = Ik + Hk I Hk
> −1 > −1
  
 1 0 1
Ik+ = Ik− + 1 1

0 1 1
4 14
I1+ = +2 =
5 5
6.3 Filtro de información 189

1 F2 1
I2− = − 2· +
Q1 Q1 I + F 2
1 Q1
4 1 42 1 4 4 1 56
= − · · 14
= − · =
5 4 52 5 + 14 · 45 5 25 14
5 + 15 75
I2+ = I2− + 2
56 206
I2+ = +2 =
75 75
2. Supóngase que se tienen dos mediciones independientes del escalar x, cada una con varian-
za R. Entonces la varianza de la medición promedio se calcula como
( 2 ) ( 2 )
1 1 1
E (y + y2 ) − x =E (y − x) + (y2 − x)
2 1 2 1 2
h 
w1 w2 2 i
=E +
2 2
R R R
= + =
4 4 2
En este problema cada medición tiene una varianza unidad, por lo que la varianza de la medición
promedio es 1/2. Se pueden utilizar las ecuaciones (5.53) y (5.54) para obtener

Pk− = F 2 Pk−1
+
+ Qk−1
P1− = F 2 P0+ + Q0
1 5
= +1 =
4 4
P1+ = [(P1− )−1 + H > R−1 H]−1
 −1
4 5
= +2 =
5 14

1 5 5 75
P2− = · + =
4 14 4 56
P2+ = [(P2− )−1 + 2]−1
 −1
56 75
= +2 =
75 206

Nótese que las cantidades Pi− y Pi+ obtenidas aquí, son las inversas de las cantidades I1− e
I1+ obtenidas en la parte 1.
190 Capítulo 6. Formas alternas del filtro de Kalman

6.4 Resumen
En este capítulo se han estudiado algunos modelos alternos del filtro de Kalman. Uno de estos
modelos es el filtro de información.
El filtro de información es equivalente al filtro Kalman, pero se propaga a la inversa de la
covarianza. Esto puede ser computacionalmente beneficioso en los casos en los que el número
de mediciones es mucho mayor que el número de estados. El filtrado de raíz cuadrada aumenta
de manera efectiva la precisión del filtro de Kalman.
Aunque estos enfoques requieren esfuerzo computacional adicional, pueden ayudar a prevenir
la divergencia y la inestabilidad. Hay una excelente y completa visión del filtrado de raíz
cuadrada en [13].
Existe un número de diferentes opciones en la aplicación de un filtro de Kalman. En este
capítulo se han tratado dos modelos
• Filtrado estándar, filtrado de raíz cuadrada
• Filtrado de información o filtrado de covarianza.
Cualquiera de estas opciones se pueden hacer en forma independiente o combinada con las
demás. Por ejemplo, se puede optar por combinar el filtrado de información con el filtrado de
raíz cuadrada [47].
Una comparación numérica de diversas formulaciones de filtro de Kalman (incluyendo el
filtro estándar, el filtro de covarianza, el filtro de raíz cuadrada, el filtro de información con
raíz cuadrada y otros, como el algoritmo de Chandrasekhar) se da en [74]. Comparaciones
numéricas y computacionales de distintos enfoques de filtrado de Kalman se dan en [11], [12].
El filtrado de raíz cuadrada en tiempo continuo se discute en [57].
7 Generalización del filtro de Kalman

El primer paso es establecer que algo es posible; entonces la


probabilidad ocurrirá.

Elon Musk

7.1 Introducción

E n los últimos capítulos se dedujo el filtro de Kalman en tiempo discreto y luego se


presentaron formulaciones alternas pero matemáticamente equivalentes. En este capítulo
se discutirán algunas generalizaciones del filtro de Kalman que lo harán más flexible y efectivo
para una más amplia clase de problemas. Por ejemplo, en la deducción del filtro de Kalman
dada en el Capítulo 5 se asumió que el ruido del proceso y el ruido de las mediciones no estaban
correlacionados. Más adelante, en este capítulo, se mostrará que si el ruido del proceso y de la
medición son correlacionados, las ecuaciones del filtro de Kalman sufren modificaciones. La
deducción del Capítulo 5 también supone que el ruido del proceso y de la medida son ruidos
blancos. En este capítulo se modificará el filtro de Kalman para tratar el ruido coloreado del
proceso y de la medición.

7.2 Simulación de ruido correlacionado

En la investigación y experimentación de filtrado óptimo, a menudo se tiene que simular el


ruido blanco correlacionado. Es decir, se tienen que crear vectores aleatorios cuyos elementos
están correlacionados entre sí de acuerdo con alguna matriz de covarianza predefinida. En esta
sección, se va a presentar una forma de lograr esto.

191
192 Capítulo 7. Generalización del filtro de Kalman

Supóngase que se desea generar un vector aleatorio v de n elementos el cual tiene media y
la covarianza Q:  2 
σ1 . . . σ1n
Q =  ... ..
. (7.1)
 

σ1n ... σn2
Puesto que Q es una matriz de covarianza, se sabe que todos sus valores propios son reales y
no negativos. Por tanto, sus valores propios se pueden denotar como µk2

λ (Q) = µk2 k = 1, . . . ,n (7.2)

Suponiendo que los autovectores de Q encontrados son d1 , . . . , dn , se reúnen de modo que se


obtenga una matriz D ∈ Rn×n . Puesto que Q es simétrica, se pueden seleccionar siempre los
autovectores tales que D sea ortogonal, esto es, D−1 = D> . Por lo tanto, se puede obtener la
descomposición en forma de Jordan de Q como

Q = DQ̂D> (7.3)

donde Q̂ es la matriz diagonal de los autovalores de Q. Esto es

Q̂ = diag(µ12 , . . . , µn2 ) (7.4)

Ahora se define el vector aleatorio v como v = D−1 w, de modo que w = Dv, Por lo tanto,

Algoritmo 9 Simulación de ruido correlacionado

1. Encontrar los autovalores de Q y denotarlos como µ12 , . . . , µn2


2. Encontrar los autovectores de Q y denotarlos como d1 , . . . , dn , tal que
 
D = d1 · · · dn
D−1 = D>
3. Calcular la variable aleatoria vi
for i = 1 to n do
vi = µi ri {ri ∼ (0,1) }
end for
4. Calcular w:

w = Dv
7.3 Correlación del ruido del proceso y de la medida 193

E{ww> } = E{D> vv> D}


= D> E{vv> }D
= D> QD
= Q̂
= diag(µ12 , . . . , µn2 ) (7.5)

Esto muestra como se puede generar un vector aleatorio v de n elementos con una matriz de
covarianza Q. En el Algoritmo 9 se muestra el procedimiento.

7.3 Correlación del ruido del proceso y de la medida

La deducción del filtro de Kalman en el Capítulo 5 supone que el ruido del proceso y de la
medida no son correlacionados. En esta sección, se va a demostrar cómo el ruido correlacionado
del proceso y de la medición cambia las ecuaciones de filtro de Kalman. Supóngase que se
tiene un sistema dado por

xk = Fk−1 xk−1 + Gk−1 uk−1 + vk−1


yk = Hk xk + wk
vk ∼ (0,Qk )
wk ∼ (0,Rk ) (7.6)
>
E{vk v j } = Qk δk− j
E{wk w>j } = Rk δk− j
E{vk−1 w>j } = Sk δk− j

Se ve que el ruido del proceso en la ecuación del sistema está correlacionado con el ruido
de las mediciones, con la covarianza cruzada dada por Sk δk− j . En la deducción del filtro de
Kalman en el Capítulo 5, se asume que Sk es cero, pero en esta sección no se tendrá en cuenta
esta suposición. Para tener más claridad conceptual supóngase, por ejemplo, que el sistema es
un avión en vuelo con el viento golpeándolo. Se utiliza un anemómetro para medir la velocidad
del viento como una entrada al filtro de Kalman. Así, las ráfagas aleatorias de viento afectan
tanto al proceso (es decir, la dinámica del avión) como a la medida (es decir, la velocidad del
viento detectada). Se ve que hay una correlación entre el ruido del proceso y el ruido de las
mediciones. De la ecuación anterior, se observa que el ruido del proceso en el tiempo k está
correlacionado con el ruido de la medición en el tiempo (k + 1); esto es, vk está correlacionado
con wk+1 . Esto es porque vk afecta al estado en el tiempo (k + 1), así como wk+1 afecta las
mediciones en el tiempo (k + 1).
Con el fin encontrar las ecuaciones del filtro de Kalman teniendo en cuenta el ruido correla-
cionado del sistema, se definen los errores de estimación de la siguiente manera:

ε− −
k = xk − x̂k
(7.7)
ε+ +
k = xk − x̂k
194 Capítulo 7. Generalización del filtro de Kalman

Como en el desarrollo original del filtro de Kalman del Capítulo 5, todavía se asume que las
ecuaciones de actualización para la estimación de estado se dan como sigue

x̂− +
k = Fk−1 x̂k−1 + Gk−1 uk−1
− −
(7.8)
x̂+
k = x̂k + Kk (yk − Hk x̂k )

La matriz de ganancia Kk no es la misma como la desarrollada en el Capítulo 5, pero la forma


de las ecuaciones de actualización de medidas es aún la misma. La Ecuación (7.7) puede
expandirse usando las ecuaciones anteriores como

ε− −
k = xk − x̂k
= (Fk−1 xk−1 + Gk−1 uk−1 + vk−1 ) − (Fk−1 x̂+
k−1 + Gk−1 uk−1 )
= Fk−1 ε +
k−1 + vk−1
− − (7.9)
ε+
k = xk − [x̂k + Kk (yk − Hk x̂k )]
= ε k − Kk (Hk xk + wk − Hk x̂−

k )
= ε− −
k − Kk (Hk ε k + wk )

La covarianza del error estimado a priori y a posteriori puede escribirse como

P−
 − − >
k = E ε k (ε εk )
>
= Fk−1 P+
k−1 Fk−1 + Qk−1 (7.10)

 + + >
P+
k = E ε k (εεk )
n > o
= E ε− −
 − −
k − K k (H ε
k k + w k ) ε k − K k (H ε
k k + w k )
 − − − > − > > >
= E ε k − Kk Hk ε k − Kk wk (εε k ) − (εε k ) Hk Kk − w> >
 
k Kk
= P− − > >
ε−
k − Pk Hk Kk − E{ε
> > − − > >
k wk }Kk − Kk Hk Pk + Kk Hk Pk Hk Kk +
+ Kk Hk E{εε − > > ε−
k wk }Kk − Kk E{wk (ε
> ε−
k ) } + Kk E{wk (ε
> > >
k ) }Hk Kk +
+ Kk E{wk w> >
k }Kk (7.11)

Con el fin de simplificar P+k en la Ecuación (7.11), se requiere encontrar una expresión para
E{εε − w
k k
>
}. Ésta se puede calcular como

E ε− > − >
 
k wk = E (xk − x̂k )wk
− >
= E xk w>

k − x̂k wk
 − >
= E (Fk−1 xk−1 + Gk−1 uk−1 + vk−1 )w>

k − E x̂k wk
 − >
= Fk−1 E xk−1 w> > >
  
k + Gk−1 E uk−1 wk + E vk−1 wk − E x̂k wk
= 0 + 0 + Sk − 0 (7.12)

En la anterior ecuación, el primer término es 0 porque xk−1 es independiente de wk y wk es de


7.3 Correlación del ruido del proceso y de la medida 195

media cero. El segundo término es 0 porque uk−1 es independiente de wk . El último término


es 0 porque el estado estimado a priori en el tiempo k es independiente de wk . De la misma
forma se obtiene
E wk (εε − >
= S>

k ) k

Sustituyendo estas expresiones para E{εε − > ε−


k wk } y E{wk (ε
>
k ) } en la Ecuación (7.10) se obtiene

− − > − > > − > >


P+
k = Pk − Kk Hk Pk − Kk Sk − Pk Hk Kk + Kk Hk Pk Hk Kk +
+ Kk S> > > > > >
k Hk Kk − Sk Kk + Kk Hk Sk Kk + Kk Rk Kk
= (I − Kk Hk )P− − > >
k − (I − Kk Hk )Pk Hk Kk +
+ Kk (Hk Sk + S> > > > >
k Hk + Rk )Kk − Sk Kk − Kk Sk
= (I − Kk Hk )P− > > > >
k (I − Kk Hk ) + Kk (Hk Sk + Sk Hk + Rk )Kk
− Sk K> >
k − Kk Sk (7.13)

Ahora se necesita encontrar la matriz de ganancia Kk que minimize tr(P+


k ). Recordando de la
Ecuación (2.25) que

∂ tr(ABA> )
= 2AB si B es simétrica
∂A
Y además del Apéndice A, las expresiones (A.2) y (A.4) que se reescriben a continuación

∂ ∂
tr(XA) = A> ; tr(AX> ) = A
∂X ∂X
A partir de estos datos se obtiene la siguiente expresión para la derivada

∂ tr(P+
k )
= −2(I − Kk Hk )P− > > >
k Hk + 2Kk (Hk Sk + Sk Hk + Rk ) − 2Sk
∂ Kk
= 2 Kk (Hk P− > > > − >
(7.14)
 
k Hk + Hk Sk + Sk Hk + Rk ) − Pk Hk − Sk

Haciendo la ecuación anterior igual a cero y despejando la ganancia Kk , se obtiene

Kk = (P− > − > > >


k Hk + Sk )(Hk Pk Hk + Hk Sk + Sk Hk + Rk )
−1
(7.15)

Esta es la matriz de ganancia de Kalman óptima para el sistema con ruido del proceso y de la
medida correlacionados. La covarianza del error de estimación se obtiene de la Ecuación (7.13)
196 Capítulo 7. Generalización del filtro de Kalman

haciendo Šk = Hk P− > > >


k Hk + Hk Sk + Sk Hk + Rk como

− > > > >


P+
k = (I − Kk Hk )Pk (I − Kk Hk ) + Kk (Hk Sk + Sk Hk + Rk )Kk −
− Sk K> >
k − Kk Sk =
= P− > − − > > > >
k + Kk Šk Kk − Kk Hk Pk − Pk Hk Kk − Sk Kk − Kk Sk
= P− − > −1 > − > − > >
k + (Pk Hk + Sk )Šk Šk Kk − Kk (Hk Pk + Sk ) − (Pk Hk + Sk )Kk
= P− − > > − > − > >
k + (Pk Hk + Sk )Kk − Kk (Hk Pk + Sk ) − (Pk Hk + Sk )Kk
= P− − >
k − Kk (Hk Pk + Sk ) (7.16)

Esta es la ecuación de actualización de medidas para la covarianza del error de estimación del
filtro de Kalman con ruido del proceso y de las mediciones correlacionados. Las ecuaciones de
actualización de la medida para la estimación de estados son las mismas del filtro de Kalman
estándar y se dan en el conjunto de ecuaciones (7.8). Las ecuaciones de actualización en el
tiempo para la estimación de estado y la covarianza del error de estimación también son las
mismas como antes. El filtro de Kalman para el sistema con ruido correlacionado del procesos
y de las mediciones se puede resumir en el Algoritmo 10. La segunda forma para P+ k y la
segunda forma para Kk se pueden desarrollar siguiendo un procedimiento similar tal como el
mostrado en la Sección 4.5. Nótese que esta es una generalización del filtro de Kalman la cual
se presentó en las ecuaciones (5.54), en particular la última. Si Sk = 0, entonces la expresión
anterior se reduce a la última ecuación de (5.54).

Ejemplo 7.3.1 Considérese el siguiente sistema escalar

xk = 0.8xk−1 + vk−1
yk = xk + wk
>
E{vk v j } = 1δk− j
E{wk w>j } = 0.1δk− j
E{vk−1 w>j } = Sδk− j

Analizar la respuesta teniendo en cuenta la correlación entre el ruido del proceso y el ruido en
la medida.

Solución:
Se puede utilizar el método discutido en la Sección 7.2 para simular el ruido correlacionado.
Las ecuaciones del filtro de Kalman dadas anteriormente se pueden ejecutar a continuación
para obtener una estimación del estado. En la Figura 7.1 se muestra la respuesta a diferentes
niveles de correlación, con correlación cero y con valores de ±0.25.
La Tabla 7.1 muestra (para varios valores de S) la varianza del error de estimación para
el filtro de Kalman estándar (cuando se asume S = 0) y para el filtro de Kalman con ruido
correlacionado (cuando se utiliza el valor correcto de S). Cuando S = 0, las varianzas de error
de estimación son las mismas para los dos filtros, como se esperaba. Sin embargo, cuando
7.3 Correlación del ruido del proceso y de la medida 197

Algoritmo 10 Filtro de Kalman general de tiempo discreto.


1. Las ecuaciones del sistema y de la medición están dadas por

xk = Fk−1 xk−1 + Gk−1 uk−1 + vk−1


y k = H k x k + wk
vk ∼ (0,Qk )
wk ∼ (0,Rk ) (7.17)
E{vk v>j } = Qk δk− j
E{wk w>j } = Rk δk− j
E{vk−1 w>j } = Sk δk− j

2. El filtro de Kalman se inicializa como


x̂+
0 = E{x0 }
+ >
(7.18)
P0 = E (x0 − x̂+
+

0 )(x0 − x̂0 )

3. Para cada paso de tiempo k = 1,2, · · · , las ecuaciones del filtro de Kalman están dadas como

P− + >
k = Fk−1 Pk−1 Fk−1 + Qk−1
Kk = (P− > − > > >
k Hk + Sk )(Hk Pk Hk + Hk Sk + Sk Hk + Rk )
−1

> − −1 > − −1 −1
= P+
k (Hk + (Pk ) Sk )(Rk − Sk (Pk ) Sk )
x̂−
k = Fk−1 x̂+
k−1 + Gk−1 uk−1
x̂+
k = x̂− −
k + Kk (yk − Hk x̂k )
(7.19)
Pk+
= (I − Kk Hk )P− > > >
k (I − Kk Hk ) − Sk Kk − Kk Sk +
+ Kk (Hk Sk + S> >
k Hk + Rk )Kk
>
 − −1 − −1 > − −1
= (Pk ) + (H> k + (Pk ) Sk )(Rk − Sk (Pk ) Sk )
−1
×
− −1 −1
× (Hk + S>

k (Pk ) )
= P− − >
k − Kk (Hk Pk + Sk )

S 6= 0, el filtro que utiliza el valor correcto de S se desempeña notablemente mejor que el filtro
que asume incorrectamente que S = 0.
198 Capítulo 7. Generalización del filtro de Kalman

S = 0, SFiltro = 0 S = 0, SFiltro = 0
0.915 0.0915

0.914 0.0914

0.913 0.0913

0.912 0.0912

0.911 0.0911

0.91 0.091

0.909 0.0909
0 10 20 30 40 50 0 10 20 30 40 50
Tiempo Tiempo
(a) Ganancia de Kalman y covarianza del error de estimación sin correlación.

S = 0.25, S = 0.25 S = 0.25, S = 0.25


Filtro Filtro
0.7835 0.0242

0.783
0.024

0.7825
0.0238
0.782

0.0236
0.7815

0.781 0.0234
0 10 20 30 40 50 0 10 20 30 40 50
Tiempo Tiempo
(b) Ganancia de Kalman y covarianza del error de estimación con correlación(positiva).

S = −0.25, S = −0.25 S = −0.25, S = −0.25


Filtro Filtro
1.255 0.0655

1.25 0.065

0.0645
1.245
0.064
1.24
0.0635
1.235 0.063

1.23 0.0625
0 10 20 30 40 50 0 10 20 30 40 50
Tiempo Tiempo
(c) Ganancia de Kalman y covarianza del error de estimación con correlación (negativa).

Figura 7.1 Simulación del filtro de Kalman usando ruido del proceso y de la medida correlacionados.
S = correlación entre el ruido del proceso y el ruido de la medida. SFiltro = valor de S usado
en el filtro de Kalman.

Tabla 7.1 Valores experimentales de la varianza del error de estimación (50 pasos de tiempo) para el Ejem-
plo 7.1 cuando hay una covarianza cruzada S entre el ruido del proceso y el ruido de la medida. El
filtro estándar asume S = 0 y el filtro correlacionado utiliza el valor correcto de S. .

Correlación Filtro estándar Filtro correlacionado Varianza del error


S S = 0 asumido S correcto de medida
0.0 0.075732 0.075732 0.072582
0.25 0.030243 0.018754 0.060165
−0.25 0.117345 0.052264 0.091225
7.4 Ruido coloreado de proceso y medición 199

7.4 Ruido coloreado de proceso y medición

Para la deducción del filtro de Kalman en el Capítulo 5 se asumió que tanto el ruido del proceso
como el ruido de la medición son blancos. En esta sección, se mostrará cómo tratar el ruido
coloreado del proceso, y se presentarán dos métodos para tratar el ruido coloreado de medición.

7.4.1 Ruido coloreado del proceso

Si el ruido del proceso es coloreado, es relativamente fácil modificar las ecuaciones del sistema
y obtener un sistema equivalente pero de orden superior con ruido blanco del proceso [19].
Entonces se pueden aplicar las ecuaciones estándar del filtro de Kalman. Por ejemplo, supóngase
que se tiene un sistema LTV dado como

xk = Fxk−1 + vk−1 (7.20)

donde la covarianza de vk es igual a Qk . Además supóngase que el ruido del proceso es la


salida de un sistema dinámico:

vk = ψ vk−1 + ζ k−1 (7.21)

donde ζ k−1 es ruido blanco de media cero, no correlacionado con vk−1 . En este caso, se puede
ver que la covarianza entre vk y vk−1 es igual a

E vk v> > >


 
k−1 = E ψ vk−1 vk−1 + ζ k−1 vk−1
= ψ Qk−1 + 0 (7.22)

El cero surge porque vk−1 es independiente de ζ k−1 y ζ k−1 tiene media cero. Se ve que vk es
el ruido coloreado del proceso (ya que se correlaciona con sí mismo en otros pasos de tiempo).
Entonces se pueden combinar las ecuaciones (7.20) y (7.21) para obtener
      
xk F I xk−1 0
= +
vk 0 ψ vk−1 ζ k−1
x̌k = F̌x̌k−1 + v̌k−1 (7.23)

Este es un sistema aumentado con un nuevo estado x̌, una nueva matriz del sistema F̌ y un
nuevo vector de ruido del proceso v̌ cuya covarianza está dada por
 
0 n 0 o
 >
E v̌k v̌k = 0 E ζ k ζ > k

= Q̌k (7.24)

Ahora el filtro de Kalman estándar se puede ejecutar


n en este
o sistema aumentado que tiene
>
ruido de proceso blanco, siempre que se conozca E ζ k ζ k . El esfuerzo computacional se
200 Capítulo 7. Generalización del filtro de Kalman

incrementa porque la dimensión vector de estado se ha duplicado, pero conceptualmente este


es un enfoque sencillo para tratar el ruido coloreado del proceso.

7.4.2 Ruido coloreado de medición: aumento de estados

Ahora supóngase que se tiene ruido coloreado de la medida. El sistema y las ecuaciones de
medición están dadas como
xk = Fk−1 xk−1 + vk−1
y k = H k x k + wk
wk = ψ k−1 wk−1 + ζ k−1
vk ∼ N(0,Qk )
ζ k ∼ N(0,Qζ k ) (7.25)
E vk v>j = Qk δk− j

n o
>
E ζ k ζ j = Qζ k δk− j
n o
>
E vk ζ j = 0

El ruido de medición es en sí mismo la salida de un sistema lineal. La covarianza del ruido de


medición está dada como

E wk w> ψ k−1 wk−1 + ζ k−1 )w>


 
k−1 = E (ψ k−1
= ψ k−1 E wk−1 w> (7.26)

k−1

Hay varios enfoques para resolver el problema de ruido de medición coloreado. Este problema
fue resuelto por R. Bucy para sistemas en tiempo continuo en [19]. Aquí se resuelve el problema
en tiempo discreto mediante el aumento de estados. Éste fue originalmente propuesto en [18]
en el contexto de sistemas de tiempo continuo. Se aumenta el modelo original como sigue:
      
xk Fk−1 0 xk−1 vk−1
= +
wk 0 ψ k−1 wk−1 ζ k−1
  (7.27)
  xk
yk = Hk I +0
wk

Lo cual puede escribirse como

x̌k = F̌k−1 x̌k−1 + v̌k−1


(7.28)
y̌k = Ȟk x̌k + w̌k

El sistema es equivalente al sistema original pero tiene un estado modificado x̌, una matriz
de transición de estado F̌, un ruido del proceso v̌, una matriz de medición Ȟ y un ruido de
medición w̌. La covarianza del ruido del proceso y la covarianza del ruido de medición se
7.4 Ruido coloreado de proceso y medición 201

calculan como   h i  
 > vk > Qk 0
E v̌k v̌k = E v>
k ζk =
0 Qζ k
ζk (7.29)
>

E w̌k w̌k = 0
Como se puede observar, no hay ruido de medición, lo cual es equivalente a decir que el ruido
de medición es blanco con media cero y covarianza cero. Teóricamente, es bueno tener ruido
de medición cero en el filtro de Kalman. En efecto, el artículo original de Kalman [46] fue
escrito sin ninguna restricción sobre la singularidad de la covarianza del ruido de medición.
Pero en la práctica, una covarianza singular del ruido de medición frecuentemente resulta
en problemas numéricos [53], [70]. Por tal razón en la próxima subsección se presenta otro
enfoque para tratar el ruido coloreado de la medición.

7.4.3 Ruido coloreado de la medida: diferenciación de la medición

En esta subsección se presentará un método para tratar con ruido coloreado de la medida que
no se basa en aumentar el vector de estado. Este enfoque se debe a [17]. Como en la subsección
anterior, el sistema está dado por

xk = Fk−1 xk−1 + vk−1


yk = Hk xk + wk
wk = ψ k−1 wk−1 + ζ k−1
vk ∼ N(0,Qk )
ζ k ∼ N(0,Qζ k ) (7.30)
 >
E vk v j = Qk δk− j
n o
>
E ζ k ζ j = Qζ k δk− j
n o
>
E vk ζ j = 0

Ahora se escribe la señal yk en función de una señal auxiliar y̌k como sigue

yk = y̌k−1 + ψ k−1 yk−1 (7.31)

De donde,
y̌k−1 = yk − ψ k−1 yk−1 (7.32)
Sustituyendo yk y yk−1 en la Ecuación (7.32), se obtiene:

y̌k−1 = (Hk xk + wk ) − ψ k−1 (Hk−1 xk−1 + wk−1 )


= Hk (Fk−1 xk−1 + wk−1 ) + wk − ψ k−1 (Hk−1 xk−1 + wk−1 )
= (Hk Fk−1 − ψ k−1 Hk−1 )xk−1 + Hk vk−1 + wk − ψ k−1 wk−1
= (Hk Fk−1 − ψ k−1 Hk−1 )xk−1 + (Hk vk−1 + ζ k−1 )
= Ȟk−1 xk−1 + w̌k−1 (7.33)
202 Capítulo 7. Generalización del filtro de Kalman

donde

Ȟk−1 = Hk Fk−1 − ψ k−1 Hk−1 (7.34)


w̌k−1 = Hk wk−1 + ζ k−1 (7.35)

Se ve que se tiene una nueva ecuación de medición para la medida y̌k−1 , la cual tiene una
matriz de medición Ȟk−1 y un ruido de medida w̌k−1 . Por lo tanto, el sistema equivalente
nuevo puede escribirse como
xk = Fk−1 xk−1 + vk−1
(7.36)
y̌k = Ȟk xk + w̌k
La covarianza del nuevo ruido de medición w̌ y la covarianza cruzada entre el ruido del proceso
v y el nuevo ruido de medición w̌, puede obtenerse como
n o
>
E w̌k w̌> > >

k = E (Hk+1 vk + ζ k )(wk Hk+1 + ζ k )

= Hk+1 Qk H>
k+1 + Qζ k
n o (7.37)
>
E vk w̌> > >

k = E v (v H
k k k+1 + ζ k )
= Qk H>
k+1

Donde se ha usado el hecho que vk y ζ k son independientes y con media cero.


Ahora se definirán los estimados del estado a priori y a posteriori para el sistema de la
Ecuación (7.36) de una forma un poco diferente a lo que se tiene hasta este momento. El
estimado del estado x̂−
k en el tiempo k está definido como el valor esperado del estado xk
condicionado a las mediciones hasta el tiempo k inclusive,

x̂−
k = E{xk |y1 , · · · , yk } (7.41)

El estimado del estado x̂+


k en el tiempo k está definido como el valor esperado del estado xk
condicionado a las mediciones hasta el tiempo (k + 1) inclusive. Se asume que éste está dado
por una combinación lineal estándar predictor-corrector:

x̂+

k = E xk |y1 , · · · , yk+1
(7.42)
= x̂− −
k + Kk (y̌k − Ȟk x̂k )

Nótese que estas definiciones de x̂−k y x̂k son un poco diferentes a las definiciones usadas en
+

otras partes de este texto. Normalmente, x̂− k está basado en las mediciones hasta el tiempo
(k − 1) inclusive y x̂+
k se basa en las mediciones hasta el tiempo k inclusive. En esta sección,
ambos estimados se basan en una medida adicional. Como en el desarrollo anterior, se escoge
la ganancia Kk para minimizar la traza de la covarianza del error estimado. Esto se escribe
como
+ >
Kk = argmin tr E (xk − x̂+ (7.43)

k )(xk − x̂k )
No se darán los detalles aquí, pero en [17], se muestra que esta minimización conduce a las
ecuaciones del estimador dadas en el Algoritmo 11.
7.4 Ruido coloreado de proceso y medición 203

Algoritmo 11 El filtro de Kalman discreto con ruido de medida coloreado.


1. Ecuaciones del sistema y de la medida:

xk = Fk−1 xk−1 + vk−1


yk = Hk xk + wk
wk = ψ k−1 wk−1 + ζ k−1
vk ∼ N(0,Qk )
ζ k ∼ N(0,Qζ k ) (7.38)
 >
E vk v j = Qk δk− j
n o
>
E ζ k ζ j = Qζ k δk− j
n o
>
E vk ζ j = 0

2. Ecuaciones para el cálculo de y̌k y Ȟk :

y̌k−1 = yk − ψ k−1 yk−1


(7.39)
Ȟk−1 = Hk Fk−1 − ψ k−1 Hk−1

3. En cada paso de tiempo, se ejecutan las ecuaciones siguientes para actualizar el estimado
del estado.
− −
x̂+
k = x̂k + Kk (y̌k − Ȟk x̂k )
x̂− + −
k+1 = Fk x̂k + Ck (y̌k − Ȟk x̂k )
Kk = P− > − >
k Ȟk (Ȟk Pk Ȟk + Rk )
−1

Sk = Qk H>
k+1 (7.40)
Ck = Sk (Ȟk P− >
k Ȟk + Rk )
−1

P+
k = (I − Kk Ȟk )P− > >
k (I − Kk Ȟk ) + Kk Rk Kk
P−
k+1 = Fk P+ > > > > >
k Fk + Qk − Ck Sk − Fk Kk Sk − Sk Kk Fk
(Un enfoque similar para el filtro en tiempo continuo con ruido de medida coloreado está
dado en [69].)
204 Capítulo 7. Generalización del filtro de Kalman

Ejemplo 7.4.1 Considérese el siguiente sistema lineal con ruido de medida coloreado:

   
0.70 −0.15 0.15
xk = xk−1 + v
0.03 0.79 0.21 k−1
 
1 0
yk = x + wk
0 1 k
wk = ψwk−1 + ζ k−1

E vk v>j = 1δk− j

o  
0.05 0
n
>
E ζ kζ j = δ
0 0.05 k− j
n o
>
E vk ζ j = 0

El escalar ψ indica la correlación del ruido de medida. Si ψ = 0 entonces el ruido de medida


es blanco. Cuando ψ se incrementa, el color del ruido de medida se incrementa (es decir,
éste contiene más componentes de baja frecuencia y menos componentes de frecuencia alta).
Se simuló el filtro de Kalman para este sistema en tres formas: (a) Se simuló el filtro de
Kalman estándar haciendo caso omiso de la naturaleza del color del ruido de medición. (b) Se
aumentó el vector de estado como se describió en la Subsección 7.4.2, el cual tiene en cuenta
la naturaleza del color del ruido de la medición y entonces se simuló el filtro de Kalman. (c) Se
implementó el enfoque de diferenciación de la medida [17]), el cual de nuevo tomó en cuenta la
naturaleza coloreada del ruido de la medición y entonces simuló el filtro. La Tabla 7.2 muestra
los valores experimentales de la traza de la covarianza del error de estimación para los tres
filtros. Se ve que si ψ = 0 entonces los tres filtros en esencia se desempeñan idénticamente.

Tabla 7.2 Cuando se incrementa el contenido de color del ruido de medición (es decir, cuando ψ se incrementa),
los filtros para ruido coloreado mejoran su desempeño en comparación con el filtro estándar de Kalman..

Color ψ Filtro estándar Filtro aumentado Bryson y Henrikson


0.0 0.24478 0.24478 0.24478
0.2 0.25984 0.25839 0.25839
0.5 0.30780 0.29444 0.29444
0.7 0.38298 0.33785 0.33785
0.9 0.63092 0.40679 0.40679
0.95 0.84217 0.42675 0.42675
0.99 1.41940 0.44239 0.44239
Sin embargo, cuando ψ se incrementa (es decir, el color del ruido de medición aumenta) se
ve que los filtros que toman esto en cuenta proporcionan cada vez un mejor rendimiento en
comparación con el filtro estándar de Kalman. En la Figura 7.1, se puede observar la respuesta
en el tiempo de los filtros de Kalman estándar, aumentado y Bryson y Henrikson, para el
caso de ψ = 0.95. Nótese que hay mayor dispersión en el caso del filtro de Kalman estándar
7.5 Filtrado de estado estacionario 205

comparado con los otros casos. Este ejemplo muestra la mejora que es posible en el desempeño
aplicando los filtros para ruido coloreado de la medida.

7.5 Filtrado de estado estacionario


Muchas implementaciones del filtro de Kalman se codifican en sistemas integrados (en lugar
de computadores de escritorio) en los cuales la memoria y el esfuerzo computacional siguen
siendo de consideración primordial. Si el sistema subyacente es variante en el tiempo y las
covarianzas del ruido del proceso y de la medida igualmente son invariantes en el tiempo,
entonces se puede reemplazar el filtro de Kalman variable en el tiempo del Capítulo 5 con un
filtro de Kalman de estado estacionario. El filtro de estado estacionario frecuentemente funciona
casi tan bien como el filtro variable en el tiempo. El uso de un filtro de estado estacionario tiene
la ventaja de que no se tiene que calcular la covarianza del error de estimación o la ganancia
de Kalman en tiempo real. Nótese que un filtro de Kalman de estado estacionario sigue siendo
un sistema dinámico. El término filtrado de Kalman de “estado estacionario” significa que
el filtro de Kalman es invariante en el tiempo; esto es, la ganancia de Kalman está en estado
estacionario.
Como un ejemplo, se tomará el sistema escalar discutido en la Subsección 5.5.1:

xk+1 = xk + vk
yk = xk + wk
(7.44)
vk ∼ (0,1)
wk ∼ (0,1)

Se puede observar del ejemplo mencionado que la ganancia de Kalman converge a un valor de
estado estacionario después de unos pocos pasos de tiempo:

1+ 5
lı́m Kk = K∞ = √ (7.45)
k→∞ 3+ 5
Así que en lugar de realizar la ecuación de actualización de la medida para Pk , la ecuación
de actualización de tiempo para Pk y el cálculo de la ganancia de Kalman para Kk en cada
paso de tiempo, simplemente se puede usar la constante K∞ como la ganancia de Kalman en
cada paso de tiempo. Para un sistema con muchos estados, esto puede ahorrar mucho esfuerzo
computacional, especialmente considerando el hecho que esto permite evitar inversiones de
matrices en tiempo real. El filtro de Kalman de estado estacionario para este ejemplo está dado
como

x̂− +
k = Fx̂k−1
− −
x̂+ + +
k = x̂k + K∞ (yk − Hx̂k ) = Fx̂k−1 + K∞ (yk − HFx̂k−1 )
= (I − K∞ H)Fx̂+
k−1 + K∞ yk (7.46)

El filtro de Kalman de estado estacionario no es óptimo porque no se está usando la ganancia de


Kalman óptima en cada paso de tiempo (aunque éste se acerque al óptimo en el límite cuando
206 Capítulo 7. Generalización del filtro de Kalman

k → ∞). En cambio se está usando la ganancia de Kalman de estado estacionario. Sin embargo,
para muchos problemas de interés práctico, el desempeño del filtro en estado estacionario
es casi indistinguible del filtro variable en el tiempo. Para cualquier problema particular, la
diferencia entre los filtros de tiempo variable y estado estacionario necesita ser evaluada por
simulación o por resultados experimentales [68, 1].
Una forma de determinar la ganancia de Kalman de estado estacionario es mediante simula-
ción numérica. Simplemente se puede escribir un programa de computadora para propagar la
ganancia Kalman en función del tiempo, y luego observar el valor hacia el cual la ganancia
está convergiendo.
Otra forma para determinar la ganancia de Kalman de estado estacionario es manipulando las
ecuaciones del filtro de Kalman de la Ecuación (7.19). Recordando la ecuación de actualización
en el tiempo de la covarianza para un sistema invariante en el tiempo:

P− + >
k+1 = FPk F + Q (7.47)

Sustituyendo en esta ecuación la expresión para P+


k de la Ecuación (7.19):

P− − > − > > >


k+1 = FPk F − FKk HPk F − FKk S F + Q (7.48)

Ahora se sustituye en esta ecuación la expresión para Kk de la Ecuación (7.19) para obtener

P− − > − > − > > > −1 − >


k+1 = FPk F − F(Pk H + S)(HPk H + HS + S H + R) HPk F −
− F(P− > − > > > −1 > >
k H + S)(HPk H + HS + S H + R) S F + Q
= FP− > − > − > > > −1
k F − F(Pk H + S)(HPk H + HS + S H + R) ×
× (HP− > >
k + S )F + Q (7.49)

Si P− − −
k converge a un valor de estado estacionario, entonces Pk = Pk+1 para k grande. Se
indicará este valor de estado estacionario como P∞ , lo cual significa que se puede escribir

P∞ = FP∞ F> − F(P∞ H> + S)(HP∞ H> + HS + S> H> + R)−1 ×


× (HP∞ + S> )F> + Q (7.50)

Esta es llamada una ecuación de Riccati algebraica (ARE), o más específicamente una ARE
discreta (DARE).Una vez que se tiene P∞ , se puede sustituir ésta para P−
k en la fórmula de
la ganancia de Kalman de la Ecuación (7.19) para obtener la ganancia de Kalman de estado
estacionario:
K∞ = (P∞ H> + S)(HP∞ H> + HS + S> H> + R)−1 (7.51)
Hay sistemas para los cuales la ecuación de Riccati (y aquí la ganancia de Kalman) no converge
al valor de estado estacionario. Además, ésta puede convergir a diferentes valores de estado
estacionario dependiendo de la condición inicial P0 . Finalmente, aun cuando ésta converge a
un valor de estado estacionario, puede resultar en un filtro de Kalman inestable. Estos temas
constituyen un rico campo de estudio que se ha reportado extensamente en muchos libros y
documentos [1, 30, 22, 40, 54]. Se resumirán a continuación los resultados más importantes
de convergencia de la ecuación de Riccati, pero primero se necesita definir qué significa para
7.5 Filtrado de estado estacionario 207

un sistema ser controlable sobre el círculo unitario.

Definición 7.5.1 El par matricial (F, G) es controlable sobre el círculo unitario si existe alguna
matriz K tal que (F − GK) no posee ningún autovalor con magnitud 1.

Se ilustrará esta definición con algunos ejemplos sencillos.

Ejemplo 7.5.1 Considérese el sistema escalar

xk+1 = xk (7.52)

En este ejemplo, F = 1 y G = 0. La dinámica del sistema es independiente de cualquier señal


de control y el sistema tiene un autovalor con magnitud 1. El sistema no es controlable sobre
el círculo porque su autovalor tiene una magnitud de 1 independientemente de la entrada de
control de realimentación.

Ejemplo 7.5.2 Considérese el sistema escalar

xk+1 = 2xk (7.53)

En este ejemplo, F = 2 y G = 0. Como en el ejemplo previo, la dinámica del sistema es


independiente de cualquier señal de control. Sin embargo, el autovalor del sistema tiene una
magnitud de 2. El sistema es controlable sobre el circulo unitario porque existe una ganancia
de control de realimentación K tal que (F − GK) no tiene ningún autovalor con magnitud 1.
En efecto, independientemente de la ganancia de control de realimentación, los autovalores
del sistema nunca tendrán magnitud 1.

Ejemplo 7.5.3 Considérese el sistema escalar


   
F 0 0
xk+1 = 1 xk + u (7.54)
0 1 1 k

Cuando se implementa el control de realimentación uk = −Kxk , donde K = K1 K2 , el


 

sistema de lazo cerrado se convierte en


 
F1 0
xk+1 = x (7.55)
−K1 1 − K2 k

El sistema de lazo cerrado tiene autovalores en F1 y (1 − K2 ). Se ve que si F1 = ±1 entonces


no hay ganancia de control de realimentación K que dé lugar a que todos los autovalores de
lazo cerrado tengan magnitud no unitaria, y el sistema es por lo tanto no controlable sobre
el circulo unitario. Sin embargo, si F1 6= ±1, entonces se puede encontrar una ganancia de
control K que dé lugar a que autovalores de lazo cerrado tengan magnitud no unitaria y el
sistema es, por lo tanto, controlable sobre el circulo unitario.
208 Capítulo 7. Generalización del filtro de Kalman

Ahora se resumen los resultados más importantes de convergencia de la ecuación de Riccati de


[41, 62, 14], donde se dan pruebas. Recordando que la DARE está dada como

P∞ = FP∞ F> − F(P∞ H> + S)(HP∞ H> + HS + S> H> + R)−1 ×


× (HP∞ + S> )F> + Q (7.56)

Se asume que Q ≥ 0 y R > 0. Se define G como cualquier matriz tal que GG> = Q − SR−1 S> .
La ganancia de Kalman correspondiente de estado estacionario K∞ está dada como

K∞ = (P∞ H> + S)(HP∞ H> + HS + S> H> + R)−1 (7.57)

El filtro de Kalman de estado estacionario está dado como

x̂+ +
k = (I − K∞ H)Fx̂k−1 + K∞ yk (7.58)

Se dice que la solución de la DARE para P∞ se está estabilizando si resulta en un filtro de


estado estacionario. Esto es, P∞ se define como una solución estabilizante DARE si todos los
autovalores de (I−K∞ H)F son menores que uno en magnitud [4]. Se enuncian sin demostración
los siguientes teoremas [23], [68], [71].

Teorema 7.5.1 La DARE tiene una solución semidefinida positiva única P∞ si y solo si se
cumplen las siguientes condiciones

1. (F, H) es detectable.
2. (F − SR−1 H,G) es estabilizable.

Más aún, el correspondiente filtro de Kalman de estado estacionario es estable. Esto es, los
autovalores de (I − K∞ H)F tienen magnitud menor que 1.

El Teorema 7.5.1 no excluye la existencia de soluciones DARE que sean definidas negativas
o indefinidas. Si tales soluciones existen, entonces podrían resultar en un filtro de Kalman
inestable. Si se debilita la condición de estabilidad en el Teorema 7.5.1, se obtiene el siguiente

Teorema 7.5.2 La DARE tiene una solución semidefinida positiva única P∞ si y solo si se
cumplen las siguientes condiciones

1. (F, H) es detectable.
2. (F − SR−1 H,G) es controlable en el círculo unitario.

Además, exactamente una de las soluciones DARE semidefinidas positivas resultan en un filtro
de Kalman de estado estacionario estable.

Puesto que la controlabilidad en el círculo unitario es un subconjunto de la estabilizabilidad,


se ve que el Teorema 7.5.2 es un subconjunto del Teorema 7.5.1. El Teorema 7.5.2 establece
condiciones para la existencia de una solución DARE estabilizante semidefinida positiva. Sin
embargo, puede haber soluciones DARE adicionales (semidefinidas positivas o de otra manera)
que resultan en filtros de Kalman inestables. Si un filtro de Kalman variable en el tiempo se
7.5 Filtrado de estado estacionario 209

ejecuta en esta situación, entonces las ecuaciones del filtro de Kalman pueden convergir ya sea
a un filtro estable o a uno inestable, dependiendo de la condición inicial P+ 0 [68], [1]. Si se
refuerza la condición de controlabilidad del Teorema 7.5.2, se obtiene el siguiente

Teorema 7.5.3 La DARE tiene al menos una solución definida positiva P∞ si y solo si se
cumplen las siguientes condiciones

1. (F, H) es detectable.
2. (F − SR−1 H,G) es controlable sobre y en el interior del círculo unitario.

Más aún, exactamente una de las soluciones DARE definidas positivas resultan en un filtro de
Kalman de estado estacionario estable.

Si se deja la condición de controlabilidad en los dos teoremas anteriores, se obtiene el siguiente

Teorema 7.5.4 La DARE tiene al menos una solución semidefinida positiva P∞ si y solo si
(F, H) es detectable. Además, al menos una de tales soluciones resulta en un filtro de Kalman
de estado estacionario marginalmente estable.

Nótese que el filtro resultante es solamente estable marginalmente, por lo que puede tener
autovalores sobre el círculo unitario. También nótese que este teorema posee una condición
suficiente (pero no necesaria). Esto es, puede haber un filtro de Kalman de estado estacionario
estable aún si las condiciones del anterior teorema no se cumplen. Más aún, si las condiciones
del teorema se mantienen, pueden haber soluciones DARE que resultan en filtros de Kalman
inestables.

Ejemplo 7.5.4 Considérese de nuevo el sistema escalar de la Ecuación (7.44). Se puede ob-
servar que F = 1, H = 1,Q = 1,R = 1 y S = 0. Nótese que (F, H) es observable y (F, G) es
controlable para todo G tal que GG> = Q (recuérdese que S = 0 para este ejemplo). Se sabe
del Teorema 7.5.1 que la DARE tiene una única solución semidefinida positiva. Se sabe del
Teorema 7.5.3 que la solución DARE no solo es semidefinida positiva, sino que también es
definida positiva. También se sabe de estos dos teoremas que el correspondiente filtro de
Kalman de estado estacionario es estable. La DARE para este sistema está dada por

P = FPF > − FPH > (HPH > + R)−1 HPF > + Q


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

De aquí se obtiene

(P + 1)−1 P = 1, es decir, P2 + P − 1 = 0

Resolviendo la ecuación cuadrática anterior se obtiene



1± 5
P=
2
210 Capítulo 7. Generalización del filtro de Kalman

Así, la DARE tiene dos soluciones, una negativa y la otra positiva. Si se utiliza la solución
negativa en el filtro de Kalman de estado estacionario se obtiene

> > −1 1− 5
K = PH (HPH + R) = √
3− 5
2
x̂k+ = (I − KH)F x̂k−1
+
+ Kyk = √ x̂+ + Kyk ≈ 2.62x̂k−1
+
+ Kyk
3 − 5 k−1
Se observa que el filtro resultante es inestable. Sin embargo, si se utiliza la solución positiva
DARE en el filtro de Kalman de estado estacionario se obtiene

K = PH > (HPH > + R)−1



1+ 5
= √
3+ 5
2
+
x̂k+ = (I − KH)F x̂k−1 + Kyk = √ x̂+ + Kyk
3 + 5 k−1
+
≈ 0.382x̂k−1 + 0.618yk

El filtro de Kalman resultante es estable.

Ejemplo 7.5.5 Considérese un sistema escalar con F = 1, H = 1, Q = 0, R = 1 y S = 0. Nótese


que (F, H) es detectable. Sin embargo, (F, G) no es controlable en el círculo unitario para
todo G tal que GG> = Q. Se sabe del Teorema 7.5.2 que la DARE no tiene una solución
semidefinida positiva que resulte en un filtro de Kalman estable. Sin embargo, se sabe del
Teorema 7.5.4 que la DARE tiene una solución semidefinida positiva que resulta en un filtro
de Kalman marginalmente estable. La DARE para este sistema está dada por

P = FPF > − FPH > (HPH > + R)−1 HPF > + Q


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

Ésta tiene dos soluciones para P, ambas 0 (es decir, semidefinida positiva). Si se usa esta
solución en el filtro de Kalman en estado estacionario se obtiene
K=0
x̂k+ = x̂k−1
+

Se puede observar que el filtro de Kalman resultante es marginalmente estable (el valor pro-
pio es 1).

Ejemplo 7.5.6 Considérese un sistema escalar con F = 2, H = 1,Q = 0,R = 1 y S = 0. Nótese


que (F,H) es detectable. También (F,G) es controlable sobre y en el interior del circulo unitario
para todo G tal que GG> = Q. Se sabe del Teorema 7.5.2 que la DARE tiene exactamente una
solución semidefinida positiva que resulta en un filtro de Kalman estable.
7.5 Filtrado de estado estacionario 211

Sin embargo, se sabe del Teorema 7.5.4 que la DARE tiene una solución semidefinida
positiva que resulta en un filtro de Kalman marginalmente estable que es estable. También
se sabe del Teorema 7.5.3 que esta solución DARE es definida positiva. La DARE para este
sistema está dada por

P = FPF > − FPH > (HPH > + R)−1 HPF > + Q


= 4P − 4P(P + 1)−1 P

es decir,

4P2
3P − =0
P+1
P2 − 3P = 0

o sea,
P=0 y P=3
Como se puede observar hay dos soluciones para P, una de las cuales es 0 (es decir, semidefinida
positiva) y la otra es 3 (es decir, definida positiva). Si se toma P = 0, en el filtro de Kalman de
estado estacionario, se obtiene
K=0
x̂k+ = 2x̂k−1
+

Se ve que el filtro de Kalman resultante es inestable (el autovalor es 2). Si se usa P = 3 en el


filtro de Kalman de estado estacionario, se obtiene
3
K=
4
+ 1 + 3
x̂k = x̂k−1 + yk
2 4
Se ve que el filtro de Kalman resultante es estable (el valor propio es 1/2). En este ejemplo, se
tienen múltiples soluciones semidefinidas positivas para la DARE, pero solamente una resulta
en un filtro de Kalman estable.
7.5.1 Un enfoque Hamiltoniano para filtrado de estado estacionario

En esta subsección, se presenta un procedimiento alternativo para la obtención del filtro de


Kalman de estado estacionario. Se asumirá que la correlación S entre el ruido del proceso y
el ruido de la medición es cero, de modo que se puede simplificar la notación. Entonces la
expresión a priori de Riccati, a partir de la Ecuación (7.49), puede escribirse como

Pk+1 = FPk F> − FPk H> (HPk H> + R)−1 HPk F> + Q (7.59)

donde se ha removido el superíndice menos (−) para facilitar la notación. Se puede usar el
lema de inversión de matrices de la Ecuación (2.52) para escribir

(HPk H> + R)−1 = R−1 − R−1 H(H> R−1 H + P−1 −1 > −1


k ) H R (7.60)
212 Capítulo 7. Generalización del filtro de Kalman

Sustituyendo esta expresión en el Ecuación (7.59) se obtiene

Pk+1 = FPk F> − FPk H> R−1 HPk F> +


+ FPk H> R−1 H(H> R−1 H + P−1 −1 > −1 >
k ) H R HPk F + Q (7.61)

Factorizando F y F> del principio y del final de los tres primeros términos del lado derecho
conduce a

Pk+1 = F Pk − Pk H> R−1 HPk +




+ Pk H> R−1 H(H> R−1 H + P−1 −1 > −1


 >
k ) H R HPk F + Q
= F Pk − Pk H> R−1 H Pk − (H> R−1 H + P−1 −1 > −1
   >
k ) H R HPk F +Q
> −1 > −1 −1 −1

= F Pk − Pk H R H(H R H + Pk ) ×
× (H> R−1 H + P−1 > −1
  >
k )Pk − H R HPk F +Q
= F Pk − Pk H> R−1 H(H> R−1 H + P−1 −1
F> + Q

k )
= FPk (H R H + P−1 −1 −1 >
 > −1 > −1
 > −1
k ) − H R H (H R H + Pk ) F + Q
= F(H> R−1 H + P−1 −1 >
k ) F +Q
= FPk (H> R−1 HPk + I)−1 F> + QF−> F>
= FPk + QF−> (H> R−1 HPk + I) (H> R−1 HPk + I)−1 F>
 

= (F + QF−> H> R−1 H)Pk + QF−> (H> R−1 HPk + I)−1 F> (7.62)
 

Ahora supóngase que Pk puede ser factorizado como

Pk = ϒ k Z−1
k (7.63)

donde ϒ k y Zk tienen la misma dimensión de Pk . Haciendo esta sustitución en la Ecuación


(7.62) da

Pk+1= (F + QF−> H> R−1 H)ϒ ϒk + QF−> Zk Z−1 > −1 ϒ −1 −1 >


 
k (H R Hϒ k Zk + I) F
= (F + QF−> H> R−1 H)ϒ ϒk + QF−> Zk (H> R−1 Hϒ ϒk + Zk )−1 F>
 

= (F + QF−> H> R−1 H)ϒ ϒk + QF−> Zk (F−> H> R−1 Hϒ ϒk + F−> Zk )−1
 

= ϒ k+1 Z−1
k+1 (7.64)

Esto muestra que


ϒ k+1 = (F + QF−> H> R−1 H)ϒ
ϒk + QF−> Zk
(7.65)
Zk+1 = F−> H> R−1 Hϒ
ϒk + F−> Zk
7.5 Filtrado de estado estacionario 213

Estas ecuaciones para ϒ k+1 y Zk+1 se pueden escribir como una ecuación única:
  −>
F−> H> R−1 H
  
Zk+1 F Zk
=
ϒ k+1 QF−> F + QF−> H> R−1 H ϒ k
 
Z
=H k (7.66)
ϒk

Si la matriz de covarianza P es una matriz n × n, entonces H será una matriz 2n × 2n. La


matriz H del lado derecho en la ecuación anterior se denomina matriz Hamiltoniana y tiene
algunas propiedades interesantes. Esta es una matriz simpléctica, esto es, satisface la ecuación
 
0 I
S−1 H > S = H −1 donde S = (7.67)
−I 0

Las matrices simplécticas tienen las siguientes propiedades:

• Ninguno de los autovalores de una matriz simpléctica es igual a 0.

• Si λ es un autovalor de la matriz simpléctica, entonces 1/λ también lo es.

• El determinante de una matriz simpléctica es igual a ±1.

Si una matriz simpléctica no tiene ningún autovalor con magnitud igual a uno, entonces la
mitad de estos autovalores estarán fuera del círculo unitario, y la otra mitad estarán en el interior
del círculo unitario. Se define Λ como la matriz diagonal que contiene todos los autovalores
de H que están fuera del círculo unitario (asumiendo que ninguno de los valores propios están
sobre el círculo unitario). Entonces la forma de Jordan de H puede escribirse como
 −1 
Λ 0
H=Ψ Ψ −1
0 Λ
Ψ−1
= Ψ DΨ (7.68)

donde D es la matriz diagonal de autovalores y está definida por la anterior ecuación. La matriz
Ψ puede dividirse en cuatro bloques n × n como
 
Ψ11 Ψ12
Ψ= (7.69)
Ψ21 Ψ22
 
Ψ 11
Nótese que la matriz de contiene los vectores propios de H que corresponden a
Ψ 21 2n×n
los valores propios estables
 de  H (es decir, los valores propios que están dentro del círculo
Ψ12
unitario). La matriz de contiene los vectores propios de H que corresponden a
Ψ22 2n×n
los valores propios inestables de H (es decir, los valores propios que están fuera del círculo
214 Capítulo 7. Generalización del filtro de Kalman

unitario). La Ecuación (7.66) puede escribirse como


   
Zk+1 −1 Zk
= Ψ DΨ
Ψ
ϒ k+1 ϒk
   
Z Z
Ψ−1 k+1 = DΨ Ψ−1 k (7.70)
ϒ k+1 ϒk

Ahora se definen las matrices Y1k n×n , Y2k n×n y la matriz Yk 2n×n , como sigue:
     

   
Y1k Z
= Ψ −1 k
Y2k ϒk
 −1
Ψ−1 )12 Zk
 

Ψ )11 (Ψ
=
Ψ−1 )21 (Ψ
(Ψ Ψ−1 )22 ϒ k
= Yk (7.71)

Nótese en la anterior ecuación que (Ψ Ψ−1 )11 no es la inversa de la parte superior izquierda
Ψ−1 )11 es más bien la parte superior izquierda n × n
n × n de la partición de Ψ ; la matriz (Ψ
−1
de la partición de Ψ (similar enunciado se mantiene para las otras particiones). Con estas
definiciones puede escribirse la Ecuación (7.70) como

Yk+1 = DYk
   −1  
Y1,k+1 Λ 0 Y1k
= (7.72)
Y2,k+1 0 Λ Y2k

A partir de esta ecuación se ve que

Y2,k+1 = Λ Y2k
(7.73)
Y2k = Λ k Y2,0

Similarmente se ve que
Y1k = Λ −k Y1,0 (7.74)
Nótese que la Ecuación (7.71) puede escribirse como
    
Zk Ψ 11 Ψ 12 Y1k
=
ϒk Ψ 21 Ψ 22 Y2k
" #
Ψ 11 Ψ 12 Λ −k Y1,0

= (7.75)
Ψ 21 Ψ 22 Λ k Y2,0

Cuando k se incrementa, la matriz Λ −k se aproxima a cero (porque ésta es una matriz diagonal
cuyos elementos son todos menores que uno en magnitud). Por lo tanto, para k grande se
7.5 Filtrado de estado estacionario 215

obtiene     
Zk Ψ 11 Ψ 12 0
=
ϒk Ψ 21 Ψ 22 Λ k Y2,0
(7.76)
Zk = 12 Y2k
ϒ k = Ψ 22 Y2k
Resolviendo para ϒk para valores grandes de k da

Algoritmo 12 El enfoque Hamiltoniano para filtrado de Kalman de estado estacionario.

1. Formar la matriz Hamiltoniana


 −>
F−> H> R−1 H

F
H= (7.77)
QF−> F + QF−> H> R−1 H

{Para un problema de filtrado de Kalman de n-estados, la matriz Hamiltoniana será una


matriz 2n × 2n.}
2. Calcular los valores propios de H .
{Si alguno de éstos está sobre el círculo unitario, entonces no se puede ir más lejos con este
procedimiento: la ecuación de Riccati no tiene una solución de estado estacionario.}
3. Reunir los n autovectores que corresponden a los n valores propios que están por fuera
del círculo unitario. Poner esos n autovectores
 en  una matriz particionada como:
Ψ 12
(7.78)
Ψ 22
{La primera columna de esta matriz es el primer autovector, la segunda columna es el
segundo autovector, etc. Ψ 12 y Ψ 22 son ambas matrices n × n.}
4. Calcular la solución de estado estacionario de la ecuación de Riccati como
−1
P−
∞ = Ψ 22 Ψ 12 (7.79)

{ Nótese que Ψ 12 debe ser invertible para que este método funcione.}

ϒ k = Ψ 22 Ψ −1
12 Zk (7.80)

Pero también, de la Ecuación (7.63) se sabe que

ϒ k = Pk Zk (7.81)

Combinando las dos ecuaciones anteriores se muestra que

lı́m Pk = Ψ 22 Ψ −1
12 (7.82)
k→∞

Esto da una forma para determinar la solución de estado estacionario de la ecuación de Riccati.
Sin embargo, este análisis supone que Λ es una matriz diagonal con todos los elementos
216 Capítulo 7. Generalización del filtro de Kalman

por fuera del círculo unitario. En otras palabras, si la matriz Hamiltoniana tiene algún valor
propio con magnitud igual a uno, entonces este análisis fracasa. En el Algoritmo 12 se indica
el procedimiento para calcular la solución de estado estacionario, de la ecuación Riccati de
tiempo discreto.

El enfoque Hamiltoniano para filtrado de estado estacionario es debido a [73], quien también
desarrolló soluciones DARE de tiempo variable usando matrices Hamiltonianas.

Ejemplo 7.5.7 Demostrar que la matriz H de la Ecuación (7.66) es simpléctica.

Solución:

La expresión está dada por

F−> F−> H> R−1 H


 
H=
QF−> F + QF−> H> R−1 H

Además
   
0 I 0 −I
S= S−1 =
−I 0 I 0

La transpuesta de la matriz H está dada por

F−1 F−1 Q
 
H > = > −1 −1 (7.83)
H R HF F> + H> R−1 HF−1 Q

Entonces, de la Ecuación (7.67) se obtiene, postmultiplicando ambos miembros por la matriz


hamiltoniana H  
I 0
S−1 H > SH = (7.84)
0 I
Realizando el primer triple producto matricial:

F−1 F−1 Q
   
0 −I 0 I
=
I 0 H> R−1 HF−1 F> + H> R−1 HF−1 Q −I 0
 >
F + H> R−1 HF−1 Q −H> R−1 HF−1

=
F−1 Q F−1

Ahora se multiplica el resultado anterior por la matriz H :

F +H> R−1 HF−1 Q −H> R−1 HF−1 F−> F−> H> R−1 H
   >  
h11 h12
=
h21 h22 F−1 Q F−1 QF−> F + QF−> H> R−1 H
7.5 Filtrado de estado estacionario 217

Donde

h11 = (F> + H> R−1 HF−1 Q)F−> − H> R−1 HF−1 QF−> = I
h12 = (F> + H> R−1 HF−1 Q)F−> H> R−1 H−
− H> R−1 HF−1 (F + QF−> H> R−1 H = 0
h21 = −F−1 QF−> + F−1 QF−> = 0
h22 = −F−1 QF−> H> R−1 H + F−1 (F + QF−> H> R−1 H) = I

Entonces,    
h11 h12 I 0
=
h21 h22 0 I
Con lo cual queda demostrada la propiedad.

Ejemplo 7.5.8 Considérese el sistema escalar de la Ecuación (7.44):

xk+1 = xk + vk vk ∼ N(0,1)
yk = xk + wk wk ∼ N(0,1)

Se ve que F = H = Q = R = 1. Sustituyendo esos valores en la expresión para la matriz


Hamiltoniana da
 −>
F −> H > R−1 H
  
F 1 1
H= =
QF −> F + QF −> H > R−1 H 1 2

Los valores propios de H son 0.38 y 2.62. Ninguno de los valores propios tiene magnitud
uno por lo que se está en condiciones de continuar con el procedimiento. El autovector de H
>
que corresponde al valor propio fuera del círculo unitario es 0.5257 0.8507 . Se forma la


correspondiente matriz de autovectores como


   
Ψ12 0.5257
=
Ψ22 0.8507

Nótese que Ψ12 es invertible por lo que se podrá continuar con el problema. La solución de la
ecuación de Riccati de estado estacionario es
0.8507
P = Ψ22 Ψ−1
12 = = 1.62
0.5257
La ganancia de Kalman de estado estacionario por lo tanto se calcula de la Ecuación (7.19)
como
(1.62)(1)
K = PH > (HPH > + R)−1 = = 0.62
(1)(1.62)(1) + 1

la cual coincide con la Ecuación (7.45).


218 Capítulo 7. Generalización del filtro de Kalman

7.6 Resumen
En este capítulo, se discutió una variedad de generalizaciones del filtro de Kalman que hacen
que el filtro sea aplicable ampliamente a un número mayor de problemas. Ruidos del proceso
y de la medida correlacionados y coloreados fueron estudiados desde los primeros días del
invento del filtro de Kalman. En este capítulo se ha demostrado que las modificaciones del filtro
teniendo en cuenta la correlación y color puede mejorar el rendimiento de la estimación. Sin
embargo, si estos métodos son dignos de la complejidad adicional y esfuerzo computacional
depende del problema. Una de las extensiones más prácticas del filtro Kalman lo constituye el
filtro de Kalman de estado estacionario. El filtro de Kalman de estado estacionario a menudo
se desempeña casi de la misma forma como el filtro variable en el tiempo teóricamente
más riguroso. Sin embargo, el filtro de estado estacionario requiere sólo una fracción del
costo computacional. Para el análisis del filtro de estado estacionario se aplica el modelo
Hamiltoniano el cual permite determinar la solución en estado estacionario de la ecuación
de Riccati. Este método tiene algunas limitaciones, es decir, si la matriz Hamiltoniana tiene
valores propios con magnitud igual a uno, entonces el análisis falla.
8 El filtro de Kalman continuo

Si estás cambiando el mundo mientras trabajas en cosas impor-


tantes, deberías levantarte emocionado cada mañana.

Larry Page

8.1 Introducción

A finales de los años 50 los investigadores J. Follin, A.G. Carlton, J. Hanson y R. Busy
del Laboratorio de Física Aplicada Johns Hopkins desarrollaron el filtro de Kalman en
tiempo continuo en un trabajo no publicado [68]. R. Kalman independientemente desarrolló el
filtro en tiempo discreto en 1960. En abril de 1960 Kalman y R. Bucy con base en el trabajo
de los otros investigadores y colaboraron en la publicación del filtro de Kalman de tiempo
continuo en [43]. Este filtro se denomina a veces como el filtro de Kalman–Bucy.
La gran mayoría de aplicaciones de filtro de Kalman se implementan en las computadoras
digitales, por lo que puede parecer superfluo discutir el filtrado de Kalman para mediciones en
tiempo continuo. Sin embargo, todavía hay oportunidades para implementar filtros de Kalman
en tiempo continuo (es decir, en circuitos analógicos) [34]. Además, la derivación del filtro de
tiempo continuo es instructiva desde un punto de vista pedagógico. Por último, en el estado
estacionario, estimadores de tiempo continuo se pueden analizar usando los conceptos de
dominio de frecuencia convencionales, que proporcionan una ventaja sobre los estimadores
de tiempo discreto [7], [71]. A la luz de estos factores, en este capítulo se presenta el filtro de
Kalman en tiempo continuo.
La derivación del filtro de tiempo continuo comienza con el filtro de tiempo discreto desa-
rrollado previamente en el Capítulo 5 y entonces se lleva al límite cuando el paso de tiempo se
reduce a cero. La Sección 8.2 muestra la relación entre el ruido blanco de tiempo continuo y
el ruido blanco de tiempo discreto, que es la base para la derivación del filtro de Kalman en
tiempo continuo. La Sección 8.3 muestra algunos métodos para resolver la ecuación de Riccati
en tiempo continuo, que es un componente clave del filtro de Kalman de tiempo continuo.

219
220 Capítulo 8. El filtro de Kalman continuo

8.2 Ruido blanco en tiempo discreto y en tiempo continuo

En esta sección se mostrará la relación que existe entre el ruido blanco en tiempo discreto y en
tiempo continuo.

8.2.1 Ruido del proceso

Considérese el siguiente sistema en tiempo discreto con una matriz de transición de estado
identidad y un tiempo de muestreo T.

xk = xk−1 + vk−1
vk ∼ (0,Q) (8.1)
x0 = 0

donde {vk } es un proceso de ruido blanco en tiempo discreto. Se verá que efecto tiene el ruido
blanco sobre la covarianza del estado. Se puede resolver este sistema en tiempo discreto para
el estado como sigue:
xk = v0 + v1 + · · · + vk−1 (8.2)
La covarianza del estado es por lo tanto dada como

E xk x> >
 
k = E (v0 + v1 + · · · + vk−1 )(v0 + v1 + · · · + vk−1 )
= E v0 v> (8.3)
  >  >

0 + E v1 v1 + · · · + E vk−1 vk−1
= kQ

El valor del parámetro de tiempo continuo t es igual al número de pasos de tiempo discreto, k
veces el tiempo de muestreo T. Esto es, t = kT. Por lo tanto se ve que

E x(t)x> (t) = E xk x>


 
k
(8.4)
= kQ

La covarianza del estado se incrementa linealmente con el tiempo para un tiempo de muestreo
T dado. Ahora se considera el sistema en tiempo continuo con una matriz de transición de
estado identidad:
ẋ(t) = v(t) (8.5)
donde v(t) es el ruido blanco en tiempo continuo. Se propone (en retrospectiva) la siguiente
definición para el ruido blanco en tiempo continuo:
Q
E v(t)v> (τ) = δ (t − τ) (8.6)

T
donde Q y T son los mismos que se encuentran en el sistema de tiempo discreto de la Ecuación
(8.1); δ (t − τ) es el delta de Dirac. Ahora se calcula la covarianza de x(t) en la Ecuación (8.5):
8.2 Ruido blanco en tiempo discreto y en tiempo continuo 221

Z t Z t 
> >

E x(t)x (t) = E v(α)dα v (β )dβ
0 0
Z tZ t (8.7)
E v(α)v> (β ) dα dβ

=
0 0
sustituyendo la Ecuación (8.6) en la anterior ecuación da
Z tZ t Q
E x(t)x> (t) =

δ (α − β )dα dβ
0 0 T
Z t
Q
= dβ (8.8)
0 T
Qt
=
T
donde se ha usado la propiedad de desplazamiento de la función impulso de tiempo continuo.
Recordando que t = kT, se puede escribir la ecuación anterior como

E x(t)x> (t) = kQ (8.9)




Comparando ésta con la Ecuación (8.4), se ve que la covarianza del estado de los sistemas en
tiempo continuo incrementa con el tiempo exactamente en la misma forma como la covarianza
del estado de los sistemas en tiempo discreto. En otras palabras, el ruido blanco en tiempo
discreto con covarianza Q en un sistema con un periodo de muestreo T, es equivalente al
ruido blanco en tiempo continuo con covarianza Qc δ (t), donde Qc = Q/T. El ruido blanco en
tiempo continuo con media cero se indica como

v(t) ∼ (0,Qc ) (8.10)

lo cual es equivalente a decir que

E v(t)v> (τ) = Qc δ (t − τ) (8.11)




El ruido blanco en tiempo continuo es contrario al sentido común porque v(t) está correlacio-
nado de forma infinita con v(τ) en t = τ, pero este tiene correlación cero con sí mismo cuando
t 6= τ. No obstante puede ser aproximadamente descriptivo en los procesos reales. Además, el
ruido blanco en tiempo continuo está matemáticamente bien definido y es un mecanismo útil
que se usará en este capítulo. Discusión adicional sobre la relación entre el tiempo discreto y
el ruido blanco de tiempo continuo se puede encontrar en [40].
222 Capítulo 8. El filtro de Kalman continuo

8.2.2 Ruido de medición

Supóngase que se tiene una medida en tiempo discreto de una constante x cada T segundos.
Los tiempos de medida son tk = kT (k = 1,2, . . .):

xk = xk−1
yk = xk + wk (8.12)
wk ∼ (0,R)

De las ecuaciones del filtro Kalman en la Sección 5.4, se encuentra que la covarianza del error
de estimación a posteriori está dada por

Pk+ R
+
Pk+1 = (8.13)
Pk+ + R

De esto se puede demostrar que


P0 R
Pk+ =
kP0 + R
R
lı́m P+ = (8.14)
P0 →∞ k k
RT
=
tk

La covarianza del error en el tiempo tk es independiente del tiempo de muestreo T si

Rc
R= (8.15)
T
donde Rc es alguna constante. Esto implica que

lı́m R = Rc δ (t) (8.16)


T→0

donde δ (t) es la función impulso en tiempo continuo. Esto establece la equivalencia entre
el ruido blanco de medición en tiempo discreto y en tiempo continuo. Los efectos del ruido
blanco de medición en tiempo discreto y en tiempo continuo son los mismos si

wk ∼ (0, R)
(8.17)
w(t) ∼ (0, Rc )

La Ecuación (8.15) especifica la relación entre R y Rc y la segunda ecuación anterior es una


forma abreviada de decir
E{w(t)wτ (τ)} = Rc δ (t − τ) (8.18)
8.2 Ruido blanco en tiempo discreto y en tiempo continuo 223

8.2.3 Simulación discretizada de sistemas de tiempo continuo ruidosos

Los resultados de las secciones anteriores se pueden combinar con los resultados de la Sección
3.4 para obtener una simulación discretizada de un sistema de tiempo continuo ruidoso, con el
propósito de implementar un estimador de estado de tiempo discreto. Supóngase que se tiene
un sistema dado por
ẋ = Ax + Bu + v
y = Cx + w
(8.19)
v ∼ (0,Qc )
w ∼ (0,Rc )
Tanto v(t) y w(t) son ruidos en tiempo continuo y u(t) es una entrada conocida. Este sistema
es equivalente aproximadamente al siguiente sistema en tiempo discreto
Z T
xk = eAT xk−1 + eAT e−Aτ dτBuk−1 + vk−1
0
= eAT xk−1 + eAT I − e−AT A−1 Buk−1 + vk−1
 
(8.20)
yk = Cxk + wk
vk ∼ (0,Qc T)
wk ∼ (0,Rc /T)

donde T es el tamaño del paso de discretización. La segunda expresión para xk es válida si


A−1 existe. Si se utilizan estas ecuaciones discretizadas para simular un sistema en tiempo
continuo, entonces se puede simular un estimador de estado en tiempo continuo usando las
mediciones resultantes con uno de los métodos de integración discutidos en la Sección 3.4.

8.2.4 Deducción del filtro de Kalman en tiempo continuo

Ahora se utilizarán los resultados de la sección anterior para deducir el filtro de Kalman en
tiempo continuo. Supóngase que se tiene un sistema de tiempo continuo dado como

ẋ = Ax + Bu + v
y = Cx + w
(8.21)
v ∼ (0,Qc )
w ∼ (0,Rc )

Cuando se escribe v ∼ (0,Qc ) significa exactamente lo que está escrito en la Ecuación (8.11).
Cuando se escribe w ∼ (0,Rc ) significa exactamente lo que está escrito en la Ecuación (8.18).
Ahora supóngase que se discretiza el sistema con un tiempo de muestreo T (ver Sección 3.4).
Se obtiene
xk = Fxk−1 + Guk−1 + vk−1
(8.22)
yk = Hxk + wk
224 Capítulo 8. El filtro de Kalman continuo

Las matrices en este sistema de tiempo discreto se calculan como sigue:

F = eAT ≈ (I + AT) para T pequeño


G = eAT − I A−1 B ≈ BT para T pequeño


H=C (8.23)
vk ∼ (0,Q), Q = Qc T
wk ∼ (0,R), R = Rc /T

La ganancia del filtro de Kalman de tiempo discreto para este sistema se dedujo en la Sección
5.4 como
Kk = P− > − >
k H (HPk H + R)
−1
(8.24)
De esto se puede deducir

Rc −1
 
Kk = P−
k C
> − >
CPk C +
T
Kk (8.25)
= P− > − >
k C (CPk C T + Rc )
−1
T
K
lı́m k = P− > −1
k C Rc
T→0 T

Las covarianzas del error de estimación fueron deducidas en la Sección 5.4 como

P+
k = (I − Kk H)Pk
(8.26)
P− + >
k+1 = FPk F + Q

Para valores pequeños de T, de acuerdo con la Ecuación (8.23), esto se puede escribir como

P− + >
k+1 = (I + AT)Pk (I + AT) + Qc T
+ > + > 2
= P+ +
k + (APk + Pk A + Qc )T + APk A T

Sustituyendo convenientemente P+
k y teniendo en cuenta que H = C, se obtiene:

P− − + > 2 − − >
 
k+1 = (I−Kk C)Pk +APk A T + A(I−Kk C)Pk + (I−Kk C)Pk A +Qc T

Sustrayendo P−
k de ambos lados y dividiendo entre T da

P− −
k+1 −Pk −Kk CP− > − − > AKk CP−
= k
+ AP+
k A T+AP k +Pk A +Q c − k
T
T T T
K CP− A>
− k k T
T
donde no se han simplificado los dos últimos términos de la derecha para efectos de tomar el
límite.
8.2 Ruido blanco en tiempo discreto y en tiempo continuo 225

Tomando el límite cuando T → 0 y usando la Ecuación (8.25) da

P− −
k+1 − Pk
Ṗ = lı́m = −PC> R−1 >
c CP + AP + PA + Qc
(8.27)
T→0 T
Esta expresión se denomina ecuación diferencial de Riccati en P y puede usarse para calcular
la covarianza del error de estimación del filtro de Kalman de tiempo continuo. Esto requiere
n2 integraciones porque P es una matriz n × n. Pero P es simétrica, así en la práctica sólo se
necesita integrar n(n + 1)/2 ecuaciones con el fin de resolver P. En la Sección 5.4 se dedujeron
las ecuaciones del filtro de Kalman para x̂ como

x̂− +
k = Fx̂k−1 + Guk−1
− −
(8.28)
x̂+
k = x̂k + Kk (yk − Hx̂k )

Si se asume que T es pequeño se puede usar la Ecuación (8.23) para escribir la ecuación de
actualización de la medida como

x̂+ + +
k = Fx̂k−1 + Guk−1 + Kk (yk − HFx̂k−1 − HGuk−1 )
≈ (I + AT)x̂+ +
(8.29)
 
k−1 + BTuk−1 + Kk yk − C(I + AT)x̂k−1 − CBTuk−1

Ahora se sustituye para Kk de la Ecuación (8.25) para obtener

x̂+ + +
k = x̂k−1 + ATx̂k−1 + BTuk−1 +
PC> R−1 + +
(8.30)
 
c T yk − Cx̂k−1 − CATx̂k−1 − CBTuk−1

k−1 en ambos lados, dividiendo por T, y tomando el límite cuando T → 0, da


Substrayendo x̂+

x̂+ +
k − x̂k−1
x̂˙ = lı́m
T→0 T
= Ax̂ + Bu + PC> R−1
c (y − Cx̂) (8.31)

Esto puede escribirse como

x̂˙ = Ax̂ + Bu + K(y − Cx̂)


(8.32)
K = PC> R−1
c

Esta expresión corresponde a la ecuación diferencial que puede ser usada para integrar el
estado estimado en el filtro de Kalman de tiempo continuo. El filtro de Kalman en tiempo
continuo puede resumirse como se muestra en el Algoritmo 13.
226 Capítulo 8. El filtro de Kalman continuo

Algoritmo 13 El filtro de Kalman en tiempo continuo.


1. Ecuaciones del sistema dinámico y de medición en tiempo continuo:

ẋ = Ax + Bu + v
y = Cx + w
(8.33)
v ∼ (0,Qc )
w ∼ (0,Rc )

2. Ecuaciones del filtro de Kalman en tiempo continuo:

x̂(0) = E{x(0)}
P(0) = E (x(0) − x̂(0))(x(0) − x̂(0))>


K = PC> R−1 c (8.34)


˙x̂ = Ax̂ + Bu + K(y − Cx̂)
Ṗ = −PC> R−1 >
c CP + AP + PA + Qc

Ejemplo 8.2.1 En este ejemplo se usará el filtro de Kalman de tiempo continuo para estimar
una constante, dadas las medidas de ruido en tiempo continuo:

ẋ = 0
y = x+w
w ∼ (0,R)

Se ve que A = 0, Q = 0, y C = 1. La Ecuación (8.34) da la ecuación diferencial para la


covarianza como:

Ṗ = −PC> R−1 CP + AP + PA> + Q

Entonces
Ṗ = −P2 /R
con la condición inicial P(0) = P0 . De esto se puede obtener

dP −dτ
=
P2 R
Z P(t) Z t
1 1
dP = − dτ
P(0) P2 0 R
8.2 Ruido blanco en tiempo discreto y en tiempo continuo 227

t
− P−1 − P0−1 = −

R
 t
P−1 = P0−1 +
R

−1 t −1
P = P0 +
R
P0
=
1 + P0t/R

lı́m P = 0
t→∞

La Ecuación (8.34) da la ganancia de Kalman como

K = PC> R−1
P0 /R
=
1 + P0t/R
lı́m K = 0
t→∞

La Ecuación (8.34) da la ecuación de actualización de estado como

x̂˙ = Ax̂ + Bu + K(y − Cx̂) (8.35)

de la cual se puede obtener

x̂˙ = K(y − x̂)


lı́m x̂˙ = 0
t→∞

Esto muestra que cuando el tiempo tiende a infinito, x̂ alcanza un valor de estado estacionario.
Esto es intuitivo porque cuando se tiene un número infinito de mediciones de una constante,
el estimado de esa constante llega a ser perfecto y medidas adicionales no pueden mejorar el
estimado. Además, la ganancia de Kalman tiende a cero cuando el tiempo tiende a infinito, lo
que a su vez dice que se tienen que ignorar mediciones adicionales (ya que el estimado llega a
ser perfecto). Finalmente, la covarianza P tiende a cero cuando el tiempo tiende a infinito, lo
cual dice que la incertidumbre en el estimado tiende a cero, significando que el estimado es
perfecto.

Ejemplo 8.2.2 En este ejemplo se tienen las medidas de la velocidad de un objeto que se mueve
en una dimensión. El objeto está sujeto a aceleraciones aleatorias. Se desea estimar la velocidad
x a partir de medidas ruidosas de la misma. Las ecuaciones del sistema y de la medida están
228 Capítulo 8. El filtro de Kalman continuo

dadas como

ẋ = v
y = x+w
v ∼ (0,Q)
w ∼ (0,R)

Solución:

Se ve que A = 0 y C = 1. A partir de la actualización de la covarianza de la Ecuación (8.34)


se obtiene

Ṗ = −PC> R−1CP + AP + PA> + Q


= −P2 /R + Q

con la condición inicial P(0) = P0 . De esto se puede obtener

dP = Q − P2 /R dτ

Z t Z P(t)
dP
dτ = (8.36)
0 P(0) Q − P2 /R
Z t Z P(t)
dP
dτ = √ √ √ √
0 P(0) ( Q + P/ R)( Q − P/ R)
Z t Z P(t) Z P(t) 
1 dP dP
dτ = √ √ √ + √ √
0 2 Q P(0) Q + P/ R P(0) Q − P/ R
√ √ √ ! P(t)
R Q + P/ R
t= √ ln √ √
2 Q Q − P/ R P(0)
√ √ √
R ( QR + P)( QR − P0 )
t= √ ln √ √
2 Q ( QR − P)( QR + P0 )
√ √ √
( QR + P)( QR − P0 )
e2 Q/Rt = √ √
( QR − P)( QR + P0 )

Resolviendo esto para P da


" √ √ √ #
p P0 − QR + ( QR + P0 )e2 Q/Rt
P = QR √ √ √
QR − P0 + ( QR + P0 )e2 Q/Rt
p
lı́m P = QR 
t→∞
8.2 Ruido blanco en tiempo discreto y en tiempo continuo 229

Otro método. Partiendo de la Ecuación (8.36) se obtiene


r   P
R −1 P
t= tanh √
Q QR P0
r     
R −1 √P −1 √P0
t= tanh − tanh
Q QR QR

Por lo tanto,
    r
−1 P −1 P0 Q
tanh √ = tanh √ + t
QR QR R

Resolviendo para P
"   r #
p −1 P0 Q
P= QR tanh tanh √ + t
QR R

Recordando que lı́m tanh(a + b) = 1, entonces


b→∞
p
lı́m P = QR 
t→∞

La ganancia de Kalman se obtiene de la Ecuación (8.34) como


P
K = PC> R−1 =
p R
lı́m K = Q/R
t→∞

La expresión de la actualización del estado estimado se obtiene a partir de la Ecuación (8.34)


como

x̂˙ = Ax̂ + Bu + K(y −Cx̂)


= K(y − x̂)

A partir de estas expresiones se ve que si el ruido del proceso se incrementa (es decir, Q crece)
entonces K aumenta. Esto es intuitivamente aceptable, porque a partir de la ecuación x̂˙ se ve
que K define la velocidad a la cual cambia x̂ con base a las mediciones. Si Q es grande entonces
habrá menos confianza en el modelo del sistema y, relativamente más nivel de confianza en las
mediciones, así que se cambia x̂ de forma más intensa para ser coherente con las mediciones.
Similarmente, se ve que si se tiene ruido en la medida grande (es decir, R es grande) entonces
K decrece. Esto es de nuevo adecuado. Un ruido grande en la medida significa que se tiene
menos nivel de confianza en la medición, de modo que se debe cambiar x̂ de manera menos
intensa para ser consistentes con las mediciones.
Finalmente, se observa que P se incrementa de la misma manera como Q y R lo hacen. Un
incremento en el ruido bien sea en el modelo del sistema o en las mediciones degradará el
230 Capítulo 8. El filtro de Kalman continuo

nivel de confianza en la estimación de los estados.

8.3 Soluciones alternativas para la ecuación de Riccati


La ecuación diferencial de Riccati de la Ecuación (8.34) puede ser computacionalmente
costosa de integrar, especialmente para sistemas con constantes de tiempo pequeñas. También,
la integración directa de la ecuación de Riccati puede resultar en una matriz P que pierde su
característica de definida positiva debido a problemas numéricos [68], [23]. En esta sección se
mirarán algunas soluciones alternas para la ecuación diferencial de Riccati. El primer método,
llamado el enfoque de la matriz de transición, se plantea para reducir el esfuerzo computacional.
El segundo método, llamado filtrado de raíz cuadrada, se plantea para reducir las dificultades
numéricas.

8.3.1 El enfoque de la matriz de transición

Asúmase que P = Λ Y−1 , donde Λ y Y son matrices n × n a ser determinadas. En lo siguiente se


determinará qué igualdades deben ser satisfechas por Λ y Y con el fin de que esta factorización
sea válida. Si la factorización es válida entonces
d −1
ΛY−1 + Λ
Ṗ = Λ̇ (Y )
dt
ΛY−1 − Λ Y−1 ẎY−1
= Λ̇ (8.37)

donde se ha usado la Ecuación (2.138) para la derivada en el tiempo de Y−1 . Se postmultiplican


ambos lados de la ecuación anterior por Y para obtener

Λ − Λ Y−1 Ẏ
ṖY = Λ̇ (8.38)

Recordando de la Ecuación (8.34) que la ecuación diferencial para P está dada por

Ṗ = AP + PA> − PC> R−1 CP + Q (8.39)

Se sustituye Λ Y−1 por P en esta ecuación para obtener

ΛY−1 + Λ Y−1 A> − Λ Y−1 C> R−1 CΛ


Ṗ = AΛ ΛY−1 + Q (8.40)

Post-multiplicando ambos lados de esta ecuación por Y se obtiene

Λ + Λ Y−1 A> Y − Λ Y−1 C> R−1 CΛ


ṖY = AΛ Λ + QY (8.41)

Comparando los miembros de la derecha de las ecuaciones (8.38) y (8.41) se obtiene

Λ − Λ Y−1 Ẏ = AΛ
Λ̇ Λ + Λ Y−1 A> Y − Λ Y−1 C> R−1 CΛ
Λ + QY
Λ + QY + Λ Y−1 (Ẏ + A> Y − C> R−1 CΛ
Λ = AΛ
Λ̇ Λ) (8.42)

Esta ecuación proviene de la factorización original de P, y si esta ecuación se reduce a 0 = 0,


entonces se puede concluir que la factorización original es válida. Así, si Λ̇ Λ = AΛ Λ + QY
8.3 Soluciones alternativas para la ecuación de Riccati 231

y Ẏ = C> R−1 CΛ Λ − A> Y, entonces la factorización asumida será válida. Estas ecuaciones
diferenciales para Y y Λ se pueden combinar como
      
Λ
Λ̇ A Q Λ Λ
= > −1 =J (8.43)
Ẏ C R C −A> Y Y

donde J se define como  


A Q
J = > −1 (8.44)
C R C −A>
Las condiciones iniciales para Λ y Y se escogen de modo que sean consistentes con las
condiciones iniciales de P como sigue:

Λ (0) = P(0)
(8.45)
Y(0) = I

Ahora se supone que A,Q,C y R son constantes (esto es, se tiene un sistema LTI con procesos
constantes y covarianzas de ruido de medición). En este caso J es constante y la Ecuación
(8.43) puede resolverse como
   
Λ(t + T) Λ(t)
= eJT φ (8.46)
Y(t + T) Y(t)

Esta puede escribirse como


    
Λ(t + T) φ 11 (T) φ 12 (T) Λ(t)
= (8.47)
Y(t + T) φ 21 (T) φ 22 (T) Y(t)

donde las matrices φ i j están definidas como las cuatro submatrices n × n en eJT . De la factori-
zación original se supone que se tiene Λ = PY, por lo tanto esta ecuación se puede escribir
como     
Λ(t + T) φ 11 (T) φ 12 (T) P(t)Y(t)
= (8.48)
Y(t + T) φ 21 (T) φ 22 (T) Y(t)
Esta puede escribirse como dos ecuaciones separadas:

Λ(t + T) = φ 11 (T)P(t)Y(t) + φ 12 (T)Y(t)


(8.49)
Y(t + T) = φ 21 (T)P(t)Y(t) + φ 22 (T)Y(t)

Puesto Λ(t + T) = P(t + T)Y(t + T), la primera ecuación se puede escribir como

P(t + T)Y(t + T) = φ 11 (T)P(t)Y(t) + φ 12 (T)Y(t) (8.50)

Sustituyendo Y(t + T) de la Ecuación (8.49) en la Ecuación (8.50) y simplificando da

P(t + T) [φφ 21 (T)P(t)Y(t) + φ 22 (T)Y(t)] = φ 11 (T)P(t)Y(t) + φ 12 (T)Y(t)


P(t + T) [φφ 21 (T)P(t) + φ 22 (T)] = φ 11 (T)P(t) + φ 12 (T) (8.51)
232 Capítulo 8. El filtro de Kalman continuo

Esta ecuación es finalmente resuelta para P(t + T) como

P(t + T) = [φφ 11 (T)P(t) + φ 12 (T)] [φφ 21 (T)P(t) + φ 22 (T)]−1 (8.52)

Esta puede ser una forma rápida para resolver P en lugar de integrar la ecuación de Riccati. Se
debe tener en cuenta que con este método no hay que preocuparse por el tamaño del paso de
integración. Este método puede usarse para propagar desde P(t) hasta P(t + T) en una sola
ecuación, para cualquier valor de t y de T.

Ejemplo 8.3.1 Supóngase que se desea estimar la tasa desplazamiento ξ de un giroscopio (se
asume que es constante) dadas las medidas del ángulo de giro θ . El modelo del sistema y la
medida se pueden describir como [7].

θ̇ = ξ
y = θ +w

    
θ̇ 0 1 θ (8.53)
=
ξ˙ 0 0 ξ
 
  θ
y= 1 0 +w
ξ
w ∼ (0,R)

Solución:
El uso directo de la ecuación diferencial de Riccati a partir de la Ecuación (8.34) da

Ṗ = AP + PA> − PC> R−1 CP + Q


2
   
Ṗ11 Ṗ12 2P12 − P11 /R P22 P11 /R
= 2
Ṗ12 Ṗ22 P22 − P11 P12 /R −P12 /R

Se puede resolver para P mediante la realización de tres integraciones numéricas (recordando


que P es simétrica). Sin embargo, podrá ser difícil encontrar una solución de forma cerrada para
P(t) a partir de estas ecuaciones diferenciales acopladas. Un enfoque de la matriz de transición
para este problema podría procesarse como sigue, asumiendo que P(0) es diagonal. Se supone
que P se factoriza como P = Λ Y−1 , donde Λ y Y son matrices 2 × 2. Las condiciones iniciales
de Λ y Y se pueden escoger como
 
P11 (0) 0
Λ (0) = P(0) =
0 P22 (0)
Y(0) = I

La ecuación diferencial para Λ (t) y Y(t) está dada por


   
Λ
Λ̇ Λ
=J
Ẏ Y
8.3 Soluciones alternativas para la ecuación de Riccati 233

donde la matriz J se calcula como

 
A Q
J=
C> R−1 C −A>
 
0 1 0 0
 0 0 0 0
=
1/R 0

0 0
0 0 −1 0
La matriz de transición para la ecuación diferencial de Λ y Y se calcula como
 
1 t 0 0
 0 1 0 0
e(Jt) =  2

 t/R t /2R 1 0
−t 2 /2R −t 3 /6R −t 1
 
φ 11 (t) φ 12 (t)
=
φ 21 (t) φ 22 (t)

donde los términos φ i j (t) son particiones 2 × 2 de la matriz. La solución de la ecuación de


Riccati se obtiene a partir de la Ecuación (8.52) como

P(t) = [φφ 11 (t)P(0) + φ 12 (t)] [φφ 21 (t)P(0) + φ 22 (t)]−1


P11 (0) tP22 (0) 1 12R2 − 2t 3 P22 (0) −6Rt 2 P22 (0)
   
=
0 P22 (0) ∆ 12R2t + 6t 2 P11 (0) 12R2 + 12P11 (0)

donde ∆ está dado como

∆ = 12R2 + P11 (0)P22 (0)t 4 + 12P11 (0)tR + 4P22 (0)t 3 R

Llevando a cabo la multiplicación y algo de álgebra se obtiene la solución de la ecuación de


Riccati como
 
P (t) P12 (t)
P(t) = 11
P12 (t) P22 (t)
1 
P11 (t) = 4R P11 (0)P22 (0)t 3 + 3P11 (0)R + 3t 2 P22 (0)R


1
P12 (t) = 6RP22 (0)t [P11 (0)t + 2R]

1
P22 (t) = 12RP22 (0) [P11 (0)t + R]

Con el enfoque de la matriz de transición se ha obtenido una solución de forma cerrada para
Pt), algo que no era posible con un enfoque directo para la ecuación de Riccati. En el caso
234 Capítulo 8. El filtro de Kalman continuo

inicial que la incertidumbre inicial sea infinita, además se puede simplificar P(t) como

lı́m ∆ = P11 (0)P22 (0)t 4


P(0)→∞

6R/t 2
 
4R/t
lı́m P(t) =
P(0)→∞ 6R/t 12R/t 3
2
   
0 0
lı́m lı́m P(t) =
t→∞ P(0)→∞ 0 0

Esto es, la incertidumbre tiende a cero cuando el tiempo tiende a infinito. Esto ocurre por que el
ruido del proceso es cero (es decir, se está estimando una constante). Puesto que K = PC> R−1 ,
se ve que la ganancia de Kalman también tiende a cero cuando el tiempo tiende a infinito. Esto
simplemente significa que eventualmente se han tomado tantas medidas que el conocimiento
es completo. Medidas adicionales no pueden dar ninguna información nueva, por lo tanto se
ignoran las nuevas medidas.

8.3.2 El filtro de raíz cuadrada

Los primeros días del filtro de Kalman en la década de 1960 vieron una gran cantidad de
aplicaciones exitosas. Pero también hubo algunos problemas en la implementación, muchos
debido a dificultades numéricas. En teoría la solución de la ecuación diferencial de Riccati P(t)
siempre debe ser una matriz semidefinida positiva simétrica (ya que es una matriz de covarianza).
Pero los problemas numéricos en implementaciones computacionales a veces condujeron P(t)
a matrices indefinidas o no simétricas. Esto fue a menudo debido a las cortas longitudes de
palabra en los computadores de la década de 1960 [64]. Esto llevó a una gran cantidad de
investigación en esa década relacionada con implementaciones numéricas. Ahora que las
computadoras se han convertido en mucho más capaces, no hay problemas numéricos con
tanta frecuencia. Sin embargo, los problemas numéricos todavía surgen en implementaciones
de algoritmos de longitud de palabra finita, especialmente en sistemas embebidos. El filtro
de raíz cuadrada se desarrolló con el fin de aumentar efectivamente la precisión numérica del
filtro Kalman y así mitigar las dificultades numéricas en las implementaciones.
El filtro de raíz cuadrada se basa en la idea de encontrar una matriz Γ de tal manera que
P = Γ Γ > . La matriz Γ se llama entonces la raíz cuadrada de P. Obsérvese que la raíz cuadrada
de una matriz puede no ser única; es decir, puede haber más de una solución de Γ en la ecuación
P = Γ Γ > . Las secciones 6.3 y 6.4 contienen una discusión de filtrado de raíz cuadrada para
el filtro de Kalman en tiempo discreto. Después de definir Γ como la raíz cuadrada de P,
se integra Γ en lugar de P en la solución del filtro de Kalman. Esto requiere más esfuerzo
computacional pero se duplica la precisión del filtro y ayuda a evitar problemas numéricos.
A partir de la ecuación diferencial de Riccati de la Ecuación (8.37), y la definición de Γ , se
obtiene

Ṗ = AP + PA> − PC> R−1 CP + Q


>
ΓΓ > + Γ Γ̇
Γ̇ ΓΓ > + Γ Γ > A> − Γ Γ > C> R−1 CΓ
Γ = AΓ ΓΓ > + Q (8.54)
8.4 Filtro de Kalman en tiempo continuo de estado estacionario 235

Ahora, premultiplicando ambos lados por Γ −1 y postmultiplicando por Γ −> se obtiene


>
Γ−> = Γ −1 Γ̇
Γ −1 ṖΓ Γ Γ −>
Γ + Γ̇
= Γ −1 AΓ
Γ + Γ > A> Γ −> − Γ > C> R−1 CΓ
Γ + Γ −1 QΓ
Γ−> (8.55)

Algoritmo 14 El filtro de Kalman de raíz cuadrada en tiempo continuo.


1. El paso de inicialización consiste en calcular la parte triangular superior Γ(0) tal que
Γ> (0) = P(0) .
Γ (0)Γ
2. En cada paso de tiempo calcular Ṗ desde la ecuación diferencial de Riccati, y entonces
calcular MS como la porción superior de Γ −1 ṖΓ
Γ−> .
3. Usar Γ̇
Γ = Γ MS para integrar Γ para el próximo paso de tiempo.
4. Se utiliza la ecuación K = PC> R−1 = Γ Γ > C> R−1 para calcular la ganancia de Kalman.

Puesto que P es definida positiva simétrica, siempre se puede encontrar una matriz triangular
superior Γ tal que P = Γ Γ > [29], [56]. Se puede demostrar que si Γ es triangular superior,
entonces Γ̇Γ y Γ −1 también son triangulares superiores. También, el producto de matrices
triangulares superiores es otra matriz triangular superior. Por lo tanto, el producto Γ −1 Γ̇Γ es
>
triangular superior. Similarmente, puesto que Γ̇Γ y Γ −> son triangulares inferiores, el producto
>
Γ Γ −> es triangular inferior [72], [25]. Esto es,
Γ̇

Γ −1 Γ̇
Γ = MS
> (8.56)
Γ Γ −> = MI
Γ̇

donde MS y MI significan matrices triangular superior y triangular inferior, respectivamente.


De esto se puede obtener
Γ = Γ MS
Γ̇ (8.57)
Ahora se pueden usar las ecuaciones (8.55) y (8.56) para encontrar
>
Γ −1 ṖΓ
Γ−> = Γ −1 Γ̇ Γ Γ −1
Γ + Γ̇
= MS + MI (8.58)

Por lo tanto se ve que MS es la porción triangular superior de Γ −1 ṖΓ


Γ−> . Esto da el algoritmo
de raíz cuadrada como se muestra en el Algoritmo 14.
Este es computacionalmente más costoso que una integración directa de la ecuación diferen-
cial de Riccati, pero también es más estable numéricamente.

8.4 Filtro de Kalman en tiempo continuo de estado estacionario


En algunas situaciones, el filtro de Kalman converge a un filtro LTI. Si este es el caso, entonces
a menudo se puede conseguir un buen desempeño de filtrado usando una ganancia constante de
236 Capítulo 8. El filtro de Kalman continuo

Kalman K en el filtro. Entonces no hay que preocuparse acerca de la integración de la ecuación


diferencial de Riccati para resolver P y tampoco preocuparse por la actualización de K en
tiempo real. Esto puede proporcionar un gran ahorro en la complejidad del filtro y en el costo
de esfuerzo computacional sólo con un sacrificio insignificante (bajo) de rendimiento. En esta
subsección, se discuten las condiciones bajo las cuales el filtro de tiempo continuo converge a
un filtro LTI, y la relación del filtro de estado estacionario en relación con el filtrado Wiener y
el control óptimo.

8.4.1 La ecuación algebraica de Riccati

Recordando de la ecuación (8.34) que la ecuación diferencial de Riccati está dada como

Ṗ = −PC> R−1 CP + AP + PA> + Q (8.59)

Si A,C,Q y R son constantes (es decir, las ecuaciones del sistema y de la medida forman un
sistema LTI con covarianza de ruido constante) entonces P puede alcanzar un valor de estado
estacionario y eventualmente Ṗ puede llegar a cero. Esto implica que

−PC> R−1 CP + AP + PA> + Q = 0 (8.60)

Esta es llamada una ecuación algebraica de Riccati (ARE). Para ser más específico, esta se
denomina ARE continua (CARE).
La solución de la ARE puede no siempre existir, e incluso si existe puede no resultar en
un filtro de Kalman estable. Se resumirá el resultado más importante de convergencia de la
ecuación de Riccati a continuación, pero primero se necesita definir qué significa para un
sistema ser controlable sobre el eje imaginario.
Definición 8.4.1 El par de matrices (A,B) es controlable sobre el eje imaginario si existe alguna
matriz K tal que (A − BK) no tiene autovalores sobre el eje imaginario.

Esto es similar al concepto de controlabilidad sobre el círculo unitario para sistemas de tiempo
discreto. Ahora se resume el resultado más importante de convergencia de la ecuación de
Riccati a partir de [41], donde se da la demostración. Recordando que la ARE está dada como

−PC> R−1 CP + AP + PA> + Q = 0 (8.61)

Se supone que Q ≥ 0 y R > 0. Se define G como una matriz cualquiera tal que GG> = Q. La
ganancia de Kalman de estado estacionario correspondiente K se da como

K = PC> R−1 (8.62)

El filtro de Kalman de estado estacionario se da como

x̂˙ = (A − KC)x̂ + Ky (8.63)

Se dice que la solución P de la CARE es estabilizable si resulta en un filtro de estado estacionario


estable. Esto es, P se define como una solución CARE estabilizable si todos los autovalores de
(A − KC) tienen parte real negativa.
8.4 Filtro de Kalman en tiempo continuo de estado estacionario 237

Teorema 8.4.1 La CARE tiene una solución P semidefinida positiva única si y solo si las
siguientes dos condiciones se cumplen.

1. (A,C) es detectable
2. (A,G) es estabilizable.

Más aún, el filtro de Kalman de estado estacionario correspondiente es estable. Esto es, los
autovalores de (A − KC) tienen partes reales negativas.

Este teorema es análogo al Teorema 7.5.1 para filtros de Kalman de tiempo discreto. El teorema
anterior no excluye la existencia de soluciones CARE que son definidas negativas o indefinida.
Si existen tales soluciones, entonces resultaría en un filtro de Kalman inestable. Si se debilita
la condición de estabilizabilidad en el teorema anterior, se obtiene el siguiente

Teorema 8.4.2 La CARE tiene al menos una solución P semidefinida positiva si y solo si las
siguientes dos condiciones se cumplen.

1. (A,C) es detectable
2. (A,G) es controlable sobre el eje imaginario.

Más aún, exactamente una de las soluciones ARE semidefinida positiva resulta en un filtro de
Kalman de estado estacionario estable.

Este teorema es análogo al Teorema 7.5.2 para filtros de Kalman de tiempo discreto. Este
teorema establece las condiciones para la existencia de exactamente una solución CARE esta-
bilizable definida positiva. Sin embargo, puede haber soluciones adicionales CARE (definidas
positiva o de otra manera) que resultan e un filtro de Kalman inestable. Si un filtro de Kalman
variable en el tiempo es ejecutado en esta situación, entonces las ecuaciones del filtro de Kal-
man pueden convergir ya sea a un filtro estable o uno inestable, dependiendo de la condición
inicial P(0). Si se refuerza la condición de controlabilidad del Teorema 8.4.2, se obtiene el
siguiente

Teorema 8.4.3 La CARE tiene al menos una solución P definida positiva si y solo si las
siguientes dos condiciones se cumplen.

1. (A,C) es detectable
2. (A,G) es controlable en el semiplano cerrado izquierdo.

Además, exactamente una de las soluciones CARE definida positiva resulta en un filtro de
Kalman de estado estacionario estable.

Este teorema es análogo al Teorema 7.5.3 para el filtro de Kalman de tiempo discreto. Si se
deja la condición de controlabilidad en los dos teoremas anteriores, se obtiene el siguiente.

Teorema 8.4.4 La CARE tiene al menos una solución semidefinida positiva P si (A,C) es
detectable. Además, al menos una de tales soluciones resulta en un filtro de Kalman de estado
estacionario marginalmente estable.
238 Capítulo 8. El filtro de Kalman continuo

Este teorema es análogo al Teorema 7.5.4 para filtros de Kalman de tiempo discreto. Nótese que
el filtro resultante es solamente estable marginalmente, por lo tanto, puede tener autovalores
sobre el eje imaginario. También nótese que este teorema posee una condición suficiente (pero
no necesaria). Esto es, puede haber un filtro de Kalman de estado estacionario estable aún sí las
condiciones del teorema anterior no se mantienen. Además, aún sí las condiciones del teorema
se mantienen, puede haber soluciones CARE que resultan en filtros de Kalman inestables.
Resultados adicionales relacionados al filtro de tiempo continuo de estado estacionario se
pueden encontrar en muchos lugares, incluyendo [3], [19], [50]. Muchos de los filtros de Kalman
prácticos se aplican a sistemas que no reúnen las condiciones de los teoremas anteriores, pero
los filtros aún en esa condiciones funcionan bien en la práctica.

Ejemplo 8.4.1 Se considera el siguiente sistema de dos estados ([19]):


 
a1 0
ẋ = x+v (8.64)
0 a2
 
1 0
y= x+w
0 1
 
q11 q12
Q= (8.65)
q12 q22
 
r1 0
R=
0 r2

En el resto de este ejemplo, se usa el símbolo G para nombrar cualquier matriz tal que
GG> = Q.

La ecuación diferencial de Riccati para el filtro de Kalman está dada como

Ṗ = −PC> R−1 CP + AP + PA> + Q (8.66)


Ésta puede ser escrita como las siguientes tres ecuaciones diferenciales acopladas.

ṗ11 = 2a1 p11 − p211 /r1 − p212 + q11


ṗ12 = (a1 + a2 )p12 − p11 p12 /r1 − p12 p22 /r2 + q12 (8.67)
ṗ22 = 2a2 p22 − p212 /r1 − p222 /r2 + q22

Estas derivadas se hacen iguales a cero para obtener la solución de la ecuación de Riccati de
estado estacionario. Si a1 6= a2 y q12 6= 0, entonces (A,C) es detectable y (A,G) es estabilizable.
Los resultados del Teorema 8.4.1, por lo tanto, se aplican a esta situación. Se puede demostrar
8.4 Filtro de Kalman en tiempo continuo de estado estacionario 239

[19], que la única solución ARE semidefinida positiva en este caso es


" 1/2 #
p212

p11 = r1 a1 + γ1 −
r1 r2
" 1/2 #
p212

p22 = r2 a2 + γ2 −
r1 r2
h i−1/2 (8.68)
p12 = q12 γ1 + γ2 + 2(γ1 γ2 − q212 /r1 r2 )1/2
q
γ1 = 11 + a21
r1
q22
γ2 = + a22
r2

esto resulta en un filtro de Kalman de estado estacionario estable.

Si a1 = a2 < 0 y q12 6= 0, entonces (A,C) es detectable y (A,G) es estabilizable. Los


resultados del Teorema 8.4.1, por lo tanto, también se aplican a esta situación. Se puede
demostrar [19], que la única solución ARE semidefinida positiva en este caso es

p11 = q11 /γ3


p22 = q22 /γ3
(8.69)
p12 = q12 /γ3
γ3 = −a1 + (a21 + q11 /r1 + q22 /r2 )1/2

Esto resulta en un filtro de Kalman de estado estacionario estable.

Si a1 = a2 > 0 y q12 6= 0, entonces (A,C) es detectable y (A,G) es controlable sobre el eje


imaginario, pero (A,G) es no estabilizable. Los resultados del Teorema 8.4.1 no se aplican a
esta situación, pero sí los del Teorema 8.4.2. Se puede demostrar que las ecuaciones (8.68)
y (8.69) son soluciones ARE semidefinidas positivas en este caso. Si se integra la Ecuación
(8.67) se puede llegar a la Ecuación (8.68) o a la Ecuación (8.68) como la solución de estado
estacionario, dependiendo de la condición inicial P(0). Sin embargo, solamente una de las
soluciones resultará en un filtro de Kalman estable. Más específicamente, considérese el caso
a1 = a2 = 1, q11 = q12 = q22 = 0 y r1 = r2 = 1. Para estos valores, se puede simular las
ecuaciones diferenciales de Riccati de la Ecuación (8.67) para encontrar la solución de Riccati
en estado estacionario, la ganancia de Kalman de estado estacionario y el estimador de estado
240 Capítulo 8. El filtro de Kalman continuo

estacionario, como sigue


   
2 0 0 0
P= o
0 2 0 0
K = PC> R−1
(8.70)
   
2 0 0 0
= o
0 2 0 0
x̂˙ = (A − KC)x̂ + Ky
= (−x̂ + Ky) o (x̂ + Ky)

La solución ARE depende de la condición inicial P(0). La primera solución ARE resulta
en una solución ARE semidefinida positiva que da un filtro de Kalman estable. La segunda
solución ARE resulta en una solución ARE semidefinida positiva que da un filtro de Kalman
inestable. Esto concuerda con el Teorema 8.4.2.

8.4.2 El filtro de Wiener es un filtro de Kalman

Considérese el filtro de Kalman en tiempo continuo de estado estacionario

x̂˙ = Ax + K(y − Cx̂) (8.71)

Tomando la transformada de Laplace a ambos lados de esta ecuación y reordenando, se obtiene

(sI − A + KC)x̂(s) = Ky(s)


x̂(s) = (sI − A + KC)−1 Ky(s) (8.72)

La función de transferencia de y(t) a x̂(t) es idéntica a la función de transferencia del filtro


de Wiener [19], [66]. En otras palabras, el filtro de Wiener es un caso especial del filtro de
Kalman. La equivalencia entre el filtrado de Kalman y el de Wiener en tiempo discreto se
discute en [55].

Ejemplo 8.4.2 Considérese el sistema escalar dado por

ẋ = −x + v
(8.73)
y = x+w
donde v y w son ruidos blancos del proceso y de la medida de media cero y no correlacionados,
con varianzas respectivas de Q = 2 y R = 1. El filtro de Kalman de estado estacionario para
este sistema se puede obtener resolviendo la Ecuación (8.34) con Ṗ = 0, de la cual se obtiene
√ √
x̂˙ = − 3x̂ + ( 3 − 1)y (8.74)

Tomando la transformada de Laplace de este estimador da


√ √
(s + 3)X̂(s) = ( 3 − 1)Y (s) (8.75)
8.5 Dualidad 241

En otras palabras, el filtro de Kalman es equivalente a pasar la medición y(t) a través de la


función de transferencia G(s), lo cual está dado como

3−1
G(s) = √ (8.76)
s+ 3
La respuesta al impulso del filtro de Kalman es obtenida tomando la inversa de la transformada
de la Laplace, lo cual da
√ √
g(t) = ( 3 − 1)e− 3t , t ≥0 (8.77)

Ahora se va a obtener el espectro de potencia del estado tomando la trasformada de Laplace de


la Ecuación (8.73). Esto da
sX(s) = −X(S) +W (s)
1 (8.78)
X(s) = W (s)
s+1
Se ve que el estado x(t) se puede obtener pasando el ruido blanco w(t) (el cual tiene un espectro
de potencia Sv (ω) = Q = 2) a través de la función de transferencia L(s) = 1/(s + 1). A partir
de la Ecuación (4.62) se ve como calcular el espectro de potencia de la salida de un sistema
lineal. Esto da el espectro de potencia de x(t) como

Sx (ω) = L(−ω) · L(ω) · Sv (ω)


   
1 1
= · ·2
− jω + 1 jω + 1
2
= 2 (8.79)
ω +1
El filtro de Wiener causal para una señal con este espectro de potencia, contaminado por ruido
de medición blanco con un espectro de potencia unitario, se obtuvo en el Ejemplo 4.6.4. Se
encontró que el filtro de Wiener era idéntico al filtro de Kalman de estado estacionario de
la Ecuación (8.77). Este ejemplo sirve para ilustrar la equivalencia del filtrado Wiener y el
filtrado de Kalman de estado estacionario.

8.5 Dualidad

Es interesante observar la dualidad entre la estimación óptima y un control óptimo. El problema


de estimación óptima comienza con las ecuaciones del sistema y la medición

ẋ = Ax + v
v ∼ N(0,Q)
(8.80)
y = Cx + w
w ∼ N(0,R)
242 Capítulo 8. El filtro de Kalman continuo

recordando que Q y R son matrices simétricas. El problema de estimación óptima trata de


encontrar el estimado del estado x̂ que minimice la función de costo
Z tf
E (x − x̂)> (x − x̂) dt (8.81)

Je =
0

El estimador óptimo (el filtro de Kalman) está dado como

Pe = E (x(0) − x̂(0))(x(0) − x̂(0))>




Ṗe = APe + Pe A> − Pe C> R−1 CPe + Q


(8.82)
Ke = Pe C> R−1
x̂˙ = Ax̂ + K (y − Cx̂)
e

La ecuación diferencial de Riccati para el estimador óptimo se integra hacia adelante en el


tiempo desde su condición inicial Pe (0). El problema de control óptimo comienza con el
sistema
ẋ = Ax + Cu (8.83)
donde u es la variable de control. El problema de control óptimo en tiempo finito intenta
encontrar la ley de control u que minimice la función de costo
Z tf
Jc = x> φ x|t f + x> Qx + u> Ru dt (8.84)

0

Las matrices φ , Q y R, que se supone son definidas positivas simétricas, proporcionan la


ponderación especificada por el usuario para el índice de desempeño. El controlador óptimo se
da como
Pc (t f ) = φ (t f )
Ṗc = −A> Pc − Pc A + Pc CR−1 C> Pc − Q
(8.85)
Kc = R−1 C> Pc
u = Kc x
La ecuación diferencial de Riccati para el problema de control óptimo se integra hacia atrás
en el tiempo a partir de la condición final P(t f ). Téngase en cuenta las relaciones entre la
solución de estimación óptima de la Ecuación (8.82) y la solución de control óptimo de la
Ecuación (8.85). Las ecuaciones diferenciales de Riccati tienen la misma forma, excepto que
son negativos entre sí y A y C se sustituyen por sus transpuestas. La ganancia estimador Ke , y
la ganancia del controlador Kc tienen formas muy similares. Las matrices de covarianza Q y
R en el problema de estimación tienen duales en las matrices de ponderación de la función de
costo del problema de control óptimo.

La relación dual entre los problemas de estimación y de control se observó en los primeros
trabajos sobre el filtro de Kalman [46], [43]. Desde entonces, se ha utilizado muchas veces para
extrapolar los resultados conocidos de un problema con el fin de obtener nuevos resultados
para el problema dual.
8.6 Resumen 243

8.6 Resumen
En este capítulo, se ha deducido el filtro de Kalman de tiempo continuo mediante la aplicación
de un argumento limitador del filtro de Kalman de tiempo discreto. Sin embargo, así como hay
varias maneras para obtener el filtro de Kalman tiempo discreto, también hay varias maneras
para obtener el filtro de Kalman de tiempo continuo. La derivación original realizada por
Kalman y Bucy [43] implicaba la solución de la ecuación integral de Wiener-Hopf.
Se ha visto que tanto la ecuación diferencial como la ecuación algebraica de Riccati son la
clave para la solución del filtro de Kalman de tiempo continuo. La versión escalar de lo que hoy
se conoce como la ecuación de Riccati se estudió inicialmente por matemáticos como James
Bernoulli y John Bernoulli en los años 1600 y Jacopo Riccati, Daniel Bernoulli, Leonard Euler,
Jean-Lerond dÁlembert y Adrien Legendre en el siglo XVIII. La ecuación fue por primera vez
llamada “la ecuación de Riccati” por dÁlembert en 1763 [75].
El filtro de Kalman en tiempo continuo se aplica a los sistemas con ruido blanco de tiempo
continuo tanto en la ecuación del proceso como en la de medición. El ruido blanco de tiempo
continuo es no intuitivo ya que tiene una correlación infinita consigo mismo en el instante
actual, pero una correlación cero consigo mismo cuando se separan por tiempos arbitrariamente
pequeños pero distintos de cero. Sin embargo, el ruido blanco de tiempo continuo es un caso
límite de ruido blanco de tiempo discreto, que es intuitivamente aceptable. Por lo tanto, el
ruido blanco de tiempo continuo puede ser aceptado como una aproximación a la realidad. Esto
corresponde a muchas otras aproximaciones a la realidad que se aceptan a su valor nominal
(por ejemplo, el modelo matemático de un sistema es una aproximación a la realidad).
El filtro de Kalman de tiempo continuo se aplica independientemente de la naturaleza
estadística del ruido, siempre es de media cero. Es decir, el filtro de Kalman es óptimo incluso
cuando el ruido no sea gaussiano. El filtro de Kalman de estado estacionario proporciona un
desempeño de estimación casi óptimo en una pequeña fracción del esfuerzo computacional del
filtro de Kalman variable en el tiempo. El filtro de Kalman en estado estacionario es idéntico al
filtro de Wiener de la Sección 4.6, y tiene una relación dual interesante para un control óptimo
lineal cuadrático.
9 El filtro de Kalman no lineal

Hay tres clases de personas: aquellas que ven, aquellas que ven
lo que se les muestra y aquellas que no ven.

Leonardo da Vinci

9.1 Introducción

E n la discusión realizada hasta el momento se han considerado filtros lineales para sistemas
lineales. Desafortunadamente, no existen sistemas lineales. Todos los sistemas son no
lineales en última instancia. Incluso la simple relación I = V /R de la Ley de Ohm, es sólo una
aproximación en un rango limitado. Si la tensión a través de un resistor supera un cierto umbral,
entonces la aproximación lineal se rompe. Realmente no existen sistemas lineales. Sin embargo,
muchos sistemas tienen una respuesta lo suficientemente cercana a la lineal de modo que los
enfoques de estimación lineal dan resultados satisfactorios. Pero “lo suficientemente cercana”
sólo puede ser realizada hasta ahora. Eventualmente, se opera a través de un sistema que no
se comporta de forma lineal, incluso en un pequeño intervalo de operación, y los enfoques
lineales para la estimación ya no dan buenos resultados. En este caso, se deben explorar los
estimadores no lineales.
El filtrado no lineal puede ser un tema difícil y complejo. Ciertamente, no es tan maduro,
coherente, o bien entendido como el filtrado lineal. Todavía hay una gran cantidad de espacio
para avances y mejoras en las técnicas de estimación no lineal. Sin embargo, algunos métodos
de estimación no lineal se han convertido (o se están convirtiendo) en comunes. Estas técnicas
no lineales incluyen el filtro de Kalman extendido (EKF), el filtro unscented y el filtro de
partículas. En este capítulo se discutirán algunas extensiones no lineales del filtro de Kalman.
El filtro de Kalman que se ha estudiado en los capítulos anteriores se aplica directamente a
sistemas lineales. Sin embargo, un sistema no lineal puede ser linealizado y entonces se pueden
aplicar técnicas de estimación lineales. Este capítulo trata de los tipos de enfoques no lineales
para el filtrado de Kalman.

245
246 Capítulo 9. El filtro de Kalman no lineal

9.2 El filtro de Kalman linealizado

En esta sección, se mostrará como linealizar un sistema no lineal y luego se usará la teoría
de filtrado de Kalman para estimar las desviaciones del estado a partir de un valor de estado
nominal. Esto dará entonces un estimado del estado del sistema no lineal. Se deducirá el filtro
de Kalman linealizado desde el punto de vista de tiempo continuo, aunque la deducción análoga
para sistemas de tiempo discreto o sistemas híbridos es sencilla.
Considérese el siguiente modelo general de un sistema no lineal:

ẋ = f(x,u,v,t)
y = h(x,w,t)
(9.1)
v ∼ (0,Q)
w ∼ (0,R)

La ecuación del sistema f(·) y la ecuación de medida h(·) son funciones no lineales. Se usará
la serie de Taylor para expandir esas ecuaciones alrededor de un control nominal u0 , un estado
nominal x0 , una salida nominal y0 y de valores de ruido nominal v0 y w0 . Estos valores
nominales (los cuales son funciones de tiempo) se basan en suposiciones a priori de lo que la
trayectoria del sistema podría parecer. Por ejemplo, si las ecuaciones del sistema representan la
dinámica de un avión, entonces el control nominal, el estado y la salida podrán ser la trayectoria
de vuelo planeada. La trayectoria de vuelo real diferirá de esta trayectoria nominal debido al
mal modelado, perturbaciones y otros efectos imprevistos. Pero la trayectoria real debe estar
cerca a la trayectoria nominal, en cuyo caso la linealización de la serie de Taylor debe estar
cerca de la trayectoria nominal. La linealización de la serie de Taylor de la Ecuación (9.1) da

∂ f ∂ f ∂ f
ẋ ≈ f(x0 ,u0 ,v0 ,t) + (x − x0 ) + (u − u0 ) + (v − v0 )
∂ x 0 ∂ u 0 ∂ v 0
= f(x0 ,u0 ,v0 ,t) + A∆x + B∆u + L∆v (9.2)


∂ h ∂ h
y ≈ h(x0 ,w0 ,t) + (x − x0 ) + (w − w0 )
∂ x 0 ∂ w 0
= h(x0 ,w0 ,t) + C∆x + M∆w (9.3)

Las definiciones de las matrices en derivadas parciales A,B,C,L y M son evidentes a partir de
las ecuaciones anteriores. El subíndice 0 en las derivadas parciales significa que están evaluadas
en los valores nominales de control, estado, salida y ruido. Las definiciones de las desviaciones
∆x, ∆u, ∆v y ∆w también se explican de las ecuaciones anteriores. Supóngase que los valores
de ruido nominal vo (t) y wo (t) son iguales a 0 para todo tiempo. (Si no son iguales a 0 entonces
se deben escribir como la suma de una parte determinista conocida y otra parte con media
cero, redefinir las cantidades de ruido y reescribir la Ecuación (9.1) tal que los valores de ruido
nominal sean iguales a 0). Ya que vo (t) y wo (t) son ambos iguales a 0, se ve que ∆v(t) = v(t)
y ∆w(t) = w(t). Más aún, se supone que el control u(t) es perfectamente conocido. En general,
esta es una suposición razonable. Después de todo, la entrada de control u(t) está determinada
9.2 El filtro de Kalman linealizado 247

por el sistema de control, por lo que no debería haber ninguna incertidumbre en su valor. Esto
significa que uo (t) = u(t) y ∆u(t) = 0. Sin embargo, en realidad, puede haber incertidumbres
en las salidas del sistema de control porque ellas están conectadas a los actuadores que tienen
sesgos y ruido. Si este es el caso, entonces se puede expresar el control como uo (t) + ∆u(t),
donde uo (t) es conocido y ∆u(t) es una variable aleatoria con media cero, se reescriben las
ecuaciones del sistema con una señal de control perfectamente conocida y se incluye ∆u(t)
como parte del del ruido del proceso. Ahora se define la trayectoria del sistema nominal como

ẋ0 = f(x0 ,u0 ,v0 ,t)


(9.4)
y0 = h(x0 ,w0 ,t)

Se define la desviación de la derivada exacta del estado de la derivada del estado nominal y la
desviación de la medida exacta de la medida nominal como
∆ẋ = ẋ − ẋ0
(9.5)
∆y = y − y0

Con estas definiciones las ecuaciones (9.2) y (9.3) se convierten en

∆ẋ = A∆x + Lv
= A∆x + ṽ (9.14)
>
ṽ ∼ (0,Q̃), Q̃ = LQL

∆y = C∆x + Mw
= C∆x + w̃ (9.15)
>
w̃ ∼ (0,R̃), R̃ = MRM
Las ecuaciones anteriores corresponden a un sistema lineal con estados ∆x y medidas ∆y, de
manera que se puede utilizar el filtro de Kalman para estimar ∆x. La entrada al filtro consiste
en ∆y, la cual es la diferencia entre el estado real y y el estado nominal y0 . La salida del
filtro de Kalman es ∆x, la cual es un estimado de la diferencia entre el estado real x y el
estado nominal x0 . Las ecuaciones modificadas para el filtro de Kalman linealizado son

∆x̂(0) = 0
n o
P(0) = E [∆x(0) − ∆x̂(0)] [∆x(0) − ∆x̂(0)]>
∆x̂˙ = A∆x̂ + K(∆y − C∆x̂) (9.16)
K = PC> R̃−1
Ṗ = AP + PA> + Q̃ − PC> R̃−1 CP
x̂ = x0 + ∆x̂

Para el filtro de Kalman, P es igual a la covarianza del error de estimación. En el filtro de


Kalman linealizado esto ya no es así debido a los errores que se arrastran en la ecuación de
linealización (9.2). Sin embargo, si los errores de linealización son pequeños entonces P será
248 Capítulo 9. El filtro de Kalman no lineal

Algoritmo 15 El filtro de Kalman linealizado de tiempo continuo.


1. Las ecuaciones del sistema están dadas como
ẋ = f(x,u,v,t) v ∼ (0,Q)
(9.6)
y = h(x,w,t) w ∼ (0,R)

La trayectoria nominal se conoce de antemano:

ẋ0 = f(x0 ,u0 ,0,t)


(9.7)
y0 = h(x0 ,0,t)

2. El filtro de Kalman se inicializa como


x̂+
0 = E{x0 }
n
+ >
o (9.8)
P+ +
0 = E (x0 − x̂0 )(x0 − x̂0 )

3. Calcular las siguientes matrices de derivadas parciales evaluadas en los valores de la trayectoria
nominal:
∂ f ∂ f
A= L =
∂ x 0 ∂ v 0
(9.9)
∂h ∂ h
C= M =
∂ x 0 ∂ w 0
4. Calcular las siguientes matrices:

Q̃ = LQL> R̃ = MRM> (9.10)

5. Definir ∆y como la diferencia entre la medida real y la medida nominal y0 :

∆y = y − y0 (9.11)

6. Ejecutar las siguientes ecuaciones del filtro de Kalman:

∆x̂(0) = 0
n o
P(0) = E [∆x(0) − ∆x̂(0)] [∆x(0) − ∆x̂(0)]>

∆x̂˙ = A∆x̂ + K(∆y − C∆x̂) (9.12)


K = PC> R̃−1
Ṗ = AP + PA> + Q̃ − PC> R̃−1 CP

7. Estimar el estado como sigue


x̂ = x0 + ∆x̂ (9.13)

aproximadamente igual a la covarianza del error de estimación. El filtro de Kalman linealizado


se resume en el Algoritmo 15.
9.3 Filtro de Kalman extendido 249

9.3 Filtro de Kalman extendido

En la sección anterior se obtuvo un filtro de Kalman linealizado para estimar los estados de un
sistema no lineal. El desarrollo se basó en la linealización del sistema no lineal alrededor de
una trayectoria nominal. Surge entonces la siguiente pregunta: ¿cómo se conoce la trayectoria
de estado nominal? En algunos casos puede no ser fácil encontrar la trayectoria nominal. Sin
embargo, puesto que el filtro de Kalman estima el estado del sistema, se puede usar el estimado
del filtro de Kalman como la trayectoria de estado nominal. Esta es una especie de método
de arranque. Se linealiza el sistema no lineal alrededor del estimado del filtro de Kalman y el
estimado del filtro de Kalman se basa en el sistema linealizado. Esta es la idea del filtro de
Kalman extendido (EKF), fue originalmente propuesta por Stanley Schmidt para la aplicación
del filtro de Kalman a los problemas no lineales de navegación de naves espaciales [10]. El
procedimiento para el cálculo del filtro de Kalman extendido se resume en el Algoritmo 16.

Algoritmo 16 El filtro de Kalman extendido en tiempo continuo.


1. Las ecuaciones del sistema están dadas como
ẋ = f(x,u,v,t) v ∼ (0,Q)
(9.17)
y = h(x,w,t) w ∼ (0,R)

2. Calcular las siguientes matrices de derivadas parciales evaluadas en los valores de la trayectoria
nominal:
∂ f ∂ f
A= L =
∂ x x̂ ∂ v x̂
(9.18)
∂ h ∂ h
C= M=
∂ x x̂ ∂ w x̂
3. Calcular las siguientes matrices:
Q̃ = LQL>
(9.19)
R̃ = MRM>
4. Ejecutar las siguientes ecuaciones del filtro de Kalman:

x̂(0) = E{x(0)}
n o
P(0) = E [x(0) − x̂(0)] [x(0) − x̂(0)]>

x̂˙ = f(x̂,u,v0 ,t) + K[y − h(x̂,w0 ,t)] (9.20)


> −1
K = PC R̃
Ṗ = AP + PA> + Q̃ − PC> R̃−1 CP

donde los valores de ruido nominal están dados como v0 = 0 y w0 = 0

Ejemplo 9.3.1 En este ejemplo, se utiliza el EKF de tiempo continuo para estimar el estado de
un motor síncrono bifásico de imanes permanentes. Las ecuaciones del sistema están dadas
250 Capítulo 9. El filtro de Kalman no lineal

como:
−R ωλ u + q1
i̇a = i + sen θ + a
L a L L
−R ωλ ub + q2
i̇b = i − cos θ +
L b L L (9.21)
−3λ 3λ fω
ω̇ = ia sen θ + ib cos θ − + q3
2J 2J J
θ̇ = ω
donde ia e ib son las corrientes en los dos devanados, θ y ω son la posición angular y la
velocidad del rotor, R y L son la resistencia y la inductancia del devanado, λ es la constante
de flujo y f es el coeficiente de fricción viscosa. Las entradas de control ua y ub consisten de
las tensiones aplicadas a través de los dos devanados y J es el momento de inercia del eje del
motor y la carga. El estado se define como
> >
(9.22)
 
x = x1 x2 x3 x4 = ia ib ω θ

Los términos qi son el ruido del proceso debido a incertidumbre en las entradas de control (q1
y q2 ) y el torque de la carga (q3 ).
Los datos de placa del motor están dados por: resistencia del devanado, R = 1.9 Ω, in-
ductancia del devanado L = 0.003 H, constante del motor, λ = 0.1, momento de inercia,
J = 0.00018 N·m, coeficiente de fricción, f = 0.001 N·s·m−2 , I0 = 0.3708 A. Se tomó un
paso de integración de dt = 0.0005 s.
La matriz A de derivadas parciales se obtiene como
 
R λ s4 x3 λ c4
 −L 0
L L 
 
 
 R λ c4 x3 λ s4 
 0 − − 
∂f  
L L L

A= = (9.23)

∂x 


 3 λ s4 3 λ c4
− f 3 λ (x c
1 4 + x s )
2 4 

 2J 2J − −
 J 2 J 

 
0 0 1 0

donde se ha usado la notación s4 = sen x4 y c4 = cos x4 . Supóngase que se pueden medir las
corrientes de los devanados, v.gr., con elementos sensores resistivos, entonces las ecuaciones
de medición son
y(1) = ia + w(1)
(9.24)
y(2) = ib + w(2)
donde w(1) y w(2) son procesos independientes de ruido blanco con media cero y desviaciones
estándar asumidas de 100 mA. Las entradas de control nominal se establecen en
ua (t) = sen(2πt)
(9.25)
ub (t) = cos(2πt)
9.3 Filtro de Kalman extendido 251

0.6 0.4

0.4
0.2
Corriente A [A]

Corriente B [A]
0.2
0
0

−0.2
−0.2

−0.4 −0.4
0 0.5 1 1.5 0 0.5 1 1.5

10 7
6 Verdadero
Estimado
Velocidad [Rad/s]

5 5

Posición (Rad)
4
0
3

−5 2
1
−10 0
0 0.5 1 1.5 0 0.5 1 1.5
Tiempo [s] Tiempo [s]

Figura 9.1 Resultados de la simulación del filtro de Kalman extendido continuo para el motor
síncrono de imán permanente bifásico.

Las entradas de control reales son iguales a los valores nominales más q1 y q2 (términos
de ruido eléctrico), los cuales son procesos independientes de ruido blanco con media cero y
desviación estándar de 10 mA. El ruido debido a las perturbaciones del torque de carga (q3 )
tiene una desviación estándar de 0.5 rad/s2 . Las medidas se obtienen en forma continua.

Aunque las medidas solamente consisten de las corrientes de devanado y el sistema es no


lineal, se puede usar un EKF de tiempo continuo (implementado con circuitos analógicos o
lógica digital muy rápida) para estimar la posición del motor y la velocidad. Los resultados
de medición se muestran en la Figura 9.1. Los cuatro estados se estiman bastante bien. En
particular, el estimado de la posición del rotor es tan bueno que las trazas de la posición
verdadera del rotor y la estimada no se distinguen en la Figura 9.1.
252 Capítulo 9. El filtro de Kalman no lineal

Tabla 9.1 Resultados del ejemplo que muestran una desviación estándar de los errores de estimación de estado
determinados a partir de los resultados de simulación y determinados a partir de la matriz P del EKF.
Estos resultados son para la simulación del motor de imán permanente de dos fases. Esta tabla muestra
que la matriz P es un buen indicador de la magnitud de los errores de estimación de estado del EKF..

Simulación Matriz P
Corriente en el devanado A 0.054 A 0.0936 A
Corriente en el devanado B 0.052 A 0.0936 A
Velocidad 0.26 rad/s 0.4422 rad/s
Posición 0.013 rad 0.0252 rad
La matriz P cuantifica la incertidumbre en los estimados de estados. Si las no linealidades en
el sistema y las medidas no son demasiado severas, entonces la matriz P deberá dar una idea
de cuan precisa es la estimación. En este ejemplo, las desviaciones estándar de los errores de
estimación de estado se obtuvieron de la simulación y luego se compararon con los elementos
de la diagonal de la matriz P de estado estacionario que se obtuvo del filtro de Kalman. La
Tabla 9.1 muestra una comparación de los errores de estimación que se determinaron por
simulación y los errores de estimación teóricos basados en la matriz P. Se ve que la matriz P
da una buena indicación de la magnitud de los errores de estimación.
9.3.1 Filtro de Kalman extendido de tiempo discreto

En esta subsección, se desarrollará el EKF de tiempo discreto, en el cual se considera tanto la


dinámica como las mediciones en tiempo discreto. Esta situación es encontrada frecuentemente
en la práctica. Aun si la dinámica del sistema tenido en cuenta es de tiempo continuo, el EKF
normalmente necesita ser implementado en un computador digital. Esto significa que podría
no haber suficiente potencia computacional para integrar la dinámica del sistema como se
requiere en un EKF de tiempo continuo. Así, las dinámicas están frecuentemente discretizadas
y entonces un EFK de tiempo discreto puede usarse. Se supone que el modelo del sistema es

xk = fk−1 (xk−1 , uk−1 , vk−1 )


yk = hk (xk , wk )
(9.26)
wk ∼ (0,Qk )
vk ∼ (0,Rk )

Se realiza la expansión de la ecuación de estado en serie de Taylor alrededor de xk−1 = x̂+


k−1 y
vk−1 = 0 obteniéndose:

∂ fk−1 ∂ fk−1
xk = fk−1 (x̂+ ,u
k−1 k−1 ,0) + (x k−1 − x̂+
) + v
∂ x x̂+ k−1 ∂ v x̂+ k−1
k−1 k−1

= fk−1 (x̂+ +
k−1 ,uk−1 ,0) + Fk−1 (xk−1 − x̂k−1 ) + Lk−1 vk−1
= Fk−1 xk−1 + fk−1 (x̂+ +
 
k−1 ,uk−1 ,0) − Fk−1 x̂k−1 + Lk−1 vk−1
= Fk−1 xk−1 + ũk−1 + ṽk−1 (9.27)
9.3 Filtro de Kalman extendido 253

Fk−1 y Lk−1 son definidos por la anterior ecuación. La señal conocida ũk y la señal de ruido
ṽk se definen como:
ũk = fk (x̂+ +
k ,uk ,0) − Fk x̂k
(9.28)
ṽk ∼ (0,Lk Qk L> k )

Linealizando la ecuación de medición alrededor de xk = x̂− k y wk = 0:



− ∂ hk − ∂ hk
yk = hk (x̂k ,0) + (x − x̂k ) + w (9.29)
∂ x x̂− k ∂ w x̂− k
k k

De aquí,

yk = hk (x̂− −
k ,0) + Hk (xk − x̂k ) + Mk wk
= Hk xk + hk (x̂− −
 
k ,0) − Hk x̂k + Mk wk
= Hk xk + zk + w̃k (9.30)

Las expresiones Hk y Mk están definidas en la Ecuación (9.29).


La señal conocida zk y la señal de ruido w̃k se definen como

zk = hk (x̂− −
k ,0) − Hk x̂k
(9.37)
w̃k ∼ (0,Mk Rk M>
k )

Se tiene un sistema en espacio de estado lineal en la Ecuación (9.27) y una medición lineal
en la Ecuación (9.29). Esto significa que se pueden usar las ecuaciones del filtro de Kalman
estándar para estimar el estado. Esto resulta en las siguientes ecuaciones para el filtro de
Kalman extendido de tiempo discreto.

P− + > >
k = Fk−1 Pk−1 Fk−1 + Lk−1 Qk−1 Lk−1
Kk = P− > − > > −1
k Hk (Hk Pk Hk + Mk Rk Mk )
x̂− +
k = fk−1 (x̂k−1 ,uk−1 ,0)
zk = hk (x̂− −
k ,0) − Hk x̂k
(9.38)
x̂+
k= x̂− −
k + Kk (yk − Hk x̂k − zk )
= x̂− −
 
k + Kk yk − hk (x̂k ,0)

P+
k = (I − Kk Hk )Pk

El EKF de tiempo discreto puede resumirse en el Algoritmo 17.

9.3.2 Filtro de Kalman extendido híbrido

Muchos sistemas reales de ingeniería están gobernados por dinámicas de tiempo continuo
mientras que las medidas se obtienen en instantes discretos de tiempo. En esta subsección, se
desarrollará el EKF híbrido, en el cual se consideran sistemas con dinámica en tiempo continuo
y medidas en tiempo discreto. Esta es la situación más común encontrada en la práctica.
254 Capítulo 9. El filtro de Kalman no lineal

Algoritmo 17 El filtro de Kalman extendido de tiempo discreto.


1. Las ecuaciones del sistema y de la medición se dan como sigue:

xk = fk−1 (xk−1 ,uk−1 ,vk−1 ) vk ∼ (0,Qk )


(9.31)
yk = hk (xk ,wk ) wk ∼ (0,Rk )

2. Inicializar el filtro como sigue:

x̂+
0 = E{x0 }
n
+ >
o (9.32)
P+ +
0 = E (x0 − x̂0 )(x0 − x̂0 )

3. Para k = 1,2, . . ., realizar lo siguiente


• Calcular las matrices de derivadas parciales:

∂ fk−1
Fk−1 =
∂ x x̂+
(9.33)
k−1

∂ fk−1
Lk−1 =
∂ v x̂+
k−1

• Realizar la actualización de la estimación de estados y la covarianza del error de estimación


como sigue:
P− + > >
k = Fk−1 Pk−1 Fk−1 + Lk−1 Qk−1 Lk−1
(9.34)
x̂− +
k = fk−1 (x̂k−1 ,uk−1 ,0)
• Calcular las siguientes matrices de derivadas parciales:

∂ hk
Hk =
∂ x x̂−
k (9.35)
∂ hk
Mk =
∂ w x̂−
k

• Realizar la actualización de la medida de la estimación de estados y la covarianza del error de


estimación como sigue:

Kk = P − > − > > −1


k Hk (Hk Pk Hk + Mk Rk Mk )
− − (9.36)
x̂+
 
k = x̂k + Kk yk − hk (x̂k ,0)
P+
k = (I − Kk Hk )P−
k

Nótese que otras expresiones equivalentes pueden usarse para Kk y P+


k , como se deduce de la Ecuación
(5.54).

Supóngase que se tiene un sistema en tiempo continuo con medidas en tiempo discreto como
sigue:
ẋ = f(x,u,v,t)
yk = hk (xk ,wk )
(9.39)
v(t) ∼ (0,Q)
wk ∼ (0,Rk )
9.4 El filtro de Kalman unscented 255

El ruido del proceso v(t) es ruido blanco en tiempo continuo con covarianza Q y el ruido de
medición wk es ruido blanco en tiempo discreto con covarianza Rk . Entre las mediciones se
propaga la estimación del estado de acuerdo a la dinámica no lineal conocida, y se propaga la
covarianza como se dedujo en el EKF de tiempo continuo de la Subsección 9.3 utilizando la
Ecuación (9.20). Recuérdese que la expresión Ṗ de la Ecuación (9.20) está dada como

Ṗ = AP + PA> + LQL> − PC> (MRM> )−1 CP. (9.40)

En el EKF híbrido, no se incluye el término R en la ecuación Ṗ porque se está integrando P


entre tiempos de muestreo, durante los cuales no se efectúa ninguna medida. Otra manera de
ver esto es que entre tiempos de medición se tienen medidas con covarianza infinita (R → ∞),
de modo que el último término del lado derecho de la ecuación Ṗ tienda a cero. Esto da lo
siguiente para las ecuaciones de actualización de tiempo del EKF híbrido:

x̂˙ = f(x̂,u,v0 ,t)


(9.41)
Ṗ = AP + PA> + LQL>

donde A y L están dados en la Ecuación (9.18). Las anteriores ecuaciones propagan x̂ desde
− −
k−1 hasta x̂k y P desde Pk−1 hasta Pk . Nótese que en la anterior ecuación v0 es el ruido
x̂+ +

nominal del proceso; esto es, v0 (t) = 0.


En cada tiempo de medición, se actualiza el estimado del estado y de la covarianza como se
dedujo en el filtro de Kalman de tiempo discreto (Capítulo 5):

Kk = P − > − >
k Hk (Hk Pk Hk + Mk Rk Mk )
> −1

− −
x̂+ (9.42)
 
k = x̂k + Kk yk − hk (x̂k ,v0 )
P+
k = (I − Kk Hk )P− > > >
k (I − Kk Hk ) + Kk Mk Rk Mk Kk

donde w0 es el ruido nominal de medición; esto es, w0 = 0. Hk es la derivada parcial de


hk (xk ,wk ) con respecto a xk y Mk es la derivada parcial de hk (xk ,wk ) con respecto a wk ; Hk y
Mk se evalúan en x̂− k .
Nótese que Pk y Kk no pueden calcularse fuera de línea porque dependen de Hk y Mk , las
cuales dependen de x̂−
k , la cual a su vez depende de las medidas ruidosas. Sin embargo, se han
reportado algunos esfuerzos para la obtención de aproximaciones de estado estacionario del
EKF en [5].
El EKF híbrido se encuentra resumido en el Algoritmo 18.

9.4 El filtro de Kalman unscented

Como se señaló anteriormente, el filtro de Kalman extendido (EKF) es el algoritmo de estima-


ción de estado que más se aplica para sistemas no lineales. Sin embargo, el EKF puede ser
difícil de ajustar y, a menudo da estimaciones poco fiables si las no linealidades del sistema
son severas. Esto es porque el EKF se basa en la linealización para propagar la media y la cova-
rianza de estado. Esta sección trata sobre el filtro de Kalman unscented (UKF), una extensión
256 Capítulo 9. El filtro de Kalman no lineal

Algoritmo 18 El filtro de Kalman extendido híbrido.


1. El sistema de ecuaciones con dinámica en tiempo continuo y mediciones en tiempo discreto están
dadas como sigue:
ẋ = f(x,u,v,t)
yk = hk (xk ,wk )
(9.43)
v(t) ∼ (0,Q)
wk ∼ (0,Rk )
2. Inicializar el filtro como sigue:

x̂+
0 = E{x0 }
n
+ >
o (9.44)
P+ +
0 = E (x0 − x̂0 )(x0 − x̂0 )

3. Para k = 1,2, . . ., realizar lo siguiente


• Integrar el estimado del estado y de su covarianza desde el tiempo (k − 1)+ hasta el tiempo k−
como sigue:
x̂˙ = f(x̂,u,0,t)
(9.45)
Ṗ = AP + PA> + LQL>
donde A y L están dadas en la Ecuación (9.18). Este proceso de integración se inicia con
− −
x̂ = x̂+ +
k−1 y P = Pk−1 . Al final de esta integración se tiene x̂ = x̂k y P = Pk
• En el tiempo k, incorporar la medida yk en el estimado del estado y de la covarianza como
sigue:
Kk = P− > − > > −1
k Hk (Hk Pk Hk + Mk Rk Mk )
− −
x̂+ (9.46)
 
k = x̂k + Kk yk − hk (x̂k ,0)
− > > >
P+
k = (I − Kk Hk )Pk (I − Kk Hk ) + Kk Mk Rk Mk Kk
Hk y Mk son las derivadas parciales de hk (xk ,wk ) con respecto a xk y wk y ambas evaluadas en
x̂− +
k . Nótese que se pueden usar otras expresiones equivalentes para Kk y Pk , como se deduce
de la Ecuación (5.54).

del filtro de Kalman, que reduce los errores de linealización del EKF. El uso del UKF puede
proporcionar una mejora significativa sobre el EKF.
Con relación a la expresión unscented, en una entrevista [35], su creador Jeffrey Uhlmann,
explicó que se le ocurrió el nombre después de observar un desodorante sin perfume situado
sobre el escritorio de un compañero de trabajo; por lo tanto es inútil buscar una traducción,
sólo es eso: un nombre.

9.4.1 Media y covarianza de trasformaciones no lineales

En esta subsección, se mostrará como las aproximaciones de linealización pueden resultar en


errores en la trasformación de medias y covarianzas cuando una variable aleatoria es operada
por una función no lineal. Esta subsección no tiene realmente nada que ver directamente con
estimación de estados, el filtrado de Kalman o el UKF. Sin embargo, se proporcionan algunas
bases que permitirán desarrollar el UKF más adelante. También se darán los conceptos básicos
9.4 El filtro de Kalman unscented 257

para entender el tipo de problemas que pueden surgir en el EKF.


Considérese la transformación no lineal
y1 = r cos θ
(9.47)
y2 = r sen θ

Esta es un transformación estándar de coordenadas polares a rectangulares. Por ejemplo, se


puede tener un sensor que mida la magnitud r y el ángulo θ para luego convertir el dato medido
a las coordenadas rectangulares y1 y y2 . La transformación de coordenadas puede escribirse
más generalmente como
y = h(x) (9.48)
donde y es la salida de los elementos de h(x). El vector x de dos elementos se define como
 
r
x= (9.49)
θ

Supóngase que x1 (la cual es la magnitud r) es una variable aleatoria con una media de 1 y una
desviación estándar de σr . Supóngase que x2 (el cual es el ángulo θ ) es una variable aleatoria
con una media de π/2 y una desviación estándar de σθ . En otras palabras, las medias de las
componentes de x están dadas como r̄ = 1 y θ̄ = π/2. Además, se asumirá que r y θ son
independientes y que sus funciones de densidad de probabilidad son simétricas alrededor de
sus medias (por ejemplo, gaussiana o uniforme).

La media de una transformación no lineal

Una consideración inicial del anterior problema, junto con la Ecuación (9.47), podría conducir a
creer que y1 tiene una media de 0 y y2 tiene una media de 1. Además, un enfoque de linealización
podría conducir a la misma conclusión. Si se desarrolla una linealización de primer orden a la
Ecuación (9.48) y se toma el valor esperado de ambos lados, se puede obtener
 
∂ h
ȳ = E{h(x)} ≈ E h(x̄) + (x − x̄)
∂ x x̄

∂ h
= h(x̄) + E(x − x̄) = h(x̄)
∂ x x̄
 
0
= (9.50)
1

La intuición, junto con un análisis de linealización de primer orden, conducen a la misma


conclusión. Sin embargo, se seguirá este problema con más rigor para comprobar el análisis
previo. Se puede escribir r y θ como

r = r̄ + r̃
(9.51)
θ = θ̄ + θ̃

donde r̃ y θ̃ son simplemente las desviaciones de r y θ de sus medias.


258 Capítulo 9. El filtro de Kalman no lineal

Se puede realizar un análisis de la media de y1 como sigue:



ȳ1 = E{r cos θ } = E (r̄ + r̃) cos(θ̄ + θ̃ )
(9.52)

= E (r̄ + r̃)(cos θ̄ cos θ̃ − sen θ̄ sen θ̃ )

Llevando a cabo la multiplicación, recordando que r̃ y θ̃ son independientes con funciones de


densidad probabilidad (pdf ) simétricas y tomando el valor esperado, resulta en

ȳ1 = 0 (9.53)

La intuición y la aproximación de primer orden de ȳ1 han sido confirmadas por este análisis.
Repitiendo el proceso para ȳ2 :

ȳ2 = E{r sen θ }



= E (r̄ + r̃) sen(θ̄ + θ̃ )
(9.54)

= E (r̄ + r̃)(sen θ̄ cos θ̃ + cos θ̄ sen θ̃ )

Llevando a cabo la multiplicación, recordando que r̃ y θ̃ son independientes con pdf s simétricas
y tomando el valor esperado, resulta en

(9.55)

ȳ2 = E cos θ̃

No se puede ir más lejos a menos que se asuma alguna distribución para θ̃ , así que se asume
que θ̃ está uniformemente distribuida entre ±θm . En este caso, se puede calcular

ȳ2 = E cos θ̃
sen θm
= (9.56)
θm

Se esperaba obtener 1 por respuesta en confirmación de la Ecuación (9.50), pero en su lugar


se tiene un número que es menor que 1. [Nótese que (sen θm )/θm < 1 para todo θm > 0, y
lı́mθm →∞ (sen θm )/θm = 1 ]. El análisis revela un problema con respecto a la visión inicial y a
la linealización de primer orden que se realizó antes. La media de y2 será en efecto menor que
1. Esto se puede ver observando un gráfico de 300 valores de r y t generados aleatoriamente,
donde r̃ está uniformemente distribuida entre ±0.01 y θ̃ está uniformemente distribuida entre
±0.35 rad. La pequeña varianza de r̃ y la gran varianza de θ̃ resulta en una distribución en
forma de arco de puntos como se ve en la Figura 9.2. Esta distribución en forma de arco resulta
en ȳ2 < 1 . Este no es un ejemplo de filtrado de Kalman. Pero ya que el EKF usa la linealización
de primer orden para actualizar la media del estado, este ejemplo muestra el tipo de error que
puede arrastrarse en el EKF cuando es aplicado a un sistema no lineal.

Para un análisis más general de la media de una transformación no lineal, recordando de la


Ecuación (3.9) que y = h(x) puede ser ampliado en una serie de Taylor alrededor de x̄ como
9.4 El filtro de Kalman unscented 259

1.01

Media
1 linealizada

0.99

0.98

Media no
y2
0.97
lineal

0.96

0.95

0.94

0.93
−0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4
y1

Figura 9.2 Media linealizada y media no lineal de 300 puntos generados de forma aleatoria, con r̃
uniformemente distribuido entre ±0.01 y θ̃ uniformemente distribuido entre ±0.35 rad.

sigue
1 2 1
y = h(x) = h(x̄) + Dx̃ h + D h + D3x̃ h + · · · (9.57)
2! x̃ 3!
donde x̃ = x − x̄. La media de y por la tanto se puede expandir como
 
1 2 1 3
ȳ = E h(x̄) + Dx̃ h + Dx̃ h + Dx̃ h + · · ·
2! 3!
 
1 1
= h(x̄) + E Dx̃ h + D2x̃ h + D3x̃ h + · · · (9.58)
2! 3!

Usando Dx̃ h de la Ecuación (3.8) se puede ver que


( )
n

E{Dx̃ h} = E ∑ x̃i h(x)
i=1 ∂ xi x=x̄
n


= ∑ E{x̃i } h(x)
i=1 ∂ xi x=x̄
=0 (9.59)
260 Capítulo 9. El filtro de Kalman no lineal

porque E{x̃i } = 0. Igualmente, se puede ver que


( )
n
∂ 3

 3
E Dx̃ h = E ∑ x̃i ∂ x h(x)

i=1 i x=x̄
=0 (9.60)

Esto
  es porque
 la suma en la ecuación anterior se compone sólo de momentos de tercer orden
E x̃13 ,E x̃12 x̃2 ,etc. . Estos valores esperados siempre serán cero [68]. Igualmente todos
los términos impares en la Ecuación (9.58) serán cero, lo cual conduce a la simplificación
1  2 1  4
ȳ = h(x̄) + E Dx̃ h + E Dx̃ h + · · · (9.61)
2! 4!
Esto muestra por qué el cálculo de la media en la Ecuación (9.50) fue incorrecto; ese cálculo
sólo se corrige hasta el primer orden. Si se aproxima ȳ para la transformación polar a rectangular
usando términos hasta el segundo orden de la Ecuación (9.61), se obtiene
1  2
ȳ ≈ h(x̄) + E D h
2! ( x̃ )
n
∂ 2

1
= h(x̄) + E x̃i h(x)

2 ∑ ∂ x
i=1 i
x=x̄
2
∂ 2 h(x) 2
 
1 2 ∂ h(x) 2 ∂ h(x)

= h(x̄) + E(x̃i ) 2
+ 2E(x̃1 x̃2 ) + E(x̃2 ) 2
2 ∂x ∂ x1 x2 x=x̄
∂ x2 x=x̄
   1 x=x̄  
1 0 0 −r cos θ
= h(x̄) + + + σθ2
2 0 0 −r sen θ x=x̄
   
0 1 0
= + σθ2 (9.62)
1 2 −1

por lo tanto se obtiene

ȳ1 ≈ 0 (9.63)
σθ2 E(θ̃ )2
ȳ2 ≈ 1 − = 1− (9.64)
2 2
Nótese que se encontró el valor exacto de ȳ2 en la Ecuación (9.55) siendo igual a E(cos θ̃ ). La
expresión aproximada que se encuentra en la Ecuación (9.64) corresponde a los dos primeros
términos no nulos del desarrollo en serie de Taylor de E(cos θ̃ ).

La covarianza de una transformación no lineal

Ahora se dirigirá la atención a la covarianza de una variable aleatoria que experimenta una
transformación no lineal. La covarianza de y está dada por

Py = E (y − ȳ)(y − ȳ)> (9.65)



9.4 El filtro de Kalman unscented 261

Se puede usar las ecuaciones (9.57) y (9.61) para escribir (y − ȳ) como
   
1 2 1 2 1 4
y−ȳ = h(x̄) + Dx̃ h+ Dx̃ h+· · · − h(x̄)+ E(Dx̃ h)+ E(Dx̃ h)+· · ·
2! 2! 4!
   
1 2 1 1
= Dx̃ h + Dx̃ h + · · · − 2 4
E(Dx̃ h) + E(Dx̃ h) + · · · (9.66)
2! 2! 4!

Se sustituye esta expresión en la Ecuación (9.65) y se usa el mismo razonamiento como en la


sección previa para ver que todos los términos de potencias impares en el valor esperado se
evalúan como cero (asumiendo que x̃ tiene media cero con una pdf simétrica). Esto resulta en
( )
 >
Dx̃ h(D3x̃ h)> D2x̃ h (D2x̃ h)> D3x̃ h(Dx̃ h)>
Py = E Dx̃ h(Dx̃ h) + E + +
3! 2! 2! 3!
 2   2 >
Dx̃ h Dx̃ h
+E E +··· (9.67)
2! 2!

El primer término del lado derecho de la anterior ecuación puede escribirse como
 !> 
 n ! n
∂ h ∂ h 
E Dx̃ h(Dx̃ h)> = E

x̃i x̃


 i=1 ∂ xi x=x̄
∑ j
∂xj

j=1

x=x̄
( )
∂ h>

∂ h
= E ∑ x̃i x̃ j
i, j ∂ xi x=x̄ ∂ x j
x=x̄
=∑ Hi E(x̃i x̃ j )H>j
i, j

= ∑ Hi Pi j H>j (9.68)
i, j

donde el vector de derivadas parciales Hi y el valor esperado Pi j están definidos por la anterior
ecuación. Recordando de la Ecuación (2.7) que una ecuación de esta forma se puede escribir
como

>

∂ h ∂ h
E Dx̄ h(Dx̄ h)> =

P
∂ x x=x̄ ∂ x

x=x̄
= HPH> (9.69)

donde la matriz de derivadas parciales H y la matriz de covarianza P están definidas por la


ecuación anterior. Hi en la Ecuación (9.68) es la i-ésima columna de H y Pi j en la Ecuación
(9.68) es el elemento de la i-ésima fila y la j-ésima columna de P = E x̃x̃> . Se puede usar


esto en la Ecuación (9.67) para escribir la covarianza de una transformación no lineal y = h(x)
262 Capítulo 9. El filtro de Kalman no lineal

como sigue:
( )
> Dx̃ h(D3x̃ h)> D2x̃ h (D2x̃ h)> D3x̃ h(Dx̃ h)>
Py = HPH + E + + +
3! 2! 2! 3!
 2   2 >
Dx̃ h Dx̃ h
+E E +··· (9.70)
2! 2!

Esta es la expansión completa de la serie de Taylor para la covarianza de una transformación


no lineal.

En el EKF, se usa solamente el primer término de esta expansión para aproximar la covarianza
del error estimado. Por ejemplo, cuando la medición y = h(x) + w entonces se ve desde la
ecuación [] que la covarianza de y es aproximada como Py = HPx H> + R, donde H es la
derivada parcial de h con respecto a x, y R es la covarianza de w. Igualmente, si el estado se
propaga como xk+1 = f (xk ) + vk entonces la covarianza de x es actualizada aproximadamente
como P− k = FPk−1 + Q, donde F es la derivada parcial de f (x) con respecto a x y Q es la
+

covarianza de vk . Sin embargo, esas aproximaciones de la covarianza pueden resultar en errores


significativos si las funciones subyacentes h(x) y f (x) son altamente no lineales.

Por ejemplo, si se considera la transformación no lineal introducida en el comienzo de esta


sección. Una aproximación lineal de la covarianza podrá indicar que Py = HPx H> , donde H y
Px están dadas como

∂ h
H=
∂x
 x=x̄ 
cos θ −r sen θ
=
sen θ r cos θ x=x̄
 
0 −1
=
1 0
(  > )
r − r̄ r − r̄
Px = E
θ − θ̄ θ − θ̄
 2 
σr 0
= (9.71)
0 σθ2

Esto da Py como sigue

Py ≈ HPx H>
0 −1 σr2
     2 
0 0 1 σ 0
= = θ (9.72)
1 0 0 σθ2 −1 0 0 σr2
9.4 El filtro de Kalman unscented 263

Esta es una aproximación de Py . Sin embargo, un análisis más riguroso de Py puede realizarse
usando las ecuaciones (9.47), (9.53) y (9.56):

Py = E (y − ȳ)(y − ȳ)>

  > 

 r cos θ r cos θ 

=E  sen θm   sen θm 
 r sen θ − θ
 r sen θ −
θm


m
 
 r2 cos2 θ rφ cos θ 
=E   (9.73)
 rφ cos θ φ2 

 
sen θm
donde φ = r sen θ − . De nuevo usando la suposición que r y θ son independientes,
θm
r es uniformemente distribuida con una media de 1 y una desviación estándar de σr , y θ =
π/2 + θ̃ , con θ̃ uniformemente distribuida entre ±θm . Por lo tanto se puede calcular

E r2 = 1 + σr2


 2 1 − E cos 2θ̃
E cos θ =
2
 sen 2θm
E cos 2θ̃ =
2θm
sen θm
(9.74)

E{sen θ } = E cos θ̃ =
θm

Se pueden usar estas expresiones en la Ecuación (9.73) para calcular


   
1 2 sen 2θm
2 (1 + σr ) 1 − 2θm 0
Py =  (9.75)
 
  
2 sen 2θm 2
sen θm
1
0 2 (1 + σ r ) 1 − 2θm + θ2m

Esta matriz define una elipse bidimensional, donde Py (1,1) específica el cuadrado de la longitud
del eje y1 , y Py (2,2) específica el cuadrado de la longitud del eje y2 . La Figura 9.3 muestra la
covarianza linealizada definida por la Ecuación (9.72), y la covarianza exacta definida por la
Ecuación (9.75). La covarianza linealizada se centra en la media linealizada y la covarianza
exacta se centra en torno a la media exacta. Se puede observar que la covarianza linealizada no
es muy buena aproximación a la covarianza exacta, al menos no en la dirección de y2 .
Este no es un ejemplo de un filtrado Kalman. pero puesto que el EKF usa linealización de
primer orden para actualizar la covarianza del estado, este ejemplo muestra la forma del error
que puede arrastrarse en el EKF cuando este es aplicado a un sistema no lineal.

9.4.2 Transformaciones unscented

El problema con los sistemas no lineales es que estos son difíciles de transformar a una función
de densidad de probabilidad a través de una función no lineal general. En la anterior sección,
264 Capítulo 9. El filtro de Kalman no lineal

1.01

1
Covarianza
0.99 linealizada

0.98
y2

0.97

0.96

0.95 Covarianza
no lineal

0.94

0.93
−0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4
y1
Figura 9.3 Media linealizada y media no lineal de 300 puntos generados de forma aleatoria, con r̃
uniformemente distribuido entre ±0.01 y θ̃ uniformemente distribuido entre ±0.35 rad.

se pudo obtener transformaciones no lineales de la media y la covarianza, pero solamente por


medio de una transformación bidimensional simple. El filtro de Kalman extendido trabaja
sobre el principio de que una transformación linealizada de medias y covarianzas es aproxima-
damente igual a la transformación no lineal verdadera, pero se vio en la anterior sección que la
aproximación podría ser no satisfactoria.
Una transformación unscented está basada sobre dos principios fundamentales. Primero, es
fácil de realizar una transformación no lineal sobre un punto único (más que una pdf completa).
Segundo, no es demasiado difícil de encontrar un conjunto de puntos individuales en el espacio
de estado cuya muestra de pdf se aproxime a la verdadera pdf de un vector de estado.
Tomando esas dos ideas juntas, supóngase que se conoce la media x̄ y la covarianza P de
un vector x. Entonces se encuentra un conjunto de vectores determinístico llamado puntos
sigma cuyo conjunto de media y covarianza es igual a x̄ y P. Luego se aplica la conocida
función no lineal y = h(x) a cada vector determinístico para obtener los vectores transformados.
El conjunto media y covarianza de los vectores transformados dará un buen estimado de la
verdadera media y covarianza de y. Esta es la clave para la transformación unscented.
Como un ejemplo, supóngase que x es un vector n × 1 que es transformado por una función
no lineal y = h(x). Se escogen 2n puntos sigma x(i) como sigue:

x(i) = x̄ + x̃(i) i = 1,...,2n


√ >
x̃(i) = nP i = 1,...,n (9.76)
i
√ >
(n+i)
x̃ =− nP i = 1,...,n
i
9.4 El filtro de Kalman unscented 265

√ √ > √  √ 
donde nP es la raíz cuadrada de la matriz nP tal que nP nP = nP, y nP i es la

i-ésima raíz de nP. En las próximas dos subsecciones, se verá como la media del conjunto
de los puntos sigma anteriores puede usarse para aproximar la media y la covarianza de un
vector no lineal transformado.

Aproximación de la media

Supóngase que se tiene un vector x con una media conocida x̃ y una covarianza P, una función
no lineal y = h(x), y se desea aproximar la media de y. Se propone transformar cada punto
sigma individual de la Ecuación (9.76) usando la función no lineal h(·), y entonces se toma la
suma ponderada de los puntos sigma transformados para aproximar la media de y. Los puntos
sigma transformados son calculados como sigue:
 
y(i) = h x(i) i = 1,...,2n (9.77)

La media real de y se denota como ȳ. La media aproximada de y se denota como ȳu y se calcula
como sigue
2n
ȳu = ∑ W (i) y(i) (9.78)
i=1

Los coeficientes ponderados W (i) están definidos como sigue:


1
W (i) = i = 1,...,2n (9.79)
2n
La Ecuación (9.78) puede por lo tanto ser escrita como

1 2n (i)
ȳu = ∑y (9.80)
2n i=1

Ahora se va a calcular el valor de ȳu para ver lo bien que coincide con la media real de y. Para
hacer esto primero se usa la Ecuación (3.9) para expandir cada y(i) en la Ecuación (9.80) en
una serie de Taylor alrededor de x̄. Esto resulta en

1 2n
 
1 2
ȳu = ∑ h(x̄) + D (i) h + D h + · · ·
2n i=1 x̃ 2! x̃(i)
1 2n
 
1 2
= h(x̄) + ∑ x̃ D (i) h + D h + · · · (9.81)
2n i=1 2! x̃(i)
266 Capítulo 9. El filtro de Kalman no lineal

Nótese ahora que para cualquier entero k ≥ 0 se tiene


" 2k+1 #
2n 2n n
2k+1 ( j) ∂
D h = x̃ h(x)

∑ x̃( j) ∑ ∑ i ∂x
j=1 j=1 i=1 i
x=x̄
" #
2n n  2k+1 ∂ 2k+1
( j)
= ∑ ∑ x̃i h(x)

∂ xi2k+1

j=1 i=1

" x=x̄ #
n 2n  2k+1 ∂ 2k+1
( j)
= ∑ ∑ x̃i h(x)

2k+1
i=1 j=1 ∂ xi

x=x̄
=0 (9.82)

ya que desde la Ecuación (9.76) x̃( j) = −x̃(n+ j) j = 1, . . . ,n. Por lo tanto, todos los términos
impares en la Ecuación (9.81) se evalúan en cero y se tiene

1 2n 1 2
 
1 4
ȳu = h(x̄) + D h + D
∑ 2! x̃(i) 4! x̃(i) h + · · ·
2n i=1
1 2n 1 2 1 2n 1 4
 
1 6
= h(x̄) + D h + D h
∑ 2! x̃(i) 2n ∑ 4! x̃(i) 6! x̃(i) + D h + · · · (9.83)
2n i=1 i=1

Ahora se observa en el segundo término sobre el lado derecho de la anterior ecuación:


2
1 2n 1 2 1 2n 1 n
(k) ∂

D h = x̃ h(x)

∑ 2! x̃(i) 2n ∑ 2! ∑ i ∂ x
2n i=1

k=1 i=1 i
x=x̄
2n n 2
1 (k) (k) ∂
= x̃i x̃ j h(x)

∑ ∑
4n k=1 i, j=1 ∂ xi ∂ x j
x=x̄
n 2n 2
1 (k) (k) ∂
= x̃ x̃ h(x)

4n i,∑ ∑ i j ∂x ∂x
j=1 k=1 i j
x=x̄
n n 2
1 (k) (k) ∂
= x̃i x̃ j h(x)

∑ ∑
2n i, j=1 k=1 ∂ xi ∂ x j
x=x̄

donde de nuevo se ha usado a partir de la Ecuación (9.76) el hecho que x̃(k) = −x̃(k+n) (k =
(k) (k)
1, . . . ,n). Se sustituye para x̃i y x̃ j desde la Ecuación (9.76) en la anterior ecuación para
9.4 El filtro de Kalman unscented 267

obtener

1 n n (k) (k) ∂ 2 h(x) 1 n n √  √  ∂ 2 h(x)
∑ x̃i x̃ j ∂ x ∂ x = ∑ nP ki nP k j ∂ x ∂ x
2n i,∑
j=1 k=1 i j 2n i,∑j=1 k=1 i j x=x̄
x=x̄

1 n ∂ 2 h(x)
= ∑ nPi j
2n i, j=1

∂ xi ∂ x j
x=x̄
1 n ∂ 2 h(x)
= Pi j (9.84)
2n i,∑

j=1 ∂ xi ∂ x j
x=x̄

La Ecuación (9.83) por lo tanto puede escribirse como



1 n ∂ 2 h 1 2n 1 4
 
1 6
ȳu = h(x̄) + ∑ Pi j + D h + D
∑ 4! x̃(i) 6! x̃(i) h + · · · (9.85)
2 i, j=1 2n i=1

∂ xi ∂ x j
x=x̄

Ahora recordando que la media real de y está dada por la Ecuación (9.61) como
1  2 1  4
ȳ = h(x̄) + E Dx̃ h + E Dx̃ h + · · · (9.86)
2! 4!
Observando en el segundo término sobre el lado derecho de la anterior ecuación. Esta puede
ser escrita como sigue:
( )
n
∂ 2

1  2 1
E Dx̃ h = E x̃ h(x)

2! 2! ∑ i ∂x
i=1 i
( x=x̄)
1 n
∂ 2 h
= E ∑ x̃i x̃ j
2!

i, j=1 ∂ xi ∂ x j
x=x̄

n 2
1  ∂ h
= E x̃i x̃ j
2! i,∑

j=1 ∂ xi ∂ x j
x=x̄

1 n ∂ 2 h
= Pi j (9.87)
2! i,∑

j=1 ∂ xi ∂ x j
x=x̄

Por lo tanto se ve que ȳ puede escribirse desde la Ecuación (9.86) como



1 n ∂ 2 h 1  1 
+ E D4x̃ h + E D6x̃ h + · · · (9.88)

ȳ = h(x̄) + ∑ Pi j
2 i, j=1 4! 6!

∂ xi ∂ x j
x=x̄

Comparando ésta con la Ecuación (9.85) se ve que ȳu (la media aproximada de y) coincide con
la media real de y correctamente hasta el tercer orden, mientras que la linealización solamente
coincide con la media real de y hasta el primer orden. Si se calcula ȳu usando las ecuaciones
(9.76),(9.77) y (9.80), entonces el valor de ȳu coincidirá con la media real de y hasta el tercer
orden. La mayor dificultad con este algoritmo es la raíz cuadrada de la matriz que es requerida
268 Capítulo 9. El filtro de Kalman no lineal

en la Ecuación (9.76). Pero la transformación unscented tiene la ventaja computacional que


la linealización de la matriz H no necesita ser calculada. Por supuesto, la mayor ventaja de
la transformación unscented (relativo a la linealización) es el aumento de la precisión de la
transformación de la media.

Aproximación de la covarianza

Ahora supóngase que se desea aproximar la covarianza de la transformación no lineal del


vector x. Esto es, se tiene un vector x con n elementos con media conocida x̄ y covarianza P
y se tiene una función no lineal conocida y = h(x). Se desea estimar la covarianza de y. Se
indica el estimado como Pu y se propone usar la siguiente ecuación:
2n
Pu = ∑ W (i) (y(i) − yu )(y(i) − yu )>
i=1

1 2n (i)
= ∑ (y − yu )(y(i) − yu )>
2n i=1
(9.89)

donde los vectores y(i) son los puntos sigma transformados que fueron calculados en la Ecuación
(9.77), y los coeficientes de ponderación W (i) son los mismos que las dados en la Ecuación
(9.79). Expandiendo esta aproximación usando las ecuaciones (3.9) y (9.83) da lo siguiente:

1 2n h (i) ih i>
Pu = ∑ h(x − yu ) h(x(i) − yu )
2n i=1
2n 
1 1
= ∑ h(x̄) + Dx̃(i) h + D2x̃(i) h + D3x̃(i) h+ · · ·
i=1 2! 3!
#
1 2n 1 2

1 4
− h(x̄) − ∑ 2! Dx̃( j) h + 4! Dx̃( j) h + · · · [· · · ]>
2n j=1
(9.90)

Efectuado la multiplicando se obtiene:


(
1 2n 1
Pu = ∑ (Dx̃(i) h)(Dx̃(i) h)> +ϒ1 +ϒ>1 + 4! (D2x̃(i) h)(D2x̃(i) h)> −ϒ2 −ϒ>2
2n i=1
! !>  !> 
1 1
+ 2 ∑ D2x̃(i) h ∑ D2x̃(i) h −  4n D2x̃(i) h ∑ D2x̃(i) h 
4n j j j
 !> > "  > #
1 1 3
−  D2x̃(i) h ∑ D2(i) h  + D
x̃ x̃(i) h 3! Dx̃(i) h
4n j
"  > #> )
1 3
+ Dx̃(i) h D h +··· (9.91)
3! x̃(i)
9.4 El filtro de Kalman unscented 269

donde
 
1
Dx̃(i) h (D2x̃(i) h)> = ϒ>

ϒ1 = 1 =0
2
 !> 
1 1
ϒ2 = Dx̃(i) h D2x̃(i) h  = ϒ>2 =0
2n ∑
j 2

Algunos de los términos en la ecuación anterior son cero como ya se señaló porque x̃(i) =
−x̃(i+n) para i = 1, . . . , n. Así la aproximación de la covarianza puede escribirse como

1 2n
Pu = ∑ (Dx̃(i) h)(Dx̃(i) h)> + TOS
2n i=1
(9.92)

donde TOS significa términos de orden superior (es decir, términos a la cuarta potencia y
superior). Expandiendo esta ecuación para Pu dejando de lado los términos de orden superior
da ! >
1 2n n (i) ∂ h(x̄) (i) ∂ h(x̄)
Pu = ∑ ∑ x̃ j ∂ x x̃k (9.93)
2n i=1 j,k=1 j ∂ xk
(i) (i+n) (i) (i+n)
Ahora recordando que x̃ j = −x̃ j y x̃k = −x̃k para i = 1, . . . , n. Por lo tanto, la aproxi-
mación de la covarianza será
! >
1 n n (i) ∂ h(x̄) (i) ∂ h(x̄)
Pu = ∑ ∑ x̃ j x̃k
n i=1 j,k=1 ∂xj ∂ xk
n
∂ h(x̄) ∂ h(x̄) >
 
= ∑ P jk
j,k=1 ∂xj ∂ xk
= HPH> (9.94)

donde la última igualdad proviene de la Ecuación (9.69). Comparando esta ecuación para
Pu con la covarianza real de y desde la Ecuación (9.70), se ve que la Ecuación (9.89) se
aproxima a la covarianza real de y hasta el tercer orden (es decir, solamente los términos a la
cuarta y mayor potencia son incorrectos). Este es el mismo orden de aproximación como el
método de linealización. Sin embargo, se espera intuitivamente que la magnitud del error de la
aproximación unscented en la Ecuación (9.89) sea más pequeña que la aproximación lineal
HPH> , porque la aproximación unscented al menos contiene términos indicados correctamente
hasta la cuarta potencia y mayor, mientras que la aproximación lineal no contiene ningún
término de otro tipo que HPH> .
La transformación unscented puede resumirse como sigue
La transformación unscented
1. Se comienza con un elemento n del vector x con una media x̄ y una covarianza P conocida.
Dada una transformación no lineal conocida y = h(x), se desea estimar la media y la
270 Capítulo 9. El filtro de Kalman no lineal

covarianza de y, denotada com ȳu y Pu .

2. Se forman vectores x(i) con 2n puntos sigma como sigue:

x(i) = x̄ + x̃(i) i = 1,...,2n


√ >
x̃(i) = nP i = 1,...,n (9.95)
i
√ >
(n+i)
x̃ =− nP i = 1,...,n
i
√ √ > √  √ 
donde nP es la raíz cuadrada de la matriz nP tal que nP nP = nP, y nP i es

la i-ésima raíz de nP.

3. Transformar los puntos sigma como sigue:

y(i) = h(x(i) ) i = 1,...,2n (9.96)

4. Aproximar la media y la covarianza de y como sigue

1 2n (i)
ȳu = ∑y
2n i=1
1 2n (i)
Pu = ∑ (y − yu )(y(i) − yu )>
2n i=1
(9.97)

Ejemplo 9.4.1 Para ilustrar la transformación unscented, considérese la transformación no


lineal mostrada en la Ecuación (9.47). Ya que esas son dos variables independientes (r y θ ),
se tiene n = 2. La covarianza de P está dada como P = diag(σr2 ,σθ2 ). La Ecuación (9.79)
muestra que W (i)=1/4 para i = 1,2,3,4. La Ecuación (9.76) muestra que los puntos sigma están
9.4 El filtro de Kalman unscented 271

determinados como √ >


x(1) = x̄ + nP
 √ 1
1 + σr 2
=
π/2
√ >
x(2) = x̄ + nP
2
 
1 √
=
π/2 + σθ 2
√ > (9.98)
x(3) = x̄ − nP
 √ 1
1 − σr 2
=
π/2
√ >
x(4) = x̄ − nP
2
 
1 √
=
π/2 − σθ 2

Calculando los puntos sigma transformados no linealmente y(i) = h(x(i) ) da


" # 
(1) (1) 
(1) x1 cos x2 0√
y = (1) (1) =
x1 sen x2 1 + σr 2
"
(2) (2)
#  √ 
(2) x1 cos x2 cos(π/2 + σθ √2)
y = (2) (2) = sen(π/2 + σ
x1 sen x2 θ 2)
" #  (9.99)
(3) (3) 
x cos x2 0√
y(3) = 1(3) (3) = 1 − σ
x1 sen x2 r 2
"
(4) (4)
#  √ 
x cos x2 cos(π/2 − σθ √2)
y(4) = 1(4) (4) =
x1 sen x2 sen(π/2 − σθ 2)

Ahora se puede calcular la aproximación unscented de la media y la covarianza de y = h(x)


como
4
ȳu = ∑ W(i) y(i)
i=1
(9.100)
4   >
Pu = ∑ W(i) y(i) − yu y(i) − yu
i=1

Los resultados de esas transformaciones se muestran en la figura[]. Esta muestra la precisión


mejorada de la estimación de la media y covarianza cuando se utilizan las transformaciones
unscented en vez de aproximaciones lineales. La media real y la media de la aproximación
unscented están tan cerca que se representan encima una de la otra. La media real y la media
aproximada unscented son iguales, con cuatro dígitos significativos, a (0, 0.9797).
272 Capítulo 9. El filtro de Kalman no lineal

9.5 Filtrado de Kalman unscented

La transformación unscented desarrollada en la sección anterior puede generalizarse para


obtener el filtro de Kalman unscented. Después de todo, con el algoritmo del filtro de Kalman
se intenta propagar la media y la covarianza del sistema usando una actualización del tiempo
y una actualización de la medida. Si el sistema es lineal, entonces la media y la covarianza
se pueden actualizar con exactitud con el filtro de Kalman (Capítulo 5). Si el sistema es no
lineal, entonces la media y la covarianza se pueden actualizar aproximadamente con el filtro
de Kalman extendido (Sección 9.3). Sin embargo, el EKF se basa en la linealización y, en la
sección anterior se mostró que las transformaciones unscented son más precisas para propagar
las medias y las covarianzas que la linealización. Por lo tanto, simplemente se reemplazarán las
ecuaciones EKF con transformaciones unscented para obtener el algoritmo UKF. El algoritmo
UKF puede resumirse como sigue
El algoritmo anterior asume que las ecuaciones del proceso y la medición son lineales con
respecto a el ruido, como se muestra en la Ecuación (9.101). En general, las ecuaciones del
proceso y la medición pueden tener ruido que entra en las ecuaciones de proceso y medición
no linealmente. Esto es,
xk+1 = f (xk , uk , vk ,tk )
(9.112)
yk = h(xk , wk ,tk )
En este caso, el algoritmo UKF presentado anteriormente no es riguroso ya que trata del ruido
como aditivo, como se ve en las ecuaciones (9.105) y (9.109). Para manejar esta situación, se
puede aumentar el ruido en el vector de estado como en []:
 
xk
(a)
xk =  vk  (9.113)
wk

(a)
Entonces se puede utilizar el UKF para estimar el estado aumentado xk . El UKF se inicializa
como  
E{x0 }
(a)
x̂0 =  0 
0
(9.114)
E (x0 − x̂0 )(x0 − x̂0 )>
  
0 0
(a)+
P0 =  0 Q0 0 
0 0 R0
A continuación se utilizará el algoritmo UKF presentado anteriormente, excepto que se esté es-
timando la media aumentada y covarianza, por lo que se eliminará Qk−1 y Rk de las ecuaciones
y (9.105) y (9.109).

Ejemplo 9.5.1 Supóngase que se está tratando de estimar la altitud x1 , la velocidad x2 y el


coeficiente balístico constante x3 de un cuerpo a medida que cae hacia la tierra. Un dispositivo
de medición de magnitud está localizado a una altitud a y la magnitud horizontal entre el
9.5 Filtrado de Kalman unscented 273

Algoritmo 19 Filtro de Kalman unscented.

Inicialización:
1. Se tiene un sistema no lineal de tiempo discreto con n-estados dado por:

xk+1 = f(xk ,uk ,tk ) + vk


yk = h(xk ,tk ) + wk
(9.101)
vk ∼ (0,Qk )
wk ∼ (0,Rk )

2. El UKF se inicializa como sigue

x̂+
0 = E{x0 }
+ >
(9.102)
P0 = E (x0 − x̂+
+

0 )(x0 − x̂0 )

3. Las siguientes ecuaciones de actualización en el tiempo (9.103) se usan para propagar el


estimado del estado y la covarianza de un instante de medición al siguiente
• Para propagar desde un paso de tiempo (k − 1) hasta k, primero se escogen los puntos
(i)
sigma xk−1 como se especificó en la Ecuación (9.76), con los cambios apropiados ya
que la actual mejor estimación de la media y covarianza de xk corresponde a x̂+k−1 y
Pk−1 :
+
(i)
x̂k−1 = x̂+
k−1 + x̃
(i)
i = 1, . . . ,2n
q >
(i) +
x̃ = nPk−1 i = 1, . . . ,n
i
(9.103)
q >
x̃(n+i) = − nP+
k−1 i = 1, . . . ,n
i

• Usar la ecuación del sistema f (·) no lineal conocido para transformar los puntos sigma
(i)
en vectores x̃k , como se muestra en la Ecuación (9.77), con cambios apropiados desde
nuestra transformación no lineal es f en lugar de h(·)(·)(·):

dispositivo de medición y el cuerpo es M. Las ecuaciones para este sistema son

ẋ1 = x2 + v1
x22 x3
ẋ2 = ρ0 e(−x1 /k) − g + v2
2 (9.115)
ẋ3 = w3
q
y(tk ) = M 2 + (x1 (tk ) − a)2 + wk
274 Capítulo 9. El filtro de Kalman no lineal

Continuación:
(i)
• Combinar los x̂kvectores para obtener el estado estimado a priori en el tiempo k. Esto
está basado en la Ecuación (9.80):

1 2n (i)
x̂−
k = ∑ x̂k (9.104)
2n i=1

• Estimar el error de la covarianza a priori como se muestra en la ecuación. Sin embargo


se sumará Qk−1 al final de la ecuación para tener en cuenta el ruido del proceso :

1 2n  (i) 
(i)
>
P−
k = ∑ x̂k − x̂−
k x̂k − x̂−
k + Qk−1 (9.105)
2n i=1

4. Luego de que las ecuaciones de de actualización de tiempo se realizan, se implementan las


ecuaciones de actualización de la medición.
(i)
• Escoger puntos sigma xk como se especificó en la Ecuación (9.76), con los cambios
apropiados ya que la actual mejor estimación de la media y covarianza de xk
corresponde a x̂− −
k y Pk :

(i)
x̂k = x̂−k + x̃
(i)
i = 1, . . . ,2n
q >
x̃(i) = nP− i = 1, . . . ,n
k
i
(9.106)
q >
x̃(n+i) = − nP−
k i = 1, . . . ,n
i

Si se desea, este paso puede omitirse. Esto es, en vez de generar nuevos puntos
sigma se pueden reutilizar los puntos sigma que fueron obtenidos a partir de la
actualización de tiempo. Esto ahorrará esfuerzo computacional si se está dispuesto
a sacrificar el rendimiento.
• Usar la ecuación no lineal de medición h(·) para transformar los puntos sigma en
(i)
ỹk vectores (medida prevista), como se muestra en la Ecuación (9.76):
(i) (i)
ŷk = h(x̂k ,tk ) (9.107)

Como es usual, wi , es el ruido que afecta la i-ésima ecuación del proceso y w es el ruido de la
medición. ρ0 es la densidad del aire al nivel del mar, k es una constante que define la relación
entre la densidad del aire y la altitud, y g es la aceleración debido a la gravedad. Se utilizará el
sistema de ecuaciones de tiempo continuo para simular el sistema, y se supone que se obtiene
9.5 Filtrado de Kalman unscented 275

Continuación:
(i)
• Combinar los ŷkvectores para obtener la medida prevista en el tiempo k. Esto está
basado en la Ecuación (9.80):
1 2n (i)
ŷk = ∑ ŷk (9.108)
2n i=1

• Estimar la covarianza de la medida prevista como se muestra en la Ecuación (9.80). Sin


embargo, hay que añadir Rk al final de la ecuación para tener en cuenta el ruido de la
medición:
1 2n  (i) 
(i)
>
Py = −
∑ k k k k + Rk
ŷ ŷ ŷ − ŷ (9.109)
2n i=1

• Estimar la covarianza cruzada entre x̂−


k y ŷk basado en la Ecuación (9.80):

1 2n  (i) 
(i)
>
Pxy = ∑ x̂k − x̂−
k ŷk − ŷk (9.110)
2n i=1

• La actualización de la medición del estado estimado puede realizarse usando las ecua-
ciones normales del filtro de Kalman como se muestra en la ecuación [???]:

Kk = Pxy P−1
y

x̂+
k = x̂k + Kk (yk − ŷk ) (9.111)
P+
k = P− >
k − Kk P y Kk

un magnitud de medidas cada 0.5 s. Las constantes que se usarán están dadas como

ρ0 = 2 lb − s/ f t 4
g = 32.2 f t/s2
k = 20.000 f t
E wk = 10.000 f t 2 (9.116)
 2
 2
E vi (t) = 0 i = 1,2,3
M = 100.000 ft
a = 100.000 ft
276 Capítulo 9. El filtro de Kalman no lineal

Las condiciones iniciales del sistema y el estimador están dadas como


 >
x0 = 300.000 −20.000 0.001
x̂0+ = x0

1.000.000 0 0
 (9.117)
P0+ =  0 4.000.000 0 
0 0 10

Para simular el sistema se utilizó la integración rectangular con un tamaño de paso de 1 ms,
el filtro de kalman extendido, y el filtro de Kalman unscented para 30 s. La Fig.[] muestra la
altitud y la velocidad del cuerpo cayendo. Para los primeros segundos, la velocidad es constante.
Pero luego la densidad del aire aumenta y la fricción frena la caída del objeto. Hacia el final de
la simulación, el objeto ha alcanzado una velocidad terminal constante cuando la aceleración
debido a la gravedad es cancelada por arrastre.
La Fig.[] muestra las magnitudes típicas de estimación de errores del EKF y UKF para
este sistema. Se nota que los estimados tanto de altitud como de velocidad alcanzan el pico
alrededor de los 10 s, en cuyo punto la altitud del dispositivo de medición y el cuerpo cayendo
son aproximadamente la misma, por lo que la medición da menos información sobre la altitud
y la velocidad del cuerpo. Se observa de la Fig.[] que el UKF da consistentemente estimaciones
que son uno o dos órdenes de magnitud mejor que el EKF.

9.6 Otras transformaciones unscented

Las transformaciones unscented discutidas en la sección anterior no son las únicas que existen.
En esta sección, se discutirán algunas otras posibles transformaciones. Esas otras transforma-
ciones pueden usarse si se tiene alguna información acerca de las estadísticas del ruido, o si se
está interesado en ahorro computacional.

9.6.1 Transformaciones unscented generalizadas

Se ha visto que una media precisa y una covarianza aproximada para una transformación no
lineal y = h(x) se puede obtener escogiendo 2n puntos sigma (donde n es la dimensión de x)
como se da en la ecuación ,la media y la covarianza aproximadas como se da en las ecuaciones
y . Sin embargo, se puede demostrar que el mismo orden de precisión de la estimación de
la media y la covarianza se puede conseguir mediante la elección (2n + 1) puntos sigma x(i)
como sigue
x(0) = x̄
x(i) = x̄ + x̃(i) i = 1, . . . , 2n
(9.118)
p >
x̃(i) = (n + κ)P i = 1, . . . , n
i
p >
x̃(n+i) = − (n + κ)P i = 1, . . . , n
i
9.6 Otras transformaciones unscented 277

Los coeficientes de ponderación (2n + 1) están dados como


κ
W (0) =
n+κ
1 (9.119)
(i)
W = i = 1, . . . , 2n
2(n + κ)

Las aproximaciones de la media y la covarianza unscented están calculadas como

y(i) = h(x(i) )
2n
ȳu = ∑ W (i) y(i)
i=0 (9.120)
2n   >
Pu = ∑ W (i) y(i) − yu y(i) − yu
i=0

Se puede observar que si κ = 0 entonces esas definiciones se reducen a las cantidades dadas en
la sección []. Cualquier valor de κ puede utilizarse [siempre que (n + κ) 6= 0] y entonces dará
una precisión de la estimación de la media y la covarianza con el mismo grado de exactitud
como el obtenido en la sección []. Sin embargo, κ puede ser utilizada para reducir los errores
de orden superior de aproximación de la media y la covarianza. Por ejemplo, si x es Gaussiano
entonces κ = 3 − n minimizará algunos de los errores en los términos de cuarto orden en las
aproximaciones de la media y la covarianza.[]

9.6.2 La transformación unscented símplex

Si el esfuerzo computacional es la consideración principal, entonces se puede elegir un número


mínimo de puntos sigma para dar el orden de precisión de la estimación derivada en la sección
anterior. Se puede demostrar [] que si x tiene n elementos entonces el número de puntos sigma
mínimo que da el orden de precisión de la estimación de la sección anterior es igual a (n + 1).
Esos puntos sigma son llamados puntos sigma símplex. El siguiente algoritmo resulta en
(n + 2) puntos sigma, pero el número se puede reducir a (n + 1) eligiendo uno de los pesos
cero. El algoritmo de puntos sigma símplex puede resumirse como sigue.
278 Capítulo 9. El filtro de Kalman no lineal

Algoritmo 20 Puntos sigma símplex

Inicialización:
1. Escoger el peso W (0) ∈ [0,1). La escogencia de W (0) afecta sólo a los momentos de cuarto
y de orden superior del conjunto de puntos sigma[].
2. Escoger el resto de puntos sigma como sigue:

2−n (1 −W (0) )
(
i = 1,2
W (i) = (9.121)
2i−2W (1) i = 3, . . . ,n + 1

3. Inicializar los siguientes vectores de un elemento:


(1)
σ0 = 0
(1) −1
σ1 = √ (9.122)
2W (1)
(1) 1
σ2 = √
2W (1)

4. Expandir de forma recursiva los vectores σ realizando los siguientes pasos para j = 2, . . . ,n:

( j−1)



 σ0 i=0



 0

  ( j−1) 

 σi

( j)
  √ −1  i = 1, . . . , j
σi = 2W ( j+1)
(9.123)



  
0 j−1






 √ j  i = j+1
2W ( j+1)

donde 0 j es el vector columna que contiene j ceros.


(n)
5. Después de que la recursividad está completa se tienen los vectores n-elementos σi
(i = 0, . . . ,n + 1). Modificar la transformación unscented de la Ecuación (9.76) y obtener
los puntos sigma para la transformación unscented como sigue:
√ (n)
x(i) = x̄ + Pσi (i = 0, . . . ,n + 1) (9.124)

En realidad se tiene (n + 2) puntos sigma en lugar de los (n + 1) puntos sigma como se


afirmó, pero si se escoge W (0)=0 entonces el punto sigma x(0) puede ser ignorado en la
transformación unscented subsiguiente. El algoritmo del filtro de Kalman unscented en la
sección[] se modifica luego en la forma obvia basada en este conjunto mínimo de puntos
sigma.
9.6 Otras transformaciones unscented 279

El problema con el UKF símplex es que la relación de W (n) a W (1) es igual a 2n−2 , donde n
es la dimensión del vector de estado x. Como la dimensión del estado se incrementa, la relación
se incrementa y rápidamente puede causar problemas numéricos. La única razón para utilizar
UKF símplex es el ahorro computacional y, el ahorro computacional es un tema sólo para
los problemas de alta dimensión (en general). Esto hace el UKF símplex de uso limitado y
conduce a la transformación unscented esférica que se estudiará en la siguiente sección.

9.6.3 La transformación unscented esférica

La transformación unscented discutida en la sección [] es numéricamente estable. Sin embargo,


esta requiere 2n puntos sigma y puede ser también computacionalmente costosa para algunas
aplicaciones. La transformación unscented símplex discutida en la sección [] es la transforma-
ción computacional unscented más barata pero pierde la estabilidad numérica para problemas
con moderadamente un gran número de dimensiones. La transformación unscented esférica
fue desarrollada con el objetivo de reordenar los puntos sigma del algoritmo símplex además
para obtener mejor estabilidad numérica []. Los puntos sigma esféricos son escogidos con el
siguiente algoritmo.
(n)
La relación del elemento más grande de σi al elemento más pequeño es
,
n 1
p p =n (9.129)
n(n + 1)W (1) n(n + 1)W (1)

así los problemas numéricos no podrán ser tema para la transformación unscented esférica.

Ejemplo 9.6.1 Considérese el sistema de un cuerpo cayendo como el descrito en el ejemplo[].


Las condiciones iniciales del sistema y el estimador están dadas como
 >
x0 = 300.000 −20.000 1/1000
>
x̂0+ = 303.000 −20.200 1/1010

  (9.130)
30.000 0 0
P+ 0 =
 0 2.000 0 
0 0 1/10.000

Se corren 100 simulaciones Monte Carlo, cada una con un tiempo de simulación de 60 s. El
promedio de errores de estimación RMS del EKF, el estándar UKF (seis puntos sigma), el
UKF símplex (cuatro puntos sigma puesto que se escogió W (0) = 0), y el UKF espiral (cuatro
puntos sigma puesto que se escogió W (0) = 0) están dados en la tabla[]. El UKF símplex
funciona mejor para estimación de altitud, con el UKF estándar no muy lejos. El UKF estándar
se desempeña mejor para la estimación de velocidad, y el UKF espiral se desempeña mejor
para la estimación del coeficiente balístico. El EKF es en general el de peor desempeño de los
cuatro estimadores de estado.
280 Capítulo 9. El filtro de Kalman no lineal

Algoritmo 21 Puntos sigma esféricos

Inicialización:
1. Escoger el peso W (0) ∈ [0,1). La escogencia de W (0) afecta sólo a los momentos de cuarto
y de orden superior del conjunto de puntos sigma[].
2. Escoger el resto de puntos sigma como sigue:

1 −W (0)
Wi = i = 1, . . . ,n + 1 (9.125)
n−1
Note que (en contraste a la transformación unscented símplex) todos los pesos son idénticos
excepto para W (0) .
3. Inicializar los siguientes vectores de un elemento:
(1)
σ0 = 0
(1) −1
σ1 = √ (9.126)
2W (1)
(1) 1
σ2 = √
2W (1)

4. Expandir de forma recursiva los vectores σ realizando los siguientes pasos para j = 2, . . . ,n:

( j−1)



 σ 0 i=0



 0

( j−1)

  
  σi−1


( j)
σi = √  i = 1, . . . , j (9.127)
 j( j+1)W (1)


  
0 j−1






 √ j  i = j+1
j( j+1)W (1)

donde 0 j es el vector columna que contiene j ceros.


(n)
5. Después de que la recursividad está completa se tienen los vectores n-elementos σi
(i = 0, . . . ,n + 1). Como con los puntos sigma símplex, en realidad se tiene arriba (n + 2)
puntos sigma, pero si se escoge W (0) = 0 entonces el punto sigma x(0) se puede ignorar
en la transformación unscented subsiguiente. Se modifica la transformación unscented de
la Ecuación (9.76) y se obtiene los puntos sigma para la transformación unscented como
sigue:
√ (n)
x(i) = x̄ + Pσi (i = 0, . . . ,n + 1) (9.128)
El algoritmo del filtro de Kalman unscented en la sección[] se modifica luego en la forma
obvia basada en este conjunto de puntos sigma.
9.6 Otras transformaciones unscented 281

Tabla 9.2 Ejemplo 9.6.1 estimación de errores para el filtro de Kalman extendido, el filtro de Kalman
unscented estándar con 2n puntos sigma y el filtro de Kalman unscented esférico con (n + 1)
puntos sigma. Generalmente el UKF estándar se desempeña mejor. El desempeño y el esfuerzo
computacional del UKF esférico se encuentran entre los de el EKF y el UKF estándar.

Filtro Altitud Velocidad Coeficiente balístico recíproco


EKF 615 173 11.6
UKF 460 112 7.5
UKF Simplex 449 266 80.8
UKF esférico 578 142 0.4
Apéndice A
Funciones matriciales

A.1 Derivada de la traza

Asúmase que F(X) es una función diferenciable de cada uno de los elementos de X. Entonces
se tiene que [61]

∂ tr(F(X))
= f> (X)
∂X
donde f(·) es la derivada escalar de F(·).
Primer Orden


tr(X) = I (A.1)
∂X

tr(XA) = A> (A.2)
∂X

tr(X> A) = A (A.3)
∂X

tr(AX> ) = A (A.4)
∂X

tr(AXB) = A> B> (A.5)
∂X


tr(AX> B) = BA (A.6)
∂X

tr(A ⊗ X) = tr(A)I (A.7)
∂X

283
284 Capítulo A. Funciones matriciales

Segundo Orden


tr(X2 ) = 2X> (A.8)
∂X

tr(X2 B) = (XB + BX)> (A.9)
∂X
∂ ∂
tr(X> X) = tr(XX> ) = 2X (A.10)
∂X ∂X

tr(X> BX) = BX + B> X (A.11)
∂X

tr(BXX> ) = BX + B> X (A.12)
∂X

tr(XX> B) = BX + B> X (A.13)
∂X

tr(XBX> ) = XB> + XB (A.14)
∂X

tr(BX> X) = XB> + XB (A.15)
∂X

tr(X> XB) = XB> + XB (A.16)
∂X

tr(AXBX) = A> X> B> + B> X> A> (A.17)
∂X

tr(B> X> CXB) = C> XBB> + CXBB> (A.18)
∂X

tr(X> BXC) = BXC + B> XC> (A.19)
∂X
∂ 
tr (AXB + C)(AXB + C)> = 2A> (AXB + C)B> (A.20)

∂X
∂ ∂
tr(X ⊗ X) = tr(X)tr(X) = 2tr(X)I (A.21)
∂X ∂X

Orden Superior


tr(Xk ) = k(Xk−1 )> (A.22)
∂X
k−1

tr(AXk ) = ∑ (Xr AXk−r−1 )> (A.23)
∂X r=0

tr B> X> CXX> CXB = CXX> CXBB> + C> XBB> X> C> X
 
∂X
+ CXBB> X> CX + C> XX> C> XBB> (A.24)
A.1 Derivada de la traza 285

Otras


tr(AX−1 B) = −(X−1 BAX−1 )> = −X−> A> B> X−> (A.25)
∂X
Supóngase que B y C son simétricas, entonces

∂  >
tr (X CX)−1 A = −(CX(X> CX)−1 )(A + A> )(X> CX)−1 (A.26)

∂X
∂  >
tr (X CX)−1 X> BX = −2CX(X> CX)−1 X> BX(X> CX)−1

∂X
−1
+ 2BX(X> CX) (A.27)
∂ 
tr (A + X> CX)−1 X> BX = −2CX(A + X> CX)−1 X> BX(A + X> CX)−1

∂X
−1
+ 2BX(A + X> CX) (A.28)
Índice de Figuras

1.1 Circuito realimentado serie–serie. 10


1.2 Circuito equivalente del sistema realimentado. 11
1.3 Circuito realimentado serie–paralelo. 12

2.1 Circuito realimentado serie–serie 51


2.2 Circuito equivalente del sistema realimentado 52
2.3 Circuito realimentado serie–paralelo 53

3.1 Circuito RLC para análisis de controlabilidad 95

4.1 Problema del tanque 116


4.2 Representación del filtro de Wiener 120

5.1 Problema predador–presa 133


5.2 Línea temporal que muestra la relación entre los estimados de estado suavizado, a
posteriori, a priori y predictivo. En esta figura, se supone que se han recibido las
medidas, en pasos de tiempo hasta k = 5, inclusive. Una estimación del estado en
k < 5 se denomina una estimación suavizada. Una estimación del estado en k = 5 se
denomina una estimación a posteriori. Una estimación del estado en k = 6 se llama la
estimación a priori. Una estimación del estado en k > 6 se llama predicción 142
5.3 Línea de tiempo que muestra los valores estimados de los estados y la co-
varianza del error de estimación a priori y a posteriori, respectivamente 143
5.4 El ciclo del filtro de Kalman 146
5.5 Los primeros cinco pasos de las varianzas en la estimación del error a priori
y a posteriori del Ejemplo 5.5.1 151
5.6 Los primeros sesenta pasos de las varianzas del error de estimación a priori
y a posteriori del Ejemplo 5.5.1 152
5.7 El error de medición y el error de estimación de la posición en el
Ejemplo 5.5.1 153

287
288 Índice de Figuras

5.8 Covarianza del error de estimación y ganancia de Kalman en función del


tiempo. Ambas convergen a valores de estado estacionario 159
5.9 Divergencia del filtro de Kalman debido al mal modelado de un proceso 161
5.10 Mejora del filtrado de Kalman debido a ruido ficticio en el proceso 161
5.11 Ganancia de Kalman para varios valores del ruido del proceso 162

7.1 Simulación del filtro de Kalman usando ruido del proceso y de la medida
correlacionados. S = correlación entre el ruido del proceso y el ruido de la
medida. SFiltro = valor de S usado en el filtro de Kalman 198

9.1 Resultados de la simulación del filtro de Kalman extendido continuo para el


motor síncrono de imán permanente bifásico 251
9.2 Media linealizada y media no lineal de 300 puntos generados de forma
aleatoria, con r̃ uniformemente distribuido entre ±0.01 y θ̃ uniformemente
distribuido entre ±0.35 rad 259
9.3 Media linealizada y media no lineal de 300 puntos generados de forma
aleatoria, con r̃ uniformemente distribuido entre ±0.01 y θ̃ uniformemente
distribuido entre ±0.35 rad 264
Índice de Tablas

5.1 Relaciones entre las estimaciones y las covarianzas de las secciones 4.4 y 5.4 144

7.1 Valores experimentales de la varianza del error de estimación (50 pasos de tiempo)
para el Ejemplo 7.1 cuando hay una covarianza cruzada S entre el ruido del proceso
y el ruido de la medida. El filtro estándar asume S = 0 y el filtro correlacionado utiliza
el valor correcto de S. 198
7.2 Cuando se incrementa el contenido de color del ruido de medición (es decir, cuando
ψ se incrementa), los filtros para ruido coloreado mejoran su desempeño en compa-
ración con el filtro estándar de Kalman. 204

9.1 Resultados del ejemplo que muestran una desviación estándar de los errores de
estimación de estado determinados a partir de los resultados de simulación y deter-
minados a partir de la matriz P del EKF. Estos resultados son para la simulación del
motor de imán permanente de dos fases. Esta tabla muestra que la matriz P es un
buen indicador de la magnitud de los errores de estimación de estado del EKF. 252
9.2 Ejemplo 9.6.1 estimación de errores para el filtro de Kalman extendido, el fil-
tro de Kalman unscented estándar con 2n puntos sigma y el filtro de Kalman
unscented esférico con (n+1) puntos sigma. Generalmente el UKF estándar
se desempeña mejor. El desempeño y el esfuerzo computacional del UKF
esférico se encuentran entre los de el EKF y el UKF estándar 281

289
Índice de Códigos

291
Bibliografía

[1] B.O. Anderson and J.B. Moore, Optimal control, Information and System Sciences Series,
Prentice–Hall, Inc., Englewood Cliffs, New Jersey 07632, USA, 1979.

[2] A. Andrews, A square root formulation of the Kalman covariance equations, AIAA
Journal 6 (1968), no. 6, 1165–1166.

[3] M. Aoki, Optimization of stochastic systems. topics in discrete-time systems, Mathematics


in Science and Engineering, no. 32, Academic Press, 111 Fifth Avenue, New York, NY,
10003, 1967.

[4] W. F. Arnold III and A. J. Laub, Generalized eigenproblem algorithms and software for
algebraic Riccati equations, Proceedings of the IEEE 72 (1984), no. 12, 1746–1754.

[5] M. Athans and G. Safonov, M., Robustness and computational aspects of nonlinear
stochastic estimators and regulators, IEEE Transactions on Automatic Control AC-23
(1978), no. 4, 717–725.

[6] L. E. Avendaño, Sistemas electrónicos analógicos: Un enfoque matricial, 2ª ed., UTP,


AA 97, Pereira, Risaralda, Col., 2007.

[7] A. Balakrishnan, Kalman filtering theory, New York, USA., 1987.

[8] R. Battin, Astronautical guidance, Electronic sciences series, McGraw-Hill, New York,
1964.

[9] J. Bellantoni and K. Dodge, A square root formulation of the Kalman-Schmidt filter,
AIAA Journal 5 (1967), no. 7, 1309–1314.

[10] J. F. Bellantoni and K. W. Dodge, A square root formulation of the Kalman–Schmidt


filter, AIAA Journal 5 (1967), no. 7, 1309–1314.

[11] G. Bierman, A comparison of discrete linear filtering algorithms, IEEE Transactions on


Aerospace and Electronic Systems AES-9 (1973), no. 1, 28–37.

293
294 Bibliografía

[12] G. Bierman and C. Thornton, Numerical comparison of Kalman filter algorithms: Orbit
determination case study, Automatica 13 (1977), no. 1, 23–35.
[13] G. J. Bierman, Factorization methods for discrete sequential estimation, Monographs
and Textbooks, vol. 128, Academic Press,Inc, 111 Fifth Avenue, New York. New York
10003, NY, USA, 1977.
[14] R. Bitmead, M. Gevers, I. Petersen, and R. Kaye, Monotonicity and stabilizability pro-
perties of solutions of the Riccati difference equation: Propositions, lemmas, theorems,
fallacious conjectures and counterexamples, Systems and Control Letters 5 (1985), no. 5,
309–315.
[15] R. Brown and P. Hwang, Introduction to random signals and applied kalman filtering,
New York, USA, 1996.
[16] R. G. Brown and P. Y. C. Hwang, Introduction to random signals and applied kalman
filtering: with matlab exercises, 4a ed., 111 River Street, Hoboken, NJ 07030-5774. USA,
2012.
[17] A. Bryson and L. Henrikson, Estimation using sampled data containing sequentially
correlated noise, Journal of Spacecraft and Rockets 5 (1968), no. 6, 662–665.
[18] A. Bryson and D. Johanson, Linear filtering for time-varying systems using measurements
containing colored noise, IEEE Transactions on Automatic Control AC-10 (1965), no. 1,
4–10.
[19] R. Bucy and P. Joseph, Filtering for stochastic processes with applications to guidance,
New York, 1968.
[20] S-P Chan, S-Y Chan, and S-G Chan, Analysis of linear networks and systems. a matrix-
oriented approach with computer applications, Addison-Wesley Series in ELectrical
Engineering, Addison-Wesley Publishing Company, Reading, MA, 1972.
[21] C-T. Chen, Linear system theory and design, second ed., Saunders College Pu., Harcourt
Brace Jovanovich, Inc., Orlando, FL 32887, USA, 1984.
[22] C. Chui and G. Chen, Kalman filtering with real-time applications, Springer-Verlag, New
York, USA, 1987.
[23] J. L. Crassidis and J. L. Junkins, Optimal estimation of dynamic systems, 2a ed., 6000
Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742, USA., 2012.
[24] P. Dyer and S. McReynolds, Extension of square–root filtering to include process noise,
Journal of Optimization Theory and Applications 3 (1969), no. 6, 444–458.
[25] D.K. Faddeev and V.N. Faddeeva, Computational methods of linear algebra, W. H.
Freeman and Company, San Francisco, USA, 1963.
[26] A. Gelb, Applied optimal estimation, The MIT Press, Cambridge, MA, USA, 16a impre-
sión, 2001.
Bibliografía 295

[27] B. P. Gibbs, Advanced Kalman filtering, least-squares and modeling, John Wiley & Sons,
Inc., Hoboken, New Jersey, EE UU, 2011.

[28] G. Golub, Numerical methods for solving linear least squares problems, Numerische
Mathematik 7 (1965), 206–216.

[29] G. Golub and C. Van Loan, Matrix computations, 3a ed., The Johns Hopkins University
Press, 2715 North Charles Street, Baltimore, Maryland 21218-4319, USA, 1996.

[30] G. Goodwin and K. Sin, Adaptive filtering, prediction and control, Prentice Hall, Engle-
wood Cliffs, New Jersey, USA, 1984.

[31] M. S. Grewal and A. P. Andrews, Kalman filtering: Theory and practice using matlab, 3ª
ed., John Wiley & Sons, Inc., Hoboken, New Jersey, EE UU., 2008.

[32] R. Horn and C. Johnson, Matrix analysis, Cambridge University Press, New York, USA,
1985.

[33] S. Householder, A., The theory of matrices in numerical analysis, Reimpresión del libro
publicado originalmente en 1964, 180 Varick Street NY 10014, NY, USA, 1975.

[34] R. Hughes, Analog automatic control loops in radar and ew, Dedham, Massachusetts,
USA., 1988.

[35] IEEE, First-hand: The unscented transform, Global History Network, December 2012,
URL: http:// www.ieeeghn.org/ wiki/ index.php/ First-Hand:The_Unscented_Transform.

[36] M Jamshidi, M Tarokh, and B. Shafai, Computer-aided analysis and design of linear
control systems, 1ª ed., Prentice-Hall International, Inc., A Simon and Schuster Company
Englewood Cliffs, N J 07632, USA, 1992.

[37] T. L. Jordan, Experiments on error growth associated with some linear least squares
procedures, Mathematics of Computation, AMS (1968), no. 22, 579–588.

[38] T. Kailath, An innovations approach to least-squares estimation: Part 1. linear filtering


in additive white noise, IEEE Trans. Autom. Control AC-13 (1968), no. 6, 646–655.

[39] , Linear systems, Prentice–Hall, Inc., Englewoods Cliffs, N. J., 07632, USA, 1980.

[40] , Lectures on wiener and kalman filtering, Springer–Verlag, New York, USA,
1981.

[41] T. Kailath, A. Sayed, and B. Hassibi, Linear estimation, Prentice-Hall, Upper Saddle
River, New Jersey, USA, 2000.

[42] T. Kailath, A. Sayed, and B. Hassibi, Linear estimation, Upper Saddle River, New Jersey,
USA, 2000.

[43] R. Kalman and R. Bucy, New results in linear filtering and prediction theory, ASME
Journal of Basic Engineering 83 (1961), 95–108.
296 Bibliografía

[44] R. E. Kalman, On the general theory of control systems, IRE Transactions on Automatic
Control 4 (1959), no. 3, 110–122.

[45] , Contributions to the theory of optimal control, Boletín de la Sociedad Matemá-


tica Mexicana 5 (1960), 102–119.

[46] , A new approach to linear filtering and prediction problems, Transactions of the
ASME–Journal of Basic Engineering 82 (1960), no. Series D, 35–45.

[47] P. Kaminski, A. Bryson, and S. Schmidt, Discrete square root filtering: A survey of
current techniques, IEEE Transactions on Automatic Control AC-16 (1971), 727–736.

[48] H Khalil, Nonlinear systems, segunda ed., Simon and Schuster, Viacom Company Upper
Saddle River, N. J. 07458, USA, 1996.

[49] E Kreyszig, Advanced engineering mathematics, 10ª ed., Laurie Rosatone, 111 River
Street, Hoboken, NJ 07030-5774, USA., 2011.

[50] H. Kwakernaak and R. Sivan, Linear optimal control systems, John Wiley & Sons, Inc.,
New York, USA, 1972.

[51] F. L. Lewis, Applied optimal control & estimation: Digital design & implementation,
Digital Signal Processing, Prentices-Hall, Inc., Simon & Schuster Company Englewoods
Cliffs, NJ 07632, USA, 1992.

[52] M. Martin and T. Kailath, Square-root algorithms for least-squares estimation, IEEE
Transactions on automatic control AC–20 (1975), no. 4, 487–497.

[53] P. Maybeck, Stochastic models, estimation, and control, vol. Volume 1, Academic Press,
New York, 1979.

[54] T. McGarty, Stochastic systems and state estimation, John Wiley & Sons, New York,
USA, 1974.

[55] J. Mendel, Lessons in estimation theory for signal processing, communications, and
control, 2a ed., Prentice Hall P T R Prentice-Hall, Inc., A Pearson Education Company
Upper Saddle River, NJ 07458, USA., 1995.

[56] T. Moon, More mathematical methods and algorithms for signal processing, Utah State
University, 2000.

[57] M. Morf, R. Levy, and T. Kailath, Square-root algorithms for the continuous time linear
least-square estimation problem, IEEE Transactions on Automatic Control AC-23 (1978),
no. 5, 907–911.

[58] M. Nakahara, Geometry, topology and physics, 2ª ed., Graduate Student Series in Physics,
270 Madison Avenue NY 10016, NY, USA., Junio 2003.

[59] A. V. Oppenheim and G. C. Verghese, Signals systems, and inference, Class Notes 6.011,
Massachusetts Institute of Technology, Cambridge, MA, USA, 2010.
Bibliografía 297

[60] A. Papoulis, Probability, random variables, and stochastic processes, McGraw–Hill, Inc.,
1991.

[61] M. S. Pedersen and K. B. Petersen, The matrix cookbook, Imm3274, Oticon Foundation,
November 15 2012, url: http://matrixcookbook.com.

[62] M. Poubelle, I. Petersen, M. Gevers, and R. Bitmead, A miscellany of results on an


equation of Count J. F. Riccati, IEEE Transactions on Automatic Control AC-31 (1986),
no. 7, 651–654.

[63] S. Poznyak, Alexander, Advanced mathematical tools for automatic control engineers, 1ª
ed., vol. Vol. 1: Deterministic Techniques, Elsevier, Linacre House, Jordan Hill, Oxford
OX2 8DP, UK, 2008.

[64] S. Schmidt, The Kalman filter: Its recognition and development for aerospace applications,
Journal of Guidance and Control 4 (1981), no. 1, 4–7.

[65] K. K Sen and S. J. Wilson, Radiative transfer in curved media, World Scientific Publishing
Co. Pte. Ltd., 687 Hartwell Street, Teaneck, NJ 07666. USA, 1990.

[66] W. Shanahan, Circuit models for prediction, Wiener filtering, Levinson and Kalman filters
for ARMA time series, IEEE International Conference on Acoustics, Speech, and Signal
Processing ICASSP’82, vol. 7, May 1982, pp. 266 – 269.

[67] J. Sherman and J. Morrison, W., Adjustment of an inverse matrix corresponding to a


change in one element of a given matrix, Annals of Mathematical Statistics. 21 (1950),
no. 1, 124–127. Institute of Mathematical Statistics. USA.

[68] D.J. Simon, Optimal state estimation: Kalman, h-infinity, and nonlinear approaches,
John Wiley & Sons, Inc., New Jersey, USA, 2006.

[69] E. Stear and A. Stubberud, Optimal filtering for Gauss–Markov noise, International
Journal of Control 8 (1968), no. 2, 123–130.

[70] R. Stengel, Optimal control and estimation, Dover Publications, Inc., New York, 1994.

[71] , Optimal control and estimation, New York, USA., 1994.

[72] G. Strang, Linear algebra and its applications, 4ª ed., Thomson Corporation, Belmont,
CA, USA, 2006.

[73] D. Vaughan, A nonrecursive algebraic solution for the discrete Riccati equation, IEEE
Transactions on Automatic Control 15 (1970), no. 5, 597 – 599.

[74] M. Verhaegen and P. Van Dooren, Numerical aspects of different Kalman filter imple-
mentations, IEEE Transactions on Automatic Control AC-31 (1986), no. l0, 907–917.

[75] G. Watson, A treatise on the theory of bessel functions, 2a ed., Cambridge University
Press, Cambridge, United Kingdom, 1944.
298 Bibliografía

[76] R. Weinstock, Calculus of variations. with applications to physics and engineering, 2a


ed., 180 Varick Street, New York, N. Y. 10014. USA, 1974.
[77] A. Woodbury, M., Inverting modified matrices, Memorandum Report 42, Princeton
University, Statistical Research Group, Princeton, NJ, USA, 1950.

[78] K. J. Åström and R.M. Murray, Feedback systems: an introduction for scientists and
engineers, Princeton University Press, 41 William Street, Princeton, New Jersey 08540,
USA, 2008.
[79] K. J. Åström and B. Wittenmark, Computer-controlled systems: Theory and design, 3ª
ed., Prentice Hall Information and System Sciences, 1997.
Índice alfabético 299

También podría gustarte