Salta al contenuto
Note per Studenti Quantizzatore uniforme - livelli, mid-riser ed errori

Quantizzatore uniforme - livelli, mid-riser ed errori

In questa pagina 6

Che cosa fa un quantizzatore

Il quantizzatore prende in ingresso un valore reale a(mTs)a(mT_s) e restituisce un elemento di un insieme finito di livelli: Q: R→Aq={Q0,Q1,…,QL−1},L=2b,Q:\ \mathbb R\to\mathcal A_q=\{Q_0,Q_1,\dots,Q_{L-1}\},\qquad L=2^b, dove bb è 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 aq=aa_q=a 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:

  1. si sceglie un range dinamico [−Vsat,Vsat][-V_{sat},V_{sat}] (tensione di saturazione VsatV_{sat});
  2. si fissa il numero di livelli L=2bL=2^b;
  3. il passo di quantizzazionelarghezza di ogni gradino del quantizzatore uniforme è Δ=2VsatL.\boxed{\Delta=\frac{2V_{sat}}L.}
  4. si divide R\mathbb R in LL regioni Ri\mathcal R_i disgiunte la cui unione è R\mathbb R: le L−2L-2 regioni centrali hanno ampiezza Δ\Delta e le due esterne si estendono all'infinito; a ciascuna si associa un livello QiQ_i (di solito il punto centrale della regione).

Mid-riser. È il quantizzatore con una soglia nell'origine: 00 non è un livello, la funzione "sale" in 00. I livelli sono Qi=±Δ2, ±3Δ2, …, ±(L−1)Δ2,Q_i=\pm\frac\Delta2,\ \pm\frac{3\Delta}2,\ \dots,\ \pm\frac{(L-1)\Delta}2, e le soglie sono kΔk\Delta con k=−L2+1,…,L2−1k=-\frac L2+1,\dots,\frac L2-1 (cioè 0,±Δ,±2Δ,…0,\pm\Delta,\pm2\Delta,\dots). Il mid-treadquantizzatore con un livello in zero ha invece il livello 00 (la funzione ha un "piano" in 00): i livelli sono 0,±Δ,…0,\pm\Delta,\dots. Negli esercizi del corso si usa il mid-riser.

Esempio. L=8L=8 (b=3b=3) e Vsat=4V_{sat}=4 V: Δ=1\Delta=1 V; livelli ±0,5, ±1,5, ±2,5, ±3,5\pm0{,}5,\ \pm1{,}5,\ \pm2{,}5,\ \pm3{,}5 V; soglie −3,−2,−1,0,1,2,3-3,-2,-1,0,1,2,3 V. L'ingresso 1,21{,}2 V cade tra le soglie 11 e 22 e diventa 1,51{,}5 V (errore +0,3+0{,}3); l'ingresso −5-5 V è oltre −Vsat-V_{sat}, satura nel livello più basso −3,5-3{,}5 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 eq(mTs)=aq(mTs)−a(mTs)⟺aq=a+eq,e_q(mT_s)=a_q(mT_s)-a(mT_s)\quad\Longleftrightarrow\quad a_q=a+e_q, 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 eq(a)e_q(a) 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ù Δ2\frac\Delta2 (errore granulare); fuori dal range cresce linearmente con la distanza da VsatV_{sat} (errore di saturazione).

La potenza statistica dell'errore, con la densità pap_a del campione, si scrive come somma di tre integrali sulle tre zone dell'asse reale: E[eq2]=∫−∞−Vsat(Q0−u)2pa(u)du⏟saturazione+∫−VsatVsat(Q(u)−u)2pa(u)du⏟granulare+∫Vsat+∞(QL−1−u)2pa(u)du⏟saturazione.E\left[e_q^2\right]=\underbrace{\int_{-\infty}^{-V_{sat}}\left(Q_0-u\right)^2p_a(u)du}_{\text{saturazione}}+\underbrace{\int_{-V_{sat}}^{V_{sat}}\left(Q(u)-u\right)^2p_a(u)du}_{\text{granulare}}+\underbrace{\int_{V_{sat}}^{+\infty}\left(Q_{L-1}-u\right)^2p_a(u)du}_{\text{saturazione}}. È un calcolo complesso: si semplifica con due ipotesi.

  • (A) La probabilità di saturazione PsatP_{sat} è 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: Psat=P[∣a∣>Vsat]=∫∣u∣>Vsatpa(u) du.P_{sat}=P\left[\lvert a\rvert>V_{sat}\right]=\int_{\lvert u\rvert>V_{sat}}p_a(u)\,du. Per un segnale gaussiano a media nulla e varianza σ2\sigma^2: Psat=2Q(Vsatσ)P_{sat}=2Q\left(\frac{V_{sat}}\sigma\right). Per un esponenziale (solo valori positivi): Psat=e−λVsatP_{sat}=e^{-\lambda V_{sat}} (se il range parte da 0). Per una laplaciana: Psat=e−Vsat/bP_{sat}=e^{-V_{sat}/b}.
  • (B) LL è grande (Δ\Delta piccolo rispetto a come varia la densità). Dentro ogni intervallo la densità pap_a è quasi costante, quindi l'errore granulareerrore commesso dentro il range dinamico, al più mezzo passo è uniforme in [−Δ2,Δ2]\left[-\frac\Delta2,\frac\Delta2\right]: pe(e)=1Δrect⁡(eΔ)p_{e}(e)=\frac1\Delta\operatorname{rect}\left(\frac e\Delta\right). Perciò me=0,Me=E[e2]=1Δ∫−Δ/2Δ/2e2de=1Δ⋅23(Δ2)3=Δ212.m_e=0,\qquad M_e=E\left[e^2\right]=\frac1\Delta\int_{-\Delta/2}^{\Delta/2}e^2de=\frac1\Delta\cdot\frac{2}{3}\left(\frac\Delta2\right)^3=\boxed{\frac{\Delta^2}{12}.}

Il risultato è, per ee uniforme in un intervallo largo Δ\Delta, la varianza Δ212\frac{\Delta^2}{12} (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 VsatV_{sat} e LL

Probabilità dei livelli. Con la densità si calcola la probabilità di ogni livello, P[Qi]=∫Ripa(u) duP[Q_i]=\int_{\mathcal R_i}p_a(u)\,du. Per un gaussiano N(0,σ2)\mathcal N(0,\sigma^2) con L=8L=8, Δ=σ\Delta=\sigma (Vsat=4σV_{sat}=4\sigma):

Livello Regione (in unità di σ\sigma) Probabilità
±Δ2\pm\frac\Delta2 [0,1][0,1] Q(0)−Q(1)=0,3413Q(0)-Q(1)=0{,}3413
±3Δ2\pm\frac{3\Delta}2 [1,2][1,2] Q(1)−Q(2)=0,1359Q(1)-Q(2)=0{,}1359
±5Δ2\pm\frac{5\Delta}2 [2,3][2,3] Q(2)−Q(3)=0,0214Q(2)-Q(3)=0{,}0214
±7Δ2\pm\frac{7\Delta}2 [3,∞)[3,\infty) Q(3)=0,00135Q(3)=0{,}00135

(ciascuna per ognuno dei due livelli simmetrici; la somma 2(0,3413+0,1359+0,0214+0,00135)≈12(0{,}3413+0{,}1359+0{,}0214+0{,}00135)\approx1.) 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 Δ=VsatL\Delta=\frac{V_{sat}}L (manca il fattore 2 se il range è simmetrico [−Vsat,Vsat][-V_{sat},V_{sat}]; per un range [0,Vsat][0,V_{sat}] è Δ=VsatL\Delta=\frac{V_{sat}}L).
  • Scrivere il mid-riser con livello 00: i livelli sono a ±Δ2,±3Δ2,…\pm\frac\Delta2,\pm\frac{3\Delta}2,\dots.
  • Calcolare PsatP_{sat} con una sola coda per un segnale simmetrico: sono due code, 2Q(Vsatσ)2Q\left(\frac{V_{sat}}\sigma\right).
  • Applicare Δ212\frac{\Delta^2}{12} con LL piccolo o con PsatP_{sat} grande senza verificare le ipotesi.

Versione ripasso

Esercizi su questo argomento

Teoria collegata