Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lea Dfo 20
Lea Dfo 20
E l presente texto contiene la experiencia del autor en el diseño de filtros. Inicialmente como
modelos analógicos, descritos en el libro de texto, Sistemas Electrónicos Analógicos: un
enfoque matricial. En este volumen se aborda el problema de los filtros desde el punto de vista
digital, en el esquema óptimo proporcionado por R. E. Kalman.
En el primer capítulo se hace un corto análisis de álgebra lineal en lo que compete al cálculo
matricial. Se estudian algunos teoremas útiles en el desarrollo ulterior del texto.
El segundo capítulo es un resumen de elementos de sistemas dinámicos desde el punto de
vista de variables de estado, tanto continuos como discretos. Se estudian algunas propiedades
de estos sistemas tales como controlabilidad y observabilidad.
El tercer capítulo corresponde a la estimación de los sistemas dinámicos utilizando el modelo
de mínimos cuadrados. Este es un preámbulo para el estudio de los filtros de Kalman que se
analizarán posteriormente.
El capítulo cuarto es el núcleo del texto y corresponde a la deducción del filtro de Kalman y
algunas de sus propiedades.
En el capítulo quinto se plantean algunas formas alternas del filtro de Kalman y el desarrollo
y aplicación de algunos algoritmos de uso común.
El capítulo sexto es la generalización del filtro de Kalman, donde se plantean dos aspectos
importantes, el modelado de ruido correlacionado y el ruido coloreado; mostrándose que es
factible la aplicación directa del filtro de Kalman a tales problemas.
El capítulo séptimo corresponde al análisis del filtro de Kalman en tiempo continuo llegando
a la ecuación de Riccati y su correspondiente solución en modo dinámico y estacionario.
El capítulo noveno aborda el problema de los sistemas no lineales y su posible solución con
el filtro de Kalman. Se estudian, en particular, los filtros EKF y UKF.
En los apéndices se hace un resumen de funciones matriciales y de la transformada delta.
Manizales, 2021
III
Índice
Prefacio III
Índice V
Notación XI
V
VI Índice
XI
XII Notación
mX y varianza σX2
In Matriz identidad de dimensión n
diag (x) Matriz diagonal a partir del vector x
diag (A) Vector diagonal de la matriz A
SNR Signal-to-noise ratio
MSE Minimum square error
: Tal que
def
= Igual por definición
kxk Norma-2 del vector x
|A| Cardinal, número de elementos del conjunto A
xi ,i = 1,2, . . . ,n Elementos i, de 1 a n, del vector x
dx Diferencial de x
6 Menor o igual
> Mayor o igual
\ Backslash
⇔ Si y sólo si
x = a+3 = 4 Igual con explicación
↑
a=1
a
b Fracción con estilo pequeño, a/b
∆ Incremento
b · 10a Formato científico
→
− Tiende, con x
x
O Orden
TM
Trade Mark
E[x] Esperanza matemática de x
Cx Matriz de covarianza de x
Rx Matriz de correlación de x
σx2 Varianza de x
1 Elementos de cálculo matricial
E n este capítulo se revisan algunos aspectos básicos del álgebra lineal. La teoría de es-
timación óptima de estados depende fuertemente de la teoría de matrices, incluyendo
cálculo matricial; de manera que la primera parte está dedicada a una revisión de este tópico.
La estimación óptima de estados se aplica tanto a sistemas lineales como a no lineales, aunque
es más directa para los lineales. Por lo tanto, se dará una breve revisión de estos sistemas.
Las últimas secciones se dedicarán a revisar los conceptos de estabilidad, controlabilidad y
observabilidad de los sistemas lineales. Estos conceptos son necesarios para comprender el
material de estimación óptima de estados que se estudiará más adelante.
En esta sección, se revisará el concepto de matrices, álgebra matricial y cálculo matricial. Esto
es necesario con el objeto de entender el resto del libro ya que los algoritmos de estimación
óptima de estados se formulan con matrices.
Un escalar es una cantidad simple. Por ejemplo el número 5 es un escalar, el número 2 + j3
es un escalar, así como el número π o el número e.
Un vector consiste en escalares que se arreglan en filas o en columnas. Por ejemplo, el vector
[1 5 −3 0]
1
2 Capítulo 1. Elementos de cálculo matricial
es un vector de 4 elementos. Este vector se denomina 1 × 4 porque tiene una fila y cuatro
columnas, también se denomina vector fila. El vector
>
x = cos ωk sen ωk − sen ωk cos ωk 0 1
Una matriz consiste de escalares que se arreglan en un rectángulo. Por ejemplo, la matriz
cos ωn T sen ωn T 0 0
− sen ωn T cosωn T 0 1
0 0 1 1
es una matriz 3 × 4 puesto que tiene 3 filas y cuatro columnas. El número de filas y columnas
se define como la dimensión de la matriz. Se define el rango de una matriz como el número
de filas o columnas linealmente independientes [49]. El rango de la matriz A se indica como
ρ(A). El rango de una matriz siempre es menor o igual que el número de filas o columnas,
según el caso que se contemple. Por ejemplo, la matriz
2 3 1 −2
A=
4 6 2 −4
es uno (Matlab: rank(A)) debido a que tiene solamente una fila linealmente independiente;
las dos filas son múltiples entre sí. Por otra parte, la matriz
1 2 5
A = 3 4 −1
−1 3 5
tiene rango 3 puesto que todas sus filas y columnas son linealmente independientes. Esto es,
existen escalares α1 , α2 y α3 tales que
α1 1 2 5 + α2 3 4 −1 + α3 −1 3 5 = 0 0 0
de modo que las tres filas son linealmente independientes. Lo mismo para las columnas. Esto
es, hay escalares α1 , α2 y α3 diferentes de cero tales que
1 2 5 0
α1 3 + α2 4 + α3 −1 = 0
−1 3 5 0
de modo que las tres columnas son linealmente independientes. Una matriz cuyos elementos
son todos cero tiene un rango de cero. Una matriz n × m cuyo rango es igual al min(n,m) es de
rango completo. La nulidad de una matriz A n × m es igual a [m − ρ(A)].
La transpuesta de una matriz o vector se puede obtener por el cambio de todas las filas a
columnas, y todas las columnas a filas o de columna a fila en el caso de un vector. Por ejemplo,
1.2 Álgebra de matrices 3
si A es una matriz r × p
a11 ··· a1p
.. .. ..
A= . . .
ar1 ··· arp
entonces AH es la matriz
2 1 + j2 − j3
AH = 3 + j4 2 5 + j2
−j 1 − j3 5
ai j = a ji , (1.1)
donde a ji denota la conjugada compleja. Como resultado de esta definición, los elementos
de la diagonal aii de una matriz hermítica son números reales (ya que aii = aii ), mientras que
otros elementos pueden ser complejos.
Como un ejemplo de matrices hermíticas 2 × 2 se tienen las matrices de Pauli [58]:
0 1 0 −i 1 0
σ1 = σ2 = σ3 =
1 0 i 0 0 −1
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
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
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:
C = AB := (ci j )m×p
es decir:
a11 ··· a1n b11 ··· b1p
.. .. .. .. .. ..
C = Am×n Bn×p = . . . × . . .
am1 ··· amn m×n
bn1 ··· bnp n×p
a11 b11 + · · · + a1n bn1 ··· a11 b1p + · · · + a1n bnp
.. .. ..
= . . .
am1 b11 + · · · + amn bn1 ··· am1 b1p + · · · + amn bnp m×p
vector xn×1 . Se puede calcular el producto (x> x)1×1 , y el producto (xx> )n×n como sigue:
x1
x2
x> x = x1 x2 · · · xn . = x12 + x22 + · · · + xn2 (1.4)
..
xn
2
x1 x1 x1 x2 · · · x1 xn
2
x2 x1 x2 · · · x2 xn
x2
xx> = . x1 x2 · · · xn = . . . . (1.5)
.. .. .. .. ..
xn xn x1 xn x2 · · · xn2
Supóngase que se tiene una matriz H(p×n) y una matriz P(n×n) . Entonces H> es una matriz
n × p, y se puede calcular el producto matricial HPH>
(p×p) [63].
h11 ··· h1n p11 ··· p1n h11 ··· h p1
> .. .. .. .. .. .. .. .. ..
HPH = . . . . . . . . .
h p1 ··· h pn pn1 ··· pnn h1n ··· h pn
∑ h1 j p jk h1k · · · ∑ h1 j p jk h pk
j,k j,k
.. .. ..
= . . . (1.6)
∑ h p j p jk h1k · · · ∑ h p j p jk h pk
j,k j,k
A continuación se muestran algunas de las propiedades de las matrices, para que se cumplan,
en algunas situaciones se requiere que posean rango completo [49], [61].
6 Capítulo 1. Elementos de cálculo matricial
AB 6= BA (1.8)
2. Asociativa:
5. Inversa:
En general
6. Transpuesta:
En general
7. Conjugada Hermítica:
1.2 Álgebra de matrices 7
(A + B)H = AH + BH (1.18)
(AB)H = BH AH (1.19)
8. Traza:
9. Determinante:
Sea A una matriz n × n. Usando la notación Aij para representar la matriz formada
borrando la i-ésima fila y la j-ésima columna de A. Entonces, el determinante de A se
define como
n
|A| = ∑ (−1)i+ j ai j |Aij | (1.26)
j=1
Propiedades:
Las matrices cuadradas se pueden multiplicar por sí mismas en forma repetida del
mismo modo que los números ordinarios, puesto que ellas tienen siempre el mismo
número de filas y columnas. Esta multiplicación repetida se puede describir como la
“potencia de la matriz”, un caso especial del producto de matrices. Las matrices “rectan-
gulares” no tienen el mismo número de filas y columnas por lo que no se pueden elevar
a una potencia. Una matriz An×n elevada a un entero positivo p se define como
A p = AA · · · A}
| {z
p veces
A0 = I
1.2 Álgebra de matrices 9
I es la matriz identidad.
(ii) Multiplicación por un escalar:
(αA) p = α p A p
Norma euclidiana
La norma dos de un vector columna de números reales, también llamada la norma euclidiana,
se define como sigue:
√ q
||x||2 = x> x = x12 + · · · + xn2 (1.36)
De la Ecuación (2.5), se observa que
2
x1 x1 x1 x2 ··· x1 xn
x2 x2 x1
x22 ··· x2 xn
xx> = . x1 x2 · · · xn = . .. .. ..
.. .. . . .
xn xn x1 xn x2 ··· xn2
= ||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)
Dado que las matrices cuadradas 2 × 2 son de uso muy frecuente en la práctica, es de interés
analizar este caso ya que posee algunas propiedades de interés, las cuales permiten simplificar
los cálculos. Considérese la matriz
a11 a12
A= (1.39)
a21 a22
1. Determinante y traza.
2. Valores propios
λ 0 a a12 λ − a11 −a12
|[λ I − A]| = 0 = − 11 =
0 λ a21 a22 −a21 λ − a22
10 Capítulo 1. Elementos de cálculo matricial
(λ − a11 )(λ − a22 ) − a12 a21 = λ 2 − (a11 + a22 )λ + a11 a22 − a12 a21
Entonces
3. Autovectores
a12
v1 ∝ (1.45)
λ1 − a11
a12
v2 ∝ (1.46)
λ2 − a11
4. Inversa
1 a22 −a12
A−1 = (1.47)
det(A) −a21 a11
La red equivalente se muestra en la Fig. 2.2, donde se indica la relación definida en la ecuación
(2.48). Las resistencias de entrada y salida de Ao1 y Ao2 están dadas por Ria ,Roa ,Rib y Rob ,
respectivamente.
Nótese que
vε = Ria i1
y además, puesto que la impedancia de entrada de Ao2 es muy elevada,
Rc ||Rib ≈ Rc ,
entonces,
vm ≈ Rc iL
También,
Ria Rob
Escribiendo el modelo en forma de matriz se obtiene:
vi − µvm Ria + Rob 0 i1
=
Ao vε 0 Roa + RL + Rc ||Rib iL
12 Capítulo 1. Elementos de cálculo matricial
Entonces:
det(Z) = zi zo − βz µz
Tr(Z) = zi + zo ≈ Ria
" s #
1 Ria Rc
q
λ1 = zi + zo + (zi − zo )2 + 4βz µz ≈ 1 + 1 − µAo
2 2 Ria
" s #
1 Ria Rc
q
λ2 = zi + zo − (zi − zo )2 + 4βz µz ≈ 1 − 1 − µAo
2 2 Ria
Es decir,
vs i
=H s
0 vo
donde
z β
H= i (1.51)
µ yo
Invirtiendo la expresión (2.50) se llega a:
" yo
#
is 1 yo −β vs |H|
= = µ vs
vo |H| −µ zi 0 − |H|
donde
µ
|H| = yo zi − β µ = yo zi 1 + β −
yo zi
o
|H| = yo zi (1 + β Ava )
con
µ
Ava = − .
yo zi
De esta expresión se pueden calcular los parámetros de transferencia, v.gr.:
Ganancia de tensión,
vo µ −µ Ava
Av = =− =− =
vs |H| yo zi (1 + β Ava ) 1 + β Ava
En este problema, puesto que el modelo de la matriz tiene dimensiones híbridas, es posible
calcular algunas funciones de la misma, tales como el determinante y la matriz inversa; sin
embargo, la traza no está definida ya que se tendría la suma de [Ω] + [S] (ver Ecuación (2.51)),
lo cual no es posible. Esto se debe tener en cuenta en los sistemas físicos, pues ocurre con
alguna frecuencia.
1.2.5 Lema de inversión de matrices
En ella A y BD−1 C son matrices de dimensión n × n, mientras que D es una matriz cuadrada
que puede tener una dimensión r × r diferente, en consecuencia B tendrá dimensión n × r y
14 Capítulo 1. Elementos de cálculo matricial
C dimensión r × n. Los nombres alternativos para esta fórmula son el lema de inversión de
matrices, la fórmula de Sherman-Morrison-Woodbury [67] o sólo la fórmula de Woodbury
[77]. Sin embargo, la identidad apareció en varios artículos antes del informe de Woodbury.
Demostración:
Las submatrices en (1.54) y (1.55) se abren para formar ocho ecuaciones matriciales:
AE + BG = I (1.56)
AF + BH = 0 (1.57)
CE + DG = 0 (1.58)
CF + DH = I (1.59)
EA + FC = I (1.60)
EB + FD = 0 (1.61)
GA + HC = 0 (1.62)
GB + HD = I (1.63)
De (1.56) y (1.58)
AE = I − BG
DG = −CE
G = −D−1 CE
AE = I + BD−1 CE
AE − BD−1 CE = I
(A − BD−1 C)E = I
E = (A − BD−1 C)−1 (1.64)
1.2 Álgebra de matrices 15
De (1.61) y (1.64)
EB + FD = 0
FD = −EB
F = −(A − BD−1 C)−1 BD−1 (1.65)
De (1.58) y (1.64)
DG = −CE
G = −D−1 C(A − BD−1 C)−1 (1.66)
De (1.59) y (1.65)
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)
De (1.57) y (1.68)
AF = −BH
AF = −B(D − CA−1 B)−1
F = −A−1 B(D − CA−1 B)−1 (1.70)
De (1.60) y (1.70)
EA = I − FC
EA = I + A−1 B(D − CA−1 B)−1 C
E = A−1 + A−1 B(D − CA−1 B)−1 CA−1 (1.71)
16 Capítulo 1. Elementos de cálculo matricial
La prueba se completa mediante la combinación de, v.gr., (1.64) y (1.71), con la condición
que existan todas las inversas involucradas. En forma general se tiene:
Aq = λ q (1.73)
Por lo tanto
(A − λ I)q = 0 (1.74)
Para el análisis de valores propios se procede como sigue para satisfacer esta ecuación o bien
q = 0, lo cual es interesante, o la matriz A − λ I debe reducir q al vector nulo (un único punto).
Para que esto suceda A − λ I debe ser singular. Por lo tanto,
det(A − λ I) = 0 (1.75)
Por lo tanto, el análisis de valores propios procede así (i) se resuelve la ecuación anterior para
encontrar los autovalores λi y entonces (ii) se sustituyen en la Ecuación (2.59) para encontrar
los autovectores. Por ejemplo, si
4 −5
A= (1.76)
2 −3
entonces
det(A − λ I) = (4 − λ )(−3 − λ ) − (−5)(2) = 0 (1.77)
lo cual se puede reordenar como
λ2 −λ −2 = 0
(1.78)
(λ + 1)(λ − 2) = 0
Tr(A) = ∑ λi (1.81)
i
1.2.7 Diagonalización
(1.82)
Q = q1 q2 · · · qd
(1.83)
AQ = λ1 q1 λ2 q2 · · · λd qd
Si se colocan los autovalores en la matriz Λ entonces la anterior matriz también puede escribirse
como QΛ Λ. Por lo tanto,
AQ = QΛ Λ (1.84)
Premultiplicando ambos lados por Q−1 se obtiene
Q−1 AQ = Λ (1.85)
esto muestra que cualquier matriz cuadrada se puede convertir en una forma diagonal (siempre
que tenga valores propios distintos; ver [72]). A veces no habrá valores propios d distintos y
en ocasiones ellos serán complejos.
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)
Λ Q>
A = QΛ (1.87)
lo cual se conoce como el teorema espectral. Éste dice que cualquier matriz real simétrica
puede representarse como la anterior donde las columnas de Q contienen los autovectores y Λ
18 Capítulo 1. Elementos de cálculo matricial
λd qd
Se define como el producto de dos matrices elemento por elemento. Sean dos matrices, A, B,
de la misma dimensión, m × p. El producto de Hadamard (Matlab: A. ∗ B) está definido por
[61]
1. Conmutativo
A ◦ B = B ◦ A, (1.91)
2. Lineal
3. Asociativo
A ◦ (B ◦ C) = (A ◦ B) ◦ C, (1.93)
4. Distributivo
A ◦ (B + C) = A ◦ B + A ◦ C. (1.94)
1.2 Álgebra de matrices 19
5. Rango.
6. Matrices diagonales.
Ejemplo 1.2.3 Verificar las relaciones de los productos mixtos de Hadamard de la Ecua-
ción (2.82), para los valores de A,B, D, E como se especifican a continuación:
1 0 0
1 2 −1 −2 4 1 −2 0
A= , B= , D= , E = 0 −1 0 .
−1 3 −2 1 −3 −1 0 1
0 0 4
Dadas dos matrices, A(m×n) y B(p×q) , el producto de Kronecker, producto directo o producto
tensorial se define como la matriz A ⊗ B(mp×nq) (Matlab: kron(A,B)) [61].
a11 B a12 B ··· a1n B
a21 B a22 B ··· a2n B
A⊗B = . .. .. .. (1.97)
.. . . .
am1 B am2 B ··· amn B
1. Conmutatividad.
A ⊗ B 6= B ⊗ A, en general. (1.98)
20 Capítulo 1. Elementos de cálculo matricial
2. Asociatividad.
(A ⊗ B) ⊗ C = A ⊗ (B ⊗ C). (1.99)
Así, la expresión A ⊗ B ⊗ C no presenta ambigüedad.
3. Dadas las matrices C(n×q) y D(l×s) , entonces
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)
Nótese que el producto de Kronecker está definido independientemente del orden de las matrices
involucradas, por lo que es un concepto más general que la multiplicación de matrices. A
continuación se hará la demostración de algunas de las propiedades relacionadas anteriormente.
Dichas demostraciones tienen el carácter de teoremas y en esa forma se plantean.
1.2 Álgebra de matrices 21
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 ).
Esto significa que Im ⊗ B y A ⊗ In son conmutativos para matrices cuadradas tales como
A y B.
A partir del Teorema 2.3.1, se puede demostrar el siguiente teorema de productos mixtos.
22 Capítulo 1. Elementos de cálculo matricial
(A ⊗ B)(C ⊗ D)
= (A ⊗ Iq )(In ⊗ B)(C ⊗ Ir )(I p ⊗ D)
= (A ⊗ Iq )[(In ⊗ B)(C ⊗ Ir )](I p ⊗ D)
= (A ⊗ Iq )(C ⊗ B)(I p ⊗ D)
= (A ⊗ Iq )[(C ⊗ Iq )(I p ⊗ B)](I p ⊗ D)
= (A ⊗ Iq )(C ⊗ Iq ) (I p ⊗ B)(I p ⊗ D)
= (AC ⊗ Iq ) (I p ⊗ BD)
= (AC) ⊗ (BD).
(A ⊗ B)(C ⊗ D) = AC ⊗ BD.
El operador vec crea un vector columna a partir de una matriz Am×n , apilando los vectores
.
columna de A = [A.1 A.2 · · · A.n ] uno debajo del otro (donde A.k = A(: ,k), según la notación
de Matlab) [61]; v.gr.: sea la matriz 2 × 2
a11
a11 a12 a21
A= =⇒ vec(A) =
a21 a22 a12
a22
1. Producto
vec(AXB) = (B> ⊗ A)vec(X) (1.113)
2. Traza
Tr(A> B) = vec(A)> vec(B) (1.114)
3. Suma
vec(A + B) = vec(A) + vec(B) (1.115)
4. Escala
vec(αA) = α vec(A) (1.116)
24 Capítulo 1. Elementos de cálculo matricial
5. Producto matriz–vector
A continuación se demostrará la relación que existe entre matrices y el operador vec denomina-
da vectorización, la cual permite la transformación de un producto matricial en un vector. Este
resultado será utilizados más adelante en el cálculo de las ecuaciones de Sylvester y Lyapunov.
Teorema 1.2.4 Sean las matrices A ∈ Rm×n , B ∈ R p×q y X ∈ Rn×p . Demostrar que se cumple
la relación (Ecuación (2.107)):
Demostración:
Se pueden reescribir las matrices B y X usando vectores columna como
donde el vector (.k ), corresponde a la k–ésima columna de la matriz. Por lo tanto, el producto
(AXB), se puede escribir como
x.1
p x
.2
(AXB).k = A ∑ x.i bik = b1k A b2k A · · · b pk A . =
i=1 ..
x.p
· · · b pk ⊗ A vec(X).
= b1k b2k
Entonces,
.k ⊗ A vec(X)
(AXB).k = b>
es decir,
Corolario 1.2.4.1
Solución:
3
8
9
3 9 6 3 6
vec(AXB) = vec =
8 6 16 2 6
16
3
2
2 4 6 1 2 3 3
8 6 2 4 3 1 1 8
3 6 9 3 6 9 1 9
−1 = 6
12 9 3 12 9 3
(B> ⊗ A)vec(X) =
−2 6
4 8 12 2 4 6
16 12 4 8 6 2 1 16
1 2 3 1 2 3 1 3
4 3 1 4 3 1 2
Con lo cual queda demostrada la relación pedida.
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
1. Suma mixta
(A ⊕ B)(C ⊕ D) = (AC) ⊕ (BD) (1.121)
2. Rango !
N N
(1.122)
M
ρ Ai = ∑ ρ(Ai ).
i=0 i=0
3. Determinante
Si cada Ai es una matriz cuadrada, entonces
!
N N
(1.123)
M
det Ai = ∏ det(Ai ).
i=0 i=0
4. Ortogonalidad
Si A1 y A2 son ortogonales, entonces A1 ⊕ A2 es ortogonal.
5. Exponencial
Sea A ∈ Rm×m y B ∈ Rn×n , entonces
exp(A ⊕ B) = exp(A ⊗ In ) exp (Im ⊗ B) (aun si A y B no conmutan). (1.124)
Ejemplo 1.2.8 Verificar las ecuaciones (2.105) y (2.106) dadas las matrices
2 1 −1
1 2
A= B = 1 −1 0
3 −1
1 2 1
Se puede observar que los miembros de la derecha de las ecuaciones (2.105) y (2.106), consti-
tuyen también una igualdad, por lo tanto, los resultados deben ser idénticos. Se realizan tres
operaciones para las expresiones mencionadas, teniendo en cuenta que la suma de Kronecker
no está definida directamente en Matlab. Notando que las ecuaciones (2.99) y (2.105) tienen
como factores la matriz identidad, entonces se define para cada caso la matriz correspondiente,
es decir,
1 0 0
1 0
I2 = eye(2) = I3 = eye(3) = 0 1 0 ,
0 1
0 0 1
Se aplica dicha ecuación:
28 Capítulo 1. Elementos de cálculo matricial
sumK=kron(A,I3)+ kron(I2,B);
expo_1=expm(sumK);
con el resultado,
52.3148 −1.8745 −40.7088 28.4898 −1.0208 −22.1694
19.4172
4.7092 −10.6458 10.5743 2.5645 −5.7976
62.0005 28.1885 0.9602 33.7645 15.3510 0.5229
expo_1 =
42.7348
−1.5312 −33.2541 23.8250 −0.8537 −18.5394
15.8614 3.8468 −8.6963 8.8429 2.1446 −4.8483
50.6467 23.0265 0.7844 28.2360 12.8375 0.4373
Por otro lado, operando sobre el miembro de la derecha de la Ecuación (2.105) se obtiene:
expo_2 = expm(kron(A,I3))*expm(kron(I2,B));
o sea,
52.3148 −1.8745 −40.7088 28.4898 −1.0208 −22.1694
19.4172 4.7092
−10.6458 10.5743 2.5645 −5.7976
62.0005 28.1885 0.9602 33.7645 15.3510 0.5229
expo_2 =
42.7348 −1.5312
−33.2541 23.8250 −0.8537 −18.5394
15.8614 3.8468 −8.6963 8.8429 2.1446 −4.8483
50.6467 23.0265 0.7844 28.2360 12.8375 0.4373
Los tres resultados son idénticos como era de esperarse. Recuérdese que en Matlab la expo-
nencial de una matriz se define como expm(A).
1.2.14 Funciones de Lyapunov
Si V satisface una de las condiciones anteriores, se dice que V es una función (local) de
Lyapunov para el sistema. Siempre es posible encontrar una función de Lyapunov para un
sistema lineal de la forma descrita por (2.112), sin perturbación externa, esto es, con u = 0.
En este caso, se puede escoger una función candidata de Lyapunov de la forma cuadrática:
V = x> Px (1.128)
El sistema matricial de ecuaciones (2.115), tiene la forma general de un sistema del tipo
AX + XB = C. Este sistema general debe ser adecuado para el sistema particular de Lyapunov,
haciendo B = A> y C = −Q. Si la matriz Q es definida positiva, entonces el sistema es
asintóticamente estable.
A continuación, se abordará la solución del sistema matricial planteado por la aplicación
del método de Lyapunov, dado por
Despejando vec(X):
AX + XA = C (1.137)
> −1
vec(X) = (I ⊗ A + A ⊗ I) vec(C); ⇒ vec(X) → X ∈ R m×n
. (1.138)
% Sylvester
% AX + XB = C
x1=(kron(I3,A)+kron(B’,I2))\C(:);
X1=vec2mat(x1,2)’;
% Generalized Sylvester
% AXD + EXB = C
x2=(kron(D’,A)+kron(B’,E))\C(:);
X2=vec2mat(x2,2)’;
% Lyapunov
% AX + XA = C1
x3=(kron(I2,A)+kron(A’,I2))\C1(:);
X3=vec2mat(x3,2)’;
Resultados:
−1.6766
1.4203
−0.1206 −1.6766 −0.1206 0.8241
x1 =
=⇒ X1 =
−0.1139 1.4203 −0.1139 −0.1413
0.8241
−0.1413
−0.3531
0.3959
−0.0460 −0.3531 −0.0460 0.1516
x2 =
=⇒ X2 =
−0.0283 0.3959 −0.0283 0.0288
0.1516
0.0288
4.50
−1.10 4.50 −2.35
x3 =
−2.35
=⇒ X3 =
−1.10 0.75
0.75
del sistema perturbado x̂ de la solución del sistema x. O sea, saber de antemano cual es la
sensibilidad de la solución a las perturbaciones en los datos de entrada. Para tales fines existe
una cantidad que da una medida de esa sensibilidad. Dicha cantidad se denomina número de
condición [33]. El número de condición se define por
||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)
A(x + ∆x) = b + ∆b
Ax + A∆x = b + ∆b
A∆x = ∆b
∆x = A−1 ∆b
||∆x|| = ||A−1 · ∆b|| ≤ ||A−1 || · ||∆b||
y
1 1
≤ ||A|| ·
||x|| ||b||
Donde κ(A) = ||A|| · ||A−1 ||, es el número de condición, como se había definido antes.
O sea
||∆x|| ||∆b||
≤ κ(A) (1.142)
||x|| ||b||
1.3 Número de condición 33
(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)
Entonces
||A−1 ||
||(A + ∆A)−1 || ≤ (1.144)
1 − ||A−1 || · ||∆A||
Es decir,
||∆x||
≤ ||(A + ∆A)−1 ∆A||
||x||
≤ ||(A + ∆A)−1 || · ||∆A|| (1.146)
(A + ∆A)(x + ∆x) = b + ∆b
(A + ∆A)∆x = ∆b − ∆A · x
||A−1 ||
||∆x|| ||∆b||
≤ · + ||∆A||
||x|| 1 − ||A−1 || · ||∆A|| ||A−1 || · ||b||
||A−1 || · ||A||
||∆x|| ||∆b|| ||∆A||
≤ · +
||x|| 1 − ||A−1 || · ||∆A|| ||b|| ||A||
Por lo tanto,
||∆x|| κ(A) ||∆b|| ||∆A||
≤ · + (1.148)
||x|| ||∆A|| ||b|| ||A||
1 − κ(A) ·
||A||
7 5 9 10 31 −0.1
1.4 Cálculo vectorial y matricial 35
||∆x||
||∆x|| = 16.3970; ||x|| = 2.0000; =⇒ = 8.1985
||x||
||∆b||
||∆b|| = 0.2000; ||b|| = 60.0250; =⇒ = 0.0033
||b||
κ(A) = 2984.1
Supóngase que la matriz A tiene elementos que son funciones del tiempo. Se sabe que
AA−1 = I; esto es, AA−1 es una matriz constante y por lo tanto tiene derivada en el tiempo
igual a cero, entonces la derivada en el tiempo de AA−1 se puede calcular como
d d
(AA−1 ) = ȦA−1 + A (A−1 ) (1.151)
dt dt
d(A−1 )
Puesto que esto es cero, puede resolverse para dt como
d −1
(A ) = −A−1 ȦA−1 (1.152)
dt
Nótese que para el caso especial de una función escalar A(t), esto se reduce a la ecuación
familiar
d 1 ∂ (1/A(t)) dA(t) Ȧ(t)
= =− 2 (1.153)
dt A(t) ∂ A(t) dt A (t)
Con estas definiciones se puede calcular la derivada parcial del producto escalar de dos vectores.
Sean x e y vectores columna {x, y ∈ Rn }. Entonces
x> y = x1 y1 + · · · + xn yn (1.154)
1.4 Cálculo vectorial y matricial 37
Ahora se calculará la derivada parcial de una función cuadrática con respecto a un vector.
Primero escribe la ecuación cuadrática de la siguiente manera:
a11 · · · a1n x1 x
. . . .. .1
> . . .
. . = ∑i xi ai1 · · · ∑i xi ain ..
x Ax = x1 · · · xn . .
an1 · · · ann xn xn
= ∑ xi x j ai j (1.157)
i, j
∂ (x> Ax)
= 2x> A (1.159)
∂x
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> = ... ..
.
.. ..
. .
..
.
.. ..
. .
..
.
..
.
∂ Tr(ABA> ) ∂ Tr(ABA> )
···
∂ a11 ∂ a1n
∂ Tr(ABA> ) ..
= .
∂A
∂ Tr(ABA> ) ∂ Tr(ABA )>
···
∂ am1 ∂ amn
a b + a
∑ j 1 j 1 j ∑k 1k k1 b · · · ∑ j a1 j bn j + ∑k a1k bkn
= ..
.
∑ j am j b1 j + ∑k amk bk j · · · ∑ j am j bn j + ∑k amk bkn
∑ j a1 j b1 j · · · ∑ j a1 j bn j ∑k a1k bk1 · · · ∑k a1k bkn
= .. ..
. + .
∑ j am j b1 j · · · ∑ j am j bn j ∑k amk bk1 · · · ∑k amk bkn
Por lo tanto
∂ Tr(ABA> )
= AB> + AB (1.165)
∂A
Si B es simétrica entonces
∂ Tr(ABA> )
= 2AB si se cumple que B = B> (1.166)
∂A
1.5 Resumen
En este capítulo se ha hecho una revisión de aspectos básicos de álgebra lineal incluyendo una
introducción a productos de Hadamard y de Kronecker, los cuales no son muy corrientes en
los cursos introductorios. La razón es que se presentan algunas procesos en la práctica que
requieren esas aplicaciones, tales como en la solución de la ecuación de Sylvester o Lyapunov
que tiene ocurrencia en sistemas de control. Esto conduce a un conjunto de resultados que se han
expuesto en el texto en forma de teoremas con el objeto de darles formalidad y también como
ejercicio para el lector. También se ha hecho un estudio del concepto de número de condición.
Esto es de utilidad en el proceso de análisis de estabilidad numérica de algunos sistemas
dinámicos. En la segunda parte se abordó el problema del cálculo de matrices, procedimiento
que conduce a la obtención de resultados directos para diversas aplicaciones de matrices
y vectores. Se ha procurado realizar los procedimientos por el método de paso a paso con
el fin de que el lector pueda seguir fácilmente las demostraciones. Finalmente, se hace una
pequeña introducción a los sistemas lineales y no lineales y a la discretización de los procesos
dinámicos.
2 Conceptos de cálculo matricial
2.1 Introducción
E n este capítulo se revisan algunos aspectos básicos del álgebra lineal. La teoría de es-
timación óptima de estados depende fuertemente de la teoría de matrices, incluyendo
cálculo matricial; de manera que la primera parte está dedicada a una revisión de este tópico.
La estimación óptima de estados se aplica tanto a sistemas lineales como a no lineales, aunque
es más directa para los lineales. Por lo tanto, se dará una breve revisión de estos sistemas.
Las últimas secciones se dedicarán a revisar los conceptos de estabilidad, controlabilidad y
observabilidad de los sistemas lineales. Estos conceptos son necesarios para comprender el
material de estimación óptima de estados que se estudiará más adelante.
En esta sección, se revisará el concepto de matrices, álgebra matricial y cálculo matricial. Esto
es necesario con el objeto de entender el resto del libro ya que los algoritmos de estimación
óptima de estados se formulan con matrices.
Un escalar es una cantidad simple. Por ejemplo el número 5 es un escalar, el número 2 + j3
es un escalar, así como el número π o el número e.
Un vector consiste en escalares que se arreglan en filas o en columnas. Por ejemplo, el vector
[1 5 −3 0]
41
42 Capítulo 2. Conceptos de cálculo matricial
es un vector de 4 elementos. Este vector se denomina 1 × 4 porque tiene una fila y cuatro
columnas, también se denomina vector fila. El vector
>
x = cos ωk sen ωk − sen ωk cos ωk 0 1
Una matriz consiste de escalares que se arreglan en un rectángulo. Por ejemplo, la matriz
cos ωn T sen ωn T 0 0
− sen ωn T cosωn T 0 1
0 0 1 1
es una matriz 3 × 4 puesto que tiene 3 filas y cuatro columnas. El número de filas y columnas
se define como la dimensión de la matriz. Se define el rango de una matriz como el número
de filas o columnas linealmente independientes [49]. El rango de la matriz A se indica como
ρ(A). El rango de una matriz siempre es menor o igual que el número de filas o columnas,
según el caso que se contemple. Por ejemplo, la matriz
2 3 1 −2
A=
4 6 2 −4
es uno (Matlab: rank(A)) debido a que tiene solamente una fila linealmente independiente;
las dos filas son múltiples entre sí. Por otra parte, la matriz
1 2 5
A = 3 4 −1
−1 3 5
tiene rango 3 puesto que todas sus filas y columnas son linealmente independientes. Esto es,
existen escalares α1 , α2 y α3 tales que
α1 1 2 5 + α2 3 4 −1 + α3 −1 3 5 = 0 0 0
de modo que las tres filas son linealmente independientes. Lo mismo para las columnas. Esto
es, hay escalares α1 , α2 y α3 diferentes de cero tales que
1 2 5 0
α1 3 + α2 4 + α3 −1 = 0
−1 3 5 0
de modo que las tres columnas son linealmente independientes. Una matriz cuyos elementos
son todos cero tiene un rango de cero. Una matriz n × m cuyo rango es igual al min(n,m) es de
rango completo. La nulidad de una matriz A n × m es igual a [m − ρ(A)].
La transpuesta de una matriz o vector se puede obtener por el cambio de todas las filas a
columnas, y todas las columnas a filas o de columna a fila en el caso de un vector. Por ejemplo,
2.2 Cálculo matricial 43
si A es una matriz r × p
a11 ··· a1p
.. .. ..
A= . . .
ar1 ··· arp
entonces AH es la matriz
2 1 + j2 − j3
AH = 3 + j4 2 5 + j2
−j 1 − j3 5
ai j = a ji , (2.1)
donde a ji denota la conjugada compleja. Como resultado de esta definición, los elementos
de la diagonal aii de una matriz hermítica son números reales (ya que aii = aii ), mientras que
otros elementos pueden ser complejos.
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.
La suma y la resta entre matrices se define por la adición y sustracción de elemento por
elemento de cada matriz, solo si la dimensión de las matrices es igual. Por ejemplo,
a11 · · · a1p b11 · · · b1p a11 ± b11 · · · a1p ± b1p
A ± B = ... ..
.
.. ± ..
. .
..
.
.. =
.
..
.
..
.
..
. (2.2)
ar1 · · · arp br1 · · · brp ar1 ± br1 · · · arp ± brp
Nota: Utilizando Matlab, la suma y resta de dos matrices también se puede obtener respectiva-
mente con plus(A, B) y minus(A, B).
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:
C = AB := (ci j )m×p
2.3 Álgebra de matrices 45
es decir:
a11 ··· a1n b11 ··· b1p
C = Am×n Bn×p = ... ..
.
..
. × ... ..
.
..
.
x12
x1 x1 x2 ··· x1 xn
x2 x2 x1
x22 ··· x2 xn
xx> = . x1 x2 · · · xn = . .. .. .. (2.5)
.. .. . . .
xn xn x1 xn x2 ··· xn2
46 Capítulo 2. Conceptos de cálculo matricial
Supóngase que se tiene una matriz H(p×n) y una matriz P(n×n) . Entonces H> es una matriz
n × p, y se puede calcular el producto matricial HPH>
(p×p) [63].
h11 ··· h1n p11 ··· p1n h11 ··· h p1
> .. .. .. .. .. .. .. .. ..
HPH = . . . . . . . . .
h p1 ··· h pn pn1 ··· pnn h1n ··· h pn
∑ h1 j p jk h1k · · · ∑ h1 j p jk h pk
j,k j,k
.. .. ..
= . . . (2.6)
∑ h p j p jk h1k · · · ∑ h p j p jk h pk
j,k j,k
Las divisiones de matrices están estrechamente relacionadas con las soluciones de ecuaciones
simultáneas lineales o inversas de matrices. En Matlab, están definidas la división izquierda y
la división derecha.
La división izquierda de dos matrices se puede evaluar a partir de X = A B, y es la solución
de la ecuación matricial AX = B. Para las ecuaciones donde no existe solución, se puede
obtener la solución X por mínimos cuadrados. La división izquierda de matrices también se
puede obtener con X = mldivide (A, B). La división derecha de dos matrices se puede evaluar
a partir de X = A/B, y es la solución de la ecuación matricial XA = B.
La división derecha también se puede obtener con la función Matlab X = mrdivide (A, B).
A continuación se muestran algunas de las propiedades de las matrices, para que se cumplan,
en algunas situaciones se requiere que posean rango completo [49], [61].
AB 6= BA (2.8)
2.3 Álgebra de matrices 47
2. Asociativa:
5. Inversa:
En general
6. Transpuesta:
En general
7. Conjugada Hermítica:
(A + B)H = AH + BH (2.18)
48 Capítulo 2. Conceptos de cálculo matricial
(AB)H = BH AH (2.19)
8. Traza:
9. Determinante:
Sea A una matriz n × n. Usando la notación Aij para representar la matriz formada
borrando la i-ésima fila y la j-ésima columna de A. Entonces, el determinante de A se
define como
n
|A| = ∑ (−1)i+ j ai j |Aij | (2.26)
j=1
Propiedades:
Las matrices cuadradas se pueden multiplicar por sí mismas en forma repetida del
mismo modo que los números ordinarios, puesto que ellas tienen siempre el mismo
número de filas y columnas. Esta multiplicación repetida se puede describir como la
“potencia de la matriz”, un caso especial del producto de matrices. Las matrices “rectan-
gulares” no tienen el mismo número de filas y columnas por lo que no se pueden elevar
a una potencia. Una matriz An×n elevada a un entero positivo p se define como
A p = |AA{z
· · · A}
p veces
A0 = I
I es la matriz identidad.
(αA) p = α p A p
50 Capítulo 2. Conceptos de cálculo matricial
Norma euclidiana
La norma dos de un vector columna de números reales, también llamada la norma euclidiana,
se define como sigue:
√ q
||x||2 = x> x = x12 + · · · + xn2 (2.36)
De la Ecuación (2.5), se observa que
2
x1 x1 x1 x2 ··· x1 xn
x2 x2 x1 x22 ··· x2 xn
xx> = . x1 x2 · · · xn = .
.. .. ..
.. .. . . .
xn xn x1 xn x2 ··· xn2
= ||x||22 (2.37)
Esto significa que la norma euclidiana al cuadrado equivale a la traza del producto del vector
por su transpuesta, es decir:
x> x = tr xx> (2.38)
Dado que las matrices cuadradas 2 × 2 son de uso muy frecuente en la práctica, es de interés
analizar este caso ya que posee algunas propiedades de interés, las cuales permiten simplificar
los cálculos. Considérese la matriz
a a12
A = 11 (2.39)
a21 a22
1. Determinante y traza.
2. Valores propios
λ 0 a a12 λ − a11 −a12
|[λ I − A]| = 0 = − 11 =
0 λ a21 a22 −a21 λ − a22
(λ − a11 )(λ − a22 ) − a12 a21 = λ 2 − (a11 + a22 )λ + a11 a22 − a12 a21
2.3 Álgebra de matrices 51
Entonces
3. Autovectores
a12
v1 ∝ (2.45)
λ1 − a11
a12
v2 ∝ (2.46)
λ2 − a11
4. Inversa
1 a22 −a12
A−1 = (2.47)
det(A) −a21 a11
La red equivalente se muestra en la Fig. 2.2, donde se indica la relación definida en la ecuación
(2.48). Las resistencias de entrada y salida de Ao1 y Ao2 están dadas por Ria ,Roa ,Rib y Rob ,
respectivamente.
Nótese que
vε = Ria i1
y además, puesto que la impedancia de entrada de Ao2 es muy elevada,
Rc ||Rib ≈ Rc ,
entonces,
vm ≈ Rc iL
También,
Ria Rob
Escribiendo el modelo en forma de matriz se obtiene:
vi − µvm Ria + Rob 0 i1
=
Ao vε 0 Roa + RL + Rc ||Rib iL
2.3 Álgebra de matrices 53
Entonces:
det(Z) = zi zo − βz µz
tr(Z) = zi + zo ≈ Ria
" s #
1 Ria Rc
q
λ1 = zi + zo + (zi − zo )2 + 4βz µz ≈ 1 + 1 − µAo
2 2 Ria
" s #
1 Ria Rc
q
λ2 = zi + zo − (zi − zo )2 + 4βz µz ≈ 1 − 1 − µAo
2 2 Ria
Es decir,
vs i
=H s
0 vo
donde
z β
H= i (2.51)
µ yo
Invirtiendo la expresión (2.50) se llega a:
" yo
#
is 1 yo −β vs |H|
= = µ vs
vo |H| −µ zi 0 − |H|
donde
µ
|H| = yo zi − β µ = yo zi 1 + β −
yo zi
o
|H| = yo zi (1 + β Ava )
con
µ
Ava = − .
yo zi
De esta expresión se pueden calcular los parámetros de transferencia, v.gr.:
Ganancia de tensión,
vo µ −µ Ava
Av = =− =− =
vs |H| yo zi (1 + β Ava ) 1 + β Ava
En este problema, puesto que el modelo de la matriz tiene dimensiones híbridas, es posible
calcular algunas funciones de la misma, tales como el determinante y la matriz inversa; sin
embargo, la traza no está definida ya que se tendría la suma de [Ω] + [S] (ver Ecuación (2.51)),
lo cual no es posible. Esto se debe tener en cuenta en los sistemas físicos, pues ocurre con
alguna frecuencia.
2.3.6 Lema de inversión de matrices
En ella A y BD−1 C son matrices de dimensión n × n, mientras que D es una matriz cuadrada
que puede tener una dimensión r × r diferente, en consecuencia B tendrá dimensión n × r y C,
2.3 Álgebra de matrices 55
dimensión r × n. Los nombres alternativos para esta fórmula son el lema de inversión de
matrices, la fórmula de Sherman-Morrison-Woodbury [67] o sólo la fórmula de Woodbury
[77]. Sin embargo, la identidad apareció en varios artículos antes del informe de Woodbury.
Demostración:
Para su derivación se utilizan las siguientes identidades; factorizando a izquierda y a derecha,
respectivamente:
Ahora bien
A−1 = IA−1
= (A − BD−1 C)−1 (A − BD−1 C)A−1
= (A − BD−1 C)−1 (I − BD−1 CA−1 )
= (A − BD−1 C)−1 − (A − BD−1 C)−1 BD−1 CA−1 (2.57)
Aq = λ q (2.59)
Por lo tanto
(A − λ I)q = 0 (2.60)
Para el análisis de valores propios se procede como sigue para satisfacer esta ecuación o bien
q = 0, lo cual es interesante, o la matriz A − λ I debe reducir q al vector nulo (un único punto).
Para que esto suceda A − λ I debe ser singular. Por lo tanto,
det(A − λ I) = 0 (2.61)
Por lo tanto, el análisis de valores propios procede así (i) se resuelve la ecuación anterior para
encontrar los autovalores λi y entonces (ii) se sustituyen en la Ecuación (2.59) para encontrar
los autovectores. Por ejemplo, si
4 −5
A= (2.62)
2 −3
entonces
det(A − λ I) = (4 − λ )(−3 − λ ) − (−5)(2) = 0 (2.63)
lo cual se puede reordenar como
λ2 −λ −2 = 0
(2.64)
(λ + 1)(λ − 2) = 0
tr(A) = ∑ λi (2.67)
i
2.3.8 Diagonalización
(2.68)
Q = q1 q2 · · · qd
(2.69)
AQ = λ1 q1 λ2 q2 · · · λd qd
Si se colocan los autovalores en la matriz Λ entonces la anterior matriz también puede escribirse
como QΛ Λ. Por lo tanto,
AQ = QΛ Λ (2.70)
Premultiplicando ambos lados por Q−1 se obtiene
Q−1 AQ = Λ (2.71)
esto muestra que cualquier matriz cuadrada se puede convertir en una forma diagonal (siempre
que tenga valores propios distintos; ver [72]). A veces no habrá valores propios d distintos y
en ocasiones ellos serán complejos.
Para cualquier matriz real simétrica todos los autovalores serán reales y habrá d valores propios
distintos y vectores propios. Los autovectores serán ortogonales (si la matriz es no simétrica
los autovectores no serán ortogonales). Ellos pueden normalizarse y colocarse en la matriz Q.
Puesto que Q es ahora ortogonal se tiene Q−1 = Q> . De este modo
Q> AQ = Λ (2.72)
Λ Q>
A = QΛ (2.73)
lo cual se conoce como el teorema espectral. Éste dice que cualquier matriz real simétrica
puede representarse como la anterior donde las columnas de Q contienen los autovectores y Λ
es una matriz diagonal que contiene los autovalores, Λi . Equivalentemente
λ1 q1
λ 2 q2
(2.74)
A = q1 q2 · · · qd . .. .
..
λd qd
Se define como el producto de dos matrices elemento por elemento. Sean dos matrices, A, B,
de la misma dimensión, m × p. El producto de Hadamard (Matlab: A. ∗ B) está definido por
[61]
1. Conmutativo
A ◦ B = B ◦ A, (2.77)
2. Lineal
3. Asociativo
A ◦ (B ◦ C) = (A ◦ B) ◦ C, (2.79)
4. Distributivo
A ◦ (B + C) = A ◦ B + A ◦ C. (2.80)
5. Rango.
6. Matrices diagonales.
Ejemplo 2.3.3 Verificar las relaciones de los productos mixtos de Hadamard de la Ecua-
ción (2.82), para los valores de A,B, D, E como se especifican a continuación:
1 0 0
1 2 −1 −2 4 1 −2 0
A= , B= , D= , E = 0 −1 0 .
−1 3 −2 1 −3 −1 0 1
0 0 4
Dadas dos matrices, A(m×n) y B(p×q) , el producto de Kronecker, producto directo o producto
tensorial se define como la matriz A ⊗ B(mp×nq) (Matlab: kron(A,B)) [61].
a11 B a12 B ··· a1n B
a21 B a22 B ··· a2n B
A⊗B = . .. .. .. (2.83)
.. . . .
am1 B am2 B ··· amn B
1. Conmutatividad.
A ⊗ B 6= B ⊗ A, en general. (2.84)
2. Asociatividad.
(A ⊗ B) ⊗ C = A ⊗ (B ⊗ C). (2.85)
Así, la expresión A ⊗ B ⊗ C no presenta ambigüedad.
3. Dadas las matrices C(n×q) y D(l×s) , entonces
4. Transpuesta
(A ⊗ B)> = A> ⊗ B> . (2.87)
5. Distributividad
A ⊗ (B + C) = A ⊗ B + A ⊗ C. (2.88)
60 Capítulo 2. Conceptos de cálculo matricial
6. Rango
ρ(A ⊗ B) = ρ(A)ρ(B). (2.89)
7. Escala
(αA ⊗ β B) = αβ (A ⊗ B). (2.90)
8. Traza
tr(A ⊗ B) = tr(A)tr(B) = tr(ΛA ⊗ ΛB ). (2.91)
Nótese que el producto de Kronecker está definido independientemente del orden de las matrices
involucradas, por lo que es un concepto más general que la multiplicación de matrices. A
continuación se hará la demostración de algunas de las propiedades relacionadas anteriormente.
Dichas demostraciones tienen el carácter de teoremas y en esa forma se plantean.
El siguiente teorema hace referencia a la relación entre el producto de Kronecker de dos
matrices y las matrices unitarias asociadas.
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 ).
Esto significa que Im ⊗ B y A ⊗ In son conmutativos para matrices cuadradas tales como
A y B.
A partir del Teorema 2.3.1, se puede demostrar el siguiente teorema de productos mixtos.
(A ⊗ B)(C ⊗ D)
= (A ⊗ Iq )(In ⊗ B)(C ⊗ Ir )(I p ⊗ D)
= (A ⊗ Iq )[(In ⊗ B)(C ⊗ Ir )](I p ⊗ D)
= (A ⊗ Iq )(C ⊗ B)(I p ⊗ D)
= (A ⊗ Iq )[(C ⊗ Iq )(I p ⊗ B)](I p ⊗ D)
= (A ⊗ Iq )(C ⊗ Iq ) (I p ⊗ B)(I p ⊗ D)
= (AC ⊗ Iq ) (I p ⊗ BD)
= (AC) ⊗ (BD).
(A ⊗ B)(C ⊗ D) = AC ⊗ BD.
Dada una matriz A ∈ Rm×m y una matriz B ∈ Rn×n , la suma de Kronecker denotada por A ⊕ B
se define como la expresión
A ⊕ B = A ⊗ In + Im ⊗ B. (2.99)
Para el caso de N matrices, Ai , i = 1, · · · , N (no necesariamente de la misma dimensión), la
suma de Kronecker o suma directa está dada como la matriz diagonal por bloques:
A1
A2
A1 ⊕ A2 ⊕ · · · ⊕ AN = . . (2.100)
..
AN
1. Suma mixta
(A ⊕ B)(C ⊕ D) = (AC) ⊕ (BD) (2.102)
64 Capítulo 2. Conceptos de cálculo matricial
2. Rango !
N N
(2.103)
M
ρ Ai = ∑ ρ(Ai ).
i=0 i=0
3. Determinante
Si cada Ai es una matriz cuadrada, entonces
!
N N
(2.104)
M
det Ai = ∏ det(Ai ).
i=0 i=0
4. Ortogonalidad
Si A1 y A2 son ortogonales, entonces A1 ⊕ A2 es ortogonal.
5. Exponencial
Sea A ∈ Rm×m y B ∈ Rn×n , entonces
Ejemplo 2.3.5 Verificar las ecuaciones (2.105) y (2.106) dadas las matrices
2 1 −1
1 2
A= B = 1 −1 0
3 −1
1 2 1
Se puede observar que los miembros de la derecha de las ecuaciones (2.105) y (2.106), consti-
tuyen también una igualdad, por lo tanto, los resultados deben ser idénticos. Se realizan tres
operaciones para las expresiones mencionadas, teniendo en cuenta que la suma de Kronecker
no está definida directamente en Matlab. Notando que las ecuaciones (2.99) y (2.105) tienen
como factores la matriz identidad, entonces se define para cada caso la matriz correspondiente,
es decir,
1 0 0
1 0
I2 = eye(2) = I3 = eye(3) = 0 1 0 ,
0 1
0 0 1
Se aplica dicha ecuación:
sumK=kron(A,I3)+ kron(I2,B);
expo_1=expm(sumK);
2.3 Álgebra de matrices 65
con el resultado,
52.3148 −1.8745 −40.7088 28.4898 −1.0208 −22.1694
19.4172 4.7092
−10.6458 10.5743 2.5645 −5.7976
62.0005 28.1885 0.9602 33.7645 15.3510 0.5229
expo_1 =
42.7348 −1.5312
−33.2541 23.8250 −0.8537 −18.5394
15.8614 3.8468 −8.6963 8.8429 2.1446 −4.8483
50.6467 23.0265 0.7844 28.2360 12.8375 0.4373
Por otro lado, operando sobre el miembro de la derecha de la Ecuación (2.105) se obtiene:
expo_2 = expm(kron(A,I3))*expm(kron(I2,B));
o sea,
52.3148 −1.8745 −40.7088 28.4898 −1.0208 −22.1694
19.4172
4.7092 −10.6458 10.5743 2.5645 −5.7976
62.0005 28.1885 0.9602 33.7645 15.3510 0.5229
expo_2 =
42.7348
−1.5312 −33.2541 23.8250 −0.8537 −18.5394
15.8614 3.8468 −8.6963 8.8429 2.1446 −4.8483
50.6467 23.0265 0.7844 28.2360 12.8375 0.4373
Los tres resultados son idénticos como era de esperarse. Recuérdese que en Matlab la expo-
nencial de una matriz se define como expm(A).
El operador vec crea un vector columna a partir de una matriz Am×n , apilando los vectores
.
columna de A = [A.1 A.2 · · · A.n ] uno debajo del otro (donde A.k = A(: ,k), según la notación
de Matlab) [61]; v.gr.: sea la matriz 2 × 2
a11
a11 a12 a21
A= =⇒ vec(A) =
a21 a22 a12
a22
66 Capítulo 2. Conceptos de cálculo matricial
1. Producto
vec(AXB) = (B> ⊗ A)vec(X) (2.107)
2. Traza
tr(A> B) = vec(A)> vec(B) (2.108)
3. Suma
vec(A + B) = vec(A) + vec(B) (2.109)
4. Escala
vec(αA) = α vec(A) (2.110)
5. Producto matriz–vector
A continuación se demostrará la relación que existe entre matrices y el operador vec denomina-
da vectorización, la cual permite la transformación de un producto matricial en un vector. Este
resultado será utilizados más adelante en el cálculo de las ecuaciones de Sylvester y Lyapunov.
Teorema 2.3.4 Sean las matrices A ∈ Rm×n , B ∈ R p×q y X ∈ Rn×p . Demostrar que se cumple
la relación (Ecuación (2.107)):
Demostración:
Se pueden reescribir las matrices B y X usando vectores columna como
donde el vector (.k ), corresponde a la k–ésima columna de la matriz. Por lo tanto, el producto
(AXB), se puede escribir como
x.1
p x
.2
(AXB).k = A ∑ x.i bik = b1k A b2k A · · · b pk A .. =
i=1 .
x.p
· · · b pk ⊗ A vec(X).
= b1k b2k
Entonces,
.k ⊗ A vec(X)
(AXB).k = b>
2.3 Álgebra de matrices 67
es decir,
Corolario 2.3.4.1
Solución:
3
8
9
3 9 6 3 6
vec(AXB) = vec =
8 6 16 2 6
16
3
2
2 4 6 1 2 3 3
8 6 2 4 3 1 1
8
3 6 9 3 6 9 1 9
(B> ⊗ A)vec(X) =
12 9 3 12 9 3 −1 = 6
4
8 12 2 4 6 −2
6
16 12 4 8 6 2 1 16
1 2 3 1 2 3 1 3
4 3 1 4 3 1 2
Con lo cual queda demostrada la relación pedida.
68 Capítulo 2. Conceptos de cálculo matricial
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).
Si V satisface una de las condiciones anteriores, se dice que V es una función (local) de
Lyapunov para el sistema. Siempre es posible encontrar una función de Lyapunov para un
sistema lineal de la forma descrita por (2.112), sin perturbación externa, esto es, con u = 0.
En este caso, se puede escoger una función candidata de Lyapunov de la forma cuadrática:
V = x> Px (2.114)
El sistema matricial de ecuaciones (2.115), tiene la forma general de un sistema del tipo
AX + XB = C. Este sistema general debe ser adecuado para el sistema particular de Lyapunov,
70 Capítulo 2. Conceptos de cálculo matricial
Despejando vec(X):
AX + XA = C (2.123)
> −1
vec(X) = (I ⊗ A + A ⊗ I) vec(C); ⇒ vec(X) → X ∈ R m×n
. (2.124)
Resultados:
−1.6766
1.4203
−0.1206 −1.6766 −0.1206 0.8241
x1 =
=⇒ X1 =
−0.1139 1.4203 −0.1139 −0.1413
0.8241
−0.1413
−0.3531
0.3959
−0.0460 −0.3531 −0.0460 0.1516
x2 =
=⇒ X2 =
−0.0283 0.3959 −0.0283 0.0288
0.1516
0.0288
4.50
−1.10 4.50 −2.35
x3 =
−2.35
=⇒ X3 =
−1.10 0.75
0.75
72 Capítulo 2. Conceptos de cálculo matricial
||Ax||
||A|| = sup = sup ||Ax|| (2.126)
x∈Rn ||x|| ||x||=1
Se hará el análisis por partes, primero suponiendo que existe un error de redondeo en b y que
A es exacta, luego recíprocamente, para finalmente hacer el caso conjunto.
Sea la ecuación lineal dada por
Ax = b (2.127)
A(x + ∆x) = b + ∆b
Ax + A∆x = b + ∆b
A∆x = ∆b
∆x = A−1 ∆b
||∆x|| = ||A−1 · ∆b|| ≤ ||A−1 || · ||∆b||
y
1 1
≤ ||A|| ·
||x|| ||b||
2.4 Número de condición 73
Donde κ(A) = ||A|| · ||A−1 ||, es el número de condición, como se había definido antes.
O sea
||∆x|| ||∆b||
≤ κ(A) (2.128)
||x|| ||b||
(A + ∆A)(x + ∆x) = b
∆A · (x + ∆x) + A · ∆x = 0
∆A · x + (A + ∆A)∆x = 0
∆x = −(A + ∆A)−1 · ∆A · x (2.129)
Entonces
||A−1 ||
||(A + ∆A)−1 || ≤ (2.130)
1 − ||A−1 || · ||∆A||
Es decir,
||∆x||
≤ ||(A + ∆A)−1 ∆A||
||x||
≤ ||(A + ∆A)−1 || · ||∆A|| (2.132)
(A + ∆A)(x + ∆x) = b + ∆b
(A + ∆A)∆x = ∆b − ∆A · x
||A−1 ||
||∆x|| ||∆b||
≤ · + ||∆A||
||x|| 1 − ||A−1 || · ||∆A|| ||A−1 || · ||b||
||A−1 || · ||A||
||∆x|| ||∆b|| ||∆A||
≤ · +
||x|| 1 − ||A−1 || · ||∆A|| ||b|| ||A||
Por lo tanto,
||∆x|| κ(A) ||∆b|| ||∆A||
≤ · + (2.134)
||x|| ||∆A|| ||b|| ||A||
1 − κ(A) ·
||A||
2.5 Cálculo vectorial y matricial 75
7 5 9 10 31 −0.1
||∆x||
||∆x|| = 16.3970; ||x|| = 2.0000; =⇒ = 8.1985
||x||
||∆b||
||∆b|| = 0.2000; ||b|| = 60.0250; =⇒ = 0.0033
||b||
κ(A) = 2984.1
Supóngase que la matriz A tiene elementos que son funciones del tiempo. Se sabe que
AA−1 = I; esto es, AA−1 es una matriz constante y por lo tanto tiene derivada en el tiempo
igual a cero, entonces la derivada en el tiempo de AA−1 se puede calcular como
d d
(AA−1 ) = ȦA−1 + A (A−1 ) (2.137)
dt dt
d(A−1 )
Puesto que esto es cero, puede resolverse para dt como
d −1
(A ) = −A−1 ȦA−1 (2.138)
dt
Nótese que para el caso especial de una función escalar A(t), esto se reduce a la ecuación
familiar
d 1 ∂ (1/A(t)) dA(t) Ȧ(t)
= =− 2 (2.139)
dt A(t) ∂ A(t) dt A (t)
Con estas definiciones se puede calcular la derivada parcial del producto escalar de dos vectores.
Sean x e y vectores columna {x, y ∈ Rn }. Entonces
x> y = x1 y1 + · · · + xn yn (2.140)
Ahora se calculará la derivada parcial de una función cuadrática con respecto a un vector.
Primero escribe la ecuación cuadrática de la siguiente manera:
a11 · · · a1n x1 x
. . . . .1
x Ax = x1 · · · xn ..
> .. .. .. = ∑i xi ai1 · · · ∑i xi ain ..
an1 · · · ann xn xn
= ∑ xi x j ai j (2.143)
i, j
∂ (x> Ax)
= 2x> A (2.145)
∂x
78 Capítulo 2. Conceptos de cálculo matricial
fm (x) xn
Entonces
∂ f1 (x) ∂ f1 (x)
∂x ···
1 ∂ xn
= ... ..
∂ f(x) ..
. . (2.146)
∂x
∂ fm (x) ∂ fm (x)
···
∂ x1 ∂ xn
Bien sea que f(x) o x sea transpuesta, entonces la derivada parcial también es transpuesta.
>
∂ f> (x)
∂ f(x)
=
∂ (x) ∂ (x)
>
∂ f(x) ∂ f(x)
= (2.147)
∂ (x)> ∂ (x)
∂ f> (x) ∂ f(x)
=
∂ (x)> ∂ (x)
Con estas relaciones, se pueden derivar las siguientes igualdades. Supóngase que A ∈ Rm×n y
x ∈ Rn×1 . Entonces
∂ (Ax)
=A
∂x
(2.148)
∂ (x> A> )
= A>
∂x
Ahora supóngase que A ∈ Rm×n , B ∈ Rn×n y se desea calcular la derivada parcial tr(ABA> )
con respecto a A. Primero se calcula ABA> como sigue:
a11 · · · a1n b11 · · · b1n a11 · · · am1
ABA> = ... ..
.
.. ..
. .
..
.
.. ..
. .
..
.
..
.
∂ tr(ABA> ) ∂ tr(ABA> )
···
∂ a11 ∂ a1n
∂ tr(ABA> ) ..
= .
∂A
∂ tr(ABA> ) ∂ tr(ABA> )
···
∂ am1 ∂ amn
∑ j a1 j b1 j + ∑k a1k bk1 · · · ∑ j a1 j bn j + ∑k a1k bkn
= ..
.
∑ j am j b1 j + ∑k amk bk j · · · ∑ j am j bn j + ∑k amk bkn
∑ j a1 j b1 j · · · ∑ j a1 j bn j ∑k a1k bk1 · · · ∑k a1k bkn
= .. ..
. + .
∑ j am j b1 j · · · ∑ j am j bn j ∑k amk bk1 · · · ∑k amk bkn
Por lo tanto
∂ tr(ABA> )
= AB> + AB (2.151)
∂A
Si B es simétrica entonces
∂ tr(ABA> )
= 2AB si se cumple que B = B> (2.152)
∂A
2.6 Resumen
En este capítulo se ha hecho una revisión de aspectos básicos de álgebra lineal incluyendo una
introducción a productos de Hadamard y de Kronecker, los cuales no son muy corrientes en
los cursos introductorios. La razón es que se presentan algunas procesos en la práctica que
requieren esas aplicaciones, tales como en la solución de la ecuación de Sylvester o Lyapunov
que tiene ocurrencia en sistemas de control. Esto conduce a un conjunto de resultados que se han
expuesto en el texto en forma de teoremas con el objeto de darles formalidad y también como
ejercicio para el lector. También se ha hecho un estudio del concepto de número de condición.
Esto es de utilidad en el proceso de análisis de estabilidad numérica de algunos sistemas
dinámicos. En la segunda parte se abordó el problema del cálculo de matrices, procedimiento
que conduce a la obtención de resultados directos para diversas aplicaciones de matrices
y vectores. Se ha procurado realizar los procedimientos por el método de paso a paso con
el fin de que el lector pueda seguir fácilmente las demostraciones. Finalmente, se hace una
pequeña introducción a los sistemas lineales y no lineales y a la discretización de los procesos
dinámicos.
3 Elementos de sistemas dinámicos
Nikola Tesla
3.1 Introducción
81
82 Capítulo 3. Elementos de sistemas dinámicos
para sistemas lineales. Por esta razón, los sistemas no lineales a veces se aproximan como
lineales. De esa manera, se pueden aplicar las herramientas desarrolladas para sistemas lineales
con el fin de obtener algoritmos para estimación y control.
Un sistema lineal en tiempo continuo, determinístico, se puede describir por las ecuaciones
ẋ = Ax + Bu
(3.1)
y = Cx
o lo que es lo mismo,
Z t
e−At x(t) − e−At0 x(t0 ) = e−Aτ Bu(τ)dτ.
t0
o sea, Z t
e−At x(t) = e−At0 x(t0 ) + e−Aτ Bu(τ)dτ.
t0
donde t0 es el tiempo inicial del sistema y a menudo se toma como 0. La Ecuación (3.2) es
la solución general de la ecuación de estado definida en (3.1). Suele referirse como fórmula
de variación de parámetros. La sustitución de la expresión (3.2) en la ecuación de salida de
(3.1) expresa y(t) en la forma siguiente, la cual hace evidente la superposición de la respuesta
a entrada nula y la respuesta a condiciones iniciales nulas:
Z t
y(t) = CeA(t−t0 ) x(t0 ) + C eA(t−τ) Bu(τ)dτ (3.3)
t0
3.3 Sistemas no lineales 83
por esta razón, eAt se denomina matriz de transición de estado del sistema. Es la matriz que
describe como cambia el estado de su condición inicial en la ausencia de entradas externas.
(Matlab: expm(A) 6= exp(A), exp(A) calcula la exponencial de una matriz, elemento por
elemento).
Un sistema lineal en la realidad no existe. Los sistemas reales siempre tienen algunas no linea-
lidades. Aun un simple resistor finalmente es no lineal si se aplica una tensión suficientemente
grande a través de él. La misma ley de Ohm que establece una relación lineal en una red
eléctrica, sólo es valida en un cierto rango de operación. Pero aunque los sistemas lineales
no existen en el mundo real, la teoría de los sistemas lineales es una valiosa herramienta que
puede emplearse para estudiar los sistemas no lineales.
ẋ = f(x,u,v)
(3.5)
y = h(x,w)
donde f(·) y h(·) son funciones vectoriales arbitrarias [48]. Se utiliza v para indicar el ruido
del proceso y w para indicar el ruido de la medición. Si f(·) y h(·) son funciones explícitas del
tiempo, entonces el sistema es variante en el tiempo. De otra forma, el sistema es invariante en
el tiempo. Si f(x,u,v) = Ax + Bu + v y h(x,w) = Hx + w, entonces el sistema es lineal. De
otra forma es no lineal. Con el fin de aplicar herramientas a partir de la teoría de los sistemas
lineales a los sistemas no lineales, se necesita linealizar estos sistemas. En otras palabras, se
necesita encontrar un sistema lineal que sea aproximadamente igual al sistema no lineal. Para
ver como se hace esto, se empieza con una función no lineal f (x) de un escalar x. Se expande
f (x) en una serie Taylor alrededor de un punto de operación nominal (también llamado punto
de linealización) x = x̄. Definiendo x̃ = x − x̄:
1 ∂ 2 f 2 1 ∂ 3 f 3
∂ f
f (x) = f (x̄) + x̃ + x̃ + x̃ + · · · (3.6)
∂ x x̄ 2! ∂ x2 x̄ 3! ∂ x3 x̄
84 Capítulo 3. Elementos de sistemas dinámicos
Ahora supóngase que x es un vector 2 × 1. Esto implica que x es una función no lineal de dos
variables independientes x1 y x2 . La expansión en serie de Taylor de f (x) conduce a
∂ f (x) ∂ f (x)
f (x) = f (x̄) + x̃ + x̃ +
∂ x1 x̄ 1 ∂ x2 x̄ 2
1 ∂ 2 f (x) 2 ∂ 2 f (x) 2 ∂ 2 f (x)
+ x̃ + x̃ + 2 x̃ x̃ +
2! ∂ x12 x̄ 1 ∂ x22 x̄ 2 ∂ x1 x2 x̄ 1 2
!
1 ∂ 3 f (x) 3 ∂ 3 f (x) 3 ∂ 3 f (x) 2 ∂ 3 f (x)
2
+ x̃ + x̃ + 3 x̃ x̃ + 3 x̃ x̃ + · · ·
3! ∂ x13 x̄ 1 ∂ x23 x̄ 2 ∂ x12 x2 x̄ 1 2 ∂ x1 x22 x̄ 1 2
1 2 1
f (x) = f (x̄) + Dx̃ f (x) + Dx̃ f (x) + D3x̃ f (x) + · · · (3.9)
2! 3!
Si la función no lineal f (x) es suficientemente suave, entonces las derivadas de orden superior
de f (x) deben ser algo pequeñas. También, si f (x) se expande alrededor de un punto tal que
x se acerque a x̃, entonces x es pequeña y las potencias de orden superior en la Ecuación
(3.9) serán pequeñas. Finalmente, las derivadas de mayor orden en la expansión en serie de
Taylor de la Ecuación (3.9) se dividen entre factoriales incrementalmente mayores, los cuales
disminuyen aún más la magnitud de los términos de mayor orden en la citada ecuación. Esto
justifica la aproximación
∂ f
donde A = , es la matriz definida por la anterior ecuación.
∂ x x̄
Retornando al sistema de ecuaciones no lineal planteado en (3.5) y tomando la expresión
f(x,u,v), se ve que ésta se puede expandir alrededor del punto de operación nominal (x̄,ū,v̄),
obteniéndose una aproximación lineal como sigue;
ẋ = f(x,u,v)
∂ f ∂ f ∂ f
≈ f(x̄,ū,v̄) + (x − x̄) + (u − ū) + (v − v̄)
∂ x 0 ∂ u 0 ∂ v 0
= x̄˙ + Ax̃ + Bũ + Lṽ (3.11)
Se tiene una ecuación lineal para x̃˙ en términos de x̃,ũ y v. Una ecuación lineal para las
desviaciones de los estados y control de sus valores nominales. Siempre que las desviaciones
permanezcan pequeñas, la linealización será exacta y la ecuación lineal describirá con precisión
las desviaciones de x de sus valores nominales x̄. En una forma similar se puede expandir la
ecuación de medición no lineal dada por la Ecuación (3.5) alrededor de un punto de operación
nominal x = x̄ y w = w̄ = 0. Esto resulta en la ecuación de medición linealizada
∂ h ∂ h
ỹ = x̃ + w̃
∂ x 0 ∂ w 0
= Cx̃ + Mw (3.14)
donde C y M están definidas por la anterior ecuación. Las ecuaciones (3.13) y (3.14) com-
prenden un sistema lineal que describe las desviaciones del estado y de la salida desde sus
valores nominales. Donde las cantidades con virgulilla en las ecuaciones (3.13) y (3.14) están
definidas como
x̃ = x − x̄; ũ = u − ū; ỹ = y − ȳ
3.4 Discretización
La mayoría de los sistemas en el mundo real se describen con la dinámica de tiempo conti-
nuo del tipo mostrado en la Ecuación (3.1). Sin embargo, los algoritmos de estimación de
estados y control son casi siempre implementados con electrónica digital. Esto requiere una
transformación de una dinámica en tiempo continuo a una dinámica en tiempo discreto. Acá
se discutirá cómo un sistema lineal en tiempo continuo se transforma en un sistema lineal en
tiempo discreto. Recordando la Ecuación (3.2) y haciendo t = tk y haciendo el tiempo inicial
86 Capítulo 3. Elementos de sistemas dinámicos
t0 = tk−1 , se tiene
Z tk
x(tk ) = eA(tk −tk−1 ) x(tk−1 ) + eA(tk −τ) dτBu(tk−1 )
tk−1 (3.15)
y(tk ) = Cx(tk ).
Entonces,
xk = Fk−1 xk−1 + Gk−1 uk−1 (3.16)
donde
Fk−1 = eAT (3.17a)
Z T
Gk−1 = eAT e−Aα dαB. (3.17b)
0
Esta es una aproximación lineal discreta en el tiempo a la dinámica continua en el tiempo dada
por la Ecuación (3.1). El cálculo de la integral de la exponencial de la matriz se puede realizar
si A es invertible:
(−Aτ)k
Z T Z T ∞
e−Aτ dτ = ∑ dτ
0 0 k=0 k!
A2 τ 2 A3 τ 3
Z T
= I − Aτ + − + · · · dτ
0 2! 3!
T
Aτ 2 2 3 3 4
A τ A τ
= Iτ − + − +···
2! 3! 4! 0
AT2 2 3 3 4
A T A T
= IT − + − +···
2! 3! 4!
Entonces, Z T
e−Aτ dτ = I − e−AT A−1 (3.18)
0
3.4 Discretización 87
F = eAT
(3.19)
G = F I − e−AT A−1 B.
ẋ = ax + bu
con a 6= 0.
Aplicando las ecuaciones (3.19) se obtiene
F = eaT
b b aT
G = eaT 1 − e−aT
= e −1
a a
El sistema de muestreo se convierte así en
b aT
xk = eaT xk−1 +
e − 1 uk−1
a
Por lo tanto
1 0 0 1 1 0 1 0 1 2
F = eAT = + T+ T +··· =
0 1 0 0 2! 0 0 0 0
1 0 0 T 1 T
= + =
0 1 0 0 0 1
Para el cálculo de G, no se puede aplicar en este caso la Ecuación (3.19) puesto que A−1 no
existe; por lo tanto, se aplica directamente la Ecuación (3.17b), o sea
Z T 2 T
1 T 1 −α 0 1 T α − α2 0
G= dα =
0 1 0 0 1 1 0 1 0 α 0 1
T T − 21 T2 0 1 T − 21 T2 1 2
1 T
= = = 2
0 1 0 T 1 0 1 T T
88 Capítulo 3. Elementos de sistemas dinámicos
1 2
1 T T
xk = x + 2 uk−1
0 1 k−1 T
y = 1 0 xk−1
3.5 Estabilidad
ẋ = Ax
(3.20)
y = Cx
A partir de estas ecuaciones se pueden definir los conceptos de estabilidad marginal y estabilidad
asintótica como sigue.
Las dos definiciones anteriores muestran que un sistema es marginalmente estable si éste es
asintóticamente estable. Esto es, estabilidad asintótica es un subconjunto de la estabilidad
marginal. Estabilidad marginal y estabilidad asintótica son clases de estabilidad interna. Esto
es, porque se ocupan sólo del estado del sistema (es decir, la condición interna del sistema) y
no consideran la salida del sistema. Categorías más específicas de estabilidad interna (es decir,
estabilidad uniforme y estabilidad exponencial) están dadas en algunos libros sobre sistemas
lineales [21], [68], [51].
Puesto que la solución de la Ecuación (3.20) está dada como
para alguna matriz constante M. Esto es solo una forma de decir que la matriz exponencial
no aumenta ilimitadamente.
La relación “menor que o igual que” en el anterior teorema plantea algunas preguntas, puesto
que las cantidades en ambos lados de este símbolo matemático son matrices. ¿Qué significa
que una matriz ser menor que otra matriz? Esto puede ser interpretado de varias formas. Por
ejemplo, decir que A < B se interpreta normalmente como que (B − A) es definida positiva.
En el anterior teorema se puede usar cualquier definición razonable para la desigualdad de la
matriz y el teorema continúa siendo válido. Un teorema similar puede establecerse combinando
la Definición 3.5.2 con la Ecuación (3.22).
Se puede establecer el siguiente teorema.
Recordando que eAt = QeÂt Q−1 , donde Q es una matriz constante que contiene los autovectores
de A y  es la forma de Jordan de A. La matriz exponencial eÂt , por lo tanto, contiene términos
como e(λi t) ,te(λi t) ,t 2 e(λi t) , etc, donde λi , es un autovalor de A. La acotación de eAt está referida
a los autovalores de A como se establece por los siguientes teoremas.
Ya que la matriz A es triangular superior, se sabe que sus autovalores están sobre la diagonal;
esto es, los autovalores de A son iguales a 0,0, y −1. Se ve que el sistema es asintóticamente
90 Capítulo 3. Elementos de sistemas dinámicos
inestable puesto que algunos de sus autovalores son no negativos. También nótese que la matriz
A ya está en la forma de Jordan y se ve que el bloque de Jordan correspondiente al autovalor 0
es de segundo orden. Por lo tanto, el sistema también es marginalmente inestable. La solución
de este sistema es
x(t) = exp(At)x(0)
1 t 0
= 0 1 0 x(0)
0 0 e−t
El elemento de la primera fila y segunda columna de exp(At) crece sin límite cuando t se
incrementa, de manera que hay algunos estados iniciales x(0) que resultarán en x(t) no acotado.
Sin embargo, hay algunos estados iniciales x(0) que resultarán en x(t) acotado. Por ejemplo,
si x(0) = [1 0 1]> , entonces
x(t) = exp(At)x(0)
1 t 0 1 1
= 0 1 0 0 = 0
0 0 e−t 1 e−t
y x(t) será acotado para todo t. Sin embargo, esto nada dice acerca de la estabilidad del sistema;
sólo dice que existe algún x(0) que resulta en un x(t) acotado. Si se escoge x(0) = [0 1 0]> ,
entonces
x(t) = exp(At)x(0)
1 t 0 0 t
= 0 1 0 1 = 1
0 0 e−t 0 0
y x(t) crecerá sin límite. Esto prueba que el sistema es asintóticamente inestable y marginal-
mente inestable.
Los autovalores de A son iguales a 0,0, y −1. Se ve que el sistema es asintóticamente inestable
puesto que algunos de sus autovalores son no negativos. Además para ver si el sistema es
marginalmente estable, se necesita calcular la multiplicidad geométrica del autovalor 0. (Esto
puede hacerse notando que A ya está en la forma de Jordan, pero se irá a través del ejercicio
3.5 Estabilidad 91
(donde λ = 0) para vectores no cero v, se ve que hay dos soluciones linealmente independiente
dadas como
1 0
v = 0 , 1
0 0
Esto muestra que la multiplicidad geométrica del autovalor 0 es igual a 2, lo cual significa que
el sistema es marginalmente estable. La solución del sistema es
x(t) = exp(At)x(0)
1 0 0
= 0 1 0 x(0)
0 0 e−t
Independientemente de x(0), se ve que x(t) siempre será limitado, lo cual significa que el
sistema es marginalmente estable. Nótese que x(t) puede aproximarse a 0 cuando t crece,
dependiendo del valor de x(0). Por ejemplo, si x(0) = [0 0 − 1]> , entonces
1 0 0 0 0
x(t) = 0 1 0 0 = 0
0 0 e−t −1 −e−t
y x(t) se aproxima a 0 cuando t crece. Sin embargo, esto no dice nada acerca de la estabilidad
asintótica del sistema; esto solamente dice que existe algún x(0) que resulta en el estado x(t)
que se aproxima asintóticamente a 0. Si por el contrario se opta por escoger x(0) = [0 1 0]> ,
entonces
1 0 0 0 0
x(t) = 0 1 0 1 = 1
0 0 e−t 0 0
xk+1 = Fxk
(3.25)
yy = Hxk
92 Capítulo 3. Elementos de sistemas dinámicos
xk = Fk x0 (3.27)
para alguna matriz constante M. Esto es sólo una forma de decir que las potencias de F no
aumentan sin límite.
Teorema 3.5.6 Un sistema lineal de tiempo discreto, invariante en el tiempo es asintóticamente
estable si y solo si
lı́m Fk = 0 (3.29)
k→∞
−1
Recordando que F = QF̂ Q , donde Q es una matriz constante que contiene los autovectores
k k
3.6.1 Controlabilidad
Las siguientes definiciones y teoremas dan descripción clara de la controlabilidad para sistemas
lineales tanto en tiempo continuo como en discreto.
Definición 3.6.1 Un sistema de tiempo continuo es controlable si para cualquier estado inicial
x(0) y cualquier tiempo final t > 0 existe una ley de control que transfiera el estado a cualquier
valor deseado en el tiempo t.
Definición 3.6.2 Un sistema de tiempo discreto es controlable si para cualquier estado inicial
x0 y algún tiempo final k existe una ley de control que transfiera el estado a cualquier valor
deseado en el tiempo k.
C= B AB · · · An−1 B (3.30)
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.
C= G FG · · · Fn−1 G (3.33)
k
G = ∑ Fk−1 GG> (A> )k−i (3.34)
i=0
tiene una solución definida positiva Wk para algún k ∈ (0,∞). Ésta es también llamada la
ecuación de Stein.
Nótese que los Teoremas 3.6.1 y 3.6.4 dan pruebas idénticas de controlabilidad tanto para
sistemas de tiempo continuo como de tiempo discreto. En general, estas son las pruebas más
simples de controlabilidad. Las pruebas de controlabilidad para sistemas lineales variantes en
el tiempo pueden obtenerse generalizando los teoremas anteriores. La controlabilidad para
sistemas no lineales es mucho más difícil de formalizar.
3.6 Controlabilidad y Observabilidad 95
Ejemplo 3.6.1 El circuito RLC de la Figura 3.1 tiene la descripción en variables de estados
dada por (ver por ejemplo [20])
" # " −2 1 # " # " 1 #
v̇C RC C
vC RC
= + u
−1 1
ı̇L L 0 ıL L
+ R
u L R
-
R = L/C. Puede ser muy difícil obtener este resultado a partir de los Teoremas 3.6.2 y 3.6.3.
p
3.6.2 Observabilidad
Las siguientes definiciones y teoremas dan descripción clara de la observabilidad para sistemas
lineales tanto en tiempo continuo como en discreto.
Definición 3.6.3 Un sistema de tiempo continuo es observable si para cualquier estado inicial
x(0) y cualquier tiempo final t > 0 el estado inicial x(0) se puede determinar únicamente con
el conocimiento de la entrada u(τ) y la salida y(τ) para todo τ ∈ [0,t].
96 Capítulo 3. Elementos de sistemas dinámicos
Definición 3.6.4 Un sistema de tiempo discreto es observable si para cualquier estado inicial x0
y algún tiempo final k el estado inicial x0 se puede determinar únicamente con el conocimiento
de la entrada ui y la salida yi para todo i ∈ [0,k].
Nótese que la observabilidad en el caso de tiempo continuo es más exigente que la definición
en tiempo discreto. En el caso de tiempo continuo, el estado inicial se debe poder determinar
en cualquier tiempo final. En el caso de tiempo discreto, el estado inicial se debe poder
determinar algún tiempo final. Si el sistema es observable entonces se puede determinar el
estado inicial, y si se puede determinar el estado inicial entonces todos los estados entre
los tiempos inicial y final pueden determinarse. Hay varias pruebas para la observabilidad.
Los siguientes teoremas equivalentes puede usarse para probar la observabilidad de sistemas
lineales continuos invariantes en el tiempo.
Teorema 3.6.7 El sistema lineal de n estados, continuo e invariante en el tiempo
ẋ = Ax + Bu
(3.37)
y = Cx
ẋ = Ax + Bu
(3.39)
y = Cx
ẋ = Ax + Bu
(3.41)
y = Cx
tiene una solución definida positiva W(τ) para algún τ ∈ (0,t). Esta es también llamada la
ecuación de Sylvester.
Similar al caso de tiempo continuo, los siguientes teoremas pueden usarse para probar la
observabilidad de un sistema lineal discreto invariante en el tiempo.
Teorema 3.6.10 El sistema lineal de n estados, discreto e invariante en el tiempo
xk = Fxk−1 + Guk−1
(3.43)
yk = Hxk
xk = Fxk−1 + Guk−1
(3.45)
yk = Hxk
xk = Fxk−1 + Guk−1
(3.47)
yk = Hxk
tiene una solución definida positiva W0 para algún k ∈ (0,∞). Esta es también llamada la
ecuación de Stein.
Nótese que los Teoremas 3.6.7 y 3.6.10 dan pruebas idénticas de observabilidad tanto para
sistemas de tiempo continuo como de tiempo discreto. En general, estas son las pruebas más
98 Capítulo 3. Elementos de sistemas dinámicos
Ejemplo 3.6.2 El circuito RLC de la Figura 3.1 está definido en variables de estados como
" # " −2 1 # " # " 1 #
v̇C RC C
vC RC
= + u
−1 1
ı̇L L 0 ıL L
v
y = −1 0 C
ıL
Por lo tanto, el sistema es no observable. Sería muy difícil obtener este resultado a partir de
los Teoremas 3.6.8 y 3.6.9.
ẋ = Ax + Bu
(3.49)
y = Cx + Du
Primero se encuentran los autovalores de la matriz A del sistema. Supóngase que los autovec-
tores se indican como v1 , · · · , vn . Se crea una matriz Mn×n agregando los autovectores como
sigue
(3.50)
M = v1 · · · vn
Se define un nuevo sistema como
x̄˙ = M−1 AMx̄ + M−1 Bu
= Āx̄ + B̄u
(3.51)
y = CMx̄ + Du
= C̄x̄ + Du
El nuevo sistema se denomina la representación en forma de Jordan del sistema original. Nótese
que la matriz M siempre será invertible porque los autovectores de la matriz siempre pueden
ser elegidos para ser linealmente independientes. Los dos sistemas de las ecuaciones (3.49) y
(3.51) son sistemas algebraicamente equivalentes. Esto es porque tienen la misma entrada y la
misma salida (y por lo tanto, tienen la misma función de transferencia) pero tienen estados
diferentes.
ẋ = Ax + Bu
1 1 2 1
= 0 1 3 x + 1 u
0 0 −2 0
y = Cx + Du
= 1 0 0 x
La matriz de autovectores de A es
M = v1 v2 v3
1 0 1
= 0 1 3
0 0 −3
Ā = M−1 AM
B̄ = M−1 B
C̄ = CM
En el ejemplo anterior, el primer modo es inestable (ambos autovalores en +1) pero es con-
trolable. El segundo modo es estable (autovalor en −2) pero no controlable. Por lo tanto, el
sistema es estabilizable.
En el ejemplo de más arriba, es primer modo es inestable pero observable. El segundo modo
es estable y observable. Por lo tanto, el sistema es detectable.
3.7 Resumen
En este capítulo se ha hecho una revisión de aspectos básicos de álgebra lineal incluyendo una
introducción a productos de Hadamard y de Kronecker, los cuales no son muy corrientes en
los cursos introductorios. La razón es que se presentan algunas procesos en la práctica que
requieren esas aplicaciones, tales como en la solución de la ecuación de Sylvester o Lyapunov
que tiene ocurrencia en sistemas de control. Esto conduce a un conjunto de resultados que se han
3.7 Resumen 101
expuesto en el texto en forma de teoremas con el objeto de darles formalidad y también como
ejercicio para el lector. También se ha hecho un estudio del concepto de número de condición.
Esto es de utilidad en el proceso de análisis de estabilidad numérica de algunos sistemas
dinámicos. En la segunda parte se abordó el problema del cálculo de matrices, procedimiento
que conduce a la obtención de resultados directos para diversas aplicaciones de matrices
y vectores. Se ha procurado realizar los procedimientos por el método de paso a paso con
el fin de que el lector pueda seguir fácilmente las demostraciones. Finalmente, se hace una
pequeña introducción a los sistemas lineales y no lineales y a la discretización de los procesos
dinámicos.
4 Estimación por mínimos cuadrados
Isaac Asimov
4.1 Introducción
E n este capítulo se discutirá la estimación por mínimos cuadrados, la cual es la base para
los métodos de diseño óptimo de filtros. En la primera parte se discute la estimación de
un vector constante sobre la base de varias mediciones lineales pero ruidosas de ese vector.
Luego se extienden los resultados al caso en el cual algunas medidas son más ruidosas que
otras; esto es, se tiene mayor confianza en algunas medidas que en otras. Cuando los datos se
incrementan en el tiempo se hace difícil hacer cálculos de los valores estimados; esto conduce
al concepto de recursión en el proceso, sobre la base de medidas ruidosas. La estimación
recursiva es un método de estimación en el cual no se incrementa el esfuerzo computacional
del algoritmo, independientemente de cuantas mediciones se dispone. A mediados del siglo
pasado, apareció el filtro de Wiener, el cual es un método de estimar señales variantes en el
tiempo contaminadas por ruido, con base en las mediciones del ruido. Hasta 1960, el filtro de
Wiener era el estado del arte en la estimación de señales [40]. Este paradigma fue roto con la
publicación del trabajo de R. Kalman en los comienzos de los años 60 [46], a partir del cual
miles de proyectos se han elaborado con mucho éxito.
103
104 Capítulo 4. Estimación por mínimos cuadrados
resistencia sobre la base de las medidas ruidosas. En este caso, se desea estimar una constante
escalar pero, en general, se desea estimar un vector constante [26].
Para tomar el problema en términos matemáticos, supóngase que x es un vector constante
desconocido de n elementos y y es un vector de k elementos de medidas ruidosas. Entonces
surge la pregunta ¿Cómo se puede encontrar el mejor estimado x̂ de x? Para tratar de resolver
este problema se procede como se describe a continuación.
Asúmase que cada elemento del vector y de medidas es una combinación lineal de los
elementos de x, con la suma de algunas medidas ruidosas w:
y1 = h11 x1 + · · · + h1n xn + w1
.. ..
. .
yk = hk1 x1 + · · · + hkn xn + wk
y = Hx + w (4.1)
ε y = y − Hx̂ (4.2)
El vector ε y es llamado la medida residual. El valor más probable del vector x es el vector x̂
que hace mínima la suma de los cuadrados entre los valores observados y y el vector Hx̂. De
esta manera se tratará de calcular el vector x̂ que minimice la función de costo J, donde J está
dada como
J = ε 2y1 + · · · + ε 2yk
= ε>
y εy (4.3)
J = (y − Hx̂)> (y − Hx̂) = y> y − y> Hx̂ − x̂> H> y + x̂> H> Hx̂
Con el fin de minimizar J con respecto a x̂, se calcula la derivada parcial y el resultado se
iguala a cero.
∂J
= −y> H − y> H + 2x̂> H> H = −2y> H + 2x̂> H> H = 0 (4.4)
∂ x̂
Resolviendo esta ecuación para x̂ resulta en
Es decir,
Ejemplo 4.2.1 La idea es tratar de estimar la resistencia x de un resistor no marcado con base a
k medidas ruidosas de un multímetro. En este caso x es un escalar de modo que las k medidas
ruidosas estarán dadas como
y1 = x + w1
.. ..
. .
yk = x + wk
La Ecuación (4.5) muestra que el estimado óptimo de la resistencia x está dado como
1 yk
1 k
x̂ = ∑ yi (4.7)
k i=1
106 Capítulo 4. Estimación por mínimos cuadrados
En este simple ejemplo, se puede observar que la estimación por mínimos cuadrados concuerda
con nuestra intuición de simplemente calcular el promedio de las medidas.
En la sección anterior, se asumió que se tenía igual nivel de confianza en todas las medidas.
Ahora se va a suponer que se tiene mayor confianza en algunas medidas con respecto a otras.
En este caso, se requiere generalizar los resultados de la sección anterior con el fin de obtener
la estimación por mínimos cuadrados ponderados. La situación se presenta, v.gr., cuando se
tienen diferentes dispositivos de medición y alguno o algunos son de mejor calidad que los
demás; sin embargo, no se pueden descartar las medidas tomadas con los dispositivos de menor
calidad puesto que ya están, por ejemplo, en una base de datos y se puede tomar información
de ellas. En la práctica se hace mayor énfasis en las medidas más confiables que en las tomadas
con aparatos o en condiciones de baja fiabilidad. En esta sección se muestra que en efecto se
puede aprovechar esa información de “baja” calidad y ponderar su valor no importa su nivel
de confianza.
Para poner el problema en términos matemáticos, supóngase que x es un vector constante
desconocido de n elementos y y es un vector de medidas ruidosas de k elementos. Se supone que
y es una combinación lineal de los elementos de x con la adición de algún ruido de medición
cuya varianza puede ser diferente para cada elemento de y [26]:
y1 h11 · · · h1n x1 w1
.. .. .. ..
. = . . + .
yk hk1 ··· hkn xn wk
E{w2i } = σi2 i = 1, . . . ,k
Se supone que el ruido en cada medida tiene media cero y es independiente. La matriz de
covarianza de la medida está dada por
2
σ1 0
R = E{ww> } = ..
.
0 σk2
εy21 εy2k
J= +···+ (4.8)
σ12 σk2
Nótese que en lugar de minimizar la suma de los cuadrados de ε y como se hizo en la Ecuación
(4.3), se minimiza la suma de los cuadrados ponderados. Si, por ejemplo, y1 es una medida
relativamente ruidosa, entonces no hay necesidad de ser muy cuidadoso en la minimización de
la diferencia entre y1 y el primer elemento de Hx̂ pues no se tiene la suficiente confianza en el
4.3 Estimación por mínimos cuadrados ponderados 107
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,
Finalmente,
Resultado que se conoce como Teorema de Gauss–Markov [23]. Nótese que este método
requiere que la matriz de ruido de la medida, R, sea definida positiva, es decir, cada medida yi
debe estar contaminada por algún ruido para que este método funcione.
yi = x + wi
2
E{σi } = σi2 i = 1, · · · ,k
y1 1 w1
.. .. ..
. = .x+ .
yk 1 wk
R = diag(σ12 · · · σk2 )
108 Capítulo 4. Estimación por mínimos cuadrados
1 −1 y1
yk
= ∑ 2 + · · · +
σi σ12 σk2
yk = Hk x + wk
(4.10)
x̂k = x̂k−1 + Kk (yk − Hk x̂k−1 )
Para esto, se calcula x̂ sobre la base del valor estimado anterior x̂k−1 y la nueva medida yk . Kk
es una matriz a ser determinada, llamada la matriz de ganancia del estimador. La cantidad
(yk − Hk x̂k−1 ), se denomina término corrector. Nótese que si el término corrector es cero o si
la matriz de ganancia es cero, entonces el valor estimado no cambia del paso (k − 1) al paso k.
Antes de calcular el valor óptimo de la matriz de ganancia Kk , se debe analizar el promedio
del error de estimación del estimador recursivo lineal.
El promedio del error estimado se puede calcular como
Así, si E{wk } = 0 y E{εε x,k−1 } = 0, entonces E{εε x,k } = 0. En otras palabras, si la medida
ruidosa wk tiene promedio cero para todo k y el estimado inicial de x se escoge igual al valor
esperado de x, es decir, x̂0 = E{x}, entonces el valor esperado de x̂k será igual a x para todo k.
Debido a esto, el estimador de la Ecuación (4.10) se denomina estimador imparcial. Nótese
que esta propiedad se mantiene independientemente del valor de la matriz de ganancia Kk .
Esta es una propiedad deseable de un estimador porque dice que en promedio, el estimado x̂
será igual al verdadero valor x. Nótese además que, en concordancia con la Ecuación (4.11),
4.4 Estimación recursiva por mínimos cuadrados 109
Se puede usar un proceso similar al seguido en la Ecuación (4.11), con el fin de obtener una
fórmula recursiva para el cálculo de Pk . Entonces, partiendo de la expresión (4.12) del error
de estimación:
Ahora, nótese que ε x,k−1 , el error estimado en el instante (k − 1), es independiente de wk (el
ruido estimado en el instante k). Por lo tanto,
puesto que ambos valores esperados son cero. Por lo tanto, la Ecuación (4.14) se reduce a
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.
Inicialización:
x̂0 = E{x}
P0 = E{(x − x̂0 )(x − x̂0 )> }
{Si no hay conocimiento disponible de x antes de que las medidas sean tomadas, entonces P0 = ∞I. Si
hay conocimiento absoluto de x antes de que las medidas sean tomadas, entonces P0 = 0.}
Cómputo:
1. Obtención del vector de medición yk .
for k = 1 to N do
yk = Hk xk + wk {wk ∼ NID(0,Rk ) }
end for
2. Actualización del valor estimado de x y la covarianza del error de estimación P.
for k = 1 to N do
−1
Kk = Pk−1 H> >
k Hk Pk−1 Hk + Rk
x̂k = x̂k−1 + Kk yk − Hk x̂k−1
Pk = (I − Kk Hk )Pk−1 (I − Kk Hk )> + Kk Rk K>
k
end for
Con el fin de encontrar el mejor valor de Pk primero se necesita recordar de la Ecuación (2.25)
>
que ∂ tr(ABA
∂A
)
= 2AB si B es simétrica. Además, de la Ecuación (A.2), ∂ tr(XA) >
∂ X = A . Con esto
en mente, se pueden usar las ecuaciones (4.13) y (4.16) y la regla de cadena para obtener
∂ Jk ∂ tr(Pk )
= = 2(I − Kk Hk )Pk−1 (−H>
k ) + 2Kk Rk (4.17)
∂ Kk ∂ Kk
Ahora bien, para encontrar el valor de Kk que minimice Jk , se hace la derivada igual a cero y
entonces se resuelve para Kk como sigue:
Kk Rk = (I − Kk Hk )Pk−1 H>
k
Kk Rk = Pk−1 H> >
k − Kk Hk Pk−1 Hk
4.5 Formas alternas del estimador 111
Las ecuaciones (4.10), (4.16), y (4.18) forman la estimación recursiva por mínimos cuadrados,
la cual se resume en el Algoritmo 1.
Algunas veces es útil escribir las ecuaciones para Pk y Kk en otras formas de representación.
Aunque esas formas alternas son matemáticamente idénticas, pueden ser beneficiosas desde el
punto de vista computacional. También pueden conducir a nuevos resultados, los cuales se
discutirán en los próximos capítulos. Primero, se encontrará una forma alterna para la expresión
de la covarianza del error de estimación. Sustituyendo Kk de la Ecuación (4.18) en la Ecuación
(4.16) se obtiene
−1 > −1
Pk = (I − Pk−1 H> > >
k Sk Hk )Pk−1 (I − Pk−1 Hk Sk Hk ) + Kk Rk Kk (4.19)
Combinando los dos últimos términos de esta ecuación, y teniendo en cuenta que Sk =
Hk Pk−1 H>
k + Rk , se llega a
−1 > −1 −1
Pk = Pk−1 −2Pk−1 H> >
k Sk Hk Pk−1 +Pk−1 Hk Sk (Hk Pk−1 Hk +Rk )Sk Hk Pk−1
−1 > −1
= Pk−1 − 2Pk−1 H>
k Sk Hk Pk−1 + Pk−1 Hk Sk Hk Pk−1
−1
= Pk−1 − Pk−1 H>
k Sk Hk Pk−1 (4.20)
Pk = Pk−1 − Kk Hk Pk−1
= (I − Kk Hk )Pk−1 (4.21)
Comparada con la Ecuación (4.16), esta es una ecuación más simple para la determinación de
Pk ; sin embargo, esta expresión puede causar problemas de cálculo numérico (v.gr.: de tipo
escalamiento), por no ser definida positiva, aun cuando Pk−1 y Rk sí lo sean.
Otra forma alterna consiste en la aplicación del lema de inversión de matrices (Ecuación
(2.58)), para reescribir la ecuación de la medida actualizada de Pk . Comenzando con la Ecuación
112 Capítulo 4. Estimación por mínimos cuadrados
(4.20) se obtiene:
es decir,
−1
Pk = P−1 > −1
k−1 + Hk Rk Hk (4.24)
Esta ecuación es más complicada para el cálculo de Pk puesto que requiere tres inversiones de
matrices, pero puede ser más ventajosa en algunos casos, como se verá más adelante. Se puede
utilizar la Ecuación (4.24) con el fin de obtener una ecuación equivalente para la ganancia del
estimador Kk . Reescribiendo la Ecuación (4.18):
Nótese el factor Pk−1 H> k que está a la derecha del primer término entre paréntesis. Se puede
introducir este factor dentro del primer término entre paréntesis para obtener
> −1
Kk = Pk (H> > >
k + Hk Rk Hk Pk−1 Hk )(Hk Pk−1 Hk + Rk )
−1
(4.31)
−1
Kk = Pk H> > >
k (I + Rk Hk Pk−1 Hk )(Hk Pk−1 Hk + Rk )
−1
(4.32)
−1
Kk = Pk H> > >
k Rk (Rk + Hk Pk−1 Hk )(Hk Pk−1 Hk + Rk )
−1
4.5 Formas alternas del estimador 113
x̂0 = E{x}
(4.29)
P0 = E{(x − x̂0 )(x − x̂0 )> }
Para k ∈ {1, 2, · · · , ∞}, las ecuaciones de estimación por mínimos cuadrados son:
−1
= Pk H>
k Rk
x̂k = x̂k−1 + Kk (yk − Hk x̂k−1 )
(4.30)
Pk = (I − Kk Hk )Pk−1 (I − Kk Hk )> + Kk Rk K>
k
= (P−1 > −1
k−1 + Hk Rk Hk )
−1
= (I − Kk Hk )Pk−1
yk = Hk x + wk
Hk = 1 (4.34)
Rk = E{w2k }
Para este problema, la matriz de medida Hk es un escalar y la covarianza del ruido de la
medida Rk también es un escalar. Se supone que cada medida tiene la misma covarianza, así
la covarianza del ruido de la medida Rk no es una función de k y puede escribirse como R.
Inicialmente, antes de tomar cualquier medida, se tiene alguna idea del valor de la resistencia x
114 Capítulo 4. Estimación por mínimos cuadrados
y esto constituye el estimado inicial. También se tiene alguna incertidumbre acerca del estimado
inicial y esto conforma la covarianza inicial:
x̂0 = E{x}
P0 = E{(x − x̂0 )(x − x̂0 )> } (4.35)
P0 = E{(x − x̂0 )2 }
Si no se tiene idea en absoluto del valor de la resistencia, entonces P0 → ∞. Si se está 100 %
seguro acerca del valor de la resistencia antes de tomar cualquier medida, entonces P0 = 0. El
conjunto de ecuaciones (4.30) dice como obtener la ganancia del estimador, el estimado de x y
la covarianza de la estimación, después de la primera medición (k = 1):
P1 P0
K2 = =
P1 + R 2P0 + R
P1 P +R P0
x̂2 = x̂1 + (y − x̂1 ) = 0 x̂ + y (4.36)
P1 + R 2 2P0 + R 1 2P0 + R 2
PR P0 R
P2 = 1 =
P1 + R 2P0 + R
Por inducción, se pueden encontrar expresiones generales para Kk , x̂k y Pk como sigue:
P0
Kk = (4.37)
kP0 + R
(k − 1)P0 + R P0 k−1 1
x̂k = lı́m x̂k−1 + yk = x̂k−1 + yk
P0 →∞ kP0 + R kP0 + R k k
1
= [(k − 1)x̂k−1 + yk ] (4.39)
k
Ejemplo 4.5.2 Supóngase que se desea ajustar una línea recta a un conjunto de datos puntuales.
El problema de ajuste datos lineales se puede escribir como
yk = x1 + x2tk + wk
2
(4.41)
E{wk } = Rk
y k = H k x + wk (4.42)
x̂0 = E{x}
x̂1,0 E{x1 }
=
x̂2,0 E{x2 }
P0 = E{(x − x̂0 )(x − x̂0 )> }
E{(x1 − x̂1,0 )2 }
E{(x1 − x̂1,0 )(x2 − x̂2,0 )}
=
E{(x1 − x̂1,0 )(x2 − x̂2,0 )} E{(x2 − x̂2,0 )2 }
El estimador recursivo del vector x de dos elementos se obtiene entonces de la Ecuación (4.30)
como sigue:
116 Capítulo 4. Estimación por mínimos cuadrados
Para k = 1,2, . . .,
Ejemplo 4.5.3 Supóngase que un tanque contiene una concentración x1 del químico 1 y una
concentración x2 del químico 2. Se tiene una instrumentación que puede detectar la concen-
tración combinada (x1 + x2 ) de los dos químicos, pero la instrumentación no puede distinguir
ninguno de los químicos por separado.
Se elimina del tanque el químico 2 a través de un proceso de lixiviación de modo que su
concentración decrece en un 1 % por cada medida. La ecuación de medición está dada por
yk = x1 + 0.99k−1 x2 + wk
= 1 0.99k−1 x + wk (4.44)
donde wk es el ruido de la medida, el cual es una variable aleatoria de media cero y varianza
R = 0.01. Supóngase que x1 = 10 y x2 = 5.
Además, supóngase que los estimados iniciales son x̂1 = 8 y x̂2 = 7, con una varianza del
error de estimación P0 = I.
11
10
9
Estimados
8 x1
7 x2
6
5
4
0 10 20 30 40 50 60
1
P(1,1)
0.8 P(2,2)
Varianza
0.6
0.4
0.2
0
0 10 20 30 40 50 60
Paso de tiempo
estimación. Se puede observar que luego de un conjunto de medidas los estimados se van acer-
cando a los valores 10 y 5. Las varianzas de los errores de estimación tienden asintóticamente
a cero, lo cual significa que se ha incrementado el nivel de confianza de los estimados cuando
se incrementa el número de medidas.
En esta sección, se dará una breve reseña del filtro de Wiener. El filtrado de Wiener es importante
desde una perspectiva histórica y todavía tiene múltiples aplicaciones en el procesamiento de
la señal y en la teoría de las comunicaciones, aunque no se utiliza actualmente en estimación
de estados. El filtrado de Wiener aborda el problema de diseño de un filtro lineal invariante en
el tiempo, para la extracción del ruido en una señal. Aborda el problema desde la perspectiva
de dominio de la frecuencia. Antes de plantear el método desarrollado por Wiener se requiere
entender un poco el concepto de ruido blanco y ruido coloreado. A continuación se dará una
breve exposición de estos conceptos básicos para la comprensión del filtro de Wiener.
Sea X(t) una variable aleatoria (VA) que representa una señal de ruido, si la VA X(t1 ) es
independiente de la VA X(t2 ) para todo t1 6= t2 entonces X(t) se denomina ruido blanco. De
otro modo, X(t) se denomina ruido coloreado. El contenido de blancura o color de un proceso
estocástico se puede caracterizar por su espectro de potencia. Se define el espectro de potencia
Sx (ω)) en sentido amplio de un proceso estocástico estacionario X(t) como la transformada
de Fourier de la autocorrelación. La autocorrelación es la transformada inversa de Fourier del
espectro de potencia. Z ∞
SX (ω) = RX (τ)e− jωτ dt
−∞
(4.45)
1
Z ∞
RX (ω) = SX (τ)e jωτ dω
2π −∞
Este es el teorema de Einstein-Wiener-Khinchin (demostrado por Wiener, e independientemente
por Khinchin, en la década de 1930, pero –sólo recientemente reconocido– planteado por
Einstein en 1914) [59]. El espectro de potencia se refiere a veces como el espectro de densidad
de potencia, la densidad espectral de potencia o la densidad de potencia. La potencia de un
proceso estocástico estacionario en sentido amplio se define como
1
Z ∞
PX (ω) = SX (ω)dω (4.46)
2π −∞
Definiciones similares son válidas para procesos aleatorios de tiempo discreto. El espectro de
potencia de un proceso aleatorio de tiempo discreto se define como
∞
SXY (ω) = ∑ RX (k)e− jωk ω ∈ [−π,π]
−∞
1
Z ∞
RXY (ω) = SX (ω)e jkω dω (4.48)
2π −∞
RX (ω) =σ 2 δk (4.49)
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
Sustituyendo esta expresión para SX (ω) en la Ecuación (4.45), se ve que para el ruido blanco
de tiempo continuo
RX (τ) = RX (0)δ (τ) (4.52)
donde δ (τ) es la función de impulso de tiempo continuo. Es decir, δ (τ) es la función delta de
Dirac.
Ejemplo 4.6.1 Supóngase que un proceso estocástico estacionario de media cero tiene la función
de autocorrelación
RX (τ) = σ 2 e−β |τ| (4.53)
donde β es un número real positivo. El espectro de potencia se calcula de la Ecuación (4.45)
como
Z ∞
SX (ω) = σ 2 e−β |τ| e− jωτ dt
−∞
Z 0 Z ∞
= σ 2 e(β − jω)τ dτ + σ 2 e−(β + jω)τ dτ
−∞ 0
4.6 El filtro de Wiener 119
σ2 σ2
SX (ω) = +
β − jω β + jω
2σ 2 β
= (4.54)
β 2 + ω2
1 2σ 2 β
Z ∞
E{X 2 } = 2 2
dω
2π −∞ β + ω
σ 2β 1 ω ∞
= tan−1
π β β −∞
= σ2
= RX (0) (4.55)
Ahora bien, para plantear el filtro de Wiener, se requiere responder la siguiente pregunta:
¿Cómo cambia el espectro de potencia de un proceso estocástico x(t) cuando pasa a través de
un sistema lineal invariante en el tiempo (LTI) con respuesta al impulso g(t)? La salida y(t)
del sistema está dada por la convolución de la respuesta de impulso con la entrada:
Multiplicando las dos ecuaciones anteriores y escribiendo las convoluciones como integrales
se obtiene: Z Z
y(t)y(t + α) = g(τ)x(t − τ)dτ g(γ)x(t + α − γ)dγ (4.58)
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
Se ve que la señal de error e(t) es la superposición del sistema [1 − G(ω)] actuando sobre la
señal x(t), y el sistema G(ω) actuando sobre la señal v(t). Por lo tanto, de la Ecuación (4.62),
4.6 El filtro de Wiener 121
se obtiene
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).
Con el fin de simplificar el problema de la determinación del filtro óptimo G(ω), se puede
asumir que el filtro óptimo es un filtro pasa bajo de primer orden, –estable y causal– con un
ancho de banda 1/T a ser determinado por optimización paramétrica. (Un sistema causal es
aquel cuya salida depende sólo de las entradas presentes y futuras. Los sistemas del mundo real
son siempre causales, pero un filtro que se utiliza para postprocesado puede ser no causal.)
1
G(ω) = (4.67)
1 + T jω
Esto puede ser una suposición no válida, pero reduce el problema a un problema de optimización
paramétrica. Con el fin de simplificar aún más el problema, supóngase que Sx (ω) y Sv (ω)
están dados de la siguiente manera:
2σ 2 β
Sx (ω) =
ω2 + β 2 (4.68)
Sv (ω) = A
2σ 2 β
T jω −T jω 1 1
Sx (ω) = − A (4.69)
1 + T jω 1 − T jω ω2 + β 2 1 + T jω 1 − T jω
Ahora se puede sustituir Se (ω) en la Ecuación (4.66) y derivar con respecto a T para obtener
√
A
Topt = p √ (4.70)
σ 2β − β A
1 1/T
G(ω) = =
1 + T jω 1/T + jω
1
g(t) = e−t/T t ≥0
T
Convirtiendo este filtro al dominio del tiempo resulta en
1
x̂˙ = (−x̂ + y)
T
Ahora se toma un enfoque más general para encontrar el filtro óptimo. El valor esperado del
error de estimación puede calcularse como
Ahora se puede usar un enfoque del cálculo variacional [76] para encontrar el filtro g(t) que
minimize E{e2 (t)}. Se reemplaza g(t) en la anterior ecuación con g(t) + εη(t), donde ε es
algún número pequeño, y η(t) es una perturbación arbitraria en g(t). Aplicando los conceptos
del cálculo de variaciones los cuales establecen que se puede minimizar E{e2 (t)} haciendo
∂ E{e2 (t)}
=0 (4.73)
∂ε
ε=0
y así resolver para hallar el valor de g(t) óptimo. De la Ecuación (4.72), se puede escribir
Z
Re (0) = Rx (0) − 2 [g(u) + εη(u)]Rx (u)du +
Z Z
[g(u) + εη(u)][g(γ) + εη(γ)][Rx (u − γ) + Rv (u − γ)]dudγ (4.74)
4.6 El filtro de Wiener 123
∂ Re (0)
Z Z Z
= −2 η(u)Rx (u)du + [η(u)g(γ) + η(γ)g(u) + 2εη(u)η(γ)]×
∂ε
× [Rx (u − v) + Rv (u − γ)]dudγ
∂ Re (0)
Z
= −2 η(τ)Rx (τ)dτ+
∂ ε ε=0
Z Z
η(τ)g(γ)[Rx (τ − γ) + Rv (τ − γ)]dτdγ+
Z Z
η(τ)g(u)[Rx (u − τ) + Rv (u − τ)]dτdu (4.75)
Esto da la condición necesaria para la optimalidad del filtro g(t) como sigue:
Z Z
η(τ) −Rx (τ) + g(u)[Rx (u − τ) + Rv (u − τ)]du dτ = 0 (4.77)
Se requiere resolver esta ecuación para g(t) y así encontrar el filtro óptimo.
Si no se hace alguna restricción sobre la causalidad del filtro, entonces g(t) puede ser no cero
para t < 0, lo cual quiere decir que la perturbación η(t) puede también ser no cero para t < 0.
Esto significa que la cantidad dentro de los corchetes en la Ecuación (4.77) debe ser cero. Lo
que resulta en
Z
Rx (τ) = g(u)[Rx (u − τ) + Rv (u − τ)]du = g(τ) ∗ [Rx (τ) + Rv (τ)]
Sx (ω) = G(ω)[Sx (ω) + Sv (ω)]
Sx (ω)
G(ω) = (4.78)
Sx (ω) + Sv (ω)
2
Sx (ω) =
ω2 + 1
Sv (ω) = 1
De la Ecuación (4.78) se obtiene el filtro no causal óptimo como
√ !
2 1 2 3
G(ω) = 2 =√
ω +3 3 ω2 + 3
1 √
g(t) = √ e− 3|t| ≈ 0.58e−0.58|t| , t ∈ (−∞,∞)
3
Además, para obtener una representación en el dominio del tiempo del filtro, se realiza
una expansión en fracciones parciales de G(ω) a fin de encontrar la parte causal y la parte
anti-causal del filtro:
1 1
G(ω) = √ √ +√ √
3( jω + 3) 3(− jω + 3)
| {z } | {z }
filtro causal filtro anti-causal
De esto se ve que
1 1
X̂(ω) = √ √ Y (s) − √ √ Y (s)
3( jω + 3) 3( jω − 3)
= X̂c (ω) + X̂a (ω)
X̂c (ω) y X̂a (ω) (definidos por la anterior ecuación) son la parte causal y anti-causal de X̂(ω),
respectivamente. En el dominio del tiempo, esto puede escribirse como
La ecuación x̂˙c (t) corre hacia adelante en el tiempo y es por lo tanto causal y estable. La
ecuación x̂˙a (t) corre hacia atrás en el tiempo y es por lo tanto anti-causal y estable. (Si ésta
corriera hacia adelante en el tiempo, sería inestable).
4.6.4 Optimización del filtro causal
Si se requiere un filtro causal para estimación de señal, entonces g(t) = 0 para t < 0, y la
perturbación η(t) debe ser igual a 0 para t < 0. En este caso, la Ecuación (4.77) da
Z
Rx (τ) − g(u)[Rx (u − τ) + Rv (u − τ)]du = 0, t ≥0 (4.79)
4.6 El filtro de Wiener 125
donde Sxv+
es la parte de Sxv que tiene todos sus polos y ceros en el semiplano izquierdo (SPI) (y
−
por lo tanto corresponde a una función de tiempo causal) y Sxv es la parte de Sxv que tiene todos
sus polos y ceros en el semiplano derecho (SPD) (y por lo tanto corresponde a una función de
tiempo anti-causal). La Ecuación (4.82) puede escribirse como
Sx (ω) A(ω)
+
G(ω)Sxv (ω) = − − − (4.83)
Sxv (ω) Sxv (ω)
El término del lado izquierdo corresponde a una función de tiempo causal [asumiendo que g(t)
es estable]. El último término al lado derecho corresponde a función de tiempo anti-causal.
Por lo tanto,
S (ω)
+
G(ω)Sxv (ω) = parte causal de −x
Sxv (ω)
(4.84)
1 Sx (ω)
G(ω) = + parte causal de −
Sxv (ω) Sxv (ω)
Esto da la función de transferencia del filtro causal óptimo.
La Ecuación (4.84) da
√ ! √ !
jω + 1 3−1 3−1
G(ω) = √ = √
jω + 3 jω + 1 jω + 3
√ √
g(t) = ( 3 − 1)e− 3t , t ≥0
Esto da la función de transferencia y la respuesta al impulso del filtro óptimo cuando se requiere
la causalidad.
4.6.5 Comparación
Comparando los tres ejemplos de diseño de filtro óptimo presentados en esta sección (Ejemplos
4.6.2, 4.6.3 y 4.6.4), se puede demostrar que los valores esperados de los errores cuadráticos
medios de la filtro son las siguientes [16]:
Como era de esperarse, el error de estimación disminuye cuando se tienen menos restricciones
en el filtro. Sin embargo, la eliminación de restricciones hace que el problema de diseño de
filtros sea más difícil. El filtro de Wiener no es muy manejable para procesos de estimación de
estado debido a la dificultad en la extensión a problemas MIMO con descripciones de variables
de estado, y la dificultad en la aplicación a señales con propiedades estadísticas variables en el
tiempo.
4.7 Resumen 127
4.7 Resumen
En este capítulo se discutió la estimación por mínimos cuadrados en un par de contextos
diferentes. Primero se derivó un método para estimar vector constante sobre la base de varias
mediciones ruidosas de ese vector. De hecho, las mediciones no tienen que ser medidas directas
del vector constante, pero pueden ser mediciones de alguna combinación lineal de los elementos
de ese vector constante. Además, el ruido asociado con cada medición no tiene que ser el
mismo. En la técnica de estimación por mínimos cuadrados que se deriva, se asume que el ruido
de medición es blanco de media cero (no correlacionado de un paso de tiempo al siguiente) y
que se conoce su varianza. A continuación, se extiende el estimador de mínimos cuadrados
a una formulación recursiva, en la que el esfuerzo de cálculo sigue siendo el mismo en cada
paso de tiempo, independientemente del número total de mediciones que sean procesadas. La
estimación por mínimos cuadrados de un vector constante forma parte de la fundamentación
del desarrollo del filtro de Kalman, que se va a derivar más adelante.
Finalmente, se da un breve resumen de los conceptos correspondientes a los filtros de Wiener,
que si bien plantearon paradigmas difíciles de superar, hoy día no se aplican ampliamente
debido a dificultades en el desarrollo de los procedimientos, ya que para su aplicación se
requieren señales estacionarias y eventualmente monovariables. Para los casos donde hay
señales estadísticas variables en el tiempo o de variables múltiples, el mejor estimador es el
filtro de Kalman.
5 Filtro de Kalman discreto
Wayne W. Dyer
5.1 Introducción
donde uk es una entrada conocida y vk es ruido blanco gaussiano con promedio cero y covarianza
Qk . ¿Cómo cambia con el tiempo la media del estado xk ? Si se toma el valor medio en ambos
lados de la Ecuación (5.1) se obtiene
129
130 Capítulo 5. Filtro de Kalman discreto
¿Cómo cambia con el tiempo la covarianza de xk ? Se pueden usar las ecuaciones (5.1) y (5.2)
para obtener
Teorema 5.2.1 Considérese la ecuación P = FPF> + Q donde F y Q son matrices reales. Los
autovalores de la matriz F se denotan por λi (F).
1. Existe una solución única para P si y solo si λi (F)λ j (F) 6= 1 para todo i, j. Esta solución
única es simétrica.
2. Nótese que la anterior condición incluye el caso de F estable, porque si F es estable enton-
ces todos sus autovalores son menores que uno en magnitud, de modo que λi (F)λ j (F) 6= 1
para todo i, j. Por lo tanto, se ve que si F es estable entonces la ecuación de Lyapunov de
tiempo discreto tiene una solución P que es única y simétrica. En este caso, la solución
puede ser escrita como
∞
P = ∑ Fi Q(F> )i (5.5)
i=0
Nótese de la Ecuación (5.6) que xk es una combinación lineal de x0 ,{vi } y {ui }. Si se conoce la
secuencia de entrada {ui }, entonces es una constante y se puede considerar como una secuencia
de variables aleatorias gaussianas con covarianza cero.
Si x0 y {vi } son desconocidas pero son variables aleatorias gaussianas, entonces xk de la
Ecuación (5.6), es una combinación lineal de variables aleatorias gaussianas. Por lo tanto, xk
es en sí misma una variable aleatoria gaussiana. Sin embargo, se puede calcular la media y la
covarianza de xk en las ecuaciones (5.2) y (5.4). Por lo tanto,
xk ∼ N(x̄k , Pk ). (5.8)
Esto caracteriza a xk en un sentido estadístico puesto que una variable aleatoria gaussiana está
completamente caracterizada por su media y su covarianza.
Usar la Ecuación (5.5) para encontrar la covarianza de estado estacionario del vector de estado.
Solución:
i i
1 1 12 0
∞ ∞ 1
i > i 2 0
P = ∑ F Q(F ) = ∑ =
i=0 i=0
0 21 0 1 0 21
1 1 1 1 1 1
1 1 4 4 16 16 64 64
= + + 1 + 1 +···
0 1 0 14 0 16 0 64
0 1 2 3
1 1 1 1 1 1 1 1 1 1 1 1
= + + + +···
0 1 4 0 1 4 0 1 4 0 1 4
∞ i
1 1 1
= ∑ 4
0 1 i=0
La sumatoria infinita del miembro de la derecha corresponde a una serie geométrica con razón
r = 1/4,
i
1 − ri 1 − 41 4
Si = lı́m = lı́m =
i→∞ 1 − r i→∞ 1 − 1 3
4
Por lo tanto, la covarianza en estado estacionario será:
4 4
3 3
P=
4
0 3
En la primera ecuación, se puede ver que la población del predador se reduce a causa de su
superpoblación, pero la población de la presa hace que la población del predador se incremente.
En la segunda ecuación, se ve que la población de la presa decrece debido a la población del
predador y se incrementa debido a un suministro externo de alimento uk . Las poblaciones
también están sujetas a perturbaciones aleatorias (con sus respectivas varianzas 1 y 2) debido
a factores ambientales. Este sistema se puede escribir en forma de variables de estado como
0.2 0.4 0
xk+1 = xk + u + vk
−0.4 1 1 k (5.10)
vk ∼ (0,Q) Q = diag(1,2)
5.2 Sistemas discretos en el tiempo 133
20
Población media
x1
x2
10
0
0 5 10 15 20 25
Varianza de la población
15 P(1,1)
P(1,2)
10 P(2,2)
0
0 5 10 15 20 25
Pasos de tiempo
Nótese que, puesto que F para este ejemplo es estable y Q es definida positiva, entonces el
Teorema 5.2.1 garantiza que P tiene una solución única de estado estacionario definida positiva.
En la Ecuación (5.1), se mostró el ruido del proceso entrando directamente a la dinámica del
sistema. Esta es la convención que se usa acá. Sin embargo, muchas veces el ruido del proceso
se multiplica primero por una matriz antes de entrar en la dinámica del sistema. Es decir, se
multiplica por un factor de escala o función de peso, esto es,
¿Cómo se puede poner esto en la forma convencional de la Ecuación (5.1)? Nótese que el
término de la derecha de la Ecuación (5.11) tiene una covarianza dada por
El mismo tipo de transformación se puede hacer con las ecuaciones de medida ruidosa. Esto
es, la ecuación de la medida
Ahora se estudiarán los sistemas con datos muestreados, los cuales son los más frecuentemente
encontrados en la práctica. Un sistema con datos muestreados es aquel cuya dinámica se
describe por una ecuación diferencial de tiempo continuo, pero la entrada solo cambia a
instantes discretos de tiempo, debido a que está generada, v.gr., por un computador digital. Por
otro lado, solo interesa estimar los estados en instantes discretos de tiempo. Se debe obtener la
media y la covarianza de los estados solamente en instantes discretos de tiempo. La dinámica
en tiempo continuo se describe como
ẋ = Ax + Bu + v (5.16)
Se sabe que la solución para x(t) en algún tiempo arbitrario tk , está dada por
Z tk
x(tk ) = eA(tk −tk−1 ) x(tk−1 ) + eA(tk −τ) [B(τ)u(τ) + v(τ)]dτ (5.17)
tk−1
Se supone que u(t) = uk para t ∈ [tk ,tk+1 ]; esto es, el control u(t) es constante a tramos.
Definiendo
T = tk − tk−1
xk = x(tk ) (5.18)
uk = u(tk )
Z tk Z tk
xk = eAT xk−1 + eA(tk −τ) B(τ)dτuk−1 + eA(tk −τ) v(τ)dτ (5.19)
tk−1 tk−1
5.3 Sistemas con datos muestreados 135
Fk = eAT
Z tk+1
(5.20)
Gk = eA(tk+1 −τ) B(τ)dτ
tk
La exponencial eA(tk −τ) es la matriz de transición de estado del sistema desde el tiempo τ al
tiempo tk . Tomando la media de la ecuación anterior y recordando que la media de v(t) es
cero, se obtiene
x̄k = E{xk } = Fk−1 x̄k−1 + Gk−1 uk−1 (5.22)
Se puede usar la ecuación anterior para obtener la covarianza de estado como
Ahora, si se asume que v(t) es ruido blanco de tiempo continuo con una covarianza Qc (t), se
ve que
Esto significa que se puede usar la propiedad de filtrado de la función impulso para escribir la
Ecuación (5.23) como
Z tk
> (t −τ)
Pk = Fk−1 Pk−1 F>
k−1 + eA(tk −τ) Qc (τ)eA k dτ
tk−1
En general, es difícil calcular Qk−1 , pero para valores pequeños de (tk −tk−1 ) se puede obtener
Ejemplo 5.3.1 Supóngase que se tiene un sistema dinámico de tiempo continuo de primer orden
dado por la ecuación
ẋ = ax + v
(5.28)
E{v(t)v(t + τ)} = qc δ (τ)
Para describir la mayoría de los procesos físicos simples se puede emplear ecuaciones de
primer orden. Por ejemplo, esta ecuación describe el comportamiento de la corriente a través
de un circuito serie RL que está excitado por una tensión aleatoria v(t), donde a = −R/L.
Supóngase que se está interesado en obtener la media y la covarianza del estado x(t) cada T
unidades de tiempo; esto es, tk − tk−1 = T. Para este simple ejemplo escalar, se puede calcular
explícitamente Qk−1 en la Ecuación (5.26) como
Z tk
Qk−1 = ea(tk −τ) qc ea(tk −τ) dτ
tk−1
Z tk
= e2atk qc e−2aτ dτ
tk−1
−2atk−1
− e−2atk
2atk e
=e qc
2a
qc h 2a(tk −tk−1 ) i
=e −1
2a
q
Qk−1 = c e2aT − 1 (5.29)
2a
Para valores pequeños de T, se puede expandir la ecuación anterior en una serie de Taylor
alrededor de T = 0, para obtener
qc 2aT
Qk−1 = e −1
2a
(2aT)2
q
= c 1 + 2aT + +··· −1
2a 2!
qc
Qk−1 ≈ [1 + 2aT − 1]
2a
= qc T
Esto coincide con la Ecuación (5.27), la cual establece que si T es pequeño entonces Qk−1 ≈ qc T.
El valor medio del estado muestreado se calcula de la Ecuación (5.22) (nótese que la entrada
5.3 Sistemas con datos muestreados 137
Se puede observar que si a > 0, es decir, el sistema es inestable, entonces la media x̄k se
incrementará ilimitadamente (a menos que x̄0 = 0). Sin embargo, si a < 0, es decir, el sistema
es estable, entonces la media x̄k caerá a cero independientemente del valor de x̄0 . La covarianza
del estado muestreado se calcula de la Ecuación (5.25) como
>
Pk = Fk−1 Pk−1 Fk−1 + Qk−1
≈ (1 + 2aT)Pk−1 + qc T
Pk − Pk−1 = (2aPk−1 + qc )T
De la ecuación anterior, se observa que Pk alcanza el estado estacionario (es decir, Pk − Pk−1 = 0)
q
cuando Pk−1 = − c , suponiendo que a < 0. Por otro parte, si a ≥ 0 entonces Pk − Pk−1 siempre
2a
será mayor que 0, lo cual significa que lı́m Pk −→ ∞.
k→∞
Ejemplo 5.3.2 Dos mezclas químicas se vierten en un tanque. Una tiene concentración c1 y
se vierte a una razón de F1 y la otra tiene concentración c2 y se vierte a una razón de F2 . El
tanque tiene un volumen V y su salida está a una concentración c y razón F. Esto es típico
de muchos sistemas de control de procesos [50]. La ecuación linealizada para este sistema se
puede escribir como
" F #
− 2V00
0 1 1
ẋ = x + c1 −c0 c2 −c0 u + v (5.30)
0 − VF00 V0 V0
Solución:
Z tk
> (t
Qk−1 = eA(tk −τ) Qc eA k −τ) dτ
tk−1
Z tk
> >t
= eAtk · e−Aτ Qc e−A τ dτ · eA k (5.31)
tk−1
Sustituyendo este resultado, con los ajustes correspondientes, en la Ecuación (5.31) se obtiene:
5.3 Sistemas con datos muestreados 139
Z tk
>
Qk−1 = eA(tk −τ) Qc eA (tk −τ) dτ
tk−1
−t Z t τ −t
e k 0 k e 0 2 3 eτ 0 e k 0
= −2tk 2τ dτ ·
0 e tk−1 0 e 2τ
3 5 0 e 0 e−2tk
−t Z t 2τ 3τ
−t
e k 0 k 2e 3e e k 0
= dτ ·
0 e−2tk tk−1 3e3τ 5e4τ 0 e−2tk
−t 2τ t −t
e3τ k
e k 0 e e k 0
=
0 e−2tk e3τ 45 e4τ t 0 e−2tk
k−1
Finalmente se llega a
1 − e−2T 1 − e−3T
Qk−1 = (5.32)
1 − e−3T 5
4 (1 − e
−4T
)
3. Para este caso se puede aplicar la Ecuación (5.32) haciendo el desarrollo de potencias de
las exponenciales:
2 3 2 3
" #
1 − (1 − 2T + (2T)
2! + (2T)
3! +···) 1 − (1 − 3T + (3T)
2! + (3T)
3! +···)
Qk−1 = 2 (3T)3 (4T)2 (4T)3
1 − (1 − 3T + (3T)
2! + 3! + · · · )
5
4 (1 − (1 − 4T + 2! + 3! + · · · ))
Para valores pequeños de T las potencias de orden superior de T se pueden despreciar, lo cual
da un valor aproximado para Qk−1 , igual al de la parte (2..).
P = Fk−1 PF>
k−1 + Qk−1 (5.33)
Como se verá más adelante, el filtro de Kalman funciona mediante la propagación en el tiempo
de la media y la covarianza de los estados. El enfoque para derivar el filtro de Kalman incluirá
los siguientes pasos:
El proceso y la medida tienen ruidos {vk } y {wk } los cuales son blancos, con media cero, no
correlacionados y además, tienen matrices de covarianza conocidas Qk y Rk , respectivamente:
vk ∼ (0,Qk )
wk ∼ (0,Rk )
E{vk v>j } = Qk δk− j (5.35)
E{wk w>j } = Rk δk− j
E{vk w>j } = E{wk v>j } = 0
5.4 Deducción del filtro de Kalman discreto 141
Donde δk− j es la función delta de Kronecker. La meta es estimar el estado xk con base al
conocimiento de la dinámica del sistema y la disponibilidad de las mediciones ruidosas {yk }.
La cantidad de información disponible para estimar el estado varía de acuerdo al problema
particular que se trate de resolver. Si se tienen todas las medidas disponibles incluyendo el
instante k, para uso en el estimado de xk , entonces se puede formar un estimado a posteriori, el
cual se denota como x̂+k . El superíndice “+” significa que el estimado es a posteriori. Un modo
de formar el estimado del estado a a posteriori es calcular el valor esperado de xk condicionado
a todas las medidas tomadas incluyendo la del instante k, es decir,
Si se tienen todas las medidas anteriores pero sin incluir el instante k disponible, para uso en
la obtención del estimado de xk , entonces se puede conformar un estimado a priori, el cual se
denota como x̂−k . El superíndice “−” significa que el estimado es a priori. Un modo de formar
el estimado del estado a priori es calcular el valor esperado de xk condicionado a todas las
medidas tomadas antes pero no incluyendo la del instante k, es decir,
x̂−
k = E{xk |y1 ,y2 , . . . , yk−1 } = estimado a priori (5.37)
Es importante notar que x̂− k y x̂k son ambos estimados de la misma cantidad, son estimados de
+
−
xk . Sin embargo, x̂k es el estimado de xk antes que la medida yk es tenida en cuenta y x̂+
k , es el
estimado de xk después que la medida yk es tenida en cuenta. Naturalmente, se espera que x̂+ k
sea un mejor estimado que x̂− k , debido a que se utiliza mayor información para calcular x̂k :
+
x̂−
k = estimado de xk antes que se procese la medida en el instante k,
(5.38)
k = estimado de xk después que se procese la medida en el instante k.
x̂+
Si se tienen medidas disponibles después del instante k para usar en el estimado de xk , entonces
se puede formar un estimado suavizado. Una manera de formar el estimado de estado suavizado,
es calcular el valor esperado de xk condicionado a que todas las medidas estén disponibles:
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,
donde m es algún entero positivo cuyo valor depende del problema específico que se desea
resolver. La relación entre los estimados de los estados suavizado, a posteriori, a priori y
predictivo se muestra en la Figura 5.2.
En la notación que sigue, se utiliza x̂+
0 para denotar el estimado inicial de x0 antes de que
sea disponible cualquier medida. La primera medida se toma en el instante k = 1. Puesto que
142 Capítulo 5. Filtro de Kalman discreto
Estimado suavizado
Estimado a posteriori
Estimado a priori
Predicción
1 2 3 4 5 6 7 8 9 tiempo
Figura 5.2 Línea temporal que muestra la relación entre los estimados de estado suavizado, a posteriori, a priori y
predictivo. En esta figura, se supone que se han recibido las medidas, en pasos de tiempo hasta k = 5,
inclusive. Una estimación del estado en k < 5 se denomina una estimación suavizada. Una estimación
del estado en k = 5 se denomina una estimación a posteriori. Una estimación del estado en k = 6 se
llama la estimación a priori. Una estimación del estado en k > 6 se llama predicción.
P− − − >
k = E{(xk − x̂k )(xk − x̂k ) },
+ >
(5.42)
P+ +
k = E{(xk − x̂k )(xk − x̂k ) }.
Estas relaciones se explican en la Figura 5.3. La figura muestra que una vez hecha la medida
en el instante (k − 1) se obtiene un estimado de xk−1 (definido como x̂+ k−1 ) y la covarianza del
error de estimación (definida como P+ k−1 ). Cuando llega el instante k, antes que se procesen las
medidas en ese instante, se calcula un estimado de xk (denotado como x̂− k y la covarianza del
)
error de estimación (denotada como P− k ). Entonces se procesa la medida en el instante k para
refinar el estimado de xk . El valor estimado resultante de xk se denota como x̂+ k y su covarianza
como P+ k . Se comienza el proceso de estimación con x̂+
0 , el mejor estimado del estado inicial x0 .
− −
Dado x̂+0 , ¿cómo se podrá calcular x̂1 ? Para ello se establece x̂1 = E{x 1 }. Pero nótese que
x̂+
0 = E{x 0 }, y recuérdese de la Ecuación (5.22), cómo se propaga en el tiempo la media de x:
x̄k = Fk−1 x̄k−1 + Gk−1 uk−1 . Por lo tanto, se obtiene
x̂− +
1 = F0 x̂0 + G0 u0 (5.43)
Esta es una ecuación específica que muestra como obtener x̂− 1 desde x̂0 . Sin embargo, el
+
x̂− +
k = Fk−1 x̂k−1 + Gk−1 uk−1 (5.44)
Esta es llamada ecuación de actualización temporal para x̂. Desde el instante (k − 1)+ hasta el
instante k− , la estimación de estado se propaga de la misma manera que se propaga la media
5.4 Deducción del filtro de Kalman discreto 143
Figura 5.3 Línea de tiempo que muestra los valores estimados de los estados y la covarianza del error
de estimación a priori y a posteriori, respectivamente.
del estado. Esto tiene sentido intuitivamente. No se tiene ninguna medida adicional disponible
para ayudar a actualizar la estimación de estado entre el instante (k − 1)+ y el instante k− , así
que se debe actualizar la estimación de estado con base al conocimiento de la dinámica del
sistema.
−
Dado el valor inicial de la covarianza, P+ 0 , ¿cómo calcular el siguiente valor, P1 ? De la
Ecuación (5.4) se puede recordar la forma como se propaga la covarianza del estado de un
sistema lineal discreto en el tiempo: Pk = Fk−1 Pk−1 F>
k−1 + Qk−1 . De aquí, se obtiene:
P− + >
1 = F0 P0 F0 + Q0 (5.46)
Esta es una ecuación específica, que muestra cómo obtener P−1 desde P0 . Este razonamiento
+
P− + >
k = Fk−1 Pk−1 Fk−1 + Qk−1 (5.47)
Recuérdese del desarrollo de estimación recursiva por mínimos cuadrados de la Sección 4.4,
que la disponibilidad de la medida yk cambia el estimado de un vector constante x, de acuerdo
144 Capítulo 5. Filtro de Kalman discreto
donde x̂k−1 y Pk−1 son el valor estimado y la covarianza del error de estimación antes que la
medida yk sea procesada y x̂k y Pk son el valor estimado y la covarianza del error de estimación
después que la medida yk ha sido procesada. En esta sección, x̂− −
k y Pk son el valor estimado y la
covarianza del error de estimación antes que la medida yk sea procesada y x̂+k y Pk son el valor
+
estimado y la covarianza del error de estimación después que la medida yk ha sido procesada.
Estas relaciones se pueden ver en la Tabla 5.1. Ahora se puede generalizar, a partir de las
Tabla 5.1 Relaciones entre las estimaciones y las covarianzas de las secciones 4.4 y 5.4.
fórmulas para el cálculo de la estimación de una constante de la Sección 4.4, las ecuaciones de
actualización de la medición, requeridas en esta sección. En las ecuaciones (5.48), se reemplaza
x̂k−1 con x̂− −
k y Pk−1 con Pk , x̂k con x̂k y Pk con Pk . Esto resulta en
+ +
Kk = P− > − >
k Hk (Hk Pk Hk + Rk )
−1
= P+ > −1
k H k Rk
− −
x̂+
k = x̂k + Kk (yk − Hk x̂k )
− > >
(5.49)
P+
k = (I − Kk Hk )Pk (I − Kk Hk ) + Kk Rk Kk
= [(P−
k )
−1
+ H> −1
k Rk H k ]
−1
= (I − Kk Hk )P−
k
Aquí se resume el filtro de Kalman de tiempo discreto combinando las ecuaciones anteriores
en un algoritmo.
La dinámica del sistema está dada por las siguientes ecuaciones:
Inicialización:
x̂+
0 = E{x0 }
+ >
(5.52)
P+ +
0 = E{(x0 − x̂0 )(x0 − x̂0 ) }
Para k ∈ {1, 2, · · · , ∞}, las ecuaciones de predicción del filtro de Kalman son:
x̂−
k = Fk−1 x̂k−1 + Gk−1 uk−1 = estado estimado a priori
+
(5.53)
P− + >
k = Fk−1 Pk−1 Fk−1 + Qk−1
Kk = P− > − >
k Hk (Hk Pk Hk + Rk )
−1
> −1
= P+
k H k Rk
− −
k = x̂k + Kk (yk − Hk x̂k ) = estado estimado a posteriori
x̂+
− > >
(5.54)
P+
k = (I − Kk Hk )Pk (I − Kk Hk ) + Kk Rk Kk
= [(P−
k )
−1
+ H> −1
k Rk Hk ]
−1
= (I − Kk Hk )P−
k
Observaciones:
• La tercera expresión para P+k es computacionalmente más simple que la primera, pero
su forma no garantiza la simetría o que sea definida positiva.
• La segunda forma para P+k es rara vez implementada tal como está escrita, pero será útil
en la deducción del denominado filtro de información.
146 Capítulo 5. Filtro de Kalman discreto
• Un aspecto práctico importante del filtro de Kalman. Del Algoritmo 3, se puede notar
que el cálculo de P−
k , Kk y Pk no dependen de las mediciones que se tengan de yk , sino
+
Desde este punto de vista las ecuaciones que se utilizan para derivar el filtro de Kalman, éstas
se pueden dividir en dos grupos: las que actualizan el tiempo o ecuaciones de predicción y las
que actualizan los datos observados o ecuaciones de actualización. Las del primer grupo son
responsables de la proyección del estado en el instante k tomando como referencia el estado
en el instante k − 1 y de la actualización intermedia de la matriz de covarianza del estado. El
segundo grupo de ecuaciones son responsables de la retroalimentación, es decir, incorporan
nueva información dentro de la estimación anterior con lo cual se llega a una estimación
mejorada del estado. Las ecuaciones que actualizan el tiempo pueden también ser pensadas
como ecuaciones de pronóstico (predicción), mientras que las ecuaciones que incorporan
nueva información pueden considerarse como ecuaciones de corrección. Efectivamente, el
algoritmo de estimación final puede definirse como un algoritmo de pronóstico–corrección para
resolver numerosos problemas. Así, el filtro de Kalman funciona por medio de un mecanismo
de proyección y corrección al pronosticar el nuevo estado y su incertidumbre y corregir la
proyección con la nueva medida. Este ciclo se muestra en la Figura 5.4. El primer paso consiste
en generar un pronóstico del estado hacia adelante en el tiempo tomando en cuenta toda
la información disponible en ese momento y en un segundo paso, se genera un pronóstico
mejorado del estado, de tal manera que el error es minimizado estadísticamente.
En esta sección se resumen algunas de las propiedades interesantes e importantes del filtro de
Kalman. Supóngase que se tiene el sistema lineal de la Ecuación (5.50) y se desea encontrar
un filtro causal que resulta de un estimado x̂k . El error entre el estado verdadero y el estado
estimado se denota por x̃k ,
x̃k = xk − x̂k (5.55)
Debido a que el estado está determinado parcialmente por el proceso estocástico {wk }, entonces
xk es una variable aleatoria. Además, el valor estimado del estado está determinado por la
secuencia de medición {yk }, la cual a su vez está determinada por el proceso estocástico vk ,
entonces x̂k es una variable aleatoria. Por lo tanto, x̃k también es una variable aleatoria.
Supóngase que se desea encontrar el estimador que minimiza (en cada etapa de tiempo) una
media ponderada de norma dos del valor esperado del error de estimación x̃k :
min E{x̃>
k Sk x̃k } (5.56)
En esta subsección, se verá como las ecuaciones del filtro de Kalman a priori y a posteriori
se combinan en una sola. Esto puede simplificar la implementación computacional de las
5.5 Propiedades del filtro de Kalman 149
x̂− +
k+1 = Fk x̂k + Gk uk (5.58)
Esto muestra que el estimado de estado a priori se puede calcular directamente de su valor
en la etapa de tiempo previo, sin calcular el estimado de estado a posteriori entre ellos. Un
procedimiento similar puede seguirse para obtener una expresión de un solo paso para la
covarianza a priori. Se comienza con la expresión de la covarianza a priori de la Ecuación
(5.53), con el índice de tiempo incrementado en uno:
P− + >
k+1 = Fk Pk Fk + Qk (5.60)
P− − − >
k+1 = Fk (Pk − Kk Hk Pk )Fk + Qk
= Fk P− > − >
k Fk − Fk Kk Hk Pk Fk + Qk
= Fk P− > − > − > −1 − >
k Fk − Fk Pk Hk (Hk Pk Hk + Rk ) Hk Pk Fk + Qk (5.61)
Esta ecuación, llamada ecuación discreta de Riccati, muestra como P− k+1 se puede calcular
sobre la base de P− k sin un cálculo intermedio de P+
k . Se pueden realizar manipulaciones
similares para obtener expresiones de un solo paso para la estimación a posteriori de los
estados y la covarianza. Esto resulta en
x̂+ +
k = (I − Kk Hk )(Fk−1 x̂k−1 + Gk−1 uk−1 ) + Kk yk
>
(5.62)
P+ +
k = (I − Kk Hk )(Fk−1 Pk−1 Fk−1 + Qk−1 )
Se pueden plantear muchas maneras diferentes de combinar las dos expresiones de Kk y las
tres expresiones de P+k en las ecuaciones (5.54). Esto resultaría en un número de diferentes
expresiones para las actualizaciones de un solo paso de la covarianza a priori y a posteriori.
Ejemplo 5.5.1 Supóngase que se tiene un sistema newtoniano, sin ruido, con posición r, velo-
cidad v y aceleración constante a. El sistema puede describirse como:
ṙ 0 1 0 r
v̇ = 0 0 1 v
ȧ 0 0 0 a
ẋ = Ax
150 Capítulo 5. Filtro de Kalman discreto
La versión discretizada de este sistema (con tiempo de muestreo T) puede escribirse como
xk+1 = Fxk
A2 T2
F = eAT = I + AT + +···
2!
es decir,
1 2
1 0 0 0 1 0 0 0 1 2 1 T 2T
T
F = 0 1 0 + 0 0 1 T + 0 0 0 = 0 1 T .
2
0 0 1 0 0 0 0 0 0 0 0 1
x̂− +
k = Fx̂k−1
P− + >
k = FPk−1 F + Qk−1 con Qk−1 = 0
>
= FP+
k−1 F
Como se puede ver, la covarianza del error de estimación aumenta entre el tiempo (k − 1)+
(esto es, el tiempo (k − 1) después que se procesa la medida) y el tiempo k− (es decir, el
tiempo k antes que se procese la medida). Puesto que no se obtiene alguna medida entre el
tiempo (k − 1)+ y el tiempo k− , tiene sentido el hecho de que la incertidumbre de la estimación
se incremente. Ahora, supóngase que se mide la posición con una varianza de σ 2 .
yk = Hk xk + wk = 1 0 0 xk + wk
wk ∼ (0,Rk )
Rk = σ 2
Kk = P− > − >
k Hk (Hk Pk Hk + Rk )
−1
Si se escribe la matrix P−
k ∈R
3×3
, en términos de sus elementos, dado que es simétrica, y se
sustituye para Hk y Rk en la ecuación anterior, se obtiene
−1
p− p− p−
−
p− p−
11,k 12,k 13,k 1 p 1
11,k 12,k 13,k
Kk = p−
21,k p−
22,k p−
23,k
0 1 0 0 p−
21,k p−
22,k
− 2
p23,k 0 + σ
p−
31,k p−
32,k
−
p33,k 0 p−
31,k p−
32,k p−
33,k
0
5.5 Propiedades del filtro de Kalman 151
p−
−
11,k −1 −1 p11,k
Kk = p −
21,k
p− + σ 2
11,k ≡ p−
11,k + σ
2 p−
12,k
− −
p31,k p13,k
p−
−
p11,k 0 0
11,k
− 1 p− 1 0 0 P− = P− − 1 p− −
P+
k = Pk − − 12,k 0 0 Pk
p11,k + σ 2 12,k k k
p −
+ σ 2
p−
13,k
11,k p−
13,k 0 0
−
p11,k p12,k p−
− − −
−
− − 2
p11,k p12,k p13,k (p11,k ) 11,k p13,k
1
= p− p− p− − −
12,k 22,k 23,k − −
p p
2 11,k 12,k
(p−12,k )
2
p− −
12,k p13,k (5.63)
p + σ
p−
13,k p−23,k p−
33,k
11,k p− p −
11,k 13,k p −
p −
12,k 13,k (p −
13,k )2
Se usará esta expresión para mostrar que del tiempo k− al tiempo k+ la traza de la covarianza
del error de estimación decrece.
3500
P−2
Estimación de la varinza del error de posición
3000
P−3
P−1
2500
P−4
2000
P−5
1500
1000
Figura 5.5 Los primeros cinco pasos de las varianzas en la estimación del error a priori y a posteriori
del Ejemplo 5.5.1.
152 Capítulo 5. Filtro de Kalman discreto
− 2 − 2 − 2
! ! !
−
(p 11,k ) (p 12,k ) (p 13,k )
tr(P+
k ) = p11,k − − + p−
22,k − − + p−33,k − −
p11,k + σ 2 p11,k + σ 2 p11,k + σ 2
(p− 2 − 2 −
11,k ) + (p12,k ) + (p13,k )
2
= tr(P−
k )− (5.64)
p−
11,k + σ
2
Cuando se toma una nueva medida, se espera que el estimado del estado mejore. Es decir, se
espera que la covarianza disminuya, y la ecuación anterior muestra que ésta en realidad ha
−
decrecido. Esto es, la traza de P+ k es menor que la traza de Pk . Este sistema fue simulado con
cinco unidades de tiempo entre pasos de discretización (T = 5), y una desviación estándar
posición–medida de 30 unidades. La Figura 5.5 muestra la varianza de la estimación de la
posición (p−11,k y p11,k ) para los primeros cinco pasos de tiempo del filtro Kalman. Se puede
+
3500
Estimación de la varinza del error de posición
3000
2500
2000
1500
1000
500
0
0 10 20 30 40 50 60
Pasos de tiempo
Figura 5.6 Los primeros sesenta pasos de las varianzas del error de estimación a priori y a posteriori
del Ejemplo 5.5.1.
5.5 Propiedades del filtro de Kalman 153
100
Error de medición
Error de estimation
80
60
40
20
Posición
−20
−40
−60
−80
0 10 20 30 40 50 60
Pasos de tiempo
La Figura 5.6, muestra la varianza de la estimación de la posición (p− 11,k y p11,k ) para los
+
primeros 60 pasos de tiempo del filtro Kalman. Ésta muestra que la varianza aumenta entre
pasos de tiempo, y luego decrece en cada paso de tiempo. También se puede observar de esta
figura que la varianza converge al valor de estado estacionario.
La Figura 5.7, muestra el error posición de la medida (con una desviación estándar de 30)
y el error de estimación de la posición a posteriori. El error de la estimación comienza con
una desviación estándar cercana a 30, pero al final de la simulación la desviación estándar está
cerca de 11.
P− + >
k = Fk−1 Pk−1 Fk−1 + Qk−1 (5.65)
− − > − > −1 −
P+
k = Pk − Pk Hk (Hk Pk Hk + Rk ) Hk Pk
Si la matriz P−
k ∈R
n×n
se factoriza como
P− −1
k = Ak Bk (5.66)
154 Capítulo 5. Filtro de Kalman discreto
P− −1
k+1 = Ak+1 Bk+1 (5.67)
Qk I F−> −1
0 H>
Ak+1 k Rk Hk I Ak
= k (5.68)
Bk+1 I 0 0 Fk I 0 Bk
= [F−> > −1 −1
k (Hk Rk Hk Ak Bk + I)Bk ]
−1
Sustituyendo Ak B−1 −
k por Pk en la ecuación anterior da
Se puede utilizar la Ecuación (5.69) para obtener una solución rápida de la covarianza de
estado estacionario en sistemas multidimensionales (aunque no es una solución de forma
cerrada). Supóngase que F,Q,H y R son matrices constantes. De la Ecuación (5.69) se obtiene
" #
F + QF−> H> R−1 H QF−> Ak
Ak+1 Ak
= = Ψ (5.74)
Bk+1 F−> H> R−1 H F−> Bk Bk
Ahora se puede elevar Ψ sucesivamente a potencias de dos un total de p veces para obtener
p
Ψ2 , Ψ4 , Ψ8 , etc, hasta que Ψ2 converja a un valor de estado estacionario:
−
A∞ 2 p P1
≈Ψ para p grande (5.78)
B∞ I
Sistemas escalares
Se puede usar la Ecuación (5.69) para obtener una solución en forma cerrada del filtro escalar
de Kalman para sistemas invariantes en el tiempo.
donde Ψ está definido como en la Ecuación (5.74). Ahora se encuentran los datos propios de
Ψ. Supóngase que los valores propios de Ψ son λ1 y λ2 y que al conformar los vectores propios
de Ψ (v. gr.: aplicando el método de Gram–Schmidt), se crea la matriz M ∈ R2×2 . Entonces
λ 0
Ψ=M 1 M−1 (5.80)
0 λ2
Nótese la secuencia
λ1 0 λ 0
Ψ2 = M M−1 × M 1 M−1
0 λ2 0 λ2
2
λ 0
=M 1 M−1
0 λ22
2
λ 0 −1 λ1 0
Ψ3 = M 1 M × M M−1
0 λ22 0 λ2
3
λ1 0
=M M−1
0 λ23
..
.
k
λ1 0
k
Ψ =M M−1
0 λ2k
− k−1 −
Ak P λ 0 P1
= Ψk−1 1 = M 1 M−1 (5.81)
Bk I 0 λ2k−1 I
5.5 Propiedades del filtro de Kalman 157
Esta es una ecuación en forma cerrada del filtro de Kalman variante en el tiempo para un
sistema escalar invariante en el tiempo. Ésta puede utilizarse fácilmente para obtener el valor
de estado estacionario de Pk− . Nótese que µ2 < µ1 . Cuando k se incrementa, µ2k se hace más
pequeño con respecto a µ1k . Por lo tanto,
Ejemplo 5.5.2 Propagación de una covarianza escalar. Considérese el siguiente sistema escalar:
xk+1 = xk + vk
yk = xk + wk
vk ∼ (0,1), wk ∼ (0,1)
Este es un ejemplo muy simple pero que puede surgir en muchas aplicaciones; v.gr.: puede
representar algún parámetro xk con variación lenta que se mide directamente. El término de
158 Capítulo 5. Filtro de Kalman discreto
ruido del proceso vk se tiene en cuenta en las variaciones de xk y, la medida del término de
ruido wk , se considera para errores en la medida. En este sistema, se tiene F = H = Q = R = 1.
Sustituyendo estos valores en la Ecuación (5.82) da
√
µ1 = 3 + 5
√
µ2 = 3 − 5
√
ν1 = 1 + 5
√
ν2 = 1 − 5
ν1 µ1k−1 (2P1− − ν2 ) − ν2 µ2k−1 (2P1− − ν1 )
Pk− =
2µ1k−1 (2P1− − ν2 ) − 2µ2k−1 (2P1− − ν1 )
Ahora se puede usar la Ecuación (5.54) para encontrar el valor de estado estacionario de Kk :
La Figura 5.8, muestra la covarianza del estimado a priori y la ganancia Kalman en función
del tiempo, también ilustra su convergencia a los valores de estado estacionario. De la ecuación
−
para la covarianza del error de estimación a posteriori, se sabe que P+ k = (I − Kk Hk )Pk . En
consecuencia, para este ejemplo se ve que el valor de la covarianza Pk en estado estacionario
+
La teoría presentada en este capítulo hace del filtro de Kalman una selección atractiva para
la estimación de estados. Pero cuando un filtro de Kalman se implementa en un sistema real
éste puede no funcionar, aun cuando la teoría sea correcta. Dos de las primeras causas para la
falla del filtrado de Kalman son: la aritmética de precisión finita y los errores de modelado.
Esta metodología supone que la aritmética del filtro de Kalman tiene precisión infinita. En
microprocesadores digitales la aritmética tiene precisión finita, solamente una cierta cantidad
5.5 Propiedades del filtro de Kalman 159
2
Ganancia de Kalman
Covarianza del error de estimación
1.8
1.6
1.4
1.2
0.8
0.6
0 1 2 3 4 5 6 7 8 9 10
tiempo
Figura 5.8 Covarianza del error de estimación y ganancia de Kalman en función del tiempo. Ambas
convergen a valores de estado estacionario.
de bits se usa para representar los números en las ecuaciones del filtro de Kalman. Esto puede
causar divergencia o aun inestabilidad en la implementación del filtro de Kalman.
En la teoría presentada, también se supone que el modelo del sistema se conoce exactamente.
Esto es, se supone que las matrices F, Q, H y R se conocen exactamente y además, se asume que
las secuencias ruidosas {wk } y {vk } son ruidos blancos puros, de media cero y absolutamente
no correlacionados. Si alguna de estas hipótesis no se cumple, ya que siempre están en las
implementaciones reales, entonces los supuestos del filtro de Kalman son violados y la teoría no
funciona. Con el fin de mejorar el rendimiento del filtro de cara a estas realidades, el diseñador
puede utilizar varias estrategias:
xk+1 = xk + vk
yk = xk + wk
(5.84)
vk ∼ (0,0)
wk ∼ (0,1)
El ruido del proceso se asume cero, lo que significa que se está modelando xk como una
constante. De la Ecuación (5.54) se obtienen las ecuaciones del filtro de Kalman para este
sistema como
Supóngase que el sistema verdadero, aunque desconocido para el diseñador del filtro de
Kalman, es el modelo de dos estados siguiente:
1 1
xk+1 = x
0 1 k
yk = 1 0 xk + wk
wk ∼ (0,1)
El primer estado es una rampa, el cual se asumió incorrectamente en el modelo del sistema
como una constante.
La Figura 5.9 muestra el estado verdadero x1 k y el estado estimado x̂1 k . Se puede ver que el
valor estimado diverge del estado verdadero y el error de estimación crece ilimitadamente.
Sin embargo, si se añade ruido ficticio al proceso, en el filtro de Kalman, el filtro hará más
hincapié en las medidas, lo que mejorará su desempeño.
La Figura 5.10 muestra el estado verdadero y el estado estimado cuando se utilizan diferentes
valores de Q en el filtro de Kalman.
A medida que el ruido ficticio del proceso se hace más grande, el error de estimación se
hace más pequeño. Por supuesto, esto es al precio de empeorar el desempeño en el caso de que
el modelo del sistema asumido sea realmente correcto.
El diseñador tiene que añadir una cantidad apropiada de ruido ficticio al proceso para
compensar el desempeño bajo condiciones nominales de mal modelado.
5.5 Propiedades del filtro de Kalman 161
Q=0
600
Estado verdadero
Estado estimado
500
400
300
200
100
0
0 10 20 30 40 50
Tiempo
Figura 5.9 Divergencia del filtro de Kalman debido al mal modelado de un proceso.
600
Estado verdadero
x estimado (Q = 1)
500 x estimado (Q = 0.1)
x estimado (Q = 0.01)
x estimado (Q = 0)
400
300
200
100
0
0 10 20 30 40 50
Tiempo
Figura 5.10 Mejora del filtrado de Kalman debido a ruido ficticio en el proceso.
0.7
0.6
Q = 1
Q = 0.1
0.5
Q = 0.01
Q = 0
0.4
0.3
0.2
0.1
0
0 10 20 30 40 50
Tiempo
Figura 5.11 Ganancia de Kalman para varios valores del ruido del proceso.
filtro de Kalman, se necesita balancear la confianza en el modelo (bajo nivel de ruido resulta
en un seguimiento cercano del modelo, es decir, ancho de banda bajo) con una duda metódica
saludable (alto ruido resulta en mayor capacidad de respuesta del filtro, es decir, ancho de
banda alto).
Un examen a las ecuaciones del filtro muestra por qué la adición de ruido ficticio al proceso
compensa los errores de modelado. Recordando las ecuaciones del filtro de Kalman, (5.53) y
(5.54), algunas de las cuales se repiten aquí:
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
+
Por otro lado, si Qk es más grande, entonces la covarianza aumentará siempre entre muestras
temporales; esto es, Pk− siempre será mayor que Pk−1 +
. Cuando Pk− converge, lo hará a un
valor mayor. Esto hará que Kk converja a un valor mayor. Un Kk más grande significa que la
actualización de la medida de x̂ en la Ecuación (5.86), incluirá un mayor énfasis en la medición;
es decir, el filtro prestará más atención a las medidas.
5.6 Resumen
En este capítulo, se ha presentado la esencia del filtro Kalman en tiempo discreto. Durante las
últimas décadas, este algoritmo de estimación ha encontrado aplicaciones en prácticamente
todas las áreas de la ingeniería.
Se ha mostrado que las ecuaciones del filtro de Kalman se pueden escribir de varias maneras
diferentes, cada una de las cuales puede parecer muy diferente a las otras, aunque todas ellas
son matemáticamente equivalentes. Se ha visto que el filtro de Kalman es óptimo incluso
cuando el ruido no es gaussiano. El filtro de Kalman es el estimador óptimo cuando el ruido es
gaussiano, y es el estimador lineal óptimo cuando el ruido no es gaussiano.
También se ha observado que el filtro de Kalman puede no funcionar adecuadamente si las
suposiciones subyacentes no se mantienen. Para esta situación se mencionaron brevemente
algunas formas de compensar los supuestos violados. En los capítulos siguientes se expandirán
y generalizarán los resultados presentados en éste.
6 Formas alternas del filtro de Kalman
Leonardo da Vinci
6.1 Introducción
E n este capítulo se analizarán algunos modos alternos de presentar las ecuaciones del
filtro de Kalman. Hay un número de maneras matemáticamente equivalentes de escribir
las ecuaciones del filtro de Kalman. Esto puede ser confuso. Usted puede leer dos artículos
o libros que presentan diferentes ecuaciones del filtro de Kalman, y las ecuaciones pueden
parecer completamente diferentes. Usted no puede saber si una de las ecuaciones tiene un error
tipográfico, o si son matemáticamente equivalentes. Así que intenta demostrar la equivalencia
de los dos conjuntos de ecuaciones sólo para llegar a un callejón sin salida matemático,
porque no siempre es fácil demostrar la equivalencia de dos conjuntos de ecuaciones. En este
capítulo se derivan algunas formulaciones del filtro de Kalman las cuales son diferentes (pero
matemáticamente equivalentes) a las ecuaciones derivadas en el Capítulo 5. En este capítulo
también se ilustran sus ventajas y desventajas.
165
166 Capítulo 6. Formas alternas del filtro de Kalman
los elementos del vector de estado. Por ejemplo, un estado puede estar en unidades de km y
puede estimarse dentro de 0.01 km, mientras que un segundo estado puede estar en unidades
de cm/s y puede estimarse dentro de 10 cm/s. La covarianza para el primer estado estaría en el
orden de 10−4 mientras que la covarianza para el segundo estado sería del orden de 102 . Esto
dio lugar a una gran cantidad de investigación durante los años 60 que fue relacionada con la
implementación numérica.
El filtrado de raíz cuadrada es una manera de aumentar matemáticamente la precisión
del filtro de Kalman cuando la precisión de hardware no está disponible. Quizá el primer
algoritmo de la raíz cuadrada fue desarrollado por James Potter para el programa espacial
Apolo de la NASA [8]. Aunque el algoritmo de Potter se limitaba a ruido del proceso cero
y medidas escalares, su éxito condujo a una gran cantidad de investigaciones adicionales de
la raíz cuadrada en los años siguientes. El algoritmo de Potter se amplió a la manipulación
de procesos ruidosos en [2], [24] y se generalizó en dos modos diferentes para manipular
medidas vectoriales en [9] y [2]. Paul Kaminski da una buena revisión de la evolución de
filtrado de raíz cuadrada en la primera década del filtro de Kalman [47]. En [52] se presentan
varios procedimientos de raíz cuadrada, con los algoritmos de estimación recursiva de sistemas
dinámicos lineales.
Número de condición
σ 2 (P) = λ (P> P)
= λ (PP> ) (6.1)
La matriz P> P es definida positiva simétrica y los autovalores de una matriz simétrica son
siempre reales y no negativos, así los valores singulares de tal matriz son siempre reales y no
negativos. La matriz P es no singular (invertible) si y solo si todos sus valores singulares son
positivos. El número de condición de una matriz está definido como
σmax (P)
κ(P) = ≥1 (6.2)
σmin (P)
Algunos autores usan definiciones alternas para número de condición, por ejemplo, pueden
definir el número de condición de una matriz como el cuadrado de la anterior definición.
Cuando κ(P) → ∞, la matriz P se dice ser pobremente condicionada o mal condicionada, y P
se aproxima a una matriz singular. En la implementación de un filtro
n de Kalman, la matriz
o de
>
covarianza del error P será siempre definida positiva porque P = E (x − x̂)(x − x̂) . Se usa
la notación estándar
P>0 (6.3)
para indicar que P es definida positiva. Esto implica que P es invertible, lo cual a su vez es
equivalente a decir que todos los autovalores de P son mayores que cero. Pero supóngase en el
filtro de Kalman que algunos de los elementos de x son estimados a mucha más precisión que
6.2 Filtrado de raíz cuadrada 167
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,
Este es un número de condición demasiado grande, lo cual significa que la matriz P podría
parecer como una matriz singular al computador digital. Por ejemplo, si se tiene un computador
con procesador de punto fijo con diez dígitos decimales de precisión, entonces el término
10−12 se representará como cero en la máquina. Matemáticamente, P es no singular, pero
computacionalmente P es singular.
El filtro de raíz cuadrada se basa en la idea de encontrar una matriz Γ tal que P = Γ Γ > .
La matriz Γ se denomina la raíz cuadrada de P. Si P es definida positiva simétrica entonces
siempre tendrá una raíz cuadrada [29, 56]. La raíz cuadrada de una matriz puede no ser única;
esto es, puede haber más de una solución para Γ en la ecuación P = Γ Γ > . También nótese que
Γ Γ > será siempre semidefinida positiva simétrica no importa cual sea el valor de la matriz Γ .
Considerando que algunas dificultades numéricas podrían ocasionar que P en las ecuaciones
del filtro de Kalman se convierta en no simétrica o indefinida, estas dificultades numéricas
nunca podrán ocasionar que P = Γ Γ > se convierta en no simétrica o indefinida. Uno de los
algoritmos para raíz cuadrada de matrices fue dado por Cholesky [25]. El Algoritmo 4 calcula
la matriz Γ tal que P = Γ Γ > para una matriz Pn×n .
for j = 1 to n do
γ ji = 0 j<i
1
p − ∑i−1 j>i
γ ji = k=1 γ jk γik
γii ji
end for
end for
Esta es llamada la factorización de Cholesky y resulta en una matriz Γ tal que P = Γ Γ > .
168 Capítulo 6. Formas alternas del filtro de Kalman
γ12 = 0
√
r q
1
γ22 = p22 − ∑ j=1 γ22j = 2 =
p22 − γ21 8−4 = 2
!
1
1 1 1
γ32 = p32 − ∑ γ3k γ2k = (p32 − γ31 γ21 ) = (2 − 3 × 2) = −2
γ22 k=1 γ22 2
γ13 = 0
γ23 = 0
r q
2 p
γ33 = p33 − ∑ j=1 γ32j = 2 + γ2 ) =
p33 − (γ31 32 14 − (9 + 4) = 1
Así se obtiene
1 0 0
Γ = 2 2 0
3 −2 1
Se puede verificar que P = Γ Γ > .
ayuda a evitar problemas numéricos. Los valores singulares σ de P están dados como
ΓΓ > Γ Γ > )
σ 2 (P) = λ (P> P) = λ (Γ (6.6)
σ 2 (Γ ΓΓ > )
Γ) = λ (Γ (6.7)
Recordando que para una matriz general A se tiene λ (A2 ). Por lo tanto, se ve desde la anterior
ecuación que
σ 2 (P) = [σ 2 (Γ
Γ)]2
2
σmax (P) σmax (Γ
Γ)
= 2 (6.8)
σmin (P) σmin (Γ
Γ)
κ(P) = κ 2 (Γ
Γ)
Esto es, el número de condición de P es el cuadrado del número de condición de Γ . Por ejemplo,
considérese la matriz dada anteriormente en esta sección:
6
10 0
P=
0 10−6 (6.9)
12
κ(P) = 10
θ> >
1 θ2 = θ2 θ1 = 0
(6.14)
θ> >
1 θ1 = θ2 θ2 = I
Se puede usar esta ecuación, junto con la ecuación (6.14), para escribir
> 1/2 > >/2
Γ− Γ−
k (Γ
> +
Γ+
k ) = Fk−1 Γ k−1 θ 1 θ 1 (Γ
> >
k−1 ) Fk−1 + Qk−1 θ 2 θ 2 Qk−1
> > 1/2 >/2
= Fk−1 Γ + Γ+
k−1 (Γ k−1 ) Fk−1 + Qk−1 Qk−1 (6.15)
P− + >
k = Fk−1 Pk−1 Fk−1 + Qk−1 (6.16)
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.
Γ−
algoritmos para la solución de la ecuación (6.17) darán lugar a diferentes matrices θ y (Γ >
k ) .
Se pueden usar varios métodos de algebra lineal para encontrar la matriz ortogonal θ n×n y la
matriz de la raíz cuadrada resultante Γ −
k .
Varios algoritmos numéricos están disponibles para llevar a cabo las transformaciones ortogo-
nales que se requieren para resolver las matrices θ y la matriz raíz cuadrada resultante Γ −
k de la
Ecuación (6.17). Algunos algoritmos que pueden ser utilizados son el método de Householder,
el método de Givens, el método de Gram–Schmidt y el método de Gram–Schmidt modificado.
En esta sección se presentará (sin derivación) el algoritmo de Householder y el algoritmo de
Gram–Schmidt modificado. Deducciones y presentaciones de los otros algoritmos se pueden
encontrar en muchos textos sobre álgebra lineal numérica, como [32], [29], [56]. Una compa-
ración de Gram–Schmidt, Gram–Schmidt modificado y las transformaciones de Householder
se puede encontrar en [37], donde se establece que el procedimiento de Gram–Schmidt modifi-
cado es mejor (desde un punto de vista numérico) que el método de Householder, ofreciendo
un desempeño de muy alta calidad.
El algoritmo de Householder
El algoritmo que se presenta aquí lo desarrolló Alston Householder [33], se aplicó a la estima-
ción de mínimos cuadrados por Gene Golub [28] y se configuró para filtrado de Kalman por
Paul Kaminski [47].
1. Supóngase que se tiene una matriz 2n × n A(1) y se desea encontrar una matriz W n × n
tal que
W
θ A(1) = (6.18)
0
donde θ es una matriz ortogonal 2n × 2n y 0 es una matriz n × n conformada por ceros.
Obsérvese que el enunciado de este problema está en la misma forma que la Ecuación
(6.17). También téngase en cuenta que no necesariamente se requiere hallar θ ; el objetivo
es encontrar W.
2. Para k = 1, . . . , n realizar lo siguiente:
(k)
donde Aik es el elemento de la i−ésima fila y la k−ésima columna de A(k) . La
función sgn(x) se define como
(
+1 x≥0
sgn =
−1 x<0
172 Capítulo 6. Formas alternas del filtro de Kalman
1
βk = (6.20)
(k)
ςk ςk + Akk
(k)
donde Ai es la i-ésima columna de A(k) . Esto da un vector columna y(k) con n-
elementos,
3. Después de que los anteriores pasos han sido ejecutados, A(n+1) tiene la forma
W
A(n+1) = (6.24)
0
1
βk =
(k)
ςk ςk + Akk
for i = 1 to 2n do
if i < k then
(k)
ui = 0
else if i = k then
(k) (k)
ui = ςk + Akk
else if i > k then
(k) (k)
ui = Aik
end if
end for
for i = 1 to n do
if i < k then
(k)
yi = 0
else if i = k then
(k)
yi = 1
else if i > k then
(k) (k)
yi = βk u(k)> Ai
end if
end for
W
A(k+1) = A(k) − u(k) y(k)> → A(n+1) =
0
for i = 1 to n do
θ (k) = I − βk u(k) u(k)>
θ = ∏1n θ (i)
end for
end for
Solución:
Aplicando el Algoritmo 5 se obtiene:
s
4
(1) 2
p
(1)
ς1 = sgn A11 ∑ Ai1 = 12 + 22 + 02 + 22 = 3
i=1
1 1 1
β1 = = =
(1)
ς1 ς1 + A11 3(3 + 1) 12
(1) (1)
u1 = ς1 + A11 = 3 + 1 = 4
(1) (1)
u2 = A21 = 2
(1) (1)
u3 = A31 = 0
(1) (1)
u4 = A41 = 2
h i> >
u(1) = u(1) (1) (1) (1)
1 u2 u3 u4 = 4 2 0 2
(1)
y1 = 1
1
(1) (1) 1 2 1
y2 = β1 u(1)> A2 = 4 2 0 2 1 = 12 (4 + 4 + 0 + 4) = 1
12
2
>
y= 1 1
1 1 4 1 1 4 4
2 2 − 2 1
2 2
(2) (1) (1) (1)> − 2 2
A = A −u y =
1 =
0 1 0 0 1 0 0
2 2 2 2 2 2 2
−3 −3
(2)
0 0
A =
0 1
0 0
s r
4
(2) 2 (2) 2 (2) 2 (2) 2
(2)
ς2 = sgn A22 A
∑ i2 = sgn(0) A22 + A32 + A42
i=2
√
= 0+1+0 = 1
1 1
β2 = = =1
(2)
ς2 ς2 + A22 1(1 + 0)
6.2 Filtrado de raíz cuadrada 175
(2)
u1 = 0
(2)
u 2 = ς2 + 0 = 1
(2) (2)
u3 = ς2 + A32 = 1 + 0 = 1
(2) (2)
u4 = A42 = 0
0
(2)
1 >
u = 1 = 0
1 1 0
0
(2)
y1 = 0
(2)
y2 = 1
>
y(2) = 0
1
−3 −3 0 −3 −3 0 0
(3) (2) (2) (2)>
0 0 1 0 0 0 1
A = A −u y =
0
− 0 1 = −
1 1 0 1 0 1
0 0 0 0 0 0 0
−3 −3
(3)
0 −1
A = 0
0
0 0
−3 −3
W= (6.26)
0 −1
θ = I − β2 u(2) u(2)> I − β1 u(1) u(1)>
1 0 0 0 0 1 0 0 0 4
0 1 0 0 1 0 1 0 0 1 2
0 0 1 0−11 0 1 1 0 0
= − 4 2 0 2
0 1 0 120
0 0 0 1 0 0 0 0 1 2
0 0 − 13 − 32 − 32
1
− 23 − 23
1 0 0 −3 0
−1 0 2 2
− 31 −1
− 3
0 0 0 0 0 0
θ = 3 =
0 −1 0 0 0 0 1 0 23 − 32 0 1
3
0 0 0 1 − 23 − 31 0 2
3 − 23 − 13 0 2
3
176 Capítulo 6. Formas alternas del filtro de Kalman
1. Supóngase que se tiene la matriz A(1) de 2n × n y se desea encontrar una matriz W tal
que
W
θ A(1) = (6.27)
0
donde θ es una matriz ortogonal 2n × 2n y 0 es una matriz n × n conformada por ceros.
Nótese que este problema se plantea de la misma forma como en la Ecuación (6.17).
2. Para k = 1, . . . ,n desarrollar lo siguiente:
a) Calcular el escalar ςk como
q
(k)> (k)
ςk = Ak Ak (6.28)
(k)
donde Ak es la k-ésima columna de A(k) .
b) Calcular la k–ésima fila de W como
0 j = 1, . . . , k − 1
j=k
ςk
Wk j = (6.29)
1 (k)> (k)
Ak A j j = k + 1, . . . ,n
ςk
Si θ k es cero, significa que es una combinación lineal de las filas anteriores de θ . En ese
caso, la división en la ecuación anterior será una división entre cero, de modo que θ k debe
descartarse. Este descarte ocurrirá exactamente n veces, de modo que este procedimiento
calculará las n filas adicionales de θ y se terminará obteniendo una matriz ortogonal
θ 2n×2n .
Un resumen del procedimiento de Gram–Schmidt modificado para ortonormalización se
muestra en el Algoritmo 6.
Ejemplo 6.2.3 Utilizar el método de Gram–Schmidt modificado para resolver el Ejemplo 6.2.2.
Solución:
W1 = W11 W12 = 3 3
1 1
θ 1 = A(1)> 2 = 13 2 2
= 1 2 0 0
ς 1 3 3 3
178 Capítulo 6. Formas alternas del filtro de Kalman
end for
end if
end for
(2) Expandir la matriz θ
θ
θ :=
I 3n×2n
(3) Recalcular la k-ésima fila de θ
for k = n + 1 to 3n do
>
θ k := θ k − ∑k−1
i=1 θ k θ i θi
θk
θ k :=
||θθ ||2
end for
1 1 0
(2) (1) 1 (1) 2 1 2 0
A2 = A2 − W12 A1 = − · 3 · =
ς1 1 3 0 1
2 2 0
6.2 Filtrado de raíz cuadrada 179
v
0
u
u
0 √
q u
(2)> (2)
ς 2 = A2 A2 = u 0 0 1 0 1 = 0 + 0 + 1 + 0 = 1
u
t
0
Para k = 2
W21 = 0; W22 = 1; W2 = W21 W22 = 0 1
1 (2)> 1
θ2 = A = 0 0 1 0 = 0 0 1 0
ς2 2 1
θ3 = 1 0 0 0
θ4 = 0 1 0 0
θ5 = 0 0 1 0
θ6 = 0 0 0 1
θ3 = θ 3 − θ 3θ > >
1 θ 1 − θ 3θ 2 θ 2
1
3
2
0 3 13 2 2
= 1 0 0 0 − 1 0 0 3 0 3 −0
0
2
3
1 1 2
0 32
= 1 0 0 − 0 3 3
8 3
2 2
θ3 = 9 − 9 0 − 9
θ3 h √ i
θ3 = = 2 3 2 − 3√1 2 0 − 3√1 2
||θθ ||
h √3 2 √ √ i
= 2 2 2 2
θ3 3 − 6 0 − 6
θ4 = θ 4 − θ 4θ > > >
1 θ 1 − θ 4θ 2 θ 2 − θ 4θ 3 θ 3
1
3 0
2 1 2 2
0
= 0 1 0 0 − 0 1 0 0 0 · 3
3
3 0 3 − 0 1 0 01· 0
0 1 0
2 0
3
180 Capítulo 6. Formas alternas del filtro de Kalman
√
2 2
3√
− 62 2√2
√ √ i
h
− 0 1 0 0 · 3 − 62 0 − 6
2
0√
− 2
26 4
0 − 9 9 0 94 + 29 1 1 1
− 12
= 0 1 0 − 18 0 − 18 = 0 2 0
θ4
θ4 =
||θθ 4 ||2
r r √
1 1 1 1 2
||θθ 4 ||2 = 0+ +0+ = =√ =
4 4 2 2 2
h √ √ i
= 2 2
θ4 0 2 0 − 2
1 2 2
3 3 0 3
0 1√ 0 0√
√
=
θ 2 2
−√ 62 0 − √62
3
2
0 2 0 − 22
Ejemplo 6.2.4 Supóngase que en el tiempo (k − 1) el filtro de Kalman tiene la matriz del
sistema, la covarianza del ruido del proceso y la raíz cuadrada de la covarianza de estimación
a posteriori dadas por
1 1 0 0 1 0
Fk−1 = ; Qk−1 = ; Γ+
k−1 =
0 1 0 2 0 1
1/2 >/2
Puede verificarse que la raíz cuadrada de Qk−1 (tal que Qk−1 Qk−1 = Qk−1 ) está dada por
1/2 0 0
Qk−1 =
−1 −1
dada por √
1
Γ−
k = √
√20 0
10 5 −5
De esto se puede inferir que la covarianza de estimación a priori en el tiempo k está dada como
− − > 2 1
P−
k = Γ k (Γ
Γ k ) =
1 3
donde Hik es la i-ésima fila de Hk y Rik es la varianza de la i-ésima medición; se asume, que
Rk es diagonal. Supóngase que se tiene la raíz cuadrada de P+i−1,k tal que Pi−1,k = Γ i−1,k Γ i−1,k .
+ + +>
Γ+ +> >
i−1,k Γi−1,k Hik
Kik = (6.36)
Hik Γ + +> >
i−1,k Γ i−1,k Hik + Rik
Γ+ +> >
!
i−1,k Γ i−1,k Hik Hik
P+
ik = I− Γ+ +>
i−1,k Γ i−1,k
Hik Γ + +> >
i−1,k Γ i−1,k Hik + Rik
182 Capítulo 6. Formas alternas del filtro de Kalman
Γ+ +> > +
!
i−1,k Γ i−1,k Hik Hik Γ i−1,k
P+
ik = Γ+
i−1,k − Γ +>
i−1,k
Hik Γ + +> >
i−1,k Γ i−1,k Hik + Rik
P+ + +> +
φ φ > )Γ
ik = Γ i,k Γ i,k = Γ i−1,k (I − αφ Γ+>
i−1,k (6.37)
> 1
φ = Γ +>
i−1,k Hik α = (6.38)
φ > φ + Rik
Ya sea el signo más o el menos se puede usar para el cálculo de γ. Sustituyendo la Ecuación
(6.39) en la Ecuación (6.37) se obtiene
Γ+ +
φ φ >)
ik = Γ i−1,k (I − αγφ (6.41)
Puesto que φ es definida positiva, entonces la Ecuación (6.49) será válida para el caso
−
x̂+
0k = x̂k
−
(6.45)
Γ+
0k = Γ k
2. Realizar
for i = 1 to r do
(a) Definir:
(i) Hik ← i-ésima fila de Hk ,
(ii) yik ← i-ésimo elemento de yk ,
(iii) Rik ← varianza de la i-ésima medición (Rk diagonal).
(b) Calcular:
>
φ i = Γ +>
i−1,k Hik
1
αi =
φ>i i + Rik
φ
1
γ= √ (6.46)
1 ± αi Rik
>
Γ+ +
ik = Γ i−1,k (I − αi γi φ i φ i )
Kik = αi Γ +
ik φ i
x̂+ + +
ik = x̂i−1,k + Kik (yik − Hik x̂i−1,k )
end for
3. raíz cuadrada de la covarianza a posteriori y el estimado del estado a posteriori
Γ+ +
k = Γ rk
(6.47)
x̂+ +
k = x̂rk
De la Ecuación (6.38)
0 = 1 − 2γ + (1 − αRik )γ 2 ; es decir,
184 Capítulo 6. Formas alternas del filtro de Kalman
αRik γ 2 = 1 − 2γ + γ 2 = (1 − γ)2
p
± αRik γ = 1 − γ
p
γ ± αRik γ = 1
1
γ= √ (6.49)
1 ± αRik
Nótese que P+
k se ha convertido en singular debido a las limitaciones numéricas del computador.
Los valores de redondeo de la covarianza a priori y la ganancia de Kalman en el siguiente
paso de tiempo (k + 1) estarán dados por
− + > 0 0
Pk+1 = FPk F + Q =
0 1
(6.51)
− > − > −1 0
Kk+1 = Pk+1 H (HPk+1 H + R) =
0
Las limitaciones numéricas del computador han dado como resultado una ganancia de Kalman
cero, mientras que la ganancia de Kalman de precisión infinita, como se indica en la Ecuación
>
(6.50), es de aproximadamente 1/2 0 . Ahora supóngase que se implementa la ecuación
sólo se tiene que iterar la Ecuación (6.46) una vez, ya que sólo se tiene una medición. Los
valores alrededor de los parámetros dados en la Ecuación (6.46) son
1
φ = (ΓΓ−
k )> >
H =
0
1 1
α= > = ≈1
φ φ +R 1+R
1 1
γ= √ = √
1 + αR 1 + R
" √ #
R
√ 0
Γ+
k = Γ− φ φ >) =
k (I − αγφ
1+ R
0 1
Γ− +
k+1 = Γ k
" √ #
R
√
φ Γ−
= (Γ > >
k+1 ) H = 1+ R
0
√ √
1 1+R+2 R 1+2 R (6.53)
α= > = √ ≈ √
φ φ + R R2 + 2R + 2R R 2R(1 + R)
√ " R √
# " 1√
#
1 + 2 R
Γ−
Kk+1 = αΓ k+1 φ ≈ √ 1+R+2 R ≈ 2(1+ R)
2R(1 + R) 0 0
186 Capítulo 6. Formas alternas del filtro de Kalman
Nótese que la ganancia de Kalman redondeada es casi idéntica a la ganancia de Kalman exacta
dada por la Ecuación (6.50). Esto demuestra el beneficio que se puede obtener mediante el uso
del filtro de raíz cuadrada.
6.3 Filtro de información
En esta sección, se discute el filtro de información. Esta es una implementación del filtro
de Kalman que propaga la inversa de P en lugar de la propagación de P; esto es, el filtro de
información propaga la matriz de información del sistema. Recordando que
P− + >
k = Fk−1 Pk−1 Fk−1 + Qk−1 (6.58)
Ahora se puede usar el lema de inversión de matrices, el cual se vuelve a replantear aquí:
−1 −1
(A + BD−1 C) = A−1 − A−1 B(D + CA−1 B) CA−1 (6.60)
I−
k = Qk−1 − Qk−1 Fk−1 (Ik−1 + Fk−1 Qk−1 Fk−1 ) Fk−1 Qk−1
−1 −1 + > −1 −1 > −1
(6.61)
end for
Las ecuaciones del filtro de Kalman estándar requieren la inversión de una matriz r ×r, donde
r es el número de mediciones. Las ecuaciones del filtro de información requiere al menos un
par de inversiones de matrices n × n, donde n es el número de estados. Por lo tanto, si r n (es
decir, se tiene significativamente más mediciones que estados) puede ser computacionalmente
más eficiente usar el filtro de información. Se podría argumentar que, dado que la ganancia de
Kalman se da como
> −1
Kk = P+ k Hk Rk (6.63)
se tiene que realizar e invertir de todos modos una matriz r × r sobre Rk , si se usa el filtro
de Kalman estándar o el filtro de información. Pero si Rk es constante, entonces se podría
invertir ésta como parte del proceso de inicialización. Así, la ecuación de ganancia de Kalman,
después de todo, puede no requerir esta inversión de una matriz r × r. La misma idea se aplica
también a la inversión de Qk−1 . Si la incertidumbre inicial es infinita, no se puede escoger
0 → ∞, pero se puede escoger numéricamente I0 = 0. Esto hace el filtro de
+
numéricamente P+
información matemáticamente más preciso para el caso de certeza inicial cero. Sin embargo,
si la incertidumbre inicial es cero (es decir, se tiene perfecto conocimiento de x0 ), se puede
0 = 0, pero no se puede escoger numéricamente I0 → ∞. Esto
+
escoger numéricamente P+
hace el filtro de Kalman estándar, matemáticamente más preciso para el caso de incertidumbre
inicial cero.
Ejemplo 6.3.1 Una masa radiactiva tiene una vida media de τ s. A cada paso de tiempo k el
número de partículas emitidas x es la mitad de las emitidas en el paso de tiempo anterior, pero
188 Capítulo 6. Formas alternas del filtro de Kalman
hay algún error vk (media cero con varianza Qk ) en el número de partículas emitidas debido a
la radiación de fondo. En cada paso de tiempo el número de partículas emitidas se cuenta con
dos instrumentos separados e independientes. Ambos instrumentos tienen un error aleatorio en
cada paso de tiempo que es de media cero con una varianza unidad. La incertidumbre inicial en
el número de partículas radiactivas es una variable aleatoria con media cero y varianza unidad.
1. Las ecuaciones de tiempo discreto que modelan este sistema tienen una variable de estado
unidimensional y una de medición de dos dimensiones. Utilizar el filtro de información
para calcular las matrices de información a priori y a posteriori en k = 1 y k = 2.
Supóngase que Q0 = 1 y Q1 = 5/4.
2. Otra forma de resolver este problema es darse cuenta que las dos mediciones pueden
promediarse formando una única medida con una variación más pequeña que las dos
medidas independientes. ¿Cuál es la varianza de la medida promedio en cada paso de
tiempo? Usar las ecuaciones del filtro estándar de Kalman para calcular las matrices de
covarianza a priori y a posteriori en k = 1 y k = 2 y comprobar que son las inversas de
las matrices de información que se calcularon en la parte 1.
Solución:
El modelo del sistema está dado como
1
xk = xk−1 + vk−1
2
1
yk = x + wk
1 k
Ik− = Q−1
k−1 − Qk−1 F (Ik−1 + F Qk−1 ) Qk−1
−1 2 + 2 −1 −1 −1
1 F2 1
= − · +
Qk−1 Qk−1 Ik−1 + F 2
2
Q k−1
1 F2 1
I1− = − 2· +
Q0 Q0 I + F 2
0 Q0
1 1 4
= 1− · =
4 1 + 14 5
− −
I+
k = Ik + Hk Rk Hk = Ik + Hk I Hk
> −1 > −1
1 0 1
Ik+ = Ik− + 1 1
0 1 1
4 14
I1+ = +2 =
5 5
6.3 Filtro de información 189
1 F2 1
I2− = − 2· +
Q1 Q1 I + F 2
1 Q1
4 1 42 1 4 4 1 56
= − · · 14
= − · =
5 4 52 5 + 14 · 45 5 25 14
5 + 15 75
I2+ = I2− + 2
56 206
I2+ = +2 =
75 75
2. Supóngase que se tienen dos mediciones independientes del escalar x, cada una con varian-
za R. Entonces la varianza de la medición promedio se calcula como
( 2 ) ( 2 )
1 1 1
E (y + y2 ) − x =E (y − x) + (y2 − x)
2 1 2 1 2
h
w1 w2 2 i
=E +
2 2
R R R
= + =
4 4 2
En este problema cada medición tiene una varianza unidad, por lo que la varianza de la medición
promedio es 1/2. Se pueden utilizar las ecuaciones (5.53) y (5.54) para obtener
Pk− = F 2 Pk−1
+
+ Qk−1
P1− = F 2 P0+ + Q0
1 5
= +1 =
4 4
P1+ = [(P1− )−1 + H > R−1 H]−1
−1
4 5
= +2 =
5 14
1 5 5 75
P2− = · + =
4 14 4 56
P2+ = [(P2− )−1 + 2]−1
−1
56 75
= +2 =
75 206
Nótese que las cantidades Pi− y Pi+ obtenidas aquí, son las inversas de las cantidades I1− e
I1+ obtenidas en la parte 1.
190 Capítulo 6. Formas alternas del filtro de Kalman
6.4 Resumen
En este capítulo se han estudiado algunos modelos alternos del filtro de Kalman. Uno de estos
modelos es el filtro de información.
El filtro de información es equivalente al filtro Kalman, pero se propaga a la inversa de la
covarianza. Esto puede ser computacionalmente beneficioso en los casos en los que el número
de mediciones es mucho mayor que el número de estados. El filtrado de raíz cuadrada aumenta
de manera efectiva la precisión del filtro de Kalman.
Aunque estos enfoques requieren esfuerzo computacional adicional, pueden ayudar a prevenir
la divergencia y la inestabilidad. Hay una excelente y completa visión del filtrado de raíz
cuadrada en [13].
Existe un número de diferentes opciones en la aplicación de un filtro de Kalman. En este
capítulo se han tratado dos modelos
• Filtrado estándar, filtrado de raíz cuadrada
• Filtrado de información o filtrado de covarianza.
Cualquiera de estas opciones se pueden hacer en forma independiente o combinada con las
demás. Por ejemplo, se puede optar por combinar el filtrado de información con el filtrado de
raíz cuadrada [47].
Una comparación numérica de diversas formulaciones de filtro de Kalman (incluyendo el
filtro estándar, el filtro de covarianza, el filtro de raíz cuadrada, el filtro de información con
raíz cuadrada y otros, como el algoritmo de Chandrasekhar) se da en [74]. Comparaciones
numéricas y computacionales de distintos enfoques de filtrado de Kalman se dan en [11], [12].
El filtrado de raíz cuadrada en tiempo continuo se discute en [57].
7 Generalización del filtro de Kalman
Elon Musk
7.1 Introducción
191
192 Capítulo 7. Generalización del filtro de Kalman
Supóngase que se desea generar un vector aleatorio v de n elementos el cual tiene media y
la covarianza Q: 2
σ1 . . . σ1n
Q = ... ..
. (7.1)
σ1n ... σn2
Puesto que Q es una matriz de covarianza, se sabe que todos sus valores propios son reales y
no negativos. Por tanto, sus valores propios se pueden denotar como µk2
Q = DQ̂D> (7.3)
Ahora se define el vector aleatorio v como v = D−1 w, de modo que w = Dv, Por lo tanto,
w = Dv
7.3 Correlación del ruido del proceso y de la medida 193
Esto muestra como se puede generar un vector aleatorio v de n elementos con una matriz de
covarianza Q. En el Algoritmo 9 se muestra el procedimiento.
La deducción del filtro de Kalman en el Capítulo 5 supone que el ruido del proceso y de la
medida no son correlacionados. En esta sección, se va a demostrar cómo el ruido correlacionado
del proceso y de la medición cambia las ecuaciones de filtro de Kalman. Supóngase que se
tiene un sistema dado por
Se ve que el ruido del proceso en la ecuación del sistema está correlacionado con el ruido
de las mediciones, con la covarianza cruzada dada por Sk δk− j . En la deducción del filtro de
Kalman en el Capítulo 5, se asume que Sk es cero, pero en esta sección no se tendrá en cuenta
esta suposición. Para tener más claridad conceptual supóngase, por ejemplo, que el sistema es
un avión en vuelo con el viento golpeándolo. Se utiliza un anemómetro para medir la velocidad
del viento como una entrada al filtro de Kalman. Así, las ráfagas aleatorias de viento afectan
tanto al proceso (es decir, la dinámica del avión) como a la medida (es decir, la velocidad del
viento detectada). Se ve que hay una correlación entre el ruido del proceso y el ruido de las
mediciones. De la ecuación anterior, se observa que el ruido del proceso en el tiempo k está
correlacionado con el ruido de la medición en el tiempo (k + 1); esto es, vk está correlacionado
con wk+1 . Esto es porque vk afecta al estado en el tiempo (k + 1), así como wk+1 afecta las
mediciones en el tiempo (k + 1).
Con el fin encontrar las ecuaciones del filtro de Kalman teniendo en cuenta el ruido correla-
cionado del sistema, se definen los errores de estimación de la siguiente manera:
ε− −
k = xk − x̂k
(7.7)
ε+ +
k = xk − x̂k
194 Capítulo 7. Generalización del filtro de Kalman
Como en el desarrollo original del filtro de Kalman del Capítulo 5, todavía se asume que las
ecuaciones de actualización para la estimación de estado se dan como sigue
x̂− +
k = Fk−1 x̂k−1 + Gk−1 uk−1
− −
(7.8)
x̂+
k = x̂k + Kk (yk − Hk x̂k )
ε− −
k = xk − x̂k
= (Fk−1 xk−1 + Gk−1 uk−1 + vk−1 ) − (Fk−1 x̂+
k−1 + Gk−1 uk−1 )
= Fk−1 ε +
k−1 + vk−1
− − (7.9)
ε+
k = xk − [x̂k + Kk (yk − Hk x̂k )]
= ε k − Kk (Hk xk + wk − Hk x̂−
−
k )
= ε− −
k − Kk (Hk ε k + wk )
P−
− − >
k = E ε k (ε εk )
>
= Fk−1 P+
k−1 Fk−1 + Qk−1 (7.10)
+ + >
P+
k = E ε k (εεk )
n > o
= E ε− −
− −
k − K k (H ε
k k + w k ) ε k − K k (H ε
k k + w k )
− − − > − > > >
= E ε k − Kk Hk ε k − Kk wk (εε k ) − (εε k ) Hk Kk − w> >
k Kk
= P− − > >
ε−
k − Pk Hk Kk − E{ε
> > − − > >
k wk }Kk − Kk Hk Pk + Kk Hk Pk Hk Kk +
+ Kk Hk E{εε − > > ε−
k wk }Kk − Kk E{wk (ε
> ε−
k ) } + Kk E{wk (ε
> > >
k ) }Hk Kk +
+ Kk E{wk w> >
k }Kk (7.11)
Con el fin de simplificar P+k en la Ecuación (7.11), se requiere encontrar una expresión para
E{εε − w
k k
>
}. Ésta se puede calcular como
E ε− > − >
k wk = E (xk − x̂k )wk
− >
= E xk w>
k − x̂k wk
− >
= E (Fk−1 xk−1 + Gk−1 uk−1 + vk−1 )w>
k − E x̂k wk
− >
= Fk−1 E xk−1 w> > >
k + Gk−1 E uk−1 wk + E vk−1 wk − E x̂k wk
= 0 + 0 + Sk − 0 (7.12)
∂ tr(ABA> )
= 2AB si B es simétrica
∂A
Y además del Apéndice A, las expresiones (A.2) y (A.4) que se reescriben a continuación
∂ ∂
tr(XA) = A> ; tr(AX> ) = A
∂X ∂X
A partir de estos datos se obtiene la siguiente expresión para la derivada
∂ tr(P+
k )
= −2(I − Kk Hk )P− > > >
k Hk + 2Kk (Hk Sk + Sk Hk + Rk ) − 2Sk
∂ Kk
= 2 Kk (Hk P− > > > − >
(7.14)
k Hk + Hk Sk + Sk Hk + Rk ) − Pk Hk − Sk
Esta es la matriz de ganancia de Kalman óptima para el sistema con ruido del proceso y de la
medida correlacionados. La covarianza del error de estimación se obtiene de la Ecuación (7.13)
196 Capítulo 7. Generalización del filtro de Kalman
Esta es la ecuación de actualización de medidas para la covarianza del error de estimación del
filtro de Kalman con ruido del proceso y de las mediciones correlacionados. Las ecuaciones de
actualización de la medida para la estimación de estados son las mismas del filtro de Kalman
estándar y se dan en el conjunto de ecuaciones (7.8). Las ecuaciones de actualización en el
tiempo para la estimación de estado y la covarianza del error de estimación también son las
mismas como antes. El filtro de Kalman para el sistema con ruido correlacionado del procesos
y de las mediciones se puede resumir en el Algoritmo 10. La segunda forma para P+ k y la
segunda forma para Kk se pueden desarrollar siguiendo un procedimiento similar tal como el
mostrado en la Sección 4.5. Nótese que esta es una generalización del filtro de Kalman la cual
se presentó en las ecuaciones (5.54), en particular la última. Si Sk = 0, entonces la expresión
anterior se reduce a la última ecuación de (5.54).
xk = 0.8xk−1 + vk−1
yk = xk + wk
>
E{vk v j } = 1δk− j
E{wk w>j } = 0.1δk− j
E{vk−1 w>j } = Sδk− j
Analizar la respuesta teniendo en cuenta la correlación entre el ruido del proceso y el ruido en
la medida.
Solución:
Se puede utilizar el método discutido en la Sección 7.2 para simular el ruido correlacionado.
Las ecuaciones del filtro de Kalman dadas anteriormente se pueden ejecutar a continuación
para obtener una estimación del estado. En la Figura 7.1 se muestra la respuesta a diferentes
niveles de correlación, con correlación cero y con valores de ±0.25.
La Tabla 7.1 muestra (para varios valores de S) la varianza del error de estimación para
el filtro de Kalman estándar (cuando se asume S = 0) y para el filtro de Kalman con ruido
correlacionado (cuando se utiliza el valor correcto de S). Cuando S = 0, las varianzas de error
de estimación son las mismas para los dos filtros, como se esperaba. Sin embargo, cuando
7.3 Correlación del ruido del proceso y de la medida 197
3. Para cada paso de tiempo k = 1,2, · · · , las ecuaciones del filtro de Kalman están dadas como
P− + >
k = Fk−1 Pk−1 Fk−1 + Qk−1
Kk = (P− > − > > >
k Hk + Sk )(Hk Pk Hk + Hk Sk + Sk Hk + Rk )
−1
> − −1 > − −1 −1
= P+
k (Hk + (Pk ) Sk )(Rk − Sk (Pk ) Sk )
x̂−
k = Fk−1 x̂+
k−1 + Gk−1 uk−1
x̂+
k = x̂− −
k + Kk (yk − Hk x̂k )
(7.19)
Pk+
= (I − Kk Hk )P− > > >
k (I − Kk Hk ) − Sk Kk − Kk Sk +
+ Kk (Hk Sk + S> >
k Hk + Rk )Kk
>
− −1 − −1 > − −1
= (Pk ) + (H> k + (Pk ) Sk )(Rk − Sk (Pk ) Sk )
−1
×
− −1 −1
× (Hk + S>
k (Pk ) )
= P− − >
k − Kk (Hk Pk + Sk )
S 6= 0, el filtro que utiliza el valor correcto de S se desempeña notablemente mejor que el filtro
que asume incorrectamente que S = 0.
198 Capítulo 7. Generalización del filtro de Kalman
S = 0, SFiltro = 0 S = 0, SFiltro = 0
0.915 0.0915
0.914 0.0914
0.913 0.0913
0.912 0.0912
0.911 0.0911
0.91 0.091
0.909 0.0909
0 10 20 30 40 50 0 10 20 30 40 50
Tiempo Tiempo
(a) Ganancia de Kalman y covarianza del error de estimación sin correlación.
0.783
0.024
0.7825
0.0238
0.782
0.0236
0.7815
0.781 0.0234
0 10 20 30 40 50 0 10 20 30 40 50
Tiempo Tiempo
(b) Ganancia de Kalman y covarianza del error de estimación con correlación(positiva).
1.25 0.065
0.0645
1.245
0.064
1.24
0.0635
1.235 0.063
1.23 0.0625
0 10 20 30 40 50 0 10 20 30 40 50
Tiempo Tiempo
(c) Ganancia de Kalman y covarianza del error de estimación con correlación (negativa).
Figura 7.1 Simulación del filtro de Kalman usando ruido del proceso y de la medida correlacionados.
S = correlación entre el ruido del proceso y el ruido de la medida. SFiltro = valor de S usado
en el filtro de Kalman.
Tabla 7.1 Valores experimentales de la varianza del error de estimación (50 pasos de tiempo) para el Ejem-
plo 7.1 cuando hay una covarianza cruzada S entre el ruido del proceso y el ruido de la medida. El
filtro estándar asume S = 0 y el filtro correlacionado utiliza el valor correcto de S. .
Para la deducción del filtro de Kalman en el Capítulo 5 se asumió que tanto el ruido del proceso
como el ruido de la medición son blancos. En esta sección, se mostrará cómo tratar el ruido
coloreado del proceso, y se presentarán dos métodos para tratar el ruido coloreado de medición.
Si el ruido del proceso es coloreado, es relativamente fácil modificar las ecuaciones del sistema
y obtener un sistema equivalente pero de orden superior con ruido blanco del proceso [19].
Entonces se pueden aplicar las ecuaciones estándar del filtro de Kalman. Por ejemplo, supóngase
que se tiene un sistema LTV dado como
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
El cero surge porque vk−1 es independiente de ζ k−1 y ζ k−1 tiene media cero. Se ve que vk es
el ruido coloreado del proceso (ya que se correlaciona con sí mismo en otros pasos de tiempo).
Entonces se pueden combinar las ecuaciones (7.20) y (7.21) para obtener
xk F I xk−1 0
= +
vk 0 ψ vk−1 ζ k−1
x̌k = F̌x̌k−1 + v̌k−1 (7.23)
Este es un sistema aumentado con un nuevo estado x̌, una nueva matriz del sistema F̌ y un
nuevo vector de ruido del proceso v̌ cuya covarianza está dada por
0 n 0 o
>
E v̌k v̌k = 0 E ζ k ζ > k
= Q̌k (7.24)
Ahora supóngase que se tiene ruido coloreado de la medida. El sistema y las ecuaciones de
medición están dadas como
xk = Fk−1 xk−1 + vk−1
y k = H k x k + wk
wk = ψ k−1 wk−1 + ζ k−1
vk ∼ N(0,Qk )
ζ k ∼ N(0,Qζ k ) (7.25)
E vk v>j = Qk δk− j
n o
>
E ζ k ζ j = Qζ k δk− j
n o
>
E vk ζ j = 0
Hay varios enfoques para resolver el problema de ruido de medición coloreado. Este problema
fue resuelto por R. Bucy para sistemas en tiempo continuo en [19]. Aquí se resuelve el problema
en tiempo discreto mediante el aumento de estados. Éste fue originalmente propuesto en [18]
en el contexto de sistemas de tiempo continuo. Se aumenta el modelo original como sigue:
xk Fk−1 0 xk−1 vk−1
= +
wk 0 ψ k−1 wk−1 ζ k−1
(7.27)
xk
yk = Hk I +0
wk
El sistema es equivalente al sistema original pero tiene un estado modificado x̌, una matriz
de transición de estado F̌, un ruido del proceso v̌, una matriz de medición Ȟ y un ruido de
medición w̌. La covarianza del ruido del proceso y la covarianza del ruido de medición se
7.4 Ruido coloreado de proceso y medición 201
calculan como h i
> vk > Qk 0
E v̌k v̌k = E v>
k ζk =
0 Qζ k
ζk (7.29)
>
E w̌k w̌k = 0
Como se puede observar, no hay ruido de medición, lo cual es equivalente a decir que el ruido
de medición es blanco con media cero y covarianza cero. Teóricamente, es bueno tener ruido
de medición cero en el filtro de Kalman. En efecto, el artículo original de Kalman [46] fue
escrito sin ninguna restricción sobre la singularidad de la covarianza del ruido de medición.
Pero en la práctica, una covarianza singular del ruido de medición frecuentemente resulta
en problemas numéricos [53], [70]. Por tal razón en la próxima subsección se presenta otro
enfoque para tratar el ruido coloreado de la medición.
En esta subsección se presentará un método para tratar con ruido coloreado de la medida que
no se basa en aumentar el vector de estado. Este enfoque se debe a [17]. Como en la subsección
anterior, el sistema está dado por
Ahora se escribe la señal yk en función de una señal auxiliar y̌k como sigue
De donde,
y̌k−1 = yk − ψ k−1 yk−1 (7.32)
Sustituyendo yk y yk−1 en la Ecuación (7.32), se obtiene:
donde
Se ve que se tiene una nueva ecuación de medición para la medida y̌k−1 , la cual tiene una
matriz de medición Ȟk−1 y un ruido de medida w̌k−1 . Por lo tanto, el sistema equivalente
nuevo puede escribirse como
xk = Fk−1 xk−1 + vk−1
(7.36)
y̌k = Ȟk xk + w̌k
La covarianza del nuevo ruido de medición w̌ y la covarianza cruzada entre el ruido del proceso
v y el nuevo ruido de medición w̌, puede obtenerse como
n o
>
E w̌k w̌> > >
k = E (Hk+1 vk + ζ k )(wk Hk+1 + ζ k )
= Hk+1 Qk H>
k+1 + Qζ k
n o (7.37)
>
E vk w̌> > >
k = E v (v H
k k k+1 + ζ k )
= Qk H>
k+1
x̂−
k = E{xk |y1 , · · · , yk } (7.41)
x̂+
k = E xk |y1 , · · · , yk+1
(7.42)
= x̂− −
k + Kk (y̌k − Ȟk x̂k )
Nótese que estas definiciones de x̂−k y x̂k son un poco diferentes a las definiciones usadas en
+
otras partes de este texto. Normalmente, x̂− k está basado en las mediciones hasta el tiempo
(k − 1) inclusive y x̂+
k se basa en las mediciones hasta el tiempo k inclusive. En esta sección,
ambos estimados se basan en una medida adicional. Como en el desarrollo anterior, se escoge
la ganancia Kk para minimizar la traza de la covarianza del error estimado. Esto se escribe
como
+ >
Kk = argmin tr E (xk − x̂+ (7.43)
k )(xk − x̂k )
No se darán los detalles aquí, pero en [17], se muestra que esta minimización conduce a las
ecuaciones del estimador dadas en el Algoritmo 11.
7.4 Ruido coloreado de proceso y medición 203
3. En cada paso de tiempo, se ejecutan las ecuaciones siguientes para actualizar el estimado
del estado.
− −
x̂+
k = x̂k + Kk (y̌k − Ȟk x̂k )
x̂− + −
k+1 = Fk x̂k + Ck (y̌k − Ȟk x̂k )
Kk = P− > − >
k Ȟk (Ȟk Pk Ȟk + Rk )
−1
Sk = Qk H>
k+1 (7.40)
Ck = Sk (Ȟk P− >
k Ȟk + Rk )
−1
P+
k = (I − Kk Ȟk )P− > >
k (I − Kk Ȟk ) + Kk Rk Kk
P−
k+1 = Fk P+ > > > > >
k Fk + Qk − Ck Sk − Fk Kk Sk − Sk Kk Fk
(Un enfoque similar para el filtro en tiempo continuo con ruido de medida coloreado está
dado en [69].)
204 Capítulo 7. Generalización del filtro de Kalman
Ejemplo 7.4.1 Considérese el siguiente sistema lineal con ruido de medida coloreado:
0.70 −0.15 0.15
xk = xk−1 + v
0.03 0.79 0.21 k−1
1 0
yk = x + wk
0 1 k
wk = ψwk−1 + ζ k−1
E vk v>j = 1δk− j
o
0.05 0
n
>
E ζ kζ j = δ
0 0.05 k− j
n o
>
E vk ζ j = 0
Tabla 7.2 Cuando se incrementa el contenido de color del ruido de medición (es decir, cuando ψ se incrementa),
los filtros para ruido coloreado mejoran su desempeño en comparación con el filtro estándar de Kalman..
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.
xk+1 = xk + vk
yk = xk + wk
(7.44)
vk ∼ (0,1)
wk ∼ (0,1)
Se puede observar del ejemplo mencionado que la ganancia de Kalman converge a un valor de
estado estacionario después de unos pocos pasos de tiempo:
√
1+ 5
lı́m Kk = K∞ = √ (7.45)
k→∞ 3+ 5
Así que en lugar de realizar la ecuación de actualización de la medida para Pk , la ecuación
de actualización de tiempo para Pk y el cálculo de la ganancia de Kalman para Kk en cada
paso de tiempo, simplemente se puede usar la constante K∞ como la ganancia de Kalman en
cada paso de tiempo. Para un sistema con muchos estados, esto puede ahorrar mucho esfuerzo
computacional, especialmente considerando el hecho que esto permite evitar inversiones de
matrices en tiempo real. El filtro de Kalman de estado estacionario para este ejemplo está dado
como
x̂− +
k = Fx̂k−1
− −
x̂+ + +
k = x̂k + K∞ (yk − Hx̂k ) = Fx̂k−1 + K∞ (yk − HFx̂k−1 )
= (I − K∞ H)Fx̂+
k−1 + K∞ yk (7.46)
k → ∞). En cambio se está usando la ganancia de Kalman de estado estacionario. Sin embargo,
para muchos problemas de interés práctico, el desempeño del filtro en estado estacionario
es casi indistinguible del filtro variable en el tiempo. Para cualquier problema particular, la
diferencia entre los filtros de tiempo variable y estado estacionario necesita ser evaluada por
simulación o por resultados experimentales [68, 1].
Una forma de determinar la ganancia de Kalman de estado estacionario es mediante simula-
ción numérica. Simplemente se puede escribir un programa de computadora para propagar la
ganancia Kalman en función del tiempo, y luego observar el valor hacia el cual la ganancia
está convergiendo.
Otra forma para determinar la ganancia de Kalman de estado estacionario es manipulando las
ecuaciones del filtro de Kalman de la Ecuación (7.19). Recordando la ecuación de actualización
en el tiempo de la covarianza para un sistema invariante en el tiempo:
P− + >
k+1 = FPk F + Q (7.47)
Ahora se sustituye en esta ecuación la expresión para Kk de la Ecuación (7.19) para obtener
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
Esta es llamada una ecuación de Riccati algebraica (ARE), o más específicamente una ARE
discreta (DARE).Una vez que se tiene P∞ , se puede sustituir ésta para P−
k en la fórmula de
la ganancia de Kalman de la Ecuación (7.19) para obtener la ganancia de Kalman de estado
estacionario:
K∞ = (P∞ H> + S)(HP∞ H> + HS + S> H> + R)−1 (7.51)
Hay sistemas para los cuales la ecuación de Riccati (y aquí la ganancia de Kalman) no converge
al valor de estado estacionario. Además, ésta puede convergir a diferentes valores de estado
estacionario dependiendo de la condición inicial P0 . Finalmente, aun cuando ésta converge a
un valor de estado estacionario, puede resultar en un filtro de Kalman inestable. Estos temas
constituyen un rico campo de estudio que se ha reportado extensamente en muchos libros y
documentos [1, 30, 22, 40, 54]. Se resumirán a continuación los resultados más importantes
de convergencia de la ecuación de Riccati, pero primero se necesita definir qué significa para
7.5 Filtrado de estado estacionario 207
Definición 7.5.1 El par matricial (F, G) es controlable sobre el círculo unitario si existe alguna
matriz K tal que (F − GK) no posee ningún autovalor con magnitud 1.
xk+1 = xk (7.52)
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
x̂+ +
k = (I − K∞ H)Fx̂k−1 + K∞ yk (7.58)
Teorema 7.5.1 La DARE tiene una solución semidefinida positiva única P∞ si y solo si se
cumplen las siguientes condiciones
1. (F, H) es detectable.
2. (F − SR−1 H,G) es estabilizable.
Más aún, el correspondiente filtro de Kalman de estado estacionario es estable. Esto es, los
autovalores de (I − K∞ H)F tienen magnitud menor que 1.
El Teorema 7.5.1 no excluye la existencia de soluciones DARE que sean definidas negativas
o indefinidas. Si tales soluciones existen, entonces podrían resultar en un filtro de Kalman
inestable. Si se debilita la condición de estabilidad en el Teorema 7.5.1, se obtiene el siguiente
Teorema 7.5.2 La DARE tiene una solución semidefinida positiva única P∞ si y solo si se
cumplen las siguientes condiciones
1. (F, H) es detectable.
2. (F − SR−1 H,G) es controlable en el círculo unitario.
Además, exactamente una de las soluciones DARE semidefinidas positivas resultan en un filtro
de Kalman de estado estacionario estable.
ejecuta en esta situación, entonces las ecuaciones del filtro de Kalman pueden convergir ya sea
a un filtro estable o a uno inestable, dependiendo de la condición inicial P+ 0 [68], [1]. Si se
refuerza la condición de controlabilidad del Teorema 7.5.2, se obtiene el siguiente
Teorema 7.5.3 La DARE tiene al menos una solución definida positiva P∞ si y solo si se
cumplen las siguientes condiciones
1. (F, H) es detectable.
2. (F − SR−1 H,G) es controlable sobre y en el interior del círculo unitario.
Más aún, exactamente una de las soluciones DARE definidas positivas resultan en un filtro de
Kalman de estado estacionario estable.
Teorema 7.5.4 La DARE tiene al menos una solución semidefinida positiva P∞ si y solo si
(F, H) es detectable. Además, al menos una de tales soluciones resulta en un filtro de Kalman
de estado estacionario marginalmente estable.
Nótese que el filtro resultante es solamente estable marginalmente, por lo que puede tener
autovalores sobre el círculo unitario. También nótese que este teorema posee una condición
suficiente (pero no necesaria). Esto es, puede haber un filtro de Kalman de estado estacionario
estable aún si las condiciones del anterior teorema no se cumplen. Más aún, si las condiciones
del teorema se mantienen, pueden haber soluciones DARE que resultan en filtros de Kalman
inestables.
Ejemplo 7.5.4 Considérese de nuevo el sistema escalar de la Ecuación (7.44). Se puede ob-
servar que F = 1, H = 1,Q = 1,R = 1 y S = 0. Nótese que (F, H) es observable y (F, G) es
controlable para todo G tal que GG> = Q (recuérdese que S = 0 para este ejemplo). Se sabe
del Teorema 7.5.1 que la DARE tiene una única solución semidefinida positiva. Se sabe del
Teorema 7.5.3 que la solución DARE no solo es semidefinida positiva, sino que también es
definida positiva. También se sabe de estos dos teoremas que el correspondiente filtro de
Kalman de estado estacionario es estable. La DARE para este sistema está dada por
De aquí se obtiene
(P + 1)−1 P = 1, es decir, P2 + P − 1 = 0
Así, la DARE tiene dos soluciones, una negativa y la otra positiva. Si se utiliza la solución
negativa en el filtro de Kalman de estado estacionario se obtiene
√
> > −1 1− 5
K = PH (HPH + R) = √
3− 5
2
x̂k+ = (I − KH)F x̂k−1
+
+ Kyk = √ x̂+ + Kyk ≈ 2.62x̂k−1
+
+ Kyk
3 − 5 k−1
Se observa que el filtro resultante es inestable. Sin embargo, si se utiliza la solución positiva
DARE en el filtro de Kalman de estado estacionario se obtiene
Ésta tiene dos soluciones para P, ambas 0 (es decir, semidefinida positiva). Si se usa esta
solución en el filtro de Kalman en estado estacionario se obtiene
K=0
x̂k+ = x̂k−1
+
Se puede observar que el filtro de Kalman resultante es marginalmente estable (el valor pro-
pio es 1).
Sin embargo, se sabe del Teorema 7.5.4 que la DARE tiene una solución semidefinida
positiva que resulta en un filtro de Kalman marginalmente estable que es estable. También
se sabe del Teorema 7.5.3 que esta solución DARE es definida positiva. La DARE para este
sistema está dada por
es decir,
4P2
3P − =0
P+1
P2 − 3P = 0
o sea,
P=0 y P=3
Como se puede observar hay dos soluciones para P, una de las cuales es 0 (es decir, semidefinida
positiva) y la otra es 3 (es decir, definida positiva). Si se toma P = 0, en el filtro de Kalman de
estado estacionario, se obtiene
K=0
x̂k+ = 2x̂k−1
+
Pk+1 = FPk F> − FPk H> (HPk H> + R)−1 HPk F> + Q (7.59)
donde se ha removido el superíndice menos (−) para facilitar la notación. Se puede usar el
lema de inversión de matrices de la Ecuación (2.52) para escribir
Factorizando F y F> del principio y del final de los tres primeros términos del lado derecho
conduce a
= (F + QF−> H> R−1 H)Pk + QF−> (H> R−1 HPk + I)−1 F> (7.62)
Pk = ϒ k Z−1
k (7.63)
= (F + QF−> H> R−1 H)ϒ ϒk + QF−> Zk (F−> H> R−1 Hϒ ϒk + F−> Zk )−1
= ϒ k+1 Z−1
k+1 (7.64)
Estas ecuaciones para ϒ k+1 y Zk+1 se pueden escribir como una ecuación única:
−>
F−> H> R−1 H
Zk+1 F Zk
=
ϒ k+1 QF−> F + QF−> H> R−1 H ϒ k
Z
=H k (7.66)
ϒk
Si una matriz simpléctica no tiene ningún autovalor con magnitud igual a uno, entonces la
mitad de estos autovalores estarán fuera del círculo unitario, y la otra mitad estarán en el interior
del círculo unitario. Se define Λ como la matriz diagonal que contiene todos los autovalores
de H que están fuera del círculo unitario (asumiendo que ninguno de los valores propios están
sobre el círculo unitario). Entonces la forma de Jordan de H puede escribirse como
−1
Λ 0
H=Ψ Ψ −1
0 Λ
Ψ−1
= Ψ DΨ (7.68)
donde D es la matriz diagonal de autovalores y está definida por la anterior ecuación. La matriz
Ψ puede dividirse en cuatro bloques n × n como
Ψ11 Ψ12
Ψ= (7.69)
Ψ21 Ψ22
Ψ 11
Nótese que la matriz de contiene los vectores propios de H que corresponden a
Ψ 21 2n×n
los valores propios estables
de H (es decir, los valores propios que están dentro del círculo
Ψ12
unitario). La matriz de contiene los vectores propios de H que corresponden a
Ψ22 2n×n
los valores propios inestables de H (es decir, los valores propios que están fuera del círculo
214 Capítulo 7. Generalización del filtro de Kalman
Ahora se definen las matrices Y1k n×n , Y2k n×n y la matriz Yk 2n×n , como sigue:
Y1k Z
= Ψ −1 k
Y2k ϒk
−1
Ψ−1 )12 Zk
(Ψ
Ψ )11 (Ψ
=
Ψ−1 )21 (Ψ
(Ψ Ψ−1 )22 ϒ k
= Yk (7.71)
Nótese en la anterior ecuación que (Ψ Ψ−1 )11 no es la inversa de la parte superior izquierda
Ψ−1 )11 es más bien la parte superior izquierda n × n
n × n de la partición de Ψ ; la matriz (Ψ
−1
de la partición de Ψ (similar enunciado se mantiene para las otras particiones). Con estas
definiciones puede escribirse la Ecuación (7.70) como
Yk+1 = DYk
−1
Y1,k+1 Λ 0 Y1k
= (7.72)
Y2,k+1 0 Λ Y2k
Y2,k+1 = Λ Y2k
(7.73)
Y2k = Λ k Y2,0
Similarmente se ve que
Y1k = Λ −k Y1,0 (7.74)
Nótese que la Ecuación (7.71) puede escribirse como
Zk Ψ 11 Ψ 12 Y1k
=
ϒk Ψ 21 Ψ 22 Y2k
" #
Ψ 11 Ψ 12 Λ −k Y1,0
= (7.75)
Ψ 21 Ψ 22 Λ k Y2,0
Cuando k se incrementa, la matriz Λ −k se aproxima a cero (porque ésta es una matriz diagonal
cuyos elementos son todos menores que uno en magnitud). Por lo tanto, para k grande se
7.5 Filtrado de estado estacionario 215
obtiene
Zk Ψ 11 Ψ 12 0
=
ϒk Ψ 21 Ψ 22 Λ k Y2,0
(7.76)
Zk = 12 Y2k
ϒ k = Ψ 22 Y2k
Resolviendo para ϒk para valores grandes de k da
{ Nótese que Ψ 12 debe ser invertible para que este método funcione.}
ϒ k = Ψ 22 Ψ −1
12 Zk (7.80)
ϒ k = Pk Zk (7.81)
lı́m Pk = Ψ 22 Ψ −1
12 (7.82)
k→∞
Esto da una forma para determinar la solución de estado estacionario de la ecuación de Riccati.
Sin embargo, este análisis supone que Λ es una matriz diagonal con todos los elementos
216 Capítulo 7. Generalización del filtro de Kalman
por fuera del círculo unitario. En otras palabras, si la matriz Hamiltoniana tiene algún valor
propio con magnitud igual a uno, entonces este análisis fracasa. En el Algoritmo 12 se indica
el procedimiento para calcular la solución de estado estacionario, de la ecuación Riccati de
tiempo discreto.
El enfoque Hamiltoniano para filtrado de estado estacionario es debido a [73], quien también
desarrolló soluciones DARE de tiempo variable usando matrices Hamiltonianas.
Solución:
Además
0 I 0 −I
S= S−1 =
−I 0 I 0
F−1 F−1 Q
H > = > −1 −1 (7.83)
H R HF F> + H> R−1 HF−1 Q
F−1 F−1 Q
0 −I 0 I
=
I 0 H> R−1 HF−1 F> + H> R−1 HF−1 Q −I 0
>
F + H> R−1 HF−1 Q −H> R−1 HF−1
=
F−1 Q F−1
F +H> R−1 HF−1 Q −H> R−1 HF−1 F−> F−> H> R−1 H
>
h11 h12
=
h21 h22 F−1 Q F−1 QF−> F + QF−> H> R−1 H
7.5 Filtrado de estado estacionario 217
Donde
h11 = (F> + H> R−1 HF−1 Q)F−> − H> R−1 HF−1 QF−> = I
h12 = (F> + H> R−1 HF−1 Q)F−> H> R−1 H−
− H> R−1 HF−1 (F + QF−> H> R−1 H = 0
h21 = −F−1 QF−> + F−1 QF−> = 0
h22 = −F−1 QF−> H> R−1 H + F−1 (F + QF−> H> R−1 H) = I
Entonces,
h11 h12 I 0
=
h21 h22 0 I
Con lo cual queda demostrada la propiedad.
xk+1 = xk + vk vk ∼ N(0,1)
yk = xk + wk wk ∼ N(0,1)
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
Nótese que Ψ12 es invertible por lo que se podrá continuar con el problema. La solución de la
ecuación de Riccati de estado estacionario es
0.8507
P = Ψ22 Ψ−1
12 = = 1.62
0.5257
La ganancia de Kalman de estado estacionario por lo tanto se calcula de la Ecuación (7.19)
como
(1.62)(1)
K = PH > (HPH > + R)−1 = = 0.62
(1)(1.62)(1) + 1
7.6 Resumen
En este capítulo, se discutió una variedad de generalizaciones del filtro de Kalman que hacen
que el filtro sea aplicable ampliamente a un número mayor de problemas. Ruidos del proceso
y de la medida correlacionados y coloreados fueron estudiados desde los primeros días del
invento del filtro de Kalman. En este capítulo se ha demostrado que las modificaciones del filtro
teniendo en cuenta la correlación y color puede mejorar el rendimiento de la estimación. Sin
embargo, si estos métodos son dignos de la complejidad adicional y esfuerzo computacional
depende del problema. Una de las extensiones más prácticas del filtro Kalman lo constituye el
filtro de Kalman de estado estacionario. El filtro de Kalman de estado estacionario a menudo
se desempeña casi de la misma forma como el filtro variable en el tiempo teóricamente
más riguroso. Sin embargo, el filtro de estado estacionario requiere sólo una fracción del
costo computacional. Para el análisis del filtro de estado estacionario se aplica el modelo
Hamiltoniano el cual permite determinar la solución en estado estacionario de la ecuación
de Riccati. Este método tiene algunas limitaciones, es decir, si la matriz Hamiltoniana tiene
valores propios con magnitud igual a uno, entonces el análisis falla.
8 El filtro de Kalman continuo
Larry Page
8.1 Introducción
A finales de los años 50 los investigadores J. Follin, A.G. Carlton, J. Hanson y R. Busy
del Laboratorio de Física Aplicada Johns Hopkins desarrollaron el filtro de Kalman en
tiempo continuo en un trabajo no publicado [68]. R. Kalman independientemente desarrolló el
filtro en tiempo discreto en 1960. En abril de 1960 Kalman y R. Bucy con base en el trabajo
de los otros investigadores y colaboraron en la publicación del filtro de Kalman de tiempo
continuo en [43]. Este filtro se denomina a veces como el filtro de Kalman–Bucy.
La gran mayoría de aplicaciones de filtro de Kalman se implementan en las computadoras
digitales, por lo que puede parecer superfluo discutir el filtrado de Kalman para mediciones en
tiempo continuo. Sin embargo, todavía hay oportunidades para implementar filtros de Kalman
en tiempo continuo (es decir, en circuitos analógicos) [34]. Además, la derivación del filtro de
tiempo continuo es instructiva desde un punto de vista pedagógico. Por último, en el estado
estacionario, estimadores de tiempo continuo se pueden analizar usando los conceptos de
dominio de frecuencia convencionales, que proporcionan una ventaja sobre los estimadores
de tiempo discreto [7], [71]. A la luz de estos factores, en este capítulo se presenta el filtro de
Kalman en tiempo continuo.
La derivación del filtro de tiempo continuo comienza con el filtro de tiempo discreto desa-
rrollado previamente en el Capítulo 5 y entonces se lleva al límite cuando el paso de tiempo se
reduce a cero. La Sección 8.2 muestra la relación entre el ruido blanco de tiempo continuo y
el ruido blanco de tiempo discreto, que es la base para la derivación del filtro de Kalman en
tiempo continuo. La Sección 8.3 muestra algunos métodos para resolver la ecuación de Riccati
en tiempo continuo, que es un componente clave del filtro de Kalman de tiempo continuo.
219
220 Capítulo 8. El filtro de Kalman continuo
En esta sección se mostrará la relación que existe entre el ruido blanco en tiempo discreto y en
tiempo continuo.
Considérese el siguiente sistema en tiempo discreto con una matriz de transición de estado
identidad y un tiempo de muestreo T.
xk = xk−1 + vk−1
vk ∼ (0,Q) (8.1)
x0 = 0
donde {vk } es un proceso de ruido blanco en tiempo discreto. Se verá que efecto tiene el ruido
blanco sobre la covarianza del estado. Se puede resolver este sistema en tiempo discreto para
el estado como sigue:
xk = v0 + v1 + · · · + vk−1 (8.2)
La covarianza del estado es por lo tanto dada como
E xk x> >
k = E (v0 + v1 + · · · + vk−1 )(v0 + v1 + · · · + vk−1 )
= E v0 v> (8.3)
> >
0 + E v1 v1 + · · · + E vk−1 vk−1
= kQ
El valor del parámetro de tiempo continuo t es igual al número de pasos de tiempo discreto, k
veces el tiempo de muestreo T. Esto es, t = kT. Por lo tanto se ve que
La covarianza del estado se incrementa linealmente con el tiempo para un tiempo de muestreo
T dado. Ahora se considera el sistema en tiempo continuo con una matriz de transición de
estado identidad:
ẋ(t) = v(t) (8.5)
donde v(t) es el ruido blanco en tiempo continuo. Se propone (en retrospectiva) la siguiente
definición para el ruido blanco en tiempo continuo:
Q
E v(t)v> (τ) = δ (t − τ) (8.6)
T
donde Q y T son los mismos que se encuentran en el sistema de tiempo discreto de la Ecuación
(8.1); δ (t − τ) es el delta de Dirac. Ahora se calcula la covarianza de x(t) en la Ecuación (8.5):
8.2 Ruido blanco en tiempo discreto y en tiempo continuo 221
Z t Z t
> >
E x(t)x (t) = E v(α)dα v (β )dβ
0 0
Z tZ t (8.7)
E v(α)v> (β ) dα dβ
=
0 0
sustituyendo la Ecuación (8.6) en la anterior ecuación da
Z tZ t Q
E x(t)x> (t) =
δ (α − β )dα dβ
0 0 T
Z t
Q
= dβ (8.8)
0 T
Qt
=
T
donde se ha usado la propiedad de desplazamiento de la función impulso de tiempo continuo.
Recordando que t = kT, se puede escribir la ecuación anterior como
Comparando ésta con la Ecuación (8.4), se ve que la covarianza del estado de los sistemas en
tiempo continuo incrementa con el tiempo exactamente en la misma forma como la covarianza
del estado de los sistemas en tiempo discreto. En otras palabras, el ruido blanco en tiempo
discreto con covarianza Q en un sistema con un periodo de muestreo T, es equivalente al
ruido blanco en tiempo continuo con covarianza Qc δ (t), donde Qc = Q/T. El ruido blanco en
tiempo continuo con media cero se indica como
El ruido blanco en tiempo continuo es contrario al sentido común porque v(t) está correlacio-
nado de forma infinita con v(τ) en t = τ, pero este tiene correlación cero con sí mismo cuando
t 6= τ. No obstante puede ser aproximadamente descriptivo en los procesos reales. Además, el
ruido blanco en tiempo continuo está matemáticamente bien definido y es un mecanismo útil
que se usará en este capítulo. Discusión adicional sobre la relación entre el tiempo discreto y
el ruido blanco de tiempo continuo se puede encontrar en [40].
222 Capítulo 8. El filtro de Kalman continuo
Supóngase que se tiene una medida en tiempo discreto de una constante x cada T segundos.
Los tiempos de medida son tk = kT (k = 1,2, . . .):
xk = xk−1
yk = xk + wk (8.12)
wk ∼ (0,R)
De las ecuaciones del filtro Kalman en la Sección 5.4, se encuentra que la covarianza del error
de estimación a posteriori está dada por
Pk+ R
+
Pk+1 = (8.13)
Pk+ + R
Rc
R= (8.15)
T
donde Rc es alguna constante. Esto implica que
donde δ (t) es la función impulso en tiempo continuo. Esto establece la equivalencia entre
el ruido blanco de medición en tiempo discreto y en tiempo continuo. Los efectos del ruido
blanco de medición en tiempo discreto y en tiempo continuo son los mismos si
wk ∼ (0, R)
(8.17)
w(t) ∼ (0, Rc )
Los resultados de las secciones anteriores se pueden combinar con los resultados de la Sección
3.4 para obtener una simulación discretizada de un sistema de tiempo continuo ruidoso, con el
propósito de implementar un estimador de estado de tiempo discreto. Supóngase que se tiene
un sistema dado por
ẋ = Ax + Bu + v
y = Cx + w
(8.19)
v ∼ (0,Qc )
w ∼ (0,Rc )
Tanto v(t) y w(t) son ruidos en tiempo continuo y u(t) es una entrada conocida. Este sistema
es equivalente aproximadamente al siguiente sistema en tiempo discreto
Z T
xk = eAT xk−1 + eAT e−Aτ dτBuk−1 + vk−1
0
= eAT xk−1 + eAT I − e−AT A−1 Buk−1 + vk−1
(8.20)
yk = Cxk + wk
vk ∼ (0,Qc T)
wk ∼ (0,Rc /T)
Ahora se utilizarán los resultados de la sección anterior para deducir el filtro de Kalman en
tiempo continuo. Supóngase que se tiene un sistema de tiempo continuo dado como
ẋ = Ax + Bu + v
y = Cx + w
(8.21)
v ∼ (0,Qc )
w ∼ (0,Rc )
Cuando se escribe v ∼ (0,Qc ) significa exactamente lo que está escrito en la Ecuación (8.11).
Cuando se escribe w ∼ (0,Rc ) significa exactamente lo que está escrito en la Ecuación (8.18).
Ahora supóngase que se discretiza el sistema con un tiempo de muestreo T (ver Sección 3.4).
Se obtiene
xk = Fxk−1 + Guk−1 + vk−1
(8.22)
yk = Hxk + wk
224 Capítulo 8. El filtro de Kalman continuo
H=C (8.23)
vk ∼ (0,Q), Q = Qc T
wk ∼ (0,R), R = Rc /T
La ganancia del filtro de Kalman de tiempo discreto para este sistema se dedujo en la Sección
5.4 como
Kk = P− > − >
k H (HPk H + R)
−1
(8.24)
De esto se puede deducir
Rc −1
Kk = P−
k C
> − >
CPk C +
T
Kk (8.25)
= P− > − >
k C (CPk C T + Rc )
−1
T
K
lı́m k = P− > −1
k C Rc
T→0 T
Las covarianzas del error de estimación fueron deducidas en la Sección 5.4 como
−
P+
k = (I − Kk H)Pk
(8.26)
P− + >
k+1 = FPk F + Q
Para valores pequeños de T, de acuerdo con la Ecuación (8.23), esto se puede escribir como
P− + >
k+1 = (I + AT)Pk (I + AT) + Qc T
+ > + > 2
= P+ +
k + (APk + Pk A + Qc )T + APk A T
Sustituyendo convenientemente P+
k y teniendo en cuenta que H = C, se obtiene:
P− − + > 2 − − >
k+1 = (I−Kk C)Pk +APk A T + A(I−Kk C)Pk + (I−Kk C)Pk A +Qc T
Sustrayendo P−
k de ambos lados y dividiendo entre T da
P− −
k+1 −Pk −Kk CP− > − − > AKk CP−
= k
+ AP+
k A T+AP k +Pk A +Q c − k
T
T T T
K CP− A>
− k k T
T
donde no se han simplificado los dos últimos términos de la derecha para efectos de tomar el
límite.
8.2 Ruido blanco en tiempo discreto y en tiempo continuo 225
P− −
k+1 − Pk
Ṗ = lı́m = −PC> R−1 >
c CP + AP + PA + Qc
(8.27)
T→0 T
Esta expresión se denomina ecuación diferencial de Riccati en P y puede usarse para calcular
la covarianza del error de estimación del filtro de Kalman de tiempo continuo. Esto requiere
n2 integraciones porque P es una matriz n × n. Pero P es simétrica, así en la práctica sólo se
necesita integrar n(n + 1)/2 ecuaciones con el fin de resolver P. En la Sección 5.4 se dedujeron
las ecuaciones del filtro de Kalman para x̂ como
x̂− +
k = Fx̂k−1 + Guk−1
− −
(8.28)
x̂+
k = x̂k + Kk (yk − Hx̂k )
Si se asume que T es pequeño se puede usar la Ecuación (8.23) para escribir la ecuación de
actualización de la medida como
x̂+ + +
k = Fx̂k−1 + Guk−1 + Kk (yk − HFx̂k−1 − HGuk−1 )
≈ (I + AT)x̂+ +
(8.29)
k−1 + BTuk−1 + Kk yk − C(I + AT)x̂k−1 − CBTuk−1
x̂+ + +
k = x̂k−1 + ATx̂k−1 + BTuk−1 +
PC> R−1 + +
(8.30)
c T yk − Cx̂k−1 − CATx̂k−1 − CBTuk−1
x̂+ +
k − x̂k−1
x̂˙ = lı́m
T→0 T
= Ax̂ + Bu + PC> R−1
c (y − Cx̂) (8.31)
Esta expresión corresponde a la ecuación diferencial que puede ser usada para integrar el
estado estimado en el filtro de Kalman de tiempo continuo. El filtro de Kalman en tiempo
continuo puede resumirse como se muestra en el Algoritmo 13.
226 Capítulo 8. El filtro de Kalman continuo
ẋ = Ax + Bu + v
y = Cx + w
(8.33)
v ∼ (0,Qc )
w ∼ (0,Rc )
x̂(0) = E{x(0)}
P(0) = E (x(0) − x̂(0))(x(0) − x̂(0))>
Ejemplo 8.2.1 En este ejemplo se usará el filtro de Kalman de tiempo continuo para estimar
una constante, dadas las medidas de ruido en tiempo continuo:
ẋ = 0
y = x+w
w ∼ (0,R)
Entonces
Ṗ = −P2 /R
con la condición inicial P(0) = P0 . De esto se puede obtener
dP −dτ
=
P2 R
Z P(t) Z t
1 1
dP = − dτ
P(0) P2 0 R
8.2 Ruido blanco en tiempo discreto y en tiempo continuo 227
t
− P−1 − P0−1 = −
R
t
P−1 = P0−1 +
R
−1 t −1
P = P0 +
R
P0
=
1 + P0t/R
lı́m P = 0
t→∞
K = PC> R−1
P0 /R
=
1 + P0t/R
lı́m K = 0
t→∞
Esto muestra que cuando el tiempo tiende a infinito, x̂ alcanza un valor de estado estacionario.
Esto es intuitivo porque cuando se tiene un número infinito de mediciones de una constante,
el estimado de esa constante llega a ser perfecto y medidas adicionales no pueden mejorar el
estimado. Además, la ganancia de Kalman tiende a cero cuando el tiempo tiende a infinito, lo
que a su vez dice que se tienen que ignorar mediciones adicionales (ya que el estimado llega a
ser perfecto). Finalmente, la covarianza P tiende a cero cuando el tiempo tiende a infinito, lo
cual dice que la incertidumbre en el estimado tiende a cero, significando que el estimado es
perfecto.
Ejemplo 8.2.2 En este ejemplo se tienen las medidas de la velocidad de un objeto que se mueve
en una dimensión. El objeto está sujeto a aceleraciones aleatorias. Se desea estimar la velocidad
x a partir de medidas ruidosas de la misma. Las ecuaciones del sistema y de la medida están
228 Capítulo 8. El filtro de Kalman continuo
dadas como
ẋ = v
y = x+w
v ∼ (0,Q)
w ∼ (0,R)
Solución:
dP = Q − P2 /R dτ
Z t Z P(t)
dP
dτ = (8.36)
0 P(0) Q − P2 /R
Z t Z P(t)
dP
dτ = √ √ √ √
0 P(0) ( Q + P/ R)( Q − P/ R)
Z t Z P(t) Z P(t)
1 dP dP
dτ = √ √ √ + √ √
0 2 Q P(0) Q + P/ R P(0) Q − P/ R
√ √ √ !P(t)
R Q + P/ R
t= √ ln √ √
2 Q Q − P/ R P(0)
√ √ √
R ( QR + P)( QR − P0 )
t= √ ln √ √
2 Q ( QR − P)( QR + P0 )
√ √ √
( QR + P)( QR − P0 )
e2 Q/Rt = √ √
( QR − P)( QR + P0 )
Por lo tanto,
r
−1 P −1 P0 Q
tanh √ = tanh √ + t
QR QR R
Resolviendo para P
" r #
p −1 P0 Q
P= QR tanh tanh √ + t
QR R
A partir de estas expresiones se ve que si el ruido del proceso se incrementa (es decir, Q crece)
entonces K aumenta. Esto es intuitivamente aceptable, porque a partir de la ecuación x̂˙ se ve
que K define la velocidad a la cual cambia x̂ con base a las mediciones. Si Q es grande entonces
habrá menos confianza en el modelo del sistema y, relativamente más nivel de confianza en las
mediciones, así que se cambia x̂ de forma más intensa para ser coherente con las mediciones.
Similarmente, se ve que si se tiene ruido en la medida grande (es decir, R es grande) entonces
K decrece. Esto es de nuevo adecuado. Un ruido grande en la medida significa que se tiene
menos nivel de confianza en la medición, de modo que se debe cambiar x̂ de manera menos
intensa para ser consistentes con las mediciones.
Finalmente, se observa que P se incrementa de la misma manera como Q y R lo hacen. Un
incremento en el ruido bien sea en el modelo del sistema o en las mediciones degradará el
230 Capítulo 8. El filtro de Kalman continuo
Λ − Λ Y−1 Ẏ
ṖY = Λ̇ (8.38)
Recordando de la Ecuación (8.34) que la ecuación diferencial para P está dada por
Λ − Λ Y−1 Ẏ = AΛ
Λ̇ Λ + Λ Y−1 A> Y − Λ Y−1 C> R−1 CΛ
Λ + QY
Λ + QY + Λ Y−1 (Ẏ + A> Y − C> R−1 CΛ
Λ = AΛ
Λ̇ Λ) (8.42)
y Ẏ = C> R−1 CΛ Λ − A> Y, entonces la factorización asumida será válida. Estas ecuaciones
diferenciales para Y y Λ se pueden combinar como
Λ
Λ̇ A Q Λ Λ
= > −1 =J (8.43)
Ẏ C R C −A> Y Y
Λ (0) = P(0)
(8.45)
Y(0) = I
Ahora se supone que A,Q,C y R son constantes (esto es, se tiene un sistema LTI con procesos
constantes y covarianzas de ruido de medición). En este caso J es constante y la Ecuación
(8.43) puede resolverse como
Λ(t + T) Λ(t)
= eJT φ (8.46)
Y(t + T) Y(t)
donde las matrices φ i j están definidas como las cuatro submatrices n × n en eJT . De la factori-
zación original se supone que se tiene Λ = PY, por lo tanto esta ecuación se puede escribir
como
Λ(t + T) φ 11 (T) φ 12 (T) P(t)Y(t)
= (8.48)
Y(t + T) φ 21 (T) φ 22 (T) Y(t)
Esta puede escribirse como dos ecuaciones separadas:
Puesto Λ(t + T) = P(t + T)Y(t + T), la primera ecuación se puede escribir como
Esta puede ser una forma rápida para resolver P en lugar de integrar la ecuación de Riccati. Se
debe tener en cuenta que con este método no hay que preocuparse por el tamaño del paso de
integración. Este método puede usarse para propagar desde P(t) hasta P(t + T) en una sola
ecuación, para cualquier valor de t y de T.
Ejemplo 8.3.1 Supóngase que se desea estimar la tasa desplazamiento ξ de un giroscopio (se
asume que es constante) dadas las medidas del ángulo de giro θ . El modelo del sistema y la
medida se pueden describir como [7].
θ̇ = ξ
y = θ +w
θ̇ 0 1 θ (8.53)
=
ξ˙ 0 0 ξ
θ
y= 1 0 +w
ξ
w ∼ (0,R)
Solución:
El uso directo de la ecuación diferencial de Riccati a partir de la Ecuación (8.34) da
A Q
J=
C> R−1 C −A>
0 1 0 0
0 0 0 0
=
1/R 0
0 0
0 0 −1 0
La matriz de transición para la ecuación diferencial de Λ y Y se calcula como
1 t 0 0
0 1 0 0
e(Jt) = 2
t/R t /2R 1 0
−t 2 /2R −t 3 /6R −t 1
φ 11 (t) φ 12 (t)
=
φ 21 (t) φ 22 (t)
Con el enfoque de la matriz de transición se ha obtenido una solución de forma cerrada para
Pt), algo que no era posible con un enfoque directo para la ecuación de Riccati. En el caso
234 Capítulo 8. El filtro de Kalman continuo
inicial que la incertidumbre inicial sea infinita, además se puede simplificar P(t) como
6R/t 2
4R/t
lı́m P(t) =
P(0)→∞ 6R/t 12R/t 3
2
0 0
lı́m lı́m P(t) =
t→∞ P(0)→∞ 0 0
Esto es, la incertidumbre tiende a cero cuando el tiempo tiende a infinito. Esto ocurre por que el
ruido del proceso es cero (es decir, se está estimando una constante). Puesto que K = PC> R−1 ,
se ve que la ganancia de Kalman también tiende a cero cuando el tiempo tiende a infinito. Esto
simplemente significa que eventualmente se han tomado tantas medidas que el conocimiento
es completo. Medidas adicionales no pueden dar ninguna información nueva, por lo tanto se
ignoran las nuevas medidas.
Los primeros días del filtro de Kalman en la década de 1960 vieron una gran cantidad de
aplicaciones exitosas. Pero también hubo algunos problemas en la implementación, muchos
debido a dificultades numéricas. En teoría la solución de la ecuación diferencial de Riccati P(t)
siempre debe ser una matriz semidefinida positiva simétrica (ya que es una matriz de covarianza).
Pero los problemas numéricos en implementaciones computacionales a veces condujeron P(t)
a matrices indefinidas o no simétricas. Esto fue a menudo debido a las cortas longitudes de
palabra en los computadores de la década de 1960 [64]. Esto llevó a una gran cantidad de
investigación en esa década relacionada con implementaciones numéricas. Ahora que las
computadoras se han convertido en mucho más capaces, no hay problemas numéricos con
tanta frecuencia. Sin embargo, los problemas numéricos todavía surgen en implementaciones
de algoritmos de longitud de palabra finita, especialmente en sistemas embebidos. El filtro
de raíz cuadrada se desarrolló con el fin de aumentar efectivamente la precisión numérica del
filtro Kalman y así mitigar las dificultades numéricas en las implementaciones.
El filtro de raíz cuadrada se basa en la idea de encontrar una matriz Γ de tal manera que
P = Γ Γ > . La matriz Γ se llama entonces la raíz cuadrada de P. Obsérvese que la raíz cuadrada
de una matriz puede no ser única; es decir, puede haber más de una solución de Γ en la ecuación
P = Γ Γ > . Las secciones 6.3 y 6.4 contienen una discusión de filtrado de raíz cuadrada para
el filtro de Kalman en tiempo discreto. Después de definir Γ como la raíz cuadrada de P,
se integra Γ en lugar de P en la solución del filtro de Kalman. Esto requiere más esfuerzo
computacional pero se duplica la precisión del filtro y ayuda a evitar problemas numéricos.
A partir de la ecuación diferencial de Riccati de la Ecuación (8.37), y la definición de Γ , se
obtiene
Puesto que P es definida positiva simétrica, siempre se puede encontrar una matriz triangular
superior Γ tal que P = Γ Γ > [29], [56]. Se puede demostrar que si Γ es triangular superior,
entonces Γ̇Γ y Γ −1 también son triangulares superiores. También, el producto de matrices
triangulares superiores es otra matriz triangular superior. Por lo tanto, el producto Γ −1 Γ̇Γ es
>
triangular superior. Similarmente, puesto que Γ̇Γ y Γ −> son triangulares inferiores, el producto
>
Γ Γ −> es triangular inferior [72], [25]. Esto es,
Γ̇
Γ −1 Γ̇
Γ = MS
> (8.56)
Γ Γ −> = MI
Γ̇
Recordando de la ecuación (8.34) que la ecuación diferencial de Riccati está dada como
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
Esta es llamada una ecuación algebraica de Riccati (ARE). Para ser más específico, esta se
denomina ARE continua (CARE).
La solución de la ARE puede no siempre existir, e incluso si existe puede no resultar en
un filtro de Kalman estable. Se resumirá el resultado más importante de convergencia de la
ecuación de Riccati a continuación, pero primero se necesita definir qué significa para un
sistema ser controlable sobre el eje imaginario.
Definición 8.4.1 El par de matrices (A,B) es controlable sobre el eje imaginario si existe alguna
matriz K tal que (A − BK) no tiene autovalores sobre el eje imaginario.
Esto es similar al concepto de controlabilidad sobre el círculo unitario para sistemas de tiempo
discreto. Ahora se resume el resultado más importante de convergencia de la ecuación de
Riccati a partir de [41], donde se da la demostración. Recordando que la ARE está dada como
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
Teorema 8.4.1 La CARE tiene una solución P semidefinida positiva única si y solo si las
siguientes dos condiciones se cumplen.
1. (A,C) es detectable
2. (A,G) es estabilizable.
Más aún, el filtro de Kalman de estado estacionario correspondiente es estable. Esto es, los
autovalores de (A − KC) tienen partes reales negativas.
Este teorema es análogo al Teorema 7.5.1 para filtros de Kalman de tiempo discreto. El teorema
anterior no excluye la existencia de soluciones CARE que son definidas negativas o indefinida.
Si existen tales soluciones, entonces resultaría en un filtro de Kalman inestable. Si se debilita
la condición de estabilizabilidad en el teorema anterior, se obtiene el siguiente
Teorema 8.4.2 La CARE tiene al menos una solución P semidefinida positiva si y solo si las
siguientes dos condiciones se cumplen.
1. (A,C) es detectable
2. (A,G) es controlable sobre el eje imaginario.
Más aún, exactamente una de las soluciones ARE semidefinida positiva resulta en un filtro de
Kalman de estado estacionario estable.
Este teorema es análogo al Teorema 7.5.2 para filtros de Kalman de tiempo discreto. Este
teorema establece las condiciones para la existencia de exactamente una solución CARE esta-
bilizable definida positiva. Sin embargo, puede haber soluciones adicionales CARE (definidas
positiva o de otra manera) que resultan e un filtro de Kalman inestable. Si un filtro de Kalman
variable en el tiempo es ejecutado en esta situación, entonces las ecuaciones del filtro de Kal-
man pueden convergir ya sea a un filtro estable o uno inestable, dependiendo de la condición
inicial P(0). Si se refuerza la condición de controlabilidad del Teorema 8.4.2, se obtiene el
siguiente
Teorema 8.4.3 La CARE tiene al menos una solución P definida positiva si y solo si las
siguientes dos condiciones se cumplen.
1. (A,C) es detectable
2. (A,G) es controlable en el semiplano cerrado izquierdo.
Además, exactamente una de las soluciones CARE definida positiva resulta en un filtro de
Kalman de estado estacionario estable.
Este teorema es análogo al Teorema 7.5.3 para el filtro de Kalman de tiempo discreto. Si se
deja la condición de controlabilidad en los dos teoremas anteriores, se obtiene el siguiente.
Teorema 8.4.4 La CARE tiene al menos una solución semidefinida positiva P si (A,C) es
detectable. Además, al menos una de tales soluciones resulta en un filtro de Kalman de estado
estacionario marginalmente estable.
238 Capítulo 8. El filtro de Kalman continuo
Este teorema es análogo al Teorema 7.5.4 para filtros de Kalman de tiempo discreto. Nótese que
el filtro resultante es solamente estable marginalmente, por lo tanto, puede tener autovalores
sobre el eje imaginario. También nótese que este teorema posee una condición suficiente (pero
no necesaria). Esto es, puede haber un filtro de Kalman de estado estacionario estable aún sí las
condiciones del teorema anterior no se mantienen. Además, aún sí las condiciones del teorema
se mantienen, puede haber soluciones CARE que resultan en filtros de Kalman inestables.
Resultados adicionales relacionados al filtro de tiempo continuo de estado estacionario se
pueden encontrar en muchos lugares, incluyendo [3], [19], [50]. Muchos de los filtros de Kalman
prácticos se aplican a sistemas que no reúnen las condiciones de los teoremas anteriores, pero
los filtros aún en esa condiciones funcionan bien en la práctica.
En el resto de este ejemplo, se usa el símbolo G para nombrar cualquier matriz tal que
GG> = Q.
Estas derivadas se hacen iguales a cero para obtener la solución de la ecuación de Riccati de
estado estacionario. Si a1 6= a2 y q12 6= 0, entonces (A,C) es detectable y (A,G) es estabilizable.
Los resultados del Teorema 8.4.1, por lo tanto, se aplican a esta situación. Se puede demostrar
8.4 Filtro de Kalman en tiempo continuo de estado estacionario 239
La solución ARE depende de la condición inicial P(0). La primera solución ARE resulta
en una solución ARE semidefinida positiva que da un filtro de Kalman estable. La segunda
solución ARE resulta en una solución ARE semidefinida positiva que da un filtro de Kalman
inestable. Esto concuerda con el Teorema 8.4.2.
ẋ = −x + v
(8.73)
y = x+w
donde v y w son ruidos blancos del proceso y de la medida de media cero y no correlacionados,
con varianzas respectivas de Q = 2 y R = 1. El filtro de Kalman de estado estacionario para
este sistema se puede obtener resolviendo la Ecuación (8.34) con Ṗ = 0, de la cual se obtiene
√ √
x̂˙ = − 3x̂ + ( 3 − 1)y (8.74)
8.5 Dualidad
ẋ = Ax + v
v ∼ N(0,Q)
(8.80)
y = Cx + w
w ∼ N(0,R)
242 Capítulo 8. El filtro de Kalman continuo
La relación dual entre los problemas de estimación y de control se observó en los primeros
trabajos sobre el filtro de Kalman [46], [43]. Desde entonces, se ha utilizado muchas veces para
extrapolar los resultados conocidos de un problema con el fin de obtener nuevos resultados
para el problema dual.
8.6 Resumen 243
8.6 Resumen
En este capítulo, se ha deducido el filtro de Kalman de tiempo continuo mediante la aplicación
de un argumento limitador del filtro de Kalman de tiempo discreto. Sin embargo, así como hay
varias maneras para obtener el filtro de Kalman tiempo discreto, también hay varias maneras
para obtener el filtro de Kalman de tiempo continuo. La derivación original realizada por
Kalman y Bucy [43] implicaba la solución de la ecuación integral de Wiener-Hopf.
Se ha visto que tanto la ecuación diferencial como la ecuación algebraica de Riccati son la
clave para la solución del filtro de Kalman de tiempo continuo. La versión escalar de lo que hoy
se conoce como la ecuación de Riccati se estudió inicialmente por matemáticos como James
Bernoulli y John Bernoulli en los años 1600 y Jacopo Riccati, Daniel Bernoulli, Leonard Euler,
Jean-Lerond dÁlembert y Adrien Legendre en el siglo XVIII. La ecuación fue por primera vez
llamada “la ecuación de Riccati” por dÁlembert en 1763 [75].
El filtro de Kalman en tiempo continuo se aplica a los sistemas con ruido blanco de tiempo
continuo tanto en la ecuación del proceso como en la de medición. El ruido blanco de tiempo
continuo es no intuitivo ya que tiene una correlación infinita consigo mismo en el instante
actual, pero una correlación cero consigo mismo cuando se separan por tiempos arbitrariamente
pequeños pero distintos de cero. Sin embargo, el ruido blanco de tiempo continuo es un caso
límite de ruido blanco de tiempo discreto, que es intuitivamente aceptable. Por lo tanto, el
ruido blanco de tiempo continuo puede ser aceptado como una aproximación a la realidad. Esto
corresponde a muchas otras aproximaciones a la realidad que se aceptan a su valor nominal
(por ejemplo, el modelo matemático de un sistema es una aproximación a la realidad).
El filtro de Kalman de tiempo continuo se aplica independientemente de la naturaleza
estadística del ruido, siempre es de media cero. Es decir, el filtro de Kalman es óptimo incluso
cuando el ruido no sea gaussiano. El filtro de Kalman de estado estacionario proporciona un
desempeño de estimación casi óptimo en una pequeña fracción del esfuerzo computacional del
filtro de Kalman variable en el tiempo. El filtro de Kalman en estado estacionario es idéntico al
filtro de Wiener de la Sección 4.6, y tiene una relación dual interesante para un control óptimo
lineal cuadrático.
9 El filtro de Kalman no lineal
Hay tres clases de personas: aquellas que ven, aquellas que ven
lo que se les muestra y aquellas que no ven.
Leonardo da Vinci
9.1 Introducción
E n la discusión realizada hasta el momento se han considerado filtros lineales para sistemas
lineales. Desafortunadamente, no existen sistemas lineales. Todos los sistemas son no
lineales en última instancia. Incluso la simple relación I = V /R de la Ley de Ohm, es sólo una
aproximación en un rango limitado. Si la tensión a través de un resistor supera un cierto umbral,
entonces la aproximación lineal se rompe. Realmente no existen sistemas lineales. Sin embargo,
muchos sistemas tienen una respuesta lo suficientemente cercana a la lineal de modo que los
enfoques de estimación lineal dan resultados satisfactorios. Pero “lo suficientemente cercana”
sólo puede ser realizada hasta ahora. Eventualmente, se opera a través de un sistema que no
se comporta de forma lineal, incluso en un pequeño intervalo de operación, y los enfoques
lineales para la estimación ya no dan buenos resultados. En este caso, se deben explorar los
estimadores no lineales.
El filtrado no lineal puede ser un tema difícil y complejo. Ciertamente, no es tan maduro,
coherente, o bien entendido como el filtrado lineal. Todavía hay una gran cantidad de espacio
para avances y mejoras en las técnicas de estimación no lineal. Sin embargo, algunos métodos
de estimación no lineal se han convertido (o se están convirtiendo) en comunes. Estas técnicas
no lineales incluyen el filtro de Kalman extendido (EKF), el filtro unscented y el filtro de
partículas. En este capítulo se discutirán algunas extensiones no lineales del filtro de Kalman.
El filtro de Kalman que se ha estudiado en los capítulos anteriores se aplica directamente a
sistemas lineales. Sin embargo, un sistema no lineal puede ser linealizado y entonces se pueden
aplicar técnicas de estimación lineales. Este capítulo trata de los tipos de enfoques no lineales
para el filtrado de Kalman.
245
246 Capítulo 9. El filtro de Kalman no lineal
En esta sección, se mostrará como linealizar un sistema no lineal y luego se usará la teoría
de filtrado de Kalman para estimar las desviaciones del estado a partir de un valor de estado
nominal. Esto dará entonces un estimado del estado del sistema no lineal. Se deducirá el filtro
de Kalman linealizado desde el punto de vista de tiempo continuo, aunque la deducción análoga
para sistemas de tiempo discreto o sistemas híbridos es sencilla.
Considérese el siguiente modelo general de un sistema no lineal:
ẋ = f(x,u,v,t)
y = h(x,w,t)
(9.1)
v ∼ (0,Q)
w ∼ (0,R)
La ecuación del sistema f(·) y la ecuación de medida h(·) son funciones no lineales. Se usará
la serie de Taylor para expandir esas ecuaciones alrededor de un control nominal u0 , un estado
nominal x0 , una salida nominal y0 y de valores de ruido nominal v0 y w0 . Estos valores
nominales (los cuales son funciones de tiempo) se basan en suposiciones a priori de lo que la
trayectoria del sistema podría parecer. Por ejemplo, si las ecuaciones del sistema representan la
dinámica de un avión, entonces el control nominal, el estado y la salida podrán ser la trayectoria
de vuelo planeada. La trayectoria de vuelo real diferirá de esta trayectoria nominal debido al
mal modelado, perturbaciones y otros efectos imprevistos. Pero la trayectoria real debe estar
cerca a la trayectoria nominal, en cuyo caso la linealización de la serie de Taylor debe estar
cerca de la trayectoria nominal. La linealización de la serie de Taylor de la Ecuación (9.1) da
∂ f ∂ f ∂ f
ẋ ≈ f(x0 ,u0 ,v0 ,t) + (x − x0 ) + (u − u0 ) + (v − v0 )
∂ x 0 ∂ u 0 ∂ v 0
= f(x0 ,u0 ,v0 ,t) + A∆x + B∆u + L∆v (9.2)
∂ h ∂ h
y ≈ h(x0 ,w0 ,t) + (x − x0 ) + (w − w0 )
∂ x 0 ∂ w 0
= h(x0 ,w0 ,t) + C∆x + M∆w (9.3)
Las definiciones de las matrices en derivadas parciales A,B,C,L y M son evidentes a partir de
las ecuaciones anteriores. El subíndice 0 en las derivadas parciales significa que están evaluadas
en los valores nominales de control, estado, salida y ruido. Las definiciones de las desviaciones
∆x, ∆u, ∆v y ∆w también se explican de las ecuaciones anteriores. Supóngase que los valores
de ruido nominal vo (t) y wo (t) son iguales a 0 para todo tiempo. (Si no son iguales a 0 entonces
se deben escribir como la suma de una parte determinista conocida y otra parte con media
cero, redefinir las cantidades de ruido y reescribir la Ecuación (9.1) tal que los valores de ruido
nominal sean iguales a 0). Ya que vo (t) y wo (t) son ambos iguales a 0, se ve que ∆v(t) = v(t)
y ∆w(t) = w(t). Más aún, se supone que el control u(t) es perfectamente conocido. En general,
esta es una suposición razonable. Después de todo, la entrada de control u(t) está determinada
9.2 El filtro de Kalman linealizado 247
por el sistema de control, por lo que no debería haber ninguna incertidumbre en su valor. Esto
significa que uo (t) = u(t) y ∆u(t) = 0. Sin embargo, en realidad, puede haber incertidumbres
en las salidas del sistema de control porque ellas están conectadas a los actuadores que tienen
sesgos y ruido. Si este es el caso, entonces se puede expresar el control como uo (t) + ∆u(t),
donde uo (t) es conocido y ∆u(t) es una variable aleatoria con media cero, se reescriben las
ecuaciones del sistema con una señal de control perfectamente conocida y se incluye ∆u(t)
como parte del del ruido del proceso. Ahora se define la trayectoria del sistema nominal como
Se define la desviación de la derivada exacta del estado de la derivada del estado nominal y la
desviación de la medida exacta de la medida nominal como
∆ẋ = ẋ − ẋ0
(9.5)
∆y = y − y0
∆ẋ = A∆x + Lv
= A∆x + ṽ (9.14)
>
ṽ ∼ (0,Q̃), Q̃ = LQL
∆y = C∆x + Mw
= C∆x + w̃ (9.15)
>
w̃ ∼ (0,R̃), R̃ = MRM
Las ecuaciones anteriores corresponden a un sistema lineal con estados ∆x y medidas ∆y, de
manera que se puede utilizar el filtro de Kalman para estimar ∆x. La entrada al filtro consiste
en ∆y, la cual es la diferencia entre el estado real y y el estado nominal y0 . La salida del
filtro de Kalman es ∆x, la cual es un estimado de la diferencia entre el estado real x y el
estado nominal x0 . Las ecuaciones modificadas para el filtro de Kalman linealizado son
∆x̂(0) = 0
n o
P(0) = E [∆x(0) − ∆x̂(0)] [∆x(0) − ∆x̂(0)]>
∆x̂˙ = A∆x̂ + K(∆y − C∆x̂) (9.16)
K = PC> R̃−1
Ṗ = AP + PA> + Q̃ − PC> R̃−1 CP
x̂ = x0 + ∆x̂
3. Calcular las siguientes matrices de derivadas parciales evaluadas en los valores de la trayectoria
nominal:
∂ f ∂ f
A= L =
∂ x 0 ∂ v 0
(9.9)
∂h ∂ h
C= M =
∂ x 0 ∂ w 0
4. Calcular las siguientes matrices:
∆y = y − y0 (9.11)
∆x̂(0) = 0
n o
P(0) = E [∆x(0) − ∆x̂(0)] [∆x(0) − ∆x̂(0)]>
En la sección anterior se obtuvo un filtro de Kalman linealizado para estimar los estados de un
sistema no lineal. El desarrollo se basó en la linealización del sistema no lineal alrededor de
una trayectoria nominal. Surge entonces la siguiente pregunta: ¿cómo se conoce la trayectoria
de estado nominal? En algunos casos puede no ser fácil encontrar la trayectoria nominal. Sin
embargo, puesto que el filtro de Kalman estima el estado del sistema, se puede usar el estimado
del filtro de Kalman como la trayectoria de estado nominal. Esta es una especie de método
de arranque. Se linealiza el sistema no lineal alrededor del estimado del filtro de Kalman y el
estimado del filtro de Kalman se basa en el sistema linealizado. Esta es la idea del filtro de
Kalman extendido (EKF), fue originalmente propuesta por Stanley Schmidt para la aplicación
del filtro de Kalman a los problemas no lineales de navegación de naves espaciales [10]. El
procedimiento para el cálculo del filtro de Kalman extendido se resume en el Algoritmo 16.
2. Calcular las siguientes matrices de derivadas parciales evaluadas en los valores de la trayectoria
nominal:
∂ f ∂ f
A= L =
∂ x x̂ ∂ v x̂
(9.18)
∂ h ∂ h
C= M=
∂ x x̂ ∂ w x̂
3. Calcular las siguientes matrices:
Q̃ = LQL>
(9.19)
R̃ = MRM>
4. Ejecutar las siguientes ecuaciones del filtro de Kalman:
x̂(0) = E{x(0)}
n o
P(0) = E [x(0) − x̂(0)] [x(0) − x̂(0)]>
Ejemplo 9.3.1 En este ejemplo, se utiliza el EKF de tiempo continuo para estimar el estado de
un motor síncrono bifásico de imanes permanentes. Las ecuaciones del sistema están dadas
250 Capítulo 9. El filtro de Kalman no lineal
como:
−R ωλ u + q1
i̇a = i + sen θ + a
L a L L
−R ωλ ub + q2
i̇b = i − cos θ +
L b L L (9.21)
−3λ 3λ fω
ω̇ = ia sen θ + ib cos θ − + q3
2J 2J J
θ̇ = ω
donde ia e ib son las corrientes en los dos devanados, θ y ω son la posición angular y la
velocidad del rotor, R y L son la resistencia y la inductancia del devanado, λ es la constante
de flujo y f es el coeficiente de fricción viscosa. Las entradas de control ua y ub consisten de
las tensiones aplicadas a través de los dos devanados y J es el momento de inercia del eje del
motor y la carga. El estado se define como
> >
(9.22)
x = x1 x2 x3 x4 = ia ib ω θ
Los términos qi son el ruido del proceso debido a incertidumbre en las entradas de control (q1
y q2 ) y el torque de la carga (q3 ).
Los datos de placa del motor están dados por: resistencia del devanado, R = 1.9 Ω, in-
ductancia del devanado L = 0.003 H, constante del motor, λ = 0.1, momento de inercia,
J = 0.00018 N·m, coeficiente de fricción, f = 0.001 N·s·m−2 , I0 = 0.3708 A. Se tomó un
paso de integración de dt = 0.0005 s.
La matriz A de derivadas parciales se obtiene como
R λ s4 x3 λ c4
−L 0
L L
R λ c4 x3 λ s4
0 − −
∂f
L L L
A= = (9.23)
∂x
3 λ s4 3 λ c4
− f 3 λ (x c
1 4 + x s )
2 4
2J 2J − −
J 2 J
0 0 1 0
donde se ha usado la notación s4 = sen x4 y c4 = cos x4 . Supóngase que se pueden medir las
corrientes de los devanados, v.gr., con elementos sensores resistivos, entonces las ecuaciones
de medición son
y(1) = ia + w(1)
(9.24)
y(2) = ib + w(2)
donde w(1) y w(2) son procesos independientes de ruido blanco con media cero y desviaciones
estándar asumidas de 100 mA. Las entradas de control nominal se establecen en
ua (t) = sen(2πt)
(9.25)
ub (t) = cos(2πt)
9.3 Filtro de Kalman extendido 251
0.6 0.4
0.4
0.2
Corriente A [A]
Corriente B [A]
0.2
0
0
−0.2
−0.2
−0.4 −0.4
0 0.5 1 1.5 0 0.5 1 1.5
10 7
6 Verdadero
Estimado
Velocidad [Rad/s]
5 5
Posición (Rad)
4
0
3
−5 2
1
−10 0
0 0.5 1 1.5 0 0.5 1 1.5
Tiempo [s] Tiempo [s]
Figura 9.1 Resultados de la simulación del filtro de Kalman extendido continuo para el motor
síncrono de imán permanente bifásico.
Las entradas de control reales son iguales a los valores nominales más q1 y q2 (términos
de ruido eléctrico), los cuales son procesos independientes de ruido blanco con media cero y
desviación estándar de 10 mA. El ruido debido a las perturbaciones del torque de carga (q3 )
tiene una desviación estándar de 0.5 rad/s2 . Las medidas se obtienen en forma continua.
Tabla 9.1 Resultados del ejemplo que muestran una desviación estándar de los errores de estimación de estado
determinados a partir de los resultados de simulación y determinados a partir de la matriz P del EKF.
Estos resultados son para la simulación del motor de imán permanente de dos fases. Esta tabla muestra
que la matriz P es un buen indicador de la magnitud de los errores de estimación de estado del EKF..
Simulación Matriz P
Corriente en el devanado A 0.054 A 0.0936 A
Corriente en el devanado B 0.052 A 0.0936 A
Velocidad 0.26 rad/s 0.4422 rad/s
Posición 0.013 rad 0.0252 rad
La matriz P cuantifica la incertidumbre en los estimados de estados. Si las no linealidades en
el sistema y las medidas no son demasiado severas, entonces la matriz P deberá dar una idea
de cuan precisa es la estimación. En este ejemplo, las desviaciones estándar de los errores de
estimación de estado se obtuvieron de la simulación y luego se compararon con los elementos
de la diagonal de la matriz P de estado estacionario que se obtuvo del filtro de Kalman. La
Tabla 9.1 muestra una comparación de los errores de estimación que se determinaron por
simulación y los errores de estimación teóricos basados en la matriz P. Se ve que la matriz P
da una buena indicación de la magnitud de los errores de estimación.
9.3.1 Filtro de Kalman extendido de tiempo discreto
= fk−1 (x̂+ +
k−1 ,uk−1 ,0) + Fk−1 (xk−1 − x̂k−1 ) + Lk−1 vk−1
= Fk−1 xk−1 + fk−1 (x̂+ +
k−1 ,uk−1 ,0) − Fk−1 x̂k−1 + Lk−1 vk−1
= Fk−1 xk−1 + ũk−1 + ṽk−1 (9.27)
9.3 Filtro de Kalman extendido 253
Fk−1 y Lk−1 son definidos por la anterior ecuación. La señal conocida ũk y la señal de ruido
ṽk se definen como:
ũk = fk (x̂+ +
k ,uk ,0) − Fk x̂k
(9.28)
ṽk ∼ (0,Lk Qk L> k )
De aquí,
yk = hk (x̂− −
k ,0) + Hk (xk − x̂k ) + Mk wk
= Hk xk + hk (x̂− −
k ,0) − Hk x̂k + Mk wk
= Hk xk + zk + w̃k (9.30)
zk = hk (x̂− −
k ,0) − Hk x̂k
(9.37)
w̃k ∼ (0,Mk Rk M>
k )
Se tiene un sistema en espacio de estado lineal en la Ecuación (9.27) y una medición lineal
en la Ecuación (9.29). Esto significa que se pueden usar las ecuaciones del filtro de Kalman
estándar para estimar el estado. Esto resulta en las siguientes ecuaciones para el filtro de
Kalman extendido de tiempo discreto.
P− + > >
k = Fk−1 Pk−1 Fk−1 + Lk−1 Qk−1 Lk−1
Kk = P− > − > > −1
k Hk (Hk Pk Hk + Mk Rk Mk )
x̂− +
k = fk−1 (x̂k−1 ,uk−1 ,0)
zk = hk (x̂− −
k ,0) − Hk x̂k
(9.38)
x̂+
k= x̂− −
k + Kk (yk − Hk x̂k − zk )
= x̂− −
k + Kk yk − hk (x̂k ,0)
−
P+
k = (I − Kk Hk )Pk
Muchos sistemas reales de ingeniería están gobernados por dinámicas de tiempo continuo
mientras que las medidas se obtienen en instantes discretos de tiempo. En esta subsección, se
desarrollará el EKF híbrido, en el cual se consideran sistemas con dinámica en tiempo continuo
y medidas en tiempo discreto. Esta es la situación más común encontrada en la práctica.
254 Capítulo 9. El filtro de Kalman no lineal
x̂+
0 = E{x0 }
n
+ >
o (9.32)
P+ +
0 = E (x0 − x̂0 )(x0 − x̂0 )
Supóngase que se tiene un sistema en tiempo continuo con medidas en tiempo discreto como
sigue:
ẋ = f(x,u,v,t)
yk = hk (xk ,wk )
(9.39)
v(t) ∼ (0,Q)
wk ∼ (0,Rk )
9.4 El filtro de Kalman unscented 255
El ruido del proceso v(t) es ruido blanco en tiempo continuo con covarianza Q y el ruido de
medición wk es ruido blanco en tiempo discreto con covarianza Rk . Entre las mediciones se
propaga la estimación del estado de acuerdo a la dinámica no lineal conocida, y se propaga la
covarianza como se dedujo en el EKF de tiempo continuo de la Subsección 9.3 utilizando la
Ecuación (9.20). Recuérdese que la expresión Ṗ de la Ecuación (9.20) está dada como
donde A y L están dados en la Ecuación (9.18). Las anteriores ecuaciones propagan x̂ desde
− −
k−1 hasta x̂k y P desde Pk−1 hasta Pk . Nótese que en la anterior ecuación v0 es el ruido
x̂+ +
Kk = P − > − >
k Hk (Hk Pk Hk + Mk Rk Mk )
> −1
− −
x̂+ (9.42)
k = x̂k + Kk yk − hk (x̂k ,v0 )
P+
k = (I − Kk Hk )P− > > >
k (I − Kk Hk ) + Kk Mk Rk Mk Kk
x̂+
0 = E{x0 }
n
+ >
o (9.44)
P+ +
0 = E (x0 − x̂0 )(x0 − x̂0 )
del filtro de Kalman, que reduce los errores de linealización del EKF. El uso del UKF puede
proporcionar una mejora significativa sobre el EKF.
Con relación a la expresión unscented, en una entrevista [35], su creador Jeffrey Uhlmann,
explicó que se le ocurrió el nombre después de observar un desodorante sin perfume situado
sobre el escritorio de un compañero de trabajo; por lo tanto es inútil buscar una traducción,
sólo es eso: un nombre.
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).
Una consideración inicial del anterior problema, junto con la Ecuación (9.47), podría conducir a
creer que y1 tiene una media de 0 y y2 tiene una media de 1. Además, un enfoque de linealización
podría conducir a la misma conclusión. Si se desarrolla una linealización de primer orden a la
Ecuación (9.48) y se toma el valor esperado de ambos lados, se puede obtener
∂ h
ȳ = E{h(x)} ≈ E h(x̄) + (x − x̄)
∂ x x̄
∂ h
= h(x̄) + E(x − x̄) = h(x̄)
∂ x x̄
0
= (9.50)
1
r = r̄ + r̃
(9.51)
θ = θ̄ + θ̃
ȳ1 = 0 (9.53)
La intuición y la aproximación de primer orden de ȳ1 han sido confirmadas por este análisis.
Repitiendo el proceso para ȳ2 :
Llevando a cabo la multiplicación, recordando que r̃ y θ̃ son independientes con pdf s simétricas
y tomando el valor esperado, resulta en
(9.55)
ȳ2 = E cos θ̃
No se puede ir más lejos a menos que se asuma alguna distribución para θ̃ , así que se asume
que θ̃ está uniformemente distribuida entre ±θm . En este caso, se puede calcular
ȳ2 = E cos θ̃
sen θm
= (9.56)
θm
1.01
Media
1 linealizada
0.99
0.98
Media no
y2
0.97
lineal
0.96
0.95
0.94
0.93
−0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4
y1
Figura 9.2 Media linealizada y media no lineal de 300 puntos generados de forma aleatoria, con r̃
uniformemente distribuido entre ±0.01 y θ̃ uniformemente distribuido entre ±0.35 rad.
sigue
1 2 1
y = h(x) = h(x̄) + Dx̃ h + D h + D3x̃ h + · · · (9.57)
2! x̃ 3!
donde x̃ = x − x̄. La media de y por la tanto se puede expandir como
1 2 1 3
ȳ = E h(x̄) + Dx̃ h + Dx̃ h + Dx̃ h + · · ·
2! 3!
1 1
= h(x̄) + E Dx̃ h + D2x̃ h + D3x̃ h + · · · (9.58)
2! 3!
Esto
es porque
la suma en la ecuación anterior se compone sólo de momentos de tercer orden
E x̃13 ,E x̃12 x̃2 ,etc. . Estos valores esperados siempre serán cero [68]. Igualmente todos
los términos impares en la Ecuación (9.58) serán cero, lo cual conduce a la simplificación
1 2 1 4
ȳ = h(x̄) + E Dx̃ h + E Dx̃ h + · · · (9.61)
2! 4!
Esto muestra por qué el cálculo de la media en la Ecuación (9.50) fue incorrecto; ese cálculo
sólo se corrige hasta el primer orden. Si se aproxima ȳ para la transformación polar a rectangular
usando términos hasta el segundo orden de la Ecuación (9.61), se obtiene
1 2
ȳ ≈ h(x̄) + E D h
2! ( x̃ )
n
∂ 2
1
= h(x̄) + E x̃i h(x)
2 ∑ ∂ x
i=1 i
x=x̄
2
∂ 2 h(x) 2
1 2 ∂ h(x) 2 ∂ h(x)
= h(x̄) + E(x̃i ) 2
+ 2E(x̃1 x̃2 ) + E(x̃2 ) 2
2 ∂x ∂ x1 x2 x=x̄
∂ x2 x=x̄
1 x=x̄
1 0 0 −r cos θ
= h(x̄) + + + σθ2
2 0 0 −r sen θ x=x̄
0 1 0
= + σθ2 (9.62)
1 2 −1
ȳ1 ≈ 0 (9.63)
σθ2 E(θ̃ )2
ȳ2 ≈ 1 − = 1− (9.64)
2 2
Nótese que se encontró el valor exacto de ȳ2 en la Ecuación (9.55) siendo igual a E(cos θ̃ ). La
expresión aproximada que se encuentra en la Ecuación (9.64) corresponde a los dos primeros
términos no nulos del desarrollo en serie de Taylor de E(cos θ̃ ).
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
Se puede usar las ecuaciones (9.57) y (9.61) para escribir (y − ȳ) como
1 2 1 2 1 4
y−ȳ = h(x̄) + Dx̃ h+ Dx̃ h+· · · − h(x̄)+ E(Dx̃ h)+ E(Dx̃ h)+· · ·
2! 2! 4!
1 2 1 1
= Dx̃ h + Dx̃ h + · · · − 2 4
E(Dx̃ h) + E(Dx̃ h) + · · · (9.66)
2! 2! 4!
El primer término del lado derecho de la anterior ecuación puede escribirse como
!>
n ! n
∂ h ∂ h
E Dx̃ h(Dx̃ h)> = E
x̃i x̃
∑
i=1 ∂ xi x=x̄
∑ j
∂xj
j=1
x=x̄
( )
∂ h>
∂ h
= E ∑ x̃i x̃ j
i, j ∂ xi x=x̄ ∂ x j
x=x̄
=∑ Hi E(x̃i x̃ j )H>j
i, j
= ∑ Hi Pi j H>j (9.68)
i, j
donde el vector de derivadas parciales Hi y el valor esperado Pi j están definidos por la anterior
ecuación. Recordando de la Ecuación (2.7) que una ecuación de esta forma se puede escribir
como
>
∂ h ∂ h
E Dx̄ h(Dx̄ h)> =
P
∂ x x=x̄ ∂ x
x=x̄
= HPH> (9.69)
esto en la Ecuación (9.67) para escribir la covarianza de una transformación no lineal y = h(x)
262 Capítulo 9. El filtro de Kalman no lineal
como sigue:
( )
> Dx̃ h(D3x̃ h)> D2x̃ h (D2x̃ h)> D3x̃ h(Dx̃ h)>
Py = HPH + E + + +
3! 2! 2! 3!
2 2 >
Dx̃ h Dx̃ h
+E E +··· (9.70)
2! 2!
En el EKF, se usa solamente el primer término de esta expansión para aproximar la covarianza
del error estimado. Por ejemplo, cuando la medición y = h(x) + w entonces se ve desde la
ecuación [] que la covarianza de y es aproximada como Py = HPx H> + R, donde H es la
derivada parcial de h con respecto a x, y R es la covarianza de w. Igualmente, si el estado se
propaga como xk+1 = f (xk ) + vk entonces la covarianza de x es actualizada aproximadamente
como P− k = FPk−1 + Q, donde F es la derivada parcial de f (x) con respecto a x y Q es la
+
Py ≈ HPx H>
0 −1 σr2
2
0 0 1 σ 0
= = θ (9.72)
1 0 0 σθ2 −1 0 0 σr2
9.4 El filtro de Kalman unscented 263
Esta es una aproximación de Py . Sin embargo, un análisis más riguroso de Py puede realizarse
usando las ecuaciones (9.47), (9.53) y (9.56):
Py = E (y − ȳ)(y − ȳ)>
>
r cos θ r cos θ
=E sen θm sen θm
r sen θ − θ
r sen θ −
θm
m
r2 cos2 θ rφ cos θ
=E (9.73)
rφ cos θ φ2
sen θm
donde φ = r sen θ − . De nuevo usando la suposición que r y θ son independientes,
θm
r es uniformemente distribuida con una media de 1 y una desviación estándar de σr , y θ =
π/2 + θ̃ , con θ̃ uniformemente distribuida entre ±θm . Por lo tanto se puede calcular
E r2 = 1 + σr2
2 1 − E cos 2θ̃
E cos θ =
2
sen 2θm
E cos 2θ̃ =
2θm
sen θm
(9.74)
E{sen θ } = E cos θ̃ =
θm
Esta matriz define una elipse bidimensional, donde Py (1,1) específica el cuadrado de la longitud
del eje y1 , y Py (2,2) específica el cuadrado de la longitud del eje y2 . La Figura 9.3 muestra la
covarianza linealizada definida por la Ecuación (9.72), y la covarianza exacta definida por la
Ecuación (9.75). La covarianza linealizada se centra en la media linealizada y la covarianza
exacta se centra en torno a la media exacta. Se puede observar que la covarianza linealizada no
es muy buena aproximación a la covarianza exacta, al menos no en la dirección de y2 .
Este no es un ejemplo de un filtrado Kalman. pero puesto que el EKF usa linealización de
primer orden para actualizar la covarianza del estado, este ejemplo muestra la forma del error
que puede arrastrarse en el EKF cuando este es aplicado a un sistema no lineal.
El problema con los sistemas no lineales es que estos son difíciles de transformar a una función
de densidad de probabilidad a través de una función no lineal general. En la anterior sección,
264 Capítulo 9. El filtro de Kalman no lineal
1.01
1
Covarianza
0.99 linealizada
0.98
y2
0.97
0.96
0.95 Covarianza
no lineal
0.94
0.93
−0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4
y1
Figura 9.3 Media linealizada y media no lineal de 300 puntos generados de forma aleatoria, con r̃
uniformemente distribuido entre ±0.01 y θ̃ uniformemente distribuido entre ±0.35 rad.
√ √ > √ √
donde nP es la raíz cuadrada de la matriz nP tal que nP nP = nP, y nP i es la
√
i-ésima raíz de nP. En las próximas dos subsecciones, se verá como la media del conjunto
de los puntos sigma anteriores puede usarse para aproximar la media y la covarianza de un
vector no lineal transformado.
Aproximación de la media
Supóngase que se tiene un vector x con una media conocida x̃ y una covarianza P, una función
no lineal y = h(x), y se desea aproximar la media de y. Se propone transformar cada punto
sigma individual de la Ecuación (9.76) usando la función no lineal h(·), y entonces se toma la
suma ponderada de los puntos sigma transformados para aproximar la media de y. Los puntos
sigma transformados son calculados como sigue:
y(i) = h x(i) i = 1,...,2n (9.77)
La media real de y se denota como ȳ. La media aproximada de y se denota como ȳu y se calcula
como sigue
2n
ȳu = ∑ W (i) y(i) (9.78)
i=1
1 2n (i)
ȳu = ∑y (9.80)
2n i=1
Ahora se va a calcular el valor de ȳu para ver lo bien que coincide con la media real de y. Para
hacer esto primero se usa la Ecuación (3.9) para expandir cada y(i) en la Ecuación (9.80) en
una serie de Taylor alrededor de x̄. Esto resulta en
1 2n
1 2
ȳu = ∑ h(x̄) + D (i) h + D h + · · ·
2n i=1 x̃ 2! x̃(i)
1 2n
1 2
= h(x̄) + ∑ x̃ D (i) h + D h + · · · (9.81)
2n i=1 2! x̃(i)
266 Capítulo 9. El filtro de Kalman no lineal
ya que desde la Ecuación (9.76) x̃( j) = −x̃(n+ j) j = 1, . . . ,n. Por lo tanto, todos los términos
impares en la Ecuación (9.81) se evalúan en cero y se tiene
1 2n 1 2
1 4
ȳu = h(x̄) + D h + D
∑ 2! x̃(i) 4! x̃(i) h + · · ·
2n i=1
1 2n 1 2 1 2n 1 4
1 6
= h(x̄) + D h + D h
∑ 2! x̃(i) 2n ∑ 4! x̃(i) 6! x̃(i) + D h + · · · (9.83)
2n i=1 i=1
donde de nuevo se ha usado a partir de la Ecuación (9.76) el hecho que x̃(k) = −x̃(k+n) (k =
(k) (k)
1, . . . ,n). Se sustituye para x̃i y x̃ j desde la Ecuación (9.76) en la anterior ecuación para
9.4 El filtro de Kalman unscented 267
obtener
1 n n (k) (k) ∂ 2 h(x) 1 n n √ √ ∂ 2 h(x)
∑ x̃i x̃ j ∂ x ∂ x = ∑ nP ki nP k j ∂ x ∂ x
2n i,∑
j=1 k=1 i j 2n i,∑j=1 k=1 i j x=x̄
x=x̄
1 n ∂ 2 h(x)
= ∑ nPi j
2n i, j=1
∂ xi ∂ x j
x=x̄
1 n ∂ 2 h(x)
= Pi j (9.84)
2n i,∑
j=1 ∂ xi ∂ x j
x=x̄
Ahora recordando que la media real de y está dada por la Ecuación (9.61) como
1 2 1 4
ȳ = h(x̄) + E Dx̃ h + E Dx̃ h + · · · (9.86)
2! 4!
Observando en el segundo término sobre el lado derecho de la anterior ecuación. Esta puede
ser escrita como sigue:
( )
n
∂ 2
1 2 1
E Dx̃ h = E x̃ h(x)
2! 2! ∑ i ∂x
i=1 i
( x=x̄)
1 n
∂ 2 h
= E ∑ x̃i x̃ j
2!
i, j=1 ∂ xi ∂ x j
x=x̄
n 2
1 ∂ h
= E x̃i x̃ j
2! i,∑
j=1 ∂ xi ∂ x j
x=x̄
1 n ∂ 2 h
= Pi j (9.87)
2! i,∑
j=1 ∂ xi ∂ x j
x=x̄
Comparando ésta con la Ecuación (9.85) se ve que ȳu (la media aproximada de y) coincide con
la media real de y correctamente hasta el tercer orden, mientras que la linealización solamente
coincide con la media real de y hasta el primer orden. Si se calcula ȳu usando las ecuaciones
(9.76),(9.77) y (9.80), entonces el valor de ȳu coincidirá con la media real de y hasta el tercer
orden. La mayor dificultad con este algoritmo es la raíz cuadrada de la matriz que es requerida
268 Capítulo 9. El filtro de Kalman no lineal
Aproximación de la covarianza
1 2n (i)
= ∑ (y − yu )(y(i) − yu )>
2n i=1
(9.89)
donde los vectores y(i) son los puntos sigma transformados que fueron calculados en la Ecuación
(9.77), y los coeficientes de ponderación W (i) son los mismos que las dados en la Ecuación
(9.79). Expandiendo esta aproximación usando las ecuaciones (3.9) y (9.83) da lo siguiente:
1 2n h (i) ih i>
Pu = ∑ h(x − yu ) h(x(i) − yu )
2n i=1
2n
1 1
= ∑ h(x̄) + Dx̃(i) h + D2x̃(i) h + D3x̃(i) h+ · · ·
i=1 2! 3!
#
1 2n 1 2
1 4
− h(x̄) − ∑ 2! Dx̃( j) h + 4! Dx̃( j) h + · · · [· · · ]>
2n j=1
(9.90)
donde
1
Dx̃(i) h (D2x̃(i) h)> = ϒ>
ϒ1 = 1 =0
2
!>
1 1
ϒ2 = Dx̃(i) h D2x̃(i) h = ϒ>2 =0
2n ∑
j 2
Algunos de los términos en la ecuación anterior son cero como ya se señaló porque x̃(i) =
−x̃(i+n) para i = 1, . . . , n. Así la aproximación de la covarianza puede escribirse como
1 2n
Pu = ∑ (Dx̃(i) h)(Dx̃(i) h)> + TOS
2n i=1
(9.92)
donde TOS significa términos de orden superior (es decir, términos a la cuarta potencia y
superior). Expandiendo esta ecuación para Pu dejando de lado los términos de orden superior
da ! >
1 2n n (i) ∂ h(x̄) (i) ∂ h(x̄)
Pu = ∑ ∑ x̃ j ∂ x x̃k (9.93)
2n i=1 j,k=1 j ∂ xk
(i) (i+n) (i) (i+n)
Ahora recordando que x̃ j = −x̃ j y x̃k = −x̃k para i = 1, . . . , n. Por lo tanto, la aproxi-
mación de la covarianza será
! >
1 n n (i) ∂ h(x̄) (i) ∂ h(x̄)
Pu = ∑ ∑ x̃ j x̃k
n i=1 j,k=1 ∂xj ∂ xk
n
∂ h(x̄) ∂ h(x̄) >
= ∑ P jk
j,k=1 ∂xj ∂ xk
= HPH> (9.94)
donde la última igualdad proviene de la Ecuación (9.69). Comparando esta ecuación para
Pu con la covarianza real de y desde la Ecuación (9.70), se ve que la Ecuación (9.89) se
aproxima a la covarianza real de y hasta el tercer orden (es decir, solamente los términos a la
cuarta y mayor potencia son incorrectos). Este es el mismo orden de aproximación como el
método de linealización. Sin embargo, se espera intuitivamente que la magnitud del error de la
aproximación unscented en la Ecuación (9.89) sea más pequeña que la aproximación lineal
HPH> , porque la aproximación unscented al menos contiene términos indicados correctamente
hasta la cuarta potencia y mayor, mientras que la aproximación lineal no contiene ningún
término de otro tipo que HPH> .
La transformación unscented puede resumirse como sigue
La transformación unscented
1. Se comienza con un elemento n del vector x con una media x̄ y una covarianza P conocida.
Dada una transformación no lineal conocida y = h(x), se desea estimar la media y la
270 Capítulo 9. El filtro de Kalman no lineal
1 2n (i)
ȳu = ∑y
2n i=1
1 2n (i)
Pu = ∑ (y − yu )(y(i) − yu )>
2n i=1
(9.97)
(a)
Entonces se puede utilizar el UKF para estimar el estado aumentado xk . El UKF se inicializa
como
E{x0 }
(a)
x̂0 = 0
0
(9.114)
E (x0 − x̂0 )(x0 − x̂0 )>
0 0
(a)+
P0 = 0 Q0 0
0 0 R0
A continuación se utilizará el algoritmo UKF presentado anteriormente, excepto que se esté es-
timando la media aumentada y covarianza, por lo que se eliminará Qk−1 y Rk de las ecuaciones
y (9.105) y (9.109).
Inicialización:
1. Se tiene un sistema no lineal de tiempo discreto con n-estados dado por:
x̂+
0 = E{x0 }
+ >
(9.102)
P0 = E (x0 − x̂+
+
0 )(x0 − x̂0 )
• Usar la ecuación del sistema f (·) no lineal conocido para transformar los puntos sigma
(i)
en vectores x̃k , como se muestra en la Ecuación (9.77), con cambios apropiados desde
nuestra transformación no lineal es f en lugar de h(·)(·)(·):
ẋ1 = x2 + v1
x22 x3
ẋ2 = ρ0 e(−x1 /k) − g + v2
2 (9.115)
ẋ3 = w3
q
y(tk ) = M 2 + (x1 (tk ) − a)2 + wk
274 Capítulo 9. El filtro de Kalman no lineal
Continuación:
(i)
• Combinar los x̂kvectores para obtener el estado estimado a priori en el tiempo k. Esto
está basado en la Ecuación (9.80):
1 2n (i)
x̂−
k = ∑ x̂k (9.104)
2n i=1
1 2n (i)
(i)
>
P−
k = ∑ x̂k − x̂−
k x̂k − x̂−
k + Qk−1 (9.105)
2n i=1
(i)
x̂k = x̂−k + x̃
(i)
i = 1, . . . ,2n
q >
x̃(i) = nP− i = 1, . . . ,n
k
i
(9.106)
q >
x̃(n+i) = − nP−
k i = 1, . . . ,n
i
Si se desea, este paso puede omitirse. Esto es, en vez de generar nuevos puntos
sigma se pueden reutilizar los puntos sigma que fueron obtenidos a partir de la
actualización de tiempo. Esto ahorrará esfuerzo computacional si se está dispuesto
a sacrificar el rendimiento.
• Usar la ecuación no lineal de medición h(·) para transformar los puntos sigma en
(i)
ỹk vectores (medida prevista), como se muestra en la Ecuación (9.76):
(i) (i)
ŷk = h(x̂k ,tk ) (9.107)
Como es usual, wi , es el ruido que afecta la i-ésima ecuación del proceso y w es el ruido de la
medición. ρ0 es la densidad del aire al nivel del mar, k es una constante que define la relación
entre la densidad del aire y la altitud, y g es la aceleración debido a la gravedad. Se utilizará el
sistema de ecuaciones de tiempo continuo para simular el sistema, y se supone que se obtiene
9.5 Filtrado de Kalman unscented 275
Continuación:
(i)
• Combinar los ŷkvectores para obtener la medida prevista en el tiempo k. Esto está
basado en la Ecuación (9.80):
1 2n (i)
ŷk = ∑ ŷk (9.108)
2n i=1
1 2n (i)
(i)
>
Pxy = ∑ x̂k − x̂−
k ŷk − ŷk (9.110)
2n i=1
• La actualización de la medición del estado estimado puede realizarse usando las ecua-
ciones normales del filtro de Kalman como se muestra en la ecuación [???]:
Kk = Pxy P−1
y
−
x̂+
k = x̂k + Kk (yk − ŷk ) (9.111)
P+
k = P− >
k − Kk P y Kk
un magnitud de medidas cada 0.5 s. Las constantes que se usarán están dadas como
ρ0 = 2 lb − s/ f t 4
g = 32.2 f t/s2
k = 20.000 f t
E wk = 10.000 f t 2 (9.116)
2
2
E vi (t) = 0 i = 1,2,3
M = 100.000 ft
a = 100.000 ft
276 Capítulo 9. El filtro de Kalman no lineal
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.
Las transformaciones unscented discutidas en la sección anterior no son las únicas que existen.
En esta sección, se discutirán algunas otras posibles transformaciones. Esas otras transforma-
ciones pueden usarse si se tiene alguna información acerca de las estadísticas del ruido, o si se
está interesado en ahorro computacional.
Se ha visto que una media precisa y una covarianza aproximada para una transformación no
lineal y = h(x) se puede obtener escogiendo 2n puntos sigma (donde n es la dimensión de x)
como se da en la ecuación ,la media y la covarianza aproximadas como se da en las ecuaciones
y . Sin embargo, se puede demostrar que el mismo orden de precisión de la estimación de
la media y la covarianza se puede conseguir mediante la elección (2n + 1) puntos sigma x(i)
como sigue
x(0) = x̄
x(i) = x̄ + x̃(i) i = 1, . . . , 2n
(9.118)
p >
x̃(i) = (n + κ)P i = 1, . . . , n
i
p >
x̃(n+i) = − (n + κ)P i = 1, . . . , n
i
9.6 Otras transformaciones unscented 277
y(i) = h(x(i) )
2n
ȳu = ∑ W (i) y(i)
i=0 (9.120)
2n >
Pu = ∑ W (i) y(i) − yu y(i) − yu
i=0
Se puede observar que si κ = 0 entonces esas definiciones se reducen a las cantidades dadas en
la sección []. Cualquier valor de κ puede utilizarse [siempre que (n + κ) 6= 0] y entonces dará
una precisión de la estimación de la media y la covarianza con el mismo grado de exactitud
como el obtenido en la sección []. Sin embargo, κ puede ser utilizada para reducir los errores
de orden superior de aproximación de la media y la covarianza. Por ejemplo, si x es Gaussiano
entonces κ = 3 − n minimizará algunos de los errores en los términos de cuarto orden en las
aproximaciones de la media y la covarianza.[]
Inicialización:
1. Escoger el peso W (0) ∈ [0,1). La escogencia de W (0) afecta sólo a los momentos de cuarto
y de orden superior del conjunto de puntos sigma[].
2. Escoger el resto de puntos sigma como sigue:
2−n (1 −W (0) )
(
i = 1,2
W (i) = (9.121)
2i−2W (1) i = 3, . . . ,n + 1
4. Expandir de forma recursiva los vectores σ realizando los siguientes pasos para j = 2, . . . ,n:
( j−1)
σ0 i=0
0
( j−1)
σi
( j)
√ −1 i = 1, . . . , j
σi = 2W ( j+1)
(9.123)
0 j−1
√ j i = j+1
2W ( j+1)
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.
así los problemas numéricos no podrán ser tema para la transformación unscented esférica.
Se corren 100 simulaciones Monte Carlo, cada una con un tiempo de simulación de 60 s. El
promedio de errores de estimación RMS del EKF, el estándar UKF (seis puntos sigma), el
UKF símplex (cuatro puntos sigma puesto que se escogió W (0) = 0), y el UKF espiral (cuatro
puntos sigma puesto que se escogió W (0) = 0) están dados en la tabla[]. El UKF símplex
funciona mejor para estimación de altitud, con el UKF estándar no muy lejos. El UKF estándar
se desempeña mejor para la estimación de velocidad, y el UKF espiral se desempeña mejor
para la estimación del coeficiente balístico. El EKF es en general el de peor desempeño de los
cuatro estimadores de estado.
280 Capítulo 9. El filtro de Kalman no lineal
Inicialización:
1. Escoger el peso W (0) ∈ [0,1). La escogencia de W (0) afecta sólo a los momentos de cuarto
y de orden superior del conjunto de puntos sigma[].
2. Escoger el resto de puntos sigma como sigue:
1 −W (0)
Wi = i = 1, . . . ,n + 1 (9.125)
n−1
Note que (en contraste a la transformación unscented símplex) todos los pesos son idénticos
excepto para W (0) .
3. Inicializar los siguientes vectores de un elemento:
(1)
σ0 = 0
(1) −1
σ1 = √ (9.126)
2W (1)
(1) 1
σ2 = √
2W (1)
4. Expandir de forma recursiva los vectores σ realizando los siguientes pasos para j = 2, . . . ,n:
( j−1)
σ 0 i=0
0
( j−1)
σi−1
( j)
σi = √ i = 1, . . . , j (9.127)
j( j+1)W (1)
0 j−1
√ j i = j+1
j( j+1)W (1)
Tabla 9.2 Ejemplo 9.6.1 estimación de errores para el filtro de Kalman extendido, el filtro de Kalman
unscented estándar con 2n puntos sigma y el filtro de Kalman unscented esférico con (n + 1)
puntos sigma. Generalmente el UKF estándar se desempeña mejor. El desempeño y el esfuerzo
computacional del UKF esférico se encuentran entre los de el EKF y el UKF estándar.
Asúmase que F(X) es una función diferenciable de cada uno de los elementos de X. Entonces
se tiene que [61]
∂ tr(F(X))
= f> (X)
∂X
donde f(·) es la derivada escalar de F(·).
Primer Orden
∂
tr(X) = I (A.1)
∂X
∂
tr(XA) = A> (A.2)
∂X
∂
tr(X> A) = A (A.3)
∂X
∂
tr(AX> ) = A (A.4)
∂X
∂
tr(AXB) = A> B> (A.5)
∂X
∂
tr(AX> B) = BA (A.6)
∂X
∂
tr(A ⊗ X) = tr(A)I (A.7)
∂X
283
284 Capítulo A. Funciones matriciales
Segundo Orden
∂
tr(X2 ) = 2X> (A.8)
∂X
∂
tr(X2 B) = (XB + BX)> (A.9)
∂X
∂ ∂
tr(X> X) = tr(XX> ) = 2X (A.10)
∂X ∂X
∂
tr(X> BX) = BX + B> X (A.11)
∂X
∂
tr(BXX> ) = BX + B> X (A.12)
∂X
∂
tr(XX> B) = BX + B> X (A.13)
∂X
∂
tr(XBX> ) = XB> + XB (A.14)
∂X
∂
tr(BX> X) = XB> + XB (A.15)
∂X
∂
tr(X> XB) = XB> + XB (A.16)
∂X
∂
tr(AXBX) = A> X> B> + B> X> A> (A.17)
∂X
∂
tr(B> X> CXB) = C> XBB> + CXBB> (A.18)
∂X
∂
tr(X> BXC) = BXC + B> XC> (A.19)
∂X
∂
tr (AXB + C)(AXB + C)> = 2A> (AXB + C)B> (A.20)
∂X
∂ ∂
tr(X ⊗ X) = tr(X)tr(X) = 2tr(X)I (A.21)
∂X ∂X
Orden Superior
∂
tr(Xk ) = k(Xk−1 )> (A.22)
∂X
k−1
∂
tr(AXk ) = ∑ (Xr AXk−r−1 )> (A.23)
∂X r=0
∂
tr B> X> CXX> CXB = CXX> CXBB> + C> XBB> X> C> X
∂X
+ CXBB> X> CX + C> XX> C> XBB> (A.24)
A.1 Derivada de la traza 285
Otras
∂
tr(AX−1 B) = −(X−1 BAX−1 )> = −X−> A> B> X−> (A.25)
∂X
Supóngase que B y C son simétricas, entonces
∂ >
tr (X CX)−1 A = −(CX(X> CX)−1 )(A + A> )(X> CX)−1 (A.26)
∂X
∂ >
tr (X CX)−1 X> BX = −2CX(X> CX)−1 X> BX(X> CX)−1
∂X
−1
+ 2BX(X> CX) (A.27)
∂
tr (A + X> CX)−1 X> BX = −2CX(A + X> CX)−1 X> BX(A + X> CX)−1
∂X
−1
+ 2BX(A + X> CX) (A.28)
Índice de Figuras
287
288 Índice de Figuras
7.1 Simulación del filtro de Kalman usando ruido del proceso y de la medida
correlacionados. S = correlación entre el ruido del proceso y el ruido de la
medida. SFiltro = valor de S usado en el filtro de Kalman 198
5.1 Relaciones entre las estimaciones y las covarianzas de las secciones 4.4 y 5.4 144
7.1 Valores experimentales de la varianza del error de estimación (50 pasos de tiempo)
para el Ejemplo 7.1 cuando hay una covarianza cruzada S entre el ruido del proceso
y el ruido de la medida. El filtro estándar asume S = 0 y el filtro correlacionado utiliza
el valor correcto de S. 198
7.2 Cuando se incrementa el contenido de color del ruido de medición (es decir, cuando
ψ se incrementa), los filtros para ruido coloreado mejoran su desempeño en compa-
ración con el filtro estándar de Kalman. 204
9.1 Resultados del ejemplo que muestran una desviación estándar de los errores de
estimación de estado determinados a partir de los resultados de simulación y deter-
minados a partir de la matriz P del EKF. Estos resultados son para la simulación del
motor de imán permanente de dos fases. Esta tabla muestra que la matriz P es un
buen indicador de la magnitud de los errores de estimación de estado del EKF. 252
9.2 Ejemplo 9.6.1 estimación de errores para el filtro de Kalman extendido, el fil-
tro de Kalman unscented estándar con 2n puntos sigma y el filtro de Kalman
unscented esférico con (n+1) puntos sigma. Generalmente el UKF estándar
se desempeña mejor. El desempeño y el esfuerzo computacional del UKF
esférico se encuentran entre los de el EKF y el UKF estándar 281
289
Índice de Códigos
291
Bibliografía
[1] B.O. Anderson and J.B. Moore, Optimal control, Information and System Sciences Series,
Prentice–Hall, Inc., Englewood Cliffs, New Jersey 07632, USA, 1979.
[2] A. Andrews, A square root formulation of the Kalman covariance equations, AIAA
Journal 6 (1968), no. 6, 1165–1166.
[4] W. F. Arnold III and A. J. Laub, Generalized eigenproblem algorithms and software for
algebraic Riccati equations, Proceedings of the IEEE 72 (1984), no. 12, 1746–1754.
[5] M. Athans and G. Safonov, M., Robustness and computational aspects of nonlinear
stochastic estimators and regulators, IEEE Transactions on Automatic Control AC-23
(1978), no. 4, 717–725.
[8] R. Battin, Astronautical guidance, Electronic sciences series, McGraw-Hill, New York,
1964.
[9] J. Bellantoni and K. Dodge, A square root formulation of the Kalman-Schmidt filter,
AIAA Journal 5 (1967), no. 7, 1309–1314.
293
294 Bibliografía
[12] G. Bierman and C. Thornton, Numerical comparison of Kalman filter algorithms: Orbit
determination case study, Automatica 13 (1977), no. 1, 23–35.
[13] G. J. Bierman, Factorization methods for discrete sequential estimation, Monographs
and Textbooks, vol. 128, Academic Press,Inc, 111 Fifth Avenue, New York. New York
10003, NY, USA, 1977.
[14] R. Bitmead, M. Gevers, I. Petersen, and R. Kaye, Monotonicity and stabilizability pro-
perties of solutions of the Riccati difference equation: Propositions, lemmas, theorems,
fallacious conjectures and counterexamples, Systems and Control Letters 5 (1985), no. 5,
309–315.
[15] R. Brown and P. Hwang, Introduction to random signals and applied kalman filtering,
New York, USA, 1996.
[16] R. G. Brown and P. Y. C. Hwang, Introduction to random signals and applied kalman
filtering: with matlab exercises, 4a ed., 111 River Street, Hoboken, NJ 07030-5774. USA,
2012.
[17] A. Bryson and L. Henrikson, Estimation using sampled data containing sequentially
correlated noise, Journal of Spacecraft and Rockets 5 (1968), no. 6, 662–665.
[18] A. Bryson and D. Johanson, Linear filtering for time-varying systems using measurements
containing colored noise, IEEE Transactions on Automatic Control AC-10 (1965), no. 1,
4–10.
[19] R. Bucy and P. Joseph, Filtering for stochastic processes with applications to guidance,
New York, 1968.
[20] S-P Chan, S-Y Chan, and S-G Chan, Analysis of linear networks and systems. a matrix-
oriented approach with computer applications, Addison-Wesley Series in ELectrical
Engineering, Addison-Wesley Publishing Company, Reading, MA, 1972.
[21] C-T. Chen, Linear system theory and design, second ed., Saunders College Pu., Harcourt
Brace Jovanovich, Inc., Orlando, FL 32887, USA, 1984.
[22] C. Chui and G. Chen, Kalman filtering with real-time applications, Springer-Verlag, New
York, USA, 1987.
[23] J. L. Crassidis and J. L. Junkins, Optimal estimation of dynamic systems, 2a ed., 6000
Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742, USA., 2012.
[24] P. Dyer and S. McReynolds, Extension of square–root filtering to include process noise,
Journal of Optimization Theory and Applications 3 (1969), no. 6, 444–458.
[25] D.K. Faddeev and V.N. Faddeeva, Computational methods of linear algebra, W. H.
Freeman and Company, San Francisco, USA, 1963.
[26] A. Gelb, Applied optimal estimation, The MIT Press, Cambridge, MA, USA, 16a impre-
sión, 2001.
Bibliografía 295
[27] B. P. Gibbs, Advanced Kalman filtering, least-squares and modeling, John Wiley & Sons,
Inc., Hoboken, New Jersey, EE UU, 2011.
[28] G. Golub, Numerical methods for solving linear least squares problems, Numerische
Mathematik 7 (1965), 206–216.
[29] G. Golub and C. Van Loan, Matrix computations, 3a ed., The Johns Hopkins University
Press, 2715 North Charles Street, Baltimore, Maryland 21218-4319, USA, 1996.
[30] G. Goodwin and K. Sin, Adaptive filtering, prediction and control, Prentice Hall, Engle-
wood Cliffs, New Jersey, USA, 1984.
[31] M. S. Grewal and A. P. Andrews, Kalman filtering: Theory and practice using matlab, 3ª
ed., John Wiley & Sons, Inc., Hoboken, New Jersey, EE UU., 2008.
[32] R. Horn and C. Johnson, Matrix analysis, Cambridge University Press, New York, USA,
1985.
[33] S. Householder, A., The theory of matrices in numerical analysis, Reimpresión del libro
publicado originalmente en 1964, 180 Varick Street NY 10014, NY, USA, 1975.
[34] R. Hughes, Analog automatic control loops in radar and ew, Dedham, Massachusetts,
USA., 1988.
[35] IEEE, First-hand: The unscented transform, Global History Network, December 2012,
URL: http:// www.ieeeghn.org/ wiki/ index.php/ First-Hand:The_Unscented_Transform.
[36] M Jamshidi, M Tarokh, and B. Shafai, Computer-aided analysis and design of linear
control systems, 1ª ed., Prentice-Hall International, Inc., A Simon and Schuster Company
Englewood Cliffs, N J 07632, USA, 1992.
[37] T. L. Jordan, Experiments on error growth associated with some linear least squares
procedures, Mathematics of Computation, AMS (1968), no. 22, 579–588.
[39] , Linear systems, Prentice–Hall, Inc., Englewoods Cliffs, N. J., 07632, USA, 1980.
[40] , Lectures on wiener and kalman filtering, Springer–Verlag, New York, USA,
1981.
[41] T. Kailath, A. Sayed, and B. Hassibi, Linear estimation, Prentice-Hall, Upper Saddle
River, New Jersey, USA, 2000.
[42] T. Kailath, A. Sayed, and B. Hassibi, Linear estimation, Upper Saddle River, New Jersey,
USA, 2000.
[43] R. Kalman and R. Bucy, New results in linear filtering and prediction theory, ASME
Journal of Basic Engineering 83 (1961), 95–108.
296 Bibliografía
[44] R. E. Kalman, On the general theory of control systems, IRE Transactions on Automatic
Control 4 (1959), no. 3, 110–122.
[46] , A new approach to linear filtering and prediction problems, Transactions of the
ASME–Journal of Basic Engineering 82 (1960), no. Series D, 35–45.
[47] P. Kaminski, A. Bryson, and S. Schmidt, Discrete square root filtering: A survey of
current techniques, IEEE Transactions on Automatic Control AC-16 (1971), 727–736.
[48] H Khalil, Nonlinear systems, segunda ed., Simon and Schuster, Viacom Company Upper
Saddle River, N. J. 07458, USA, 1996.
[49] E Kreyszig, Advanced engineering mathematics, 10ª ed., Laurie Rosatone, 111 River
Street, Hoboken, NJ 07030-5774, USA., 2011.
[50] H. Kwakernaak and R. Sivan, Linear optimal control systems, John Wiley & Sons, Inc.,
New York, USA, 1972.
[51] F. L. Lewis, Applied optimal control & estimation: Digital design & implementation,
Digital Signal Processing, Prentices-Hall, Inc., Simon & Schuster Company Englewoods
Cliffs, NJ 07632, USA, 1992.
[52] M. Martin and T. Kailath, Square-root algorithms for least-squares estimation, IEEE
Transactions on automatic control AC–20 (1975), no. 4, 487–497.
[53] P. Maybeck, Stochastic models, estimation, and control, vol. Volume 1, Academic Press,
New York, 1979.
[54] T. McGarty, Stochastic systems and state estimation, John Wiley & Sons, New York,
USA, 1974.
[55] J. Mendel, Lessons in estimation theory for signal processing, communications, and
control, 2a ed., Prentice Hall P T R Prentice-Hall, Inc., A Pearson Education Company
Upper Saddle River, NJ 07458, USA., 1995.
[56] T. Moon, More mathematical methods and algorithms for signal processing, Utah State
University, 2000.
[57] M. Morf, R. Levy, and T. Kailath, Square-root algorithms for the continuous time linear
least-square estimation problem, IEEE Transactions on Automatic Control AC-23 (1978),
no. 5, 907–911.
[58] M. Nakahara, Geometry, topology and physics, 2ª ed., Graduate Student Series in Physics,
270 Madison Avenue NY 10016, NY, USA., Junio 2003.
[59] A. V. Oppenheim and G. C. Verghese, Signals systems, and inference, Class Notes 6.011,
Massachusetts Institute of Technology, Cambridge, MA, USA, 2010.
Bibliografía 297
[60] A. Papoulis, Probability, random variables, and stochastic processes, McGraw–Hill, Inc.,
1991.
[61] M. S. Pedersen and K. B. Petersen, The matrix cookbook, Imm3274, Oticon Foundation,
November 15 2012, url: http://matrixcookbook.com.
[63] S. Poznyak, Alexander, Advanced mathematical tools for automatic control engineers, 1ª
ed., vol. Vol. 1: Deterministic Techniques, Elsevier, Linacre House, Jordan Hill, Oxford
OX2 8DP, UK, 2008.
[64] S. Schmidt, The Kalman filter: Its recognition and development for aerospace applications,
Journal of Guidance and Control 4 (1981), no. 1, 4–7.
[65] K. K Sen and S. J. Wilson, Radiative transfer in curved media, World Scientific Publishing
Co. Pte. Ltd., 687 Hartwell Street, Teaneck, NJ 07666. USA, 1990.
[66] W. Shanahan, Circuit models for prediction, Wiener filtering, Levinson and Kalman filters
for ARMA time series, IEEE International Conference on Acoustics, Speech, and Signal
Processing ICASSP’82, vol. 7, May 1982, pp. 266 – 269.
[68] D.J. Simon, Optimal state estimation: Kalman, h-infinity, and nonlinear approaches,
John Wiley & Sons, Inc., New Jersey, USA, 2006.
[69] E. Stear and A. Stubberud, Optimal filtering for Gauss–Markov noise, International
Journal of Control 8 (1968), no. 2, 123–130.
[70] R. Stengel, Optimal control and estimation, Dover Publications, Inc., New York, 1994.
[72] G. Strang, Linear algebra and its applications, 4ª ed., Thomson Corporation, Belmont,
CA, USA, 2006.
[73] D. Vaughan, A nonrecursive algebraic solution for the discrete Riccati equation, IEEE
Transactions on Automatic Control 15 (1970), no. 5, 597 – 599.
[74] M. Verhaegen and P. Van Dooren, Numerical aspects of different Kalman filter imple-
mentations, IEEE Transactions on Automatic Control AC-31 (1986), no. l0, 907–917.
[75] G. Watson, A treatise on the theory of bessel functions, 2a ed., Cambridge University
Press, Cambridge, United Kingdom, 1944.
298 Bibliografía
[78] K. J. Åström and R.M. Murray, Feedback systems: an introduction for scientists and
engineers, Princeton University Press, 41 William Street, Princeton, New Jersey 08540,
USA, 2008.
[79] K. J. Åström and B. Wittenmark, Computer-controlled systems: Theory and design, 3ª
ed., Prentice Hall Information and System Sciences, 1997.
Índice alfabético 299