Université BADJI Mokhtar Annaba Année 2015/2016
Faculté des sciences de l’ingénieur
Département d’électronique
Master 1 Réseaux et télécommunications
Suppression du bruit acoustique à l’aide du filtre LMS
Introduction et but du TP : L'algorithme des moindres carrés (Least Mean Squares « LMS ») peut être utilisé dans
une variété d'applications de traitement de signaux numériques tel que l'annulation d'écho et la réduction du bruit
acoustique. Ce TP montre comment concevoir un modèle de suppression du bruit avec LMS en utilisant Simulink et
comment l’exécuter sur un DSP Texas Instruments C6000.
Etapes à suivre :
1. Dans la barre « Help », chercher le mot clé « Wavelet Denoising »
2. Enregistrer le modèle dans un chemin autre que celui de MATLAB.
3. Changer le nom du modèle de « c6713dskwdnoisf » en « c6713_LMS_noise_reduction »
4. Changer le titre « Wavelet Denoising » par « LMS Noise Reduction »
5. Supprimer le bloc « Info »
3 4
1
6. Double clic sur le bloc « function() », le modèle « Wavelet Noise Reduction Algorithm » est maintenant
affiché
7. Supprimer tous les blocs et connecter directement l’entrée à la sortie et changer le titre
8. Double clic sur le bloc « Line in C6713 DSK ADC », changer les paramètres comme suit
2
9. Les paramètres du bloc « C6713 DSK DAC » doivent correspondre avec ceux du bloc « C6713 DSK ADC »
A. Ajout du filtre LMS
Le bloc de Simulink pour le filtre LMS se trouve dans "DSP System Toolbox".
1. Sélectionner: DSP System Toolbox => Filtering => Adaptive Filters
2. Faire glisser le bloc “LMS filter » jusqu’au modèle
B. Configuration des paramètres du filtre LMS
La variable la plus crucial dans le filtre LMS est « Step size (mu) »
Si « mu » est trop petit, le filtre a une très fine résolution, mais réagi trop lentement au signal audio
Si « mu » est trop grand, le filtre réagi rapidement, mais l’erreur devient grande.
Nous commencerons avec la valeur mu=0.005.
C. Ajout d’un délai
Aller à "DSP System Toolbox" => Signal Operations => Delay
Ajouter le bloc “Delay” au modèle
3
Puisque nous travaillons avec des trames de 64 échantillons, il est commode de configurer le retard en utilisant des
trames. Double-clic sur le bloc "Delay". Modifiez les "Delay unities» en trames. Définissez le «Delay (Frames)" à 1.
Ce qui rend le délai de 64 échantillons.
10
11
Afin que nous puissions entendre la différence avec et sans réduction de bruit utilisant le filtre LMS, nous allons
utiliser un commutateur (switch) DIP du DSK6713.
12
Le chemin pour le bloc « Switch » est: Embedded Coder => Embedded Target => Processors => Texas Instruments
C6000 => C6713 DSK => Switch
Insérer le au modèle ainsi que le bloc LED
D. Paramètres du bloc « Switch »
Double clic sur le bloc, sélectionner tous et fixer « Data type » à « Integer ». Le temps d’échantillonnage « Sample
time » doit être fixer à « -1 »
4
13
E. Ajout d'une constante, d’un commutateur (switch) et d’un opérateur relationnel
Nous devons maintenant mettre en place une façon de basculer directement entre l’utilisation ou non du modèle de
réduction de bruit basé LMS. Sélectionner Simulink => Commonly Used Blocks => Constant
F. Paramètres du bloc “Constant”
Les valeurs de commutation se situent entre 0 et 15, nous allons utiliser des valeurs de commutation 0 et 1. Double
clic sur le bloc "Constant". Définir la «valeur constante» à 1 et le «temps d'échantillonnage" à "inf". Le type de
données « Data type » compatible avec DAC C6713 est le « int16 »
14 15
G. Configuration du bloc « Relational Operator Type »
16
5
A partir de la barre d'outils, sélectionnez le « Up to Parent». Cela vous ramène à du niveau supérieur suivant
Up to Parent
H. La construction du modèle
Build Model
I. Chargement sur DSK6713
Alimenter et brancher votre carte DSP à votre ordinateur, lancer CCS.5. Aller à Window => Open perspective =>
CCS Debug