Frage

Ich würde gerne benutzen Die Werte, die Androids SensorEvent liefert Um die gleichen Werte zu berechnen, die für angegeben sind DevicemotionEvent.

Mein Problem ist der Teil der Android -Dokumentation, die sich auf GX, GY, GZ bezieht:

 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];
 }

Was soll Werte der sein gravity Array in diesem Code verwiesen? Es erwähnt auch alpha, aber ich verstehe immer noch nicht, was es ist/darstellt, wie die Gleichung funktioniert (was ist ein Tiefpassfilter? Wie bestimmen Sie den "zeitkonstanten"? Was ist die "Lieferung" sogar misst?) Oder Warum es sogar (ziemlich willkürlich) auf 0,8 festgelegt wurde.

Ich fehlt offensichtlich in der Physikabteilung, aber ich verstehe die Mathematik. Wenn also jemand so freundlich wäre, die Physik -Argumentation dahinter zu erklären, wäre ich sehr verpflichtet. Ich weiß, dass es Erklärungen zu den Begriffen auf den Seiten gibt, die ich verlinkt habe, aber sie haben immer noch keine Bedeutung in meinem Kopf, außer dass die Begriffe Bilder übereinstimmen, von denen das Gerät entlang beschleunigt oder herumdreht.

War es hilfreich?

Lösung

Dies ist ein Tiefpass-digitaler Filter. Es wird zum Entfernen von Vibrationen (High-Freque-Signale) auf einfache Weise verwendet.

Alpha liegt zwischen 0 und 1. Je höher Alpha, desto mehr Vibrationen werden entfernt (Sie vertrauen mehr auf die historischen Schwerpunktwerte), dagegen wird der Schwerkraftwert stark verzögert.

Hier haben Sie weitere Informationen: http://en.wikipedia.org/wiki/low-pass_filter Schauen Sie sich den Abschnitt "Discrete Time Realization" an.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top