3. Signaux et Systèmes Discrets avec Matlab
Un tel système émet des signaux discrets aux instants multiples de la ... Exercice
avec solution: Trouver la réponse indicielle du processus discret dont la ...
Part of the document
Signaux et Systèmes Discrets
EN TEMPS DISCRET, LA FONCTION DE TRANSFERT EN Z TU MANIERAS
ET LA FORMULE DE DISCRÉTISATION SANS HÉSITER TU DIRAS.
Système discret
Un tel système émet des signaux discrets aux instants [pic] multiples de la
période d'échantillonnage [pic]en réponse aux signaux discrets mesurés à
l'entrée aux mêmes instants.
A. Trois représentations des processus discrets :
Comme pour les systèmes continus, il existe trois représentations
équivalentes:
o L'équation aux différences (abbréviation EaD) par exemple : [pic], qui
peut être donnée sous forme matricielle:
[pic] en posant [pic]
o La Fonction de transfert (en z) : ici [pic]
o Le Produit de convolution : [pic], où [pic]est la réponse impul-
sionnelle, on note que c'est bien la transformée inverse de la fonction
de transfert [pic]
Si e et h sont causaux [pic].
Exercice avec solution: Trouver la réponse indicielle du processus
discret dont la réponse impulsionnelle est une rampe unité ([pic])
Réponse : [pic] (on utilise *)
o Introduction d'un retard dans la boucle :
On distingue deux cas extrêmes pour le délai de traitement introduit par
l'exécution du programme : (1) soit le calcul des sorties occupe un
temps négligeable devant T (l'ordinateur fait beaucoup d'autres choses),
(2) soit le calcul des sorties est la raison d'un délai [pic]dû au
traitement (l'ordinateur ne fait que ce calcul ).
B. Equation aux différences (équivalent discret de l'équation
différentielle)
Exemple d' EaD récursive :
[pic] est l'intégrateur discret. Sa réponse impulsionnelle est un échelon
discret et dure un temps infini (on parle de filtre Réponse Impulsionnelle
Infinie, en anglais IIR).
Exemple d' EaD non récursive :
le dérivateur discret [pic]est à réponse impulsionnelle finie (durée[pic],
RIF en anglais FIR).
Résolution d'une Equation aux Différences :
Comme pour la résolution d'une équation différentielle, on somme de la
solution générale de l'équation sans second membre (équation homogène) et
une solution particulière de l'équation avec second membre. Pour la
première, on écrit une équation caractéristique dont on utilise les
racines.
Exercice avec solution :
Calculer ainsi la réponse indicielle du processus discret d'EaD [pic].
Représenter l'allure obtenue. Quel processus continu développe une réponse
semblable ?
Solution : [pic]pour [pic]( premier ordre type, constante de temps
[pic]).
C. Fonction de transfert en z (ou FT en z)
On tire de la FT en z des informations comme en temps continu, avec des
différences à noter (on vérifie par exemple sur le processus discret :
[pic]):
> Ordre : degré en z du dénominateur D(z) de la fonction de transfert F(z)
> Causalité : [pic]. Sinon, dans l'équation aux différences, la sortie y(n)
dépend de x(n+k), k>0 (c'est à dire une valeur future de l'entrée ? ! @
#).
Exemple : lissage non causal : [pic]
> VIRI et VFRI :
[pic]et [pic]= gain statique (car [pic])
> Réponse impulsionnelle : [pic][pic], [pic]
> Réponse indicielle :[pic]donc[pic]
> Réponse harmonique : [pic] se traduit par [pic], d'où la réponse
harmonique ou fréquencielle, Gain = [pic] et Phase = [pic].
On remarque que [pic]est périodique en [pic], et de période [pic] ,
c'est donc le cas également pour l'expression [pic]. En conséquence,
la réponse harmonique d'un processus discret est périodique en [pic],
de période [pic]
> Stabilité EBSB ( entrée bornée, sortie bornée ) : La condition de
stabilité EBSB des systèmes en temps continus [pic] devient:[pic]pour les
systèmes en temps discret. En effet,
[pic]
Un processus discret dont tous les pôles sont dans le cercle unité du
plan complexe, strictement, répond à une entrée bornée par une sortie
bornée. Egalement, sa réponse impulsionnelle est sommable en valeur
absolue.
> Relation entre un pôle réel continu [pic]et un pôle discret
[pic] « équivalent » [pic]
Application : comment reproduire en discret un régime exponentiel stable
avec temps de réponse à 5% valant 0.3 seconde, soit un econstante de
temps de [pic] ?
Très simplement, créer un filtre discret muni d'un pôle [pic], on
vérifiera aisément avec Matlab, [pic]si [pic]
> Relation entre une paire de pôles complexes conjugués [pic]et les pôles
[pic]et[pic]d'un processus discret équivalent : le calcul est un peu
plus long, mais le principe est identique,
Si l'on cherche par exemple à reproduire le comportement des pôles
continus [pic], quels sont les pôles en z à installer, quel est le
dénominateur de la fonction de transfert en z correspondante ?
Solution : [pic], [pic]
Exercices 6 :
1- calculer les fonctions de transfert de [pic]et [pic] étudier les
informations contenues dans ces fonctions de transfert
2- Inversement, quelle est l'équation aux différences à programmer pour
réaliser le filtre PID discret [pic]. Est ce un filtre causal ?
3- Calculer par les résidus la réponse impulsionnelle de [pic]; est ce un
processus stable ? V.I.R.I. ? V.F.R.I. ?
Discrétisation d'un processus continu commandé à travers un bloqueur
d'ordre zéro
Un ordinateur qui pilote un processus continu applique un signal de
commande bloqué (constant par morceaux) sur l'entrée [pic] et ne connaît la
sortie [pic] qu'aux instants d'échantillonnage. Compte tenu de quoi, il
est possible de calculer à partir de l'équation différentielle du processus
la relation entre les u(nT) et les s(nT) sous la forme d'une équation aux
différences : cette opération porte le nom de discrétisation, et remplace
le processus continu de fonction de transfert C(p) par un processus discret
D(z) équivalent aux instants d'échantillonnage.
Pour établir la formule de discrétisation qui calcule D(z) à partir de C(p)
et de T, on introduit la fonction bloqueur idéal qui engendre le signal
bloqué [pic]à partir du signal échantillonné [pic] dans la chaîne [pic]:
La réponse impulsionnelle du bloqueur idéal est donc l'impulsion de largeur
T et de hauteur un ci-dessous :
D'où la fonction de transfert du bloqueur idéal : [pic]
On sait donc maintenant calculer la transformée de Laplace de la sortie
[pic] comme suit :
[pic][pic]est la fonction de transfert du processus bloqué (processus plus
bloqueur). Il vient alors pour [pic] et [pic] :
[pic]car [pic]
[pic]
d'où la formule de discrétisation suivante :
Pour un processus C(p) commandé à travers un bloqueur d'ordre zéro, et
échantillonné avec la période T, D(z) est équivalent à C(p) aux
instants nT
C(P) [pic]
REMARQUES :
* dans MATLAB la formule de discrétisation est résolue par la fonction
c2d
** une table qui contient à la fois les transformées de Laplace et les
transformées en Z permet de calculer [pic] sur le papier par lecture
directe.
Exercices :
> Discrétiser le processus intégrateur [pic] commandé à travers un BOZ à
la fréquence d'échantillonnage 100Hz. Comparer les réponses indicielles
de [pic] et de [pic].
> Discrétiser Cobaye dans les mêmes conditions
Signaux et Systèmes Discrets avec Matlab
Matlab prend en compte les systèmes discrets. Lors de la définition de la
fonction de transfert, il suffit d'ajouter la période d'échantillonnage en
troisième argument :
. Définir N instants d'échantillonnage espacés de [pic]:
>> t= [0 :N-1]*Tsampling ;
. Pour le processus de fonction de transfert [pic]et la fréquence
d'échantillonnage [pic]faire :
>> procdiscret = tf(0.1,[1 -1],0.01)
. On peut utiliser également la représentation d'état , représentation
matricielle de l'EaD:
>> proc = ss([0 1;-1 -1],[0;1],[1 0],0,.001) ;
>> step(proc)
. On définit l'opérateur retard par la fonction de transfert
>> retard=tf(1,[1 0],0.01) % soit 1/z
. Pour discrétiser un processus continu commandé à travers un BOZ (en
anglais zéro order hold ZOH):
>> proccontinu = tf(10,[1 0])
>> procdiscret=c2d(proccontinu,0.01)
. Addition d'un retard de traitement de [pic]:
>> procretard = procdiscret*retard ;
. Système bouclé : comme dans le cas continu:
>> ftbf = feedback(procretard,1), ou
>> ftbf = procretard/(1+procretard)
. Réponses diverses , comme dans le cas continu :
>>step(retard)
>>impulse(procretard)
>>bode(procdiscret)
>>lsim(procdiscret,0 :10,[],0) %réponse rampe
. Calcul des pôles et zéros, du lieu des pôles : les fonctions de Matlab
utilisées déjà en temps continu sont encore disponibles pour les systèmes
en temps discret, comme par exemple
damp, pzmap, eig, zeros, poles, rlocus, rlocfind, ... zgrid au lieu de
sgrid
. La fenêtre ltiview fonctionne aussi pour les systèmes discrets.
. Simulink fonctionne également : l'éditeur de schémas - blocs de Matlab
simule les systèmes continus, discrets, ou hybrides; il existe un bloc
zoh et une bibliothèque discrete de fonctions de transfert en z .
Etude d'un système bouclé discret
On procède sur l'exemple suivant où un calculateur asservit un processus
intégrateur d'équation différentielle [pic] à travers un bloqueur d'ordre
zéro avec la fréquence d'échantillonnage de 100 Hz. La loi de commande
programmée est : [pic]
k est un facteur multiplicatif, ou gain de la chaîne d'action, à
programmer ; c(n) un signal de consigne discret engendré par le programme
du calculateur ; s(nT) la nième valeur mesurée pour la sortie du processus
intégrateur, à l'instant nT, e(nT) la nième commande appliquée par le
calculateur à l'entrée du BOZ et maintenue à l'entrée e(t) du processus
entre les dates nT et (n+1)T.
Le calcul de e(nT) à partir de c(n) et s(nT) est supposé instantané (