0% ont trouvé ce document utile (0 vote)
35 vues3 pages

Analyse des Signaux et Bruits sous Matlab

Le document présente un TP sur l'asservissement échantillonné, utilisant Matlab pour analyser des signaux sinusoïdaux, leur ajout de bruit gaussien et la superposition de signaux. Il inclut des instructions pour générer des signaux, effectuer des transformations de Fourier, et appliquer des filtres numériques. Les étudiants sont invités à varier les fréquences d'échantillonnage et à commenter les résultats obtenus.

Transféré par

riadsafar2
Copyright
© © All Rights Reserved
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
35 vues3 pages

Analyse des Signaux et Bruits sous Matlab

Le document présente un TP sur l'asservissement échantillonné, utilisant Matlab pour analyser des signaux sinusoïdaux, leur ajout de bruit gaussien et la superposition de signaux. Il inclut des instructions pour générer des signaux, effectuer des transformations de Fourier, et appliquer des filtres numériques. Les étudiants sont invités à varier les fréquences d'échantillonnage et à commenter les résultats obtenus.

Transféré par

riadsafar2
Copyright
© © All Rights Reserved
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 PDF, TXT ou lisez en ligne sur Scribd

TP2 Asservissement Echantillonné 1er Master EI et ME Dpt.

ELT, USTHB

Analyse du théorème de Shannon avec la production des signaux sous Matlab


I. Cas d’un Signal sinusoïdal
 Ecrire le programme suivant sur Matlab :

% Génération du signal
Fe = 1000;
Te=1/Fe;
Duree=1;
N=Duree/Te;

t = (0:N-1)/Fe;
x = sin(2*pi*10*t);

% TFD sur [0, Fe], Analyse spectrale


X = fft(x);
f = (0:N-1)/N*Fe;

% Affichage
subplot(2,1,1); plot(t,x);
xlabel('temps'); ylabel('x(t)');
subplot(2,1,2); plot(f(1:N/2),abs(X(1:N/2)));
xlabel('frequence');ylabel('X(f)');

 Varier la fréquence d’échantillonnage de 10Hz, 20Hz, 25Hz, 50Hz, 100Hz et 1000Hz. Commenter.

I.1 Ajout d’un bruit Gaussien :


 Le programme pour ajouter un bruit Gaussien de variance σ = 0.3 :

% Génération du signal
Fe = 1000;
Te=1/Fe;
Duree=1;
N=Duree/Te;

t = (0:N-1)/Fe;
xb = sin(2*pi*10*t);
% xb=sin(2*pi*150*t)+0.6*sin(2*pi*40*t);

% Génération du bruit
B=0.3; % B écart type de la distribution gaussienne du bruit
bruit=B*randn(1,N);
x=xb+bruit; % Signal bruité

% TFD sur [0, Fe]


X = fft(x);
f = (0:N-1)/N*Fe;

% Affichage
subplot(2,1,1); plot(t,x);
xlabel('temps'); ylabel('x(t)');
subplot(2,1,2); plot(f(1:N/2),abs(X(1:N/2)));
xlabel('frequence');ylabel('X(f)');

 Varier la fréquence d’échantillonnage de 30Hz, 50Hz, 100Hz et 1000Hz. Commenter.


 Refaire les simulations en changeant la variance σ=B de 0.3 à 0.4 pour les mêmes fréquences. Commenter.

1
TP2 Asservissement Echantillonné 1er Master EI et ME Dpt. ELT, USTHB

II. Cas d’une Superposition de signaux sinusoïdaux


 Ecrire le programme suivant sur Matlab :
% Génération du signal
Fe = 1000;
Te=1/Fe;
Duree=1;
N=Duree/Te;

t = (0:N-1)/Fe;
x=sin(2*pi*150*t)+0.6*sin(2*pi*40*t);

% TFD sur [0, Fe]


X = fft(x);
f = (0:N-1)/N*Fe;
% Affichage
subplot(2,1,1); plot(t,x);
xlabel('temps'); ylabel('x(t)');
subplot(2,1,2); plot(f(1:N/2),abs(X(1:N/2)));
xlabel('frequence');ylabel('X(f)');

 Varier la fréquence d’échantillonnage de 1000Hz, 400Hz, 300Hz, 100Hz et 80Hz. Commenter.

II.1 Ajout d’un bruit Gaussien :


 Le programme pour ajouter un bruit Gaussien de variance σ = 0.3 :
% Génération du signal
Fe = 1000;
Te=1/Fe;
Duree=1;
N=Duree/Te;

t = (0:N-1)/Fe;
xb=sin(2*pi*150*t)+0.6*sin(2*pi*40*t);

% Génération du bruit
B=0.3; % B écart type de la distribution gaussienne du bruit
bruit=B*randn(1,N);
x=xb+bruit; % Signal bruité

% TFD sur [0, Fe]


X = fft(x);
f = (0:N-1)/N*Fe;

% Affichage
subplot(2,1,1); plot(t,x);
xlabel('temps'); ylabel('x(t)');
subplot(2,1,2); plot(f(1:N/2),abs(X(1:N/2)));
xlabel('frequence');ylabel('X(f)');

 Refaire les simulations en changeant la variance σ de 0.3 à 0.4 pour les mêmes fréquences. Commenter.

III. Cas d’un signal en créneau (carré):


 Ecrire le programme suivant sur Matlab :
% Génération du signal
Fe = 8e3;
Te=1/Fe;
Duree=0.05;
N=Duree/Te;
t = (0:N-1)/Fe;

2
TP2 Asservissement Echantillonné 1er Master EI et ME Dpt. ELT, USTHB

x = square(2*pi*160*t);

% TFD sur [0, Fe]


X = fft(x);
f = (0:N-1)/N*Fe;

% Affichage
subplot(1,2,1); plot(t,x);
xlabel('temps t'), ylabel('x(t)');
subplot(1,2,2); plot(f(1:N/2),abs(X(1:N/2)));
xlabel('fréquence f'), ylabel('X(f)')

 Varier la fréquence d’échantillonnage de 8000Hz, 4000Hz, 1000Hz. Commenter.

III.1 Ajout d’un Filtre numérique :


 Ecrire le programme suivant sur Matlab :
% Génération du signal
Fe = 8e3;
Te=1/Fe;
Duree=0.05;
N=Duree/Te;

t = (0:N-1)/Fe;
x = square(2*pi*160*t);
% TFD sur [0, Fe]
X = fft(x);
f = (0:N-1)/N*Fe;

% Affichage
subplot(1,2,1); plot(t,x);
xlabel('temps t'), ylabel('x(t)');
subplot(1,2,2); plot(f(1:N/2),abs(X(1:N/2)));
xlabel('fréquence f'), ylabel('X(f)')

% Synthèse du filtre passe bas


% (RIF moindres carrées)
% Bande passante [0, 200 Hz]
% Bande coupée [400Hz, 4000Hz]
% Réponse impulsionnelle
h = firls(39,[0 500 750 Fe/2]/Fe*2,[1 1 0 0]);
% Réponse en fréquence
[H, freq] = freqz(h,1,512,Fe);
% % Affichage
% subplot(2,1,1); plot(h);
% xlabel('Echantillon'), ylabel('h[n]');
% subplot(2,1,2); plot(freq,20*log10(abs(H)));
% xlabel('fréquence f'), ylabel('H(f)')
% Filtrage du signal
y = filter(h,1,x);
Y = fft(y);
% % Affichage
subplot(2,1,1); plot(t,y);
xlabel('temps t'), ylabel('y(t)');
subplot(2,1,2); plot(f(1:N/2),abs(Y(1:N/2)));
xlabel('fréquence f'), ylabel('Y(f)');

3°) Refaire les simulations pour les mêmes fréquences et Commenter.

Vous aimerez peut-être aussi