Page 35 - CCM_numerique
P. 35

Pour terminer, on peut ajouter :
                                                                  Les codes cycliques comme les codes de Reed-Solomon,
                                                                  corrigent  des erreurs arrivant par paquets ou  par
                                                                  rafales (bursts).
                                                                  Les codes convolutionnels ont de bonnes performances
                                                                  au décodage et la faculté de corriger une plus grande
           Figure 5 : Exemple de schéma logique d’un codeur       quantité d’erreurs isolées.
           convolutionnel non systématique à deux étages
                                                                  Avec des canaux très bruités (Hertziens), pour profiter
          Rappel : Une porte XOR réalise une addition modulo 2.   des avantages des deux types de codages, on peut les
                                                                  concaténer avec un entrelacement entre les deux,
          La  figure  6  montre  le  fonctionnement  d’un  tel  codeur   comme montré sur la figure 7.
                              (3)
          pour un bloc de 4 bits  .







           Figure 6 : Fonctionnement du codeur de la figure 5    Figure 7 : Concaténation d’un code de Reed-Solo-
                                                                 mon et d’un code convolutif avec entrelacement
          Pour chaque bit de donnée, le codeur fournit v bits de   entre les deux
          code (le contenu du registre pour le bit de rang k).
                                                                Nous arrêterons là  sur le  sujet  car le  but  était  de
          ALGORITHME DE DÉCODAGE VITERBI                        comprendre succinctement le principe de la correction
          Le décodage consiste à retrouver le bit d’origine du rang   d’erreurs et pas d’étudier un modem HF.
          k qui a conduit  au  contenu du  registre  à  cet  instant.    Dans le prochain « Comment ça marche ? », nous abor-
          Ce contenu dépend aussi de tous les bits précédant le   derons les systèmes de compressions de données pour la
          rang k (k, k-1, k-2, etc.) jusqu’à l’origine où le registre   transmission de l’audio numérisée.
          contenait v fois zéro. L’algorithme de Viterbi recherche
          tous les chemins possibles  qui ont pu conduire au    La  Rubrique  «  Comment  ça  marche  »  est  une  activité
          contenu  actuel  du  registre  en  retenant  le  plus court.    collective du radio-club F6KRK http://www.f6krk.org
          On refait l’opération à chaque fois, ce qui fait grosso modo   Pour toute correspondance technique concernant cette
          augmenter les calculs proportionnellement au carré du   rubrique : f5nb@orange.fr
          nombre de bits dans le bloc. Quand une erreur n’est pas
          corrigée, du fait même du principe, elle se transforme   Notes :
          en une suite. C’est pourquoi le codage convolutif n’est   1-  Surtout  quand  le  traitement  est  fait  à  l’aide  d’un
          en général jamais employé seul, comme nous allons le     microcontrôleur embarqué.
          voir plus loin.
                                                                2-  Cet  avantage  vaut  surtout  pour  les  CD  et  les  DVD.
          BRÈVE COMPARAISON ENTRE LES CODES                       Pour la radio on peut rencontrer le cas avec du 2FSK
          Voir dans le tableau 1 un résumé des performances pour   (RTTY). Prenons une démodulation avec deux détecteurs
          un code de Hamming et un code convolutif.               d’amplitude à F1 et F2. Nous avons la table de vérité
                                                                  suivante : 00, 01, 10, 11 pour laquelle « 01 » = « 0 » et
                                                                  « 10 » = « 1 ». Pour « 00 » et « 11 », On peut décider de
                                                                  les attribuer soit à « 0 », soit à « 1 ». Cela peut être fait
                                                                  avec un code Reed-Solomon ou à l’aide d’un algorithme
                                                                  particulier.

                                                                3-  En pratique les blocs varient d’une centaine d’octets à
                                                                   quelques milliers.




           Tableau 1 : Performances comparées entre un
           code de Hamming et un code convolutif

          N-B : Ces mesures ont été faites sur un fichier contenant
          une image cartographique N/B non compressée.






                                                          35
   30   31   32   33   34   35   36   37   38   39   40