Android filtre passe-Bas et passe-Haut filtre
J'ai une question très simple.
Qu'est-ce que le filtre Passe-Bas et Passe-Haut du filtre dans le cas d'Android Accéléromètre?
Quand je vois la sortie de l'Accéléromètre Capteur, je vois Si je n'utilise pas de filtre, (Cas : j'ai gardé mon téléphone cellulaire ralenti sur la table) je reçois de l'Axe des z +ve de la valeur. Maintenant, Si je pense à l'aide de la physique de base, il me donne la valeur exacte(9.8 environ) pour les petits g je.e de l'Accélération due à la gravité.
Pour obtenir l'accélération linéaire, Si j'ajoute de la force pour téléphone, il va changer l'Accéléromètre de la valeur, mais il sera g + a
que j'ai appliqué. Donc, pour obtenir a
pourquoi ne puis-je pas juste soustraire directement à partir de la valeur que je reçois de l'Accéléromètre?
Ce qui est de l'utilisation?
Définition de base je comprends pour passe-bas : Pour permettre de faible valeur, Passe-Haut : pour permettre À plus haute valeur.
Merci de m'aider à le comprendre. Je suis confus avec ce.
Vous devez vous connecter pour publier un commentaire.
Si vous regardez la documentation, vous verrez que SensorEvent retourne un tableau qui représente le vecteur de toutes les forces.
http://developer.android.com/reference/android/hardware/SensorEvent.html#values
C'est la façon dont les composantes de l'accélération de briser dans chaque axe:
Vous avez besoin pour trouver la direction de la pesanteur est de l'exploitation puis à le décomposer en ses éléments constitutifs. L'ampleur de la force de gravité sera toujours 9.8 mais la direction, et donc comment il se décompose en composants, va changer. En supposant que nous pourrions obtenir la valeur de la gravité et de stocker ce vecteur dans un tableau comme
gravity[3]
:L'accélération totale,
T
, sur le téléphone estT = g + a
. Pour obtenir justea
nous aurions besoin dea = T - g
:Remarquez comment ce calcule tout élément par élément, car c'est un vecteur de l'opération.
La partie difficile est de trouver
gravity
car il n'est qu'un accéléromètre du téléphone qui mesure à la fois de la gravité ET de l'autre des forces en même temps. Nous avons 2 les différentes forces que nous voulons trouver de l'un capteur. Si seulement nous pouvions regarder les forces en un point isolé dans le temps, nous ne serions pas en mesure d'extraire l'information. Cependant, nous ne pouvons obtenir des échantillons sur une plage de temps et en observant comment les forces de changement au fil du temps, nous pouvons extraire les informations.Cela signifie que nous avons besoin de filtrer les résultats provenant de la source en fonction de la rapidité à laquelle ces forces de changement. L'ampleur de l'accélération due à la gravité ne change pas rapidement, car elle ne change pas du tout. La gravité est une force constante. Toutefois, d'autres forces de changement au fil du temps. Si on filtre la lente évolution des forces comme la gravité à l'aide d'un filtre passe-haut puis le reste des forces de l'évolution rapide comme les forces appliquées sur le téléphone. C'est pourquoi le filtre passe-haut est utilisé.
Filtre Passe-bas: transmet des signaux à basse fréquence et réduit l'amplitude des signaux à des fréquences supérieures à la fréquence seuil
Filtre Passe-haut: transmet des signaux à haute fréquence et réduit l'amplitude des signaux à des fréquences inférieures à la fréquence seuil
Si vous regardez la la documentation, il est dit: "afin de mesurer la véritable accélération de l'appareil, la contribution de la force de gravité doit être éliminé. Ceci peut être réalisé par l'application d'un filtre passe-haut. À l'inverse, un filtre passe-bas peut être utilisé pour isoler la force de gravité."
Vous pouvez consulter ce tutoriel sur le filtrage passe-bas: http://www.raweng.com/blog/2013/05/28/applying-low-pass-filter-to-android-sensors-readings/
La lecture de la documentation à http://developer.android.com/reference/android/hardware/SensorEvent.html#values, vous pouvez voir que vous pouvez accéder à la un valeurs de x,y,z de l'axe en faisant:
De sortie de l'accéléromètre comprend bruit si vous soustrayez directement à partir de ces valeurs que sont notamment le bruit. Pour éliminer le bruit, il est nécessaire de mettre en œuvre des filtres passe-bas et passe-haut.
J'ai l'habitude d'utiliser cette formule Pour filtrer les données de la accelometer des données de capteur provenant de capteur linéaire(comme le gyroscope) de données.
L'utiliser si vous n'êtes pas sûr, il est intégré dans le capteur Gyroscopique.