Principes fondamentaux de la résolution d'un convertisseur analogique-numérique
La résolution nominale d'un convertisseur analogique-numérique (ADC) s'exprime en bits et détermine le nombre de niveaux discrets utilisés pour représenter un signal analogique continu. Un convertisseur doté d'une résolution de N bits divise sa plage de tension d'entrée en 2^N niveaux de quantification distincts. Cette segmentation crée une limite fondamentale dans la précision avec laquelle un signal peut être numérisé.
Le calcul de la taille de l'échelon du bit le moins significatif (LSB) dépend directement de la plage de pleine échelle (FSR) et du nombre de niveaux. La plage de pleine échelle est elle-même définie par la tension de référence (Vᵣef) et la configuration de la plage d'entrée:
- Plage unipolaire (0 à Vref): La plage de pleine échelle est égale à la tension de référence (FSR = Vᵣef).
- Plage bipolaire (−Vref à +Vref): La plage de pleine échelle est doublée et s'étend sur deux fois la tension de référence (FSR = 2 × Vᵣef).
Dans un quantificateur idéal, le premier changement de code numérique se produit à la moitié d'un échelon (1 / 2 LSB). L'erreur de quantification maximale théorique est donc limitée à ±1 / 2 LSB. Le bruit de quantification efficace (rms) associé à ce processus de numérisation est modélisé par la formule LSB ÷ √(12).
Formules mathématiques et substitutions détaillées
Pour analyser les performances théoriques d'un ADC, plusieurs équations clés sont appliquées. Le calculateur affiche les substitutions numériques exactes pour chacune de ces formules afin de faciliter la vérification des calculs.
Taille de l'échelon LSB et niveaux de quantification
Le nombre total de niveaux de quantification est calculé par la formule: Niveaux = 2^N
Le code supérieur (la valeur numérique maximale atteignable) est défini par: Code supérieur = 2^N - 1
La taille de l'échelon LSB est obtenue en divisant la plage de pleine échelle par le nombre de niveaux: LSB = FSR / (2^N)
Erreur et bruit de quantification
L'erreur de quantification maximale théorique est définie par: Erreur de quantification max = ±LSB ÷ 2
Le bruit de quantification efficace (rms) est calculé selon le modèle de bruit de quantification en dents de scie: Bruit de quantification (rms) = LSB ÷ √12
Rapport signal sur bruit (SNR) et plage dynamique
Le rapport signal sur bruit idéal pour une onde sinusoïdale pleine échelle sur la bande passante de Nyquist est calculé à l'aide de la formule standard: SNR = 6.02 × N + 1.76 dB
La plage dynamique théorique du convertisseur est directement proportionnelle à sa résolution en bits: Plage dynamique = 6.02 × N dB
Dimensionnement de la résolution
Pour déterminer la résolution minimale requise afin de détecter une variation de tension cible spécifique, la formule suivante est appliquée, avec un arrondi à l'entier supérieur: N ≥ log₂(FSR / pas)
Exemple de calcul concret: ADC 12 bits sous 3,3 V
Pour illustrer l'application de ces formules, prenons l'exemple par défaut du calculateur configuré avec une résolution de 12 bits, une tension de référence de 3,3 V et une plage d'entrée unipolaire.
1. Caractéristiques de base et bruit
- Niveaux de quantification: 2¹² = 4 096 niveaux.
- Code supérieur: 4 096 - 1 = 4 095.
- Plage de pleine échelle (FSR): 3,3 V.
- Taille de l'échelon LSB: LSB = 3,3 V / (4 096) ≈ 805,6641 µV Cette valeur représente environ 0,0244 % de la pleine échelle (soit 244 ppm).
- Erreur de quantification maximale: ±805,6641 µV / 2 ≈ ±402,832 µV
- Bruit de quantification (rms): 805,6641 µV / (√(12)) ≈ 232,5752 µV rms
- SNR idéal: SNR = 6.02 × 12 + 1.76 = 74,01 dB
- Plage dynamique: Plage dynamique = 6.02 × 12 = 72,25 dB
2. Conversion au point de mesure
Si l'on applique une tension d'entrée de 1,65 V (qui se situe exactement à mi-échelle pour une plage de 0 à 3,3 V):
- Calcul du code: code = round(1,65 V / 805,6641 µV) = 2 048
- Représentation du code: Le code de sortie 2 048 correspond à
1000 0000 0000en binaire et à0x800en hexadécimal. - Tension du code: V = 2 048 × 805,6641 µV = 1,65 V
- Erreur de quantification au point de mesure: 1,65 V - 1,65 V = 0 V (l'erreur est nulle car la tension d'entrée tombe exactement sur un seuil de code).
Comportement aux limites et saturation
Le calculateur applique des règles strictes pour modéliser le comportement d'un convertisseur réel face à des tensions hors limites:
- Saturation haute: Si la tension d'entrée dépasse la limite supérieure de la plage (le rail haut), le code de sortie sature au code supérieur (2^N - 1). Le calculateur affiche alors l'avertissement suivant: « L'entrée se situe au-dessus du rail haut: la sortie sature au code supérieur, et l'erreur affichée est le résidu réel — la limite de ±½ LSB ne s'applique plus. ».
- Saturation basse: Si la tension d'entrée descend en dessous de la limite inférieure (le rail bas), le code de sortie sature à 0. L'interface affiche l'avertissement: « L'entrée se situe en dessous du rail bas: la sortie sature au code 0, et l'erreur affichée est le résidu réel — la limite de ±½ LSB ne s'applique plus. ».
- Point médian: Lorsque la tension d'entrée se situe exactement à mi-échelle, le calculateur indique que la moitié de la plage correspond au code médian avec une erreur de quantification nulle.
Différence entre résolution théorique et exactitude réelle
Il est crucial pour les concepteurs de systèmes d'acquisition de données de distinguer la résolution d'un ADC de son exactitude réelle.
La résolution (exprimée en bits) définit uniquement le nombre de subdivisions de la plage d'entrée. Un convertisseur réel est soumis à de nombreuses sources d'erreur non idéales qui dégradent ses performances par rapport aux calculs théoriques présentés ici:
- Non-linéarité intégrale (INL) et différentielle (DNL): Ces paramètres décrivent l'écart entre les transitions de code réelles et les transitions idéales.
- Erreurs de décalage (offset) et de gain: Elles décalent ou étirent la courbe de transfert du convertisseur.
- Bruit et dérive de la tension de référence: La stabilité de la tension de référence affecte directement la taille de chaque échelon LSB. Une dérive thermique ou un bruit important sur la référence réduit l'exactitude globale du système.
- Nombre de bits effectifs (ENOB): En raison du bruit thermique et des distorsions harmoniques, un ADC possède un ENOB inférieur à sa résolution nominale. Par exemple, un ADC de 12 bits peut présenter un ENOB de seulement 10,5 bits en conditions réelles.
Confidentialité et traitement des données
Toutes les opérations mathématiques et les conversions de données sont exécutées localement sur votre appareil. Chaque nombre que vous saisissez reste dans ce navigateur — rien n'est téléversé. Le traitement s'effectue entièrement côté client, garantissant la confidentialité de vos paramètres de conception et de vos valeurs de mesure.
Questions fréquemment posées
Une résolution de 12 bits signifie-t-elle une exactitude de 12 bits?
Non. La résolution correspond uniquement à la largeur du code — la finesse avec laquelle la plage est divisée. L'exactitude est limitée par l'INL et les erreurs de décalage/gain du convertisseur, la tolérance et le bruit de la référence, ainsi que le circuit environnant. C'est pourquoi les fiches techniques indiquent l'ENOB: un SAR de 12 bits offre généralement 10–11 bits effectifs. Le SNR idéal de 74 dB présenté ici est un plafond qu'aucun convertisseur 12 bits réel n'atteint.
Comment une entrée de ±Vref modifie-t-elle les calculs?
La plage double pour atteindre 2 × Vref, de sorte que le même convertisseur résout des échelons deux fois plus larges: LSB = 2 × Vref ÷ 2^N. Les codes s'étendent du rail négatif au rail positif — le code 0 correspond à −Vref, le code médian 2^(N−1) correspond à 0 V, et le code supérieur se situe un échelon en dessous de +Vref. Sélectionnez la plage bipolaire ci-dessus et zéro volt correspondra exactement au code médian.
Pourquoi certaines sources divisent-elles par 2^N et d'autres par 2^N − 1?
Il s'agit de deux modèles différents du même convertisseur. Les fiches techniques et la théorie classique de la quantification définissent le LSB = FSR ÷ 2^N, avec la première transition de code à un demi-échelon — c'est le modèle utilisé sur cette page. La formule Vref ÷ (2^N − 1) provient de l'association du code supérieur exactement à Vref, ce qui est courant dans les tutoriels pour microcontrôleurs. À 12 bits, les deux diffèrent d'environ 0.02%, ce qui est bien inférieur à la tolérance de n'importe quelle référence réelle; veillez simplement à ne pas mélanger les deux lorsque vous vérifiez des chiffres provenant de sources différentes.
Que puis-je faire lorsque la taille de l'échelon est trop grossière?
Le suréchantillonnage et le moyennage permettent de gagner en résolution lorsque le signal comporte un peu de bruit: moyenner 4× plus d'échantillons permet de gagner environ un bit effectif, et 16× permet d'en gagner deux, à condition que le bruit soit blanc et non corrélé — un signal parfaitement propre et parfaitement stable ne fait que répéter le même code. Au-delà, passez à un convertisseur doté de plus de bits ou ajoutez un étage à gain programmable pour que le signal occupe une plus grande partie de la plage.