Introduction aux filtres

Les filtres sont parmi les outils les plus couramment utilisés dans la technologie moderne et trouvent de nombreuses applications en robotique à la fois dans le traitement du signal et dans les commandes. La compréhension de la notion de filtre est cruciale pour comprendre l’utilité des différents types de filtres fournis par WPILib.

Qu’est-ce qu’un filtre?

Note

Pour les besoins de cette section, nous supposerons que toutes les données sont des données chronologiques unidimensionnelles. De toute évidence, les concepts impliqués sont plus généraux que cela - mais une discussion complète et rigoureuse des signaux et du filtrage sort du cadre de cette documentation.

Alors, c’est quoi un filtre? D’une façon simple, un filtre est une modélisation d’un flux d’entrées à un flux de sorties. C’est-à-dire que la valeur de sortie émise par un filtre peut dépendre (en principe) non seulement de la valeur actuelle de l’entrée, mais de l’ensemble des valeurs passées et futures (en pratique, les filtres fournis par WPILib utilisent des données en temps réel, par conséquant ils ne peuvent traiter que des valeurs passées de l’entrée, et non des valeurs futures). C’est un concept important, car généralement nous utilisons des filtres pour supprimer / atténuer la dynamique indésirable d’un signal. Lorsque nous filtrons un signal, nous souhaitons modifier la façon dont le signal change au fil du temps.

Effets de l’utilisation d’un filtre

Réduction du bruit

L’une des utilisations les plus courantes d’un filtre est la réduction du bruit. Un filtre qui réduit le bruit est appelé filtre passe-bas (car il permet aux basses fréquences de «passer» tout en bloquant les hautes fréquences). La plupart des filtres actuellement inclus dans WPILib sont effectivement des filtres passe-bas.

Limitation du débit

Les filtres sont également utilisés pour réduire la vitesse à laquelle un signal peut changer. Ceci est étroitement lié à la réduction du bruit, et les filtres qui réduisent le bruit ont également une tendance à limiter le taux de variation de leur sortie.

Détection des transitions (Edge)

Le pendant du filtre passe-bas est le filtre passe-haut, qui ne laisse passer que les hautes fréquences vers la sortie. Les filtres passe-haut peuvent être quelque peu difficiles à saisir à prime abord, mais une utilisation courante pour un filtre passe-haut est la détection de transitions - puisque les filtres passe-haut refléteront les changements soudains dans l’entrée tout en ignorant les changements plus lents, ils sont utiles pour déterminer l’emplacement des discontinuités nettes dans le signal.

Décalage de phase

Un effet négatif inévitable d’un filtre passe-bas en temps réel est l’introduction du «retard de phase». Comme mentionné précédemment, un filtre en temps réel ne peut dépendre que des valeurs passées du signal (nous ne pouvons pas voyager dans le temps pour obtenir les valeurs futures), la valeur filtrée prend un certain retard sur la valeur de l’entrée, lorsque cette dernière commence à changer. Plus la réduction du bruit est importante, plus le retard introduit est important. C’est, à bien des égards, le compromis fondamental du filtrage en temps réel, et cela devrait être le principal facteur déterminant de la conception de votre filtre.

Fait intéressant, les filtres passe-haut introduisent une avance de phase, plutôt qu’un retard de phase, car ils aggravent les changements locaux de la valeur de l’entrée.