CODIFICA CANALE Sorgente Cofificatore Canale Decodificatore Ricevitore Rumore Comunicazione con successo: ricevitore ottiene output sorgente. p.1/24
CODIFICA CANALE Sorgente Cofificatore Canale Decodificatore Ricevitore Rumore Comunicazione con successo: ricevitore ottiene output sorgente Es. effetto rumore. Input possibili al canale sequenze 101 e 111, input 101, rumore: secondo bit modificato, output: 111; input: 111, rumore: nessuno, output: 111; diverse sequenze in input producono lo stesso output (input confondibili).. p.1/24
CODIFICA CANALE Sorgente Cofificatore Canale Decodificatore Ricevitore Rumore Comunicazione con successo: ricevitore ottiene output sorgente Es. effetto rumore. Input possibili al canale sequenze 101 e 111, input 101, rumore: secondo bit modificato, output: 111; input: 111, rumore: nessuno, output: 111; diverse sequenze in input producono lo stesso output (input confondibili). Obiettivo: proteggere l informazione da eventuali errori di trasmissione legati al rumore. p.1/24
Codifica Canale Obiettivo: Input NON Confondibili correzione errori trasmissione. p.2/24
Codifica Canale Obiettivo: Input NON Confondibili correzione errori trasmissione Metodo: Aggiungere ridondanza. p.2/24
Codifica Canale Obiettivo: Input NON Confondibili correzione errori trasmissione Metodo: Aggiungere ridondanza Nota: impossibile eliminare effetto rumore vogliamo input non confondibili con alta robabilità. p.2/24
Canali Canale discreto (alfabeti I/O discreti): (X,, Y) X= alfabeto input al canale Y= alfabeto output al canale Π = [p(y/x)]= matrice delle probabilità di transizione. p.3/24
Canali Canale discreto (alfabeti I/O discreti): (X,, Y) X= alfabeto input al canale Y= alfabeto output al canale Π = [p(y/x)]= matrice delle probabilità di transizione Canale discreto senza memoria (DMC) (X, Π, Y): distribuzione probabilità output dipende solo da input corrispondente NON da precedenti input o output.. p.3/24
Capacitá Canale Capacità del canale senza memoria: C = max p(x) I(X, Y ). p.4/24
Capacitá Canale Capacità del canale senza memoria: C = max p(x) I(X, Y ) Dimostreremo: capacità = massimo numero di bit per uso del canale.. p.4/24
Canale senza rumore 0 0 1 1 Trasmette un bit per uso senza errore C = 1. p.5/24
Canale senza rumore 0 0 1 1 Trasmette un bit per uso senza errore C = 1 Infatti C = max p(x) I(X, Y ) = max p(x) H(X) H(X/Y ) = max p(x) H(X) = 1 per p(x) = (1/2, 1/2). p.5/24
Canale binario simmetrico 0 1 1 p p p 1 p 0 1 Π = [ ] p 1 p 1 p p I(X; Y ) = H(Y ) H(Y/X) = H(Y ) x p(x)h(y/x = x) = H(Y ) x p(x)h(p) = H(Y ) h(p). p.6/24
Canale binario simmetrico C = max p(x) I(X, Y ) = max p(x) H(Y ) h(p) 1 h(p) p(x) = (1/2, 1/2) p(y = 1) = 1 2 (1 p) + 1 2 p = 1 2 H(Y ) = 1 Quindi C = 1 h(p)bits 1 1/2 1. p.7/24
Canali Simmetrici Canale simmetrico: Ogni riga (risp. colonna) é permutazione di ogni altra riga (risp. colonna) 0.3 0.2 0.5 Es. Π = 0.5 0.3 0.2 0.2 0.5 0.3. p.8/24
Canali Simmetrici Canale simmetrico: Ogni riga (risp. colonna) é permutazione di ogni altra riga (risp. colonna) 0.3 0.2 0.5 Es. Π = 0.5 0.3 0.2 0.2 0.5 0.3 Canale debolmente simmetrico: Ogni riga é permutazione di ogni altra riga; la somma su ogni colonna [ é costante ] 1/3 1/6 1/2 Es. Π = 1/3 1/2 1/6. p.8/24
Canali Simmetrici Canale simmetrico: Ogni riga (risp. colonna) é permutazione di ogni altra riga (risp. colonna) 0.3 0.2 0.5 Es. Π = 0.5 0.3 0.2 0.2 0.5 0.3 Canale debolmente simmetrico: Ogni riga é permutazione di ogni altra riga; la somma su ogni colonna [ é costante ] 1/3 1/6 1/2 Es. Π = 1/3 1/2 1/6 Canale simmetrico Canale debolmente simmetrico. p.8/24
Canali (Debolmente) Simmetrici r=riga di Π I(X; Y ) = H(Y ) H(Y/X) = H(Y ) H(r) log Y H(r). p.9/24
Canali (Debolmente) Simmetrici r=riga di Π I(X; Y ) = H(Y ) H(Y/X) = H(Y ) H(r) log Y H(r) Ponendo p(x) = 1/ X per ogni x X risulta p(y) = x p(x)p(y/x) = somma colonna X = 1 Y. p.9/24
Canali (Debolmente) Simmetrici r=riga di Π I(X; Y ) = H(Y ) H(Y/X) = H(Y ) H(r) log Y H(r) Ponendo p(x) = 1/ X per ogni x X risulta p(y) = x p(x)p(y/x) = somma colonna X = 1 Y Quindi C = log Y H(r). p.9/24
Codifica Canale DMC Codice canale (M, n) per (X, Π, Y): Insieme di indici {1,..., M}. p.10/24
Codifica Canale DMC Codice canale (M, n) per (X, Π, Y): Insieme di indici {1,..., M} Funzione codifica X n : {1,..., M} X n. p.10/24
Codifica Canale DMC Codice canale (M, n) per (X, Π, Y): Insieme di indici {1,..., M} Funzione codifica X n : {1,..., M} X n Funzione decodifica g : Y n {1,..., M}. p.10/24
Codifica Canale DMC Probabilitá di errore quando si codifica indice i: λ i = P r{g(y n ) i/x n = i} = y n p(y n /X n (i))i(g(y n ) i). p.11/24
Codifica Canale DMC Probabilitá di errore quando si codifica indice i: λ i = P r{g(y n ) i/x n = i} = y n p(y n /X n (i))i(g(y n ) i) Probabilitá massima di errore: λ (n) = max 1 i M λ i. p.11/24
Codifica Canale DMC Probabilitá di errore quando si codifica indice i: λ i = P r{g(y n ) i/x n = i} = y n p(y n /X n (i))i(g(y n ) i) Probabilitá massima di errore: Probabilitá media di errore: λ (n) = max 1 i M λ i P (n) e = 1 M M i=1 λ i. p.11/24
Codifica Canali Rumorosi Tasso codice (M, n): R = log M n bit trasm.. p.12/24
Codifica Canali Rumorosi Tasso codice (M, n): R = log M n bit trasm. Tasso R é ottenibile se esiste sequenza di codici ( 2 nr, n) con λ (n) 0 per n. p.12/24
Codifica Canali Rumorosi Tasso codice (M, n): R = log M n bit trasm. Tasso R é ottenibile se esiste sequenza di codici ( 2 nr, n) con λ (n) 0 per n Si dimostra che: (Teorema di Codifica Canale) (a) ogni tasso R C é ottenibile, (b) nessun tasso R > C é ottenibile. p.12/24
Codifica Canali Rumorosi Tasso codice (M, n): R = log M n bit trasm. Tasso R é ottenibile se esiste sequenza di codici ( 2 nr, n) con λ (n) 0 per n Si dimostra che: (Teorema di Codifica Canale) (a) ogni tasso R C é ottenibile, (b) nessun tasso R > C é ottenibile Capacitá = limite superiore di tutti i tassi ottenibili. p.12/24
CODIFICA CANALI BSC Strumenti Chernoff bound Sia X una v.c. con alfabeto {0, 1} e d.p P. Siano X 1,..., X n v.c. i.i.d come X. Per ogni λ > 0 [ n P r i=1 X i n ] E[X] λ e λ2 n 2. p.13/24
CODIFICA CANALI BSC Strumenti Bound su binomiali Per ogni intero n e α (0, 1) 2 n h(α) ( ) n 2 n h(α) 8πnα(1 α) αn 2πnα(1 α) 2 n h(α) ( ) αn n 8πnα(1 α) i=0 2 n h(α) i. p.14/24
CODIFICA CANALI BSC Strumenti Bound su binomiali Per ogni intero n e α (0, 1) 2 n h(α) ( ) n 2 n h(α) 8πnα(1 α) αn 2πnα(1 α) 2 n h(α) ( ) αn n 8πnα(1 α) i=0 2 n h(α) i ( ) αn n i=0 = 2 n[h(α)+o(1)] i. p.14/24
CODIFICA CANALI BSC:Definizioni Peso di Hamming di y {0, 1} n : w(y) = {i 0 i < n, y i 0}. p.15/24
CODIFICA CANALI BSC:Definizioni Peso di Hamming di y {0, 1} n : w(y) = {i 0 i < n, y i 0} Distanza di Hamming tra y, z {0, 1} n : (y, z) = {i 0 i < n, y i z i }. p.15/24
CODIFICA CANALI BSC:Definizioni Peso di Hamming di y {0, 1} n : w(y) = {i 0 i < n, y i 0} Distanza di Hamming tra y, z {0, 1} n : (y, z) = {i 0 i < n, y i z i } Sfera di Hamming di centro y {0, 1} n e raggio r: Ball(y, r) = {z {0, 1} n (y, z) r}. p.15/24
CODIFICA CANALI BSC Teorema Il tasso 1 h(p) é ottenibile Dimostrazione Date δ > 0, mostriamo che esiste codice con tasso k/n = 1 h(p) δ per k, n suff. grandi Codice X : {0, 1} k {0, 1} n : formato da 2 k parole random (ogni bit con prob (1/2, 1/2)) Decodifica: Dato y, definiamo g(y) = a {0, 1} k con (X(a), y) minima.. p.16/24
CODIFICA CANALI BSC Teorema Il tasso 1 h(p) é ottenibile Dimostrazione Date δ > 0, mostriamo che esiste codice con tasso k/n = 1 h(p) δ per k, n suff. grandi Codice X : {0, 1} k {0, 1} n : formato da 2 k parole random (ogni bit con prob (1/2, 1/2)) Decodifica: Dato y, definiamo g(y) = a {0, 1} k con (X(a), y) minima. Trasmettiamo: X(a) Riceviamo: y = X(a) + z, z =errore (z i = 1 errore in posiz. i). p.16/24
CODIFICA CANALI BSC Teorema Il tasso 1 h(p) é ottenibile Dimostrazione Date δ > 0, mostriamo che esiste codice con tasso k/n = 1 h(p) δ per k, n suff. grandi Codice X : {0, 1} k {0, 1} n : formato da 2 k parole random (ogni bit con prob (1/2, 1/2)) Decodifica: Dato y, definiamo g(y) = a {0, 1} k con (X(a), y) minima. Trasmettiamo: X(a) Riceviamo: y = X(a) + z, z =errore (z i = 1 errore in posiz. i). p.16/24
CODIFICA CANALI BSC Teorema Il tasso 1 h(p) é ottenibile Dimostrazione Date δ > 0, mostriamo che esiste codice con tasso k/n = 1 h(p) δ per k, n suff. grandi Codice X : {0, 1} k {0, 1} n : formato da 2 k parole random (ogni bit con prob (1/2, 1/2)) Decodifica: Dato y, definiamo g(y) = a {0, 1} k con (X(a), y) minima. Trasmettiamo: X(a) Riceviamo: y = X(a) + z, z =errore (z i = 1 errore in posiz. i). p.16/24
CODIFICA CANALI BSC Sia γ > 0 t.c. h(p + γ) = h(p) + δ < h(p) + δ. p.17/24
CODIFICA CANALI BSC Sia γ > 0 t.c. h(p + γ) = h(p) + δ < h(p) + δ Ball(y, (p + γ)n) = (p+γ)n ) i=0 2 nh(p+γ) = 2 n(h(p)+δ ) ( n i. p.17/24
CODIFICA CANALI BSC Sia γ > 0 t.c. h(p + γ) = h(p) + δ < h(p) + δ Ball(y, (p + γ)n) = (p+γ)n ) i=0 2 nh(p+γ) = 2 n(h(p)+δ ) Per ogni a a P [X(a ) Ball(y, (p + γ)n)] = Ball(y,(p+γ)n) 2 n 2 n(h(p)+δ 1) ( n i. p.17/24
CODIFICA CANALI BSC Sia γ > 0 t.c. h(p + γ) = h(p) + δ < h(p) + δ Ball(y, (p + γ)n) = (p+γ)n ) i=0 2 nh(p+γ) = 2 n(h(p)+δ ) Per ogni a a P [X(a ) Ball(y, (p + γ)n)] = Ball(y,(p+γ)n) 2 n 2 n(h(p)+δ 1) P [esiste a a, X(a ) Ball(y, (p + γ)n)] 2 k 2 n(h(p)+δ 1) = 2 n(1 h(p) δ)+n(h(p)+δ 1) = 2 n(δ δ) = a n (a = 2 δ δ > 1) ( n i. p.17/24
CODIFICA CANALI BSC Definiamo z {0, 1} n BAD w(z) > (p + γ)n. p.18/24
CODIFICA CANALI BSC Definiamo z {0, 1} n BAD w(z) > (p + γ)n ] E = p (pn bits cambiati in media) [ w(z) n (usando Chernoff Bound) P [zbad] = P [w(z) p > γ] 2 γ2 n/2 = c n (per c > 1). p.18/24
CODIFICA CANALI BSC z NON BAD e X(a ) / Ball(y, (p + γ)n). p.19/24
CODIFICA CANALI BSC z NON BAD e X(a ) / Ball(y, (p + γ)n) (y, X(a)) < (y, X(a )). p.19/24
CODIFICA CANALI BSC z NON BAD e X(a ) / Ball(y, (p + γ)n) (y, X(a)) < (y, X(a )) g(y) = a ESATTA. p.19/24
CODIFICA CANALI BSC z NON BAD e X(a ) / Ball(y, (p + γ)n) (y, X(a)) < (y, X(a )) g(y) = a ESATTA P [esatta] P [z NON BAD, X(a ) / Ball(y, (p + γ)n)]. p.19/24
CODIFICA CANALI BSC z NON BAD e X(a ) / Ball(y, (p + γ)n) (y, X(a)) < (y, X(a )) g(y) = a ESATTA P [esatta] P [z NON BAD, X(a ) / Ball(y, (p + γ)n)] P [errore] P [z BAD]+P [X(a ) Ball(y, (p + γ)n)] c n + a n. p.19/24
CODIFICA CANALI BSC z NON BAD e X(a ) / Ball(y, (p + γ)n) (y, X(a)) < (y, X(a )) g(y) = a ESATTA P [esatta] P [z NON BAD, X(a ) / Ball(y, (p + γ)n)] P [errore] P [z BAD]+P [X(a ) Ball(y, (p + γ)n)] c n + a n P [errore]<ɛ, per n suff. grande. p.19/24
Codifica Canale: Parte Inversa Teorema Siano k e n t.c. Allora k n per ogni coppia di funzioni > 1 h(p) + ɛ. lim Pr [g(x(a) + e) = a] = 0 k,n e X : {0, 1} k {0, 1} n, g : {0, 1} n {0, 1} k La probabilitá e presa su vettori e t.c. ogni bit é 1 con prob. p, 0 altrimenti. p.20/24
Codifica Canale: Parte Inversa Teorema Siano k e n t.c. Allora k n per ogni coppia di funzioni > 1 h(p) + ɛ. lim Pr [g(x(a) + e) = a] = 0 k,n e X : {0, 1} k {0, 1} n, g : {0, 1} n {0, 1} k La probabilitá e presa su vettori e t.c. ogni bit é 1 con prob. p, 0 altrimenti Cioé nessun tasso > 1 h(p) é ottenibile. p.20/24
Codifica Canale: Parte Inversa Dim. a {0, 1} k definiamo S a := {y {0, 1} n : g(y) = a}. Nota: a S a = {0, 1} n e a S a = 2 n.. p.21/24
Codifica Canale: Parte Inversa Dim. a {0, 1} k definiamo S a := {y {0, 1} n : g(y) = a}. Nota: a S a = {0, 1} n e a S a = 2 n. Data stringa binaria e, sia w(e) = peso di e =numero di bit pari a 1 Sia ɛ tale che h(p) h(p ɛ ) < ɛ (Nota ɛ < ɛ) Definiamo e hard se (p ɛ )n w(e) (p ɛ )n e easy altrimenti Nota: Usando Chernoff bound Pr[e easy] = Pr[ w(e) n p > ɛ ] a n (per a > 1).. p.21/24
Codifica Canale: Parte Inversa Consideriamo vettore b {0, 1} n con w(b) = αn e (p ɛ )n < αn < (p + ɛ )n. Notando che tutti i vettori di uno stesso peso sono equiprobabili, e che la loro probabilità totale é 1, abbiamo Pr[e = b] 1 ( n αn). p.22/24
Codifica Canale: Parte Inversa Consideriamo vettore b {0, 1} n con w(b) = αn e (p ɛ )n < αn < (p + ɛ )n. Notando che tutti i vettori di uno stesso peso sono equiprobabili, e che la loro probabilità totale é 1, abbiamo Pr[e = b] 1 ( n αn) Poiché possiamo assumere p + ɛ 1/2 e ( n αn) é crescente per α 1/2 1 ( αn) 1 n n ((p ɛ )n) )n (2 h(p ɛ ) n c c cost. Quindi Pr[e = b] (2 h(p ɛ )n ) n c. p.22/24
Codifica Canale: Parte Inversa Pr[decodifica corretta] = Pr[d. c. quando e easy] + Pr[d. c. quando e hard] a n + Pr[decodifica corretta quando ehard] = a n + P r(a) Pr[y = X(a) + e, e hard] a y S a = a n + 2 k a a n + 2 k a Pr[e = y X(a) é hard] y S a )n n c y S a 2 h(p ɛ = a n + 2 k 2 n 2 h(p ɛ )n n c. p.23/24
Codifica Canale: Parte Inversa Pr[decodifica corretta] a n + 2 h(p ɛ )n k+n n c Ricordando che (k n(1 h(p) + ɛ)) e che h(p) h(p ɛ ) < ɛ otteniamo h(p ɛ )n k + n = αn per qualche α > 0, quindi Pr[decodifica corretta] a n + 2 αn n c n 0. p.24/24