Codage Manchester

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Manchester.
 Le codage Manchester est un codage synchrone, ce qui signifie que, outre les données à transmettre, les signaux transmis intègrent également l'horloge de synchronisation nécessaire à leur décodage.
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.

Principe[modifier | modifier le code]

Les transitions du signal codé transmettent à la fois la valeur logique du bit (0 ou 1) et l'instant de son échantillonnage. Une transition intermédiaire est ajoutée lorsque des bits de même valeur se suivent.

Toutefois le schéma du code diffère entre le côté émetteur et le côté récepteur, même si leur référence commune est le signal de synchronisation :

  • du côté émetteur, le signal doit être stabilisé à la valeur du bit à transmettre au moment du top de l'horloge qui provoque la transition de synchronisation ;
  • du côté récepteur, la transition marque le top d'échantillonnage de la valeur du bit : celui-ci est égal à la valeur qui précédait cet instant ou l'inverse de la nouvelle valeur qui suit la transition.

Si un codage simple peut s'effectuer en plaçant temporellement la synchronisation au centre du bit comme illustré ci-dessous, ce qui donne un signal "haut" durant 50% du temps, des émetteurs alimentés par piles peuvent réduire leur durée d'émission (état ON) en raccourcissant les périodes "hautes" avant ou après la transition de synchronisation, voir en ajoutant des transitions intercalaires.


Valeurs à coder Valeurs transmise
0 logique transition du niveau bas vers le niveau haut
1 logique transition du niveau haut vers le niveau bas

Les transitions descendantes, en rouge, codent l'état 1, tandis que les transitions montantes, en vert, codent l'état 0.


Attention toutefois, cela peut être l'inverse. Les transitions du niveau haut au niveau bas indiquent alors des 0, ce qui suppose simplement que l'émetteur et le récepteur s'accordent sur la même logique[1].
Sur certaines de ses sondes météo Oregon-Scientific contourne cette difficulté en doublant chaque bit avec le bit complémentaire (0->01, 1->10, 0110->01101001). La fréquence de synchronisation du récepteur étant la moitié de celle des bits, selon que cette synchronisation est calée sur le premier bit ou le second, le message reçu sera le message d'origine ou son complément logique.


Utilisation[modifier | modifier le code]

Ethernet 10BASE5, 10BASE2, 10BASE-T, 10BASE-FL.
Liaisons radio à courte distance : télécommandes radio, stations météo domestiques, ...

Avantages[modifier | modifier le code]

Mise en œuvre simple, codage et décodage faciles, pas de composante continue (donc pas de perte de synchronisation sur les suites de symboles identiques).

Les problèmes habituellement rencontrés avec les codes tels que NRZ, NRZI ou Miller :

  • perte de synchronisation ;
  • ligne coupée (à cause d'une rafale de 0) ;
  • sensibilité aux parasites ;
  • affaiblissement du signal car moyenne non nulle ;

sont résolus par le codage Manchester en supprimant les suites de 0 ou de 1.

La limite basse de la bande passante occupée n'est plus le continu comme dans les trois codes donnés en exemple. Elle vaut sensiblement la moitié de sa limite haute.

Inconvénients[modifier | modifier le code]

La limite haute de la bande passante occupée est doublée.

D'un point de vue mathématique[modifier | modifier le code]

Lorsque la distribution des bits transmis est équiprobablement répartie entre 1 et 0, la densité spectrale de puissance du codage Manchester s'exprime par :

S(f) = \frac{1}{R}sinc^2\frac{\pi f}{2R}\sin^2\frac{\pi f}{2R}

R est le débit binaire brut (10 Mb/s, 100 Mb/s, 1 Gb/s...).

La densité spectrale de puissance de ce code est donc proportionnelle au carré du module de la transformée de Fourier de l'impulsion élémentaire rectangulaire.

Voir aussi[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. (en) Godred Fairhurst, « Manchester Encoding », sur erg.abdn.ac.uk,‎ 1er mars 2007.

Liens externes[modifier | modifier le code]