Está en la página 1de 326

UNIVERSIDAD TECNOLÓGICA DE

PEREIRA
PROGRAMA DE TECNOLOGÍA ELÉCTRICA
Laboratorio de Investigación y Desarrollo en Electrónica
y Robótica – LÍDER

DISEÑO DE FILTROS ÓPTIMOS

Presentado por:

Gloria Mercedes Valencia T., Luis Enrique Avendaño



c Luis Enrique Avendaño, Gloria M. Valencia T., 2018
Índice general

1. Elementos de cálculo matricial 1


1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Cálculo matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3. Álgebra de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.1. Suma de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.2. Multiplicación de matrices . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.3. Propiedades básicas de las matrices . . . . . . . . . . . . . . . . . . . . 5
1.3.4. El caso especial de las matrices 2 × 2 . . . . . . . . . . . . . . . . . . . 9
1.3.5. Lema de inversión de matrices . . . . . . . . . . . . . . . . . . . . . . 13
1.3.6. Valores propios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.7. Diagonalización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.8. Teorema espectral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.9. El producto de Hadamard . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3.10. Propiedades básicas del producto de Hadamard . . . . . . . . . . . . . 18
1.3.11. El producto de Kronecker . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3.12. El operador vec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Nota sobre la función vec y Matlab. . . . . . . . . . . . . . . . 27
1.3.13. Suma de Kronecker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.3.14. Funciones de Lyapunov . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.4. Número de condición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.5. Cálculo vectorial y matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.5.1. Derivada parcial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.6. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2. Elementos de sistemas dinámicos 45


2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.2. Sistemas lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.3. Sistemas no lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.4. Discretización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.5. Estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.5.1. Sistemas de tiempo continuo . . . . . . . . . . . . . . . . . . . . . . . 54
2.5.2. Sistemas de tiempo discreto . . . . . . . . . . . . . . . . . . . . . . . . 58

iii
iv Índice general

2.6. Controlabilidad y Observabilidad . . . . . . . . . . . . . . . . . . . . . . . . . 60


2.6.1. Controlabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.6.2. Observabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.6.3. Estabilidad y detectabilidad . . . . . . . . . . . . . . . . . . . . . . . . 67
2.7. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

3. Estimación por mı́nimos cuadrados 73


3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.2. Estimación de una constante . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.3. Estimación por mı́nimos cuadrados ponderados . . . . . . . . . . . . . . . . . 76
3.4. Estimación recursiva por mı́nimos cuadrados . . . . . . . . . . . . . . . . . . 79
3.5. Formas alternas del estimador . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.6. El filtro de Wiener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.6.1. Optimización del filtro paramétrico . . . . . . . . . . . . . . . . . . . 94
3.6.2. Optimización del filtro general . . . . . . . . . . . . . . . . . . . . . . 96
3.6.3. Optimización del filtro no causal . . . . . . . . . . . . . . . . . . . . . 98
3.6.4. Optimización del filtro causal . . . . . . . . . . . . . . . . . . . . . . . 99
3.6.5. Comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.7. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

4. Filtro de Kalman discreto 105


4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.2. Sistemas discretos en el tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.2.1. Procesos con ruido ponderado . . . . . . . . . . . . . . . . . . . . . . . 110
4.3. Sistemas con datos muestreados . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.4. Deducción del filtro de Kalman discreto . . . . . . . . . . . . . . . . . . . . . 117
El filtro de Kalman discreto . . . . . . . . . . . . . . . . . . . . . . . . 123
4.5. Propiedades del filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.5.1. Ecuaciones del filtro de Kalman de un paso . . . . . . . . . . . . . . . 129
4.5.2. Propagación alterna de la covarianza . . . . . . . . . . . . . . . . . . . 134
Sistemas con estados múltiples . . . . . . . . . . . . . . . . . . . . . . 134
Sistemas escalares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
4.6. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

5. Formas alternas del filtro de Kalman 149


5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
5.2. Filtrado de raı́z cuadrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Número de condición . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
5.2.1. Ecuación de actualización en el tiempo de la raı́z cuadrada . . . . . . 155
5.2.2. Algoritmos para transformaciones ortogonales . . . . . . . . . . . . . . 156
El algoritmo de Householder . . . . . . . . . . . . . . . . . . . . . . . 157
El algoritmo de Gram–Schmidt modificado . . . . . . . . . . . . . . . 162
Algoritmo de actualización de la medida de raı́z cuadrada de Potter . 169
5.3. Filtro de información . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
5.4. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Índice general v

6. Generalización del filtro de Kalman 183


6.1. Simulación de ruido correlacionado . . . . . . . . . . . . . . . . . . . . . . . . 183
6.2. Correlación del ruido del proceso y de la medida . . . . . . . . . . . . . . . . 185
6.3. Ruido coloreado de proceso y medición . . . . . . . . . . . . . . . . . . . . . . 192
6.3.1. Ruido coloreado del proceso . . . . . . . . . . . . . . . . . . . . . . . . 192
6.3.2. Ruido coloreado de medición: aumento de estado . . . . . . . . . . . . 194
6.3.3. Ruido coloreado de la medida: diferenciación de la medición . . . . . . 195
6.4. Filtrado de estado estacionario . . . . . . . . . . . . . . . . . . . . . . . . . . 201
6.4.1. Un enfoque Hamiltoniano para filtrado de estado estacionario . . . . . 209
6.5. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

7. El filtro de Kalman continuo 221


7.1. Ruido blanco en tiempo discreto y en tiempo continuo . . . . . . . . . . . . . 222
7.1.1. Ruido del proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
7.1.2. Ruido de medición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
7.1.3. Simulación discretizada de sistemas de tiempo continuo ruidosos . . . 225
7.1.4. Deducción del filtro de Kalman en tiempo continuo . . . . . . . . . . . 226
7.2. Soluciones alternativas para la ecuación de Riccati . . . . . . . . . . . . . . . 234
7.2.1. El enfoque de la matriz de transición . . . . . . . . . . . . . . . . . . . 234
7.2.2. El filtro de raı́z cuadrada . . . . . . . . . . . . . . . . . . . . . . . . . 239
7.3. Filtro de Kalman en tiempo continuo de estado estacionario . . . . . . . . . . 241
7.3.1. La ecuación algebraica de Riccati . . . . . . . . . . . . . . . . . . . . . 242
7.3.2. El filtro de Wiener es un filtro de Kalman . . . . . . . . . . . . . . . . 246
7.4. Dualidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
7.5. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

8. El filtro de Kalman no lineal 255


8.1. El filtro de Kalman linealizado . . . . . . . . . . . . . . . . . . . . . . . . . . 256
8.2. Filtro de Kalman extendido . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
8.2.1. Filtro de Kalman extendido de tiempo discreto . . . . . . . . . . . . . 263
8.2.2. Filtro de Kalman extendido hı́brido . . . . . . . . . . . . . . . . . . . 266
8.3. El filtro de Kalman unscented . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
8.3.1. Media y covarianza de trasformaciones no lineales . . . . . . . . . . . 269
La media de una transformación no lineal . . . . . . . . . . . . . . . . 270
La covarianza de una transformación no lineal . . . . . . . . . . . . . 274
8.3.2. Transformaciones unscented . . . . . . . . . . . . . . . . . . . . . . . . 278
Aproximación de la media . . . . . . . . . . . . . . . . . . . . . . . . . 280
Aproximación de la covarianza . . . . . . . . . . . . . . . . . . . . . . 283
La transformación unscented . . . . . . . . . . . . . . . . . . . . . . . 286
8.4. Filtrado de Kalman unscented . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
8.5. Otras transformaciones unscented . . . . . . . . . . . . . . . . . . . . . . . . . 293
8.5.1. Transformaciones unscented generalizadas . . . . . . . . . . . . . . . . 294
8.5.2. La transformación unscented sı́mplex . . . . . . . . . . . . . . . . . . . 295
8.5.3. La transformación unscented esférica . . . . . . . . . . . . . . . . . . . 297
vi Índice general

A. Funciones matriciales 303


A.1. Derivada de la traza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Primer Orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Segundo Orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Orden Superior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Otras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

B. Transformada delta 307


B.1. Forma delta del estimador de estado óptimo . . . . . . . . . . . . . . . . . . . 309
B.1.1. El filtro de Kalman con operador delta . . . . . . . . . . . . . . . . . . 310
Lista de figuras

1.1. Realimentación serie–serie. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11


1.2. Circuito realimentado serie–paralelo. . . . . . . . . . . . . . . . . . . . . . 12

2.1. Circuito RLC para análisis de controlabilidad. . . . . . . . . . . . . . . . 63

3.1. Problema del tanque. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89


3.2. Representación del filtro de Wiener. . . . . . . . . . . . . . . . . . . . . . 94

4.1. Problema predador–presa. . . . . . . . . . . . . . . . . . . . . . . . . . . . 109


4.2. Lı́nea temporal que muestra la relación entre los estimados de estado sua-
vizado, 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. . . . . . . . . . . . . . . . . . . . . . 120
4.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, respectiva-
mente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.4. El ciclo del filtro de Kalman. . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.5. Los primeros cinco pasos de las varianzas en la estimación del error a
priori y a posteriori del Ejemplo 4.5. . . . . . . . . . . . . . . . . . . . . . 132
4.6. Los primeros sesenta pasos de las varianzas del error de estimación a
priori y a posteriori del Ejemplo 4.5. . . . . . . . . . . . . . . . . . . . . . 133
4.7. El error de medición y el error de estimación de la posición en el Ejemplo 4.5. 133
4.8. Covarianza del error de estimación y ganancia de Kalman en función
del tiempo. Ambas convergen a valores de estado estacionario. . . . . . 140
4.9. Divergencia del filtro de Kalman debido al mal modelado de un proceso. 142
4.10. Mejora del filtrado de Kalman debido a ruido ficticio en el proceso. . . 143
4.11. Ganancia de Kalman para varios valores del ruido del proceso. . . . . . 143

vii
viii Lista de figuras

6.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. SF ilter = valor de S usado en el filtro de Kalman. . . . . 191
6.2. Simulación del filtro de Kalman usando ruido del proceso y de la medida
coloreados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

8.1. Resultados de la simulación del filtro de Kalman extendido continuo


para el motor sı́ncrono de imán permanente bifásico. . . . . . . . . . . . 262
8.2. Media linealizada y media no lineal de 300 puntos generados de forma
aleatoria, con r̃ uniformemente distribuido entre ±0.01 y θ̃ uniforme-
mente distribuido entre ±0.35 rad. . . . . . . . . . . . . . . . . . . . . . . 272
8.3. Media linealizada y media no lineal de 300 puntos generados de forma
aleatoria, con r̃ uniformemente distribuido entre ±0.01 y θ̃ uniforme-
mente distribuido entre ±0.35 rad. . . . . . . . . . . . . . . . . . . . . . . 278
Índice de tablas

4.1. Relaciones entre las estimaciones y las covarianzas de las secciones


3.4 y 4.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

6.1. Valores experimentales de la varianza del error de estimación (50 pasos de


tiempo) para el Ejemplo 6.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. . . . . . . . . . . . . . . . 192
6.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 desem-
peño en comparación con el filtro estándar de Kalman. . . . . . . . . . . . . . 199

8.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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
8.2. Ejemplo [] 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. Generalmen-
te 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

ix
Lista de algoritmos

3.1. Estimación recursiva por mı́nimos cuadrados . . . . . . . . . . . . . . . . . . 82


3.2. Estimación recursiva por mı́nimos cuadrados. . . . . . . . . . . . . . . . . . . 85

4.1. Filtro de Kalman discreto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

5.1. Algoritmo de Cholesky para raı́z cuadrada de matrices. . . . . . . . . . . . . 152


5.2. Algoritmo de Householder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
5.3. Algoritmo de Gram–Schmidt modificado. . . . . . . . . . . . . . . . . . . . . 165
5.4. Actualización de la medida de raı́z cuadrada de Potter. . . . . . . . . . . . . . 172
5.5. Filtro de información. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

6.1. Simulación de ruido correlacionado . . . . . . . . . . . . . . . . . . . . . . . . 185


6.2. Filtro de Kalman general de tiempo discreto. . . . . . . . . . . . . . . . . . . 190
6.3. El filtro de Kalman discreto con ruido de medida coloreado. . . . . . . . . . . 197
6.4. El enfoque Hamiltoniano para filtrado de Kalman de estado estacionario. . . 214

7.1. El filtro de Kalman en tiempo continuo. . . . . . . . . . . . . . . . . . . . . . 230


7.2. El filtro de Kalman de raı́z cuadrada en tiempo continuo. . . . . . . . . . . . 240

8.1. El filtro de Kalman linealizado de tiempo continuo. . . . . . . . . . . . . . . . 258


8.2. El filtro de Kalman extendido en tiempo continuo. . . . . . . . . . . . . . . . 261
8.3. El filtro de Kalman extendido de tiempo discreto. . . . . . . . . . . . . . . . . 265
8.4. El filtro de Kalman extendido hı́brido. . . . . . . . . . . . . . . . . . . . . . . 268
8.5. Filtro de Kalman unscented. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
8.6. Puntos sigma sı́mplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
8.7. Puntos sigma esféricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

xi
xii
Capı́tulo 1

Elementos de cálculo matricial

1.1. Introducción
E n este capı́tulo se revisan algunos aspectos básicos del álgebra lineal. La teorı́a de estima-
ció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.2. Cálculo matricial


En esta sección, se revisará el concepto de matrices, álgebra matricial y cálculo matricial. Es-
to 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]

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

1
2 Capı́tulo 1. Elementos de cálculo matricial

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 [Kreyszig, 2011]. 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
1.3. Álgebra de matrices 3

ejemplo, 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 com-
pleja 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

aij = aji , (1.1)

donde aji 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 [Nakahara,
2003]:
[ ] [ ] [ ]
0 1 0 −i 1 0
σ1 = σ2 = σ3 =
1 0 i 0 0 −1

1.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.
4 Capı́tulo 1. Elementos de cálculo matricial

1.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 =  ... ..
. .   .
..
. .  
..
.
..
.
..
.  (1.2)
ar1 ··· arp br1 ··· brp ar1 ± br1 ··· arp ± brp

1.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 := (aij )m×n y B := (bij )n×p

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

C = AB := (cij )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 [Simon, 2006],[Kreyszig, 2011]:


∑ n ∑n 
a1j bj1 · · · a1j bjp
 j=1 
 j=1 
 . . . 
C= .. .. ..  (1.3)
 n 
∑ ∑n 
amj bj1 · · · amj bjp
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 ̸= 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
1.3. Álgebra de matrices 5

sigue:

x1
[ ] 
 x2 
x⊤ x = x1 x2 · · · xn  .  = x21 + x22 + · · · + x2n (1.4)
 .. 
xn
   
x1 x21 x1 x2 ··· x1 xn
 x2  [ 
]  x2 x1 x22 ··· x2 xn 
  
xx⊤ =  .  x1 x2 ··· xn =  . .. .. ..  (1.5)
 ..   .. . . . 
xn xn x1 xn x2 ··· x2n

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) [Poznyak, 2008].
   
h11 · · · h1n p11 · · · p1n h11 ··· hp1
⊤  .. .. ..   .. . .  
..   ... .. .. 
HPH =  . . .  . .. . . 
hp1 · · · hpn pn1 · · · pnn h1n ··· hpn
∑ ∑ 
h1j pjk h1k · · · h1j pjk hpk
j,k j,k 
 .. .. .. 
= . . .  (1.6)
∑ ∑ 
hpj pjk h1k · · · hpj pjk hpk
j,k j,k

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


   
h11 p11 h11 · · · h11 p11 hp1 h1n pnn h1n · · · h1n pnn hpn
 .. ..   .. .. 
HPH⊤ =  .
..
. .  + ··· +  .
..
. . 
hp1 p11 h11 ··· hp1 p11 hp1 hpn pnn h1n ··· hpn pnn hpn
= h1 p11 h⊤
1 + ··· + hn pnn h⊤
n

= hj pjk 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.3.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 [Kreyszig, 2011], [Pedersen and
Petersen, 2012].
1. No conmutativa para el producto:
6 Capı́tulo 1. Elementos de cálculo matricial

En general:

AB ̸= 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.3. Á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 trans-


puesta). 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 aij |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
8 Capı́tulo 1. Elementos de cálculo matricial

una expansión de Laplace a lo largo de su j -ésima columna, es decir,



n
|A| = (−1)i+j aij |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
[ ] [ ] [ ]
a a23 a a23 a a22
= a11 det 22 − a12 det 21 + a13 det 21 =
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)


det(cA) = c det(A),n
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)
det(An ) = 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 “rec-
tangulares” 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}
Ap = |AA{z
p veces

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


1.3. Álgebra de matrices 9

(i) Potencia cero:

A0 = I

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

(αA)p = αp Ap

Norma euclidiana
La norma dos de un vector columna de números reales, también llamada la norma euclidiana,
se define como sigue:
√ √
||x||2 = x⊤ x = x21 + · · · + x2n (1.36)

De la Ecuación (1.5), se observa que


   2 
x1 x1 x1 x2 ··· x1 xn
 x2  [ 
]  2 x1
x x22 ··· x2 xn 
  
xx⊤ =  .  x1 x2 · · · xn =  . .. .. .. 
 ..   .. . . . 
xn xn x1 xn x2 ··· x2n

Tomando la traza de esta matriz se obtiene:


( )
Tr xx⊤ = x21 + x22 + · · · + x2n
= ||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.3.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
10 Capı́tulo 1. Elementos de cálculo matricial

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

(λ − a11 )(λ − a22 ) − a12 a21 = λ2 − (a11 + a22 )λ + a11 a22 − a12 a21
Entonces
λ2 − λ · tr(A) + det(A) = 0, (1.42)
1 [ √ ] 1[ √ ]
λ1 = tr(A) + tr(A)2 − 4det(A) , λ2 = tr(A) − tr(A)2 − 4det(A) , (1.43)
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 1 a22 −a12
A = (1.47)
det(A) −a21 a11

Ejemplo 1.1
Realimentación serie–serie con un elemento activo (NFC) [Avendaño, 2007].
El circuito de la Fig. 1.1(a), constituye una red lineal con realimentación a tra-
vé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. 1.1(b), donde se indica la relación definida
en la ecuación (1.48). Las resistencias de entrada y salida de Ao1 y Ao2 están
dadas por Ria , Roa , Rib y Rob , respectivamente.
1.3. Álgebra de matrices 11

(a) Realimentación de corriente. (b) Circuito equivalente del sistema realimentado.

Figura 1.1.: Realimentación serie–serie.


Nótese que
vε = Ria i1
y además, puesto que la impedancia de entrada de Ao2 es muy elevada,
Rc ||Rib ≈ Rc ,
entonces,
v m ≈ R c 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

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 (1.49), es decir,


[ ]
zi βz
Z=
µz zo
12 Capı́tulo 1. Elementos de cálculo matricial

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

[ √ ]
1[ √ ] R
ia Rc
λ1 = zi + zo + (zi − zo ) + 4βz µz ≈
2 1 + 1 − µAo
2 2 Ria
[ √ ]
1[ √ ] R
ia R c
λ2 = zi + zo − (zi − zo )2 + 4βz µz ≈ 1 − 1 − µAo
2 2 Ria

Ejemplo 1.2
Realimentación Serie–Paralelo [Avendaño, 2007].
El modelo de realimentación serie–paralelo se muestra esquemáticamente en la
Figura 1.2.

Figura 1.2.: 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 realimentación serie–paralelo.
Por lo tanto, de la Figura 1.2.
[ ] [ ][ ] [ ][ ]
vs zs + h11a + h11f h12a + h12f is zi β is
= = (1.50)
0 h21a + h21f yL + h22a + h22f vo µ yo vo
1.3. Álgebra de matrices 13

Es decir,
[ ] [ ]
vs i
=H s
0 vo

donde
[ ]
zi β
H= (1.51)
µ yo

Invirtiendo la expresión (1.50) se llega a:


[ ] [ ][ ] [ yo ]
is 1 yo −β vs |H|
= = vs
|H| −µ zi
µ
vo 0 − |H|

donde
[ ( )]
µ
|H| = yo zi − βµ = yo zi 1+β −
yo zi
o
|H| = yo zi (1 + βAva )
con
µ
Ava = − .
yo z i
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 (1.51)), lo cual no es posible. Esto se debe tener en
cuenta en los sistemas fı́sicos, pues ocurre con alguna frecuencia.

1.3.5. Lema de inversión de matrices


En matemáticas, particularmente en álgebra lineal, la matriz identidad de Woodbury plan-
teada para buscar matrices n × n está dada por la siguiente fórmula [Householder, 1975]:

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


14 Capı́tulo 1. Elementos de cálculo matricial

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 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 [Sherman and Morrison, 1950] o sólo
la fórmula de Woodbury [Woodbury, 1950]. 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.3. Á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)

La prueba se completa mediante la combinación de, v.gr., (1.64) y (1.71), con la condición
16 Capı́tulo 1. Elementos de cálculo matricial

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.3.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 (1.73) 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 (1.73)


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
1.3. Álgebra de matrices 17

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



Tr(A) = aii (1.80)
i

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.3.7. Diagonalización
Si se colocan los autovectores en las columnas de una matriz
[ ]
Q = q1 q2 · · · qd (1.82)

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


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

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 (siem-
pre que tenga valores propios distintos; ver [Strang, 2006]). A veces no habrá valores propios
d distintos y en ocasiones ellos serán complejos.

1.3.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

A = QΛQ⊤ (1.87)
18 Capı́tulo 1. Elementos de cálculo matricial

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 
A = q1 q2 · · · qd  .   .  (1.88)
 ..   .. 
λd qd

Ésta también puede escribirse como una sumatoria


d
A= λk qk q⊤
k (1.89)
k=1

1.3.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 [Pedersen and Petersen, 2012]
 
a11 b11 a12 b12 · · · a1p b1p
 a22 b22 · · · a2p b2p 
.  a21 b21 
A ◦ B= .. .. .. ..  (1.90)
 . . . . 
am1 bm1 am2 bm2 · · · amp bmp

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


de Hadamard no está definido.

1.3.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)
1.3. Álgebra de matrices 19

4. Distributivo

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

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 ta-


maño m y n, respectivamente. Entonces,

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

Ejemplo 1.3
Verificar las relaciones de los productos mixtos de Hadamard de la Ecuación (1.96),
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 (1.96), se obtiene:



D(A ◦ B)E 



(DAE) ◦ B 
 [ ]
4 16 8
(DA) ◦ (BE) =

 −1 9 8
(AE) ◦ (DB) 



A ◦ (DBE)

1.3.11. El producto de Kronecker

Dadas dos matrices, A(m×n) y B(p×q) , el producto de Kronecker, producto directo o pro-
ducto tensorial se define como la matriz A ⊗ B(mp×nq) (Matlab: kron(A, B)) [Pedersen and
20 Capı́tulo 1. Elementos de cálculo matricial

Petersen, 2012].
 
a11 B a12 B ··· a1n B
 a21 B a22 B ··· a2n B 
 
A⊗B= . .. .. ..  (1.97)
 .. . . . 
am1 B am2 B · · · amn B

donde aij es el ij-ésimo elemento de A. A continuación se hace un resumen de algunas


propiedades del producto de Kronecker.
1. Conmutatividad.

A ⊗ B ̸= B ⊗ A, en general. (1.98)

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.
1.3. Álgebra de matrices 21

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. Es-


to 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 ma-
trices 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 anterior-
mente. Dichas demostraciones tienen el carácter de teoremas y en esa forma se plantean.

Teorema 1.1
Sea A ∈ Rm×n y B ∈ Rp×q , entonces
(A ⊗ B)−1 = A−1 ⊗ B−1 .
Demostración: De la Ecuación (1.100):
(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 
22 Capı́tulo 1. Elementos de cálculo matricial

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
Sea A ∈ Rm×n y B ∈ Rp×q , entonces
A ⊗ B = (A ⊗ Ip )(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 Ip a12 Ip · · · a1n Ip B 0 · · · 0
 a21 Ip a22 Ip · · · a2n Ip  0 B · · · 0 
= ... .. ..  . . . .
.  .. .. . . .. 
..
. .
am1 Ip am2 Ip · · · amn Ip 0 0 · · · B
= (A ⊗ Ip )(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.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.
1.3. Álgebra de matrices 23

A partir del Teorema 1.2, se puede demostrar el siguiente teorema de productos mixtos.
Teorema 1.3
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 1.2, se tiene
(A ⊗ B)(C ⊗ D)
= (A ⊗ Iq )(In ⊗ B)(C ⊗ Ir )(Ip ⊗ D)
= (A ⊗ Iq )[(In ⊗ B)(C ⊗ Ir )](Ip ⊗ D)
= (A ⊗ Iq )(C ⊗ B)(Ip ⊗ D)
= (A ⊗ Iq )[(C ⊗ Iq )(Ip ⊗ B)](Ip ⊗ D)
= [(A ⊗ Iq )(C ⊗ Iq )] [(Ip ⊗ B)(Ip ⊗ D)]
= [(AC ⊗ Iq )] [(Ip ⊗ BD)]
= (AC) ⊗ (BD). 

Ejemplo 1.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 (1.108).
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

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 
A⊗I2 = 
4 0 5 0 6 0
AI3 = , I2 D = ,
4 5 6 1 1 −1 2
0 4 0 5 0 6
24 Capı́tulo 1. Elementos de cálculo matricial

 
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 ma-


triz 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) = 
4 0 4 0 5 0 5 0 6 0 6 0
4 4 −4 8 5 5 −5 10 6 6 −6 12
= (A ⊗ I2 )(I3 ⊗ D)

1.3.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) [Pedersen and Petersen, 2012]; v.gr.: sea la matriz 2 × 2
 
[ ] a11
a11 a12 a21 
A= =⇒ vec(A) =  
a12 
a21 a22
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)


1.3. Álgebra de matrices 25

4. Escala

vec(αA) = α vec(A) (1.116)

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 denomi-
nada 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.4
Sean las matrices A ∈ Rm×n , B ∈ Rp×q y X ∈ Rn×p . Demostrar que se cumple
la relación (Ecuación (1.113)):

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 · · · bpk A]  
 ...  =
i=1
x.p
= ([b1k b2k · · · bpk ] ⊗ A) vec(X).

Entonces,
( )
(AXB).k = b⊤
.k ⊗ A vec(X)
26 Capı́tulo 1. Elementos de cálculo matricial

Apilando todos los vectores, se obtiene:


   ⊤ 
(AXB).1 b.1 ⊗ A
(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
vec(AB) = (Ip ⊗ A)vec(B) = (B⊤ ⊗ Im )vec(A).

Ejemplo 1.5
Verificar la relación (1.113) a partir de las siguientes matrices:
[ ] [ ] [ ]
1 2
1 2 3 2 3 4 1
A= , B= , X= 1 1 .
4 3 1 1 3 2 1
2×3 2×4 −1 1 3×2

Solución:
 
1
2
 
[ ] 12
1 12 2 4 6
vec(AXB) = vec =
2

2 6 4 2  
4
4
2
   
2 4 6 1 2 3   1
−2 6 2 −1 3 1 1 2
3 3 6 9 1  12
 6 9    
 
−3 9 3 −3 9 3 −1  6
(B⊤ ⊗ A)vec(X) = 
4  2  2
= 
 8 12 2 4 6    

−4 12 4 −2 6 2 1   4 
1 2 3 1 2 3  1  4
−1 3 1 −1 3 1 2
Con lo cual queda demostrada la relación pedida.
1.3. Álgebra de matrices 27

Ejemplo 1.6
A continuación se definen algunas cantidades vectoriales y matriciales. Verificar
la Ecuación (1.117).
[ ] [ ] [ ] [ ]
1 −2 1 −2
2 3
a= 2 , c= 1 , B= , X = −1 3
1 −4
3 5 2 −1
[ ][ ] [ ] [−2]
1 −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 
= [1 −1 2 −2 3 −1]
−6 −12 −18 8 16 24   = 99
−2
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 1.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
4

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


28 Capı́tulo 1. Elementos de cálculo matricial

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

1.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. (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 (1.119), se puede expresar en notación compacta como


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

Propiedades de la suma de Kronecker de matrices:


1. Suma mixta

(A ⊕ B)(C ⊕ D) = (AC) ⊕ (BD) (1.121)

2. Rango
( )

N ∑
N
ρ Ai = ρ(Ai ). (1.122)
i=0 i=0

3. Determinante
Si cada Ai es una matriz cuadrada, entonces
( N )
⊕ ∏N
det Ai = det(Ai ). (1.123)
i=0 i=0
1.3. Álgebra de matrices 29

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.8
Verificar las ecuaciones (1.124) y (1.125) 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 (1.124) y


(1.125), constituyen 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 (1.118) y (1.124) tienen como factores la matriz iden-
tidad, 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);
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
30 Capı́tulo 1. Elementos de cálculo matricial

Por otro lado, operando sobre el miembro de la derecha de la Ecuación (1.124)


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 (1.125).


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 exponencial de una matriz se define como expm(A).

1.3.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 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 ̸= 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 ̸= 0 y V (0) = 0.
1.3. Álgebra de matrices 31

Teorema 1.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 (1.126):
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 (1.126), 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 (1.129), tiene la forma general de un sistema del tipo
AX + XB = C. Este sistema general debe ser adecuado para el sistema particular de Lya-
punov, 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)

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.
32 Capı́tulo 1. Elementos de cálculo matricial

Aplicando el Teorema 1.4 y su Corolario a los términos de la Ecuación (1.131), 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(1.131) 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)


⊤ ⊤ −1
vec(X) = (D ⊗ A + B ⊗ E) vec(C); ⇒ vec(X) → X ∈ R m×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.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
1.4. Número de condición 33

% 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.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
34 Capı́tulo 1. Elementos de cálculo matricial

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 [Householder, 1975]. 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.
1.4. Número de condición 35

O sea
||∆x|| ||∆b||
≤ κ(A) (1.142)
||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 (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 (1.143) 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 (1.144) en (1.146) 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||
36 Capı́tulo 1. Elementos de cálculo matricial

o sea,

||∆A||
κ(A) ·
||∆x|| ||A||
= (1.147)
||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 (1.144),


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 (1.144) en la expresión anterior, se obtiene


( )
||∆x|| ||A−1 || ||∆b||
≤ · + ||∆A||
||x|| 1 − ||A−1 || · ||∆A|| ||A−1 || · ||b||
( )
||∆x|| ||A−1 || · ||A|| ||∆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.10
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=
6 10 9 
b =   , con ∆b = 
0.1
, .
8 33
7 5 9 10 31 −0.1
1.5. Cálculo vectorial y matricial 37

La solución exacta del sistema es


    
25 −41 10 −6 32 1
 −41 68 −17 10  23  1
x = A−1 b = 
−3 33 1
= ,
10 −17 5
−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 =  ⇒ ∆x = 
−3 33.1  4.5  3.5 
=
10 −17 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.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 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)
38 Capı́tulo 1. Elementos de cálculo matricial

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


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

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 ) (1.151)
dt dt
d(A−1 )
Puesto que esto es cero, puede resolverse para dt como

d
(A−1 ) = −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)
=
dt A(t) ∂A(t) dt
Ȧ(t)
=− (1.153)
A2 (t)

1.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

A pesar de que x es un vector columna, ∂f∂x (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)
···
∂f (A)   ∂a11 ∂a1n 
= 
∂A  ∂f (A) ∂f (A) 
···
∂am1 ∂amn
1.5. Cálculo vectorial y matricial 39

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)

y las derivadas correspondientes serán:


[ ]
∂(x⊤ y) ∂(x⊤ y) ∂(x⊤ y) [ ]
= ··· = y1 · · · yn = y⊤ (1.155)
∂x ∂x1 ∂xn
[ ]
∂(x⊤ y) ⊤
∂(x y) ∂(x⊤ y) [ ]
= ··· = x1 · · · xn = x⊤ (1.156)
∂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 x1

[ ] . . .  .  [∑ ∑ ] . 
x Ax = x1 · · · xn  .. .. ..  ..  = i xi ai1 · · · i xi ain  . 
.
an1 · · · ann xn xn

= xi xj aij (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 xj a1j + i xi ai1 · · · j xj anj + i xi ain
[∑ ∑ ] [∑ ∑ ]
= j xj a1j · · · j xj anj + 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
40 Capı́tulo 1. Elementos de cálculo matricial

Entonces
 
∂f1 (x) ∂f1 (x)
···
 ∂x1 ∂xn 
∂f (x)  
=

..
.
..
.
..
.

 (1.160)
∂x  ∂f (x)
m ∂f (x) 
m
···
∂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) (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 bkj a1j · · · a1k bkj amj
 j,k j,k 
 .. .. .. 
= . . .  (1.163)
∑ ∑ 
amk bkj a1j · · · amk bkj amj
j,k j,k

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



Tr(ABA⊤ ) = aik bkj aij (1.164)
i,j,k
1.6. Resumen 41

Su derivada parcial con respecto a A se puede calcular como


 
∂Tr(ABA⊤ ) ∂Tr(ABA⊤ )
 ··· 
∂Tr(ABA⊤ )  
∂a11 ∂a1n
 . 
= .. 
∂A  
 ∂Tr(ABA⊤ ) ∂Tr(ABA ) ⊤ 
···
∂am1 ∂amn
∑ ∑ ∑ ∑ 
j a1j b1j + k a1k bk1 ··· j a1j bnj + k a1k bkn
 .. 
= . 
∑ ∑ ∑ ∑
j amj b1j + k amk bkj ··· j amj bnj + k amk bkn
∑ ∑  ∑ ∑ 
j a1j b1j ··· j a1j bnj k a1k bk1 ··· k a1k bkn
 ..   .. 
= . + . 
∑ ∑ ∑ ∑
j amj b1j ··· j amj bnj 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.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.
Bibliografı́a

Avendaño, L. E. (2007). Sistemas Electrónicos Analógicos: Un enfoque matricial. UTP, AA


97, Pereira, Risaralda, Col., 2a edition.
Householder, A., S. (1975). The Theory of Matrices in Numerical Analysis. Reimpresión del
libro publicado originalmente en 1964. 180 Varick Street NY 10014, NY, USA.
Kreyszig, E. (2011). Advanced Engineering Mathematics. Laurie Rosatone, 111 River Street,
Hoboken, NJ 07030-5774, USA., 10a edition.
Nakahara, M. (2003). Geometry, Topology and Physics. Graduate Student Series in Physics.
270 Madison Avenue NY 10016, NY, USA., 2a edition.
Pedersen, M. S. and Petersen, K. B. (2012). The matrix cookbook. Technical report, Oticon
Foundation. url: http://matrixcookbook.com.
Poznyak, Alexander, S. (2008). Advanced Mathematical Tools for Automatic Control Engi-
neers, volume Vol. 1: Deterministic Techniques. Elsevier, Linacre House, Jordan Hill,
Oxford OX2 8DP, UK, 1a edition.
Sherman, J. and Morrison, W., J. (1950). Adjustment of an inverse matrix corresponding
to a change in one element of a given matrix. Annals of Mathematical Statistics.,
21(1): 124–127. Institute of Mathematical Statistics. USA.
Simon, D. (2006). Optimal State Estimation: Kalman, H-infinity, and Nonlinear Approaches.
John Wiley & Sons, Inc., New Jersey, USA.
Strang, G. (2006). Linear Algebra and its Applications. Thomson Corporation, Belmont,
CA, USA, 4a edition.
Woodbury, M., A. (1950). Inverting modified matrices. Memorandum Report 42, Princeton
University, Statistical Research Group, Princeton, NJ, USA.

43
Capı́tulo 2

Elementos de sistemas
dinámicos

2.1. Introducción

E n este capı́tulo se revisan algunos aspectos esenciales de la teorı́a de sis-


temas lineales. La teorı́a de estimación óptima de estados depende fuer-
temente 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, aun-
que 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. 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

45
46 Capı́tulo 2. Elementos de sistemas dinámicos

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 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
(2.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 (2.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 (2.1) involucra la exponencial matricial eAt . Multiplicando entonces,
ambos lados de la primera expresión de (2.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τ )
e x(τ ) = e−Aτ Bu(τ ).

La integración de esta última ecuación entre t0 y t da
∫ t
t
e −Aτ
x(τ ) t0 = e−Aτ Bu(τ )dτ,
t0

o lo que es lo mismo,
∫ t
−At −At0
e x(t) − e x(t0 ) = e−Aτ Bu(τ )dτ.
t0
2.3. Sistemas no lineales 47

o sea,
∫ t
−At −At0
e x(t) = e x(t0 ) + e−Aτ Bu(τ )dτ.
t0

Premultiplicando por eAt ambos miembros de la ecuación, se llega a la solución


∫ t
A(t−t0 )
x(t) = e x(t0 ) + eA(t−τ ) Bu(τ )dτ (2.2)
t0

donde t0 es el tiempo inicial del sistema y a menudo se toma como 0. La


Ecuación (2.2) es la solución general de la ecuación de estado definida en (2.1).
Suele referirse como fórmula de variación de parámetros. La sustitución de
la expresión (2.2) en la ecuación de salida de (2.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:
∫ t
A(t−t0 )
y(t) = Ce x(t0 ) + C eA(t−τ ) Bu(τ )dτ (2.3)
t0

Nótese que en el caso de entrada nula, x(t) está dado como

x(t) = eA(t−t0 ) x(t0 ), (2.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) ̸= exp(A), exp(A) calcula la
exponencial de una matriz, elemento por elemento).

2.3. Sistemas no lineales


Un sistema lineal en la realidad no existe. Los sistemas reales siempre tienen
algunas no linealidades. 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.
48 Capı́tulo 2. Elementos de sistemas dinámicos

La forma general de un sistema no lineal continuo se puede escribir como

ẋ = f (x, u, v)
(2.5)
y = h(x, w)

donde f (·) y h(·) son funciones vectoriales arbitrarias [Khalil, 1996]. 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̄:

∂f 1 ∂ 2 f 2 1 ∂ 3 f 3
f (x) = f (x̄) + x̃ + x̃ + x̃ + · · · (2.6)
∂x x̄ 2! ∂x2 x̄ 3! ∂x3 x̄

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̃1 + x̃2 +
∂x1 x̄ ∂x2 x̄
( )
1 ∂ 2 f (x) 2 ∂ 2 f (x) 2 ∂ 2 f (x)
+ x̃ + x̃ + 2 x̃1 x̃2 +
2! ∂x21 x̄ 1 ∂x22 x̄ 2 ∂x1 x2 x̄
( )
1 ∂ 3 f (x) 3 ∂ 3 f (x) 3 ∂ 3 f (x) 2 ∂ 3 f (x)
+ x̃ + x̃ + 3 x̃ x̃2 + 3 x̃1 x̃2 + · · ·
2
3! ∂x31 x̄ 1 ∂x32 x̄ 2 ∂x21 x2 x̄ 1 ∂x1 x22 x̄

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
2.3. Sistemas no lineales 49

Taylor como
( ) ( )2

∂ ∂ 1 ∂ ∂
f (x) = f (x̄) + x̃1 + · · · + x̃n f (x) + x̃1 + · · · + x̃n f (x)
∂x1 ∂xn x̄ 2! ∂x1 ∂xn
( )3 x̄

1 ∂ ∂
+ x̃1 + · · · + x̃n f (x) + · · · (2.7)
3! ∂x1 ∂xn

Ahora se define el operador Dx̃k f (x) como


( n )k

∑ ∂
Dx̃ f (x) ,
k
x̃i f (x) (2.8)
i=1
∂xi

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) + Dx̃3 f (x) + · · · (2.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 (2.9) serán pequeñas. Finalmente,
las derivadas de mayor orden en la expansión en serie de Taylor de la Ecua-
ción (2.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̃ (2.10)

∂f
donde A = , es la matriz definida por la anterior ecuación.
∂x x̄
Retornando al sistema de ecuaciones no lineal planteado en (2.5) y tomando
la expresión f (x, u, v), se ve que ésta se puede expandir alrededor del punto de
50 Capı́tulo 2. Elementos de sistemas dinámicos

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ṽ (2.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. Sustrayendo x̄˙ en
ambos lados de la Ecuación (2.11) da

x̃˙ = Ax̃ + Bũ + Lṽ (2.12)

Puesto que v es ruido, se escoge v̄ = 0 de modo que ṽ = v y se obtiene

x̃˙ = Ax̃ + Bũ + Lv (2.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 no-
minales x̄. En una forma similar se puede expandir la ecuación de medición no
lineal dada por la Ecuación (2.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̃ + Dw (2.14)

donde C y D están definidas por la anterior ecuación. Las ecuaciones (2.13) y


(2.14) comprenden 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 (2.13) y (2.14) están definidas como

x̃ = x − x̄; ũ = u − ū; ỹ = y − ȳ
2.4. Discretización 51

2.4. Discretización

La mayorı́a de los sistemas en el mundo real se describen con la dinámica


de tiempo continuo del tipo mostrado en la Ecuación (2.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 (2.2) y haciendo t = tk y haciendo el tiempo
inicial t0 = tk−1 , se tiene
∫ tk
A(tk −tk−1 )
x(tk ) = e x(tk−1 ) + eA(tk −τ ) dτ Bu(tk−1 )
tk−1 (2.15)
y(tk ) = Cx(tk ).

Definiendo T = tk − tk−1 y α = τ − tk−1 y sustituyendo en la Ecuación (2.15)


se obtiene:
∫ T
AT
x(tk ) = e x(tk−1 ) + eA(T−α) dαBu(tk−1 )
0
∫ T
AT
= e x(tk−1 ) + eAT
e−Aα dαBu(tk−1 ).
0

Entonces,

xk = Fk−1 xk−1 + Gk−1 uk−1 (2.16)

donde

Fk−1 = eAT (2.17a)


∫ T
Gk−1 = e AT
e−Aα dαB. (2.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 (2.1). El cálculo de la integral de la exponencial
52 Capı́tulo 2. Elementos de sistemas dinámicos

de la matriz se puede realizar si A es invertible:


∫ T ∫ T∑

−Aτ (−Aτ )k
e dτ = dτ
0 0 k=0
k!
∫ T [ ]
A2 τ 2 A3 τ 3
= I − Aτ + − + · · · dτ
0 2! 3!
[ ]T
Aτ 2 A2 τ 3 A3 τ 4
= Iτ − + − + ···
2! 3! 4!
[ ]0
AT2 A2 T3 A3 T4
= IT − + − + ···
2! 3! 4!

∫ T [ ]
−Aτ (AT)2 (AT)3 (AT)4
e dτ = AT − + − + · · · A−1
2! 3! 4!
0
[ ( 2
)]
(AT) (AT)3 (AT)4
= I − I − AT + − + − · · · A−1
2! 3! 4!

Entonces,
∫ T
( )
e−Aτ dτ = I − e−AT A−1 (2.18)
0

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
( ) (2.19)
G = F I − e−AT A−1 B.

Donde T es el tamaño del paso de discretización.


Ejemplo 2.1 (Sistema de primer orden)
Considérese el sistema [Åström and Wittenmark, 1997]
ẋ = ax + bu
con a ̸= 0.
2.4. Discretización 53

Aplicando las ecuaciones (2.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 2.2 (Integrador doble)


El integrador doble se describe por [Åström and Wittenmark, 1997]
[ ] [ ]
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 (2.19) puesto


que A−1 no existe; por lo tanto, se aplica directamente la Ecuación (2.17b), o sea
[ ]∫ T[ ] [ ] [ ][ ] [ ]
2 T
1 T 1 −α 0 1 T α − α2 0
G= dα =
0 1 0 1 1 0 1 0 α 0 1
[ ] [0 ] [ ] [ ] [ ] [ ]
1 T T − 12 T2 0 1 T − 12 T2 1 2
T
= = = 2
0 1 0 T 1 0 1 T T

[ ] [1 ]
1 T T2
xk = xk−1 + 2 uk−1
0 1 T
y = [1 0] xk−1
54 Capı́tulo 2. Elementos de sistemas dinámicos

2.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 tiem-
po continuo y luego los sistemas en tiempo discreto. Se establecerán resultados
importantes sin demostración. Para más detalle y resultados adicionales se re-
fiere al lector interesado a algunas referencias estándar sobre sistemas lineales,
v.gr.: [Åström and Murray, 2008], [Chen, 1984], [Jamshidi et al., 1992], [Kailath
et al., 2000].

2.5.1. Sistemas de tiempo continuo


Considérese el sistema de tiempo continuo lineal y de entrada cero

ẋ = Ax
(2.20)
y = Cx

A partir de estas ecuaciones se pueden definir los conceptos de estabilidad


marginal y estabilidad asintótica como sigue.
Definición 2.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 2.2
Un sistema lineal de tiempo continuo invariante en el tiempo es asintóticamente
estable si, para todos los estados iniciales acotados x(0).
lı́m x(t) = 0 (2.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,
2.5. Estabilidad 55

estabilidad uniforme y estabilidad exponencial) están dadas en algunos libros


sobre sistemas lineales [Chen, 1984], [Simon, 2006], [Lewis, 1992].
Puesto que la solución de la Ecuación (2.20) está dada como

x(t) = eAt x(0) (2.22)

se puede establecer el siguiente teorema.


Teorema 2.1
Un sistema lineal de tiempo continuo, invariante en el tiempo es marginalmente
estable si y solo si

lı́m eAt ≤ M < ∞ (2.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 ante-
rior 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 2.2 con la Ecuación (2.22).
Se puede establecer el siguiente teorema.
Teorema 2.2
Un sistema lineal de tiempo continuo, invariante en el tiempo es asintóticamente
estable si y solo si

lı́m eAt = 0 (2.24)


t→∞

Recordando que eAt = QeÂt Q−1 , donde Q es una matriz constante que contie-
ne los autovectores de A y  es la forma de Jordan de A. El exponencial eÂt
por lo tanto contiene términos como e(λi t) , te(λi t) , t2 e(λi t) , etc, donde λi , es un
autovalor de A. La acotación de eAt es por lo tanto referida a los autovalores
de A como se establece por los siguientes teoremas.
56 Capı́tulo 2. Elementos de sistemas dinámicos

Teorema 2.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 multi-
plicidad 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 2.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 2.3
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 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)
2.5. Estabilidad 57

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 estabi-
lidad 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 marginalmente inestable.

Ejemplo 2.4
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ótica-
mente inestable puesto que algunos de sus autovalores son no negativos. Además
para ver si el sistema es marginalmente estable, se necesita calcular la multipli-
cidad 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 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
58 Capı́tulo 2. Elementos de sistemas dinámicos

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.

2.5.2. Sistemas de tiempo discreto


Considere la entrada cero, lineal, y el sistema de tiempo discreto invariante
en el tiempo

xk+1 = Fxk
(2.25)
yy = Hxk

Las definiciones de estabilidad marginal (también llamada estabilidad de Lya-


punov) y estabilidad asintótica son análogas a las definiciones para sistemas
de tiempo continuo que fueron dadas en la Subsección 2.5.1.
Definición 2.3
Un sistema lineal de tiempo discreto invariante en el tiempo es marginalmente
2.5. Estabilidad 59

estable si el estado xk es acotado para todo k y para todos los estados iniciales
acotados x0 .

Definición 2.4
Un sistema lineal de tiempo discreto invariante en el tiempo es asintóticamente
estable si,
lı́m xk = 0 (2.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
(2.25) está dada por

xk = Fk x0 (2.27)

A partir de la expresión (2.27) se pueden establecer los siguientes teoremas:


Teorema 2.5
Un sistema lineal de tiempo discreto, invariante en el tiempo es marginalmente
estable si y solo si

lı́m Fk ≤ M < ∞ (2.28)


k→∞

para alguna matriz constante M. Esto es sólo una forma de decir que las potencias
de F no aumenta sin lı́mite.

Teorema 2.6
Un sistema lineal de tiempo discreto, invariante en el tiempo es asintóticamente
estable si y solo si

lı́m Fk = 0 (2.29)
k→∞

Recordando que Fk = QF̂k Q−1 , donde Q es una matriz constante que contiene
los autovectores de F y F̂ es la forma de Jordan de F. La matriz F̂k por lo tanto
contiene términos como λki , kλki , k 2 λki , etc, donde λi , es un autovalor de F. La
60 Capı́tulo 2. Elementos de sistemas dinámicos

acotación de Fk es por lo tanto referida a los autovalores de F como se establece


por los siguientes teoremas.
Teorema 2.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 2.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.

2.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 con-
trolar 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 inicia-
les 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 [Kalman, 1960],
[Kalman, 1959].

2.6.1. Controlabilidad
Las siguientes definiciones y teoremas dan descripción clara de la controlabili-
dad para sistemas lineales tanto en tiempo continuo como en discreto.
Definición 2.5
Un sistema de tiempo continuo es controlable si para cualquier estado inicial x(0)
2.6. Controlabilidad y Observabilidad 61

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 2.6
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 equiva-
lentes pueden usarse para probar la controlabilidad de sistemas lineales conti-
nuos invariantes en el tiempo.
Teorema 2.9
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 (2.30)

El sistema es controlable si y solo si ρ(C ) = n.

Teorema 2.10
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
∫ t

G = eAτ BB⊤ eA τ dτ (2.31)
0

es definida positiva para algún t ∈ (0, ∞).

Teorema 2.11
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⊤ (2.32)


W(0) = 0
62 Capı́tulo 2. Elementos de sistemas dinámicos

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 2.12
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 (2.33)

El sistema es controlable si y solo si ρ(C ) = n

Teorema 2.13
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 (2.34)
i=0

es definida positiva para algún k ∈ (0, ∞).

Teorema 2.14
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⊤ (2.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 2.9 y 2.12 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 contro-
labilidad para sistemas lineales variantes en el tiempo pueden obtenerse gene-
ralizando los teoremas anteriores. La controlabilidad para sistemas no lineales
es mucho más difı́cil de formalizar.
2.6. Controlabilidad y Observabilidad 63

Ejemplo 2.5
El circuito RLC de la Figura 2.1 tiene la descripción en variables de estados dada
por (ver por ejemplo [Chan et al., 1972])
[ ] [ −2 1 ] [ ] [ 1 ]
v̇C RC C
vC RC
= −1 + 1 u
ı̇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 2.9 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 2.1.: Circuito RLC para análisis de controlabilidad.

Sustituyendo en la ecuación anterior se obtiene:


[ 1 2 ]
LC − (RC)2
1
RC
C =
1 −1
L RLC

De aquı́ se puede calcular el determinante de C como


1 1
|C | = − (2.36)
(RC)2 L L2 C

El determinante de
√ C es 0 solamente si R = L/C. Ası́, el sistema es controlable
a menos que R = L/C. Puede ser muy difı́cil obtener este resultado a partir de
los Teoremas 2.10 y 2.11.
64 Capı́tulo 2. Elementos de sistemas dinámicos

2.6.2. Observabilidad
Las siguientes definiciones y teoremas dan descripción clara de la observabili-
dad para sistemas lineales tanto en tiempo continuo como en discreto.
Definición 2.7
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].

Definición 2.8
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 esta-
do 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 ob-
servabilidad. Los siguientes teoremas equivalentes puede usarse para probar la
observabilidad de sistemas lineales continuos invariantes en el tiempo.
Teorema 2.15
El sistema lineal de n estados, continuo e invariante en el tiempo
ẋ = Ax + Bu
(2.37)
y = Cx
tiene la matriz de observabilidad O definida por
 
C
 CA 
O=  ... 
 (2.38)
CAn−1

el sistema es observable si y solo si ρ(O) = n.


2.6. Controlabilidad y Observabilidad 65

Teorema 2.16
El sistema lineal de n estados, continuo e invariante en el tiempo
ẋ = Ax + Bu
(2.39)
y = Cx
es observable si y solo si la observabilidad grammiana definida por
∫ t

eA τ C⊤ CeAτ dτ (2.40)
0

es definida positiva para algún t ∈ (0, ∞).


Teorema 2.17
El sistema lineal de n estados, continuo e invariante en el tiempo
ẋ = Ax + Bu
(2.41)
y = Cx
es observable si y solo si la ecuación diferencial de Lyapunov

−Ẇ = WA + A⊤ W + C⊤ C (2.42)
W(t) = 0

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 2.18
El sistema lineal de n estados, discreto e invariante en el tiempo
xk = Fxk−1 + Guk−1
(2.43)
yk = Hxk
tiene la matriz de observabilidad O defina por
 
H
 HF 
O=  ... 
 (2.44)
HFn−1

El sistema es observable si y solo si ρ(O) = n.


66 Capı́tulo 2. Elementos de sistemas dinámicos

Teorema 2.19
Un sistema lineal de n estados, discreto e invariante en el tiempo
xk = Fxk−1 + Guk−1
(2.45)
yk = Hxk
es observable si y solo si la observabilidad grammiana definida por


k
(F⊤ )i H⊤ HFi (2.46)
i=0

es definida positiva para algún k ∈ (0, ∞).

Teorema 2.20
El sistema lineal de n estados, discreto e invariante en el tiempo
xk = Fxk−1 + Guk−1
(2.47)
yk = Hxk
es observable si y solo si la ecuación diferencial de Lyapunov

−Wi = F⊤ Wi+1 F + H⊤ H (2.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 2.15 y 2.18 dan pruebas idénticas de observabilidad
tanto para sistemas de tiempo continuo como de tiempo discreto. En general,
estas son las pruebas más simples de observabilidad. Las pruebas de observa-
bilidad para sistemas lineales variantes en el tiempo pueden obtenerse genera-
lizando los anteriores teoremas. La observabilidad para sistemas no lineales es
mucho más difı́cil de formalizar.

Ejemplo 2.6
El circuito RLC de la Figura 2.1 está definido en variables de estados como
[ ] [ −2 1 ] [ ] [ 1 ]
v̇C RC C
vC RC
= −1 + 1 u
ı̇L 0 ıL
L
[ ] L
vC
y = [−1 0]
ıL
2.6. Controlabilidad y Observabilidad 67

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 2.15 para determinar las
condiciones bajo las cuales este sistema es observable. La matriz de observabilidad
se calcula como
[ ] [ ]
C −1 0
O= = 2
RC − C
CA 1

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 2.16 y 2.17.

2.6.3. Estabilidad y detectabilidad


Los conceptos de estabilidad y detectabilidad están cercanamente relacionados
a la controlabilidad y observabilidad, respectivamente. Estos conceptos tam-
bién están relacionados a los modos de un sistema. Los modos de un sistema
son todos los estados desacoplados, después 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
(2.49)
y = Cx + Du

Primero se encuentran los autovalores de la matriz A del sistema. Supóngase


que los autovectores se indican como v1 , · · · , vn . Se crea una matriz Mn×n
68 Capı́tulo 2. Elementos de sistemas dinámicos

agregando los autovectores como sigue


[ ]
M = v1 · · · vn (2.50)

Se define un nuevo sistema como


x̄˙ = M−1 AMx̄ + M−1 Bu
= Āx̄ + B̄u
(2.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 (2.49) y (2.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 2.7
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̄
La matriz de autovectores de A es
2.6. Controlabilidad y Observabilidad 69

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̄˙ = x̄ + u
0 1 1 1
y1 = [1 0] x̄1
El segundo modo es

x̄˙ 2 = −2x̄2 + 0u
(2.52)
y2 = x̄2

Definición 2.9
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 controlable. El segundo modo es estable (autovalor en −2) pero no
controlable. Por lo tanto, el sistema es estabilizable.

Definición 2.10
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.
70 Capı́tulo 2. Elementos de sistemas dinámicos

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.

2.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
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.
Bibliografı́a

Chan, S.-P., Chan, S.-Y., and Chan, S.-G. (1972). 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.
Chen, C.-T. (1984). Linear System Theory and Design. Saunders College Pu., Harcourt
Brace Jovanovich, Inc., Orlando, FL 32887, USA, 2a edition.
Jamshidi, M., Tarokh, M., and Shafai, B. (1992). Computer-Aided Analysis and Design
of Linear Control Systems. Prentice-Hall International, Inc., A Simon and Schuster
Company Englewood Cliffs, N J 07632, USA, 1a edition.
Kailath, T., Sayed, A., and Hassibi, B. (2000). Linear Estimation. Prentice-Hall, Upper
Saddle River, New Jersey, USA.
Kalman, R. E. (1959). On the general theory of control systems. IRE Transactions on
Automatic Control, 4(3): 110–122.
Kalman, R. E. (1960). Contributions to the theory of optimal control. Boletı́n de la Sociedad
Matemática Mexicana, 5: 102–119.
Khalil, H. (1996). Nonlinear Systems. Simon and Schuster, Viacom Company Upper Saddle
River, N. J. 07458, USA, segunda edition.
Lewis, F. L. (1992). Applied Optimal Control & Estimation: Digital Design & Implemen-
tation. Digital Signal Processing. Prentices-Hall, Inc., Simon & Schuster Company
Englewoods Cliffs, NJ 07632, USA.
Simon, D. (2006). Optimal State Estimation: Kalman, H-infinity, and Nonlinear Approaches.
John Wiley & Sons, Inc., New Jersey, USA.
Åström, K. J. and Murray, R. (2008). Feedback systems: an introduction for scientists and
engineers. Princeton University Press, 41 William Street, Princeton, New Jersey 08540,
USA.
Åström, K. J. and Wittenmark, B. (1997). Computer-Controlled Systems: Theory and De-
sign. Prentice Hall Information and System Sciences, 3a edition.

71
Capı́tulo 3

Estimación por mı́nimos


cuadrados

3.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 medi-
ciones 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 [Kailath, 1981]. Este paradigma
fue roto con la publicación del trabajo de R. Kalman en los comienzos de los
años 60 [Kalman, 1960], a partir del cual miles de proyectos se han elaborado
con mucho éxito.

73
74 Capı́tulo 3. Estimación por mı́nimos cuadrados

3.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 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 [Gelb, 2001].
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 (3.1)

Se define ϵy como la diferencia entre las medidas ruidosas y el vector Hx̂:

ϵy = y − Hx̂ (3.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 (3.3)
3.2. Estimación de una constante 75

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 (3.4)
∂x̂
Resolviendo esta ecuación para x̂ resulta en

y⊤ H = x̂⊤ H⊤ H
H⊤ y = H⊤ Hx̂

Es decir,

x̂ = (H⊤ H)−1 H⊤ y (3.5)

donde (H⊤ H)−1 H⊤ , es la seudoinversa de H, la cual ocurre si k ≥ n y H es de


rango completo [Strang, 2006]. 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 (3.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 (3.6) lo cual completa la demos-
tración.
76 Capı́tulo 3. Estimación por mı́nimos cuadrados

Ejemplo 3.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
y 1 = x + w1
.. ..
. .
y k = x + wk
Estas k ecuaciones se pueden combinar en una simple expresión vectorial como
   
y1 1
 ..  =  ...  x + w
.
yk 1

La Ecuación (3.5) muestra que el estimado óptimo de la resistencia x está dado


como
x̂ = (h⊤ h)−1 h⊤ y
  −1  
1 y1
x̂ = [1 · · · 1]  ..  [1 · · · 1]  ...  = k −1 [y1 + · · · +yk ]
.
1 yk

1∑
k
x̂ = yi (3.7)
k
i=1

En este simple ejemplo, se puede observar que la estimación por mı́nimos cua-
drados concuerda con nuestra intuición de simplemente calcular el promedio
de las medidas.

3.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 resul-
tados 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 dife-
3.3. Estimación por mı́nimos cuadrados ponderados 77

rentes 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 ma-
yor é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 [Gelb, 2001]:
      
y1 h11 · · · h1n x1 w1
 ..   ..   ..   .. 
.= .  .  +  . 
yk hk1 · · · hkn xn wk

E {wi2 } = σ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
 
σ12 0
 .. 
R = E {ww⊤ } =  . 
2
0 σk

Ahora se debe minimizar la siguiente cantidad con respecto a x̂:

ϵ2y1 ϵ2yk
J= + · · · + (3.8)
σ12 σk2

Nótese que en lugar de minimizar la suma de los cuadrados de ϵy como se hizo


en la Ecuación (3.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 valor de y1 . La
78 Capı́tulo 3. Estimación por mı́nimos cuadrados

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 (3.9)

Resultado que se conoce como Teorema de Gauss–Markov [Crassidis and Jun-


kins, 2012]. Nótese que este método requiere que la matriz de ruido de la medi-
da, R, sea definida positiva, es decir, cada medida yi debe estar contaminada
por algún ruido para que este método funcione.
Ejemplo 3.2
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
E {σi }
2
= σi2 i = 1, · · · , k

     
y1 1 w1
 ...  =  ...  x +  ... 
yk 1 wk

R = diag(σ12 · · · σk2 )
3.4. Estimación recursiva por mı́nimos cuadrados 79

x̂ = (H⊤ R−1 H)−1 H⊤ R−1 y


  −1  −1  −1  
σ12 0 1 σ12 0 y1
       .. 
  ..  [1 · · · 1] 
= [1 · · · 1]  .. . ..
. .  .
0 σk2 1 0 2
σk yk
(∑ )−1 ( )
1 y1 yk
= 2 2 + ··· + 2
σi σ1 σk

3.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 [Grewal and Andrews,
2008]. 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 (3.9)?

yk = H k x + w k
(3.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 } (3.11)
80 Capı́tulo 3. Estimación por mı́nimos cuadrados

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 (3.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 (3.11), el error del estimador está dado por

ϵx,k = (I − Kk Hk )ϵx,k−1 − Kk wk . (3.12)

Ahora se determinará el valor óptimo de Kk . Puesto que el estimador es im-


parcial, independientemente del valor de Kk utilizado, se debe escoger algún
otro criterio de optimalidad para determinarlo. El criterio de optimalidad ele-
gido 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 (1.38) se obtiene:

Jk = E {ϵ⊤ ⊤ ⊤
x,k ϵx,k } = E {Tr(ϵx,k ϵx,k )} = Tr(E {ϵx,k ϵx,k })
= Tr(Pk ) (3.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 (3.11), con el fin
de obtener una fórmula recursiva para el cálculo de Pk . Entonces, partiendo
de la expresión (3.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 wk⊤ }K⊤ ⊤ ⊤


k + Kk E {wk wk }Kk . (3.14)
3.4. Estimación recursiva por mı́nimos cuadrados 81

Ahora, nótese que ϵx,k−1 , el error estimado en el instante (k − 1), es indepen-


diente de wk (el ruido estimado en el instante k). Por lo tanto,

E {ϵx,k−1 wk⊤ } = E {wk ϵ⊤ ⊤


x,k−1 } = E {wk }E {ϵx,k−1 } = 0, (3.15)

puesto que ambos valores esperados son cero. Por lo tanto, la Ecuación (3.14)
se reduce a

Pk = (I − Kk Hk )Pk−1 (I − Kk Hk )⊤ + Kk Rk K⊤
k (3.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 (3.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 (3.13) tan pequeña como 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.
Con el fin de encontrar el mejor valor de Pk primero se necesita recordar
⊤)
de la Ecuación (1.25) que ∂Tr(ABA
∂A
= 2AB si B es simétrica. Además, de
∂Tr(XA) ⊤
la Ecuación (A.2), ∂X
= A . Con esto en mente, se pueden usar las
ecuaciones (3.13) y (3.16) y la regla de cadena para obtener

∂Jk ∂Tr(Pk )
= = 2(I − Kk Hk )Pk−1 (−H⊤
k ) + 2Kk Rk (3.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
82 Capı́tulo 3. Estimación por mı́nimos cuadrados

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
(3.18)

Las ecuaciones (3.10), (3.16), y (3.18) forman la estimación recursiva por mı́-
nimos cuadrados, la cual se resume en el Algoritmo 3.1.

Algoritmo 3.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 to-
madas, 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 ∼ N ID(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

3.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.
3.5. Formas alternas del estimador 83

Primero, se encontrará una forma alterna para la expresión de la covarianza


del error de estimación. Sustituyendo Kk de la Ecuación (3.18) en la Ecuación
(3.16) se obtiene
−1 ⊤ −1
Pk = (I − Pk−1 H⊤ ⊤ ⊤
k Sk Hk )Pk−1 (I − Pk−1 Hk Sk Hk ) + Kk Rk Kk (3.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:

Pk = Pk−1 − 2Pk−1 H⊤ −1 ⊤ −1 ⊤ −1
k Sk Hk Pk−1 + Pk−1 Hk Sk · Hk Pk−1 Hk · Sk Hk Pk−1
+ Pk−1 H⊤ −1 −1
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
= Pk−1 − 2Pk−1 H⊤ −1 ⊤ −1
k Sk Hk Pk−1 + Pk−1 Hk Sk Hk Pk−1
−1
= Pk−1 − Pk−1 H⊤
k Sk Hk Pk−1 (3.20)

Ahora, nótese de la Ecuación (3.18) que Kk aparece implı́citamente en la ecua-


ció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 (3.21)

Comparada con la Ecuación (3.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 (1.72)), para reescribir la ecuación de la medida actualizada de Pk .
Comenzando con la Ecuación (3.20) se obtiene:

Pk = Pk−1 − Pk−1 H⊤ ⊤ −1
k (Hk Pk−1 Hk + Rk ) Hk Pk−1 (3.22)

Haciendo en la Ecuación (1.72), A = P−1 ⊤


k−1 , B = Hk , C = Hk y D = Rk e
84 Capı́tulo 3. Estimación por mı́nimos cuadrados

igualando término a término con la Ecuación (3.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 ) , (3.23)

es decir,
( )−1
Pk = P−1 ⊤ −1
k−1 + Hk Rk Hk (3.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 (3.24) con el fin de obtener
una ecuación equivalente para la ganancia del estimador Kk . Reescribiendo la
Ecuación (3.18):

Kk = Pk−1 H⊤ ⊤
k (Hk Pk−1 Hk + Rk )
−1
(3.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
(3.26)

Sustituyendo P−1
k a partir de la Ecuación (3.24):

Kk = Pk (P−1 ⊤ −1 ⊤ ⊤
k−1 + Hk Rk Hk )Pk−1 Hk (Hk Pk−1 Hk + Rk )
−1
(3.27)

Nótese el factor Pk−1 H⊤


k que está a la derecha del primer término entre parén-
tesis. Se puede introducir este factor dentro del primer término entre paréntesis
para obtener

Kk = Pk (H⊤ ⊤ −1 ⊤ ⊤
k + Hk Rk Hk Pk−1 Hk )(Hk Pk−1 Hk + Rk )
−1
(3.31)

Ahora se extrae H⊤
k del paréntesis, con lo cual se tiene:

Kk = Pk H⊤ −1 ⊤ ⊤
k (I + Rk Hk Pk−1 Hk )(Hk Pk−1 Hk + Rk )
−1
(3.32)
3.5. Formas alternas del estimador 85

Algoritmo 3.2 Estimación recursiva por mı́nimos cuadrados.


Ecuaciones de medida.
yk = Hk x + wk
x = constante
(3.28)
E {wk } = 0
E {wk wi⊤ } = Rk δk−i

Estimado inicial del vector constante x, junto con su incertidumbre.

x̂0 = E {x}
(3.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

= Pk H ⊤ −1
k Rk
x̂k = x̂k−1 + Kk (yk − Hk x̂k−1 )
(3.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

Extrayendo como factor común el término R−1


k , se llega a

Kk = Pk H⊤ −1 ⊤ ⊤
k Rk (Rk + Hk Pk−1 Hk )(Hk Pk−1 Hk + Rk )
−1

Con lo cual se obtiene finalmente:

Kk = Pk H⊤ −1
k Rk (3.33)

El procedimiento recursivo por mı́nimos cuadrados se da en el Algoritmo 3.2.


Ejemplo 3.3
Se volverá al problema original de tratar de estimar la resistencia x de un resis-
tor 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
86 Capı́tulo 3. Estimación por mı́nimos cuadrados

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 (3.34)
Rk = E {wk2 }
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 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 )⊤ } (3.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 (3.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 + (y1 − x̂0 )
P0 + R
Pk = (I − Kk Hk )Pk−1 (I − Kk Hk )⊤ + Kk Rk Kk⊤
P0 R2 P02 R P0 R
P1 = + =
(P0 + R)2 (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 P0 + R P0
x̂2 = x̂1 + (y2 − x̂1 ) = x̂1 + y2 (3.36)
P1 + R 2P0 + R 2P0 + R
P1 R P0 R
P2 = =
P1 + R 2P0 + R
3.5. Formas alternas del estimador 87

Por inducción, se pueden encontrar expresiones generales para Kk , x̂k y Pk


como sigue:

P0
Kk = (3.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 + yk
kP0 + R kP0 + R (3.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

(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 ] (3.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 = yj =  yj + yk  = (k − 1)  yj  + yk 
k k k k−1
j=1 j=1 j=1
1
= [(k − 1)ȳk−1 + yk ] (3.40)
k

Ejemplo 3.4
Supóngase que se desea ajustar una lı́nea recta a un conjunto de datos puntua-
les. El problema de ajuste datos lineales se puede escribir como
yk = x1 + x2 tk + wk
(3.41)
E {wk2 } = 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
88 Capı́tulo 3. Estimación por mı́nimos cuadrados

las constantes x1 y x2 . La matriz de medidas se puede escribir como


Hk = [1 tk ]
de modo que la Ecuación (3.41) estará dada por
yk = Hk x + wk (3.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 (3.30) como sigue:
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 (3.43)

Ejemplo 3.5
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 concentració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 (3.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.
3.6. El filtro de Wiener 89

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 3.1.: Problema del tanque.

Se puede implementar el algoritmo recursivo de mı́nimos cuadrados dado en


las ecuaciones (3.30) para estimar las dos concentraciones. La Figura 3.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 estimación. Se puede observar que luego
de un conjunto de medidas los estimados se van acercando 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.

3.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 comunicacio-
nes, 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 pers-
pectiva 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 rui-
90 Capı́tulo 3. Estimación por mı́nimos cuadrados

do 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 ̸= 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.
∫ ∞
SX (ω) = RX (τ )e−jωτ dt
−∞
∫ ∞ (3.45)
1
RX (ω) = SX (τ )e dω
jωτ
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 reciente-
mente reconocido– planteado por Einstein en 1914) [Oppenheim and Verghese,
2010]. 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
PX (ω) = SX (ω)dω (3.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:
∫ ∞
SXY (ω) = RXY (τ )e−jωτ dt
−∞
∫ ∞
1
RXY (ω) = SXY (τ )ejωτ dω (3.47)
2π −∞

Definiciones similares son válidas para procesos aleatorios de tiempo discreto.


El espectro de potencia de un proceso aleatorio de tiempo discreto se define
3.6. El filtro de Wiener 91

como


SXY (ω) = RX (k)e−jωk ω ∈ [−π, π]
−∞
∫ ∞
1
RXY (ω) = SX (ω)ejkω dω (3.48)
2π −∞

Un proceso estocástico de tiempo discreto X(t) se denomina ruido blanco si

RX (ω) =σ 2 δk (3.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 ω ∈ [−π, π] (3.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 ω (3.51)

Sustituyendo esta expresión para SX (ω) en la Ecuación (3.45), se ve que para


el ruido blanco de tiempo continuo

RX (τ ) = RX (0)δ(τ ) (3.52)

donde δ(τ ) es la función de impulso de tiempo continuo. Es decir, δ(τ ) es la


función delta de Dirac.
Ejemplo 3.6
Supóngase que un proceso estocástico estacionario de media cero tiene la función
de autocorrelación
RX (τ ) = σ 2 e−β|τ | (3.53)
donde β es un número real positivo. El espectro de potencia se calcula de la
92 Capı́tulo 3. Estimación por mı́nimos cuadrados

Ecuación (3.45) como


∫ ∞
SX (ω) = σ 2 e−β|τ | e−jωτ dt
−∞
∫0 ∫ ∞
= 2 (β−jω)τ
σ e dτ + σ 2 e−(β+jω)τ dτ
−∞ 0
σ2 σ2
= +
β − jω β + jω
2σ 2 β
= 2 (3.54)
β + ω2
La varianza del proceso estocástico se calcula como
∫ ∞
1 2σ 2 β
E {X } =
2

2π −∞ β 2 + ω 2
[ ]∞
σ2β 1 −1 ω
= tan
π β β −∞
=σ 2
=RX (0) (3.55)

Ahora bien, para plantear el filtro de Wiener, se requiere responder la si-


guiente pregunta: ¿Cómo cambia el espectro de potencia de un proceso esto-
cá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) (3.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 + α) (3.57)

multiplicando las dos ecuaciones anteriores y escribiendo las convoluciones co-


mo integrales da
∫ ∫
y(t)y(t + α) = g(τ )x(t − τ )dτ g(γ)x(t + α − γ)dγ (3.58)
3.6. El filtro de Wiener 93

Tomando el valor esperado en ambos lados de la ecuación anterior da la auto-


correlación de y(t) como función de la autocorrelación de x(t):
∫ ∫
E {y(t)y(t + α)} = g(τ )g(γ)E {x(t − τ )x(t + α − γ)}dτ dγ (3.59)

lo cual se escribirá en notación abreviada como


∫ ∫
Ry (α) = g(τ )g(γ)Rx (α + τ − γ)dτ dγ (3.60)

Tomando la transformada de Fourier de la anterior ecuación:


∫ ∫ ∫ ∫
−jωα
Ry (α)e dα = g(τ )g(γ)Rx (α + τ − γ)e−jωα dτ dγdα (3.61)

Se define una nueva variable de integración β = α + τ − γ y se reemplaza α en


la ecuación anterior para obtener:
∫ ∫ ∫
Sy (ω) = g(τ )g(γ)Rx (β)e−jωβ e−jωγ e−jωτ dτ dγdβ

= G(−ω)G(ω)Sx (ω) (3.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) (3.63)

Estas cantidades están representadas en la Figura 3.2, de la cual se ve que


94 Capı́tulo 3. Estimación por mı́nimos cuadrados

Figura 3.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 (ω) (3.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 (3.62), se obtiene

Se (w) = [1 − G(w)][1 − G(−ω)]Sx (ω) − G(ω)G(−ω)Sv (ω) (3.65)

La varianza del error de estimación se obtiene de la Ecuación (3.45) como



1
E {e (t)} =
2
Se (ω)dω (3.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).

3.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
3.6. El filtro de Wiener 95

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(ω) = (3.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 (3.68)
Sv (ω) = A

En otras palabras, el ruido v(t) es blanco. De la Ecuación (3.65) se obtiene


( )( )( ) ( )( )
T jω −T jω 2σ 2 β 1 1
Sx (ω) = − A
1 + T jω 1 − T jω ω2 + β 2 1 + T jω 1 − T jω
(3.69)

Ahora se puede sustituir Se (ω) en la Ecuación (3.66) y derivar con respecto a


T para obtener

A
Topt = √ √ (3.70)
σ 2β − β A
Ejemplo 3.7
Si A = σ = β = 1 entonces la constante tiempo óptimo del filtro se calcula como
1
T =√ ≈ 2.4142
2−1
y el filtro óptimo está dado como
1 1/T
G(ω) = =
1 + T jω 1/T + jω
1 −t/T
g(t) = e t≥0
T
96 Capı́tulo 3. Estimación por mı́nimos cuadrados

Convirtiendo este filtro al dominio del tiempo resulta en


1
x̂˙ = (−x̂ + y)
T

3.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)

= x (t) − 2x(t) g(u)[x(t − u) + v(t − u)]du+
2

∫ ∫
+ g(u)g(γ)[x(t − u) + v(t − u)][x(t − v) + v(t − v)]dudγ
(3.71)

Aplicando el concepto del valor esperado a la Ecuación (3.71) se obtiene:



E {e (t)} = E {x (t)} − 2 g(u)Rx (u)du+
2 2

∫ ∫
+ g(u)g(γ)[Rx (u − v) + Rv (u − v)]dudγ (3.72)

Ahora se puede usar un enfoque del cálculo variacional [Weinstock, 1974] 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 per-
turbació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 (3.73)
∂ϵ ϵ=0
3.6. El filtro de Wiener 97

y ası́ resolver para hallar el valor de g(t) óptimo. De la Ecuación (3.72), se


puede escribir

Re (0) = Rx (0) − 2 [g(u) + ϵη(u)]Rx (u)du +
∫ ∫
[g(u) + ϵη(u)][g(γ) + ϵη(γ)][Rx (u − γ) + Rv (u − γ)]dudγ (3.74)

Tomando la derivada parcial con respecto a ϵ se obtiene


∫ ∫ ∫
∂Re (0)
= −2 η(u)Rx (u)du + [η(u)g(γ) + η(γ)g(u) + 2ϵη(u)η(γ)]×
∂ϵ
× [Rx (u − v) + Rv (u − γ)]dudγ

∂Re (0)
= −2 η(τ )Rx (τ )dτ +
∂ϵ ϵ=0
∫ ∫
η(τ )g(γ)[Rx (τ − γ) + Rv (τ − γ)]dτ dγ+
∫ ∫
η(τ )g(u)[Rx (u − τ ) + Rv (u − τ )]dτ du (3.75)

Para un proceso estocástico estacionario en sentido amplio x(t) se cumple que


Rx (τ − u) = Rx (u − τ ) [es decir, Rx (τ ) es par] [Papoulis, 1991]. En este caso,
la anterior ecuación puede escribirse como

0 = −2 η(τ )Rx (τ )dτ +
∫ ∫
2 η(τ )g(u)[Rx (u − τ ) + Rv (u − τ )]dτ du (3.76)

Esto da la condición necesaria para la optimalidad del filtro g(t) como sigue:
∫ [ ∫ ]
η(τ ) −Rx (τ ) + g(u)[Rx (u − τ ) + Rv (u − τ )]du dτ = 0 (3.77)

Se requiere resolver esta ecuación para g(t) y ası́ encontrar el filtro óptimo.
98 Capı́tulo 3. Estimación por mı́nimos cuadrados

3.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 (3.77) debe ser cero. Lo que resulta en


Rx (τ ) = g(u)[Rx (u − τ ) + Rv (u − τ )]du = g(τ ) ∗ [Rx (τ ) + Rv (τ )]

Sx (ω) = G(ω)[Sx (ω) + Sv (ω)]


Sx (ω)
G(ω) = (3.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 3.8
Considérese el sistema del Ejemplo 3.7 con A = β = σ = 1. El espectro de
potencia de la señal y del ruido están dados como

2
Sx (ω) =
ω2 +1
Sv (ω) = 1

De la Ecuación (3.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:
3.6. El filtro de Wiener 99

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).

3.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 (3.77) da

Rx (τ ) − g(u)[Rx (u − τ ) + Rv (u − τ )]du = 0, t≥0 (3.79)

La aplicación inicial de esta ecuación fue en el campo de la astrofı́sica en 1894


[Sen and Wilson, 1990]. Se pensaba que era imposible tener soluciones explı́ci-
tas 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 (3.79), se postula alguna función a(t) que es arbi-
100 Capı́tulo 3. Estimación por mı́nimos cuadrados

traria para t < 0, pero es igual a 0 para t ≥ 0. Entonces se obtiene



Rx (τ ) − g(u)[Rx (u − τ ) + Rv (u − τ )]du = a(τ )

Sx (ω) − G(ω)[Sx (ω) + Sv (ω)] = A(ω) (3.80)

Para facilitar la notación, se hace la siguiente definición

Sxv (ω) = Sx (ω) + Sv (ω) (3.81)

Entonces la Ecuación (3.80) queda como



Sx (ω) − G(ω)Sxv
+
(ω) + Sxv (ω) = A(ω) (3.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 (3.82) puede escribirse como

Sx (ω) A(ω)
+
G(ω)Sxv (ω) = −
− − (3.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,

+ Sx (ω)
G(ω)Sxv (ω) = parte causal de −
Sxv (ω)
[ ] (3.84)
1 Sx (ω)
G(ω) = + (ω)
parte causal de − (ω)
Sxv Sxv

Esto da la función de transferencia del filtro causal óptimo.

Ejemplo 3.9
Considérese el sistema discutido en el Ejemplo 3.8, con A = β = σ = 1.

Para este caso se tiene:


3.6. El filtro de Wiener 101

2
Sx (ω) =
ω2 +1
Sv (ω) = 1
ω2 + 3
Sxv (ω) =
ω2 + 1
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 (3.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.

3.6.5. Comparación
Comparando los tres ejemplos de diseño de filtro óptimo presentados en esta
sección (Ejemplos 3.7, 3.8 y 3.9), se puede demostrar que los valores esperados
de los errores cuadráticos medios de la filtro son las siguientes [Brown and
Hwang, 2012]:
Método de optimización de parámetros: E {e2 (t)} = 0.914
102 Capı́tulo 3. Estimación por mı́nimos cuadrados

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.

3.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 cons-
tante sobre la base de varias mediciones ruidosas de ese vector. De hecho, las
mediciones no tienen que ser medidas directas del vector constante, pero pue-
den 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.
Bibliografı́a

Brown, R. G. and Hwang, P. Y. C. (2012). Introduction to random signals and applied


Kalman filtering: with MATLAB exercises. 111 River Street, Hoboken, NJ 07030-5774.
USA, 4a edition.
Crassidis, J. L. and Junkins, J. L. (2012). Optimal Estimation of Dynamic Systems. 6000
Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742, USA., 2a edition.
Gelb, A. (2001). Applied Optimal Estimation. The MIT Press, Cambridge, MA, USA, 16a
impresión.
Grewal, M. S. and Andrews, A. P. (2008). Kalman Filtering: Theory and Practice Using
MATLAB. John Wiley & Sons, Inc., Hoboken, New Jersey, EE UU., 3a edition.
Kailath, T. (1981). Lectures on Wiener and Kalman Filtering. Springer–Verlag, New York,
USA.
Kalman, R. E. (1960). A new approach to linear filtering and prediction problems. Tran-
sactions of the ASME–Journal of Basic Engineering, 82(Series D): 35–45.
Oppenheim, A. V. and Verghese, G. C. (2010). Signals systems, and inference. Class Notes
6.011, Massachusetts Institute of Technology, Cambridge, MA, USA.
Papoulis, A. (1991). Probability, Random Variables, and Stochastic Processes. McGraw–Hill,
Inc.
Sen, K. K. and Wilson, S. J. (1990). Radiative transfer in curved media. World Scientific
Publishing Co. Pte. Ltd., 687 Hartwell Street, Teaneck, NJ 07666. USA.
Strang, G. (2006). Linear Algebra and its Applications. Thomson Corporation, Belmont,
CA, USA, 4a edition.
Weinstock, R. (1974). Calculus of Variations. With Applications to Physics and Engineering.
180 Varick Street, New York, N. Y. 10014. USA, 2a edition.

103
Capı́tulo 4

Filtro de Kalman discreto

4.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).

4.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 (4.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

105
106 Capı́tulo 4. Filtro de Kalman discreto

se toma el valor medio en ambos lados de la Ecuación (4.1) se obtiene

x̄k = E {xk } = Fk−1 x̄k−1 + Gk−1 uk−1 (4.2)

¿Cómo cambia con el tiempo la covarianza de xk ? Se pueden usar las ecuaciones


(4.1) y (4.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 )vk−1 + vk−1 (xk−1 − x̄k−1 )⊤ F⊤ k−1 (4.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 obtiene

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 . (4.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 (4.2) y (4.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 también es una constante. Entonces se tiene el siguiente teorema cuya
prueba se encuentra en [Kailath et al., 2000].
Teorema 4.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) ̸= 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 entonces todos sus autovalores son menores que uno en magnitud,
de modo que λi (F)λj (F) ̸= 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
4.2. Sistemas discretos en el tiempo 107

solución P que es única y simétrica. En este caso, la solución puede ser


escrita como


P= Fi Q(F⊤ )i (4.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.

Ahora se solucionará el sistema lineal de la Ecuación (4.1)


k−1
xk = Fk,0 x0 + (Fk,i+1 vi + Fk,i+1 Gi ui ) (4.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 (4.7)


0 k<i

Nótese de la Ecuación (4.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, enton-
ces xk , de la Ecuación (4.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
(4.2) y (4.4). Por lo tanto,

xk ∼ N (x̄k , Pk ). (4.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.
108 Capı́tulo 4. Filtro de Kalman discreto

Ejemplo 4.1
Considérese el sistema
[1 ]
2 0
xk+1 = x + vk
0 12
vk ∼ (0, Q)
[ ]
1 1
Q=
0 1

Usar la Ecuación (4.5) para encontrar la covarianza de estado estacionario del


vector de estado.

Solución:

La covarianza está dada por


∑ ∞ [1
∑ ][ ]i [ ]i
i ⊤ i 1 1 12 0
2 0
P= F Q(F ) = =
0 12 0 1 0 1
2
i=0 i=0
[ ] [1 1] [ 1 1
] [1 1
]
1 1
1 + ···
= + 4 4 + 16 16 64 64
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
=
0 1 4
i=0

La sumatoria infinita del miembro de la derecha corresponde a una serie geo-


métrica con razón r = 1/4,

( )i
1 − ri 1 − 14 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
4.2. Sistemas discretos en el tiempo 109

Ejemplo 4.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


(4.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 (4.10)
vk ∼ (0, Q) Q = diag(1, 2)

20
Población media

x
1
x
2
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 4.1.: Problema predador–presa.


Las ecuaciones (4.2) y (4.4) describen como cambian con el tiempo, la media
y la covarianza de la población. La Figura 4.1 muestra los valores promedios y
110 Capı́tulo 4. Filtro de Kalman discreto

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 positi-
va, entonces el Teorema 4.1 garantiza que P tiene una solución única de estado
estacionario definida positiva.

4.2.1. Procesos con ruido ponderado

En la Ecuación (4.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 ) (4.11)

¿Cómo se puede poner esto en la forma convencional de la Ecuación (4.1)?


Nótese que el término de la derecha de la Ecuación (4.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 (4.12)

Por lo tanto, la Ecuación (4.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) (4.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 ) (4.14)


4.3. Sistemas con datos muestreados 111

es equivalente a la ecuación de medición

yk = Hk xk + wk , wk ∼ (0, Mk Řk M⊤
k) (4.15)

4.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 (4.16)

Se sabe que la solución para x(t) en algún tiempo arbitrario tk , está dada por
∫ tk
A(tk −tk−1 )
x(tk ) = e x(tk−1 ) + eA(tk −τ ) [B(τ )u(τ ) + v(τ )]dτ (4.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 ) (4.18)
uk = u(tk )
∫ tk ∫ tk
A(tk −τ )
xk = e AT
xk−1 + e B(τ )dτ uk−1 + eA(tk −τ ) v(τ )dτ (4.19)
tk−1 tk−1

Ahora, si se define Fk y Gk como

Fk = eAT
∫ tk+1
(4.20)
Gk = eA(tk+1 −τ ) B(τ )dτ
tk
112 Capı́tulo 4. Filtro de Kalman discreto

entonces la Ecuación (4.19) queda


∫ tk
xk = Fk−1 xk−1 + Gk−1 uk−1 + eA(tk −τ ) v(τ )dτ (4.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 (4.22)

Se puede usar la ecuación anterior para obtener la covarianza de estado como

Pk = E {(xk − x̄k )(xk − x̄k )⊤ } =


{( ∫ )
tk
=E Fk−1 xk−1 + Gk−1 uk−1 + eA(tk −τ ) v(τ )dτ − x̄k ×
tk−1
( ∫ )⊤
tk 
Fk−1 xk−1 + Gk−1 uk−1 + eA(tk −τ ) v(τ )dτ − x̄k
tk−1 
( )(∫ )⊤
 ∫ tk tk 
= Fk−1 Pk−1 F⊤
k−1 + E eA(tk −τ ) v(τ )dτ eA(tk −τ )
v(τ )dτ
 tk−1 tk−1 
∫ ∫ tk

{ } ⊤
= Fk−1 Pk−1 Fk−1 + eA(tk −τ ) E v(τ )v⊤ (α) eA (tk −τ ) dτ dα (4.23)
tk−1

Ahora, si se asume que v(t) es ruido blanco de tiempo continuo con una cova-
rianza Qc (t), se ve que
{ }
E v(τ )v⊤ (α) = Qc (τ )δ(τ − α) (4.24)

Esto significa que se puede usar la propiedad de filtrado de la función impulso


para escribir la Ecuación (4.23) como
∫ tk
⊤ ⊤
Pk = Fk−1 Pk−1 Fk−1 + eA(tk −τ ) Qc (τ )eA (tk −τ ) dτ
tk−1

= Fk−1 Pk−1 F⊤
k−1 + Qk−1 (4.25)
4.3. Sistemas con datos muestreados 113

donde Qk−1 está definida por


∫ tk

Qk−1 , eA(tk −τ ) Qc (τ )eA (tk −τ ) dτ (4.26)
tk−1

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 ]


(4.27)
Qk−1 ≈ Qc (tk )T

Ejemplo 4.3
Supóngase que se tiene un sistema dinámico de tiempo continuo de primer orden
dado por la ecuación
ẋ = ax + v
(4.28)
E {v(t)v(t + τ )} = qc δ(τ )
Para describir la mayorı́a de los procesos fı́sicos simples se puede emplear ecuacio-
nes 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 aleato-
ria 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 (4.26) como
∫ tk
Qk−1 = ea(tk −τ ) qc ea(tk −τ ) dτ
tk−1
∫ tk
=e 2atk
qc e−2aτ dτ
tk−1
[ −2atk−1 ]
2atk e − e−2atk
=e qc
2a

qc [ 2a(tk −tk−1 ) ]
= e −1
2a
qc [ 2aT ]
Qk−1 = e −1 (4.29)
2a
Para valores pequeños de T, se puede expandir la ecuación anterior en una serie
114 Capı́tulo 4. Filtro de Kalman discreto

de Taylor alrededor de T = 0, para obtener


qc [ 2aT ]
Qk−1 = e −1
2a [( ) ]
qc (2aT)2
= 1 + 2aT + + ··· − 1
2a 2!
qc
Qk−1 ≈ [1 + 2aT − 1]
2a
= qc T
Esto coincide con la Ecuación (4.27), la cual establece que si T es pequeño en-
tonces Qk−1 ≈ qc T. El valor medio del estado muestreado se calcula de la Ecua-
ción (4.22) (nótese que la entrada de control en la Ecuación (4.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 independien-
temente del valor de x̄0 . La covarianza del estado muestreado se calcula de la
Ecuación (4.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 puede ver que Pk alcanza el estado estacionario (es


qc
decir, Pk − Pk−1 = 0) cuando Pk−1 = − , suponiendo que a < 0. Por otro
2a
parte, si a ≥ 0 entonces Pk − Pk−1 siempre será mayor que 0, lo cual significa que
lı́m Pk −→ ∞.
k→∞

Ejemplo 4.4
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 [Kwakernaak
4.3. Sistemas con datos muestreados 115

and Sivan, 1972]. La ecuación linealizada para este sistema se puede escribir como
[ ] [ ]
− 2V
F0
0 1 1
ẋ = 0 x + c1 −c0 c2 −c0 u + v (4.30)
0 − FV00 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 (4.26) para calcular Qk−1 .

2. Usar la Ecuación (4.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 (4.25) para calcular la covarianza del estado estaciona-


rio del estado en función de T.

Solución:

Insertando los valores dados en la Ecuación (4.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:

∫ tk
⊤ (t −τ )
Qk−1 = eA(tk −τ ) Qc eA k

tk−1
∫ tk
⊤τ ⊤t
=e Atk
· e−Aτ Qc e−A dτ · eA k
(4.31)
tk−1

Para el cálculo de eAt lo más conveniente es aplicar el método de la transformada


116 Capı́tulo 4. Filtro de Kalman discreto

de Laplace [Åström and Wittenmark, 1997]. Entonces


([ ] [ ])−1 ([ ])−1
s 0 −1 0 s+1 0
(sI − A)−1 = − =
0 s 0 −2 0 s+2
[ 1 ]
0
= s+1 1
0 s+2

Por lo tanto, la matriz exponencial estará dada por


[ −t ]
−1 −1 e 0
e = L {(sI − A) } =
At
0 e−2t

Sustituyendo este resultado, con los ajustes correspondientes, en la Ecuación


(4.31) se obtiene:

∫ tk
⊤ (t −τ )
Qk−1 = eA(tk −τ ) Qc eA k

tk−1
[ ] ∫ tk [ τ ][ ][ ] [ −t ]
e−tk 0 e 0 2 3 eτ 0 e k 0
= −2t dτ ·
0 e k tk−1 0 e 2τ 3 5 0 e 2τ
0 e−2tk
[ −t ] ∫ tk [ 2τ ] [ ]
e k 0 2e 3e3τ e−tk 0
= −2t dτ ·
0 e k tk−1 3e 3τ 5e 4τ 0 e−2tk
[ −t ] [ 2τ ]t [ −t ]
e k 0 e e3τ k 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 ) 54 (1 − e−4(tk −tk−1 ) )

Finalmente se llega a
[ ]
1 − e−2T 1 − e−3T
Qk−1 = (4.32)
1 − e−3T 4 (1 − e
5 −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 (4.27), o sea


[ ]
2T 3T
Qk−1 ≈ Qc T =
3T 5T

3. Para este caso se puede aplicar la Ecuación (4.32) haciendo el desarrollo de


4.4. Deducción del filtro de Kalman discreto 117

potencias de las exponenciales:


[ 2
]
(2T)3 2 3
1 − (1 − 2T + (2T)
2! 2 + 3! 3 + · · · ) 1 − (1 − 3T + (3T) (3T)
2! 2 + 3! 3 + · · · )
Qk−1 =
1 − (1 − 3T + (3T) (3T)
2! + 3! + · · · )
(4T) (4T)
4 (1 − (1 − 4T + 2! + 3! + · · · ))
5

Para valores pequeños de T las potencias de orden superior de T se pueden des-


preciar, lo cual da un valor aproximado para Qk−1 , igual al de la parte (2.).

4. En estado estacionario la Ecuación (4.25) se puede escribir como:

P = Fk−1 PF⊤
k−1 + Qk−1 (4.33)
Efectuando la multiplicación e igualando los elementos individuales de las matrices
en el lado derecho e izquierdo de esta ecuación da
P11 = e−2T P11 + 2T
P12 = e−3T P12 + 3T
P22 = e−4T P22 + 5T
Resolviendo estas ecuaciones se llega a
2T
P11 =
1 − e−2T
3T
P12 =
1 − e−3T
5T
P22 =
1 − e−4T

4.4. Deducción del filtro de Kalman discreto


Como se verá más adelante el filtro de Kalman funciona mediante la propaga-
ció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
118 Capı́tulo 4. Filtro de Kalman discreto

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


(4.34)
yk = H k xk + w k

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 vj⊤ } = Qk δk−j (4.35)
E {wk wj⊤ } = Rk δk−j
E {vk wj⊤ } = E {wk vj⊤ } = 0

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̂+ (4.36)

Si se tienen todas las medidas anteriores pero sin incluir el instante k disponi-
ble, para uso en la obtención del estimado de xk , entonces se puede conformar
4.4. Deducción del filtro de Kalman discreto 119

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 (4.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,
+ (4.38)
x̂k = estimado de xk después que se procese la medida en el instante k.

Si se tienen medidas disponibles después del instante k para usar en el esti-


mado 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 (4.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 (4.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 4.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 no se tiene ninguna medida disponible para
120 Capı́tulo 4. 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 4.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 supo-
ne 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 estima-
ció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.

estimar x0 , es razonable tomar x̂+


0 como el valor esperado del estado inicial x0 :

0 = E {x0 }
x̂+ (4.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 Pk la covarianza del
+
error de estimación de x̂k :

P− − − ⊤
k = E {(xk − x̂k )(xk − x̂k ) },
+ ⊤
(4.42)
k = E {(xk − x̂k )(xk − x̂k ) }.
P+ +

Estas relaciones se explican en la Figura 4.3. La figura muestra que una vez
hecha la medida en el instante (k − 1) se obtiene un estimado de xk−1 (defini-
do como x̂+ k−1 ) y la covarianza del error de estimación (definida como Pk−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 deno-
ta como x̂+ +
k y su covarianza como Pk . 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 {x1 }. Pero nótese que x̂+
0 = E {x0 },
4.4. Deducción del filtro de Kalman discreto 121

Figura 4.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.

y recuérdese de la Ecuación (4.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 (4.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 (4.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 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 tempo-
ral 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 perfec-
tamente el estado inicial, entonces P+ 0 = 0. Si no se tiene idea en absoluto del
valor de x0 , entonces P0 → ∞I. En general, P+
+
0 representa la incertidumbre
122 Capı́tulo 4. Filtro de Kalman discreto

en el estimado inicial de x0 :

0 = E {(x0 − x̄0 )(x0 − x̄0 ) }
P+
+ ⊤
(4.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 (4.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 (4.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 (4.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
+
xk 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 3.4, que la dis-
ponibilidad de la medida yk cambia el estimado de un vector constante x, de
acuerdo al conjunto de ecuaciones (3.30), que aquı́ se repiten por comodidad:

Kk = Pk−1 H⊤ ⊤
k (Hk Pk−1 Hk + Rk )
−1
= Pk H⊤ −1
k Rk
x̂k = x̂k−1 + Kk (yk − Hk x̂k−1 )
(4.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
4.4. Deducción del filtro de Kalman discreto 123

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 4.1. Ahora se puede

Tabla 4.1.: Relaciones entre las estimaciones y las covarianzas de las secciones
3.4 y 4.4.
Estimación por mı́nimos cuadrados Filtro de Kalman
x̂k−1 = estimación antes de procesar yk ⇒ x̂−
k = estimado a prior i
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 posterior i
Pk = covarianza después de procesar yk ⇒ P+k = covarianza a posteriori

generalizar, a partir de las fórmulas para el cálculo de la estimación de una


constante de la Sección 3.4, las ecuaciones de actualización de la medición,
requeridas en esta sección. En las ecuaciones (4.48), se reemplaza x̂k−1 con x̂−
k
y Pk−1 con P− + +
k , x̂k con x̂k y Pk con Pk . Esto resulta en

Kk = P− ⊤ − ⊤
k Hk (Hk Pk Hk + Rk )
−1
= P+ ⊤ −1
k Hk Rk
− −
k = x̂k + Kk (yk − Hk x̂k )
x̂+
− ⊤ ⊤ (4.49)
k = (I − Kk Hk )Pk (I − Kk Hk ) + Kk Rk Kk
P+
= [(P−
k)
−1
+ H⊤ −1
k Rk Hk ]
−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 ecua-


ciones 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


(4.50)
yk = H k xk + w k
124 Capı́tulo 4. Filtro de Kalman discreto

Mientras que las perturbaciones están relacionadas por:

E {vk vj⊤ } = Qk δk−j


E {wk wj⊤ } = Rk δk−j (4.51)
E {vk wj⊤ } = 0

Algoritmo 4.1 Filtro de Kalman discreto.


Inicialización:

0 = E {x0 }
x̂+
+ ⊤
(4.52)
0 = E {(x0 − x̂0 )(x0 − x̂0 ) }
P+ +

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
(4.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 Hk Rk
− −
k = x̂k + Kk (yk − Hk x̂k ) = estado estimado a posteriori
x̂+
− ⊤ ⊤
(4.54)
k = (I − Kk Hk )Pk (I − Kk Hk ) + Kk Rk Kk
P+
= [(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 estabiliza-
da 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 P−k es simétrica definida positiva.
+
La tercera expresión para Pk es computacionalmente más simple que
4.4. Deducción del filtro de Kalman discreto 125

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á escri-
ta, pero será útil en la deducción del denominado filtro de información.
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 P+ k , 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 (4.49) se reduce al algoritmo re-
cursivo de mı́nimos cuadrados para la estimación de un vector constante
como en la Ecuación (3.30).
Un aspecto práctico importante del filtro de Kalman. Del Algoritmo 4.1,
se puede notar que el cálculo de P− +
k , Kk y Pk no dependen de las medi-
ciones 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 en-
tre 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.
Desde este punto de vista las ecuaciones que se utilizan para derivar el filtro de
Kalman se pueden dividir en dos grupos: las que actualizan el tiempo o ecua-
ciones 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 esta-
do en el instante k tomando como referencia el estado en el instante k − 1 y de
126 Capı́tulo 4. Filtro de Kalman discreto

Figura 4.4.: El ciclo del filtro de Kalman.

la actualización intermedia de la matriz de covarianza del estado. El segundo


grupo de ecuaciones son responsables de la retroalimentación, es decir, incor-
poran 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 tiem-
po pueden también ser pensadas como ecuaciones de pronóstico (predicción),
mientras que las ecuaciones que incorporan nueva información pueden conside-
rarse como ecuaciones de corrección. Efectivamente, el algoritmo de estimación
final puede definirse como un algoritmo de pronóstico–corrección para resol-
ver 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 in-
certidumbre y corregir la proyección con la nueva medida. Este ciclo se muestra
en la Figura 4.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.

4.5. Propiedades del filtro de Kalman


En esta sección se resumen algunas de las propiedades interesantes e importan-
tes del filtro de Kalman. Supóngase que se tiene el sistema lineal de la Ecuación
4.5. Propiedades del filtro de Kalman 127

(4.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 (4.55)

Debido a que el estado está determinado parcialmente por el proceso estocás-


tico {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 } (4.56)

donde Sk es una matriz de ponderación definida positiva, establecida por el di-


señ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 co-
rrelacionados, 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.
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 mo-
dificar el filtro de Kalman para resolver el problema anterior. Esto se
mostrará en el Capı́tulo 6.
Para sistemas no lineales, varias formulaciones de filtros de Kalman no li-
128 Capı́tulo 4. Filtro de Kalman discreto

neales se aproximan a la solución del problema anterior. Esto se discutirá


en el Capı́tulo 8.
Del Algoritmo 4.1, tomando la ecuación de corrección de la medida, es decir,
− −
k = x̂k + Kk (yk − Hk x̂k ),
x̂+ (4.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 blan-
quea la medición y, por lo tanto, extrae la máxima cantidad posible de
información de la medida. Esto fue propuesto inicialmente en [Kailath,
1968].
Cuando se utiliza un filtro de Kalman para estimación de estados, las in-
novaciones pueden medirse y su media y su covarianza se pueden aproxi-
mar usando métodos estadı́sticos. Si la media y la covarianza de las in-
novaciones no son como se esperaban, significa que algo anda mal con el
filtro. Quizá el modelo asumido del sistema es incorrecto, o las estadı́sti-
cas 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 realimen-
tació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 interpre-
tadas 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 de media cero y blanca con
covarianza (Hk P− ⊤
k Hk + Rk ) [Gibbs, 2011]. De hecho, el filtro de Kalman en
4.5. Propiedades del filtro de Kalman 129

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.

4.5.1. Ecuaciones del filtro de Kalman de un paso


En esta subsección, se verá cómo 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 ecuaciones. Empezando con la expresión de estimación de
estado a priori de las ecuaciones (4.53), con el ı́ndice de tiempo incrementado
en uno:

x̂− +
k+1 = Fk x̂k + Gk uk (4.58)

Ahora, tomando la expresión a posteriori para x̂+


k de las ecuaciones (4.54) y
sustituyendo en la ecuación anterior se obtiene

x̂− − −
k+1 = Fk [x̂k + Kk (yk − Hk x̂k )] + Gk uk
(4.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 (4.53), con el ı́ndice de
tiempo incrementado en uno:

P− + ⊤
k+1 = Fk Pk Fk + Qk (4.60)

Ahora se toma la expresión para P+


k de la Ecuación (4.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 (4.61)

Esta ecuación, llamada ecuación discreta de Riccati, muestra como P− k+1 se


− +
puede calcular sobre la base de Pk sin un cálculo intermedio de Pk . Se pueden
realizar manipulaciones similares para obtener expresiones de un solo paso para
130 Capı́tulo 4. Filtro de Kalman discreto

la estimación a posteriori de los estados y la covarianza. Esto resulta en

k = (I − Kk Hk )(Fk−1 x̂k−1 + Gk−1 uk−1 ) + Kk yk


x̂+ +


(4.62)
k = (I − Kk Hk )(Fk−1 Pk−1 Fk−1 + Qk−1 )
P+ +

Se pueden plantear muchas maneras diferentes de combinar las dos expresiones


de Kk y las tres expresiones de P+k en las ecuaciones (4.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 4.5
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

La versión discretizada de este sistema (con tiempo de muestreo T) puede es-


cribirse como
xk+1 = Fxk
donde F está dada por
A2 T2
F = eAT = I + AT + + ···
2!
es decir,
[ ] [ ] [ ]  
1 0 0 0 1 0 0 0 1 T2 1 2
1 T 2T
F= 0 1 0 + 0 0 1 T+ 0 0 0 = 0 1 T .
0 0 1 0 0 0 0 0 0 2 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


4.5. Propiedades del filtro de Kalman 131

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 (4.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
p11,k p−
12,k p13,k 1 p11,k p−
12,k p13,k 1
Kk = p− − − 
21,k p22,k p23,k 0 [1 0 0]p− − − 
21,k p22,k p23,k 0 + σ2
p− − −
31,k p32,k p33,k
0 p− − −
31,k p32,k p33,k
0

 −   − 
p11,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 (4.54) como


− −
k = Pk − Kk Hk Pk
P+
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−
11,k p11,k 0 0
− 1  p−  − − 1 p−  −
k = Pk − −
P+ 2 12,k [1 0 0] Pk = Pk − − 2 12,k 0 0 Pk
p11,k + σ p11,k + σ
p−
13,k p−
13,k 0 0
 − − −   − 2 − 
p11,k p12,k p13,k (p11,k ) − −
p11,k p12,k p− 11,k p13,k
1
= p− − − 
12,k p22,k p23,k − − 2
p− −
11,k p12,k (p−12,k )
2 p− − 
12,k p13,k
p + σ
p− − −
13,k p23,k p33,k
11,k p− − − −
11,k p13,k p12,k p13,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.
132 Capı́tulo 4. Filtro de Kalman discreto

3500
P−2

Estimación de la varinza del error de posición


3000
P−
− 3
P1
2500
P−4
2000
P−5

1500

1000

P+ P+ P5
+
3 4
500
P+2
P+ +
P1
0 0
0 1 2 3 4 5
Pasos de tiempo

Figura 4.5.: Los primeros cinco pasos de las varianzas en la estimación del
error a priori y a posteriori del Ejemplo 4.5.
Puesto que la matriz de covarianza es simétrica, entonces, de la Ecuación (??)
se puede ver que la traza de P+k , está dada como

( ) ( ) ( )
(p−
11,k )
2 (p−
12,k )
2 (p−
13,k )
2
Tr(P+
k) = p− − + p− − + p− −
11,k
p−
11,k + σ
2 22,k
p−
11,k + σ
2 33,k
p−
11,k + σ
2

(p− 2 − 2 −
11,k ) + (p12,k ) + (p13,k )
2
= Tr(P−
k) − (4.63)
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 tra-

za 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 uni-
dades. La Figura 4.5 muestra la varianza de la estimación de la posición (p− 11,k
y p+
11,k ) para los primeros cinco pasos de tiempo del filtro Kalman. Se puede ob-
servar 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.
4.5. Propiedades del filtro de Kalman 133

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 4.6.: Los primeros sesenta pasos de las varianzas del error de estima-
ción a priori y a posteriori del Ejemplo 4.5.

Error de medición
Error de estimation

10 20 30 40 50 60
Pasos de tiempo

Figura 4.7.: El error de medición y el error de estimación de la posición en


el Ejemplo 4.5.
La Figura 4.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
134 Capı́tulo 4. Filtro de Kalman discreto

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 4.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.

4.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
[Grewal and Andrews, 2008] 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 (4.53) y (4.54), las expresiones de actualización


para la covarianza del error de estimación:

P− + ⊤
k = Fk−1 Pk−1 Fk−1 + Qk−1 (4.64)
P+
k = P−
k − P− ⊤ − ⊤
k Hk (Hk Pk Hk
−1
+ Rk ) H k P−
k

Si la matriz P−
k ∈ R
n×n
se factoriza como

P− −1
k = Ak Bk (4.65)

donde Ak y Bk son matrices Rn×n a ser determinadas, entonces P−


k+1 satisface

P− −1
k+1 = Ak+1 Bk+1 (4.66)

en la que A y B se propagan de la siguiente manera:


[ ] [ ][ ] [ ⊤ −1 ][ ]
Ak+1 Qk I F−⊤ k 0 Hk Rk Hk I Ak
= (4.67)
Bk+1 I 0 0 Fk I 0 Bk
4.5. Propiedades del filtro de Kalman 135

Realizando los productos indicados se llega a


[ ] [ −⊤ ] [ ]
Ak+1 Fk + Qk F−⊤ ⊤ −1
k Hk Rk Hk Qk Fk Ak
= (4.68)
Bk+1 F−⊤ ⊤ −1
k Hk Rk Hk F−⊤
k Bk

La demostración de la relación (4.66) puede obtenerse a partir de la Ecuación


(4.68) 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 (4.69)

De la Ecuación (4.68) 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 ]
× [H⊤ −1 −1 −1 ⊤
k Rk Hk Ak Bk + I] Fk (4.70)

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
= F k P− ⊤ −1 − −1 ⊤
k [Hk Rk Hk Pk + I] Fk + Qk (4.71)

Aplicando el lema de inversión de matrices para el término entre corchetes 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 Fk + Qk
= P−
k+1 (4.72)
136 Capı́tulo 4. Filtro de Kalman discreto

Por lo tanto, queda demostrado que Ak+1 B−1 −


k+1 = Pk+1 .
Se puede utilizar la Ecuación (4.68) 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 (4.68) se obtiene
[ ] [ ][ ] [ ]
Ak+1 F + QF−⊤ H⊤ R−1 H QF−⊤ Ak Ak
= −⊤ ⊤ −1 −⊤ =Ψ (4.73)
Bk+1 F H R H F Bk Bk

Donde, como se puede observar


[ ]
F + QF−⊤ H⊤ R−1 H QF−⊤
Ψ= (4.74)
F−⊤ H⊤ R−1 H F−⊤

Teniendo en cuenta el hecho de que A1 = P− 1 y B1 = I, satisface la factoriza-


ción original de la Ecuación (4.65), se obtiene sucesivamente:
[ ] [ −] [ ] [ ] [ −] [ ] [ ] [ −]
A2 P1 A3 A2 2 P1 A4 A3 3 P1
=Ψ ; =Ψ =Ψ ; =Ψ =Ψ
B2 I B3 B2 I B4 B3 I
(4.75)

De aquı́ se tiene por inducción para el instante k:


[ ] [ −]
Ak k−1 P1
=Ψ (4.76)
Bk I

Ahora se puede elevar Ψ sucesivamente a potencias de dos un total de p veces


p
para obtener Ψ2 , Ψ4 , Ψ8 , etc, hasta que Ψ2 converja a un valor de estado
estacionario:
[ ] [ −]
A∞ 2 p P1
≈Ψ para p grande (4.77)
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 (4.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
4.5. Propiedades del filtro de Kalman 137

K∞ = P − ⊤ − ⊤ −1
∞ H (HP∞ H + R) , la ganancia del filtro de Kalman en estado
estacionario.

Sistemas escalares

Se puede usar la Ecuación (4.68) 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 (4.68) se
obtiene
[ ] [ 2
][ ] [ ]
Ak+1 F + HF RQ Q
F
Ak Ak
= H 2 1
=Ψ (4.78)
Bk+1 FR F
Bk Bk

donde Ψ está definido como en la Ecuación (4.73). 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
[ ]
λ1 0
Ψ=M M−1 (4.79)
0 λ2

Nótese la secuencia
[ ] [ ] [ 2 ]
λ1 0 −1 λ1 0 −1 λ1 0
2
Ψ =M M ×M M =M M−1
0 λ2 0 λ2 0 λ22
[ 2 ] [ ] [ 3 ]
λ1 0 −1 λ1 0 −1 λ1 0
3
Ψ =M M ×M M =M M−1
0 λ22 0 λ2 0 λ32

[ ]
λk1 0
k
Ψ =M M−1 (4.80)
0 λk2

Entonces la Ecuación (4.76) se puede escribir como


[ ] [ −] [ k−1 ] [ −]
Ak k−1 P1 λ1 0 −1 P1
=Ψ =M M (4.81)
Bk I 0 λ2k−1 I
138 Capı́tulo 4. Filtro de Kalman discreto

Realizando los cálculos correspondientes para encontrar λ1 y λ2 y M, se ob-


tiene:
µ1
λ1 =
2F R
µ2
λ2 =
2F R
µ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) − ϱ
√ √ (4.82)
ϱ = H 2 Q + R(F + 1)2 H 2 Q + R(F − 1)2
[ ν1 ν2 ]
M = 2H 2 2H 2
1 1
[ ]
−1 1 2RH 2 −ν1
M =
ν1 (R − 1) + 2ϱ −2RH 2 Rν1
2 − 2 −
1 (2RH P1 − ν2 ) − ν2 µ2 (2H P1 − ν1 )
ν1 µk−1 k−1
Pk− = 2 − 2 −
1 (2RH P1 − ν2 ) − 2H µ2 (2H P1 − ν1 )
2H 2 µk−1 2 k−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, µk2 se hace más pequeño con respecto a µk1 .
Por lo tanto,
2 − 2 −
1 (2RH P1 − ν2 ) − ν2 µ2 (2H P1 − ν1 )
ν1 µk−1 k−1
lı́m Pk− = lı́m
k→∞ k→∞ 2H 2 µk−1 (2RH 2 P − − ν2 ) − 2H 2 µk−1 (2H 2 P − − ν1 )
1 1 2 1
2 −
ν1 µ1 (2RH P1 − ν2 )
k−1
= lı́m
k→∞ 2H 2 µk−1 (2RH 2 P − − ν2 )
1 1
ν1
= (4.83)
2H 2
Esto da la covarianza de estado estacionario para un sistema escalar.
4.5. Propiedades del filtro de Kalman 139

Ejemplo 4.6
Propagación de una covarianza escalar. Considérese el siguiente sistema escalar:
xk+1 = xk + vk
y k = x k + 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 direc-
tamente. El término de 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 (4.82) da

µ1 = 3 + 5

µ2 = 3 − 5

ν1 = 1 + 5

ν2 = 1 − 5
− −
1 (2P1 − ν2 ) − ν2 µ2 (2P1 − ν1 )
ν1 µk−1 k−1
Pk− = − −
1 (2P1 − ν2 ) − 2µ2 (2P1 − ν1 )
2µk−1 k−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 (4.54) para encontrar el valor de estado estacio-
nario de Kk :

Kk = Pk− Hk⊤ (Hk Pk− Hk⊤ + Rk )−1


Pk−
= −
Pk + 1
ν1
K∞ = ν1
2( 2 + 1)
ν1
=
ν1 + 2

1+ 5
= √
3+ 5
= 0.6180 ≈ 0.62
140 Capı́tulo 4. Filtro de Kalman discreto

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 4.8.: Covarianza del error de estimación y ganancia de Kalman en


función del tiempo. Ambas convergen a valores de estado esta-
cionario.

La Figura 4.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 escogencia
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 metodo-
logı́a supone que la aritmética del filtro de Kalman tiene precisión infinita. En
4.5. Propiedades del filtro de Kalman 141

microprocesadores digitales la aritmética tiene precisión finita, solamente una


cierta cantidad 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 co-
noce 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 implemen-
taciones 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: P = (P + P⊤ )/2.
Inicializar P apropiadamente para evitar cambios grandes en el mismo.
Usar un filtro con memoria de desvanecimiento.
Usar ruido de procesos ficticios (especialmente para estimación de cons-
tantes).

Ejemplo 4.7
A continuación se va a ilustrar el uso de ruido de un proceso ficticio. 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
(4.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 (4.54) se obtienen las ecuaciones del filtro de
142 Capı́tulo 4. Filtro de Kalman discreto

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
(4.85)
x̂− + +
k = Fk−1 x̂k−1 = x̂k−1
− − − −
k = x̂k + Kk (yk − Hk x̂k ) = x̂k + Kk (yk − x̂k )
x̂+
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.
Q=0
600
Estado verdadero
Estado estimado
500

400

300

200

100

0
0 10 20 30 40 50
Tiempo

Figura 4.9.: Divergencia del filtro de Kalman debido al mal modelado de un


proceso.
La Figura 4.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.
4.5. Propiedades del filtro de Kalman 143

Sin embargo, si se añade ruido al proceso ficticio para el filtro de Kalman, el


filtro hará más hincapié en las medidas, lo que mejorará el desempeño del filtro.

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 4.10.: Mejora del filtrado de Kalman debido a ruido ficticio en el


proceso.
La Figura 4.10 muestra el estado verdadero y el estado estimado cuando se
utilizan diferentes valores de Q en el filtro de Kalman.

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 4.11.: Ganancia de Kalman para varios valores del ruido del proceso.

A medida que el ruido del proceso ficticio se hace más grande, el error de estima-
144 Capı́tulo 4. Filtro de Kalman discreto

ción se hace más pequeño. Por supuesto, esto es al precio de empeorar el desem-
peñ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 del proceso fic-
ticio para compensar el desempeño bajo condiciones nominales de mal modelado.
La Figura 4.11 muestra la evolución temporal de la ganancia de Kalman Kk
en 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 (4.85)]. Esto compensa los errores de modelado. También téngase en
cuenta en la Figura 4.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, enton-
ces 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 filtro de Kalman, se necesita
balancear la confianza en el modelo (bajo nivel de ruido resulta en un seguimiento
cercano del modelo, es decir, bajo ancho de banda) con una autoduda saludable
(alto ruido resulta en mayor capacidad de respuesta del filtro, es decir, alto ancho
de banda).

Un examen a las ecuaciones del filtro muestra por qué la adición de ruido al
proceso ficticio compensa los errores de modelado. Recordando las ecuaciones
del filtro de Kalman, (4.53) y (4.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 (4.86)
− −
k = x̂k + Kk (yk − Hk x̂k )
x̂+

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 (4.61), la cual muestra la ecuación de un
solo paso para Pk− :

Pk+1 = Fk Pk− Fk⊤ − Fk Kk Hk Pk− Fk⊤ + Qk (4.87)
4.6. Resumen 145

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 (4.86). Un valor de cero para Kk significa que la ecuación
de actualización de medición (4.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.
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 (4.86), incluirá un mayor énfasis en la medición; es decir, el filtro
prestará más atención a las medidas.

4.6. Resumen
En este capı́tulo, se ha presentado la esencia del filtro Kalman en tiempo dis-
creto. 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 adecua-
damente si las suposiciones subyacentes no se mantienen. Para esta situación
se mencionaron brevemente algunas formas de compensar los supuestos viola-
dos. En los capı́tulos siguientes se expandirán y generalizarán los resultados
presentados en éste.
Bibliografı́a

Gibbs, B. P. (2011). Advanced Kalman filtering, least-squares and modeling. John Wiley &
Sons, Inc., Hoboken, New Jersey, EE UU.
Grewal, M. S. and Andrews, A. P. (2008). Kalman Filtering: Theory and Practice Using
MATLAB. John Wiley & Sons, Inc., Hoboken, New Jersey, EE UU., 3a edition.
Kailath, T. (1968). An innovations approach to least-squares estimation: Part 1. linear
filtering in additive white noise. IEEE Trans. Autom. Control, AC-13(6): 646–655.
Kailath, T., Sayed, A., and Hassibi, B. (2000). Linear Estimation. Upper Saddle River, New
Jersey, USA.
Kwakernaak, H. and Sivan, R. (1972). Linear Optimal Control Systems. John Wiley & Sons,
Inc., New York, USA.
Åström, K. J. and Wittenmark, B. (1997). Computer-Controlled Systems: Theory and De-
sign. Prentice Hall Information and System Sciences, 3a edition.

147
Capı́tulo 5

Formas alternas del filtro de


Kalman

5.1. Introducción

E n este capı́tulo se analizarán algunos modos alternos de presentar las ecua-


ciones 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 ecua-
ciones del filtro de Kalman, y las ecuaciones pueden parecer completamente
diferentes. Usted no puede saber si una de las ecuaciones tiene un error tipo-
grá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 equiva-
lentes) a las ecuaciones derivadas en el Capı́tulo 4. En este capı́tulo también
se ilustran sus ventajas y desventajas.

5.2. Filtrado de raı́z cuadrada


En los primeros dı́as del filtrado de Kalman surgieron problemas debido a
dificultades numéricas, sobre todo en su implementación. La solución de la
ecuación de Riccati Pk podrá teóricamente ser siempre una matriz semidefini-
da positiva, pero problemas numéricos en implementaciones computacionales

149
150 Capı́tulo 5. Formas alternas del filtro de Kalman

algunas veces conducen a matrices Pk que pueden ser indefinidas o no simétri-


cas. Esto fue a menudo debido a las longitudes de palabra muy cortas en los
computadores de la década de 1960 [Schmidt, 1981]. 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 po-
drı́a ser debido a las discrepancias en las unidades de 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á disponi-
ble. Quizá el primer algoritmo de la raı́z cuadrada fue desarrollado por James
Potter para el programa espacial Apolo de la NASA [Battin, 1964]. 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 ma-
nipulación de procesos ruidosos en [Andrews, 1968], [Dyer and McReynolds,
1969] y se generalizó en dos modos diferentes para manipular medidas vecto-
riales en [Bellantoni and Dodge, 1967] y [Andrews, 1968]. 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 [Kaminski et al., 1971a]. En [Martin and Kailath,
1975] 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⊤ ) (5.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
5.2. Filtrado de raı́z cuadrada 151

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 (5.2)
σmin (P)

Algunos autores usan definiciones alternas para número de condición, por ejem-
plo, 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 de Kalman, la matriz
{ 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 (5.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 otros elementos de x. Por ejemplo,
supóngase que
[ 6 ]
10 0
(5.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 (5.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
152 Capı́tulo 5. Formas alternas del filtro de Kalman

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.

Algoritmo 5.1 Algoritmo de Cholesky para raı́z cuadrada de matrices.


Cómputo:
for i = 1 to n do
√ ∑
γii = pii − i−1 2
j=1 γij

for j = 1 to n do
γji = 0 j<i
1 ( ∑ )
γji = pji − i−1 γ γ
k=1 jk ik j>i
γii
end for
end for

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 defi-
nida positiva simétrica entonces siempre tendrá una raı́z cuadrada [Golub and
Van Loan, 1996; Moon and Stirling, 2000]. 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 posi-
tiva 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. Los algoritmos para raı́z cuadrada de matrices fueron dados por
Cholesky [Faddeev and Faddeeva, 1963]. El Algoritmo 5.1 calcula la matriz Γ
tal que P = ΓΓ⊤ para una matriz Pn×n .
Esta es llamada la factorización de Cholesky y resulta en una matriz Γ tal
que P = ΓΓ⊤ . 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.
5.2. Filtrado de raı́z cuadrada 153

Ejemplo 5.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 = (p21 ) = 2
γ11
1
γ31 = (p31 ) = 3
γ11
Para i = 2, el algoritmo dice que
γ12 = 0
√ √
∑1 √
γ22 = p22 − 2 =
γ2j p22 − γ21
2 = 8−4=2
j=1
( )
1 ∑1
1 1
γ32 = p32 − γ3k γ2k = (p32 − γ31 γ21 ) = (2 − 3 × 2) = −2
γ22 γ22 2
k=1

Para i = 3, el algoritmo dice que


γ13 = 0
γ23 = 0
√ √
∑2 √
γ33 = p33 − 2 =
γ3j p33 − (γ31
2 + γ2 ) =
32 14 − (9 + 4) = 1
j=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 ayuda a evitar problemas numéricos. Los
154 Capı́tulo 5. Formas alternas del filtro de Kalman

valores singulares σ de P están dados como

σ 2 (P) = λ(P⊤ P) = λ(ΓΓ⊤ ΓΓ⊤ ) (5.6)

Los valores singulares de Γ están dados como

σ 2 (Γ) = λ(ΓΓ⊤ ) (5.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
σmax (P) σ 2 (Γ)
= max2
(5.8)
σmin (P) σmin (Γ)
2
κ(P) = κ (Γ)

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 (5.9)
κ(P) = 1012

La raı́z cuadrada de esta matriz y su número de condición son


[ 3 ]
10 0
Γ=
0 10−3 (5.10)
6
κ(Γ) = 10

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.
5.2. Filtrado de raı́z cuadrada 155

5.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


{ } (5.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 P+k y su
raı́z cuadrada es Γ+
k . Supóngase que se puede encontrar una matriz ortogonal
θ2n×2n tal que
[ − ⊤] [ + ⊤ ⊤ ] [ + ]
(Γk ) (Γk−1 ) Fk−1 [ ] (Γk−1 )⊤ F⊤k−1
=θ ⊤/2
= θ1 θ2 ⊤/2
(5.12)
0 Qk−1 Qk−1

Puesto que θ es ortogonal se ve que


[ ⊤] [ ⊤ ⊤
] [ ]

θ 1 [ ] θ1 θ 1 θ 1 θ2 I 0
θ θ = ⊤ θ1 θ2 = ⊤ = (5.13)
θ2 θ2 θ1 θ2⊤ θ2 0 I

donde θ1 y θ2 son ambas matrices n × n. Se ve de lo anterior que

θ1⊤ θ2 = θ2⊤ θ1 = 0
(5.14)
θ1⊤ θ1 = θ2⊤ θ2 = I

Ahora nótese que se puede utilizar la ecuación (5.12) para escribir


[ ] [ ]⊤[ ]
[ − ] (Γ− )⊤ ⊤/2 ⊤/2
Γk 0 k
= θ1 (Γ+ ⊤ ⊤ + ⊤ ⊤
k−1 ) F k−1 + θ Q
2 k−1 θ 1 (Γk−1 ) F k−1 + θ Q
2 k−1
0

Se puede usar esta ecuación, junto con la ecuación (5.14), para escribir
⊤/2
Γ− − ⊤ ⊤ ⊤ ⊤ ⊤
+ + 1/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 (5.15)
156 Capı́tulo 5. Formas alternas del filtro de Kalman

Si Γ+ +
k−1 es la raı́z cuadrada de Pk−1 , esto implica que

P− + ⊤
k = Fk−1 Pk−1 Fk−1 + Qk−1 (5.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 (4.54). Por
lo tanto, si se puede encontrar una matriz ortogonal θ2n×2n tal que
[ + ⊤ ⊤ ] [ ]
(Γk−1 ) Fk−1 matriz n×n
θ ⊤/2
= (5.17)
Q 0
k−1

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 algoritmos para la solución de la ecuación (5.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.

5.2.2. Algoritmos para transformaciones ortogonales


Varios algoritmos numéricos están disponibles para llevar a cabo las transfor-
maciones ortogonales que se requieren para resolver las matrices θ y la matriz
raı́z cuadrada resultante Γ− k de la Ecuación (5.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 algorit-
mo de Gram–Schmidt modificado. Deducciones y presentaciones de los otros
algoritmos se pueden encontrar en muchos textos sobre álgebra lineal numéri-
ca, como [Horn and Johnson, 1985], [Golub and Van Loan, 1996], [Moon and
Stirling, 2000]. Una comparación de Gram–Schmidt, Gram–Schmidt modifi-
cado y las transformaciones de Householder se puede encontrar en [Jordan,
1968], donde se establece que el procedimiento de Gram–Schmidt modificado
5.2. Filtrado de raı́z cuadrada 157

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 [Househol-


der, 1975], se aplicó a la estimación de mı́nimos cuadrados por Gene Golub
[Golub and Van Loan, 1996] y se configuró para filtrado de Kalman por Paul
Kaminski [Kaminski et al., 1971b].
1. Supóngase que se tiene una matriz 2n × n A(1) y se desea encontrar una
matriz W n × n tal que
[ ]
(1) W
θA = (5.18)
0

donde θ es una matriz ortogonal 2n × 2n y 0 es una matriz n × n con-


formada por ceros. Obsérvese que el enunciado de este problema está en
la misma forma que la Ecuación (5.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
( )uu∑2n ( )2
(k) t (k)
ςk = sgn Akk Aik (5.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

b) Calcular el escalar βk como


1
βk = ( ) (5.20)
(k)
ςk ςk + Akk
158 Capı́tulo 5. Formas alternas del filtro de Kalman

c) Para i = 1, . . . , 2n realizar lo siguiente:




 0 i<k

(k) (k)
ui = ςk + Akk i=k (5.21)


A (k)
i>k
ik

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 (5.22)

 (k)
βk u(k)⊤ Ai i>k
(k)
donde Ai es la i-ésima columna de A(k) . Esto da un vector colum-
na y(k) con n-elementos,
e) Calcular la matriz A(k+1) 2n × n como

A(k+1) = A(k) − u(k) y(k)⊤ (5.23)

3. Después de que los anteriores pasos han sido ejecutados, A(n+1) tiene la
forma
[ ]
(n+1) W
A = (5.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


(5.25)
θ=θ (n) (n−1)
θ ···θ (1)

El procedimiento está resumido en el Algoritmo 5.2.


5.2. Filtrado de raı́z cuadrada 159

Algoritmo 5.2 Algoritmo de Householder.


for k = 1 to n do
( ) √∑ ( )2
(k) 2n (k)
ςk = sgn Akk i=k A ik

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 y (k) (k)⊤
→A (n+1)
=
0
for i = 1 to n do
∏1I −(i)βk u u
θ (k) = (k) (k)⊤

θ = nθ
end for
end for
160 Capı́tulo 5. Formas alternas del filtro de Kalman

Ejemplo 5.2
Usar el método de Householder para encontrar una
 matriz
 ortogonal θ tal que
[ ] 1 1
W 2 2
donde W es una matriz 2 × 2 y A =  = A(1)
1
θA =
0 0
2 2
Solución:
Aplicando el Algoritmo 5.2 se obtiene:

v
( )u
u∑4 ( ) √
(1) t (1) 2
ς1 = sgn A11 Ai1 = 12 + 2 2 + 0 2 + 2 2 = 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
[ ]⊤

u(1) = u(1)
1
(1)
u2
(1)
u3
(1)
u4 = [4 2 0 2]
(1)
y1 = 1
 
1
(1) (1) 1 2 1
y2 = β1 u(1)⊤ A2 = [4 2 0 2]   = (4 + 4 + 0 + 4) = 1
12 1 12
2

y = [1 1]

       
1 1 4 1 1 4 4
2 2 2 2 2 2 2
A(2) = A(1) − u(1) y(1)⊤ = − −
1 0
[1 1] = 
0 0 1 0 0
2 2 2 2 2 2 2
 
−3 −3
0 0
A(2) =
0 1
0 0
5.2. Filtrado de raı́z cuadrada 161

v
u 4 ( ) √( ) ( ) ( )
u∑ (2) 2 (2) 2 (2) 2 (2) 2
ς2 = sgn(0) t Ai2 = A22 + A32 + A42
i=2

= 0+1+0=1
1 1
β2 = ( )= =1
(2)
ς2 ς2 + A22 1(1 + 0)

(2)
u1 = 0
(2)
u2 = ς2 + 0 = 1
(2) (2)
u3 = ς2 + A32 = 1 + 0 = 1
(2) (2)
u4 = A42 = 0
 
0
(2) 1 ⊤
u =   = [0 1 1 0]
1
0

(2)
y1 = 0
(2)
y1 = 0

y(2) = [0 1]

       
−3 −3 0 −3 −3 0 0
0 0  1 0 0  0 1
A(3) = A(2) − u(2) y(2)⊤ = − −
1  1
[0 1] = 
0 0 1  0 1
0 0 0 0 0 0 0
 
−3 −3
 0 −1
A(3) = 
0 0
0 0
[ ]
−3 −3
W= (5.26)
0 −1
162 Capı́tulo 5. Formas alternas del filtro de Kalman

( )( )
θ = 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 
=  −1 −
0 0 1 0 1
[0 1 1 0]
0 120
[4 2 0 2]
0 0 1
0 0 0 1 0 0 0 0 1 2

  1   1 
1 0 0 0 −3 − 23 0 − 32 −3 − 23 0 − 32
0 0 −1 0  − 3
2 2
0 − 13   0
= 0 −1 0  
θ=  
3
0 −1 0 0 0 0 1 0   23 − 23 0 1 
3
0 0 0 1 −2 3 − 13 0 32 − 23 − 13 0 2
3

El algoritmo de Gram–Schmidt modificado

El algoritmo de Gram–Schmidt modificado para ortonormalización que se pre-


senta aquı́, se discute en la mayorı́a de los libros de sistemas lineales [Kailath,
1980], [Chen, 1984]. Para filtrado de Kalman se puede encontrar en [Kaminski
et al., 1971b].
1. Supóngase que se tiene la matriz A(1) de 2n × n y se desea encontrar una
matriz W tal que
[ ]
(1) W
θA = (5.27)
0

donde θ es una matriz ortogonal 2n × 2n y 0 es una matriz n × n confor-


mada por ceros. Nótese que este problema se plantea de la misma forma
como en la Ecuación (5.17).
2. Para k = 1, . . . , n desarrollar lo siguiente:
a) Calcular el escalar ςk como

(k)⊤ (k)
ςk = Ak Ak (5.28)

(k)
donde Ak es la k-ésima columna de A(k) .
5.2. Filtrado de raı́z cuadrada 163

b) Calcular la k–ésima fila de W como



 0 j = 1, . . . , k − 1


ςk j=k
Wkj = (5.29)


 1 A(k)⊤ A(k)
j j = k + 1, . . . , n
ςk k

c) Calcular la k–ésima fila de θ como


1 (k)⊤
θk = A (5.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 − Wkj Ak j = k + 1, . . . , n (5.31)
ς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 [Golub and
Van Loan, 1996], [Moon and Stirling, 2000], [Horn and Johnson, 1985]:
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 el espacio vectorial 2n–
dimensional:
[ ]
θ
θ := (5.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).
164 Capı́tulo 5. Formas alternas del filtro de Kalman

Para k = n + 1, . . . , 3n, calcular la k-ésima fila de θ como


k−1
( )
θk := θk − θk θi⊤ θi
i=1
θk
θk := (5.33)
||θ||2

Si θk es cero, significa que es una combinación lineal de las filas ante-


riores 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 ocu-
rrirá 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 orto-
normalización se muestra en el Algoritmo 5.3.
Ejemplo 5.3
Utilizar el método de Gram–Schmidt modificado para resolver el Ejemplo 5.2.
Solución:

Siguiendo el Algoritmo 5.3 se tiene

v  
u
√ u 1
u  2 √
=u
(1)⊤ (1)
ς1 = A1 A1 t[1 2 0 2] 0 = 1 + 4 + 0 + 4 = 3
2

 
1
1 (1)⊤ (1) 1 2
W11 = 3; W12 = A1 A1 = [1 2 0 2]   = 3
3 3 0
2

W1 = [W11 W12 ] = [3 3]
1 (1)⊤ 1 [ ]
θ1 = A 1 = [1 2 0 2] = 13 2
3 0 2
3
ς 3
5.2. Filtrado de raı́z cuadrada 165

Algoritmo 5.3 Algoritmo de Gram–Schmidt modificado.


(1 ) Realizar procedimiento
for k = 1 to n do
(a) Calcular
√ el escalar ςk
(k)⊤ (k)
ςk = Ak Ak
(b) Calcular la k–ésima fila de W
if j ≤ k − 1 then
Wkj = 0
else if j = k then
Wkj = ςk
else if k + 1 ≤ j ≤ n then
(k)⊤ (k)
Wkj = ς1k Ak Ak
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 = Aj − 1
ςk
Wkj Ak
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
166 Capı́tulo 5. Formas alternas del filtro de Kalman

     
1 1 0
(2) (1) 1 (1) 2 1 2 0
A2 = A2 − W12 A1 = − ·3· = 
ς1 1 3 0 1
2 2 0
v  
u
√ u 0
u 0 √
ς2 =
(2)⊤
A2
(2)
A2 u
= t[0 0 1 0]   = 0 + 0 + 1 + 0 = 1
1
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  [ 1 ]
= [1 0 0 0] − 
 [1 0 0 0]  3 
 0  3
2
3 0 2
3 −0
2
3
1 [1 2 ]
= [1 0 0 0] − 3 3 0 23
[ 3]
θ3 = 89 − 29 0 − 92
θ3 [ √ ]
θ3 = = 2 3 2 − 3√ 1
0 − 1

||θ3 ||2 2 3 2
[ √ √ √ ]
θ3 = 2 3 2 − 62 0 − 62
5.2. Filtrado de raı́z cuadrada 167

( ) ( ) ( )
θ4 = θ4 − θ4 θ1⊤ θ1 − θ4 θ2⊤ θ2 − θ4 θ3⊤ θ3

1  
3 0
2 [1 ] 0
= [0 1 0 0]−[0 1 0 0] 3 
 · 2
0 3 −[0
2 1 0 0] ·[0 0 1 0]
0 3 3 1
2 0
3

 √ 
2 2
 3√2  [ √ √ √ ]
 
− [0 1 0 0] − 6  · −2 2
0 2
− 62
 0√  3 6

− 62
[ ] [ ] [ ]
= [0 1 0 0] − 29 49 0 49 + 92 − 18 1
0 − 18
1
= 0 1
2 0 − 12
θ4
θ4 =
||θ4 ||2
√ √ √
1 1 1 1 2
||θ4 ||2 = 0+ +0+ = =√ =
4 4 2 2 2
[ √ √ ]
θ4 = 0 22 0 − 22
 1 2 2 
3 3 0 3
 √ 0 1√ 0 0√ 
θ = 2 2 
 −√ 62 0 − √62 
3
0 2
2
0 − 22
168 Capı́tulo 5. Formas alternas del filtro de Kalman

Ejemplo 5.4
Supóngase que en el tiempo (k − 1) el filtro de Kalman tiene la matriz del sis-
tema, 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 (5.17) se puede resolver, v.gr., aplicando el algoritmo de Gram–


Schmidt modificado, 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
√   0 −1 = √  0
10 −2 −2 1
√ √1 10 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á dada por
[√ ]
1 20 0
Γ− = √ √
k
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
Pk = Γ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− = F P+
F ⊤
k−1 k−1 k−1 + Q k−1 =
k 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.
5.2. Filtrado de raı́z cuadrada 169

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 es-
pacial Apolo de la NASA [Battin, 1964], [Kaminski et al., 1971a] y modificado
por A. Andrews para manejar medidas vectoriales [Andrews, 1968]. Recordan-
do de la Ecuación (4.54) que la expresión para la actualización de la medida
de la covarianza estimada, dada como

k = (I − Kk Hk )Pk
P+ (5.34)

se puede procesar la medición de una en una utilizando el llamado filtro de


Kalman secuencial [Brown and Hwang, 1996]. 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 (5.35)
ik = (I − Kik Hik )Pi−1,k
P+ +

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 P+
i−1,k = Γ +
Γ+⊤
i−1,k i−1,k . Entonces K ik puede escribirse como


Γ+ +⊤
i−1,k Γi−1,k Hik
Kik = ⊤
(5.36)
Hik Γ+ +⊤
i−1,k Γi−1,k Hik + Rik

y P+
ik puede escribirse como
( )
+ +⊤ ⊤
Γ Γ H
i−1,k i−1,k ik H ik
P+
ik = I− ⊤
Γ+ +⊤
i−1,k Γi−1,k
Hik Γ+ Γ +⊤
H
i−1,k i−1,k ik + R ik
( )
+ +⊤ ⊤ +
Γ Γ H
i−1,k i−1,k ik H ik Γ i−1,k
= Γ+ i−1,k − ⊤
Γ+⊤
i−1,k
Hik Γ+ Γ+⊤
H
i−1,k i−1,k ik + R ik

ik = Γi,k Γi,k = Γi−1,k (I − αϕϕ )Γi−1,k
P+ + +⊤ + +⊤
(5.37)
170 Capı́tulo 5. Formas alternas del filtro de Kalman

donde ϕ y α están definidos como

⊤ 1
ϕ = Γ+⊤
i−1,k Hik α = (5.38)
ϕ⊤ ϕ + Rik

Se puede demostrar (ver Ejemplo 5.5 a continuación) que

I − αϕϕ⊤ = (I − αγϕϕ⊤ )2 (5.39)

donde γ está dado (ver Ejemplo 5.5 a continuación) como,


1
γ= √ (5.40)
1± αRik
Ya sea el signo más o el menos se puede usar para el cálculo de γ. Sustituyendo
la Ecuación (5.39) en la Ecuación (5.37) se obtiene

ik = Γi−1,k (I − αγϕϕ )
Γ+ +
(5.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 5.5
Verificar la Ecuación (5.39).
Solución:
Desarrollando el cuadrado del miembro del lado derecho se obtiene
I − αϕϕ⊤ = (I − αγϕϕ⊤ )2
I − αϕϕ⊤ = I − 2αγϕϕ⊤ + (αγϕϕ⊤ )2
0 = (αγϕϕ⊤ )2 − 2αγϕϕ⊤ + αϕϕ⊤ (5.42)
Tomando la transpuesta de la Ecuación (5.42)

0 = (αϕ⊤ ϕ)2 γ 2 − 2αϕ⊤ ϕγ + αϕ⊤ ϕ


= (αϕ⊤ ϕ)(αϕ⊤ ϕγ 2 − 2γ + 1) (5.43)
Puesto que ϕ es definida positiva, entonces la Ecuación (5.46) será válida para el
caso
0 = αϕ⊤ ϕγ 2 − 2γ + 1 (5.44)
5.2. Filtrado de raı́z cuadrada 171

De la Ecuación (5.38)

αϕ⊤ ϕ + αRik = 1
αϕ⊤ ϕ = 1 − αRik (5.45)
Sustituyendo (5.45) en (5.44) se obtiene

0 = (1 − αRik )γ 2 − 2γ + 1; es decir,

αRik γ 2 = 1 − 2γ + γ 2 = (1 − γ)2

± αRik γ = 1 − γ

γ ± αRik γ = 1
1
γ= √ (5.46)
1 ± αRik
El cual es el factor de ajuste de modo que se cumpla la Ecuación (5.39).
172 Capı́tulo 5. Formas alternas del filtro de Kalman

Algoritmo 5.4 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
− (5.47)
Γ+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
γ= √ (5.48)
1 ± αi Rik

i−1,k (I − αi γi ϕi ϕi )
Γik = Γ+
+

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
(5.49)
x̂+ +
k = x̂rk
5.2. Filtrado de raı́z cuadrada 173

Ejemplo 5.6
Supóngase que se tiene un sistema LTI con
[ ] [ ]
1 0 1 0
P− = F =
k 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 ⊤
(HP − ⊤
k H + R) −1
= 1+R
0
[ R ]
− 1+R 0
P+k = (I − Kk H)Pk =
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
[ 1 ] (5.50)
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
Kk = 1+R =
0 0
[ ]
− 0 0
Pk = (I − Kk H)Pk =
+
0 1

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
P− = FP + ⊤
F + Q =
k+1 k 0 1
[ ] (5.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
174 Capı́tulo 5. Formas alternas del filtro de Kalman

de Kalman cero, mientras que la ganancia de Kalman de precisión infinita, como se



indica en la Ecuación (5.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 = (5.52)
0 1

sólo se tiene que iterar la Ecuación (5.48) una vez, ya que sólo se tiene una
medición. Los valores alrededor de los parámetros dados en la Ecuación (5.48)
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 (5.48) 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 (5.53)
α= ⊤ = √ ≈ √
ϕ ϕ+R R2 + 2R + 2R R 2R(1 + R)
√ [ ] [ 1√
]
R √
− 1+2 R
Kk+1 = αΓk+1 ϕ ≈ √ 1+R+2 R ≈ 2(1+ R)
2R(1 + R) 0 0

Nótese que la ganancia de Kalman redondeada es casi idéntica a la ganancia de


Kalman exacta dada por la Ecuación (5.50). Esto demuestra el beneficio que se
puede obtener mediante el uso del filtro de raı́z cuadrada.
5.3. Filtro de información 175

5.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̂)⊤ (5.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 → 0 se tiene perfecto conocimiento de x y cuando P → ∞
se tiene cero conocimiento de x. La matriz de información se define como

I = P−1 (5.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 → 0 se tiene cero conocimiento de I y cuando I → ∞ se tiene
perfecto conocimiento de x.
Recordando de la Ecuación (4.54) que la expresión de actualización de la
medida para P puede escribirse como
−1
(P+
k) = (P−
k)
−1
+ H⊤ −
k Rk Hk (5.56)

sustituyendo la definición de I en esta ecuación da


− ⊤ −
k = Ik + Hk Rk Hk
I+ (5.57)

Esto da la ecuación de actualización de la medición para la matriz de informa-


ción. Recordando de la Ecuación (4.53) que la expresión de actualización en el
tiempo para P:

P− + ⊤
k = Fk−1 Pk−1 Fk−1 + Qk−1 (5.58)

Esto implica que


[ ]−1
I− + −1 ⊤
k = Fk−1 (Ik−1 ) Fk−1 + Qk−1 (5.59)
176 Capı́tulo 5. Formas alternas del filtro de Kalman

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 (5.60)

Si se hacen las identificaciones A = Qk−1 , B = Fk−1 , C = F⊤ k−1 y D = Ik−1 ,


+

entonces se puede aplicar el lema de inversión de matrices a la Ecuación (5.59)


para obtener

I− −1 −1 ⊤ −1 −1 ⊤ −1
k = Qk−1 − Qk−1 Fk−1 (Ik−1 + Fk−1 Qk−1 Fk−1 ) Fk−1 Qk−1
+
(5.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 5.5.

Algoritmo 5.5 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 vj⊤ } = Qk δk−j
E {wk wj⊤ } = Rk δk−j
E {vk wj⊤ } = 0
2. Inicialización del filtro de Kalman:
x̂+
0 =[ E {x0 }
{ + ⊤
}]−1
I0 = E (x0 − x̂+
+
0 )(x0 − x̂0 )
3. Cálculo del filtro de información:
for k = 1 to n do

I− −1 −1 ⊤ −1 −1 ⊤ −1
k = Qk−1 − Qk−1 Fk−1 (Ik−1 + Fk−1 Qk−1 Fk−1 ) Fk−1 Qk−1
+
− ⊤ −1
Ik = Ik + Hk Rk Hk
+
−1 ⊤ −1
Kk = (I+ k ) Hk Rk (5.62)
− +
x̂k = Fk−1 x̂k−1 + Gk−1 uk−1
− −
k = x̂k + Kk (yk − Hk x̂k )
x̂+

end for

Las ecuaciones del filtro de Kalman estándar requieren la inversión de una


5.3. Filtro de información 177

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 R k (5.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 inicia-
lizació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
+
numéricamente P+
hace el filtro de información matemáticamente más preciso para el caso de cer-
teza inicial cero. Sin embargo, si la incertidumbre inicial es cero (es decir, se
tiene perfecto conocimiento de x0 ), se puede escoger numéricamente P+ 0 = 0,
pero no se puede escoger numéricamente I+ 0 → ∞. Esto hace el filtro de Kal-
man estándar, matemáticamente más preciso para el caso de incertidumbre
inicial cero.
Ejemplo 5.7
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 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 medi-
ciones 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
178 Capı́tulo 5. Formas alternas del filtro de Kalman

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
(5.62), de las cuales se obtiene

I− −1 −1 2 −1 −1 −1
k = Qk−1 − Qk−1 F (Ik−1 + F Qk−1 ) Qk−1
2 +

1 F2 1
= − ·
Qk−1 Q2k−1 I+
k−1 +
F2
Qk−1

1 F2 1
I−
1 = − 2 · + F2
Q 0 Q 0 I0 +
Q0
1 1 4
=1− · =
4 1 + 14 5
− ⊤ −1 − ⊤ −1
I+
k = Ik + Hk Rk Hk = Ik + Hk I Hk
[ ][ ]
− 1 0 1
I+
k = Ik + [1 1] 0 1 1
4 14
I+
1 = +2=
5 5
1 F 2 1
I−
2 = − 2 · + F2
Q 1 Q 1 I1 +
Q 1

4 1 42 1 4 4 1 56
= − · 2· = − · =
5 4 5 14
5 + 14 · 4
5
5 25 14
5 + 1
5
75

I+
2 = I2 + 2
56 206
I+
2 = +2=
75 75
5.4. Resumen 179

2. Supóngase que se tienen dos mediciones independientes del escalar x, cada una
con varianza R. Entonces la varianza de la medición promedio se calcula como
{[ ]2 } {[ ]2 }
1 1 1
E (y1 + y2 ) − x =E (y1 − x) + (y2 − x)
2 2 2
{[ }
w1 w2 ]2
=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 (4.53) y (4.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
− −1 −1
P2+ = [(P2 ) + 2]
( )−1
56 75
= +2 =
75 206

Nótese que los cantidades Pi− y Pi+ obtenidas aquı́, son las inversas de las canti-
dades I−1 e I1 obtenidas en la parte 1.
+

5.4. Resumen
En este capı́tulo se han estudiado algunos modelos alternos del filtro de Kal-
man. 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
180 Capı́tulo 5. Formas alternas del filtro de Kalman

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 com-
pleta visión del filtrado de raı́z cuadrada en [Bierman, 1977].
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 de covarianza o filtrado de información
de filtrado estándar, filtrado de raı́z cuadrada.
Cualquiera de estas opciones se pueden hacer de forma independiente de las
demás. Por ejemplo, se pude optar por combinar el filtrado de filtrado informa-
ción con el filtrado de raı́z cuadrada [Kaminski et al., 1971a]. Una comparación
numérica de diversas formulaciones de filtro de Kalman (incluyendo el filtro
estándar, el filtro de covarianza raı́z cuadrada, el filtro de la información de
la raı́z cuadrada, y el algoritmo de Chandrasekhar) se da en [Verhaegen and
Van Dooren, 1986]. Comparaciones numéricas y computacionales de distin-
tos enfoques de filtrado de Kalman se dan en [Bierman, 1973], [Bierman and
Thornton, 1977]. Filtrado raı́z cuadrada de tiempo continuo se discute en [Morf
et al., 1978].
Bibliografı́a

Andrews, A. (1968). A square root formulation of the Kalman covariance equations. AIAA
Journal, 6(6): 1165–1166.
Battin, R. (1964). Astronautical Guidance. Electronic sciences series. McGraw-Hill, New
York.
Bellantoni, J. and Dodge, K. (1967). A square root formulation of the Kalman-Schmidt
filter. AIAA Journal, 5(7): 1309–1314.
Bierman, G. (1973). A comparison of discrete linear filtering algorithms. IEEE Transactions
on Aerospace and Electronic Systems, AES-9(1): 28–37.
Bierman, G. and Thornton, C. (1977). Numerical comparison of Kalman filter algorithms:
Orbit determination case study. Automatica, 13(1): 23–35.
Bierman, G. J. (1977). Factorization Methods for Discrete Sequential Estimation, volume
128 of Monographs and Textbooks. Academic Press,Inc, 111 Fifth Avenue, New York.
New York 10003, NY, USA.
Brown, R. and Hwang, P. (1996). Introduction to Random Signals and Applied Kalman
Filtering. New York, USA.
Chen, C.-T. (1984). Linear System Theory and Design. Saunders College Pu., Harcourt
Brace Jovanovich, Inc., Orlando, FL 32887, USA, 2a edition.
Dyer, P. and McReynolds, S. (1969). Extension of square–root filtering to include process
noise. Journal of Optimization Theory and Applications, 3(6): 444–458.
Faddeev, D. and Faddeeva, V. (1963). Computational Methods of Linear Algebra. W. H.
Freeman and Company, San Francisco, USA.
Golub, G. and Van Loan, C. (1996). Matrix Computations. The Johns Hopkins University
Press, 2715 North Charles Street, Baltimore, Maryland 21218-4319, USA, 3a edition.
Horn, R. and Johnson, C. (1985). Matrix Analysis. Cambridge University Press, New York,
USA.
Householder, A., S. (1975). The Theory of Matrices in Numerical Analysis. Reimpresión del
libro publicado originalmente en 1964. 180 Varick Street NY 10014, NY, USA.
Jordan, T. L. (1968). Experiments on error growth associated with some linear least squares
procedures. Mathematics of Computation, AMS, (22):579–588.
Kailath, T. (1980). Linear Systems. Prentice–Hall, Inc., Englewoods Cliffs, N. J., 07632,

181
182 BIBLIOGRAFı́A

USA.
Kaminski, P., Bryson, A., and Schmidt, S. (1971a). Discrete square root filtering: A survey
of current techniques. IEEE Transactions on Automatic Control, AC-16(6): 727–736.
Kaminski, P., Bryson, A., and Schmidt, S. (1971b). Discrete square root filtering: A survey
of current techniques. IEEE Transactions on Automatic Control, AC-16:727–736.
Martin, M. and Kailath, T. (1975). Square-root algorithms for least-squares estimation.
IEEE Transactions on automatic control, AC–20(4): 487–497.
Moon, T. and Stirling, W. (2000). Mathematical Methods and Algorithms for Signal Proces-
sing. Prentice-Hall, Upper Saddle River, New Jersey, USA.
Morf, M., Levy, R., and Kailath, T. (1978). Square-root algorithms for the continuous time
linear least-square estimation problem. IEEE Transactions on Automatic Control, AC-
23(5): 907–911.
Schmidt, S. (1981). The Kalman filter: Its recognition and development for aerospace appli-
cations. Journal of Guidance and Control, 4(1): 4–7.
Verhaegen, M. and Van Dooren, P. (1986). Numerical aspects of different Kalman filter
implementations. IEEE Transactions on Automatic Control, AC-31(l0): 907–917.
Capı́tulo 6

Generalización del filtro de


Kalman

E n los últimos capı́tulos se dedujo el filtro de Kalman en tiempo discre-


to 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 4 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 4 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.

6.1. 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.
Supóngase que se desea generar un vector aleatorio v de n elementos el cual

183
184 Capı́tulo 6. Generalización del filtro de Kalman

tiene media y la covarianza Q:


 
σ12 . . . σ1n
 .. 
Q =  ... .  (6.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 µ2k

λ(Q) = µ2k k = 1, . . . , n (6.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⊤ (6.3)

donde Q̂ es la matriz diagonal de los autovalores de Q. Esto es

Q̂ = diag(µ21 , . . . , µ2n ) (6.4)

Ahora se define el vector aleatorio v como v = D−1 w, de modo que w = Dv,


Por lo tanto,

E {ww⊤ } = E {D⊤ vv⊤ D}


= D⊤ E {vv⊤ }D
= D⊤ QD
= Q̂
= diag(µ21 , . . . , µ2n ) (6.5)

Esto muestra como se puede generar un vector aleatorio v de n elementos con


una matriz de covarianza Q. En el Algoritmo 6.1 se muestra el procedimiento.
6.2. Correlación del ruido del proceso y de la medida 185

Algoritmo 6.1 Simulación de ruido correlacionado

1. Encontrar los autovalores de Q y denotarlos como µ21 , . . . , µ2n


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

6.2. Correlación del ruido del proceso y de la


medida
La deducción del filtro de Kalman en el Capı́tulo 4 supone que el ruido del
proceso y de la medida no son correlacionados. En esta sección, se va a de-
mostrar 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 ) (6.6)
E {vk vj⊤ } = Qk δk−j
E {wk wj⊤ } = Rk δk−j
E {vk−1 wj⊤ } = 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 4, se asume que Sk es
186 Capı́tulo 6. Generalización del filtro de Kalman

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 correlacionado del sistema, se definen los errores de estimación de la
siguiente manera:

ϵ− −
k = xk − x̂k
(6.7)
k = xk − x̂k
ϵ+ +

Como en el desarrollo original del filtro de Kalman del Capı́tulo 4, 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
− − (6.8)
k = x̂k + Kk (yk − Hk x̂k )
x̂+

La matriz de ganancia Kk no es la misma como la desarrollada en el Capı́tulo 4,


pero la forma de las ecuaciones de actualización de medidas es aún la misma.
La Ecuación (6.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
(6.9)
ϵk = xk − [x̂−
+ −
k + Kk (yk − Hk x̂k )]
= ϵ−
k − Kk (Hk xk + wk − Hk x̂k )

= ϵ− −
k − Kk (Hk ϵk + wk )
6.2. Correlación del ruido del proceso y de la medida 187

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 (6.10)

{ + + ⊤}
k = E ϵk (ϵk )
P+
{[ ][ − ]⊤ }
− − −
= E ϵk − Kk (Hk ϵk + wk ) ϵk − Kk (Hk ϵk + wk )
{( )( − ⊤ )}
= E ϵ− −
k − Kk H k ϵ k − Kk w k (ϵk ) − (ϵ− ⊤ ⊤ ⊤ ⊤ ⊤
k ) Hk Kk − wk 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 wk⊤ }K⊤
k (6.11)

Con el fin de simplificar P+ k en la Ecuación (6.11), se requiere encontrar una


− ⊤
expresión para E {ϵk wk }. Ésta se puede calcular como
{ } { }
E ϵ− ⊤
k wk = E (xk − x̂− ⊤
k )wk
{ }
= E xk wk⊤ − x̂−
k wk

{ } { }
= E (Fk−1 xk−1 + Gk−1 uk−1 + vk−1 )wk⊤ − E x̂− k wk

{ } { } { } { }
= Fk−1 E xk−1 wk⊤ + Gk−1 E uk−1 wk⊤ + E vk−1 wk⊤ − E x̂− ⊤
k wk
= 0 + 0 + Sk − 0 (6.12)

En la anterior ecuación, el primer término es 0 porque xk−1 es independien-


te de wk y wk es de 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 prio-
ri en el tiempo k es independiente de wk . De la misma forma se obtiene
{ }
E wk (ϵ−k)

= S⊤
k

Sustituyendo estas expresiones para E{ϵ− ⊤ − ⊤


k wk } y E{wk (ϵk ) } en la Ecua-
188 Capı́tulo 6. Generalización del filtro de Kalman

ción (6.10) se obtiene


− − ⊤ − ⊤ ⊤ − ⊤ ⊤
k = Pk − Kk Hk Pk − Kk Sk − Pk Hk Kk + Kk Hk Pk Hk Kk +
P+
+ 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 (6.13)

Ahora se necesita encontrar la matriz de ganancia Kk que minimize Tr(P+


k ).
Recordando de la Ecuación (1.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− ⊤ ⊤ ⊤ − ⊤
k Hk + Hk Sk + Sk Hk + Rk ) − Pk Hk − Sk (6.14)

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
(6.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 (6.13) haciendo Šk = Hk P− ⊤ ⊤ ⊤
k Hk +Hk Sk +Sk Hk +Rk
6.2. Correlación del ruido del proceso y de la medida 189

como
− ⊤ ⊤ ⊤ ⊤
k = (I − Kk Hk )Pk (I − Kk Hk ) + Kk (Hk Sk + Sk Hk + Rk )Kk −
P+
− 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 ) (6.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 estima-
ción de estados son las mismas del filtro de Kalman estándar y se dan en el
conjunto de ecuaciones (6.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 correlacio-
nado del procesos y de las mediciones se puede resumir en el Algoritmo 6.2.
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 3.5. Nó-
tese que esta es una generalización del filtro de Kalman la cual se presentó en
las ecuaciones (4.54), en particular la última. Si Sk = 0, entonces la expresión
anterior se reduce a la última ecuación de (4.54).
Ejemplo 6.1
Considérese el siguiente sistema escalar
xk = 0.8xk−1 + vk−1
yk = xk + wk
E {vk vj⊤ } = 1δk−j
E {wk wj⊤ } = 0.1δk−j
E {vk−1 wj⊤ } = 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 6.1 para simular el ruido
correlacionado. Las ecuaciones del filtro de Kalman dadas anteriormente se pueden
190 Capı́tulo 6. Generalización del filtro de Kalman

Algoritmo 6.2 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


yk = Hk xk + wk
vk ∼ (0, Qk )
wk ∼ (0, Rk ) (6.17)
E {vk vj⊤ } = Qk δk−j
E {wk wj⊤ } = Rk δk−j
E {vk−1 wj⊤ } = Sk δk−j

2. El filtro de Kalman se inicializa como

0 = E {x0 }
x̂+
{ + ⊤
} (6.18)
P0 = E (x0 − x̂+
+
0 )(x0 − x̂0 )

3. Para cada paso de tiempo k = 1, 2, · · · , las ecuaciones del filtro de Kal-


man 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
− −
k = x̂k + Kk (yk − Hk x̂k )
x̂+
− ⊤ ⊤ ⊤ (6.19)
k = (I − Kk Hk )Pk (I − Kk Hk ) − Sk Kk − Kk Sk +
P+
+ Kk (Hk Sk + S⊤ ⊤ ⊤
k Hk + Rk )Kk
[ − −1
= (Pk ) + (H⊤ − −1 ⊤ − −1
k + (Pk ) Sk )(Rk − Sk (Pk ) Sk )
−1
×
]−1
× (Hk + S⊤ − −1
k (Pk ) )
= P− − ⊤
k − Kk (Hk Pk + Sk )
6.2. Correlación del ruido del proceso y de la medida 191

ejecutar a continuación para obtener una estimación del estado. En la Figura 6.2
se muestra la respuesta a diferentes niveles de correlación, con correlación cero y
con valores de ±0.25.
S = 0, S =0 S = 0, SFiltro = 0
Filtro
0.0915

0.0914

0.0913

0.0912

0.0911

0.091

0.0909
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, SFiltro = 0.25 S = 0.25, SFiltro = 0.25
0.0242

0.024

0.0238

0.0236

0.0234
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, SFiltro = −0.25 S = −0.25, SFiltro = −0.25
0.0655

0.065

0.0645

0.064

0.0635

0.063

0.0625
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 6.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. SF ilter = valor de S usado en
el filtro de Kalman.
La Tabla 6.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 Kal-
man 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,
192 Capı́tulo 6. Generalización del filtro de Kalman

como se esperaba. Sin embargo, cuando S ̸= 0, el filtro que utiliza el valor correcto
de S se desempeña notablemente mejor que el filtro que asume incorrectamente
que S = 0.

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

Tabla 6.1.: Valores experimentales de la varianza del error de estimación (50


pasos de tiempo) para el Ejemplo 6.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.

6.3. Ruido coloreado de proceso y medición


Para la deducción del filtro de Kalman en el Capı́tulo 4 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.

6.3.1. Ruido coloreado del proceso


Si el ruido del proceso es coloreado, es relativamente fácil modificar las ecua-
ciones del sistema y obtener un sistema equivalente pero de orden superior con
ruido blanco del proceso [Bucy and Joseph, 1968]. 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 (6.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 (6.21)


6.3. Ruido coloreado de proceso y medición 193

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 vk−1 = E ψvk−1 vk−1 + ζk−1 vk−1
= ψQk−1 + 0 (6.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
(6.20) y (6.21) para obtener
[ ] [ ][ ] [ ]
xk F I xk−1 0
= +
vk 0 ψ vk−1 ζk−1
x̌k = F̌x̌k−1 + v̌k−1 (6.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 { 0 }
E v̌k v̌k⊤ = 0 E ζk ζ ⊤
k

= Q̌k (6.24)

Ahora el filtro de Kalman estándar se puede ejecutar en este sistema


{ aumen-
}
tado que tiene ruido de proceso blanco, siempre que se conozca E ζk ζk⊤ . El
esfuerzo computacional se 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.
194 Capı́tulo 6. Generalización del filtro de Kalman

6.3.2. Ruido coloreado de medición: aumento de estado

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
yk = Hk xk + wk
wk = ψk−1 wk−1 + ζk−1
vk ∼ N (0, Qk )
(6.25)
ζk ∼ N (0, Qζk )
{ }
E vk vj⊤ = Qk δk−j
{ }
E ζk ζj⊤ = Qζk δk−j
{ }
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 wk−1 = E (ψk−1 wk−1 + ζk−1 )wk−1
{ ⊤
}
= ψk−1 E wk−1 wk−1 (6.26)

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 [Bucy and Joseph, 1968]. Aquı́ se resuelve el problema en tiempo discreto
mediante el aumento de estado. Éste fue originalmente propuesto en [Bryson
and Johanson, 1965] 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
[ ] (6.27)
[ ] xk
yk = Hk I +0
wk

Lo cual puede escribirse como

x̌k = F̌k−1 x̌k−1 + v̌k−1


(6.28)
y̌k = Ȟk x̌k + w̌k
6.3. Ruido coloreado de proceso y medición 195

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 calculan como
{[ ] } [ ]
{ ⊤
} vk [ ⊤ ⊤ ] Qk 0
E v̌k v̌k = E vk ζk =
ζk 0 Qζk (6.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 [Kalman, 1960] 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 [Maybeck, 1979], [Stengel, 1994a]. Por tal razón
en la próxima subsección se presenta otro enfoque para tratar el ruido coloreado
de la medición.

6.3.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 [Bryson and Henrikson, 1968]. 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 )
(6.30)
ζk ∼ N (0, Qζk )
{ ⊤
}
E vk vj = Qk δk−j
{ }
E ζk ζj⊤ = Qζk δk−j
{ }
E vk ζj⊤ = 0
196 Capı́tulo 6. Generalización del filtro de Kalman

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 (6.31)

De donde,

y̌k−1 = yk − ψk−1 yk−1 (6.32)

Sustituyendo yk y yk−1 en la Ecuación (6.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 (6.33)

donde

Ȟk−1 = Hk Fk−1 − ψk−1 Hk−1 (6.34)


w̌k−1 = Hk wk−1 + ζk−1 (6.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


(6.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
{ } { }
E w̌k w̌k⊤ = E (Hk+1 vk + ζk )(wk⊤ H⊤ ⊤
k+1 + ζk )
= Hk+1 Qk H⊤
k+1 + Qζk
{ } { } (6.37)
E vk w̌k⊤ = E vk (vk⊤ H⊤ ⊤
k+1 + ζk )
= Qk H⊤
k+1

Donde se ha usado el hecho que vk y ζk son independientes y con media cero.


6.3. Ruido coloreado de proceso y medición 197

Algoritmo 6.3 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 = H k xk + w k
wk = ψk−1 wk−1 + ζk−1
vk ∼ N (0, Qk )
(6.38)
ζk ∼ N (0, Qζk )
{ ⊤
}
E vk vj = Qk δk−j
{ }
E ζk ζj⊤ = Qζk δk−j
{ }
E vk ζj⊤ = 0

2. Ecuaciones para el cálculo de y̌k y Ȟk :

y̌k−1 = yk − ψk−1 yk−1


(6.39)
Ȟk−1 = Hk Fk−1 − ψk−1 Hk−1

3. En cada paso de tiempo, se ejecutan las ecuaciones siguientes para actua-


lizar el estimado del estado.
− −
k = x̂k + Kk (y̌k − Ȟk x̂k )
x̂+
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 (6.40)
Ck = Sk (Ȟk P− ⊤
k Ȟk + Rk )
−1

− ⊤ ⊤
k = (I − Kk Ȟk )Pk (I − Kk Ȟk ) + Kk Rk Kk
P+
P− + ⊤ ⊤ ⊤ ⊤ ⊤
k+1 = Fk Pk 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 [Stear and Stubberud, 1968].

Ahora se definirán los estimados del estado a priori y a posteriori para el


sistema de la Ecuación (6.36) de una forma un poco diferente a lo que se tiene
198 Capı́tulo 6. Generalización del filtro de Kalman

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 } (6.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:

k = E {xk |y1 , · · · , yk+1 }


x̂+
(6.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 defini-
ciones 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. En forma de ecuación
esto se escribe como
{ + ⊤
}
Kk = argmin Tr E (xk − x̂+ k )(x k − x̂k ) (6.43)

No se darán los detalles aquı́, pero en [Bryson and Henrikson, 1968], se mues-
tra que esta minimización conduce a las ecuaciones del estimador dadas en el
Algoritmo 6.3.

Ejemplo 6.2

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
6.3. Ruido coloreado de proceso y medición 199

{ }
E vk vj⊤ = 1δk−j
{ } [ ]
⊤ 0.05 0
E ζk ζj = δ
0 0.05 k−j
{ }
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 6.3.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 [Bryson and Henrikson, 1968]), el cual de
nuevo tomó en cuenta la naturaleza coloreada del ruido de la medición y entonces
simuló el filtro. La Tabla 6.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.

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

Tabla 6.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.
Sin embargo, cuando ψ se incrementa (es decir, el color del ruido de medición au-
menta) 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 Fi-
gura 6.2, 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 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.
200 Capı́tulo 6. Generalización del filtro de Kalman

Se omite la correlación − x1 Se omite la correlación − x2


2

−1

−2
Error de medición Error de medición
Error de estimación Error de estimación
−3
100 200 300 400 500 0 100 200 300 400 500
Tiempo Tiempo

(a) Filtro estándar de Kalman (ψ = 0.95).


Estado aumentado − x1 Estado aumentado − x2
2

−1

−2
Error de medición Error de medición
Error de estimación Error de estimación
−3
100 200 300 400 500 0 100 200 300 400 500
Tiempo Tiempo

(b) Filtro de Kalman aumentado (ψ = 0.95).


Bryson y Henrikson − x 1 Bryson y Henrikson − x 2
2

−1

−2
Error de medición Error de medición
Error de estimación Error de estimación
−3
100 200 300 400 500 0 100 200 300 400 500
Tiempo Tiempo

(c) Filtro de Kalman método de Bryson y Henrikson (ψ = 0.95).

Figura 6.2.: Simulación del filtro de Kalman usando ruido del proceso y de
la medida coloreados.
6.4. Filtrado de estado estacionario 201

6.4. Filtrado de estado estacionario

Muchas implementaciones del filtro de Kalman se codifican en sistemas inte-


grados (en lugar de computadores de escritorio) en los cuales la memoria y el
esfuerzo computacional siguen siendo de consideración primordial. Si el siste-
ma 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 re-
emplazar el filtro de Kalman variable en el tiempo del Capı́tulo 4 con un filtro
de Kalman de estado estacionario. El filtro de estado estacionario frecuente-
mente 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
4.5.1:
xk+1 = xk + vk
yk = xk + wk
(6.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∞ = √ (6.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
202 Capı́tulo 6. Generalización del filtro de Kalman

ejemplo está dado como

x̂− +
k = Fx̂k−1
− −
k = x̂k + K∞ (yk − Hx̂k ) = Fx̂k−1 + K∞ (yk − HFx̂k−1 )
x̂+ + +

= (I − K∞ H)Fx̂+k−1 + K∞ yk (6.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 k → ∞). En cambio se está usando la
ganancia de Kalman de estado estacionario. Sin embargo, para muchos proble-
mas 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 parti-
cular, la diferencia entre los filtros de tiempo variable y estado estacionario
necesita ser evaluada por simulación o por resultados experimentales [Simon,
2006], [Anderson and Moore, 1979].
Una forma de determinar la ganancia de Kalman de estado estacionario es
mediante simulació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 (6.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 (6.47)

Sustituyendo en esta ecuación la expresión para P+


k de la Ecuación (6.19):

P− − ⊤ − ⊤ ⊤ ⊤
k+1 = FPk F − FKk HPk F − FKk S F + Q (6.48)

Ahora se sustituye en esta ecuación la expresión para Kk de la Ecuación (6.19)


6.4. Filtrado de estado estacionario 203

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 (6.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 (6.50)

Esta es llamada una ecuación de Riccati algebraica (ARE), o más especı́fica-


mente 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 (6.19)
para obtener la ganancia de Kalman de estado estacionario:

K∞ = (P∞ H⊤ + S)(HP∞ H⊤ + HS + S⊤ H⊤ + R)−1 (6.51)

Hay sistemas para los cuales la ecuación de Riccati (y aquı́ la ganancia de Kal-
man) 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 [Anderson and Moore, 1979; Goodwin and Sin, 1984; Chui and
Chen, 1987; Kailath, 1981; McGarty, 1974]. 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 un sistema ser controlable sobre
el cı́rculo unitario.
Definición 6.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.


204 Capı́tulo 6. Generalización del filtro de Kalman

Ejemplo 6.3
Considérese el sistema escalar
xk+1 = xk (6.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 6.4
Considérese el sistema escalar
xk+1 = 2xk (6.53)

En este ejemplo, F = 2 y G = 0. Como en el ejemplo previo, la dinámica del sis-


tema 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 unita-
rio 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 6.5
Considérese el sistema escalar
[ ] [ ]
F1 0 0
xk+1 = x + u (6.54)
0 1 k 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 (6.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 ̸= ±1, entonces
se puede encontrar una ganancia de control K que dé lugar a que autovalores de
6.4. Filtrado de estado estacionario 205

lazo cerrado tengan magnitud no unitaria y el sistema es, por lo tanto, controlable
sobre el circulo unitario.

Ahora se resumen los resultados más importantes de convergencia de la ecua-


ción de Riccati de [Kailath et al., 2000; Poubelle et al., 1986; Bitmead et al.,
1985], 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 (6.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 (6.57)

El filtro de Kalman de estado estacionario está dado como

k = (I − K∞ H)Fx̂k−1 + K∞ yk
x̂+ +
(6.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 [Arnold III and Laub, 1984]. Se enuncian sin demostración
los siguientes teoremas [Crassidis and Junkins, 2012], [Simon, 2006], [Stengel,
1994b].
Teorema 6.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 6.1 no excluye la existencia de soluciones DARE que sean definidas


negativas o indefinidas. Si tales soluciones existen, entonces podrı́an resultar
206 Capı́tulo 6. Generalización del filtro de Kalman

en un filtro de Kalman inestable. Si se debilita la condición de estabilidad en


el Teorema 6.1, se obtiene el siguiente
Teorema 6.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 6.2 es un subconjunto del Teorema 6.1.
El Teorema 6.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 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
[Simon, 2006], [Anderson and Moore, 1979]. Si se refuerza la condición de
controlabilidad del Teorema 6.2, se obtiene el siguiente
Teorema 6.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
6.4. Filtrado de estado estacionario 207

Teorema 6.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 6.6
Considérese de nuevo el sistema escalar de la Ecuación (6.44). Se puede observar
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 6.1 que la DARE tiene una única solución
semidefinida positiva. Se sabe del Teorema 6.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 = F P F ⊤ − F P H ⊤ (HP H ⊤ + R)−1 HP F ⊤ + Q
= P − P (P + 1)−1 P + 1
De aquı́ se obtiene
(P + 1)−1 P = 1, es decir, P 2 + P − 1 = 0
Resolviendo la ecuación cuadrática anterior se obtiene

1± 5
P =
2
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 = P H (HP H + R) = √
3− 5
2
k = (I − KH)F x̂k−1 + Kyk =
x̂+ +
√ x̂+k−1 + Kyk ≈ 2.62x̂k−1 + Kyk
+
3− 5
208 Capı́tulo 6. Generalización del filtro de Kalman

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 = P H ⊤ (HP H ⊤ + R)−1

1+ 5
= √
3+ 5
2
k = (I − KH)F x̂k−1 + Kyk =
x̂+ +
√ x̂+ + Kyk
3 + 5 k−1
≈ 0.382x̂+
k−1 + 0.618yk

El filtro de Kalman resultante es estable.

Ejemplo 6.7
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 6.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 6.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 = F P F ⊤ − F P H ⊤ (HP H ⊤ + R)−1 HP F ⊤ + 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 propio es 1).

Ejemplo 6.8
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 6.2 que la
DARE tiene exactamente una solución semidefinida positiva que resulta en un
filtro de Kalman estable.
Sin embargo, se sabe del Teorema 6.4 que la DARE tiene una solución semi-
definida positiva que resulta en un filtro de Kalman marginalmente estable que
es estable. También se sabe del Teorema 6.3 que esta solución DARE es definida
6.4. Filtrado de estado estacionario 209

positiva. La DARE para este sistema está dada por

P = F P F ⊤ − F P H ⊤ (HP H ⊤ + R)−1 HP F ⊤ + Q
= 4P − 4P (P + 1)−1 P
es decir,
4P 2
3P − =0
P +1
P 2 − 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 = 2 x̂k−1 + 4 yk

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.

6.4.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
210 Capı́tulo 6. Generalización del filtro de Kalman

partir de la Ecuación (6.49), puede escribirse como

Pk+1 = FPk F⊤ − FPk H⊤ (HPk H⊤ + R)−1 HPk F⊤ + Q (6.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 (1.52) para escribir

(HPk H⊤ + R)−1 = R−1 − R−1 H(H⊤ R−1 H + P−1 −1 ⊤ −1


k ) H R (6.60)

Sustituyendo esta expresión en el Ecuación (6.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 (6.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
H R HP k F +Q
{ [ k
]}
= F Pk − Pk H R H Pk − (H R H + Pk ) H R HPk F⊤ + Q
⊤ −1 ⊤ −1 −1 −1 ⊤ −1
{
= F Pk − Pk H⊤ R−1 H(H⊤ R−1 H + P−1 k )
−1
×
[ ⊤ −1 ]} ⊤
× (H R H + P−1 ⊤ −1
k )Pk − H R HPk F +Q
{ ⊤ −1 ⊤ −1 −1 −1
} ⊤
= F Pk − Pk H R H(H R H + Pk ) F +Q
[ ⊤ −1 ] ⊤ −1
= FPk (H R H + Pk ) − H R H (H R H + P−1
−1 ⊤ −1 −1 ⊤
k ) 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⊤ (6.62)

Ahora supóngase que Pk puede ser factorizado como

Pk = Υk Z−1
k (6.63)
6.4. Filtrado de estado estacionario 211

donde Υk y Zk tienen la misma dimensión de Pk . Haciendo esta sustitución


en la Ecuación (6.62) da
[ ]
Pk+1 = (F + QF−⊤ H⊤ R−1 H)Υk + QF−⊤ Zk Z−1 ⊤ −1 −1
k (H R HΥk Zk + I) F
−1 ⊤
[ ]
= (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 (6.64)

Esto muestra que

Υk+1 = (F + QF−⊤ H⊤ R−1 H)Υk + QF−⊤ Zk


(6.65)
Zk+1 = F−⊤ H⊤ R−1 HΥk + F−⊤ Zk

Estas ecuaciones para Υk+1 y Zk+1 se pueden escribir como una ecuación única:
[ ] [ −⊤ ][ ]
Zk+1 F F−⊤ H⊤ R−1 H Zk
=
Υk+1 QF−⊤ F + QF−⊤ H⊤ R−1 H Υk
[ ]
Z
=H k (6.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
[ ]
−1 ⊤ −1 0 I
S H S=H donde S = (6.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
212 Capı́tulo 6. Generalización del filtro de Kalman

cı́rculo unitario). Entonces la forma de Jordan de H puede escribirse como


[ −1 ]
Λ 0
H=Ψ Ψ−1
0 Λ
= ΨDΨ−1 (6.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
Ψ= (6.69)
Ψ21 Ψ22
[ ]
Ψ11
Nótese que la matriz de contiene los vectores propios de H que
Ψ21 2n×n
corresponden a los valores propios estables de H (es decir, [ los valores propios
]
Ψ12
que están dentro del cı́rculo unitario). La matriz de contiene los
Ψ22 2n×n
vectores propios de H que corresponden a los valores propios inestables de H
(es decir, los valores propios que están fuera del cı́rculo unitario). La Ecuación
(6.66) puede escribirse como
[ ] [ ]
Zk+1 −1 Zk
= ΨDΨ
Υk+1 Υk
[ ] [ ]
Zk+1 Zk
Ψ−1 = DΨ−1 (6.70)
Υk+1 Υk
[ ] [ ] [ ]
Ahora se definen las matrices Y1k n×n , Y2k n×n y la matriz Yk 2n×n , como
sigue:
[ ] [ ]
Y1k −1 Zk

Y2k Υk
[ −1 ][ ]
(Ψ )11 (Ψ−1 )12 Zk
=
(Ψ−1 )21 (Ψ−1 )22 Υk
= Yk (6.71)

Nótese en la anterior ecuación que (Ψ−1 )11 no es la inversa de la parte superior


izquierda n × n de la partición de Ψ; la matriz (Ψ−1 )11 es más bien la parte
6.4. Filtrado de estado estacionario 213

superior izquierda n × n de la partición de Ψ−1 (similar enunciado se mantiene


para las otras particiones). Con estas definiciones puede escribirse la Ecuación
(6.70) como

Yk+1 = DYk
[ ] [ −1 ][ ]
Y1,k+1 Λ 0 Y1k
= (6.72)
Y2,k+1 0 Λ Y2k

A partir de esta ecuación se ve que

Y2,k+1 = ΛY2k
(6.73)
Y2k = Λk Y2,0

Similarmente se ve que

Y1k = Λ−k Y1,0 (6.74)

Nótese que la Ecuación (6.71) puede escribirse como


[ ] [ ][ ]
Zk Ψ11 Ψ12 Y1k
=
Υk Ψ21 Ψ22 Y2k
[ ][ ]
Ψ11 Ψ12 Λ−k Y1,0
= (6.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 obtiene
[ ] [ ][ ]
Zk Ψ11 Ψ12 0
=
Υk Ψ21 Ψ22 Λk Y2,0
(6.76)
Zk = Ψ12 Y2k
Υk = Ψ22 Y2k

Resolviendo para Υk para valores grandes de k da

Υk = Ψ22 Ψ−1
12 Zk (6.80)
214 Capı́tulo 6. Generalización del filtro de Kalman

Algoritmo 6.4 El enfoque Hamiltoniano para filtrado de Kalman de estado


estacionario.
1. Formar la matriz Hamiltoniana
[ −⊤ ]
F F−⊤ H⊤ R−1 H
H= (6.77)
QF−⊤ F + QF−⊤ H⊤ R−1 H

◃ Para un problema de filtrado de Kalman de n-estados, la matriz Hamil-


toniana 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
(6.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

P− −1
∞ = Ψ22 Ψ12 (6.79)

◃ Nótese que Ψ12 debe ser invertible para que este método funcione.

Pero también, de la Ecuación (6.63) se sabe que

Υ k = P k Zk (6.81)

Combinando las dos ecuaciones anteriores se muestra que

lı́m Pk = Ψ22 Ψ−1


12 (6.82)
k→∞
6.4. Filtrado de estado estacionario 215

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 por fuera del cı́rculo unitario. En otras pa-
labras, si la matriz Hamiltoniana tiene algún valor propio con magnitud igual
a uno, entonces este análisis fracasa. En el Algoritmo 6.4 se indica el procedi-
miento 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
[Vaughan, 1970], quien también desarrolló soluciones DARE de tiempo variable
usando matrices Hamiltonianas.
Ejemplo 6.9
Demostrar que la matriz H de la Ecuación (6.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 −1 0 −I
S= S =
−I 0 I 0

La transpuesta de la matriz H está dada por


[ ]
F−1 F−1 Q
H⊤ = (6.83)
H⊤ R−1 HF−1 F⊤ + H⊤ R−1 HF−1 Q

Entonces, de la Ecuación (6.67) se obtiene, postmultiplicando ambos miembros


por la matriz hamiltoniana H
[ ]
−1 ⊤ I 0
S H SH = (6.84)
0 I

Realizando el primer triple producto matricial:


[ ][ ][ ]
0 −I F−1 F−1 Q 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
216 Capı́tulo 6. Generalización del filtro de Kalman

Ahora se multiplica el resultado anterior por la matriz H:


[ ] [ ⊤ ][ ]
h11 h12 F +H⊤ R−1 HF−1 Q −H⊤ R−1 HF−1 F−⊤ F−⊤ H⊤ R−1 H
=
h21 h22 F−1 Q F−1 QF−⊤ F + QF−⊤ H⊤ R−1 H
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 6.10
Considérese el sistema escalar de la Ecuación (6.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 F −⊤ H ⊤ R−1 H 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
6.5. Resumen 217

0.8507
P = Ψ22 Ψ−1
12 = = 1.62
0.5257
La ganancia de Kalman de estado estacionario por lo tanto se calcula de la Ecua-
ción (6.19) como
(1.62)(1)
K = P H ⊤ (HP H ⊤ + R)−1 = = 0.62
(1)(1.62)(1) + 1
la cual coincide con la Ecuación (6.45).

6.5. Resumen
En este capı́tulo, se discutió una variedad de generalizaciones del filtro de Kal-
man 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 esfuer-
zo 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 mis-
ma 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 esta-
cionario 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.
Bibliografı́a

Anderson, B. and Moore, J. (1979). Optimal Control. Information and System Sciences
Series. Prentice–Hall, Inc., Englewood Cliffs, New Jersey 07632, USA.
Arnold III, W. F. and Laub, A. J. (1984). Generalized eigenproblem algorithms and software
for algebraic Riccati equations. Proceedings of the IEEE, 72(12): 1746–1754.
Bitmead, R., Gevers, M., Petersen, I., and Kaye, R. (1985). Monotonicity and stabiliza-
bility properties of solutions of the Riccati difference equation: Propositions, lemmas,
theorems, fallacious conjectures and counterexamples. Systems and Control Letters,
5(5): 309–315.
Bryson, A. and Henrikson, L. (1968). Estimation using sampled data containing sequentially
correlated noise. Journal of Spacecraft and Rockets, 5(6): 662–665.
Bryson, A. and Johanson, D. (1965). Linear filtering for time-varying systems using mea-
surements containing colored noise. IEEE Transactions on Automatic Control, AC-
10(1): 4–10.
Bucy, R. and Joseph, P. (1968). Filtering for Stochastic Processes with Applications to
Guidance. Number 23 in Interscience tracts in pure and applied mathematics. John
Wiley & Sons, New York, NY, USA.
Chui, C. and Chen, G. (1987). Kalman Filtering with Real-Time Applications. Springer-
Verlag, New York, USA.
Crassidis, J. L. and Junkins, J. L. (2012). Optimal Estimation of Dynamic Systems. 6000
Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742, USA., 2a edition.
Goodwin, G. and Sin, K. (1984). Adaptive Filtering, Prediction and Control. Prentice Hall,
Englewood Cliffs, New Jersey, USA.
Kailath, T. (1981). Lectures on Wiener and Kalman Filtering. Springer–Verlag, New York,
USA.
Kailath, T., Sayed, A., and Hassibi, B. (2000). Linear Estimation. Prentice-Hall, Upper
Saddle River, New Jersey, USA.
Kalman, R. E. (1960). A new approach to linear filtering and prediction problems. Tran-
sactions of the ASME–Journal of Basic Engineering, 82(Series D): 35–45.
Maybeck, P. (1979). Stochastic Models, Estimation, and Control, volume Volume 1. Acade-
mic Press, New York.

219
220 BIBLIOGRAFı́A

McGarty, T. (1974). Stochastic Systems and State Estimation. John Wiley & Sons, New
York, USA.
Poubelle, M., Petersen, I., Gevers, M., and Bitmead, R. (1986). A miscellany of results
on an equation of Count J. F. Riccati. IEEE Transactions on Automatic Control,
AC-31(7): 651–654.
Simon, D. (2006). Optimal State Estimation: Kalman, H-infinity, and Nonlinear Approaches.
John Wiley & Sons, Inc., New Jersey, USA.
Stear, E. and Stubberud, A. (1968). Optimal filtering for Gauss–Markov noise. International
Journal of Control, 8(2): 123–130.
Stengel, R. (1994a). Optimal Control and Estimation. Dover Publications, Inc., New York.
Stengel, R. (1994b). Optimal Control and Estimation. New York, USA.
Vaughan, D. (1970). A nonrecursive algebraic solution for the discrete Riccati equation.
IEEE Transactions on Automatic Control, 15(5): 597 – 599.
Capı́tulo 7

El filtro de Kalman continuo

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 [Simon,
2006]. 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 [Kalman and Bucy, 1961]. 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 filtra-
do de Kalman para mediciones en tiempo continuo. Sin embargo, todavı́a hay
oportunidades para implementar filtros de Kalman en tiempo continuo (es de-
cir, en circuitos analógicos) [Hughes, 1988]. 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 proporcio-
nan una ventaja sobre los estimadores de tiempo discreto [Balakrishnan, 1987],
[Stengel, 1994]. 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 desarrollado previamente en el Capı́tulo 4 y entonces se lleva al lı́mite
cuando el paso de tiempo se reduce a cero. La Sección 7.1 muestra la relación
entre el ruido blanco de tiempo continuo y el ruido blanco de tiempo discreto,

221
222 Capı́tulo 7. El filtro de Kalman continuo

que es la base para la derivación del filtro de Kalman en tiempo continuo. La


Sección 7.2 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.

7.1. 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.

7.1.1. Ruido del proceso


Considérese el siguiente sistema en tiempo discreto con una matriz de transi-
ción de estado identidad y un tiempo de muestreo T.

xk = xk−1 + vk−1
vk ∼ (0, Q) (7.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 (7.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 v0⊤ + E v1 v1⊤ + · · · + E vk−1 vk−1 ⊤
(7.3)
= 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
(7.4)
= kQ
7.1. Ruido blanco en tiempo discreto y en tiempo continuo 223

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) (7.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 − τ ) (7.6)
T
donde Q y T son los mismos que se encuentran en el sistema de tiempo discreto
de la Ecuación (7.1); δ(t−τ ) es el delta de Dirac. Ahora se calcula la covarianza
de x(t) en la Ecuación (7.5):
{∫ t ∫ t }
{ ⊤
} ⊤
E x(t)x (t) = E v(α)dα v (β)dβ
0 0
∫ t∫ t (7.7)
{ ⊤
}
= E v(α)v (β) dα dβ
0 0

sustituyendo la Ecuación (7.6) en la anterior ecuación da


∫ t∫ t
{ ⊤
} Q
E x(t)x (t) = δ(α − β)dα dβ
0 T
∫ t
0
Q (7.8)
= dβ
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 (7.9)

Comparando ésta con la Ecuación (7.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.
224 Capı́tulo 7. El filtro de Kalman continuo

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 ) (7.10)

lo cual es equivalente a decir que


{ }
E v(t)v⊤ (τ ) = Qc δ(t − τ ) (7.11)

El ruido blanco en tiempo continuo es contrario al sentido común porque v(t)


está correlacionado de forma infinita con v(τ ) en t = τ , pero este tiene correla-
ción cero con sı́ mismo cuando t ̸= τ . 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 [Kailath, 1981].

7.1.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 (7.12)
wk ∼ (0, R)

De las ecuaciones del filtro Kalman en la Sección 4.4, se encuentra que la


covarianza del error de estimación a posteriori está dada por

+ Pk+ R
Pk+1 = (7.13)
Pk+ + R
7.1. Ruido blanco en tiempo discreto y en tiempo continuo 225

De esto se puede demostrar que


P0 R
Pk+ =
kP0 + R
R
lı́m Pk+ = (7.14)
P0 →∞ k
RT
=
tk
La covarianza del error en el tiempo tk es independiente del tiempo de mues-
treo T si
Rc
R= (7.15)
T
donde Rc es alguna constante. Esto implica que

lı́m R = Rc δ(t) (7.16)


T→0

donde δ(t) es la función impulso en tiempo continuo. Esto establece la equi-


valencia 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)
(7.17)
w(t) ∼ (0, Rc )

La Ecuación (7.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 − τ ) (7.18)

7.1.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 2.4 para obtener una simulación discretizada de un sistema de
tiempo continuo ruidoso, con el propósito de implementar un estimador de
226 Capı́tulo 7. El filtro de Kalman continuo

estado de tiempo discreto. Supóngase que se tiene un sistema dado por

ẋ = Ax + Bu + v
y = Cx + w
(7.19)
v ∼ (0, Qc )
w ∼ (0, Rc )

Tanto v(t) y w(t) son ruidos en tiempo continuo y u(t) es una entrada co-
nocida. Este sistema es equivalente aproximadamente al siguiente sistema en
tiempo discreto
∫ T
AT
xk = e xk−1 + e AT
e−Aτ dτ Buk−1 + vk−1
[0 ]
AT
= e xk−1 + e AT
I − e−AT A−1 Buk−1 + vk−1
(7.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 2.4.

7.1.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
(7.21)
v ∼ (0, Qc )
w ∼ (0, Rc )
7.1. Ruido blanco en tiempo discreto y en tiempo continuo 227

Cuando se escribe v ∼ (0, Qc ) significa exactamente lo que está escrito en la


Ecuación (7.11). Cuando se escribe w ∼ (0, Rc ) significa exactamente lo que
está escrito en la Ecuación (7.18). Ahora supóngase que se discretiza el sistema
con un tiempo de muestreo T (ver Sección 2.4). Se obtiene

xk = Fxk−1 + Guk−1 + vk−1


(7.22)
yk = Hxk + wk

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 (7.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 4.4 como

Kk = P−1 ⊤ − ⊤
k H (HPk H + R)
−1
(7.24)

De esto se puede deducir


( )−1
−1 ⊤ − ⊤ Rc
Kk = Pk C CPk C +
T
Kk
= P−1 ⊤ − ⊤
k C (CPk C T + Rc )
−1 (7.25)
T
Kk
lı́m = P−1 ⊤ −1
k C Rc
T→0 T

Las covarianzas del error de estimación fueron deducidas en la Sección 4.4


como

k = (I − Kk H)Pk
P+
(7.26)
P− + ⊤
k+1 = FPk F + Q
228 Capı́tulo 7. El filtro de Kalman continuo

Para valores pequeños de T, de acuerdo con la Ecuación (7.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 ob-


tiene:
[ ]
P−k+1 = (I − K k C)P−
k + AP + ⊤ 2
k A T + A(I − K k C)P −
k + (I − K k C)P − ⊤
k 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 + APk + P k A + Qc − k
T
T T T
Kk CP−kA

− T
T
donde no se han simplificado los dos últimos términos de la derecha para efectos
de tomar el lı́mite.
Tomando el lı́mite cuando T → 0 y usando la Ecuación (7.25) da

P− −
k+1 − Pk
Ṗ = lı́m = −PC⊤ R−1 ⊤
c CP + AP + PA + Qc
(7.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 4.4 se dedujeron las ecuaciones
del filtro de Kalman para x̂ como

x̂− +
k = Fx̂k−1 + Guk−1
− − (7.28)
k = x̂k + Kk (yk − Hx̂k )
x̂+

Si se asume que T es pequeño se puede usar la Ecuación (7.23) para escribir la


7.1. Ruido blanco en tiempo discreto y en tiempo continuo 229

ecuación de actualización de la medida como

k = Fx̂k−1 + Guk−1 + Kk (yk − HFx̂k−1 − HGuk−1 )


x̂+ + +
[ ]
≈ (I + AT)x̂+k−1 + BTuk−1 + Kk yk − C(I + AT)x̂k−1 − CBTuk−1 (7.29)
+

Ahora se sustituye para Kk de la Ecuación (7.25) para obtener

x̂+ + +
k = x̂k−1 + ATx̂k−1 + BTuk−1 +
[ ]
PC⊤ R−1c T yk − Cx̂k−1 − CATx̂k−1 − CBTuk−1
+ +
(7.30)

Substrayendo x̂+
k−1 en ambos lados, dividiendo por T, y tomando el lı́mite
cuando T → 0, da

˙x̂ = lı́m x̂k − x̂k−1


+ +

T→0 T
= Ax̂ + Bu + PC⊤ R−1
c (y − Cx̂) (7.31)

Esto puede escribirse como

x̂˙ = Ax̂ + Bu + K(y − Cx̂)


(7.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 7.1.
Ejemplo 7.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 (7.34) da la ecuación diferencial


para la covarianza como:

Ṗ = −PC⊤ R−1 CP + AP + PA⊤ + Q


230 Capı́tulo 7. El filtro de Kalman continuo

Algoritmo 7.1 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
(7.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 (7.34)
˙x̂ = Ax̂ + Bu + K(y − Cx̂)
Ṗ = −PC⊤ R−1 ⊤
c CP + AP + PA + Qc

Entonces
Ṗ = −P 2 /R
con la condición inicial P (0) = P0 . De esto se puede obtener
dP −dτ
=
P2 R
∫ P (t) ∫ t
1 1
2
dP = − dτ
P (0) P 0 R

( ) t
− P −1 − P0−1 = −
( R )
−1 −1 t
P = P0 +
R
( )
−1 t −1
P = P0 +
R
P0
=
1 + P0 t/R
7.1. Ruido blanco en tiempo discreto y en tiempo continuo 231

lı́m P = 0
t→∞

La Ecuación (7.34) da la ganancia de Kalman como

K = P C ⊤ R−1
P0 /R
=
1 + P0 t/R
lı́m K = 0
t→∞

La Ecuación (7.34) da la ecuación de actualización de estado como

x̂˙ = Ax̂ + Bu + K(y − Cx̂) (7.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 esta-
do 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 Kal-
man 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 7.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 dadas como
ẋ = v
y =x+w
v ∼ (0, Q)
w ∼ (0, R)
232 Capı́tulo 7. El filtro de Kalman continuo

Solución:

Se ve que A = 0 y C = 1. A partir de la actualización de la covarianza de la


Ecuación (7.34) se obtiene

Ṗ = −P C ⊤ R−1 CP + AP + P A⊤ + Q
= −P 2 /R + Q
con la condición inicial P (0) = P0 . De esto se puede obtener
( )
dP = Q − P 2 /R dτ
∫ t ∫ P (t)
dP
dτ = (7.36)
P (0) Q − P /R
2
0
∫ t ∫ P (t)
dP
dτ = √ √ √ √
0 P (0) ( Q + P/ R)( Q − P/ R)
∫ t [∫ ∫ P (t) ]
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 )
e 2 Q/Rt
= √ √
( QR − P )( QR + P0 )
Resolviendo esto para P da
[ √ √ √ ]
√ P0 − QR + ( QR + P0 )e2 Q/Rt
P = QR √ √ √
QR − P0 + ( QR + P0 )e2 Q/Rt

lı́m P = QR 
t→∞

Otro método. Partiendo de la Ecuación (7.36) se obtiene


√ ( ) P
R P
t= tanh −1

Q QR P0
√ [ ( ) ( )]
R −1 P −1 P0
t= tanh √ − tanh √
Q QR QR
7.1. Ruido blanco en tiempo discreto y en tiempo continuo 233

Por lo tanto,
( ) ( ) √
−1 P −1 P Q
tanh √ = tanh √ 0 + t
QR QR R
Resolviendo para P
[ ( ) √ ]
√ −1 P Q
P = QR tanh tanh √ 0 + t
QR R

Recordando que lı́m tanh(a + b) = 1, entonces


b→∞

lı́m P = QR 
t→∞

La ganancia de Kalman se obtiene de la Ecuación (7.34) como


P
K = P C ⊤ R−1 =
√ 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 (7.34) como

x̂˙ = Ax̂ + Bu + K(y − C x̂)


= 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 nivel de confianza en la estimación de los estados.
234 Capı́tulo 7. El filtro de Kalman continuo

7.2. Soluciones alternativas para la ecuación


de Riccati
La ecuación diferencial de Riccati de la Ecuación (7.34) puede ser compu-
tacionalmente 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 [Simon, 2006], [Crassidis and Junkins, 2012]. 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.

7.2.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
Ṗ = Λ̇Y−1 + Λ (Y−1 )
dt
= Λ̇Y−1 − ΛY−1 ẎY−1 (7.37)

donde se ha usado la Ecuación (1.152) para la derivada en el tiempo de Y−1 .


Se postmultiplican ambos lados de la ecuación anterior por Y para obtener

ṖY = Λ̇ − ΛY−1 Ẏ (7.38)

Recordando de la Ecuación (7.34) que la ecuación diferencial para P está dada


por

Ṗ = AP + PA⊤ − PC⊤ R−1 CP + Q (7.39)

Se sustituye ΛY−1 por P en esta ecuación para obtener

Ṗ = AΛY−1 + ΛY−1 A⊤ − ΛY−1 C⊤ R−1 CΛY−1 + Q (7.40)


7.2. Soluciones alternativas para la ecuación de Riccati 235

Post-multiplicando ambos lados de esta ecuación por Y se obtiene

ṖY = AΛ + ΛY−1 A⊤ Y − ΛY−1 C⊤ R−1 CΛ + QY (7.41)

Comparando los miembros de la derecha de las ecuaciones (7.38) y (7.41) se


obtiene

Λ̇ − ΛY−1 Ẏ = AΛ + ΛY−1 A⊤ Y − ΛY−1 C⊤ R−1 CΛ + QY


Λ̇ = AΛ + QY + ΛY−1 (Ẏ + A⊤ Y − C⊤ R−1 CΛ) (7.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 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 (7.43)
Ẏ C R C −A Y Y

donde J se define como


[ ]
A Q
J= (7.44)
C⊤ R−1 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)
(7.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 (7.43) puede resolverse como
[ ] [ ]
Λ(t + T) JT Λ(t)
=e ϕ (7.46)
Y(t + T) Y(t)
236 Capı́tulo 7. El filtro de Kalman continuo

Esta puede escribirse como


[ ] [ ][ ]
Λ(t + T) ϕ11 (T) ϕ12 (T) Λ(t)
= (7.47)
Y(t + T) ϕ21 (T) ϕ22 (T) Y(t)

donde las matrices ϕij están definidas como las cuatro submatrices n × n en
eJT . De la factorizació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)
= (7.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)


(7.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) (7.50)

Sustituyendo Y(t + T) de la Ecuación (7.49) en la Ecuación (7.50) y simplifi-


cando 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) (7.51)

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 (7.52)

Esta puede ser una forma rápida para resolver P en lugar de integrar la ecua-
ció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 7.3
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
7.2. Soluciones alternativas para la ecuación de Riccati 237

sistema y la medida se pueden describir como [Balakrishnan, 1987].

θ̇ = ξ
y =θ+w

[ ] [ ][ ]
θ̇ 0 1 θ
= (7.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 (7.34)


da
Ṗ = AP + PA⊤ − PC⊤ R−1 CP + Q
[ ] [ ]
Ṗ11 Ṗ12 2P12 − P11
2 /R P22 P11 /R
=
Ṗ12 Ṗ22 P22 − P11 P12 /R −P12 2 /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 pro-
cesarse 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

donde la matriz J se calcula como


238 Capı́tulo 7. El filtro de Kalman continuo

[ ]
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) = 
t/R t2 /2R 1 0
−t2 /2R −t3 /6R −t 1
[ ]
ϕ11 (t) ϕ12 (t)
=
ϕ21 (t) ϕ22 (t)

donde los términos ϕij (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 (7.52) como

P(t) = [ϕ11 (t)P(0) + ϕ12 (t)] [ϕ21 (t)P(0) + ϕ22 (t)]−1


[ ] [ ]
P11 (0) tP22 (0) 1 12R2 − 2t3 P22 (0) −6Rt2 P22 (0)
=
0 P22 (0) ∆ 12R2 t + 6t2 P11 (0) 12R2 + 12P11 (0)

donde ∆ está dado como


∆ = 12R2 + P11 (0)P22 (0)t4 + 12P11 (0)tR + 4P22 (0)t3 R
Llevando a cabo la multiplicación y algo de álgebra se obtiene la solución de la
ecuación de Riccati como
[ ]
P11 (t) P12 (t)
P(t) =
P12 (t) P22 (t)
1 [ ]
P11 (t) = 4R P11 (0)P22 (0)t3 + 3P11 (0)R + 3t2 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 P t), algo que no era posible con un enfoque directo para la ecuación
de Riccati. En el caso inicial que la incertidumbre inicial sea infinita, además se
7.2. Soluciones alternativas para la ecuación de Riccati 239

puede simplificar P (t) como

lı́m ∆ = P11 (0)P22 (0)t4


P (0)→∞
[ ]
4R/t 6R/t2
lı́m P (t) =
P (0)→∞ 6R/t2 12R/t3
[ ] [ ]
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. Es-
to 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.

7.2.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 so-
lució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 conduje-
ron 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
[Schmidt, 1981]. 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 implemen-
taciones de algoritmos de longitud de palabra finita, especialmente en sistemas
embebidos. El filtro de raı́z cuadrada se desarrolló con el fin de aumentar efec-
tivamente 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,
240 Capı́tulo 7. El filtro de Kalman continuo

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ΓΓ⊤ + ΓΓ⊤ A⊤ − ΓΓ⊤ C⊤ R−1 CΓΓ⊤ + Q (7.54)

Ahora, premultiplicando ambos lados por Γ−1 y postmultiplicando por Γ−⊤ se


obtiene

Γ−1 ṖΓ−⊤ = Γ−1 Γ̇ + Γ̇⊤ Γ−⊤


= Γ−1 AΓ + Γ⊤ A⊤ Γ−⊤ − Γ⊤ C⊤ R−1 CΓ + Γ−1 QΓ−⊤ (7.55)

Algoritmo 7.2 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)Γ⊤ (0) = P(0) .

2. En cada paso de tiempo calcular Ṗ desde la ecuación diferencial de Ric-


cati, 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 = ΓΓ⊤ [Golub and Van Loan, 1996],
[Moon and Stirling, 2000]. 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
7.3. Filtro de Kalman en tiempo continuo de estado estacionario 241

[Strang, 2006], [Faddeev and Faddeeva, 1963]. Esto es,

Γ−1 Γ̇ = MS
(7.56)
Γ̇⊤ Γ−⊤ = MI

donde MS y MI significan matrices triangular superior y triangular inferior,


respectivamente. De esto se puede obtener

Γ̇ = ΓMS (7.57)

Ahora se pueden usar las ecuaciones (7.55) y (7.56) para encontrar

Γ−1 ṖΓ−⊤ = Γ−1 Γ̇ + Γ̇⊤ Γ−1


= MS + MI (7.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 7.2.
Este es computacionalmente más costoso que una integración directa de la
ecuación diferencial de Riccati, pero también es más estable numéricamente.

7.3. 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 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.
242 Capı́tulo 7. El filtro de Kalman continuo

7.3.1. La ecuación algebraica de Riccati


Recordando de la ecuación (7.34) que la ecuación diferencial de Riccati está
dada como

Ṗ = −PC⊤ R−1 CP + AP + PA⊤ + Q (7.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 (7.60)

Esta es llamada una ecuación algebraica de Riccati (ARE). Para ser más es-
pecı́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 impor-
tante 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 7.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 [Kailath et al., 2000], donde
se da la demostración. Recordando que la ARE está dada como

−PC⊤ R−1 CP + AP + PA⊤ + Q = 0 (7.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 (7.62)


7.3. Filtro de Kalman en tiempo continuo de estado estacionario 243

El filtro de Kalman de estado estacionario se da como

x̂˙ = (A − KC)x̂ + Ky (7.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.
Teorema 7.1
La CARE tiene una solución P semidefinida positiva única si y solo si las siguien-
tes 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 6.1 para filtros de Kalman de tiempo dis-
creto. 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 7.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 6.2 para filtros de Kalman de tiempo


discreto. Este teorema establece las condiciones para la existencia de exacta-
mente una solución CARE estabilizable 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
244 Capı́tulo 7. El filtro de Kalman continuo

de la condición inicial P(0). Si se refuerza la condición de controlabilidad del


Teorema 7.2, se obtiene el siguiente
Teorema 7.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 6.3 para el filtro de Kalman de tiempo dis-
creto. Si se deja la condición de controlabilidad en los dos teoremas anteriores,
se obtiene el siguiente.
Teorema 7.4
La CARE tiene al menos una solución semidefinida positiva P si (A, C) es de-
tectable. Además, al menos una de tales soluciones resulta en un filtro de Kalman
de estado estacionario marginalmente estable.

Este teorema es análogo al Teorema 6.4 para filtros de Kalman de tiempo dis-
creto. 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 ha-
ber 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 [Aoki,
1967], [Bucy and Joseph, 1968], [Kwakernaak and Sivan, 1972]. 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 7.4
Se considera el siguiente sistema de dos estados ([Bucy and Joseph, 1968]):
[ ]
a1 0
ẋ = x+v (7.64)
0 a2
7.3. Filtro de Kalman en tiempo continuo de estado estacionario 245

[ ]
1 0
y= x+w
0 1
[ ]
q11 q12
Q= (7.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 (7.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 (7.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 ̸= a2 y q12 ̸= 0, entonces (A, C) es detectable
y (A, G) es estabilizable. Los resultados del Teorema 7.1, por lo tanto, se aplican a
esta situación. Se puede demostrar [Bucy and Joseph, 1968], 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
[ ]−1/2 (7.68)
p12 = q12 γ1 + γ2 + 2(γ1 γ2 − q12 /r1 r2 )
2 1/2

q11
γ1 = + a21
r1
q22
γ2 = + a22
r2
esto resulta en un filtro de Kalman de estado estacionario estable.
Si a1 = a2 < 0 y q12 ̸= 0, entonces (A, C) es detectable y (A, G) es estabilizable.
Los resultados del Teorema 7.1, por lo tanto, también se aplican a esta situación. Se
puede demostrar [Bucy and Joseph, 1968], que la única solución ARE semidefinida
246 Capı́tulo 7. El filtro de Kalman continuo

positiva en este caso es


p11 = q11 /γ3
p22 = q22 /γ3
p12 = q12 /γ3 (7.69)

γ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 ̸= 0, entonces (A, C) es detectable y (A, G) es con-
trolable sobre el eje imaginario, pero (A, G) es no estabilizable. Los resultados
del Teorema 7.1 no se aplican a esta situación, pero sı́ los del Teorema 7.2. Se
puede demostrar que las ecuaciones (7.68) y (7.69) son soluciones ARE semidefi-
nidas positivas en este caso. Si se integra la Ecuación (7.67) se puede llegar a la
Ecuación (7.68) o a la Ecuación (7.68) como la solución de estado estacionario,
dependiendo de la condición inicial P(0). Sin embargo, solamente una de las solu-
ciones 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 (7.67) para
encontrar la solución de Riccati en estado estacionario, la ganancia de Kalman de
estado estacionario y el estimador de estado estacionario, como sigue
[ ] [ ]
2 0 0 0
P= o
0 2 0 0
K = PC⊤ R−1
[ ] [ ]
2 0 0 0 (7.70)
= 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 po-
sitiva que da un filtro de Kalman inestable. Esto concuerda con el Teorema 7.2.

7.3.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̂) (7.71)


7.3. Filtro de Kalman en tiempo continuo de estado estacionario 247

Tomando la transformada de Laplace a ambos lados de esta ecuación y reor-


denando, se obtiene

(sI − A + KC)x̂(s) = Ky(s)


x̂(s) = (sI − A + KC)−1 Ky(s) (7.72)

La función de transferencia de y(t) a x̂(t) es idéntica a la función de trans-


ferencia del filtro de Wiener [Bucy and Joseph, 1968], [Shanahan, 1982]. 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 [Mendel, 1995].
Ejemplo 7.5
Considérese el sistema escalar dado por

ẋ = −x + v
(7.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
(7.34) con Ṗ = 0, de la cual se obtiene
√ √
x̂˙ = − 3x̂ + ( 3 − 1)y (7.74)
Tomando la transformada de Laplace de este estimador da
√ √
(s + 3)X̂(s) = ( 3 − 1)Y (s) (7.75)
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) = √ (7.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 (7.77)
Ahora se va a obtener el espectro de potencia del estado tomando la trasformada
248 Capı́tulo 7. El filtro de Kalman continuo

de Laplace de la Ecuación (7.73). Esto da


sX(s) = −X(S) + W (s)
1 (7.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 (3.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 (7.79)
ω +1
El filtro de Wiener causal para una señal con este espectro de potencia, conta-
minado por ruido de medición blanco con un espectro de potencia unitario, se
obtuvo en el Ejemplo 3.9. Se encontró que el filtro de Wiener era idéntico al filtro
de Kalman de estado estacionario de la Ecuación (7.77). Este ejemplo sirve pa-
ra ilustrar la equivalencia del filtrado Wiener y el filtrado de Kalman de estado
estacionario.

7.4. 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)
(7.80)
y = Cx + w
w ∼ N(0, R)

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
7.4. Dualidad 249

costo
∫ tf { }
Je = E (x − x̂)⊤ (x − x̂) dt (7.81)
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
(7.82)
Ke = Pe C⊤ R−1
x̂˙ = Ax̂ + Ke (y − Cx̂)

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 (7.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
∫ tf

( ⊤ )
Jc = x ϕx|tf + x Qx + u⊤ Ru dt (7.84)
0

ϕ, Q y R (que se supone son matrices definidas positivas simétricas) propor-


cionan la ponderación especificada por el usuario para el ı́ndice de desempeño.
El controlador óptimo se da como

Pc (tf ) = ϕ(tf )
Ṗc = −A⊤ Pc − Pc A + Pc CR−1 C⊤ Pc − Q
(7.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(tf ). Téngase en cuenta
las relaciones entre la solución de estimación óptima de la Ecuación (7.82) y la
solución de control óptimo de la Ecuación (7.85). Las ecuaciones diferenciales
250 Capı́tulo 7. El filtro de Kalman continuo

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 [Kalman, 1960], [Kalman and
Bucy, 1961]. 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.

7.5. Resumen
En este capı́tulo, se ha deducido el filtro de Kalman de tiempo continuo me-
diante 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 [Kalman and Bucy, 1961] 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’Alembert y Adrien Legendre en el siglo XVIII. La ecuación fue por
primera vez llamada “la ecuación de Riccati” por d’Alembert en 1763 [Watson,
1944].
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 acepta-
ble. Por lo tanto, el ruido blanco de tiempo continuo puede ser aceptado como
una aproximación a la realidad. Esto corresponde a muchas otras aproxima-
7.5. Resumen 251

ciones 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 , y tiene una relación dual interesante para un control
óptimo lineal cuadrático.
Bibliografı́a

Aoki, M. (1967). Optimization of Stochastic Systems. Topics in Discrete-Time Systems.


Number 32 in Mathematics in Science and Engineering. Academic Press, 111 Fifth
Avenue, New York, NY, 10003.
Balakrishnan, A. (1987). Kalman Filtering Theory. New York, USA.
Bucy, R. and Joseph, P. (1968). Filtering for Stochastic Processes with Applications to
Guidance. Number 23 in Interscience tracts in pure and applied mathematics. John
Wiley & Sons, New York, NY, USA.
Crassidis, J. L. and Junkins, J. L. (2012). Optimal Estimation of Dynamic Systems. 6000
Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742, USA., 2a edition.
Faddeev, D. and Faddeeva, V. (1963). Computational Methods of Linear Algebra. W. H.
Freeman and Company, San Francisco, USA.
Golub, G. and Van Loan, C. (1996). Matrix Computations. The Johns Hopkins University
Press, 2715 North Charles Street, Baltimore, Maryland 21218-4319, USA, 3a edition.
Hughes, R. (1988). Analog Automatic Control Loops in Radar and EW. Dedham, Massa-
chusetts, USA.
Kailath, T. (1981). Lectures on Wiener and Kalman Filtering. Springer–Verlag, New York,
USA.
Kailath, T., Sayed, A., and Hassibi, B. (2000). Linear Estimation. Prentice-Hall, Upper
Saddle River, New Jersey, USA.
Kalman, R. and Bucy, R. (1961). New results in linear filtering and prediction theory. ASME
Journal of Basic Engineering, 83: 95–108.
Kalman, R. E. (1960). A new approach to linear filtering and prediction problems. Tran-
sactions of the ASME–Journal of Basic Engineering, 82(Series D): 35–45.
Kwakernaak, H. and Sivan, R. (1972). Linear Optimal Control Systems. John Wiley & Sons,
Inc., New York, USA.
Mendel, J. (1995). Lessons in Estimation Theory for Signal Processing, Communications,
and Control. Prentice Hall P T R Prentice-Hall, Inc., A Pearson Education Company
Upper Saddle River, NJ 07458, USA., 2a edition.
Moon, T. and Stirling, W. (2000). Mathematical Methods and Algorithms for Signal Proces-
sing. Prentice-Hall, Upper Saddle River, New Jersey, USA.

253
254 BIBLIOGRAFı́A

Schmidt, S. (1981). The Kalman filter: Its recognition and development for aerospace appli-
cations. Journal of Guidance and Control, 4(1): 4–7.
Shanahan, W. (1982). Circuit models for prediction, Wiener filtering, Levinson and Kalman
filters for ARMA time series. In IEEE International Conference on Acoustics, Speech,
and Signal Processing ICASSP’82, volume 7, pages 266 – 269.
Simon, D. (2006). Optimal State Estimation: Kalman, H-infinity, and Nonlinear Approaches.
John Wiley & Sons, Inc., New Jersey, USA.
Stengel, R. (1994). Optimal Control and Estimation. New York, USA.
Strang, G. (2006). Linear Algebra and its Applications. Thomson Corporation, Belmont,
CA, USA, 4a edition.
Watson, G. (1944). A Treatise on the Theory of Bessel functions. Cambridge University
Press, Cambridge, United Kingdom, 2a edition.
Capı́tulo 8

El filtro de Kalman no lineal

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 re-
lació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, enton-
ces la aproximación lineal se rompe. Realmente no existen sistemas lineales.
Sin embargo, muchos sistemas tienen una respuesta lo suficientemente cerca-
na 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

255
256 Capı́tulo 8. El filtro de Kalman no lineal

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.

8.1. 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)
(8.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 fun-
ciones 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 repre-
sentan 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 tra-
yectoria 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 (8.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 (8.2)
8.1. El filtro de Kalman linealizado 257


∂h ∂h
y ≈ h(x0 , w0 , t) + (x − x0 ) + (w − w0 )
∂x 0 ∂w 0
= h(x0 , w0 , t) + C∆x + M∆w (8.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 (8.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 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)
(8.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
(8.5)
∆y = y − y0
258 Capı́tulo 8. El filtro de Kalman no lineal

Algoritmo 8.1 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)
(8.6)
y = h(x, w, t) w ∼ (0, R)

La trayectoria nominal se conoce de antemano:

ẋ0 = f (x0 , u0 , 0, t)
(8.7)
y0 = h(x0 , 0, t)

2. El filtro de Kalman se inicializa como

0 = E {x0 }
x̂+
{ } (8.8)
+ ⊤
P+0 = E (x 0 − 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
(8.9)
∂h ∂h
C= M=
∂x 0 ∂w 0

4. Calcular las siguientes matrices:

Q̃ = LQL⊤ R̃ = MRM⊤ (8.10)

5. Definir ∆y como la diferencia entre la medida real y la medida nominal y0 :

∆y = y − y0 (8.11)

6. Ejecutar las siguientes ecuaciones del filtro de Kalman:

∆x̂(0) = 0
{ }
P(0) = E [∆x(0) − ∆x̂(0)] [∆x(0) − ∆x̂(0)]⊤
∆x̂˙ = A∆x̂ + K(∆y − C∆x̂) (8.12)
K = PC⊤ R̃−1
Ṗ = AP + PA⊤ + Q̃ − PC⊤ R̃−1 CP

7. Estimar el estado como sigue

x̂ = x0 + ∆x̂ (8.13)
8.2. Filtro de Kalman extendido 259

Con estas definiciones las ecuaciones (8.2) y (8.3) se convierten en

∆ẋ = A∆x + Lv
= A∆x + ṽ (8.14)
ṽ ∼ (0, Q̃), Q̃ = LQL⊤

∆y = C∆x + Mw
= C∆x + w̃ (8.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
{ }
P(0) = E [∆x(0) − ∆x̂(0)] [∆x(0) − ∆x̂(0)]⊤
∆x̂˙ = A∆x̂ + K(∆y − C∆x̂) (8.16)
⊤ −1
K = PC R̃
Ṗ = 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 (8.2). Sin embargo, si los errores
de linealización son pequeños entonces P será aproximadamente igual a la
covarianza del error de estimación. El filtro de Kalman linealizado se resume
en el Algoritmo 8.1.

8.2. 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
260 Capı́tulo 8. El filtro de Kalman no lineal

del sistema no lineal alrededor de una trayectoria nominal. Surge entonces la


siguiente pregunta: ¿cómo se conoce la trayectoria de estado nominal? En al-
gunos 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 alrede-
dor 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
[Bellantoni and Dodge, 1967]. El procedimiento para el cálculo del filtro de
Kalman extendido se resume en el Algoritmo 8.2.
Ejemplo 8.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 como:

−R ωλ ua + q1
i̇a = ia + sen θ +
L L L
−R ωλ ub + q2
i̇b = ib − cos θ +
L L L (8.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
⊤ ⊤
x = [x1 x2 x3 x4 ] = [ia ib ω θ] (8.22)
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 Ω, inductancia 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.
8.2. Filtro de Kalman extendido 261

Algoritmo 8.2 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)
(8.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̂
(8.18)
∂h ∂h
C= M =
∂x x̂ ∂w x̂

3. Calcular las siguientes matrices:

Q̃ = LQL⊤
(8.19)
R̃ = MRM⊤

4. Ejecutar las siguientes ecuaciones del filtro de Kalman:

x̂(0) = E {x(0)}
{ }
P(0) = E [x(0) − x̂(0)] [x(0) − x̂(0)]⊤
x̂˙ = f (x̂, u, v0 , t) + K[y − h(x̂, w0 , t)] (8.20)
K = PC⊤ R̃−1
Ṗ = AP + PA⊤ + Q̃ − PC⊤ R̃−1 CP

donde los valores de ruido nominal están dados como v0 = 0 y w0 = 0

La matriz A de derivadas parciales se obtiene como


 
R λs4 x3 λc4
 −L 0
L L 
 
 
 R λc4 x3 λs4 
 0 − − 
∂f  
A= = L L L  (8.23)
∂x   3 λs

 4 3 λc4 f 3 λ(x1 c4 + x2 s4 ) 

− − − 
 2 J 2 J J 2 J 
 
0 0 1 0
262 Capı́tulo 8. El filtro de Kalman no lineal

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)
(8.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)
(8.25)
ub (t) = cos(2πt)

0.4

0.2

Corriente B [A]
0

−0.2

−0.4
0.5 1 1.5 0 0.5 1 1.5

7
6 Verdadero
Estimado
5
Posición (Rad)

4
3
2
1
0
0.5 1 1.5 0 0.5 1 1.5
Tiempo [s] Tiempo [s]

Figura 8.1.: Resultados de la simulación del filtro de Kalman exten-


dido 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 per-
turbaciones del torque de carga (q3 ) tiene una desviación estándar de 0.5 rad/s2 .
Las medidas se obtienen en forma continua.
8.2. Filtro de Kalman extendido 263

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 8.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 8.1.

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

Tabla 8.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.
La matriz P cuantifica la incertidumbre en los estimados de estados. Si las no li-
nealidades 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 8.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.

8.2.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 si-
tuació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
264 Capı́tulo 8. El filtro de Kalman no lineal

se requiere en un EKF de tiempo continuo. Ası́, las dinámicas están frecuen-


temente 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 )
(8.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̂k−1 , uk−1 , 0) + (xk−1 − x̂k−1 ) +
+
vk−1
∂x x̂+ ∂v x̂+
k−1 k−1

= fk−1 (x̂+ + Fk−1 (xk−1 −


k−1 , uk−1 , 0) 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 (8.27)

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 , uk , 0) − Fk x̂k
ũk = fk (x̂+ +
(8.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) + (xk − x̂k ) + wk (8.29)
∂x x̂− ∂w x̂−
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 (8.30)

Las expresiones Hk y Mk están definidas en la Ecuación (8.29).


8.2. Filtro de Kalman extendido 265

Algoritmo 8.3 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 )


(8.31)
yk = hk (xk , wk ) wk ∼ (0, Rk )

2. Inicializar el filtro como sigue:

0 = E {x0 }
x̂+
{ } (8.32)
+ ⊤
P+0 = E (x 0 − 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̂+
k−1 (8.33)
∂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
(8.34)
x̂− +
k = fk−1 (x̂k−1 , uk−1 , 0)

Calcular las siguientes matrices de derivadas parciales:



∂hk
Hk =
∂x x̂−
k (8.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− ⊤ − ⊤
k Hk (Hk Pk Hk + Mk Rk Mk )
⊤ −1


[ −
]
k = x̂k + Kk yk − hk (x̂k , 0)
x̂+ (8.36)
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 (4.54).
266 Capı́tulo 8. El filtro de Kalman no lineal

La señal conocida zk y la señal de ruido w̃k se definen como

zk = hk (x̂− −
k , 0) − Hk x̂k
(8.37)
w̃k ∼ (0, Mk Rk M⊤
k)

Se tiene un sistema en espacio de estado lineal en la Ecuación (8.27) y una


medición lineal en la Ecuación (8.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− ⊤ − ⊤
k Hk (Hk Pk Hk + Mk Rk Mk )
⊤ −1

x̂−
k= fk−1 (x̂+
k−1 , uk−1 , 0)
zk= hk (x̂k , 0) − Hk x̂−

k (8.38)
x̂+= x̂k + Kk (yk − Hk x̂−

k − zk )
k
[ ]
= x̂k + Kk yk − hk (x̂−

k , 0)

k = (I − Kk Hk )Pk
P+

El EKF de tiempo discreto puede resumirse en el Algoritmo 8.3.

8.2.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.
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 )
(8.39)
v(t) ∼ (0, Q)
wk ∼ (0, Rk )

El ruido del proceso v(t) es ruido blanco en tiempo continuo con covarianza Q
8.2. Filtro de Kalman extendido 267

y el ruido de medición wk es ruido blanco en tiempo discreto con covarian-


za 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 8.2 utilizando la Ecuación (8.20).
Recuérdese que la expresión Ṗ de la Ecuación (8.20) está dada como

Ṗ = AP + PA⊤ + LQL⊤ − PC⊤ (MRM⊤ )−1 CP. (8.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)
(8.41)
Ṗ = AP + PA⊤ + LQL⊤

donde A y L están dados en la Ecuación (8.18). Las anteriores ecuaciones


− −
propagan x̂ desde x̂+ +
k−1 hasta x̂k y P desde Pk−1 hasta Pk . Nótese que en la
anterior ecuación v0 es el ruido nominal del proceso; esto es, v0 (t) = 0.
En cada tiempo de medición, se actualiza el estimado del estado y de la cova-
rianza como se dedujo en el filtro de Kalman de tiempo discreto (Capı́tulo 4):

Kk = P− ⊤ − ⊤
k Hk (Hk Pk Hk + Mk Rk Mk )
⊤ −1


[ −
]
k = x̂k + Kk yk − hk (x̂k , v0 )
x̂+ (8.42)
P+
k = (I − Kk Hk )P−
k (I

− Kk H k ) + Kk Mk Rk M⊤ ⊤
k Kk

donde w0 es el ruido nominal de medición; esto es, w0 = 0. Hk es la deri-


vada 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 [Athans and Safonov,
1978].
El EKF hı́brido se encuentra resumido en el Algoritmo 8.4.
268 Capı́tulo 8. El filtro de Kalman no lineal

Algoritmo 8.4 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 )
(8.43)
v(t) ∼ (0, Q)
wk ∼ (0, Rk )

2. Inicializar el filtro como sigue:

0 = E {x0 }
x̂+
{ } (8.44)
+ ⊤
P+0 = E (x 0 − 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)
(8.45)
Ṗ = AP + PA⊤ + LQL⊤

donde A y L están dadas en la Ecuación (8.18). Este proceso de integra-


ció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− ⊤ − ⊤
k Hk (Hk Pk Hk + Mk Rk Mk )
⊤ −1


[ −
]
k = x̂k + Kk yk − hk (x̂k , 0)
x̂+ (8.46)
P+
k = (I − Kk Hk )P−
k (I

− Kk Hk ) + Kk Mk Rk M⊤ ⊤
k 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 P+k , como se deduce de la Ecuación (4.54).
8.3. El filtro de Kalman unscented 269

8.3. El filtro de Kalman unscented


Como se señaló anteriormente, el filtro de Kalman extendido (EKF) es el algo-
ritmo de estimació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 covarianza de estado.
Esta sección trata sobre el filtro de Kalman unscented (UKF), una extensión
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 [IEEE, 2012], su
creador Jeffrey Uhlmann, explicó que se le ocurrió el nombre después de obser-
var 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.

8.3.1. Media y covarianza de trasformaciones no


lineales
En esta subsección, se mostrará como las aproximaciones de linealización pue-
den 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 para entender el tipo de problemas que pueden surgir en el EKF.
Considérese la transformación no lineal
y1 = r cos θ
(8.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) (8.48)

donde y es la salida de los elementos de h(x). El vector x de dos elementos se


270 Capı́tulo 8. El filtro de Kalman no lineal

define como
[ ]
r
x= (8.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 (8.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 (8.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
= (8.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̃
(8.51)
θ = θ̄ + θ̃

donde r̃ y θ̃ son simplemente las desviaciones de r y θ de sus medias.


8.3. El filtro de Kalman unscented 271

Se puede realizar un análisis de la media de y1 como sigue:


{ }
ȳ1 = E {r cos θ} = E (r̄ + r̃) cos(θ̄ + θ̃)
{ }
= E (r̄ + r̃)(cos θ̄ cos θ̃ − sen θ̄ sen θ̃) (8.52)

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 (8.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(θ̄ + θ̃)
{ }
= E (r̄ + r̃)(sen θ̄ cos θ̃ + cos θ̄ sen θ̃) (8.54)

Llevando a cabo la multiplicación, recordando que r̃ y θ̃ son independientes


con pdf s simétricas y tomando el valor esperado, resulta en
{ }
ȳ2 = E cos θ̃ (8.55)

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
= (8.56)
θm
Se esperaba obtener 1 por respuesta en confirmación de la Ecuación (8.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
272 Capı́tulo 8. El filtro de Kalman no lineal

1.01

Media
1 linealizada

0.99

0.98

Media no
2

0.97
y

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 8.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.

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 8.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 (2.9) que y = h(x) puede ser ampliado en una serie
de Taylor alrededor de x̄ como sigue
1 2 1
y = h(x) = h(x̄) + Dx̃ h + Dx̃ h + Dx̃3 h + · · · (8.57)
2! 3!
8.3. El filtro de Kalman unscented 273

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 2 1 3
= h(x̄) + E Dx̃ h + Dx̃ h + Dx̃ h + · · · (8.58)
2! 3!

Usando Dx̃ h de la Ecuación (2.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 (8.59)

porque E {x̃i } = 0. Igualmente, se puede ver que


{( n )3 }
{ 3 } ∑

E Dx̃ h = E x̃i h(x)
∂xi
i=1 x=x̄
=0 (8.60)

Esto es porque la suma en la ecuación anterior se compone sólo de momentos


de tercer orden [E {x̃31 } , E {x̃21 x̃2 } , etc.]. Estos valores esperados siempre serán
cero [Simon, 2006]. Igualmente todos los términos impares en la Ecuación (8.58)
serán cero, lo cual conduce a la simplificación
1 { 2 } 1 { 4 }
ȳ = h(x̄) + E Dx̃ h + E Dx̃ h + · · · (8.61)
2! 4!
Esto muestra por qué el cálculo de la media en la Ecuación (8.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
274 Capı́tulo 8. El filtro de Kalman no lineal

la Ecuación (8.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
i=1
( x=x̄
)
1 ∂ 2
h(x) ∂ 2
h(x) ∂ 2
h(x)
= h(x̄) + E (x̃i )
2 + 2E (x̃1 x̃2 ) + E (x̃2 )
2
2 ∂x21 x=x̄ ∂x1 x2 x=x̄ ∂x22 x=x̄
([ ] [ ] [ ] )
1 0 0 2 −r cos θ
= h(x̄) + + + σθ
2 0 0 −r sen θ x=x̄
[ ] [ ]
0 1 0
= + σθ2 (8.62)
1 2 −1

por lo tanto se obtiene

ȳ1 ≈ 0 (8.63)
σθ2 E (θ̃)2
ȳ2 ≈ 1 − =1− (8.64)
2 2
Nótese que se encontró el valor exacto de ȳ2 en la Ecuación (8.55) siendo igual
a E (cos θ̃). La expresión aproximada que se encuentra en la Ecuación (8.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 − ȳ)⊤ (8.65)

Se puede usar las ecuaciones (8.57) y (8.61) para escribir (y − ȳ) como
[ ] [ ]
1 2 1 1
y − ȳ = h(x̄) + Dx̃ h + Dx̃ h + · · · − h(x̄) + E (Dx̃ h) + E (Dx̃ h) + · · ·
2 4
2! 2! 4!
[ ] [ ]
1 2 1 1
= Dx̃ h + Dx̃ h + · · · − E (Dx̃ h) + E (Dx̃ h) + · · ·
2 4
(8.66)
2! 2! 4!
8.3. El filtro de Kalman unscented 275

Se sustituye esta expresión en la Ecuación (8.65) y se usa el mismo razona-


miento 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(Dx̃3 h)⊤ Dx̃2 h (Dx̃2 h)⊤ Dx̃3 h(Dx̃ h)⊤
Py = E Dx̃ h(Dx̃ h) + E + +
3! 2! 2! 3!
( 2 ) ( 2 )⊤
Dx̃ h Dx̃ h
+E E + ··· (8.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̃j

i=1
∂xi x=x̄ j=1
∂xj x=x̄ 
{ }
∑ ∂h ∂h⊤
=E x̃i x̃j
∂x i
∂x j

i,j x=x̄ x=x̄

= Hi E (x̃i x̃j )H⊤ j
i,j

= Hi Pij H⊤
j (8.68)
i,j

donde el vector de derivadas parciales Hi y el valor esperado Pij están definidos


por la anterior ecuación. Recordando de la Ecuación (1.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⊤ (8.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 (8.68) es la i-ésima co-
{ ⊤ }(8.68) es el elemento de la i-ésima fila y la
lumna de H y Pij en la Ecuación
j -ésima columna de P = E x̃x̃ . Se puede usar esto en la Ecuación (8.67)
para escribir la covarianza de una transformación no lineal y = h(x) como
276 Capı́tulo 8. El filtro de Kalman no lineal

sigue:
{ }
⊤ Dx̃ h(Dx̃3 h)⊤ Dx̃2 h (Dx̃2 h)⊤ Dx̃3 h(Dx̃ h)⊤
Py = HPH + E + + +
3! 2! 2! 3!
( 2 ) ( 2 )⊤
Dx̃ h Dx̃ h
+E E + ··· (8.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 aproxima-
damente 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 co-
mienzo 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
= (8.71)
0 σθ2
8.3. El filtro de Kalman unscented 277

Esto da Py como sigue

Py ≈ HPx H⊤
[ ][ ][ ] [ 2 ]
0 −1 σr2 0 0 1 σθ 0
= = (8.72)
1 0 0 σθ2 −1 0 0 σr2

Esta es una aproximación de Py . Sin embargo, un análisis más riguroso de Py


puede realizarse usando las ecuaciones (8.47), (8.53) y (8.56):
{ }
Py = E (y − ȳ)(y − ȳ)⊤
  ⊤ 

 r cos θ r cos θ 

=E  sen θm   sen θ m 
 r sen θ − θ
 r sen θ −
θ


m m
{[ 2 ]}
r cos2 θ rϕ cos θ
=E (8.73)
rϕ cos θ ϕ2
( )
sen θm
donde ϕ = r sen θ − . De nuevo usando la suposición que r y θ son
θm
independientes, 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
{ }
{ } 1 − E cos 2 θ̃
E cos2 θ =
2
{ } sen 2θ
m
E cos 2θ̃ =
2θm
{ } sen θ
m
E {sen θ} = E cos θ̃ = (8.74)
θm
Se pueden usar estas expresiones en la Ecuación (8.73) para calcular
 ( ) 
1
(1 + σ 2
) 1 − sen 2θm
0
2 r 2θm

Py =  ( )  (8.75)
2
0 1
2
(1 + σr
2
) 1 − sen 2θm
2θm
+ sen θm
θ2
m
278 Capı́tulo 8. 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
y
1

Figura 8.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.

Esta matriz define una elipse bidimensional, donde Py (1, 1) especı́fica el cua-
drado de la longitud del eje y1 , y Py (2, 2) especı́fica el cuadrado de la longitud
del eje y2 . La Figura 8.3 muestra la covarianza linealizada definida por la
Ecuación (8.72), y la covarianza exacta definida por la Ecuación (8.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 li-
nealizada 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.

8.3.2. Transformaciones unscented


El problema con los sistemas no lineales es que estos son difı́ciles de trans-
formar a una función de densidad de probabilidad a través de una función
8.3. El filtro de Kalman unscented 279

no lineal general. En la anterior sección, se pudo obtener transformaciones no


lineales de la media y la covarianza, pero solamente por medio de una trans-
formación bidimensional simple. El filtro de Kalman extendido trabaja sobre
el principio de que una transformación linealizada de medias y covarianzas es
aproximadamente 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 fundamen-
tales. 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 encon-
trar 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


(√ )⊤
(i)
x̃ = nP i = 1, ..., n (8.76)
i
(√ )⊤
x̃(n+i) = − nP i = 1, ..., n
i

√ (√ )⊤(√ )
donde nP es la raı́z cuadrada de la matriz nP tal que nP nP = nP,
(√ ) √
y nP es la i-ésima raı́z de nP. En las próximas dos subsecciones, se
i
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.
280 Capı́tulo 8. El filtro de Kalman no lineal

Aproximación de la media

Supóngase que se tiene un vector x con una media conocida x̃ y una covarian-
za 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 (8.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 (8.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) (8.78)
i=1

Los coeficientes ponderados W (i) están definidos como sigue:


1
W (i) = i = 1, ..., 2n (8.79)
2n
La Ecuación (8.78) puede por lo tanto ser escrita como

1 ∑ (i)
2n
ȳu = y (8.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 (2.9) para expandir cada
y(i) en la Ecuación (8.80) en una serie de Taylor alrededor de x̄. Esto resulta
en
2n ( )
1 ∑ 1 2
ȳu = h(x̄) + Dx̃(i) h + Dx̃(i) h + · · ·
2n i=1 2!
2n ( )
1 ∑ 1 2
= h(x̄) + Dx̃(i) h + Dx̃(i) h + · · · (8.81)
2n i=1 2!
8.3. El filtro de Kalman unscented 281

Nótese ahora que para cualquier entero k ≥ 0 se tiene


[( n ]
∑2n ∑2n ∑ (j) ∂ )2k+1

Dx̃2k+1 h = x̃ h(x)
(j) i
∂x i
j=1 j=1 i=1 x=x̄
[ n ]
( )
∑ ∑ (j) 2k+1 ∂ 2k+1
2n

= x̃i h(x)
∂x 2k+1
j=1 i=1 i x=x̄
[ 2n ]
∑ ∑ ( (j) )2k+1 ∂ 2k+1
n

= x̃i 2k+1
h(x)
i=1 j=1
∂x i x=x̄

=0 (8.82)

ya que desde la Ecuación (8.76) x̃(j) = −x̃(n+j) j = 1, . . . , n. Por lo tanto,


todos los términos impares en la Ecuación (8.81) se evalúan en cero y se tiene
( )
1 ∑
2n
1 2 1 4
ȳu = h(x̄) + D (i) h + Dx̃(i) h + · · ·
2n i=1 2! x̃ 4!
2n ( )
1 ∑ 1 2 1 ∑ 1 4
2n
1 6
= h(x̄) + D (i) h + D (i) h + Dx̃(i) h + · · ·
2n i=1 2! x̃ 2n i=1 4! x̃ 6!
(8.83)

Ahora se observa en el segundo término sobre el lado derecho de la anterior


ecuación:
( n )2
1 ∑ 1 2
2n
1 ∑ 1 ∑ (k) ∂
2n

Dx̃(i) h = x̃i h(x)
2n i=1 2! 2n k=1 2! i=1 ∂xi
x=x̄

1 ∑2n ∑ n
∂ 2
h(x)
(k) (k)
= x̃i x̃j
4n k=1 i,j=1 ∂xi ∂xj x=x̄

1 ∑ ∑ (k) (k) ∂ 2
n 2n
= x̃i x̃j h(x)
4n i,j=1 k=1 ∂xi ∂xj x=x̄

1 ∑ ∑ (k) (k) ∂ 2
n n
= x̃i x̃j h(x)
2n i,j=1 k=1 ∂xi ∂xj x=x̄
282 Capı́tulo 8. El filtro de Kalman no lineal

donde de nuevo se ha usado a partir de la Ecuación (8.76) el hecho que x̃(k) =


(k) (k)
−x̃(k+n) (k = 1, . . . , n). Se sustituye para x̃i y x̃j desde la Ecuación (8.76)
en la anterior ecuación para obtener

1 ∑ ∑ (k) (k) ∂ 2 h(x) 1 ∑ ∑ (√ ) (√ ) ∂ 2 h(x)
n n n n
x̃ x̃ = nP nP
2n i,j=1 k=1 i j ∂xi ∂xj x=x̄ 2n i,j=1 k=1 ki

kj ∂xi ∂xj x=x̄

1 ∑ ∂ 2 h(x)
n
= nPij
2n i,j=1 ∂xi ∂xj x=x̄

1 ∑ ∂ 2 h(x)
n
= Pij (8.84)
2n i,j=1 ∂xi ∂xj x=x̄

La Ecuación (8.83) por lo tanto puede escribirse como


2n ( )
1∑ ∂ 2 h 1 ∑ 1 4
n
1 6
ȳu = h(x̄) + Pij + D (i) h + Dx̃(i) h + · · ·
2 i,j=1 ∂xi ∂xj x=x̄ 2n i=1 4! x̃ 6!
(8.85)

Ahora recordando que la media real de y está dada por la Ecuación (8.61)
como
1 { 2 } 1 { 4 }
ȳ = h(x̄) + E Dx̃ h + E Dx̃ h + · · · (8.86)
2! 4!
8.3. El filtro de Kalman unscented 283

Observando en el segundo término sobre el lado derecho de la anterior ecuación.


Esta puede ser escrita como sigue:
{( n )2 }
{ } ∑
1 1 ∂
E Dx̃ h = E
2
x̃i h(x)
2! 2! ∂xi
i=1
{ n }
x=x̄

1 ∑ 2
∂ h
= E x̃i x̃j
2! i,j=1
∂xi ∂xj x=x̄

1 ∑ ∂ 2 h
n
= E {x̃i x̃j }
2! i,j=1 ∂xi ∂xj x=x̄

1 ∑ ∂ 2 h
n
= Pij (8.87)
2! i,j=1 ∂xi ∂xj x=x̄

Por lo tanto se ve que ȳ puede escribirse desde la Ecuación (8.86) como



1∑ ∂ 2 h 1 { } 1 { }
n
ȳ = h(x̄) + Pij + E Dx̃4 h + E Dx̃6 h + · · · (8.88)
2 i,j=1 ∂xi ∂xj x=x̄ 4! 6!

Comparando ésta con la Ecuación (8.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 (8.76),(8.77) y (8.80),
entonces el valor de ȳu coincidirá con la media real de y hasta el tercer or-
den. La mayor dificultad con este algoritmo es la raı́z cuadrada de la matriz
que es requerida en la Ecuación (8.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 (re-
lativo 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
284 Capı́tulo 8. El filtro de Kalman no lineal

usar la siguiente ecuación:


2n
Pu = W (i) (y(i) − yu )(y(i) − yu )⊤
i=1

1 ∑ (i)
2n
= (y − yu )(y(i) − yu )⊤ (8.89)
2n i=1

donde los vectores y(i) son los puntos sigma transformados que fueron calcula-
dos en la Ecuación (8.77), y los coeficientes de ponderación W (i) son los mismos
que las dados en la Ecuación (8.79). Expandiendo esta aproximación usando
las ecuaciones (2.9) y (8.83) da lo siguiente:

1 ∑[ ][ ]⊤
2n
Pu = h(x(i) − yu ) h(x(i) − yu )
2n i=1
∑2n [
1 1
= h(x̄) + Dx̃(i) h + Dx̃2 (i) h + Dx̃3 (i) h+ · · ·
i=1
2! 3!
2n ( )]
1 ∑ 1 2 1 4
− h(x̄) − D (j) h + Dx̃(j) h + · · · [· · · ]⊤ (8.90)
2n j=1 2! x̃ 4!

Efectuado la multiplicando se obtiene:


{
1 ∑
2n
1 2
Pu = (Dx̃(i) h)(Dx̃(i) h)⊤ +Υ1 +Υ⊤ 1 + (Dx̃(i) h)(Dx̃2 (i) h)⊤ −Υ2 −Υ⊤ 2
2n i=1 4!
( )( )⊤  ( )⊤ 
1 ∑ ∑ 1 ∑
+ 2 Dx̃2 (i) h Dx̃2 (i) h −  Dx̃2 (i) h Dx̃2 (i) h 
4n j j
4n j
 ( 
)⊤ ⊤ [
∑ ( )⊤ ]
1 1
−  Dx̃2 (i) h Dx̃2 (i) h  + Dx̃(i) h Dx̃3 (i) h
4n j
3!
[ ( )⊤ ]⊤ }
1 3
+ Dx̃(i) h D (i) h + ··· (8.91)
3! x̃
8.3. El filtro de Kalman unscented 285

donde
[ ]
1
Υ1 = (Dx̃(i) h) (Dx̃(i) h) = Υ⊤
2 ⊤
1 = 0
2
 ( )⊤ 
1 ∑ 1 2
Υ2 = Dx̃(i) h Dx̃(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 (8.92)
2n i=1

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
n ( )( )⊤
1 ∑∑
2n
(i) ∂h(x̄) (i) ∂h(x̄)
Pu = x̃ x̃k (8.93)
2n i=1 j,k=1 j ∂xj ∂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 aproximación de la covarianza será
n ( )( )⊤
1∑∑
n
(i) ∂h(x̄) (i) ∂h(x̄)
Pu = x̃ x̃k
n i=1 j,k=1 j ∂xj ∂xk
∑n ( )⊤
∂h(x̄) ∂h(x̄)
= Pjk
j,k=1
∂xj ∂xk
= HPH⊤ (8.94)

donde la última igualdad proviene de la Ecuación (8.69). Comparando esta


ecuación para Pu con la covarianza real de y desde la Ecuación (8.70), se ve
que la Ecuación (8.89) se aproxima a la covarianza real de y hasta el ter-
286 Capı́tulo 8. El filtro de Kalman no lineal

cer 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 linea-
lización. Sin embargo, se espera intuitivamente que la magnitud del error de la
aproximación unscented en la Ecuación (8.89) sea más pequeña que la apro-
ximació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 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 (8.95)
i
(√ )⊤
x̃(n+i) = − nP i = 1, ..., n
i

√ (√ )⊤(√ )
donde nP es la raı́z cuadrada de la matriz nP tal que nP nP =
(√ ) √
nP, y nP es la i-ésima raı́z de nP.
i
3. Transformar los puntos sigma como sigue:

y(i) = h(x(i) ) i = 1, ..., 2n (8.96)

4. Aproximar la media y la covarianza de y como sigue

1 ∑ (i)
2n
ȳu = y
2n i=1

1 ∑ (i)
2n
Pu = (y − yu )(y(i) − yu )⊤ (8.97)
2n i=1
8.3. El filtro de Kalman unscented 287

Ejemplo 8.2
Para ilustrar la transformación unscented, considérese la transformación no lineal
mostrada en la Ecuación (8.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 (8.79) muestra que W (i)=1/4 para i = 1, 2, 3, 4. La Ecuación (8.76)
muestra que los puntos sigma están determinados como
(√ )⊤
x(1) = x̄ + nP
[ √ ]1
= 1 + σ r 2
π/2
(√ )⊤
x(2) = x̄ + nP
[ 2
]
1 √
=
π/2 + σθ 2
(√ )⊤ (8.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 x 2 0 √
y = (1) (1) = 1 + σ
x1 sen x2 r 2
[ ] [ √ ]
(2) (2)
(2) x1 cos x2 cos(π/2 + σθ √2)
y = (2) (2) = sen(π/2 + σ
x1 sen x2 θ 2)
[ ] [ ] (8.99)
(3) (3)
(3) x1 cos x2 0 √
y = (3) (3) = 1 − σ
x1 sen x2 r 2
[ ] [ √ ]
(4) (4)
(4) x1 cos x2 cos(π/2 − σθ √2)
y = (4) (4) = sen(π/2 − σ
x1 sen x2 θ 2)

Ahora se puede calcular la aproximación unscented de la media y la covarianza


288 Capı́tulo 8. El filtro de Kalman no lineal

de y = h(x) como


4
ȳu = W(i) y(i)
i=1
(8.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).

8.4. Filtrado de Kalman unscented


La transformación unscented desarrollada en la sección anterior puede gene-
ralizarse 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 4). Si el sistema es no lineal,
entonces la media y la covarianza se pueden actualizar aproximadamente con
el filtro de Kalman extendido (Sección 8.2). 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 (8.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 )
(8.112)
yk = h(xk , wk , tk )
8.4. Filtrado de Kalman unscented 289

Algoritmo 8.5 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
(8.101)
vk ∼ (0, Qk )
wk ∼ (0, Rk )

2. El UKF se inicializa como sigue

0 = E {x0 }
x̂+
{ + ⊤
} (8.102)
P0 = E (x0 − x̂+
+
0 )(x0 − x̂0 )

3. Las siguientes ecuaciones de actualización en el tiempo (8.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
(i)
se escogen los puntos sigma xk−1 como se especificó en la Ecuación
(8.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
(√ )⊤
(i) +
x̃ = nPk−1 i = 1, . . . , n
i
(8.103)
(√ )⊤
x̃(n+i) = − nP+
k−1 i = 1, . . . , n
i

Usar la ecuación del sistema f (·) no lineal conocido para transfor-


(i)
mar los puntos sigma en vectores x̃k , como se muestra en la Ecua-
ción (8.77), con cambios apropiados desde nuestra transformación
no lineal es f en lugar de h(·)(·)(·):
290 Capı́tulo 8. El filtro de Kalman no lineal

Continuación:
(i)
Combinar los x̂k vectores para obtener el estado estimado a priori en
el tiempo k. Esto está basado en la Ecuación (8.80):

1 ∑ (i)
2n
x̂−
k = x̂ (8.104)
2n i=1 k

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 ∑ ( (i) )( )⊤
2n
P− x̂k − x̂− −
(i)
k = k x̂k − x̂k + Qk−1 (8.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 (8.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 :

x̂k = x̂−
(i) (i)
k + x̃ i = 1, . . . , 2n
(√ )⊤
(i) −
x̃ = nPk i = 1, . . . , n
i
(8.106)
(√ )⊤
x̃(n+i) = − nP−
k i = 1, . . . , n
i

Si se desea, este paso puede omitirse. Esto es, en vez de generar nue-
vos puntos sigma se pueden reutilizar los puntos sigma que fueron
obtenidos a partir de la actualización de tiempo. Esto ahorrará es-
fuerzo computacional si se está dispuesto a sacrificar el rendimiento.
Usar la ecuación no lineal de medición h(·) para transformar los
(i)
puntos sigma en ỹk vectores (medida prevista), como se muestra
en la Ecuación (8.76):
(i) (i)
ŷk = h(x̂k , tk ) (8.107)
8.4. Filtrado de Kalman unscented 291

Continuación:
(i)
Combinar los ŷk vectores para obtener la medida prevista en el tiempo
k. Esto está basado en la Ecuación (8.80):

1 ∑ (i)
2n
ŷk = ŷ (8.108)
2n i=1 k

Estimar la covarianza de la medida prevista como se muestra en la Ecua-


ción (8.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 ∑ ( (i) )( )⊤
2n
(i)
Py = ŷk − ŷk ŷk − ŷk + Rk (8.109)
2n i=1

Estimar la covarianza cruzada entre x̂−


k y ŷk basado en la Ecuación (8.80):

1 ∑ ( (i) )( )⊤
2n
x̂k − x̂−
(i)
Pxy = k ŷ k − ŷk (8.110)
2n i=1

La actualización de la medición del estado estimado puede realizarse


usando las ecuaciones normales del filtro de Kalman como se muestra en
la ecuación [???]:

Kk = Pxy P−1
y

k = x̂k + Kk (yk − ŷk )
x̂+ (8.111)
P+
k = P−
k − Kk P y K⊤
k

En este caso, el algoritmo UKF presentado anteriormente no es riguroso ya que


trata del ruido como aditivo, como se ve en las ecuaciones (8.105) y (8.109).
Para manejar esta situación, se puede aumentar el ruido en el vector de estado
292 Capı́tulo 8. El filtro de Kalman no lineal

como en []:
 
xk
=  vk 
(a)
xk (8.113)
wk
(a)
Entonces se puede utilizar el UKF para estimar el estado aumentado xk . El
UKF se inicializa como
 
E {x0 }
x̂0 =  0 
(a)

0
 { }  (8.114)
E (x0 − x̂0 )(x0 − x̂0 )⊤ 0 0
P0 =  Q0 0 
(a)+
0
0 0 R0

A continuación se utilizará el algoritmo UKF presentado anteriormente, ex-


cepto que se esté estimando la media aumentada y covarianza, por lo que se
eliminará Qk−1 y Rk de las ecuaciones y (8.105) y (8.109).
Ejemplo 8.3
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 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 (8.115)
ẋ3 = w3

y(tk ) = M 2 + (x1 (tk ) − a)2 + wk
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 un magnitud de medidas cada
8.5. Otras transformaciones unscented 293

0.5 s. Las constantes que se usarán están dadas como

ρ0 = 2 lb − s/f t4
g = 32.2 f t/s2
k = 20.000 f t
{ 2}
E wk = 10.000 f t2 (8.116)
{ }
E vi2 (t) = 0 i = 1, 2, 3
M = 100.000 f t
a = 100.000 f t
Las condiciones iniciales del sistema y el estimador están dadas como

x0 = [300.000 −20.000 0.001]
x̂+
0 = x0
[ ] (8.117)
1.000.000 0 0
+
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.

8.5. 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 trans-
294 Capı́tulo 8. El filtro de Kalman no lineal

formaciones. Esas otras transformaciones pueden usarse si se tiene alguna in-


formación acerca de las estadı́sticas del ruido, o si se está interesado en ahorro
computacional.

8.5.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
(√ )⊤
(8.118)
x̃(i) = (n + κ)P i = 1, . . . , n
i
(√ )⊤
x̃(n+i) = − (n + κ)P i = 1, . . . , n
i

Los coeficientes de ponderación (2n + 1) están dados como


κ
W (0) =
n+κ
1 (8.119)
W (i) = 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 (8.120)
∑2n
( )( )⊤
Pu = W (i) y (i) − yu y (i) − yu
i=0
8.5. Otras transformaciones unscented 295

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 + κ) ̸= 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.[]

8.5.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.
296 Capı́tulo 8. El filtro de Kalman no lineal

Algoritmo 8.6 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:


{
(i)
2−n (1 − W (0) ) i = 1, 2
W = (8.121)
2i−2 W (1) i = 3, . . . , n + 1

3. Inicializar los siguientes vectores de un elemento:


(1)
σ0 = 0
−1
σ1 = √
(1)

2W (1) (8.122)
1
σ2 = √
(1)

2W (1)

4. Expandir de forma recursiva los vectores σ realizando los siguientes pasos


para j = 2, . . . , n:
[ ]

 σ
(j−1)


0 i=0

 0

 [ ]


 σi(j−1)
(j) i = 1, . . . , j
σi = √ −1 (8.123)

 2W (j+1)

 [ ]



 0j−1

 j i=j+1
 √2W (j+1)

donde 0j es el vector columna que contiene j ceros.

5. Después de que la recursividad está completa se tienen los vectores n-


(n)
elementos σi (i = 0, . . . , n + 1). Modificar la transformación unscented
de la Ecuación (8.76) y obtener los puntos sigma para la transformación
unscented como sigue:
√ (n)
x(i) = x̄ + Pσi (i = 0, . . . , n + 1) (8.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.
8.5. Otras transformaciones unscented 297

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.

8.5.3. La transformación unscented esférica


La transformación unscented discutida en la sección [] es numéricamente esta-
ble. Sin embargo, esta requiere 2n puntos sigma y puede ser también compu-
tacionalmente costosa para algunas aplicaciones. La transformación unscented
sı́mplex discutida en la sección [] es la transformación computacional unscented
más barata pero pierde la estabilidad numérica para problemas con moderada-
mente 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.
298 Capı́tulo 8. El filtro de Kalman no lineal

Algoritmo 8.7 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 (8.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)

2W (1) (8.126)
1
σ2 = √
(1)

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 = (8.127)


j(j+1)W (1)

  



 0 j−1

 √ j 

 j(j+1)W (1)
i=j+1

donde 0j es el vector columna que contiene j ceros.

5. Después de que la recursividad está completa se tienen los vectores n-


(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 (8.76) y se obtiene los puntos sigma para la transformación
unscented como sigue:
√ (n)
x(i) = x̄ + Pσi (i = 0, . . . , n + 1) (8.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.
8.5. Otras transformaciones unscented 299

(n)
La relación del elemento más grande de σi al elemento más pequeño es
/
n 1
√ √ =n (8.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 uns-
cented esférica.
Example : 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
[ ]⊤
0 = 303.000 −20.200 1/1010
x̂+
  (8.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.
300 Capı́tulo 8. El filtro de Kalman no lineal

Tabla 8.2.: Ejemplo [] estimación de errores para el filtro de Kalman extendi-


do, 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
Bibliografı́a

Athans, M. and Safonov, M., G. (1978). Robustness and computational aspects of nonlinear
stochastic estimators and regulators. IEEE Transactions on Automatic Control, AC-
23(4): 717–725.
Bellantoni, J. F. and Dodge, K. W. (1967). A square root formulation of the Kalman–
Schmidt filter. AIAA Journal, 5(7): 1309–1314.
IEEE (2012). First-hand: The unscented transform. Global History Network. URL:
http://www.ieeeghn.org/wiki/index.php/First-Hand:The_Unscented_Transform.
Simon, D. (2006). Optimal State Estimation: Kalman, H-infinity, and Nonlinear Approaches.
John Wiley & Sons, Inc., New Jersey, USA.

301
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 [?]

∂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

303
304 Capı́tulo A. Funciones matriciales


Tr(AX⊤ B) = BA (A.6)
∂X

Tr(A ⊗ X) = Tr(A)I (A.7)
∂X

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
A.1. Derivada de la traza 305

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)

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
∂X
(A.26)
∂ [ ]
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)
Apéndice B

Transformada delta

U na forma para describir sistemas en tiempo discreto es utilizando el ope-


rador de desplazamiento temporal q, definido por:
∆t
qxk = xk+1 (B.1)

Usando este operador, un sistema discreto lineal en espacio de estados puede


ser descrito como

qxk = Aq xk + Bq uk (B.2)
yk = C q xk (B.3)

El operador de desplazamiento temporal q definido previamente es ampliamen-


te usado para describir sistemas en tiempo discreto [Åström and Wittenmark,
1997]. No obstante, una desventaja de este operador es que no funciona su
homólogo en tiempo continuo d/dt. De forma intuitiva, se sospecha que po-
drı́a haber una mejor correspondencia entre tiempo continuo y discreto, si el
operador de desplazamiento temporal fuera reemplazado por un operador de
diferencia, el cual hace una mejor aproximación de la derivada. Con esta idea
en mente, se define el operador delta a través de la diferencia directa:

∆t q−1
δ= (B.4)
T

307
308 Capı́tulo B. Transformada delta

Ası́, la forma equivalente de la ecuación (B.1) es


xk+1 − xk
δxk = (B.5)
T
La relación entre δ y q es una función lineal simple y, por lo tanto, δ ofrece la
misma flexibilidad para modelar sistemas discretos, de la forma como q lo hace.
La elección del operador es función de la aplicación particular. Generalmente q,
lleva a expresiones más simples y enfatiza la naturaleza secuencial de las señales
muestreadas [Middleton and Goodwin, 1986, 1990]. Por otra parte, dado que
δ es una diferencia, lleva a modelos muy similares a aquellos modelados con el
operador d/dt, por lo que los resultados obtenidos en tiempo continuo, también
se pueden utilizar en aplicaciones de tiempo discreto.
Las ecuaciones en espacio de estado se pueden expresar en forma δ como
sigue:

δxk = Aδ xk + Bδ uk , (B.6)
yk = Cδ xk . (B.7)

En general la señal se encuentra planteada en forma discreta; para transfor-


marla a la forma delta se aplica la relación

q = 1 + Tδ. (B.8)

De esta forma, pueden ser establecidas las siguientes equivalencias:


Aq − I Bq
Aδ = , Bδ = , Cδ = Cq (B.9)
T T
donde Aq , Bq y Cq son las matrices en el modelo de desplazamiento temporal
dadas en (B.2) y (B.3) e I es la matriz identidad.
Aunque la forma dada en (B.9) es correcta, no es el mejor método para
evaluar el modelo delta, dado que se generan problemas asociados con el proceso
de conversión del desplazamiento temporal [Middleton and Goodwin, 1990].
Una mejor estrategia consiste en la evaluación directa de la transformada delta,
a partir de las ecuaciones en espacio de estado en tiempo continuo:

Aδ = ΛA, Bδ = ΛB, Cδ = C (B.10)


B.1. Forma delta del estimador de estado óptimo 309

donde
∫ T
1 AT A2 T2
Λ= eAτ dτ = I + + + ··· (B.11)
T 0 2! 3!
Este resultado se genera directamente a partir de la consideración de una
expansión en series de potencia de Aδ = (eAT − I)/T. Para determinar Λ
se aplican métodos tradicionales, tales como autovalores, teorema de Cayley–
Hamilton, etc. A partir de (B.10) y (B.11), se ve que hay una relación cercana
entre los modelos en el dominio delta y los modelos en el dominio del tiempo
continuo, dado que Λ → I cuando ∆t → 0.

B.1. Forma delta del estimador de estado


óptimo

La forma del estimador de estado presentada antes es la forma normalizada


con la notación del operador de desplazamiento. Sin embargo, esta forma no
es consistente con los resultados correspondientes en tiempo continuo. Usando
el operador delta, la descripción de un sistema discreto será:

δxk = Aδ xk + vδ,k (B.12)


yk = Cδ xk + wδ,k (B.13)

donde
vq
vδ = , wδ = vq (B.14)
T
De aquı́ se obtiene para las covarianzas

Qq
cov{vδ } = , Qq (B.15)
T2
cov{wδ } = Rq , Rq (B.16)
Sq
cov{vδ , wδ } = , S′ δ ; Sδ = TS′ δ (B.17)
T
Para muestreo rápido Qq , Rq son tı́picamente de orden T y 1/T, respectiva-
mente. Ası́, Qδ , Rδ son ambos del orden 1/T. Por lo tanto, para mantener
310 Capı́tulo B. Transformada delta

independencia de muestreo, es conveniente definir las densidades espectrales


Ωδ , Γδ dividiendo Qδ , Rδ por la frecuencia de muestreo fs = 1/∆t:

Qδ Qq
Ωδ , = TQδ = (B.18)
fs T

Γδ , = TRδ = TRq (B.19)
fs

Estas relaciones pueden ser utilizadas para desarrollar las formas con operador
delta de los algoritmos del filtro de Kalman desde sus formas con funciones de
desplazamiento.

B.1.1. El filtro de Kalman con operador delta


El filtro de Kalman recursivo se genera tı́picamente en su forma de desplaza-
miento hacia atrás y puede ser representado con las siguientes ecuaciones: Las
ecuaciones de actualización son:
Kk = P− ⊤ − ⊤
k Hk (Hk Pk Hk + Rk )
−1

⊤ −1
= P+k Hk Rk
− −
k = x̂k + Kk (yk − Hk x̂k ) = estado estimado a posteriori
x̂+
− ⊤ ⊤
(B.20)
k = (I − Kk Hk )Pk (I − Kk Hk ) + Kk Rk Kk
P+
= [(P−k)
−1
+ H⊤ −1
k Rk Hk ]
−1

= (I − Kk Hk )P−k

Las ecuaciones anteriores se pueden separar en dos grupos: las primeras dos,
predicen el estimado del estado y la matriz de covarianza del error desde los
valores anteriores y pueden, como tales, ser denominadas como ecuaciones de
predicción. Estas predicciones se usan para formar la ganancia de Kalman, la
cual es usada en las últimas lı́neas junto con la última muestra de salida en la
forma de una señal de innovación, para corregir las predicciones y producir un
estimado a posteriori de xk y Pk . Éstas pueden entonces, denominarse como
las ecuaciones de corrección.
Tomando la relación entre el operador delta y el operador de desplazamiento
en las descripciones de espacio de estado mostradas en (B.12) a (B.17), y
entonces sustituyéndolas en las ecuaciones (B.20), el filtro de Kalman con el
operador delta se puede construir en su forma de predicción corrección de la
B.1. Forma delta del estimador de estado óptimo 311

siguiente manera:

x̂−
k = (T δFk + I)x̂− δ
k−1 + T Gk uk−1 (B.21)
δ −
Pk = (T δFk + I)x̂− δ ⊤ 2δ
k−1 (T Fk + I) + T Qk (B.22)
δ −δ ⊤ δ − ⊤
δ
Kk = Pk Hk [ Hk δPk δHk + δRk ]−1 (B.23)
x̂+
k = x̂− δ δ −
k + Kk [yk − Hk x̂k ] (B.24)
+ −
δ
Pk = (I − δKk δHk ) δPk (B.25)

donde δX corresponde a la variable en términos del operador δ. Estas ecuaciones


proporcionan una forma incremental y de fácil implementación para el filtro
de Kalman con el operador delta o estimador de estado óptimo.
Bibliografı́a

Middleton, R. H. and Goodwin, G. C. (1986). Improved finite word length characteristics


in digital control using delta operators. IEEE AC-31, 32(11): 1015–1021.
Middleton, R. H. and Goodwin, G. C. (1990). Digital Control and Estimation: A unified
Approach. Prentice-Hall International, Inc., 1a edition.
Åström, K. J. and Wittenmark, B. (1997). Computer-Controlled Systems: Theory and De-
sign. Prentice Hall Information and System Sciences, 3a edition.

313

También podría gustarte