Salta al contenuto
Note per Studenti Esercizio - codice (6,2) con 4-QAM, matrice di parità, decodifica e capacità del canale (esame del 30 agosto 2024, es. 181)

Esercizio - codice (6,2) con 4-QAM, matrice di parità, decodifica e capacità del canale (esame del 30 agosto 2024, es. 181)

Esame
In questa pagina 5

Testo (tema d'esame del 30 agosto 2024, corso di Fondamenti di Telecomunicazioni, Ing. Informatica UniPD). Per la realizzazione di un canale binario simmetrico con periodo di simbolo pari a 1 μ1\ \mus si utilizza una modulazione 4-QAM, energia media della costellazione in ricezione pari a 2⋅10−72\cdot10^{-7} V2^2/Hz e varianza del rumore AWGN nel punto di decisione σI2=10−8\sigma_I^2=10^{-8} V2^2/Hz.

Come prima soluzione si impiega un codice binario a correzione d'errore con matrice di controllo di parità H=[101000110100110010100001].H=\begin{bmatrix}1&0&1&0&0&0\\1&1&0&1&0&0\\1&1&0&0&1&0\\1&0&0&0&0&1\end{bmatrix}.

  1. (2p) Determinare il rate e trovare la matrice generatrice del codice sistematico associato.
  2. (3p) Trovare la distanza minima, il peso minimo e il numero di errori rilevati e corretti.
  3. (2p) Trovare la parola decodificata γ\boldsymbol\gamma quando si riceve la sequenza ξ=[1 1 1 0 1 1]T\boldsymbol\xi=[1\,1\,1\,0\,1\,1]^T.
  4. (3p) Determinare il massimo bit-rate per cui è possibile trovare una codifica (in generale diversa da quella già vista sopra) che garantisce una probabilità d'errore piccola a piacere.

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 →, Modulazione QAM - costellazioni, energia e probabilità d'erroreLa QAM trasmette due PAM indipendenti su due portanti in quadratura: $s_m(t)=\alpha_{m,I}h_{Tx}(t)\cos(2\pi f_0t)-\alpha_{m,Q}h_{Tx}(t)\sin(2\pi f_0t)$ con $\alpha\in{\pm1,\pm3,\dots}$ e $M=2^{2b}$ ($2b$ bit per simbolo). La base è $\phi_{1,2}\propto h_{Tx}\cos,,-h_{Tx}\sin$ con energia $\frac{E_h}2$, i punti stanno su una griglia $\sqrt M\times\sqrt M$ con $d_{\min}=\sqrt{2E_h}$ ed $E_s=\frac{M-1}{3}E_h$. Con $q=Q\left(\sqrt{\frac{E_h}{2\sigma_I^2}}\right)$: $P[E]=4\left(1-\frac1{\sqrt M}\right)q-4\left(1-\frac1{\sqrt M}\right)^2q^2$, con $\frac{E_h}{2\sigma_I^2}=\frac{E_s}{\sigma_I^2}\frac{3}{2(M-1)}$. Con Gray su ogni asse $P_{bit}\simeq\frac{P[E]}{\log_2M}$.Modulazione QAM - costellazioni, energia e probabilità d'errore →, 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. Rate e matrice generatrice

HH ha 66 colonne e 44 righe, e la sua parte destra è l'identità I4I_4: è già nella forma sistematica H=[A∣In−k]H=[A\mid I_{n-k}], con n=6n=6 e n−k=4n-k=4, quindi k=2k=2. Il rate è R=kn=26=13.R=\frac kn=\frac26=\frac13. Si legge AA nelle prime due colonne e si scrive G=[IkA]G=\begin{bmatrix}I_k\\A\end{bmatrix} (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 →): A=[10111110],G=[100110111110].A=\begin{bmatrix}1&0\\1&1\\1&1\\1&0\end{bmatrix},\qquad G=\begin{bmatrix}1&0\\0&1\\1&0\\1&1\\1&1\\1&0\end{bmatrix}. Le 44 parole sono b=00→000000\mathbf b=00\to000000, b=01→010110\mathbf b=01\to010110 (seconda colonna di GG), b=10→101111\mathbf b=10\to101111 (prima colonna), b=11→111001\mathbf b=11\to111001 (somma). Si controlla che HH le annulli (Python: nucleo di HH = queste 44 parole).

2. Distanza minima, peso minimo, errori rivelati e corretti

Pesi: 010110→3010110\to3, 101111→5101111\to5, 111001→4111001\to4. Il peso minimo è 33, quindi per un codice lineare dmin=wmin=3d_{min}=w_{min}=3 (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 →). Lo stesso risultato si ottiene da HH: le colonne sono tutte non nulle e distinte (nessuna parola di peso 11 o 22) e le colonne 2,4,52,4,5 sommano a zero ([0,1,1,0]T+[0,1,0,0]T+[0,0,1,0]T=0[0,1,1,0]^T+[0,1,0,0]^T+[0,0,1,0]^T=\mathbf 0), che corrisponde alla parola 010110010110.

  • Errori rivelati sempre: dmin−1=2d_{min}-1=2.
  • Errori corretti sempre: ⌊3−12⌋=1\lfloor\frac{3-1}2\rfloor=1.

3. Decodifica di ξ=[1,1,1,0,1,1]T\boldsymbol\xi=[1,1,1,0,1,1]^T

Sindrome, riga per riga (modulo 22):

  • riga [1,0,1,0,0,0][1,0,1,0,0,0]: ξ1+ξ3=1+1=0\xi_1+\xi_3=1+1=0;
  • riga [1,1,0,1,0,0][1,1,0,1,0,0]: ξ1+ξ2+ξ4=1+1+0=0\xi_1+\xi_2+\xi_4=1+1+0=0;
  • riga [1,1,0,0,1,0][1,1,0,0,1,0]: ξ1+ξ2+ξ5=1+1+1=1\xi_1+\xi_2+\xi_5=1+1+1=1;
  • riga [1,0,0,0,0,1][1,0,0,0,0,1]: ξ1+ξ6=1+1=0\xi_1+\xi_6=1+1=0.

σ=[0,0,1,0]T\boldsymbol\sigma=[0,0,1,0]^T non è nulla: errore rivelato. È la colonna 55 di HH e le colonne sono tutte diverse, quindi il coset leader è unico: ε=[0,0,0,0,1,0]T\boldsymbol\varepsilon=[0,0,0,0,1,0]^T. La parola decodificata è γ=ξ+ε=[1,1,1,0,1,1]T+[0,0,0,0,1,0]T=[1,1,1,0,0,1]T,\boldsymbol\gamma=\boldsymbol\xi+\boldsymbol\varepsilon=[1,1,1,0,1,1]^T+[0,0,0,0,1,0]^T=[1,1,1,0,0,1]^T, che è la parola 111001111001 (da b=11\mathbf b=11): l'errore era sul quinto bit.

4. Massimo bit-rate con probabilità d'errore piccola a piacere

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 →) si può ottenere una probabilità d'errore residua piccola a piacere con un bit-rate di informazione fino alla capacità del canale (esclusa). Il canale è il BSC realizzato con la 4-QAM; il suo periodo di simbolo è T=1 μT=1\ \mus per ogni uso del BSC, cioè per ogni bit.

Probabilità d'errore sul bit. Nella 4-QAM con mappa di Gray ogni bit viaggia su un asse come una binaria antipodale: Pbit=Q ⁣(EsN0)P_{bit}=Q\!\left(\sqrt{\frac{E_s}{N_0}}\right) con N0=2σI2N_0=2\sigma_I^2 (Modulazione QAM - costellazioni, energia e probabilità d'erroreLa QAM trasmette due PAM indipendenti su due portanti in quadratura: $s_m(t)=\alpha_{m,I}h_{Tx}(t)\cos(2\pi f_0t)-\alpha_{m,Q}h_{Tx}(t)\sin(2\pi f_0t)$ con $\alpha\in{\pm1,\pm3,\dots}$ e $M=2^{2b}$ ($2b$ bit per simbolo). La base è $\phi_{1,2}\propto h_{Tx}\cos,,-h_{Tx}\sin$ con energia $\frac{E_h}2$, i punti stanno su una griglia $\sqrt M\times\sqrt M$ con $d_{\min}=\sqrt{2E_h}$ ed $E_s=\frac{M-1}{3}E_h$. Con $q=Q\left(\sqrt{\frac{E_h}{2\sigma_I^2}}\right)$: $P[E]=4\left(1-\frac1{\sqrt M}\right)q-4\left(1-\frac1{\sqrt M}\right)^2q^2$, con $\frac{E_h}{2\sigma_I^2}=\frac{E_s}{\sigma_I^2}\frac{3}{2(M-1)}$. Con Gray su ogni asse $P_{bit}\simeq\frac{P[E]}{\log_2M}$.Modulazione QAM - costellazioni, energia e probabilità d'errore →). Qui EsN0=Es2σI2=2⋅10−72⋅10−8=10,Pbit=Q(10)=Q(3,162)=7,83⋅10−4.\frac{E_s}{N_0}=\frac{E_s}{2\sigma_I^2}=\frac{2\cdot10^{-7}}{2\cdot10^{-8}}=10,\qquad P_{bit}=Q(\sqrt{10})=Q(3{,}162)=7{,}83\cdot10^{-4}.

Capacità del BSC. h(Pbit)=−Pbitlog⁡2Pbit−(1−Pbit)log⁡2(1−Pbit)=0,00921,h(P_{bit})=-P_{bit}\log_2P_{bit}-(1-P_{bit})\log_2(1-P_{bit})=0{,}00921, C=1−h(Pbit)T=1−0,0092110−6=990,8 kbit/s≈991 kbit/s.C=\frac{1-h(P_{bit})}{T}=\frac{1-0{,}00921}{10^{-6}}=990{,}8\ \text{kbit/s}\approx991\ \text{kbit/s}.

Il massimo bit-rate è quindi circa 991991 kbit/s (con una codifica molto più sofisticata e lunga: il codice (6,2)(6,2) di questo esercizio trasporta soltanto R⋅1T=13⋅1R\cdot\frac1T=\frac13\cdot1 Mbit/s =333=333 kbit/s di informazione ed è lontanissimo dal limite). Il valore è calcolato assumendo che il periodo di simbolo di 1 μ1\ \mus sia quello del canale binario (un bit per μ\mus), come fa la soluzione del corso.

Errori comuni

  • Dimenticare che GG si legge da H=[A∣I]H=[A\mid I] con la stessa AA (non ATA^T): in questo corso G=[IA]G=\begin{bmatrix}I\\A\end{bmatrix} e H=[A∣I]H=[A\mid I].
  • Dire che con dmin=3d_{min}=3 il codice "corregge due errori": ne corregge uno e ne rivela due.
  • Prendere Es/N0=Es/σI2E_s/N_0=E_s/\sigma_I^2 (manca il fattore 22): N0=2σI2N_0=2\sigma_I^2.
  • Calcolare la capacità con 1T\frac1T del simbolo QAM invece che del bit senza dichiarare l'ipotesi.

Versione ripasso

Testo. BSC realizzato con 4-QAM, T=1 μT=1\ \mus, Es=2⋅10−7E_s=2\cdot10^{-7}, σI2=10−8\sigma_I^2=10^{-8}. H=[101000110100110010100001]H=\begin{bmatrix}1&0&1&0&0&0\\1&1&0&1&0&0\\1&1&0&0&1&0\\1&0&0&0&0&1\end{bmatrix}. Richiesti: rate e GG sistematica; dmind_{min}, peso minimo, errori; γ\boldsymbol\gamma per ξ=111011\boldsymbol\xi=111011; massimo bit-rate a errore piccolo a piacere.

Punto 1 (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 →)

  • H=[A∣I4]H=[A\mid I_4]: n=6n=6, k=2k=2, R=13R=\frac13.
  • A=[10111110]A=\begin{bmatrix}1&0\\1&1\\1&1\\1&0\end{bmatrix}, G=[I2A]G=\begin{bmatrix}I_2\\A\end{bmatrix}; parole 000000,010110,101111,111001000000,010110,101111,111001.

Punto 2: pesi 3,5,43,5,4: dmin=3d_{min}=3 (anche da HH: colonne 2,4,52,4,5 sommano a 0\mathbf 0). Rivela 22, corregge 11.

Punto 3

  • σ=Hξ=[0,0,1,0]T\boldsymbol\sigma=H\boldsymbol\xi=[0,0,1,0]^T = colonna 55 (unica): ε=000010\boldsymbol\varepsilon=000010, γ=111001\boldsymbol\gamma=111001.

Punto 4 (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 →)

  • EsN0=Es2σI2=10\frac{E_s}{N_0}=\frac{E_s}{2\sigma_I^2}=10, Pbit=Q(10)=7,83⋅10−4P_{bit}=Q(\sqrt{10})=7{,}83\cdot10^{-4}.
  • C=1−h(Pbit)T=1−0,009211 μs=991C=\frac{1-h(P_{bit})}{T}=\frac{1-0{,}00921}{1\ \mu s}=991 kbit/s.

Errori tipici

  • Usare ATA^T invece di AA passando da HH a GG.
  • Dire che dmin=3d_{min}=3 corregge due errori.
  • Dimenticare che N0=2σI2N_0=2\sigma_I^2.

Teoria collegata