Salta al contenuto
Note per Studenti Capacità di canale - canale binario simmetrico, a cancellazione e AWGN

Capacità di canale - canale binario simmetrico, a cancellazione e AWGN

In questa pagina 6

Informazione mutua e capacità

Per un canale con ingresso xx e uscita yy (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 →) l'informazione mutuaquanta informazione sull'ingresso si ricava osservando l'uscita: entropia dell'ingresso meno l'incertezza che resta è quanta incertezza su xx viene tolta dall'osservazione di yy: I(x;y)=H(x)−H(x∣y)=H(y)−H(y∣x),I(x;y)=H(x)-H(x|y)=H(y)-H(y|x), dove H(y∣x)H(y|x)entropia condizionata: incertezza che resta su yy conoscendo xx, dovuta solo al rumore del canale dipende solo dal canale (è l'incertezza dovuta al rumore). Si annulla se xx e yy sono indipendenti (H(x∣y)=H(x)H(x|y)=H(x): il canale non trasmette nulla) ed è massima se yy determina xx. La capacitàmassimo dell'informazione mutua al variare della statistica dell'ingresso: bit al massimo trasmessi per ogni uso del canale del canale è il massimo di II su tutte le statistiche dell'ingresso: C=max⁡pxI(x;y)  [bit per uso del canale],C[bit/s]=CT(T=durata di un uso).C=\max_{p_x}I(x;y)\ \ \left[\text{bit per uso del canale}\right],\qquad C_{[bit/s]}=\frac{C}{T}\quad(T=\text{durata di un uso}).

Teorema della codifica di canale (Shannon). Se il rate di informazione per uso del canale è R<CR<C esiste una codifica (a blocchi sufficientemente lunghi: Codifica di canale - codici a blocco, distanza minima, rivelazione e correzioneLa codifica di canale aggiunge ridondanza ai bit per rivelare o correggere gli errori del canale. Un codice a blocco $(n,k)$ trasforma $k$ bit in $n$ bit (rendimento $R_c=\frac kn$). Con la distanza di Hamming minima $d_{min}$ il codice rivela fino a $d_{min}-1$ errori e ne corregge $t=\left\lfloor\frac{d_{min}-1}2\right\rfloor$ (decodifica a minima distanza). Vale il limite di Singleton $d_{min}\le n-k+1$. Su un canale binario simmetrico con errore $p$, la probabilità di parola sbagliata è $P_w\le\sum_{i>t}\binom nip^i(1-p)^{n-i}$ e, con $p$ piccola, $P_{bit}\approx\frac{d_{min}}n\binom n{t+1}p^{t+1}$.Codifica di canale - codici a blocco, distanza minima, rivelazione e correzione →) con probabilità d'errore arbitrariamente piccola; se R>CR>C la probabilità d'errore resta limitata da zero. I codici "buoni" non rendono nulla l'errore a rate qualunque: la capacità è il limite insuperabile. Per il rate di un codice a blocco, R=Rc=knR=R_c=\frac kn bit per uso binario.

Canale binario simmetrico (BSC)

Ingresso e uscita binari, ogni bit viene scambiato con probabilità pp (=Pbit=P_{bit} del demodulatore: Canale numerico, ISI e codifica di GrayNella catena bit $\to$ BMAP $\to$ modulatore $\to$ canale $\to$ proiezione $\to$ rivelatore $\to$ IMAP, un simbolo da $b=\log_2M$ bit dura $T=T_b\log_2M$. Per non avere interferenza intersimbolo (ISI) le forme d'onda devono essere ortogonali alle loro traslate di $kT$: $\langle\phi_i(t),\phi_j(t-kT)\rangle=0$ per $k\ne0$ (per esempio un impulso che dura al più $T$). Il canale numerico equivalente (bit in ingresso, bit decisi in uscita) è un canale binario simmetrico di probabilità $P_{bit}$; con la codifica di Gray simboli adiacenti differiscono in un solo bit e $P_{bit}\approx\frac{P[E]}{\log_2M}$.Canale numerico, ISI e codifica di Gray →). Per ogni ingresso H(y∣x)=H2(p)H(y|x)=H_2(p) con H2(p)=−plog⁡2p−(1−p)log⁡2(1−p)H_2(p)=-p\log_2p-(1-p)\log_2(1-p), indipendente dalla statistica di xx; H(y)≤1H(y)\le1 con uguaglianza se xx è uniforme (P[x=1]=12P[x=1]=\frac12, quindi yy uniforme). Perciò CBSC=1−H2(p)=1+plog⁡2p+(1−p)log⁡2(1−p)  bit/uso,\boxed{C_{BSC}=1-H_2(p)=1+p\log_2p+(1-p)\log_2(1-p)\ \ \text{bit/uso},} raggiunta con ingresso uniforme. C=1C=1 per p=0p=0 o p=1p=1 (canale deterministico: basta invertire), C=0C=0 per p=12p=\frac12 (uscita indipendente dall'ingresso).

Grafico interattivo: Capacità del canale binario simmetrico C = 1 − H2(p) in bit per uso: vale 1 per p = 0 e per p = 1, si annulla per p = 1/2

Esempi. p=10−2p=10^{-2}: H2=0,0808H_2=0{,}0808, C=0,919C=0{,}919. p=0,11p=0{,}11: C=0,500C=0{,}500: un codice di rendimento 12\frac12 può funzionare con probabilità d'errore piccola a patto che il canale abbia p<0,11p<0{,}11. Se la modulazione è una BPSK (PSK - modulazione di faseNella PSK l'informazione sta solo nella fase della portante: $s_m(t)=h(t)\cos(2\pi f_0t+\varphi_m)$ con $\varphi_m=\frac\pi M(2m-1)$. I punti stanno su una circonferenza di raggio $\sqrt{E_s}$ (tutti con la stessa energia $E_s=\frac{E_h}2$), con $d_{min}=2\sqrt{E_s}\sin\frac\pi M$. $P[E]\approx2Q\left(\sqrt{\frac{2E_s}{N_0}}\sin\frac\pi M\right)$ per $M>2$; con Gray $P_{bit}\approx\frac2{\log_2M}Q\left(\sqrt{2\Gamma}\sin\frac\pi M\right)$, $\Gamma=\frac{E_s}{N_0}$. Per $M=2$ è l'antipodale (BPSK), per $M=4$ coincide con la 4-QAM.PSK - modulazione di fase →) con decisione a soglia, p=Q(2Es/N0)p=Q\left(\sqrt{2E_s/N_0}\right): a Es/N0=0E_s/N_0=0 dB, p=0,0786p=0{,}0786 e CBSC=0,603C_{BSC}=0{,}603 bit/uso.

Canale a cancellazione

Ogni simbolo arriva correttamente con probabilità 1−ε1-\varepsilon oppure viene cancellatoil ricevitore sa che il simbolo manca ma non ne conosce il valore: non è un errore (il ricevitore sa che manca) con probabilità ε\varepsilonprobabilità che un simbolo venga cancellato; non ci sono errori. Informazione mutua: I=(1−ε)H(x)I=(1-\varepsilon)H(x), massima con xx uniforme: CBEC=1−ε  bit/uso.\boxed{C_{BEC}=1-\varepsilon\ \ \text{bit/uso}.} (Un canale con probabilità 0,10{,}1 di cancellazione ha C=0,9C=0{,}9 bit/uso; con un tempo di simbolo T=0,2T=0{,}2 s, C=4,5C=4{,}5 bit/s.) La capacità è la frazione di simboli che arrivano: non si può fare meglio di non perdere altro.

Canale AWGN

Ingresso reale continuo xx con potenza MxM_xpotenza dell'ingresso, cioè valore atteso del suo quadrato, uscita y=x+wy=x+w con w∼N(0,σ2)w\sim\mathcal N\left(0,\sigma^2\right) (Il rumore AWGN nello spazio dei segnaliIl ricevitore vede solo la componente del rumore nello spazio dei segnali: $w_i=\langle w,\phi_i\rangle$. Per un rumore bianco gaussiano le $w_i$ sono gaussiane a media nulla, scorrelate (quindi indipendenti) e con la stessa varianza $\sigma_I^2=\frac{N_0}2$, qualunque sia la base ortonormale. Il vettore ricevuto $\mathbf r=\mathbf s_m+\mathbf w$ ha densità condizionata $p_{\mathbf r|m}(\boldsymbol\rho|m)=\left(\pi N_0\right)^{-I/2}e^{-\lVert\boldsymbol\rho-\mathbf s_m\rVert^2/N_0}$: il rumore sposta il punto trasmesso in modo circolare.Il rumore AWGN nello spazio dei segnali →). L'informazione mutua è h(y)−h(w)h(y)-h(w) (entropie differenzialiper variabili continue, l'integrale di −plog⁡2p-p\log_2p: prende il posto dell'entropia e può essere negativa); a potenza MxM_x fissata è massima per ingresso gaussianoingresso con densità gaussiana a media nulla: a potenza data è quello che rende massima l'informazione mutua, x∼N(0,Mx)x\sim\mathcal N(0,M_x): C=12log⁡2(1+Mxσ2)  bit per uso reale.\boxed{C=\frac12\log_2\left(1+\frac{M_x}{\sigma^2}\right)\ \ \text{bit per uso reale.}} Se il canale è usato 1T\frac1T volte al secondo, la capacità è 12Tlog⁡2(1+SNR)\frac1{2T}\log_2(1+\text{SNR}) bit/s; con segnali di banda BB (campionati a 2B2B campioni al secondo) si ottiene la formula di Shannoncapacità del canale AWGN: Blog⁡2(1+SNR)B\log_2(1+\text{SNR}) bit al secondo C=Blog⁡2(1+SNR)  bit/s,SNR=PsN0B.C=B\log_2\left(1+\text{SNR}\right)\ \ \text{bit/s},\qquad\text{SNR}=\frac{P_s}{N_0B}. Una media diversa da zero nel rumore non cambia nulla (II non cambia sommando una costante nota). Un canale con guadagno 33 ha SNR=9Mxσ2\text{SNR}=\frac{9M_x}{\sigma^2}.

Esempi (con T=0,2T=0{,}2 s). y=3x+wy=3x+w, Mx=1M_x=1, σ2=4\sigma^2=4: C=10,4log⁡2(1+94)=2,5⋅1,700=4,25C=\frac1{0{,}4}\log_2\left(1+\frac94\right)=2{,}5\cdot1{,}700=4{,}25 bit/s. Con σ2=1\sigma^2=1: C=2,5log⁡2(10)=8,30C=2{,}5\log_2(10)=8{,}30 bit/s.

Rate e Eb/N0E_b/N_0energia per bit divisa per la densità spettrale di potenza del rumore: l'SNR riferito al singolo bit. Con rate di bit RbR_b su banda BB (ν=RbB\nu=\frac{R_b}Befficienza spettrale: bit al secondo trasmessi per ogni hertz di banda bit/s/Hz) ed energia per bit Eb=PsRbE_b=\frac{P_s}{R_b}, la condizione Rb<CR_b<C diventa ν<log⁡2(1+νEbN0)\nu<\log_2\left(1+\nu\frac{E_b}{N_0}\right), cioè EbN0>2ν−1ν.\frac{E_b}{N_0}>\frac{2^\nu-1}{\nu}.

ν\nu [bit/s/Hz] →0\to0 0,50{,}5 11 22 44 66
(EbN0)min\left(\frac{E_b}{N_0}\right)_{min} −1,59-1{,}59 dB −0,82-0{,}82 dB 00 dB 1,761{,}76 dB 5,745{,}74 dB 10,2110{,}21 dB

Sotto −1,59-1{,}59 dB (ln⁡2\ln2) non si comunica affidabilmente a nessun rate: è il limite di Shannonvalore minimo assoluto di Eb/N0E_b/N_0: sotto di esso nessun codice permette una comunicazione affidabile assoluto. È la stessa formula del limite di efficienza spettrale visto in Confronto tra modulazioni - banda, SNR di riferimento ed efficienza spettralePer confrontare le modulazioni si usa l'SNR di riferimento $\Gamma=\frac{E_{s,rc}}{N_0,T,B_{min}}=\frac{P_{tx}}{kT_{eff}B_{min}a_{ch}}$, con $B_{min}$ la banda minima ($\frac1{2T}$ per la PAM in banda base, $\frac1T$ per QAM e PSK, $\frac M{2T}$ per le ortogonali). Ogni modulazione ha una $P_{bit}(\Gamma)$ approssimata (tabella) e un'efficienza spettrale $\nu=\frac{R_b}{B_{min}}$, limitata da Shannon: $\nu\le\log_2(1+\Gamma)$. A SNR alto conviene la QAM, a SNR molto basso le ortogonali e biortogonali (ma con più banda).Confronto tra modulazioni - banda, SNR di riferimento ed efficienza spettrale → (ν≤log⁡2(1+Γ)\nu\le\log_2(1+\Gamma)).

Decisione hard o soft: quanto si perde

Se il ricevitore prende una decisione a soglia su ogni bit di una BPSK, il canale visto dal decodificatore è un BSC e si perde parte della capacità dell'AWGN. A EsN0=0\frac{E_s}{N_0}=0 dB: AWGN (ingresso gaussiano) C=12log⁡2(1+2)=0,79C=\frac12\log_2(1+2)=0{,}79 bit/uso, BSC 0,600{,}60. Per un codice di rendimento 12\frac12 (Eb=2EsE_b=2E_s): con decisione softil decodificatore usa il valore analogico ricevuto, non solo il bit deciso basta EbN0=0\frac{E_b}{N_0}=0 dB, con decisione hardil ricevitore decide prima ogni bit con una soglia e passa al decodificatore solo i bit (p<0,110p<0{,}110, EsN0=−1,24\frac{E_s}{N_0}=-1{,}24 dB) occorrono EbN0=1,77\frac{E_b}{N_0}=1{,}77 dB: circa 1,81{,}8 dB di perdita. (Calcoli verificati con Python.)

Errori comuni

  • Dimenticare che la capacità del BSC dipende da pp solo tramite H2(p)H_2(p) e non dal valore dei simboli.
  • Confondere la capacità per uso con quella in bit/s: va divisa per la durata TT di un uso (o moltiplicata per il numero di usi al secondo).
  • Usare Blog⁡2(1+SNR)B\log_2(1+\text{SNR}) con BB la banda a frequenze positive ma SNR\text{SNR} calcolato su una banda diversa: l'SNR è quello sulla stessa banda.
  • Credere che un codice con Rc>CR_c>C possa dare errore piccolo: non esiste.

Versione ripasso

Esercizi su questo argomento

Teoria collegata