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