Électronique et Informatique Industrielle
Travaux pratiques de traitement du signal
EII-SE4
F. Soulier
2024
TP 1 Échantillonnage
1.1 Préparation
On considère dans un premier temps un signal sinusoïdal x(t) = cos(2πf0 t) de fréquence f0 = 10 Hz.
1.1.1 Échantillonnage
1. Exprimer, puis représenter la transformée de Fourier de x(t).
2. L’échantillonnage idéal de x(t), fournit le signal échantillonné
xe (t) = Te ⊔⊔Te (t)x(t).
Montrer que la transformée de Fourier de xe (t) peut s’écrire
X k
XeF (f ) = X F (f ) ∗ δ f− .
Te
k∈Z
3. En déduire que
X k
XeF (f ) = XF f − .
Te
k∈Z
1
4. On pose Fe = Te = 30 Hz. Représenter XeF (f ).
1.1.2 Reconstruction du signal
On cherche à reconstituer x(t) à partir du signal échantillonné xe (t).
1. Montrer que
XeF (f )ΠFe (f ) = X F (f ).
2. En déduire qu’on peut exprimer x(t) par le produit de convolution
1
x(t) = sinc(πFe t) ∗ xe (t).
Te
3. Montrer alors qu’on peut reconstruire x(t) à l’aide de l’interpolation de Shannon
+∞
X
x(t) = x[n] sinc(πFe (t − nTe )), x[n] = x(nTe ).
n=−∞
1.1.3 Repliement de spectre
1. Refaire les questions précédentes en remplaçant la fréquence d’échantillonnage par Fe = 15 Hz. A-t-on toujours
l’égalité
XeF (f )ΠFe (f ) = X F (f )?
2. Quelle est la fréquence d’échantillonnage minimale pour pouvoir reconstuire le signal sinusoïdal x(t) ?
EII-SE4 – Travaux pratiques – Traitement du signal I
TP 1 Échantillonnage
1.2 Programmation
1.2.1 Échantillonnage
1. Écrire une fonction Scilab x(t) qui renvoie la valeur de x(t) = cos(2πf0 t).
2. Tracer une vingtaine de périodes du signal à l’aide d’une instruction semblable à
1 plot ( linspace ( t_min , t_max , 1000) , x );
3. Échantillonner ce signal à la fréquence Fe = 100 Hz. Les valeurs échantillonnées seront stockées dans un vecteur
x_e :
1 t_e = t_min :1/ F_e : t_max ; // Sampling times
2 x_e = x ( t_e ); // Sampling values
3 plot ( t_e , x_e , ’ +: ’ );
4. Tracer les valeurs échantillonnées xe [n] pour Fe = 100, 30 et 15 Hz. Commenter. Vous pourrez aussi tester
d’autres fréquences d’échantillonnages.
1.2.2 Interpolation de Shannon
1. Écrire une fonction Scilab x_i(t) qui calcule l’interpolation de Shannon à partir des échantillons xe [n] =
x(n/Fe ), pour toute valeur de t. (La fonction sinus cardinal est notée sinc() en Scilab.) On fixera pour com-
mencer Fe = 100 Hz.
2. Utiliser la fonction plot pour tracer x_i(t) en fonction de t, de la même façon que x(t).
3. Comparer x_i(t) et x(t). A-t-on reconstruit le signal x(t) à partir des échantillons x[n] ?
1.2.3 Repliement de spectre
1. Recommencer l’interpolation pour Fe = 30 et 15 Hz. Décrire le signal dans chacun des cas.
2. Justifier vos résultats en fonction de la préparation.
3. Recommencer pour différentes fréquences d’échantillonnage. Quelle fréquence minimale permet de reconstruire
à l’identique x(t) ?
1.2.4 Signal large bande
1. Changer le signal initial par un signal en créneau (fonction squarewave à la place de cos). Tracer le signal
interpolé.
2. Interpréter les résultats obtenus pour l’échantillonnage et l’interpolation à Fe = 15, 30, 100 Hz.
3. Quelle fréquence minimale permet dans ce cas de reconstruire à l’identique x(t) ?
EII-SE4 – Travaux pratiques – Traitement du signal I