Introduction
L’échantillonnage est une étape fondamentale dans le traitement numérique des
signaux. Il consiste à transformer un signal à temps continu en un signal à temps
discret en prenant des valeurs du signal à des instants réguliers. Cette opération
permet de traiter les signaux à l’aide d’ordinateurs et de systèmes numériques.
Dans ce TP, nous utilisons MATLAB pour illustrer le processus d’échantillonnage d’un
signal sinusoïdal. Nous allons observer la différence entre le signal continu et sa
version échantillonnée, ainsi que l’influence de la période d’échantillonnage sur la
qualité du signal obtenu.
Objectifs
Les objectifs de ce TP sont :
Comprendre le principe de l’échantillonnage des signaux.
Générer un signal sinusoïdal à temps continu avec MATLAB.
Obtenir la version échantillonnée du signal à temps discret.
Étudier l’effet de la période d’échantillonnage sur la représentation du signal.
Vérifier l’influence de la fréquence du signal et de la fréquence d’échantillonnage.
Observer le phénomène de repliement spectral (aliasing) lorsque la condition de
Nyquist n’est pas respectée.
La solution de tp
Clf ;
T = 0.1; % Période d'échantillonnage (Fs = 10 Hz)
f = 13; % Fréquence du signal (13 Hz > Fs/2 -> Repliement)
% Correction de la génération de n (vecteur colonne)
n = (0:10)'; % Pour aller de 0 à 1 seconde avec un pas T=0.1, il faut 11 points
% Calcul du signal discret (échantillons)
xs = cos(2*pi*f*n*T); % Notez l'ajout de T pour avoir le temps réel t = n*T
% Vecteur temps continu pour la reconstruction
t = linspace(-0.5, 1.5, 500);
% Reconstruction par interpolation (Sinc)
% Correction de la multiplication matricielle pour ya
ya = sinc((1/T) * (ones(length(t), 1) * (n*T)' - t' * ones(1, length(n)))) * xs;
% Affichage
plot(n*T, xs, 'o', t, ya); % On affiche xs en fonction du temps réel (n*T)
grid on;
xlabel('Temps, sec');
ylabel('Amplitude');
title('Signal reconstruit y_a(t)');
axis([0 1 -1.2 1.2]);
2 _modifier
Q2-4
% --- Paramètres du signal d'origine ---
f = 1; % Fréquence du signal sinusoïdal (1 Hz)
t_cont = 0:0.001:2; % Temps continu (haute résolution pour affichage)
x_cont = sin(2*pi*f*t_cont);
% --- Périodes d'échantillonnage (Ts) ---
Ts_initial = 0.1;
% 2 valeurs inférieures et 2 valeurs supérieures
Ts_values = [0.02, 0.05, 0.4, 0.8];
figure('Name', 'Étude de la période déchantillonnage');
for i = 1:length(Ts_values)
Ts = Ts_values(i);
fs = 1/Ts; % Fréquence d'échantillonnage correspondante
% Génération du signal échantillonné
n = 0:Ts:2;
x_disc = sin(2*pi*f*n);
% Affichage
subplot(2, 2, i);
plot(t_cont, x_cont, 'r--'); hold on; % Signal continu en pointillé rouge
stem(n, x_disc, 'b', 'LineWidth', 1.5); % Signal discret en bleu
title(['Ts = ', num2str(Ts), ' s (fs = ', num2str(fs), ' Hz)']);
xlabel('Temps (s)'); ylabel('Amplitude');
grid on;
axis([0 2 -1.2 1.2]);
End
Q2-5
% --- Paramètres fixes (basés sur Q2.1) ---
Ts = 0.1; % Période d'échantillonnage (Exemple: 0.1s => fs = 10Hz)
fs = 1/Ts; % Fréquence d'échantillonnage
t_cont = 0:0.001:1; % Temps continu pour l'affichage (haute résolution)
% --- Fréquences à tester ---
freq_signals = [1, 3, 7]; % 1Hz (Q2.1), 3Hz et 7Hz
figure('Name', 'Étude du repliement spectral (Q2.5)');
for i = 1:length(freq_signals)
f = freq_signals(i);
% 1. Signal "Continu" (Théorique)
x_cont = sin(2*pi*f*t_cont);
% 2. Signal Discret (Échantillonné)
n = 0:Ts:1;
x_disc = sin(2*pi*f*n);
% Affichage
subplot(3, 1, i);
plot(t_cont, x_cont, 'r--'); hold on; % Signal continu
stem(n, x_disc, 'b', 'LineWidth', 1.5); % Signal discret
title(['Fréquence du signal f = ', num2str(f), ' Hz (fs = ', num2str(fs), ' Hz)']);
ylabel('Amplitude');
grid on;
legend('Continu', 'Discret');
end
xlabel('Temps (s)');
Conclusion
À travers ce TP, nous avons étudié le processus d’échantillonnage d’un signal
sinusoïdal à l’aide de MATLAB. Nous avons comparé le signal à temps continu et sa
version échantillonnée afin de comprendre l’influence de la période d’échantillonnage
sur la représentation du signal.
Les résultats montrent que lorsque la fréquence d’échantillonnage est suffisamment
élevée, le signal discret représente correctement le signal continu. En revanche, si la
fréquence d’échantillonnage est trop faible, le phénomène de repliement (aliasing)
apparaît, ce qui provoque une mauvaise représentation du signal.
Ainsi, ce TP nous a permis de vérifier l’importance du théorème de Nyquist, qui
impose que la fréquence d’échantillonnage doit être au moins deux fois supérieure à
la fréquence maximale du signal.