MathQuest

Échantillonnage et Shannon

⏱ ~12 min·+30 XP
💡

Pourquoi apprendre ça ?

Quand on enregistre de la musique en numérique, on prend des "photos" du signal sonore plusieurs milliers de fois par seconde. Mais combien de fois par seconde suffit-il pour ne rien perdre ? Le théorème de Shannon-Nyquist répond précisément : il faut échantillonner à plus du double de la fréquence maximale du signal. En dessous, des artefacts sonores apparaissent — c'est le repliement spectral.

🎯

Analogie

Imagine filmer les ailes d'un ventilateur. Si tu filmes trop lentement, les ailes semblent tourner à l'envers ou très lentement — c'est le repliement (aliasing). Pour "capturer" correctement un mouvement de fréquence fmaxf_{\max}, il faut filmer à au moins 2fmax2f_{\max} images par seconde. Le même principe s'applique aux signaux audio et numériques.

Processus d'échantillonnage

📐

Théorie

Échantillonner un signal continu x(t)x(t) consiste à prélever ses valeurs à intervalles réguliers de période TsT_s :

x[n]=x(nTs),nZx[n] = x(nT_s), \quad n \in \mathbb{Z}

La fréquence d'échantillonnage est fs=1/Tsf_s = 1/T_s (en Hz).

Mathématiquement, l'échantillonnage correspond à multiplier le signal par un peigne de Dirac :

xs(t)=x(t)n=+δ(tnTs)x_s(t) = x(t) \cdot \sum_{n=-\infty}^{+\infty} \delta(t - nT_s)

Dans le domaine fréquentiel, cette multiplication devient une convolution avec un peigne de Dirac en fréquence, ce qui se traduit par une périodisation du spectre de xx avec période fsf_s.

📝

Échantillonnage d'un signal audio

Signal audio couvrant [0,20000][0, 20\,000] Hz (plage auditive humaine).

La norme CD utilise fs=44,100f_s = 44{,}100 Hz (44,1 kHz) :

  • On prend 44 100 mesures par seconde
  • Période d'échantillonnage : Ts=1/4410022,7μsT_s = 1/44100 \approx 22{,}7\,\mu\text{s}
  • Chaque sample est encodé sur 16 bits

La norme DVD audio utilise fs=192000f_s = 192\,000 Hz — plus de précision temporelle, mais fichiers plus lourds.

Théorème de Nyquist-Shannon

📐

Théorie

Théorème de Nyquist-Shannon :

Un signal x(t)x(t) dont le spectre est limité à fmaxf_{\max} Hz (signal à bande limitée) peut être parfaitement reconstruit depuis ses échantillons si et seulement si :

fs2fmax\boxed{f_s \geq 2\,f_{\max}}

La fréquence fN=fs/2f_N = f_s/2 est appelée fréquence de Nyquist. Elle est la fréquence maximale représentable sans distorsion.

Démonstration intuitive : l'échantillonnage périodise le spectre avec période fsf_s. Pour que les copies spectrales ne se chevauchent pas (condition nécessaire à la reconstruction), il faut que la largeur du spectre 2fmax2f_{\max} soit inférieure ou égale à fsf_s, soit fs2fmaxf_s \geq 2f_{\max}.

Formule de reconstruction (interpolation de Whittaker-Shannon) :

x(t)=n=+x[n]sinc ⁣(tnTsTs)x(t) = \sum_{n=-\infty}^{+\infty} x[n] \cdot \text{sinc}\!\left(\frac{t - nT_s}{T_s}\right)

sinc(u)=sin(πu)πu\text{sinc}(u) = \frac{\sin(\pi u)}{\pi u}. La reconstruction est exacte — pas d'information perdue si fs2fmaxf_s \geq 2f_{\max}.

📝

Applications du théorème de Nyquist

| Application | fmaxf_{\max} | fsf_s requis | fsf_s utilisé | |-------------|------------|--------------|----------------| | Téléphonie | 4 kHz | ≥ 8 kHz | 8 kHz (G.711) | | Audio CD | 20 kHz | ≥ 40 kHz | 44,1 kHz | | Audio HD | 96 kHz | ≥ 192 kHz | 192 kHz | | ECG médical | 150 Hz | ≥ 300 Hz | 1 000 Hz (marge) |

Pourquoi 44,1 kHz et pas 40 kHz ? La marge (44,1/40=1,144{,}1 / 40 = 1{,}1) permet de concevoir des filtres anti-aliasing réalistes — aucun filtre réel n'a une coupure parfaitement verticale à fmaxf_{\max}.

🧩

Checkpoint

Un signal contient des fréquences jusqu'à 8 000 Hz. Quelle est la fréquence d'échantillonnage minimale requise par le théorème de Shannon ?

Repliement spectral (aliasing)

📐

Théorie

Si fs<2fmaxf_s < 2f_{\max}, les copies du spectre créées par l'échantillonnage périodique se chevauchent — c'est le repliement spectral (aliasing).

Conséquence : les composantes fréquentielles situées au-dessus de fNf_N sont mal représentées. Dans le signal reconstruit, elles réapparaissent comme des fréquences parasites inférieures à fNf_N.

Calcul de la fréquence repliée : une sinusoïde de fréquence f0>fNf_0 > f_N échantillonnée à fsf_s apparaît à la fréquence : freplieˊ=f0round ⁣(f0fs)fsf_{\text{replié}} = \left| f_0 - \text{round}\!\left(\frac{f_0}{f_s}\right) \cdot f_s \right|

Cas simple — si fN<f0<fsf_N < f_0 < f_s : alors freplieˊ=fsf0f_{\text{replié}} = f_s - f_0.

Prévention : utiliser un filtre anti-aliasing (filtre passe-bas de coupure fcfNf_c \leq f_N) AVANT l'échantillonnage pour éliminer les composantes qui se replieraient.

📝

Exemple audio — l'aliasing en pratique

Signal de fréquence f0=11000f_0 = 11\,000 Hz, échantillonné à fs=8000f_s = 8\,000 Hz.

Fréquence de Nyquist : fN=8000/2=4000f_N = 8000/2 = 4\,000 Hz.

f0=11000>fN=4000f_0 = 11\,000 > f_N = 4\,000repliement.

Fréquence repliée : f0fs=110008000=3000|f_0 - f_s| = |11000 - 8000| = 3\,000 Hz.

Le signal à 11 kHz apparaît comme un signal à 3 kHz dans le signal reconstruit — artefact indésirable qui sonne "faux".

Avec filtre anti-aliasing : on coupe tout au-dessus de 4 kHz avant l'échantillonnage → 11 kHz est supprimé → pas de repliement.

⚠️

Piège : égalité fs = 2·fmax est insuffisante en pratique

Le théorème de Shannon dit fs2fmaxf_s \geq 2f_{\max} est nécessaire et suffisant en théorie (avec des filtres et signaux parfaits). En pratique : les filtres anti-aliasing ne peuvent pas couper exactement à fmaxf_{\max} (pas de filtre "brique" idéal), et les signaux ont rarement un spectre strictement borné. C'est pourquoi les systèmes réels utilisent fsf_s significativement supérieur à 2fmax2f_{\max} pour avoir une bande de transition exploitable. La condition théorique est nécessaire mais insuffisante pour un système réel.

🧩

Checkpoint

Une fréquence de 7 kHz est échantillonnée à fs = 10 kHz (fN = 5 kHz). Quelle fréquence apparaît dans le signal reconstruit ?

Reconstruction — Filtre passe-bas idéal

📐

Théorie

Reconstruction idéale (Whittaker-Shannon) : la reconstruction parfaite s'obtient par convolution des échantillons avec un filtre sinus cardinal (passe-bas idéal de fréquence de coupure fNf_N) :

x(t)=n=+x[n]sinc ⁣(tnTsTs)x(t) = \sum_{n=-\infty}^{+\infty} x[n] \cdot \text{sinc}\!\left(\frac{t - nT_s}{T_s}\right)

Ce filtre a une réponse fréquentielle rectangulaire : il laisse passer exactement ffN|f| \leq f_N et coupe parfaitement au-delà. Son support temporel est infini (le sinus cardinal s'étend à ±\pm\infty), ce qui le rend non causal et non implémentable directement.

En pratique — chaîne de reconstruction numérique :

  1. CNA (convertisseur numérique-analogique) : produit une approximation en escalier (maintien d'ordre zéro, ZOH) — constant sur chaque [nTs,(n+1)Ts)[nT_s,(n+1)T_s)
  2. Filtre de lissage analogique : filtre passe-bas qui élimine les harmoniques dues à l'effet d'escalier et restitue un signal continu
  3. La pente de coupure dépend de l'ordre du filtre : un filtre d'ordre NN donne 20N-20N dB/décade au-delà de la coupure

Bruit de quantification : encoder chaque valeur sur BB bits introduit une erreur. Le rapport signal sur bruit est : SNR6,02B+1,76 dB\text{SNR} \approx 6{,}02B + 1{,}76 \text{ dB} Chaque bit supplémentaire apporte environ 6 dB de SNR.

📝

Reconstruction — du numérique à l'analogique

Étape 1 (CNA + ZOH) : les échantillons x[n]x[n] sont convertis en signal à escaliers xZOH(t)x_{\text{ZOH}}(t). Ce signal contient le spectre utile [0,fN][0, f_N] mais aussi des répliques atténuées autour de fsf_s, 2fs2f_s, etc.

Étape 2 (filtre passe-bas) : un filtre analogique de coupure fNf_N élimine toutes les répliques spectrales. La sortie est le signal continu reconstruit.

Qualité de reconstruction pour le CD (16 bits) : SNR6,02×16+1,7698 dB\text{SNR} \approx 6{,}02 \times 16 + 1{,}76 \approx 98 \text{ dB}

C'est bien au-delà du seuil d'audibilité humain (~120 dB de dynamique maximale perçue). Pour un signal encodé sur 8 bits : SNR50\text{SNR} \approx 50 dB — qualité téléphonique.

📝

Filtres de reconstruction — ordres pratiques

Pour l'audio CD (fs=44,1f_s = 44{,}1 kHz, fmax=20f_{\max} = 20 kHz) :

  • Bande passante souhaitée : [0,20][0, 20] kHz
  • Bande de transition disponible : [20,24,1][20, 24{,}1] kHz (seulement 4,1 kHz de marge)
  • Pour une atténuation de 80 dB dans la bande coupée avec 4,1 kHz de transition, un filtre elliptique d'ordre 7 à 9 est typiquement nécessaire

Les filtres numériques RIF (réponse impulsionnelle finie) sont souvent utilisés côté numérique pour leur phase linéaire — garantissant une distorsion de phase nulle sur le signal reconstruit.

🧩

Checkpoint

Pourquoi le filtre de reconstruction idéal (sinus cardinal) n'est-il pas implémentable tel quel en pratique ?

🧩

Checkpoint

Un ingénieur encode un signal sur B = 8 bits. Quel est l'ordre de grandeur du SNR de quantification ?

À retenir

  • Échantillonnage : prélever x[n]=x(nTs)x[n] = x(nT_s) à fréquence fs=1/Tsf_s = 1/T_s — périodise le spectre avec période fsf_s
  • Théorème de Shannon : fs2fmaxf_s \geq 2f_{\max} pour une reconstruction parfaite
  • Fréquence de Nyquist : fN=fs/2f_N = f_s/2 — fréquence maximale représentable sans distorsion
  • Repliement (aliasing) : si fs<2fmaxf_s < 2f_{\max}, fréquence repliée =f0fs= |f_0 - f_s| pour fN<f0<fsf_N < f_0 < f_s
  • Filtre anti-aliasing : couper >fN> f_N AVANT l'échantillonnage — indispensable en pratique
  • Reconstruction : filtre sinus cardinal idéal → en pratique CNA (ZOH) + filtre analogique passe-bas
  • Quantification : SNR6,02B+1,76\text{SNR} \approx 6{,}02B + 1{,}76 dB — chaque bit vaut ~6 dB
Passer aux exercices →