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.
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.
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 .
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.
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).
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).
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
La densité spectrale de puissance d'un signal NRZ (ou NRZI) a l'allure suivante (T = période bit) :
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.
En émission le signal "bande de base" codé NRZI modulera en FSK (frequency shift keying) :
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
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.
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".
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 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.
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.
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.
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.
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.
fig.9
Avantages du code Manchester :
Inconvénient :
fig.10
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.
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".