Vous êtes sur la page 1sur 5

EHTP, Casablanca Maroc A.

U 2020-2021

Principes des systèmes de Télécommunication et Traitement du signal


Projet 1 de traitement du signal

Filtrage d’un signal musical affecté par un bruit


L’objectif de ce projet est de localiser une interférence affectant un signal musical.

Les étapes de la réalisation de ce projet

Etape I Préparation d’environnement

1. Lire le fichier musical contenu dans le fichier Audio.wav


2. Récupérer la fréquence, la durée et le nombre de bits sur le quel est enregistré ce signal
3. Créer un vecteur temps pour tracer un certains nombre de points de signal l’équivalent d’une
seconde du temps, donner les labels aux différents axes, pour voir comment le signal son.
4. Calculer le spectre du signal music pour différents blocs de 16384-pts, créer une vectrice
fréquence sur lequel vous aller tracer le spectre de ce signal.
5. Vérifier que la partie informative dans le signal son est bien en dessous de la fréquence 5KHz.

Etape II Création d’interférence


Imaginez que vous êtes dans le votre studio d'enregistrement à domicile, et vous venez
d'enregistrer ce que vous sentez une "prise parfaite" d'un solo de guitare pour une chanson que
vous enregistrez, mais vous découvrez que quelqu'un avait allumé un certain dispositif
électronique à proximité qui a causé un rayonnement électromagnétique qui a été capté par
l’équipement audio l'électronique et a été enregistré avec le solo de guitare. Plutôt que d'essayer
de recréer cette "prise parfaite" vous décidez que peut-être vous pouvez créer un filtre numérique
pour la supprimer.

Interf Mémoire Mémoire


Amp C Filtre
numériqu

C
N
Amp
Figure 1 : Manipulation pour le filtrage du son affecté

L’objectif est d’étudier deux cas différents :


i. Une tonalité aiguë qui se trouve au-dessus de la partie importante du spectre du signal de
la guitare, une fréquence de 10 KHz
ii. ii. Une interférence aiguë qui se trouve au milieu du spectre de signal de la guitare une
fréquence de 3 KHz

Par : Dr. Rachid Saadane


Ajout de la haute fréquence au signal
1. Créer une sinusoïde de fréquence 10 KHz échantillonnée avec la même fréquence
d’échantillonnage du signal son, avec une amplitude de 1.
2. Créer un vecteur temps pour tracer les 16384-pts de signal sinusoïdal l’équivalent de
quelques secondes du temps, donner les labels aux différents axes, pour voir comment le
signal son.
3. Calculer le spectre du signal sinusoidal pour différents blocs de 16384-pts, créer une
vectrice fréquence sur lequel vous aller tracer le spectre de ce signal.
4. Ajouter ce signal sinusoidal au signal music pour créer le signal musical interféré avec cette
fréquence 10 KHz (appeler ce signal x_10 pour indiquer qu’il contient une interférence 10
KHz.
5. Ecouter le signal x_10 en utilisant la commande sound de Matlab, vos remarques et vos
constations.
6. Trace dans le temps les 50000 points des deux signaux, le signal avec interférence et sans
interférence. Alors ?
7. Calculer et tracer le spectre du signal affecté. Comparer les deux spectres, avec et sans
interférence.
8. Vérifier que l’interférence est bien hors le spectre audible (hors la portion significative du
signal guitare).

Etape III Conception du filtre


Matlab contient beaucoup de routines « des fonctions » qui permettent la conception et la réalisation
des filtres numérique à réponse impulsionnelle finie, ces filtres ne nécessitent aucune information de
la sortie « sans feedback », donc n’ont pas de pôles, automatiquement son stable toujours. Ces filtres
forment la grande majorité de filtres utilisés dans la pratique.
1
Un filtre à réponse impulsionnelle finie RIF est donné par 𝑦[𝑛] = {𝑥[𝑛] + 𝑥[𝑛 − 1] + 𝑥[𝑛 − 2]} , ou
3
bien d’une manière générale 𝑦[𝑛] = ∑𝑁 𝑖=1 𝑏𝑖 𝑥[𝑛 − 𝑖].
Avec 𝑁 désigne l’ordre du filtre et 𝑏𝑖 dénotent les coefficients du filtre, la figure 2 présente les
spécifications d’un filtre basse bas.

Ondu
Atténua

Figure 2 : Spécification d’un filtre passe bas

Ces filtres sont très faciles à concevoir en utilisant des outils basés sur des logiciels. Nous allons utiliser
les routines que MATLAB offre pour la conception des filtres RIF appelés. Ces routines sont remezord.m

Par : Dr. Rachid Saadane


et remez.m. La fonction remezord donnera une estimation de l'ordre du filtre RIF nécessaire pour
atteindre les spécifications fournies. La fonction remez.m donnera ensuite la conception requise.

Etape IV les étapes de la conception du filtre passe bas


1. Utilisez les commandes "remezord" et "remez" pour concevoir le filtre passe bas pour avoir :
- 60 𝑑𝐵 d’atténuation dans la bande coupée pour le signal indésirable
- 1 𝑑𝐵 d’ondulation de bande passante
- Limite de bande passante à 7 𝑘𝐻𝑧
- Limite de bande d'arrêt à 9 𝑘𝐻𝑧.
2. Tracer de voir pourquoi 60 𝑑𝐵 d'atténuation est un choix raisonnable.
Utiliser la variable 𝑏𝑖 pour stocker le vecteur qui contient les coefficients du filtre RIF
3. Tracer la réponse impulsionnelle du filtre, pour un filtre RIF, il est facile de montrer que la réponse
impulsionnelle n'est rien que les coefficients 𝑏𝑖 dans son équation aux différences donnée
par 𝑦[𝑛] = ∑𝑁 𝑖=1 𝑏𝑖 𝑥[𝑛 − 𝑖].
4. Calculer et tracer la réponse fréquentielle du filtre
5. Tracer les pôles et les zéros du filtre
Aide pour la conception du filtre
%%%%%% Conceptiondu filter passé bas %%%%%%%%%
% Spécification du filtre passe bas:
% · Fréquence Limite de la bande passante = 7 kHz
% · Fréquence Limite de la bande coupée = 9 kHz
% · Fréquence d’échantillonnage = 44.1 kHz (fréquences d’intéret de 0 à 22.05 kHz)
% · l’atténuation de la bande coupée 60 dB
% · ondultion de 1 dB à la bande passante
rp=1; rs=60; % spécification d’ondulation à la bande passante & l’atténuation en dB
f_spec=[7000 9000]; % les fréquences limites de la bande passante et coupée
AA=[1 0]; %%% indique le filter desiré est un passé bas
dev=[(10^(rp/20)-1)/(10^(rp/20)+1) 10^(-rs/20)]; % parms. Nécessaires pour la conception
Fs=44.1e3;
[N,fo,ao,w]=remezord(f_spec,AA,dev,Fs) % estimation de l’ordre est d’autres paramètres.
b=remez(N,fo,ao,w); % Calcule les coefficients b_i du filtre souhaité
[H,ff]=freqz(b,1,1024,Fs); % Calcule la réponse fréquentielle.
Etape IV suppression de l’interférence
Utilisez le filtre conçu pour éliminer l'interférence
1. filtrer x_10 en utilisant le filtre passe bas pour obtenir x_10_out la variante filtrée du signal
affecté, pour cela utiliser la commande y = filtre (b, a, x) qui permet de filtrer les données du
vecteur x par le filtre décrit par des vecteurs a et b, pour créer les données filtrées y. Les
𝑁
vecteurs a et b sont des coefficients de l'équation de différence suivante ∑𝑖=1
𝑎
𝑎𝑖 𝑦[𝑛 − 𝑖] =
∑𝑁𝑖=1 𝑏𝑖 𝑥[𝑛 − 𝑖], 𝑎 = [𝑎0 𝑎1 𝑎2 … 𝑎𝑁 𝑎 ] et 𝑏 = [𝑏0 𝑏1 𝑏2 … 𝑏𝑁𝑏 ], dans le cas d’un filtre RIF 𝑎 =
𝑏

[𝑎0 ] = 1.
2. Evaluer les performances du filtre conçu
 Comparer x_10_out, x_10, et dans le domaine fréquentiel. Utiliser les tracés des signaux.
 Comparer x_10_out, x_10, and x dans le domaine temporel. Utiliser les tracés des signaux.
 Ecouter le signal guitare, utiliser la commande sound de Matlab.

Par : Dr. Rachid Saadane


 Le filtre introduit un retard dans le signal filtré, proposer une méthode pour corriger ce
retard, tracer les signaux avant et après correction. Ecouter le signal guitare filtré corriger
(𝑁+1)
en utilisant la commande sound de Matlab, le filtre introduit un retard de l’ordre de ,
2
sachant que N est l’ordre du filtre.
Etape V création et filtrage d’une interférence à la fréquence 3 KHz du signal
Supposons que maintenant l'interférence est une sinusoïde de fréquence 3000 Hz. Maintenant, vous
ne pouvez pas simplement concevoir un filtre passe-bas pour supprimer cette interférence parce qu'il
faut filtrer juste des fréquences autour de 3000 Hz et laisser le reste « avant et après cette fréquence ».
1. Comme un test, changer la conception de filtre passe-bas ci-dessus pour avoir une fréquence
de coupure de 2500 Hz pour la bande passante et une fréquence de coupure de 2900 Hz pour
la bande coupée et appliquer ce filtre au signal original sans interférence.
2. Tracer et comparer ce signal avec l’original dans les deux domaines temporel et fréquentiel.
3. Écouter la sortie de ce filtre.
4. Ajouter ce signal sinusoidal au signal music pour créer le signal musical interféré avec cette
fréquence 3 KHz (appeler ce signal x_3 pour indiquer qu’il contient une interférence 3 KHz.
5. Ecouter le signal x_3 en utilisant la commande sound de Matlab, vos remarques et vos
constations.
6. Trace dans le temps les 50000 points des deux signaux, le signal avec interférence et sans
interférence. Alors ?
7. Calculer et tracer le spectre du signal affecté. Comparer les deux spectres, avec et sans
interférence.
8. Vérifier que l’interférence est bien dans le spectre audible (dans la portion significative du
signal guitare).
9. Concevoir un filtre coupe-bande (c'est à dire, filtre éjecteur-bande) à l'aide remezord et remez
comme suit.
a. Regardez le spectre du signal brouillé pour concevoir le filtre.
rp=1; rs=60; % ondulation, niveau de la bande coupée
f_spec=[2800 2990 3010 3200]; % Limites des bandes en Hz
AA=[1 0 1]; %%% indique “band stop”

Limites
Utiliser la variable 𝑏𝑖 pour stocker le vecteur qui contient les coefficients du filtre RIF
6. Tracer la réponse impulsionnelle du filtre, pour un filtre RIF, il est facile de montrer que la réponse
impulsionnelle n'est rien que les coefficients 𝑏𝑖 dans son équation aux différences donnée
par 𝑦[𝑛] = ∑𝑁 𝑖=1 𝑏𝑖 𝑥[𝑛 − 𝑖].
7. Calculer et tracer la réponse fréquentielle du filtre
8. Tracer les pôles et les zéros du filtre

Par : Dr. Rachid Saadane


Etape IV suppression de l’interférence
Utilisez le filtre conçu pour éliminer l'interférence
3. filtrer x_3 en utilisant le filtre passe bas pour obtenir x_3_out la variante filtrée du signal
affecté, pour cela utiliser la commande y = filtre (b, a, x) qui permet de filtrer les données du
vecteur x par le filtre décrit par des vecteurs a et b, pour créer les données filtrées y. Les
𝑁
vecteurs a et b sont des coefficients de l'équation de différence suivante ∑𝑖=1
𝑎
𝑎𝑖 𝑦[𝑛 − 𝑖] =
∑𝑁𝑖=1 𝑏𝑖 𝑥[𝑛 − 𝑖], 𝑎 = [𝑎0 𝑎1 𝑎2 … 𝑎𝑁 𝑎 ] et 𝑏 = [𝑏0 𝑏1 𝑏2 … 𝑏𝑁𝑏 ], dans le cas d’un filtre RIF 𝑎 =
𝑏

[𝑎0 ] = 1.
4. Evaluer les performances du filtre conçu
 Comparer x_3_out, x_3, et dans le domaine fréquentiel. Utiliser les tracés des signaux.
 Comparer x_3_out, x_3, and x dans le domaine temporel. Utiliser les tracés des signaux.
 Ecouter le signal guitare, utiliser la commande sound de Matlab.
 Le filtre introduit un retard dans le signal filtré, proposer une méthode pour corriger ce
retard, tracer les signaux avant et après correction. Ecouter le signal guitare filtré corriger
(𝑁+1)
en utilisant la commande sound de Matlab, le filtre introduit un retard de l’ordre de 2
,
sachant que N est l’ordre du filtre.

Travail demandé est de réaliser les étapes du projet, vérifier les sortie et les visualiser, préparer un
rapport avec la description la plus détaillée possible, avec le maximum d’explication des instructions
utilisées, et les commentaires adéquats et pertinentes sur les figures.

Par : Dr. Rachid Saadane