Deuxième théorème de Shannon

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

En théorie de l'information, le deuxième théorème de Shannon dit de codage canal montre qu'il est possible de transmettre des données numériques sur un canal même bruité presque sans erreurs à un débit maximum calculable. Ce résultat publié par Claude Shannon en 1948 est fondé sur des travaux antérieurs de Harry Nyquist et Ralph Hartley. La première preuve rigoureuse fut établie par Amiel Feinstein en 1954. D'une importance fondamentale en théorie de l'information, il possède de larges applications dans les domaines des télécommunications et du stockage d'information.

La limite ou capacité de Shannon d'un canal est le débit théorique maximal de transfert d'information sur ce canal pour un certain niveau de bruit.

Introduction[modifier | modifier le code]

L'un des principaux avantages de la technologie dite numérique est l'échange de données sans perte d'information. Néanmoins, ces données transitent la plupart du temps sur des canaux non-fiables, car subissant diverses interférences et donc bruités. Comment, peut-on alors éliminer les erreurs de transmission ? La solution consiste à introduire une redondance dans le message émis par la source afin de corriger des erreurs. On parle d'encodage de voie par un code correcteur.

Le théorème montre que pour des sources dont le débit est plus faible qu'une certaine capacité liée au canal de transmission, il existe des codes tels que, au décodage, le taux d'erreurs soit aussi faible que voulu.

Souvent, les symboles étant émis sur une durée fixée, on substitue l'entropie d'une source à son débit en bit/s. Il en est de même pour la capacité d'un canal qui peut-être un débit ou une information mutuelle (d'où une certaine confusion). Cette dernière est déterminée par les caractéristiques physiques du canal. Le théorème de Shannon–Hartley donne par exemple la capacité d'un canal à bande limitée subissant un bruit Gaussien (voir signal sur bruit).

Il est à noter que pour annuler le taux d'erreurs, les diverses preuves font tendre fortement la longueur des mots de code vers l'infini. Ainsi si le théorème permet de trouver de tels codes, il ne donne pas d'algorithmes de décodage de complexité algorithmique satisfaisante. Aujourd'hui, les turbo codes convolutifs ou les codes LDPC (Low-density parity-check) permettent de transmettre des signaux dont l'entropie approche la capacité du canal tout en restant décodable en temps réel[1].

Précisions[modifier | modifier le code]

Une source discrète émet chaque symbole d'un alphabet prédéfini avec une certaine fréquence. Formellement, elle agit comme une variable aléatoire discrète suivant une loi de Bernouilli S. Un encodage E est une même variable telle que l'entropie conditionnelle H(S|E) soit nulle (pas de pertes ni de gain d'information).

Un canal de transmission est une fonction f sur l'ensemble de ces variables aléatoires. Le vocabulaire d'entrée et de sortie remplace celui d'antécédent et d'image. La capacité du canal est donnée par :

C = \sup_{\mathcal{D}_f} I(X,f(X))

I désigne l'information mutuelle.

Théorème[modifier | modifier le code]

Notations préliminaires[modifier | modifier le code]

On note :

  • X l'ensemble des entrées \textbf{x} admissibles du canal.
  • Y l'ensemble des sorties \textbf{y} admissibles du canal.
  •  C la capacité du canal sans mémoire.
  • p(\textbf{y}|\textbf{x}) les probabilités de transition du canal discret sans mémoire (probabilité d'observer \textbf{y} après avoir entré \textbf{x}).

Le décodage s'effectue au sens du maximum de vraisemblance c'est-à-dire qu'on décide le mot \textbf{x} si :

\forall \textbf{x}'\neq \textbf{x}, p(\textbf{y}|\textbf{x}) > p(\textbf{y}|\textbf{x}')

Énoncé[modifier | modifier le code]

Pour un taux constant R < C, il existe une suite de codes qui annule la probabilité d'erreur.

Preuve pour un code en blocs[modifier | modifier le code]

Majoration de la probabilité d’erreur pour un mot[modifier | modifier le code]

Notons, \Phi_{\textbf{x}}(\textbf{y}) = \begin{cases} 1, & \text{s'il existe un }\textbf{x}'\text{ tel que }p(\textbf{y}|\textbf{x}) > p(\textbf{y}|\textbf{x}')  \\ 0, & \text{sinon}\end{cases}.

La probabilité d'erreur lorsque le mot \textbf{x} est entré vaut :

\mathcal{E}(\textbf{x})=\sum_{\textbf{y}\in Y_n} p(\textbf{y}|\textbf{x})\Phi_{\textbf{x}}(\textbf{y})

Or pour  s > 0 , on a la majoration :

\Phi_{\textbf{x}}(\textbf{y}) \leq \left( \frac{\sum_{\textbf{x}'\neq \textbf{x}} p(\textbf{y}|\textbf{x}')^{\frac{1}{1+s}}}{p(\textbf{y}|\textbf{x})^{\frac{1}{1+s}}} \right)^s

D'où :

\mathcal{E}(\textbf{x})\leq \sum_{\textbf{y}\in Y_n}p(\textbf{y}|\textbf{x})^{\frac{1}{1+s}} \left( \sum_{\textbf{x}'\neq \textbf{x}} p(\textbf{y}|\textbf{x}')^{\frac{1}{1+s}} \right)^s

Ensemble probabilisé de codes[modifier | modifier le code]

Supposons que les mots de codes soient issus de tirages indépendants suivant une loi \mathcal{L}, alors :

\bar{\mathcal{E}}(\textbf{x}) = \mathbb{E}[\mathcal{E}(\textbf{x})] \leq \mathbb{E}\left[\sum_{\textbf{y}\in Y_n}p(\textbf{y}|\textbf{x})^{\frac{1}{1+s}} \left( \sum_{\textbf{x}'\neq \textbf{x}} p(\textbf{y}|\textbf{x}')^{\frac{1}{1+s}} \right)^s\right]

Par linéarité de \mathbb{E} :

\bar{\mathcal{E}}(\textbf{x}) \leq \sum_{\textbf{y}\in Y_n}\mathbb{E}\left[p(\textbf{y}|\textbf{x})^{\frac{1}{1+s}} \left( \sum_{\textbf{x}'\neq \textbf{x}} p(\textbf{y}|\textbf{x}')^{\frac{1}{1+s}} \right)^s\right]

Or, les mots de codes sont tirés indépendamment, d'où :

\bar{\mathcal{E}}(\textbf{x}) \leq \sum_{\textbf{y}\in Y_n}\mathbb{E}\left[p(\textbf{y}|\textbf{x})^{\frac{1}{1+s}}\right] \mathbb{E} \left[\left( \sum_{\textbf{x}'\neq \textbf{x}} p(\textbf{y}|\textbf{x}')^{\frac{1}{1+s}} \right)^s\right]

De plus, si  s<1 , x\mapsto x^s est concave et l'inégalité de Jensen donne :

\bar{\mathcal{E}}(\textbf{x}) \leq \sum_{\textbf{y}\in Y_n}\mathbb{E} \left[ p(\textbf{y}|\textbf{x})^{\frac{1}{1+s}} \right] \left( \mathbb{E} \left[ \sum_{\textbf{x}'\neq \textbf{x}} p(\textbf{y}|\textbf{x}')^{\frac{1}{1+s}} \right] \right)^s

Et par linéarité :

\bar{\mathcal{E}}(\textbf{x}) \leq \sum_{\textbf{y}\in Y_n}\mathbb{E} \left[p(\textbf{y}|\textbf{x})^{\frac{1}{1+s}} \right] \left( \sum_{\textbf{x}\neq\textbf{x}'} \mathbb{E} \left[ p(\textbf{y}|\textbf{x}')^{\frac{1}{1+s}} \right] \right)^s

Or :

\forall \textbf{x}'\in X, \mathbb{E} \left[p(\textbf{y}|\textbf{x}')^{\frac{1}{1+s}} \right] = \sum_{\textbf{x}\in X} \mathcal{L}(\textbf{x})p(\textbf{y}|\textbf{x})^{\frac{1}{1+s}}

Donc :

\bar{\mathcal{E}}(\textbf{x}) \leq \left(|X|-1\right)^s\sum_{\textbf{y}\in Y}\left[\sum_{\textbf{x}\in X} \mathcal{L}(\textbf{x})p(\textbf{y}|\textbf{x})^{\frac{1}{1+s}}\right] ^{1+s}

Cette majoration ne dépendant pas de \textbf{x}, il existe un code dont la probabilité d'erreur est majorée par cette même quantité.

Voir aussi[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. (en) Sae-Young Chung, G. David Forney, Jr. (en), Thomas J. Richardson et Rüdiger Urbanke, « On the Design of Low-Density Parity-Check Codes within 0.0045 dB of the Shannon Limit », IEEE Communication Letters, vol. 5,‎ février 2001, p. 58-60 (ISSN 1089-7798, lire en ligne)