Académique Documents
Professionnel Documents
Culture Documents
Codconv - Poly - Nice One PDF
Codconv - Poly - Nice One PDF
1. Dfinition .................................................................................................2
2. reprsentation en treillis ...........................................................................3
3. Dcodage : algorithme de Viterbi.............................................................3
4. Distance libre............................................................................................5
5. Diagramme dtat. Fonction de transfert..................................................5
6. Dcodage dcision douce en entre .......................................................7
7. Limitation du dcodage une fentre.......................................................8
8. Codes convolutionnels poinonns : ........................................................8
9. Choix : comparaison des codes cycliques et des codes convolutionnels .9
10. Concatnation.......................................................................................9
11. Entrelacement.......................................................................................9
12. Bibliographie ......................................................................................10
premier bit
cod
ck1
entre m bits
dk dk-1 dk-2
deuxime bit
cod ck2
Dans cet exemple un .b dentre correspond 2 .b de sortie qui sont dtermins par les
quations suivantes :
c k1 = d k + d k 1 + d k 2 c k 2 = d k + d k2
soit en transforme en z :
c1 ( z ) = (1 + z 1 + z 2 )d( z) c 2 ( z ) = (1 + z 2 )d( z )
Codes convolutionnels 2 T
1
On remplace souvent z par D ( !).
Et on appelle les polynmes gnrateurs :
1 + D + D2 1 + D2
ou en octal [111]=7 et [101]=5
De faon gnrale le jim bit de code a la forme, dans le cas o le bit dentre est unique :
m1
c j(k)= g jid(ki) o k est linstant dobservation.
i =0
Il y a autant de polynmes gnrateurs que de sorties du code : ces polynmes sont :
m1
g j(D)= gijDi
i =0
2. reprsentation en treillis
Pour faciliter lalgorithme de dcodage, la reprsentation la plus courante du codage est la
reprsentation en treillis.
Ltat du codeur linstant k est reprsent par ltat {dk-1, dk-2,..dk-m-1}. A chaque arrive
dun lment binaire dk, une sortie (un mot de code) est gnre, puis juste aprs le codeur
passe dans ltat suivant qui est {dk, dk-1,.dk-m}.
Le treillis est form de nuds relis par des branches : les nuds reprsentent les diffrents
tats du codeur possibles : il y en a 2m-1 sil y a une entre2(m-1)k sil y a k entres, les branches
reprsentent les diffrentes transitions possibles dun nud un autre (ou dun tat du codeur
au suivant) lors de larrive dun bit dentre.
Voici le treillis du code prcdent : les tats sont 00,01,10,11.
Partant, par exemple de ltat 00, larrive dun 0 mne le codeur ltat 00 (transition en
pointill pour larrive dun 0) et larrive dun 1 mne le codeur ltat 10 (transition en trait
plein pour larrive dun 1). A chaque branche on peut associer le mot cod soit les 2 bits de
code ici.
00 dk = 0
00
11
d =1
11 k
01 00
10
10 01
01
11 10
Codes convolutionnels 3 T
Dans lexemple qui suit ( bas sur le codeur dj dcrit ) on suppose que le dmodulateur
fournit des 0 et des 1 ( dcision dure ). A chaque fois quun groupe de 2 .b. arrive, on
examine toutes les branches possibles du treillis, on calcule la distance entre les .b. affects
aux branches et les .b. reus, on ne garde que les branches donnant lieu une distance
minimale ( ces branches forment le chemin survivant ), et on affecte lextrmit du chemin
survivant dune mtrique gale la somme de la mtrique prcdente et de la distance de la
branche retenue.
00 2 2
00
11
donnes avant codage : 1001
01 0 aprs codage : 11 10 11 11
erreur de transmission
10 0
Donnes reues : 11 00 11 11
11
11 sur la branche
00 2 2 00 0 2 distance entre le couple d'.b. reu et cod
00
11 11 2
01 0 1 sur le noeud : poids
10 1 somme du dernier poids et de la distance
10 0 4
01 1
11 1
11 00
00 2 2 00 0 2 00 2 1
00
11 0
11 11 2
0 1 11 0
01 00 2
2
10 1 10 1
10 0 4 2
01 1 01 1
01 1
11 1 101 2
11 00 11
limin
Codes convolutionnels 4 T
4. Distance libre
Cest la distance minimale entre deux chemins divergents partant du mme point et y revenant
le plus vite possible .
Comme le code est linaire on peut ne considrer que des chemins partant par exemple de
ltat 00. Et la distance libre est le poids de la squence partant de 00 et y revenant le plus vite
possible.
00 00 00
0 11 11 11
11 11 11
0 00 00 00
10 10 10
1 01 01 01
01 01 01
1 10 10 10
dk =
DLIBRE = 5
d =
k
Cette distance reprsente la distance entre deux chemins les plus proches sans erreur.
Plus elle est grande, plus le code sera performant.
00
a=00 11
11
10
c=10 b=01
00
01 d=11 01
10
On peut partir de ce diagramme calculer une fonction de transfert qui dpend des poids des
squences codes, des poids des squences dinformation(entre).
Pour cela, on introduit, chaque transition, les variables D affect de lexposant gal au poids
du mot de code et N affect de lexposant gal au poids du mot dinformation
Codes convolutionnels 5 T
a=00 D2
ND2
D
c=10 b=01
N
ND d=11 D
ND
On va ouvrir ce diagramme pour avoir un nud dentre et un nud de sortie : ces deux
nuds seront les mmes de faon observer les chemins qui partent dun nud et qui y
retournent.
Par exemple on prend ae et as le nud a dentre et de sortie :
ND2 D D2
ae c b ae
ND D
ND
Les quations de passage sont :
c= ND2a e + Nb
b= Dc+ Dd
d = NDc+ NDd
as = Db
Aprs rsolution de systme :
a D5N
T(D,N)= s =
a e 12DN
Soit en dveloppant le numrateur de la fonction de transfert en srie :
T(D,N)= 2k Dk +5N k +1
k =0
On en dduit que :
Codes convolutionnels 6 T
-il existe 2k chemins partant dun nud et aboutissant au mme de poids k+5 dont la squence
dentre a le poids k+1
-en particulier si k=0, il existe 1 chemin de poids le plus faible 5 :cest la distance libre.
En gnral :
T(D,N)= a(h)Dh N w(h)
k =dlib
canal
bruit blanc gaussien
{z ij }
dcodage dmodulateur
{s ij }+b = {r ij }
Le canal introduit du bruit : donc en sortie du canal on a des signaux non binaires avec des
valeurs analogiques ( continues).
Le dcodage prsent prcdemment suppose que le dmodulateur a pris une dcision 0 ou 1 :
dcision dure.
On peut effectuer le dcodage de Viterbi en supposant que le dmodulateur na pas pris de
dcision ou que la valeur du signal est code sur plusieurs bits : dcision souple.
Lalgorithme garde le mme principe mais les distances utilises sont les distances
euclidiennes :
si ( z1k , z 2k ) est le couple dchantillons en sortie du dmodulateur lentre du dcodeur t=k
et ( a1k , a 2k ) le couple binaire associe une branche du treillis
2
M k = (z ik a ik )2
i =1
( ) ( )
Pour un couple z1k,z 2k reus, on cherche le couple a1k,a 2k qui en est la distance la plus
faible.
Par exemple pour une modulation de phase 2 tats (a peut tre -1 si 0 est envoy et +1 si 1
2
est envoy), il suffit de comparer les mtriques M k = 2 (z ika ik )
i =1
Le dcodage corrige alors plus derreurs.
Codes convolutionnels 7 T
7. Limitation du dcodage une fentre
En pratique, on nattend pas que toute la squence binaire mise soit reue pour commencer le
dcodage ( trop de mmoire)
On saperoit quau bout dun certain temps t = n, les chemins survivants convergent vers un
mme chemin en amont en t = n-x.
On garde tous les chemins survivants de n-x n et t=n, on dcide de dcoder lchantillon de
t=n-x.
t= n - 5 t= n - 4 t= n -3 t= n - 2 t= n -1 t= n
Code convolutionnel X1 X2 1 1
E1 E2 Rendement 1/2 0 1
Y2
Rendement 3/4 5/6
Matrice 1 0 1 1 0 1 0 1
1 1 0 1 1 0 1 0
Un code rendement 1/2 dont on supprime un bit de sortie sur 4 devient un code de rendement
2/3.
Codes convolutionnels 8 T
De mme pour construire un code de rendement , on ne transmet que X1 , Y1 , Y2 , X3 etc
- Le rendement des codes en blocs est lev ( > 0,9 ), celui des codes convolutionnels est assez
faible malgr la technique de poinonnage.
- Les codes cycliques particulirement les codes de Reed-Solomon corrigent des erreurs
arrivant par paquets, ou par rafales ( burst ) Le code de Reed-Solomon ( 204,188,8 ) utilis
dans les normes DVB peut corriger un paquet 8 octets soit 64 bits par trame.
- Si les rafales derreurs ont une taille suprieure la possibilit du code, on effectue un
entrelacement des bits avant le dcodage : le but est de mlanger les bits pour casser les
paquets derreurs.
Les rafales derreurs peuvent tre provoques par le canal, en particulier les bruits impulsifs (
souvent d aux interrupteurs ) dans les cbles, ou par des multi-trajets dont la somme entrane
un signal presque nul.
- Les avantages des codes convolutionnels sont leurs bonnes performances grce au dcodage
dcision souple et leur facult des corriger des erreurs isoles.
Avec des canaux trs bruits ( Hertziens ) pour profiter des avantages des deux types de codes,
on peut les concatner
10. Concatnation
On ajoutera un entrelaceur entre les deux codes pour diminuer la taille des paquets derreurs
lentre de dcodeur RS
11. Entrelacement
Pour diminuer la taille des rafales pour les erreurs arrivant en rafales, on procde un
entrelacement temporel : ainsi la taille des paquets derreurs ne dpassera pas les possibilits
de correction du code RS.
Codes convolutionnels 9 T
Le principe est de changer lordre des symboles lmission les remettre en ordre la
rception. ( oprations duales trs similaires)
Ce module est donc insr entre les deux dcodages ( et codages)
Principe : opration sur les octets.
Un premier type dentrelacement est lentrelacement par blocs :
0 9 ............8 * 4
110 ..............33
ENTREES 2 11 ..............34 SORTIES
.......................
8 ...................39
Un deuxime type est lentrelacement convolutionnel
Voici lexemple de lentrelacement dfini dans les normes DVB tlvision satellite et
terrestre.
B registres de longueur variant entre M et ( B-1 ) M
Normes DVB : M = 17 et B = 12
Un octet est au plus dcal de 1117 ( soit la taille de la trame except loctet de
synchronisation )
12. Bibliographie
Communications numriques
Alain Glavieux, Michel Joindot Ed Masson
Introduction aux Codes Correcteurs
Pierre Csillag Ed Ellipses
Digital Communications : fundamentals and applications
Bernard Sklar Ed Prentice Hall
Elments de communications numriques
J.C. Bic, D.D. Duponteil, J.C .Imbeaux Ed Dunod
La Tlvision Numrique MPEG1, MPEG2 et les principes du systme europen DVB
Herv Benoit Ed Dunod
Codes convolutionnels 10 T