2010-01-06 10 views

Respuesta

15

Los filtros de Kalman son versiones especializadas de los filtros de Wiener. Específicamente, los filtros de Kalman toman información sobre un dominio de problema y mejoran un filtro de Wiener aplicando este conocimiento específico de dominio. Encontré que la página de Wikipedia es una excelente fuente de referencia para entender los detalles del algoritmo.

Sin repetir los detalles específicos aquí (sin funciones de imágenes de álgebra lineal), los filtros de Kalman estiman el estado futuro de forma incremental (al igual que los filtros de Wiener, para el caso). En particular, estimamos el estado, aplicamos estimaciones de ruido específicas de dominio de problema y aproximaciones de cambio de estado, y luego iteramos. Es decir, tomamos observaciones de estado actuales, filtramos esas observaciones, predecimos el siguiente estado y luego combinamos ese resultado para producir una nueva observación de estado siguiente.

He encontrado filtros de Kalman bastante útiles para predecir las rutas de movimiento. Como las trayectorias de movimiento son suaves, los filtros de Kalman funcionan particularmente bien: el movimiento puede predecirse fácilmente utilizando observaciones de estado conocidas del pasado. Así que supongamos que está en un automóvil conduciendo por la carretera, registraría las coordenadas actuales del automóvil como el estado actual. Luego filtra las observaciones de estado pasadas (sus ubicaciones previas) para predecir el siguiente punto del auto (a tiempo). Tenga en cuenta que puede aplicar las leyes de la física (por ejemplo, el impulso) para personalizar este filtro y obtener resultados bastante razonables. Los cambios aleatorios en velocidad o dirección tienen algún impacto en las predicciones.

Tome un vistazo a este C implementation se puede ver que tenemos dos funciones importantes en el funcionamiento de un filtro de Kalman estimate y update (los wikipedia article talkes acerca de estos, pero pide estimate "predict").

En última instancia, necesitará determinar algunas estadísticas muy específicas para el problema con el que desea aplicar un filtro de Kalman. En particular, necesita generar/registrar/observar estadísticas sobre cómo la varianza de la señal de ruido que observa evoluciona con el tiempo. Se supone que el proceso que pronostica también es estocástico y, como tal, también deberá estimar sus estadísticas.

+0

Esto es realmente una versión relativamente educada de lo que trata este tema: http://meta.stackexchange.com/questions/15650/ban-lmgtfy-let-me-google-that-for-you-links . Te pido que edites tu respuesta. Si sabes qué es un filtro de Kalman entonces elabora. De lo contrario, si no lo hace, borre su respuesta. Por lo tanto, proporcione contexto y comentarios y una idea del algoritmo. Pero ganar puntos de reputación simplemente por proporcionar un enlace de Google diluye el significado de los puntos de reputación y, en última instancia, disminuye el valor de StackOverflow. – jason

+2

Wow, sabes cómo usar Google. – Greg

+1

fwiw, mi respuesta original responde a la pregunta del OP de tener el algoritmo, me complace proporcionar comentarios sobre el uso del algoritmo, pero el soporte de SO para el álgebra lineal carece de suficiente como para vincularlo con la matemática bien mantenida recursos de una universidad. Trataré de mantenerme alejado de enlaces directos en el futuro. –

Cuestiones relacionadas