Esercizio - quantizzatore a due livelli, canale a quattro uscite e codice di Huffman delle coppie (esame del 30 agosto 2024, es. 182)
In questa pagina 5
Testo (esame del 30 agosto 2024, esercizio 182). Una variabile aleatoria continua , uniforme tra e , viene quantizzata con un quantizzatore uniforme a due livelli con valore di saturazione . La variabile aleatoria è ottenuta all'uscita di un canale con matrice delle probabilità di transizione (con elementi )
- (3p) Calcolare la probabilità di saturazione e l'entropia dei valori quantizzati di .
- (3p) Calcolare l'entropia di .
- (3p) Calcolare la lunghezza media delle parole del codice ottimo che codifica le coppie .
Teoria usata: Quantizzazione uniforme - saturazione, errore granulare e SNR di quantizzazioneUn quantizzatore uniforme a L = 2^b livelli e range [−v_sat, v_sat] ha passo Δ = 2v_sat/L. L'errore e = x − x^(q) è di saturazione fuori range (illimitato, da rendere raro con P_sat piccola) e granulare dentro (|e| ≤ Δ/2, uniforme con potenza Δ²/12). L'SNR di quantizzazione Λ_q = E[x²]/E[e²] vale in decibel 20log₁₀(σ_x/v_sat) + 4,77 + 6,02·b: ogni bit in più dà 6 dB. Per b minimo che garantisce una specifica: ⌈(specifica − c)/6,02⌉ con c = 20log₁₀(σ_x/v_sat) + 4,77.Quantizzazione uniforme - saturazione, errore granulare e SNR di quantizzazione →, Entropia - informazione di un evento, disuguaglianza di Jensen e valore massimoL'informazione di un evento di probabilità $P$ è $i=\log_2\frac1P$ bit (zero per l'evento certo, additiva per eventi indipendenti). L'entropia di una variabile aleatoria discreta è l'informazione media, $H(x)=E[i_x(x)]=\sum_aP_x(a)\log_2\frac1{P_x(a)}$; vale $0\le H(x)\le\log_2M$ con $M$ cardinalità dell'alfabeto, e il massimo $\log_2M$ si raggiunge se e solo se i simboli sono equiprobabili (dimostrazione con la disuguaglianza di Jensen, perché il logaritmo è strettamente concavo).Entropia - informazione di un evento, disuguaglianza di Jensen e valore massimo →, Entropia congiunta e condizionata e informazione mutuaPer due variabili aleatorie discrete $x,y$ l'entropia congiunta è $H(x,y)=E\left[\log_2\frac1{P_{x,y}(x,y)}\right]$ e vale $\max{H(x),H(y)}\le H(x,y)\le H(x)+H(y)$, con l'uguaglianza a destra se e solo se $x$ e $y$ sono indipendenti e $H(x,y)=H(x)$ se $y=f(x)$. L'entropia condizionata $H(x|y)=E_y[H(x|y=y)]$ soddisfa la regola della catena $H(x,y)=H(x|y)+H(y)=H(y|x)+H(x)$. L'informazione mutua $I(x;y)=H(x)+H(y)-H(x,y)=H(x)-H(x|y)=H(y)-H(y|x)$ è simmetrica, $0\le I\le\min{H(x),H(y)}$, nulla per variabili indipendenti.Entropia congiunta e condizionata e informazione mutua →, Codici di Shannon, Huffman ed Elias e codifica aritmeticaIl codice di Shannon(-Fano) assegna alla parola $i$ lunghezza $l_i=\lceil-\log_{M_y}p_i\rceil$, soddisfa Kraft-McMillan e ha $H\le L_y<H+1$; è ottimo solo se le probabilità sono potenze di $\frac1{M_y}$. Il codice ottimo (lunghezza media minima) dà parole più lunghe ai simboli meno probabili e ha almeno due parole di lunghezza massima che differiscono solo nell'ultimo simbolo: lo costruisce la procedura di Huffman, che unisce a ogni passo i due nodi meno probabili. Il codice di Elias prende le prime $l_i=\lceil-\log_2p_i\rceil+1$ cifre del punto medio dell'intervallo di ampiezza $p_i$ in $[0,1)$: è a prefisso ma subottimo ($H+1\le L_y<H+2$), e si adatta alla codifica aritmetica adattativa.Codici di Shannon, Huffman ed Elias e codifica aritmetica →, Probabilità per le telecomunicazioni - eventi e variabili aleatorie discreteGli eventi hanno probabilità tra 0 e 1 e P(x∪y) = P(x) + P(y) − P(x∩y). Una variabile aleatoria discreta ha un alfabeto A_x e una densità p_x(a) = P(x = a) con somma 1. Si definiscono probabilità condizionata, indipendenza (p_{x,y}(a,b) = p_x(a)p_y(b)), valore atteso E(x) = m_x, potenza M_x = E(x²), varianza σ_x² con M_x = m_x² + σ_x²; l'aspettazione è lineare e per variabili indipendenti E(xy) = E(x)E(y).Probabilità per le telecomunicazioni - eventi e variabili aleatorie discrete →.
Notazione. Nella matrice l'indice della riga è il valore quantizzato di (il canale ha come ingresso l'uscita del quantizzatore, che ha due livelli): la riga corrisponde al livello più basso e la riga al livello più alto (livelli in ordine crescente; è l'ordine usato dalla soluzione del corso). Ogni riga è una densità su e somma a ( e ).
Grafico interattivo: Densità di x, uniforme su [−6, 4] (altezza 1/10): il quantizzatore a due livelli ha range [−5,8; 5,8], e l'unico pezzetto di densità fuori range è [−6; −5,8], area colorata 0,02 = P_sat
(1) Probabilità di saturazione e entropia dei valori quantizzati
Probabilità di saturazione. . La densità è su e altrove. A destra il segnale non supera , quindi non c'è saturazione. A sinistra va in saturazione l'intervallo , di larghezza :
Entropia dei valori quantizzati. Con livelli , l'unica soglia è in e i livelli sono . Un campione va al livello se (compresa la saturazione) e a se : L'entropia, in bit, è
(2) Entropia di
Per le probabilità totali sull'ingresso del canale, con e :
La somma è . L'entropia è
(3) Codice ottimo (Huffman) per le coppie
Le coppie hanno probabilità , che sono i numeri della tabella sopra: riga : ; riga : per tutte e quattro. Ci sono coppie, e e sono dipendenti (le righe di sono diverse): non si possono trattare come due sorgenti separate. Il codice ottimo è quello di Huffman applicato alle probabilità (Codici di Shannon, Huffman ed Elias e codifica aritmeticaIl codice di Shannon(-Fano) assegna alla parola $i$ lunghezza $l_i=\lceil-\log_{M_y}p_i\rceil$, soddisfa Kraft-McMillan e ha $H\le L_y<H+1$; è ottimo solo se le probabilità sono potenze di $\frac1{M_y}$. Il codice ottimo (lunghezza media minima) dà parole più lunghe ai simboli meno probabili e ha almeno due parole di lunghezza massima che differiscono solo nell'ultimo simbolo: lo costruisce la procedura di Huffman, che unisce a ogni passo i due nodi meno probabili. Il codice di Elias prende le prime $l_i=\lceil-\log_2p_i\rceil+1$ cifre del punto medio dell'intervallo di ampiezza $p_i$ in $[0,1)$: è a prefisso ma subottimo ($H+1\le L_y<H+2$), e si adatta alla codifica aritmetica adattativa.Codici di Shannon, Huffman ed Elias e codifica aritmetica →): Ad ogni passo si uniscono i due simboli meno probabili:
- ;
- ;
- ;
- ;
- ;
- ; infine .
Leggendo l'albero dalla radice (ramo verso , ramo verso ) si ottiene, per esempio:
| coppia | probabilità | parola | lunghezza |
|---|---|---|---|
| in | |||
| tre coppie da |
La lunghezza media è la somma di probabilità per lunghezza: ; ; ; (tre coppie da con parola di bit); ; . Somma: Verifica con la teoria: l'entropia congiunta delle coppie è bit e il codice ottimo soddisfa : , e il codice è molto vicino al limite. (La soluzione del corso riporta lo stesso valore, bit, con un altro codice di uguale lunghezza media.)
Se si numerano i livelli in modo diverso
Se invece la riga di fosse associata al livello positivo (probabilità ), si avrebbe , e il codice di Huffman delle coppie avrebbe : l'assegnazione dei livelli alle righe conta, e il testo non la dichiara. Qui si segue quella della soluzione del corso (livelli in ordine crescente, prima riga livello negativo, probabilità ).
(Verifica con Python: , , , , Huffman ed ; per la numerazione opposta e .)
Errori comuni
- Calcolare con due code: la densità finisce in , quindi la coda destra è nulla.
- Assegnare a probabilità perché i livelli sono due: l'intervallo è più largo di .
- Dare a la densità della riga di senza pesare con .
- Codificare separatamente e : sono dipendenti, il codice ottimo va costruito sulla congiunta.
- Sbagliare l'ordine dei passi di Huffman: ad ogni passo si fondono sempre i due meno probabili.
Versione ripasso
Testo. uniforme su , quantizzatore a livelli con ; uscita di un canale con . (1) ed entropia dei valori quantizzati. (2) . (3) Lunghezza media del codice ottimo per le coppie .
(Quantizzazione uniforme - saturazione, errore granulare e SNR di quantizzazioneUn quantizzatore uniforme a L = 2^b livelli e range [−v_sat, v_sat] ha passo Δ = 2v_sat/L. L'errore e = x − x^(q) è di saturazione fuori range (illimitato, da rendere raro con P_sat piccola) e granulare dentro (|e| ≤ Δ/2, uniforme con potenza Δ²/12). L'SNR di quantizzazione Λ_q = E[x²]/E[e²] vale in decibel 20log₁₀(σ_x/v_sat) + 4,77 + 6,02·b: ogni bit in più dà 6 dB. Per b minimo che garantisce una specifica: ⌈(specifica − c)/6,02⌉ con c = 20log₁₀(σ_x/v_sat) + 4,77.Quantizzazione uniforme - saturazione, errore granulare e SNR di quantizzazione →, Codici di Shannon, Huffman ed Elias e codifica aritmeticaIl codice di Shannon(-Fano) assegna alla parola $i$ lunghezza $l_i=\lceil-\log_{M_y}p_i\rceil$, soddisfa Kraft-McMillan e ha $H\le L_y<H+1$; è ottimo solo se le probabilità sono potenze di $\frac1{M_y}$. Il codice ottimo (lunghezza media minima) dà parole più lunghe ai simboli meno probabili e ha almeno due parole di lunghezza massima che differiscono solo nell'ultimo simbolo: lo costruisce la procedura di Huffman, che unisce a ogni passo i due nodi meno probabili. Il codice di Elias prende le prime $l_i=\lceil-\log_2p_i\rceil+1$ cifre del punto medio dell'intervallo di ampiezza $p_i$ in $[0,1)$: è a prefisso ma subottimo ($H+1\le L_y<H+2$), e si adatta alla codifica aritmetica adattativa.Codici di Shannon, Huffman ed Elias e codifica aritmetica →)
- (1) Fuori range solo : (a destra ). Soglia in , livelli : , ; bit.
- (2) Riga livello negativo (): , bit.
- (3) Coppie : e quattro da . Huffman: , , , , , ; lunghezze (), (, , tre da ), (, un ). bit ().
- Attenzione: con la numerazione opposta ( sulla riga ) e . e sono dipendenti: si codifica la congiunta.
- Albero di Huffman: ; ; ; ; ; . Codice: (prefisso). Tabella di : .
- Errori: due code in ; livelli equiprobabili; senza i pesi ; codici separati per e .
Teoria collegata
- Quantizzazione uniforme - saturazione, errore granulare e SNR di quantizzazione
- Entropia - informazione di un evento, disuguaglianza di Jensen e valore massimo
- Entropia congiunta e condizionata e informazione mutua
- Codici di Shannon, Huffman ed Elias e codifica aritmetica
- Probabilità per le telecomunicazioni - eventi e variabili aleatorie discrete