Codifica di canale - codici a blocco, distanza minima, rivelazione e correzione
In questa pagina 7
A che cosa serve
Il canale numerico (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 →) sbaglia ogni tanto un bit: con la modulazione si può scendere a o , ma alcuni servizi richiedono o meno, e alzare ancora la potenza costa. La codifica di canale (channel coding) aggiunge ridondanzabit aggiunti che non portano informazione nuova ma permettono di controllare la parola ai bit di informazione in modo che il ricevitore possa:
- rivelare che una parola ricevuta contiene errori (e, per esempio, chiederne la ritrasmissione: Tecniche ARQ - stop-and-wait, go-back-N e selective repeatL'ARQ (automatic repeat request) usa un codice che rivela gli errori e fa ritrasmettere i pacchetti sbagliati, con conferme ACK/NACK. Con $p=1-(1-P_{bit})^L$ la probabilità che un pacchetto sia errato, $t_P$ il tempo di pacchetto, $t_A$ quello dell'ACK e $\tau_P$ il ritardo di propagazione: stop-and-wait $S=\frac{t_P(1-p)}{t_P+t_A+2\tau_P}$; go-back-N $S=\frac{(1-p),t_P}{1+(N-1)p}$ con $N-1=\left\lceil\frac{2\tau_P}{t_P+t_A}\right\rceil$; selective repeat $S=(1-p)\frac{t_P}{t_P+t_A}$. Il numero medio di trasmissioni di un pacchetto è $\frac1{1-p}$.Tecniche ARQ - stop-and-wait, go-back-N e selective repeat →);
- correggere gli errori senza ritrasmissione (forward error correction, FECcorrezione degli errori fatta dal solo ricevitore, senza chiedere ritrasmissioni).
Non va confusa con la codifica di sorgente (Codifica di sorgente - codici a prefisso e teorema di ShannonLa codifica di sorgente riduce il numero di bit mappando le parole della sorgente in parole di lunghezza variabile (più corte per le più probabili), senza perdere informazione. Il codice deve essere decodificabile; i codici a prefisso (nessuna parola è prefisso di un'altra) lo sono. Kraft-McMillan: se il codice è decodificabile $\sum M_y^{-L(b)}\le1$. Teorema di Shannon: $L_y\ge\frac{H(x)}{\log_2M_y}$ e esiste un codice a prefisso con $L_y\le\frac{H(x)}{\log_2M_y}+1$; l'efficienza è $\eta=\frac{H(x)}{L_y\log_2M_y}$.Codifica di sorgente - codici a prefisso e teorema di Shannon →), che toglie ridondanza per risparmiare bit: la codifica di canale la mette, in modo controllato. Nella catena trasmissiva si trova dopo la codifica di sorgente e prima del modulatore.
Codice a blocco
Si raggruppano i bit di informazione in blocchi di bit, detti parole di informazione (ce ne sono ), e a ciascuna si associa una parola di codicesequenza di bit associata a una parola di informazione di bit (la mappa deve essere iniettiva). L'insieme delle parole di codice è il codice . Grandezze:
Se il canale sostiene un bit-rate di bit trasmessi, i bit utili sono . Il codice è sistematico se i primi bit della parola di codice coincidono con la parola di informazione (gli altri sono i bit di parità).
Esempi. Ripetizione : ogni bit è ripetuto volte, . Singolo bit di parità : si aggiunge un bit che rende pari il numero di uni, . Hamming : (Codici a blocco lineari - matrice generatrice, controllo di parità, sindrome e codici di HammingUn codice a blocco è lineare se la somma (bit a bit, modulo 2) di due parole di codice è una parola di codice. Si descrive con la matrice generatrice $G$ ($k\times n$, $\mathbf c=\mathbf mG$) e con la matrice di controllo di parità $H$ ($(n-k)\times n$, $G H^T=0$); in forma sistematica $G=[I_k\mid P]$ e $H=[P^T\mid I_{n-k}]$. La distanza minima è il peso minimo delle parole non nulle. La sindrome $\mathbf s=\mathbf rH^T$ dipende solo dall'errore: se è nulla la parola è valida, altrimenti identifica l'errore (un solo errore ha per sindrome la colonna di $H$ corrispondente). I codici di Hamming $(2^m-1,,2^m-1-m)$ hanno $d_{min}=3$.Codici a blocco lineari - matrice generatrice, controllo di parità, sindrome e codici di Hamming →).
Distanza di Hamming e distanza minima
Il peso di Hammingnumero di uni di una parola è il numero di uni di ; la distanza di Hammingnumero di posizioni in cui due parole hanno bit diversi tra due parole è il numero di posizioni in cui differiscono: (con somma bit a bit modulo 2). La distanza minima del codice è la più piccola distanza tra due parole distinte: È l'analogo discreto della distanza minima della costellazione (Introduzione alla modulazione digitale e spazio dei segnaliLa modulazione digitale associa a ognuna delle $M=2^b$ parole di $b$ bit un segnale $s_m(t)$ di energia finita; il demodulatore deve capire quale segnale è stato trasmesso da $r(t)=s_m(t)+w(t)$. Per studiarlo i segnali si vedono come vettori: con il prodotto scalare $\langle x,y\rangle=\int xy^*dt$ e una base ortonormale ${\phi_i}$ ogni segnale è $\mathbf s_m=[\langle s_m,\phi_i\rangle]$ e l'insieme dei punti è la costellazione. La base si trova con il procedimento di Gram-Schmidt; distanze ed energie dei punti dicono le prestazioni.Introduzione alla modulazione digitale e spazio dei segnali →): più le parole sono lontane, più errori servono per trasformarne una in un'altra.
Esempio. Codice con , , , . Distanze: –: ; –: ; –: ; –: ; –: ; –: . Quindi .
Rivelazione e correzione degli errori
Un errore di bit sposta la parola trasmessa a distanza .
- Rivelazione: se la parola ricevuta non è una parola di codice (è a distanza dalla trasmessa, quindi non può coincidere con un'altra parola di codice): l'errore è visibile. Il codice rivela con certezza fino a errori. (Con può accadere che la parola ricevuta sia un'altra parola valida: errore non rivelato.)
- Correzione con decodifica a minima distanzail ricevitore sceglie la parola di codice più vicina, in distanza di Hamming, a quella ricevuta (minimum distance decoding): il ricevitore sceglie la parola di codice più vicina alla ricevuta (equivale al criterio ML per un canale binario simmetricoogni bit viene invertito con probabilità , indipendentemente dagli altri con , come la minima distanza euclidea nel caso AWGN: Teoria della decisione - criteri MAP, ML e MDLe regioni di decisione che massimizzano la probabilità di decisione corretta sono $\mathcal R_m={\boldsymbol\rho:\ m=\arg\max_mP_m,p_{\mathbf r|m}(\boldsymbol\rho|m)}$: criterio MAP (ottimo). Il criterio ML ignora le probabilità a priori; se i simboli sono equiprobabili coincide con il MAP. Il criterio MD sceglie il punto più vicino, $\hat m=\arg\min_m\lVert\boldsymbol\rho-\mathbf s_m\rVert$; con canale AWGN coincide con il ML. Quindi con simboli equiprobabili e AWGN la distanza minima è ottima; con probabilità diverse le soglie si spostano verso il punto meno probabile.Teoria della decisione - criteri MAP, ML e MD →). Le sfere di Hamminginsiemi delle parole a distanza al più da una parola di codice di raggio attorno alle parole di codice sono disgiunte se , quindi si correggono con certezza fino a
- Correzione e rivelazione insieme: si possono correggere errori e rivelarne fino a se .
- Cancellazioniposizioni in cui si sa che il bit è andato perso, senza conoscerne il valore (posizioni note ma con valore incerto): se ne correggono fino a .
| rivela | corregge | |
|---|---|---|
| (oppure rivela 2 e corregge 1) | ||
Esempio. Ripetizione : parole e , : corregge errore (si decide a maggioranza: ). Singolo bit di parità: , rivela errore ma non lo corregge. Un codice che deve correggere almeno errori ha (per esempio il dell'esercizio Esercizio 27 · TDMA, codice a blocco (63,45) e PAM a quattro livelli (tema d'esame luglio 2021)).
Limiti sui codici
Con un codice e distanza :
- Limite di Singleton: la distanza non supera i bit di ridondanza più uno: (togliendo posizioni le parole restano distinte). I codici che lo raggiungono sono detti a massima distanza (MDS). Serve per trovare il massimo con e dati: , con .
- Limite di Hammingle sfere di raggio non si sovrappongono, quindi non possono occupare più dello spazio disponibile (impacchettamento di sfere): le sfere di raggio non si sovrappongono nello spazio di parole, quindi . Se vale l'uguaglianza il codice è perfettovale l'uguaglianza nel limite di Hamming: le sfere ricoprono tutto lo spazio (Hamming : ; Golay : ).
Prestazioni su un canale binario simmetrico
Il canale numerico è un BSC con probabilità di errore sul bit (per esempio della modulazione). Con decodifica di un codice che corregge errori:
- la parola è decodificata correttamente se ci sono al più errori (la probabilità di avere errori su bit è binomialela probabilità di errori su bit è ): (con uguaglianza per i codici perfetti);
- la probabilità d'errore sul bit dopo la decodifica: quando c'è un errore di parola, la parola decodificata è a distanza almeno dalla trasmessa, quindi sbaglia in media circa bit su (e la parola più probabile decodificata è a distanza ):
Esempi (calcolati e controllati con Python).
- Ripetizione , : errore se almeno bit su sono sbagliati: (circa volte meno, al prezzo di triplicare i bit). Ripetizione (): .
- Hamming , , : (simulazione su parole: ), contro la probabilità di sbagliare almeno uno dei bit senza codice.
- Codice con () e : e .
Il prezzo della ridondanza. Se il bit-rate del canale resta fisso, i bit utilibit di informazione effettivamente trasportati, esclusa la ridondanza calano di ; se invece si vuole mantenere il rate utile, il tempo di bit si riduce di e, a potenza fissa, l'energia per bit trasmesso cala (e quindi cresce): il guadagno di codificariduzione della potenza necessaria, a parità di probabilità d'errore, grazie al codice va confrontato con questa perdita. Per molto piccola il guadagno è grande; per vicino a la codifica non conviene. Il limite teorico a cui un codice può arrivare è dato dalla capacità del canale (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 →).
Errori comuni
- Dire che errori sono rivelati: se ne rivelano (con errori si può finire in un'altra parola di codice).
- Correggere errori: sono ( corregge solo ).
- Usare al posto di per correggere errori (per : , non ).
- Dimenticare che il rendimento riduce il rate utile.
- Confondere la probabilità di parola con quella di bit dopo la decodifica (differiscono di circa ).
Versione ripasso
- Codice : bit, parole, ; sistematico se i primi bit sono l'informazione. Ripetizione , parità , Hamming .
- Distanza di Hamming ; . Es.: : .
- Rivela errori; corregge (minima distanza: Teoria della decisione - criteri MAP, ML e MDLe regioni di decisione che massimizzano la probabilità di decisione corretta sono $\mathcal R_m={\boldsymbol\rho:\ m=\arg\max_mP_m,p_{\mathbf r|m}(\boldsymbol\rho|m)}$: criterio MAP (ottimo). Il criterio ML ignora le probabilità a priori; se i simboli sono equiprobabili coincide con il MAP. Il criterio MD sceglie il punto più vicino, $\hat m=\arg\min_m\lVert\boldsymbol\rho-\mathbf s_m\rVert$; con canale AWGN coincide con il ML. Quindi con simboli equiprobabili e AWGN la distanza minima è ottima; con probabilità diverse le soglie si spostano verso il punto meno probabile.Teoria della decisione - criteri MAP, ML e MD →) ; correzione + rivelazione : ; cancellazioni: . Correggere errori (: ).
- Limiti: Singleton (); Hamming (uguaglianza: perfetto).
- BSC (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 →): ; . Es.: ripetizione , : ; Hamming : ; , : .
- Prezzo: rate utile (o più banda); limite teorico: 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 →.
- Errori tipici: rivelati; ; al posto di .
Esercizi su questo argomento
- Esercizio 27 · TDMA, codice a blocco (63,45) e PAM a quattro livelli (tema d'esame luglio 2021)
- Esercizio 28 · codifica a correzione d'errore e ARQ selective repeat per un server (tema d'esame luglio 2021)
- Esercizio 30 · codice a blocco lineare (4,3) esteso a (5,3), matrici e sindrome (temi d'esame gennaio e luglio 2017)
- Esercizio 31 · codice a blocco non lineare, distanza minima e decodifica su un canale binario simmetrico (tema d'esame giugno 2017)
Teoria collegata
- Capacità di canale - canale binario simmetrico, a cancellazione e AWGN
- Codici a blocco lineari - matrice generatrice, controllo di parità, sindrome e codici di Hamming
- Formulario - fondamenti di comunicazioni
- Metodi di accesso al mezzo - FDMA, TDMA, ALOHA e CSMA
- Sistemi di telecomunicazioni e modello ISO-OSI
- Tecniche ARQ - stop-and-wait, go-back-N e selective repeat
- Trasmissione di segnali analogici per via digitale - SNR con errori sul canale