Salta al contenuto
Note per Studenti Tasso d'informazione, capacità di canale e teorema di Shannon

Tasso d'informazione, capacità di canale e teorema di Shannon

In questa pagina 11

Le due note precedenti hanno dato gli strumenti: entropia (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 →) e informazione mutua (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 →). Ora si mettono in un sistema di comunicazione: quanti bit al secondo produce una sorgente, quanti ne può portare un canale, e a quali condizioni si può trasmettere senza errori (con probabilità d'errore piccola a piacere).

Versione per Ing. Elettronica: Capacità di canale - canale binario simmetrico, a cancellazione e AWGNLa capacità $C=\max_{p_x}I(x;y)$ è il massimo di informazione mutua tra ingresso e uscita del canale; per il teorema di Shannon si può comunicare con probabilità d'errore arbitrariamente piccola se e solo se il rate è minore di $C$. Per il canale binario simmetrico $C=1-H_2(p)$ bit per uso (ingresso uniforme), per il canale a cancellazione $C=1-\varepsilon$, per l'AWGN $C=\frac12\log_2(1+\text{SNR})$ per uso reale, cioè $C=B\log_2(1+\text{SNR})$ bit/s su una banda $B$. Il limite $R_b<C$ dà il minimo $\frac{E_b}{N_0}\ge\frac{2^\nu-1}\nu$ ($-1{,}59$ dB per $\nu\to0$).Capacità di canale - canale binario simmetrico, a cancellazione e AWGN →. Versione per Ing. delle Telecomunicazioni: Capacità di canaleLa capacità di un canale è il massimo, sulle statistiche di ingresso, della velocità di informazione $R=F,I_s(\mathbf c,\tilde{\mathbf c})$ (informazione mutua per simbolo per la velocità di simbolo). Teorema di Shannon: se la velocità informativa è $R<C$ esistono codici con probabilità d'errore residua piccola a piacere; se $R>C$ no. BSC senza memoria: $C_s=1+P\log_2P+(1-P)\log_2(1-P)$ bit/simbolo. Canale AWGN: $C=B\log_2(1+\mathrm{SNR})$ con $\mathrm{SNR}=P_{rx}/(N_0B)$; per $B\to\infty$ la capacità non cresce indefinitamente ma tende a $P_{rx}/(N_0\ln2)$. Limite per il rapporto $E_b/N_0$: $\ge\ln2=-1{,}59$ dB.Capacità di canale →.

Sorgente, canale e destinazione

Lo schema della teoria dell'informazione è

SORGENTE → xn  CANALE → yn  DESTINAZIONE.\text{SORGENTE}\ \xrightarrow{\ x_n\ }\ \boxed{\text{CANALE}}\ \xrightarrow{\ y_n\ }\ \text{DESTINAZIONE}.

La sorgente emette il simbolo xnx_n al tempo discreto nTnT, con valori in un alfabeto Ax\mathcal A_x (segnale digitale); TT è il periodo di simbolo. All'uscita del canale c'è il simbolo yny_n in un alfabeto Ay\mathcal A_y. Il canale è descritto dalle probabilità di transizione Py∣x(b∣a)P_{y|x}(b|a); è senza memoria se l'uscita yny_n dipende solo dall'ingresso xnx_n dello stesso istante, e le transizioni sono le stesse a ogni istante.

Entropia per simbolo e tasso d'informazione

Se si considera una sequenza (vettore) di simboli x‾=[x−N,…,xN]\underline x=[x_{-N},\dots,x_N] lunga 2N+12N+1, la sua entropia H(x‾)H(\underline x) cresce con la lunghezza: per simboli indipendenti ed equidistribuiti (i.i.d., si dice anche "equidistribuiti" per dire che hanno la stessa densità) H(x‾)=∑nH(xn)=(2N+1)H(xn) →N→∞ ∞.H(\underline x)=\sum_nH(x_n)=(2N+1)H(x_n)\ \xrightarrow{N\to\infty}\ \infty. Per confrontare sorgenti diverse si divide per la lunghezza L(x‾)L(\underline x) del vettore.

Definizione (entropia per simbolo). Hs(x‾)=H(x‾)L(x‾),Hs(x‾)=lim⁡N→∞H([x−N,…,xN])2N+1 per sequenze infinite.H_s(\underline x)=\frac{H(\underline x)}{L(\underline x)},\qquad H_s(\underline x)=\lim_{N\to\infty}\frac{H([x_{-N},\dots,x_N])}{2N+1}\ \text{per sequenze infinite.} Per simboli i.i.d. Hs(x‾)=H(xn)H_s(\underline x)=H(x_n).

Esempio (finestra di attività). Una sorgente emette PP simboli attivi indipendenti con Px(1)=Px(−1)=0,5P_x(1)=P_x(-1)=0{,}5 (ciascuno con H=1H=1 bit), preceduti e seguiti da simboli sempre nulli (Px(0)=1P_x(0)=1, H=0H=0). La sequenza infinita ha H(x‾)=P⋅1=PH(\underline x)=P\cdot1=P bit, finita, quindi Hs=lim⁡P2N+1=0H_s=\lim\frac P{2N+1}=0. L'entropia per simbolo dice che, in media su un tempo infinito, il messaggio ha informazione trascurabile: conta la finestra attiva, non il silenzio.

Se la sorgente emette un simbolo ogni TT secondi, il numero di bit al secondo di informazione prodotta è il tasso d'informazione:

Definizione (tasso d'informazione della sorgente). R(x‾)=Hs(x‾)T[bit/s],1T=simboli al secondo.R(\underline x)=\frac{H_s(\underline x)}T\quad[\text{bit/s}],\qquad\frac1T=\text{simboli al secondo}.

Il tasso nominale è invece quello dei simboli presi come se fossero equiprobabili: Rnom=log⁡2MsTsR_{\text{nom}}=\frac{\log_2M_s}{T_s} (MsM_s cardinalità dell'alfabeto). Poiché Hs≤log⁡2MsH_s\le\log_2M_s (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 →) vale sempre R≤RnomR\le R_{\text{nom}}.

Tasso d'informazione del canale e capacità

Con la stessa idea, l'informazione mutua per simbolo tra due sequenze è Is(x‾;y‾)=Hs(x‾)+Hs(y‾)−Hs(x‾,y‾).I_s(\underline x;\underline y)=H_s(\underline x)+H_s(\underline y)-H_s(\underline x,\underline y).

Definizione (tasso d'informazione del canale gg). R(g)=Is(x‾;y‾)T[bit/s],x‾=ingresso, y‾=uscita.R(g)=\frac{I_s(\underline x;\underline y)}T\quad[\text{bit/s}],\qquad\underline x=\text{ingresso},\ \underline y=\text{uscita}.

Dipende dal canale (la transizione Py∣xP_{y|x}) e dall'ingresso (la densità px‾p_{\underline x}), perché Is=Hs(x‾)−Hs(x‾∣y‾)I_s=H_s(\underline x)-H_s(\underline x|\underline y). Poiché Is≤min⁡{Hs(x‾),Hs(y‾)}≤Hs(x‾)I_s\le\min\{H_s(\underline x),H_s(\underline y)\}\le H_s(\underline x), si ha R(g)≤R(x‾)R(g)\le R(\underline x): il canale non può trasportare più informazione di quanta ne produca la sorgente.

Definizione (capacità di un canale). È il massimo del tasso d'informazione del canale al variare di tutte le statistiche dell'ingresso: C=max⁡px‾R(g)[bit/s].\boxed{C=\max_{p_{\underline x}}R(g)\quad[\text{bit/s}].} Per un canale senza memoria con simboli indipendenti l'informazione mutua per simbolo è I(xn;yn)I(x_n;y_n) e quindi C=max⁡pxI(x;y)TC=\max_{p_x}\frac{I(x;y)}T.

Per un canale senza memoria il calcolo si riduce a una ricerca di massimo: si sceglie la densità d'ingresso pxp_x che rende massima I(x;y)=H(y)−H(y∣x)I(x;y)=H(y)-H(y|x). Si procede così: (1) si trova PyP_y in funzione di pxp_x (formula delle probabilità totali, 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 →); (2) si calcola H(y∣x)=∑aPx(a)H(y∣x=a)H(y|x)=\sum_aP_x(a)H(y|x=a), che usa solo le righe della matrice del canale; (3) si massimizza.

Esempio (canale MM-ario deterministico). Alfabeti Ax=Ay={1,…,5}\mathcal A_x=\mathcal A_y=\{1,\dots,5\}, con transizioni deterministiche: 1→21\to2, 2→42\to4, 3→13\to1, 4→14\to1, 5→15\to1 (probabilità 11).

  • Con ingresso uniforme su 55 simboli (Px=15P_x=\frac15): Py(1)=35P_y(1)=\frac35, Py(2)=Py(4)=15P_y(2)=P_y(4)=\frac15, gli altri 00. Poiché il canale è deterministico H(y∣x)=0H(y|x)=0 e I(x;y)=H(y)=15log⁡25+15log⁡25+35log⁡253=1,371I(x;y)=H(y)=\frac15\log_25+\frac15\log_25+\frac35\log_2\frac53=1{,}371 bit.
  • Con ingresso uniforme sui soli simboli {1,2,3}\{1,2,3\} (probabilità 13\frac13) le uscite sono 2,4,12,4,1, tutte diverse, quindi H(y)=log⁡23=1,585H(y)=\log_23=1{,}585 bit. Non si può fare meglio: yy assume solo 33 valori (1,2,41,2,4), quindi I(x;y)≤H(y)≤log⁡23I(x;y)\le H(y)\le\log_23. Dunque C=log⁡23=1,585C=\log_23=1{,}585 bit per simbolo (cioè log⁡23T\frac{\log_23}T bit/s), e si raggiunge usando un solo ingresso per ogni uscita distinta. L'ingresso uniforme su 55 simboli, più "naturale", dà di meno.

Teorema di Shannon per la codifica di canale

Si considera un canale MM-ario senza memoria con periodo di simbolo TT e capacità CC [bit/s]. Una sorgente di simboli emette un simbolo ogni TsT_s su un alfabeto di MsM_s simboli, quindi ha tasso nominale R=log⁡2MsTsR=\frac{\log_2M_s}{T_s}.

SORGENTE→Ts x, ∣Ax∣=Ms COD→T c, ∣Ac∣=M CANALE (capacitaˋ C)→ c~ DEC→ x^ \text{SORGENTE}\xrightarrow[T_s]{\ x,\ |\mathcal A_x|=M_s\ }\boxed{\text{COD}}\xrightarrow[T]{\ c,\ |\mathcal A_c|=M\ }\boxed{\text{CANALE (capacità }C)}\xrightarrow{\ \tilde c\ }\boxed{\text{DEC}}\xrightarrow{\ \hat x\ }

Teorema (Shannon).

  1. Se R≤C\boxed{R\le C}, per ogni δ>0\delta>0 e per ogni nn abbastanza grande esistono: a) un codice di canale con parole lunghe nn e 2nRT2^{nRT} parole; b) un decodificatore con probabilità d'errore sulla parola P[c‾≠c‾^]<δP[\underline c\ne\hat{\underline c}]<\delta.
  2. Se R>C\boxed{R>C} esiste un δ>0\delta>0 tale che ogni codice a correzione d'errore ha probabilità d'errore sulla parola ≥δ\ge\delta.

Si legge così: sotto la capacità si può rendere l'errore piccolo a piacere usando parole lunghe (la lunghezza nn cresce quando δ\delta diminuisce); sopra la capacità l'errore non si può eliminare qualunque sia il codice. Il teorema è di esistenza: non dice come costruire il codice.

Il caso binario. Se alfabeto sorgente e alfabeto del canale sono binari (Ms=M=2M_s=M=2) il codice è un insieme di 2k2^k parole di lunghezza nn (un codice a blocco, Controllo d'errore - ARQ, FEC e codici a blocco sul canale binario simmetricoPer proteggere i bit dagli errori si può chiedere la ritrasmissione (ARQ, serve il canale di ritorno), aggiungere ridondanza per correggere (FEC) o unire le due cose (HARQ). Un codice a blocco $(n,k)$ trasforma $k$ bit in una parola di $n>k$ bit scelta tra $2^k$ parole su $2^n$ sequenze; modulatore, canale e demodulatore equivalgono a un canale binario simmetrico senza memoria con probabilità d'errore sul bit $P_{bit}$. Per $P_{bit}<\frac12$ il decodificatore ML sceglie la parola a minima distanza di Hamming; con distanza minima $d_{min}$ si correggono sempre $t=\lfloor\frac{d_{min}-1}{2}\rfloor$ errori e se ne rivelano sempre $d_{min}-1$. Il tasso è $R=\frac kn$ e la probabilità d'errore di parola è limitata da $P(\text{più di }t\text{ errori})$. L'ARQ ha efficienza $S_{SW}$, $S_{GBN}$, $S_{SR}$ in funzione di $t_P$, $t_A$, $\tau_P$ e $p$.Controllo d'errore - ARQ, FEC e codici a blocco sul canale binario simmetrico →). Dal teorema 2k=2nRT2^k=2^{nRT}, quindi k=nRTk=nRT e il rate del codice è kn=RTconR=1Ts (un bit ogni Ts).\frac kn=RT\quad\text{con}\quad R=\frac1{T_s}\ \text{(un bit ogni }T_s\text{)}. La condizione R≤CR\le C diventa kn≤CT=max⁡pI(c;c~) ≤1 bit.\boxed{\frac kn\le CT=\max_{p}I(c;\tilde c)\ \le1\ \text{bit.}} Il rate di un codice sul canale è al più l'informazione mutua massima per uso del canale, a sua volta ≤1\le1 bit (il canale è binario). Questo numero, in bit per uso del canale, si chiama anche efficienza spettrale.

Come si usa negli esercizi. Per rispondere a "è possibile una codifica di canale con probabilità d'errore residua piccola a piacere?":

  1. si calcola il tasso della sorgente (bit/s) che entra nel codificatore di canale;
  2. si calcola la capacità del canale (bit/s);
  3. si dice sì se tasso ≤C\le C, no se tasso >C>C.

Esempio. Una sorgente emette un simbolo ogni 20 μ20\ \mus con alfabeto {0,1,2}\{0,1,2\}: R=log⁡2320 μs=79,25R=\frac{\log_23}{20\ \mu\text{s}}=79{,}25 kbit/s. Un canale binario simmetrico con Pbit=10−3P_{bit}=10^{-3} e periodo di bit T=10 μT=10\ \mus ha C=1−h(10−3)T=0,988610 μs=98,86C=\frac{1-h(10^{-3})}{T}=\frac{0{,}9886}{10\ \mu\text{s}}=98{,}86 kbit/s >79,25>79{,}25 kbit/s: la codifica esiste. Con T=15 μT=15\ \mus sarebbe C=65,9C=65{,}9 kbit/s e non esisterebbe.

Il tasso nominale è il caso peggiore. Se la sorgente ha entropia Hs<log⁡2MsH_s<\log_2M_s conviene prima ridurre il tasso con una codifica di sorgente (Codici a prefisso - Kraft-McMillan e limiti di Shannon sulla lunghezza mediaLa codifica di sorgente senza perdite associa a ogni parola emessa dalla sorgente una parola di codice binaria (o $M_y$-aria) di lunghezza variabile, in modo invertibile; la qualità si misura con la lunghezza media $L_y=\sum p_{\underline x}(\underline a),l(\underline a)$. In un codice a prefisso nessuna parola è l'inizio di un'altra, quindi la decodifica è istantanea. Kraft-McMillan: ogni codice decodificabile ha $\sum M_y^{-l_i}\le1$, e se interi $l_i$ la soddisfano esiste un codice a prefisso con quelle lunghezze. Shannon: $\frac{H(\underline x)}{\log_2M_y}\le L_y<\frac{H(\underline x)}{\log_2M_y}+1$ per il codice a prefisso ottimo, con $L_y=\frac{H}{\log_2M_y}$ solo se le probabilità sono potenze di $\frac1{M_y}$.Codici a prefisso - Kraft-McMillan e limiti di Shannon sulla lunghezza media →), e poi confrontare con CC il tasso dei bit che escono dal codificatore di sorgente, che si avvicina a Hs/TsH_s/T_s (negli esercizi si indica quale dei due usare).

Capacità del canale AWGN

Per il canale AWGN con ingresso ss e uscita r=s+wr=s+w, w∼N(0,σ2)w\sim\mathcal N(0,\sigma^2), simboli reali (I=1I=1 dimensione), con energia di simbolo EsE_s e periodo TT:

C=I2Tlog⁡2(1+Esσ2) [bit/s]=max⁡psI(r;s)T,SNR=Esσ2.\boxed{C=\frac{I}{2T}\log_2\left(1+\frac{E_s}{\sigma^2}\right)\ \text{[bit/s]}=\max_{p_s}\frac{I(r;s)}T,}\qquad\text{SNR}=\frac{E_s}{\sigma^2}.

Il massimo si ottiene con un ingresso gaussiano s∼N(0,Es)s\sim\mathcal N(0,E_s), che è approssimato da una PAM con MM grande (e, in generale, da un codice con distribuzione "gaussiana" dei punti). Per II dimensioni reali indipendenti, ciascuna con energia EsE_s e rumore σ2\sigma^2, le capacità si sommano e compare il fattore II. Per I=1I=1 la capacità per uso è 12log⁡2(1+SNR)\frac12\log_2(1+\text{SNR}) bit.

Esempi. SNR=15\text{SNR}=15: 12log⁡216=2\frac12\log_216=2 bit per uso, quindi con T=1 μT=1\ \mus si ha C=2C=2 Mbit/s. SNR=10\text{SNR}=10 dB =10=10: 12log⁡211=1,730\frac12\log_211=1{,}730 bit per uso. Raddoppiare l'SNR aumenta CC di meno di 12\frac12 bit per uso (il logaritmo cresce lentamente): per guadagnare 11 bit per uso occorre quadruplicare circa l'SNR.

Grafico interattivo: Capacità del canale AWGN reale per uso, C = ½ log₂(1 + SNR) in bit per uso, in funzione dell'SNR in dB: 0 bit per SNR → 0, 1 bit per SNR = 3 (4,77 dB), 2 bit per SNR = 15 (11,8 dB)

Capacità del canale binario simmetrico (BSC)

Un canale binario simmetrico senza memoria inverte ogni bit con probabilità PbitP_{bit}, indipendentemente dagli altri:

b\b^b\backslash\hat b 00 11
00 1−Pbit1-P_{bit} PbitP_{bit}
11 PbitP_{bit} 1−Pbit1-P_{bit}

Poiché il canale è senza memoria, C=max⁡PbI(b;b^)TC=\max_{P_b}\frac{I(b;\hat b)}T con I(b;b^)=H(b^)−H(b^∣b)I(b;\hat b)=H(\hat b)-H(\hat b|b).

  1. H(b^∣b)H(\hat b|b). Per ingresso b=0b=0 l'uscita vale 00 con probabilità 1−Pbit1-P_{bit} e 11 con probabilità PbitP_{bit}: H(b^∣b=0)=(1−Pbit)log⁡211−Pbit+Pbitlog⁡21Pbit=h(Pbit)H(\hat b|b=0)=(1-P_{bit})\log_2\frac1{1-P_{bit}}+P_{bit}\log_2\frac1{P_{bit}}=h(P_{bit}). Per b=1b=1 è la stessa cosa. Quindi, qualunque sia PbP_b, H(b^∣b)=Pb(0)h(Pbit)+Pb(1)h(Pbit)=h(Pbit)H(\hat b|b)=P_b(0)h(P_{bit})+P_b(1)h(P_{bit})=h(P_{bit}): non dipende dall'ingresso.
  2. Massimizzazione. Resta da rendere massima H(b^)H(\hat b), entropia di una variabile binaria, che vale al più 11 bit con Pb^(0)=Pb^(1)=0,5P_{\hat b}(0)=P_{\hat b}(1)=0{,}5. Con Pb(0)=Pb(1)=0,5P_b(0)=P_b(1)=0{,}5 l'uscita è uniforme (formula delle probabilità totali: Pb^(0)=0,5(1−Pbit)+0,5Pbit=0,5P_{\hat b}(0)=0{,}5(1-P_{bit})+0{,}5P_{bit}=0{,}5), quindi il massimo si raggiunge con ingresso uniforme.

C=1T[1−h(Pbit)]=1T[1+Pbitlog⁡2Pbit+(1−Pbit)log⁡2(1−Pbit)].\boxed{C=\frac1T\left[1-h(P_{bit})\right]=\frac1T\left[1+P_{bit}\log_2P_{bit}+(1-P_{bit})\log_2(1-P_{bit})\right].}

Grafico interattivo: Capacità del canale binario simmetrico C·T = 1 − h(P_bit): vale 1 per P_bit = 0 e per P_bit = 1 (canale deterministico: basta invertire), si annulla per P_bit = 0,5 (uscita indipendente dall'ingresso); a P_bit = 0,11 vale 0,5

Valori. Pbit=10−3P_{bit}=10^{-3}: CT=0,9886C T=0{,}9886; 10−210^{-2}: 0,91920{,}9192; 0,10{,}1: 0,53100{,}5310; 0,20{,}2: 0,27810{,}2781; 0,50{,}5: 00. Un codice di rate 12\frac12 può riuscire solo se Pbit≤0,110P_{bit}\le0{,}110. Con Tb=1T_b=1 ms, Pbit=0,1P_{bit}=0{,}1 dà C=531C=531 bit/s.

Esempio (canale binario non simmetrico). Un canale con Py∣x(0∣0)=Py∣x(0∣1)=0,1P_{y|x}(0|0)=P_{y|x}(0|1)=0{,}1 e Py∣x(1∣0)=Py∣x(1∣1)=0,9P_{y|x}(1|0)=P_{y|x}(1|1)=0{,}9 (T=1T=1 s) è binario (ingresso e uscita a due valori) ma non simmetrico, perché il suo "errore" dipende dal simbolo. Per qualsiasi ingresso Px(0)=qP_x(0)=q si ha Py(0)=0,1q+0,1(1−q)=0,1P_y(0)=0{,}1q+0{,}1(1-q)=0{,}1, costante: H(y)=h(0,1)=0,469H(y)=h(0{,}1)=0{,}469 bit. Anche H(y∣x=0)=H(y∣x=1)=h(0,1)H(y|x=0)=H(y|x=1)=h(0{,}1), quindi I(x;y)=0,469−0,469=0I(x;y)=0{,}469-0{,}469=0 per ogni qq e C=0C=0. Le due righe della matrice sono uguali: l'uscita non dipende dall'ingresso, e l'informazione mutua è nulla. Un vero BSC con Pbit=0,9P_{bit}=0{,}9 avrebbe invece le righe (0,1; 0,9)(0{,}1;\ 0{,}9) e (0,9; 0,1)(0{,}9;\ 0{,}1), diverse tra loro, e capacità 1−h(0,9)=0,5311-h(0{,}9)=0{,}531 bit per uso (basta invertire i bit in uscita): è la curva a "U" della capacità, che vale di nuovo 11 a Pbit=1P_{bit}=1.

Capacità del canale con cancellazione

Un canale con ingresso binario {0,1}\{0,1\} e uscita ternaria {0,E,1}\{0,E,1\}: con probabilità 1−α1-\alpha il bit arriva corretto, con probabilità α\alpha viene cancellato (il ricevitore sa che l'ha perso e non ne conosce il valore, EE = erasure). È un canale senza memoria con matrice Py∣xP_{y|x} (righe: ingressi 0,10,1; colonne: uscite 0,E,10,E,1):

x\yx\backslash y 00 EE 11
00 1−α1-\alpha α\alpha 00
11 00 α\alpha 1−α1-\alpha

Si pone Px(0)=γP_x(0)=\gamma.

  1. Uscita. Py(0)=(1−α)γP_y(0)=(1-\alpha)\gamma, Py(1)=(1−α)(1−γ)P_y(1)=(1-\alpha)(1-\gamma), Py(E)=αγ+α(1−γ)=αP_y(E)=\alpha\gamma+\alpha(1-\gamma)=\alpha.
  2. H(y)H(y). H(y)=(1−α)γlog⁡21(1−α)γ+(1−α)(1−γ)log⁡21(1−α)(1−γ)+αlog⁡21αH(y)=(1-\alpha)\gamma\log_2\frac1{(1-\alpha)\gamma}+(1-\alpha)(1-\gamma)\log_2\frac1{(1-\alpha)(1-\gamma)}+\alpha\log_2\frac1\alpha. Usando log⁡21(1−α)γ=log⁡211−α+log⁡21γ\log_2\frac1{(1-\alpha)\gamma}=\log_2\frac1{1-\alpha}+\log_2\frac1\gamma e raccogliendo, i termini con log⁡211−α\log_2\frac1{1-\alpha} si sommano in (1−α)log⁡211−α(1-\alpha)\log_2\frac1{1-\alpha} (perché γ+(1−γ)=1\gamma+(1-\gamma)=1) e resta (1−α)h(γ)(1-\alpha)h(\gamma): H(y)=(1−α)h(γ)+h(α).H(y)=(1-\alpha)h(\gamma)+h(\alpha).
  3. H(y∣x)H(y|x). Per x=0x=0 l'uscita vale 00 con probabilità 1−α1-\alpha e EE con probabilità α\alpha: H(y∣x=0)=h(α)H(y|x=0)=h(\alpha). Lo stesso per x=1x=1 (uscite 11 ed EE). Quindi H(y∣x)=h(α)H(y|x)=h(\alpha), indipendente da PxP_x.
  4. Massimizzazione. I(x;y)=(1−α)h(γ)+h(α)−h(α)=(1−α)h(γ)I(x;y)=(1-\alpha)h(\gamma)+h(\alpha)-h(\alpha)=(1-\alpha)h(\gamma), massima per γ=12\gamma=\frac12 (h=1h=1):

C=1−αT bit/s.\boxed{C=\frac{1-\alpha}T\ \text{bit/s}.}

È la frazione di bit che arriva: α=0\alpha=0 è il canale binario ideale (C=1TC=\frac1T), α=1\alpha=1 cancella tutto (C=0C=0). Per α=0,2\alpha=0{,}2 e T=1T=1 ms: C=800C=800 bit/s.

Grafico interattivo: Capacità del canale con cancellazione C·T = 1 − α in funzione della probabilità di cancellazione α: è una retta, perché ogni bit arriva o va perso e non c'è ambiguità; confronto con il BSC, la cui capacità 1 − h(p) scende molto più in fretta

Confronto. A parità di probabilità 0,10{,}1 la cancellazione lascia CT=0,9C T=0{,}9 e il BSC 0,5310{,}531: sapere dove sono i bit persi vale molto di più che non sapere dove sono gli errori.

Canali in parallelo e canali alternati

Un canale i cui bit pari e dispari hanno statistiche diverse si studia come due canali in parallelo, ciascuno usato una volta ogni 2Tb2T_b. Esempio (lezione): bit trasmessi ogni Tb=1T_b=1 ms, errori indipendenti con probabilità PPP_P ai tempi pari e PDP_D ai tempi dispari.

  1. Quando è un BSC senza memoria? Quando ogni bit ha la stessa probabilità d'errore: PP=PDP_P=P_D (qualunque ne sia il valore). Con PP≠PDP_P\ne P_D gli errori dipendono dal tempo, quindi non è un BSC.
  2. Capacità con PP=PD=0,1P_P=P_D=0{,}1: C=1−h(0,1)Tb=531C=\frac{1-h(0{,}1)}{T_b}=531 bit/s.
  3. Probabilità d'errore media con PP=0,1P_P=0{,}1, PD=0,2P_D=0{,}2: metà dei bit ha 0,10{,}1 e metà 0,20{,}2, quindi P(E)=0,1+0,22=0,15P(E)=\frac{0{,}1+0{,}2}2=0{,}15 Questa è solo la probabilità d'errore media: la capacità non si ricava da essa, ma si ragiona sui due canali separati (punto 4).
  4. Capacità con PP=0,1P_P=0{,}1 e PD=0P_D=0. Due canali paralleli, ciascuno con periodo di simbolo 2Tb2T_b: il pari è un BSC con Pbit=0,1P_{bit}=0{,}1 e capacità CP=0,5312Tb=265,5C_P=\frac{0{,}531}{2T_b}=265{,}5 bit/s; il dispari non ha errori e CD=12Tb=500C_D=\frac1{2T_b}=500 bit/s. La capacità del canale complessivo è la somma: Ctot=CP+CD=765,5C_{\text{tot}}=C_P+C_D=765{,}5 bit/s (maggiore dei 531531 bit/s del canale con 0,10{,}1 su tutti i bit, e minore dei 10001000 bit/s del canale ideale). Si usa un codificatore e un decodificatore separati per ciascun canale.

Questo ragionamento è svolto per esteso, con le domande del tema d'esame, in Esercizio - canale binario con errori diversi sui bit pari e dispari (compito del 25 giugno 2024, es. 179).

Errori comuni

  • Scrivere la capacità del BSC come 1−Pbit1-P_{bit}: è 1−h(Pbit)1-h(P_{bit}), con l'entropia binaria.
  • Dimenticare di dividere per TT (o per 2Tb2T_b nei canali in parallelo) quando la capacità è richiesta in bit/s.
  • Dire che con un canale non simmetrico serve PxP_x uniforme: l'ingresso uniforme massimizza l'informazione mutua solo per i canali simmetrici o a cancellazione; in generale si massimizza H(y)−H(y∣x)H(y)-H(y|x) su PxP_x (nell'esempio deterministico a 55 ingressi l'uniforme non è ottima).
  • Confondere tasso nominale e tasso d'informazione, o scordare il tasso del codificatore di canale: il confronto con CC si fa sui bit che entrano nel codificatore.
  • Usare 1Tlog⁡2(1+SNR)\frac1T\log_2(1+\text{SNR}) per il canale AWGN reale: per un simbolo a una dimensione c'è un fattore 12\frac12.
  • Calcolare la capacità di canali in parallelo come la media delle capacità senza dividere per il numero di canali, o senza considerare che ciascuno è usato la metà delle volte.

Domande d'esame

  1. Si enunci il teorema di Shannon per la codifica di canale. Tasso nominale R=log⁡2MsTsR=\frac{\log_2M_s}{T_s} e canale di capacità CC: se R≤CR\le C per ogni δ>0\delta>0 e nn grande esistono un codice con 2nRT2^{nRT} parole lunghe nn e un decodificatore con probabilità d'errore sulla parola <δ<\delta; se R>CR>C ogni codice ha probabilità d'errore ≥δ>0\ge\delta>0.
  2. Si calcoli la capacità del canale binario simmetrico. H(b^∣b)=h(Pbit)H(\hat b|b)=h(P_{bit}) non dipende dall'ingresso, H(b^)≤1H(\hat b)\le1 con uguaglianza per ingresso uniforme: C=1−h(Pbit)TC=\frac{1-h(P_{bit})}T.
  3. Si calcoli la capacità del canale binario con cancellazione di probabilità α\alpha. H(y)=(1−α)h(γ)+h(α)H(y)=(1-\alpha)h(\gamma)+h(\alpha), H(y∣x)=h(α)H(y|x)=h(\alpha), massimo con γ=12\gamma=\frac12: C=1−αTC=\frac{1-\alpha}T.

Esercizi svolti

Versione ripasso

Sorgente, canale, destinazione (Capacità di canale - canale binario simmetrico, a cancellazione e AWGNLa capacità $C=\max_{p_x}I(x;y)$ è il massimo di informazione mutua tra ingresso e uscita del canale; per il teorema di Shannon si può comunicare con probabilità d'errore arbitrariamente piccola se e solo se il rate è minore di $C$. Per il canale binario simmetrico $C=1-H_2(p)$ bit per uso (ingresso uniforme), per il canale a cancellazione $C=1-\varepsilon$, per l'AWGN $C=\frac12\log_2(1+\text{SNR})$ per uso reale, cioè $C=B\log_2(1+\text{SNR})$ bit/s su una banda $B$. Il limite $R_b<C$ dà il minimo $\frac{E_b}{N_0}\ge\frac{2^\nu-1}\nu$ ($-1{,}59$ dB per $\nu\to0$).Capacità di canale - canale binario simmetrico, a cancellazione e AWGN →, Capacità di canaleLa capacità di un canale è il massimo, sulle statistiche di ingresso, della velocità di informazione $R=F,I_s(\mathbf c,\tilde{\mathbf c})$ (informazione mutua per simbolo per la velocità di simbolo). Teorema di Shannon: se la velocità informativa è $R<C$ esistono codici con probabilità d'errore residua piccola a piacere; se $R>C$ no. BSC senza memoria: $C_s=1+P\log_2P+(1-P)\log_2(1-P)$ bit/simbolo. Canale AWGN: $C=B\log_2(1+\mathrm{SNR})$ con $\mathrm{SNR}=P_{rx}/(N_0B)$; per $B\to\infty$ la capacità non cresce indefinitamente ma tende a $P_{rx}/(N_0\ln2)$. Limite per il rapporto $E_b/N_0$: $\ge\ln2=-1{,}59$ dB.Capacità di canale →)

  • Sorgente emette xnx_n ogni TT (periodo di simbolo) in Ax\mathcal A_x; il canale dà yny_n in Ay\mathcal A_y con Py∣xP_{y|x}. Senza memoria: yny_n dipende solo da xnx_n, stessa transizione a ogni istante.
  • Entropia per simbolo Hs(x‾)=H(x‾)L(x‾)\boxed{H_s(\underline x)=\frac{H(\underline x)}{L(\underline x)}}; i.i.d.: Hs=H(xn)H_s=H(x_n). Sequenze infinite: limite per N→∞N\to\infty di H2N+1\frac{H}{2N+1}.
  • Finestra di PP simboli attivi ±1\pm1 a probabilità 0,50{,}5, zero altrove: H=PH=P, Hs=0H_s=0.
  • Tasso della sorgente R(x‾)=HsT\boxed{R(\underline x)=\frac{H_s}T} [bit/s]; nominale log⁡2MsTs≥R(x‾)\frac{\log_2M_s}{T_s}\ge R(\underline x).

Tasso del canale e capacità (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 →)

  • Is=Hs(x‾)+Hs(y‾)−Hs(x‾,y‾)I_s=H_s(\underline x)+H_s(\underline y)-H_s(\underline x,\underline y) e R(g)=Is(x‾;y‾)T≤R(x‾)\boxed{R(g)=\frac{I_s(\underline x;\underline y)}T\le R(\underline x)} (il canale non porta più informazione di quanta ne produca la sorgente).
  • C=max⁡px‾R(g)\boxed{C=\max_{p_{\underline x}}R(g)}; senza memoria C=max⁡pxI(x;y)TC=\max_{p_x}\frac{I(x;y)}T con I=H(y)−H(y∣x)I=H(y)-H(y|x).
  • Ricetta: (1) PyP_y dalle probabilità totali (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 →); (2) H(y∣x)=∑aPx(a)H(y∣x=a)H(y|x)=\sum_aP_x(a)H(y|x=a) dalle righe della matrice; (3) massimizzare su PxP_x.
  • Canale MM-ario deterministico 1→21\to2, 2→42\to4, 3,4,5→13,4,5\to1: ingresso uniforme su 55 dà H(y)=25log⁡25+35log⁡253=1,371H(y)=\frac25\log_25+\frac35\log_2\frac53=1{,}371; uniforme su {1,2,3}\{1,2,3\} dà log⁡23=1,585=C\log_23=1{,}585=C (un solo ingresso per ogni uscita).

Teorema di Shannon per la codifica di canale

Capacità

  • AWGN reale (I=1I=1): C=12Tlog⁡2(1+Esσ2)\boxed{C=\frac1{2T}\log_2\left(1+\frac{E_s}{\sigma^2}\right)} bit/s, per uso 12log⁡2(1+SNR)\frac12\log_2(1+\text{SNR}); ingresso s∼N(0,Es)≃s\sim\mathcal N(0,E_s)\simeq PAM con MM grande. Con II dimensioni indipendenti compare il fattore II.
  • SNR=15\text{SNR}=15: 22 bit per uso, 22 Mbit/s con T=1 μsT=1\,\mu s; 1010 dB: 1,7301{,}730 bit per uso. +1+1 bit per uso richiede circa ×4\times4 di SNR.
  • BSC: H(b^∣b)=h(Pbit)H(\hat b|b)=h(P_{bit}) per ogni ingresso; H(b^)≤1H(\hat b)\le1 con ingresso uniforme. C=1−h(Pbit)T\boxed{C=\frac{1-h(P_{bit})}T} (0,98860{,}9886 per 10−310^{-3}; 0,91920{,}9192 per 10−210^{-2}; 0,5310{,}531 per 0,10{,}1; 0,2780{,}278 per 0,20{,}2; 00 per 0,50{,}5; 11 per Pbit=1P_{bit}=1).
  • Canale binario con righe uguali (es. P(0∣0)=P(0∣1)=0,1P(0|0)=P(0|1)=0{,}1): PyP_y non dipende da qq, I=0I=0, C=0C=0. Non è un BSC.
  • Cancellazione (probabilità α\alpha): Py(0)=(1−α)γP_y(0)=(1-\alpha)\gamma, Py(1)=(1−α)(1−γ)P_y(1)=(1-\alpha)(1-\gamma), Py(E)=αP_y(E)=\alpha; H(y)=(1−α)h(γ)+h(α)H(y)=(1-\alpha)h(\gamma)+h(\alpha), H(y∣x)=h(α)H(y|x)=h(\alpha), I=(1−α)h(γ)I=(1-\alpha)h(\gamma); C=1−αT\boxed{C=\frac{1-\alpha}T} con γ=12\gamma=\frac12. Con α=0,2\alpha=0{,}2, T=1T=1 ms: 800800 bit/s. A parità di 0,10{,}1: cancellazione 0,90{,}9, BSC 0,5310{,}531.

Canali in parallelo e alternati

  • Bit pari con errore PPP_P, dispari con PDP_D, Tb=1T_b=1 ms: BSC senza memoria solo se PP=PDP_P=P_D.
  • PP=PD=0,1P_P=P_D=0{,}1: 531531 bit/s. PP=0,1P_P=0{,}1, PD=0,2P_D=0{,}2: errore medio 0,150{,}15 (non determina la capacità).
  • PP=0,1P_P=0{,}1, PD=0P_D=0: due canali con periodo 2Tb2T_b; CP=0,5312Tb=265,5C_P=\frac{0{,}531}{2T_b}=265{,}5, CD=12Tb=500C_D=\frac1{2T_b}=500; Ctot=∑Ci=765,5 bit/s\boxed{C_{\text{tot}}=\sum C_i=765{,}5\ \text{bit/s}} (Esercizio - canale binario con errori diversi sui bit pari e dispari (compito del 25 giugno 2024, es. 179)).

Errori tipici

  • 1−Pbit1-P_{bit} al posto di 1−h(Pbit)1-h(P_{bit}).
  • Dimenticare 1T\frac1T (o 12Tb\frac1{2T_b} nei paralleli) per la capacità in bit/s.
  • Ingresso uniforme ottimo per ogni canale: vale solo per BSC e cancellazione.
  • Confrontare con CC i bit dopo il codificatore di canale invece di quelli prima.
  • 1Tlog⁡2(1+SNR)\frac1T\log_2(1+\text{SNR}) per AWGN reale: manca il 12\frac12.
  • Capacità dei paralleli come media senza il periodo 2Tb2T_b.

Domande tipiche

  • Enunciato del teorema di Shannon di canale.
  • Capacità del BSC (con H(b^∣b)H(\hat b|b) indipendente dall'ingresso).
  • Capacità del canale con cancellazione.

Esercizi svolti. Esercizio - canale binario con errori diversi sui bit pari e dispari (compito del 25 giugno 2024, es. 179); Esercizio - canale binario non simmetrico, informazione mutua, Huffman ed Elias sulle coppie e canale a cancellazione (compito del 10 febbraio 2021, es. 123); Esercizio - capacità di un canale 4-PSK, entropia di un codice a blocco, distanza minima e decodifica (compito dell'11 febbraio 2025, es. 192); Esercizio - rate di informazione, codice di Hamming (7,4) e capacità del canale binario simmetrico (compito del 6 luglio 2026, es. 204).

Esercizi su questo argomento

Teoria collegata