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 al tempo (con ms periodo di bit) si comporta come segue: i bit ai tempi pari hanno una probabilità di errore (indipendentemente dal bit trasmesso), mentre i bit ai tempi dispari hanno una probabilità di errore (indipendentemente dal bit trasmesso). In ogni caso gli errori introdotti sono senza memoria.
- Dire per quali valori di e il canale complessivo è binario simmetrico, giustificando la risposta.
- Calcolare la capacità del canale per .
- Calcolare la probabilità di errore media del canale con e .
- Calcolare la capacità del canale con e (suggerimento: modellarlo come una coppia di canali paralleli).
- Sia e . Utilizzando un codice di Hamming che utilizza bit in posizione pari e bit in posizione dispari, calcolare il numero massimo di 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 con una sola probabilità d'errore , uguale per l'ingresso e per l'ingresso (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: per pari, per dispari. Il canale complessivo è un BSC senza memoria se e solo se , per qualunque valore comune (). Se la matrice cambia da un istante al successivo, quindi non è un BSC stazionario (è un canale periodico a due fasi).
(2) Capacità con
Con si ha un BSC con e 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 →) (Calcolata anche massimizzando numericamente su : il massimo è in e vale bit per uso.)
(3) Probabilità d'errore media con e
Metà dei bit (quelli ai tempi pari) è sbagliata con probabilità e metà (quelli ai tempi dispari) con probabilità , quindi la probabilità d'errore media su un bit qualsiasi è La media si fa con pesi uguali ( e ) perché pari e dispari sono ugualmente frequenti.
Osservazione. La capacità di questo canale non è quella del BSC con . Con i risultati del punto 4 (canali paralleli): bit/s, mentre il BSC con avrebbe bit/s. La differenza viene dal fatto che è concava: la media delle entropie è minore dell'entropia della media, quindi conoscere quali bit sono più affidabili vale qualcosa.
(4) Capacità con e : 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 :
- canale dei bit pari: BSC con e periodo di simbolo ms. La sua capacità è la metà di quella del punto 2:
- canale dei bit dispari: senza errori (), quindi ogni uso trasporta bit:
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): Si usano un codificatore e un decodificatore separati per i due canali. Il risultato sta tra la capacità del BSC con su tutti i bit ( bit/s) e quella del canale ideale ( 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 con bit nei tempi pari
Un codice di Hamming ha distanza minima e corregge sempre 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 (). Gli errori possono quindi colpire solo gli bit della parola di codice trasmessi nei tempi pari.
- Con 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 i due bit pari possono essere entrambi sbagliati (con probabilità ). Con due errori la sindrome è non nulla (perché ) 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 è : un solo bit della parola di deve passare dai tempi pari, e gli altri dai dispari.
(Verificato con Python: , massimo di in , bit/s, del canale con e bit/s contro del BSC con . La soluzione del corso riporta gli stessi valori.)
Errori comuni
- Dire che il canale è BSC per qualunque : serve .
- Per i canali paralleli, dimenticare di dividere per il periodo di simbolo: ciascun canale è usato una volta ogni .
- Prendere come capacità del canale alternato quella del BSC con probabilità media: per la concavità di 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 errori un Hamming non rileva solo ma corregge male.
Versione ripasso
Testo. Bit ogni ms; errore ai tempi pari e ai dispari, senza memoria. Domande: quando è BSC; capacità con ; errore medio con ; capacità con (canali paralleli); Hamming con bit nei tempi pari: massimo per assenza di errori sulla parola decodificata.
- (1) (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 →) BSC senza memoria solo se (stessa matrice a ogni istante).
- (2) bit/s.
- (3) (la capacità non è quella del BSC : contro bit/s, per la concavità di ).
- (4) Due canali paralleli, uno uso ogni : , ; somma bit/s.
- (5) (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 →) Hamming corregge errore, i dispari non sbagliano: serve al più bit nei tempi pari, . Con due errori fanno decodificare male.
- Dettagli (1)-(2). BSC con errore costante: matrice a ogni istante, quindi . , bit/s.
- Dettagli (3). . La capacità è invece bit/s, maggiore di quella del BSC () per la concavità di .
- Dettagli (4). Canale pari: BSC ogni , ; dispari: ideale, ; somma (tra e ). Codificatori e decodificatori separati.
- Dettagli (5). Hamming corregge errore; con errori la sindrome è non nulla ma indica un terzo bit: decodifica errata (probabilità per ). Quindi .
- Errori: BSC per ogni ; non dividere per canale; media delle probabilità al posto delle capacità.