Esercizio - matrice di parità a 4 righe, forma sistematica e permutazione delle colonne (esame del 24 gennaio 2025, es. 188)
In questa pagina 6
Testo (tema d'esame del 24 gennaio 2025, corso di Fondamenti di Telecomunicazioni, Ing. Informatica UniPD). Si consideri un codice di canale con la seguente matrice di controllo di parità
- Calcolare la lunghezza delle parole di codice e il numero delle parole di codice.
- Dire se le sequenze e sono parole di codice, giustificando la risposta.
- Dire se la distanza minima del codice è strettamente maggiore di , giustificando la risposta.
- Utilizzando solo permutazioni (in numero minimo) delle colonne di , calcolare una matrice di controllo di parità in forma sistematica e scrivere la matrice generatrice corrispondente.
- Dire se i codici associati alle matrici di parità e hanno le stesse parole di codice. Dire se i due codici hanno una probabilità di errore uguale o diversa su un canale binario simmetrico senza memoria. Giustificare le risposte.
Teoria usata: 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 →, 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 →, 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 →.
1. Lunghezza e numero delle parole
La lunghezza è il numero di colonne di : . Il numero di parole è , dove (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 →). ha righe, e sono linearmente indipendenti: ciascuna ha un in una colonna dove tutte le altre righe hanno (riga : colonna ; riga : colonna ; riga : colonna ; riga : colonna ). Una combinazione di righe che desse la riga nulla non potrebbe contenere nessuna riga, perché quella colonna "privata" avrebbe nel risultato. Quindi , cioè e le parole sono .
Si possono anche scrivere: significa con liberi. Le parole sono , (), (), (). Notare che sempre: la seconda riga di fissa un bit a zero (un bit inutile, che non trasporta informazione).
2. Le due sequenze sono parole?
Si calcola la sindrome .
. Riga per riga (tutto modulo ):
- riga : ;
- riga : ;
- riga : ;
- riga : .
Quindi e non è una parola di codice. (Notare che è la colonna di : è la sindrome di un errore singolo in posizione , quindi è a distanza dalla parola .)
. Ha lunghezza : non può essere una parola di un codice a (e non è nemmeno definito, le dimensioni non sono compatibili).
3. È ?
- Nessuna colonna è nulla: non esistono parole di peso (una parola con un solo in posizione darebbe ).
- Le colonne sono tutte diverse tra loro: non esistono parole di peso (darebbero , cioè ).
Quindi nessuna parola ha peso e : sì. Anzi : le colonne sommano a zero, la parola ha peso e (si legge anche nell'elenco delle parole della sezione 1: pesi ).
4. Forma sistematica per permutazione delle colonne
Si vuole : le ultime quattro colonne devono essere in quest'ordine (le colonne dell'identità). Colonne disponibili: , , , . Le posizioni contengono oggi : bisogna scambiare le colonne e e poi le colonne e . Due scambi sono il minimo (ogni scambio sistema al più due colonne). L'ordine finale delle colonne originali è :
La matrice generatrice sistematica corrispondente è (perché ): Verifica : per esempio la riga per la prima colonna dà e per la seconda dà ; il prodotto completo (Python) è la matrice nulla.
5. I due codici sono uguali? E le prestazioni?
Le parole non sono le stesse. Il codice di si ottiene da quello di scambiando i bit e in tutte le parole. Per esempio . Le parole del codice di sono , diverse da quelle di (): i due codici sono diversi (sono equivalenti per permutazione dei bit).
La probabilità d'errore è la stessa. Su un canale senza memoria ogni bit viene sbagliato con la stessa probabilità e indipendentemente: la verosimiglianza dipende solo dalla distanza di Hamming, e una permutazione dei bit conserva tutte le distanze (permuta le stesse posizioni in entrambe le sequenze). Quindi la decodifica a minima distanza dà lo stesso risultato e la stessa probabilità d'errore.
Conferma numerica (Python, con la tabella dei coset leader, ): per entrambi i codici con e con . Questi valori sono uguali a quelli di un codice con perché il bit è sempre nullo: aggiunge solo una posizione in cui un errore ha una sindrome tutta sua (la colonna ) e viene corretto senza danni.
Errori comuni
- Contare le righe di come : è il numero di righe indipendenti, .
- Cercare la sindrome di una sequenza di lunghezza sbagliata: non ha bit.
- Dire "perché è grande": serve guardare le colonne di (nessuna nulla, nessuna ripetuta).
- Permutare le colonne di sperando di ottenere le stesse parole: cambiano le parole, restano le prestazioni.
Versione ripasso
Testo. . Richiesti: e numero di parole; se e sono parole; se ; sistematica con permutazioni minime di colonne e ; se i codici di e hanno le stesse parole e la stessa sul BSC.
- (colonne). Le righe sono indipendenti (ognuna ha una colonna "privata"): , , parole.
- , , , : ; parole .
Punto 2
- : non è parola. ha lunghezza : non è parola.
Punto 3
- Nessuna colonna nulla (niente peso ), nessuna ripetuta (niente peso ): . Inoltre : .
Punto 4
- Ultime quattro colonne : oggi sono . Due scambi: colonne e .
- , .
Punto 5
- Parole diverse: contro (bit , scambiati).
- Stessa : la verosimiglianza dipende solo da , che una permutazione dei bit conserva. Con : per entrambi.
Errori tipici
- Prendere il numero di righe di per .
- Cercare la sindrome di una sequenza di lunghezza .
- Aspettarsi le stesse parole dopo una permutazione delle colonne.