El concepto de “observador”, introducido en el vídeo [ obs(13:55)], cuando las entradas son ruido blanco dio lugar a lo que se denomina Filtro de Kalman, abordado en esta sección1 . Si el concepto de observador del estado no le es familiar al lector, se recomienda visionar el vídeo [ obs(13:55)] que motiva el problema que se resuelve a continuación.
[580: obsruido] Observadores
del
estado:
análisis
de
efecto
de
ruidos
de
proceso
y
medida
***
08:57
Como ejemplo motivador de la idea sobre un problema elemental, en esta sección se llegará a la fórmula más sencilla de filtro recursivo bayesiano recursivo a partir del caso de un ‘tigre oculto’ que ya sirvió para motivar cuestiones relacionadas con probabilidad conjunta, condicional, marginal, etc. en la revisión de conceptos básicos de estadística, ver vídeos [ tiger1(20:57)], [ tiger2(15:52)] y [ tiger3(21:57)].
[581: tiger4] Tigre
oculto
(4):
Probabilidad
condicional
y
fórmula
de
Bayes
DOS
rugidos
**
14:19
*Link to English version
[582: tiger5] Tigre
oculto
(5):
fórmula
Bayes
N
rugidos
(N
arbitrario)
NO
recursiva
***
17:46
*Link to English version
[583: tiger6br] Tigre
oculto
(6):
fórmula
Bayes
Recursiva
(demostración)
****
17:31
*Link to English version
[584: tiger7rbs] Tigre
oculto
(7):
fórmula
Bayes
Recursiva
(simulación
Matlab)
***
17:44
*Link to English version
Nota (prerrequisitos): Para comprender en su totalidad los desarrollos teóricos del filtro de Kalman a continuación, es muy recomendable el revisar los conceptos básicos sobre procesos estocásticos lineales discretos (Sección 7.2) y sobre predicción estadística, discutidos en la Sección B.5.
[585: kalteo] Predicción
óptima
en
sistemas
dinámicos
lineales:
Filtro
de
Kalman
tiempo
discreto
(demostración)
****
15:46
Nota: El filtro de Kalman puede ser usado para estimar
la media de una variable. Por ejemplo, planteando el modelo
(ec. de estado),
(ec. de salida) se está
diciendo que la media de
es y
se mantiene constante, y a partir de un estimado inicial a priori puede refinarse con
futuras observaciones. Este enfoque, en el contexto de “test estadístico de
media” en detección de fallos, se desarrolla en el vídeo [ thmdkal(15:25)],
cuya visualización, si se dispone de tiempo, se aconseja en este momento.
A continuación se presentan unos primeros ejemplos Matlab de uso del filtro de Kalman; la Sección 17.4 presenta ejemplos adicionales.
[586: tubokal] Filtro
de
Kalman
estacionario:
ejemplo
estimación
temperatura
de
gas
en
tubería
(Matlab)
****
12:43
[587: kalml] Filtro
de
Kalman:
ejemplo
Matlab
(filtro
no
estacionario)
****
33:33
Nota 1:
El filtro de Kalman está muy relacionado con los mínimos cuadrados recursivos en identificación
de dado un
modelo , a partir
de series de datos ,
.
En efecto, el filtro de Kalman es el estimador óptimo del proceso lineal
(suponer parámetros constantes, esta vez entendido como una ecuación de estado),
(entendido como una ecuación de salida donde el “estado” es
). Los vídeos [
mcr1(11:18)] y [ mcr2(10:51)] discuten dicha relación en detalle. Suponiendo un hipotético ruido
de proceso
ello permite incorporar un “olvido” de la información pasada (discutido en el
vídeo [ mcr2(10:51)]).
Nota 2:
El observador óptimo estacionario (filtro de Kalman dlqe)
y el controlador óptimo de horizonte infinito dlqr están muy
relacionados con lo que se conoce en la literatura como control óptimo
.
Específicamente sobre la parte de observación (observador
), el vídeo [
h2obsml(11:31)] discute (con un ejemplo de código) la equivalencia entre cierto problema de
optimización
y el filtro de Kalman estacionario. Si cerramos el bucle (principio de
separación), La equivalencia entre “Kalman+lqr” (estacionario) y control
se
ilustra también mediante un breve ejemplo Matlab en el vídeo [ h2lqrml(27:21)].
*****
[588: rtsm] Suavizado
no
causal
en
representación
interna
(RTS
smoother)
****
14:05
[589: estfml1] Estimación
de
fuerza
de
entrada
a
un
sistema
mecánico
(1):
planteamiento
del
problema
y
filtro
de
Kalman
estacionario
***
10:32
[590: estfml2] Estimación
de
fuerza
de
entrada
a
sistema
mecánico
(2):
Kalman
no
estacionario
y
suavizado
RTS
****
11:00
Esta sección usa un modelo de generador de perturbaciones ([ ress(10:57)]) para eliminar una “tendencia” en forma de rampa de una señal, comparando diferentes enfoques. La comparación con la asignación de polos (vídeo [ drgenml(14:08)]) se deja al lector como ejercicio propuesto.
[591: rampdetr] Eliminación
de
derivas
y
rampas
(1):
detrend
***
07:57
[592: rampkales] Eliminación
de
derivas
y
rampas
(2):
filtro
de
Kalman
estacionario
****
12:38
[593: rampkalne] Eliminación
de
derivas
y
rampas
(3):
filtro
de
Kalman
no
estacionario
****
06:49
[594: ramprts] Eliminación
de
derivas
y
rampas
(4):
suavizado
Rauch-Tung-Striebel
no
causal
****
06:00
[595: kalmal] Comparación
observador
óptimo
(Kalman)
versus
derivación
numérica
en
sistema
de
2o
orden:
resultados
inesperados
****
14:57
[596: normnl] Deformación
de
distribuciones
de
probabilidad
en
sistemas
no-lineales:
ejemplo
Matlab
(estático)
***
10:45
[597: ekfteo] Filtro
de
Kalman
extendido
para
sistemas
no
lineales:
teoría
****
10:02
*Link to English version
[598: ekfml1] Ejemplo
filtro
Kalman
extendido
(péndulo,
I):
modelado
y
linealización
Matlab
**
07:23
[599: ekfml2] Ejemplo
Filtro
Kalman
Extendido
(II):
simulación
Matlab
y
comparación
de
opciones
****
10:52
[600: errekf] Análisis
de
error
del
filtro
de
Kalman
extendido
(serie
de
Taylor)
****
09:50
[601: ukft1] Transformación
unscented
(Uhlmann-Julier):
idea
básica
***
13:05
[602: sigptml] Transformación
unscented
(generación
de
sigma-points):
ejemplo
Matlab
***
08:23
[603: ukft2] Filtro
Unscented
para
sistemas
dinámicos
no-lineales
****
11:49
[604: ukf1ml] Propagación
de
media
y
varianza
en
no-linealidades:
ejemplo
Matlab
1D
***
07:49
[605: ukf2ml] Propagación
de
media
y
varianza
en
no-linealidades:
Unscented
Transform,
ejemplo
Matlab
2D
***
05:35
[606: ukfesc] Transformación
unscented
escalada
****
10:43
[607: ukfesc2] Transformación
unscented
escalada:
reescritura
de
pesos
y
eliminación
función
auxiliar
*****
16:16
[608: ekfukfml] Comparación
Kalman
Extendido/Unscented:
ejemplo
péndulo
no
lineal
Matlab
***
04:07
No dispongo de material teórico sobre “particle filter” (simulación Monte-Carlo), que también es muy utilizado en este tipo de problemas cuando las no-linealidades son abruptas o/y las distribuciones de probabilidad usadas son no gaussianas. Se remite al lector a la amplia bibliografía sobre estos temas disponible en otras fuentes.
Una introducción “básica” (en inglés) muy fácil de entender, sin prácticamente fórmulas, aparece en https://www.youtube.com/watch?v=aUkBa1zMKv4
[609: pfml] Filtro
partículas
(control
syst.
toolbox
matlab):
ejemplo
péndulo
no
lineal
***
09:55
El filtro es muy usado en robótica (localización con sensores imperfectos):
https://www.youtube.com/watch?v=mBlsqSI7c1g
https://idecona.ai2.upv.es/content/localizaci\%C3\%B3n-robots-monte-carlo