Sunteți pe pagina 1din 7

Compte rendu TP Matlab

Prpar par : El Bouchikhi Soulaimane

EL Fatehi Salah eddine Classe : 4IAII Anne : 2011/2012


TP5 : de Quantification :
signal continu : F0=200; % frequence de signal continu T0=1/F0; % Periode Te=1e-5; % periode d'echantillonnage t=0:Te:T0; % intervale de temps A=5; S=A*sin(2*pi*F0*t); Quantification par troncature : q=.04; % pas de quantification on devise le signal par q pour avoir des multibles de pas de quantification apres on a besoin que des multibles entier, on utilise floor de la tranquature et apres on multplie par le pas SqT=floor(S/q)*q; figure(1); subplot(2,1,1); plot(t,S,t,SqT,'r'); axis([0 .75*T0 -5 5]); title('Signal quantifier par Trancature'); Bruit de Troncature : SbT=S-SqT; subplot(2,1,2);plot(t,SbT); axis([0 .5*T0 -.1 .5]); title('Signal Bruit par Trancature'); Quantification pas arrondie : on devise le signal par q pour avoir des multible de pas de quantification apres on a besoin des multible entier on utilise floor de la tranquature et apres on multplie pas .4 SqA=round(S/q)*q; figure(2);

subplot(2,1,1); plot(t,S,t,SqA,'r'); axis([0 .75*T0 -5 5]); title('Signal quantifier par Arrandi');grid; Bruit de quantification : SbA=S-SqA; subplot(2,1,2);plot(t,SbA); axis([0 .5*T0 -.5 .5]); title('Signal Bruit par Arrandi');grid; Puissance de bruit par Troncature : p_bruit_theoT=(q^2/3); p_mesurerT=var(SbT) S_BT=(A^2)/(2*p_mesurerT); puissance de bruit par Arrandi p_bruit_theoA=(q^2/12); p_mesurerA=var(SbA) S_BA=(A^2)/(2*p_mesurerA);

TP5 : de Reconstitution :
Cration de signal Peigne : Fp=2e3; (frquence de signal Peigne) Tp=1/Fp; (Priode de signal Peigne) past=1e-6; (le pas de temps t) t=0:past:100*Tp; (signal temps) Peigne=.5*(square(2*pi*Fp*t,1)+1); Echantillonnage de signal continue : on respectant le thorme de Shannon F=200; S=5*cos(2*pi*F*t); Signal chantillonn avec Fech=2KHz Fech=1/past; (Priode de signal spectre de la Peigne chantillonn) Sech=S.*Peigne; subplot(2,1,1); plot(t,Sech); axis([0 40*Tp -6 6]); title('Signal, cos, Fech=2KHz'); grid; Spectre de signal chantillonn avec Fech=2KHz : [f,ModSPech]=Spectre(Sech,Fech); subplot(2,1,2); plot(f,ModSPech); axis([-3e3 3e3 0 .03]); title('Spectre de signal, cos,Fe=2Khz'); grid; xlabel('frquence'); ylabel('amplitude');

Filtre de reconstitution : Wn=300*2*pi; (en (Rad/s)) order=4; [num den]=butter(order,Wn,'s'); filtre=tf(num,den); Reconstitution : Srec=lsim(filtre,Sech,t); subplot(2,1,2); plot(t,Srec); axis([0 .02 -.06 .06]); title('Reconstitution de signal, cos, Fech=2KHz'); grid;

TP6 : Analogique Numrique :


systme analogique : K=5; to1=.1; to2=.5; HP=tf(K,[to1*to2 (to1+to2) 1]); generation de la repense indicielle : past=1e-5; t=0:past:6*to2; rep_anal=step(HP,t); programmation de l'quation de rcurrence : Te=.04; (priode d'chantillonnage) Fe=1/Te; M=floor(6*to2/Te); a0=K*Te^2/((to1*to2)+Te*(to1+to2)+ (Te^2)); b1=(2*to1*to2 + Te*(to1+to2))/((to1*to2)+Te*(to1+to2)+ (Te^2)); b2=-(to1*to2)/((to1*to2)+Te*(to1+to2)+ (Te^2)); u=0; s(1)=a0; s(2)=a0+b1; for n=3:M u(n)=1; (une entrer chelon unitaire) s(n)=(a0*u(n))+(b1*s(n-1))+(b2*s(n-2)); (quation de rcurrence) end comparaison des repense indicielle des deux systmes : tech=0:Te:(M-1)*Te; figure(1); plot(t,rep_anal);title('repense de systeme analogique'); hold on; stem(tech,s);

comparaison des repense de frquence des deux systmes : w=0:.1:10/to2; rep_freq_ana=freqs(K,[to1*to2 (to1+to2) 1],w); numz=a0; denz=[1 -b1 -b2]; rep_freq_num=freqz(numz,denz,w/(2*pi),Fe); figure(2); plot(w,abs(rep_freq_ana),'r'); hold on; plot(w,abs(rep_freq_num));

TP 7 : Regulateur
P=tf('s'); Simulation du Model rel en simulink : sim('identif'); Chargement de fichier data.mat : load('data.mat','R') Extraction du vecteur temps,sortie et la deriv, de la structure R : t=R.Time; D=R.Data(:,2); Y=R.Data(:,1); Algorithme de Strejc pour un systme Apriodique Stable : Point d'inflextion Pf=max(F') : Pf=max(D); Pfn=Pf*ones(size(t)); ( Point d'inflexion) plot(t,Y,t,Pfn,'r'); title('Strejc: Relever le point d''inflexion'); [x d]=ginput(1); (relever du point d'inflexion) axis([x-.2 x+.2 d-.2 d+.2]); title('Strejc: Relever deux points, celle du temps le plus grand la 1er'); Cration de la tangente qui passe par le point d'inflexion : Relever de dx et dy : [px,py]=ginput(2); Construction de la tangente : a=(py(1)-py(2))/(px(1)-px(2)); % a=dx/dy b=py(1)-a*px(1); % b=y1-a*x1 tg=a*t+b; % droit de la tengente plot(t,Y); title('Strejc: Relever la valeur en regime permanant');

Cration de la droit du rgime permanent : Gs=max(Y); (relever du gain statique directement de la rponse) Gsn=Gs*ones(size(t)); (valeur Finale) Vin=0*ones(size(t)); (valeur Finale) Tracer des trois courbe : plot(t,Y,t,tg,t,Gsn,'r',t,Vin,'r') axis([0 10 -.3 3]); title('Strejc: Relever les deux instants Tu et Ta (Tu la 1er)'); Relever des instants Tu et Ta : [tx,ty]=ginput(2); Tu=tx(1); Ta=tx(2)-tx(1); Rs=Tu/Ta; Tableau de Strejc T(9,3) : T(:,1)=[1; 2; 3; 4; 5; 6; 7; 8; 9]; (l'ordre du Systme) T(:,2)=[0; .105; .22; .32; .41; .49; .57; .64; .71]; % Tu'/Ta T(:,3)=[1; 2.718; 3.695; 4.463; 5.119; 5.699; 6.226; 6.711; 7.164]; (Ta/to) n=1; while T(n,2)<Rs n=n+1; end n=n-1; (on prend le n le juste inferieur) Tup=Ta*T(n,2); % Tu' qui correspond a la valeur dans le tableau T rS=Tu-Tup; % calcule du retard toS= Ta/T(n,3); % calcule de la constante de temps Construction du modle de Strejc : HpS=exp(-rS*P)*Gs/(toS*P+1)^n; [YS tS]=step(HpS,10); (Rponse du modle de Strejc a un chelon) Algorithme de Broida pour un systme Apriodique Stable : Construction des Droits qui passe par 28% et 40% de la valeur final : Y28=.28*Gs; (y a 28% de la valeur finale) Y28n=Y28*ones(size(t)); (Droit qui passe par Y28) Y40=.4*Gs; (y a 40% de la valeur finale) Y40n=Y40*ones(size(t)); (Droit qui passe par Y28) plot(t,Y,t,Y28n,'r',t,Y40n,'r'); title('Broida: Relever des deux instants t1 puis t2'); Relever des Instant t1 et t2 : [tB yB]=ginput(2); Calcule de la constante de temps et du retard du Modle de Broida :

toB=5.5*(tB(2)-tB(1)); rB=2.8*tB(1)-1.8*tB(2); Construction du modle de Broida : HpB=exp(-rB*P)*Gs/(toB*P+1); [YB tB]=step(HpB,10); % reponse du modele de Boida a un echellon

TP8 : Modlisation de MCC


Resolution de l'equation : K=2; (gain statique du systme) Kcr=6.25; % gain critique n=2.2:.01:4; y=(1./(cos(pi./n))).^n; plot(n,y,n,Kcr*K*ones(size(n))); Strejc : Tosc=.5; % periode d'oscillation Wosc=2*pi/Tosc; [N x]=ginput(1); to=1*tan(pi/N)/Wosc; order=floor(N); ret=N-order; P=tf('s'); to1=.1; to2=.4; Hp=K/((1+to1*P)^2*(1+to2*P)); HpS=K/((1+to*P)^order*(1+ret*P)); HpSr=exp(-ret*P)*K/(1+to*P)^order; Broida : toB=sqrt((Kcr*K)^2-1)/Wosc; rB=(pi-atan(sqrt((Kcr*K)^2-1))/Wosc); HpBr=K*exp(-rB*P)/(1+toB*P); HpB=K/((1+toB*P)*(1+rB*P)); nyquist(Hp,HpS,HpB)

S-ar putea să vă placă și