PEOPLE'S DEMOCRATIC REPUBLIC OF ALGERIA
اجلـمـهـوريـة اجلـزائـريـة الديـمـقـراطـيــة الشـعـبـيــة
MINISTRY OF HIGHER EDUCATION وزارة التعليـم العالـي والبحـث العلمـي
AND SCIENTIFIC RESEARCH
HIGHER SCHOOL IN APPLIED املـدرسـة العليـا يف العلوم التطبيقيــة
SCIENCES –TLEMCEN- -تلمسان-
--T L E M C E N--
Année Universitaire 2025-2026
TP3 : Effet de l’Apodisation sur la Qualité Spectrale d’un signal discret
Objectifs :
• Comprendre l’effet de la troncature d'un signal sur son spectre.
• Comparer la qualité du spectre d’amplitude pour différentes fenêtres d'apodisation
(rectangulaire, Hamming, Hanning, Blackman...).
• Visualiser l'effet de la largeur de la fenêtre sur la résolution et la fuite spectrale.
Étapes du TP :
1. Génération du signal
Écrivez un script MATLAB qui permet de créer un signal périodique 𝑥𝑓 (𝑡) caractérisé par une
fréquence f1 défini par :
𝑥𝑓 (𝑡) = 𝐴1 sin(2𝜋𝑓1 𝑡)
A1=1, f1=20Hz
La fréquence d’échantillonnage est fe =256 Hz sur une durée d= 2s.
On veut analyser un paquet tronqué 𝑥(𝑡) qui contient N points (N=200) de 𝑥𝑓 (𝑡).
Sous Matlab x=xf(1 :N).
• Affichez le signal original avec sa version apodisée (figure(1)).
Une deuxième analyse sera basée uniquement sur le signal tronqué, et afin d’augmenter la
résolution d’analyse il est nécessaire de passer par l’opération de remplissage par zéros (zero-filling)
munie d’une insertion de 4 types de fenêtres d’apodisations (rectangulaire, hanning, hamming,
blackman).
Sous Matlab La pondération des N points du signal par les fenêtres d’analyse ainsi que le
remplissage permet d’avoir un signal composé de L points (L=1024) selon l’expression suivante :
x_rect=[x.*(rectwin(N))' zeros(1,L-N)]
x_rect :fenêtre rectangulaire, x :signal tronqué.
• Sur la même figure précédente afficher les 4 versions du signal après remplissage.
• Que peut on dire sur l’évolution de l’enveloppe de chaque signal.
2. Analyse spectrale de l’effet de l’apodisation
• Calculer la FFT des quatre signaux obtenus et représenter sur une même figure (figure (2)) les
différents spectres d’amplitudes.
• Observer l’effet de la troncature (élargissement spectral, lobes secondaires (fuite spectrale)).
1
• Faire selon les allures des spectres d’amplitudes une comparaison de la qualité spectrale
obtenue par chaque fenêtre d’apodisation.
Sous Matlab le spectre d’amplitude est donné par :
y_rect = abs(fft(x_rect));
Pour avoir une comparaison convenable il est nécessaire de normaliser l’amplitude par rapport
à sa valeur maximale.
y_rect = y_rect/max(y_rect);
L’axe fréquentiel f doit être normalisé par rapport à la fréquence d’échantillonnage fe et la
dimension du signal : f = (0:L-1) * (fe/L).
3. L’intérêt du remplissage par zéros pour l’analyse des spectres à haute résolution.
Remplacer le signal précédent 𝑥𝑓 (𝑡) par la version suivante :
𝑥𝑓 (𝑡) = 𝐴1 sin(2𝜋𝑓1 𝑡) + 𝐴2 sin(2𝜋𝑓2 𝑡)
Avec 𝐴1 = 𝐴2 = 1 et 𝑓1 = 20𝐻𝑧, 𝑓2 = 26𝐻𝑧 (signal caractérisé par deux pics proches).
• A partir du programme précédent faire analyser le spectre du signal à haute résolution pour
N=50, et tracer sur une même figure la version spectrale avec et sans zéro filling (L=1024).
• Que peut-on conclure en terme de résolution et fuite spectrale.