0% ont trouvé ce document utile (0 vote)
9 vues9 pages

Introduction à MatLab pour le TP Signal

Ce document présente le premier TP de Traitement du signal à l'Université Ibn Tofail, axé sur l'apprentissage de MatLab. Les étudiants apprendront à utiliser MatLab pour réaliser des signaux types et à rédiger des rapports sur leurs travaux. Les objectifs incluent la maîtrise des commandes de base, la programmation et la création de graphiques.

Transféré par

uchiha.itachi290106
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
9 vues9 pages

Introduction à MatLab pour le TP Signal

Ce document présente le premier TP de Traitement du signal à l'Université Ibn Tofail, axé sur l'apprentissage de MatLab. Les étudiants apprendront à utiliser MatLab pour réaliser des signaux types et à rédiger des rapports sur leurs travaux. Les objectifs incluent la maîtrise des commandes de base, la programmation et la création de graphiques.

Transféré par

uchiha.itachi290106
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Pr. Y.

El merabet Faculté des Sciences Université Ibn Tofail -- 2024/2025 --

TP de Traitement du signal.
Séance 1 : Premiers contacts avec MatLab
et réalisation de quelques signaux types

Introduction

a. Contexte

Cet énoncé constitue le premier volet des séances de TP du module de


Traitement du signal. La vocation de cette première séance, qui sera assez
théorique, est de permettre à chaque étudiant de prendre en main le logiciel
MatLab (connaissance de l’environnement, commandes usuelles, programmation
de base) et de réaliser ses premiers programmes qui constitueront les briques de
bases nécessaires à la réalisation des TP suivant. Les bases des signaux et des
traitements doivent être traités avant de s’attaquer à des problèmes
informatiques.

Le TP est en conséquence structuré comme suit :

1. Présentation de MatLab et du cadre de développement des applications du


TP.
2. Réalisation des premiers programmes.

b. Objectifs pratiques

Les objectifs sont triples : rafraîchir et consolider les connaissances acquises en


cours, découvrir et assimiler les commandes usuelles de MatLab et le
fonctionnement de MatLab Help, et mettre en application l’ensemble de ces
savoirs et savoir-faire via la réalisation de premiers programmes en vue des
futures TP.

En conséquence, il sera demandé aux étudiants, pour chaque séance :

 De rédiger en temps réel un court rapport illustré retraçant le TP en suivant


la trame des questions posées dans l’énoncé. La clarté des graphiques, la
pertinence des remarques, et la correction linguistique seront prises en
compte dans l’évaluation. La concision des réponses sera d’autant plus
appréciée qu’elle ira de pair avec leur précision,
 De remplir au fil du TP les plages qui ont été laissées vides sur le présent
document.
 D’écrire soigneusement les programmes demandés sous formes de M-File
commentées,

Pr. Y. El merabet
Pr. Y. El merabet Faculté des Sciences Université Ibn Tofail -- 2024/2025 --

1. Présentation de MatLab et du cadre de développement des applications du TP

Principales caractéristiques de MatLab 7 :

MatLab est un langage mathématique interprété et un environnement de


développement interactif. Il fait appel à des fonctions et routines qui ont été
développées dans des langages de plus bas niveau et sont interprétées par le
logiciel. C’est pourquoi nous ne devons pas compiler les programmes réalisés.

Calcul matriciel et non calcul formel : inutile de demander à MatLab de calculer


une dérivée ! MatLab est un outil performant de calcul numérique, qui permet de
résoudre des problèmes d’analyse matricielle, d’approximation de solutions
d’équations différentielles, de statistiques et de fouille de données, de traitement
du signal numérique, ou encore d’optimisation numérique. Pour des calculs
mathématiques formels (comme la résolution exacte d’ED, le calcul d’intégrales,
etc…), l’utilisateur devra se reporter à d’autres logiciels…ou encore aux services
d’un mathématicien !

Principales fenêtres de
MatLab:
 Command window:
 Command History:
 Current directory:
 Workspace:
 Help:
 Profile:

Figure 1: vue des 6 fenêtres


principales de MatLab. Pour
réunir les 6 fenêtres en une avec
onglets de sélection : Menu
Desktop, commande « Desktop
Layout », option « All Tabbed ».

Insistons sur Help : le menu et la commande help : l’aide de MatLab est munie
d’un moteur de recherche très pratique, et s’avère bien souvent être un recours
précieux pour se sortir des mauvaises passes, mais aussi pour découvrir de

Pr. Y. El merabet
Pr. Y. El merabet Faculté des Sciences Université Ibn Tofail -- 2024/2025 --

nouvelles fonctionnalités. Une utilisation intelligente de cet outil peut permettre


de renforcer très rapidement ses connaissances en MatLab et mener à la
réalisation de programmes au-delà de ses espérances.

Remarques : Penser aussi à utiliser la commande help suivie du nom de la


fonction à étudier dans la fenêtre de commande (plus rapide, mais nécessite de
savoir à l’avance ce que l’on recherche !).
M-files : les m-files sont les fichiers dans lesquels sont écrits les programmes et
les fonctions. Ils portent l’extension « .m », et sont analogues (par exemple) aux
fichiers « .c » du langage C.
Pour créer un m-file, on peut utiliser l’éditeur de Matlab : fichier-> Nouveau-> m-
file

Les vecteurs en Matlab

>> v=[11 22 33 44 définir un vecteur v = (11 22 33 44 55)


55]
>> v’ la transposée de ce vecteur
w=[1 :1 :5] ou définit un vecteur allant de 1 à 5 avec une incrémentation unité
>> w=[1 :5]
>> v(2) accès au 2em élément ici 22
>> v(1 :3) accès aux éléments qui vont de 1 `a 3 (le vecteur (11 22 33))

>> v(1 :2 :5) accès aux éléments qui vont de 1 `a 5, mais en incrémentant avec
un pas de 2, le vecteur (11 33 55) est retourné

>> v( :) le symbole “ :” sans autres précisions signifiant “tout le vecteur

Les matrices en Matlab

>> A=[1 2 3; 2 4 5; 6 7 8;] Créer matrice 3x3


>> A(1,3) permet d’accéder à l’élément (1,3) de la matrice A, qui est ici 3

>> A(1 :3,2 :3) retourne les lignes 1 à 3 et les colonnes 2 `a 3


>>A( :,2) obtenir la deuxième colonne de A
>> A( :,3) obtenir la troisième.
>>A(1, :) retourne toute la première ligne
>> A’ est bien la transposée de A
rand(p) : crée une matrice p × p dont les éléments sont aléatoires,
distribués selon une loi de probabilité uniforme dans l’intervalle
[0, 1[.

eye(p) crée une matrice identité p × p.


zeros(p) crée une matrice de zéros p × p.
ones(p) crée une matrice de uns p × p.

Il est possible, pour finir, de définir les matrices par blocs, tester les commandes
suivantes :

Pr. Y. El merabet
Pr. Y. El merabet Faculté des Sciences Université Ibn Tofail -- 2023/2024 --

>> B=[eye(3) eye(3) ;ones(3) zeros(3) ;]


>> B=[[eye(3) ones(3)]’ [eye(3) zeros(3)]’] (...en utilisant les colonnes)
>> B=[[eye(3) ; ones(3)] [eye(3) ;zeros(3)]]
>>inv(A) calcule l’inverse de A.
>>det(A) calcule le déterminant de A.
>>diag(A) retourne la diagonale.

>> C=[1 3 4;5 2 1;3 1 2]


>> A*C multiplication entre matrices
>> A.*C multiplier les éléments de A par ceux de C
>> A.^2
>> size(A) taille de la matrice

Graphes et dessins

Il est facile d’effectuer diverses représentations graphiques avec Matlab, en 2d


aussi bien qu’en 3d. En tapant
>> help plot
>> demo
>> helpwin
Exemple : afficher la fonction x sin(x) dans l’intervalle [0 : 10], il suffit d’écrire

>> x=[0 :0.1 :10];


>> y=x.*sin(x) ; % l’on a ici besoin de la
multiplication “avec le point” (.*) puisque x
et y sont des vecteurs
>> plot(x,y)
>> xlabel(’x’)
>> ylabel(’y’)
>> title(’titre de la figure’)

>> subplot(1,2,1) %subplot (Nbre pavés sur


hauteur, Nbre pavés sur largeur, Numéro pavé)

>> plot(x,sin(x),'b') %courbe en bleue


>> subplot(1,2,2)
>> plot(x,cos(x),'r') %courbe en rouge

Pr. Y. El merabet
Pr. Y. El merabet Faculté des Sciences Université Ibn Tofail -- 2024/2025 --

Instructions graphiques diverses


Hold on Maintien du graphique
hold off revenir en mode normal,
ginput(N) permet de cliquer N points dans la fenêtre graphique, et la commande renvoie deux
vecteurs, l'un contenant les abscisses, l'autre les ordonnées. Utilisée sans le
paramètre N, la commande tourne en boucle jusqu'à ce que la touche «Entrée» soit
tapée.
clf annule toutes les commandes subplot et hold passées

Les fonctions :

Toute fonction devra être déclarée à la première ligne du fichier en respectant la


typologie suivante : « ‘function’ » suivi du vecteur de sortie « [sortie1, sortie2] » «
‘=’ » « nomdelafonction » « (entrée1, entrée2, entrée3) ».

Exemple : fonction qui calcule la somme et le produit de deux entiers :


On crée un fichier som_pro.m dans lequel on écrit :

function [s,p]=somme_produit(x,y)

s=x+y ;

p=x*y;

On notera le “ ;” pour éviter que Matlab nous affiche ce qu’il calcule dans la
fonction.
On accédera ensuite aux valeurs de cette fonction dans la fenêtre principale de
Matlab par >> [s,p]=som_pro(1,2)

Les fonctions réalisant les fonctions mathématiques couramment utilisées en


traitement du signal sont données par help elfun et help datafun.
help elmat.

Les boucles et les instructions conditionnées

Pr. Y. El merabet
Pr. Y. El merabet Faculté des Sciences Université Ibn Tofail -- 2024/2025 --

Instructions conditionnelles if

if condition logique
instructions
elseif condition logique
instructions
...
else
instructions
end

Boucles for

for variable = valeur début:pas:valeur fin


instructions
end

Boucles while

while condition logique


instructions
end

2. Exercices

a. Dans un fichier nommé distance.m, créer la fonction qui permet de


retourner la distance absolue et les distance en x et y entre deux points de
coordonnées (x1,y1) et (x2,y2).

b. Soit la fonction x (t) = sin (2*pi*50*t) +sin (2*pi*120*t) définie sur [0,0.6]. On
définit le vecteur des temps de la manière suivante : t = 0:0.001:0.6;
Représenter x en fonction de t en apportant tout le soin nécessaire à la
présentation du graphique (axes, titre, etc.…).

Pr. Y. El merabet
Pr. Y. El merabet Faculté des Sciences Université Ibn Tofail -- 2024/2025 --

c. Réaliser les signaux suivants :


Impulsion unite
1.5

Une impulsion unité (Dirac) défini 1

par f(n) = 1 si n = 0 et 0 sinon.

Amplitude
(utiliser les fonctions stem et 0.5

zeros) ,
0

-0.5
-10 -8 -6 -4 -2 0 2 4 6 8 10
n

Echelon unite
1.5

Un échelon unité par défini 1

par f(n) = 1 si n ≥ 0 et 0
sinon. . (utiliser les fonctions

Amplitude
0.5

stem , zeros et ones)


0

-0.5
-10 -8 -6 -4 -2 0 2 4 6 8 10
n

La fonction porte définie sur [- 1


porte

N,+N] et de largeur 2P+1. Pet 0.9

0.8

N entiers positifs, par la suite : 0.7

0.6
Amplitude

Rect(n) =0 si n appartient à
0.5

0.4

{P+1,…,N}ou {-N,…,-P-1} 0.3

Rect(n) =1 si n appartient à {-
0.2

0.1

P,…,P} 0
-10 -8 -6 -4 -2 0 2 4 6 8 10

(Essayer d’utiliser les


n

fonctions ones et zeros)

Pr. Y. El merabet
Pr. Y. El merabet Faculté des Sciences Université Ibn Tofail -- 2024/2025 --

rampe : r(t)=at (rampe unité)


20

18

16

14

12

10

0
0 1 2 3 4 5 6 7 8 9 10

0.8

0.6

Sinus amorti 0.4

exp(-t).*sin(2*pi*t)
exp(-t).sin(2*pi*t) 0.2

-0.2

-0.4

-0.6
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
temps seconde

Produit de convolution entre deux


portes rectangulaire

d. On veut analyser les propriétés de certaines séquences élémentaires.


Générer un signal sinusoïdal sur 10000 points et le visualiser sur 200
échantillons. Puis déterminer son minimum, maximum, moyenne, sa
médiane et sa dispersion.

Rappel : la dispersion d’un vecteur est calculée comme suit :

Pr. Y. El merabet
Pr. Y. El merabet Faculté des Sciences Université Ibn Tofail -- 2024/2025 --

3. Devoir
Exercice 1 : Ecrire un programme qui donne en sorite la figure ci-contre.

Exercice 2 : Tracer le motif du signal


traité dans l’exercice 4 du TD, i.e.,
écrire un programme qui donne en
sortie

Exercice 3 : Tracer le motif du signal


traité dans l’exercice 5 du TD, i.e.,
écrire un programme qui donne en
sortie

Pr. Y. El merabet

Vous aimerez peut-être aussi