cosa è un dac?
DESCRIPTION
Vcc. Vref. output analogico (Vout). D[n-1]. Convertitore D/A. D[n-2]. D[0]. gnd. Cosa è un DAC?. Digital-to-Analog converter dispositivo “mixed signal”: Input digitale (parola a n bit) Output analogico: tensione o corrente. Vcc. Vref. output analogico (Vout). D[n-1]. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/1.jpg)
![Page 2: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/2.jpg)
![Page 3: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/3.jpg)
![Page 4: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/4.jpg)
![Page 5: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/5.jpg)
Cosa è un DAC?
Digital-to-Analog converter dispositivo “mixed signal”:
o Input digitale (parola a n bit)
o Output analogico: tensione o corrente
output analogico (Vout)D[n-1]
VrefVcc
...D[n-2]
D[0]
gnd
Convertitore D/A
![Page 6: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/6.jpg)
La tensione di output è
refnout VnDV2
]0..1[
output analogico (Vout)D[n-1]
VrefVcc
...D[n-2]
D[0]
gnd
Convertitore D/A
![Page 7: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/7.jpg)
Cosa fa esattamente un DAC?
Per un DAC a 3 bit ci sono 8 possibili codici di input
D[2..0] Vout
000 0V 001 1V 010 2V 011 3V 100 4V 101 5V 110 6V 111 7V
output analogico (Vout)D[2]
Vref (8V)Vcc
D[1]D[0]
gnd
Convertitore D/A
![Page 8: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/8.jpg)
Il DAC sulla scheda di laboratorio
REFA, REFB, REFC, REFDTensioni di riferimento fissate a 2.5 V
DACA, DACB, DACC, DACDTensioni di output
VDDLDACDACADACBDACCDACDLOAD
4 DAC in un singolo chip:
1234567
1413121110 9 8
GNDREFAREFBREFCREFDDATADCLK
![Page 9: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/9.jpg)
![Page 10: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/10.jpg)
VDDLDACDACADACBDACCDACDLOAD
1234567
1413121110 9 8
GNDREFAREFBREFCREFDDATADCLK
DATA, LDAC, LOAD, DCLKSegnali di Input per programmare il DAC
configurazione
FPGA
Sono controllati dalla FPGA
![Page 11: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/11.jpg)
![Page 12: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/12.jpg)
![Page 13: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/13.jpg)
DCLK
DATA A1 A0 RNG D7 D6 D5 D4 D3 D2 D1 D0
Il codice digitale a 8 bit viene trasmesso dalla FPGA al DAC in modo seriale tramite la linea DATA assieme a un treno di impulsi di sincronizzazione lungo la linea DCLK
Protocollo di configurazione (circuito da implementare nella FPGA)
Identificatore del DAC:A1A0 = 00 DAC0A1A0 = 01 DAC1A1A0 = 10 DAC2A1A0 = 11 DAC3
Codice digitale (è trasmesso prima il MSB)
RNGVDV refnout 12
]0..7[La tensione di output è
11 impulsi
![Page 14: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/14.jpg)
DCLK
DATA A1 A0 RNG D7 D6 D5 D4 D3 D2 D1 D0
Il codice digitale a 8 bit viene trasmesso dalla FPGA al DAC in modo seriale tramite la linea DATA assieme a un treno di impulsi di sincronizzazione lungo la linea DCLK
Le linee LDAC e LOAD sono usate dal DAC per caricare i bit ricevuti lungo la linea DATA in un registro interno e per aggiornare la tensione di output
LDAC
LOAD
Sempre basso
La tensione di output viene aggiornata con questo impulso
![Page 15: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/15.jpg)
DAC_interface
DCLKDATALDACLOAD
clkres
SW0
Una macchina a stati parte quanto SW0 viene premuto (segnale di inizio configurazione)
oGenera un treno di 11 impulsi DCLKoSuccessivamente genera un impulso LOAD
La linea LDAC è tenuta sempre bassa
La parola in ingresso D[7..0] deve essere serializzata: su ogni fronte di salita di DCLK viene messo un nuovo bit (il primo trasmesso è il MSB)
D[7..0]DAC_interface
A[1..0]
![Page 16: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/16.jpg)
![Page 17: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/17.jpg)
False partenze:1. non va bene generare un segnale largo 11 cicli di clock e usarlo in AND col segnale di clock della FPGA
Questo si chiama “gating” del clock e in generale è meglio evitarlo
![Page 18: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/18.jpg)
![Page 19: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/19.jpg)
Diagramma degli stati corretto ed “elegante” che genera un treno di impulsi attraverso un loop o ciclo
Il numero di cicli è controllato da un contatore che genera un segnale Cout quando ha raggiunto il giusto numero di conteggi (cicli)
Se l’enable del contatore (CNT_EN) è asserito nello stato S0, a quale valore del conteggio il contatore deve generare Cout?
![Page 20: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/20.jpg)
![Page 21: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/21.jpg)
Cambiamo i nomi degli input: DAC[7..0] corrisponde a D[7..0] DAC[8] corrisponde a RNG DAC[10..9] corrisponde a A[1..0]
![Page 22: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/22.jpg)
Esternamente (nel foglio dove posizioniamo il simbolo DAC_INTERFACE) possiamo fare questi collegamenti
![Page 23: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/23.jpg)
Abbiamo ancora il problema che DAC[10..0] deve essere serializzataSu ogni fronte di salita di DCLK deve essere messo un bit lungo la linea DATA
Convertitore parallelo/seriale
DCLK
DATA A1 A0 RNG D7 D6 D5 D4 D3 D2 D1 D0
DAC[10] DAC[9] DAC[8] DAC[7] DAC[6] DAC[5] DAC[4] DAC[3] DAC[2] DAC[1] DAC[0]
![Page 24: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/24.jpg)
Stesso contatore usato dallaMacchina a stati
![Page 25: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/25.jpg)
I bit cambiano sul fronte di discesa di DCLK anzichè su quello si salita
![Page 26: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/26.jpg)
II soluzione:Il clock del contatore che incrementa SEL è DCLK
Qui i bit cambiano su ogni fronte di salita di DCLK
Il problema è che sul primo fronte SEL diventa 1 e appare quindi DAC[9] mentre DAC[9] dovrebbe apparire sul secondo
![Page 27: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/27.jpg)
III soluzione:Cerchiamo di usare uno shift register e facciamo scorrere i bit con DCLK
Questo potrebbe funzionare se i bit DAC[10..0] sono preventivamente caricati nei Flip-Flop prima che arrivi il treno di impulsi DCLK
Problema: come faccio a caricare i FF con i bit?
Quanti FF ci vogliono?
![Page 28: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/28.jpg)
Devo mettere davanti a ogni FF dello shift register un blocco di logica combinatoria con un input LOAD_SHREG che serve a caricare il FF
Per caricare il FF è necessario anche un impulso sull’input di clock del FF?Come posso fare?
LOAD_SHREG potrebbe essere generato modificando la macchina a stati. Come?
![Page 29: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/29.jpg)
Caricamento dei FF tramite l’input PRES dei FF
Un inconveniente è che PRES (come RES) è un input asincrono attivo indipendentemente dal segnale di clock
![Page 30: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/30.jpg)
Vediamo che problemi si potrebbero verificare con input asincroni (N.B. questo è illustrato per i segnali CNT_RES e LOAD, non per il caricamento dei FF)
Assegnamo a ciascuno dei 4 stati il codice indicato nelle bolle
![Page 31: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/31.jpg)
La macchina a stati parte con START_DAC. Nel diagramma temporale sono indicati i due bit dello stato
Nella transizione da STATE[1..0]=01 (S0) a STATE[1..0]=10 (S1) entrambi i bit cambiano, ma non simultaneamente
Per un breve transiente lo stato è STATE[1..0]=11 (S2) e CNT_RES e LOAD vengono asseriti (creando problemi)
![Page 32: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/32.jpg)
Possibile soluzione: facciamo passare CNT_RES e LOAD attraverso un FF.
Poichè il FF campiona il suo input solo sul fronte di salita del clock, il glitch non viene campionato (è filtrato)Ma N.B. L’impulso generato dopo è ritardato così di un ciclo di clock
![Page 33: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/33.jpg)
Altra soluzione: usiamo un codice per gli stati in modo tale che da una transizione all’altra cambi solo un bit per volta
In questo modo non è possibile generare glitch
In ogni caso potrebbe essere sempre preferibile cercare dei codici in cui cambi un solo bit per volta il più possibile
Codice Gray a 2 bit00 0111 10
![Page 34: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/34.jpg)
Tornando al caricamento dei FF è preferibile un caricamento sincrono
Serve un MUX in cui la linea di selezione è LOAD_SHREG
![Page 35: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/35.jpg)
![Page 36: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/36.jpg)
Cosa è un ADC?
Analog-to-Digital Converter dispositivo “mixed signal”:
o Input analogico (tensione o corrente)
o Output digitale: parola a n bit
Input analogico (Vin)
Out[n-1]
VrefVcc
...Out[n-2]
Out[0]
gnd
Convertitore A/D
![Page 37: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/37.jpg)
Può essere considerato un partitore
o L’output ci dice: che frazione di Vref è l’input Vin?
o Output:
VrefVinnOut n2]0..1[
Input analogico (Vin)
Out[n-1]
VrefVcc
...Out[n-2]
Out[0]
gnd
Convertitore A/D
![Page 38: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/38.jpg)
Cosa fa esattamente un ADC?
Per un ADC a 3 bit ci sono 8 possibili codici di output
Input analogico (Vin)
Out[2]
Vref(8V)Vcc
Out[1]Out[0]
gnd
Convertitore A/D
Vin Out[2..0]
0-1 000 1-2 001 2-3 010 3-4 011 4-5 100 5-6 101 6-7 110 7-8 111
Esempio: se Vin=5.5 V e Vref=8 V Out[2..0] = 101
![Page 39: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/39.jpg)
Risoluzione
L’ADC risolve due tensioni diverse se differiscono per più di 1 V producendo due codici diversi
La risoluzione dell’ADC è 1 V (Vref/23)
Input analogico (Vin)
Out[2]
Vref(8V)Vcc
Out[1]Out[0]
gnd
Convertitore A/D
Vin Out[2..0]
0-1 000 1-2 001 2-3 010 3-4 011 4-5 100 5-6 101 6-7 110 7-8 111
Il bit meno significatico (LSB) rappresenta 1 V
![Page 40: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/40.jpg)
La risoluzione di un ADC dipende dal numero di bit e da Vref:
Fissata Vref, maggiore è il numero di bit, migliore è la risoluzione. Se n=8 (anzichè n=3) la risoluzione sarebbe 8/28~31 mV
n
Vref2
La tensione Vref determina il range dinamico dell’ADC
A parità di bit, minore è la tensione Vref, più fine è la suddivisione dell’intervallo Vref(=Vin max)-0 per cui la risoluzione migliora.
Ad esempio, se Vref=0.8 (anzichè 8 V) la risoluzione sarebbe 100 mV. Il miglioramento va però a scapito del range dinamico.
formulazione alternativa: (fissata Vref) la risoluzione di un ADC è il numero di bit.
Risoluzione e range dinamico
![Page 41: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/41.jpg)
ADC trackingDescrizione a grandi linee: il codice a 8 bit di un contatore viene convertito da un DAC in una tensione analogica che viene quindi confrontata con la tensione di input. Il contatore viene incrementato fino a quando la tensione del DAC raggiunge quella in input. A questo punto il conteggio raggiunto dal contatore è il codice richiesto.
![Page 42: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/42.jpg)
Contatore a 8 bit
FPGA
DAC interface
count[7..0]
DCLKDATALDACLOAD
Vanno ai DAC
DAC Vanalog
Vanalog
Vincomp
sm_ADC
CNT_EN
CNT_EN
Start_conv
comparatore
ADC tracking: implementazione
comp
Tensione in ingresso da convertire
![Page 43: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/43.jpg)
Il comparatore (analogico) confronta due tensioni e produce in output un segnale logico:
Se Vin > Vanalog comp = 0Se Vin < Vanalog comp = 1
Collegamento comparatore-ADC
![Page 44: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/44.jpg)
![Page 45: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/45.jpg)
Soluzione alternativa: aspetta che l’interfaccia del DAC asserisca il segnale LOAD che va al DAC
![Page 46: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/46.jpg)
si ripete il ciclo
![Page 47: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/47.jpg)
ADC[7..0] è collegato a due cifre del display
![Page 48: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/48.jpg)
Per un’eventuale nuova conversione
Le macchine a stati vanno disegnate usando verilog
![Page 49: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/49.jpg)
Altri dettagliSi deve impiegare il terzo DAC (CMREF) corrispondente ad A[1..0]=10
Vref dei DAC fissa Vref dell’ADC.Nella scheda Vref = 2.5 V
Il comparatore è un amplificatore operazionale (più dettagli in seguito)
Vin (COM_IN) può provenire da un generatore di tensione tramite un connettore LEMO
![Page 50: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/50.jpg)
Limitazioni dell’ADC tracking
La limitazione principale è che è lento:Poichè il contatore parte sempre da zero, Il tempo di conversione è variabile
Maggiore è Vin maggiore è il tempo di conversione: se Vin = Vref è necessario ripetere il ciclo di incremento del contatore 256 volte!
![Page 51: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/51.jpg)
START_CONV: inizio conversione.
Nel SAR viene caricata la parola 10000000 (solo il MSB = 1)
Se Vin >VD il controllore mantiene MSB a 1 e carica un altro 1 nel bit immediatamente successivo.
Se, invece Vin < VD il controllore pone MSB a 0 e carica un 1 nel bit immediatamente successivo.
La nuova parola viene caricata nel SAR e l'uscita del DAC viene aggiornata.
L’algoritmo descritto per il bit MSB viene ripetuto in modo identico per tutti gli altri bit.
ADC ad approssimazioni successive
![Page 52: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/52.jpg)
Visualizzazione della conversione sul display
![Page 53: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/53.jpg)
![Page 54: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/54.jpg)
Visualizzazione della tensione in decimale
![Page 55: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/55.jpg)
Può essere implementata con una ROM:Input a 8 bit (256 righe di memoria)Output a 12 bit
![Page 56: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/56.jpg)
![Page 57: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/57.jpg)
La variabile temporale In generale i segnali del mondo reale hanno una qualche dipendenza dal tempo
Nel processo di conversione A/D ci interessa ricostruire questa dipendenza dal tempo
Campionamento del segnale
![Page 58: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/58.jpg)
Input analogico Sample
and Hold
L’input analogico non va direttamente all’ADC. Entra prima in un circuito che campiona il segnale a un certo istante e quindi lo tiene congelato per tutto il tempo richiesto dalla conversione
Il campionamento trasforma il tempo da continuo a discreto
ADCOutput digitale
L’ADC trasforma il segnale analogico quantizzato nel tempo in un codice digitale (segnale quantizzato)
![Page 59: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/59.jpg)
Nei sistemi più semplici l’input analogico è collegato direttamente all’ADC
ADCOutput digitale
Questo va bene se il segnale varia nel tempo molto più lentamente del tempo richiesto dall’ADC per effettuare la conversione
Input analogico
In ogni caso, è il tempo di conversione che quantizza il tempo
![Page 60: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/60.jpg)
Errore di quantizzazione della tensione
Al crescere della tensione di input cresce anche l’errore fino a quando cambia il codice
![Page 61: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/61.jpg)
Aggiungiamo un offset pari a 1/2LSB all’input
Abbiamo un errore pari a ±1/2LSB
![Page 62: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/62.jpg)
_
Segnale dopo il S/H
Errore di quantizzazione in un segnale variabile
Output digitale
Errore di quantizzatione
![Page 63: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/63.jpg)
L’errore di quantizzazione appare come un rumore casuale.
La quantizzazione aumenta l’errore casuale del segnale
Caratteristiche di questo rumore:oDistribuito uniformemente nell’intervallo ±1/2LSBoDeviazione standard 1/sqrt(12)LSB=0.29LSB
Esempio:
Segnale analogico di ampiezza massima 1 V con rumore casuale di 1.0 mV
Conversione A/D a 8 bit 1mV = 0.255 LSB
Rumore di quantizzazione = 0.29 LSB
Rumore totale dell’output digitale LSB386.029.0255.0 22
Aumento del 50% del rumore già presente nel segnale
![Page 64: Cosa è un DAC?](https://reader031.vdocuments.pub/reader031/viewer/2022020107/56814556550346895db22757/html5/thumbnails/64.jpg)
L’errore di quantizzazione diminuisce aumentando il numero di bit
La conversione di un segnale anaogico con un ADC a
o8 bit aggiunge un errore rms 0.29/256 ~ 1/900 del valore di fondo scala
o12 bit aggiunge un errore rms 0.29/4096 ~ 1/14000 del valore di fondo scala
o16 bit aggiunge un errore rms 0.29/65536 ~ 1/227000 del valore di fondo scala
Il numero di bit determina la precisione dei dati. La decisione sul numero di bit necessari dipende da:
oQuanto rumore è già presente nei dati
oQuanto rumore può essere tollerato nel segnale digitale