Principi di Teoria dei Codici

Documenti analoghi
Codifica di canale. (dalle dispense e dalle fotocopie) Trasmissione dell Informazione

10.. Codici correttori d errore. Modulo TLC:TRASMISSIONI Codici correttori d errore

Profs. Roberto Cusani Francesca Cuomo

4) Teorema fondamentale della codifica di canale. 6) Definizione di codifica di canale (FEC e ARQ)

Corso di Laurea a Distanza in Ingegneria Elettrica Corso di Comunicazioni Elettriche. Modulazione A.A Alberto Perotti

Teoria dell informazione

Comunicazioni Elettriche Esercizi

Esercizi di Teoria dell informazione e codici

1) Codici lineari a blocchi. 2) Matrice generatrice del codice. 3) Proprietà dei codici lineari a blocchi. 4) Matrice di controllo di parità

1) Probabilità di errore di trasmissione. 2) Capacità di canale. 3) Esempi di calcolo della capacità. 4) Disuguaglianza di Fano

La Rappresentazione dell Informazione

4. CODICI A RIVELAZIONE E CORREZIONE D ERRORE

QUANTIZZAZIONE E CONVERSIONE IN FORMA NUMERICA. 1 Fondamenti Segnali e Trasmissione

Modulazione PAM Multilivello, BPSK e QPSK

Soluzione. (a) L insieme F 1 e linearmente indipendente; gli insiemi F 2 ed F 3 sono linearmente

La modulazione numerica

TEORIA DEI SISTEMI SISTEMI LINEARI

SOTTOSPAZI E OPERAZIONI IN SPAZI DIVERSI DA R n

Esercitazioni di Algebra e Geometria

8. Sistemi di Modulazione Numerica in banda-base. Modulo TLC:TRASMISSIONI Modulazione numerica in banda base

E03 ESERCIZI SU LIVELLO FISICO

1) Entropia di variabili aleatorie continue. 2) Esempi di variabili aleatorie continue. 3) Canali di comunicazione continui. 4) Canale Gaussiano

CONVERSIONE BINARIO DECIMALE NB: Convertire in decimale il numero binario N = N =

Esercitazione 6 - Soluzione

Conversione Analogico/Digitale

Corso di Matematica e Statistica 3 Algebra delle matrici. Una tabella rettangolare: la matrice. Una tabella rettangolare: la matrice

Forme bilineari simmetriche

Dipartimento di Ingegneria dell Informazione, Elettronica e Telecomunicazioni. Esercitazioni del corso di. Telecomunicazioni

La codifica di sorgente

ANALISI MULTIDIMENSIONALE DEI DATI (AMD)

Analisi Matematica 1 e Matematica 1 Geometria Analitica: Rette

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con

Appunti su Indipendenza Lineare di Vettori

Rappresentazione dell Informazione

La codifica digitale

Codifica binaria. Rappresentazioni medianti basi diverse

MATRICI E VETTORI APPROFONDIMENTO PER IL CORSO DI LABORATORIO DI INFORMATICA SARA POLTRONIERI

Generazione di Numeri Casuali- Parte 2

a + 2b + c 3d = 0, a + c d = 0 c d

Problemi di base di Elaborazione Numerica dei Segnali

Formulario sui Prodotti Hermitiani Marcello Mamino Pisa, 24 v 2010

Corso di Laurea in Ingegneria Biomedica Corso di Trasmissione Numerica (6 crediti) Prova scritta

Corso di Matematica per la Chimica

Vettori e matrici. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Soluzioni di Esercizi di Esame di Segnali Aleatori per Telecomunicazioni

Modulazioni di ampiezza

Sottospazi vettoriali. Nota Bene: Questo materiale non deve essere considerato come sostituto delle lezioni.

FONDAMENTI DI ALGEBRA LINEARE E GEOMETRIA

Esercizi per Geometria II Geometria euclidea e proiettiva

Sistemi lineari. 2x 1 + x 2 x 3 = 2 x 1 x 2 + x 3 = 1 x 1 + 3x 2 2x 3 = 0. x 1 x 2 x 3

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due

ESERCIZI MATEMATICA GENERALE - Canale III

DEFINIZIONE Un vettore (libero) è un ente geometrico rappresentato da un segmento orientato caratterizzato da tre parametri:

Lezione 2. Sommario. Il sistema binario. La differenza Analogico/Digitale Il sistema binario

APPLICAZIONI LINEARI

Corso di Geometria Ing. Informatica e Automatica Test 1: soluzioni

Pulse Amplitude Modulation (PAM) 2 Scelta delle risposte impulsive dei filtri in trasmissione e ricezione

IL CRITERIO DELLA MASSIMA VEROSIMIGLIANZA

Macchine sequenziali. Automa a Stati Finiti (ASF)

Sapienza Università di Roma Corso di laurea in Ingegneria Energetica Geometria A.A ESERCIZI DA CONSEGNARE prof.

Pag. 1. La Rappresentazione e la Codifica delle informazioni (parte 2) Tipi di dati. Informatica Facoltà di Medicina Veterinaria

Qualità del servizio IPTV

1.2f: Operazioni Binarie

QUANTIZZAZIONE Conversione analogico/digitale

Dipendenza e indipendenza lineare (senza il concetto di rango)

Università degli Studi di Palermo Facoltà di Medicina e Chirurgia Anno Accademico 2011/12. Corso di Fisica(0) per il recupero dell OFA

Corso di elettrotecnica Materiale didattico: i grafi

Analisi della varianza

0.1 Spazi Euclidei in generale

ESERCIZI DI ALGEBRA LINEARE E COMPLEMENTI DI GEOMETRIA

Capitolo IV SPAZI VETTORIALI EUCLIDEI

La codifica. dell informazione

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4

Quadriche Maurizio Cornalba 7/6/2016

15 luglio Soluzione esame di geometria - Ing. gestionale - a.a COGNOME... NOME... N. MATRICOLA... ISTRUZIONI

Applicazioni lineari e diagonalizzazione. Esercizi svolti

Applicazioni lineari e diagonalizzazione pagina 1 di 5

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Algebra lineare Geometria 1 11 luglio 2008

Il tema proposto può essere risolto seguendo due ipotesi:

Transcript:

Udine, 24 Febbraio 2005 Principi di Teoria dei Codici Andrea Tonello e-mail: tonello@uniud.it http://www.diegm.uniud.it/tlc/tonello UNIVERSITÀ DEGLI STUDI DI UDINE DIEGM DIPARTIMENTO DI INGEGNERIA ELETTRICA, GESTIONALE E MECCANICA

Sommario Approcci alla Codifica di Canale Codici a Blocco Prestazioni Codici a Blocco Codici Convoluzionali Bibliografia: J. Proakis, Digital Communications S. Lin, D. Costello, Error Control Coding 2

Modello Sistema di Comunicazione Codificatore Sorgente Codificatore Canale Modulatore Numerico Canale De-Modul. De-Cod. Canale De-Cod. Sorgente Lo scopo della Codifica di Canale e` di consentire la correzione e/o rivelazione degli errori introdotti dal canale. 3

Codifica di Canale b Codificatore c Idea: Introdurre ridondanza in trasmissione, ad. es. ripetere l informazione. Il codificatore attua una trasformazione dalle parole di ingresso b alle parole di uscita c con una certa legge: b=[,b i, b i+1, ] c=[,c i, c i+1, ] Alfabeto: il campo cui appartengono gli elementi delle parole di ingresso, ad. es. GF(2). Codice: insieme delle parole codificate. Rate: rapporto tra numero di simboli di ingresso e quello di uscita (<1). 4

Approcci alla Codifica di Canale Codici Algebrici a Blocco Codici Convoluzionali Codifica e Modulazione Congiunta Modulazione codificata a traliccio (TCM) Turbo Codici 5

Codici a Blocco 6

Codici a Blocco Codice a blocco (n, k): Parole (Vettori) di ingresso hanno lunghezza k : b=[b 1,,b k ] Parole di uscita hanno lunghezza n>k : c=[c 1,,c n ] Alfabeto e` q-ario e le operazioni sono definite su un campo finito GF(q) con q primo o potenza di un numero primo. Se q e` primo, l algebra e` modulo q. Definizione: e` un insieme di q k parole di n elementi. Codice Lineare: se c 1 e c 2 sono di codice allora ac 1 + bc 2 =c 3 e` di codice. La parola nulla appartiene al codice. 7

Matrice di Codice c = b G Matrice di Codice. Elementi appartenti a GF(q) 1n 1k k n Le k righe di G sono vettori linearmente indipendenti e sono di codice. I vettori di codice appartengono al sottospazio k-dimensionale generato dalle righe di G. Forma sistematica c = b k+ 1 n [ c,...,c ] G 1... 0 p 11... p 1n k =.................. 0... 1 p k1... p kn k = [ I P] 8

Matrice di Controllo Parita` Matrice di Controllo Parita` ( G)( H) T = 0 k (n k) k n (n k) n Le n-k righe di H sono vettori linearmente indipendenti e generano il codice duale (n-k,n) Le parole del codice duale sono ortogonali a quelle del codice (n,k) Se il codice e` in forma sistematica: P [ I k P] = 0 I G n k T H = T H P In k 9

Matrice di Controllo Parita` Matrice di Controllo Parita`ci consente di verificare se un vettore e` di codice ch T = 0 se c 0 se c Vettore Sindrome: s 1(n k) = ch T Assumendo il codice binario abbiamo: 2 k vettori di ingresso e di codice. 2 n possibile vettori di dimensione n, quindi 2 n -2 k non sono di codice. 2 n-k sindromi. 10

Distanza e Peso di Hamming Distanza di Hamming: numero di simboli di cui differiscono due parole con alfabeto q-ario d( H rr 1, 2) Peso di Hamming: numero di simboli diversi da zero w() H r1 Vale la seguente: d( c, c ) = w( c c ) H 1 2 H 1 2 11

Distanza Minima Distanza Minima di Hamming: e` la minima distanza tra parole di codice 1 2 { } d = min d ( c, c ) c c H,min H 1 2, In un codice lineare la distanza minima e` pari al peso minimo: d H,min = w H,min Dim: 1 2 1 2 { c c } d = min d (, ) H,min H 1 2 c, c c, c { c c } = min w ( ) H 1 2 { c } = min w ( ) c 0 H 12

Singleton Bound Bound di Singleton: In un codice lineare a blocco dh,min n k+ 1 Codici a massima distanza verificano dh,min = n k+ 1 Dim: Basta pensare alla forma sistematica. Gli unici codici binari a massima distanza sono quelli ripetitivi altrimenti ci sono quelli di Reed Solomon su GF(q). 13

Esempi di Codici Lineari a Blocco Codici di Hamming. Codici di Hadamard. Codici BCH (Bose, Chaudhuri, Hocquenghem) e di Reed Solomon. 14

Codici di Hamming Binari (n,k) = (2 m-1,2 m-1 -m) m>1 intero n-k=m La matrice H ha le n colonne ottenute prendendo tutti i vettori di m elementi binari escluso il vettore nullo. Codice di Hamming (7,4) 1 0 1 1 1 0 0 T H= [ P In k] = 1 1 0 1 0 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1 = [ k ] = G I P Il peso minimo e` uguale a 3 15

Codici di Hadamard (n,k) = (2 m,m+1) m>1 intero Si ottengono dalle matrici di Hadamard cosi` definite 0 0 M2 M 2 M = M = 2 4 0 1 M2 M2 L insieme delle parole di lunghezza n=4 ottenute dalle 4+4 righe di e di sono un codice a blocco lineare con k=3 e peso minimo d min =n/2=2 M4 M4 16

Codici BCH e Reed Solomon Binari (n,k) hanno parametri n=2 m -1 n-k mt con m 3 t 1 d min =2t+1 Reed Solomon sono una sottoclasse non binaria. 17

Modello di Canale 18

Modello di Canale Codificatore Canale Equivalente De-Codificatore b c y b Modulatore Canale Demodulatore possono essere visti come un blocco equivalente. Bisogna definire la relazione ingresso-uscita. Essa dipende dal tipo di modulazione e demodulazione/decodifica: Demodulazione/Decodifica Congiunta. Demodulazione/Decodifiva disgiunta: HARD SOFT 19

Modello di Canale Alfabeto di codice binario, Modulazione 2-PAM, Rumore Additivo Gaussiano Bianco x yi = ESxi+ n i = 2ci 1 i c {0,1} i x { + 1, 1} n i = N(0,N / 2) ed indip. i 0 In forma vettoriale possiamo raccogliere le n osservazioni in un vettore e scrivere y= E S x+ n C e` una relazione biunivoca tra c ed x x = 2c 1 20

Decodifica Soft 21

Decodifica Ottima a Massima Verosimiglianza Il decodificatore ML decide per la parola di codice che massimizza la densita` di probabilita` del vettore ricevuto condizionata dal vettore trasmesso: p ( y x) = p (y x ) = YX Y X i i i i i= 1 n 1 1 (yi ESx i) N πn i= 1 0 e n 0 2 = (πn ) 0 n/2 e 1 y E Sx N 0 2 Il decodificatore ML decide per il vettore di codice che e` a distanza Euclidea minima dal vettore ricevuto xˆ = argmin{ y E x } x S 2 2 y E x = (y E x ) n S i S i i= 1 2 22

Probabilita` Errore con Decodifica Soft P = P[ cˆ c] = P[ xˆ x] e = P[ x= x ]P[ xˆ x x= x ] x i i i P[E ] P[ xˆ x x= x ] = P[ E ] P[E ] ij i ij ij j j E = { xˆ = x x= x } ij j i 23

Probabilita` Errore a Coppie P[E ] = P[ x= x xˆ = x ] ij i j = P[d ( y, E xˆ ) < d ( y, E x)] E S E S = x xˆ + n n < 2 2 P[ E S ( ) 0] = P[E x xˆ 2 E ( x xˆ) n < 0] S 2 T S V.a. gaussia a media nulla e varianza: 2N E x ˆ 0 S x 2 2 2 E S ˆ E ˆ Sd E(, ) P[E ij] Q x x Q x x = = 2N 2N 0 0 Q(a) distribuzione gaussiana complementare 24

Probabilita` Errore Condizionata P[ xˆ x x= x ] P[E ] xˆ x 0 j j i i Q Q i S j 2 E,min xˆ x 0 2 Ed( S E x ˆ i, xj) 2N Ed 2N Ed 2 k S E,min (2 1)Q 2N 0 ij d = min { x x } E,min x, 1 2 1 x2 Minima distanza Euclidea tra parole di codice 2-PAM 25

Probabilita` Errore P = P[ x= x ]P[ xˆ x x= x ] e i i x i 2 k S E,min (2 1) P[ x= xi]q 2N x 0 i Ed 2 k S E,min (2 1)Q 2N 0 Ed P e blocco 2 2 Ed S E,min k Ed S E,min LQ P e (2 1)Q 2N 0 2N 0 n. parole a d E,min L= 1 k 2 P e bit 2 2 Ed S E,min k Ed L Q P S E,min b (2 1)Q k 2N 0 2N 0 26

Confronto Sistema Codificato e Non Codificato P b,cod 2E Rd b H.min = Q N 0 2E b Pb,UNCOD = Q N 0 d E,min = 2dH,min b = S = S E E /R E n/k Per mantenere la velocita` di TX uguale bisogna incrementare la banda di 1/R G= Rd H,min Esempio: Hamming (7,4) G= 3 4/7= 2.34 db 27

Canale Binario Simmetrico 28

Modello di Canale Binario Simmetrico (BSC) Decodifica hard: operiamo la demodulazione ottenendo un canale equivalente binario y r {0,1} i i 1-p 0 0 p 1 1 Probabilita` di transizione (con trasmissione 2-PAM) e` 2E p P Q N b = e = 0 29

Decodifica ML in Canale BSC In forma vettoriale abbiamo per il canale binario simmetrico senza memoria r = c+ e Decodifica ML hard: massimizziamo la probabilita P[ r = rˆ c= cˆ] = P[r = r ˆ c = c ˆ ] n i= 1 n i= 1 = P[e = rˆ c ˆ c = c ˆ ] i i i i w ( rˆ cˆ) n w ( rˆ cˆ) H p (1 p) = H i i Se p<1/2, decidiamo per il vettore di codice a distanza di Hamming minima cˆ = argmin{d ( r, c)} c H 30

Correzione Con decodifica Hard possiamo correggere tutti i pattern di errore di peso minore uguale di 1 t = (dh,min 1) 2 Puo` accadere che correggiamo errori di peso > t 31

Rivelazione Con decodifica Hard possiamo rivelare tutti i pattern di errore di peso minore uguale di dh,min 1 Con la decodifica a sindrome, un pattern di errore di peso d H,min -1 non puo` trasformare la parola originaria in un altra parola di codice. Tuttavia possiamo anche rivelare pattern errore di peso maggiore di d H,min -1 poiche`: 2 k di codice e 2 n ricevute 2 n -2 k non sono di codice quindi rivelabili via decodifica a sindrome 2 n -2 n +2 k = 2 k non sono rivelabili Frazione di non rivelabili e` piccola: (2 k 1) /( 2 n 1) ~ 2 k-n 32

Probabilita` di Errore Con decodifica Hard possiamo correg. tutti i pattern di errore di peso minore uguale di t n n i n i P e(blocco) P[w( e) > t] = p (1 p) i=+ t 1 i Tipicamente la decodifica Hard differisce per 1-2 db da quella Soft in termine di Eb/No per ottenere la stessa Pe. 33

Codici Convoluzionali 34

Codice Convoluzionale Un codificatore convoluzionale e` una macchina a stati finiti lineare. Codice convoluzionale binario di rate k/n genera ogni k bit d ingresso n bit di uscita combinando modulo 2 i contenuti di uno shif register di lunghezza kk: b i 1 2 K 1 2 k 1 2 k 1 2 k + + + c i 1 c i n Gli shift sono k bit d ingresso alla volta. K e` detta constraint length (lunghezza di vincolo). 35

Codice Convoluzionale Binario 1/n Esempio rate ½ e K=3 + c i 1 b i 1 2 K=3 + c i 2 Viene descritto da una sequenza generatrice (detta polinomio di codice) g g (1) (2) = [101] [5] in ottale = [111] [7] in ottale Ciascuna uscita puo` essere ottenuta da un filtraggio modulo 2 (n) (n) ci = b g (i) 36

Diagramma a Traliccio (Trellis) Ingresso-uscita puo` essere rappresentata da un traliccio 00 01 0/00 1/11 10 11 stato transizioni ingresso/uscite Numero di stati uguale a 2 K-1 Numero di rami entranti/uscenti per stato uguale a 2 (rate 1/n) Lungezza del traliccio uguale al numero totale di bit di ingresso Se il codice e` terminato si parte dallo stato 0 e si ritorna allo stato 0 37

Decodifica ML Il decodificatore soft a massima verosimiglinza cerca tra tutte le parole di codice quelle a distanza euclidea minima (con rumore AWGN). Se consideriamo trasmissione 2-PAM e rumore additivo bianco il modello e`: y = E x + n i S i i 2 Sx i S i i y E = (y E x ) 2 Se assumiamo un codice di rate 1/n, allora i 2 y E x = d ( y, E x) = (y E x ) S E S ni+ m S ni+ m i m= 1 = BM( x ) = BM( x ) + BM( x ) i j i j< i PM(i 1) n BM( xi ) 2 La distanza totale e` ottenibile come somma di Branch metrics 38

Algoritmo di Viterbi La ricerca esaustiva delle sequenza a distanza minima si ottiene con una operazione ricorsiva di ADD, COMPARE, SELECT sul traliccio 00 01 10 11 Ciascun ramo puo` essere etichettato con il bit di ingresso, gli n bit di uscita, e la metrica di ramo (Branch Metric). Percorsi entranti in uno stesso stato (nodo) sono competitors e sopravvive solo quello con metrica di percorso (Path Metric) piu` piccola. Giunti alla fine del traliccio sompravviveranno un numero di percorsi pari al numero di stati. Scelgo quello di metrica piu` piccola, da cui ottengo la sequenza di bit di ingresso (sequenza decodificata). 39

Conclusioni La codifica di canale e` essenziale per consentire comunicazioni affidabili. Il codice deve essere progettato in funzione dell applicazione e del canale trasmissivo. 40