Compte rendu TP Matlab
Préparé par : El Bouchikhi Soulaimane
EL Fatehi Salah eddine
Classe : 4°IAII
Année : 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 :
Création de signal Peigne :
Fp=2e3; (fréquence de signal Peigne)
Tp=1/Fp; (Période 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 théorème de Shannon
F=200;
S=5*cos(2*pi*F*t);
Signal échantillonné avec Fech=2KHz
Fech=1/past; (Période 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('fréquence');
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 Numérique :
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 récurrence :
Te=.04; (période 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 récurrence)
end
comparaison des repense indicielle des deux systèmes :
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 fréquence des deux systèmes :
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 réel 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 système Apériodique 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');
Création 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');
Création de la droit du régime permanent :
Gs=max(Y); (relever du gain statique directement de la réponse)
Gsn=Gs*ones(size(t)); (valeur Finale)
Vin=0*ones(size(t)); (valeur Finale)
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !