Page 33 - CCM_numerique
P. 33

Comment ça marche ?


          Radio-club F6KRK
          Les transmissions radio numériques


          14 – Correction des erreurs.


          Après avoir vu la détection des erreurs de transmission, nous allons maintenant aborder
          les principales méthodes employées pour les corriger.


          PRÉSENTATION DU PROBLÈME
          Nous avons vu que les transmissions numériques se
          faisaient  par blocs de  données et  qu’une  seule  erreur
          dans le bloc suffisait pour, soit l’ignorer, soit en demander
          la répétition. Dans le cas où peu d’erreurs surviennent,
          il peut être plus rentable d’ajouter quelques données
          supplémentaires pour corriger ces erreurs, en particulier
          pour une transmission du type « Radiodiffusion ».
          On utilise  alors des algorithmes de  détection  et  de
          correction dont les performances se mesurent au rapport   Figure 1 : Organigramme logiciel d’un encodage
          entre le nombre d’erreurs corrigées et le nombre d’octets   de Hamming {12,8}
          ajoutés.
                                                                Les habitués de  la  programmation  sur microcontrôleur
          LES CODES DE HAMMING
                                                                n’auront  aucun mal à  implanter cet  algorithme  dans
          Un code correcteur d’erreur permet de reconstituer le   leur langage. Noter que le résultat est sur 12 bits car le
          message émis même si des erreurs (en nombre limité)   deuxième quartet de AH reste toujours à zéro.
          ont altéré le message, constitué ici de bits {0,1}.   La  figure  2  montre  l’organigramme  de  la  routine  du
          Chaque mot de longueur  m est codé par  un mot de     décodage.
          longueur n avec n > m. Parmi les n bits du mot-codé, m
          bits reproduisent le mot-source, les n-m autres sont les
          bits de correction.
          Le rendement est égal à n/m et l’efficacité est égale à
          (n-m) / m.

          Les codes de Hamming pour lesquels  n = 2 -1 et
                                                      k
          m = n-k, permettent de corriger une erreur. Avec k=3,
          nous avons le code 7-4, avec k=4, le code 15-11 et avec
          k=5 le code 31-26. Le rendement est respectivement de
          57 %, 73 % et 84 %. Mais bien sûr, plus m est grand et plus   Figure 2 : Organigramme logiciel du décodage de
         il risque d’y avoir plusieurs erreurs.                   Hamming {12,8}
         Un bon compromis consiste à prendre k=4.
                                                                A la  sortie  de  la  routine,  le  registre  DL  contient  les
         Les données informatiques sont organisées en blocs     4  bits  du  syndrome.  Si  ce  dernier  vaut  zéro,  alors  il
         d’octets comportant donc 8 bits. Il est alors plus simple   n’y a aucune erreur dans le mot de 12 bits et les 8 lsb
                                        (1)
         pour k=4 de prendre un code 12-8  , composé d’un octet   constituent  l’octet  de  la  donnée. Sinon, la  valeur du
          de donnée plus un quartet de contrôle. Le rendement   syndrome va donner la position du bit erroné dans le mot
          passe de 73 % à 67 %, ce qui n’est pas trop cher payé.  de 12 bits. Après correction de l’erreur dans le fichier des
          Exemple de mise en œuvre (code 12-8) :                données reçues, on effectue un second décodage et si le
                                                                syndrome n’est toujours pas nul, c’est qu’il y a plus d’une
          Elle comprend trois parties : l’encodage, le décodage et   erreur. Alors on remet le mot original dans le fichier en
          la correction éventuelle d’une erreur.                espérant que les erreurs soient dans les 4 bits du mot

          La  figure  1  montre  l’organigramme  de  la  routine   de codage. C’est le contrôle final du bloc à l’aide d’un
          d’encodage.                                           CRC qui tranchera. La figure 3 montre l’organigramme
                                                                logiciel de la correction d’erreur selon cet algorithme.





                                                          33
   28   29   30   31   32   33   34   35   36   37   38