Packet-Radio

Généralités codages NRZ , NRZI et Manchester

Avertissement important :
Les informations de cette page ne sont que des généralités dans le cadre des transmissions de données du type Packet-Radio(amateur). Le lecteur à la recherche de démonstrations théoriques est invité à consulter des ouvrages spécialisés.

1) Introduction

La transmission de données en mode série consiste à émettre et à recevoir dans le temps une suite d'éléments binaires (bits) ayant pour valeur "0" ou "1". Ces éléments binaires sont transmis au rythme d'un signal d'horloge. La transmission série des informations pourra être du type asynchrone ou synchrone.

2) Types de transmission série

2-1) Transmission série asynchrone

Ce mode est utilisé par exemple dans les transmissions radio-télétype (RTTY code Baudot) ou "série RS-232". L'horloge de réception est déclenchée par un signal spécifique appelé Start. Ce signal correspond au passage de l'état "Mark" (1) à l'état "Space" (0). A noter que l'état d'attente "Mark" est un état électriquement actif (présence d'une tension ou d'un courant). Dans le cas de signaux série RS-232 le "1" (Mark) est "matérialisé" par une tension de -12V et le "0" par +12V. En logique style "TTL" le "1" est "matérialisé" par +5V et le "0" par 0V .

Asynch.

Le bit de Start est suivi des N éléments d'information (N pouvant être égal à 5 ou 8 bits). La fin de transmission des N bits est indiquée par un signal "Stop" d'une durée de 1 ou 2 bits.

Le qualificatif "asynchrone" signifie que l'intervalle entre chaque transmission de N bits (ou caractère) peut être irrégulier ou aléatoire dans le temps. C'est typiquement le cas lors de la transmission de codes caractères par un opérateur utilisant un clavier. L'horloge de réception étant déclenchée à chaque signal Start, on considérera que sa fréquence sera suffisamment stable afin "d'échantillonner" les bits d'information jusqu'au signal Stop.

L'utilisation d'un bit dit "de parité", peut permettre de détecter une éventuelle erreur de transmission. Il est possible de tester la parité des "1" (le nombre total de "1" , bit de parité inclus, doit être pair) ou l'imparité des "1" (le nombre total de "1" , bit de parité inclus, doit être impair). L'expression "" parité impaire "" , que l'on retrouve parfois dans certaines publications, est un contresens (abus de langage ou mauvaise traduction).

Les termes techniques anglais utilisés pour la gestion du parity bit sont : even pour parité et odd pour imparité. L'exemple de la figure ci-dessus illustre l'utilisation du test d'erreur en mode parité (even) ; on constate que le bit de parité est positionné à "0" puisque le code transmis comporte déjà un nombre pair de "1" (N.B. : code 7 bits + 1 bit de parité). A noter que ce système de détection d'erreurs par un simple bit de parité (ou d'imparité) est mis en défaut en cas d'erreurs doubles. L'avantage de la transmission en mode asynchrone est la simplicité de synchronisation. Un inconvénient est le "rendement" global de la transmission. Par exemple pour transmettre 8 bits utiles il faut transmettre systématiquement 11 bits (1 bit start + 8 bits données + 2 bits stop) ce qui peut être pénalisant dans le cas où l'on désire transmettre un flot important et continu de données.

2-2) Transmission série synchrone

La transmission des éléments binaires s'effectue au rythme d'un signal d'horloge transmis en permanence. En pratique il faudrait transmettre ce signal de synchronisation sur une voie séparée des données. Cette solution est envisageable pour des liaisons filaires à très courte distance. Une autre technique consiste à mélanger aux données le signal d'horloge au moment du codage "en ligne". Il est souvent possible, côté réception, de recréer une horloge de synchronisation à partir du signal reçu. Intuitivement on peut imaginer que si le signal de données comporte d'une manière périodique des alternances de niveaux il sera possible de verrouiller un signal d'horloge (Système PLL). Les transmissions synchrones sont généralement structurées sous forme de trames. Ces trames comportent en préambule une séquence de "synchronisation bits" suivie d'un symbole (suite particulière d'éléments binaires) permettant de délimiter des trames successives .


Séquence
synchronisation bits
Délimiteur -------------------- N bits de données -------------------- Code détection
d'erreurs
Délimiteur

(N.B. : voir également les trames HDLC utilisées en Packet-Radio).

3) Codage NRZ

Le code NRZ est le moyen le plus simple de coder l'information : il y a une relation directe entre la valeur logique et une grandeur physique par exemple une tension ou un courant électrique. On peut imaginer de coder le "1" logique par +5 volts et le "0" par 0 volt (dans ce cas le code est dit unipolaire). On pourrait tout aussi bien coder le "1" par -12 V et le "0" par +12 V. C'est donc le niveau électrique qui "matérialise" l'information ; toute inversion de polarité se traduira par une inversion de l'information.

Que signifie le sigle NRZ ? il s'agit de Non Return to Zero, le signal ne comportant pas de transition "retour vers zéro volt" durant une période bit (par opposition aux codages du type RZ).

4) Codage NRZI

Le codage NRZI n'utilise pas directement le niveau mais un changement de niveau (par rapport au bit précédent) pour coder les valeurs logiques. Ce codage est du type différentiel; par exemple l'apparition d'un "0" logique provoquera un changement de niveau électrique et il n'y aura aucun changement pour le "1" logique.

Avec cette convention le codage sera du type Non Return to Zero Inverted on Space , c'est à dire code NRZ avec inversion de signal sur un "space" (0 logique). C'est le codage NRZI-S qui est utilisé en transmission Packet-Radio(amateur). Le codage pourra être polaire (tensions -V et +V) ou unipolaire (0V et +V). L'intérêt principal du NRZI est qu'il est insensible aux inversions de polarité du signal pouvant intervenir dans une chaîne de transmission.

La figure 1 illustre les codages NRZ et NRZI. Le signal horloge nous rappelle qu'il s'agit de transmission synchrone. Pour le codage NRZI on suppose ici que le niveau repos était un niveau "haut".

fig.1

fig.1

La densité spectrale de puissance d'un signal NRZ (ou NRZI) a l'allure suivante (T = période bit) :

fig.2

fig.2

On constate que le signal NRZ (ou sa variante NRZI) comporte beaucoup d'énergie dans les basses fréquences voire une composante continue en fonction du nombre de "1" et de "0". Si l'on veut transmettre un signal NRZ sans déformation il faudrait, en théorie, une bande passante allant de "0" à l'infini.

N.B. : Des techniques "d'embrouillage" (en anglais scrambling), utilisant des séquences pseudo-aléatoires, sont parfois utilisées afin d'augmenter artificiellement le nombre de transitions entre les états "0" et "1" ; de plus la mise en place du srambling a des effets bénéfiques sur la "densité spectrale de puissance" du signal transmis.


5) Transmission du signal "bande de base" NRZI dans un canal radio

En émission le signal "bande de base" codé NRZI modulera en FSK (frequency shift keying) :

  • Une sous porteuse audio (par ex. système AFSK 1200 Bds norme Bell 202) qui sera ensuite injectée dans l'entrée microphone de l'émetteur.
  • Directement l'étage pilote d'un émetteur (Oscillateur XTAL , VFO PLL) avec filtrage et en mise en forme préalable du signal (cf. système G3RUH 9600 Bds et plus ...).

Le problème classique en transmission de données est qu'il n'est pas possible en pratique de disposer d'une bande passante infinie afin de transporter sans déformation le signal bande de base (NRZ ou NRZI) initial.

fig.3

fig.3

En Packet-Radio(amateur) les limitations de bande passante seront dues essentiellement côte émission à la réponse du modulateur et côté réception à la réponse des filtres de l'amplificateur "F.I." (fréquence intermédiaires) et du démodulateur.

La figure 4 montre l'allure d'un signal bande de base (courbe jaune) après passage dans une chaîne de transmission ayant une bande passante limitée (courbe verte = signal reçu). On constate que le signal initial est "filtré" et que la courbe présente de nombreux rebondissements d'amplitude.

ISI

fig.4

En faisant référence au signal reçu (fig.4 courbe verte) la figure 5 représente un tracé particulier appelé diagramme de l'oeil (en anglais eye pattern). Ce diagramme regroupe, ici sur une durée de 2 bits, un ensemble de trajectoires correspondant à des combinaisons de changements d'amplitudes de "-A vers +A" et de "+A vers -A". Les simulations s'effectuent sur une (très) longue suite aléatoire de transmission de symboles "1" et "0".

Eye pattern

fig.5

Les rebondissements d'amplitudes observés ici sont la conséquence du temps d'amortissement de la réponse impulsionnelle du canal de transmission. Les éminents spécialistes en transmissions de données qualifient ce phénomène "d'interférences entre symboles" (ou ISI : inter symbol interference). Insistons sur le fait que ce "brouillage" apparent du signal ne provient pas de bruits parasites externes.

La représentation du type diagramme de l'oeil permet d'observer :

  • La marge de bruit pour le seuil de détection des niveaux haut et bas (fig. 5 , Vseuil=0 V . Dans cette simulation on considère qu'il n'y a pas de bruit additionnel dans la chaîne de transmission : rapport S/B infini ).
  • Une gigue de phase (phase jitter) au niveau des passages par la valeur zéro de l'amplitude ce qui aura comme conséquence des imprécisions dans la récupération du signal "horloge bit" (Ce problème n'est pas trop pénalisant si la valeur moyenne de la gigue de phase est nulle).

La valeur de tension Vs correspond au seuil de décision. Ce seuil est positionné à une valeur d'amplitude médiane (ici 0 volt). La valeur kT correspond à l'instant de décision. C'est le point situé au "centre de l'oeil" qui fourni la meilleure probabilité de détection de niveaux , donc le taux d'erreur le plus faible.

Il a été démontré (critères de Nyquist) que certaines formes de signaux - donc certaines réponses impulsionnelles de filtres - minimisent les effets néfastes de l'interférence entre symboles. C'est le cas de la fig. 6 dans laquelle les signaux de la courbe verte correspondent à la réponse temporelle d'un filtre du type "cosinus surélevé" (raised cosine filter) de coefficient alpha=1.

Rised cosine

fig.6

Afin d'obtenir cette forme de signal après démodulation il faudrait maîtriser la réponse de l'ensemble du canal de transmission. Ce n'est pas une chose simple à réaliser, surtout en transmission Packet-Radio(amateur) les équipements émetteurs / récepteurs ayant des caractéristiques assez disparates. Le plus souvent c'est à l'émission que l'on synthétise une forme de signal (conversion Numérique/Analogique cf. "modem" type G3RUH), de façon à compenser au mieux la réponse des différents systèmes ce qui revient à agir partiellement sur la réponse du canal.

Channel

fig.7

La fig. 7 montre l'allure du diagramme de l'oeil associé au signal filtré (courbe verte) de la fig. 6. On constate une très bonne convergence des trajectoires de courbes avec des "passages par zéro" pratiquement parfaits et une excellente marge de bruit au niveau amplitudes. C'est ce type de diagramme qu'il faudrait idéalement obtenir après démodulation si l'on désire un taux d'erreur le plus faible possible.

6) Code Manchester (ou codage bi-phase)

Le codage Manchester est obtenu par le mélange (opération logique OU-exclusif) d'un signal horloge et d'un signal NRZ. De cette manière on peut, par exemple, matérialiser un "1" logique par une transition montante en milieu de période bit (T) et le "0" logique par une transition descendante.

Manchester

fig.8

Tout comme pour le NRZ il faudra, pour des raisons évidentes, éviter les changements de polarités dans la chaîne de transmission.Le codage Manchester peut également être du type différentiel. Dans ce cas on utilise la variation du sens des transitions par rapport au bit précédent. Dans l'exemple de la figure 9 on constate une inversion du sens des transitions du signal en milieu de période bit (durée = T) pour les valeurs "0" logiques. Par contre un "1" logique conserve le sens de la transition précédente.

Diff. Manchester

fig.9

Avantages du code Manchester :

  • Valeur moyenne du signal nulle (pas de composante continue et peu d'énergie dans les fréquences basses).
  • La densité spectrale du signal présente un maximum vers la fréquence "0,75 / T" ( T = période bit ). Une utilisation directe de ce signal bande de base en "entrée / sortie BF" des transceivers radio peut s'envisager pour de faibles débits (ex.: 1200 , 2400 Bits/s).
  • Facilité de synchronisation : il y a systématiquement une transition de signal durant une période bit.
  • Réalisation technique relativement simple et économique : circuits logiques , microcontrôleurs ...

Inconvénient :

  • Nécessité d'une bande passante minimale de l'ordre de 1,5 x (1 / T). Par exemple pour un débit de 2400 bits/s il faudrait une bande passante de 1,5 x 2400 Hz = 3600 Hz.
Manchester SD

fig.10

Manchester LP Filter

fig.11

La courbe en vert de la fig.11 montre l'allure du signal Manchester après passage dans un filtre passe bas idéal dont la fréquence de coupure est de 1.6 x 1/T.

Manchester eye pattern

fig.12

La courbe fig. 12 montre le diagramme de l'oeil du signal précédent filtré à 1.6 x 1/T.

Un codeur/décodeur Manchester a été expérimenté par des radioamateurs slovènes (voir ce lien). Ce montage utilise des circuits logiques standards du type C-MOS. La photo ci-dessous montre une réalisation de ce codeur/décodeur proposée à une époque par les radioamateurs argentins du "TCP/ IP High Speed Group".


HSG modem


 

 




© F6CSS - Toute reproduction , même partielle , du contenu de cette page est interdite sans autorisation de l'auteur.