TP1 : Échantillonnage et Quantification
Pr. DAHMANI
06/02/2025
Objectif :
Appliquer les concepts d’échantillonnage et observer les effets du sous-échantillonnage.
Activités :
• Simulation de signaux échantillonnés.
• Étude de l’aliasing.
Introduction :
L’échantillonnage est le processus de conversion d’un signal continu en un
signal discret. Lorsque le taux d’échantillonnage n’est pas suffisamment élevé
par rapport à la fréquence du signal, un phénomène appelé aliasing peut se
produire. Le théorème de Nyquist-Shannon stipule qu’un signal doit être
échantillonné à une fréquence au moins deux fois supérieure à sa fréquence
maximale pour éviter l’aliasing.
Étape 1 : Génération d’un Signal Continu
Commencez par générer un signal sinusoı̈dal continu avec une fréquence
donnée.
% Paramtres du signal
f = 5; % Frquence du signal (en Hz)
T = 1/f; % Priode du signal
Fs_cont = 1000; % Frquence d’chantillonnage pour simuler un
,→ signal "continu"
1
t_cont = 0:1/Fs_cont:2*T; % Temps continu
% Gnration du signal sinusodal
x_cont = sin(2*pi*f*t_cont);
Question 1 : Tracez le signal xcont sur une période T . Que représente
ce signal ?
Étape 2 : Échantillonnage du Signal
Maintenant, échantillonnez ce signal avec différentes fréquences d’échantillonnage.
% Paramtres d’chantillonnage
Fs1 = 40; % Frquence d’chantillonnage 1 (Hz)
Fs2 = 10; % Frquence d’chantillonnage 2 (Hz)
% Temps chantillonn
t1 = 0:1/Fs1:2*T;
t2 = 0:1/Fs2:2*T;
% chantillonnage du signal
x1 = sin(2*pi*f*t1); % chantillonnage avec Fs1
x2 = sin(2*pi*f*t2); % chantillonnage avec Fs2
Question 2 : Tracez les signaux échantillonnés x1 et x2 sur la même
figure que le signal continu xcont . Qu’observez-vous ?
Étape 3 : Reconstitution du Signal
Reconstituez les signaux échantillonnés en utilisant une interpolation linéaire
ou spline pour visualiser l’effet de l’échantillonnage.
% Interpolation linaire
x1_recon = interp1(t1, x1, t_cont, ’linear’);
x2_recon = interp1(t2, x2, t_cont, ’linear’);
% Affichage des rsultats
figure;
subplot(2,1,1);
plot(t_cont, x_cont, ’k’, ’LineWidth’, 2); hold on;
stem(t1, x1, ’r’, ’MarkerSize’, 6, ’LineWidth’, 2);
plot(t_cont, x1_recon, ’b--’, ’LineWidth’, 1.5);
2
legend(’Signal␣continu’, ’chantillonnage␣Fs1’, ’Reconstitution’
,→ );
title(’chantillonnage␣avec␣Fs1␣=␣40␣Hz’);
subplot(2,1,2);
plot(t_cont, x_cont, ’k’, ’LineWidth’, 2); hold on;
stem(t2, x2, ’r’, ’MarkerSize’, 6, ’LineWidth’, 2);
plot(t_cont, x2_recon, ’b--’, ’LineWidth’, 1.5);
legend(’Signal␣continu’, ’chantillonnage␣Fs2’, ’Reconstitution’
,→ );
title(’chantillonnage␣avec␣Fs2␣=␣10␣Hz’);
Question 3 : Comparez les reconstructions des deux signaux échantillonnés.
Que constatez-vous dans le cas où F s2 = 10 Hz ? Expliquez pourquoi cela
arrive.
Étape 4 : Effet de la Quantification
Ajoutez maintenant une étape de quantification pour observer son effet sur
le signal.
% Niveaux de quantification
n_bits = 4; % Nombre de bits pour la quantification
levels = 2^n_bits; % Niveaux de quantification
q_step = 2 / levels; % Pas de quantification
% Quantification du signal chantillonn
x1_quant = round((x1 + 1) / q_step) * q_step - 1;
x2_quant = round((x2 + 1) / q_step) * q_step - 1;
% Affichage des rsultats
figure;
subplot(2,1,1);
stem(t1, x1, ’r’, ’MarkerSize’, 6, ’LineWidth’, 2); hold on;
stem(t1, x1_quant, ’b’, ’MarkerSize’, 6, ’LineWidth’, 2);
legend(’chantillonnage’, ’Quantification’);
title(’Quantification␣avec␣Fs1␣=␣40␣Hz’);
subplot(2,1,2);
stem(t2, x2, ’r’, ’MarkerSize’, 6, ’LineWidth’, 2); hold on;
stem(t2, x2_quant, ’b’, ’MarkerSize’, 6, ’LineWidth’, 2);
3
legend(’chantillonnage’, ’Quantification’);
title(’Quantification␣avec␣Fs2␣=␣10␣Hz’);
Question 4 : Comment la quantification affecte-t-elle le signal ? Quels
sont les avantages et inconvénients de réduire le nombre de bits ?
Conclusion :
Résumez vos observations et conclusions sur les effets de l’échantillonnage et
de la quantification. Discutez des implications pratiques de ces phénomènes
dans les systèmes de traitement du signal.