La classe LowPassFilter peut être utilisée en spécifiant un filterFactor ou en spécifiant la fréquence du signal que l'on désire filtrer (cutOffFrequency). Le filterFactor sera alors calculé afin de coller au mieux à la fréquence à supprimer.
A gauche, filtrage en spécifiant la fréquence du signal à effacer (20 Hz). On constate que le signal filtré reste bruité. A l'inverse à droite avec un signalFactor poussé au maximum sans se soucier de la fréquence visée on obtient un bien meilleur résultat.
Traqueurs sportif. Tracking. I.O.T. Internet des objects. WIFI, Bluetooth, reconnaissance de mouvement, gesture recognition. Android, iOS. Skate, surf, snow. Objets connectés.
contact: developer [at] code-flakes [dot] com
dimanche 23 octobre 2016
Test du filtre passe haut ( High Pass Filter ) sur GRT
Classe HighPassFilter de la bibliothèque Gesture
Recognition Toolkit.
Sur un triple signal artificiel de test
respectivement à : 1Hz, 2Hz et 4Hz.
En jouant sur le paramètre filterFactor acceptant
des valeurs de 0.0 à 1.0.
Une première observation est que comme pour le filtre passe bas on retrouve des artefacts sur le début des échantillons du fait du principe de fonctionnement temps réel (traitement séquentiel des points de données) de la lib GRT.
Une première observation est que comme pour le filtre passe bas on retrouve des artefacts sur le début des échantillons du fait du principe de fonctionnement temps réel (traitement séquentiel des points de données) de la lib GRT.
![]() |
Artefact de début de traitement sur un signal temps réel |
Les captures d'écran suivantes montrent l'effet du filtre passe haut avec un filterFactor moyen puis maximal. Avec le filtre moyen on conserve la composante faible fréquence du sinus principal, avec le filtre fort on a complètement perdu la sinusoïde principale et l'on ne voit plus que la sinusoïde de bruit à 20 Hz.
![]() |
Disparition progressive de la composante de faible fréquence. Dans ces captures, le début de signal a été tronqué de 100ms pour masquer l'artefact de début d'échantillon. |
Libellés :
android studio,
artefact,
filter,
filtre,
GRT,
high pass,
passe haut,
sinus,
temps réel
dimanche 16 octobre 2016
Test du filtre passe bas ( Low Pass Filter ) sur GRT
Classe LowPassFilter de la bibliothèque Gesture Recognition Toolkit.
Sur un triple signal artificiel de test respectivement à : 1Hz, 2Hz et 4Hz.
En jouant sur le paramètre filterFactor acceptant des valeurs de 0.0 à 1.0.
Quelques tests sur un signal non bruité montrent que le signal est bien conservé. Au fur et à mesure que l’on augmente le filterFactor on peut voir que le signal est de plus en plus dégradé au début de l’échantillon de test. Ceci est dû au principe temps réel de fonctionnement des filtres de la bibliothèque GRT. En effet celle ci n’applique pas le filtre en l’analysant dans son entièreté mais en prenant chaque point de donnée l’un après l’autre afin de pouvoir fonctionner sur un signal de taille infini et parvenant en temps réel. Par conséquent au début de l’échantillon le filtre n’a pas assez d’historique pour donner des résultats corrects.
Deuxième test sur le même signal bruité par un bruit sinusoïdal à 20 Hz. On peut voir l’efficacité grandissante du filtre avec l’augmentation du filterFactor jusqu’au point de retrouver le signal d’origine non bruité.
A noter qu’aucun de ces tests ne prennent en compte l’utilisation des paramètres cutOffFrequency et Delta également disponibles sur la lib.
Quelques tests sur un signal non bruité montrent que le signal est bien conservé. Au fur et à mesure que l’on augmente le filterFactor on peut voir que le signal est de plus en plus dégradé au début de l’échantillon de test. Ceci est dû au principe temps réel de fonctionnement des filtres de la bibliothèque GRT. En effet celle ci n’applique pas le filtre en l’analysant dans son entièreté mais en prenant chaque point de donnée l’un après l’autre afin de pouvoir fonctionner sur un signal de taille infini et parvenant en temps réel. Par conséquent au début de l’échantillon le filtre n’a pas assez d’historique pour donner des résultats corrects.
![]() |
Filtre passe bas de plus en plus fort sur signal sinusoïdale |
![]() |
Filtre passe bas de plus en plus fort sur sinusoïdale bruitée |
Inscription à :
Articles (Atom)