Professional Documents
Culture Documents
Matrices et vecteurs
% Dfinition de la matrice A (3x3) >> A = [123 456 7 8 9] ;
ESSI, AUTOMATIQUE ET TRAITEMENT DU SIGNAL : SIGNAUX ET SYSTMES DE LAUTOMATIQUE, JPS, 2000 -2% ou bien avec , ou , sparateur de ligne et ; de colonne >> A=[1,2,3 ; 4 5 6 ; 7, 8 9] ; % accolade utilise >> A % transposition de A >> B = eye(3,3) % matrice identit >> C = zeros(size(A)) % matrice 3x3 nulle >> D = ones(4,1) % matrice de 1 >> t= 0:.1:10;% dfinit un vecteur dinstants >> t2= [1 3 5 7 8 9 10] ; % galement >> s1= 5*sin(3*pi*t); % signal s1 : vecteur de mme dimension que t >> s2=exp(-2*t); %idem >> s3 = exp(-2*t) .* sin(2*pi*t) ;% produit composante par composante de s1 et s2 >> s = [s1 s2 s3] ; % concatnation de s1, s2 et s3 en un seul signal >> s = [s1 ; s2 ; s3] ; % trois lignes trois signaux >> A( :,1) % premire colonne de A, on utilise la parenthse >> A(1 :2,2 :3) ; % sous matrice >> A(3 :-1 :1,3 :-1 :1) ; % fait quoi ? % fichiers de donnes (extension .mat) save(fich,t,s1) % t, s1 -> fich.mat load(fich)
ESSI, AUTOMATIQUE ET TRAITEMENT DU SIGNAL : SIGNAUX ET SYSTMES DE LAUTOMATIQUE, JPS, 2000 -3subplot(2,2,2) plot(t,s2) title(courbe 2) subplot(2,2,3) gtext(pas de courbe) subplot(2,2,4) plot(t,t,g)
ESSI, AUTOMATIQUE ET TRAITEMENT DU SIGNAL : SIGNAUX ET SYSTMES DE LAUTOMATIQUE, JPS, 2000 -4-
a ( t T )
0 temps t T
(t )
a t 0 2*T 3*T
>> PI =[zeros(1,10),a*ones(1,5),zeros(1,10)]
. 20 0 . 2 0 . 4 0 . 6 0
0s
. 81 0
10 Priode s
4
f - exponentielle dcroissante
exp(-t) sur 3 secondes 1 0.9 0.8 0.7 0.6 exp(-t) 0.5 0.4 0.3 0.2 0.1 0 0 0.5 1 1.5 temps (sec.) 2 2.5 3
Instructions Matlab (ou script expo.m) t = 0.03*[0:100]; plot(t,exp(-t),'r--'); grid xlabel('temps (sec.)') ylabel('exp(-t)') title('exp(-t) sur 3 secondes')
ESSI, AUTOMATIQUE ET TRAITEMENT DU SIGNAL : SIGNAUX ET SYSTMES DE LAUTOMATIQUE, JPS, 2000 -5-
g - Sinusoide amortie
0 . 8
0 . 6 e p - . s ( * i* 0 t) x ( t) * in 2 p 1 *
0 . 4
Instructions Matlab
t = 0:.01:5; plot(t,exp(-t).*sin(2*pi*t)); grid xlabel('temps seconde') ylabel('exp(-t).*sin(2*pi*t)')
0 . 2
-. 0 2
-. 0 4
-. 0 6
2 t ms o e ep e n s cd
h - rampe asymptotique
0 rampe rampe amortie 0
0 t, t-0 +exp(-t)
t = 0:0.05:6; plot(t,t,'b', ... t,t-ones(size(t))+exp(-t), ... 'r--'); legend('rampe','rampe amortie') grid xlabel('t') ylabel('t, t-1+exp(-t)') % title('rampe, rampe amortie')
0 0
0 t
1.2 Signaux en temps discrets ou chantillonns ( s(t ) devient dfini seulement aux instants nT dchantillonnage)
A - rampe discrte / chantillonne
0 . 0 0 . 0 0 . 0 signal chantillonn 0 . 0 0 . 0 0 . 0 0 -0 .0 -0 .0 0 xp t( T= 0 e cn e (-t)*sin *t),0 . se o d S n l D re o E a tillo n ig a isc t u ch n n
s n = s(nT )
Gnration avec Matlab : clc echo on t=0:.2:5; stem(t,exp(-t).*sin(2*t),'fill'); xlabel('temps en seconde') ylabel('signal chantillonn') title('Signal Discret ou Echantillonn') gtext('exp(-t)*sint(2*t),T=.2 seconde') grid
0 . 0 0 0 . 0 0
0 . 0
0 . 0
0 0 . 0 0 te p e s c n e ms n e o d
ESSI, AUTOMATIQUE ET TRAITEMENT DU SIGNAL : SIGNAUX ET SYSTMES DE LAUTOMATIQUE, JPS, 2000 -6-
Signal Bloqu
0.5
1.5
2.5
3.5
4.5
t=0:.2:5; stairs(t,exp(-t).*sin(2*t)); xlabel('t=0:.2:5 (temps en seconde)','FontSize',14) ylabel('Signal Bloqu','FontSize',14) title('Signal Bloqu,'FontSize',18) text(1,2.5,'e^{-\alpha*t}*sint\beta*t, T = .2 seconde') grid
Bloqueur dordre zro (BOZ) : maintient la valeur s(nT) entre nT et (n+1)T, on dit Zero Order Hold (ZOH) en anglais
ESSI, AUTOMATIQUE ET TRAITEMENT DU SIGNAL : SIGNAUX ET SYSTMES DE LAUTOMATIQUE, JPS, 2000 -7-
t=0:.2:5; f= exp(-t).*sin(2*t); hold on stem(t,0.1*fix(f/.1),'fill'); stairs(t,f); xlabel('temps (en seconde)','FontSize',14) title('Signal Analogique, Signal Numrique', 'FontSize',18) text(1.5,.4,'Quantification d''amplitude: 0.1', 'FontSize',16) grid
ESSI, AUTOMATIQUE ET TRAITEMENT DU SIGNAL : SIGNAUX ET SYSTMES DE LAUTOMATIQUE, JPS, 2000 -8-
(variable de Laplace par dfaut pour Matlab) du numrateur et du dnominateur de la fonction de transfert, coefficients lis ceux des deux membres de lquation diffrentielle. Application :
5 0.1s 2 + s Aprs quoi, un chelon sur lentre e(t ) donne la rponse indicielle s (t )
>> cobaye = tf([5, [0.1, 1, 0]) donne cobaye = >> step (cobaye) ou la rponse harmonique >> bode (cobaye) Si on souhaite passer une reprsentation interne de COBAYE, cest >> interne = ss(cobaye) ou tudier un systme boucl retour unitaire autour de COBAYE >> reguler= feedback (cobaye, 1), etc
ESSI, AUTOMATIQUE ET TRAITEMENT DU SIGNAL : SIGNAUX ET SYSTMES DE LAUTOMATIQUE, JPS, 2000 -9-
Mmorisation, excution
Tout schma-bloc ainsi cr est mmoris par MATLAB avec lextension .mdl. On lexcute ou on le modifie par la suite en citant ce nom, comme pour un script MATLAB (extension .m). Pour la simulation des quations diffrentielles, noter lexistence du bloc dee (commande : >> dee) qui permet de spcifier un processus dans un bloc SIMULINK partir de son quation diffrentielle.
On pourra analyser les nombreux exemples SIMULINK fournis dans la bibliothque Demo, et les faire excuter. Cependant, pour pouvoir les modifier, prendre la prcaution de crer une copie de travail dans un rpertoire local de lutilisateur afin de ne pas modifier le rpertoire de MATLAB.