Salta al contenuto
Note per Studenti Capacità di canale

Capacità di canale

In questa pagina 10

Con la Codifica di sorgenteLa codifica di sorgente senza perdita assegna ai simboli (o a parole di $N$ simboli) parole di codice di lunghezza variabile, corte per i simboli probabili, con una mappa invertibile. Un codice a prefisso è sempre decodificabile; Kraft-McMillan: se il codice è decodificabile $\sum M^{-l_i}\le1$ e viceversa esiste un codice a prefisso con quelle lunghezze. Shannon: $L\ge\frac{H}{\log_2M}$ e esiste un codice con $L<\frac{H}{\log_2M}+1$ (lunghezze $\lceil\log_M\frac1p\rceil$). Shannon-Fano divide dall'alto, Huffman unisce dal basso i due meno probabili ed è ottimo; raggruppare simboli e la codifica aritmetica si avvicinano al limite.Codifica di sorgente → si è visto quanto si può comprimere un messaggio (il limite è l'entropia); con le modulazioni e il Link budgetIl sistema di trasmissione si modella con un canale che attenua ($a_{ch}$) e filtra il segnale, un rumore additivo bianco gaussiano (AWGN) che si somma dopo il canale, e un ricevitore con cifra di rumore $F_{rc}$. Il link budget è il bilancio che dà l'SNR in ricezione, $\text{SNR}=\frac{P_{tx}}{a_{ch},kT_0F_{rc},B}=\frac{M_{tx}}{a_{ch}N_0B}$, che deve superare una soglia; in dB (banda stretta) $\text{SNR}{dB}=(P{tx}){dBm}+114-(a{ch}){dB}-(F{rc}){dB}-10\log{10}B_{MHz}$. Lo si usa per ricavare la potenza minima, la banda massima o la distanza massima di un collegamento.Link budget → si è visto come si trasmette un segnale su un canale rumoroso. Resta la domanda decisiva: quanta informazione al secondo si può far passare in un canale in modo affidabile? La risposta, di Shannon, è la capacità del canale. Nel linguaggio del corso: il canale è un tubo con delle perdite; la capacità è la sua portata massima, e oltre quella portata qualcosa si perde per forza.

Vedi anche la 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 →.

Informazione mutua: richiamo

Per due variabili aleatorie XX (ingresso) e YY (uscita) di un sistema di trasmissione (Informazione, entropia e informazione mutuaL'informazione di un evento di probabilità $P$ è $i=\log_2\frac1P$ bit; l'entropia $H(x)=\sum p\log_2\frac1p$ è l'informazione media e misura l'incertezza: $0\le H\le\log_2M$, massimo se i simboli sono equiprobabili. Per due variabili: $\max{H(x),H(y)}\le H(x,y)\le H(x)+H(y)$, $H(x|y)=H(x,y)-H(y)$ e l'informazione mutua $I(x;y)=H(x)-H(x|y)=H(x)+H(y)-H(x,y)\ge0$ (zero se e solo se indipendenti). Per una sorgente di $F_s$ simboli/s: rate di informazione $F_sH_s$, rate nominale $F_s\log_2M$, efficienza $\eta=\frac{H_s}{\log_2M}$.Informazione, entropia e informazione mutua →): I(X,Y)=H(X)+H(Y)−H(X,Y)=H(Y)−H(Y∣X)=H(X)−H(X∣Y).I(X,Y)=H(X)+H(Y)-H(X,Y)=H(Y)-H(Y|X)=H(X)-H(X|Y). Proprietà: è simmetrica, I(Y,X)=I(X,Y)I(Y,X)=I(X,Y), e 0≤I(X,Y)≤min⁡{H(X),H(Y)}0\le I(X,Y)\le\min\{H(X),H(Y)\}. Si legge come "quanta informazione di XX si ritrova in YY": è il collegamento tra ingresso e uscita, un po' come il trasferimento di potenza ma per l'informazione. Due casi estremi:

  • canale perfetto (YY funzione deterministica di XX e viceversa): H(X∣Y)=0H(X|Y)=0, I(X,Y)=H(X)I(X,Y)=H(X): tutta l'informazione passa;
  • XX e YY indipendenti: H(Y∣X)=H(Y)H(Y|X)=H(Y), I(X,Y)=0I(X,Y)=0: l'uscita non dice nulla sull'ingresso.

Esempio. XX bit equiprobabile, Y=XY=X: I=H(X)=1I=H(X)=1 bit. YY è un bit equiprobabile indipendente da XX: I=1+1−2=0I=1+1-2=0.

Per messaggi lunghi si usa l'entropia per simbolo Hs(x)H_s(\mathbf x); analogamente si definisce l'informazione mutua per simbolo Is(x,y)I_s(\mathbf x,\mathbf y). Trasmettendo una parola di codice c\mathbf c e ricevendo c~\tilde{\mathbf c} si considera Is(c,c~)I_s(\mathbf c,\tilde{\mathbf c}). Attenzione: questa grandezza riguarda il canale (non il codice): dal punto di vista dell'informazione b\mathbf b ha lo stesso contenuto di c\mathbf c (sono una funzione dell'altra: c\mathbf c ha solo un po' di ridondanza in più).

Definizione (velocità di informazione attraverso il canale). Se F=1/TF=1/T è la velocità di simbolo, R(c)=F Is(c,c~)[bit/s].R(\mathbf c)=F\,I_s(\mathbf c,\tilde{\mathbf c})\quad[\text{bit/s}]. Non va confusa con la velocità di informazione della sorgente (quella che si legge dall'entropia della sorgente).

Definizione di capacità

Definizione (capacità di Shannon). C=max⁡statistiche di cR(c)\displaystyle C=\max_{\text{statistiche di }\mathbf c}R(\mathbf c).

Per "tutte le possibili scelte di c\mathbf c" non si intendono i valori ma solo le statistiche (la distribuzione di probabilità di ciò che si trasmette). Quasi sempre i canali sono senza memoria e allora (togliendo il pedice ss) C=max⁡cF Is(c,c~)=Fmax⁡cI(c,c~)=F Cs,Cs=max⁡I(c,c~)  [bit/simbolo].C=\max_{\mathbf c}F\,I_s(\mathbf c,\tilde{\mathbf c})=F\max_{\mathbf c}I(\mathbf c,\tilde{\mathbf c})=F\,C_s,\qquad C_s=\max I(\mathbf c,\tilde{\mathbf c})\ \ [\text{bit/simbolo}]. Da qui si vede che CsC_s è la capacità per simbolo, mentre la capacità CC (in bit/s) dipende anche dalla velocità di simbolo FF, che è indipendente.

Cosa influenza I(c,c~)I(\mathbf c,\tilde{\mathbf c})? Esplicitando I=H(c~)−H(c~∣c)I=H(\tilde{\mathbf c})-H(\tilde{\mathbf c}|\mathbf c): I(c,c~)=∑γ,ξpc(γ) pc~∣c(ξ∣γ)log⁡2pc~∣c(ξ∣γ)∑apc(a) pc~∣c(ξ∣a)I(\mathbf c,\tilde{\mathbf c})=\sum_{\boldsymbol\gamma,\boldsymbol\xi}p_{\mathbf c}(\boldsymbol\gamma)\,p_{\tilde{\mathbf c}|\mathbf c}(\boldsymbol\xi|\boldsymbol\gamma)\log_2\frac{p_{\tilde{\mathbf c}|\mathbf c}(\boldsymbol\xi|\boldsymbol\gamma)}{\sum_a p_{\mathbf c}(a)\,p_{\tilde{\mathbf c}|\mathbf c}(\boldsymbol\xi|a)} (il denominatore è la probabilità totale di ricevere ξ\boldsymbol\xi, 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 →). Dipende da due ingredienti:

  1. pc(γ)p_{\mathbf c}(\boldsymbol\gamma): probabilità a priori di trasmettere γ\boldsymbol\gamma (la si può scegliere);
  2. pc~∣c(ξ∣γ)p_{\tilde{\mathbf c}|\mathbf c}(\boldsymbol\xi|\boldsymbol\gamma): transizioni del canale (non le si sceglie).

Per calcolare CC si sceglie la statistica di c\mathbf c in modo da massimizzare II: ciò che resta dipende solo dal canale.

Esempio: canale binario simmetrico (BSC)

Il BSC senza memoria ha un solo parametro, P=PbitP=P_{bit} (si inverte con probabilità PP). Le informazioni condizionate ic~∣c(ξ∣γ)=−log⁡2pc~∣c(ξ∣γ)i_{\tilde{\mathbf c}|\mathbf c}(\xi|\gamma)=-\log_2p_{\tilde{\mathbf c}|\mathbf c}(\xi|\gamma) valgono −log⁡2P-\log_2P se ξ≠γ\xi\ne\gamma e −log⁡2(1−P)-\log_2(1-P) se ξ=γ\xi=\gamma. Quindi l'entropia condizionata (non dipende dalla statistica di c\mathbf c: ogni ingresso ha lo stesso comportamento) H(c~∣c)=−Plog⁡2P−(1−P)log⁡2(1−P)=h(P),H(\tilde{\mathbf c}|\mathbf c)=-P\log_2P-(1-P)\log_2(1-P)=h(P), l'entropia binaria (Informazione, entropia e informazione mutuaL'informazione di un evento di probabilità $P$ è $i=\log_2\frac1P$ bit; l'entropia $H(x)=\sum p\log_2\frac1p$ è l'informazione media e misura l'incertezza: $0\le H\le\log_2M$, massimo se i simboli sono equiprobabili. Per due variabili: $\max{H(x),H(y)}\le H(x,y)\le H(x)+H(y)$, $H(x|y)=H(x,y)-H(y)$ e l'informazione mutua $I(x;y)=H(x)-H(x|y)=H(x)+H(y)-H(x,y)\ge0$ (zero se e solo se indipendenti). Per una sorgente di $F_s$ simboli/s: rate di informazione $F_sH_s$, rate nominale $F_s\log_2M$, efficienza $\eta=\frac{H_s}{\log_2M}$.Informazione, entropia e informazione mutua →). Massimizzare I=H(c~)−h(P)I=H(\tilde{\mathbf c})-h(P) significa massimizzare H(c~)H(\tilde{\mathbf c}), che per un bit vale al più 11, ed è raggiunto con ingressi equiprobabili (se cc è equiprobabile lo è anche l'uscita, per simmetria). Allora Cs=1+Plog⁡2P+(1−P)log⁡2(1−P)=1−h(P)[bit/simbolo].\boxed{C_s=1+P\log_2P+(1-P)\log_2(1-P)=1-h(P)}\quad\text{[bit/simbolo]}. Casi: P=0P=0 (o P=1P=1): Cs=1C_s=1 (canale perfetto, o perfetto con un NOT); P=12P=\frac12: Cs=0C_s=0 (canale inutile).

Esempi numerici. P=10−2P=10^{-2}: Cs=0,919C_s=0{,}919; P=0,05P=0{,}05: 0,7140{,}714; P=0,1P=0{,}1: 0,5310{,}531; P=0,11P=0{,}11: 0,5000{,}500 (a quel punto metà della capacità è persa); P=0,2P=0{,}2: 0,2780{,}278; P=0,3P=0{,}3: 0,1190{,}119.

Grafico interattivo: Capacità per simbolo del BSC in funzione di P_bit: vale 1 per P=0 e P=1, si annulla per P=1/2 (canale inutile) ed è simmetrica rispetto a P=1/2.

La curva è simmetrica rispetto a P=12P=\frac12 (un canale che sbaglia quasi sempre si "inverte"), ha massimo 11 agli estremi e minimo 00 in P=12P=\frac12.

Il teorema di Shannon per la codifica di canale

Si abbia un canale di capacità CC e una sorgente il cui messaggio ha velocità di informazione RR (vedi RbR_b come velocità informativa dopo la codifica di sorgente).

Teorema (parte diretta). Se R<CR<C allora per ogni δ>0\delta>0 e per nn sufficientemente grande esistono un dizionario Db\mathcal D_b di parole di informazione, una codifica di canale μC\mu_C con parole di lunghezza nn e una decodifica μd\mu_d inversa di μC\mu_C tali che la probabilità d'errore residua sui bit è P[bℓ≠b^ℓ]<δP[b_\ell\ne\hat b_\ell]<\delta.

Cioè: se R<CR<C (non importa di quanto) l'errore residuo non è nullo, ma può essere piccolo a piacere. Due avvertenze: ciò può richiedere parole molto lunghe (n≫1n\gg1) e il teorema è solo di esistenza (non dice come costruire il codice, a differenza della codifica di sorgente, dove Huffman e Shannon-Fano sono costruttivi).

Teorema (parte inversa). Se R>CR>C allora esiste δ>0\delta>0 tale che in ogni codifica μC\mu_C si ha P[bℓ≠b^ℓ]>δP[b_\ell\ne\hat b_\ell]>\delta.

La parte inversa non dice che la codifica fallisce sicuramente, ma che non si può avere un errore residuo arbitrariamente piccolo. Spesso il teorema si semplifica in: R<CR<C va tutto bene, R>CR>C va tutto male (approssimazione ingegneristica). Si può enunciare anche con la velocità nominale di bit Rb<CR_b<C (funziona, perché la velocità informativa non supera quella nominale) e con l'errore sulla parola P[c≠c^]P[\mathbf c\ne\hat{\mathbf c}].

Esempio. BSC con P=0,1P=0{,}1 (Cs=0,531C_s=0{,}531): un codice con tasso k/n<0,531k/n<0{,}531 può in linea di principio dare errore arbitrariamente piccolo; l'Hamming (7,4)(7,4) ha tasso 4/7=0,571>0,5314/7=0{,}571>0{,}531 e quindi, con questo canale, nessun codice di tasso 0,5710{,}571 potrà mai portare l'errore sotto una soglia positiva; invece un (15,7)(15,7) (tasso 0,4670{,}467) non è escluso dal teorema (non è garantito che esista, ma non è escluso).

Per i limiti teorici: per la sorgente sono stretti (la codifica di sorgente raggiunge davvero l'entropia); per il canale si è creduto a lungo che fossero lasche, finché si sono scoperti codici avanzati (LDPC, codici turbo) che quasi li raggiungono.

Capacità del canale AWGN

Si può applicare l'impostazione di Shannon a un canale fisico con rumore AWGN? Ingresso ss e uscita rr sono ora vettori continui; con alcune complicazioni matematiche l'estensione è possibile, con densità di probabilità al posto delle probabilità: I(X,Y)=E[log⁡2pXY(x,y)pX(x)pY(y)]=E[log⁡2pY∣X(y∣x)pY(y)].I(X,Y)=E\Big[\log_2\frac{p_{XY}(x,y)}{p_X(x)p_Y(y)}\Big]=E\Big[\log_2\frac{p_{Y|X}(y|x)}{p_Y(y)}\Big]. Il canale è r=g s+wr=g\,s+w (guadagno gg, rumore ww gaussiano, senza ISI e senza memoria): idealmente si ripete la trasmissione ogni nn ottenendo sempre la stessa statistica, quindi si omette nn e Is(s,r)=I(s,r)I_s(s,r)=I(s,r).

Passo 1: l'informazione mutua. Dato ss, r=gs+wr=gs+w ha la densità di ww traslata: pr∣s(r∣s)=pw(r−gs)p_{r|s}(r|s)=p_w(r-gs). Quindi I(s,r)=E[log⁡2pw(w)pr(r)]I(s,r)=E\big[\log_2\frac{p_w(w)}{p_r(r)}\big] e dipende dall'ingresso solo tramite prp_r. La densità di ww è gaussiana a media nulla (Distribuzione gaussiana (normale)N(μ, σ²) ha densità e^(−(x−μ)²/(2σ²)) / √(2πσ²), a campana centrata in μ con larghezza σ; media μ, varianza σ²; si standardizza con Z = (X − μ)/σ ~ N(0, 1) e si calcola P(X ≤ x) = Φ((x − μ)/σ), con Φ(−z) = 1 − Φ(z); aX + b è ancora gaussiana, N(aμ + b, a²σ²).Distribuzione gaussiana (normale) →) pw(w)=12πσwe−w2/2σw2.p_w(w)=\frac1{\sqrt{2\pi}\sigma_w}e^{-w^2/2\sigma_w^2}. Passo 2: ingresso ottimo. Si può dimostrare (omesso) che II è massima quando anche ss è gaussiano a media nulla (bianco). Allora rr, somma di gaussiane a media nulla, è gaussiana con varianza σr2=g2σs2+σw2\sigma_r^2=g^2\sigma_s^2+\sigma_w^2.

Passo 3: il calcolo. Si ha log⁡2pw(w)pr(r)=log⁡2σrσw+log⁡2e(r22σr2−w22σw2)\log_2\frac{p_w(w)}{p_r(r)}=\log_2\frac{\sigma_r}{\sigma_w}+\log_2e\Big(\frac{r^2}{2\sigma_r^2}-\frac{w^2}{2\sigma_w^2}\Big) (i fattori 2π\sqrt{2\pi} si semplificano, e log⁡2ex=xlog⁡2e\log_2e^{x}=x\log_2e). Il valore atteso del secondo termine è log⁡2e (12−12)=0\log_2e\,(\frac12-\frac12)=0 perché E[r2]=σr2E[r^2]=\sigma_r^2 e E[w2]=σw2E[w^2]=\sigma_w^2 (varianze). Resta max⁡sI(s,r)=12log⁡2σr2σw2=12log⁡2(1+g2σs2σw2)=12log⁡2(1+SNR),\max_sI(s,r)=\frac12\log_2\frac{\sigma_r^2}{\sigma_w^2}=\frac12\log_2\Big(1+\frac{g^2\sigma_s^2}{\sigma_w^2}\Big)=\frac12\log_2(1+\mathrm{SNR}), dove SNR=g2σs2/σw2\mathrm{SNR}=g^2\sigma_s^2/\sigma_w^2 è il rapporto tra la potenza del segnale ricevuto e quella del rumore. Questa è l'informazione che porta ogni campione.

Passo 4: dal campione al secondo. Il segnale s(t)s(t) è gaussiano bianco in banda B\mathcal B, ∣B∣=B|\mathcal B|=B, con densità spettrale di potenza A0 rect(f/2B)A_0\,\mathrm{rect}(f/2B): per il teorema del campionamento (Teorema del campionamento, interpolazione e aliasingTeorema di Shannon: un segnale a banda limitata $\omega_M$ si ricostruisce esattamente dai campioni se $T_c<\pi/\omega_M$ (frequenza di campionamento maggiore di quella di Nyquist $2f_{\max}$), con la formula di interpolazione ideale $x(t)=\sum_nx(nT_c)\operatorname{sinc}\left(\frac{t-nT_c}{T_c}\right)$. Sotto Nyquist c'è aliasing: le frequenze alte si confondono con quelle basse e l'informazione è persa.Teorema del campionamento, interpolazione e aliasing →) B=1/(2T)B=1/(2T), cioè si hanno F=1/T=2BF=1/T=2B campioni indipendenti al secondo (è anche una dimostrazione alternativa che la banda minima è Bmin=1/2TB_{min}=1/2T). Quindi C=Fmax⁡I(s,r)=1T⋅12log⁡2(1+SNR)=12Tlog⁡2(1+SNR),C=F\max I(s,r)=\frac1T\cdot\frac12\log_2(1+\mathrm{SNR})=\frac1{2T}\log_2(1+\mathrm{SNR}), C=Blog⁡2(1+SNR)[bit/s].\boxed{C=B\log_2(1+\mathrm{SNR})}\quad[\text{bit/s}].

È la formula chiave dei sistemi di comunicazione fisici: lega la capacità alla potenza e all'energia, tramite Mstx=A0(2B)=σs2,Msrx=Mstxg2,Mw=N0B=σw2,SNR=MsrxMw,Es=Ms T.M_{s_{tx}}=A_0(2B)=\sigma_s^2,\quad M_{s_{rx}}=M_{s_{tx}}g^2,\quad M_w=N_0B=\sigma_w^2,\quad\mathrm{SNR}=\frac{M_{s_{rx}}}{M_w},\quad E_s=M_s\,T. Per un canale con attenuazione ach=1/g2a_{ch}=1/g^2 e ricevitore con cifra di rumore FrF_r (Rumore termico, temperatura e cifra di rumoreOgni dispositivo elettrico produce un rumore additivo $w(t)$; la causa principale è il rumore termico (effetto Johnson-Nyquist): una resistenza $R$ alla temperatura $T$ ha PSD $\mathcal P_w=2kTR,\gamma(f)\approx2kTR$, e su un carico adattato la densità di potenza elettrica è $\frac12kT$ (bianca), cioè in banda $B$ una potenza $kTB$ ($kT_0=-174$ dBm/Hz). Si descrive il rumore di una sorgente con la temperatura di rumore $T_s=\frac{p_w}{k/2}$, e quello aggiunto da un doppio bipolo con $T_A$ o con la cifra di rumore $F=1+\frac{T_A}{T_0}$ ($T_0=290$ K, $F\ge1$). Un doppio bipolo passivo a $T_0$ ha $F=a$. In cascata $T_c=T_1+\frac{T_2}{g_1}+\dots$, $F_c=F_1+\frac{F_2-1}{g_1}+\dots$: il primo stadio è il più importante.Rumore termico, temperatura e cifra di rumore →, Link budgetIl sistema di trasmissione si modella con un canale che attenua ($a_{ch}$) e filtra il segnale, un rumore additivo bianco gaussiano (AWGN) che si somma dopo il canale, e un ricevitore con cifra di rumore $F_{rc}$. Il link budget è il bilancio che dà l'SNR in ricezione, $\text{SNR}=\frac{P_{tx}}{a_{ch},kT_0F_{rc},B}=\frac{M_{tx}}{a_{ch}N_0B}$, che deve superare una soglia; in dB (banda stretta) $\text{SNR}{dB}=(P{tx}){dBm}+114-(a{ch}){dB}-(F{rc}){dB}-10\log{10}B_{MHz}$. Lo si usa per ricavare la potenza minima, la banda massima o la distanza massima di un collegamento.Link budget →): SNR=Ptxach 12kTeff (2B)=Ptxach k T0Fr B.\mathrm{SNR}=\frac{P_{tx}}{a_{ch}\,\tfrac12kT_{eff}\,(2B)}=\frac{P_{tx}}{a_{ch}\,k\,T_0F_r\,B}. (La resistenza caratteristica Z0Z_0 non serve perché si lavora in termini elettrici; servirebbe per il calcolo statistico con Mw=kT0FrB Z0M_w=kT_0F_rB\,Z_0.)

Esempi. B=1B=1 MHz e SNR=20\mathrm{SNR}=20 dB (100100 in lineare): C=106log⁡2101=6,66C=10^6\log_2101=6{,}66 Mbit/s. Un SNR\mathrm{SNR} di 00 dB dà 11 bit/s/Hz, 1010 dB dà 3,463{,}46, 2020 dB dà 6,666{,}66, 3030 dB dà 9,979{,}97: ogni 1010 dB in più (cioè un fattore 1010 in potenza) aggiungono solo circa 3,33{,}3 bit/s/Hz.

Grafico interattivo: Efficienza spettrale C/B in funzione dell'SNR in dB: ogni 10 dB in più aggiungono solo circa 3,3 bit/s/Hz (crescita logaritmica); a 20 dB si hanno 6,66 bit/s/Hz.

Come aumentare CC. Aumentando BB (banale, ma vero) o l'SNR, ma quest'ultimo dà solo una crescita logaritmica (logaritmo in base 2, non in base 10: attenzione al trabocchetto).

Cosa succede al crescere della banda

Se si aumenta BB senza cambiare gli altri parametri (PtxP_{tx}, acha_{ch}, FrF_r, T0T_0) la capacità cresce, ma l'SNR cala perché il rumore è proporzionale a BB. Posto S=Ptx/achS=P_{tx}/a_{ch} (potenza ricevuta) e N0=kT0FrN_0=kT_0F_r: C(B)=Blog⁡2(1+SN0B)→B→∞ ?(∞⋅0 forma indeterminata).C(B)=B\log_2\Big(1+\frac{S}{N_0B}\Big)\xrightarrow[B\to\infty]{}\ ?\qquad(\infty\cdot0\ \text{forma indeterminata}). Si risolve con il limite notevole log⁡(1+x)∼x\log(1+x)\sim x per x→0x\to0 (Limiti notevoli di funzioniI limiti notevoli per le forme 0/0 (log(1+x)/x, (e^x − 1)/x, ((1+x)^α − 1)/x, sin x/x, (1 − cos x)/x², arctan x/x...) con le dimostrazioni, e la loro forma come asintoticità: log(1+f) ~ f, e^f − 1 ~ f, sin f ~ f, 1 − cos f ~ f²/2 quando f → 0.Limiti notevoli di funzioni →, Asintoticità e o-piccolo per funzionif ~ g per x → x0 se f/g tende a 1, f = o(g) se tende a 0; le relazioni dipendono da x0. Regole di calcolo con gli o-piccoli e gerarchia delle funzioni infinite per x → +∞: log < potenze < esponenziali < x^x.Asintoticità e o-piccolo per funzioni →), da scrivere in base naturale: log⁡2(1+x)=ln⁡(1+x)ln⁡2∼xln⁡2\log_2(1+x)=\frac{\ln(1+x)}{\ln2}\sim\frac x{\ln2}. Con x=SN0B→0x=\frac S{N_0B}\to0: lim⁡B→∞C=lim⁡B→∞B SN0Bln⁡2=SN0ln⁡2≃1,443 SN0.\lim_{B\to\infty}C=\lim_{B\to\infty}B\,\frac{S}{N_0B\ln2}=\frac{S}{N_0\ln2}\simeq1{,}443\,\frac S{N_0}. La capacità non cresce indefinitamente: ha un asintoto (saturazione). Andamento sublineare.

Grafico interattivo: Capacità normalizzata a S/N0 in funzione della banda normalizzata B/(S/N0): cresce in modo sublineare e satura sull'asintoto 1/ln 2 ≈ 1,443; già a B = S/N0 si è al 69 % del massimo.

Esempio. S/N0=106S/N_0=10^6 Hz: C(105)=0,35C(10^5)=0{,}35, C(106)=1,00C(10^6)=1{,}00, C(107)=1,375C(10^7)=1{,}375, C(109)=1,442C(10^9)=1{,}442 Mbit/s, contro l'asintoto 1,44271{,}4427 Mbit/s. Sul x=B/(S/N0)=1x=B/(S/N_0)=1 la capacità è già il 69 %69\,\% del massimo; oltre x≈10x\approx10 allargare la banda non serve più. Vedi l'Esercizio - Capacità al crescere della banda.

Un limite sull'energia per bit

Se si trasmette alla velocità RbR_b con energia per bit EbE_b, la potenza ricevuta è S=EbRbS=E_bR_b e, con efficienza spettrale η=Rb/B\eta=R_b/B, l'SNR è SNR=EbRbN0B=ηEbN0\mathrm{SNR}=\frac{E_bR_b}{N_0B}=\eta\frac{E_b}{N_0}. La condizione di Shannon Rb<CR_b<C diventa η<log⁡2 ⁣(1+ηEbN0)\eta<\log_2\!\big(1+\eta\frac{E_b}{N_0}\big), cioè EbN0>2η−1η →η→0 ln⁡2=0,693 (−1,59 dB).\frac{E_b}{N_0}>\frac{2^\eta-1}{\eta}\ \xrightarrow[\eta\to0]{}\ \ln2=0{,}693\ (-1{,}59\ \text{dB}). Nessun sistema, per quanto sofisticato, può funzionare in modo affidabile con Eb/N0E_b/N_0 minore di −1,59-1{,}59 dB (limite di Shannon). Valori: η=1\eta=1: 00 dB; η=2\eta=2: 1,761{,}76 dB; η=4\eta=4: 5,745{,}74 dB; η=8\eta=8: 15,015{,}0 dB. Le modulazioni (Efficienza spettrale e banda delle modulazioniLa forma $h_{Tx}(t)$ dell'impulso decide la banda e l'ISI: il rettangolo non ha ISI ma una banda enorme (lobi del sinc), il sinc ha banda minima $\frac1{2T}$ ma non è realizzabile e richiede sincronizzazione perfetta, e il coseno rialzato con roll-off $\beta$ ha banda $(1+\beta)\frac1{2T}$ ed è ISI-free ai campionamenti. L'efficienza spettrale è $\nu=\frac{R_b}{B}$ [bit/s/Hz], con massimo $\nu_{max}=\frac{R_b}{B_{min}}$ e $B_{min}=\frac1{2T}$ (banda base), $\frac1T$ (QAM, PSK passabanda), $\frac M{2T}$ (ortogonale), $\frac M{4T}$ (biortogonale). L'SNR di riferimento $\Gamma=\frac{E_s}{TN_0B_{min}}=\frac{P_{tx}}{kT_{eff,rc}B_{min}a_{ch}}\ge\Lambda$ permette di confrontare le modulazioni a $P_{bit}$ fissata; il limite di Shannon è $\nu\le\log_2(1+\Gamma)$.Efficienza spettrale e banda delle modulazioni →) si confrontano con questa curva: a Pbit=10−5P_{bit}=10^{-5} la BPSK (η=1\eta=1) ha bisogno di circa 9,69{,}6 dB, cioè sta ≈9,6\approx9{,}6 dB sopra il limite 00 dB. (Questo paragrafo è un completamento dalle formule del corso.)

Grafico interattivo: Minimo E_b/N0 in dB necessario per una trasmissione affidabile in funzione dell'efficienza spettrale: tende a -1,59 dB (limite di Shannon) per η→0 e cresce sempre più in fretta (circa 2-3 dB per ogni bit/s/Hz in più).

Un caso particolare: canale a cancellazione

Un canale con ingresso binario e tre uscite {0,1,errore}\{0,1,\text{errore}\}, in cui ogni bit passa intatto con probabilità qq e viene sostituito dal simbolo "errore" (cancellazione, erasure) con probabilità 1−q1-q, non sbaglia mai un bit: lo perde soltanto. Ingresso XX con P[X=1]=πP[X=1]=\pi: H(Y)=h(1−q)+q h(π)H(Y)=h(1-q)+q\,h(\pi) (prima si sceglie se c'è cancellazione, poi, se non c'è, il valore) e H(Y∣X)=h(1−q)H(Y|X)=h(1-q) per ogni ingresso. Quindi I=q h(π)I=q\,h(\pi), massimo per π=12\pi=\frac12: Cs=q bit/simbolo.C_s=q\ \text{bit/simbolo}. Con q=0,25q=0{,}25 (simulazione d'esame 2013): Cs=0,25C_s=0{,}25 bit/simbolo. Intuitivamente, la frazione qq di simboli non cancellati porta un bit ciascuno.

Errori comuni

  • Dire che la capacità "è la velocità del canale": è il massimo di una grandezza statistica (informazione mutua per simbolo per FF), e dipende da BB, SNR e dal tipo di canale.
  • Usare l'SNR in dB nella formula di Shannon (serve il valore lineare) o un logaritmo in base 1010 (serve la base 22).
  • Pensare che C→∞C\to\infty con B→∞B\to\infty: a potenza fissata satura a S/(N0ln⁡2)S/(N_0\ln2).
  • Concludere dalla parte inversa che con R>CR>C "tutto va male in ogni caso" (non si ha errore arbitrariamente piccolo, ma non si dice che la trasmissione sia impossibile).

Collegamenti

Per i codici concreti: Codici a blocco - distanza minima, rivelazione e correzioneLa codifica di canale aggiunge ridondanza in modo mirato: $k$ bit di informazione diventano una parola di codice di $n>k$ bit scelta tra $2^k$ parole ammesse. Se la parola ricevuta non è una parola di codice l'errore è rivelato (e si può chiedere la ritrasmissione, ARQ) oppure corretto (FEC). La qualità dipende dalla distanza minima di Hamming $d_{min}$: si rivelano fino a $d_{min}-1$ errori e se ne correggono $t<d_{min}/2$, ma non contemporaneamente. Per un BSC con $P_{bit}<1/2$ la decisione ottima ML coincide con quella a distanza minima. Limite di Hamming: $k/n\le1-\frac1n\log_2\sum_{r=0}^t\binom nr$.Codici a blocco - distanza minima, rivelazione e correzione →, Codici di Hamming e CRCIl codice di Hamming $(2^h-1,,2^h-h-1)$ ha come matrice di controllo $H$ che ha per colonne tutte le sequenze non nulle di $h$ bit: colonne distinte e non nulle danno $d_{min}=3$, la sindrome di un errore singolo è la colonna corrispondente, quindi corregge 1 errore (o rivela 2) ed è un codice perfetto ($2^{n-k}=1+n$). Per $(7,4)$ e BSC: errore non rivelato $\simeq7P^3(1-P)^4$, parola sbagliata dopo correzione $\simeq\binom72P^2(1-P)^5$. Il CRC è un codice lineare ciclico usato per sola rivelazione: la parola è $m(x)x^r$ più il resto della divisione per il polinomio generatore $g(x)$ di grado $r$ (modulo 2); rivela ogni errore a burst di lunghezza $\le r$.Codici di Hamming e CRC →. Per l'uso nel livello di collegamento (capacità e collisioni, SINR): Livello di collegamento - LLC, MAC e ipotesi di lavoroIl livello di collegamento vede un canale fisico con errori residui e deve offrire ai livelli superiori un canale affidabile; ha due sottolivelli: LLC (correzione residua, ARQ con ACK/NACK) e MAC (chi trasmette, perché con più trasmettitori il rapporto giusto è la SINR e non l'SNR e la capacità cala). Per analizzarlo si usano ipotesi standard: pacchetti di $L$ bit, probabilità $p$ di pacchetto errato (i.i.d., $p=1-(1-P_{bit})^L\simeq LP_{bit}$), coda sempre piena (heavy traffic), tempo di pacchetto $t_P=L/R_b$, $t_{RTT}=t_P+t_A+2\tau_P$, timeout stringente, ACK/NACK senza errori, ritrasmissioni illimitate ($E[#tx]=1/(1-p)$). Le metriche sono throughput (frazione di tempo d'aria) e ritardo (fino alla ricezione corretta). Una collisione è la sovrapposizione, anche minima, di due pacchetti.Livello di collegamento - LLC, MAC e ipotesi di lavoro →.

Versione ripasso

Definizioni

Informazione mutua (richiamo, Informazione, entropia e informazione mutuaL'informazione di un evento di probabilità $P$ è $i=\log_2\frac1P$ bit; l'entropia $H(x)=\sum p\log_2\frac1p$ è l'informazione media e misura l'incertezza: $0\le H\le\log_2M$, massimo se i simboli sono equiprobabili. Per due variabili: $\max{H(x),H(y)}\le H(x,y)\le H(x)+H(y)$, $H(x|y)=H(x,y)-H(y)$ e l'informazione mutua $I(x;y)=H(x)-H(x|y)=H(x)+H(y)-H(x,y)\ge0$ (zero se e solo se indipendenti). Per una sorgente di $F_s$ simboli/s: rate di informazione $F_sH_s$, rate nominale $F_s\log_2M$, efficienza $\eta=\frac{H_s}{\log_2M}$.Informazione, entropia e informazione mutua →) I(X,Y)=H(X)+H(Y)−H(X,Y)=H(Y)−H(Y∣X)=H(X)−H(X∣Y).I(X,Y)=H(X)+H(Y)-H(X,Y)=H(Y)-H(Y|X)=H(X)-H(X|Y).

  • È simmetrica e 0≤I(X,Y)≤min⁡{H(X),H(Y)}0\le I(X,Y)\le\min\{H(X),H(Y)\}.
  • Esempio: XX bit equiprobabile e Y=XY=X danno I=H(X)=1I=H(X)=1 bit; YY bit indipendente da XX dà I=1+1−2=0I=1+1-2=0.

Teorema di Shannon per la codifica di canale

  • Se R<CR<C: per ogni δ>0\delta>0 e nn abbastanza grande esistono codifica e decodifica con P[bℓ≠b^ℓ]<δP[b_\ell\ne\hat b_\ell]<\delta. L'errore residuo può essere piccolo a piacere, ma le parole devono essere molto lunghe. Il teorema è di esistenza: non dice come costruire il codice.
  • Se R>CR>C: esiste δ>0\delta>0 tale che in ogni codifica P[bℓ≠b^ℓ]>δP[b_\ell\ne\hat b_\ell]>\delta.
  • In breve: R<CR<C va bene, R>CR>C va male.

BSC: canale binario simmetrico (P=PbitP=P_{bit})

Canale a cancellazione (erasure)

  • Uscita {0,1,errore}\{0,1,\text{errore}\}: ogni bit passa con probabilità qq, altrimenti è cancellato. Il canale non sbaglia mai un bit, lo perde.
  • Con P[X=1]=πP[X=1]=\pi: I=q h(π)I=q\,h(\pi), massimo per π=12\pi=\frac12: Cs=qC_s=q bit/simbolo.
  • Esempio: q=0,25q=0{,}25 dà Cs=0,25C_s=0{,}25 bit/simbolo.

Canale AWGN: da CsC_s a C=Blog⁡2(1+SNR)C=B\log_2(1+\mathrm{SNR})

Aumentare la banda: saturazione

Limite sull'energia per bit

Errori tipici:

  • Dire che la capacità è la velocità del canale: è il massimo di IsI_s, moltiplicato per FF.
  • Usare l'SNR in dB nella formula di Shannon (serve il valore lineare) o il logaritmo in base 1010 (serve la base 22).
  • Pensare che C→∞C\to\infty con B→∞B\to\infty: a potenza fissata satura a S/(N0ln⁡2)S/(N_0\ln2).
  • Concludere che con R>CR>C la trasmissione è impossibile: si dice solo che non si ottiene un errore arbitrariamente piccolo.

Per i codici concreti: Codici a blocco - distanza minima, rivelazione e correzioneLa codifica di canale aggiunge ridondanza in modo mirato: $k$ bit di informazione diventano una parola di codice di $n>k$ bit scelta tra $2^k$ parole ammesse. Se la parola ricevuta non è una parola di codice l'errore è rivelato (e si può chiedere la ritrasmissione, ARQ) oppure corretto (FEC). La qualità dipende dalla distanza minima di Hamming $d_{min}$: si rivelano fino a $d_{min}-1$ errori e se ne correggono $t<d_{min}/2$, ma non contemporaneamente. Per un BSC con $P_{bit}<1/2$ la decisione ottima ML coincide con quella a distanza minima. Limite di Hamming: $k/n\le1-\frac1n\log_2\sum_{r=0}^t\binom nr$.Codici a blocco - distanza minima, rivelazione e correzione →. Per il livello di collegamento: Livello di collegamento - LLC, MAC e ipotesi di lavoroIl livello di collegamento vede un canale fisico con errori residui e deve offrire ai livelli superiori un canale affidabile; ha due sottolivelli: LLC (correzione residua, ARQ con ACK/NACK) e MAC (chi trasmette, perché con più trasmettitori il rapporto giusto è la SINR e non l'SNR e la capacità cala). Per analizzarlo si usano ipotesi standard: pacchetti di $L$ bit, probabilità $p$ di pacchetto errato (i.i.d., $p=1-(1-P_{bit})^L\simeq LP_{bit}$), coda sempre piena (heavy traffic), tempo di pacchetto $t_P=L/R_b$, $t_{RTT}=t_P+t_A+2\tau_P$, timeout stringente, ACK/NACK senza errori, ritrasmissioni illimitate ($E[#tx]=1/(1-p)$). Le metriche sono throughput (frazione di tempo d'aria) e ritardo (fino alla ricezione corretta). Una collisione è la sovrapposizione, anche minima, di due pacchetti.Livello di collegamento - LLC, MAC e ipotesi di lavoro →.

Esercizi su questo argomento

Lezioni in cui compare

Teoria collegata