7eme partie/21 :
==============
 
III CODES LINEAIRES :                      
===================

Ils sont constitues de matrices

Exemple : Soit le code (7,4) suivant :
-------

   |  0 1 0  |                 Info utile = Nombre de ligne
   |  1 1 0  |                 Redondance = Nombre de colonne
   |  1 0 0  |
   |  0 1 1  |  (matrice emission)


Soit l'info 1011 (poids faible a gauche)

   |  0 1 0  | x 1 =>  0 1 0             
   |  1 1 0  | x 0 =>  0 0 0 +  (addition exclusive)       
   |  1 0 0  | x 1 =>  1 0 0 +
   |  0 1 1  | x 1 =>  0 1 1 +
                     ___________
                     = 1 0 1    => Redondance (poids faible a gauche)


On transmet donc l'info suivante :  1011 101
                                    <------


A la reception : Soit la matrice de reception suivante

   |  Matrice   |                    | 0 1 0 |
   |  emission  |                    | 1 1 0 |
   |    +       |                    | 1 0 0 |
   |  1 0 0     |     Ce qui donne   | 0 1 1 |
   |  0 1 0     |                    | 1 0 0 |
   |  0 0 1     |                    | 0 1 0 |
                                     | 0 0 1 |


On reoit donc 1011 101   
                |
                |
   | 0 1 0 | x  1  => 0 1 0
   | 1 1 0 | x  0  => 0 0 0
   | 1 0 0 | x  1  => 1 0 0
   | 0 1 1 | x  1  => 0 1 1
   | 1 0 0 | x  1  => 1 0 0
   | 0 1 0 | x  0  => 0 0 0
   | 0 0 1 | x  1  => 0 0 1
                      _____
                      0 0 0 --> Resultat a 000 indique que le mot est bon


Reprenons notre info :
====================
 
  1   0   1   1   1   0   1
  B1  B2  B3  B4  R1  R2  R3  
  
A l'aide de la matrice :

   
    B1     |  0   1   0  |                 
    B2     |  1   1   0  |                 
    B3     |  1   0   0  |         On a : |R1 = B2 + B3
    B4     |  0   1   1  |                |R2 = B1 + B2 + B4
                                          |R3 = B4
             R1   R2  R3




IV CODES CYCLIQUES
==================

NB: Un code cyclique est un code lineaire tel que toute permutation
    circulaire des bits d'un mot redonne un mot du code.
    La connaissance de la matrice identite se ramene a la connaissance
    d'un polynome unique appele G(x) associe a la derniere ligne de la
    matrice. Tout mot d'un code cyclique est multiple de G(x)

NDLR : Bon, j'avoue que ce n'est pas tres clair... De plus ces cours
       ont dix ans d'age et j'ai la memoire qui me fait defaut...
       L'exemple est plus parlant (juste un peu plus loin)



Le CCITT conseille l'utilisation des codes cycliques pour assurer la
protection contre les erreurs en transmission de donnees.
C'est l'avis V41
                 16  12  5
    V41 => G(x)=x  +x  +x +1    (16 bits de redondance)

En pratique :

   INFO / G(x) = RESTE  ==> TRON (RESTE)(INFO)  --->

A l'emission, le processus equivaut a une division polynomial par G(x).
Le reste obtenu est transmis directement en ligne a la suite de l'info.


 (RESTE)(INFO) / G(x) --> Si reste de cette division egal 0 => INFO bonne

A la reception, le processus equivaut a une division par le meme G(x).
En l'absence d'erreur, le reste est nul.




V CORRECTION D'ERREUR :
=====================

 3 principes :
 ------------

a)Arret/attente: ARQ/ACK (Automatic request question / Acknoledge)
---------------

 Emission --> n
 QSL bon => Emission --> n+1
 QSL mauvais => Reemission --> n


b) Transmission continue : ARQ NAK (ARQ negative ACK)
------------------------

Emission --> n1 n2 n3 n4 n5 n3 n4 n5 n6 ...
                            |
                            |
                            +--> L'emetteur reoit "n3 mauvais"


c) Transmission selective :
-------------------------
Reemission uniquement du bloc incrimine

Ex: (n3 mauvais)

Emission --> n1 n2 n3 n4 n5 n3 n6 n7 ...
                             ^

Fin de la 7eme partie/21
