Salta al contenuto
Note per Studenti Campionamento, aliasing e sample and hold

Campionamento, aliasing e sample and hold

In questa pagina 4
** tiene il segnale costante durante la conversione. -->

Un µC o un DSP lavora su sequenze di numeri, non su segnali continui. Il passaggio dal segnale s(t)s(t) 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 TcT_c (frequenza fc=1/Tcf_c=1/T_c): si ottengono i campioni s(kTc)s(kT_c).

Teorema di Shannon (anni '50). Se lo spettrodistribuzione in frequenza delle componenti di un segnale di s(t)s(t) è nullo al di sopra di una frequenza BWBW [Hz], allora s(t)s(t) si ricostruisce esattamente dai suoi campioni se Tc≤12BWT_c\le\frac1{2BW}, cioè se fc≥2 BW.f_c\ge2\,BW . La formula di ricostruzione è s(t)=∑ks(kTc) sinc ⁣(πfc(t−kTc))s(t)=\sum_ks(kT_c)\,\mathrm{sinc}\!\big(\pi f_c(t-kT_c)\big) con sinc(x)=sin⁡x/x\mathrm{sinc}(x)=\sin x/x: il segnale e la sua versione campionata (secondo la regola) contengono la stessa informazione. La frequenza fc/2f_c/2 è la frequenza di Nyquist; 2 BW2\,BW è il limite di Nyquist per la frequenza di campionamento.

Matematicamente il campionamento è la moltiplicazione di s(t)s(t) per un treno di impulsi di Dirac a kTckT_c; nel dominio della frequenza vuol dire ripetere lo spettro S(f)S(f) attorno ai multipli interi di fcf_c (repliche in nfcnf_c). Se fc≥2BWf_c\ge2BW le repliche non si sovrappongono e basta un filtro passa-basso (taglio alla frequenza di Nyquistmetà della frequenza di campionamento) per recuperare s(t)s(t): nel caso limite il filtro necessario è quello con risposta in frequenza rettangolare.

Aliasing

Se fc<2BWf_c<2BW 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 ff campionata a fc=1,25ff_c=1{,}25f viene interpretata come una sinusoide a fc−f=0,25ff_c-f=0{,}25f.

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 fT<fc/2f_T<f_c/2 (può essere di ordine elevato per attenuare rapidamente le componenti oltre fTf_T). Il suo progetto è tanto meno critico quanto più fcf_c è grande rispetto alla banda BWBW dei segnali: il rapporto fc2BW\frac{f_c}{2BW} è il fattore di sovracampionamento.

Quando l'aliasing è utile. Nei sistemi controllati in PWM le grandezze campionate hanno armoniche alla frequenza di modulazione: campionare a fc=fPWMf_c=f_{PWM} 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 TcT_c con ampiezza pari a quella del campione ideale. Lo spettro del segnale così campionato è distorto da un fattore di tipo sinc\mathrm{sinc}: 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 A=2,5A=2{,}5 V) su un ADC a 10 bit con FSR 5 V, LSB=5/1024=4,88LSB=5/1024=4{,}88 mV. La variazione tollerabile nel tempo di conversione TconvT_{conv} è 12\tfrac12 LSB =2,44=2{,}44 mV: la pendenza massima è 2πfA2\pi fA, quindi 2πfA Tconv≤2,442\pi fA\,T_{conv}\le2{,}44 mV. Con Tconv=2 μT_{conv}=2\ \mus (frequenza di Nyquist del convertitore 250 kHz) si ottiene f≤2,44⋅10−32π⋅2,5⋅2⋅10−6=77,7f\le\dfrac{2{,}44\cdot10^{-3}}{2\pi\cdot2{,}5\cdot2\cdot10^{-6}}=77{,}7 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 VcV_c carica una capacità CHC_H alla tensione di ingresso ViV_i (una tensione di comando Vc>Vi,max+VtV_c>V_{i,max}+V_t, la velocità di carica cresce con l'overdrive); quando il MOSFET si spegne, la carica su CHC_H mantiene Vo=ViV_o=V_i (ma non indefinitamente). Non idealità:

  • charge injectioniniezione di carica sulla capacità di hold dovuta alle capacità parassite del MOSFET: le capacità parassite CGDC_{GD} e CDSC_{DS} iniettano carica su CHC_H durante le transizioni di VcV_c e durante l'hold (al variare di ViV_i); si riduce con CHC_H 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 CHC_H 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 fc=2BWf_c=2BW basta sempre: serve fc>2BWf_c>2BW 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 (fc/2f_c/2) e limite di Nyquist (2BW2BW).
  • Pensare che l'aliasing si possa correggere via software dopo il campionamento.

Versione ripasso

Esercizi su questo argomento

Teoria collegata