Académique Documents
Professionnel Documents
Culture Documents
Travaux Pratiques
Demi-Module :
SYSTEMES ASSERVIS
T.P. 4 :
T.P. N1
INITIATION MATLAB
I. INTRODUCTION
Ce document constitue un support dinitiation au logiciel MATLAB. Il permet ltudiant de
se familiariser tout dabord avec les outils de base dont dispose MATLAB, puis de prendre
connaissance des possibilits offertes dans le domaine de lautomatique des systmes linaires
continus facilitant ainsi leur comprhension et leur exploitation.
MATLAB (MATrix LABoratory) est un logiciel de calcul matriciel mis au point par
luniversit dAlbuquerque (Nouveau-Mexique, Etats-Unis) et dvelopp par la socit MathWorks.
MATLAB est crit en langage C et conu la base pour tre un environnement informatique de calcul
scientifique et de visualisation de donnes. Il peut tre considr comme un langage de programmation
au mme titre que le langage C, Pascal ou Basic. Cest un langage interprt, cest--dire quil nest
pas ncessaire de compiler un programme. Les instructions, crites dans la fentre de commande, sont
excutes immdiatement aprs avoir t tapes (aprs la frappe de return).
Dans le cadre universitaire, MATLAB constitue un outil standard pour les cours dalgbre
linaire ainsi que pour des cours plus avancs dans dautres domaines. Dans lindustrie, il est utilis
pour la recherche ainsi pour la rsolution des problmes pratiques de lingnieur et des problmes
mathmatiques.
MATLAB en tant que logiciel de conception des systmes de traitement du signal est largement
rpandu, aujourdhui, autant dans les universits que dans les centres de recherche et dveloppement,
ainsi que dans lindustrie.
MATLAB est un outil puissant qui permet la rsolution de nombreux problmes en beaucoup
moins de temps quil ne faudrait pour les formuler en C ou en Pascal.
MATLAB est un langage parfaitement adapt au traitement du signal. Cest aussi un excellent
outil de traitement numrique qui prsente de nombreux avantages pour ltude et mme la conception
des systmes de traitement numriques des signaux. Parmi ces avantages on peut citer :
La syntaxe MATLAB est trs proche du formalisme de lalgbre linaire, ce qui permet de
transcrire rapidement en code des oprations comme le produit scalaire de deux vecteurs
(corrlation) ou encore le produit dune matrice et dun vecteur (transforme).
Toutes les variables sont par dfinition des matrices de complexes, ce qui signifie quon na pas
dclarer une variable avant de lutiliser (exemple la ligne a = 1 cre la variable a puis lui
affecte la valeur 1).
MATLAB comprend galement une bonne librairie graphique, ce qui permet dobserver
facilement les caractristiques des signaux, leur analyse spectrale et le comportement des
systmes numriques (rponse impulsionnelle, rponse en frquence, fonction de transfert,).
MATLAB compte plus de 500 fonctions prdfinis et prs de 10 000 fonctions ! dans ses
Toolbox. Leurs natures tant trs diversifies. Mme les utilisateurs les plus chevronns ne
prtendent pas connatre parfaitement la totalit des fonctions de MATLAB.
2
Il est souhaitable de travailler dans votre rpertoire et non dans le rpertoire de MATLAB. De
mme vous pouvez organiser vos fichiers dans des sous rpertoires.
Pour que vos fonctions et scripts soient accessibles partir de la ligne de commande MATLAB
il faut, au dbut de chaque session MATLAB, dclarer vos rpertoires de travail. Ceci est
ralis laide de la commande path. Cette commande permet de dclarer le chemin suivre
par MATLAB pour excuter vos fichiers.
Il faut aussi se placer dans votre rpertoire de travail. Pour cela il est possible de se dplacer
dans larborescence du disque de travail laide des commandes cd et dir (mme syntaxe que
MS-DOS).
Par dfaut, les scripts et fonctions sont enregistrs dans le rpertoire work sous MATLAB.
Lorsque le nombre de variables dclars dans une cession MATLAB est lev, il se peut quil
soit utile de les sauvegarder dans un fichier dextension .mat pour une rutilisation ultrieure.
Ceci est rendu possible laide de la commande save dont la syntaxe est :
save nom du fichier noms des variables
Exemple :
save toto.mat A, B, C
Si le nom des variables est omis, tout lespace de travail est sauv.
Si de plus, le nom du fichier est omis, la sauvegarde se fera dans le fichier matlab.mat.
Pour recharger les variables sauves dans un fichier .mat, il suffit de taper : load nom
du fichier.
Pour effacer plusieurs variables dans lespace de travail on utilise la commande clear.
Exemple :
clear x supprime la variable x
3 Scripts
Il est parfois (souvent) souhaitable, pour ne pas avoir taper plusieurs fois une mme squence
dinstructions, de la stocker dans un fichier. Ainsi on pourra rutiliser cette squence dans une
autre session de travail. Un tel fichier est dnomm script ou fichier de commande.
Sous windows, Pour crer un nouveau fichier de commande, choisir New M-file dans
le menu File. Une fentre Untitled apparat alors, dans laquelle la suite de commande dsires
peut tre dite comme dans un traitement de texte et de sauver le fichier avec une extension .m
Pour ouvrir un fichier script, toto.m par exemple, dans la fentre de commande MATLAB il
suffit de taper open toto.m
Pour enregistrer le fichier, choisir Save as dans le menu File, introduire le nom dsir, par
exemple toto, slectionner le dossier de destination, puis enregistrer. Le nom du fichier doit
comporter l'extension .m
Si la fentre du script est active, par exemple lors de ldition du fichier, il suffit de choisir la
commande save dans le menu File pour enregistrer les modifications.
Les variables dfinies dans lespace de travail sont accessibles pour le script. De mme les
variables dfinies dans le script sont accessibles dans lespace de travail. Les fichiers de
commandes partagent les variables dfinis dans la fentre de commande. Il sagit donc de
variables globales.
Dans le fichier script, il est possible, et mme recommand, dintroduire des commentaires.
Ceci est ralis laide du caractre %. Toute commande situe aprs % nest pas prise en
compte par MATLAB jusqu la ligne suivante.
MATLAB ne voit pas les espaces blancs entre les diffrents caractres des instructions de
commandes. Par consquent on peut arer suffisamment le fichier pour quil soit facilement
lisible.
4 Fonctions
MATLAB compte plus de 500 fonctions prdfinies, mais il se peut quon ait besoin dune
fonction ne figurant pas dans son catalogue. Alors il est possible de crer de telles fonctions
dans un fichier spar et les appeler de la mme faon que les fonctions prexistantes.
Si la premire ligne est une ligne de commentaire alors elle sera affiche chaque fois que le
help de cette fonction est sollicit.
La premire ligne (hormis la ligne de commentaires) dune fonction doit imprativement avoir
la syntaxe suivante :
function [S1, S2,] = nom fonction (E1, E2,).
nom fonction est une chane de caractre qui correspond au nom de la fonction. Ce nom doit
tre diffrent de celui des autres fonctions dj disponibles. Le fichier de commandes doit
porter le mme nom que la fonction. E1, E2, sont les variables transmises la fonction
lorsquelle est invoque. S1, S2, sont les variables retournes par la fonction aprs son
excution. Ces dernires variables dfinies lintrieur de la fonction sont locales.
Par dfaut, les fichiers .m contenant les fonctions sont stocks dans le dossier work.
Exemple :
% la fonction calcul la somme et le produit de deux nombres.
function [a, b] = somprod (x,y)
% Cette fonction retourne la somme et le produit de deux nombres.
a=x+y;
b=x*y;
>> [u, v] = somprod (3,4)
>> u =
7
v=
12
4
Le nom de la fonction doit imprativement tre le mme que le nom du fichier dans lequel elle
est stocke, sinon MATLAB ne prendra pas en compte ce nom mais uniquement celui du
fichier.
Les variables de lespace de travail ne sont pas accessibles la fonction sauf si elles sont
entres comme variable dentre. De mme les variables dfinies dans une fonction ne sont pas
accessibles dans lespace de travail.
Avant dutiliser une fonction MATLAB pour la premire fois il est souhaitable de consulter la
documentation ou le help pour vrifier quelle ralise bien ce que vous dsirez.
5 Help
MATLAB est pourvu dune fonction daide trs utile : help. Ainsi si vous tapez help sur la
ligne de commande apparaissent tous les rpertoires accessibles depuis MATLAB ainsi quune
explication (en anglais) concernant ces rpertoires.
Si vous tapez help suivi du nom du rpertoire, MATLAB affiche une explication brve sur
toutes les fonctions et scripts de ce rpertoire.
Enfin si vous tapez help suivi du fichier script ou fonction apparat une explication dtaille sur
lutilisation de la fonction ou du script.
III. OUTILS DE BASE
1 - Commandes gnrales :
who
whos
clear
X = input (message) :
fprintf (bonjour)
pause
2 - Caractres spciaux
;
...
3 - Valeur particulires
ans
pi
i, j
Constantes correspondant
1 .
4 - Dfinitions de scalaires
z = 1 +2*i
a=2
Dfinit la variable a = 2.
5 - Dfinition de vecteurs
x = [-1 0 2] ou x = [-1, 0, 2] : Dfinit le vecteur ligne : x = [-1 0 2].
x = [-1; 0; 2]
1
Dfinit le vecteur colonne : x = 0
2
x (5) = x(1)
y = [y0 : yMax]
y = [1 : 5]
w = logspace(-2, 1, 50) :
6 - Dfinitions de matrices
A = [1 2 3 ; 4 5 6; 7 8 9]
1 2 3
Dfinit la matrice : A = 4 5 6
7 8 9
A = [A; r]
10
ones (n, m)
2 3
5 6
8 9
11 12
O = ones (2, 3)
1 1 1
Dfinit la matrice : O =
1 1 1
zeros (n, m)
size (A)
eye (n, m)
diag(v)
0 0
1 0
0 1
0 0
1 0 0
Dfinit la matrice diagonale : D = 0 2 0
0 0 3
V = []
A (i, :)
A (:, k : m)
A (:, 2)= []
1
4
Efface la 2me colonne de la matrice A. On obtient : A =
7
10
A (i, j)
3
6
9
12
Exemple :
Soit A = [1 2 3; 4 5 6; 7 8 9; 10 11 12];
A = A (1 : 3, :)
1 2 3
Produit la matrice A = 4 5 6
7 8 9
A = A (3, 2)
Visualise la valeur 8
1 4 7
Correspond B = A = 2 5 8
3 6 0
x = x
1
Produit le vecteur x = 0
2
W = Z
1 5i 3 7i
Produit la matrice W =
2 6i 4 8i
B = A
Transpos
W = Z.
1 + 5i 3 + 7i
Produit la matrice W =
2 + 6i 4 + 8i
Addition et soustraction
Les oprations sont dfinies uniquement si les variables ont la mme dimension ou si une des
variables est un scalaire .
C = A+B
y = x 1
2 6 10
Produit la matrice C = 6 10 14
10 14 0
2
Produit le vecteur y = 1
1
Multiplication et division
Les dimensions des variables doivent tre compatibles.
x*y
x*y
2 1 1
0 0
Produit la matrice ans = 0
4 2 2
5
Produit le vecteur b = 8
7
pi*x
3.1416
6.2832
C = A.*B
b = A*x
1 8 21
C = 8 25 48
21 48 0
B/A
z = x. /y
0.5
z = 0
2
Puissance
A^n
correspond An. Cette opration est dfinie si A est une matrice carre
et si n est un scalaire.
Z = y.^x
0.5
z = 1
1
z = x.^2
1
Donne le vecteur z = 0
4
9 - Fonctions
Ces fonctions sont dfinies uniquement pour des matrices carres. Soit A une matrice de
dimension n x n ;
det(A)
inv(A)
expm(A)
logm(A)
:
:
:
:
Dterminant de la matrice A.
Inverse de la matrice A.
Exponentielle de la matrice A.
Logarithme naturel de la matrice A.
9
-1
sqrtm(A)
poly(A)
eig(A)
:
[V, D] = eig(A)
-1 1/2
1/2
Exemple :
Considrons la matrice A tels que A = [2 0 4 ; 3 4 12 ; 1 2 5]
V = 0.4472
0
0.5571
0
0.2425 0.3714
et
2 0 0
D = 0 1 0
0 0 0
:
:
:
:
:
:
:
:
:
:
:
:
:
:
Les fonctions suivantes oprent sur les colonnes dune matrice ou sur les lments dun vecteur
ligne ou colonne.
Soient x = [ 6 4 1 2 5 3 ] et A = [ 9 8 4; 1 6 5; 3 2 7 ]
mx = max (x)
mA = max (A)
:
:
:
:
sx = sort(A)
lordre croissant, sx = [1 2 3 4 5 6 ]
Classe les lments de chaque colonne de la matrice A
1 2 4
selon lordre croissant sA = 3 6 5
9 8 7
sA = sort(A)
sux = sum(x)
suA = sum(A)
MATLAB dispose galement de fonctions qui oprent sur des polynmes reprsents par des
vecteurs de coefficients.
Soient p = [1 6 72 27], a = [1 2 3] et
r = roots (p)
b = [4 5 6]
12.1229
r = 5.7345
0.3884
p2 = poly (r)
v = polyval (p, x)
c = conv (a, b)
Exemple :
[q, r] = deconv(c, a)
ans
q=
r=
Ainsi c = q a + r
On peut vrifier ce rsultat en utilisant la commande conv entre les polynmes q et a pour voir
si le rsultat donne bien le polynme c.
1
1
1
=
+
x + 5x + 6 x + 3 x + 2
2
1 - graphiques
Avec MATLAB les donnes peuvent tre examines graphiquement. Pour la reprsentation
dun graphe lcran il est possible de choisir le type dchelle dsir pour les axes x et y.
Plot (x, y)
s1 (couleur)
y
m
c
r
g
b
w
k
jaune
magenta
bleu ciel
rouge
vert
bleu
blanc
noir
s2 (type de point)
.
o
x
+
*
s
d
^
v
<
>
p
h
point
cercle
marque x
plus
toile
carreau
diamant
triangle (haut)
triangle (bas)
triangle (gauche)
triangle (droite)
pentagone
hexagone
12
s3 (nature de lignes)
:
-.
--
solide
pointill
tiret point
2 tirets
Plot (x, y, t, z)
n0 s m + n1 s m 1 + ... + n m
d 0 s n + d 1 s n 1 + .... + d n
13
Noter que la variable p, couramment utilis en tant que variable de la fonction de transfert
analogique H, est remplace dans MATLAB par la variable s.
Dans MATLAB, nous dcrivons ce systme par les deux vecteurs lignes suivants :
num = [n0 , n1 ,...n m ] et
sys = tf(num, den)
den = [d 0 , d 1 ,...d n ]
cre le systme sys dont la fonction de transfert continu a pour
numrateur num et pour dnominateur den.
get (sys)
Exemple :
Considrons le systme dfini par la fonction de transfert : H ( s ) =
s 3 + 2s + 5
3s 3 + 4 s 2 + 2 s + 1
K 0 ( s + z1 )...( s + z m )
( s + p1 )...( s + p n )
Dans MATLAB, nous dcrivons ce systme par les deux vecteurs colonnes et un scalaire
comme suit :
K = K0
; Z = [ z1 , z1 ,... z m ] et
P = [ p1 , p 2 ,... p n ]
4( s + 1).( s + 2)
( s + 3).( s + 4).( s + 5)
Soit H ( s ) = e rs
n0 s m + n1s m1 + ... + nm
o r est le retad pur en secondes du systme.
d 0 s n + d1s n 1 + ... + d n
s3 + 2s + 5
3s 3 + 4 s 2 + 2 s + 1
num = [1 0 2 5]
den = [3 4 2 1]
sys = tf(num, den)
subplot (2,1,1)
impulse (sys)
set (sys, Td,5)
subplot (2,1,2)
impulse (sys)
e - Combinaison de fonctions de transfert
MATLAB fournit la possibilit de connecter deux systmes dynamiques qui sont dcrits
chacun par une fonction de transfert.
Cette opration qui consiste rduire plusieurs systmes dynamiques connects en srie en un
seul systme quivalent est intressante car elle facilite, entre autre, lanalyse de la rponse du systme
globale.
Soit (num1, den1) et (num2, den2) la reprsentation de deux systmes dynamiques 1 et 2
connects en srie.
S 1(p)
S 2(p)
La fonction de transfert du systme quivalent est reprsente par deux vecteurs ligne, num et
den, dfinis comme suit :
num = conv (num1, num2)
den = conv (den1, den2)
O conv est la fonction ralisant le produit de convolution de deux polynmes. Plus
simplement, avec la reprsentation objet de MATLAB des systmes linaires, la mise en srie de deux
systmes peut tre ralise de la faon suivante :
sys1 = tf(num1, den1)
sys2 = tf(num2, den2)
sys = sys1*sys2
15
Exemple :
Soit : H 1 ( s ) =
s+2
et
2
0 .5 s + s + 0 .5
H 2 ( s) =
s 2 + 0 .4 s + 4
deux systmes mis en srie.
s 2 + 0 .5 s + 2
H ( s) =
donne
s 3 + 2.4 s 2 + 4.8s + 8
0.5s 4 + 1.25s 3 + 2 s 2 + 2.25s + 1
Exemple :
num = [1 2]
den = [3 4]
donne
donne
s+2
3s + 4
b+2
3b + 4
a Rponse impulsionnelle
Soit un systme analogique dcrit par sys et un systme discret reprsent par sysd.
impulse (num,den)
impulse (sys)
16
impulse (num,den, t) :
impulse (sys, t)
y = impulse (sys)
y = impulse (sys, t) :
y = impulse (sysd, T) :
idem que impulse (num, den) sauf que le calcul est ralis sur
lintervalle de temps t choisi par lutilisateur.
idem que impulse (sys) sauf que le calcul est ralis sur
lintervalle de temps t choisi par lutilisateur.
retourne dans le vecteur y les valeurs de la sortie de la rponse
impulsionnelle.
retourne dans le vecteur y les valeurs de la sortie de la rponse
impulsionnelle en fonction du temps t choisi par l'utilisateur.
retourne dans le vecteur y les valeurs de la rponse
impulsionnelle d'un systme discret dcrit par la fonction de transfert
sysd calcules chaque pas d'chantillonnage T choisi par l'utilisateur.
Exemple :
t = 0 : 0.01 : 10 ;
num = [1] ;
den = [3 4] ;
impulse (num, den, t) ;
Le mme rsultat peut tre obtenu en remplaant la dernire instruction par :
y = impulse (num, den, t) ;
plot (t, y)
Ou encore :
sys = tf (num,den)
impulse (sys, t)
b Rponse indicielle :
step (num, den)
Exemple :
t = 0 : 0.01 : 10 ;
num = [1] ;
den = [3 4] ;
step (num, den, t) ;
Le mme rsultat peut tre obtenu en remplaant la dernire instruction par :
y = step (num, den, t) ;
plot (t, y)
c Rponse une entre arbitraire :
lsim (sys, u, t)
y= lsim (sys, u, t)
Exemple :
t = 0 : 0.01 : 10 ;
num = [2 1] ;
den = [3 4] ;
x = sin (t) ;
sys = tf (num,den) ;
lsim (num, den, x, t) ;
Le mme rsultat peut tre obtenu en remplaant la dernire instruction par :
y = lsim (sys, x, t) ;
plot (t, y)
3 Rponse frquentielle des systmes SLTI :
a - Diagramme de Bode
num (s)
nyquist ( num, den, ) utilise la gamme de frquence impose par l'utilisateur dans le
vecteur (en rad/S).
num (j)
[ Re, im, ] = nyquist ( num, den) retourne dans Re les parties relles de den (j) dans
im les parties imaginaires et dans les frquences prises. La reprsentation de Nyquist
s'obtient alors par le biais de l'instruction plot ( Re, im ) .
c Lieu de Black Nichols
num (j)
- 100
20 ] )
num = 2 ;
den = [ 1
0.25
1] ;
[ mag , phase , ] = bode (num, den ) ;
margin ( mag, phase, )
pause
[Gm, Pm, cg , cp ] = margin ( mag, phase, )
19
S1(p)
-
S2(p)
>>[num,den]=feedback(num1,den1,num2,den2,sign)
input
disp(xxx)
clc
efface lcran.
20
pause
attend un apui sur une touche quelconque du clavier avant dexcuter linstruction
suivante.
Pause(n)
2- Le nom de la fonction et celui du fichier doivent tre identiques. Par exemple, la fonction
Nomfon doit tre sauvegarde sous le nom Nomfon.m.
3- Les fonctions peuvent avoir zro ou plusieurs arguments d'entre et zro ou plusieurs
arguments de sortie.
4- Lorsqu'une fonction possde plus d'une variable de sortie, celles-ci sont mis entre crochets
comme [ V , D ] = eig(A)
5- Les fonctions M.files agissent comme des commandes MATLAB. Ainsi une fonction est
appele (pour excution) en plaant les variables entre parenthses comme det(A).
6- Une fonction peut tre appele de manire rcursive, c - - d qu'elle peut tre appele par elle
mme.
Exemple :
Soit Fibona une fonction M.file qui calcule les X premirs nombres de Fibonnaci.
function Fib = Fibona (X)
f=[1 1] ;
while
i=3
i <=X
f (i) = f ( i-1) + f ( i -2 )
i=i+1
end
f
Cette fonction doit tre sauvegard sous le nom Fibona.m . Le calcul des 25 premirs nombres
de Fibonnaci est obtenu l'aide de l'instruction Fibona (25).
21
T.P. N2
INITIATION SIMULINK
Simulink est lextension graphique de MATLAB permettant de reprsenter les fonctions
mathmatiques et les systmes sous forme de diagramme en blocs.
1- Pour dmarrer Simulink
Dans la fentre commande de MATLAB, taper simulink.
La fentre simulink va souvrir :
sources de signaux
affichage
blocs discrets
blocs linaires
blocs non linaires
Faire glisser dans la fentre de travail les blocs dont on a besoin pour construire le diagramme.
- Le bloc " signal Gen" gnre un signal [ sources library]
- Le bloc " scope" reprsente un graphique d'un oscilloscope [ sinks library]
mettre le " horizontal range " et le " vertical range" 10 et 3 respectivement
- Le braket (>) la sortie du bloc" signal Gen" reprsente son port de sortie
- Le braket (>) l'entre du bloc " scope" reprsente son port d'entre
- Pour lier ces deux blocs, utiliser le bouton de la sourie en mme temps sur le port de sortie et le port
d'entre.
- Maintenant vous pouvez commencer la simulation
- Pour slectionner la technique d'intgration et les paramtres utiliser durant la simulation, appeler le
menu Simulation et choisir Paramtres .
- Une boite est ouverte montrant tous les paramtres qui peuvent tre modifis.
- Changer la valeur du " Maximum step size" 0,01 et cliquer sur OK.
- Lancer la simulation en choisissant start partir du menu simulation
- Si la fentre du " scope bloc" n'est pas ouverte, cliquer maintenant deux fois sur le bloc.
- Le gnrateur de signaux envoi le sin(t) chaque pas de temps et l'oscilloscope le montre sous la
forme d'une onde sinusodale.
- Vous pouvez slectionner diffrentes formes de signaux sur le gnrateur de signaux et voir les
rsultats immdiatement sur l'oscilloscope.
- La simulation est arrte en choisissant la commande Stop du menu Simulation.
- Pour sauvegarder votre travail sous forme de fichier " M-file", choisir save du menu File. Choisir le
nom "Binme NG" (N = numro de Binme, G = numro de Groupe).
- Maintenant prendre une copy du " Gain bloc" du " linear subsystem" dans le bloc bibliothque.
- Ouvrir ce bloc en cliquant 2 fois.
- Changer la valeur du gain 2 et fermer le bloc.
- Maintenant lier le gnrateur de signaux au " Grain bloc"
- Ajouter un autre oscilloscope au modle en copiant l'oscilloscope dj existant en utilisant le bouton
droit de la sourie. La copie aura les mmes valeurs de paramtres.
23
- Arrter la simulation
- Vous pouvez liminer un bloc ou une ligne en le slectionnant et en utilisant la touche Delete on en
choisissant Cut ou Clear du menu Edit
- Enlever le 2me oscilloscope, sa ligne de connexion avec le bloc gain et la ligne de connexion du
gnrateur de signaux et l'oscilloscope
- A partir de la bibliothque connections, ajouter un bloc Mux dans le modle.
- La fonction du bloc Mux est de multiplexer ses entres dans un seul vecteur de sortie. Dans notre
exemple, la ligne de connexion du bloc Mux et l'oscillo est une ligne multivariable ( qui transmet
plusieurs valeurs pour chaque pas de temps).
- Maintenant faire une copie du bloc Workspace de la bibliothque " Sinks" puis l'ouvrir. Le nom de la
variable apparat dans l'icne du bloc ; c'est " yout" par dfaut. On peut changer ce nom en entrant un
nouveau nom.
Le bloc To Workspace prend le vecteur d'entre est le met dans le " Workspace Matlab" sous forme
d'une matrice. La matrice a une ligne par pas en temps et une colonne par lment du vecteur d'entre
du bloc.
- Ouvrir le bloc " To Workspace"
- Changer le nom de la variable Matlab produit par la simulation de ce modle matrice1.
-
Faire la connexion de la sortie du bloc Mux l'entre de bloc " matrice1". Une autre faon de faire
la liaison est d'utiliser une ligne de sortie existante. Positionner le pointeur sur la ligne " Mux"
"Scope", utiliser le bouton droit de la sourie et mettre le pointeur l'entrer du bloc "
ToWorkspace".
24
size
Total
Complex
matrice 1
1000 by2
2000
No
25
T.P. N3
ANALYSE TEMPORELLE & FREQUENTIELLE DUN SYSTEME DU PREMIER ORDRE
On considre le circuit RC suivant :
R
Ve
Vs
Vs ( p )
en fonction de R et C ; Calculer H(p) pour les valeurs
Ve ( p )
Analyse Frquentielle
Pour les valeurs de T1=et =
Faites varier la frquence du signal sinusodal dentre de 0 une valeur suprieure 1/T1
Quelle est la nature du signal de sortie ?
Remplir les Tableau suivant
(rad/s)
|H(jw)|dB
Arg(H(jw))
N.B. : Le nombre de points ainsi que les frquences sont choisir.
1./ Tracer le lieu de transfert du systme sur les plans de Bode , Nyquist et Black,
2./ Comparer avec les tracs thoriques,
3./ Que peut on dire sur la stabilit du systme ?
26
T.P. N4
ANALYSE TEMPORELLE & FREQUENTIELLE DUN SYSTEME DE DEUXIEME ORDRE
I. PARTIE THEORIQUE
On considre le circuit RLC suivant :
R
Ve
Vs
sous la forme : H ( p ) =
1+
p+
p2
Vs ( p )
; lcrire
Ve ( p )
02
montage.
3. Sachant que la bobine a une inductance L=0,1H et prsente une rsistance R=32, dterminer
et 0 pour chacun des couple (R,C) suivant :
C(nF)
R()
4. Quelle est la valeur critique du coefficient damortissement qui conditionne la rponse
temporelle du systme ?
5. Donner la rponse temporelle Vs(t) (expression et allure sur le mme graph) dans les trois cas <
critique , = critique et > critique.
6. Pour la mme valeur de C1 choisir deux valeurs R1 et R2 de R qui donnent des rponses
oscillatoires et deux autres valeurs R3 et R4 qui donnent des rponses apriodiques.
7. Etudier la fonction |H(j)|=f().
8. Quelle est la valeur critique du coefficient damortissement qui conditionne la rponse
frquentielle du systme ?
9. Pour la mme valeur de C1 choisir deux valeurs R1 et R2 de R qui donnent des rponses avec
rsonance et deux autres valeurs R3 et R4 qui donnent des rponses sans rsonance.
10. Donner le diagramme de Bode du systme pour les quatre couples (R, C) de la question9.
27
GBF
Ve
Vs
M asse
28