Traitement de signal - Représentation des fonctions complexes en Matlab
1- tracer l’allure d’un signal complexe composé d’une partie réelle et une imaginaire pour Le signal : X1(t)= expo(ɑt)*expo(jωt)
2- changer la fonction Plot par Stem
3- rajoute un déphasage au signal
4- tracer une fonction de transfert du 2ème ordre qui s’écrit de la façon suivante :
H
Avec 1<ω<1000 rd/s
Solution:
1) On veut tracer l’allure d’un signal complexe composé d’une partie réelle et une imaginaire.
Le signal est le suivant :
X1(t)= expo(ɑt)*expo(jωt)
Avec : ɑ= -3 ω = 20 rd /s
Tout d’abord on doit créer un fichier sur Matlab ‘ exemple.m’, le programme est le suivant :
» a=-3;
» w=20;
» t=0:0.01:1;
» x1=exp(a*t).*exp(j*w*t);
» figure(1),plot(t,real(x1),'g'),grid
» figure(2),plot(t,imag(x1),'r'),grid
|
» a=-3;
» w=20;
» t=0:0.01:1;
» x1=exp(a*t).*exp(j*w*t);
» plot(t,real(x1))
» title('figure 1')
» subplot(211),plot(t,real(x1)),grid
» subplot(212),plot(t,imag(x1),'r'),grid
» subplot(211),title('figure 1')
» subplot(212),title('figure 2')
|
2) On change maintenant la fonction Plot par Stem, et on retrouve le résultat suivant :
» subplot(211),stem(t,real(x1),'r'),grid
» subplot(212),stem(t,imag(x1)),grid
» subplot(211),title('figure 1')
» subplot(212),title('figure 2')
|
3) Cette fois-ci, on rajoute un déphasage au signal , qui sera de la forme suivante :
X2(t)= expo(j∏ /4)*expo(ɑ+jω)t
Avec :
ɑ= -3 ω = 20 rd /s
» a=-3;
» w=20;
» x2=exp(j*(pi/4)).*exp((a+j*w)*t);
» subplot(211),plot(t,real(x2),'r'),grid
» subplot(212),plot(t,imag(x2),'g'),grid
» subplot(211),title('figure1')
» subplot(212),title('figure2')
» subplot(221),plot(t,imag(x2),'g'),grid
» subplot(222),plot(t,real(x2),'r'),grid
» subplot(223),stem(t,real(x2),'b'),grid
» subplot(224),stem(t,imag(x2),'b'),grid
|
4) On veut tracer une fonction de transfert du 2ème ordre qui s’écrit de la façon suivante :
H
Avec 1<ω<1000 rd/s
D’une
façon théorique, on trouve que le gain statique Ho est égale à 1 ,
ainsi que la fréquence de coupure ωo est égale à 15rd/s et le coéff.
d’amortissement m est 0 ,1
Le programme sous Matlab est le suivant :
» HdB=20*log10(abs(H));
» phi=angle(H)*180/pi;
» figure(1),semilogx(HdB)
» figure(1),semilogx(HdB)
» figure(2),semilogx(phi)
» figure(1),semilogx(w,HdB)
» figure(2),semilogx(w,phi)
» figure(1),semilogx(w,HdB),grid
» figure(2),semilogx(w,phi),grid
|
Autre façon :
» num=[225];
» den=[1 3 225];
» tf(num,den)
Transfer function:
225
---------------
s^2 + 3 s + 225
» bode(num,den)
|
Ce qui nous donne le graphe suivant qui représente le module et la phase de la FT en fonction de la pulsation.
On constate d’après le graphe que la pulsation de coupure est presque égale à 15 rd/s
Conclusion :
L’outil
Matlab nous a facilité la tâche, car au lieu de perdre beaucoup de
temps dans des calculs pénibles, pour tracer des fonctions, on peut le
faire dans un minimum de temps, et c’est ça le rôle d’un ingénieur,
c’est l’exploitation des outils informatique pour résoudre les
problèmes.
Commentaires
Enregistrer un commentaire