A/D dynamic test
A.C. Neve – ITIS “E.Fermi” Lecce
I comportamenti dei sistemi elettronici in regime statico e dinamico risultano spesso così diversi
tra loro tanto da renderne problematico l’utilizzo in molte applicazioni.
La definizione e misura di molti parametri statici può spesso dare l’impressione di poter disporre
di un buon sistema per il trattamento dei segnali.
Nell’utilizzo reale, cioè in condizioni dinamiche, si vengono purtroppo a determinare dei
comportamenti che risultano ben diversi da quelli attesi o dalle specifiche di progetto richieste.
L’incremento di complessità di questi sistemi, rende ancor più problematico il loro controllo ed il
relativo utilizzo come nel caso dei sistemi di conversione dati (A/D).
Un perfetto convertitore A/D dovrebbe essere in grado di fornire una accurata digitalizzazione
del valore che un segnale assume nell’istante di campionamento.
Gli errori che intervengono in regime dinamico sono causati da diversi fattori quali il tempo di
risposta, il settling time e lo slew rate dei dispositivi analogici usati come pure l’incertezza di
apertura (jitter), i codici errati e le non linearità.
Tutti questi fattori concorrono all’insorgere di distorsioni nelle forme d’onda acquisite e quindi, in
errori nell’interpretazione delle informazioni associate.
Risulta pertanto necessario lo sviluppo di tecniche efficienti ed affidabili per il loro rilevamento e
che siano in grado di garantire un buon livello di significatività della misura stessa.
Tra i vari test oggi disponibili, i più diffusi risultano:
il beat frequency testing, l'istogram plot, il sine wave curve fitting e l'FFT plot.
In tutti questi test, il convertitore viene sollecitato con un segnale sinusoidale sia perché
risulta facilmente generabile e con elevata accuratezza, sia perché il suo spettro è
costituito da una singola riga.
Il segnale sinusoidale utilizzato deve necessariamente possedere un elevato grado di
purezza e stabilità, una ampiezza pari al fondo scala dell'A/D in esame ed una frequenza
definibile con grande precisione.
Questi parametri devono poter essere adeguatamente calibrati anche in funzione delle
prestazioni esprimibili dall'A/D sotto test.
Le stesse considerazioni sono ovviamente valide anche per il segnale di campionamento
usato per pilotare l'A/D.
E' consigliabile ricorrere sempre all'uso di generatori sintetizzati i quali sono in grado di
fornire le necessarie garanzie di precisione e stabilità ed eventualmente interporre un
filtro passa basso ad elevata pendenza per attenuare ulteriormente le eventuali
componenti armoniche o segnali indesiderati che possono presentarsi all'ingresso
dell'A/D.
L'uscita dell'A/D fornirà, nel tempo, dei record di dati rappresentativi della codifica del
segnale di ingresso, questi record di dati verranno usati come input per un opportuno
sistema di elaborazione dotato di ben precise caratteristiche hardware-software e
generalmente appartenente alla classe dei microcomputer detti Digital Signal
Processing.
A.C. NEVE – A/D dynamic test
1
Beat frequency test
Questo test fornisce in modo semplice e rapido un'informazione complessiva sulla
qualità dell'A/D in esame non comprensiva però degli errori di offset e di guadagno.
Nella Fig. 1 è visibile uno schema applicativo di questo test.
Il segnale di ingresso dovrà essere in grado di sottoporre l'A/D a delle condizioni
estremali di funzionamento in termini di livelli e velocità, l'uscita verrà poi ricostruita e
visualizzata in real time con l'ausilio di un D/A.
La frequenza del segnale di ingresso dovrà risultare di valore leggermente superiore a
quella del segnale di campionamento, in tal modo la frequenza del segnale ricostruito in
uscita sarà pari alla differenza (∆f) tra le due e quindi molto bassa come si può osservare
dalla Fig. 2, questa soluzione crea anche minori difficoltà nella selezione del D/A.
Fig. 1 – Schema a blocchi del sistema di test
Fig. 2 – Segnali relativi al beat frequency test
Qualsiasi deviazione dell'uscita dalla forma d'onda sinusoidale, sarà indice di presenza
di errori nell'A/D.
Codici errati saranno visualizzati come discontinuità localizzate o come espansioni del
tempo di permanenza di un certo codice.
A.C. NEVE – A/D dynamic test
2
E' opportuno che il processo di acquisizione renda disponibili diversi rilevamenti per
ognuno dei possibili codici dell'A/D in modo da evitare l'insorgere di problemi con il
D/A e rendere più efficiente la visualizzazione.
Affinché ciò sia possibile, è opportuno che la differenza ∆f tra le due frequenze fg=1/Tg
ed fs=1/Ts risulti adeguatamente contenuta.
Il massimo valore assumibile da ∆f può essere determinato richiamando il concetto di
aperture time, il suo legame con la risoluzione dell'A/D e con la frequenza stessa del
segnale di ingresso.
Per poter garantire che ogni codice sia rilevato almeno una volta è necessario che la
differenza tra il periodo del segnale sinusoidale e quello del segnale di campionamento
non sia superiore al valore del tempo di apertura associato a quelle condizioni di
acquisizione o, equivalentemente che, la differenza di livello del segnale tra due
successivi campioni non sia superiore ad 1 LSB nel punto di massima pendenza.
Si ha quindi che:
SLOPE =
∆t =
∆V
d 1
Vpp
Vpp ⋅π
= ( ⋅Vpp ⋅sin( 2⋅π ⋅ fg )
=
⋅ 2 ⋅ π ⋅ fg =
∆t
dt 2
Tg
2
t =0
Vpp
2n
∆V
Tg
=
=
SLOPE Vpp ⋅ π 2 n ⋅ π
Tg
∆f = fg − fs =
∆f =
∆t
1
1
−
=
=
Tg Tg + ∆t Tg ⋅ (Tg + ∆t )
Tg
2n ⋅π
Tg ⋅ (Tg +
Tg
)
2n ⋅π
=
1
Tg ⋅ (1 + 2 n ⋅ π )
fg
fg
≈
1 + 2n ⋅π 2n ⋅ π
Per es., facendo uso di un segnale sinusoidale con frequenza di 5 MHz ed un A/D a 12
bit, il massimo valore di ∆f sarà di circa 380 Hz.
Esempi di calcolo delle frequenze di campionamento
A.C. NEVE – A/D dynamic test
3
Esiste poi una seconda versione di questo test chiamata envelope test.
In questo caso, il segnale di ingresso sarà costituito da una sinusoide avente ampiezza
pari al fondo scala e frequenza di poco superiore alla metà della frequenza del segnale
di campionamento e cioè: fg = ∆f + fs/2.
In queste condizioni l'uscita del D/A può essere considerata come costituita da due
sinusoidi in opposizione di fase e con frequenza ∆f.
Durante l'esecuzione del test, in alcuni casi si può verificare che due successivi
campioni risultino agli estremi dei possibili codici dell'A/D, come nei punti A e B della
Fig. 3, e quindi ottenere significative informazioni circa il comportamento dell'A/D in
alta velocità e, più specificatamente, sul suo settling time; tale indagine non è
espletabile con il test precedente in quanto tutti i campioni risultano avere dei valori tra
loro alquanto prossimi.
Fig. 3 – Segnali relativi all’envelope test
Per ottenere una corretta visualizzazione della forma d'onda è necessario apportare una
leggera modifica all'hardware in modo che soltanto una delle due fasi contribuisca alla
ricostruzione del segnale per mezzo del convertitore D/A di uscita.
A.C. NEVE – A/D dynamic test
4
Histogram plot
Questo test è in grado di fornire utili informazioni sul grado di non linearità
differenziale presentato dall'A/D, sui suoi eventuali codici errati, sull'errore di offset e di
guadagno; non è possibile ottenere informazioni sui parametri dinamici dell'A/D in
esame.
La presenza di picchi di discontinuità nel grafico, è indice di una certa non linearità
differenziale mentre l'assenza di rilevamenti, è indice di presenza di codici errati.
Il test consiste nel campionare in modo random il segnale sinusoidale di ingresso
rilevando un numero di campioni statisticamente significativo e con questi costruire il
diagramma della funzione densità di probabilità ( FDP ), un diagramma cioè che riporti
i valori della frequenza con la quale ogni codice si è verificato in funzione dei possibili
codici.
Il test viene sempre condotto nelle condizioni estremali di funzionamento consentite
dall'A/D sotto misura. E’ anche necessario che la frequenza del segnale di ingresso non
risulti in alcun modo correlata con la frequenza del segnale di campionamento, e cioè
non siano in relazione di multipli o sottomultipli ne legate da divisori comuni.
Nel caso ideale, Fig. 4, il risultato dovrebbe fornire la ben nota funzione di densità di
probabilità di un segnale sinusoidale:
P(v) =
1
π ⋅ V p2 − v 2
con Vp valore di picco della sinusoide.
Nel caso reale, la curva (istogramma) presenta generalmente dei picchi o degli
avvallamenti i quali sono indicativi di un allargamento o una riduzione dell'intervallo
decisionale corrispondente a quel livello di tensione; si rammenta che per un A/D
avente un fondo scale di Vfs volt e risoluzione di n bit, ogni intervallo decisionale
dovrebbe avere una ampiezza costante pari a Vfs/2n volt.
Nella Fig. 5 è visibile l'istogramma relativo ad un A/D commerciale che presenta diversi
punti con elevata non linearità differenziale e dei codici mancanti.
L'entità della non linearità differenziale è espressa dalla relazione:
Diff. NL =
Prob. reale ( codice )
− 1
Prob. ideale( codice )
dipende quindi dal rapporto tra la probabilità reale ed ideale relativa ad uno dei 2n
possibili codici; la probabilità reale è data dal rapporto tra il numero di eventi relativi ad
un certo codice Nc ed il numero totale di campioni rilevati,
P.reale(Nc) =
Nc
NTotSample
A.C. NEVE – A/D dynamic test
5
Fig. 4 – FDP per un segnale sinusoidale
Fig. 5 – Histogram plot per un A/D ad n bit
A.C. NEVE – A/D dynamic test
6
La probabilità ideale è invece data dall'integrale della funzione di probabilità di una
sinusoide relativamente ad un certo codice Nc e risulta:
P.ideale(Nc) =
(
)
(
n −1
1  −1 Vfs ⋅ Nc − 2 n −1 
−1 Vfs ⋅ Nc − 1 − 2
⋅ sen 
−
sen


π 
Vp ⋅ 2 n
Vp ⋅ 2 n



) 


Particolarmente importante è il numero di campioni necessari per ottenere un
istogramma con un soddisfacente grado di attendibilità statistica, per A/D con
risoluzione di 8 o 10 bit sono necessari da centomila ai trecentomila campioni, mentre
per A/D con risoluzione di 16 o 18 bit possono anche essere necessari da dieci milioni a
cinquanta milioni di campioni.
Curve fitting
Questo test è in grado di fornire una quantificazione complessiva delle prestazioni
dell'A/D attraverso la misura di un parametro chiamato numero di bit effettivi.
Le sorgenti di errore rilevabili sono attribuibili a varie forma di non linearità quali
distorsione armonica, incertezza di apertura e rumore.
Per contro, non consente la determinazione dell'ampiezza di banda e degli errori di
offset, di guadagno e di fase.
Il test si sviluppa attraverso l'elaborazione di un record di dati ottenuto dal
campionamento del solito segnale sinusoidale applicato all'ingresso dell'A/D.
L'elaborazione consiste nel rigenerare via software il segnale sinusoidale di ingresso
attraverso il best fit del record dei dati.
La differenza tra i valori ottenuti con l'acquisizione del record e quelli della sinusoide
ricostruita attraverso il best fit, rappresenta l'errore residuo descritto in Fig. 6.
La deviazione standard dell'errore così calcolato è poi rapportata all'errore ideale
previsto per l'A/D sotto misura.
Se l'errore riscontrato è più elevato di quello ideale, si può ritenere che il numero di bit
con i quali l'A/D converte è inferiore a quello in effetti dichiarato nelle specifiche.
Il numero di bit effettivi viene definito per mezzo della seguente relazione:
 Errore RMS reale 
Neff. = n − lon 2 
 con n = risoluzione dell A/D
 Errore RMS ideale 
L'errore RMS ideale è dato dall'errore di quantizzazione già in precedenza discusso e
pari a Q/ ( 2 ⋅ 3 ) , con Q che rappresenta l'ampiezza dell'intervallo decisionale
dell'A/D ( Q=Vfs/2n ) ed n pari alla risoluzione dell'A/D.
L'errore RMS reale è invece dato dall'espressione:
Err. RMS reale =
M
∑ [x − V
i
p
⋅ cos(ω ⋅ ti + P ) − C ]
2
i=1
A.C. NEVE – A/D dynamic test
7
Fig. 6 – Errore residuo nel test di curve fitting
con xi e ti che rappresentano il valore e l'istante associato ad ogni campione del record,
Vp, ω, P e C rispettivamente l'ampiezza, la frequenza, la fase e l'offset della sinusoide
ricostruita ed M il numero complessivo di campioni del record.
Variando opportunamente le condizioni di esecuzione del test, è possibile ottenere
anche delle informazioni sugli errori dovuti all'incertezza di apertura ed alla distorsione
armonica.
FFT plot
L'FFT plot è il più diffuso e significativo dei test dinamici oggi disponibili, esso è usato
per caratterizzare le prestazioni di un A/D nel dominio della frequenza e non è in grado
di fornire informazioni sugli errori di offset e di guadagno.
Come al solito, il test è condotto con un ingresso sinusoidale avente ampiezza pari al
fondo scala.
Idealmente, lo spettro dovrebbe essere costituito da una singola riga spettrale, in realtà
l'operazione di campionamento e conversione, attraverso le quali si perviene al calcolo
della FFT, introduce sostanziali differenze.
La trasformata discreta di Fourier è definita dalla seguente relazione:
− J ⋅ 2⋅ π ⋅
1 N −1
⋅ ∑ g(n) ⋅ e
G(fk) =
N n=0
k ⋅n
N
con k indice di frequenza, n indice di campione ed N numero di campioni del record pari
ad una potenza di due.
Lo spettro così ottenuto risulterà discreto in quanto il segnale di ingresso è periodico e
poi limitato in frequenza nell’intervallo 0÷fs/2 in quanto il segnale stesso è campionato
ad intervalli ∆t corrispondenti ad una frequenza di campionamento fs = 1/∆t.
A.C. NEVE – A/D dynamic test
8
L'operatore trasformata discreta di Fourier richiede un record di dati i cui estremi si
raccordino con continuità matematica o, equivalentemente, che il record contenga un
numero intero di periodi della funzione di ingresso.
Non sempre però ciò si verifica e le discontinuità estremali del record introducono un
errore detto leakage.
L'errore di leakage può essere ridotto moltiplicando il record dati per una funzione di
durata pari a quella del record e di andamento tale da lasciare inalterato il record nella
sua parte centrale ma azzerandolo agli estremi ed imponendone così la continuità
cercata.
L'operazione descritta è meglio nota col nome di windowing (finestratura). Si noti che
in generale l'operazione di finestratura introduce comunque una piccola riduzione
dell'ampiezza dello spettro la quale è certamente tollerabile pur di ridurre l'entità del
leakage che renderebbe lo spettro incomprensibile e quindi inutilizzabile.
Diversi sono i tipi di finestre utilizzabili ed ognuna con delle caratteristiche che le
rendono più efficienti a secondo dei casi, le più note sono quella di Hanning, di
Hamming, di Kaiser Bessel e di Blackman Harris.
E' ovvio che la situazione ottimale sarebbe quella di ottenere un record dati continuo ed
evitare così il processo di finestratura.
Una volta fissata la lunghezza del record ed il valore della frequenza di campionamento,
tale condizione si ottiene assegnando alla frequenza della sinusoide di ingresso un
valore tale che il record contenga un numero intero di periodi.
Un metodo pratico è il seguente:
si fissano la frequenza di campionamento fs e la lunghezza N del record, si assegna poi
alla frequenza del segnale un valore, fappr., pari a quello desiderato ma non definitivo
in quanto è da considerarsi approssimativo.
Fig. 7 – FFT plot di un A/D a 10 bit
Si moltiplica per N il rapporto fappr./fs e si arrotonda il risultato al più vicino intero
dispari. Indicando con M questa quantità, la frequenza effettiva da assegnare al segnale
di ingresso è data dal prodotto tra M ed il rapporto fs/N, quindi:
feff. =

fs
fappr. 

⋅ Int. Disp.  N ⋅
N
fs 

A.C. NEVE – A/D dynamic test
9
per es. ponendo fs = 500.000000000 KHz, N = 16384 ed fappr. = 20 KHz si ottiene feff.
= 19.989013671 KHz.
La tecnica appena descritta non è certamente difficile da implementare in quanto in fase
di collaudo di un A/D, si dispone sempre di strumentazione ad elevate prestazioni.
E' ben noto che un processo di campionamento operato a frequenza fs rende disponibile
uno spettro il cui contenuto informativo si estende fino alla frequenza fs/2, se il segnale
acquisito contenesse componenti spettrali superiori ad fs/2, queste verrebbero ripiegate
indietro nell'intervallo 0÷fs/2 causando così errore di aliasing.
Nella Fig. 7 è visibile lo spettro di uscita di un A/D a 10 bit di buona qualità e pilotato
con un segnale di frequenza molto inferiore a quella di campionamento.
Si può notare la presenza di rumore dovuto all'errore di quantizzazione il cui valore è
pari a: SNR = (6.02⋅n + 10.8)dB. Più elevata è la risoluzione, più piccolo sarà l'errore di
quantizzazione e quindi più basso il livello medio di rumore.
Nella Fig. 8 è invece visibile lo spettro dell'uscita di un A/D a 16 bit pilotato con un
segnale avente ancora frequenza molto inferiore a quella di campionamento ed affetto
da una leggera non linearità la quale è evidenziata dalla presenza di armoniche a
frequenza multipla della fondamentale ed ampiezza sufficientemente contenuta.
Nella Fig. 9 è infine visibile lo spettro dell'uscita dello stesso convertitore pilotato però
con un segnale di frequenza molto prossima a quella di campionamento, si può notare
che le componenti a frequenza multipla della fondamentale sono state ripiegate
all'indietro con valori più bassi della fondamentale stessa.
Questo fenomeno viene tollerato ed adeguatamente gestito, per poter effettuare misure
alle frequenza limite.
In questo caso la scelta della frequenza del segnale di ingresso dovrebbe essere tale da
evitare l'addensamento delle varie righe spettrali intorno alla fondamentale e
consentirne un suo chiaro rilevamento.
Il comportamento ora descritto è dovuto al fenomeno dell'intermodulazione che si
verifica quando due segnali vengono ad interagire in un sistema non lineare (come il
S/H) e produce sull'uscita dei prodotti di intermodulazione dovuti a somma e differenza
tra le varie armoniche dei segnali interagenti.
La distorsione di intermodulazione, DIM, è definita come:
DIM = 10 ⋅ log
Somma dei valori eff. di IM (fino al 3° ordine)
Valore eff. del segnale utile
Nella tabella seguente sono riportati i valori assunti dalle varie armoniche per un
segnale campionato con fs = 2MHz:
Fondamentale
2° armonica
3° armonica
4° armonica
5° armonica
6° armonica
7° armonica
980 KHZ
40 KHz
940 KHz
80 KHZ
900 KHz
120 KHZ
860 KHz
950
100
850
200
750
300
650
KHz
KHz
KHz
KHz
KHz
KHz
KHz
900
200
700
400
500
600
300
KHz
KHz
KHz
KHz
KHz
KHz
KHz
850 KHz
300 KHz
550 KHz
600 KHz
250 KHz
900 KHz
50 KHz
Prodotti di intermodulazione
A.C. NEVE – A/D dynamic test
10
Fig. 8 – FFT di un A/D commerciale a 16 bit
Fig. 9 – Aliasing nella FFT di un A/D a 16 bit
Gli effetti combinati dell'errore di quantizzazione, della distorsione armonica, di segnali
spuri che possono interagire col sistema di misura e di eventuali fenomeni di
intermodulazione, possono agire sul valore del rapporto segnale rumore e
sull'andamento dello spettro di frequenza dell'A/D.
Un valore del rapporto segnale rumore inferiore a quello ideale è certamente indicativo
della presenza di errori nell'A/D.
A.C. NEVE – A/D dynamic test
11
Fig. 10 – FFT di un A/D a 10 bit con alta non linarità
Nella Fig. 10 è visibile il risultato di una FFT su un A/D ad 8 bit affetto da una elevata
non linearità complessiva.
Per ottenere una FFT significativa è necessario curare opportunamente alcuni delicati
aspetti:
il record dati dovrebbe avere una lunghezza non inferiore a 1024÷2048 per A/D con
bassa risoluzione, fino a 65536 per A/D ad alta risoluzione in modo da garantire che,
tutti i possibili codici siano testati e venga contenuta la generazione complessiva di
rumore, si può infatti osservare una riduzione del rumore di 3 dB per ogni duplicazione
della lunghezza del record.
Per risoluzioni medio basse, i tradizionali sistemi di calcolo a 32 bit con aritmetica in
floating point possono ancora risultare soddisfacenti ma per alti valori di risoluzione, al
fine di poter preservare l'ampio range dinamico disponibile, sono consigliati sistemi di
calcolo a 64 bit con coprocessore matematico e supportati da compilatori efficienti ed
algoritmi di calcolo ottimizzati e veloci.
La tabella successiva propone una sintesi dei test descritti.
A.C. NEVE – A/D dynamic test
12
Errore
Histogram plot
FFT plot
Si
–
Presenza
di
Si
–
Presenza
di
Non linearità
spikes
su
alcuni
elevato
rumore
di
Differenziale
Si – Elevato valore
di errore RMS
Curve fitting
Si
Beat frequency
Missing code
Si – Elevato valore
di errore RMS
Si
Si – Elevato valore
di errore RMS
Si
Si – Elevato valore
di errore RMS
No
codici
Si – Presenza di
codici a conteggio
nullo
Si – Misurabile con
una rampa lineare
fondo
Si – Presenza di
elevato rumore di
fondo
Si – Presenza di
armoniche
Rumore
No
Si – Elevato valore
di errore RMS
No
Ampiezza
di banda
Errore di
guadagno
Errore di
offset
No
Si – Presenza di
elevato rumore di
fondo
Si – Presenza di
elevato rumore di
fondo
No
No
Si
Si
No
No
No
Si
No
No
No
Non linearità
integrale
Incertezza di No
apertura
Bibliografia
1) J.Sherwin - Specifing A/D and D/A convert - Application Note 156
National Semiconductor Co. 1976.
2) Hnatek - A user's handbook of A/D and D/A converts Ed J. Wiley & Sons
3) D.F. Hoeschele - Analog to digital and digital to analog conversion tecniques –
Ed. J. Wiley & Sons.
4) D.H. Sheingold - Analog digital conversion notes by Engineering Staff of Analog Devices Inc.
5) E. Zuch - Data acquisition and conversion handbook - 1979
Ed. Datel Sys. Inc.
6) The handbook of linear I.C. applications - 1987 - Burr Brown Co.
7) Fundamentals of Sampled Data System – AN 282 – Analog Devices
8) Dynamic performance testing of A to D converts Product Note 5180A-2 - Hewlett Packard.
9) Peetz Neil Muto - Measuring waveform recorder performance Hewlett Packard Journal - Nov. 1982 p21.
10) The fundamentals of signal analysis Hewlett Packard - Application Note 243 - Feb. 1985.
11) Dynamic tests for A/D convert performance Burr Brown - Application Note AN 133 - 1985.
12) An introduction to the Samplig Theorem – AN236 – National Semicon.
13 A.C. Neve – Introduzione al digital signal processing –
Ed. Schonenfeld &Ziegler (Mi) - 2002
A.C. NEVE – A/D dynamic test
13