Dernière mise à jour :
31/08/2025
Présentation
Ce décodeur de tonalité est le second basé sur une "reconnaissance d'un
son" effectuée par un
logiciel dédié à un microcontrôleur. Il travaille sur une base
logicielle similaire à celle mise en oeuvre dans mon
décodeur
de tonalité 003 à base de PIC24F.
Ce
circuit a été étudié pour détecter la présence de bips sonores de
fréquence fixe et de durée 300 ms diffusés "en public" lors d'une
séance de tirs en compétition, bips destinés à commander l'allumage ou
l'extinction d'une lampe "Attente" ou "Autorisation de tir".
Contraintes (cahier des charges)
Les
bips étant accompagnés de directives parlées, le montage devait
pouvoir faire la distinction entre une voix humaine (paroles)
et des bips
sonores (tonalité fixe). La reconnaissance des bips
est assurée par comptage
des périodes du signal audio analysé. Pour détecter et valider la
présence d'un
bip, le logiciel doit avoir comptabilisé un certains nombre de périodes
dans un laps de temps donné. Ici, l'analyse porte sur un signal dont la
fréquence est d'environ 1350 Hz et la durée minimale de ce signal (pour
validation de la détection) est de 100 ms, ce qui signifie que 135
périodes "identiques" sont requises. Bien sûr, le système accèpte
quelques "erreurs" telles que "trou ou doublon" exceptionnels dans le
comptage, la captation sonore ne pouvant pas être parfaite (surtout
quand elle est réalisée avec un microphone). A la présence de ces
"erreurs" peut s'ajouter une légère variation de fréquence du signal
supposée fixe, ce qui impose l'acceptation d'une certaine
tolérance sur la fréquence du signal analysé. Dernier point critique,
l'amplitude du signal capté par le
microphone, amplitude qui peut varier dans de larges proportions.
Il
est certain qu'un raccord direct à la source audio avant son
amplification et sa diffusion publique aurait été préférable... on fait
avec ;)
Schéma
Le schéma qui suit est complet, régulation d'alimentation comprise.
Pour un fonctionnement optimal, ce circuit est associé à un filtre
audio de type passe-bande étroit.
Fonctionnement général
Le système fonctionne avec un signal
audio dont l'amplitude crête à
crête est comprise entre 300 mV et 3 V. La sortie Out_P
(Out_Pulse)
délivre une impulsion non maintenue qui perdure le temps de la durée du
bip, alors que la sortie Out_L (Out_Latch) change
d'état au
moment du bip sonore suivant (verrou on/off). La polarité de la sortie
Out_L au démarrage est définie par l'état logique appliqué à
l'entrée Mode :
- Mode = 1
=> Out_L = 1 lors de la mise sous tension du système
- Mode = 0 =>
Out_L = 0 lors de la mise sous tension du système
La distinction paroles / bips est principalement assurée par
analyse de la régularité des périodes successivement acquises.
Remarque
: aucune décomposition de Fourrier (FFT) n'est mise en oeuvre ici
(le PIC utilisé aurait bien du mal à suivre).
Filtrage
Afin de limiter les risques de déclenchement intempestifs (consignes
parlées et bruit ambiant), un filtrage énergique
est fortement conseillé. Les graphes qui suivent donnent un
aperçu
de
l'efficacité du filtre utilisé avec le décodeur de tonalité proprement
dit.
La courbe inférieure rouge représente le signal entrant non filtré
(signal réel fortement bruité) tandis que la courbe supérieure verte
représente le signal audio filtré.
Contenu des graphes, de
gauche à droite :
- paroles humaines avant et après les bips (bips au centre)
- premier bip seulement, dans sa globalité
- zoom sur une partie du premier bip
Le graphe suivant atteste du comportement du décodeur de tonalité 004
en
présence de ces signaux sonores distincts, à savoir voix humaine (au
début
et à la fin de la séquence audio) et bips sonores (au milieu).
Fréquence
des
bips comprise entre 1000 Hz et 1500 Hz (ajustage effectué ici pour F =
1350 Hz).
La ligne Debug renseigne simplement sur la détection des signaux
audio, quelle que soit leur nature (parole ou bip), la sortie du même
nom n'est pas utilisée dans le circuit définitif. Les lignes Out_Pulse
et Out_Latch montrent que seuls les bips sont bien pris en compte.
Petit détail : ici, le filtre d'entrée audio n'a pas encore été
activé et cela fonctionne déjà bien... Avec le filtre, c'est encore mieux.
Procédure de réglage
La procédure de réglage consiste à ajuster les paramètres suivants :
- centrage de la fréquence de détection sur celle des bips
sonores (entre 1000 Hz et 1500 Hz, par défaut 1350 Hz)
- tolérance sur la fréquence centrale (entre +/-1 Hz et
+/-100 Hz, par défaut +/-10 Hz)
- sensibilité (seuils de détection des passages par zéro du
signal audio)
- état logique de la sortie Out_Latch lors de la mise sous
tension
Les trois premiers réglages sont assurés par des
potentiomètres dont la
lecture est assurée en mode réglage (interrupteur
SW1/Set fermé). Le dernier réglage dépend de la position de
l'interrupteur (ou cavalier) SW3.
Alimentation
Le système requiert une alimentation simple (unique) de 3V3. Un
régulateur de tension intégré fournit cette tension à partir d'une
source mono-tension comprise entre +5V et +9V.
Circuit imprimé (PCB)
Non réalisé, vue 3D uniquement pour aperçu/illustration.
Historique
31/08/2025
- Première mise à disposition.