Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3064 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  algorithme de mesure d'harmoniques d'un signal de fréquence connu

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

algorithme de mesure d'harmoniques d'un signal de fréquence connu

n°1859742
expresseur
Posté le 10-03-2009 à 12:19:12  profilanswer
 

J'ai un signal audio numérisé .  
 
Hypothèse :  
- Je sais A PRIORI que ce signal contient une fréquence F0 connue, d'amplitude a0 ; et des harmoniques de fréquence Fk = kF0 d'amplitudes ak.  
- Le reste du signal est considéré comme du "bruit".
 
Objectif :
1- calculer les coefficients ak, en utilisant une fenêtre d'échantillonnage minimale (10 à 30 ms serait le maximum)
2- restituer le signal "bruit" sans les ak.Fk
 
Exemple d'utilisation :
- numérisation d'un LA4 (F0=440Hz) joué par un violon.  
- Extraction en continu , avec une latence de l'ordre de 10 à 30 ms, des amplitudes des harmonique à 440, 2*440, 3*440 Hz, etc...  
- Restitution du bruit indépendant du LA4 (frottements archet, etc...)
 
Je cherche un algorithme (ou un code C) le plus économique possible en calcul, en évitant une FFT standard (consommatrice, nécessite une fenêtre d'échantillonnage trop large si on veut de la précision, incompatible avec une forte réactivité).
Cela devrait être possible, car la fréquence F0 est connue à priori.
 
J'ai lu deux articles théoriques très proches de ce besoin , appelé "transformée de Fourier rapide par quart de période", mais sans détail sur un algorithme optimisé et performant. Les articles sont disponibles sur
http://documents.irevues.inist.fr/ [...] +TEXTE.pdf  
http://www.google.fr/url?sa=t&sour [...] ptVoO2lTpw .
 
Est ce que quelqu'un aurait une idée ?
 
Merci


Message édité par expresseur le 25-03-2009 à 13:49:33
mood
Publicité
Posté le 10-03-2009 à 12:19:12  profilanswer
 

n°1915944
Dagnir
El Che vive
Posté le 17-08-2009 à 18:35:37  profilanswer
 

Ca fait longtemps mais ils parlent des filtres réjecteurs de bande dans le domaine temporel dans The Art of Scientific Computing


---------------
Nous vous souhaitons de beaux rêves, c'est le cinéma gratuit.
n°1916012
karlkox
Posté le 18-08-2009 à 00:05:46  profilanswer
 

Tu peux passer par une DFT.

n°1916037
Dagnir
El Che vive
Posté le 18-08-2009 à 01:08:09  profilanswer
 

Très interessant cet article.
Par contre je comprends pas pourquoi ils disent qu'il faut garder N valeurs de sample en mémoire. Les ak, bk sont calculés à chaque nouveau sample en faisant la différence avec le sample immédiatement avant, et les N-1 valeurs précédentes du buffer ne sont pas utilisées [:columbo2]


---------------
Nous vous souhaitons de beaux rêves, c'est le cinéma gratuit.
n°1916073
esox_ch
Posté le 18-08-2009 à 09:13:13  profilanswer
 

Salut,
 
Y a 100 manières de faire ça... La DFT (tu peux utiliser d'autres trucs plus performants genre transformées en ondelettes ou avec un dictionnaire approprié) te servira a extraire les harmoniques facilement.
Maintenant pour enlever le bruit, tu peux passer par des filtres IIR ou FIR suivant tes besoins... Et là encore 100 manières de faire (chercher les polynômes caractéristiques / chercher les pôles puis modéliser un filtre analogique (type butterworth & co) et le discrétiser).
Concernant le mode de fenêtrage, là aussi plein de choix (faut un peut tester quoi ..) on utilise souvent les fenêtres de Hanning ou autres fenêtres du même genre (ça dépend des compromis que tu est prêt à faire niveau distorsion temporelle / fréquentielle)..
 
Bref on a eu un cours de 1 ans sur ce genre de truc :D ça s'improvise difficilement sur un coin de table :D
 
Si tu veux 2 excellentes références (attention, non seulement c'est des bouquins en anglais, mais ils sont extrêmement cher.. Si tu les trouves à la biblio c'est peut-être mieux)  :
 
- Digital Signal Processig ( John G. Proakis , Dimitris G. Manolakis)
- A wavelet tour of signal processing (Stéphane Mallat)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  algorithme de mesure d'harmoniques d'un signal de fréquence connu

 

Sujets relatifs
Algorithme Crible d'Ératosthène en distribué (application réparti)[C] Algorithme de Dijkstra
programmation labview pour mesure de péride de signal TORAlgorithme
[C][Linux]Que fait un programme qui reçoit un signal ?Algorithme création géométrie à partir de surfaces
Problème algorithme de DijkstraAlgorithme de graphe qui ne s'arrête pas
Optimisation algorithme d'érosion 
Plus de sujets relatifs à : algorithme de mesure d'harmoniques d'un signal de fréquence connu


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR