Question

Je voudrais utiliser les valeurs qui SensorEvent Android fournit pour calculer les mêmes valeurs qui sont spécifiées pour DeviceMotionEvent .

Mon problème est la partie dans la documentation Android qui fait référence à 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'est-ce que sont censés être les valeurs du tableau de gravity référencé dans ce code? Il mentionne également alpha, mais je ne comprends toujours pas ce qu'il est / représente, comment fonctionne l'équation (Qu'est-ce qu'un filtre passe-bas? Comment déterminez-vous la « constante de temps »? Quelle est la « livraison taux », même mesure ?), ou pourquoi il a même été (tout à fait arbitraire) à 0,8.

Il me manque évidemment dans le département de physique, mais je comprends les mathématiques. Donc, si quelqu'un serait si bon d'expliquer le raisonnement derrière la physique, je serais bien obligé. Je sais qu'il ya des explications des termes sur les pages que je Linked, mais ils tiennent toujours pas de sens dans mon esprit, sauf que les termes correspondent à des images dont les axes, le dispositif est l'accélération le long ou tournant autour.

Était-ce utile?

La solution

Ceci est un filtre numérique passe-bas. Il est utilisé pour éliminer les vibrations (signaux haute fréq) d'une manière simple.

Alpha est compris entre 0 et 1. Plus alpha plus les vibrations sont supprimées (vous faites confiance plus dans les valeurs historiques de la gravité), d'autre part la valeur de gravité est. Fortement retardée

Vous avez plus d'informations ici: http://en.wikipedia.org/wiki/Low- pass_filter , consultez la section de réalisation en temps discret.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top