Salut à tous,
J'ai eu cette année l'occasion de toucher aux filtres analogiques et numériques. Ces derniers m'intéressent actuellement en tant que curiosité personnelle
On a fait récemment une application en TP où il fallait filtrer un bruit de fond sur une légère piste sonore (quelques secondes).
A l'heure actuelle, mon idée pour m'occuper est de récupérer sur un flux vidéo (si possible de mauvaise qualité vous vous doutez bien pourquoi) la piste sonore, la convertir en mp3 et l'envoyer manger à matlab.
J'ai déjà résolu le problème que matlab ne lit pas nativement les mp3, mais sur google on peut trouver en 3 liens une toolbox gratuite qui fait ce boulot, et même très bien!
Mon idée est donc de développer sous simulink avec l'aide de la toolbox fdatool plusieurs petits filtres.
Je voudrais récupérer la piste sonore débruitée et dans le même temps le bruit histoire de pouvoir les tripatouiller avec une fft et les jouer avec le lecteur de la toolbox.
Je rencontre plusieurs problèmes:
Le 1er c'est la fft... C'est des beaux maths, ça marche généralement bien en continu, mais dès qu'on passe en temps discret ça devient folklorique. Je voudrais donc savoir si vous connaissez une procédure propre pour réaliser correctement une fft et en sortir la densité spectrale de puissance derrière sous matlab?
Je précise que je l'ai déjà fait pour une sbpa de 7 éléments, et l'idée du prof était de rajouter 100 zéros derrière (zero-padding?), là j'ai un fichier de près de 60 000 points de mesures donc si on peut m'expliquer un peu comment ça fonctionne je suis preneur
Ensuite, le son s'étalant de 12Hz à 20Khz, il me faut pour respecter shannon un échantillonnage à 40Khz au moins pour juste éviter le repliement spectral. Problème, sur ma piste sonore c'est échantillonné à 22Khz. J'ai vu qu'on pouvait utiliser la commande "rsample" pour retravailler l'échantillonnage. Est-ce que je peux donc faire un suréchantillonnage sur mon enregistrement a posteriori?
Enfin, concernant le dimensionnement du filtre, est-ce que vous avez un mémo pour déterminer la fréquence de coupure pour ce genre d'application et la méthode à utiliser, une sorte de todo list? Je vous avouerai que j'ai mon cours qui est très complet là dessus (plus de 150 pages) mais c'est toujours fastidieux de fouillé donc si je peux mettre la main sur un résumé de la façon de faire, je suis preneur!
Après j'envisage éventuellement d'utiliser matlab compiler pour en faire une petite application portable, à titre "d'amusement" me concernant!
Merci!
-----