Détection d'une impulsion (traitement du signal)

De la mécanique au nucléaire, nos physiciens sont à l'écoute
oss117
Messages: 6
Enregistré le: 25 Mai 2014, 10:23

Détection d'une impulsion (traitement du signal)

par oss117 » 25 Mai 2014, 10:30

Bonjour à tous,

Je suis ingénieur en informatique depuis 15 ans. J'ai étudié le traitement du signal en maîtrise de physique, mais ces cours ne me sont pas d'une grande aide pour réaliser le projet personnel sur lequel je travaille actuellement.

Je souhaiterais implémenter un logiciel capable d'interpréter une variante du code morse.

Pour rappel, le code morse permet de transmettre de l'information à l'aide d'une série d'impulsions courtes et longues. Je souhaite remplacer les impulsions courtes et longues par des impulsions aiguës et graves.

Pour parvenir à cet objectif, je dois être capable d'isoler une "impulsion" (notion qui sera détaillée ci-après) dans un flux audio, en temps réel. Une impulsion est caractérisée par une fréquence, une durée, une plage de tolérance pour la fréquence et une plage de tolérance pour la durée. Par exemple : une impulsion est définie par une fréquence de 10 kHz pendant une durée comprise entre une et deux secondes.

Dans les grandes lignes, il me semble que pour détecter une impulsion, il faut développer un algorithme qui calcule une transformée de Fourrier sur une "fenêtre glissante". Il existe des librairies qui permettent de calculer une FFT. Et l'implémentation d'un mécanisme de "fenêtre glissante" ne pose pas de problème.

Toutefois, à bien y réfléchir, il me semble que les choses ne sont pas si simples. Comment détecter et gérer, par exemple, la situation caractérisée par le fait que le signal qui représente l'impulsion et la "fenêtre glissante" se chevauchent ?

Cette question, de mon point de vue, n'est pas simple et sa résolution a probablement fait l'objet de recherches hors de portées de l'ingénieur en informatique. Je suis sûr que certaines personnes se sont déjà penchées sur la question et que des algorithmes fiables ont été développés. De plus, ces algorithmes sont certainement disponibles sous la forme de libraires de programmation qui ont fait leurs preuves.

En tant qu'ingénieur en informatique, ma démarche consiste à chercher, dans un premier temps, si de telles librairies existent. Le cas échéant, je les utilise. Je pars du principe qu'il ne faut pas réinventer la roue.

Quelqu'un aurait-il connaissance d'un nom d'algorithme pour la résolution de mon problème ?

Note : je signale que le fruit de mon travail sera publié sous licence GPL (autrement dit "Open Source" et "libre").

Merci,

Denis



 

Retourner vers ⚛ Physique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite