89% ont trouvé ce document utile (9 votes)
18K vues7 pages

Compte Rendu TP Matlab

Le document présente un compte rendu de travaux pratiques en Matlab, incluant des expériences sur la quantification de signaux, leur reconstitution, et des systèmes analogiques et numériques. Il détaille les méthodes de quantification par troncature et arrondi, ainsi que la création et l'échantillonnage de signaux, suivis de la reconstitution à l'aide de filtres. Enfin, il aborde des algorithmes pour l'identification de systèmes et la modélisation de contrôleurs.

Transféré par

Houssine Zaïmi
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd
89% ont trouvé ce document utile (9 votes)
18K vues7 pages

Compte Rendu TP Matlab

Le document présente un compte rendu de travaux pratiques en Matlab, incluant des expériences sur la quantification de signaux, leur reconstitution, et des systèmes analogiques et numériques. Il détaille les méthodes de quantification par troncature et arrondi, ainsi que la création et l'échantillonnage de signaux, suivis de la reconstitution à l'aide de filtres. Enfin, il aborde des algorithmes pour l'identification de systèmes et la modélisation de contrôleurs.

Transféré par

Houssine Zaïmi
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd

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 [Link] : load('[Link]','R') Extraction du vecteur temps,sortie et la deriv, de la structure R : t=[Link]; D=[Link](:,2); Y=[Link](:,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)

Vous aimerez peut-être aussi