Esercizio - Canale binario simmetrico e codici di canale (domande ed esercizi del corso)
In questa pagina 4
Teoria: Metriche e prestazioni di rete per i servizi multimedialiUna rete è una pila di livelli: ogni livello offre un servizio al superiore tramite un'interfaccia e dialoga con il livello pari con un protocollo; il pacchetto di un livello è il payload del livello inferiore ($\mathrm{PDU}n=\mathrm{PCI}n+\mathrm{SDU}n$), con efficienza $\eta=\frac{|\mathrm{SDU}n|}{|\mathrm{PDU}n|}$. Metriche: bit-rate $R_0$ (livello fisico) $\ge$ throughput $S$ $\ge$ goodput (throughput a lungo termine a livello applicazione). Ritardo nodale $d=d{proc}+d{queue}+d{trans}+d{prop}$ con $d{trans}=\frac LR$ e $d_{prop}=\frac xc$; ritardo end-to-end = somma dei nodali; jitter = variabilità del ritardo; BDP $=S\cdot\mathrm{RTT}$ (con il bit-rate minimo del percorso). Affidabilità: nel canale binario simmetrico $\mathrm{PER}=1-(1-\varepsilon)^L$ e $P(\ell)=\binom L\ell\varepsilon^\ell(1-\varepsilon)^{L-\ell}$; codici di canale $R=\frac kn$, parità, Hamming, interleaving per i burst; perdite per errori o congestione, $\mathrm{PDR}=1-P_{\text{LOSS}}$.Metriche e prestazioni di rete per i servizi multimediali → (BSC, PER, codici a blocchi, parità, Hamming, interleaving). Fonte: domande a risposta multipla ed esempi di preparazione, esercizio delle slide del corso di Reti di Calcolatori, Ing. Informatica UniPD 2025-26. Conti verificati in Python. Si richiamano: ; probabilità di errori su bit ; messaggio di pacchetti corretto con probabilità ; tempo di trasmissione di pacchetti da bit a : .
1. BSC senza codice
Domanda 1 (A). Una sorgente produce pacchetti di bit (header inclusi) e li invia su un BSC con e bit-rate Mbit/s. Quale affermazione è vera? (a) il ritardo di trasmissione di un messaggio di 750 pacchetti è 150 ms, (b) il PER è all'incirca l'1%, (c) la probabilità che il messaggio sia ricevuto con zero errori è superiore al 50%.
- (a) s ms: vera.
- (b) : falsa (un fattore 10 sotto l'1%). Approssimazione: .
- (c) : falsa, è sotto il 50%. (Controllo: .)
Domanda 2 (preparazione). Un pacchetto di 2000 bit e : PER? (a) , (b) , (c) , (d) . : (a). Con le altre sono errori di una o due potenze di 10.
Esercizio 3 (slide, parte senza codice). bit, , Mbit/s, messaggio di pacchetti.
- Q1, tempo: ms.
- Q2, PER: .
- Q3, messaggio corretto: (infatti e ).
2. BSC con un codice che corregge un errore
Domanda 4 (A). Come nella domanda 1 ma si usa un codice di correzione degli errori con (rapporto ); il codice può correggere un bit errato e rilevarne due; probabilità che bit su siano errati . Quale affermazione è falsa? (a) il ritardo di trasmissione di un messaggio di 750 pacchetti è 150 ms, (b) il PER (probabilità che un pacchetto ricevuto non sia decodificabile) è , (c) la probabilità che il messaggio sia ricevuto correttamente è .
- Dimensione del pacchetto codificato: bit (si aggiungono 22 bit di protezione).
- (a) s ms: falsa (150 ms è il tempo senza codice; il codice allunga la trasmissione perché ogni pacchetto è più lungo). È l'opzione cercata.
- (b) Un pacchetto è decodificato correttamente con 0 o 1 errore: : vera. Approssimazione: con tre o più errori trascurabili, .
- (c) : vera.
Esercizio 5 (slide, parte con il codice). bit, , , , 10 Mbit/s. Il codice corregge 1 bit e rileva 2.
- Q4, tempo: ms (il 2,2% in più).
- Q5, PER: la probabilità di ricevere correttamente è con : , , quindi (la slide: ). Con l'approssimazione : molto vicina.
- Q6, messaggio corretto: .
- Conclusione: con un overhead di il PER scende da a e la probabilità di ricevere il messaggio senza errori sale da a . (La slide dice "scende da ", ma il PER senza codice calcolato in Q2 è : è un refuso.) Inoltre senza codice un errore su bit non verrebbe rilevato; con il codice sì. La probabilità di avere più di 2 errori vale : i pacchetti con tre o più errori, che sfuggirebbero alla rilevazione, sono meno di 2 ogni dieci miliardi.
3. Parità e codice di Hamming
Domanda 6 (A, teoria). (1) I codici a controllo di parità: (a) permettono di rilevare ed eventualmente correggere errori, (b) permettono solo di correggere. (2) Il bit-rate in un codice di canale: (a) controlla il compromesso tra overhead e capacità di rilevamento e correzione, (b) controlla il compromesso tra complessità ed efficacia, (c) permette di far fronte ai burst se scelto adeguatamente. (3) I burst di errori si controllano efficacemente (seppur introducendo ritardo): (a) con l'interleaving, (b) con codici convoluzionali, (c) con codici a bit-rate molto alto.
Risposte e perché: (1) (a) un codice di parità (un singolo bit) rileva, e con strutture più ricche (Hamming) corregge; (b) è falsa perché la sola parità non corregge. (2) (a): misura il rapporto dati/totale: più è vicino a 1, meno overhead ma meno protezione; (b) la complessità non dipende da ; (c) non è il valore di che combatte i burst. (3) (a): l'interleaving distribuisce un burst su più blocchi (introduce ritardo); (b) i convoluzionali non servono contro i burst e (c) un rapporto vicino a 1 significa meno protezione.
Esercizio 7 (parità, costruito). Blocco (): numero di 1 , quindi (somma modulo 2 ): blocco trasmesso . Se si riceve (un errore) la somma è : errore rilevato. Se si ricevono due errori, per esempio (bit 3 e bit 4 cambiati: la somma resta 0), non si rileva nulla: un numero pari di errori sfugge. , overhead .
Esercizio 8 (Hamming, costruito). Con le regole , , si codifica : , , , quindi . Si riceve (cambiato il bit 3). Controlli: : OK; : non OK; : non OK. Il bit errato sta nell'intersezione dei controlli che falliscono, ; il 4 appartiene anche al controllo che è OK, quindi è il bit 3: si corregge . Dati recuperati: ✓.
Esercizio 9 (interleaving, costruito). I 21 bit sono scritti per righe in una matrice (righe , , ) e trasmessi per colonne: ordine di trasmissione . Ogni riga è un blocco del codice (7,4) (corregge un errore).
- Burst di 3 bit consecutivi sul canale (per esempio i primi tre, ): dopo il de-interleaving un solo errore per riga: tutti correggibili.
- Burst di 4 bit consecutivi (): i bit e cadono nella stessa riga (due errori nello stesso blocco): il codice (7,4) non li corregge. Quindi con righe l'interleaving corregge burst fino a lunghezza 3: la profondità deve essere almeno la lunghezza massima del burst (a prezzo di ritardo: bisogna riempire la matrice prima di trasmettere).
Errori tipici
- Valutare il PER come (è ) o come (probabilità di un solo bit).
- Dimenticare di allungare il pacchetto con la ridondanza (): il tempo di trasmissione cresce del .
- Usare al posto di nelle probabilità quando c'è un codice.
- Considerare corretto il pacchetto solo con 0 errori in presenza di un codice che ne corregge 1: si sommano e .
- Pensare che il codice di parità rilevi anche gli errori in numero pari.
Versione ripasso
Formule. ; ; messaggio corretto ; ; tempo ; con codice che corregge 1 errore: .
Senza codice.
- , , 5 Mbit/s, 750 pacchetti: 150 ms (vera); (non 1%); (non ).
- bit, : .
- Slide: , , 10 Mbit/s, : ms; ; messaggio corretto .
Con codice (corregge 1, rileva 2).
- A: , tempo ms (l'affermazione "150 ms" è falsa); (vera); messaggio (vera).
- Slide: ms; , ; ; messaggio ; overhead : PER da (la slide scrive ) a ; .
Teoria. Parità: rileva e (con strutture più ricche) corregge; regola overhead contro protezione; burst interleaving (introduce ritardo).
Parità. : quattro 1, , trasmesso ; un errore rilevato, due (pari) no; , overhead .
Hamming. (, , ). Ricevuto : controlli OK; e falliscono; intersezione ; il 4 è nel controllo OK bit 3.
Interleaving . Trasmissione : burst di 3 un errore per riga, corretto; burst di 4 due errori nella stessa riga, non corretto. Profondità lunghezza del burst, a prezzo di ritardo.
Errori tipici: o ; non allungare il pacchetto con la ridondanza; usare invece di ; contare solo come successo con un codice che corregge 1; credere che la parità rilevi gli errori pari.