Code mofulation d'amplitude
Le code du problème réalisé sous MATLAB
% Déclaration des variables clear; close all;
Fe=1000;
t=-2*pi:(1/Fe):2*pi;
% Fe = 1000 (pas) f1=100; % f1 >>fx1 f2=324; % f2 >>fx2 fx1=0.3; fx2=0.2;
% Génération de signaux hold off x1=cos(2*pi*fx1*t); x2=square(2*pi*fx2*t); plot (t, x1, 'r'); hold on plot(t,x2, 'g'); pause hold off
% Modulation Amplitude x1=x1+1; x2=x2+1;
% Rendre les signaux positifs y1=x1.*cos(2*pi*f1*t); y2=x2.*cos(2*pi*f2*t);
% On met la porteuse plot(t,y1,'r'); hold on plot(t,y2,'g'); pause hold off z= y1+y2; plot (t, z,'w'); pause THAI Clémence
BOUR Etienne
% Transformée de Fourier f=-(Fe/2):1:(Fe/2); for k = 1:length(f)
Z(k)= sum(z.* exp(-2*j*pi*f(k)*t)); end plot(f,abs(Z)); pause % Passe bande
[B,A]= butter(8,[f1*2/Fe-0.02,f1*2/Fe+0.02]); z1=filter(B,A,z); z1=z1.*(z1>0);
% redressage
[B,A]= butter(8,[f2*2/Fe-0.02,f2*2/Fe+0.02]); z2=filter(B,A,z); z2=z2.*(z2>0);
% redressage
% Passe bas
[B,A]= butter(8,0.02); zb1=filter(B,A,z1); [B,A]= butter(8,0.02); zb2=filter(B,A,z2); % Transformée de Fourier des signaux filtrés f=-(Fe/2):1:(Fe/2); for k = 1:length(f)
Z1(k)= sum(z1.* exp(-2*j*pi*f(k)*t)); end Hold off plot(f,abs(Z1),'r'); % Pour vérifier si on a bien sélectionné la bande passante du signal 1 pause hold on
THAI Clémence
BOUR Etienne
SY06 TP01
17
f=-(Fe/2):1:(Fe/2); for k = 1:length(f)
Z2(k)= sum(z2.* exp(-2*j*pi*f(k)*t)); end plot(f,abs(Z2),'g');
% Pour vérifier si on a bien sélectionné la bande passante du signal 2 pause hold off plot(t,z1,'r'); hold on plot (t,z2,'g'); hold off pause % Transformée de Fourier des signaux filtrés en passe bas f=-(Fe/2):1:(Fe/2); for k = 1:length(f)
ZB1(k)= sum(zb1.* exp(-2*j*pi*f(k)*t)); end Hold off plot(f,abs(ZB1),'r'); % Pour vérifier si on a bien sélectionné la bande passante du signal 1 pause hold on f=-(Fe/2):1:(Fe/2); for k = 1:length(f)
ZB2(k)= sum(zb2.* exp(-2*j*pi*f(k)*t));
end