Salta al contenuto
Note per Studenti Esercizio - canale binario non simmetrico, informazione mutua, Huffman ed Elias sulle coppie e canale a cancellazione (compito del 10 febbraio 2021, es. 123)

Esercizio - canale binario non simmetrico, informazione mutua, Huffman ed Elias sulle coppie e canale a cancellazione (compito del 10 febbraio 2021, es. 123)

In questa pagina 6

Testo (compito del 10 febbraio 2021, esercizio 123). Si consideri una sorgente di simboli indipendenti e identicamente distribuiti x(nT)∈{4,9}x(nT)\in\{4,9\}, con T=1T=1 ms. I simboli x(nT)x(nT) vengono trasmessi su un canale senza memoria che, in corrispondenza di x(nT)x(nT), presenta in uscita il simbolo y(nT)∈{0,1}y(nT)\in\{0,1\}. La matrice di transizione del canale sia [0,80,20,30,7],\begin{bmatrix}0{,}8&0{,}2\\0{,}3&0{,}7\end{bmatrix}, dove la prima e la seconda riga corrispondono a x(nT)=4x(nT)=4 e x(nT)=9x(nT)=9, rispettivamente, mentre la prima e la seconda colonna corrispondono a y(nT)=0y(nT)=0 e y(nT)=1y(nT)=1, rispettivamente, e l'elemento generico della matrice contiene P[y(nT)∣x(nT)]P[y(nT)|x(nT)] per i corrispondenti valori di ingresso e uscita.

  1. (2p) Dire se il canale è a) binario e/o b) simmetrico, motivando la risposta.
  2. (2p) Calcolare l'informazione mutua tra x(nT)x(nT) e y(nT)y(nT), assumendo P[x(nT)=4]=0,7P[x(nT)=4]=0{,}7.
  3. (2p) Trovare la densità di probabilità di x(nT)x(nT) che massimizza l'entropia di y(nT)y(nT).
  4. (3p) I simboli in uscita y(nT)y(nT) vengono raggruppati a coppie nel vettore y(2kT)=[y(2kT),y(2kT+T)]\mathbf y(2kT)=[y(2kT),y(2kT+T)], che viene codificato con un codice di sorgente che ha parole di codice con alfabeto binario. Assumendo P[x(nT)=4]=0,7P[x(nT)=4]=0{,}7, trovare un codice di sorgente ottimo. [variante: Assumendo P[x(nT)=4]=0,7P[x(nT)=4]=0{,}7, trovare il codice di Elias.] Calcolare la lunghezza media delle parole di codice.
  5. (2p) Trovare la capacità del canale senza memoria con ingresso x(nT)x(nT), uscita z(nT)∈{0,1,2}z(nT)\in\{0,1,2\}, e matrice di transizione [0,800,200,80,2].\begin{bmatrix}0{,}8&0&0{,}2\\0&0{,}8&0{,}2\end{bmatrix}.

Teoria usata: Tasso d'informazione, capacità di canale e teorema di ShannonUna sorgente che emette un simbolo ogni $T$ secondi ha tasso d'informazione $R=\frac{H_s}T$ [bit/s] ($H_s$ entropia per simbolo); un canale ha tasso $R(g)=\frac{I_s(x;y)}T\le R(x)$. La capacità è il massimo del tasso del canale su tutte le statistiche d'ingresso, $C=\max_{p_x}\frac{I(x;y)}T$ per un canale senza memoria. Teorema di Shannon: se il tasso nominale della sorgente è $R\le C$ esiste un codice di canale con probabilità d'errore piccola a piacere, se $R>C$ no. Capacità: BSC $C=\frac1T[1-h(P_{bit})]$, canale a cancellazione $C=\frac{1-\alpha}T$, AWGN reale $C=\frac1{2T}\log_2\left(1+\frac{E_s}{\sigma^2}\right)$; canali in parallelo sommano le capacità.Tasso d'informazione, capacità di canale e teorema di Shannon → (punti 1, 3, 5), 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 → (punto 2), 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 → (punto 4), Formula delle probabilità totali e formula di BayesSe (A_i) è una partizione di Ω, P(B) = Σ P(B ∣ A_i) P(A_i) (probabilità totali); la formula di Bayes inverte il condizionamento: P(A_k ∣ B) = P(B ∣ A_k) P(A_k) / P(B).Formula delle probabilità totali e formula di Bayes →. Un esercizio simile sul calcolo di entropie di una sorgente quaternaria: Esercizio 26 · entropia ed efficienza di una sorgente quaternaria e trasformazioni dei simboli (tema d'esame gennaio 2021).

(1) Il canale è binario? È simmetrico?

  • a) Binario: ingresso {4,9}\{4,9\} e uscita {0,1}\{0,1\} hanno entrambi due valori. Sì.
  • b) Simmetrico: un canale binario è simmetrico se P[y=1∣x=a]=P[y=0∣x=b]P[y=1|x=a]=P[y=0|x=b] per i due ingressi (cioè la probabilità d'errore è la stessa per i due simboli, e la matrice è simmetrica). Qui chiamando "errore" lo scambio dell'uscita attesa: P[y=1∣x=4]=0,2P[y=1|x=4]=0{,}2 ma P[y=0∣x=9]=0,3P[y=0|x=9]=0{,}3. Non è simmetrico.

(2) Informazione mutua con P[x=4]=0,7P[x=4]=0{,}7

Si usa I(x;y)=H(y)−H(y∣x)I(x;y)=H(y)-H(y|x) (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 →), con P[x=4]=0,7P[x=4]=0{,}7 e P[x=9]=0,3P[x=9]=0{,}3.

  1. Densità di yy (formula delle probabilità totali): P[y=0]=0,8⋅0,7+0,3⋅0,3=0,56+0,09=0,65,P[y=1]=1−0,65=0,35.P[y=0]=0{,}8\cdot0{,}7+0{,}3\cdot0{,}3=0{,}56+0{,}09=0{,}65,\qquad P[y=1]=1-0{,}65=0{,}35.
  2. H(y)H(y): H(y)=h(0,65)=0,65log⁡210,65+0,35log⁡210,35=0,4040+0,5301=0,934H(y)=h(0{,}65)=0{,}65\log_2\frac1{0{,}65}+0{,}35\log_2\frac1{0{,}35}=0{,}4040+0{,}5301=0{,}934 bit.
  3. H(y∣x)H(y|x): per x=4x=4 le uscite hanno probabilità (0,8;0,2)(0{,}8;0{,}2), quindi H(y∣x=4)=h(0,2)=0,7219H(y|x=4)=h(0{,}2)=0{,}7219; per x=9x=9: (0,3;0,7)(0{,}3;0{,}7), H(y∣x=9)=h(0,3)=0,8813H(y|x=9)=h(0{,}3)=0{,}8813. Mediando con P[x=4]=0,7P[x=4]=0{,}7 e P[x=9]=0,3P[x=9]=0{,}3: H(y∣x)=0,7⋅0,7219+0,3⋅0,8813=0,5053+0,2644=0,770 bit.H(y|x)=0{,}7\cdot0{,}7219+0{,}3\cdot0{,}8813=0{,}5053+0{,}2644=0{,}770\ \text{bit}.
  4. Informazione mutua: I(x;y)=0,934−0,770=0,164 bit per usoI(x;y)=0{,}934-0{,}770=0{,}164\ \text{bit per uso}.

(La capacità di questo canale, ottenuta massimizzando numericamente II su P[x=4]P[x=4], è 0,1910{,}191 bit per uso per P[x=4]=0,51P[x=4]=0{,}51: con 0,70{,}7 si resta sotto.)

(3) Densità di xx che massimizza H(y)H(y)

L'entropia di una variabile binaria è massima (11 bit) quando le due uscite sono equiprobabili: P[y=0]=12P[y=0]=\frac12. Con P[x=4]=pP[x=4]=p: P[y=0]=0,8 p+0,3 (1−p)=0,3+0,5 p=12 ⇒ p=0,20,5=0,4.P[y=0]=0{,}8\,p+0{,}3\,(1-p)=0{,}3+0{,}5\,p=\frac12\ \Rightarrow\ p=\frac{0{,}2}{0{,}5}=0{,}4. La densità è P[x=4]=0,4P[x=4]=0{,}4, P[x=9]=0,6P[x=9]=0{,}6, con H(y)=1H(y)=1 bit. Attenzione: massimizzare H(y)H(y) non è lo stesso che massimizzare I(x;y)I(x;y), perché per un canale non simmetrico H(y∣x)H(y|x) dipende da pp: con p=0,4p=0{,}4 si ha H(y∣x)=0,4⋅0,7219+0,6⋅0,8813=0,8176H(y|x)=0{,}4\cdot0{,}7219+0{,}6\cdot0{,}8813=0{,}8176 e I=1−0,8176=0,182I=1-0{,}8176=0{,}182 bit, minore della capacità 0,1910{,}191 bit (che si ottiene per p≃0,51p\simeq0{,}51).

(4) Codice ottimo e codice di Elias per le coppie di uscite

Con P[x=4]=0,7P[x=4]=0{,}7 si ha P[y=0]=0,65P[y=0]=0{,}65, P[y=1]=0,35P[y=1]=0{,}35 (punto 2). Poiché i simboli xx sono indipendenti e il canale è senza memoria, anche le uscite y(nT)y(nT) sono indipendenti, quindi le coppie hanno probabilità prodotto:

Coppia [y(2kT),y(2kT+T)][y(2kT),y(2kT+T)] PP
0000 0,652=0,42250{,}65^2=0{,}4225
0101 0,65⋅0,35=0,22750{,}65\cdot0{,}35=0{,}2275
1010 0,35⋅0,65=0,22750{,}35\cdot0{,}65=0{,}2275
1111 0,352=0,12250{,}35^2=0{,}1225

(somma 0,4225+2⋅0,2275+0,1225=10{,}4225+2\cdot0{,}2275+0{,}1225=1 ✓).

Huffman. Si uniscono 0,1225+0,2275=0,350{,}1225+0{,}2275=0{,}35 (coppie 1111 e 0101), poi 0,35+0,2275=0,57750{,}35+0{,}2275=0{,}5775 (con 1010), poi 0,5775+0,4225=10{,}5775+0{,}4225=1. Il codice è 00→0,10→10,11→110,01→111(lunghezze 1,2,3,3).00\to0,\quad10\to10,\quad11\to110,\quad01\to111\quad(\text{lunghezze }1,2,3,3). Ly=0,4225⋅1+0,2275⋅2+0,1225⋅3+0,2275⋅3=0,4225+0,455+0,3675+0,6825=1,9275 bit per coppia,L_y=0{,}4225\cdot1+0{,}2275\cdot2+0{,}1225\cdot3+0{,}2275\cdot3=0{,}4225+0{,}455+0{,}3675+0{,}6825=1{,}9275\ \text{bit per coppia}, controllo con i nodi interni: 0,35+0,5775+1=1,92750{,}35+0{,}5775+1=1{,}9275 ✓. L'entropia della coppia è 2H(y)=1,8682H(y)=1{,}868 bit, quindi 1,868≤1,9275<2,8681{,}868\le1{,}9275<2{,}868 ✓.

Variante, codice di Elias. Si dispongono le coppie nell'ordine 00,01,10,1100,01,10,11 e si divide [0,1)[0,1) in segmenti di ampiezza pari alle probabilità; lunghezze l=⌈−log⁡2P⌉+1l=\lceil-\log_2P\rceil+1 (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 →):

Coppia PP Intervallo mm ll Parola
0000 0,42250{,}4225 [0; 0,4225)[0;\ 0{,}4225) 0,211250{,}21125 ⌈1,243⌉+1=3\lceil1{,}243\rceil+1=3 001001
0101 0,22750{,}2275 [0,4225; 0,65)[0{,}4225;\ 0{,}65) 0,536250{,}53625 ⌈2,137⌉+1=4\lceil2{,}137\rceil+1=4 10001000
1010 0,22750{,}2275 [0,65; 0,8775)[0{,}65;\ 0{,}8775) 0,763750{,}76375 44 11001100
1111 0,12250{,}1225 [0,8775; 1)[0{,}8775;\ 1) 0,938750{,}93875 ⌈3,029⌉+1=5\lceil3{,}029\rceil+1=5 1111011110

Conversione di m=0,21125m=0{,}21125 (raddoppiando e prendendo la parte intera): 0,4225→00{,}4225\to0, 0,845→00{,}845\to0, 1,69→11{,}69\to1: le prime 33 cifre sono 001001. Lunghezza media: LE=0,4225⋅3+(0,2275+0,2275)⋅4+0,1225⋅5=1,2675+1,82+0,6125=3,7 bit per coppia.L_E=0{,}4225\cdot3+(0{,}2275+0{,}2275)\cdot4+0{,}1225\cdot5=1{,}2675+1{,}82+0{,}6125=3{,}7\ \text{bit per coppia}. Le parole dipendono dall'ordine in cui si dispongono le coppie (la soluzione del corso ne riporta altre, con lo stesso insieme di lunghezze 3,4,4,53,4,4,5), ma la lunghezza media è 3,73{,}7 bit in ogni caso: quasi il doppio di quella di Huffman (1,92751{,}9275).

(5) Capacità del canale a cancellazione

La matrice [0,800,200,80,2]\begin{bmatrix}0{,}8&0&0{,}2\\0&0{,}8&0{,}2\end{bmatrix} ha, per ciascun ingresso, l'uscita corretta (che coincide con l'ingresso) con probabilità 0,80{,}8 e un terzo simbolo z=2z=2 con probabilità 0,20{,}2, uguale per i due ingressi: è un canale binario con cancellazione con probabilità di cancellazione α=0,2\alpha=0{,}2. La sua capacità, con ingresso uniforme, è (Tasso d'informazione, capacità di canale e teorema di ShannonUna sorgente che emette un simbolo ogni $T$ secondi ha tasso d'informazione $R=\frac{H_s}T$ [bit/s] ($H_s$ entropia per simbolo); un canale ha tasso $R(g)=\frac{I_s(x;y)}T\le R(x)$. La capacità è il massimo del tasso del canale su tutte le statistiche d'ingresso, $C=\max_{p_x}\frac{I(x;y)}T$ per un canale senza memoria. Teorema di Shannon: se il tasso nominale della sorgente è $R\le C$ esiste un codice di canale con probabilità d'errore piccola a piacere, se $R>C$ no. Capacità: BSC $C=\frac1T[1-h(P_{bit})]$, canale a cancellazione $C=\frac{1-\alpha}T$, AWGN reale $C=\frac1{2T}\log_2\left(1+\frac{E_s}{\sigma^2}\right)$; canali in parallelo sommano le capacità.Tasso d'informazione, capacità di canale e teorema di Shannon →) C=1−αT=1−0,210−3 s=800 bit/s.C=\frac{1-\alpha}T=\frac{1-0{,}2}{10^{-3}\ \text{s}}=800\ \text{bit/s}. Perché: H(z∣x)=h(α)H(z|x)=h(\alpha) non dipende dall'ingresso, mentre H(z)=(1−α)h(P[x=4])+h(α)H(z)=(1-\alpha)h(P[x=4])+h(\alpha), e I=(1−α)h(P[x=4])I=(1-\alpha)h(P[x=4]) è massima per P[x=4]=12P[x=4]=\frac12. (Controllo numerico: massimizzando II su P[x=4]P[x=4] si ottiene 0,80{,}8 bit per uso in P[x=4]=0,5P[x=4]=0{,}5.)

(Verificato con Python: h(0,65)=0,93407h(0{,}65)=0{,}93407, H(y∣x)=0,76974H(y|x)=0{,}76974, I=0,16433I=0{,}16433, p=0,4p=0{,}4, Huffman Ly=1,9275L_y=1{,}9275, Elias LE=3,7L_E=3{,}7 con parole 001,1000,1100,11110001,1000,1100,11110, capacità del canale a cancellazione 0,80{,}8 bit per uso.)

Errori comuni

  • Dire che il canale è simmetrico perché è binario: serve che P[y=1∣x=4]=P[y=0∣x=9]P[y=1|x=4]=P[y=0|x=9].
  • Calcolare H(y∣x)H(y|x) senza pesare con P[x]P[x] le due entropie delle righe.
  • Massimizzare H(y)H(y) e chiamare il risultato "capacità": per i canali non simmetrici l'ingresso ottimo per II è diverso.
  • Per le coppie, usare P[y=0]=0,8P[y=0]=0{,}8 (la probabilità condizionata a x=4x=4) invece di P[y=0]=0,65P[y=0]=0{,}65.
  • In Elias, usare ⌈−log⁡2P⌉\lceil-\log_2P\rceil senza il +1+1.
  • Per il canale con tre uscite, non riconoscere la cancellazione: le righe sono "identità più una colonna costante".

Versione ripasso

Testo. x∈{4,9}x\in\{4,9\} iid, T=1T=1 ms; matrice [0,80,20,30,7]\begin{bmatrix}0{,}8&0{,}2\\0{,}3&0{,}7\end{bmatrix}. Binario/simmetrico?; II con P[x=4]=0,7P[x=4]=0{,}7; P[x]P[x] che massimizza H(y)H(y); coppie di yy: Huffman (variante Elias) e LyL_y; capacità del canale [0,800,200,80,2]\begin{bmatrix}0{,}8&0&0{,}2\\0&0{,}8&0{,}2\end{bmatrix}.

Teoria collegata