Campionamento e conversione analogico-digitale
In questa pagina 7
1. Perché serve
Quasi tutte le sorgenti reali sono analogiche: la voce, la musica, la temperatura, un'immagine. Il resto del corso (modulazione digitale, codici, protocolli) lavora su sequenze di bit. Il primo blocco di un sistema di comunicazione digitale è quindi il convertitore analogico-digitale (A/D, analog to digital) e l'ultimo, al ricevitore, il convertitore D/A. Lo schema generale è
a(t) → [A/D] → bit → [modulatore] → canale → [demodulatore] → bit → [D/A] → a'(t)L'obiettivo di tutto il corso si può enunciare così: ottenere il più simile possibile ad spendendo pochi bit e poca potenza. Il canale reale non è ideale: lascia passare solo una banda di frequenze, aggiunge rumore e interferenze. In questa nota si studia il convertitore (Introduzione alle reti di telecomunicazioneUn servizio di telecomunicazione porta informazione da un trasmettitore a un ricevitore attraverso un canale. Le comunicazioni si classificano per destinatari (unicast, broadcast, multicast, anycast, multi-point) e per direzione (unidirezionali, bidirezionali; canali half-duplex e full-duplex); la rete è un grafo (nodi e archi) con topologie stella, mesh, albero, anello, bus, e una parte di accesso e una di core. Le risorse si danno con la commutazione di circuito (riservate) o di pacchetto (condivise, datagramma o circuito virtuale). Il controllo è diviso in livelli con protocolli, primitive, PDU/SDU/PCI e incapsulamento $PDU_N=PCI_N+SDU_N$; il modello ISO/OSI ha 7 livelli.Introduzione alle reti di telecomunicazione → spiega dove si colloca nella rete), la quantizzazione è nella nota successiva (Quantizzazione e rumore di quantizzazioneIl quantizzatore mappa ogni campione reale su uno dei $L=2^b$ livelli. Il quantizzatore uniforme mid-riser ha passo $\Delta=\frac{2v_{sat}}{L}$, soglie multiple di $\Delta$ e livelli multipli dispari di $\frac\Delta2$. L'errore $e_q=a_q-a$ è granulare (in $[-\frac\Delta2,\frac\Delta2]$, circa uniforme, potenza $\frac{\Delta^2}{12}$) o di saturazione (fuori da $[-v_{sat},v_{sat}]$, trascurabile se $P_{sat}$ è piccola). L'SNR è $\Lambda_q=\frac{M_a}{M_{e_q}}$ e, con saturazione trascurabile, $[\Lambda_q]{dB}=6{,}02,b+4{,}77-20\log{10}\frac{v_{sat}}{\sigma_a}$: $+6$ dB per ogni bit.Quantizzazione e rumore di quantizzazione →).
2. Lo schema del convertitore A/D
Definizione (convertitore A/D). Dal segnale analogico si ottiene un flusso di bit con questi blocchi in cascata:
- filtro anti-aliasing (passa-basso, si veda il §4);
- campionatore: preleva a istanti multipli del periodo di campionamento ; la frequenza di campionamento (o symbol rate) è campioni al secondo;
- quantizzatore : associa a ogni campione un valore preso da un insieme finito di livelli ;
- bitmap inversa e serializzatore (P/S): ogni livello è rappresentato con una parola di bit, con cioè , e le parole si mettono in fila.
Esempio. Con livelli servono bit per campione, e la bitmap associa agli 8 livelli. Non è obbligatorio che sia una potenza di 2, ma lo si sceglie così: con servirebbero comunque bit e due parole di codice sarebbero sprecate.
Se ogni campione è rappresentato con bit e i campioni sono al secondo, si trasmettono bit al secondo. Il tempo di bit (durata di un bit) e il tempo di campione sono legati da : il bit-rate nominale. "Nominale" perché è quello che si ha senza codifica di sorgente: se i livelli non sono equiprobabili si può fare meglio (Codifica di sorgenteLa codifica di sorgente senza perdita assegna ai simboli (o a parole di $N$ simboli) parole di codice di lunghezza variabile, corte per i simboli probabili, con una mappa invertibile. Un codice a prefisso è sempre decodificabile; Kraft-McMillan: se il codice è decodificabile $\sum M^{-l_i}\le1$ e viceversa esiste un codice a prefisso con quelle lunghezze. Shannon: $L\ge\frac{H}{\log_2M}$ e esiste un codice con $L<\frac{H}{\log_2M}+1$ (lunghezze $\lceil\log_M\frac1p\rceil$). Shannon-Fano divide dall'alto, Huffman unisce dal basso i due meno probabili ed è ottimo; raggruppare simboli e la codifica aritmetica si avvicinano al limite.Codifica di sorgente →).
Esempio (telefonia). La voce è limitata a circa kHz; si campiona a kHz con bit: kbit/s. Esempio (CD audio). kHz, kHz, bit, due canali (stereo): bit/s Mbit/s.
Al ricevitore si fa il percorso opposto: i bit sono riordinati in gruppi di (S/P), ogni gruppo è trasformato nel livello corrispondente e un interpolatore ricostruisce il segnale continuo da questi valori.
3. Il teorema del campionamento
Campionare è la parte "facile" della conversione, perché si può invertire senza perdere nulla se si rispettano le condizioni del teorema di Nyquist (dimostrazione completa in Teorema del campionamento, interpolazione e aliasingTeorema di Shannon: un segnale a banda limitata $\omega_M$ si ricostruisce esattamente dai campioni se $T_c<\pi/\omega_M$ (frequenza di campionamento maggiore di quella di Nyquist $2f_{\max}$), con la formula di interpolazione ideale $x(t)=\sum_nx(nT_c)\operatorname{sinc}\left(\frac{t-nT_c}{T_c}\right)$. Sotto Nyquist c'è aliasing: le frequenze alte si confondono con quelle basse e l'informazione è persa.Teorema del campionamento, interpolazione e aliasing →; la relazione con la trasformata del treno di impulsi è in Campionamento e formula di PoissonCampionare un segnale continuo $x(t)$ con passo $T_c$ dà la sequenza $x(nT_c)$. La formula di Poisson lega gli spettri: $\hat W(\omega)=\frac1{T_c}\sum_kX\left(\frac{\omega+2\pi k}{T_c}\right)$, cioè lo spettro del segnale campionato è la ripetizione periodica (di periodo $2\pi/T_c$ in pulsazione analogica) dello spettro originale, riscalata. Se le repliche si sovrappongono si ha aliasing.Campionamento e formula di Poisson →).
Teorema (campionamento). Sia un segnale a banda limitata, con per . Se allora si ricostruisce esattamente dai campioni con un filtro interpolatore di risposta in frequenza La frequenza è la frequenza di Nyquist (o Nyquist rate), la minima possibile.
Perché. Campionare in tempo equivale, in frequenza, a ripetere lo spettro del segnale a intervalli di : lo spettro del segnale campionato è . Le copie sono larghe ciascuna; se non si toccano e un passa-basso che tiene solo la copia centrale (moltiplicando per per compensare il fattore ) restituisce . Se le copie si sovrappongono: è l'aliasing (aliasing), e la somma in frequenza non si può più separare.
Grafico interattivo: Spettro del segnale campionato (triangolo di banda B = 1) con F_s = 3B ≥ 2B: le copie centrate nei multipli di 3 sono separate e un passa-basso con taglio tra B = 1 e F_s − B = 2 recupera il triangolo centrale
Grafico interattivo: Aliasing: stesso segnale con F_s = 1,5B < 2B. Le copie centrate nei multipli di 1,5 si sovrappongono (tra 0,5 e 1): la somma non è più il triangolo originale e nessun filtro può recuperarlo
Esempio (aliasing). Un tono a kHz campionato a kHz ha campioni , identici a quelli di un tono a kHz: il ricevitore non può distinguere i due e ricostruirebbe kHz. In generale una frequenza si "ripiega" su con intero più vicino. Per un segnale di banda kHz, tra , e kHz l'unica scelta valida è kHz perché solo .
4. Due problemi pratici
(a) Un segnale reale non è a banda limitata. Un segnale di durata finita ha banda infinita (Segnali, potenza e decibelRichiami che servono in tutto il corso. Unità SI e prefissi (kilo = $10^3$, bit e non byte); decibel $[x]{dB}=10\log{10}x$ per le potenze e $20\log_{10}$ per le ampiezze (prodotti = somme); banda di un segnale (primo zero, a $\alpha$ dB, di energia) e banda pratica; energia, potenza e teorema di Parseval; processi aleatori: media, potenza, autocorrelazione, stazionarietà (WSS), ergodicità, densità spettrale di potenza $\mathcal P_x(f)$ e filtraggio $\mathcal P_y=\lvert G\rvert^2\mathcal P_x$.Segnali, potenza e decibel →, principio di indeterminazione). Allora prima del campionatore si mette il filtro anti-aliasing, un passa-basso che taglia lo spettro oltre ; si ricostruirà solo il segnale tagliato. L'errore commesso si può calcolare: se è il segnale originale e quello filtrato, l'errore ha densità di energia che vale per e per : l'errore è l'energia dello spettro tagliato, . Per questo la banda si sceglie con un criterio (§3 di Segnali, potenza e decibelRichiami che servono in tutto il corso. Unità SI e prefissi (kilo = $10^3$, bit e non byte); decibel $[x]{dB}=10\log{10}x$ per le potenze e $20\log_{10}$ per le ampiezze (prodotti = somme); banda di un segnale (primo zero, a $\alpha$ dB, di energia) e banda pratica; energia, potenza e teorema di Parseval; processi aleatori: media, potenza, autocorrelazione, stazionarietà (WSS), ergodicità, densità spettrale di potenza $\mathcal P_x(f)$ e filtraggio $\mathcal P_y=\lvert G\rvert^2\mathcal P_x$.Segnali, potenza e decibel →). Vedi anche Conversione A-D e campionamento di segnali non limitati in bandaUn convertitore A/D è la catena filtro anti-aliasing passa-basso, campionatore, quantizzatore a $B$ bit. Nessun segnale reale è a banda esattamente limitata: si sceglie la banda essenziale (che contiene quasi tutta l'energia) e un passo $T_c$ tale che le repliche aliasing siano trascurabili. La quantizzazione introduce un errore con potenza $\Delta^2/12$ e un rapporto segnale-rumore di circa $6{,}02B+1{,}76$ dB.Conversione A-D e campionamento di segnali non limitati in banda → per il calcolo.
Esempio. Se non si filtra una componente a kHz in un sistema campionato a kHz, questa compare come un tono a kHz: è un disturbo dentro la banda, impossibile da togliere dopo il campionamento.
(b) L'interpolatore ideale non è realizzabile. Il filtro ha risposta impulsiva sinc, che dura per sempre e non è nulla per (non causale). Si usa allora l'holder (zero-order hold, mantenitore di ordine zero) che tiene costante il valore di ogni campione per un periodo : Il modulo non è piatto in (è "arrotondato") e distorce le frequenze vicine a ; il fattore di fase è solo un ritardo di (Proprietà della trasformata di FourierCon le proprietà (linearità, simmetrie, ritardo $\leftrightarrow e^{-j\omega t_0}$, modulazione $\leftrightarrow$ traslazione in frequenza, scala, dualità, convoluzione $\leftrightarrow$ prodotto, Parseval $E=\frac1{2\pi}\int|X|^2$, derivata $\leftrightarrow j\omega$, moltiplicazione per $t\leftrightarrow j,d/d\omega$, integrazione) quasi tutte le trasformate si ottengono da poche coppie base senza integrare.Proprietà della trasformata di Fourier →). Si rimedia sovracampionando: con molto più grande di il sinc è quasi piatto fino a .
Grafico interattivo: Modulo normalizzato dell'holder, |sinc(f/F_s)|, in funzione di f/B, contro l'interpolatore ideale: con F_s = 2,5B in f = B si perde il 24% (−2,4 dB), con F_s = 8B solo il 2,6% (−0,2 dB)
Esempio. Con in : , cioè dB. Con : dB.
5. Che cosa si perde e che cosa no
- Campionamento (con anti-aliasing, , interpolatore adatto): nessuna perdita oltre quella dovuta al taglio della banda.
- Quantizzazione: è l'unico passo che distrugge informazione in modo irreversibile, perché valori diversi dentro lo stesso intervallo diventano lo stesso livello. Il trucco è renderne l'errore piccolo con tanti livelli scelti bene (Quantizzazione e rumore di quantizzazioneIl quantizzatore mappa ogni campione reale su uno dei $L=2^b$ livelli. Il quantizzatore uniforme mid-riser ha passo $\Delta=\frac{2v_{sat}}{L}$, soglie multiple di $\Delta$ e livelli multipli dispari di $\frac\Delta2$. L'errore $e_q=a_q-a$ è granulare (in $[-\frac\Delta2,\frac\Delta2]$, circa uniforme, potenza $\frac{\Delta^2}{12}$) o di saturazione (fuori da $[-v_{sat},v_{sat}]$, trascurabile se $P_{sat}$ è piccola). L'SNR è $\Lambda_q=\frac{M_a}{M_{e_q}}$ e, con saturazione trascurabile, $[\Lambda_q]{dB}=6{,}02,b+4{,}77-20\log{10}\frac{v_{sat}}{\sigma_a}$: $+6$ dB per ogni bit.Quantizzazione e rumore di quantizzazione →).
- Codifica di sorgente senza perdita (Codifica di sorgenteLa codifica di sorgente senza perdita assegna ai simboli (o a parole di $N$ simboli) parole di codice di lunghezza variabile, corte per i simboli probabili, con una mappa invertibile. Un codice a prefisso è sempre decodificabile; Kraft-McMillan: se il codice è decodificabile $\sum M^{-l_i}\le1$ e viceversa esiste un codice a prefisso con quelle lunghezze. Shannon: $L\ge\frac{H}{\log_2M}$ e esiste un codice con $L<\frac{H}{\log_2M}+1$ (lunghezze $\lceil\log_M\frac1p\rceil$). Shannon-Fano divide dall'alto, Huffman unisce dal basso i due meno probabili ed è ottimo; raggruppare simboli e la codifica aritmetica si avvicinano al limite.Codifica di sorgente →): riduce i bit senza aggiungere errore.
6. Segnali vocali e frequenze di campionamento tipiche
Il segnale vocale si classifica in due tipi. I suoni sonori (voiced, come le vocali /a/ e /u/) hanno un andamento nel tempo periodico (le corde vocali vibrano) e lo spettro è fatto di righe armoniche. I suoni sordi (unvoiced, come /s/) hanno un andamento irregolare simile al rumore e lo spettro è esteso verso le alte frequenze. La banda si sceglie in base alla qualità richiesta, e da questa la frequenza di campionamento ( appena sopra , a volte con un margine per il filtro non ideale):
| servizio | banda | |
|---|---|---|
| telefono | – Hz | kHz |
| trasmissione (broadcast) | – Hz | kHz |
| qualità CD | – Hz | kHz |
| qualità DVD | – Hz | kHz |
Esempio. Per il telefono kHz e si usa kHz: margine di kHz perché il filtro anti-aliasing reale non taglia di colpo. Per il CD kHz contro kHz.
Per la modulazione (cenni, per capire dove va la banda del segnale in un sistema reale): nella AM il segnale è moltiplicato per una portante di frequenza e occupa attorno a ; nella FM un oscillatore controllato in tensione (VCO) fa variare la frequenza con il segnale e la banda è con indice di modulazione; la modulazione digitale altera la portante per rappresentare una sequenza di bit (si veda Modulazioni PAM, PSK, QAM e FSKLe modulazioni pratiche usano un solo impulso base $h(t)$ (energia $E_h$) e coefficienti scelti in un insieme regolare. PAM: $s_n=\alpha_nh(t)$, $\alpha_n\in{-M+1,\dots,M-1}$, punti su una retta, $d_{min}=2\sqrt{E_h}$, $E_s=\frac{M^2-1}3E_h$, $P[E]=2\left(1-\frac1M\right)Q\left(\sqrt{\frac{6E_s}{(M^2-1)N_0}}\right)$. QAM: coefficienti complessi su due portanti in quadratura, base di dimensione 2, per $M=L^2$ $E_s=\frac{M-1}3E_h$ e $P[E]\approx4\left(1-\frac1{\sqrt M}\right)Q\left(\sqrt{\frac{3E_s}{(M-1)N_0}}\right)$. PSK: ampiezza costante, fasi $\theta_n=\frac{(2n-1)\pi}M$, punti su una circonferenza, $E_s=\frac{E_h}2$, $P[E]\approx2Q\left(\sqrt{\frac{2E_s}{N_0}}\sin\frac\pi M\right)$. FSK: due sinusoidi a frequenze diverse, $\rho\approx\operatorname{sinc}(4f_dT)$. Con la codifica di Gray $P_{bit}\approx\frac{P[E]}{\log_2M}$.Modulazioni PAM, PSK, QAM e FSK →). Per la AM nel dettaglio: Filtri, modulazione e trasmissione AMIn frequenza un filtro LTI moltiplica: $Y(\omega)=H(\omega)X(\omega)$ (serie, parallelo, retroazione diventano $H_1H_2$, $H_1+H_2$, $\frac{H_1}{1+H_1H_2}$). I filtri ideali (passa-basso, passa-alto, passa-banda) hanno $h$ non causale e instabile; il filtro RC è il passa-basso reale. La modulazione $x(t)\cos\omega_0t$ trasla lo spettro in $\pm\omega_0$ e si demodula con la stessa portante e un passa-basso di guadagno 2.Filtri, modulazione e trasmissione AM →.
Errori comuni
- Credere che esatto basti sempre: richiede il filtro ideale; in pratica si campiona un po' più in alto e si usa l'holder.
- Confondere (tempo di bit) con (tempo di campione): .
- Dimenticare il filtro anti-aliasing: le componenti fuori banda "si ripiegano" dentro la banda e non si tolgono più.
- Calcolare il bit-rate con al posto di .
Versione ripasso
Schema A/D: filtro anti-aliasing campionatore quantizzatore (su livelli) bitmap serializzatore P/S. Al ricevitore il percorso è inverso (S/P, interpolatore, D/A).
Definizioni e relazioni fondamentali:
- Periodo e frequenza di campionamento: .
- Livelli e bit per campione: , cioè . Esempio: livelli danno bit, con le parole .
- Tempo di bit e bit-rate nominale (senza codifica di sorgente, vedi Codifica di sorgenteLa codifica di sorgente senza perdita assegna ai simboli (o a parole di $N$ simboli) parole di codice di lunghezza variabile, corte per i simboli probabili, con una mappa invertibile. Un codice a prefisso è sempre decodificabile; Kraft-McMillan: se il codice è decodificabile $\sum M^{-l_i}\le1$ e viceversa esiste un codice a prefisso con quelle lunghezze. Shannon: $L\ge\frac{H}{\log_2M}$ e esiste un codice con $L<\frac{H}{\log_2M}+1$ (lunghezze $\lceil\log_M\frac1p\rceil$). Shannon-Fano divide dall'alto, Huffman unisce dal basso i due meno probabili ed è ottimo; raggruppare simboli e la codifica aritmetica si avvicinano al limite.Codifica di sorgente →): Esempio, telefonia: kbit/s. Esempio, CD audio: bit/s Mbit/s.
- Se per e , il segnale si ricostruisce esattamente dai campioni con un interpolatore per .
- La frequenza è la frequenza di Nyquist, la minima possibile.
- Spettro del segnale campionato: . Se le copie si sovrappongono (aliasing) e nessun filtro le separa.
- Esempio: un tono a kHz campionato a kHz si legge come kHz. Per kHz l'unica valida tra , e kHz è kHz, perché .
- L'errore è l'energia dello spettro tagliato: .
- Esempio: una componente a kHz non filtrata, con kHz, compare come kHz dentro la banda.
Holder (zero-order hold), al posto dell'interpolatore ideale non causale (Proprietà della trasformata di FourierCon le proprietà (linearità, simmetrie, ritardo $\leftrightarrow e^{-j\omega t_0}$, modulazione $\leftrightarrow$ traslazione in frequenza, scala, dualità, convoluzione $\leftrightarrow$ prodotto, Parseval $E=\frac1{2\pi}\int|X|^2$, derivata $\leftrightarrow j\omega$, moltiplicazione per $t\leftrightarrow j,d/d\omega$, integrazione) quasi tutte le trasformate si ottengono da poche coppie base senza integrare.Proprietà della trasformata di Fourier → per il fattore di fase):
- Il modulo non è piatto fino a ; il fattore di fase è solo un ritardo di .
- Esempio con in : , cioè dB.
- Esempio con in : , cioè dB. Per questo si sovracampiona.
Dove si perde informazione: campionamento (con anti-aliasing e ) senza perdita oltre il taglio della banda; la quantizzazione è l'unico passo irreversibile (Quantizzazione e rumore di quantizzazioneIl quantizzatore mappa ogni campione reale su uno dei $L=2^b$ livelli. Il quantizzatore uniforme mid-riser ha passo $\Delta=\frac{2v_{sat}}{L}$, soglie multiple di $\Delta$ e livelli multipli dispari di $\frac\Delta2$. L'errore $e_q=a_q-a$ è granulare (in $[-\frac\Delta2,\frac\Delta2]$, circa uniforme, potenza $\frac{\Delta^2}{12}$) o di saturazione (fuori da $[-v_{sat},v_{sat}]$, trascurabile se $P_{sat}$ è piccola). L'SNR è $\Lambda_q=\frac{M_a}{M_{e_q}}$ e, con saturazione trascurabile, $[\Lambda_q]{dB}=6{,}02,b+4{,}77-20\log{10}\frac{v_{sat}}{\sigma_a}$: $+6$ dB per ogni bit.Quantizzazione e rumore di quantizzazione →).
Frequenze tipiche (telefono – Hz, kHz, margine di kHz per il filtro reale; CD – Hz, kHz, contro kHz). Nella modulazione digitale la portante è alterata per rappresentare i bit (Modulazioni PAM, PSK, QAM e FSKLe modulazioni pratiche usano un solo impulso base $h(t)$ (energia $E_h$) e coefficienti scelti in un insieme regolare. PAM: $s_n=\alpha_nh(t)$, $\alpha_n\in{-M+1,\dots,M-1}$, punti su una retta, $d_{min}=2\sqrt{E_h}$, $E_s=\frac{M^2-1}3E_h$, $P[E]=2\left(1-\frac1M\right)Q\left(\sqrt{\frac{6E_s}{(M^2-1)N_0}}\right)$. QAM: coefficienti complessi su due portanti in quadratura, base di dimensione 2, per $M=L^2$ $E_s=\frac{M-1}3E_h$ e $P[E]\approx4\left(1-\frac1{\sqrt M}\right)Q\left(\sqrt{\frac{3E_s}{(M-1)N_0}}\right)$. PSK: ampiezza costante, fasi $\theta_n=\frac{(2n-1)\pi}M$, punti su una circonferenza, $E_s=\frac{E_h}2$, $P[E]\approx2Q\left(\sqrt{\frac{2E_s}{N_0}}\sin\frac\pi M\right)$. FSK: due sinusoidi a frequenze diverse, $\rho\approx\operatorname{sinc}(4f_dT)$. Con la codifica di Gray $P_{bit}\approx\frac{P[E]}{\log_2M}$.Modulazioni PAM, PSK, QAM e FSK →).
Errori tipici:
- Credere che esatto basti sempre: serve il filtro ideale; in pratica si campiona più in alto e si usa l'holder.
- Confondere con : .
- Dimenticare l'anti-aliasing: le componenti fuori banda si ripiegano dentro la banda e non si tolgono più.
- Calcolare con al posto di .