Campionamento, aliasing e sample and hold
In questa pagina 4
Un µC o un DSP lavora su sequenze di numeri, non su segnali continui. Il passaggio dal segnale ai numeri avviene con il campionamento (e con la quantizzazione dell'ADC: ADC e DAC - risoluzione, SNR, ENOB ed erroriUn convertitore a $n$ bit con fondo scala $FSR$ ha risoluzione $LSB=FSR/2^n$; il codice vale $C=\mathrm{round}(V/LSB)$ e la tensione corrispondente è $V=C\cdot LSB$ con incertezza $\pm\frac12LSB$ (errore di quantizzazione). Con un modello a rumore uniforme di potenza $LSB^2/12$ il SNR di una sinusoide a fondo scala è $6{,}02,n+1{,}76$ dB; dal SNR misurato si ricava il numero di bit efficaci $ENOB=\frac{SNR-1{,}76}{6{,}02}$. Gli errori reali (offset, guadagno, INL, DNL, missing code) abbassano l'accuratezza. Accuratezza ≠ precisione: alta accuratezza implica alta precisione, non viceversa.ADC e DAC - risoluzione, SNR, ENOB ed errori →). Questa nota studia il campionamentoregistrazione dei valori di una grandezza analogica a istanti periodici: cosa si perde, quando si perde, come si protegge il segnale.
Campionamento e teorema di Shannon
Il campionamento registra i valori di una grandezza analogica in istanti determinati. Per i µC e DSP interessa quello periodico e uniforme, con periodo (frequenza ): si ottengono i campioni .
Teorema di Shannon (anni '50). Se lo spettrodistribuzione in frequenza delle componenti di un segnale di è nullo al di sopra di una frequenza [Hz], allora si ricostruisce esattamente dai suoi campioni se , cioè se La formula di ricostruzione è con : il segnale e la sua versione campionata (secondo la regola) contengono la stessa informazione. La frequenza è la frequenza di Nyquist; è il limite di Nyquist per la frequenza di campionamento.
Matematicamente il campionamento è la moltiplicazione di per un treno di impulsi di Dirac a ; nel dominio della frequenza vuol dire ripetere lo spettro attorno ai multipli interi di (repliche in ). Se le repliche non si sovrappongono e basta un filtro passa-basso (taglio alla frequenza di Nyquistmetà della frequenza di campionamento) per recuperare : nel caso limite il filtro necessario è quello con risposta in frequenza rettangolare.
Aliasing
Se le repliche dello spettro si sovrappongono: nel segnale ricostruito compaiono componenti non presenti nell'originale (ripiegamento in banda base). Si parla di aliasing. Gli errori possono essere pesantissimi. Una sinusoide a frequenza campionata a viene interpretata come una sinusoide a .
Grafico interattivo: Aliasing: la sinusoide a frequenza f = 1 campionata a 1,25 (punti) ha gli stessi campioni di una sinusoide a 0,25 (a segno invertito): dai campioni si ricostruisce la frequenza sbagliata
Per evitarlo i sistemi di acquisizione hanno in ingresso un filtro anti-aliasing: un passa-bassofiltro che lascia passare le basse frequenze e attenua le alte con frequenza di taglio (può essere di ordine elevato per attenuare rapidamente le componenti oltre ). Il suo progetto è tanto meno critico quanto più è grande rispetto alla banda dei segnali: il rapporto è il fattore di sovracampionamento.
Quando l'aliasing è utile. Nei sistemi controllati in PWM le grandezze campionate hanno armoniche alla frequenza di modulazione: campionare a viola Shannon, ma l'aliasingsovrapposizione delle repliche dello spettro, che fa comparire frequenze non presenti nel segnale originale risultante porta quelle armoniche a frequenza zero, cioè estrae il valore medio (demodulazione implicita), purché si campioni sincronizzati alla portante (PWM e ADC - ritardo di risposta e sincronizzazioneUn modulatore PWM digitale ritarda la risposta: il duty-cycle si aggiorna una volta per periodo (al massimo si attende $T_{PWM}$; $T_{PWM}/2$ se si aggiorna a ogni semiperiodo). Perciò il controllo digitale deve avere banda ben sotto $f_{PWM}$ (cross-over $\lesssim f_{PWM}/10$, margine di fase $\ge60^\circ$). Si campiona di solito a $f_c=f_{PWM}$: viola Shannon, ma se l'ADC è sincronizzato con la portante (trigger dal timer PWM) l'aliasing estrae il valor medio, senza ripple. Il campionamento va fatto a metà del tempo di ON (leading edge: $\frac{DT}2$, in generale a metà dell'impulso) o al picco/valle del contatore (PWM simmetrica).PWM e ADC - ritardo di risposta e sincronizzazione →).
Campionamento non ideale e sample and hold
Un campionamento a impulsi ideali non è realizzabile: si usa un circuito sample and hold (S/H), che genera rettangoli di durata con ampiezza pari a quella del campione ideale. Lo spettro del segnale così campionato è distorto da un fattore di tipo : per ricostruire esattamente il segnale non basta più il passa-basso ma serve anche un equalizzatorefiltro che compensa una distorsione di risposta in frequenza nota che compensi la distorsione (che è nota). Gli effetti sono rilevanti solo se la banda del segnale è prossima alla frequenza di Nyquist.
Perché serve il S/H. Durante la conversione A/D il segnale non deve variare in modo significativo. Esempio: sinusoide da 5 V picco-picco (ampiezza V) su un ADC a 10 bit con FSR 5 V, mV. La variazione tollerabile nel tempo di conversione è LSB mV: la pendenza massima è , quindi mV. Con s (frequenza di Nyquist del convertitore 250 kHz) si ottiene Hz: solo 77,7 Hz contro 250 kHz. Con il S/H il segnale è costante durante la conversione.
Circuito. Un interruttore MOSFETtransistore a effetto di campo usato come interruttore comandato da carica una capacità alla tensione di ingresso (una tensione di comando , la velocità di carica cresce con l'overdrive); quando il MOSFET si spegne, la carica su mantiene (ma non indefinitamente). Non idealità:
- charge injectioniniezione di carica sulla capacità di hold dovuta alle capacità parassite del MOSFET: le capacità parassite e iniettano carica su durante le transizioni di e durante l'hold (al variare di ); si riduce con grande (a spese della velocità);
- drooplenta variazione della tensione mantenuta, dovuta alle correnti di dispersione: la corrente di leakage del MOS e la corrente di bias dell'operazionale scaricano durante l'hold, più a bassa frequenza di campionamento;
- ritardi (delay), jitter del comando, limite di slew-ratemassima velocità di variazione dell'uscita di un amplificatore nella carica (si usa uno stadio con retroazione e un inseguitore bipolare per fornire la corrente).
Errori comuni
- Dire che basta sempre: serve con un filtro reale e un margine (sovracampionamentocampionamento a una frequenza molto maggiore del minimo di Shannon).
- Mettere il filtro anti-aliasingfiltro passa-basso posto prima del campionatore per eliminare le componenti oltre la frequenza di Nyquist dopo il campionatore: serve prima, altrimenti l'aliasing è già avvenuto.
- Confondere frequenza di Nyquist () e limite di Nyquist ().
- Pensare che l'aliasing si possa correggere via software dopo il campionamento.
Versione ripasso
- Shannon: per ricostruire; Nyquist: ; lo spettro campionato è replicato ogni ; ricostruzione con passa-basso.
- Aliasing: se le repliche si sovrappongono ( a → ); filtro anti-aliasing () prima dell'ADC; sovracampionamento .
- S/H: campioni rettangolari (distorsione sinc, equalizzatore); necessario perché il segnale non cambi durante la conversione ( LSB: 77,7 Hz con 10 bit e 2 µs). Non idealità: charge injection, droop, delay, jitter, slew-rate.
- Utile: campionamento sincrono a = media (PWM e ADC - ritardo di risposta e sincronizzazioneUn modulatore PWM digitale ritarda la risposta: il duty-cycle si aggiorna una volta per periodo (al massimo si attende $T_{PWM}$; $T_{PWM}/2$ se si aggiorna a ogni semiperiodo). Perciò il controllo digitale deve avere banda ben sotto $f_{PWM}$ (cross-over $\lesssim f_{PWM}/10$, margine di fase $\ge60^\circ$). Si campiona di solito a $f_c=f_{PWM}$: viola Shannon, ma se l'ADC è sincronizzato con la portante (trigger dal timer PWM) l'aliasing estrae il valor medio, senza ripple. Il campionamento va fatto a metà del tempo di ON (leading edge: $\frac{DT}2$, in generale a metà dell'impulso) o al picco/valle del contatore (PWM simmetrica).PWM e ADC - ritardo di risposta e sincronizzazione →).
- Errori: sempre bastante; filtro dopo; Nyquist scambiati; correggere dopo (ADC e DAC - risoluzione, SNR, ENOB ed erroriUn convertitore a $n$ bit con fondo scala $FSR$ ha risoluzione $LSB=FSR/2^n$; il codice vale $C=\mathrm{round}(V/LSB)$ e la tensione corrispondente è $V=C\cdot LSB$ con incertezza $\pm\frac12LSB$ (errore di quantizzazione). Con un modello a rumore uniforme di potenza $LSB^2/12$ il SNR di una sinusoide a fondo scala è $6{,}02,n+1{,}76$ dB; dal SNR misurato si ricava il numero di bit efficaci $ENOB=\frac{SNR-1{,}76}{6{,}02}$. Gli errori reali (offset, guadagno, INL, DNL, missing code) abbassano l'accuratezza. Accuratezza ≠ precisione: alta accuratezza implica alta precisione, non viceversa.ADC e DAC - risoluzione, SNR, ENOB ed errori →).