Pregunta

Me gustaría usar los valores que proporciona el SensorEvent de Android para calcular los mismos valores que se especifican para Devicemotionevent.

Mi problema es la parte de la documentación de Android que se refiere a GX, GY, GZ:

 public void onSensorChanged(SensorEvent event)
 {
      // alpha is calculated as t / (t + dT)
      // with t, the low-pass filter's time-constant
      // and dT, the event delivery rate

      final float alpha = 0.8;

      gravity[0] = alpha * gravity[0] + (1 - alpha) * event.values[0];
      gravity[1] = alpha * gravity[1] + (1 - alpha) * event.values[1];
      gravity[2] = alpha * gravity[2] + (1 - alpha) * event.values[2];

      linear_acceleration[0] = event.values[0] - gravity[0];
      linear_acceleration[1] = event.values[1] - gravity[1];
      linear_acceleration[2] = event.values[2] - gravity[2];
 }

¿Qué se supone que son valores del gravity matriz referenciada en ese código? También menciona alpha, pero todavía no entiendo qué es/representa, ¿cómo funciona la ecuación (¿qué es un filtro de paso bajo? ¿Cómo determina el "constante de tiempo"? ¿Cuál es la "tasa de entrega" incluso medir?), o Por qué incluso se estableció (con bastante arbitraje) a 0.8.

Obviamente me falta en el departamento de física, pero entiendo las matemáticas. Entonces, si alguien fuera tan amable de explicar el razonamiento físico detrás, estaría muy obligado. Sé que hay explicaciones de los términos en las páginas que vinculé, pero aún no tienen sentido en mi mente, excepto que los términos coinciden con las imágenes de los ejes que el dispositivo está acelerando o girando.

¿Fue útil?

Solución

Este es un filtro digital de paso bajo. Se emplea para eliminar vibraciones (señales de alta frecuencia) de manera simple.

Alpha está entre 0 y 1. Cuanto más alto se eliminan, cuanto más vibraciones se eliminan (confía más en los valores históricos de la gravedad), por otro lado, el valor de gravedad está muy retrasado.

Tienes más información aquí: http://en.wikipedia.org/wiki/low-pass_filter , mire la sección de realización de tiempo discreto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top