TP n°3: Codages HDB3 et Bipolaire
1. Code en ligne HDB3
Pour éviter les longues suites de zéros, ce qui peut provoquer une désynchronisation du récep-
teur, on fait en sorte de ne jamais transmettre plus de trois zéros consécutifs. Pour cela, lors-
qu'on rencontre une suite de quatre zéros, le dernier zéro est codé comme un bit égal à 1. Pour
éviter toute ambiguïté lors du décodage, ce bit 1 est codé en ne respectant pas la règle d'alter-
nance: on dit qu'il y a viol de polarité. En plus, pour éviter que la suite des symboles ne se
décentre, le viol de polarité suit la règle d'alternance. Pour cela, on est conduit à remplacer le
premier zéro de la séquence de quatre zéros par un symbole 0, -1 ou +1 suivant la procédure
suivante, où Pv désigne la polarité du dernier viol et Pl celle du dernier symbole.
1- Coder la séquence: 0111000010000010
2- Faire un programme qui donne la séquence des symboles après codage HDB3, d'une suite
binaire ak aléatoire de longueur N = 1000.
2. Code bipolaire
La suite ak est obtenue à partir de la règle de codage suivante:
Si le bit bk= 0, on transmet le symbole ak = 0.
Si le bit bk= 1, on transmet alternativement le symbole ak = 1 et ak= -1.
On vérifie que la suite ak s'obtient à partir des bits bk en utilisant la relation suivante:
ak = bksk
sk+1 = (1-2bk) sk
sk est initialisée à 1.
1
1- Si on suppose que les bits bk sont aléatoires, indépendants et équiprobables, calculer E(ak )
et E(ak ak+n). En déduire Ra(k) puis Sa(f).
2- Faire un programme qui estime le spectre Sa(f) d’une suite de symboles de longueur
N=1000 pour un débit de symbole de 1000 Bauds. Comparer ce résultat au calcul théorique
déjà fait.