39
Théorie d’information ELG3575 Introduction aux systèmes de télécommunication

Théorie d’information

  • Upload
    eara

  • View
    68

  • Download
    0

Embed Size (px)

DESCRIPTION

ELG3575 Introduction aux sys tèmes de télécommunication. Théorie d’information. Théorie d’information. Information est une quantité qu’on peut mésurer . On peut déterminer les limites d’information qu’on peut transmettre sur un lien. - PowerPoint PPT Presentation

Citation preview

Page 1: Théorie d’information

Théorie d’informationELG3575 Introduction aux

systèmes de télécommunication

Page 2: Théorie d’information

Théorie d’information

• Information est une quantité qu’on peut mésurer.• On peut déterminer les limites d’information qu’on peut

transmettre sur un lien.• Théorie d’information est conçu par Claude

Shannon en 1949.• Encodage Huffmann pour l’encodage efficace de la

sortie d’une source.• Codes correcteur d’erreurs pour la correction des

erreurs qui arrivent en communication.

Page 3: Théorie d’information

Montant d’information d’un message

• Il y a une source qui, à chaque instant de signalisation, émet un message qui vient d’un ensemble de messages {m1, m2, …, mN}.

• Supposons que la source n’a pas de memoire, c’est-à-dire que l’émission de messages futurs ne depend pas des messages qui ont été émis dans le passé.

• Chaque message a une probabilité de transmission {p(m1), p(m2), … p(mN)}.

• Le montant d’information de chaque message dépend de sa probabilité de transmission.– Exemple: m1 = il fait beau, m2 = il y a une tornade.– SI LA PROBABILITÉ D’ÉMISSION EST FAIBLE, LE

MESSAGE CONTIENT BEAUCOUP D’INFORMATION!!!

Page 4: Théorie d’information

Montant d’information

• Ici p(m1)>p(m2) mais I(m1)<I(m2).• Supposons que m3 = m1m2. Si on suppose que la source

n’a pas de memoire, p(m3) = p(m1)p(m2), mais c’est claire que I(m3) = I(m1)+I(m2).

• Alors I(mi) = logb(1/p(mi)) = -logb(p(mi)).• b = 2, I(mi) (bits)• b = 3, I(mi) (symbôles ternaires)• b = e, I(mi) (nats)• b =10, I(mi) (Hartleys)

Page 5: Théorie d’information

Exemple

• M = {m1, m2, m3, m4} avec P = {0.35, 0.11, 0.45, 0.09}• I(m1) = 1.51 bits• I(m2) = 3.18 bits• I(m3) = 1.15 bits• I(m4) = 3.47 bits

• La probabilité que la source émet le message m1 suivit par m2 est 0.35×0.11 = 0.0385. L’information dans cette séquence de messages est –log2(0.0385) = 4.69 bits = 1.51+3.18.

Page 6: Théorie d’information

Entropie de la source• L’entropie de la source, H(M), est la valeur moyenne

d’information par transmission.

N

iibi mpmpMH

1)(log)()(

Page 7: Théorie d’information

Exemple

• M = {m1, m2, m3, m4} et P = {0.35, 0.11, 0.45, 0.09}• I(m1) = 1.51 bits• I(m2) = 3.18 bits• I(m3) = 1.15 bits• I(m4) = 3.47 bits• H(M) = 0.35(1.51)+0.11(3.18)+0.45(1.15)+0.09(3.47) =

1.71 bits/message.

Page 8: Théorie d’information

Encodage de source

• Prenons l’exemple precedant. • H(M) = 1.71 bits/message.• Encodons les messages: m1 = 00, m2 = 01, m3 = 10 et

m4 = 11, la longueur de chaque message 2 bits. L = longueur moyenne.

• On peut démontrer que H(M) ≤ L.• Maintenant utilisons ce code:• m1 = 01, m2 = 000, m3 = 1 and m4 = 001. L =

0.45(1)+0.35(2)+0.11(3)+0.09(3) = 1.75 bits/message.• Exemple: 010101000010010010010011 = m1, m1, m1,

m2, m1, m4, m4, m4, m4, m3 : uniquement décodable

Page 9: Théorie d’information

Encodage de source

• Prenons ce code:• m1 = 10, m2 = 100, m3 = 1 and m4 = 010. L =

0.45(1)+0.35(2)+0.11(3)+0.09(3) = 1.75 bits/message.• Exemple: 1010 = m1, m1, ou m3, m4. ce n’est pas

uniquement décodable.• Un code à longueur variable est uniquement décodable

s’il est un code à préfixe conditionné.• Efficacité de l’encodeur est H(M)/L. (dans notre exemple

eff = 1.71/1.75 = 0.977.

Page 10: Théorie d’information

Codes Huffmann

• L’algorithme Huffmann permet de concevoir des codes à préfixe conditionné.

Page 11: Théorie d’information

m3

m1

m2

m4

0.45

0.35

0.11

0.09

+0.20

+0.55

0.45

Page 12: Théorie d’information

m3

m1

m2

m4

0.45

0.35

0.11

0.09

+0.20

+0.55

0.451

0

01

00

001

000

m3 = 1, m1 = 01, m2 = 001m4 = 000.

Page 13: Théorie d’information

Codes correcteur d’erreurs

• Code bloc– Linéaire

• Hamming, LDPC– Non-Linéaire– Cyclic

• BCH, RS• Codes Convolutionnelles• Codes Turbo

Page 14: Théorie d’information

Bits de parité

• Supposons qu’on veut transmettre le message m=[1001001].

• Supposons que le deuxième bit est décodé en erreur, r = [1101001].

• Le récepteur ne peut pas déterminer que r est en erreur.

• Supposons, qu’avant la transmission, on ajoute un bit de parité paire au message mc= [10010011].

• Maintenant, supposons que le deuxième bit est reçu en erreur, r = [11010011]. Il y a maintenant 5 1’s, ce qui n’est pas permis. Alors un erreur est détecté et le récepteur peut demander une nouvelle transmission.

• La détection de cet erreur est possible en ajoutant le bit de parité.

Page 15: Théorie d’information

Codes Blocs

• Les données sont regroupés en groupes de k bits.• Chaque « bloc » de k bits est encodé. L’encodage

produit un nouveau bloc de n bits où n>k. Encodage produit de la redondance dans le message à transmettre.

• Le taux du code est is r = k/n.

encodeurm c

1011 1011100

Page 16: Théorie d’information

Addition et multiplication binaire

• 0+0 = 0, 0+1 = 1, 1+0 = 1 et 1+1=0 (il n’y a pas de retenu).

• 0x = 0 où x = 0 ou 1. 1x = x où x = 0 ou 1.

• Exemples 1010 + 1100 = 0110. 0(10010) = (00000).

Page 17: Théorie d’information

Codes Blocs Linéaires• Soit C est un code qui consiste de l’ensemble des

vecteurs {c0, c1, … cM} où M = 2k-1 .• C est un code linéaire si pour ci et cj en C, ci+cj est aussi

en C. • Exemple C = {c0 = 0000, c1 = 0110, c2 = 1001, c3 =

1111}.• c0+cx = cx for x = 0, 1, 2 ou 3.• cx+cx = c0.• c1+c2 = c3, c2+c3 = c1, c1+c3 = c2.• C est linéaire.• C2 = {c0 = 0001, c1 = 0111, c2 = 1000, c3 = 1110}.• cx+cx = 0000 qui n’est pas en C2.• C2 n’est pas linéaire.

Page 18: Théorie d’information

Poids Hamming

• Pour un mot de code cx du code C, son poids Hamming égal le nombre d’elements en cx qui ne sont pas 0.

• C = {0000 0110 1001 1111}• H.W{0000} = 0• H.W{0110} = 2• H.W{1001} = 2• H.W{1111} = 4

Page 19: Théorie d’information

Distance Hamming

• La distance Hamming entre deux mots de codes ci et cj du code C égal le nombre de position où les deux mots se diffèrent.

0000 0110 1001 11110000 0 2 2 40110 2 0 4 21001 2 4 0 21111 4 2 2 0

• ci+cj = 0 dans les positions où ils sont pareils et ci+cj = 1 dans les positions où ils se diffèrent. Donc HD{ci, cj} = HW{ci+cj}.

Page 20: Théorie d’information

Distance minimum d’un code bloc linéaire• Dans l’exemple précédant, dmin = 2.• Nous avons vu que HD{ci,cj} = HW{ci+cj} = HW{cx}

où, dans le cas des codes blocs linéaires, cx est un autre mot de code en C excluant le mot de code entièrement zéro. – Donc, dmin = poids Hamming minimum du code C en

excluant le mot de code entièrement zéro. • Dans notre exemple, en excluant 0000, les autres mots

de code sont 0110, 1001 et 1111. Le poids Hamming minimum de ces trois mots de code est 2. Donc dmin = 2.

Page 21: Théorie d’information

Base d’un code bloc

• C est un code bloc linéaire• Choissisons k mots de codes indépendants, c1, c2, …, ck.

Aucun de ces mots de code peut être exprimé comme une combinaison linéaire des autres.

• Tous les 2k mots de codes en C peuvent être exprimés comme une combinaison linéaire de ces k mots de codes.– On dit que ces k mots de code forment la base du code C.

• cx = a1c1+a2c2+a3c3+…+akck où ai = 0 ou 1 • Pour notre code on peut choisir comme base 0110 et 1111, ou

0110 et 1001 ou 1001 et 1111.• exemple, prenons c1 = 0110 et c2 = 1111 comme la base du

code.– 0000 = 0c1+0c2, 0110 = 1c1+0c2, 1001 = 1c1+1c2 et 1111

= 0c1+1c2.

Page 22: Théorie d’information

Matrice génératrice

Gmcc

cc

G

xx

k

2

1Exemple

]1001[]11[]0110[]01[

]1111[]10[]0000[]00[

11110110

GGGG

G

Les dimensions de la matrice G sont k×n.

Page 23: Théorie d’information

Codes équivalents• Les codes générés par G1 et G2 sont équivalents si

les matrices génèrent les mêmes mots de codes (cependant les messages correspondants sont différents).

• Exemple

11111001

11110110

21 GG

m 00 0000 0000 01 1111 1111 10 0110 1001 11 1001 0110

Page 24: Théorie d’information

Codes systématiques

• Un code est systématique si les bits du message se retrouvent au début des mots de codes.

• c = [m|p].• Gsyst = [Ik|P].• Exemple

01101001

systGm 00 0000 01 0110 10 1001 11 1111

Page 25: Théorie d’information

Code systématique équivalent

• Pour n’importe quel code, on peut trouver la matrice génératrice de son code systématique équivalent par transformation linéaire.– Exemple au tableau.

Lecture 6

Page 26: Théorie d’information

Matrice de vérification de parité

• La matrice de vérification de parité H pour un code a la propriété cHT = 0, où c est n’importe quel mot de code du code C.

• On peut écrire cHT = 0 comme mGHT = 0• Donc GHT = 0.• On peut trouver H à partir da la matrice Gsyst.• H= [PT|In-k].

• Les dimensions de H sont (n-k)×n.

10010110

H

Page 27: Théorie d’information

Exemple: Code Hamming (7,4)

1011000010110000101101010011

G

Trouvez tous ses mots de codes ainsi que dmin, et trouvez H.Solution au tableau.

Page 28: Théorie d’information

Decodage

• Le mot reçu, r = c+e, où e = vecteur d’erreur.• Par exemple, si c = (1 1 0 0 1 1 0 1) et r = (1 0 0 0 1 1 0

1), donc e = (0 1 0 0 0 0 0 0).• En supposant que les erreurs de détection arrivent avec

p < 0.5 – Dans le cas où le mot reçu contient des erreurs, le

vecteur d’erreur le plus probable est celui avec le poids le plus faible.

Page 29: Théorie d’information

Exemple• C = {(00000) (01011) (10110) (11101)}• r = (11111)

– Si c = (00000), alors e = (11111) qui arrive avec probabilité p5.

– Si c = (01011), alors e = (10100) qui arrive avec probabilité p2(1-p)3.

– Si c = (10110), alors e = (01001) qui arrive avec probabilité p2(1-p)3.

– Si c = (11101), alors e = (00010) qui arrive avec probabilité p(1-p)4 > p2(1-p)3 > p5.

• Donc le décodeur choisit c = (11101) comme le mot de code le plus probable et sa sortie est le message qui corréspond à ce mot de code.

Page 30: Théorie d’information

Decodage par tableau standard

• Tableau qui donne la mise en corréspondance entre les mots reçus et le de code les plus probable. 00000 01011 10110 11101

00001 01010 10111 11100

00010 01001 10100 11111

00100 01111 10010 11001

01000 00011 11110 10101

10000 11011 00110 01101

10001 11010 00111 01100

11000 10011 01110 00101

Page 31: Théorie d’information

Comment construire le tableau standard• Faites une liste de tous les mots possibles.• Enlever de la liste les mots de codes et les placer dans

la première rangée avec le mot entièrement zéro à la gauche.

• Prendre le mot avec le poids le plus faible et mettre dans la colonne sous le mot entièrement zéro. Additionner ce vecteur aux autres mots de code et placer le resultat sous ce mot de code.– Enlever tous ces résultats de la liste.

• Répeter jusqu’à la fin de la liste de mots.

Page 32: Théorie d’information

Decodage par syndrome

• S = rHT.• r=c+e, therefore S = (c+e)HT = cHT + eHT = eHT.• Tous les vecteurs dans la même rangée du tableau

standard produit le même syndrome.• Syndrome indique le vecteur d’erreur le plus probable et

on produit c par c = r+e.

Page 33: Théorie d’information

Exemple

• Pour ce code:

100100101100101

1101001101

H

G

Page 34: Théorie d’information

Exemple

• Supposons r = (01001), alors

• Ceci indique que le 4e bit est en erreur: e = (00010) donc c = (01011).

010

100010001110011

)10010(

Page 35: Théorie d’information

Capacité de correction ou détection d’erreur• t = tous les vecteur d’erreur de poids t ou moins

peuvent être corrigés.• J = tous les vecteur d’erreur de poids J ou mons peuvent

être détectés.• t = (dmin-1)/2 (dmin est impaire) or (dmin-2)/2 (dmin est

paire).• J = dmin -1• Parfois on crée des codes qui tente de corriger les

erreurs de poids t ou moins mais est capable de détecter des erreurs de poids supérieur à t: t+J = dmin -1 où J > t.– Exemple un code qui corrige 2 erreurs mais détecte

4 erreurs doit avoir dmin = 7 (ou plus).

Page 36: Théorie d’information

Performance: Decoder Failure

• Probability of decoder failure = probability that decoder selects the incorrect codeword = probability that error pattern is not one of the error patterns that it can correct– In our example, the decoder can correct all 5 error

patterns of weight 1 and 2 error patterns of weight two. The probability that the error pattern IS one of these is (1-p)5+5p(1-p)4 + 2p2(1-p)3. Therefore P(E) = 1- (1-p)5-5p(1-p)4 - 2p2(1-p)3

– In many cases, the code has too many codewords to construct a standard array.

– But we usually know dmin, therefore we know t.

Page 37: Théorie d’information

Performance: Decoder Failure

init

i

ppin

EP

)1(1)(

0

Page 38: Théorie d’information

Performance: Bit Error Rate

• (1/k)P(E) < Pb < P(E)

Page 39: Théorie d’information

Performance: Probability Undetected Error• P(U) = probability that an error is undetected =

probability that syndrome = 0 even if error pattern is not 0 = probability that error pattern is same as a codeword.

• In our example P(U) = 2p3(1-p)2 + p4(1-p).• If we don’t know the codewords because code is too

large, then P(U) < probability error pattern has weight greater than j = 1 – probability that error pattern has weight j or less

j

i

ini ppin

UP0

)1(1)(