Vous êtes sur la page 1sur 9

TRAVAUX PRATIQUES DE TRAITEMENT DE SIGNAL A L’AIDE DU LOGICIEL

MATLAB

Objectifs :
Ces travaux pratiques devront permettre la modélisation et la simulation des
opérations liées au traitement des signaux à l’aide du logiciel Matlab/Simulink. Les
étudiants auront ainsi l’occasion d’assimiler les notions abordées lors des
enseignements théoriques. Ces notions incluent l’analyse temporelle et spectrale
des signaux, les systèmes linéaires invariants, les opérations de codage et les
modulations.

Preréquis Connaissances du logiciel Matlab/Simulink


Volume horaire : 10 h de TP

Contenu
Introduction
TP1 : Introduction à Matlab/Simulink
TP2 : Représentation temporelle et spectrale des signaux
TP3 : Vérification du théorème de Fourier
TP4 : Modélisation des systèmes linéaires invariants (réponse temporelle et
fréquentielle)
TP5 : Filtrage des signaux

1
DTR/ENSPT - Janvier 2015
INTRODUCTION GENERALE
Le traitement du signal est une discipline indispensable à tout ingénieur. Il est donc nécessaire de
connaître au moins ses grandes lignes. En effet, l’amélioration des performances des systèmes au
cours de ces dernières années est due pour la plus grande partie à l’application des techniques de
traitement de signal plutôt qu’au perfectionnement du matériel, par exemple le perfectionnement
des systèmes RADAR est plus le résultat de la maitrise des échos que de celle du hardware dont
les principes n’ont presque pas beaucoup changé depuis plusieurs décennies. Le but du
traitement du signal consiste à extraire le maximum d’information utile sur un signal perturbé
par le bruit.
Il existe plusieurs logiciels de traitement du signal performants. Notre choix sera porté sur
MATLAB (Matrix Laboratory) dans le cadre des Travaux Pratiques. Il est un système interactif
de programmation scientifique, pour le calcul numérique et la visualisation graphique.
Développé à l’origine pour le calcul matriciel, il offre aujourd’hui bien d’autres possibilités à
l’exemple des bibliothèques spécialisées (toolbox) qui répondent à des besoins spécifiques :
analyse numérique, traitement du signal, traitement de l’image, etc.
Parmi les nombreuses applications du traitement du signal, nous retrouvons, le traitement
d’image, le traitement et le codage de la parole, la transformée de Fourier rapide (FFT), les
techniques d’audio digitale (lecteur CD), la compression de données (modulations, codage
d’image JPEG, MPEG, vidéo …), les applications d’automatisation (régulateur, algorithme de
commande de servomoteurs), le Filtrage analogique et numérique classique (filtres FIR et IIR),
les réseaux sans fils (WIFI, WIMAX et CDMA), les algorithmes de modélisation des réseaux de
communication (Dijktra, Prim, Kruskal, Commis voyageur, coloration des graphes, routages par
le plus court chemin…) et bien d’autres.

 Importance de la simulation
 Définition
D’après Paul A. FISHWICK la simulation informatique est une discipline qui englobe :
- l’élaboration d’un modèle d’un système physique théorique ou réel ;
- l’exécution du modèle sur un ordinateur ;
- l’analyse des extrants.
La simulation incorpore le principe du « learning by doing », pour apprendre quelque chose sur
un système, on doit tout d’abord en construire un modèle puis opérer sur ce modèle.
 Qu’est-ce qu’un modèle ?
C’est toute représentation (mentale, verbale ou écrite) d’un phénomène réel tel qu’un système
ou processus. Il existe plusieurs sortes de modèles, la typologie la plus simple peut se résumer
comme suit:
- modèle verbal: la main invisible d’Adam Smith
- modèle physique: maquette baie
- modèle algébrique
 A quoi sert la simulation?
La simulation est un outil désormais incontournable pour l’ingénieur à cause des raisons
suivantes:
- La réutilisation des systèmes
Elle permet la réutilisation des circuits et systèmes conçus à l’aide des outils génie logiciel. En
effet, tout étant virtuel, il suffit juste pour faire de multiples essais, de rouvrir un fichier
enregistré et de l’utiliser à volonté, n’importe où (même dans notre chambre) tandis que si le
montage avait été directement réalisé, il faudrait aller dans un labo, et ne pas forcément disposer
du circuit, si celui-ci a par exemple été remis aux collègues.
- La modification des systèmes

2
DTR/ENSPT - Janvier 2015
Parfois il est nécessaire d’optimiser un système existant, en vue d’améliorer ses paramètres de
performance. Pour cela, il suffit juste de réajuster les paramètres du système initial. Un exemple
patent est l’évolution technologique des mémoires et des microprocesseurs qui ont juste besoin
de la diminution de leur paramètres géométriques afin d’accroitre leur performance et parvenir à
une nouvelle génération technologique. L’innovation technologique doit en grande partie son
essor à cette capacité de réutilisation et de modification des systèmes électroniques
programmables.
- La limitation des coûts
Les travaux pratiques, réalisés avec du matériel électronique, sont généralement coûteux, surtout
lorsqu’il s’agit de mettre en œuvre des techniques de transmission numérique. Grâce à la
simulation, on économise les coûts dans la mesure où on ne monte un circuit que lorsqu’il peut
être mis en service; tous les tests ayant été réalisés au préalable. La facilité d’organiser le travail
de conception en équipes, où chaque équipe de travail a une tâche d’implémentation bien définie,
permet de gagner du temps et réduire le « time to market » du projet. Tandis qu’avec la
réalisation brute, on peut faire des erreurs et reprendre les montages, gaspillant ainsi des
ressources mises à disposition dans le projet.
- La conception
La simulation est la principale arme de la conception. On transcrit tout ce qu’on pense et si ça
marche, on est sur la route des grandes découvertes. Avec le développement des logiciels de
simulation tels que MATLAB, PSPICE, VHDL, CADENCE, ORCAD… Il est maintenant facile
de simuler une chaîne complexe de transmission: acquisition des signaux- émission - canal de
transmission - réception.
- L’amélioration
Il est plus aisé d’améliorer un montage simulé: pour changer de composants, il suffit juste de
supprimer ceux qui étaient à un emplacement et d’en mettre d’autre. En pratique, tel n’est pas le
cas; il faut dessouder, et ressouder, avec beaucoup de risques d’erreurs et probablement une
mauvaise présentation du travail final. Il faut noter qu’on ne pourra pas ressouder indéfiniment.
- Un outil didactique et de recherche incontournable
La simulation permet d’initier les étudiants en début de formation à la vérification des
comportements numériques et analytiques des modèles mathématiques et physiques dont il n’est
pas aisé d’expérimenter. Ces étudiants n’ayant pas encore acquis la maturité d’utiliser les
équipements de laboratoire sans risque d’accident ou d’endommagement, la simulation permet à
ces étudiants de mieux maîtriser les modèles théoriques avant leur expérimentation pratique. La
fonctionnalité des nouveaux modèles théoriques non encore expérimentés peut être vérifiée et
validée à l’aide d’un simulateur. Dans ce sens, la simulation contribue dans une très large mesure
à la recherche fondamentale.
- Une meilleure distribution du travail en équipe
Lorsque notre travail se trouve dans un ordinateur, on peut le partager en réseau avec plusieurs
autres ingénieurs dans l’optique d’optimiser ou de résoudre des problèmes. Cependant, avec un
montage sur le tas, un ingénieur camerounais ne pourrait pas collaborer en temps réel avec un
ingénieur résidant en Inde.
- La problématique de la complexité des systèmes
La génération automatique des circuits à millions de transistors (ou de composants) à l’échelle
d’intégration ULSI (Ultra Large Scale Integration), grâce à la conceptualisation, les logiciels de
simulation sont capables de générer des blocs qui, décomposés sont constitués de milliers de
transistors ou de composants électroniques. Ceci dépasse les limites humaines en termes de
conception en utilisant la manipulation manuelle. D’autre part, le simulateur peut nous permettre
de prédire sur l’espace en mémoire occupé par un système et sur son temps d’exécution des
instructions.

3
DTR/ENSPT - Janvier 2015
Important:
Il est important de rappeler que pour obtenir de bons résultats avec un simulateur, il ne faut pas
prendre l'habitude de simuler des ensembles complexes, dont on ne connaît pas le
fonctionnement. Il faut choisir judicieusement les types d'analyse à effectuer, et les sources
correspondant à ces analyses. Dans de nombreux cas, il est même indispensable de fixer des
conditions initiales, afin d'obtenir un fonctionnement correct du simulateur.
Au cas où ces dispositions ne sont pas respectées, le simulateur donne souvent des résultats faux
ou incompréhensibles et inutiles. Le but n'étant pas uniquement d'obtenir des courbes, mais de
valider le fonctionnement d'un montage après une étude théorique. Le simulateur est avant tout
un programme, pas notre cerveau, il est incapable de savoir ce qu’on veut faire. Il nous aide juste
à bien faire ce qu’on pense faire.

 Limites de la simulation
Elle offre une représentation trop idéale de la réalité, ce qui peut être parfois très déroutant quand
l’on s’aperçoit de la différence de comportement qui peut exister entre le modèle simulé et le
modèle réellement construit. Le simulateur ne peut pas vérifier et corriger les erreurs logiques
d’un système et Il en est incapable d’interpréter les résultats.

 Intérêt de la simulation sous MATLAB


- MATLAB permet de réaliser des travaux Pratiques qui sont utilisables par toute personne
disposant de licences d’utilisation de ce logiciel.
- Ces travaux sont appréciés des étudiants qui disposent d’un environnement virtuel d’un usage
très simple.
- Une aide en ligne est disponible, permettant de comprendre l’utilisation des outils génie logiciel
mis à leur disposition.
- Le logiciel MATLAB est largement utilisé dans la recherche ou dans l’industrie.
- La plupart des enseignants en ingénierie connaissent ce logiciel et peuvent dispenser des
enseignements pratiques en l’utilisant.
- Plusieurs étudiants peuvent travailler simultanément sur le même TP, ce qui simplifie
l’organisation de l’enseignement.
- MATLAB est un logiciel pluridisciplinaire permettant de découvrir les différents champs
d’applications de l’ingénierie. Il est par excellence un exemple de convergence dans plusieurs
domaines d’applications de programmations informatiques. Car il est capable d’interpréter les
codes de la plus part des langages usuels de programmation informatiques.
- Ce logiciel est facile à utiliser et offre un large guide d’initialisation pour tous.
- C’un un outil d’accompagnement pratique pour la formation et le développement des
applications en ingénierie et en génie électrique plus particulièrement.
- Sa version académique peut être gratuitement téléchargée et installée dans les PC sans exigence
de License d’utilisation.

4
DTR/ENSPT - Janvier 2015
TP2 : Représentation temporelle et spectrale des signaux
Objectif :
- Représenter les signaux sinusoïdal, carré, dent de scie dans les domaines temporels et
fréquentiels en utilisant successivement les commandes Matlab et Simulink.
- Ecouter les sons générés par les signaux
Procédure :
1- Représentez en fonction du temps successivement le signal sinusoïdal, carré et dent de scie
d’amplitude 2 et de fréquence 1000 Hz.
a) Créer un fichier m.file : cliquer sur nouveau dans la fenêtre Maltab.
b) Taper les commandes suivantes :
fs=10000; %fréquence d'échantillonnage
t=0:1/fs:1.5;
axis([0 0.1 -1 1]);
% Tracé du signal sinusoïdal
subplot(3,1,1);
y1=0.2*sin(2*pi*400*t);
plot(t,y1);
axis([0 0.1 -0.5 0.5]);
xlabel('temps(s)');
ylabel('Amplitude');
title('Signal sinusoïdal');
grid on;
% Tracé du signal carré
subplot(3,1,2);
y2=0.2*square(2*pi*400*t);
plot(t,y2);
axis([0 0.1 -0.5 0.5]);
xlabel('temps(s)');
ylabel('Amplitude');
title('Signal carré');
grid on;
% Tracé du signal dent de scie
subplot(3,1,3);
y3=0.2*sawtooth(2*pi*400*t);
plot(t,y3);
axis([0 0.1 -0.5 0.5]);
xlabel('temps(s)');
ylabel('Amplitude');
title('Signal dent de scie');
grid on
% Générer les sons correspondant aux signaux
sound(y1,fs); % génère le son sinusoïdal
disp('Taper sur une touche pour continuer');
pause;
sound(y2,fs); % génère le son carré
disp('Taper sur une touche pour continuer');
pause;
sound(y3,fs); % génère le son dent de scie
c) Modifier la fréquence des signaux pour noter la différence au niveau des sons générés

2- Représentez les spectres des signaux ci-dessus


La commande fft sera nécessaire
5
DTR/ENSPT - Janvier 2015
fs=10000; %fréquence d'échantillonnage
t=0:1/fs:1.5;
% Tracé du signal sinusoïdal en fonction du temps
subplot(3,2,1);
y1=0.2*sin(2*pi*500*t);
plot(t,y1);
axis([0 0.05 -0.5 0.5]);
xlabel('temps(s)')
ylabel('Amplitude')
title('Signal sinusoidal')
grid on
% Spectre du signal sinusoïdal
subplot(3,2,2);
FFT_size=2048;
Y1=fft(y1,FFT_size);
Pyy1=Y1.*conj(Y1)/FFT_size;
f=fs*(0:FFT_size/2)/FFT_size;
plot(f,Pyy1(1:FFT_size/2+1))
xlabel('Fréquence (Hz)')
ylabel('Amplitude')
title('Spectre du signal sinusoidal')
grid on
% Tracé du signal carré en fonction du temps
subplot(3,2,3);
y2=0.2*square(2*pi*500*t);
plot(t,y2);
axis([0 0.05 -0.5 0.5]);
xlabel('temps(s)')
ylabel('Amplitude')
title('Signal carré')
grid on
% Spectre du signal carré
subplot(3,2,4);
FFT_size=2048;
Y2=fft(y2,FFT_size);
Pyy2=Y2.*conj(Y2)/FFT_size;
f=fs*(0:FFT_size/2)/FFT_size;
plot(f,Pyy2(1:FFT_size/2+1))
xlabel('Fréquence (Hz)')
ylabel('Amplitude')
title('Spectre du signal carré')
grid on
% Tracé du signal dent de scie en fonction du temps
subplot(3,2,5);
y3=0.2*sawtooth(2*pi*500*t);
plot(t,y3);
axis([0 0.05 -0.5 0.5]);
xlabel('temps(s)')
ylabel('Amplitude')
title('Signal dent de scie')
grid on
% Spectre du signal dent de scie
subplot(3,2,6);
6
DTR/ENSPT - Janvier 2015
FFT_size=2048;
Y3=fft(y3,FFT_size);
Pyy3=Y3.*conj(Y3)/FFT_size;
f=fs*(0:FFT_size/2)/FFT_size;
plot(f,Pyy3(1:FFT_size/2+1))
xlabel('Fréquence (Hz)')
ylabel('Amplitude')
title('Spectre du signal dent de scie')
grid on

3- Utiliser les bibliothèques Simulink pour effectuer les manipulations ci-dessus.

a) En double cliquant sur le générateur de signal, fixer les paramètres du signal : amplitude
=0.2, fréquence = 500 Hz.
b) Choisir successivement les formes sinusoïdale, carrée et triangulaire.
c) Choisir la durée de simulation à 0.02 s
d) Le paramètre "sample time" de l’analyseur de spectre doit être à 0. 0001.
Lancer la simulation et observez les courbes qui s’affichent. Interprétez-les.

7
DTR/ENSPT - Janvier 2015
TP3: Vérification du Théorème de Fourier
2.1 Approximation de la fonction Rectangulaire
Additionner progressivement plusieurs harmoniques de la Serie de Fourier à l’aide du
code de MATLAB afin d’obtenir une fonction qui se rapproche de la fonction
RECTANGULAIRE à partir de l’expression :
rect (t) = Σ dk. (Cos (kw.t) + sin (kw.t))
≈ (4/π).Vmax. (sin (w1t)+ 1/3.sin(3wt)+ 1/5.sin(5wt)+ ...+1/(2k+1).sin((2k+1)w.t)

Cette fonction peut encore s’écrire:

rect = rect+ ((4/pi)*vmax)*(sin ((2*k+1)*w*t)/ (2*k+1));

 Code à saisir :
clear all;
close all;
t=5:0.001:10; %définition de la variable temps t
vmax=100; %initialisation de l'amplitude
f=1; %définition de la fréquence
w=2*pi*f; %formule de la pulsation w
Rect=0; %initialisation dela fonction rect
for k=0:100; % variation du nombre dl’hamonique
rect = rect+ ((4/pi)*vmax)*(sin ((2*k+1)*w*t)/(2*k+1));% addition des harmoniques
end
plot (t, rect) % affichage de la function rect

 REPRESENTATION GRAPHIQUE

8
DTR/ENSPT - Janvier 2015
2.2 Fonction dent de scie

Soit à modéliser une fonction dent de scie à l’aide du code


MATLAB :
d (t)= –2/π.Vmax.( sin(wt)+1/2 sin(2wt)+ 1/3 sin(3wt) +...+1/k sin (kwt))
Cette fonction peut encore s’écrire:
d= d+(-2/pi)*vmax*(sin (k*w*t)/k
 Code à saisir :
clear all;
close all;
t=-5:0.01:10; %définition de la variable temps t
vmax=10; %initialisation de l'amplitude
f=1; %définition de la fréquence
w=2*pi*f; %formule de la pulsation w
d=0; %initialisation de la fonction dent de scie
for k=1:900; % variation du nombre de l’harmonique
d= d+(-2/pi)*vmax*(sin (k*w*t)/k); % addition des harmoniques
end
plot(t,d) % affichage de la fonction dent de scie

9
DTR/ENSPT - Janvier 2015

Vous aimerez peut-être aussi