Mohammedia
TP N°1 : Etude des systèmes dans l’espace d’état Sous Matlab - Simulink
Classes 1ère ANNEE : SEER & GECSI Année Universitaire 2020-2021
Semestre 2 Professeur M.BAHATTI
Objectifs Généraux :
I.1. Introduction
I.2. Rappels
Tout système linéaire continu est décrit par une représentation d'état de type :
𝐗̇(𝐭) = 𝐀. 𝐗(𝐭) + 𝐁. 𝐔(𝐭) ∶ 𝐸𝑞𝑢𝑎𝑡𝑖𝑜𝑛 𝑑′é𝑡𝑎𝑡
𝐘(𝐭) = 𝐂. 𝐗(𝐭) + 𝐃. 𝐔(𝐭) ∶ 𝐸𝑞𝑢𝑎𝑡𝑖𝑜𝑛 𝑑𝑒 𝑠𝑜𝑟𝑡𝑖𝑒
U : est le vecteur des commandes ou des entrées. Dim(U) = m,
X : est le vecteur d’état. Dim(X) = n,
Y : est le vecteur des sorties. Dim(Y) = p,
A : est la matrice d'évolution du système. Dim(A) = (nn),
B : est la matrice d'application de la commande. Dim(B) = (nm),
C : est la matrice d'observation. Dim(C) = (pn),
D : est la matrice de transmission directe. Dim(D) = (pm),
Remarque :
Dans le cas d’un système monovariable dit encore «SISO» (Single Input Single Output), le vecteur
d’état est de dimension « n », par conséquent les dimensions des différentes matrices qui
interviennent dans la représentation d’état sont :
– A est de dimension n lignes ×n colonnes,
– B est de dimension n lignes ×1 colonne,
– C est de dimension 1 ligne ×n colonnes,
– D est une constante (très souvent nulle).
Champ Description
Command Window Espace de commande qui sert à introduire les commandes Matlab
Workspace Liste de toutes les variables utilisées dans le programme Matlab
Current Directory Liste des fichiers du répertoire courant
1- La programmation sous Matlab peut se faire par une série d’instructions ou commandes. La
démarche à suivre dans ce cas consiste à :
– Lancer Matlab, une fenêtre (command Windows) est alors affichée.
– Cliquer sur File et choisir “New” ensuite “Mfile”, une nouvelle fenêtre est ouverte dans
laquelle on peut écrire notre programme.
– Donner un nom au programme à enregistrer.
– Pour l’exécution du programme, taper son nom dans la fenêtre (Command Windows) ou
– Cliquer sur l’icône run dans la barre d’outils de Matlab.
Une boîte à outils de Matlab correspond à un ensemble de fonctions disponibles dans la fenêtre
de travail que l’on peut appeler à l’invite ≫
De même, pour chaque commande particulière, vous avez accès à deux niveaux d’aide :
– Un 1er niveau d’aide par : ≫ help ‘nom de la commande’
– Un 2eme niveau d’aide, avec navigation hypertexte par : ≫ helpwin ‘nom de la commande’.
Dans ce TP, on portera notre attention sur les éléments suivants comme le montre la Figure 2 :
Dans toute la suite de ce TP, le système étudié est monovariable (une entrée et une sortie). Il s’agit
d’un moteur à courant continu (MCC), (Figure 3), qui est un dispositif électromécanique qui
convertit une énergie électrique d’entrée en énergie mécanique.
On considérera comme
– Etat :
Courant d’induit 𝑥1(𝑡) = 𝑖(𝑡),
Vitesse angulaire 𝑥2(𝑡) = 𝑤(𝑡) ,
– Entrée : tension d’alimentation (𝑡) ,
– Sortie : la vitesse angulaire (𝑡) = 𝑤 (𝑡).
Créer un fichier de type M-file et en utilisant la fonction Matlab ss, construire la représentation
d’état continue du système,
Indiquer la dimension de chacune des matrices A, B, C, et D, en utilisant la fonction Matlab size,
Calculer la fonction de transfert H(p) = C. (pI − A) B en utilisant les fonctions Matlab
syms, inv, eye,
Trouver la représentation d'état sous la forme canonique diagonale en utilisant la fonction
Matlab canon avec l’option ‘modal’,
Trouver la représentation d'état sous une autre forme canonique en utilisant la fonction Matlab
canon avec l’option ‘companion’. Quelle est la forme canonique obtenue ?
Comment vérifier si les deux modèles d’état sont équivalents du point de vue du comportement
entrée-sortie ?
En utilisant la fonction Matlab ss2tf, passer de la représentation d’état (représentation interne)
du système à sa fonction de transfert (représentation externe),
En utilisant la fonction Matlab tf2ss, passer de la fonction de transfert (représentation externe)
du système à sa représentation d’état (représentation interne),
Analyser la position des pôles et des zéros du système, et déterminer s’il est stable en boucle
ouverte ou pas, tout en justifiant. Pour cela utiliser la fonction Matlab pzmap,
Calculer les valeurs propres de la matrice d’état en utilisant la fonction Matlab eig,
Faire le point en répondant à cette question : Que peut-on dire sur les valeurs propres de A et
les pôles du système ?
Calculer le gain statique du système en utilisant la fonction Matlab dcgain,
Analyser les performances temporelles du système (fonction de transfert et représentation
d’état) en utilisant la fonction Matlab step, (En cliquant sur le tracé avec le bouton droit, il est
possible d’obtenir des renseignements sur le temps de réponse, le temps de montée, le gain
statique ainsi que le dépassement),
Analyser les performances fréquentielles du système (fonction de transfert et représentation
d’état) en utilisant la fonction Matlab bode (En cliquant sur le tracé avec le bouton droit, il est
possible d’obtenir des renseignements sur le gain statique et les marges de gain et de phase).
Lancer Simulink, construire le modèle du système. Pour cela, on recherchera dans les menus
Simulink les différents blocs nécessaires (fonction de transfert ou représentation d’état
continue, gain, sommateur, oscilloscope pour visualiser…etc), que l’on fera glisser dans le
modèle. Une fois les éléments essentiels présents, il suffit de les lier entre eux avec la souris
c'est-à-dire tracer des connections entre la sortie du premier bloc et l'entrée du deuxième bloc.
Ne pas oublier de sauvegarder le schéma dans votre répertoire de travail avant de l'exécuter,
Simuler les réponses indicielle et impulsionnelle du système en boucle ouverte,
Faire une étude comparative entre les deux résultats obtenus par le programme (Mfile) et par
le modèle Simulink
Interpréter les résultats
Tracez l’allure de la réponse indicielle unitaire en boucle fermée du système en utilisant les
fonctions Matlab step et feedback,
Simuler dans Simulink, la réponse indicielle du système en boucle fermée.