Salta al contenuto
Note per Studenti Esercizio - Codici (4,2) lineari o no e probabilità di errore non rivelato

Esercizio - Codici (4,2) lineari o no e probabilità di errore non rivelato

Questa pagina non ha ancora la versione ripasso: qui sotto c'è il testo completo.

Testo (scheda "Channel coding"). Si considerino due mappe di codifica μ1\mu_1 e μ2\mu_2, entrambe (4,2)(4,2), con i bit di informazione nelle posizioni 11 e 22 delle parole di codice. Per μ1\mu_1, per j=3,4j=3,4 il jj-esimo bit è 11 se il peso globale dei primi j−1j-1 bit è minore di 22, 00 altrimenti. Per μ2\mu_2, per j=3,4j=3,4 il jj-esimo bit è la parità dei bit in posizione j−1j-1 e j−2j-2. a. Questi codici sono lineari? Sistematici? Hanno una matrice generatrice? b. Si trasmettono simboli equiprobabili su un BSC con Pbit=3⋅10−4P_{bit}=3\cdot10^{-4}, usando le due codifiche per la rivelazione d'errore. Qual è la probabilità di errori non rivelati?

Teoria usata: Codici a blocco lineari e sindromeUn codice a blocco è lineare se la somma (XOR) di due parole di codice è una parola di codice: allora le parole formano un sottospazio di $\mathbb Z_2^n$. Si descrive con la matrice generatrice $G$ ($n\times k$, $\mathbf c=G\mathbf b$; in forma sistematica $G=\binom{I_k}{A}$) e con la matrice di controllo $H$ ($(n-k)\times n$, $H\mathbf c=\mathbf 0$ se e solo se $\mathbf c\in\mathcal C$; per $G$ sistematica $H=[A\mid I_{n-k}]$). La distanza minima è il peso minimo delle parole non nulle e vale $d_{min}\le n-k+1$ (Singleton). La sindrome $\boldsymbol\sigma=H\tilde{\mathbf c}$ dipende solo dall'errore; la decodifica a distanza minima è $\hat{\mathbf c}=\tilde{\mathbf c}-\varepsilon(\boldsymbol\sigma)$, dove $\varepsilon(\boldsymbol\sigma)$ è il coset leader (vettore di peso minimo con quella sindrome).Codici a blocco lineari e sindrome →, Codici a blocco - distanza minima, rivelazione e correzioneLa codifica di canale aggiunge ridondanza in modo mirato: $k$ bit di informazione diventano una parola di codice di $n>k$ bit scelta tra $2^k$ parole ammesse. Se la parola ricevuta non è una parola di codice l'errore è rivelato (e si può chiedere la ritrasmissione, ARQ) oppure corretto (FEC). La qualità dipende dalla distanza minima di Hamming $d_{min}$: si rivelano fino a $d_{min}-1$ errori e se ne correggono $t<d_{min}/2$, ma non contemporaneamente. Per un BSC con $P_{bit}<1/2$ la decisione ottima ML coincide con quella a distanza minima. Limite di Hamming: $k/n\le1-\frac1n\log_2\sum_{r=0}^t\binom nr$.Codici a blocco - distanza minima, rivelazione e correzione →.

a. Costruire le parole di codice

Entrambi i codici sono sistematici per ipotesi: i primi due bit sono b1b2b_1b_2.

μ1\mu_1. Il bit c3c_3 è 11 se il peso dei primi 22 bit è <2<2; il bit c4c_4 è 11 se il peso dei primi 33 bit è <2<2.

b1b2b_1b_2 peso di c1c2c_1c_2 c3c_3 peso di c1c2c3c_1c_2c_3 c4c_4 parola
0000 00 11 11 11 00110011
0101 11 11 22 00 01100110
1010 11 11 22 00 10101010
1111 22 00 22 00 11001100

μ2\mu_2. c3=c1+c2c_3=c_1+c_2 (parità dei bit in posizione 22 e 11) e c4=c2+c3=c2+c1+c2=c1c_4=c_2+c_3=c_2+c_1+c_2=c_1 (somma modulo 22). Parole: 00→000000\to0000, 01→011001\to0110, 10→101110\to1011, 11→110111\to1101.

Linearità.

  • μ1\mu_1 non è lineare: la parola nulla non appartiene al codice (b=00b=00 dà 00110011), e un codice lineare contiene sempre 0\mathbf0. Conferma: 0011+0110=01010011+0110=0101 non è una parola.
  • μ2\mu_2 è lineare: c3=c1+c2c_3=c_1+c_2 e c4=c1c_4=c_1 sono combinazioni lineari dei bit di informazione. La matrice generatrice (colonna convenzione del corso, c=Gb\mathbf c=G\mathbf b) è G=(10011110)(c1=b1, c2=b2, c3=b1+b2, c4=b1).G=\begin{pmatrix}1&0\\0&1\\1&1\\1&0\end{pmatrix}\quad(c_1=b_1,\ c_2=b_2,\ c_3=b_1+b_2,\ c_4=b_1). Anche μ1\mu_1 non ha matrice generatrice (la mappa non è lineare).

b. Probabilità di errore non rivelato

Si ha un errore non rivelato se la parola ricevuta è una parola di codice diversa da quella trasmessa. Su un BSC la probabilità di passare da γi\boldsymbol\gamma_i a γj\boldsymbol\gamma_j è Pdij(1−P)4−dijP^{d_{ij}}(1-P)^{4-d_{ij}}, con P=PbitP=P_{bit} e dij=dHd_{ij}=d_H. Le parole sono equiprobabili, quindi Pundetected=14∑i∑j≠iPdij(1−P)4−dij.P_{undetected}=\frac14\sum_i\sum_{j\ne i}P^{d_{ij}}(1-P)^{4-d_{ij}}.

Stima semplice (da scartare). Prendere "la probabilità di dmind_{min} errori": (42)P2(1−P)2=5,4⋅10−7\binom42P^2(1-P)^2=5{,}4\cdot10^{-7} per entrambi. È una sovrastima (non tutti i pattern di 22 errori portano su una parola di codice) e uguale per i due codici, quindi non li distingue.

Calcolo con le distanze.

μ1\mu_1: d(0011,0110)=2d(0011,0110)=2, d(0011,1010)=2d(0011,1010)=2, d(0011,1100)=4d(0011,1100)=4, d(0110,1010)=2d(0110,1010)=2, d(0110,1100)=2d(0110,1100)=2, d(1010,1100)=2d(1010,1100)=2. Da ogni parola: γ1=0011\boldsymbol\gamma_1=0011 ha 22 parole a distanza 22 e 11 a distanza 44; γ2=0110\boldsymbol\gamma_2=0110: 33 a distanza 22; γ3=1010\boldsymbol\gamma_3=1010: 33 a distanza 22; γ4=1100\boldsymbol\gamma_4=1100: 22 a distanza 22 e 11 a distanza 44. In media 2+3+3+24=2,5\frac{2+3+3+2}4=2{,}5 parole a distanza 22 (e 0,50{,}5 a distanza 44): Pundetected(μ1)=2,5 P2(1−P)2+0,5 P4≃2,5⋅9⋅10−8⋅0,9988=2,25⋅10−7 (2,24⋅10−7 nel testo del corso).P_{undetected}^{(\mu_1)}=2{,}5\,P^2(1-P)^2+0{,}5\,P^4\simeq2{,}5\cdot9\cdot10^{-8}\cdot0{,}9988=2{,}25\cdot10^{-7}\ (2{,}24\cdot10^{-7}\text{ nel testo del corso}). (Il termine P4P^4 vale 4⋅10−154\cdot10^{-15}: trascurabile.)

μ2\mu_2: parole 0000,0110,1011,11010000,0110,1011,1101. Distanze: d(0000,0110)=2d(0000,0110)=2, d(0000,1011)=3d(0000,1011)=3, d(0000,1101)=3d(0000,1101)=3, d(0110,1011)=3d(0110,1011)=3, d(0110,1101)=3d(0110,1101)=3, d(1011,1101)=2d(1011,1101)=2. Ogni parola ha una parola a distanza 22 e due a distanza 33: Pundetected(μ2)=P2(1−P)2+2P3(1−P)≃9⋅10−8⋅0,9988+5,4⋅10−11=8,99⋅10−8+5,4⋅10−11≃9⋅10−8.P_{undetected}^{(\mu_2)}=P^2(1-P)^2+2P^3(1-P)\simeq9\cdot10^{-8}\cdot0{,}9988+5{,}4\cdot10^{-11}=8{,}99\cdot10^{-8}+5{,}4\cdot10^{-11}\simeq9\cdot10^{-8}.

Conclusione. μ2\mu_2 è circa 2,52{,}5 volte migliore di μ1\mu_1 (9⋅10−89\cdot10^{-8} contro 2,25⋅10−72{,}25\cdot10^{-7}) perché ha meno coppie di parole a distanza minima: la sola dmind_{min} (uguale a 22 per entrambi) non basta a confrontare i codici, conta anche quante coppie la raggiungono. (La stima 5,4⋅10−75{,}4\cdot10^{-7} del primo paragrafo, che compare anche negli appunti a mano del corso come ≈6⋅10−7\approx6\cdot10^{-7}, è un limite superiore molto largo.)

Lezioni in cui compare

Teoria collegata