Salta al contenuto
Note per Studenti Esercizio - canale binario con errori diversi sui bit pari e dispari (compito del 25 giugno 2024, es. 179)

Esercizio - canale binario con errori diversi sui bit pari e dispari (compito del 25 giugno 2024, es. 179)

In questa pagina 6

Testo (compito del 25 giugno 2024, esercizio 179). Un canale di comunicazione binario su cui viene trasmesso il bit bnb_n al tempo nTbnT_b (con Tb=1T_b=1 ms periodo di bit) si comporta come segue: i bit ai tempi nn pari hanno una probabilità di errore PPP_P (indipendentemente dal bit trasmesso), mentre i bit ai tempi nn dispari hanno una probabilità di errore PDP_D (indipendentemente dal bit trasmesso). In ogni caso gli errori introdotti sono senza memoria.

  1. Dire per quali valori di PPP_P e PDP_D il canale complessivo è binario simmetrico, giustificando la risposta.
  2. Calcolare la capacità del canale per PP=PD=0,1P_P=P_D=0{,}1.
  3. Calcolare la probabilità di errore media del canale con PP=0,1P_P=0{,}1 e PD=0,2P_D=0{,}2.
  4. Calcolare la capacità del canale con PP=0,1P_P=0{,}1 e PD=0P_D=0 (suggerimento: modellarlo come una coppia di canali paralleli).
  5. Sia PP=0,1P_P=0{,}1 e PD=0P_D=0. Utilizzando un codice di Hamming (7,4)(7,4) che utilizza mm bit in posizione pari e 7−m7-m bit in posizione dispari, calcolare il numero massimo di mm che garantisce sempre assenza di errori sulla parola di codice decodificata.

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-4, capacità del BSC e canali in parallelo), 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 binaria), Codici di Hamming e bound di HammingIl bound di Hamming (sphere packing) lega tasso e capacità di correzione: $2^k\sum_{r=0}^t\binom nr\le2^n$, cioè $\frac kn\le1-\frac1n\log_2\sum_{r=0}^t\binom nr$, perché le $2^k$ sfere di raggio $t$ attorno alle parole sono disgiunte. Un codice di Hamming ha per colonne di $H$ tutte le sequenze non nulle di $n-k$ bit, ciascuna una volta, quindi $n=2^{n-k}-1$ (parametri $(2^m-1,,2^m-1-m)$: $(7,4)$, $(15,11)$, $(63,57)$, $(255,247)$). Non ha colonne nulle né ripetute e tre colonne sommano a zero: $d_{min}=3$, corregge $1$ errore e ne rivela $2$. Rispetta il bound di Hamming con l'uguaglianza ($t=1$): è un codice perfetto, per cui la probabilità d'errore di parola sul BSC è esattamente $P(\text{almeno 2 errori})$.Codici di Hamming e bound di Hamming → (punto 5). Altre capacità: Esercizio 32 · capacità di canali gaussiano, binario simmetrico e a cancellazione (esercizio del corso).

(1) Quando il canale è binario simmetrico senza memoria

Un canale binario simmetrico senza memoria è descritto, per ogni bit, dalla stessa matrice di transizione [1−PbitPbitPbit1−Pbit],\begin{bmatrix}1-P_{bit}&P_{bit}\\P_{bit}&1-P_{bit}\end{bmatrix}, con una sola probabilità d'errore PbitP_{bit}, uguale per l'ingresso 00 e per l'ingresso 11 (simmetria) e costante nel tempo (il canale è sempre lo stesso a ogni uso, senza memoria).

Qui l'errore non dipende dal bit trasmesso (il canale è simmetrico a ogni istante), ma dipende dal tempo: PPP_P per nn pari, PDP_D per nn dispari. Il canale complessivo è un BSC senza memoria se e solo se PP=PDP_P=P_D, per qualunque valore comune (0≤PP=PD≤10\le P_P=P_D\le1). Se PP≠PDP_P\ne P_D la matrice cambia da un istante al successivo, quindi non è un BSC stazionario (è un canale periodico a due fasi).

(2) Capacità con PP=PD=0,1P_P=P_D=0{,}1

Con PP=PD=0,1P_P=P_D=0{,}1 si ha un BSC con Pbit=0,1P_{bit}=0{,}1 e Tb=1T_b=1 ms. La capacità è (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−h(Pbit)Tb,h(0,1)=0,1log⁡210,1+0,9log⁡210,9=0,3322+0,1368=0,4690,C=\frac{1-h(P_{bit})}{T_b},\qquad h(0{,}1)=0{,}1\log_2\tfrac1{0{,}1}+0{,}9\log_2\tfrac1{0{,}9}=0{,}3322+0{,}1368=0{,}4690, C=1−0,469010−3 s=531 bit/s.C=\frac{1-0{,}4690}{10^{-3}\ \text{s}}=531\ \text{bit/s}. (Calcolata anche massimizzando numericamente I(b;b^)I(b;\hat b) su Pb(0)P_b(0): il massimo è in Pb(0)=0,5P_b(0)=0{,}5 e vale 0,53100{,}5310 bit per uso.)

(3) Probabilità d'errore media con PP=0,1P_P=0{,}1 e PD=0,2P_D=0{,}2

Metà dei bit (quelli ai tempi pari) è sbagliata con probabilità 0,10{,}1 e metà (quelli ai tempi dispari) con probabilità 0,20{,}2, quindi la probabilità d'errore media su un bit qualsiasi è P(E)=12⋅0,1+12⋅0,2=0,15.P(E)=\frac12\cdot0{,}1+\frac12\cdot0{,}2=0{,}15. La media si fa con pesi uguali (12\frac12 e 12\frac12) perché pari e dispari sono ugualmente frequenti.

Osservazione. La capacità di questo canale non è quella del BSC con Pbit=0,15P_{bit}=0{,}15. Con i risultati del punto 4 (canali paralleli): C=12Tb[(1−h(0,1))+(1−h(0,2))]=500⋅(0,5310+0,2781)=404,5C=\frac1{2T_b}\left[(1-h(0{,}1))+(1-h(0{,}2))\right]=500\cdot(0{,}5310+0{,}2781)=404{,}5 bit/s, mentre il BSC con 0,150{,}15 avrebbe 1000⋅(1−h(0,15))=1000⋅0,3902=390,21000\cdot(1-h(0{,}15))=1000\cdot0{,}3902=390{,}2 bit/s. La differenza viene dal fatto che hh è concava: la media delle entropie è minore dell'entropia della media, quindi conoscere quali bit sono più affidabili vale qualcosa.

(4) Capacità con PP=0,1P_P=0{,}1 e PD=0P_D=0: canali paralleli

Si divide il canale in due canali indipendenti, uno per i bit pari e uno per i dispari, ciascuno usato una volta ogni 2Tb2T_b:

  • canale dei bit pari: BSC con Pbit=0,1P_{bit}=0{,}1 e periodo di simbolo Tb′=2Tb=2T_b'=2T_b=2 ms. La sua capacità è la metà di quella del punto 2: CP=1−h(0,1)2Tb=0,53102⋅10−3 s=265,5 bit/s;C_P=\frac{1-h(0{,}1)}{2T_b}=\frac{0{,}5310}{2\cdot10^{-3}\ \text{s}}=265{,}5\ \text{bit/s};
  • canale dei bit dispari: senza errori (PD=0P_D=0), quindi ogni uso trasporta 11 bit: CD=12Tb=500 bit/s.C_D=\frac{1}{2T_b}=500\ \text{bit/s}.

La capacità del canale complessivo è la somma: le informazioni mutue dei due canali si sommano quando gli ingressi sono scelti in modo indipendente, e il massimo si raggiunge massimizzando ciascuna separatamente (ingresso uniforme per il canale pari, qualunque ingresso uniforme per il dispari): Ctot=CP+CD=265,5+500=765,5 bit/s.C_{\text{tot}}=C_P+C_D=265{,}5+500=765{,}5\ \text{bit/s}. Si usano un codificatore e un decodificatore separati per i due canali. Il risultato sta tra la capacità del BSC con 0,10{,}1 su tutti i bit (531531 bit/s) e quella del canale ideale (10001000 bit/s).

Grafico interattivo: Capacità in bit/s del canale con bit pari a errore 0,1 e bit dispari a errore P_D, in funzione di P_D (T_b = 1 ms): C = 500·[(1 − h(0,1)) + (1 − h(P_D))]; per P_D = 0 vale 765,5 bit/s, per P_D = 0,1 vale 531 bit/s, per P_D = 0,2 vale 404,5 bit/s

(5) Hamming (7,4)(7,4) con mm bit nei tempi pari

Un codice di Hamming ha distanza minima dmin⁡=3d_{\min}=3 e corregge sempre 11 errore (Codici di Hamming e bound di HammingIl bound di Hamming (sphere packing) lega tasso e capacità di correzione: $2^k\sum_{r=0}^t\binom nr\le2^n$, cioè $\frac kn\le1-\frac1n\log_2\sum_{r=0}^t\binom nr$, perché le $2^k$ sfere di raggio $t$ attorno alle parole sono disgiunte. Un codice di Hamming ha per colonne di $H$ tutte le sequenze non nulle di $n-k$ bit, ciascuna una volta, quindi $n=2^{n-k}-1$ (parametri $(2^m-1,,2^m-1-m)$: $(7,4)$, $(15,11)$, $(63,57)$, $(255,247)$). Non ha colonne nulle né ripetute e tre colonne sommano a zero: $d_{min}=3$, corregge $1$ errore e ne rivela $2$. Rispetta il bound di Hamming con l'uguaglianza ($t=1$): è un codice perfetto, per cui la probabilità d'errore di parola sul BSC è esattamente $P(\text{almeno 2 errori})$.Codici di Hamming e bound di Hamming →). I bit nei tempi dispari non sono mai in errore (PD=0P_D=0). Gli errori possono quindi colpire solo gli mm bit della parola di codice trasmessi nei tempi pari.

  • Con m≤1m\le1 la parola ha al più un errore: il decodificatore lo corregge sempre, quindi la parola decodificata è sempre esatta, qualunque sia la realizzazione degli errori.
  • Con m=2m=2 i due bit pari possono essere entrambi sbagliati (con probabilità 0,12=0,010{,}1^2=0{,}01). Con due errori la sindrome è non nulla (perché dmin⁡=3>2d_{\min}=3>2) e coincide con la colonna di un terzo bit, che il decodificatore inverte per errore: la parola decodificata è sbagliata. Quindi non c'è garanzia.

Il massimo è m=1m=1: un solo bit della parola di 77 deve passare dai tempi pari, e gli altri 66 dai dispari.

(Verificato con Python: 1−h(0,1)=0,531001-h(0{,}1)=0{,}53100, massimo di II in Pb(0)=0,5P_b(0)=0{,}5, Ctot=265,5+500=765,5C_{\text{tot}}=265{,}5+500=765{,}5 bit/s, CC del canale con 0,10{,}1 e 0,20{,}2 =404,5=404{,}5 bit/s contro 390,2390{,}2 del BSC con 0,150{,}15. La soluzione del corso riporta gli stessi valori.)

Errori comuni

  • Dire che il canale è BSC per qualunque (PP,PD)(P_P,P_D): serve PP=PDP_P=P_D.
  • Per i canali paralleli, dimenticare di dividere per 22 il periodo di simbolo: ciascun canale è usato una volta ogni 2Tb2T_b.
  • Prendere come capacità del canale alternato quella del BSC con probabilità media: per la concavità di hh il risultato è diverso (maggiore).
  • Al punto 5 pensare che basti la probabilità: serve una garanzia sempre, cioè il caso peggiore, che è il massimo numero di errori possibile in una parola.
  • Dimenticare che con 22 errori un Hamming non rileva solo ma corregge male.

Versione ripasso

Testo. Bit ogni Tb=1T_b=1 ms; errore PPP_P ai tempi pari e PDP_D ai dispari, senza memoria. Domande: quando è BSC; capacità con 0,1,0,10{,}1,0{,}1; errore medio con 0,1,0,20{,}1,0{,}2; capacità con 0,1,00{,}1,0 (canali paralleli); Hamming (7,4)(7,4) con mm bit nei tempi pari: massimo mm per assenza di errori sulla parola decodificata.

Teoria collegata