Question

Je veux filtrer les valeurs de l'accéléromètre en utilisant une moyenne mobile, comment est-ce fait? Merci

Était-ce utile?

La solution

Un simple, un seul pôle, passe-bas, filtre IIR récursive est rapide et facile à mettre en œuvre, par exemple.

xf = k * xf + (1.0 - k) * x;
yf = k * yf + (1.0 - k) * y;

où x, y sont les premières (non filtré) signaux d'accéléromètre X / Y, xf, yf sont les signaux de sortie filtrés, et k détermine la constante de temps des filtres (typiquement une valeur comprise entre 0,9 et 0,9999 ..., où un plus grand k signifie une constante de temps plus longue).

Vous pouvez déterminer k de façon empirique, ou si vous connaissez votre fréquence de coupure nécessaire, Fc, vous pouvez utiliser la formule:

k = 1 - exp(-2.0 * PI * Fc / Fs)

Fs est la fréquence d'échantillonnage.

Notez que xf, yf sont les valeurs précédentes du signal de sortie sur la partie droite, et les nouvelles valeurs de sortie sur la partie gauche de l'expression ci-dessus.

Notez également que nous supposons ici que vous allez échantillonner les signaux d'accéléromètre à intervalles de temps réguliers, par exemple toutes les 10 ms. La constante de temps est fonction à la fois de k et de l'intervalle d'échantillonnage.

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