Le codage des signaux binaires



Voir également les pages : De AX25 à TCP/IP


Un signal binaire est généralement représenté sous la forme NRZ c'est à dire Non Retour à Zéro
Si nous restons en logique TTL, un niveau logique "1" est représenté par une tension +5V, et un niveau logique "0" par une tension nulle.
Si plusieurs éléments binaires sont à "1", le signal reste à +5V. De même si la valeur binaire est à "0", la valeur du signal reste à 0V.
Ce codage permet une transmission dans un câble de bonne qualité, et sur une distance relativement faible (c'est le cas des signaux RS-232...sur les COM du PC..)
Sur des distances importantes avec des traversées de différents médias, le signal se déforme jusqu'à devenir inutilisable.



Ce type de signal peut difficilement être transmis sur un trajet qui comporte des transfos d'isolement ou des liaisons capacitives... et à plus forte raison lorsque le signal doit être transmis par l'intermédiaire d'un média "hertzien" ! Ces éléments ne passent pas les signaux de fréquence "0" (composante continue) ou des grands "plateaux" de tension.
La théorie dira que la densité de puissance du NRZ est très élevée au voisinage de la fréquence zéro.

( la formule étant : d= W / f)

Il faudra donc rechercher une densité de courant plus faible pour satisfaire la meilleure caractéristique. (1er critère de Nyquist) ... Notre signal NRZ devra être codé.

La première solution consiste à faire retomber le signal à 0V après chaque valeur binaire. C'est le signal RZ (Retour à Zéro).
On obtient ce signal en appliquant à l'entrée d'un circuit logique ET, le signal NRZ et une horloge de fréquence double de celle de référence.





On emploie généralement le codage RZ inversé qui devient NRZI ce qui permet d'être mis en forme avec un flip-flop déclenché sur les transitions. Une erreur sur la lecture d'un "1" n'affecte pas la suite du décodage.
En comparant le signal NRZ d'origine, et le signal NRZI, on voit qu'il y a des transitions uniquement pour les valeurs logiques égales à "1".
Le codage NRZI conserve toujours des paliers importants si des niveaux logiques "0" se succèdent, ce qui n'est pas favorable à la reconstitution de la base de temps, à la réception. Il faut donc trouver une méthode qui donne un codage riche en transitions, qui permettrons la synchronisation de l'horloge.


Une des solutions retenue est le codage BI-PHASE.

Les valeurs binaires ne sont plus représentées par des niveaux de tension, mais par les variations de cette tension. Il n'est alors plus nécessaire de transmettre la "composante continue".
Le code BI-PHASE pose un petit problème de cablage ! Une inversion de polarité inverse également la valeur des symboles binaires... Pour éviter ce problème, une variante du code est utilisée : c'est le code BI-PHASE DIFFERENTIEL.


Le codage d'un ZERO reprend le codage du bit précédent et celui d'un UN, son inverse. (M-1). Le spectre reste inchangé.
Il existe plusieurs codages "bi-phase" suivant la position de la transition à l'intérieur de l'élément binaire.




Le codage bi-phase nécessite une bande passante relativement importante.

En pratique, une bonne restitution nécessite une bande passante comprise entre 1/4T et 3/2T

Nota : T signifie la période du signal (T=1/f)


Le codage Manchester fait partie des codes bi-phase : (BI-L). Il est obtenu en appliquant à l'entrée d'un circuit logique OU-Exclusif le signal binaire d'origine, et une horloge de fréquence double de l'horloge de base. (comme pour le codage RZ).






Si on compare le signal Manchester avec le signal binaire, on s'aperçoit qu'il y a une transition par information. Le sens de la transition donne la valeur logique. Cette modulation a l'avantage de permettre une sychronisation très facile de l'horloge de réception.

  • Une transition négative = niveau logique "0"
  • Une transition positive = niveau logique "1"...

    Le code BI-PHASE est un signal à deux niveaux. La composante moyenne sera donc la moitié de la tension max. Dans certaines transmissions (particulièrement sur des câbles de grande longueur) il est utile de conserver une composante moyenne nulle. Pour cela on utilise le codage "bipolaire".
    Dans ce type de codage, les tensions ne sont plus 0 et +V..... mais : +V / 0 / -V.


    Le code BI-PHASE nécessite une bande passante relativement élevée qui n'est pas disponible dans certains cas; on utilise alors un code dérivé du code BI-PHASE qui est appelé "code de Miller".


    Le code de Miller est obtenu en divisant le signal BI-PHASE par 2.
    Dans la figure 6 ce sont les transitions qui font basculer le flip-flop.
    Dans cet exemple, les valeurs logiques "1" ont une transition par symbole alors que les valeurs "0" n'ont pas de transition.





    Généralement, l'horloge est restituée en comparant la phase des transitions avec une horloge locale pilotée par une tension issue du comparateur de phase. (figure 7)

    Le signal de correction peut être analogique et pilote alors un VCO...


    ... ou digital (un top d'horloge peut être ajouté ou soustrait en fonction de la comparaison de phase.).
    C'est cette dernière méthode qui est utilisée dans le modem G3RUH



    Retour au début de la page

    ...Retour à la page d'accueil