![Filtrage FIR pour une détection de fréquence plus fiable : 5 étapes Filtrage FIR pour une détection de fréquence plus fiable : 5 étapes](https://i.howwhatproduce.com/images/001/image-2459-5-j.webp)
Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-23 14:45
![Filtrage FIR pour une détection de fréquence plus fiable Filtrage FIR pour une détection de fréquence plus fiable](https://i.howwhatproduce.com/images/001/image-2459-6-j.webp)
Je suis un très grand fan d'akellyirl's instructable sur la détection de fréquence fiable à l'aide de techniques DSP, mais parfois la technique qu'il a utilisée n'est pas assez bonne si vous avez des mesures bruyantes.
Une solution simple pour obtenir une entrée plus propre pour le détecteur de fréquence consiste à appliquer une sorte de filtre autour de la fréquence que vous souhaitez détecter.
Malheureusement, créer un filtre numérique n'est pas facile et il y a pas mal de maths à faire. J'ai donc pensé à créer une sorte de programme pour simplifier la création de tels filtres, pour permettre à quiconque de les utiliser dans ses projets sans creuser dans les détails.
Dans ce Instructable, je vais détecter une onde sinusoïdale de 50 Hz dans une mesure bruyante avec un Arduino Uno (Arduino n'est pas vraiment nécessaire).
Étape 1: Le problème
![Le problème Le problème](https://i.howwhatproduce.com/images/001/image-2459-7-j.webp)
Imaginez que les données d'entrée mesurées ressemblent à la courbe ci-dessus - assez bruyante.
Si nous construisons un simple détecteur de fréquence comme celui d'Akellyirl's Instructable, le résultat est "-inf" ou dans le cas du code ci-dessous: "Ouais, trop de bruit…"
Remarque: j'ai utilisé à peu près tout le code d'akellyirl mais j'ai ajouté un tableau rawData en haut contenant les mesures bruitées.
Ci-dessous, vous pouvez trouver l'intégralité du code dans un fichier appelé "unfiltered.ino".
Étape 2: la solution
![La solution La solution](https://i.howwhatproduce.com/images/001/image-2459-8-j.webp)
Étant donné que les données d'entrée sont bruyantes mais que nous connaissons la fréquence que nous recherchons, nous pouvons utiliser un outil que j'ai créé appelé easyFIR pour créer un filtre passe-bande et l'appliquer aux données d'entrée, ce qui se traduit par une entrée beaucoup plus propre pour le détecteur de fréquence (image ci-dessus).
Étape 3: EasyFIR
![EasyFIR EasyFIR](https://i.howwhatproduce.com/images/001/image-2459-9-j.webp)
L'outil easyFIR est assez facile à utiliser, il suffit de télécharger le référentiel GitHub et d'exécuter le fichier easyFIR.py avec un échantillon de vos mesures (au format CSV).
Si vous ouvrez le fichier easyFIR.py, vous trouverez 5 paramètres (voir image ci-dessus) que vous pouvez et devez modifier en fonction du résultat que vous souhaitez obtenir. Après avoir modifié les 5 paramètres et exécuté le fichier python, vous verrez les coefficients calculés dans votre terminal. Ces coefficients sont cruciaux pour la prochaine étape !
Plus d'informations sur l'utilisation exacte peuvent être trouvées ici:
Étape 4: Filtrage
![Filtration Filtration](https://i.howwhatproduce.com/images/001/image-2459-10-j.webp)
Maintenant, si vous avez calculé les coefficients de filtre nécessaires, il est assez facile d'appliquer le filtre réel au détecteur de fréquence.
Comme vous pouvez le voir dans l'image ci-dessus, il vous suffit d'ajouter les coefficients, la fonction applyFilter puis de filtrer les mesures d'entrée.
Ci-dessous, vous pouvez trouver l'intégralité du code dans un fichier appelé "filtered.ino".
Remarque: un grand merci à ce Stack Overflow Post pour l'excellent algorithme d'application de filtre !
Étape 5: Profitez
![Prendre plaisir Prendre plaisir](https://i.howwhatproduce.com/images/001/image-2459-11-j.webp)
Comme vous pouvez le constater, nous sommes désormais capables de détecter un signal 50Hz même dans un environnement bruyant ?
N'hésitez pas à adapter mon idée et mon code à vos besoins. Je serais très reconnaissant d'inclure vos améliorations!
Si vous aimez mon travail, j'apprécierais vraiment que vous souteniez mon travail avec star sur GitHub !
Merci pour votre aide!:)
Conseillé:
Utiliser une chaîne stéréo automobile pour lire des MP3 sur une chaîne stéréo domestique plus ancienne : 7 étapes
![Utiliser une chaîne stéréo automobile pour lire des MP3 sur une chaîne stéréo domestique plus ancienne : 7 étapes Utiliser une chaîne stéréo automobile pour lire des MP3 sur une chaîne stéréo domestique plus ancienne : 7 étapes](https://i.howwhatproduce.com/images/009/image-26509-j.webp)
Utilisation d'une chaîne stéréo automobile pour lire des MP3 sur une chaîne stéréo domestique plus ancienne : Lecture de fichiers mp3 sur une chaîne stéréo domestique J'ai un ordinateur de cinéma maison (HTC) connecté
Capteur tactile simple, bon marché et fiable avec seulement 3 parties : 3 étapes
![Capteur tactile simple, bon marché et fiable avec seulement 3 parties : 3 étapes Capteur tactile simple, bon marché et fiable avec seulement 3 parties : 3 étapes](https://i.howwhatproduce.com/images/010/image-28003-j.webp)
Capteur tactile facile, bon marché et fiable avec seulement 3 parties : contrôler toutes sortes d'appareils électroniques avec le toucher du doigt peut être très utile. Dans ce instructable, je vais vous montrer comment construire un capteur tactile simple mais puissant qui fonctionne parfaitement. Tout ce dont vous avez besoin est un transistor standard et deux
Mesurer votre fréquence cardiaque au bout de votre doigt : Approche photopléthysmographique pour déterminer la fréquence cardiaque : 7 étapes
![Mesurer votre fréquence cardiaque au bout de votre doigt : Approche photopléthysmographique pour déterminer la fréquence cardiaque : 7 étapes Mesurer votre fréquence cardiaque au bout de votre doigt : Approche photopléthysmographique pour déterminer la fréquence cardiaque : 7 étapes](https://i.howwhatproduce.com/images/011/image-30301-j.webp)
Mesurer votre fréquence cardiaque au bout de votre doigt : Approche de la photopléthysmographie pour déterminer la fréquence cardiaque : Un photopléthysmographe (PPG) est une technique optique simple et peu coûteuse qui est souvent utilisée pour détecter les changements de volume sanguin dans un lit microvasculaire de tissu. Il est principalement utilisé de manière non invasive pour effectuer des mesures à la surface de la peau, généralement
Installation d'un dissipateur thermique Zalman VF900-Cu sur une édition Mac Radeon X800 XT pour une utilisation dans une tour Apple G5 : 5 étapes
![Installation d'un dissipateur thermique Zalman VF900-Cu sur une édition Mac Radeon X800 XT pour une utilisation dans une tour Apple G5 : 5 étapes Installation d'un dissipateur thermique Zalman VF900-Cu sur une édition Mac Radeon X800 XT pour une utilisation dans une tour Apple G5 : 5 étapes](https://i.howwhatproduce.com/images/005/image-14266-10-j.webp)
Installation d'un dissipateur thermique Zalman VF900-Cu sur une édition Mac Radeon X800 XT pour une utilisation dans une tour Apple G5 : l'avertissement standard - C'est ainsi que je l'ai fait. Cela a fonctionné pour moi. Si vous faites exploser votre G5, Radeon X800 XT, ou votre maison, voiture, bateau, etc. Je ne suis pas responsable ! Je fournis des informations basées sur mes propres connaissances et expériences. Je crois que tout st
Configurer le filtrage de contenu Web en 4 étapes avec Ubuntu : 5 étapes
![Configurer le filtrage de contenu Web en 4 étapes avec Ubuntu : 5 étapes Configurer le filtrage de contenu Web en 4 étapes avec Ubuntu : 5 étapes](https://i.howwhatproduce.com/images/005/image-14682-41-j.webp)
Configurer le filtrage de contenu Web en 4 étapes avec Ubuntu : En tant qu'informaticien, l'une des choses les plus courantes que me demandent mes collègues est de savoir comment ils peuvent contrôler les sites auxquels leurs enfants peuvent accéder en ligne. C'est très facile à faire et gratuit avec Ubuntu linux, dansguardian et tinyproxy