[go: up one dir, main page]

Academia.eduAcademia.edu
TRAVAUX PRATIQUES TRAITEMENT DE L’INFORMATION (DSP) Traitement numérique du signal en temps réel - Filtrage du bruit et de l’écho sur Matlab / Simulink Réaliser par : Tahar EL BAHRI Encadré par : M. Ismail LAGRAT 23 Novembre 2015 . Table des matières 1 Préliminaires 1.1 1.2 3 Généralités sur le son . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.1 Définition du son . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.2 Caractéristiques physiques du son . . . . . . . . . . . . . . . . . . . . 3 1.1.3 Caractérisation du bruit . . . . . . . . . . . . . . . . . . . . . . . . . 3 Caractérisation du bruit à l’aide d’outil Matlab et Simulink . . . . . . . . . 4 2 Caractérisation et filtrage du bruit 5 2.1 Schéma bloc de base sur Simulink . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Filtrage du bruit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3 Génération et filtrage de l’écho 11 3.1 Génération de l’écho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2 Filtrage de l’écho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1 Introduction Ce TP a pour objectif de corriger le son afin d’obtenir une bonne qualité d’un enregistrement (du son), ainsi qu’appliquer les relations et les lois vu en traitement de signal. Il a pour but de : 1. Etude théorique du son et caractérisation du bruit 2. Caractérisation et filtrage du bruit 3. Génération et filtrage de l’écho 2 1 Préliminaires 1.1 1.1.1 Généralités sur le son Définition du son Du point de vue physique, un son peut être défini comme une variation de pression qui peut être détectée par l’oreille humaine. Les variations de pression se propagent de proche en proche dans le milieu (l’air par exemple). La variation de pression est appelée pression acoustique, elle est exprimée en Pascal (1 Pa =1 N/m2). 1.1.2 Caractéristiques physiques du son La fréquence Le nombre de variations de pression par seconde est appelé fréquence, elle est exprimée en Hertz (Hz). La fréquence d’un son définit son “ ton ”, qu’on appelle aussi sa “hauteur ”. Ainsi, plus la fréquence est haute, plus le son est aigu (sifflement) ; plus la fréquence est basse, plus le son est grave (grondement). Un son composé d’une seule fréquence est appelé “ son pur ”. Généralement un son est la résultante de nombreux sons purs, de fréquences et d’amplitudes différentes. L’oreille humaine perçoit les sons dans une plage de fréquences qui s’échelonne de 20 à 20.000Hz. L’amplitude La variation de pression maximale atteinte par rapport à une pression de référence s’appelle l’amplitude du son et correspond, dans le langage courant, au “ volume ” sonore. Elle se calcule comme le rapport entre le niveau de pression acoustique mesuré (P) et le niveau de pression acoustique de référence (Po). Le niveau de pression de référence correspond approximativement au seuil de perception de l’oreille humaine ; il est égal à une pression acoustique de 2.10-5 Pa, ou 20 Pa. Le seuil de douleur, par contre, se situe à environ 20 Pa, soit une pression acoustique un million de fois plus élevée. La durée Le dernier paramètre qui caractérise un son est sa durée d’apparition. On distingue trois types de sons en fonction de leur durée : • sons continus (ex : fontaine, chute d’eau) • sons intermittents (ex. : passages successifs de trains) • sons impulsionnels (ex. : coup de fusil) 1.1.3 Caractérisation du bruit Il existe différents types de bruit : — Bruit à caractère purement aléatoire qui vient se superposer au signal utile sous une forme essentiellement additive (ex : bruit thermique dans les résistances électriques, bruit atmosphérique pour les images astronomiques...). Ces signaux aléatoires peuvent être stationnaires (à différent degré) tel quel le bruit blanc dont la densité spectrale de puissance est constante, mais également passe bande tel que le bruit blanc gaussien. — Bruit issu d’interférences entre le signal utile et d’autres signaux parasites qui ne sont pas considérés comme des bruits aléatoires (ex : phénomène de diaphonie en téléphonie...). Dans le cas du bruit à caractère aléatoire (cas le plus courant), on le modélise sous la forme d’une variable aléatoire (ou processus stochastique) afin de prendre en compte l’aspect statistique du signal. Il est également possible de caractériser le bruit de mesure par le facteur de bruit qui 3 exprime le taux de bruit ou de dégradation du rapport signal/bruit créé par le convertisseur, lors de la réception des signaux, ou par tout autre système (amplificateur, etc..). Il traduit donc sa sensibilité : moins le facteur de bruit est élevé, plus le convertisseur est de bonne qualité. Il s’exprime en kelvin ou en décibel. 1.2 Caractérisation du bruit à l’aide d’outil Matlab et Simulink Une mesure est une opération qui permet d’enregistrer des données, relatives à un phénomène physique. Dans l’idéal, on obtiendrait une mesure correspondant directement aux quantités pertinentes que l’on cherche à quantifier. Mais, dans la réalité, lorsque l’on réalise des mesures, on observe l’apparition de signaux parasites qui viennent se superposer au signal dit utile (i.e l’information que l’on souhaite récupérer). Ces signaux sont une gêne pour la compréhension de l’information que le signal transporte. Il est donc important de connaître leurs origines, de les caractériser... afin de mieux pouvoir les éliminer et de récupérer ainsi un signal le plus propre possible Un fichier audio (type Wave), doit être traité, afin de retirer le bruit qui s’est ajouté lors de l’enregistrement. La nature du bruit est une sinusoïde dont l’amplitude est assez élevée pour être audible mais la fréquence est inconnue. Mais ce que nous savons, par-contre, c’est que le bruit ne contient qu’une seule composante fréquentielle. 4 2 2.1 Caractérisation et filtrage du bruit Schéma bloc de base sur Simulink Dans ce TP on va importer un fichier audio (type Wave) au Simulink, on va le traiter, afin de retirer le bruit qui s’est ajouté lors de l’enregistrement. La nature du bruit est une sinusoïde dont l’amplitude est assez élevée pour être audible mais la fréquence est inconnue or le bruit ne contient qu’une seule composante fréquentielle. Pour pouvoir ouvrir le fichier à l’aide de Simulink, on doit ajouter le bloc « Multimedia File » à la fenêtre Simulink, et on le relie avec le bloc « To Audio device » qui se trouve dans « DSP system toolbox » pour entendre le son et un Scope. Figure 1 – Schéma bloc de base Ce bloc permet d’ouvrir un fichier disponible sur un support (disque dur, clef USB. . . ) à partir de Simulink afin de pouvoir effectuer différents traitements. Sa configuration est semblable à la figure suivante : Figure 2 – Paramètrage du bloc « Multimedia File » 5 À partir de ce point, vous pouvez effectuer toutes les opérations usuelles disponibles sur Simulink (addition, soustraction, etc. . . ) sur 1024 échantillons successifs. On peut visualiser la forme du signal après une éxeution de simulation sur Simulink : Figure 3 – Signal bruité Et le Spectrum Scope nous permet de savoir la puissance de la densité spectrale du signal, a l’aide de ce bloc on détermine la fréquence du bruit, en observant la FFT du signal qui est la suivante : Figure 4 – FFT du signal bruité 6 2.2 Filtrage du bruit Un filtre RIF est un système linéaire invariant discret dont le comportement entréesortie est caractérisé par les coefficients hi de sa réponse impulsionnelle. Le calcul de la sortie se fait grâce au produit de convolution discret et la transformée en Z permet de définir sa fonction de transfert H(z). La suite des hi est limitée par i de l’intervalle [min, max]. Le calcul de la sortie yn consiste à prendre les échantillons de x(t) dans une fenêtre de dimension finie, de pondérer par les hi, puis d’effectuer la somme : c’est une moyenne pondérée. Cette opération se réalise à chaque instant t=nTs et, pour passer à l’instant suivant, on décale d’une période d’échantillonnage la fenêtre d’acquisition : la moyenne pondérée est mobile. Cela justifie les noms parfois utilisés de filtre à moyenne mobile ou de filtre MA (Mobile Average). En supposant max>0 nous pouvons factoriser z-max dans l’expression de la fonction de transfert : Cette forme montre que les seuls pôles possibles pour un filtre RIF sont des pôles à l’origine (z=0) et la conséquence importante est que ces filtres sont assurément stables. 7 Dans cette partie on cherche à éliminer le bruit, ceci peut être fait en ajoutant un filtre passe bas : Figure 5 – Schéma bloc de filtrage La commande « fdatool », est un module disponible sur Matlab qui permet de développer et implémenter un filtre. Figure 6 – Paramètrage du filtre Le filtrage doit se faire en une seule étape, c’est-à-dire que le signal ne doit pas passer par plusieurs blocs de filtres (passage par un filtre passe-bas puis par un filtre passe-haut). 8 On peut visualiser la forme du signal après le filtrage : Figure 7 – Signal filtré par le filtre FIR On observe alors la FFT du signal filtré qui est la suivante : Figure 8 – FFT du signal filtré L’écoute des signaux confirme bien les dires. Le signal semble être mieux filtré que le signal bruité comme nous pouvions nous y attendre. Nous avions fait la remarque (en regardant l’allure du filtre) qu’il serait assez difficile de filtrer un signal audio avec ce type de filtre. Les résultats semblent confirmer ce que nous pensions. 9 Dans le domaine numérique un filtre peut être caractérisé par des coefficients. Afin de récupérer le design du filtre il suffit donc de récupérer les coefficients du module fdatool. Pour cela il faut cliquer sur l’onglet : Target -> Generate C header . . . Et configurer la fenêtre comme illustré sur la figure suivante : Figure 9 – Generate C header Figure 10 – Génération du code 10 3 Génération et filtrage de l’écho 3.1 Génération de l’écho L’écho est un phénomène acoustique de réflexion du son. Ce nom provient de la nymphe éponyme de la mythologie grecque, censée incarner ce phénomène. Il peut être simulé en utilisant un dispositif nommé chambre d’écho ou delay. A l’aide du fichier Simulink on génère un écho, ceci est fait en rassemblant les composantes suivantes : Figure 11 – Schéma bloc de génération de l’écho On visualise la forme du signal après génération de l’écho sur Simulink : Figure 12 – Signal de l’écho 11 3.2 Filtrage de l’écho Parmi les techniques d’optimisation basées sur la descente en gradient peuvent être mise en œuvre. L’algorithme du gradient stochastique ou LMS à pas constant (Least Mean Squares) est souvent utilisé dans les systèmes de filtrage adaptatif. On réalise ce schéma pour éliminer l’écho en utilisant LMS bloc : Figure 13 – Schéma bloc de filtrage par LMS Le signal est multipliée par l’erreur résultant de la différence entre le signal voulu et réel. On peut visualiser la forme du signal après le filtrage de l’écho : Figure 14 – Signal filtré par LMS 12 Conclusion Tout au long de ce TP, nous avons pu montrer les effets du filtrage numérique sur des signaux bruités. Nous avons donc pu constater l’effet du filtrage numérique des signaux générés sous MATLAB ainsi que les réponses en temporelle (notamment des signaux audios). Par suit, à l’aide de filtres FIR (filtres à réponse impulsionnelle) nous avons tenté d’extraire (donc filtrer) les signaux filtrés afin d’en tirer l’information du départ (le signal à son origine sans bruitage) dans le but de connaître les effets d’un filtrage numérique suivant le filtre utilisé. Enfin, on a mis en œuvre le filtrage de l’écho par l’algorithme LMS, on remarque qu’on peut facilement se rendre compte qu’il est très simple et facile à appliquer car elle ne nécessite des calculs ou des mesures complexes. L’algorithme LMS fournit la stabilité. 13