Esercizio - progetto di un quantizzatore non uniforme
In questa pagina 6
Testo (approfondimento facoltativo del corso). Un segnale aleatorio ha ampiezza con densità lineare crescente: nulla fino a , che sale con una retta fino al valore in , e nulla dopo. Se ne ricavino il valor medio e la potenza . Si considera una quantizzazione generica con rappresentazione dei valori a bit, cioè con tre soglie nell'intervallo : quale intervallo conviene? In generale, se è l'uscita del quantizzatore, il valor medio dell'errore di quantizzazione è : si ricavi (suggerimento: si faccia il conto sui diversi intervalli di quantizzazione) e da esso la media di . Con procedura analoga si ricavi la potenza dell'errore di quantizzazione (conviene scriverla in modo letterale, così è più generale). Si verifichi che un quantizzatore uniforme mid-riser a bit ottiene più o meno le stesse prestazioni previste dalla formula teorica (nonostante le ipotesi sull'errore non siano verificate). Sfida: poiché non ha distribuzione uniforme, il quantizzatore uniforme non è la scelta migliore possibile: si riesce a fare di meglio? Si dovrebbe migliorare di circa dB. Qualcuno sostiene di esserci riuscito addirittura con un quantizzatore mid-tread (che cosa vuol dire in questo caso?).
Teoria usata: 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 →, Valore attesoIl valore atteso E[X] = Σ x p_X(x) è la media dei valori di X pesata con le loro probabilità (esiste se la serie converge assolutamente); per una funzione g vale E[g(X)] = Σ g(x) p_X(x) senza trovare la legge di g(X), ed E è lineare: E[aX + bY + c] = aE[X] + bE[Y] + c.Valore atteso →, Varianza e momentiI momenti E[X^k] e i momenti centrati E[(X − μ)^k] descrivono la forma di una legge; la varianza Var(X) = E[(X − μ)²] = E[X²] − E[X]² misura quanto X si disperde attorno alla media, vale Var(aX + b) = a² Var(X) e Var(X) = 0 solo se X è costante.Varianza e momenti →.
Densità, media e potenza
La retta passa per e , quindi per . Area: ✓. Media e potenza: (la parte dispari dell'integranda si annulla sull'intervallo simmetrico); varianza . Il segnale non ha media nulla. Da qui in poi (i risultati si moltiplicano per o ).
Quale intervallo:
La densità è nulla fuori da : con non c'è saturazione e tutti i livelli sono usati; con si saturerebbe, con si sprecherebbe risoluzione. Non conviene centrare il segnale sottraendo la media (come si fa a volte): occuperebbe , un intervallo più ampio.
Media e potenza dell'errore di un quantizzatore generico
Siano le quattro regioni (tre soglie), i livelli, e Il valor medio dell'uscita si ottiene sommando sugli intervalli di quantizzazione (ogni diventa ): La potenza dell'errore è la somma degli integrali sulle regioni:
Quantizzatore uniforme mid-riser a bit
; soglie ; livelli . Con (per ) e : (somma ✓: i livelli più alti sono più probabili). Quindi l'errore ha una media non nulla (il quantizzatore, simmetrico, "sposta" leggermente verso il basso).
Potenza dell'errore. In ogni regione la densità è lineare, con e (il valore della retta nel punto medio è il valore medio sulla regione). Allora Il termine dispari si annulla: per una densità lineare in ogni regione la potenza dell'errore è esattamente . Qui : (regione per regione: ). Quindi la formula teorica , ricavata per errore uniforme e passo piccolo, qui è esatta, e conferma la robustezza dell'analisi: vale in buona approssimazione anche quando i gradini sono larghi. L'SNR è (L'errore ha media : se la si toglie, la varianza dell'errore è , di poco inferiore.)
Il quantizzatore migliore (Lloyd-Max)
Il quantizzatore ottimo (minima per fissato) soddisfa due condizioni che si impongono a vicenda:
- le soglie sono i punti medi tra livelli adiacenti: (ogni campione va al livello più vicino);
- ogni livello è il baricentro della propria regione: .
Con i livelli ai baricentri e ; inoltre , quindi . Qui il baricentro di è e si risolve per iterazione: si parte dal quantizzatore uniforme, si calcolano i baricentri, poi le nuove soglie come punti medi, e si ripete fino a convergenza. Si trova (con ) Guadagno sull'uniforme: dB (il "circa dB" del testo). I livelli ottimi si addensano dove c'è più probabilità (a destra) e il secondo livello cade praticamente nello zero.
Mid-tread. Un quantizzatore mid-tread ha un livello esattamente in (la caratteristica ha un tratto piatto in zero). Il risultato precedente dice che qui è la scelta naturale: il quantizzatore ottimo ha già un livello a . Imponendo il livello in zero e ottimizzando soglie e altri livelli si ottiene praticamente identico al Lloyd-Max: un mid-tread con livelli (asimmetrico, perché la densità lo è) raggiunge lo stesso guadagno di circa dB. Un mid-tread uniforme con passo (livelli ) dà già dB, meglio del mid-riser uniforme ( dB).
Riepilogo
| quantizzatore | soglie | livelli | SNR | |
|---|---|---|---|---|
| uniforme mid-riser | dB | |||
| ottimo (Lloyd-Max) | dB | |||
| ottimo mid-tread | dB |
Versione ripasso
Densità. per (Valore attesoIl valore atteso E[X] = Σ x p_X(x) è la media dei valori di X pesata con le loro probabilità (esiste se la serie converge assolutamente); per una funzione g vale E[g(X)] = Σ g(x) p_X(x) senza trovare la legge di g(X), ed E è lineare: E[aX + bY + c] = aE[X] + bE[Y] + c.Valore atteso →, Varianza e momentiI momenti E[X^k] e i momenti centrati E[(X − μ)^k] descrivono la forma di una legge; la varianza Var(X) = E[(X − μ)²] = E[X²] − E[X]² misura quanto X si disperde attorno alla media, vale Var(aX + b) = a² Var(X) e Var(X) = 0 solo se X è costante.Varianza e momenti →).
- , , . Non ha media nulla.
Intervallo. : con non c'è saturazione.
Uniforme mid-riser a bit (con )
- , livelli , ; .
- , .
- (esatta, perché la densità è lineare in ogni regione), , cioè dB (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 →).
Lloyd-Max (soglie al punto medio, livelli al baricentro, per iterazione)
- Soglie , , ; livelli , , , .
- , dB: guadagno di sull'uniforme.
Mid-tread. Un livello esattamente in : il Lloyd-Max ha già ; con livello in zero e livelli si ottiene lo stesso dB.
Errori tipici
- Usare senza ricordare che vale solo se la densità è lineare in ogni regione.
- Confondere con la varianza dell'errore.
- Centrare il segnale togliendo la media: l'intervallo diventa più ampio.
- Intervallo centrato sulla media (togliendo ) occuperebbe , più largo: non conviene.
- Mid-tread uniforme con passo (livelli ): dB, meglio del mid-riser uniforme ( dB).
- Errore granulare esatto per densità lineare nelle regioni: , regione per regione .
- Lloyd-Max: soglie = punti medi, livelli = baricentri, ottenuti per iterazione.
- Il quantizzatore ottimo ha un livello vicino a zero: per questo il mid-tread è la scelta naturale.