Ecole Supérieure de Génie Biomédical et des Techniques de santé
1ère année de cycle ingénieur
Génie biomédical et génie digital et intelligence artificielle en santé
Traitement du signal
TP3 : Analyse des Signaux avec la Transformée de Fourier
Réaliser par : Moussaoui Marouane
Khalafat Haitem
Ait Aazzi Salma
Module assuré par : AMARI Aroua
TP Préparé par : ERRKIK Fatima
ZOUBIR Nadia
Année universitaire : 2023-2024
1
Objectifs du TP :
o Savoir calculer la FFT (Transformée de Fourier Rapide) d'un signal quelconque.
o Se familiariser avec la FFT sous Matlab.
o Comprendre les caractéristiques fréquentielles d'un signal.
Partie 1: Définition des paramètres du signal temporel
f0 = 1;
t0 = 1 / f0;
N = 1e3;
t = linspace(-5 * t0, 5 * t0, N);
s_t = sin(2 * pi * f0 * t); % Définition du signal sinusoïdal avec la fréquence f0.
• f0 = 1 : Définition de la fréquence fondamentale du signal.
• t0 = 1 / f0 : Calcul de la période du signal.
• N = 1e3 : Nombre de points pour la discrétisation du signal temporel.
• t = linspace(-5 * t0, 5 * t0, N) : Génération d'un vecteur de temps allant de -5 périodes à 5
périodes, avec N points.
• s_t = sin(X) : Définition d'un signal sinusoïdal avec la fréquence f0.
Partie 2: Affichage du signal temporel
figure;
plot(t, s_t, 'linewidth', 2);
grid on;
xlabel('Temps');
ylabel('Amplitude');
title('Signal Temporel');
• figure : Crée une nouvelle figure.
• plot(….,…., 'linewidth', 2) : Trace le signal temporel avec une épaisseur de ligne de 2.
• grid on : Active la grille sur le graphique.
• xlabel('….') et ylabel('…….') : Ajoutent des labels aux axes.
• title('Signal Temporel') : Ajoute un titre au graphique.
2
Figure 1 : Signal sinusoïdale temporel
Partie 3: Calcul de la FFT
% Calcul des paramètres pour la FFT
ts = t(2) - t(1);
fs = 1 / ts;
N_fft = 2^12;
% Calcul de la FFT
s_fft = fft(s_t, N_fft);
% Génération du vecteur de fréquences
f = linspace(-fs / 2, fs / 2, N_fft);
• ts = t(2) - t(1) : Calcul de l'intervalle de temps entre deux échantillons.
• fs = 1 / ts : Calcul de la fréquence d'échantillonnage.
• N_fft = 2^12 : Taille de la FFT (nombre de points).
• s_fft = fft(s_t, N_fft) : Calcul de la FFT du signal s_t avec une taille de N_fft.
• f = linspace(-fs / 2, fs / 2, N_fft) : Génération d'un vecteur de fréquences allant de -fs/2 à
fs/2.
3
Partie 4: Affichage du spectre de sréquences
% Affichage du spectre de fréquences figure; plot(f,
real(fftshift(s_fft)), 'linewidth', 2); grid on; hold on; plot(f,
imag(fftshift(s_fft)), 'r', 'linewidth', 2); plot(f, abs(fftshift(s_fft)),
'k', 'linewidth', 2); grid on; xlabel('Fréquence');
ylabel('Amplitude'); title('Spectre de Fréquences'); xlim([-3 * f0 3
* f0]);
• figure : Crée une nouvelle figure.
• plot(f, real(fftshift(s_fft)), 'linewidth', 2) : Trace la partie réelle du spectre de fréquences.
• plot(f, imag(fftshift(s_fft)), 'r', 'linewidth', 2) : Trace la partie imaginaire du spectre de
fréquences en rouge.
• plot(f, abs(fftshift(s_fft)), 'k', 'linewidth', 2) : Trace la magnitude du spectre de fréquences
en noir.
• xlabel('Fréquence') et ylabel('Amplitude') : Ajoutent des labels aux axes.
• title('Spectre de Fréquences') : Ajoute un titre au graphique.
• xlim([-3 * f0 3 * f0]) : Limite l'axe des fréquences à [-3f0, 3f0].
Figure 2 : Transformée de Fourier
4
Questions
1. Complétez et exécutez les scripts fournis
2. Tracez le spectre de fréquence sans utiliser la fonction fftshift.
Quelle est le rôle de la fonction ffshift ?
Le rôle de la fonction ffshift :
Réorganise le spectre pour une visualisation plus claire et intuitive ; La fonction ffshift recentre
le spectre de fréquence obtenu par la transformée de Fourier pour que la fréquence zéro (DC)
soit au milieu du graphique, avec les fréquences négatives à gauche et les fréquences positives à
droite. Cela rend le spectre plus facile à interpréter visuellement.
5
s_t = sin(2*pi*f0*t)+0.3*sin(2*pi*3*f0*t)+0.1*sin(2*pi*5*f0*t) ;
6
Synthèse de TP :
En conclusion, dans le cadre du TP accompli sur l’Analyse des Signaux avec la
Transformée de Fourier, nous avons réalisé plusieurs cibles importantes liées à la
compréhension du traitement du signal et son application pratique. En particulier, nous avons
appris à calculer la FFT d’un signal, à opérer avec elle sous Matlab, et à comprendre les
caractéristiques fréquentielles des signaux. Les scripts fournis et les questions répondues nous
ont aidés à mieux comprendre les concepts théoriques. En répondant aux questions et en
complétant les scripts, nous avons acquis une expérience précieuse de l’utilisation de la
Transformée de Fourier pour l’analyse des signaux. Cela nous a permis de mieux comprendre
le domaine du traitement du signal et d’acquérir du savoir-faire pratique.