Salta al contenuto
Note per Studenti Esercizio - stop-and-wait con canale a cancellazione e informazione mutua (secondo compitino del 12 gennaio 2018, es. 73)

Esercizio - stop-and-wait con canale a cancellazione e informazione mutua (secondo compitino del 12 gennaio 2018, es. 73)

Esame
In questa pagina 5

Testo (tema d'esame del secondo compitino del 12 gennaio 2018, corso di Fondamenti di Telecomunicazioni, Ing. Informatica UniPD). Si consideri un canale che accetta in ingresso simboli presi da un alfabeto quaternario A={0,1,2,3}\mathcal A=\{0,1,2,3\} e fornisce in uscita o uno dei simboli dell'alfabeto o un valore di cancellazione (erasure). In particolare, gli ingressi 11 e 22 vengono riprodotti senza errore all'uscita del canale, mentre gli ingressi 00 e 33 generano in uscita una cancellazione con probabilità 0,150{,}15. In assenza di cancellazione, gli ingressi 00 e 33 vengono riprodotti senza errore all'uscita del canale. I simboli 11 e 22 sono trasmessi con probabilità q/2q/2 ciascuno, mentre i simboli 00 e 33 sono trasmessi con probabilità (1−q)/2(1-q)/2 ciascuno.

  1. Assumendo PDU di 11 simbolo, si calcoli il throughput normalizzato di un sistema SW-ARQ con ritardo di propagazione nullo e durata del pacchetto di ACK/NACK pari a metà della durata della PDU quando q=0,6q=0{,}6.
  2. Si consideri una modifica del sistema SW-ARQ in cui il pacchetto ACK/NACK viene spedito solo in caso di ricezione di 00/33/cancellazione, mentre per i pacchetti con simboli 11 e 22 l'ACK/NACK non viene trasmesso e il trasmettitore procede direttamente (senza la fase di stop) con la trasmissione del pacchetto successivo. Sempre per q=0,6q=0{,}6 si scriva il tempo medio di occupazione esclusiva di canale per ciascuno dei quattro pacchetti (in funzione della durata della PDU) e quindi si calcoli il valore del throughput normalizzato per il nuovo sistema.
  3. Calcolare l'informazione mutua tra l'ingresso e l'uscita del canale in funzione di qq (suggerimento: si noti che diversi conti per il simbolo 11 sono gli stessi per il simbolo 22, e così dicasi per i simboli 00 e 33).
  4. Si dica (scrivendo le formule ma senza risolvere equazioni) come trovare la capacità del canale in esame.

Teoria usata: 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 → (sezione sull'ARQ), Entropia congiunta e condizionata e informazione mutuaPer due variabili aleatorie discrete $x,y$ l'entropia congiunta è $H(x,y)=E\left[\log_2\frac1{P_{x,y}(x,y)}\right]$ e vale $\max{H(x),H(y)}\le H(x,y)\le H(x)+H(y)$, con l'uguaglianza a destra se e solo se $x$ e $y$ sono indipendenti e $H(x,y)=H(x)$ se $y=f(x)$. L'entropia condizionata $H(x|y)=E_y[H(x|y=y)]$ soddisfa la regola della catena $H(x,y)=H(x|y)+H(y)=H(y|x)+H(x)$. L'informazione mutua $I(x;y)=H(x)+H(y)-H(x,y)=H(x)-H(x|y)=H(y)-H(y|x)$ è simmetrica, $0\le I\le\min{H(x),H(y)}$, nulla per variabili indipendenti.Entropia congiunta e condizionata e informazione mutua →, 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 →. Versione per Ing. Elettronica dell'ARQ: 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 →.

1. Throughput dello stop-and-wait

Un pacchetto contiene 11 simbolo e va ritrasmesso se il ricevitore osserva una cancellazione (l'ACK/NACK serve a chiederlo). Sono erasure solo gli ingressi 00 e 33, che hanno probabilità totale 1−q1-q, e solo con probabilità 0,150{,}15: p=0,15 (1−q)=0,15⋅0,4=0,06.p=0{,}15\,(1-q)=0{,}15\cdot0{,}4=0{,}06. Il throughput normalizzato dello stop-and-wait è SSW=tP(1−p)tP+tA+2τP=1−p1+tAtP+2τPtP.S_{SW}=\frac{t_P(1-p)}{t_P+t_A+2\tau_P}=\frac{1-p}{1+\frac{t_A}{t_P}+\frac{2\tau_P}{t_P}}. Dai dati τP=0\tau_P=0 e tAtP=12\frac{t_A}{t_P}=\frac12: SSW=1−0,061+0,5=0,941,5=0,627.S_{SW}=\frac{1-0{,}06}{1+0{,}5}=\frac{0{,}94}{1{,}5}=0{,}627.

2. Il sistema modificato

Nel nuovo sistema, quando il ricevitore riceve 11 o 22 non manda né ACK né NACK e il trasmettitore passa subito al pacchetto successivo: per questi simboli il canale resta occupato solo per tPt_P (e non c'è mai una cancellazione, quindi non c'è ritrasmissione). Quando il ricevitore riceve 00, 33 o una cancellazione manda l'ACK/NACK: per questi pacchetti vale lo stop-and-wait con probabilità d'errore (cancellazione) 0,150{,}15 per ciascun tentativo.

Tempo medio di occupazione esclusiva del canale per ciascun pacchetto (τP=0\tau_P=0, tA=tP2t_A=\frac{t_P}2):

  • pacchetti 11 e 22: m1=m2=tPm_1=m_2=t_P;
  • pacchetti 00 e 33: ogni tentativo occupa tP+tA=1,5 tPt_P+t_A=1{,}5\,t_P e riesce con probabilità 0,850{,}85; il numero di tentativi è geometrico di media 10,85\frac1{0{,}85}: m0=m3=tP+tA+2τP1−0,15=1,5 tP0,85=1,765 tP.m_0=m_3=\frac{t_P+t_A+2\tau_P}{1-0{,}15}=\frac{1{,}5\,t_P}{0{,}85}=1{,}765\,t_P.

Il tempo medio per pacchetto, con le probabilità q=0,6q=0{,}6 (simboli 11 e 22 insieme) e 1−q=0,41-q=0{,}4 (simboli 00 e 33): mˉ=0,6⋅tP+0,4⋅1,765 tP=1,306 tP.\bar m=0{,}6\cdot t_P+0{,}4\cdot1{,}765\,t_P=1{,}306\,t_P. Il throughput normalizzato è il tempo utile tPt_P diviso il tempo medio di occupazione: S=tPmˉ=11,306=0,766≈0,77.S=\frac{t_P}{\bar m}=\frac1{1{,}306}=0{,}766\approx0{,}77. Più alto di SSW=0,627S_{SW}=0{,}627 del punto 1, come atteso: il nuovo sistema manda la conferma solo quando serve.

3. Informazione mutua in funzione di qq

L'uscita ha alfabeto {0,1,2,3,E}\{0,1,2,3,E\} con EE la cancellazione. Si usa I(x;y)=H(y)−H(y∣x)I(x;y)=H(y)-H(y\mid x) (Entropia congiunta e condizionata e informazione mutuaPer due variabili aleatorie discrete $x,y$ l'entropia congiunta è $H(x,y)=E\left[\log_2\frac1{P_{x,y}(x,y)}\right]$ e vale $\max{H(x),H(y)}\le H(x,y)\le H(x)+H(y)$, con l'uguaglianza a destra se e solo se $x$ e $y$ sono indipendenti e $H(x,y)=H(x)$ se $y=f(x)$. L'entropia condizionata $H(x|y)=E_y[H(x|y=y)]$ soddisfa la regola della catena $H(x,y)=H(x|y)+H(y)=H(y|x)+H(x)$. L'informazione mutua $I(x;y)=H(x)+H(y)-H(x,y)=H(x)-H(x|y)=H(y)-H(y|x)$ è simmetrica, $0\le I\le\min{H(x),H(y)}$, nulla per variabili indipendenti.Entropia congiunta e condizionata e informazione mutua →).

Densità dell'uscita. py(1)=py(2)=q2,py(0)=py(3)=0,85 1−q2,py(E)=0,15 (1−q).p_y(1)=p_y(2)=\frac q2,\qquad p_y(0)=p_y(3)=0{,}85\,\frac{1-q}2,\qquad p_y(E)=0{,}15\,(1-q). (per l'uscita 00: ingresso 00 con probabilità 1−q2\frac{1-q}2 e non cancellato, 0,850{,}85.)

Entropia condizionata. Per gli ingressi 11 e 22 l'uscita è determinata: H(y∣x=1)=H(y∣x=2)=0H(y\mid x=1)=H(y\mid x=2)=0. Per gli ingressi 00 e 33 l'uscita vale l'ingresso con probabilità 0,850{,}85 e EE con probabilità 0,150{,}15: H(y∣x=0)=H(y∣x=3)=h(0,15)=−0,15log⁡20,15−0,85log⁡20,85=0,610 bit.H(y\mid x=0)=H(y\mid x=3)=h(0{,}15)=-0{,}15\log_20{,}15-0{,}85\log_20{,}85=0{,}610\ \text{bit}. Mediando sugli ingressi (probabilità 1−q1-q per {0,3}\{0,3\}): H(y∣x)=(1−q) h(0,15)=0,610 (1−q).H(y\mid x)=(1-q)\,h(0{,}15)=0{,}610\,(1-q).

Entropia dell'uscita. Conviene raggruppare: gruppo {1,2}\{1,2\} con probabilità qq, gruppo {0,3}\{0,3\} con probabilità 0,85(1−q)0{,}85(1-q), gruppo {E}\{E\} con probabilità 0,15(1−q)0{,}15(1-q). Per la regola del raggruppamento l'entropia è quella dei gruppi più l'entropia media dentro i gruppi: H(y)=H(q, 0,85(1−q), 0,15(1−q))⏟= h(q)+(1−q)h(0,15)+q⋅1+0,85(1−q)⋅1.H(y)=\underbrace{H\big(q,\ 0{,}85(1-q),\ 0{,}15(1-q)\big)}_{=\ h(q)+(1-q)h(0{,}15)}+q\cdot1+0{,}85(1-q)\cdot1. (dentro {1,2}\{1,2\} i due simboli sono equiprobabili: 11 bit; lo stesso dentro {0,3}\{0,3\}; il gruppo {E}\{E\} ha un solo elemento: 00 bit; l'entropia dei gruppi si spezza ancora: prima "{1,2}\{1,2\} oppure no" con h(q)h(q), poi tra {0,3}\{0,3\} ed EE con h(0,15)h(0{,}15) pesato da 1−q1-q.)

Informazione mutua. Il termine (1−q)h(0,15)(1-q)h(0{,}15) si semplifica: I(x;y)=h(q)+q+0,85 (1−q)=h(q)+0,85+0,15 q\boxed{I(x;y)=h(q)+q+0{,}85\,(1-q)=h(q)+0{,}85+0{,}15\,q} con h(q)=−qlog⁡2q−(1−q)log⁡2(1−q)h(q)=-q\log_2q-(1-q)\log_2(1-q). Interpretazione: h(q)h(q) è l'informazione sul gruppo ({1,2}\{1,2\} o {0,3}\{0,3\}) che l'uscita rivela sempre; poi 11 bit tra 11 e 22 (sempre conosciuto), e 11 bit tra 00 e 33 solo se non c'è cancellazione (0,850{,}85). Per q=0,6q=0{,}6: h(0,6)=0,971h(0{,}6)=0{,}971 e I=0,971+0,85+0,09=1,911I=0{,}971+0{,}85+0{,}09=1{,}911 bit per simbolo (controllato con Python).

4. La capacità

La capacità è il massimo dell'informazione mutua sulle distribuzioni di ingresso. Per la simmetria del canale tra 11 e 22 e tra 00 e 33 (e la concavità di II rispetto alla distribuzione di ingresso) il massimo si ottiene con probabilità uguali dentro i due gruppi, cioè proprio con la parametrizzazione dell'esercizio, e resta da massimizzare su q∈[0,1]q\in[0,1]: C=max⁡q∈[0,1][h(q)+0,85+0,15 q],ddq: log⁡21−qq+0,15=0.C=\max_{q\in[0,1]}\big[h(q)+0{,}85+0{,}15\,q\big],\qquad\frac{d}{dq}:\ \log_2\frac{1-q}{q}+0{,}15=0. Si può anche chiudere il conto: q⋆=11+2−0,15=0,526q^\star=\frac1{1+2^{-0{,}15}}=0{,}526 e C=0,85+log⁡2 ⁣(1+20,15)=0,85+1,077=1,927 bit per simboloC=0{,}85+\log_2\!\left(1+2^{0{,}15}\right)=0{,}85+1{,}077=1{,}927\ \text{bit per simbolo} (il massimo di h(q)+aqh(q)+aq vale log⁡2(1+2a)\log_2(1+2^a); confermato con una ricerca numerica su qq con Python). Rispetto a q=0,6q=0{,}6 l'informazione mutua cresce da 1,9111{,}911 a 1,9271{,}927 bit: il massimo è vicino a q=12q=\frac12.

Errori comuni

  • Contare come errore del pacchetto ogni cancellazione "su tutti i simboli": le cancellazioni hanno probabilità 0,150{,}15 solo sugli ingressi 00 e 33, quindi p=0,15(1−q)p=0{,}15(1-q).
  • Nel sistema modificato applicare lo stop-and-wait anche ai simboli 11 e 22: non c'è conferma, il canale resta occupato solo tPt_P.
  • Calcolare H(y∣x)H(y\mid x) senza mediare con le probabilità di ingresso: (1−q) h(0,15)(1-q)\,h(0{,}15), non h(0,15)h(0{,}15).
  • Dimenticare di contare la cancellazione come simbolo di uscita nell'entropia H(y)H(y).

Versione ripasso

Testo. Canale con ingresso {0,1,2,3}\{0,1,2,3\}: 11 e 22 senza errore, 00 e 33 cancellati con probabilità 0,150{,}15. P(1)=P(2)=q2P(1)=P(2)=\frac q2, P(0)=P(3)=1−q2P(0)=P(3)=\frac{1-q}2. Richiesti: SSWS_{SW} con τP=0\tau_P=0, tA=tP2t_A=\frac{t_P}2, q=0,6q=0{,}6; sistema senza ACK per 11 e 22: tempi medi e throughput; I(x;y)I(x;y) in funzione di qq; capacità.

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

  • p=0,15(1−q)=0,06p=0{,}15(1-q)=0{,}06; SSW=1−p1+tA/tP=0,941,5=0,627S_{SW}=\frac{1-p}{1+t_A/t_P}=\frac{0{,}94}{1{,}5}=0{,}627.

Punto 2

  • Pacchetti 1,21,2: m=tPm=t_P. Pacchetti 0,30,3: m=tP+tA0,85=1,765 tPm=\frac{t_P+t_A}{0{,}85}=1{,}765\,t_P.
  • mˉ=0,6tP+0,4⋅1,765tP=1,306tP\bar m=0{,}6t_P+0{,}4\cdot1{,}765t_P=1{,}306t_P; S=tPmˉ=0,766S=\frac{t_P}{\bar m}=0{,}766.

Punto 3 (Entropia congiunta e condizionata e informazione mutuaPer due variabili aleatorie discrete $x,y$ l'entropia congiunta è $H(x,y)=E\left[\log_2\frac1{P_{x,y}(x,y)}\right]$ e vale $\max{H(x),H(y)}\le H(x,y)\le H(x)+H(y)$, con l'uguaglianza a destra se e solo se $x$ e $y$ sono indipendenti e $H(x,y)=H(x)$ se $y=f(x)$. L'entropia condizionata $H(x|y)=E_y[H(x|y=y)]$ soddisfa la regola della catena $H(x,y)=H(x|y)+H(y)=H(y|x)+H(x)$. L'informazione mutua $I(x;y)=H(x)+H(y)-H(x,y)=H(x)-H(x|y)=H(y)-H(y|x)$ è simmetrica, $0\le I\le\min{H(x),H(y)}$, nulla per variabili indipendenti.Entropia congiunta e condizionata e informazione mutua →)

  • py(1)=py(2)=q2p_y(1)=p_y(2)=\frac q2, py(0)=py(3)=0,851−q2p_y(0)=p_y(3)=0{,}85\frac{1-q}2, py(E)=0,15(1−q)p_y(E)=0{,}15(1-q). H(y∣x)=(1−q)h(0,15)H(y\mid x)=(1-q)h(0{,}15), h(0,15)=0,610h(0{,}15)=0{,}610.
  • I=H(y)−H(y∣x)=h(q)+q+0,85(1−q)=h(q)+0,85+0,15qI=H(y)-H(y\mid x)=h(q)+q+0{,}85(1-q)=h(q)+0{,}85+0{,}15q. A q=0,6q=0{,}6: 1,9111{,}911 bit.

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 →)

  • C=max⁡q[h(q)+0,85+0,15q]C=\max_q[h(q)+0{,}85+0{,}15q], derivata log⁡21−qq+0,15=0\log_2\frac{1-q}q+0{,}15=0: q⋆=0,526q^\star=0{,}526, C=0,85+log⁡2(1+20,15)=1,927C=0{,}85+\log_2(1+2^{0{,}15})=1{,}927 bit.

Dettagli di calcolo

  • Punto 1: errore di pacchetto solo per cancellazione di 00 o 33: p=0,15⋅(1−q)=0,06p=0{,}15\cdot(1-q)=0{,}06; SSW=1−p1+tAtP+2τPtP=0,941,5=0,627S_{SW}=\frac{1-p}{1+\frac{t_A}{t_P}+\frac{2\tau_P}{t_P}}=\frac{0{,}94}{1{,}5}=0{,}627.
  • Punto 2: m0=m3=tP+tA0,85=1,5tP0,85=1,765tPm_0=m_3=\frac{t_P+t_A}{0{,}85}=\frac{1{,}5t_P}{0{,}85}=1{,}765t_P; m1=m2=tPm_1=m_2=t_P; mˉ=0,6tP+0,4⋅1,765tP=1,306tP\bar m=0{,}6t_P+0{,}4\cdot1{,}765t_P=1{,}306t_P.
  • Punto 3: raggruppare {1,2}\{1,2\}, {0,3}\{0,3\}, {E}\{E\} con probabilità qq, 0,85(1−q)0{,}85(1-q), 0,15(1−q)0{,}15(1-q): H(y)=h(q)+(1−q)h(0,15)+q+0,85(1−q)H(y)=h(q)+(1-q)h(0{,}15)+q+0{,}85(1-q); H(y∣x)=(1−q)h(0,15)H(y\mid x)=(1-q)h(0{,}15), con h(0,15)=0,610h(0{,}15)=0{,}610.
  • Punto 4: massimo di h(q)+aqh(q)+aq vale log⁡2(1+2a)\log_2(1+2^a), qui a=0,15a=0{,}15: C=0,85+log⁡2(1+20,15)=1,927C=0{,}85+\log_2(1+2^{0{,}15})=1{,}927 bit (al posto di 1,9111{,}911 per q=0,6q=0{,}6).

Errori tipici

  • p=0,15p=0{,}15 invece di 0,15(1−q)0{,}15(1-q).
  • Stop-and-wait anche per 11 e 22 nel sistema modificato.
  • H(y∣x)=h(0,15)H(y\mid x)=h(0{,}15) senza il fattore 1−q1-q.

Teoria collegata