Vous êtes sur la page 1sur 18

TRAVAUX PRATIQES

Signaux et systèmes

Pr. T. BELHOUSSINE DRISSI

Master – EEAII : S7
2022-2023

1
Déroulement des séances de travaux pratiques

La présence aux travaux pratiques est obligatoire. Toute absence par séance non justifiée
entraînera une sanction de 1 point, qui sera prise en compte dans le calcul de la note final
d’élément.

La justification d’absence doit parvenir à l’enseignant responsable dans les deux jours ouvrables
qui suivent le jour d’absence à la séance sous peine d’être rejetée.

2 absences avec ou sans justifications entrainent la non validation de l’élément (note 0/20).

L’étudiant doit se présenter aux lieux des travaux pratiques à l’heure indiquée dans l’emploi du
temps. Si non, l’étudiant ne sera pas autorisé à suivre la séance.

Les groupes en travaux pratiques sont établis, en ordre alphabétique, par l’enseignant
responsable. L’étudiant est tenu de respecter son affectation dans le groupe affichée en début
de semestre et de faire preuve de ponctualité à toutes ses séances pédagogiques.

Les travaux pratiques se déroulent à titre individuels ou par binome. Chaque étudiant doit
impérativement posséder un ordinateur portable personnel et du logiciel Matlab.

L’étudiant ne doit pas communiquer avec les autres étudiants.

L’utilisation du téléphone portable et du MP3 est strictement interdite et doivent être en position
éteinte.

En cas de non-respect de ces règles, l’étudiant ne sera pas autorisé à suivre la séance.

Pour le bon déroulement de l’examen, l’étudiant doit s’équiper de tout le matériel autorisé qui
lui permet de composer dans les meilleures conditions (ordinateur, stylos, crayons, blanco,
gomme, calculatrice etc…). Aucun emprunt n’est autorisé.

Durant le déroulement de l’examen, toute tentative de fraude expose l’étudiant à un zéro et à


des sanctions disciplinaires.

2
Table des matières
Déroulement des séances de travaux pratiques .................................................................................... 2

Initiation à Matlab ................................................................................................................................ 4

I- Le logiciel Matlab ..................................................................................................................... 4


I-1- Introduction........................................................................................................................ 4
I-2- Accéder à Matlab ............................................................................................................... 4
I-3- Bref descriptif de l’environnement Matlab........................................................................ 4
I-4- Deux façon d’éditer/exécuter un script Matlab ................................................................. 5
I-4-1- A partir de la Command Windows ............................................................................. 5
I-4-2- A partir d’un éditeur de texte ..................................................................................... 5
II- Quelques éléments de bases de la programmation sous Matlab .............................................. 5
III- Calcul matriciel élémentaire .................................................................................................. 6
III-1- Vecteur ligne .................................................................................................................. 6
III-2- Vecteur colonne ............................................................................................................. 7
III-3- Matrices .......................................................................................................................... 7
III-4- Quelques applications .................................................................................................... 8
III-5- Quelques cas particuliers de vecteurs et matrices .......................................................... 8
IV- Tracé graphiques : Tracé élémentaire d’une fonction d’une variable ................................... 9
Utilisation liée à l’automatique : Généralités ..................................................................................... 11

I- Introduction ............................................................................................................................ 11
II- Saisie des fonctions de transfert ............................................................................................. 11
III- Affichage des fonctions de transfert .................................................................................... 11
IV- Opération sur les fonctions de transfert ............................................................................... 12
IV-1- En série ......................................................................................................................... 12
IV-2- En parallèle .................................................................................................................. 12
IV-3- En boucle fermée ......................................................................................................... 12
V- Représentation temporelle...................................................................................................... 13
VI- Représentation fréquentielle – régime harmonique............................................................. 13
VI-1- Diagramme de Bode..................................................................................................... 13
VI-2- Diagramme de Nyquist ................................................................................................ 14
VI-3- Diagramme de Black-Nichols ...................................................................................... 14
Utilisation liée à l’automatique : Applications .................................................................................. 15

Utilisation liée à l’automatique : Critère de stabilité de Routh .......................................................... 16

Utilisation liée à l’automatique : Réglage d’un PI numérique ........................................................... 17

I- Réglage d’un PI continu par application de la première méthode de Ziegler-Nichols. ......... 17


II- Réglage d’un PI continu en tenant compte de l’effet retard dû au bloqueur d’ordre 0 .......... 18
III- Réglage d’un PI continu par application de la méthode de Hrones-Reswick ..................... 18

3
Initiation à Matlab

Initiation à Matlab

Note : Prenez impérativement des notes concernant les réponses et commentaires aux questions
posées dans ce texte. La compréhension des différentes tâches à effectuer lors de ce TP est primordiale
pour les futures séances.

I- Le logiciel Matlab

I-1- Introduction

Le nom Matlab est une contraction de l’expression « Matrix Laboratory ». C’est un environnement
intégré. Le langage interprété Matlab, utilisé pour ce développement est entièrement basé sur le calcul
en algèbre matricielle. Dans lequel les objets élémentaires manipulés sont des matrices et des valeurs.

I-2- Accéder à Matlab

Pour accéder à l’environnement Matlab, double clique sur l’icône « Matlab » situé sur le bureau de
Windows.

I-3- Bref descriptif de l’environnement Matlab

L’environnement Matlab, est constitué de trois fenêtres :

La fenêtre intitulée « Command Windows » : c’est dans cette fenêtre, qu’à la suite du double
chevron « >> » ou prompt, vous introduirez et lancerez l’exécution d’une instruction ou d’une
suite d’instructions Matlab.

La fenêtre intitulée « Command History » : cette fenêtre contient un historique des commandes
exécutées précédemment dans la « Command Windows » (lors d’une utilisation précédente de
Matlab, ou lors de cette session).

La fenêtre intitulée « Workspace » : dans l’onglet « Workspace » sont listés les noms des
variables actuellement utilisées par votre programme; dans l’onglet « Current Directory » est
indiqué le répertoire actuel sous lequel peut être stocké ou appelé un programme source dont le
suffixe est nécessairement « .m » et contenant une suite d’instruction en langage Matlab. Ce
répertoire peut être modifié en cliquant sur l’icône « … », puis en définissant un autre chemin
dans l’arborescence qui s’affiche alors.

4
Initiation à Matlab

Très important : pour accéder à l’aide en ligne Matlab, cliquer sur le sous-menu déroulant « Matlab
Help » de l’onglet « help » du menu principal. Avant d’appeler l’enseignant à la rescousse quand
vous êtes bloqués, ayez le réflexe de vous référer à l’aide en ligne.

I-4- Deux façon d’éditer/exécuter un script Matlab

I-4-1- A partir de la Command Windows

Saisir au clavier les instructions à exécuter à la suite du prompt « >> » de la Command Windows et
les exécuter en appuyant sur la touche « Entrer ».

I-4-2- A partir d’un éditeur de texte

Ouvrir l’éditeur Matlab (Menu principal « File » → sous menu « New » → sous menu « M-
File »).

Saisir au clavier les instructions a exécuté.

Sauvegarder ce texte sous un nom avec le suffixe « .m »

Vérifier sous Matlab que le répertoire courant (Current Directory) est celui sous lequel vous
avez sauvé ce fichier, (dans le cas contraire, modifier Current Directory).

Saisir le nom du fichier (sans le suffixe « .m ») dans la Command Windows et appuyer sur la
touche « Entrée » : la suite d’instruction présente dans le fichier sera alors exécutée.

II- Quelques éléments de bases de la programmation sous Matlab

1. Effectuer l’opération : (4e2+1)/60. Pour cela, saisir dans la Command Windows l’instruction :

(4*exp(2)+1)/60

Observer la sortie écran et commenter.

2. Effectuer de nouveau l’opération : (4e2+1)/60. Mais cette fois, saisir dans la Command
Windows l’instruction :

(4*exp(2)+1)/60;

Observer la sortie écran. A quoi sert le symbole « ; » ?

3. Observer la fenêtre Workspace (onglet Workspace). Elle contient un symbole noté ans. Saisir :

ans

Observer la sortie écran. Introduire un nouveau calcul (par exemple 6+1) :


5
Initiation à Matlab

6+1;

Puis, saisir :

ans

A quoi sert le symbole ans ?

4. On va mémoriser le premier calcul dans un variable nommée x. pour cela, saisir :

x = (4*exp(2)+1)/60;

Observer la fenêtre Workspace. A présent, saisir

Observer la sortie écran et commenter.

5. Affecter la variable x le complexe (1+j) 2 (en Matlab l’imaginaire j se note j ou i et la

fonction se note sqrt(u)). Affecter à la variable y le module de x (fonction Matlab abs(x)).


Affecter en fin le calcul du rapport x/y dans la variable z.

III- Calcul matriciel élémentaire

III-1-Vecteur ligne

1. Créer le vecteur ligne v = [ 0 5+3j 2 4 1] en saisissant :

v = [0 5+3*j 2 4 1]

2. Saisir la commande :

v1 = transpose(v)

3. Saisir maintenant la commande :

v2 = v’

4. Quelle est la différence entre les deux commandes précédentes ?

5. Saisir les commandes

a = 2;

v3 = a*v

Conclusion ?
6
Initiation à Matlab

6. Créer un second vecteur ligne s = [ -1+2j 2 -3 1 -7] , puis saisissez

k1 = s.*v

Conclusion sur l’opérateur « .* »

III-2-Vecteur colonne

0 
5+3j
 
1. Créer le vecteur colonne w =  2  en saisissant :
 
4 
1 

w = [0 ; 5+3*j ; 2 ; 4 ; 1]

2. Saisir la commande :

w1 = transpose(w)

3. Saisir maintenant la commande

w2 = w’

4. Quelle est la différence entre les deux commandes précédente ?

III-3-Matrices

 2+i 1 -3 
On se propose de créer la matrice M =   de différentes façons :
5 1-4i -1

1. Créer directement la matrice M en saisissant :

M = [2+i 1 -3 ; 5 1-i*4 -1]

2. Créer deux vecteurs lignes u = [ 2+i 1 -3] et v = [5 1-4i -1] puis saisir :

M1 = [u ; v]

 2+j 1   -3
3. Créer trois vecteurs colonnes u =   , v =   et w =  -1 puis saisir :
5  1-4j  

M2 = [u v w]

4. Tester les commandes

7
Initiation à Matlab

a = M(2,1)

b = M(:,2)

c = M(3,:)

Conclusion ?

5. Calculer la matrice transposée de [M].

6. Calculer la matrice adjointe de [M].

III-4-Quelques applications

1 
1. Créer un vecteur ligne u = [ 0 1 4 -3] , un vecteur colonne v =   puis saisir :
 2

M = v*u

2. Créer une matrice [M] 2*3 et une matrice [N] 3*2 quelconques, puis saisir :

P = M*N

On considère la matrice [M] précédente. Saisir :

dimM = size(M)

A quoi sert la fonction size(M) ? Quelle sont les dimensions de la variables dimM ?

III-5-Quelques cas particuliers de vecteurs et matrices

(val1 : pas : val2) crée un vecteur contenant des composantes dont la première est val1, la
dernière est val2, régulièrement espacées de l’intervalle pas.

zeros(m,n) crée une matrice de m lignes et n colonnes remplie de « 0 » (zéros).

ones(m,n) crée une matrice de m lignes et n colonnes remplie de « 1 » (uns).

1. Créer un vecteur colonne x dont la première composante est 0, la dernière 10, les composantes
étant régulièrement espacées de 0.5.

2. Créer un vecteur ligne y de 10 colonnes remplies de zéros.

3. Créer une matrice z de 2 lignes et 10 colonnes remplies de uns.

8
Initiation à Matlab

IV- Tracé graphiques : Tracé élémentaire d’une fonction d’une variable

Pour tracer une fonction y d’une variable x, on utilise la commande : plot(x,y,<options>), où x, y sont
deux vecteurs de même longueur. Pour les <options> de tracés, voir l’aide en ligne.

0 
1 
 
Exemple : On définit un vecteur colonne t = .  de n lignes. On veut tracer la fonction
 
. 
 n-1

sin ( 0 ) 
 
sin ( 2πf ) 

sin ( 2πft ) = ...  , avec n = 100 et f = 0.02 Hz.
 
... 
 
sin ( 2πf ( n-1) ) 

Saisir la suite d’instructions

n = 100; % fixe la valeur de n

f = 0.02; % fixe la valeur de f

t = (0 : 1 : n-1)'; % crée un vecteur colonne t

sinusoide = sin(2.*pi.*f.*t); % crée la sinusoide

figure(1) % ouvre une fenêtre graphique numérotée 1

plot(t,sinusoide, 'b-') % trace la sinusoide en bleu

xlabel('t') % titre des abscisses

ylabel('Amplitude') % titre des ordonnées

title('Sinusoide') % titre du graphique

1. En utilisant la commande hold on (voir l’aide), superposer le tracé de cos ( 2πft ) à la courbe

précédente.

2. Une autre façon de représenter plusieurs tracés sur un même graphe. Consiste à indiquer
plusieurs triplets de type dans la commande plot : plot(x1, y1, <options>, x2, y2, <options>,
x3, y3, <options>, …), où les xi et yi sont des couples de vecteurs d’abscisses et d’ordonnées
de tracés.

9
Initiation à Matlab

3. Saisir :

clc

Observer la fenêtre Command Windows. A quoi sert la commande clc ?

4. Observer la fenêtre Workspace, puis saisir :

clear all

Observer de nouveau la fenêtre Workspace. A quoi sert la commande clear all ?

5. Saisir

close all

A quoi sert la commande close all.

10
Utilisation liée à l’automatique : Généralités

Utilisation liée à l’automatique : Généralités

I- Introduction

Matlab utilise pour les systèmes LTI (Linéaire et Invariant dans le Temps) une représentation objet.
Cette représentation est commune pour tous les types de représentation fonction de transfert, état,
zéros, pôles, gain…).

II- Saisie des fonctions de transfert

p+2
La fonction de transfert G1 ( p ) = 2
sera mise en mémoire grâce à l’instruction :
3p + 6p +1

sys1=tf([1 2],[3 6 1]) ;

Le premier vecteur contient les coefficients du numérateur dans l’ordre des puissances décroissantes
de p. Le deuxième contient les coefficients du dénominateur dans l’ordre des puissances décroissantes
de p.

Il est possible de récupérer le numérateur et le dénominateur d’une fonction de transfert à l’aide de la


fonction « tfdata ».

III- Affichage des fonctions de transfert

La manière d’obtenir les caractéristiques d’un objet système est tout simplement de taper son nom
dans Command Window.

sys1

Entrer les fonctions de transfert suivantes et sauvegarder le numérateur et le dénominateur de chaque


système dans les variables indépendantes. Vérifier leurs propriétés à l’aide des instructions
précédentes.

0.5
G2 (p) =
0.05p +1

1
G3 ( p ) =
p +1
11
Utilisation liée à l’automatique : Généralités

2.5
G4 (p) = 2
p + 0.5p +1

IV- Opération sur les fonctions de transfert

Il est possible d’assembler 2 fonctions de transfert entre elles :

IV-1- En série

sys_serie=sys1 * sys2 ;

sys1 sys2

IV-2- En parallèle

sys_para=sys1 + sys2 ;

sys1

sys2

IV-3- En boucle fermée

Pour calculer la fonction en boucle fermée. Il existe la fonction « feedback » qui calcule la fonction
de transfert en boucle fermée du système présenté ci-dessous. La variable « sign » définit le type de
bouclage (contre réaction : - par défaut sinon + pour une réaction).

Σ sys1

sys2

12
Utilisation liée à l’automatique : Généralités

V- Représentation temporelle

A partir d’une fonction de transfert, Matlab peut calculer la réponse temporelle d’une fonction de
transfert à une entrée. La réponse impulsionnelle et la réponse indicielle sont déjà programmées dans
des fonctions. Le résultat de ce calcul (vecteurs contenant le temps et la réponse du système) peut être
placé dans des variables de retour ou par défaut directement tracé dans une figure. De même si l’on
ne précise pas le vecteur temps. La fonction de déterminera automatiquement.

La réponse impulsionnelle (e(t) = δ(t)) à l’aide de la fonction :

impulse(sys1)

La réponse indicielle (e(t) = u(t)) à l’aide de la fonction :

step(sys1)

En cliquant sur le bouton droit, il est possible d’obtenir des renseignements sur les temps de réponse
ou dépassement du tracé.

Tracer la réponse impulsionnelle et indicielle de sys2 et déterminer de manière graphique la valeur


de la sortie en régime permanent et la valeur de la constante de temps. Vérifier ces valeurs avec celles
attendues.

Tracer ces deux réponses pour sys4. Mesurer le pseudo période obtenue pour la réponse indicielle et
vérifier qu’elle correspond bien à celle attendue.

VI- Représentation fréquentielle – régime harmonique

La représentation harmonique est obtenue en appliquant un signal sinusoïdal à l’entrée du système


pour toutes les fréquences et en posant p = jw.

Une fonction de transfert est alors complètement décrite par son module et sa phase. Matlab calcule
la réponse en fréquence d’une fonction de transfert et se sert de cette réponse pour tracer les diverses
représentations utilisées en automatique. A noter qu’en anglais, frequency signifie la pulsation en
rad/s (ce n’est pas la fréquence en Hertz) et qu’il est conseillé d’utiliser la fonction « ngrid ».

VI-1- Diagramme de Bode

Le diagramme de Bode représente le module en dB et la phase en degrés en fonction du logarithme


de la pulsation.

13
Utilisation liée à l’automatique : Généralités

Utiliser la fonction « bode » pour tracer le diagramme de sys2. Mesurer le gain statique (module de
G2 pour w → 0), la pulsation wc à -3dB, la pente de la courbe de gain lorsque w >> wc. Comparer les
résultats aux valeurs théoriques. Faire le même travail pour sys4.

VI-2- Diagramme de Nyquist

La représentation de Nyquist représente la fonction de transfert dans l’espace complexe, ce lieu est
paramétré avec la pulsation.

Utiliser la fonction « nyquist » pour tracer le diagramme sys2. Mesurer le gain statique (module de
G2 pour w → 0). Faire le même travail pour sys4.

VI-3- Diagramme de Black-Nichols

Cette représentation est plus simplement appelée représentation de Black. Rappelons que l’on porte
la phase en degré en abscisse et le module en dB en ordonnée. Ce lieu est paramétré en pulsation.

Utiliser la fonction « nichols » pour tracer le diagramme de sys2. Mesurer le gain statique (module
de G2 pour w → 0), la pulsation de coupure wc à -3dB. Comparer les résultats aux valeurs théoriques.
Faire le même travail pour syst4.

14
Utilisation liée à l’automatique : Applications

Utilisation liée à l’automatique : Applications

Exercice 1 :

3p + 2
On considère la fonction de transfert suivante : G1 ( p ) =
2p + 4p 2 + 5p +1
3

1- Calculer ses zéros et pôles en utilisant les commandes « roots », « zero », « pole », « zpkdata ».

2- Extraire le gain statique et le facteur de gain avec la commande « dcgain ».

3- Tracer la carte des pôles et des zéros, avec la commande « pzmap ». Le système est-il stable ?

4- Tracer sa réponse impulsionelle (« impulse »).

5- Décomposer G1(p) en éléments simples avec la commande « residue ».

6- Préciser la contribution du 1er ordre et du 2nd ordre à la réponse impulsionnelle globale de G1(p).

Exercice 2 :

0 si t < 0

On excite G1(p) par le signal e(t) défini par : e ( t ) =  2 si 0 < t < 2
0.5 si 2 < t

1- Créer un vecteur temps « t » compris entre 0 et 10 secondes échantillonné au pas de 0,02


seconde.

2- Générer le vecteur d’entrée « e ».

3- Utiliser la commande « lsim » pour tracer sur le même graphique les signaux « e » et « s ».

Exercice 3 :

On considère la fonction de transfert G2(p). Elle admet les zéros Z = [-5 ; j ; -j] et les pôles P = [-1 ; -
2 ; -2 ; -3]. Son facteur de gain est égal à 1.

1- Former G2(p) en utilisant la commande « zpk ».

2- Extraire les polynômes numérateur et dénominateur.

3- Créer un vecteur temps « t » compris entre 0 et 10 seconde échantillonné au pas de 0,02 seconde.

4- Créer le vecteur « e » tel que e(t) = sin(t).

5- Tracer sur le même graphique les signaux « e » et « s ».


15
Utilisation liée à l’automatique : Critère de stabilité de Routh

Utilisation liée à l’automatique : Critère de stabilité de Routh

Exercice 1 :

1
On considère le système suivant G ( p ) = 3 2
p + p + 2p + 23

Ecrivez un script de Matlab qui permet :

1- De calculer la fonction de transfert en boucle fermée.

2- De justifier si le système est-il stable ou non ?

Exercice 2 :

On considère le système suivant :

Σ K

1- Déterminer théoriquement le dénominateur de la fonction de transfert en boucle fermée

2- Pour quelles valeurs de K comprise entre 0 et 20 avec un pas de 1 le système est-il stable ?
penser à utiliser la boucle « for ».

3- Même question, mais cette fois-ci changer le pas de 1 par 0,5.

16
Utilisation liée à l’automatique : Réglage d’un PI numérique

Utilisation liée à l’automatique : Réglage d’un PI numérique

Soit un système industriel dont on ne connait pas le modèle a priori. Le but est de réaliser la synthèse
qu’un correcteur discret en se basant uniquement sur des expérimentations. La démarche proposée
est de faire une synthèse en continu d’un régulateur PI, par des méthodes de type heuristiques, puis
d’en faire une adaptation numérique. Pour les besoins du TP le modèle est donné :
-2p 2 + 2p +10
G (p) = et les expérimentations sont remplacées par des simulations. La régulation
p3 +10p 2 +10p + 5
numérique se fait au travers d’un bloqueur d’ordre 0. L’échantillonnage en sortie est à la période T =
0.2s.

I- Réglage d’un PI continu par application de la première méthode de Ziegler-Nichols.

1- Tracer la réponse à un échelon du système et déterminer les paramètres Tr (retard pur), a (pente
de la réponse transitoire) et Ta (temps de montée).

Figure 1 : Paramètres de la réponse à un échelon

kp*τi*p + kp
2- En déduire un régulateur PI continu de la forme . On rappelle que la première
τi*p
méthode de Ziegler-Nichols propose kp = 0.9/(a*Tr) et τi = 3*Tr.

3- Donner une version numérique de ce régulateur PI obtenue par discrétisation de Tutsin. Tracer
la réponse indicielle du système échantillonné régulé par ce correcteur.

17
Utilisation liée à l’automatique : Réglage d’un PI numérique

II- Réglage d’un PI continu en tenant compte de l’effet retard dû au bloqueur d’ordre 0

Reprendre les étapes de la question précédente en ajoutant une demi-période d’échantillonnage au


retard pur : Tr = Tr + T/2. Cette manipulation permet de prendre en compte l’effet de retard induit
par le bloqueur et qui était totalement négligé dans la question précédente.

III- Réglage d’un PI continu par application de la méthode de Hrones-Reswick

Reprendre la synthèse précédente (en tenant compte de l’effet retard du bloqueur) en appliquant kp =
0.35/(a*Tr) et τi = 1.2*Ta.

18

Vous aimerez peut-être aussi