Codage bipolaire

Un article de Wikipédia, l'encyclopédie libre.

Le codage Bipolaire est un codage à 3 niveaux comme les codages BHDn, 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.

Sommaire

[modifier] Codage bipolaire simple

[modifier] Règle de codage :

Valeurs à coder Valeurs transmise
0 logique 0
1 logique inverse de la valeur transmise au 1 précédent.

[modifier] Exemple

les niveaux sont -a,0,+a

codage bipolaire simple
0 1 2 3 4 5 6 7 8 9
Séquence 1 1 0 1 0 0 0 0 1 1
Codage a -a 0 a 0 0 0 0 -a a

[modifier] Codage bipolaire d'ordre 2

[modifier] Règle de codage :

Valeurs à coder Valeurs transmise
0 logique 0
1 logique inverse de la valeur transmise au 1 précédent de même parité le plus proche.

[modifier] Exemple

les niveaux sont -a,0,+a

codage bipolaire d'ordre 2
0 1 2 3 4 5 6 7 8 9
Séquence 1 1 0 1 0 0 0 0 1 1
Codage a -a 0 a 0 0 0 0 a -a

[modifier] Caractéristiques

Avantages:

  • Spectre étroit.
  • En conséquence, le signal codé est aussi facilement modulable sur une porteuse de base, ou supportera un débit important sur un support de transmission à fréquences basses.

Inconvénients:

  • Problèmes de décodage lors de longues séquences de 0.
    • Mais ce problème est résolu par le codage régulier de bits supplémentaires de façon à maintenir la synchronisation : plus ces bits sont fréquents, plus facile sera la synchronisation.
    • Avec la qualité de précision des horloges actuelles (et les applications pratiques de ce codage qui emploient des signaux de fréquence prédéterminée dans des canaux connus et normalisés, et grace au fait d'une utilisation de bande étroite, il est facile de maintenir la synchronisation pour des chaines assez longues de zéros, et on se contente souvent d'un bit de synchronisation à 1 tous les 16 à 64 bits, ou d'une synchronisation plus précise par l'utilisation de séquences de synchronisation en tête de trame plus longue.
  • le décodage bipolaire est moins stable autour du codet central (codé 0 et non -a ou +a) pour des transmissions à longue distance, car le signal tend à être transmis de façon différentielle (on ne détecte bien que les transitions, qui subissent aussi un déphasage, et l'amplitude d'une transition de +a vers 0 ou de +a vers -a est plus difficilement distinguable, ce qui rend difficile la synchronisation entre les séquences comme celle à 3 états (+a, 0, a) codant 101 et l, et celle à 2 états (+a, a) codant 11, ce qui privilégie les états -a et +a (c’est-à-dire la détection de bits 1) au détriment de l'état 0, particulièrement si les composantes continues sont importantes (longues chaînes de 0 sans transition); pour pallier le problème, il ne suffit pas d'insérer des 1 mais il faut aussi insérer quelques 0.
    • Une séquence FCS 01100110, codée (0,+a,-a,0,0,+a,-a,0), et reçue différentiellement comme (?,+,--,+,0,+,--,+), placée en tête de trame convient bien à cet usage, mais la difficulté est de bien accorder le seuil de détection des composantes continues (pour établir le centre du signal différentiel codant le a), et à calibrer le rapport signal/bruit afin de déterminer les seuils de distinction des signaux différentiels de forte ou de faible amplitude (ce qui nécessite de coder suffisamment de bits à 1 pour déterminer le niveau de l'amplitude maximale.
    • Mais en pratique on procède par transformée de Fourier du signal, les transitions importantes (-a vers +a ou +a vers -a) ayant généré un signal différentiel important aux fréquences f et 2f mais nul à la fréquence f/2, au contraire des transitions incluant un 0 (dont la composante différentielle à la fréquence 2f est nulle).

[modifier] Références

[modifier] Liens internes

[modifier] Liens externes

Autres langues