Vous êtes sur la page 1sur 11

Université Cadi Ayyad Traitement des signaux et systèmes

Ecole Nationale des Sciences Appliquées de Safi Niveau : 3GTR


Année universitaire : 2022/2023

Travaux pratiques

L’objectif des travaux pratiques consiste en la bonne maitrise de la génération et la manipulation des
signaux ainsi que l’habileté d’usage de la transformée de Fourier. L’environnement de travail dédié est
le logiciel Matlab. Matlab qu’est un logiciel de calcules numériques et de représentations graphiques.
Dans ces mêmes travaux pratiques, un signal musical sera sujet d’une analyse minutieuse mettant le
point sur l’opération de filtrage musical.

TP1 : Génération et manipulation des signaux

 Objectif du TP :

L’objectif de ce premier TP consiste en la bonne maitrise de la génération de différents signaux à savoir


l’échelon de Heaviside, la fonction signe, la fonction exponentielle décroissante et différents signaux
sinusoïdaux. Ce TP consiste aussi à mettre en œuvre des opérations de traitement et de manipulation
des signaux à savoir la superposition, la corrélation et la transformée de Hilbert.

A. Génération de signaux :
1. Génération de l’échelon de Heaviside :

Ecrire et exécuter le programme de la première figure permettant de générer la fonction échelon


unitaire. On se contentera d’un nombre fini d’échantillons. Expliquer ligne par ligne ce programme
tout en mettant l’accent sur le rôle de la fonction stem. Le programme en question génère le graphe
de la même figure 1.

Figure 1 : Programme de génération et graphe de la fonction de Heaviside

Page 1 sur 11
2. Génération de la fonction signe :

Ecrire et exécuter le programme de la figure 2 permettant de générer la fonction signe. Expliquer ligne
par ligne ce programme tout en mettant en relief la fonction sign. Le programme en question génère
le graphe de la même figure 2.

Figure 2 : Programme de génération et graphe de la fonction signe

3. Génération d’une exponentielle décroissante :

Ecrire un programme Matlab permettant de générer l’exponentielle décroissante 𝑥(𝑛) = 𝑒 −0.3𝑛 𝑢(𝑛)
telle que 𝑢(𝑛) est la fonction échelon unitaire. Ce programme doit générer le graphe de la figure 3.

Figure 3 : Graphe de l'exponentielle décroissante 𝒆−𝟎.𝟑𝒏 𝒖(𝒏)

Page 2 sur 11
4. Génération de signaux sinusoïdaux :

Ecrire un programme Matlab permettant de générer les deux signaux sinusoïdaux suivants :

 𝑥1 (𝑡) = 𝐴1 cos(2𝜋. 𝑓1 . 𝑡 − 𝜋⁄2) tel que 𝐴1 = 1 et 𝑓1 = 100 𝐻𝑧


 𝑥2 (𝑡) = 𝐴2 cos(2𝜋. 𝑓2 . 𝑡 − 𝜋⁄4) tel que 𝐴2 = 1⁄2 et 𝑓2 = 200 𝐻𝑧

Choisir une fréquence d’échantillonnage 𝑓𝑠 = 3000 𝐻𝑧.

Représenter les tracés des deux signaux sur le même graphe et sur une plage de temps comprise entre
0 seconde et 0.07 secondes. La représentation graphique doit être similaire à celle de la figure 4.

Figure 4 : Graphes des signaux sinusoïdaux 𝒙𝟏 (𝒕) et 𝒙𝟐 (𝒕)

B. Opérations sur les signaux :


1. Superposition de quatre signaux sinusoïdaux :

Ecrire un programme Matlab permettant de générer les deux signaux sinusoïdaux suivants :

 𝑥3 (𝑡) = 𝐴3 cos(2𝜋. 𝑓3 . 𝑡 − 𝜋⁄4) tel que 𝐴3 = 1 et 𝑓3 = 600 𝐻𝑧


 𝑥4 (𝑡) = 𝐴4 cos(2𝜋. 𝑓4 . 𝑡 − 𝜋⁄6) tel que 𝐴4 = 1⁄3 et 𝑓4 = 500 𝐻𝑧
 𝑥(𝑡) = 𝑥1 (𝑡) + 𝑥2 (𝑡) + 𝑥3 (𝑡) + 𝑥4 (𝑡)
Choisir une fréquence d’échantillonnage 𝑓𝑠 = 3000 𝐻𝑧.

Représenter sur la même figure les signaux 𝑥3 (𝑡), 𝑥4 (𝑡) et 𝑥(𝑡), et sur une plage de temps comprise
entre 0 seconde et 0.07 secondes. La représentation graphique doit être similaire à celle de la figure
5. Interpréter les résultats obtenus, commenter les.

2. Fonction de corrélation :

Générer et représenter le signal 𝑠(𝑡) défini par : 𝑠(𝑡) = Acos(2𝜋. 𝑓𝑡) tel que 𝐴 = 1 et 𝑓 = 30 𝐻𝑧.
Choisir une fréquence d’échantillonnage 𝑓𝑠 = 100 𝐻𝑧. Sur la même figure représenter la fonction
d’autocorrélation dudit signal et ce en utilisant la fonction prédéfinie de Matlab xcorr. La
représentation graphique doit être similaire à celle de la figure 6.

Page 3 sur 11
Figure 5 : Graphe des signaux 𝐱𝟑 (𝐭), 𝐱𝟒 (𝐭) et 𝐱(𝐭)

Figure 6 : Graphe du signal 𝒔(𝒕) et celui de sa fonction d’autocorrélation

3. La transformée de Hilbert

La transformée de Hilbert est une transformation linéaire qui permet d’étendre un signal réel dans le
domaine complexe, de sorte qu’il vérifie les équations de Cauchy-Riemann. La transformée de Hilbert
tient son nom en l’honneur du mathématicien allemand David Hilbert (figure 7).

Ecrire un programme Matlab qui permet de générer le signal suivant :

𝑥(𝑡) = 2.5 + cos(2𝜋. 𝑓1 . 𝑡) + sin(2𝜋. 𝑓2 . 𝑡) + cos(2𝜋. 𝑓3 . 𝑡)

Page 4 sur 11
Tel que :

 𝑓1 = 203 𝐻𝑧
 𝑓2 = 721 𝐻𝑧
 𝑓3 = 1001 𝐻𝑧
Choisir une fréquence d’échantillonnage 𝑓𝑠 = 10000 𝐻𝑧. Calculer la
transformée de Hilbert de 𝑥(𝑡) et ce en utilisant la fonction prédéfinie Matlab
hilbert. Représenter, sur la même figure le signal 𝑥(𝑡) ainsi que sa transformée
de Hilbert comme le montre la figure 8.
Figure 7 : David Hilbert
(1862 - 1943)

Figure 8 : Le signal 𝐱(𝐭) et sa transformée de Hilbert

TP2 : La transformée de Fourier

 Objectif du TP :

L’objectif du deuxième TP est de calculer et de présenter la transformée de Fourier d’un signal donné.

Ecrire un programme Matlab qui permet de générer et de présenter le signal 𝑥(𝑡) défini par :

𝑥(𝑡) = 𝐴 sin(2𝜋𝑓𝑡)

Tel que l’amplitude 𝐴 = 5, la fréquence 𝑓 = 30 𝐻𝑧 et 𝑡 ∈ [0,2].

Pour assurer une bonne présentation du signal 𝑥(𝑡), choisir une fréquence d’échantillonnage égale à
1000 𝐻𝑧. Faire une représentation graphique similaire à celle de la figure 9. Visualiser le vecteur 𝑥.

Faire une boucle qui permet de générer le même signal 𝑥(𝑡) pour les trois valeurs de fréquences
10 𝐻𝑧, 30 𝐻𝑧 et 70 𝐻𝑧. Représenter, sur la même figure, le graphe du signal 𝑥(𝑡) pour chacune des
valeurs de fréquences mentionnées. Faire une représentation similaire à celle de la figure 10. Analyser
et commenter les résultats obtenus.

Page 5 sur 11
Figure 9 : Représentation graphique du signal 𝒙(𝒕)

Figure 10 : Représentations graphiques du signal 𝒙(𝒕) pour les trois valeurs de fréquences 10 Hz, 30 Hz et 70 Hz

Le but maintenant est de calculer la transformée de Fourier du signal 𝑥(𝑡) pour toutes les valeurs de
fréquences mentionnées ci-dessus, et d’en faire une représentation graphique dans chaque cas.

Pour ce faire, commencez par calculer la longueur du signal 𝑥(𝑡) pour les trois valeurs de fréquences
citées ci-dessus et ce via la fonction prédéfinie Matlab nextpow2.

Page 6 sur 11
Vous pouvez maintenant calculer la transformée de Fourier du signal 𝑥(𝑡) et ce en utilisant la fonction
prédéfinie Matlab fft. Cette fonction permet de calculer la transformée de Fourier discrète d’un signal
en utilisant l’algorithme de la transformée de Fourier rapide.

Générer, dans les trois cas et sur une nouvelle figure, la représentation spectrale du signal 𝑥(𝑡).
Analyser les graphes obtenus. La représentation graphique doit être similaire à celle de la figure 11.
Analyser les graphes obtenus. Qu’est-ce que vous remarquez ? Comment pouvez-vous résoudre le
problème observé ?

Figure 11 : Représentation spectrale du signal 𝒙(𝒕) pour les trois valeurs de fréquences 10 Hz, 30 Hz et 70 Hz

Afficher à nouveau les graphes de fréquences après résolution du problème rencontré. La nouvelle
représentation doit être similaire à celle de la figure 12. Faire un zoom sur chaque graphe, analyser le
et en tirer vos commentaires. Un zoom sur les graphes peut être similaire à celui de la figure 13.

Générer maintenant le signal 𝑦(𝑡) résultat de la sommation du signal 𝑥(𝑡) pour les trois valeurs de
fréquences 10 𝐻𝑧, 30 𝐻𝑧 et 70 𝐻𝑧. Sur une autre figure, donner la représentation graphique du signal
𝑦(𝑡) ainsi que sa représentation spectral. Analyser les résultats obtenus et en soulever vos
commentaires. Faire une représentation similaire à celle de la figure 14. Faire un zoom sur les trois pics
de fréquences obtenus. Comparer vos résultats. Un zoom sur le graphe des fréquences peut être
similaire à celui de la figure 15.

TP 3 : Analyse et manipulation d’un signal musical

 Objectif du TP :

L’objectif de ce troisième TP consiste en premier lieu en l’analyse d’un signal musical. Ce signal sera
ensuite affecté par une interférence haute fréquence. Un filtre passe bas sera ainsi conçu pour filtrer
le signal en question.

Page 7 sur 11
Figure 12 : Nouvelle représentation spectrale du signal 𝒙(𝒕) pour les trois valeurs de fréquences 10 Hz, 30 Hz et 70 Hz

Figure 13 : Pics des fréquences du signal 𝒙(𝒕) pour les trois valeurs de fréquences 10 Hz, 30 Hz et 70 Hz

1. Lecture et représentation du signal musical :

Utiliser la commande Matlab waveread pour charger le fichier Guitar.wav, et puis utiliser la commande
sound pour l’écouter. Quelle est la fréquence d’échantillonnage du signal musical en question ?

Représenter l’allure du signal musical. La représentation graphique doit être similaire au graphe à
gauche de la figure 16.

Page 8 sur 11
Figure 14 : Le signal 𝒚(𝒕) et sa représentation spectrale

Figure 15 : Zoome sur la représentation spectrale du signal 𝒚(𝒕)

2. Ajout d’une interfréquence haute fréquence :

Créer un signal sinusoïdal d’amplitude 1 et de fréquence 10 𝑘𝐻𝑧 échantillonné à la même fréquence


d’échantillonnage que le signal musical Guitare et ayant la même longueur que ce dernier. Ajouter ce
signal au signal Guitare. Ecouter le signal résultant et représenter le sur une durée d’une seconde.
Analyser et commenter les résultats obtenus. La représentation graphique doit être similaire au graphe
à droite de la figure 16.

Page 9 sur 11
Figure 16 : Allure du signal musical "Guitare" (à gauche) et allure du même signal avec et sans interférence sur une durée
d’une seconde (à droite)

3. Filtrage du signal musical par un filtre passe bas

La première étape consiste en la conception d’un filtre passe bas et ce via les commandes Matlab
firpmord et firpm.

Le filtre passe bas que nous allons utiliser va permettre de supprimer, bien évidemment, l’interférence
haute fréquence. Ce filtre est caractérisé par certains paramètres à savoir :

 La valeur des ondulations en bande passante en 𝑑𝐵


 La valeur de l’atténuation en bande d’arrêt en 𝑑𝐵
 La fréquence de coupure de la bande passante
 La fréquence de coupure de la bande d’arrêt

Reproduire et exécuter le même programme que la figure 17. Ce programme permet la conception
ainsi que la réalisation d’un filtre passe bas. Le résultat d’exécution est fourni sur la même figure 17.

Que permettent les commandes firpmord et firpm ? Que désigne chacun des paramètres de sortie de
la commande firpmord et qui sont en même temps les paramètres d’entrée de la fonction firpm ?

Que permet la commande freqz ?

Commenter et analyser les résultats obtenus.

Il est toutefois possible de calculer et de tracer les zéros de la fonction de transfert du filtre en question.
Reproduire et exécuter le même programme que la figure 18. Le résultat d’exécution est fourni sur la
même figure 18. Analyser et commenter les résultats obtenus.

Après avoir bien conçu le filtre passe bas voulu, il est maintenant temps pour la deuxième étape qui
consiste en le filtrage de notre signal musical bruité. Pour ce faire, et à l’aide de la commande Matlab
filter, essayer de filtrer le signal. Ecouter le résultat de filtrage.

Page 10 sur 11
Figure 17 : Programme de conception d'un filtre passe bas ainsi que le résultat de simulation

Figure 18 : Programme permettant de calculer et de présenter les zéros de la fonction de transfert d'un filtre passe bas
ainsi que le résultat de la simulation

Page 11 sur 11

Vous aimerez peut-être aussi