Bonjour,

Il m'est posé le problème suivant : je dispose d'un signal (voix) bruité et je souhaite m'affranchir de ce bruit.
J'ai pensé à plusieurs solutions :

1) Appliquer un filtre numérique sur la gamme de fréquence de la voix couplé à un seuil d'énergie du signal d'entrée (qui coupera le micro en dessous d'un certain niveau sonore évitant ainsi d'avoir du bruit dans les oreilles lorsqu'on ne parle pas).
Inconvénients : on entend toujours le bruit lorsqu'on parle. La voix est également déformée si le filtre n'est pas assez sélectif.

2) Essayer de modéliser l'inverse du bruit à l'aide d'un filtre adaptatif lorsqu'on ne parle pas dans le micro et appliquer cet inverse (sous réserve de convergence de l'erreur en dessous d'un seuil à définir) au signal lorsqu'on parle dans le micro. Pour résumer, 2 modes de fonctionnement : mode "silence" lorsqu'on ne parle pas dans le micro et pendant lequel on modélise l'inverse du bruit, mode "parole" pendant lequel on applique l'inverse du bruit pour le supprimer.
Problème : je ne sais pas si c'est faisable...
En effet, si en mode "silence" l'entrée désirée est 0 tout le temps, que cette entrée passe par une boîte noire qui le transforme en ce fameux bruit, ce système n'est pas linéaire (ou alors il faut qu'on m'explique comment à partir d'une suite de zéros, on obtient une sortie non nulle). L'algo de filtrage adaptatif peut-il converger ?

Ma question se situe surtout sur la solution 2 pour laquelle je ne sais pas si elle peut donner quelque chose.

Merci d'avance à ceux qui me répondront.

Question subsidiaire : quelle différence entre un filtre numérique appliqué par un FPGA et un DSP ? D'instinct je dirais que le FPGA sera beaucoup plus rapide mais je ne suis pas sûr du tout. Des idées ?