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

TP Traitement de Signal MATLAB

Ce document présente des exercices de traitement de signal en MATLAB, incluant la génération et la visualisation de signaux sinusoïdaux, ainsi que l'analyse de leur spectre via la Transformée de Fourier. Il aborde également l'ajout de bruit à un signal et l'application d'un filtre de moyenne glissante pour le traitement du bruit. Les résultats sont illustrés par des graphiques pour chaque étape du processus.

Transféré par

yokossisosthene
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)
4 vues3 pages

TP Traitement de Signal MATLAB

Ce document présente des exercices de traitement de signal en MATLAB, incluant la génération et la visualisation de signaux sinusoïdaux, ainsi que l'analyse de leur spectre via la Transformée de Fourier. Il aborde également l'ajout de bruit à un signal et l'application d'un filtre de moyenne glissante pour le traitement du bruit. Les résultats sont illustrés par des graphiques pour chaque étape du processus.

Transféré par

yokossisosthene
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

TP Traitement de signal MATLAB

Exercice 1:

% --- Configuration des paramètres ---


f = 5; % Fréquence du signal en Hertz (Hz)
Fe = 100; % Fréquence d'échantillonnage en Hz
duree = 2; % Durée du signal en secondes

% 1. Définition du vecteur temps (Question 1)


Te = 1 / Fe; % Calcul de la période d'échantillonnage (le pas de temps)
t = 0 : Te : duree; % Création du vecteur temps de 0 à 2s avec un pas de Te

% 2. Génération du signal x(t) (Question 2)


% On utilise pi (3.1415...) qui est une constante intégrée à MATLAB
x = sin(2 * pi * f * t);

% 3. Représentation graphique (Question 3)


figure; % Ouvre une nouvelle fenêtre de figure
plot(t, x); % Trace le signal x en fonction du temps t
grid on; % Ajoute un quadrillage pour faciliter la lecture
title('Visualisation du signal sinusoïdal x(t)'); % Ajoute un titre
xlabel('Temps (s)'); % Nom de l'axe X
ylabel('Amplitude'); % Nom de l'axe Y
ylim([-1.2 1.2]); % Ajuste les limites verticales pour plus de clarté

Exercice 2:

% --- Configuration ---


Fe = 100; % Fréquence d'échantillonnage (100 points par seconde)
Te = 1 / Fe; % Pas de temps
duree = 2; % Durée de 2 secondes
t = 0 : Te : duree-Te; % Vecteur temps (on retire un échantillon pour la FFT)

% 1. Génération du signal composé (Question 1)


% Le signal contient deux fréquences : 5 Hz et 20 Hz (avec une amplitude plus faible)
x = sin(2 * pi * 5 * t) + 0.5 * sin(2 * pi * 20 * t);
% 2. Calcul de la FFT (Question 2)
N = length(x); % Nombre de points du signal
X_fft = fft(x); % Calcul de la Transformée de Fourier Rapide

% 3. Préparation du spectre en amplitude (Question 3)


% On normalise l'amplitude en divisant par N et on prend la valeur absolue
A = abs(X_fft) / (N/2);

% Création du vecteur fréquences (de 0 à Fe)


f_axe = (0 : N-1) * (Fe / N);

% 4. Tracé du spectre
figure;
stem(f_axe(1:N/2), A(1:N/2)); % On affiche seulement la première moitié (Shannon)
title('Spectre en amplitude du signal x(t)');
xlabel('Fréquence (Hz)');
ylabel('Amplitude');
grid on;

Exercice 3:

% --- Configuration ---


Fe = 100; % Fréquence d'échantillonnage
t = 0 : 1/Fe : 2; % Vecteur temps sur 2 secondes

% 1. Génération du signal utile (Question 1)


s = sin(2 * pi * 5 * t);

% 2. Ajout du bruit aléatoire (Question 2)


% randn génère un bruit blanc gaussien (moyenne 0, écart-type 1)
bruit = 0.5 * randn(size(t));
x_bruite = s + bruit;

% 3. Méthode de filtrage : Moyenne glissante (Question 4)


% On définit une fenêtre (ex: 5 points). Plus elle est grande, plus on lisse.
taille_fenetre = 5;
b = (1/taille_fenetre) * ones(1, taille_fenetre); % Coefficient du filtre
a = 1;

% 5. Application du filtre (Question 5)


x_filtre = filter(b, a, x_bruite);

% --- Représentation graphique (Question 3 & 5) ---


figure;

subplot(3,1,1); % Signal original


plot(t, s, 'g', 'LineWidth', 1.5);
title('1. Signal Original (Pur)');
grid on;

subplot(3,1,2); % Signal bruité


plot(t, x_bruite, 'r');
title('2. Signal Bruité (Original + Bruit)');
grid on;

subplot(3,1,3); % Signal filtré


plot(t, x_filtre, 'b', 'LineWidth', 1.5);
title('3. Signal Filtré (Moyenne Glissante)');
grid on;

xlabel('Temps (s)');

Vous aimerez peut-être aussi