2013-10-01 3 views
0

Je suis en train de faire un peu de traitement de signal à l'aide d'un fichier audio (enregistrements de piano) je trouve les notes et onsets Effectuez ensuite l'opération FFT sur chaque apparition. Cependant je trouve que pour certaines notes leur 2ème harmonique a une amplitude bien supérieure à celle fondamentale ... Pourquoi est-ce ??? Comment puis-je éliminer cela et la fréquence correcte ??Traitement du signal en utilisant Matlab

Répondre

1

Démarrer à l'aide d'un filtre passe-bas pour couper certaines des harmoniques d'ordre supérieur. Si les enregistrements de piano que vous essayez de traiter ont été enregistrés dans une plage de 3 octaves, cela devrait aider considérablement.

Ensuite, essayez d'ajuster votre amplitude d'onde. Voici un article qui traite de la façon dont la distorsion harmonique se dégrade un signal, et comment vous pouvez échanger le rapport signal-bruit pour distorsion harmonique.

http://www.mathworks.com/help/signal/examples/analyzing-harmonic-distortion.html

Si vous voulez plus d'une solution intégrée à la maison sans filtrage du signal, voici ce que je vais essayer, en supposant que l'amplitude maximale du signal correspond soit à la base, 2ème harmonique ou harmonique 3 1) Trouvez la fréquence f du signal maximal 2) Si le signal à f/2 ou f/3 est beaucoup plus grande que le plancher de bruit, appelez cette fréquence votre fondamentale

Alternativement, 1) Trouvez la fréquence f le signal maximum 2) recherche ci-dessus dans l'intervalle [f/2, 2 * f] et trouver le pic neare st f. 3) On suppose la différence entre f et le pic le plus proche est égal à 1 à la fréquence fondamentale.

Vous devrez adapter ces méthodes à vos données. Assurez-vous que vos données ne présentent pas uniquement des harmoniques d'ordre impair ou ont des harmoniques d'ordre élevé très fortes. Ces méthodes ne fonctionneront pas bien si plusieurs notes sont jouées simultanément.

Vous pouvez également essayer de corriger vos données pour la sensibilité de l'oreille humaine, car cela peut être la raison pour laquelle les 2èmes harmoniques sont plus forts sur une FFT que ce que l'oreille détecte par rapport à la fondamentale. Voir http://en.wikipedia.org/wiki/Absolute_threshold_of_hearing

Questions connexes