Esercizio - codice (6,3) da equazioni con quadrati e matrice di controllo di parità (secondo compitino del 14 gennaio 2025, es. 185)
In questa pagina 6
Testo (tema d'esame del secondo compitino del 14 gennaio 2025, corso di Fondamenti di Telecomunicazioni, Ing. Informatica UniPD). Per un canale binario simmetrico senza memoria con periodo di simbolo pari a s e probabilità d'errore sul bit pari a si impiega un codice binario in cui le parole di codice sono ottenute dai bit di ingresso in questo modo
dove la somma si intende modulo due.
- (3p) Dire se il codice è lineare. Determinare il rate del codice. Dire se è sistematico. Se il codice è lineare, trovare la matrice generatrice del codice in forma sistematica associato, con il numero minimo possibile di permutazioni di colonne.
- (3p) Trovare la distanza minima, il peso minimo, il numero di errori rilevati e corretti dal codice.
- (3p) Utilizzando il codice sistematico associato, trovare le parole decodificate e dalle sequenze ricevute e .
- (3p) Determinare la probabilità di ricevere la sequenza se è stata trasmessa la parola determinata sopra.
- (3p) Determinare se è possibile trovare una codifica di canale per ottenere una probabilità d'errore residua piccola a piacere, se all'ingresso del canale si ha una sorgente che emette un simbolo ogni s, con alfabeto .
Teoria usata: Codici a blocco lineari - matrice generatrice, forma sistematica e bound di SingletonUn codice a blocco è lineare se le sue $2^k$ parole formano un sottospazio dello spazio delle sequenze binarie di $n$ bit, con la somma modulo 2 (XOR) senza riporto: contiene la parola nulla ed è chiuso rispetto alla somma. Si descrive con la matrice generatrice $G$ ($n\times k$, rango $k$, $\mathbf c=G\mathbf b$, le colonne sono parole di codice); le operazioni sulle colonne non cambiano il codice, le permutazioni delle righe permutano i bit e non cambiano le prestazioni sul canale senza memoria. In forma sistematica $G=\begin{bmatrix}I_k\A\end{bmatrix}$ e $\mathbf c=[\mathbf b;A\mathbf b]$. Per i codici lineari la distanza minima è il peso di Hamming minimo delle parole non nulle e vale il bound di Singleton $d_{min}\le n-k+1$.Codici a blocco lineari - matrice generatrice, forma sistematica e bound di Singleton →, Matrice di controllo di parità, sindrome e cosetLa matrice di controllo di parità $H$ ($\ell\times n$) soddisfa $H\mathbf r=\mathbf 0\iff\mathbf r\in\mathcal C$; per un codice con generatrice $G$ ($n\times k$) vale $HG=0$ con $\operatorname{rango}(H)=n-k$, e se $G=\begin{bmatrix}I_k\A\end{bmatrix}$ allora $H=[A\mid I_{n-k}]$. La distanza minima è il minimo numero di colonne di $H$ linearmente dipendenti. La sindrome $\boldsymbol\sigma=H\boldsymbol\gamma$ della sequenza ricevuta $\boldsymbol\gamma=\mathbf c+\boldsymbol\varepsilon$ vale $H\boldsymbol\varepsilon$: dipende solo dall'errore. Le sequenze con la stessa sindrome formano un coset ($2^{n-k}$ coset di $2^k$ sequenze) e il decodificatore a minima distanza sceglie il coset leader, l'errore di peso minimo del coset: $\hat{\mathbf c}=\boldsymbol\gamma+\boldsymbol\varepsilon_{min}$. La probabilità di decodifica corretta sul BSC è la somma delle probabilità dei coset leader.Matrice di controllo di parità, sindrome e coset →, Controllo d'errore - ARQ, FEC e codici a blocco sul canale binario simmetricoPer proteggere i bit dagli errori si può chiedere la ritrasmissione (ARQ, serve il canale di ritorno), aggiungere ridondanza per correggere (FEC) o unire le due cose (HARQ). Un codice a blocco $(n,k)$ trasforma $k$ bit in una parola di $n>k$ bit scelta tra $2^k$ parole su $2^n$ sequenze; modulatore, canale e demodulatore equivalgono a un canale binario simmetrico senza memoria con probabilità d'errore sul bit $P_{bit}$. Per $P_{bit}<\frac12$ il decodificatore ML sceglie la parola a minima distanza di Hamming; con distanza minima $d_{min}$ si correggono sempre $t=\lfloor\frac{d_{min}-1}{2}\rfloor$ errori e se ne rivelano sempre $d_{min}-1$. Il tasso è $R=\frac kn$ e la probabilità d'errore di parola è limitata da $P(\text{più di }t\text{ errori})$. L'ARQ ha efficienza $S_{SW}$, $S_{GBN}$, $S_{SR}$ in funzione di $t_P$, $t_A$, $\tau_P$ e $p$.Controllo d'errore - ARQ, FEC e codici a blocco sul canale binario simmetrico →, 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 →.
1. Linearità, rate, forma sistematica
Linearità. Nell'aritmetica binaria e : elevare al quadrato un bit non cambia il bit. Quindi (la seconda conferma: il quadrato di una somma è la somma dei quadrati modulo , perché il doppio prodotto vale ). Tutti i bit sono somme modulo di bit di informazione, senza costanti né prodotti: il codice è lineare. La matrice generatrice () ha per righe i coefficienti di in ogni equazione:
Rate: .
Sistematico? No: i primi due bit della parola sono e , cioè invertiti rispetto all'informazione.
Forma sistematica con il minimo numero di permutazioni. Basta scambiare le prime due colonne di (una sola permutazione di colonne): è un'operazione sulle colonne, quindi il codice è lo stesso (cambia solo quale dà quale parola, Codici a blocco lineari - matrice generatrice, forma sistematica e bound di SingletonUn codice a blocco è lineare se le sue $2^k$ parole formano un sottospazio dello spazio delle sequenze binarie di $n$ bit, con la somma modulo 2 (XOR) senza riporto: contiene la parola nulla ed è chiuso rispetto alla somma. Si descrive con la matrice generatrice $G$ ($n\times k$, rango $k$, $\mathbf c=G\mathbf b$, le colonne sono parole di codice); le operazioni sulle colonne non cambiano il codice, le permutazioni delle righe permutano i bit e non cambiano le prestazioni sul canale senza memoria. In forma sistematica $G=\begin{bmatrix}I_k\A\end{bmatrix}$ e $\mathbf c=[\mathbf b;A\mathbf b]$. Per i codici lineari la distanza minima è il peso di Hamming minimo delle parole non nulle e vale il bound di Singleton $d_{min}\le n-k+1$.Codici a blocco lineari - matrice generatrice, forma sistematica e bound di Singleton →). Si ottiene Le parole sono (per )
2. Distanza minima, peso minimo, errori rivelati e corretti
Pesi delle parole non nulle: , , , , , , . Il peso minimo è e, per un codice lineare, (le parole di peso sono quattro). Quindi
- errori rivelati sempre: ;
- errori corretti sempre: .
3. Decodifica con la sindrome
Dalla sistematica: (Matrice di controllo di parità, sindrome e cosetLa matrice di controllo di parità $H$ ($\ell\times n$) soddisfa $H\mathbf r=\mathbf 0\iff\mathbf r\in\mathcal C$; per un codice con generatrice $G$ ($n\times k$) vale $HG=0$ con $\operatorname{rango}(H)=n-k$, e se $G=\begin{bmatrix}I_k\A\end{bmatrix}$ allora $H=[A\mid I_{n-k}]$. La distanza minima è il minimo numero di colonne di $H$ linearmente dipendenti. La sindrome $\boldsymbol\sigma=H\boldsymbol\gamma$ della sequenza ricevuta $\boldsymbol\gamma=\mathbf c+\boldsymbol\varepsilon$ vale $H\boldsymbol\varepsilon$: dipende solo dall'errore. Le sequenze con la stessa sindrome formano un coset ($2^{n-k}$ coset di $2^k$ sequenze) e il decodificatore a minima distanza sceglie il coset leader, l'errore di peso minimo del coset: $\hat{\mathbf c}=\boldsymbol\gamma+\boldsymbol\varepsilon_{min}$. La probabilità di decodifica corretta sul BSC è la somma delle probabilità dei coset leader.Matrice di controllo di parità, sindrome e coset →), Le colonne sono , , , , , : tutte diverse e non nulle, quindi i sei errori singoli hanno sindromi distinte (coset leader unici) e , in accordo con la sezione 2.
. Righe: ; ; . Sindrome , che è la colonna di : il coset leader è e È la parola (da ).
. Righe: (riga : bit e ); (riga : bit ); (riga : bit ). Sindrome : è già una parola di codice (da ) e .
4. Probabilità di ricevere trasmettendo
Su un BSC conta il numero di bit diversi: e differiscono nelle posizioni (nelle posizioni e coincidono: e ). Quindi e
5. Esiste una codifica a errore residuo piccolo a piacere?
La sorgente emette un simbolo ogni s da un alfabeto di simboli: al massimo bit per simbolo, cioè (informazione massima, simboli equiprobabili; senza altre informazioni si assume questo valore). Il canale è il BSC con s e : Poiché kbit/s, per il teorema di Shannon (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 →) non esiste alcuna codifica a errore residuo piccolo a piacere: no. (Il codice di questo esercizio, di rate , non basterebbe comunque.)
Errori comuni
- Credere che o rendano il codice non lineare: modulo il quadrato di un bit è il bit stesso.
- Per la forma sistematica scambiare le righe (anche così si arriva alla forma sistematica, ma si cambiano i bit del codice) invece di scambiare le colonne, che lascia il codice invariato.
- Calcolare la sindrome di senza accorgersi che è già una parola (sindrome nulla, nessuna correzione).
- Confrontare con (il bit-rate del canale) o con il rate del codice invece che con il bit-rate dell'informazione della sorgente.
Versione ripasso
Testo. BSC con s e . , , , , , . Richiesti: linearità, rate, forma sistematica con permutazioni minime; , errori; decodifica di e ; ; esistenza di una codifica per una sorgente quaternaria a un simbolo ogni s.
- modulo : , : lineare. . Non sistematico (, ).
- Scambio delle colonne e di : , .
- Parole: .
Punto 2: pesi : , rivela , corregge .
- : colonne tutte diverse e non nulle.
- : = colonna , . : , .
Punto 4: : .
- kbit/s; kbit/s: , no.
Errori tipici
- Ritenere non lineare un codice con quadrati.
- Sistemare scambiando le righe (cambia il codice) invece delle colonne.
- Confrontare con il bit-rate del canale o con il rate del codice.