Académique Documents
Professionnel Documents
Culture Documents
Signaux et systèmes
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’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é.
2
Table des matières
Déroulement des séances de travaux pratiques .................................................................................... 2
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
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.
Pour accéder à l’environnement Matlab, double clique sur l’icône « Matlab » situé sur le bureau de
Windows.
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.
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 ».
Ouvrir l’éditeur Matlab (Menu principal « File » → sous menu « New » → sous menu « M-
File »).
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.
1. Effectuer l’opération : (4e2+1)/60. Pour cela, saisir dans la Command Windows l’instruction :
(4*exp(2)+1)/60
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;
3. Observer la fenêtre Workspace (onglet Workspace). Elle contient un symbole noté ans. Saisir :
ans
6+1;
Puis, saisir :
ans
x = (4*exp(2)+1)/60;
III-1-Vecteur ligne
v = [0 5+3*j 2 4 1]
2. Saisir la commande :
v1 = transpose(v)
v2 = v’
a = 2;
v3 = a*v
Conclusion ?
6
Initiation à Matlab
k1 = s.*v
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)
w2 = w’
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
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]
7
Initiation à Matlab
a = M(2,1)
b = M(:,2)
c = M(3,:)
Conclusion ?
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
dimM = size(M)
A quoi sert la fonction size(M) ? Quelle sont les dimensions de la variables dimM ?
(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.
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.
8
Initiation à Matlab
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) )
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
clear all
5. Saisir
close all
10
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…).
p+2
La fonction de transfert G1 ( p ) = 2
sera mise en mémoire grâce à l’instruction :
3p + 6p +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.
La manière d’obtenir les caractéristiques d’un objet système est tout simplement de taper son nom
dans Command Window.
sys1
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-1- En série
sys_serie=sys1 * sys2 ;
sys1 sys2
IV-2- En parallèle
sys_para=sys1 + sys2 ;
sys1
sys2
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.
impulse(sys1)
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 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.
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 ».
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.
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.
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
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 ».
3- Tracer la carte des pôles et des zéros, avec la commande « pzmap ». Le système est-il stable ?
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
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.
3- Créer un vecteur temps « t » compris entre 0 et 10 seconde échantillonné au pas de 0,02 seconde.
Exercice 1 :
1
On considère le système suivant G ( p ) = 3 2
p + p + 2p + 23
Exercice 2 :
Σ K
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 ».
16
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.
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).
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 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