Quantizzatore uniforme - livelli, mid-riser ed errori
In questa pagina 6
Che cosa fa un quantizzatore
Il quantizzatore prende in ingresso un valore reale e restituisce un elemento di un insieme finito di livelli: dove è il numero di bit per campione (Conversione A-D e D-A - campionamento, anti-aliasing e interpolazionePer trasmettere un segnale analogico in forma digitale lo si campiona (a frequenza $F_s\ge2B$, dopo un filtro anti-aliasing), lo si quantizza su $L=2^b$ livelli e si trasforma ogni livello in $b$ bit. Il bit-rate nominale è $R_b=F_s,b$. Al ricevitore si fa il percorso inverso e si interpola (con un filtro con risposta $T_s,\mathrm{rect}\frac f{2B}$ in teoria, con un mantenitore di ordine zero in pratica). La quantizzazione è l'unica operazione che introduce un errore irreversibile.Conversione A-D e D-A - campionamento, anti-aliasing e interpolazione →). Lo si descrive con una funzione caratteristica (la "scala"): la retta sarebbe il caso ideale, la funzione a gradini ne è l'approssimazione.
Quantizzatore uniforme (PCM)
Nel PCM (pulse code modulation) i gradini sono tutti uguali. Per progettarlo:
- si sceglie un range dinamico (tensione di saturazione );
- si fissa il numero di livelli ;
- il passo di quantizzazionelarghezza di ogni gradino del quantizzatore uniforme è
- si divide in regioni disgiunte la cui unione è : le regioni centrali hanno ampiezza e le due esterne si estendono all'infinito; a ciascuna si associa un livello (di solito il punto centrale della regione).
Mid-riser. È il quantizzatore con una soglia nell'origine: non è un livello, la funzione "sale" in . I livelli sono e le soglie sono con (cioè ). Il mid-treadquantizzatore con un livello in zero ha invece il livello (la funzione ha un "piano" in ): i livelli sono . Negli esercizi del corso si usa il mid-riser.
Esempio. () e V: V; livelli V; soglie V. L'ingresso V cade tra le soglie e e diventa V (errore ); l'ingresso V è oltre , satura nel livello più basso V.
Grafico interattivo: Funzione caratteristica del quantizzatore uniforme mid-riser con L = 8 livelli e Vsat = 4 V (Δ = 1 V): gradini larghi 1 V, livelli ±0,5, ±1,5, ±2,5, ±3,5 V; oltre ±4 V l'uscita resta ferma (saturazione)
L'errore di quantizzazione
Si definisce l'errore di quantizzazione quindi l'uscita è il segnale più un "rumore" additivo, come se l'errore fosse dovuto al canale (SNR di quantizzazione e progetto del quantizzatoreL'SNR di quantizzazione è $\Lambda_q=\frac{M_a}{M_e}$. Con errore granulare uniforme e saturazione trascurabile vale $\Lambda_q=\frac{\sigma^2}{\Delta^2/12}=3\frac{\sigma^2}{V_{sat}^2},2^{2b}$, cioè $[\Lambda_q]{dB}=6{,}02,b+4{,}77+20\log{10}\frac\sigma{V_{sat}}$: ogni bit in più dà $+6$ dB. Per progettare: $V_{sat}$ dalla probabilità di saturazione ($V_{sat}=\sigma,Q^{-1}\left(\frac{P_{sat}}2\right)$ per un gaussiano), poi $b$ dall'SNR richiesto, arrotondando per eccesso.SNR di quantizzazione e progetto del quantizzatore →). Nel grafico ha l'andamento a dente di sega: dentro il range dinamicointervallo di valori che il quantizzatore rappresenta senza saturare l'errore ha ampiezza al più (errore granulare); fuori dal range cresce linearmente con la distanza da (errore di saturazione).
La potenza statistica dell'errore, con la densità del campione, si scrive come somma di tre integrali sulle tre zone dell'asse reale: È un calcolo complesso: si semplifica con due ipotesi.
- (A) La probabilità di saturazione è piccola. Si trascura l'errore di saturazioneerrore dei campioni che escono dal range dinamico. La probabilità di saturazione è la probabilità che il campione esca dal range: Per un segnale gaussiano a media nulla e varianza : . Per un esponenziale (solo valori positivi): (se il range parte da 0). Per una laplaciana: .
- (B) è grande ( piccolo rispetto a come varia la densità). Dentro ogni intervallo la densità è quasi costante, quindi l'errore granulareerrore commesso dentro il range dinamico, al più mezzo passo è uniforme in : . Perciò
Il risultato è, per uniforme in un intervallo largo , la varianza (si veda Variabili aleatorie e vettori aleatori per le comunicazioniUna variabile aleatoria è descritta da una PMD (discreta) o da una PDF (continua) e dalla funzione di ripartizione; per la gaussiana $P[x>a]=Q\left(\frac{a-m}{\sigma}\right)$ con la funzione coda $Q$. Media $m_x$, varianza $\sigma_x^2$ e potenza statistica $M_x=\sigma_x^2+m_x^2$. Per un vettore aleatorio contano l'indipendenza, le probabilità condizionate (totali e di Bayes) e la correlazione; combinazioni lineari di gaussiane sono gaussiane, e gaussiane scorrelate sono indipendenti.Variabili aleatorie e vettori aleatori per le comunicazioni →).
Il compromesso nella scelta di e
- Per minimizzare si prende grande (per un segnale gaussiano dà , dà , dà ).
- Ma a fisso cresce con e l'errore granulare aumenta: occorre grande, cioè più bit.
- Se è enorme e minuscolo, l'errore granulare diventa tanto piccolo che l'errore di saturazione non è più trascurabile: la semplificazione (A) cade e va incluso nel conto (è il caso del foglio di esercizi, in cui l'errore di saturazione diventa paragonabile a quello granulare: SNR di quantizzazione e progetto del quantizzatoreL'SNR di quantizzazione è $\Lambda_q=\frac{M_a}{M_e}$. Con errore granulare uniforme e saturazione trascurabile vale $\Lambda_q=\frac{\sigma^2}{\Delta^2/12}=3\frac{\sigma^2}{V_{sat}^2},2^{2b}$, cioè $[\Lambda_q]{dB}=6{,}02,b+4{,}77+20\log{10}\frac\sigma{V_{sat}}$: ogni bit in più dà $+6$ dB. Per progettare: $V_{sat}$ dalla probabilità di saturazione ($V_{sat}=\sigma,Q^{-1}\left(\frac{P_{sat}}2\right)$ per un gaussiano), poi $b$ dall'SNR richiesto, arrotondando per eccesso.SNR di quantizzazione e progetto del quantizzatore →).
Probabilità dei livelli. Con la densità si calcola la probabilità di ogni livello, . Per un gaussiano con , ():
| Livello | Regione (in unità di ) | Probabilità |
|---|---|---|
(ciascuna per ognuno dei due livelli simmetrici; la somma .) Servono per l'entropia in uscita (Informazione ed entropiaL'informazione di un evento di probabilità $p$ è $\log_2\frac1p$ bit; l'entropia $H(x)=\sum p\log_2\frac1p$ è l'informazione media e misura l'incertezza della sorgente: $0\le H\le\log_2M$, con il massimo quando i simboli sono equiprobabili. Per più simboli: $H(x,y)\le H(x)+H(y)$ (uguaglianza se indipendenti), $H(x|y)=H(x,y)-H(y)$. Per una sorgente con $F_s$ simboli al secondo il rate di informazione è $F_sH_s$, il rate nominale $F_s\log_2M$ e l'efficienza $\eta=\frac{H_s}{\log_2M}$.Informazione ed entropia →): sono quasi tutte diverse, quindi la codifica a lunghezza fissa non è efficiente.
Quantizzatori non uniformi
Se la densità non è uniforme (per esempio la voce, con molti valori vicini a zero) conviene essere più precisi dove i campioni cadono più spesso. Il modo più tipico è il compandercompressore, quantizzatore uniforme ed espansore in cascata, per avere gradini non uniformi: un blocco compressore deforma la scala, un quantizzatore uniforme lavora sul segnale compresso e un espansore riporta la scala originale. Si può anche scegliere i gradini in modo ottimo per la densità. All'esame viene chiesta solo l'idea.
Errori comuni
- Dire (manca il fattore 2 se il range è simmetrico ; per un range è ).
- Scrivere il mid-riser con livello : i livelli sono a .
- Calcolare con una sola coda per un segnale simmetrico: sono due code, .
- Applicare con piccolo o con grande senza verificare le ipotesi.
Versione ripasso
- Quantizzatore: , . PCM uniforme: range , .
- Mid-riser: livelli , soglie (soglia in 0). Mid-tread: livello 0. Es.: , : , livelli ; , .
- Errore: (dente di sega), granulare in + saturazione fuori range.
- Semplificazioni: (A) piccola (gaussiano a media nulla: ; esponenziale ; laplaciana ); (B) grande errore uniforme, .
- Compromesso: grande riduce ma aumenta ; con enorme la saturazione non è più trascurabile.
- Probabilità dei livelli gaussiani (): per livello (simmetrici) (SNR di quantizzazione e progetto del quantizzatoreL'SNR di quantizzazione è $\Lambda_q=\frac{M_a}{M_e}$. Con errore granulare uniforme e saturazione trascurabile vale $\Lambda_q=\frac{\sigma^2}{\Delta^2/12}=3\frac{\sigma^2}{V_{sat}^2},2^{2b}$, cioè $[\Lambda_q]{dB}=6{,}02,b+4{,}77+20\log{10}\frac\sigma{V_{sat}}$: ogni bit in più dà $+6$ dB. Per progettare: $V_{sat}$ dalla probabilità di saturazione ($V_{sat}=\sigma,Q^{-1}\left(\frac{P_{sat}}2\right)$ per un gaussiano), poi $b$ dall'SNR richiesto, arrotondando per eccesso.SNR di quantizzazione e progetto del quantizzatore →).
- Non uniformi: compander (compressore, uniforme, espansore).
- Errori tipici: senza il 2; zero nel mid-riser; una coda sola.
Esercizi su questo argomento
- Esercizio 1 · quantizzatore uniforme di un segnale gaussiano, SNR ed entropia in uscita (tema d'esame gennaio 2025)
- Esercizio 3 · PSD con righe, filtro passa-basso e due quantizzatori per un segnale esponenziale (tema d'esame febbraio 2025)
- Esercizio 4 · quantizzatore a 6 livelli, bit aggiuntivi e codice non decodificabile (tema d'esame agosto 2025)
- Esercizio 5 · quantizzatore a 60 dB per un segnale laplaciano e codice di Huffman (tema d'esame febbraio 2026)
- Esercizio 6 · segnale esponenziale, entropie estreme e quantizzatore a 3 bit (temi d'esame giugno 2025 e giugno 2026)
- Esercizio 7 · segnale A sin(u) con u uniforme, scelta del quantizzatore ed entropia (tema d'esame giugno 2026)
- Esercizio 8 · quantizzatore di un segnale gaussiano - dinamica, livelli, bit-rate e saturazione laplaciana (tema d'esame luglio 2021)
- Esercizio 10 · processo gaussiano filtrato e quantizzatore a 1024 livelli (tema d'esame degli anni precedenti)