8.3.3 Matrice génératrice

Au moyen de cette notation, on écrit la forme matricielle d'un mot codé

$\displaystyle \overrightarrow{c}$ = $\displaystyle \overrightarrow{m}$G (8.7)

La matrice G est appelée matrice génératrice. Elle a pour expression générale

G = $\displaystyle \left[\vphantom{\begin{array}{c} \begin{array}{c} \overrightarrow...
...tarrow{v}_{2}\\  \ldots\\  \overrightarrow{v}_{k}\end{array}\end{array}}\right.$$\displaystyle \begin{array}{c} \begin{array}{c} \overrightarrow{v}_{1}\\  \overrightarrow{v}_{2}\\  \ldots\\  \overrightarrow{v}_{k}\end{array}\end{array}$$\displaystyle \left.\vphantom{\begin{array}{c} \begin{array}{c} \overrightarrow...
...tarrow{v}_{2}\\  \ldots\\  \overrightarrow{v}_{k}\end{array}\end{array}}\right]$ = $\displaystyle \left[\vphantom{\begin{array}{cccc} v_{11} & v_{12} & \ldots & v_...
...dots & v_{2n}\\  \vdots\\  v_{k1} & v_{k2} & \ldots & v_{kn}\end{array}}\right.$$\displaystyle \begin{array}{cccc} v_{11} & v_{12} & \ldots & v_{1n}\\  v_{21} &...
...22} & \ldots & v_{2n}\\  \vdots\\  v_{k1} & v_{k2} & \ldots & v_{kn}\end{array}$$\displaystyle \left.\vphantom{\begin{array}{cccc} v_{11} & v_{12} & \ldots & v_...
...dots & v_{2n}\\  \vdots\\  v_{k1} & v_{k2} & \ldots & v_{kn}\end{array}}\right]$ (8.8)


Exemple. Dans le cas des signaux MPEG, la matrice génératrice se ramène à

G = $\displaystyle \left[\vphantom{\begin{array}{ccccccc} 1 & 1 & 0 & 1 & 1 & 0 & 0\\  1 & 1 & 1 & 0 & 0 & 1 & 0\\  1 & 0 & 1 & 1 & 0 & 0 & 1\end{array}}\right.$$\displaystyle \begin{array}{ccccccc} 1 & 1 & 0 & 1 & 1 & 0 & 0\\  1 & 1 & 1 & 0 & 0 & 1 & 0\\  1 & 0 & 1 & 1 & 0 & 0 & 1\end{array}$$\displaystyle \left.\vphantom{\begin{array}{ccccccc} 1 & 1 & 0 & 1 & 1 & 0 & 0\\  1 & 1 & 1 & 0 & 0 & 1 & 0\\  1 & 0 & 1 & 1 & 0 & 0 & 1\end{array}}\right]$ (8.9)

On peut voir les 3 vecteurs $ \overrightarrow{v}_{{1}}^{}$,$ \overrightarrow{v}_{{2}}^{}$,$ \overrightarrow{v}_{{3}}^{}$ ainsi déterminés comme les vecteurs de base d'un sous-espace vectoriel d'un espace vectoriel à 7 dimensions défini à partir du champ binaire ({0, 1}, $ \oplus$ ,×)$ \oplus$ et × représentent respectivement l'addition modulo 2 et la multiplication.
Par exemple, le mot codé pour le message (110) est
$\displaystyle \overrightarrow{c}$ = (110)$\displaystyle \left[\vphantom{\begin{array}{c}
\begin{array}{c}
\overrightarrow...
...
\overrightarrow{v}_{2}\\
\overrightarrow{v}_{3}\end{array}\end{array}}\right.$$\displaystyle \begin{array}{c}
\begin{array}{c}
\overrightarrow{v}_{1}\\
\overrightarrow{v}_{2}\\
\overrightarrow{v}_{3}\end{array}\end{array}$$\displaystyle \left.\vphantom{\begin{array}{c}
\begin{array}{c}
\overrightarrow...
...
\overrightarrow{v}_{2}\\
\overrightarrow{v}_{3}\end{array}\end{array}}\right]$ = 1×$\displaystyle \overrightarrow{v}_{{1}}^{}$ $\displaystyle \oplus$$\displaystyle \overrightarrow{v}_{{2}}^{}$ $\displaystyle \oplus$$\displaystyle \overrightarrow{v}_{{3}}^{}$ (8.10)
  = (1101100) $\displaystyle \oplus$ (1110010) $\displaystyle \oplus$ (0000000) (8.11)
  = (0011110) (8.12)


En prenant toutes les combinaisons possibles pour les éléments du message (il y en a 2k), on génère 2k vecteurs dispersés dans un espace à n dimensions. En d'autres termes, l'effet du code est de répartir 2k messages dans un espace comprenant 2n messages. Plus ces messages seront éloignés entre eux, plus la probabilité de les confondre diminuera et plus la résistance au bruit augmentera. C'est là tout l'enjeu des codes.


Marc Van Droogenbroeck. Tous droits réservés.
2004-06-11