You are on page 1of 4

TD Initiation à Simulink, Identification

UP2, axes Instrum. et PSI – 2/11/2010, 1h30


Simulink est un outil, intégré dans Matlab, de simulation graphique de systèmes
dynamiques continus ou discrets, linéaires ou non linéaires.

1 : Initiation à Simulink, Simulation de la réponse à un


échelon d’action unitaire:
Réaliser et tester un modèle de simulation de la réponse d’un système à un échelon
unitaire pour un système d’ordre 1 + retard (retard 20 s, constante de temps : 6 min., gain
statique 50)

ACTION MESURE
1
Système à
identifier

Utilisation de Simulink (exemple de l’ordre 1 +


retard):
Lancer Matlab, puis dans la fenêtre principale de Matlab, taper
« simulink » puis touche Entrée (ou bien cliquer sur ).

Cette fenêtre d’exploration apparaît. Cliquer sur pour


créer un nouveau projet (que vous devrez sauvegarder
fréquemment dans le répertoire de votre choix).

Nous allons créer un système d’ordre 1 avec retard et visualiser sa


réponse à une entrée échelon.

1
Dans l’explorateur « Simulink library », développer simulink/ continuous et faire

glisser l’objet vers la fenêtre projet.

Vous obtenez alors : qui est par défaut la fonction de transfert d’un ordre 1
sans retard (cf paragraphe suivant). Afin de modifier ses valeurs, faire un double clic sur la
fonction de transfert :

Avec cet opérateur, vous ne pouvez saisir que des valeurs numériques et donc des
fonctions de transfert rationnel d’ordre quelconque, il est donc limité aux systèmes linéaires.
Pour les autres, et notamment le retard, il existe un opérateur spécifique (voir + loin :
transport delay).

De la même façon, faire glisser les objets simulink/source/step (générateur de signal


échelon) et simulink/sinks/scope (outil de visualisation d’un signal) afin d’obtenir :

Relier les connecteurs entre « step » et « Transfer Fcn » et entre « Transfer Fcn » et
« Scope » (cliquer-glisser). Double-cliquer sur scope afin d’ouvrir sa fenêtre.

Sauvegardez éventuellement votre travail (plantages fréquents !) puis lancez le


simulateur (clic sur ). Ajuster alors éventuellement la durée de la simulation (menu
Simulation / parameters) puis recommencer.

Autres objets utilisés (et configurables après un double-clic) :

(simulink/continuous/transport delay) Opérateur retard pur.

(simulink/sources/band limited white noise) Générateur de bruit gaussien,


permet de simuler le bruit de mesure pour plus de réalisme, tester différentes valeurs.

2
(simulink/math/sum) Somme de 2 signaux, il est possible d’avoir plus d’entrées,
en somme ou en différence.

Remarques importantes :

Le menu « Simulation / Configuration parameters / Solver » permet de régler (entre


autres) la durée de la simulation (paramètre « Solver / stop time ») et donc de l’adapter au
processus étudié.

Afin de pouvoir afficher la totalité de la simulation, il peut être nécessaire de modifier le


réglage suivant :

- Fenêtre “scope”: bouton “parameters / data history : éventuellement décocher


“limit data point to last…” si le graphe refuse d’afficher les premiers points.

Modifier enfin les valeurs de la fonction de transfert afin de tester la réponse à un


échelon d’action d’un ordre 2 non oscillant puis oscillant.

Remarque : exportation des résultats de Simulink (vers Excel par


exemple) :
- Sous simulink, le signal peut être envoyé vers Matlab grâce à

l’objet . Il est nécessaire que cet objet soit paramétré de la façon


suivante : Variable Name =tempe (ou tout autre nom), Save format = Array.

- Après avoir fait « tourner » le simulateur, aller dans la fenêtre principale de


Matlab et taper successivement :

o >> data=[tout,tempe];

o >> save data.xls –ascii –tabs data

Le fichier ASCII data.xls, sauvé dans le répertoire courant de Matlab, contient 2


colonnes, une pour le temps t et une pour y. Il peut être ouvert sous Excel.

Mais pour la suite, vous utiliserez des fichiers fournis inconnus …

3
- 2 : Identification par méthode des moindres
carrés (solveur d’Excel).
L’identification consiste à déterminer le modèle de loi auquel obéit le système, et donc
notamment à quantifier les paramètres de ce modèle, à partir d’une expérience qui est très
souvent la réponse à un échelon unitaire.

Données : fichier « inconnu » de réponse à un échelon unitaire, format : 1 colonne


temps + 1 colonne signal : sur \\nissel\work\enseignants\pbreuil\, fichier F1.xls ou F2.xls, le
deuxième étant un peu plus délicat. Attention, il s’agit de fichiers ASCII dont le séparateur
décimal est la virgule.

L’identification peut se faire grossièrement de façon graphique, Mais il est beaucoup


plus efficace d’utiliser la méthode dite « de moindres carrés », ou « curve fitting », méthode
pouvant être implantée sous Excel grâce au solveur:

Le temps t et le signal mesuré y étant situés dans 2 colonnes, créer une 3eme colonne de
calcul du modèle en fonction du temps et des paramètres du modèle (par exemple Gs, τ et
θ pour un ordre 1 avec retard) saisis dans des cases. Ces paramètres sont alors à priori
inconnus (l’objet de l’exercice est de les déterminer…), on saisira alors des ordres de
grandeur grossièrement estimés (ex : retard=0, cte de temps = 1’, gain stat = 1).

Il est nécessaire de tracer sous Excel les 2 courbes « mesures » et « modèle »,


puisque l’évaluation initiale des ordres de grandeur se fait graphiquement.

Une 4eme colonne contiendra les carrés des erreurs (différences entre la mesure et le
modèle), enfin une case contiendra la somme de cette dernière colonne (somme des carrés des
erreurs).

L’outil « solveur* » permettra alors de minimiser cette case (« moindres carrés ») en


optimisant les n paramètres. Il est généralement nécessaire d’initialiser les n paramètres avec
des valeurs dont les ordres de grandeur sont « corrects », faute de quoi l’algorithme
d’optimisation du solveur ne pourra pas converger. Il peut être aussi utile de préciser des
contraintes dans le solveur (exemple : retard positif).

Documents de cours et TDs :

http://www.emse.fr/~pbreuil/inst/regul.html

*
Onglet « Données / analyse / solveur

Si 1ere utilisation, installation préalable nécessaire : Bouton « Office en haut à gauche, Options Excel en
bas, Compléments, Gérer : Compléments Excel  Atteindre, cocher « Complément Solver »

You might also like