Projet audio Analyse des Signaux ELE2700
Transcription
Projet audio Analyse des Signaux ELE2700
ÉCOLE POLYTECHNIQUE DE MONTRÉAL Département de Génie Électrique Projet audio Analyse des Signaux ELE2700 Saad Chidami - 2014 Table des matières Objectif du laboratoire ............................................................................................................................... 4 Caractérisation du bruit ............................................................................................................................. 5 Filtrage ......................................................................................................................................................... 9 Implémentation sur DSP ......................................................................................................................... 11 Conclusion ................................................................................................................................................. 14 2 Liste des figures Figure 1 : Localisation du bloc « From Multimedia File »..................................................................... 5 Figure 2 : Configuration du bloc « From Multimedia File » .................................................................. 6 Figure 3 : Localisation du bloc « To Audio Device » ............................................................................ 6 Figure 4 : Test audio Simulink .................................................................................................................. 7 Figure 5 : Localisation du bloc « Spectrum Analyzer » ........................................................................ 7 Figure 6: Test audio Simulink avec analyse fréquentielle .................................................................... 8 Figure 7 : Fenêtre de configuration du module fdatool ........................................................................ 9 Figure 8 : fenêtre pour la configuration permettant la génération d’un fichier .h ........................... 10 Figure 9 : structure du code source pour le projet Audio ................................................................... 11 Figure 10 : Schéma des connections avec la carte DSP ................................................................... 12 3 Objectif du laboratoire L’objectif du laboratoire est une mise en situation « réelle », afin de mettre en pratique les notions théoriques vues en classe ainsi que les techniques et le matériel vu dans les précédents laboratoires. Mise en contexte : Lors d’un enregistrement de concert, le régisseur du son a oublié d’activer les filtres adéquats afin d’obtenir un enregistrement de bonne qualité. La compagnie d’enregistrement fait appel à vos connaissances et à votre expertise dans le domaine du traitement de signal, afin de de corriger le problème. Votre mandat est clair, vous devez effectuer ces trois étapes : • Caractérisation du bruit à l’aide d’outils comme Matlab et Simulink • Recherche et mise en place d’une solution • Test de la solution sur carte DSP Un fichier d’enregistrement, vous est donné afin de pouvoir effectuer tous les tests et analyses nécessaires. Un dossier contenant le code C de base, un compilateur vous est également fourni. 4 Caractérisation du bruit 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. Afin de pouvoir ouvrir le fichier à l’aide de Simulink, vous devez ajouter le bloc suivant à votre fenêtre Simulink : Figure 1 : Localisation du bloc « From Multimedia File » 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. Assurez-vous que la configuration est semblable que celle sur la figure 2. Et que le nom du fichier pointe sur le nom et la destination de votre fichier. À partir de ce point, vous pouvez effectuer toutes les opérations usuelles disponibles sur Simulink (addition, soustraction, etc…) sur 1024 échantillons successifs. 5 Figure 2 : Configuration du bloc « From Multimedia File » On peut accéder à la sortie audio de votre ordinateur à l’aide du bloc Simulink « To Audio Device » Figure 3 : Localisation du bloc « To Audio Device » 6 Pour tester vos configurations, vous pouvez effectuer un simple test, comme sur la figure 4, afin d’écouter le document audio qui vous est fourni, directement à la sortie de l’ordinateur. Figure 4 : Test audio Simulink Dans les laboratoires précédents, l’utilisation de scripts Matlab ont été utilisés pour calculer le spectre fréquentiel (FFT) de vos signaux d’intérêts. Il existe un bloc Simulink qui permet d’appliquer le même traitement sur le signal d’entrée. Ce bloc est disponible dans la « DSP System Toolbox » : Figure 5 : Localisation du bloc « Spectrum Analyzer » Un test simple est fourni à la figure 6 : 7 Figure 6: Test audio Simulink avec analyse fréquentielle La caractérisation du bruit nécessite les modules de base présentés dans cette section du document et la théorie acquise durant le cours. Mais un élément essentiel est l’intuition, un œil averti peut déterminer la fréquence du bruit en observant simplement la FFT. 8 Filtrage Une fois que le bruit a été caractérisé, l’étape suivante, consiste à développer un filtre qui permet d’atténuer et dans le meilleur des cas d’éliminer ce bruit. Cette étape s’inspire des laboratoires précédents. La commande fdatool 1,2, est un module disponible sur Matlab qui permet de développer et implémenter un filtre. Figure 7 : Fenêtre de configuration du module fdatool Cette étape nécessite quelques restrictions : - La méthode doit être de type FIR - La fréquence d’échantillonnage doit être de 48kHz 1 http://www.mathworks.com/help/signal/ref/fdatool.html 2 http://www.mathworks.com/help/signal/ug/opening-fdatool.html 9 - 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 passehaut). Avant d’implémenter votre filtre sur le DSP, Simulink peut être utilisé pour valider votre filtre. Récupération du filtre Dans le domaine numérique un filtre peut être caractérisé par des coefficients (voir cours). 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 8. Figure 8 : fenêtre pour la configuration permettant la génération d’un fichier .h 10 Implémentation sur DSP Un DSP est un processeur spécialisé adapté pour le domaine du traitement de signal. Pour tirer profit de la capacité de calcul, il est nécessaire d’utiliser les outils fournis par le fabricant pour implémenter des solutions réelles d’ingénierie. Dans ce laboratoire nous allons avoir un aperçu des outils disponibles. Un projet en langage C vous est fourni. Ce projet comporte tout le nécessaire pour configurer les périphériques d’entrée et sortie (ADC et DAC) et l’implémentation d’un filtre FIR. Figure 9 : structure du code source pour le projet Audio La première étape consiste à modifier le fichier main.h (à l’aide d’un éditeur texte) et d’y coller les coefficients générés par le module fdatool et de modifier également l’ordre du filtre en fonction de votre design (ne pas oublier de sauvegarder). Lancez le script « run_linux_environnment » et tapez « make all ». Ainsi votre fichier devra normalement compiler et générer un fichier binaire « Programme.bin ». 11 Connectez votre carte et lancer le programme : « STM32 ST-LINK Utility », cet utilitaire permet de programmer votre microcontrôleur : - Target -> Connect - Target -> Program & Verify Choisir le fichier « Programme.bin » en cliquant sur le bouton « Browse » Cliquer sur Start, ainsi le DSP est programmé et pour lancer le programme le bouton reset doit être appuyé. Ces étapes doivent être répétées à chaque modification du fichier « main.h » Installation sur la carte audio La carte audio est une extension matériel qui permet d’ajuster les niveaux électriques entre l’ordinateur, la carte DSP et les haut-parleurs. Placez votre carte sur la carte adaptatrice de telle façon que le port USB de programmation pointe vers l’entrée et la sortie audio. Les connecteurs doivent parfaitement s’ajuster avec les broches (point blanc sur la carte) sinon il y a un risque de briser vos cartes. Brancher la sortie audio de votre ordinateur à l’entrée de la carte DSP et les haut-parleurs à la sortie du DSP (figure 10). Figure 10 : Schéma des connections avec la carte DSP 12 Fonctionnement Pour vérifier si la carte a été bien programmée, les DELs orange et bleues doivent alterner. La carte est en attente (donc fonctionnelle). Vous devez lancer le fichier audio à traiter directement de l’ordinateur, et appuyer sur le bouton bleu (USER) de la carte, vous devez entendre le son sortir des haut-parleurs branchés à la carte DSP. Si vous alternez des pressions sur le bouton User, le filtre sera activé ou désactivé et en fonction de l’efficacité de votre filtre vous atténuerez ou éliminerez le bruit. 13 Conclusion Ce laboratoire est une introduction dans le monde de l’ingénierie et dans le traitement de signal. Arriver à développer la solution idéale ne va dépendre que de la maitrise de la théorie, la technique et la compréhension du problème. Par contre, vous avez appris qu’un problème aussi simple, ou du moins qui peut paraitre simple, nécessite beaucoup de notions fondamentales et techniques et de rigueur. Le laboratoire suivant est assez complexe en réalité, car n’importe quel traitement va altérer la qualité du signal original, mais c’est un bon exercice et libre à vous d’essayer d’améliorer la qualité de votre filtre ! 14