Codage BHDn

Le codage BHDn (bipolaire à haute densité d'ordre n) est un codage à 3 niveaux comme les codages bipolaires, c'est-à-dire que les valeurs utilisées pour coder le signal composé de 0 et de 1 varieront entre -a, 0 et a. Il est utilisé dans les réseaux informatiques pour injecter sur le média physique (couche 1 du modèle OSI) les valeurs logiques correspondant au flux d'entrée.

Règle de codage[modifier | modifier le code]

Le 'n' de BHDn indique le nombre de 0 que l'on peut envoyer. On le choisit en fonction de la fiabilité du support et du matériel. La valeur pour le premier 1 à envoyer est fixée par convention entre l'émetteur et le récepteur.

  • Si on doit envoyer un 1, on envoie l'inverse de la valeur envoyée pour le pas précédent.
  • Si on doit envoyer un 0 :
    • Si les n+1 bits suivants ne sont pas tous à 0, on continue le codage comme en codage bipolaire simple.
    • Si les n+1 bits suivants sont tous à 0, les n bits suivants sont codés à 0 et le n+1 sera codé avec la même valeur que le code du 1 précédent (on viole alors l'alternance).
  • Après une violation de l'alternance :
    • Si le bit suivant est un 1, il est codé avec la valeur inverse de celle qu'on vient de mettre pour l'alternance.
    • Si le bit suivant est un 0 :
      • Si les n+1 bits suivants ne sont pas tous à 0, on continue le codage comme en codage bipolaire simple.
      • Si les n+1 bits suivants sont tous à 0,le premier est codé avec la valeur inverse de celle qu'on vient de mettre pour l'alternance, les n-1 bits suivants sont codés à 0 et le n+1e sera codé avec la même valeur que le premier (on viole l'alternance).


Les niveaux sont -a,0,+a