Acquisition de données et échantillonnage : exercices corrigés pas à pas

Exercices gratuits sur Acquisition de données et échantillonnage avec schémas, indices et corrigés complets. De nouvelles valeurs à chaque fois, à trois niveaux : Nyquist, LSB et débits de données, repliement, bits et trames UART, harmoniques, RSBQ et conception de système.

Exercice gratuitFacile
SD0​D1​D2​D3​D4​D5​D6​D7​Tb​ = ?115200 Bd

Une liaison UART fonctionne à 115200 bauds. Trouvez la durée Tb d’un bit, en µs.

baud = 115200 Bd
µs
Exercice suivant →

Ce que vous travaillez

  1. FacileNyquist, LSB et débits de données
  2. Moyenrepliement, bits et trames UART
  3. Difficileharmoniques, RSBQ et conception de système

Comment résoudre les exercices de Acquisition de données et échantillonnage

  1. Notez les données : fréquence d’échantillonnage, fréquences du signal, nombre de bits, plage d’entrée, débit en bauds.
  2. Pour les questions d’échantillonnage, comparez chaque fréquence à fs/2 ; une fréquence plus élevée apparaît à fa = |f − k·fs|, avec le multiple de fs le plus proche.
  3. Pour les questions de résolution, calculez 1 LSB = VFSR/2ᴺ, ou le plus petit N tel que 2ᴺ ≥ étendue/résolution.
  4. Pour les débits et les liaisons UART, comptez tout ce qui est envoyé : canaux, échantillons par seconde, bits ou octets entiers par échantillon, et bits de start, de parité et de stop de chaque trame.

Erreurs fréquentes

  • Croire qu’une fréquence supérieure à fs/2 disparaît : elle réapparaît comme un alias dans la bande.
  • Diviser la plage par N au lieu de 2ᴺ.
  • Arrondir le nombre de bits à l’inférieur au lieu du supérieur.
  • Oublier les bits de start et de stop : le format 8N1 envoie 10 bits par octet.

Formules clés

Critère de Nyquist
fs > 2·fmax, fN = fs/2
Fréquence d’alias
fa = |f − k·fs|, k = round(f/fs)
Pas de quantification
1 LSB = VFSR/2ᴺ
Erreur de quantification (arrondi)
±½ LSB
CAN à troncature
D = ⌊Vin/LSB⌋
Nombre de bits pour une résolution r
2ᴺ ≥ span/r
RSBQ idéal, sinusoïde pleine échelle
SQNR = 6,02·N + 1,76 dB
Débit de données
canaux × fs × N bit/s
CAN multiplexé
fs = 1/(n·(tc + tset))
UART
Tb = 1/baud ; 8N1 = 10 bits par octet ; octets/s = baud/bits par trame
Diviseur de débit en bauds
baud = fclk/(16·D)

Apprendre Acquisition de données et échantillonnage depuis zéro

Avant cela : Systèmes de numération

1Ce qu’est l’acquisition de données

Un ordinateur ne peut pas lire directement une tension. Un système d’acquisition de données transforme une grandeur physique en nombres : un capteur produit une petite tension, un amplificateur la met à l’échelle, et un convertisseur analogique-numérique (CAN) la mesure à intervalles réguliers et fournit un nombre binaire.

TG∿01N, fs​0101

Deux choix déterminent la qualité des nombres. La fréquence d’échantillonnage fs indique à quelle cadence le CAN mesure, et le nombre de bits N indique avec quelle finesse il découpe sa plage de tension. Ensemble, ils déterminent aussi la quantité de données à stocker ou à envoyer.

Auto-évaluation Un CAN échantillonne à 2 kHz. Combien d’échantillons prend-il en 0,5 s ?
  1. 1000
  2. 2000
  3. 250
  4. 4000

Réponse: 1000. Échantillons = fs·t = 2000·0,5 = 1000. Multiplier par 2 au lieu de 0,5 donne 4000, et ignorer la durée donne 2000.

2Échantillonnage et repliement

Pour capter une sinusoïde, il faut plus de deux échantillons par période. La fréquence d’échantillonnage doit donc être supérieure au double de la plus haute fréquence du signal. La moitié de la fréquence d’échantillonnage est la fréquence de Nyquist :

fs > 2·fmax fN = fs/2

Une fréquence supérieure à fs/2 ne disparaît pas. Ses échantillons ressemblent exactement à ceux d’une fréquence plus basse, l’alias. Sur la figure, une sinusoïde de 7 Hz (trait plein) est échantillonnée à 10 Hz, et les points s’ajustent tout aussi bien à une sinusoïde de 3 Hz (pointillés).

tf = 7 Hzfs​ = 10 Hz
fa = |f − k·fs|, k = l’entier le plus proche de f/fs

Après l’échantillonnage, rien ne permet de distinguer l’alias d’un vrai signal. C’est pourquoi un filtre anti-repliement analogique supprime tout ce qui dépasse fs/2 avant le CAN.

Auto-évaluation Un son de 7 kHz est échantillonné à 10 kHz sans filtre. À quelle fréquence apparaît-il ?
  1. 17 kHz
  2. 3 kHz
  3. 5 kHz
  4. 7 kHz

Réponse: 3 kHz. 7 kHz est supérieur à fs/2 = 5 kHz, donc il se replie : |7 − 1·10| = 3 kHz. Il ne peut pas rester à 7 kHz, 17 kHz s’obtient en additionnant au lieu de soustraire, et 5 kHz n’est que la fréquence de repliement.

3Résolution et quantification

Un CAN de N bits a 2ᴺ codes de sortie, de 0 à 2ᴺ − 1. Il divise sa plage pleine échelle VFSR en 2ᴺ pas égaux. Un pas s’appelle 1 LSB (bit de poids faible) :

1 LSB = VFSR/2ᴺ

Un CAN à troncature fournit le code ⌊Vin/LSB⌋, le nombre entier inférieur. Un CAN à arrondi n’est jamais à plus de ½ LSB de la valeur réelle : c’est son erreur de quantification.

Pour résoudre des pas de taille r sur une étendue, il faut le plus petit N tel que 2ᴺ ≥ étendue/r. Chaque bit supplémentaire divise le LSB par deux et ajoute environ 6 dB au rapport signal sur bruit de quantification idéal :

SQNR = 6,02·N + 1,76 dB
Auto-évaluation Un CAN de 10 bits a une plage de 0 à 5,12 V. Que vaut 1 LSB ?
  1. 10 mV
  2. 2,5 mV
  3. 5 mV
  4. 512 mV

Réponse: 5 mV. 210 = 1024, donc 1 LSB = 5,12/1024 = 0,005 V = 5 mV. Diviser par N = 10 donne 512 mV, utiliser 2⁹ donne 10 mV, et 2,5 mV est la plus grande erreur d’un CAN à arrondi, soit un demi-LSB.

4Débits de données et liaisons série

Chaque canal fournit fs échantillons par seconde de N bits. Le débit brut est canaux × fs × N. En mémoire, un échantillon occupe des octets entiers : un échantillon de 12 bits utilise donc 2 octets.

Un UART envoie chaque octet sous forme de trame : un bit de start, 8 bits de données, un bit de parité facultatif et un ou deux bits de stop. Dans le format courant 8N1, cela fait 10 bits par octet. Le débit en bauds compte les bits par seconde, donc un bit dure 1/baud.

octets par seconde = bauds/(bits par trame)

Un multiplexeur permet à un seul CAN de desservir plusieurs canaux à tour de rôle. Si une conversion (avec stabilisation) dure t, chacun des n canaux est échantillonné à 1/(n·t).

5Un exemple détaillé

Suivez cet ordre pour la plupart des questions :

  1. Comparez la fréquence d’échantillonnage à la plus haute fréquence du signal.
  2. Trouvez le pas de quantification à partir de la plage et du nombre de bits.
  3. Comptez les données : canaux, échantillons par seconde, octets par échantillon.
  4. Comparez avec ce que la liaison ou la mémoire peut absorber, en comptant les bits de start, de parité et de stop.
Exemple détaillé

Un enregistreur mesure 4 canaux de température avec un CAN de 12 bits sur 0 à 4,096 V. Les signaux contiennent des fréquences jusqu’à 20 Hz, et chaque canal est échantillonné à 100 Hz. Chaque échantillon est envoyé sur 2 octets par un UART à 9600 bauds, 8N1. La fréquence d’échantillonnage est-elle suffisante, que vaut 1 LSB, et la liaison suit-elle ?

1

Vérification de Nyquist

2·fmax = 2·20 = 40 Hz < 100 Hz

La fréquence d’échantillonnage est suffisante.

2

Pas de quantification

1 LSB = 4,096/212 = 4,096/4096 = 0,001 V = 1 mV
3

Données à envoyer

4 voies · 100 échantillons/s · 2 octets = 800 octets/s
4

Capacité de la liaison

Le format 8N1 envoie 10 bits par octet.

9600/10 = 960 bytes/s ≥ 800 bytes/s
5

Vérifiez la réponse

Sur la ligne, cela fait 800·10 = 8000 bit/s, soit moins que 9600 bauds. La liaison est occupée à 83 %.

Réponse

Oui : 100 Hz est supérieur au double de 20 Hz, 1 LSB = 1 mV, et la liaison a besoin de 800 de ses 960 octets/s.

6Erreurs fréquentes

  • Croire qu’une fréquence supérieure à fs/2 est simplement perdue : elle apparaît comme un alias dans la bande.
  • Diviser la plage par N au lieu de 2ᴺ.
  • Arrondir le nombre de bits à l’inférieur : 2ᴺ doit être au moins égal à étendue/résolution.
  • Compter 8 bits par octet sur un UART : le format 8N1 en demande 10.
  • Oublier qu’un échantillon de 10 ou 12 bits est stocké sur 2 octets entiers.
Auto-évaluation Combien d’octets par seconde un UART à 9600 bauds peut-il envoyer au format 8N1 ?
  1. 1067
  2. 1200
  3. 9600
  4. 960

Réponse: 960. Chaque octet demande 10 bits (start, 8 de données, stop) : 9600/10 = 960. Diviser par 8 oublie les bits de start et de stop, et diviser par 9 en oublie un.

7À quoi ressemblent les questions d’examen

  • Facile : Nyquist, LSB et débits. Vous trouvez la fréquence d’échantillonnage minimale, la fréquence de Nyquist, la taille du LSB ou l’erreur de quantification, la durée d’un bit d’un UART ou le débit brut.
  • Moyen : repliement, bits et trames UART. Vous trouvez une fréquence d’alias, le nombre de bits pour une résolution, le code de sortie pour une tension, la mémoire pour un enregistrement, le débit en octets d’un format UART ou le RSBQ idéal.
  • Difficile : harmoniques, RSBQ et conception de système. Vous trouvez où se replie une harmonique, les bits pour un RSBQ imposé, la plus haute fréquence qu’un CAN transmis par UART peut capter, la cadence d’un CAN multiplexé, l’erreur de débit en bauds d’un diviseur ou la résolution en température d’une chaîne de mesure.

Apprenez pas à pas dans l’applicationApprenez pas à pas dans l’application

Exemples corrigés

Exemple 1Facile
SD0​D1​D2​D3​D4​D5​D6​D7​Tb​ = ?2400 Bd

Une liaison UART fonctionne à 2400 bauds. Trouvez la durée Tb d’un bit, en µs.

baud = 2400 Bd

Calculer Tb (µs)

Afficher les indices
  1. Le débit en bauds est le nombre de bits envoyés par seconde.
  2. Tb = 1/baud.
  3. 1 s = 10⁶ µs.
Afficher la réponse et la solution pas à pas

UART : une liaison série asynchrone envoie chaque octet sous forme de trame : un bit de start (bas), les bits de données, un bit de parité facultatif et un ou deux bits de stop (haut). Le débit en bauds est le nombre de bits par seconde, donc un bit dure Tb = 1/baud et une trame de n bits dure n/baud. Le format courant 8N1 compte 10 bits par octet. Le générateur de bauds divise l’horloge : baud = fclk/(16·D) avec un entier D, donc le débit réel diffère légèrement de la cible ; une erreur inférieure à 2 % environ est généralement acceptable.

Durée d’un bit

Tb = 1/2400 s = 416,7 µs

Réponse

Tb = 416,7 µs
Exemple 2Moyen
Vin​N = 85 V2ᴺ − 101 LSB2,125 V?

Un CAN de 8 bits, de plage d’entrée 0 à 5 V, fonctionne par troncature : son code de sortie est ⌊Vin/LSB⌋ avec 1 LSB = VFSR/2ᴺ. Trouvez le code de sortie décimal D pour une entrée de 2,125 V.

N = 8VFSR = 5 VVin = 2,125 V

Calculer D

Afficher les indices
  1. Calculez d’abord la taille d’un LSB.
  2. 1 LSB = 5/256 = 19,53 mV.
  3. Divisez l’entrée par le LSB et gardez la partie entière.
Afficher la réponse et la solution pas à pas

Résolution du CAN : un convertisseur de N bits divise sa plage pleine échelle VFSR en 2ᴺ codes, de 0 à 2ᴺ − 1. Un pas vaut 1 LSB = VFSR/2ᴺ : la plus petite variation que le convertisseur peut afficher. Un CAN à troncature donne le code ⌊Vin/LSB⌋ ; un CAN à arrondi n’est jamais à plus de ½ LSB de la valeur réelle, c’est son erreur de quantification. Chaque bit supplémentaire divise le LSB par deux et ajoute environ 6 dB au rapport signal sur bruit de quantification idéal RSBQ = 6,02·N + 1,76 dB pour une sinusoïde pleine échelle. Pour atteindre une résolution r sur une étendue, choisissez le plus petit N tel que 2ᴺ ≥ étendue/r.

Pas de quantification

1 LSB = 5/28 = 19,53 mV

Code

Vin/LSB = 2125/19,53 = 108,8
code = ⌊108,8⌋ = 108

Réponse

D = 108

En binaire, cela donne 01101100.

Exemple 3Difficile
f0fs​/2fs​1,92 kHz7f₁?

Un signal carré de 1,92 kHz est échantillonné à 8 kHz sans filtre anti-repliement. Un signal carré contient les harmoniques impairs 3f₁, 5f₁, 7f₁, … À quelle fréquence fa l’harmonique 7f₁ apparaît-il dans les données échantillonnées ? Donnez-la en Hz.

f₁ = 1,92 kHzfs = 8 kHzharmonique: 7f₁

Calculer fa (Hz)

Afficher les indices
  1. L’harmonique est à 7·1,92 kHz = 13,44 kHz, au-dessus de fs/2 = 4 kHz.
  2. Il apparaît à fa = |f − k·fs| avec le multiple de fs le plus proche.
  3. 13440/8000 = 1,68.
Afficher la réponse et la solution pas à pas

Échantillonnage : un CAN mesure le signal fs fois par seconde. D’après le théorème de Nyquist–Shannon, une fréquence f n’est correctement captée que si f < fs/2, la fréquence de Nyquist (de repliement) ; la fréquence d’échantillonnage doit donc dépasser le double de la plus haute fréquence du signal. Une fréquence plus élevée n’est pas perdue : elle apparaît comme un alias à fa = |f − k·fs|, avec l’entier k qui ramène le résultat entre 0 et fs/2. Les échantillons ne permettent pas de distinguer les deux, donc un filtre anti-repliement analogique doit supprimer tout ce qui dépasse fs/2 avant le CAN.

Fréquence de l’harmonique

7f₁ = 7·1,92 kHz = 13,44 kHz

Multiple le plus proche de la fréquence d’échantillonnage

m = round(1,68) = 2

Fréquence d’alias

fa = |13440 − 2·8000| = 2560 Hz

Réponse

fa = 2560 Hz

L’alias tombe dans la bande du signal, où aucun filtre numérique ne peut l’éliminer. Seul un filtre analogique placé avant le CAN est efficace.

Questions et réponses

Acquisition de données et échantillonnage : de quoi s’agit-il ?

Un ordinateur ne peut pas lire directement une tension. Un système d’acquisition de données transforme une grandeur physique en nombres : un capteur produit une petite tension, un amplificateur la met à l’échelle, et un convertisseur analogique-numérique (CAN) la mesure à intervalles réguliers et fournit un nombre binaire.

Deux choix déterminent la qualité des nombres. La fréquence d’échantillonnage fs indique à quelle cadence le CAN mesure, et le nombre de bits N indique avec quelle finesse il découpe sa plage de tension. Ensemble, ils déterminent aussi la quantité de données à stocker ou à envoyer.

Acquisition de données et échantillonnage : comment résoudre les exercices étape par étape ?
  1. Notez les données : fréquence d’échantillonnage, fréquences du signal, nombre de bits, plage d’entrée, débit en bauds.
  2. Pour les questions d’échantillonnage, comparez chaque fréquence à fs/2 ; une fréquence plus élevée apparaît à fa = |f − k·fs|, avec le multiple de fs le plus proche.
  3. Pour les questions de résolution, calculez 1 LSB = VFSR/2ᴺ, ou le plus petit N tel que 2ᴺ ≥ étendue/résolution.
  4. Pour les débits et les liaisons UART, comptez tout ce qui est envoyé : canaux, échantillons par seconde, bits ou octets entiers par échantillon, et bits de start, de parité et de stop de chaque trame.
Acquisition de données et échantillonnage : quelles sont les erreurs fréquentes ?
  • Croire qu’une fréquence supérieure à fs/2 disparaît : elle réapparaît comme un alias dans la bande.
  • Diviser la plage par N au lieu de 2ᴺ.
  • Arrondir le nombre de bits à l’inférieur au lieu du supérieur.
  • Oublier les bits de start et de stop : le format 8N1 envoie 10 bits par octet.
Acquisition de données et échantillonnage : que couvrent les exercices ?
  • Facile: Nyquist, LSB et débits de données
  • Moyen: repliement, bits et trames UART
  • Difficile: harmoniques, RSBQ et conception de système

Chaque exercice a de nouvelles valeurs : vous apprenez la méthode, pas une réponse. Bloqué ? Ouvrez d’abord un petit indice, et l’explication complète seulement si vous en avez besoin.

Comment fonctionne l’entraînement

  • Chaque exercice a de nouvelles valeurs : vous apprenez la méthode, pas une réponse.
  • Bloqué ? Ouvrez d’abord un petit indice, et l’explication complète seulement si vous en avez besoin.
  • Votre progression, vos erreurs et vos exercices enregistrés sont conservés pour que vous puissiez réviser avant l’examen.

Thèmes avant et après celui-ci

À voir d’abord

Cours qui contiennent ce thème

Autres thèmes en Génie électrique

Fiche d’exercices imprimable