Vous êtes sur la page 1sur 8

Université M’Hamed Bougara Boumerdès 2019/2020

Faculté de Technologie (FT)


Département d’Ingénieure des Systèmes Electriques (ISE)
MME’19 / Module : Asservissements Echantillonnés et Régulation Numérique

TP 1: Introduction aux systèmes échantillonnés


Objectif du TP: Ce TP constitue une introduction aux systèmes échantillonnés. Il a pour but de
mettre en évidence les fonctions et commandes utilisées lors de l’échantillonnage d’un système
continu. Une première partie sera réalisée sur l’éditeur de Matlab et une deuxième sur Simulink.

NB : le compte rendu est remis à la fin de l’heure.

Partie 1 : Editeur de Matlab

1- Représentation d’une fonction de transfert


a) Cas continu :
a.1) Mettre sous forme d’une transmittance en 𝑝, par l’intermédiaire de la transformée de
Laplace, l’équation différentielle suivante : 𝑦̈ (𝑡) + 𝑦̇ (𝑡) + 10 ⋅ 𝑦(𝑡) = 𝑢̇ (𝑡) + 2 𝑢(𝑡)

( )
𝐻 (𝑝) = = avec Conditions Initiales (IC) nulles
( )

a.2) Définir la fonction de transfert sous Matlab en utilisant la fonction tf.m. Prenez les deux
possibilités d’écriture pour la variable de Laplace en ‘𝒑’ et en ‘𝒔’.
Instructions Matlab Exécution
%--------1ere possibilité en s ------------% Transfer function:
num=[1 2]; den=[1 1 10]; s+2
Hc=tf(num,den) ------------
s^2 + s + 10
%--------2eme possibilité en p ------------% Transfer function:
p=tf('p'); p+2
Hc= (p + 2)/(p^2 + p + 10) ------------
p^2 + p + 10

b) Cas discret
1. Soit un système défini par l’équation récurrente suivante :

𝑦(𝑘) = 𝑢(𝑘 − 1) + 2 𝑢(𝑘 − 2) − 0.6 𝑦(𝑘 − 1) − 0.9 𝑦(𝑘 − 2).


Donner la fonction de transfert correspondante (Transformée en z en utilisant la propriété du
retard temporel 𝑦(𝑘 − 1) = 𝑧 𝑦(𝑧))

( )
𝐻 (𝑧) = = …(1)
( ) . .
2. Représenter la fonction de transfert correspondante sous Matlab en utilisant les fonctions
filt.m et tf.m respectivement avec une période d’échantillonnage 𝑇 = 0.1.
Instructions Matlab Exécution
%--------1ere possibilité ------------% Transfer function:
num=[0 1 2]; den=[1 0.6 0.9]; z^-1 + 2 z^-2
Te=0.1; %période d'échantillonnage ----------------------- …(1)
Hd=filt(num,den,Te)
1 + 0.6 z^-1 + 0.9 z^-2

%--------2eme possibilité ------------% Transfer function:


num=[1 2]; den=[1 0.6 0.9]; z+2
Te=0.1; %période d'échantillonnage ----------------- …(2)
Hd=tf(num,den,Te)
z^2 + 0.6 z + 0.9

Si on décide de multiplier l’équation (1) par , on retrouvera bien l’équation (2) :

( ) 𝒛𝟐
𝐻 (𝑧) = = × =
( ) . . 𝒛𝟐 . .

3. Quelle est la différence entre ces deux fonctions ?

Comme dans le cas continu nous utiliserons la fonction tf (transfer function) pour laquelle il
faudra définir la période d’échantillonnage 𝑻𝒆 . Avec la fonction tf les fonctions de transferts
échantillonnées sont considérées en puissance de z positive. Si l’on préfère formuler la fonction
de transfert en puissance de z négative nous aurons avantage à utiliser la fonction filt.

2- Exemple d’échantillonnage d’un modèle linéaire continu :


Soit le schéma du circuit RC suivant :
avec 𝑒(𝑡) et 𝑠(𝑡) sont les tensions d’entrée et de sortie respectivement.
On désire établir le modèle linéaire 𝑠(𝑡) = 𝑓(𝑒(𝑡)) , prendre RC=1 et
la période d’échantillonnage (𝑇 = 1 𝑠𝑒𝑐𝑜𝑛𝑑𝑒)

1- Donner le filtre analogique (fonction de transfert en ‘𝑝’)


2- Donner le filtre numérique (transformée en 𝑧)

NB : utiliser la table des TZ pour la transformée en 𝑍 de la fonction de transfert continue


retrouvée.

1- Filtre analogique :
Équation différentielle :
( )
𝑠(𝑡) = . ∫ 𝑖(𝑡). 𝑑𝑡 Donc : 𝑖(𝑡) = 𝐶.

2
La loi des mailles :
( )
𝑒(𝑡) = 𝑅𝐶 + 𝑠(𝑡).

La fonction de transfert 𝐹(𝑝) retrouvée est comme suit :


A l’aide des propriétés de la transformée de Laplace, en considérant la tension de sortie à
l’instant 𝑡 = 0 nulle c.-à-d. 𝑠(0) = 0 et 𝑅𝐶 = 1 :
𝑒(𝑝) = 𝑅𝐶 [𝑝 𝑠(𝑝) − 𝑠(0)] + 𝑠(𝑝) donc : 𝑒(𝑝) = 𝑅𝐶 𝑝. 𝑠(𝑝) + 𝑠(𝑝)
𝑠(𝑝) 1 1
𝐹(𝑝) = = =
𝑒(𝑝) 𝑅𝐶 𝑝 + 1 𝑝 + 1

La fonction de transfert 𝐹(𝑧) retrouvée est comme suit:

D’après la table des TZ on a: 𝑍 =

Donc 𝐹(𝑧) =

3- Donner les instructions sous Matlab:

3-1 du tracé de Bode des fonctions de transfert continue et discrète (𝑇 = 1𝑠) sur la même
figure.
Instructions sous Matlab:

num_c=[1]; den_c=[1 1];


F_p=tf(num_c,den_c) % TF continue

Te=1; %période d'échantillonnage

num_d=[1 0]; den_d=[1 -exp(-Te)];


F_z=tf(num_d,den_d,Te) % TF discrete

Exécution : Transfer function:


1
-----
s+1
Transfer function:
z
----------
z - 0.3679

%ETUDE FREQUENTIELLE
%-------------------
figure
hold on
bode(F_p,'b')
bode(F_z,'g--'),title('etude fréquentielle'),grid
hold off 3
Exécution :

𝒘𝑵
Bande de fréquence [0 𝒇𝑵 ]=[0 ]
𝟐𝝅

Figure 1 : Trace de Bode du filtre analogique en bleu _ et numérique en vert _ en BO


Comparer les marges de stabilité des deux tracés. Le théorème de Shannon est-il vérifié ?

Notez bien : Pour avoir les marges de stabilités, on fait : touche droite de la souris sur la figure
comme suit :

Comparaison des marges de stabilité :

- Pour le système continu en bleu _, nous avons une marge de phase de -180° à la pulsation de
coupure 𝑤 = 0 𝑟𝑎𝑑 /𝑠 et le système est stable en boucle fermée.
- Pour le système discret en vert _, nous avons une marge de phase de 159° à la pulsation de
coupure 𝑤 = 1.39 𝑟𝑎𝑑 /𝑠 et le système est stable en boucle fermée.

Théorème de Shannon (voir cours pour plus de détails)

Pour le digramme fréquentiel de Bode, on définit la Bande de fréquence par :


𝒘
[0 𝒇𝑵 ]=[𝟎 𝑵 ]
𝟐𝝅
Où 𝒇𝑵 et 𝒘𝑵 : sont la fréquence de Nyquist et la pulsation de Nyquist respectivement qui doit
vérifier la relation suivante :

4
𝒇𝒆
𝒇𝑵 =
𝟐
𝟏
Où 𝒇𝒆 = : est la fréquence d’échantillonnage choisie.
𝑻𝒆
D’après l’exemple étudié, la fréquence d’échantillonnage choisie est 𝑓 = = 1 𝐻𝑧 (𝑇 =
1 𝑠). Et d’après le diagramme de Bode retrouvé, la pulsation de Nyquist est 𝑤 = 3.14 𝑟𝑎𝑑/𝑠 
𝒇𝒆
la fréquence de Nyquist est alors calculée par 𝑓 = = = 𝐻𝑧. Donc𝒇𝑵 = , le théorème
𝟐
de Shannon est vérifié

3-2 du tracer des réponses impulsionnelles et indicielles du système continu et du système


échantillonné sur deux figures séparées.
Quelles est l’erreur statique et le temps de réponse 𝑡 ± 5% pour le cas continu et
discret ? Conclure sur la stabilité du système
Instructions sous Matlab:
%ETUDE TEMPORELLE
%-------------------
figure
subplot(1,2,1)
hold on
impulse (F_p), title( 'réponses impulsionnelles du système continu et discret')
impulse (F_z),grid
hold off
subplot(1,2,2)
hold on
step(F_p), title( 'réponses indicielles du système continu et discret')
step(F_z),grid
hold off

Exécution :

Figure 2 : Tracés des réponses indicielles et impulsionnelles du système continu en bleu _ et


discret en vert _

5
Tableau 1 : Erreur statique et le 𝑡 ± 5% du système continu et discret

Cas continu Cas discret


Erreur statique 𝑉 =1 𝑉 = 1.58
𝜀 = |1 − 1| = 0 𝜀 = |1 − 1.58| = 0.58

𝑡 ± 5% 3𝑠 3𝑠

Comparaison des résultats et conclusion :

Selon les résultats de Figure 2 et du Tableau 1, nous avons :

- Les réponses impulsionnelles se stabilisent à la valeur ‘zéro’ ce qui confirme la stabilité des
systèmes continu et discret.
- Nous avons des réponses indicielles stables mais la valeur finale de la réponse indicielle du
système discret est 𝑉 = 1.58 par rapport au système continu qui a la valeur de𝑉 = 1. Le
temps de réponse à ±5% est de 3 𝑠 pour le système continu et discret.

Notez bien : Pour avoir la valeur finale 𝑉 qui est Steady State en anglais (a) et le temps de
réponse à 𝑡 ± 5% qui est Setteling Time en anglais (b), on fait : touche droite de la souris sur
la figure des réponses indicielles comme suit

(a) (b)

Partie 2 Simulink : Reprendre les mêmes modèles continu et discret retrouvés


précédemment.

1- Tracer les réponses impulsionnelles et indicielles du système continu et du système


échantillonné. Prendre les blocs ‘step’ et ‘discret impulse ’ (ou sommation de 2 step) comme
entrées des systèmes pour la réponse indicielle et impulsionnelle respectivement.

NB : l’impulsion est d’amplitude 1 à 𝑡 = 0 et de durée 1s .

6
réponse indicelle
1.6

1.4

1.2

1
1
0.8
s+1
Step T ransfer Fcn
0.6
Scope
z
0.4
z-0.3679
Discrete 0.2
T ransfer Fcn
0
0 1 2 3 4 5 6 7 8 9 10
Time
1 réponses impulsionnelles
s+1 1
T ransfer Fcn2
Step 1 with initial value 1
Scope2
z
0.8
z-0.3679
Step 2 with initial value 0 Discrete
T ransfer Fcn2
0.6
1
s+1
0.4
T ransfer Fcn1
Discrete Scope1
Impulse
z 0.2
z-0.3679
Discrete
T ransfer Fcn1
0

Figure 3: La figure représente le modèle sur Simulink et la réponse indicielle et impulsionnelle


de ce système, en vert _ est le système discret et en bleu _ est le système continu.
Remarque : Nous avons obtenus les mêmes réponses avec le schéma de simulation
2- On désire échantillonner le système continu trouvé précédemment au moyen d’un BOZ le
Bloqueur d’Ordre Zéro (zero order hold en anglais),
Donner le modèle de simulation pour une entrée échelon et une impulsion.
reponses indicielles
1.6
continu
1.4 sans BOZ
1 avec BOZ
1.2
s+1
T ransfer Fcn5 1

z 0.8

z-0.3679 0.6
Step1 Discrete
T ransfer Fcn3 Scope3 0.4
1
0.2
s+1
T ransfer Fcn4 Zero-Order 0
Hold1 0 1 2 3 4 5 6 7 8 9 10
Time

reponses impulsionnelles
1
continu
1
sans BOZ
s+1 0.8 avec BOZ
T ransfer Fcn6
z
0.6
z-0.3679
Discrete Discrete Scope4
Impulse2 T ransfer Fcn4 0.4
1
s+1
Zero-Order 0.2
Transfer Fcn3
Hold3

0
0 1 2 3 4 5 6 7 8 9 10
Time

Figure 4 : La réponse indicielle et impulsionnelle du système échantillonné avec le BOZ en


rouge _ , sans BOZ en vert _ et du système continu en bleu _.

7
Pour les réponses obtenues, prélever :

Tableau 2 : Erreur statique et le 𝑡 ± 5% du système continu et discret sans BOZ et avec BOZ

Cas continu _ Cas discret


Erreur statique 𝑉 =1 Sans BOZ _ Avec BOZ _
𝜀 = |1 − 1| = 0 𝑉 = 1.58 𝑉 =1
𝜀 = |1 − 1.58| = 0.58 𝜀 = |1 − 1| = 0

𝑡 ± 5% 3𝑠 3𝑠 3𝑠
3- Comparer les réponses et les résultats avec ceux obtenues par le modèle échantillonné de la
partie 1.

Comparaison : selon les résultats de la Figure 4 et du Tableau 2, la discrétisation du système


continu par le moyen du BOZ donne de meilleures réponses qu’avec une discrétisation au moyen
de la transformée en Z du système analogique car avec le BOZ nous avons pu éliminer l’erreur
statique ainsi garder les mêmes performances du système continu.

Remarque :

- Le bloc ‘Discrete Impulse se trouve dans :


 Version MATLAB R2010 a

Library Signal Processing Blockset Signal Processing Sources Discrete Impulse


 Version MATLAB R 2017a

Library  DSP System Toolbox  Sources Discrete Impulse

 Comme on peut utiliser 2 step pour la construction de l’impulsion (1 er step de valeur


initiale 1 et le 2eme step de valeur initiale 0)

- Pour modifier un tracé d’une réponse sur Simulink, on utilise simplot(ScopeData)

Conclusion:

Ce premier TP a permis d’introduire les différentes notions connues du domaine temporel et


fréquentiel continu, dans le domaine discret. Nous avons vu les conditions d’application du
théorème de Shannon pour l’échantillonnage des systèmes continus.

Les différentes études sont réalisées dans deux espaces de travail de Matlab qui sont l’Editeur de
Matlab et Simulink, permettant ainsi à l’étudiant de manipuler au même temps les programmes
et les schémas de simulations.