Bolsillo de detección de proximidad cuadrados (6 / 8 paso)

Paso 6: Filtro de Kalman

Interactive tiene un buen post sobre filtrado de datos de los sensores con el filtro de Kalman y cuenta con una biblioteca ya para ir para el Arduino.   Para aquellos interesados en los principios fundamentales y una buena introducción para el Kalman filtran por favor lea: http://www.cs.unc.edu/~welch/media/pdf/kalman_intro.pdf

También probar y explicar el filtro aquí.

Resolver de forma recursiva:
p = p + q;
k = p / (p + r); (ganancia)
x = x + k * (rssi_data-x);
p = (1 – k) * p;

Eso es todo!

Condiciones iniciales:
x = x_o (mejor conjetura)
p = p_o (error estimado)
r = r_o (ruido del sensor)
q = valor de q_o (ruido de proceso) entre 0 y 1

Parámetros en negrita quedan estáticos a través de la simulación

¿Cómo elegimos nuestros parámetros?  Elección del parámetro es difícil y requiere a menudo mucho masaje.  Para obtener una idea de cómo nosotros debemos elegir q y r, echemos un vistazo a ciertos comportamientos extremos:

  • Si q es mucho mayor que r, entonces k = 1 y x es simplemente el valor medido.
  • Si r es muy pequeño (muy, muy cerca de 0), entonces k = 1 y x es simplemente el valor medido

Esto significa que q/r o r q no debe ser demasiado grande o demasiado pequeño y r debe ser demasiado pequeño.   Otra vez, deberás de masaje el parámetro para obtener los datos que desee.  He seleccionado 3 Kalman porque es un buen equilibrio entre el tiempo de posposición y filtrado de ruido, donde como Kalman 4 filtra el ruido de muy bien, pero queda demasiado detrás de los datos.

En realidad, matemáticas/programación se puede hacer aún más sencilla si usted asume que el ruido de proceso (q) y el ruido del sensor (r) no cambian con el tiempo.  Si están convencidos de que tiene los parámetros correctos, la ganancia de Kalman (k) se estabilizarán eventualmente a un único valor.  Puede calcular previamente qué es ese valor y simplificar el filtro:
x = x + k * (rssi_data-x);

Para aquellos interesado también en filtros de Kalman se usa para datos RSSI por favor lea: http://www.cs.tut.fi/sgn/arg/heln/Publications/CSCC2001_Helen.pdf

Artículos Relacionados

Flor de Origami de detección de proximidad

Flor de Origami de detección de proximidad

Origami es el arte tradicional japonés del plegado de papel.  En este proyecto, con la ayuda de un Arduino, puede traer su origami en el siglo XXI y que sea un arte interactivo!El resultado que se muestra aquí utiliza pintura Pelada conductora para d
LED de detección de proximidad

LED de detección de proximidad

Este proyecto de la mina comenzó porque quería aprender cómo diseño mi propio circuito impreso placa (PCB). ¿Necesitaba un circuito simple y de fácil soldadura, así que elegí éste porque quien no ama a LEDs interactivos?En este Instructable yo sólo m
Frambuesa Pi - TMD26721 Detector de proximidad infrarrojo de Digital Java Tutorial

Frambuesa Pi - TMD26721 Detector de proximidad infrarrojo de Digital Java Tutorial

TMD26721 es un detector de proximidad infrarrojo de digital que proporciona un sistema de detección de proximidad completa y lógica interfaz de digital en un módulo único de 8 pines para montaje en superficie. La detección de proximidad incluye mejor
Frambuesa Pi - TMD26721 Detector de proximidad infrarrojo de Digital Python Tutorial

Frambuesa Pi - TMD26721 Detector de proximidad infrarrojo de Digital Python Tutorial

TMD26721 es un detector de proximidad infrarrojo de digital que proporciona un sistema de detección de proximidad completa y lógica interfaz de digital en un módulo único de 8 pines para montaje en superficie. La detección de proximidad incluye mejor
Arduino como un Detector de proximidad

Arduino como un Detector de proximidad

Placas Arduino pueden detectar con precisión el enfoque de la mano de varias pulgadas de distancia (no piezas necesarias), también pueden hablar. Código de demostración para cada capacidad y dos proyectos de trabajo, dispositivo de protección y TalkC
Diseño de la PCB en EAGLE

Diseño de la PCB en EAGLE

Como mencioné en mi anterior Instructable (LEDs sensor de proximidad), diseñé el circuito finalmente moverlo a una placa de circuito impreso (PCB). Este Instructable es una guía paso a paso para diseño de PCB para principiantes. Sigue el diseño que s
Tutorial Arduino: Sensores de tacto capacitivo

Tutorial Arduino: Sensores de tacto capacitivo

Hola a todos!Este instructable es un tutorial que le guiará en el uso de los sensores de tacto capacitivo con Arduino. Un sensor capacitivo es una especie de sensor táctil, que requiere poca o ninguna fuerza.En este Instructable sobre táctil capaciti
Gran tamaño pendrive felpa

Gran tamaño pendrive felpa

unidades flash USB son cada vez más pequeño y más grande en capacidad de almacenamiento de lo que es más fácil moverse y almacenar más datos y con todos los mods grandes, tales como unidades flash de Lego, goma de mascar y botella de whisky son más f
Sensor de efecto Hall

Sensor de efecto Hall

Un sensor de efecto Hall es un sensor de esa respuesta a un campo magnético.Cuando el sensor hall se pone en un campo magnético los electrones recorren se moverá a un lado del sensor. El sensor será entonces un positivo y un lado negativo y crear una
OiO - una lámpara de escritorio que tiene un alma

OiO - una lámpara de escritorio que tiene un alma

Su nombre es "oiO", él es un robot de la lámpara de escritorio, pero piensa que tiene un alma. Honestamente, no puedo negar...La idea de construir oiO, vino de mi respeto a simple objeto que se pone alrededor, que juega un grande, y generalmente
Guante de detección de posición suave-circuito

Guante de detección de posición suave-circuito

Advancer Technologies está desarrollando un guante de terapia de mano semi autónoma músculo neumático accionado para recuperación de accidentes cerebrovasculares y pacientes neurológicamente llamado ExoGlove. Parte del proyecto ExoGlove se centra en
Alarma de ladrón de bolsillo

Alarma de ladrón de bolsillo

esto es una alarma de intruso infrarrojo funcional multi que tiene (casi) sido exprimido en un encendedor zippo.Recientemente ha añadido este proyecto a mi blog, si no desea que vadear a través de todos lo que ' ness entonces este Resumen podrían ser
Paquete RFID Smart barato para la detección de humedad

Paquete RFID Smart barato para la detección de humedad

Esto es absolutamente una palabrería Instructables pido disculpas, pero su este simple concepto que sólo quería compartir con ustedes chicos, espero que lo disfruten!El objetivo de este proyecto diseñar un paquetes de sensor barato que podrían utiliz
Lámpara RGB de detección de sonido usando Arduino

Lámpara RGB de detección de sonido usando Arduino

Hola,Para comenzar con este proyecto no está terminado todavía!En este proyecto estoy haciendo una lámpara con múltiples colores con leds RGB. Mi idea es intentar dejar la lámpara cambia de color si detecta un sonido en la zona. Si te molesta de los