Le procédé de transmission de données adsl


Les erreurs de transmission





La rubrique précédente


Comme la plupart des procédés de transmission de données, le procédé adsl détecte et dans certaines conditions corrige les erreurs de transmission.

Quand on aborde le prodédé de transmission adsl par cet aspect, on est vite confronté à son extraordinaire complexité. Dans le cadre de cette simple viste du procédé, il est exclus d'aller loin dans ce sens. Toutefois pour vous donner une idée de la complexité et éclairer un peu les moyens de détection et de correction d'erreur je vais aller un peu plus avant.

La norme internationale sur l'adsl2 et 2+ prévoit une architecture qui fait intervenir jusqu'à 4 trajets de latence ou fonction de création et gestion de 4 trames de données. Pour ne pas confondre ces trames avec la trame adsl introduite jusqu'ici, il vaudrait mieux parler de soustrame. C'est le terme que j'emploierai en parlant d'elles. La trame adsl2 est le résultat du multiplexage (mélange) de ces dernieres. Chaque fonction de latence peut elle même être connectée, toujours par multilexage, à 4 canaux de transmission ATM. J'ignore si la freebox respecte la norme G.992.3/5 sur ce point, mais j'ai compris que le nombre de trajets de latence etait limité pratiquement à 3.

La détection d'erreur est présente dans tous les modes avec le codage CRC (Controle de Redondance Cyclique). Ce codage effectue une opération sur les bits à transmettre. Le résultat de cette opération est un octet qui est ajouté aux bits à transmettre. Il fait partie de la soustrame d'un trajet de latence et entre dans les bits de surdébit de trame. Après démodulation, le modem récepteur fait la même opération et compare l'octet calculé avec l'octet reçu. Tout écart entre les deux octets révèle un ou plusieurs bits erronnés à l'issue de la transmission. Si le CRC signale un écart, alors 1 des compteurs géré par chaque récepteur est incrémenté de 1. Ce compteur augmente donc toujours et n'est remis à zéro qu'au retour de l'alimentation du modem dans lequel il est implanté (mémoire volatile) ou au dépassement de sa capacité (overflow). Le compteur de CRC cumule le nombre de soustrame adsl ayant au moins un bit erronné lors de la transmission. Le résultat affiché sur nos télés est, je pense, la somme du contenu des trois compteurs

Avec l'introduction de DslSafe (alias PhyR) toute erreur de trame détectée par le codage CRC lance la demande de répétition de la trame adsl concernée.

La détection et la correction des erreurs de transmission sont présentes dans les modes entrelacés (interleaved) avec le codage FEC (Forward Error Correction). En adsl le process FEC utilise le codage de Reed-Solomon (R-S) qui porte le nom de ses auteurs. Ce codage repose sur des bases mathématiques d'un abord peu aisé dont je ne dirai rien ... Le résultat de ce codage c'est de 0 à 16 octets supplémentaires ajoutés aux bits à transmettre d'une soustrame, selon sa longueur.

Le modem récepteur, grâce aux octets RS ajoutés et à du calcul, est capable de détecter et de corriger des bits erronnés dans chaque soustrame. Tous les bits erronnés ne sont pas corrigés. Pour ce faire il faudrait utiliser encore plus d'octets R-S.

Le codage R-S est mis en oeuvre à l'émision avant le codage CRC et le contraire à la réception. C'est la raison pour laquelle le codage CRC détecte des sous-trames erronnées dans lequelles tous les bits n'ont pas été corrigé.

De même que pour le codage CRC un compteur est incrémenté d'une unité chaque fois qu'un bit au moins est détecté en erreur dans une soustrame. Je présume, de la même manière que pour le CRC, que le compteur FEC affiché sur nos télés est la somme des 3 compteurs de soustrame

Je vous conseille de regarder en temps réel l'évolution de votre compteur de FEC. En général on constate qu'il avance par bond et sa valeur reste inchangée dans l'intervalle entre deux bonds. Une ligne qui montre une augmentation continue du compteur de FEC est une ligne de mauvaise qualité.

Si les erreurs de transmission n'étaient dues qu'au bruit pris en compte dans le calcul du SNR on n'aurait des erreurs liées au taux d'erreur de bit assumé par le procédé adsl soit 1 bit en erreur sur 10 million. Par exemple une trame adsl de 2500 bits soit un débit en ligne de 10 000 000b/s aurait une erreur de transmission par seconde à marge nulle. Mais comme la marge n'est pas nulle on ne le constate pas. Les bonds sont dus à un autre type de bruit : le bruit impulsif. Ce bruit se manifeste de façon imprévisible et a une durée qui, en général, affecte plusieurs dizaines voire centaines de trames consécutives, d'où les bonds du compteur de FEC.

Une remarque supplémentaire sur les contenus respectifs des compteurs de FEC et de CRC. Comme on l'a vu ci-dessus, seules les soustrames dans lesquelles le codage R-S n'a pas pu corrigé toutes les erreurs de transmission ont une erreur de CRC. Il est donc correct d'avoir le contenu du compteur de FEC très grand par rapport à celui du compteur de CRC. Ce qui montre l'efficacité du process FEC.

Le contenu du compteur de FEC peut-être utilisé comme indicateur de qualité de la connexion vis-à-vis des bruits impulsifs. On utilise à cet effet l'accroissement, durant une période bien définie, du compteur de FEC et on le compare à l'accroissement maximun qu'il pourrait prendre durant la même période. Je préconise de prendre la journée comme durée de relevé. Comme les bruits impulsifs sont totalement imprévisibles et ne sont pas répartis uniformément, il est recommandé de prendre une durée assez longue d'au moins 24 heures pour lisser la variabilté de l'accroissement. L'accroissement maximum que peut prendre le contenu du compteur de FEC est aisément calculable si on se rappelle qu'il y 4000 trames adsl par seconde, 3600 secondes dans l'heure, 24 heures dans une journée et que le compteur ne peut prendre que 3 unité au maximum par trame :
Accroissement maximum du compteur de FEC par jour = 4000 * 3600 * 24 *3 = 1 036 800 000.

Voici à titre d'exemple des relevés faits sur ma connexion :

fec_adsl

L'accroissement moyen du contenu du compteur de FEC par jour est de 365 000 soit 0,035% du maximum possible. Je considère cette valeur comme correcte et représentative d'une connexion peu perturbée par les bruits impulsifs.

Nota : J'ai tracé l'accroissement journalier du compteur de FEC par rapport au nombre de cellules ATM reçues par jour. Le compteur de cellule ne comptabilise que les cellules ATM non vides. C'est la raison pour laquelle les deux quantités sont pratiquement indépendantes l'une de l'autre. Comme le contenu du compteur de cellule ATM n'est pas reporté sur la télé, si vous voulez tracer de tels graphes, mettez les jours en abcisses.

Il reste un compteur, le compteur HEC. HEC (Header Error Control) se trouve au niveau du protocole ATM qui n'entre donc pas dans le cadre de cette visite. Il faut remarquer que comme le CRC, le HEC subit les effets bénéfiques de la correction FEC. Le contenu de son compteur est donc aussi beaucoup plus faible que celui du compteur de FEC.

Cette rubrique achève notre visite du procédé adsl.


Retour