COM105 Communications Numériques et Théorie de l Information Jean-Claude Belfiore, Philippe Ciblat, Michèle Wigger 15 mai 24
Table des matières Introduction générale 1 1 Codage correcteur d erreur 3 11 Introduction 3 12 Modèle de canaux 4 121 Le canal binaire symétrique 4 122 Le canal binaire à effacement 5 123 Le canal gaussien à entrées binaires 5 13 Généralités sur les codes en bloc 5 14 Généralités sur les décodeurs 6 141 Le maximum de vraisemblance 6 142 Correction d erreur 7 143 Détection d erreur 8 15 Codes linéaires en bloc 8 151 Rappel sur les corps finis 9 152 Structure algébrique des codes linéaires 9 153 Paramètres des codes linéaires 10 154 Description du codeur : notion de matrices génératrices 11 16 Décodeur des codes linéaires 13 161 Notion d orthogonalité et de code dual 14 162 Matrice de contrôle de parité 14 163 Notion de syndrome 15 164 Borne de Singleton 15 165 Décodage par syndrome : exemple avec le code de Hamming (7, 4, 3) 16 17 Performances 17 18 Bilan 18 2 Théorie de l information 19 21 Introduction 19 22 Entropie et Information mutuelle 20 221 Entropie 20 222 Entropie conjointe 22 223 Entropie conditionnelle 24 224 Information mutuelle 25 23 Modèle des canaux discrets sans mémoire (DMC) 26 24 Définition et théorème de la capacité pour le DMC 27 25 Expressions analytiques de la capacité de quelques canaux 29 251 Cas du canal binaire symétrique 29 252 Cas du canal binaire à effacement 30 253 Cas du canal gaussien 31 26 Bilan 33 i
3 Modulations numériques 35 31 Introduction 35 32 Canal de propagation 36 33 Description de l émetteur 39 331 Un exemple-jouet (mais réel!) 39 332 Des bits aux symboles d information 40 333 Du signal à temps discret au signal à temps continu 42 34 Description de récepteur 45 341 Du signal à temps continu au signal à temps discret : le filtre adapté 45 342 De l interférence entre symboles : le filtre de Nyquist 48 343 Détecteur optimal 51 35 Performances 55 351 Probabilité d erreur bit pour la M-PAM 55 352 Lien avec le codage correcteur d erreur du chapitre 1 58 353 Lien avec la théorie de l information du chapitre 2 60 354 Lien entre les paramètres de dimensionnement d un système 62 36 Bilan 64 A Quelques preuves relatives au chapitre 3 65 A1 Preuve du résultat 32 65 A2 Preuve du résultat 33 65 A3 Preuve du résultat 312 66
Notations Outils mathématiques : Nombre imaginaire pur : i = 1 Transformée de Fourier : X(f) = FT(x(t)) = t= x(t)e 2πift d t Transformée de Fourier Inverse : x(t) = IFT(X(f)) = f= X(f)e2πift d f Alphabet d une variable aléatoire X : X Loi de probabilité d une variable aléatoire discrète X (prob mass func -pmf-) : x P X (x) Loi de probabilité conjointe d une paire de variables aléatoires discrètes (X, Y ) : (x, y) P XY (x, y) Loi de probabilité conditionnelle d une variable aléatoire discrète X par rapport Ãă une deuxième variable Y = y : x P X Y (x y) Densité de probabilité d une variable aléatoire continue X (prob density func -pdf-) : x p X (x) Densité de probabilité conditionelle d une variable aléatoire continue X par rapport Ãă une deuxième variable Y : x p X Y (x y) Probabilité de l événement ω : Pr(ω) Signaux et suites : Autocorrélation d un signal aléatoire x(t) : r xx (t, τ) = E[x(t + τ)x(t)] Densité spectrale de puissance d un signal aléatoire x(t) : f S xx (f) Variance d une suite aléatoire {s k } k : σ 2 s = E[(s k m s ) 2 ] avec m s = E [ s k ] Puissance moyenne du signal x(t) : P x Codage et modulation : Bits de la source ou Données : {d m } m (typiquement iid Bernouilli de probabilité 1/2) Bits codés : {c m } m Longueur d un mot de code : n (attention, n sera parfois une variable muette de sommation mais cela ne devrait créer aucune ambiguïté) Nombre de bits d information dans un mot de code : k (idem, k sera parfois une variable muette de sommation mais cela ne devrait créer aucune ambiguïté) Rendement d un code correcteur d erreur : R = k/n Symboles émis : {s k } k Signal émis : x(t) = k s kg(t kt s ) Filtre de mise en forme : g(t) Durée d un symbole : T s Temps-bit : T b Débit (bit utile) : D b = R/T b Signal reçu : y(t) = x(t) + b(t) Bruit blanc gaussien de moyenne nulle et de niveau spectral N 0 /2 : b(t) Filtre de réception : g r (t) Signal après filtrage de réception : z(t) = (y g r )(t) Signal après échantillonnage : z k = (y g r )(kt s ) (quand g g r satisfait le critère de Nyquist, z k = s k +w k avec w k une gaussienne iid de moyenne nulle et de variance N 0 /2) Théorie de l information Entropie d une variable aléatoire X : H(X) Entropie conditionelle d une variable aléatoire X sachant Y : H(X Y ) Entropie jointe d une paire de variable aléatoires (X, Y ) : H(X, Y ) Fonction d entropie binaire : H b ( ) Information mutuelle de X et Y : I(X; Y )
Capacité de canal : C Paramètres du système : Largeur de bande : B Facteur d excès de bande : ρ Energie par symbole : E s Energie par bit utile : E b Probabilité d erreur symbole : P e Probabilité d erreur bit : P b Rapport Signal-à-Bruit (RSB) : RSB = 2E s /N 0
Abréviations BEC : Binary Erasure Channel Canal Binaire à Effacement BER : Bit Error Rate Taux d Erreur Bit BSC : Binary Symmetric Channel Canal Binaire Symétrique DMC : Discrete Memoryless Channel Canal Discret sans Mémoire FEC : Forward Error Correction Code Correcteur d Erreur FT : Fourier Transform Transformée de Fourier IFT : Inverse Fourier Transform Transformée de Fourier Inverse iid : Independent and identically distributed indépendant et identiquement distribué ISI : Intersymbol Interference Interférence Entre Symboles MIMO : Multi-Input Multi-Output Antenna Multi entrées- Multi sorties OOK : On-Off Keying Marche-Arrêt PAM : Pulse Amplitude Modulation Modulation d Amplitude QoS : Quality of Service Qualité de Service SIMO : Single-Input Multi-Output Antenna Une entrée - Plusieurs sorties SNR : Signal-to-Noise Ratio Rapport Signal-à-Bruit
Introduction générale Sur la figure 1, nous avons représenté sur un même schéma un ensemble de réseaux de communication ayant des supports très différents (DVD, câble de cuivre, fibre optique, sans fil) et offrant des fonctionnalités très différentes : téléphone, transfert de données, flux vidéo (video streaming, en anglais), télévision, stockage dans des centres de données (data centers, en anglais) D autres supports de communication, non dessinés sur la figure 1, existent tels que la clef USB, les molécules (via les communications moléculaires), le système cérébral (que certains chercheurs tentent d expliquer via les principes et outils de communications numériques), etc Satellite Wifi DVD Téléphone 2G/3G/4G Fibre optique Paire de cuivre/câble Figure 1 Un ensemble de réseaux de communication Néanmoins tous ces éléments ont un point commun : les données sont numérisées et doivent être transmises à travers un canal de propagation Le domaine des communications numériques regroupe de ce fait les problématiques suivantes comprimer transmettre sauvegarder l information de manière fiable avec un coût faible (par coût, on peut entendre, consommation énergétique, occupation spectrale, complexité raisonnable, etc) Dans ce polycopié, afin de simplifier, nous allons nous intéresser uniquement à des communications dites point-à-point, c est-à-dire, entre un seul émetteur et un seul récepteur Nous passerons donc sous silence la dimension multipoints-à-multipoints de tout réseau de communication, c est-à-dire, quand plusieurs utilisateurs sont présents dans le système ou bien que le réseau a plusieurs flux de données à gérer de manière simultanée Cette dimension «réseau» des communications numériques est évidemment abordée dans les cours du cycle Master (COM223, COM224, COMMDI225, COM344 et COM345) et la recherche académique ainsi qu industrielle est actuellement très active sur cette dimension En effet, les outils et techniques développés en communications numériques point-à-point offrent des perspectives très prometteuses pour optimiser les réseaux dans leur entier Historiquement, la stratification OSI a découplée les deux domaines : la science des communications numériques développe les technologies pour bien transmettre UN paquet ; la science des
2 Introduction générale réseaux apprend à manipuler efficacement LES paquets Ce découplage est en fait clairement sous-optimal et tend à s estomper dans les systèmes en voie de standardisation La conséquence en est l insertion de plus en plus forte des techniques de communications numériques dans le cœur des réseaux Comme déjà dit, ce polycopié offre seulement quelques prolégomènes à l étude des communications numériques Classiquement, les communications sont subdivisées en trois sous-domaines que nous retrouvons dans notre découpage en trois chapitres : Dans le chapitre 1, vous apprendrez comment protéger les données contre des erreurs éventuelles via l outil du codage correcteur d erreur Dans le chapitre 2, vous apprendrez que les communications numériques ont des performanceslimites (par exemple, en terme de débit) via l outil de la théorie de l information Vous définirez en autre la notion (de quantité) d information Dans le chapitre 3, vous apprendrez à envoyer et recevoir les données protégées sur les supports de communication (qui peuvent être de tout type : fibre, câble, atmosphère, etc) via l outil des modulations numériques Tout chapitre se termine par une section, dite «Bilan», dans laquelle nous synthétisons dans deux boîtes les concepts de base à retenir et les savoir-faire à acquérir (qui sont en lien avec les TDs) De plus quelques perspectives seront données afin de vous donner quelques idées sur les cours associés du cycle Master et les thématiques de recherche actives sur le sujet
Chapitre 1 Codage correcteur d erreur 11 Introduction Qu est-ce-que le codage dit correcteur d erreur? A quoi cela sert-il? Avant de commencer à détailler les principes du codage correcteur d erreur, il faut fixer la terminologie Pour cela, examinons d un peu plus près le contexte d utilisation du codage correcteur d erreur En fait, ce qualificatif «correcteur d erreur» renvoie uniquement au cas où on l associe à une application générant des erreurs qu il faut réduire ou même éliminer Mais corriger des erreurs représente un scénario qui est devenu, avec le temps, bien minoritaire par rapport à tout ce qu un code correcteur d erreur peut faire Car il peut aussi remplir des effacements (décider si un bit effacé est égal à 0 ou à 1) Il peut aussi éventuellement réduire les effets du bruit et tant d autres choses C est pour cela qu il vaut mieux l appeler «codage de canal» en lieu et place de «codage correcteur d erreur» car il est fondamentalement utile et même nécessaire pour limiter les effets néfastes du canal de transmission Il est temps maintenant de donner une terminologie détaillée liée au codage Pour cela, on se sert de la figure 11 qui donne une idée simple de l architecture d un système de communication lorsqu on s intéresse de plus près au codage Source Codeur Canal Décodeur Destinataire Figure 11 Schéma général d un système de communication codé 1 Un code est l ensemble des mots qui sont susceptibles d être émis et donc de passer à travers le canal 2 Un codeur est une bijection entre un ensemble de bits qui représente les données que l on veut transmettre et les mots de code effectivement transmis 3 Un décodeur retrouve, à partir de la sortie du canal, les données transmises avec une grande probabilité Exemple 11 Considérons un code à répétition C = {(000), (111)} Il contient deux mots de code La table 11 donne la correspondance entre les données que l on veut transmettre et les mots de code qui seront effectivement transmis à travers le canal Le code ne comportant que deux mots, il suffit de log 2 (2) = 1 bit d information pour les étiqueter Données Mot de code 0 000 1 111 Table 11 Codeur du code à répétition de longueur 3 Ce chapitre sera organisé de la manière suivante : en section 12, nous introduisons quelques modélisations de canaux, c est-à-dire, des distorsions qui peuvent intervenir sur les données transmises Ces modèles ont une justification pratique qui sera donnée dans le chapitre 3
4 Codage correcteur d erreur en section 13, nous introduisons la notion de code correcteur d erreur avec notamment la notion essentielle de distance minimale (de Hamming) en section 14, nous présentons de manière très générale quelques résultats fort utiles de la théorie de la détection et les appliquons à la problématique de décodage de codes correcteur d erreur en section 15, nous nous intéressons aux codes en bloc linéaires qui sont une classe très répandue de codes car offrant des facilités de manipulations tant pratique que théorique en section 16, nous présentons une technique de décodage de codes en bloc linéaires qui s appelle l algorithme du syndrome en section 17, nous analysons théoriquement les performances des codes Les résultats obtenus dans cette sectino prendront tout leur sens avec leurs applications à des systèmes pratiques données à la sous-section 352 du chapitre 3 En section 18, nous faisons un bilan de ce chapitre en rappellant les éléments essentiels à retenir et les outils à maîtriser 12 Modèle de canaux Il existe plusieurs modèles de canaux Chaque modèle correspond à une vision simplifiée de systèmes de communication pratiques Nous présentons ici trois de ces modèles de canaux parmi les plus emblématiques Chacun de ces modèles représente une version simplifiée de ce qui est rencontré en pratique La variable aléatoire (notée X) que l on trouve à l entrée du canal représente seulement un bit transmis 121 Le canal binaire symétrique Ce canal introduit des erreurs sur les bits transmis La probabilité qu il y ait une erreur est une constante notée p et ne dépend ni du bit émis ni du passé Sur la figure 12 on peut voir un schéma d un tel canal que 1 p 0 0 p p 1 1 p 1 Figure 12 Canal binaire symétrique l on note aussi BSC (acronyme venant de l anglais Binary Symmetric Channel ) La variable d entrée X est une variable aléatoire binaire, de même que la variable aléatoire de sortie Les paramètres qui étiquettent les transitions du canal sont appelés «probabilités de transition» Elles correspondent respectivement aux définitions suivantes : Pr {Y = 0 X = 0} = Pr {Y = 1 X = 1} = 1 p Pr {Y = 0 X = 1} = Pr {Y = 1 X = 0} = p où on remarque que les probabilités d erreur ne dépendent pas des symboles transmis Notez qu on peut toujours supposer que p 1/2 Si ce n est pas le cas, il suffit de changer, à la sortie du canal, tous les 0 en 1 et les 1 en 0
Généralités sur les codes en bloc 5 122 Le canal binaire à effacement Ce canal n introduit aucune erreur Par contre, il efface certains bits avec une certaine probabilité La figure 13 donne un schéma de ce canal 0 1 ǫ 0 ǫ ǫ 1 1 1 ǫ Figure 13 Canal binaire à effacement On remarquera que la variable aléatoire de sortie du canal Y prend ses valeurs dans un alphabet ternaire {0, 1, } où représente l effacement Ce canal est souvent utilisé comme modèle pour pour les réseaux L effacement modélise alors les pertes de paquets 123 Le canal gaussien à entrées binaires Ce canal enfin modélise la couche physique lorsqu une modulation binaire est utilisée De plus amples justifications ne pourront en fait être données qu au chapitre 3 La variable d entrée X est supposée binaire à valeurs dans {0, 1} Quant à la variable de sortie Y, elle est à valeurs continues dans R Elle est reliée à X par l équation suivante : Y = ( 1) X A + W où A est l amplitude utilisée pour transmettre le bit et W est une variable aléatoire gaussienne centrée Ce canal modélise la couche physique d un système de communication utilisant la modulation 2-PAM (Pulse Amplitude Modulation) décrite dans le chapitre 3 13 Généralités sur les codes en bloc Dans ce polycopié, nous allons nous intéresser uniquement aux codes en bloc Ces codes sont utilisés (parfois couplés avec d autres types de codes) dans tous les systèmes actuels (2G, 3G, 4G, ADSL, TNT, etc) Pour définir un tel code, il faut d abord se donner un alphabet Dans les cas pratiques, cet alphabet sera principalement (mais pas toujours) l alphabet binaire X = {0, 1} En effet, ayant adopté depuis longtemps la logique binaire, il nous faut transmettre en binaire Définition 11 (Rendement) Le rendement (binaire) d un code en bloc de longueur n, aussi appelé taux de codage, est R = log 2( C ) (11) n où C désigne le nombre de mots du code C Nous remarquons que log 2 ( C ) est le nombre de bits à utiliser pour étiqueter tous les mots de C La distance minimale d un code en bloc est un paramètre très important qui mesure, entre autres, si un code est «bon» ou pas Avant de donner la définition de la distance minimale, nous introduisons la distance de Hamming Elle mesure le nombre de symboles par lesquels deux mots diffèrent On définit tout d abord la distance de Hamming entre deux symboles comme étant égale à 0 si les deux symboles sont identiques et égale à 1 sinon Soient alors les mots x = (x 1, x 2,, x n ) et y = (y 1, y 2,, y n ) La distance de Hamming entre ces deux mots est d H (x, y) = n d H (x i, y i ) i=1
6 Codage correcteur d erreur avec d H (x i, y i ) la distance de Hamming entre les symboles x i et y i La distance minimale d un code en bloc C est la plus petite distance de Hamming entre deux mots distincts de C Définition 12 (Distance minimale) La distance minimale d min du code en bloc C est d min (C) = 14 Généralités sur les décodeurs min d H (x, y) (12) x,y C,x y Le rôle de n importe quel décodeur est de retrouver, à partir de la sortie du canal, les bits qui ont été transmis Le décodage se fait en deux étapes : 1 A partir du mot reçu (qui correspond à celui à la sortie du canal), trouver un mot de code qui paraît être le plus probable (nous verrons que cela a un sens très précis) 2 A partir du mot de code trouvé à l étape 1, en déduire les bits d information qui ont été transmis Commençons par un exemple, celui du code à répétition de longueur 3 sur le canal binaire symétrique Nous supposons que le codeur utilisé est celui du tableau 11 Le canal introduit des erreurs aléatoires indépendantes avec une probabilité p 1/2 Donc la probabilité qu il y ait deux erreurs est p 2, etc Supposons que le décodeur décide en faveur du mot de code le plus proche (au sens de la distance de Hamming) du mot reçu Ce critère est en fait celui qui minimise la probabilité d erreur par mot après décodage comme nous le verrons en sous-section 141 car il favorise le scénario correspondant au moins d erreurs possible Si le mot de code émis est (0 0 0) et que le canal introduit une erreur en position 2, alors le décodeur recevra le mot (0 1 0) Les deux seuls mots de code étant (0 0 0) et (1 1 1), le mot de code choisi par le décodeur sera (0 0 0) car la distance entre ce mot et le mot reçu est égale à 1 alors qu elle est égale à 2 pour le second mot de code Donc, l erreur est décodée Par contre, on peut vérifier que si le nombre d erreurs était égal à 2, alors le décodeur choisirait l autre mot de code et ne parviendrait pas à corriger ces deux erreurs 141 Le maximum de vraisemblance Le critère de décodage le plus utilisé est le critère du maximum de vraisemblance, qui peut être évalué sur tous les modèles de canaux donnés ci-dessus C est un critère très important qui peut être utilisé dans d autres applications que le codage, en fait, dans tout problème de détection (détection d un visage dans une image, détection de symboles au chapitre 3, reconnaissance du locuteur, détection d anomalie, détection de présence, etc) On suppose, dans la suite, que le mot de longueur n émis est le mot x Le mot reçu, après passage dans le canal, est le mot y Xn Canal Y n Décodeur ˆXn Figure 14 Décodage La variable aléatoire qui désigne l entrée du canal est la variable X Le vecteur aléatoire composé de n copies de la variable X sera noté X n De même, la variable aléatoire qui désigne l entrée du canal est la variable Y et le vecteur aléatoire composé de n copies de la variable Y sera noté Y n La figure 14 représente de façon schématique le décodeur avec toutes les variables aléatoires On suppose que la règle de décodage vérifie les propriétés suivantes : L ensemble de tous les vecteurs y pour lesquels le décodeur choisit le mot de code x sera noté Ω x La règle de décodage est une règle déterministe La règle de décodage est celle qui minimise la probabilité d erreur par mot après décodage (ce qui semble raisonnable)
Généralités sur les décodeurs 7 La probabilité d erreur s écrit P e = 1 P c où P c désigne la probabilité de décision correcte par mot après décodage Soit ˆx le mot choisi par le décodeur Il y a décision correcte lorsque ˆx = c où c est le mot de code transmis Nous pouvons à présent calculer P c, P c = Pr {ˆx = c} = x C Pr {ˆx = x c = x} Pr {c = x} Or, le décodeur choisit c si et seulement si y Ω c Nous en déduisons P c = x C Pr {y Ω c c = x} Pr {c = x} = x C p Y n Xn (y, x) Pr {c = x} dy (13) Ω c On voit donc, d après l équation (13), que pour maximiser la probabilité de décision correcte P c, il faut maximiser P Y n Xn (y, x) Pr {c = x} (14) ce qui est, en général, une opération complexe lorsque le nombre de mots de code est élevé La complexité de cette opération est principalement due à la probabilité a priori Pr {c = x} Pour contourner ce problème, on suppose que les mots de code sont tous émis avec la même probabilité Donc, la maximisation de l expression (14) revient à la maximisation de P Y n Xn (y, x) que l on nomme vraisemblance Pour résumer, si les mots de code sont tous émis avec la même probabilité, minimiser la probabilité d erreur par mot après décodage, revient à maximiser la vraisemblance Donc, le décodeur va choisir le mot de code ˆx = arg max P Y x C n Xn (y, x) (15) où arg signifie que le mot décodé est égal au mot de code qui maximise la vraisemblance Cette règle est nommée règle du maximum de vraisemblance Nous développons cette règle ci-dessous dans le cas du canal binaire symétrique illustré dans la figure 12 Dans ce cas, puisque le canal est sans mémoire, la vraisemblance s écrit n P Y n X n (y, x) = P Y X (y i, x i ) Or, P Y X (y i, x i ) = p si y i x i et P Y X (y i, x i ) = 1 p dans le cas contraire Donc on peut écrire, i=1 n P Y n X n (y, x) = P Y X (y i, x i ) i=1 = p dh(y,x) (1 p) n d H(y,x) ( ) dh (y,x) p = (1 p) n 1 p Si p < 1/2, alors on a p/(1 p) < 1 ce qui nous permet de déduire le résultat suivant Résultat 11 Si p < 1/2, le décodeur minimisant la probabilité d erreur par mot pour un canal binaire symétrique revient, en maximisant la vraisemblance, à trouver le mot de code x qui minimise d H (y, x), la distance de Hamming entre le mot reçu et x 142 Correction d erreur Nous nous intéressons ici au nombre d erreur qu un code peut corriger Tout d abord, nous donnons une définition de la capacité de correction d erreur d un code
8 Codage correcteur d erreur Définition 13 On dit qu un code en bloc C corrige t erreurs s il peut corriger toutes les configurations d erreurs dont le nombre est inférieur ou égal à t Supposons maintenant que le canal introduit t erreurs Ceci signifie que, si x est le mot émis et y le mot reçu, alors d H (y, x) = t Que signifie «le décodeur corrige»? Cela veut dire que le mot décodé sera le mot émis x Donc, pour pouvoir décoder x, il faut qu il n y ait aucun mot x dans le code tel que d H (y, x ) t Supposons qu un tel mot x existe La distance de Hamming entre x et x peut être bornée en utilisant l inégalité triangulaire, d H (x, x ) d H (y, x) + d H (y, x ) 2t (16) Supposons maintenant que d min (C) 2t + 1 Alors, la condition (16) ne peut plus être vérifiée, donc un tel x n existe pas, ce qui fait que les t erreurs seront toujours corrigées Nous en arrivons au résultat suivant, Résultat 12 (Capacité de correction d un code) Un code de distance minimale d min peut corriger t erreurs (au sens de la définition 13) si t vérifie où u est la partie entière de u dmin 1 t = 2 Ainsi, pour corriger une erreur simple, il faut une distance minimale au moins égale à 3 Pour 2 erreurs, il faut une distance au moins égale à 5, etc 143 Détection d erreur Les codes correcteurs d erreur sont aussi souvent utilisés pour détecter des erreurs (on les retrouve alors dans plusieurs couches OSI, de la couche MAC à la couche TCP) Lorsqu ils sont utilisés en détection d erreur, le décodage se limite alors à répondre à une seule question : le mot reçu est-il un mot de code? Définition 14 On dit qu un code en bloc détecte t erreurs si et seulement si il peut détecter toutes les configurations d erreurs dont le nombre est inférieur ou égal à t On en arrive rapidement au résultat suivant, Résultat 13 (Capacité de détection d un code) Un code en bloc de distance minimale d min est capable de détecter t erreurs si t vérifie t = d min 1 En effet, le décodeur détecte qu il y a une ou plusieurs erreurs si le mot reçu n appartient pas au code Or, le codeur transmet un mot de code Il y a non détection des erreurs lorsque le mot reçu est un autre mot de code Un autre mot de code étant à une distance de Hamming au moins égale à d min du mot émis, pour pouvoir toujours détecter les erreurs, il suffit que leur nombre reste strictement inférieur à d min 15 Codes linéaires en bloc Les codes linéaires en bloc sont des codes en bloc particuliers Pour les construire, nous avons besoin de plusieurs ingrédients : L alphabet des symboles doit être un corps fini que nous noterons F q La lettre F vient de l anglais field qui désigne la structure algébrique de «corps» q est la taille de l alphabet Un code linéaire en bloc est un espace vectoriel sur F q
Codes linéaires en bloc 9 151 Rappel sur les corps finis Un corps fini est un alphabet fini X muni d une addition et d une multiplication L élément neutre de l addition sera noté 0 et l élément neutre de la multiplication sera noté 1 (X, +) est un groupe fini commutatif et (X \ {0}, ) est un groupe fini qui est d emblée commutatif car tout corps fini est commutatif De plus, la multiplication est distributive pour l addition Le cardinal d un corps fini q est toujours une puissance d un nombre premier, q = p r Si r = 1, alors l addition et la multiplication du corps F p sont définies de la même façon que sur Z/pZ, c est-à-dire, l addition et la multiplication modulo p Les cas où r 1 ne seront pas traités ici 1 Dans toute la suite, nous ne considérerons que le cas binaire F 2, c est-à-dire, le cas où l addition et la multiplication sont celles des entiers modulo 2 Ceci donne lieu aux tables de vérité 12 + 0 1 0 0 1 1 1 0 0 1 0 0 0 1 0 1 Table 12 Addition et multiplication sur F 2 152 Structure algébrique des codes linéaires Dans un code, certes il y a des symboles, mais les véritables éléments d un code en bloc de longueur n sont ses mots Un mot est un vecteur à n composantes sur son alphabet des symboles Dans le cas binaire, et en utilisant F 2 comme l alphabet des symboles, l ensemble des mots binaires de longueur n, noté F n 2 est un espace vectoriel de dimension n tout comme R n est un espace vectoriel de dimension n sur le corps des nombres réels R L addition de deux vecteurs s effectue bien sûr composante par composante Exemple 12 Supposons n = 2 Tout couple binaire peut s écrire comme combinaison linéaire d une base à 2 vecteurs de F 2 2 telle que B = {(1 1), (1 0)} par exemple Ainsi, on obtient (0 0) = 0 (1 1) + 0 (1 0) (1 0) = 0 (1 1) + 1 (1 0) (0 1) = 1 (1 1) + 1 (1 0) (1 1) = 1 (1 1) + 0 (1 0) Maintenant qu est-ce-qu un code linéaire en bloc? Nous savons qu un code en bloc sur un alphabet X est un sous-ensemble de X n, l ensemble des n-uplets dont les symboles sont dans X Un code en bloc linéaire sur F 2 est un code en bloc avec davantage de structure Définition 15 Un code en bloc linéaire binaire de longueur n est un sous-espace vectoriel de F n 2 Comment peut-on vérifier qu un code en bloc est linéaire? Tout d abord, le mot (0 0 0) doit être un mot de code Puis il suffit de vérifier que la somme binaire de deux mots de code est bien un mot de code Examinons de plus près deux exemples Exemple 13 Soit C = {(0 0 0), (1 1 1)} On reconnaît évidemment le code à répétition de longueur 3 Il est facile de vérifier que ce code est linéaire et qu une base de ce code est B = {(1 1 1)} Un autre exemple de code de longueur 3, Exemple 14 Soit C = {(0 0 0), (1 1 0), (1 0 1), (0 1 1)} Il s agit d un code de longueur 3 qui est aussi linéaire On reconnaît un code de parité Une base de ce code est B = {(1 1 0), (0 1 1)} puisque le seul mot de code non nul qui n est pas dans la base B s écrit (1 0 1) = 1 (1 1 0) + 1 (0 1 1) 1 Les codes de Reed-Solomon sont des codes très utilisés dans de nombreux systèmes Ils sont construits, dans la plupart des cas, sur le corps F 256
10 Codage correcteur d erreur 153 Paramètres des codes linéaires Dans le cadre des codes en bloc linéaires, nous allons préciser les paramètres déjà définis précédemment sur les exemples et définir également un nouveau paramètre qu est la dimension du code Définition 16 (Dimension d un code) La dimension d un code en bloc linéaire k est sa dimension en tant que sous-espace vectoriel de F n 2 Nous pouvons maintenant exprimer le rendement d un code en bloc linéaire en fonction de k et n à partir de la définition 11 En tant que sous-espace vectoriel de F n 2, tout mot de code est combinaison linéaire des vecteurs d une base de ce code C étant de dimension k, une base contient k vecteurs e 1,, e k Tout mot de code c s écrit k c = d i e i i=1 avec d i F 2 Il y a donc 2 k mots de code dans un code linéaire en bloc de dimension k En revenant à la définition du rendement donnée dans l équation (11), nous obtenons finalement que R = log 2( C ) n = k n (17) La linéarité du code C nous permet d exprimer la distance minimale du code de façon plus simple Nous revenons tout d abord à sa définition que nous pouvons trouver dans l équation (12) Définissons maintenant le poids de Hamming, Définition 17 (Poids de Hamming) Le poids de Hamming d un mot x est où le mot 0 est le vecteur dont toutes les composantes sont nulles w H (x) = d H (x, 0) (18) Si nous combinons la définition de la distance minimale avec la définition du poids de Hamming, nous obtenons d min (C) = min x,y C,x y d H (x, y) = min x,y C,x y w H (x + y) Or, le code étant linéaire, x + y est aussi un mot de code Nous obtenons finalement, d min (C) = min x C,x 0 w H (x) Ainsi, la recherche de la distance minimale d un code quelconque, en utilisant la méthode exhaustive, demanderait le calcul de C ( C 1) distances de Hamming alors qu elle ne demande plus que le calcul de ( C 1) distances de Hamming dans le cas d un code linéaire Nous verrons par la suite qu il existe une méthode de calcul de la distance minimale d un code linéaire encore moins complexe Analysons les exemples de la sous-section précédente à l aune de ces nouvelles définitions et propriétés Dans l exemple 13, il est facile de voir que d min = 3 puisqu il y a un seul mot de code non nul et il est de poids de Hamming égal à 3 Dans l exemple 14 on peut voir que d min = 2 puisque tous les mots de code non nuls sont de poids de Hamming égal à 2 Dans la suite, un code linéaire C de longueur n, de dimension k et de distance minimale d min sera noté (n, k, d min )
Codes linéaires en bloc 11 Bits d information Codeur Mots du code C Figure 15 Schéma d un codeur 154 Description du codeur : notion de matrices génératrices Jusqu à présent, nous avons essentiellement discuté des codes Un code en bloc binaire de longueur n est un sous-ensemble de F n 2 et si ce code est linéaire, il est aussi un sous-espace vectoriel de F n 2 Il nous reste maintenant à savoir comment associer à une séquence de bits d information (à transmettre) un mot du code C = (n, k, d min ) Ceci est le rôle dévolu au codeur tel décrit dans la figure 15 Le codeur que l on se propose d étudier ici est un codeur linéaire, c est-à-dire, que la somme binaire de deux séquences d information va correspondre à la somme binaire de deux mots de code Pour ce faire, nous choisissons une base du code B = (e 1, e 2,, e k ) Evidemment, il y a plusieurs choix possibles de base pour un code linéaire et tout élément e i de B est aussi un mot de code Nous savons que tout mot c de C peut s écrire c = k d i e i, d i F 2 i=1 L écriture de tout mot de code comme combinaison linéaire des vecteurs de B représente en elle-même un codeur linéaire Ainsi, à chaque base B de C correspond un codeur linéaire La figure 16 représente un schéma d un tel codeur d 1, d 2,, d k B k i=1 d ie i Figure 16 Codeur linéaire Afin de faciliter l écriture d un codeur et, éventuellement, de choisir un codeur particulier bien adapté à l application visée, il est intéressant d écrire le codeur sous forme matricielle Pour ce faire, nous changeons de notation La nouvelle notation, introduite ci-dessous, restera valable jusqu à la fin de ce chapitre Tous les vecteurs vont être représentés par des matrices ligne (il s agit de la convention habituellement utilisée en codage) Nous introduisons ici quelques notations utiles par la suite : 1 Un mot d information D est une matrice ligne à k colonnes D = (d 1 d k ) 2 Un mot de code C est une matrice ligne à n colonnes C = (c 1 c n ) 3 Une matrice génératrice G est une matrice à k lignes et n colonnes Définition 18 (Matrice génératrice) Soit B = (e 1, e 2,, e k ) une base du code C On appelle matrice génératrice du code C toute matrice G à k lignes et n colonnes qui s écrit sous la forme, G = Tout mot de code C peut s écrire alors (nous rappelons, en indice, les dimensions de chaque matrice pour montrer leur cohérence) C 1 n = D 1 k G k n où D est le mot d information qui, après passage dans le codeur, donnera le mot de code C Evidemment, G est une matrice de rang k puisque la base B engendre le code C, sous-espace vectoriel de dimension k e 1 e 2 e k
12 Codage correcteur d erreur Exemple 15 Reprenons l exemple 14 du code de parité de longueur 3 Une base B de ce code peut être B = {(1 1 0), (0 1 1)} Donc la matrice génératrice correspondante est [ ] 1 1 0 G = 0 1 1 Pour un code linéaire donné, C, et parmi toutes les matrices génératrices possibles, il en est une qui est très fréquemment (presque toujours) utilisée Il s agit de la matrice génératrice systématique Pour bien comprendre ce qu elle est, il nous faut, tout d abord, introduire la notion de codes équivalents Soient C 1 et C 2 deux codes de même longueur n On dit que C 1 est équivalent à C 2 si et seulement si il existe une permutation des composantes σ telle que, à tout mot x du code C 1 correspond un mot y du code C 2 vérifiant, (y 1, y 2,, y n ) = ( x σ(1), x σ(2),, x σ(n) ) Evidemment, C 1 et C 2 ont la même dimension, la même distance minimale,, et seront en fait considérés comme deux codes identiques Soit maintenant G une matrice génératrice du code C Donc G correspond à une certaine base B Une autre matrice génératrice G, du même code, correspond à une autre base B du même sous-espace vectoriel Les lignes de la matrice génératrice sont les vecteurs de la base choisie Puisque tout changement de base se fait en remplaçant les vecteurs de la base par des combinaisons linéaires de ces mêmes vecteurs, le changement de matrice génératrice se fait en remplaçant les lignes par des combinaisons linéaires de ces mêmes lignes De plus, on s autorise à changer de code si le nouveau code est équivalent au premier Or, passer d un code à un code équivalent à celui-ci revient à trouver une permutation des composantes des mots de code En terme de matrice génératrice, ceci est équivalent à permuter les colonnes de G Pour résumer, deux opérations sont permises sur la matrice génératrice G pour trouver une autre matrice génératrice : Combinaisons linéaires de lignes Permutations de colonnes Or, il existe un algorithme (le pivot de Gauss) qui s autorise ces manipulations sur une matrice quelconque et dont la sortie est la forme réduite de la matrice sous forme échelonnée Si le rang de la matrice initiale est k (ce qui est notre cas, puisque G engendre un sous-espace de dimension k), alors la matrice échelonnée obtenue en sortie de l algorithme sera la suivante [ Ik P k (n k) ] où I k est la matrice identité de rang k et P est une matrice dépendant du code considéré Cette forme échelon est la matrice génératrice systématique du code C (en fait il s agit bien souvent d un code équivalent à C) Définition 19 (Matrice génératrice systématique) Soit C un code linéaire de longueur n et de dimension k On appelle matrice génératrice systématique du code C toute matrice obtenue à la sortie du pivot de Gauss appliqué à une matrice génératrice G quelconque du code C La matrice génératrice systématique est sous la forme G s = [ I k P k (n k) ] où P dépend du code C Une matrice génératrice systématique permet en fait de simplifier le codeur et le décodeur de C Examinons ici le codeur (sous forme systématique) Si D est le mot d information en entrée du codeur systématique, alors le mot de code en sortie sera C = D G s = D [ ] I k P k (n k) = D }{{} information D P k (n k) } {{ } parité Ainsi si on utilise un codeur systématique, le mot de code correspondant à D comporte deux parties Les k premiers bits sont les bits d information (égaux aux bits du mot d information D) alors que les (n k) bits
Décodeur des codes linéaires 13 restants dépendent de D et du code et sont appelés bits de parité En pratique, (n k) est petit devant n Le codeur ne doit plus calculer que (n k) bits au lieu de n pour un codeur quelconque Exemple 16 (Code de parité) On appelle code de parité binaire de longueur n un code binaire de longueur n dont les mots sont tous les n-uplets binaires de poids de Hamming pair Ce code C est linéaire car 1 Le mot 0 est un mot de poids pair donc 0 C 2 La somme de deux mots de poids pair est un mot de poids pair La dimension de ce code est assez simple à calculer En effet, il y a en tout 2 n n uplets binaires La moitié de ces mots est de poids pair Il y a donc 2 n /2 = 2 n 1 mots de poids pair Donc C = 2 n 1, ce qui donne une dimension k = n 1 La distance minimale de ce code, qui est le plus petit poids non nul possible est d min = 2 Le code de parité binaire de longueur n a donc pour paramètres (n, n 1, 2) Calculons maintenant sa matrice génératrice systématique On sait qu elle est de la forme G s = I n 1 Or chaque ligne de G s est un mot de code Le nombre de 1 est pair Les x à remplir sont donc tous égaux à 1 On obtient donc, 1 0 0 1 0 1 0 1 G s = 0 0 1 1 16 Décodeur des codes linéaires Nous rappelons tout d abord le rôle d un décodeur Le décodeur reçoit des mots du code passés à travers un canal de transmission Ainsi, si le canal est un canal binaire symétrique, le décodeur recevra des mots de code entachés d erreurs aléatoires Si le canal est un canal binaire à effacement, le décodeur recevra des mots de code dont certains bits sont effacés, etc Le décodeur est une boîte noire dont l entrée est le mot de code «bruité» sortant du canal et la sortie est un mot d information qui peut être le mot d information transmis ou pas La figure 17 donne un schéma fonctionnel du décodeur x x x x Mots de code bruités Décodeur Bits d information Figure 17 Schéma de base du décodeur De façon plus détaillée, le décodage s effectue en deux étapes Tout d abord le décodeur trouve, parmi tous les mots de code, le mot qui maximise la vraisemblance car nous ne considérons ici que le décodeur optimal minimisant la probabilité d erreur Ensuite, à partir de ce mot de code, le décodeur en tire les bits d information Si le codeur est systématique, alors les bits d information sont tout simplement les k premiers bits du mot de code trouvé Ici aussi, on voit que la forme systématique permet de simplifier le passage du mot de code au mot d information Il n y a pas de matrice à inverser La figure 18 donne un schéma d un tel processus Mot de code bruité Maximum de vraisemblance Mot de code Vers l information Mot d information Figure 18 Schéma détaillé du décodeur L algorithme 1, plus détaillé, est donné en pseudo-code Cependant, la recherche de mots le plus proche
14 Codage correcteur d erreur Algorithm 1 Décodage sur canal binaire symétrique 1: procedure Décodage(y) Décodage de y sur BSC 2: if y C then 3: ĉ y 4: Goto 9 5: else 6: Goto 8 7: end if 8: ĉ arg min c C d H (c, y) Maximum de vraisemblance 9: return D = ĉ[1 : k] Les k premiers bits sont les bits d info 10: end procedure ne peut pas se faire, en pratique, de façon exhaustive Par exemple, dans les standards de TV numérique non HD, les codes utilisés sont des codes de Reed-Solomon dont le nombre de mots est 256 144 10 115 A titre de comparaison, la partie visible de notre univers contiendrait environ 10 80 atomes!! Il nous faut donc trouver des algorithmes qui effectuent cette recherche de mot de code le plus proche de y de façon la plus efficace possible Une discussion analogue sur la complexité de l approche exhaustive est menée dans d autres cas de figure dans la sous-section 343 161 Notion d orthogonalité et de code dual Nous reprenons la notation «matrice ligne» des vecteurs Deux mots X et Y de longueur n sont dits orthogonaux si et seulement si n X Y = x i y i = 0 i=1 Attention, les symboles sont dans F 2 et l orthogonalité ici est bien différente du cas de l espace euclidien Tout mot de poids de Hamming pair est orthogonal à lui-même! Soit C un code linéaire de longueur n et de dimension k Le code dual de C, que l on note C, est l ensemble des mots de longueur n orthogonaux à tous les mots de C Il s agit d un code linéaire de longueur n aussi et de dimension n k Mais contrairement au cas de l espace euclidien, le code dual peut avoir une intersection non nulle avec le code primal Ainsi, il existe aussi des codes auto-duaux, c est-à-dire, des codes qui vérifient C = C A titre d exercice, vous pouvez vérifier que le code dual d un code de parité de longueur n est tout simplement le code à répétition de longueur n 162 Matrice de contrôle de parité Définition 110 (Matrice de contrôle de parité) Soit C un code de longueur n et de dimension k Une matrice de contrôle de parité de C est toute matrice H qui est matrice génératrice de C Ainsi H est une matrice à n k lignes et n colonnes Soit G une matrice génératrice de C Toute matrice H de rang n k, à n k lignes et n colonnes, qui vérifie 2 G k n H n (n k) = 0 k (n k) (19) est une matrice de contrôle de parité de C L idée de la preuve de ce résultat est la suivante : Tout mot de C s écrit D G où D est un mot d information, c est-à-dire une matrice ligne à k colonnes Tout mot de C s écrit D H où D est un mot d information, c est-à-dire une matrice ligne à n k colonnes Tout mot de C est orthogonal à tout mot de C, On en déduit donc G H = 0 D G H D = 0, D, D 2 Les indices représentent, comme d habitude, les dimensions des matrices
Décodeur des codes linéaires 15 Il est une matrice de contrôle de parité qui se déduit facilement de la matrice génératrice systématique du code C Il s agit de la matrice de contrôle de parité systématique La matrice génératrice systématique s écrit G s = [ I k P k (n k) ] (110) Définissons la matrice de contrôle de parité systématique, [ ] H s = P(n k) k I n k (111) On constate que H s a (n k) lignes, n colonnes et qu elle est de rang n k De plus, nous avons G s H s = P + P = 0 Donc H s vérifie l équation (19) H s est bien une matrice de contrôle de parité du code C Notez bien que la matrice de contrôle de parité systématique a l identité à droite et non à gauche comme la matrice génératrice systématique 163 Notion de syndrome Nous allons maintenant donner une méthode simple qui permet d implémenter de façon efficace la condition (ligne 2) de l algorithme 1 Nous cherchons à savoir si le mot reçu est un mot de code ou pas Pour ceci, nous pouvons nous aider de la figure 19 C S R C Figure 19 Justification du syndrome : schéma de principe On voit que si le mot reçu est un mot de code, alors la projection orthogonale sur le code dual est égale à 0 Si le mot reçu n est pas dans le code, elle n est pas égale à 0 Cette projection orthogonale du mot reçu est appelée «syndrome» Pour la calculer, il suffit d évaluer les produits scalaires entre le mot reçu et les vecteurs d une base du code dual qui sont les lignes de H Le vecteur évalué sera donné comme combinaison linéaire des vecteurs de la base de C D où la définition suivante, Définition 111 (Syndrome) Soit Y un mot de longueur n quelconque On appelle syndrome la quantité suivante S = Y H où H est une matrice de contrôle de parité de C A partir de l évaluation du syndrome nous pouvons en déduire l appartenance ou non de Y au code C Résultat 14 Y C si et seulement si S Y H = 0 Nous notons que S est un vecteur-ligne à (n k) colonnes 164 Borne de Singleton Dans cette sous-section, nous donnons deux résultats : le premier permet de caractériser d min d un code à travers sa matrice de contrôle de parité Et le second est encore obtenu grâce à l aide de la matrice de contrôle de parité et exhibe une borne entre les trois paramètres définissant un code ce qui prouve que certains paramétrages ne permettent pas de construire des codes
16 Codage correcteur d erreur Résultat 15 Pour tout code linéaire en bloc, d min est égale au plus petit nombre de colonnes dépendantes de H En effet, si les colonnes sont dépendantes, cela veut dire qu il existe un vecteur-ligne non-nul de longueur n, noté X, tel que X H = 0 Or d après le résultat 14, X appartient au code et donc X admet au minimum d min composantes non nulles ce qui finit de prouver le résultat 15 Résultat 16 (Borne de Singleton) Pour tout code linéaire en bloc (n, k, d min ), on a d min n k + 1 Nous allons raisonner par l absurde D après la sous-section 162, on sait que le rang de la matrice H, noté rg, vaut (n k) Supposons que rg < d min 1 Alors on peut contruire un vecteur-ligne de longueur n ayant (rg + 1) composantes non nulles, noté X, tel que X H = 0 et donc tel que X soit un mot de code ce qui est impossible si rg + 1 < d min Donc nécessairement, on a rg + 1 d min ce qui finit de démontrer le résultat 16 165 Décodage par syndrome : exemple avec le code de Hamming (7, 4, 3) A partir de ce code particulier, nous allons montrer comment développer un algorithme de décodage et notamment de correction d erreur grâce à la notion de syndrome Nous définissons tout d abord le type de codes sur lequel nous allons travailler qu est un code de Hamming binaire Définition 112 (Code de Hamming binaire) Soit m 3 un entier Un code de Hamming binaire est un code de longueur 2 m 1 et de dimension 2 m m 1 Sa matrice de contrôle de parité contient, en tant que colonnes, tous les m uplets binaires non nuls (il y en a bien 2 m 1) Nous nous intéressons ici plus particulièrement au cas m = 3 Nous choisissons une matrice de contrôle de parité systématique, par exemple, 1 1 1 0 1 0 0 H s = 0 1 1 1 0 1 0 1 1 0 1 0 0 1 Notons que, en utilisant les équations (111) et (110), H s correspond à la matrice génératrice systématique 1 0 0 0 1 0 1 G s = 0 1 0 0 1 1 1 0 0 1 0 1 1 0 0 0 0 1 0 1 1 Intéressons-nous maintenant au décodage de ce code Pour cela, considérons que nous avons reçu un mot Y qui est une matrice ligne 1 7 Suivons la procédure de décodage donnée dans l algorithme 1 Nous voulons d abord savoir si le mot reçu Y est dans le code ou pas Calculons donc le syndrome S = Y H Puisque ce code est utilisé sur un canal binaire symétrique, alors la sortie du canal est égale au mot de code transmis, éventuellement entaché d erreurs Ceci peut s écrire de la façon suivante, Y = C + E où C est le mot de code transmis et E est le «mot d erreur» Si E s écrit E = (e 1 e 2 e 7 ) alors e i = 0 signifie qu il n y a pas d erreur en position i et e i = 1 signifie qu il y a une erreur en position i En effet, l addition d un 1 change un 0 en 1 et un 1 en 0 Donc l addition d un 1 en position i correspond exactement à une erreur en position i Recalculons donc le syndrome S = Y H = C } {{ H } +E H =0
Performances 17 avec C H = 0 car C est un mot de code (voir résultat 14) Donc, finalement, nous en arrivons à un résultat très important, le syndrome est un vecteur qui dépend linéairement du mot d erreur E, et plus du tout du mot de code transmis C S = E H (112) Poursuivons la procédure de décodage en nous inspirant de l algorithme 1 Evidemment, s il n y a pas d erreur, alors E = 0 ce qui donne un syndrome nul (S = 0) Cependant, si le mot reçu n est pas un mot de code, alors S 0 L algorithme 1 nous demande de chercher le mot de code C le plus proche du mot reçu Y au sens de la distance de Hamming Ceci revient à dire qu il s agit du mot de code C tel que d H (C, Y ) est minimisé Or d H (C, Y ) = w H (E) où w H (E) désigne le poids de Hamming de E c est-à-dire le nombre de 1 du mot E Le décodeur doit donc chercher le mot de code correspondant au plus petit nombre d erreurs Commençons donc par regarder ce que donne une erreur simple S il y a une seule erreur en position i, alors e i = 1 et e j = 0 pour j i On note h i la i ème colonne de H S il y a une erreur unique en position i, le syndrome s écrit S = E H = h i Or toutes les colonnes de H sont distinctes et aucune n est égale à 0 Donc on peut distinguer, sans ambiguïté, en ne connaissant que la valeur du syndrome, les 7 localisations possibles d une erreur simple Pour résumer, le syndrome, dans cet exemple, est un vecteur à 3 composantes binaires Il peut donc prendre 8 valeurs possibles Ces 8 valeurs possibles correspondent à 0 erreur (S = 0) ou une erreur en position i, i = 1, 2,, 7 (S = h i ) On voit que s il y a plus d une erreur, alors le syndrome va reprendre l une des 8 valeurs possibles déjà prises dans le cas où il y a 0 ou une erreur Le code de Hamming de longueur 7 ne corrige donc qu une erreur (en fait c est le cas de tous les codes de Hamming) Si on liste les 16 mots de code, on peut observer que le poids minimal d un mot de code est égal à 3 et donc d min = 3 Ce code ne pouvait de toute façon pas corriger plus d une erreur (voir résultat 12) Exemple 17 Supposons que Y = (0 1 1 0 1 1 1) Alors, S = Y H s = (1 1 0) = h 3 ce qui correspond à une erreur en position 3 Donc, on en déduit et donc le mot de code décodé sera E = (0 0 1 0 0 0 0) C = Y + E = (0 1 0 0 1 1 1) Le codeur étant sous forme systématique, ceci correspond à la séquence d information D = (0 1 0 0) 17 Performances Nous donnons à présent une borne supérieure de la probabilité d erreur d un code en bloc linéaire sur un canal binaire symétrique Nous commençons par calculer la probabilité d erreur par mot de code Probabilité d erreur par mot Supposons un code linéaire C de paramètres (n, k, d min ) Il y a une erreur «mot» lorsque le mot décodé n est pas égal au mot émis Or, on sait qu un code en bloc de distance minimale d min corrige toutes les configurations d erreurs dont le nombre est inférieur ou égal à t (voir résultat 12), mais évidemment, il peut en corriger d autres Puisque le code est linéaire, on peut supposer que le mot 0 est émis Dans ce cas, le mot reçu correspond aussi au mot d erreur On peut donc borner la probabilité d erreur par mot de la façon suivante, P e,mot n i=t+1 C i np i (1 p) n i (113) où t = (d min 1)/2 est la capacité de correction du code Dans l équation (113), le terme C i np i (1 p) n i représente la probabilité que le mot reçu soit de poids i (i bits égaux à 1, n i bits égaux à 0 et, bien sûr, C i n le nombre de ces mots) Le membre de droite de cette équation n est donc que la probabilité que le mot reçu soit de poids de Hamming strictement supérieur à t
18 Codage correcteur d erreur Approximation de la probabilité d erreur par bit d information A partir de l équation (113), on peut en déduire une approximation de la probabilité d erreur par bit d information après décodage Dans l équation (113), chaque terme de la somme correspond à un poids i de l erreur Le premier terme, Cn t+1 p t+1 (1 p) n (t+1) est évidemment dominant Si un événement de ce type survient, cela veut dire que le mot reçu a un poids de (t + 1) et alors le mot décodé (qui n est pas 0 car il y a erreur sur le mot décodé) est le mot de code le plus proche de 0 qui est, par définition, de poids d min Donc, le mot décodé admet d min bits en erreur sur les n bits qui le composent Ainsi, on peut approcher la probabilité d erreur par bit d information (en supposant que les bits d information et de parité seront en erreur, après décodage, avec la même probabilité) par P b d min n Ct+1 n p t+1 (1 p) n (t+1) De plus, si p 1, on peut encore simplifier l expression précédente (en disant que (1 p) 1) et obtenir que 18 Bilan P b d min n Ct+1 n p t+1 (114) Dans ce chapitre, nous vous avons donné un aperçu du codage de canal Vous avez vu quels pouvaient être les critères pour construire un bon code ainsi que la technique optimale de décodage et une de ses implémentations via le décodage par syndrome Néanmoins, le domaine du codage est, bien évidemment, beaucoup plus vaste que ce que l on a découvert dans ce chapitre En effet, de nombreuses familles de codes linéaires avec leurs avantages et inconvénients respectifs ont été créées au cours des cinquante dernières années : codes cycliques, codes de géométrie algébrique, codes convolutifs, turbo-codes, codes LDPC, codes sur réseaux de points, etc De plus, leur décodage dépendant des canaux de communication, il y a de nombreux algorithmes de décodage possibles avec de nouveau leurs performances et complexité respectives Ceci sera étudié en profondeur en COM224 Les deux chapitres suivants vont nous permettre de relier le codage à la problématique des communications Le chapitre 2 se focalisera sur la théorie de l information qui donnera les limites fondamentales que l on ne peut pas dépasser en utilisant le codage alors que le chapitre 3 va relier le codage à la modulation Nous rappelons ci-dessous les concepts de base et savoir-faire concernant ce chapitre à acquérir durant cette unité d enseignement Les concepts de base : Paramètres de dimensionnement d un code : n, k, distance minimale de Hamming, Matrice génératrice, matrice de contrôle de parité, Décodage maximum de vraisemblance : application par le décodage par syndrome, Notion de capacité de correction et de capacité de détection Les savoir-faire : Déterminer les paramètres d un code (cf TD1, TD2), Implémenter le décodage par syndrome (cf TD2)
Chapitre 2 Théorie de l information 21 Introduction Dans le chapitre 1, vous avez découvert les codes correcteurs d erreur avec notamment le principe de construction de ces codes ainsi que la règle de décodage optimale, dite règle du maximum de vraisemblance (ML) Vous avez vu que ces codes décodés optimalement permettaient de corriger ou de détecter un certain nombre d erreurs introduites lors d une communication sur un canal (typiquement le canal binaire symétrique) Dans ce chapitre, nous allons changer de point de vue puisque nous allons nous intéresser aux performances ultimes (c est-à-dire, qu un code ne pourra dépasser) d un système de communication Dans le chapitre précédent, vous avez vu qu un code correcteur de rendement R = k/n où k est le nombre de bits d information envoyés pendant n utilisations de canal pouvait améliorer la probabilité d erreur du système si sa distance minimale de Hamming était augmentée par rapport au cas non codé (cf section 17) Par performances ultimes, nous entendons : quels peuvent être les gains espérés en probabilité d erreur par l utilisation de codes de rendement R strictement positif Vous verrez que la réponse à cette question se formule en fait de manière radicalement différente puisque nous allons montrer que la probabilité d erreur peut être rendue arbitrairement faible pour peu que R ne dépasse pas un certain seuil que nous appellerons capacité du canal et ceci sous l hypothèse que k et n tendent vers l infini Pour arriver à ce résultat fondamental, ce chapitre sera organisé de la manière suivante : en section 22, nous introduisons les notions d entropie et d information mutuelle parce qu elles vont jouer un rôle essentiel dans la définition de la capacité Evidemment la capacité va dépendre de chaque type de canal rencontré par les bits d information C est pourquoi, en section 23, nous définissons les modèles de canaux sur lesquels nous allons travailler En l occurrence, nous nous intéressons à tous les canaux discrets sans mémoire dont les deux exemples les plus fameux sont le canal binaire symétrique (cf sections 121 et 352) et le canal à effacement (cf section 122) en section 24, nous rentrons dans le vif du sujet en donnant la définition de la capacité d un canal discret sans mémoire Nous y énonçons le théorème principal de ce chapitre démontré par CE Shannon en 1948 et qui dit en substance que pour tout rendement R > 0 inférieur à la capacité C, il est possible de communiquer avec une probabilité d erreur aussi faible que l on souhaite pour peu que l on choisisse une taille de mot de code n suffisamment grande En revanche, pour tout rendement R supérieur à la capacité C, cela n est pas possible en section 25, nous montrons quelques expressions de la capacité pour les canaux discrets sans mémoire les plus communs comme le canal binaire symétrique, le canal à effacement et même le canal gaussien En section 26, nous faisons un bilan de ce chapitre en rappelant les éléments essentiels à retenir et les outils à maîtriser Dans ce polycopié, par souci de simplicité et faute de temps, la plupart des preuves associées à ce chapitre sont omises Un cours complet sur la théorie de l information est donné évidement dans le cycle Master sous le sigle COMMDI225 Tant dans ce chapitre que en COMMDI225, le système se ramène à une communication dite point-à-point (typiquement entre un mobile et une station de base, ou entre un modem ADSL et le DSLAM du central téléphonique) Afin d améliorer les réseaux (cf notam-
20 Théorie de l information ment la deuxième conférence d ouverture), un système ne doit plus se concevoir comme une juxtaposition de communications point-à-point mais d emblée comme une communication multipoint-à-multipoint ce qui implique de développer la théorie de l information pour des flux (et non un flux) d information Ceci s appelle la théorie de l information pour les réseaux (Network Information Theory) et fait l objet de recherche intense actuellement et elle est partiellement enseignée dans COM345 Dans la suite du chapitre, sauf indication contraire, tous les variables aléatoires sont discrètes sur un alphabet fini 22 Entropie et Information mutuelle 221 Entropie L entropie va mettre de capter le degré d incertitude contenue dans une variables aléatoire Avant de donner une définition mathématique précise de l entropie, nous allons discuter de quelques propriétés que l entropie doit intuitivement satisfaire Par exemple, une variable aléatoire X prenant toujours la même valeur, disons 42, n a pas d incertitude puisqu elle est égale à coup sûr à son unique valeur, ici 42 Une telle variable aléatoire sera dite déterministe Dans ce cas, l entropie de X doit être égale à 0 A contrario, toute variable aléatoire qui n est pas déterministe et donc de réalisation incertaine, doit présenter une entropie strictement plus grande que 0 D autres propriétés souhaitables ressortent si on compare l entropie de différentes variables aléatoires Par exemple, si on considère deux variables aléatoires binaires X et Y prenant leurs valeurs dans {0, 1} pour lesquelles X admet une loi de probabilité quelconque alors que Y admet une loi uniforme (c est-à-dire que Y est égale à 0 avec une probabilité 1/2 et égale à 1 avec une probabilité 1/2) Intuitivement Y est plus incertaine que X dans le sens où il est plus difficile de deviner la valeur de la réalisation de Y, et donc l entropie de Y doit être plus grande que l entropie de X Plus généralement, on s attend à ce qu une variable uniforme ait une plus grande entropie parmi toutes les variables aléatoires ayant le même alphabet Nous verrons que la définition 21 de l entropie a les propriétés décrites ci-dessus, ainsi que d autres propriétés très intuitives que l on peut exiger d une mesure d incertitude Définition 21 (Entropie) Soit X une variable aléatoire sur un alphabet fini X avec loi de probabilité P X ( ) L entropie de cette variable aléatoire est H(X) := x X P X (x) log 2 (P X (x)) [bits], (21) avec, par convention, 0 log 2 (0) = 0 Notez que l entropie d une variable aléatoire X ne dépend pas des valeurs que cette variable aléatoire prend, c est-à-dire des éléments de l alphabet X, mais uniquement des probabilités P X ( ) que ces valeurs prennent En particulier, une variable qui prend les valeurs 0 et 1 avec probabilité 1/2 chacune a la même entropie qu une variable aléatoire qui prend les valeurs 100 et 345 avec probabilité 1/2 chacune Exemple 21 (Entropie d une variable uniforme) Soit X une variable aléatoire de loi uniforme sur tout l alphabet X, c est-à-dire, P X (x) = 1, x X, (22) X où X désigne le cardinal (le nombre d éléments) de l alphabet X L entropie de X vaut H(X) = P X (x) log 2 (P X (x)) = x X x X = log 2 ( X ) ( ) 1 1 X log 2 = X X 1 X log 2( X ) Exemple 22 (Entropie d une variable déterministe) Soit X une variable déterministe qui prend toujours la valeur x 0 X, c est-à-dire, { 1, si x = x 0 P X (x) = (24) 0, ailleurs (23)
Entropie et Information mutuelle 21 L entropie de X vaut H(X) = x X P X (x) log 2 (P X (x)) = 1 log 2 (1) + x X \x 0 0 log 2 (0) = 0, (25) où la dernière somme est égale à 0 parce que ; par convention, nous avons 0 log 2 (0) = 0 Les deux exemples 21 et 22 traitent en fait des deux cas extrêmes de l entropie En effet, nous avons le résultat suivant Résultat 21 (Valeurs extrêmes de l entropie) Pour toute variable aléatoire X sur un alphabet fini X, l entropie de X satisfait 0 H(X) log 2 ( X ) (26) En outre, H(X) = 0 si et seulement si X est déterministe H(X) = log 2 ( X ) si et seulement si X est uniforme sur tout X La définition 21 de l entropie a donc bien les propriétés intuitives souhaitées décrites dans les deux premiers paragraphes de cette sous-section Continuons avec un troisième exemple, moins extrême, pour nous convaincre une dernier fois du lien entre entropie et degré d incertitude Exemple 23 Soient X et Y deux variables aléatoires binaires qui indiquent s il y a du soleil en Martinique (X) et à Paris (Y ) Ainsi X et Y ont le même alphabet, X = Y = {0, 1} où 0 représente de la pluie et 1 du soleil De plus X = 0 (pluie en Martinique) admet une probabilité de 1/4 et X = 1 (soleil en Martinique) une probabilité de 3/4 Y = 0 (pluie à Paris) admet une probabilité de 5/8 et Y = 1 (soleil à Paris) avec probabilité de 3/8 L entropie de X (temps à Martinique) se calcule de la manière suivante H(X) = x X P X (x) log 2 (P X (x)) = P X (0) log 2 (P X (0)) P X (1) log 2 (P X (1)) = (1/4) log 2 (1/4) (3/4) log 2 (3/4) 08113, ce qui est bien entre 0 et log 2 (2) = 1 comme indiqué par le résultat 21 L entropie de Y (temps à Paris) se calcule de la manière suivante H(Y ) = y Y P Y (y) log 2 (P Y (y)) = P Y (0) log 2 (P Y (0)) P Y (1) log 2 (P Y (1)) = (5/8) log 2 (5/8) (3/8) log 2 (3/8) 09544 On voit donc que le temps à Paris a une entropie plus grande que le temps en Martinique, ce qui correspond bien à notre intuition que le temps à Paris est plus incertain de celui en Martinique Dans ce chapitre, la plupart du temps, on parlera d entropie pour des variables aléatoires binaires C est pourquoi La définition suivante nous sera fort utile car nous permettra de rendre nos futures expressions analytiques plus compactes Définition 22 (Fonction d entropie binaire) La fonction d entropie binaire est définie comme suit H b (p) := p log 2 (p) (1 p) log 2 (1 p), (27) où le seul argument p doit être un nombre réel dans l intervalle [0, 1] Notez que H b (p) est égale à l entropie d une variable aléatoire binaire X, H b (p) = H(X), (28) si X est p-bernoulli, c est-à-dire, si X prend la valeur 1 avec une probabilité p et la valeur 0 avec une probabilité (1 p)
22 Théorie de l information Nous avons tracé la H b (p) sur la figure 21 Notez que cette fonction H b (p) est strictement concave 1 et symétrique par rapport à la valeur 1/2 Sa valeur minimale est atteinte en p = 0 et p = 1 où elle est égale à 0 Sa valeur maximale est atteinte en p = 1/2 où elle est égale à 1 1 09 08 07 06 Hb(p) 05 04 03 02 01 0 0 02 04 06 08 1 p Figure 21 Fonction d entropie binaire H b (p) La définition 21 de l entropie s applique en fait à pleins d autres domaines que les systèmes de communications numériques Ainsi, elle représente la limite fondamentale de la compression des données, dans le sens où toute suite de variables aléatoires X 1,, X m indépendantes et identiquement distribuées selon la loi P X peut être codée avec mh(x) bits si m est suffisamment grand Ce résultat est central dans la problématique de compression de sources Dans le cycle Master, cette problématique est traitée en détail pour son aspect théorique en COMMDI225 et pour son aspect pratique dans les parcours «Systèmes et applications multimédia, vidéo et audio» et «Image» (SI222, SI240, SI340, SI350, etc) 222 Entropie conjointe L entropie conjointe représente une généralisation de l entropie à une paire de variables aléatoires Notons d abord que toute paire (X, Y ) de deux variables aléatoires sur des alphabets finis X et Y peut être vue comme une variable aléatoire avec un alphabet fini plus grand égal au produit cartesien X Y Donc, la définition 21 s applique aussi à ce cas et on obtient la définition suivante pour l entropie d une paire de variables aléatoires, dite aussi entropie conjointe Définition 23 (Entropie conjointe) Soient X et Y deux variables aléatoires sur des alphabets discrets X et Y avec comme loi de probabilité conjointe P XY (x, y) L entropie conjointe de cette paire de variables aléatoires est définie comme H(X, Y ) := x X,y Y P XY (x, y) log 2 (P XY (x, y)) (29) Notez que l entropie conjointe est symétrique par rapport à ces deux arguments, c est-à-dire, qu on a toujours H(X, Y ) = H(Y, X) De plus, l entropie jointe ne mesure pas les incertitudes des deux variables aléatoires individuellement, mais l incertitude qu il existe sur l ensemble des deux En particulier, elle prend en compte les liens qui existent entre X et Y, comme on peut voir par les deux exemples 24 et 25 suivants 1 strictement concave signifie que pour tout λ, p, q [0, 1], avec égalité si et seulement si λ = 0, λ = 1, ou p = q H b (λp + (1 λ)q) λh b (p) + (1 λ)h b (q),
Entropie et Information mutuelle 23 Exemple 24 (Variables indépendantes) Soient X et Y deux variables aléatoires indépendantes sur des alphabets finis X et Y Ceci implique que P XY (x, y) = P X (x)p Y (y) pour tous x X et y Y Donc : H(X, Y ) = P XY (x, y) log 2 (P XY (x, y)) x X y Y = P X (x)p Y (y) log 2 (P X (x) P Y (y)) x X y Y = P X (x)p Y (y) log 2 (P X (x)) P X (x)p Y (y) log 2 (P Y (y)) x X y Y x X y Y = ( ) P Y (y) P X (x) log 2 (P X (x)) ( ) P X (x) P Y (y) log 2 (P Y (y)) x X y Y y Y x X = P X (x) log 2 (P X (x)) P Y (y) log 2 (P Y (y)) x X y Y = H(X) + H(Y ), (210) où dans la troisième égalité nous avons utilisé que pour tout nombre réel a, b > 0, log 2 (ab) = log 2 (a)+log 2 (b) et dans la cinquième égalité nous avons utilisé que y Y P Y (y) = 1 et x X P X(x) = 1 Exemple 25 (Variables identiques) Soit X = Y, c est-à-dire, X = Y et pour tout x X, P XY (x, y) = P X (x) si x = y et P XY (x, y) = 0 si y x Donc, nous avons H(X, Y ) = P XY (x, y) log 2 (P XY (x, y)) = P X (x) log 2 P X (x) = H(X) (211) x X y Y x X En fait, les deux exemples 24 et 25 traitent des deux cas extrêmes de l entropie conjointe C est pourquoi, nous pouvons énoncer le résultat suivant Résultat 22 (Valeurs extrêmes de l entropie conjointe) Pour toute paire de variables aléatoires X et Y sur des alphabets finis X et Y, l entropie conjointe H(X, Y ) satisfait max{h(x), H(Y )} H(X, Y ) H(X) + H(Y ) (212) En outre, H(X, Y ) = H(X) si et seulement si Y = g(x) pour une fonction g quelconque H(X, Y ) = H(X) + H(Y ) si et seulement si X et Y sont indépendants Exemple 26 Soit X une variable aléatoire déterminant le lieu où se trouve Scarlett Johansson en ce moment : X = 1 veut dire qu elle est à Paris et X = 0 qu elle est à Hollywood Soit Y une variable aléatoire déterminant la météo du lieu dans lequel se trouve Scarlett Johansson en ce moment : Y = 1 veut dire qu elle a du soleil et Y = 0 veut dire qu il pleut Les deux variables aléatoires X et Y ont la loi de probabilité conjointe suivante P XY (0, 0) = 0, P XY (1, 0) = 1/3, P XY = (1, 1) = 1/3, P XY (0, 1) = 1/3 L entropie conjointe de X et Y est donc H(X, Y ) = P XY (x, y) log 2 (P XY (x, y)) x X,y Y = 0 log 2 (0) (1/3) log 2 (1/3) (1/3) log 2 (1/3) (1/3) log 2 (1/3) = log 2 (3) 1585 Notons aussi que, grâce à la formule de loi marginale, on obtient { PX (0) = y Y P XY (x, y) = P XY (0, 0) + P XY (0, 1) = 0 + 1/3 = 1/3 Donc, l entropie de X vaut P X (1) = 1 P X (0) = 2/3 H(X) = x X P X (x) log 2 (P X (x)) = (1/3) log 2 (1/3) (2/3) log 2 (2/3) 0925
24 Théorie de l information De la même façon, on obtient que H(Y ) 0925 Ainsi, sur cet exemple, nous retrouvons bien le résultat 22 puisque H(X) = H(Y ) = 0925 < H(X, Y ) = 1585 < H(X) + H(Y ) = 185, 223 Entropie conditionnelle Grâce à l entropie conditionnelle d une variable aléatoire X par rapport à une autre variable aléatoire Y, on va capturer l incertitude qu on a sur X, une fois qu on a observé Y Notez que cette entropie conditionnelle représente une moyenne, parce que l incertitude qu on a sur X peut varier selon les différentes réalisations de Y Nous définissons donc d abord l entropie conditionnelle de X sachant que Y est égale à une réalisation y Y Soit P X Y (x y) la loi de probabilité conditionnelle de X si Y = y H(X Y = y) := x X P X Y (x y) log 2 (P X Y (x y)) (213) L entropie conditionnelle de X sachant Y est la moyenne de toutes les entropies conditionnelles H(X Y = y) moyennées avec la loi de probabilité P Y ( ) Définition 24 (Entropie conditionnelle) Soient X et Y deux variables aléatoires sur des alphabets finis X et Y avec une loi de probabilité conjointe P XY (x, y) L entropie conditionnelle de X sachant Y est H(X Y ) := y Y P Y (y)h(x Y = y) (214) = P Y (y) P X Y (x y) log 2 (P X Y (x y)) (215) y Y x X = P XY (x, y) log 2 (P X Y (x y)) (216) x X y Y Les deux dernières égalités ont été obtenues grâce à la note de bas de page 2 Exemple 27 (Variables indépendantes) Soient X et Y deux variables aléatoires indépendantes sur des alphabets X et Y Ceci implique que P XY (x, y) = P X (x)p Y (y) et P X Y (x y) = P X (x) pour tous x X et y Y Donc H(X Y ) = P XY (x, y) log 2 (P X Y (x y)) x X y Y = P XY (x, y) log 2 (P X (x)) x X y Y = ( ) P Y (y) P X (x) log 2 (P X (x)) x X y Y = x X P X (x) log 2 (P X (x)) = H(X) (218) Résultat 23 (Valeurs extrêmes de l entropie conditionnelle) Pour toute paire de variables aléatoires X et Y sur des alphabets X et Y, l entropie conditionnelle H(X Y ) satisfait En outre, 2 Selon la règle de Bayes, P X Y (x y) = P XY (x, y) P Y (y) Grâce à la formule de la loi marginale, on a également 0 H(X Y ) H(X) (219) P X Y (x y) = P XY (x, y) x X P XY (x, y) (217)
Entropie et Information mutuelle 25 H(X Y ) = 0 si et seulement si X = f(y ) pour une fonction f quelconque (En effet, une fois qu on a observé Y, on connaît parfaitement X et donc on n a plus d incertitude) H(X Y ) = H(X) si et seulement si X et Y sont indépendants (En effet, Y ne révèle rien sur les valeurs de X et donc l entropie de X reste inchangé en observant Y ) Regardons maintenant l exemple 26 sous l œil de l entropie conditionnelle et non de l entropie conjointe Exemple 28 Soient X et Y définies comme dans l exemple 26 Nous calculons l entropie de X sachant Y, c est-à-dire l incertitude qui existe sur le lieu où se trouve Scarlett Johansson une fois qu on sait si elle a du soleil ou de la pluie Nous calculons d abord l entropie sur le lieu X en sachant qu elle a du soleil (Y = 0) Nous utilisons d abord l équation (217) pour obtenir les probabilités conditionnelles : { P P X Y (0 0) = XY (0,0) P XY (0,0)+P XY (1,0) = 0 1/3 = 0 (220) P X Y (1 0) = 1 P X Y (0 0) = 1 Par l équation (213), nous obtenons donc H(X Y = 0) = x X P X Y (x 0) log 2 (P X Y (x 0)) = 0 log 2 (0) 1 log 2 (1) = 0 (221) De manière analogue, on obtient que { P X Y (0 1) = P XY (0,1) P XY (0,1)+P XY (1,1) = 1/3 2/3 = 1/2 P X Y (1 1) = 1 P X Y (0 1) = 1/2 (222) et donc H(X Y = 1) = x X P X Y (x 1) log 2 (P X Y (x 1)) = (1/2) log 2 (1/2) (1/2) log 2 (1/2) = 1 (223) Donc, l entropie conditionnelle est égale à H(X Y ) = P Y (0)H(X Y = 0) + P Y (1)H(X Y = 1) = 1/3 0 + 2/3 1 = 2/3 (224) Si nous combinons les résultats de l exemple 28 avec ceux de l exemple 26, nous remarquons que H(X, Y ) = H(Y ) + H(X Y ) = H(X) + H(Y X) (225) Cette équation est toujours valable pour n importe quel X et Y L équation est connue sous le nom de règle de chaînage (chain rule) et est une des équations les plus utilisées en théorie de l information Elle signifie que l incertitude sur une paire de variables aléatoires (X, Y ) est égale à l incertitude qu on a sur X plus l incertitude qu on a sur Y une fois qu on connaît X ou vice-versa Autrement dit, le nombre de bits qu il faut pour décrire la paire X, Y est égal au nombre de bits qui sont nécessaires pour décrire X plus le nombre de bits nécessaires pour décrire Y une fois que X est connue Notez également que comme H(X) peut être différent de H(Y ), cela implique que généralement H(X Y ) est différent de H(Y X)! 224 Information mutuelle Grâce à l information mutuelle, on veut quantifier l information commune entre X et Y, autrement dit l information obtenue sur une variable aléatoire X en révélant une deuxième variable Y Intuitivement on s attend à ce que cette information soit nulle si X et Y sont indépendants et qu elle soit maximale si X = Y dans le cas où Y révèle tout sur X Comme le mot l indique, l information est mutuelle ce qui veut dire que l information que X révèle sur Y est la même que Y révèle sur X Techniquement parlant, l information mutuelle est définie comme la réduction en incertitude (entropie) sur X qu on obtient en révélant Y Définition 25 (Information mutuelle) Soient X et Y deux variables aléatoires sur des alphabets finis X et Y avec une loi de probabilité conjointe P XY (x, y) L information mutuelle de X et Y est I(X; Y ) := H(X) + H(Y ) H(X, Y ) (226) = H(X) H(X Y ) = H(Y ) H(Y X) (227)
26 Théorie de l information Nous voyons donc que l information mutuelle est bien symétrique, I(X; Y ) = I(Y ; X) (228) Exemple 29 (Variables identiques) Soit X une variable aléatoire sur un alphabet fini X L information mutuelle entre X et elle-même est égale à I(X; X) = H(X) H(X X) = H(X), (229) } {{ } =0 où nous avons utilisé le fait que X est une fonction de X, et donc par le résultat (23) que H(X X) = 0 Exemple 210 (Variables indépendantes) Soient X et Y deux variables indépendantes sur des alphabet finis X et Y Leur information mutuelle est I(X; Y ) = H(X) H(X Y ) = H(X) H(X) = 0, (230) } {{ } =H(X) où nous avons utilisé que X et Y sont indépendants, et donc par le résultat (23) que H(X Y ) = H(X) Résultat 24 (Valeurs extrêmes de l information mutuelle) Soient X et Y deux variables aléatoires sur des alphabets finis X et Y L information mutuelle entre les deux satisfait 0 I(X; Y ) min{h(x), H(Y )} En outre, I(X; Y ) = 0 si et seulement si X et Y sont indépendants I(X; Y ) = H(X) si et seulement si X = f(y ) pour une fonction f quelconque Idem, I(X; Y ) = H(Y ) si et seulement si Y = g(x) pour une fonction g quelconque 23 Modèle des canaux discrets sans mémoire (DMC) Dans le chapitre 1, vous avez vu le BEC et le BSC Ces deux canaux appartiennent en fait à une classe de canaux plus généraux que sont les Canaux Discrets sans Mémoire (Discrete Memoryless Channel -DMC-, en anglais) Un DMC est une boîte (un appareil comme sur la figure 22) qui pour chaque séquence de n symboles d entrée x 1,, x n produit une séquence de n symboles Y 1,, Y n à la sortie x 1,, x n Canal Y 1,, Y n Figure 22 Canal discret sans mémoire (DMC) Les symboles d entrée x 1,, x n doivent appartenir à l alphabet d entrée X du DMC Les symboles de sortie Y 1,, Y n appartiennent à l alphabet de sortie Y du DMC et souvent sont aléatoires d où le fait qu on les représente en Majuscules et non en minuscules Plus précisément, pour chaque t {1,, n}, le symbole de sortie Y t est obtenu à partir du symbole d entrée x t selon la loi (de probabilité) de transition du DMC P Y X ( x t ) : Y t P Y X ( x t ) (231) Donc, Y t dépend seulement de l entrée x t et pas des entrées précédentes x 1,, x t 1 et pas des sorties précédentes Y 1,, Y t 1, d où le terme sans mémoire Notez aussi que la loi de transition P Y X ( ) est la même pour tous les t {1,, n} et le canal est donc stationnaire Un DMC est complètement caractérisé par le triplet (X, Y, P Y X ( )), où X est un alphabet fini contenant toutes les valeurs possibles à l entrée du DMC ; Y est un alphabet fini contenant toutes les valeurs possibles à la sortie du DMC ; P Y X ( ) est une loi de probabilité conditionnelle, dite loi de transition, décrivant comment une sortie Y t est obtenue à partir d une entrée x t
Définition et théorème de la capacité pour le DMC 27 Exemple 211 (BEC) Le BEC de paramètre ɛ [0, 1] est un DMC caractérisé par 1 ɛ, x = y X = {0, 1}, Y = {0, 1, }, P Y X (y x) = ɛ y = 0 ailleurs (232) Donc, le BEC reproduit l entrée à la sortie avec une probabilité 1 ɛ et produit un symbole d effacement avec une probabilité ɛ Exemple 212 (BSC) Le BSC de paramètre p [0, 1] est un DMC caractérisé par { 1 p, x = y X = {0, 1}, Y = {0, 1}, P Y X (y x) = p y = x (233) Donc, le canal reproduit le bit d entrée à la sortie avec une probabilité (1 p) et inverse le bit d entrée avec une probabilité p Souvent, la façon la plus facile de décrire un DMC est le diagramme de canal Formellement, un diagramme de canal est un graphe bipartite, oú à gauche on met toutes les valeurs possibles d entrée (les éléments de X ) et à droite toutes les valeurs possibles de sortie (les éléments de Y) On connecte ensuite chaque symbole d entrée x X avec tous les symboles de sorties y Y selon la probabilité de transition P Y X (y x) > 0 Cette probabilité est indiquée sur l arête qui connecte x et y Par exemple, les diagrammes du BEC et du BSC sont montrés dans les figures 13 et 12 du chapitre précédent 24 Définition et théorème de la capacité pour le DMC Dans la section précédente, nous avons défini un canal DMC Dans cette section, nous allons exhiber la limite fondamentale concernant le nombre d information qu on peut transmettre sur un tel canal DMC de façon fiable, c est-à-dire, avec une probabilité d erreur arbitrairement petite Pour cela, décrivons d abord le problème de communication (c est-à-dire de transmission d information) comme décrit sur la figure 23 d 1,, d k X Emetteur f (n) 1,, X n Y 1,, Y n ˆd1,, ˆd Canal Récepteur g (n) k Figure 23 Modèle de communication : canal discret sans mémoire Le but de la communication est qu un émetteur transmette à un récepteur k bits d information d 1,, d k, où ces k bits sont indépendants et chaque bit est 1/2-Bernoulli Pour y parvenir, on autorise l émetteur à utiliser le DMC n fois, et donc il peut envoyer n symboles d entrée X 1,, X n sur le canal Ces n symboles sont obtenus à partir des bits d information d 1,, d k en utilisant une fonction de codage (correcteur d erreur) f (n) : {0, 1} k X n (d 1,, d k ) (X 1,, X n ) (234) Cetter fonction de codage peut évidemment être une de celles étudiées au chapitre 1 Dans ce cas, ce serait une fonction linéaire parfaitement caractérisée par sa matrice génératrice Le récepteur observe les n sorties du DMC Y 1,, Y n et fait une détection ˆd 1,, ˆd k des bits d information d 1,, d k Ces k bits détectés ˆd 1,, ˆd k sont obtenus à partir des n symboles de sorties Y 1,, Y n en utilisant une fonction de décodage g (n) : Y n {0, 1} k (Y 1,, Y n ) ( ˆd 1,, ˆd k ) (235) De nouveau si on se rappelle le chapitre 1, cette fonction de décodage peut par exemple être l algorithme du syndrome En théorie de l information, un code est spécifié par le quadruplet (n, k, f (n), g (n) ) Remarquez
28 Théorie de l information que, contrairement au chapitre 1, nous incluons les fonctions de codage f (n) et de décodage g (n) dans la définition du code Le rendement (en théorie de l information, on parle plutôt de «taux» -Rate en anglais-) R d un code est égal à R = k [ ] bits d information (236) n utilisation de canal On dit qu il y a une erreur sur la communication si le récepteur se trompe sur au moins un bit d information : (d 1,, d k ) ( ˆd 1,, ˆd k ) (237) En théorie de l information, on considère donc typiquement une probabilité d erreur en bloc et non pas une probabilité d erreur par bit (ou un taux d erreur binaire -Bit Error Rate (BER)-, en anglais) Par conséquent dans ce chapitre, la probabilité d erreur est définie comme P (n) e := Pr { (d 1,, d k ) ( ˆd 1,, ˆd k ) } Il n est pas difficile de montrer que la probabilité d erreur en bloc P e (n) ne peut pas être inférieure à la probabilité d erreur par bit Ce qui implique si on trouve une borne supérieure à P e (n), elle pourra s appliquer au BER Idéalement, nous aimerions trouver des codes qui atteignent une probabilité d erreur égale à 0 Malheureusement, ceci est impossible pour presque tous les DMC si en même temps on veut garder un taux R > 0 A la place, on souhaite seulement trouver un ensemble de codes tel que la probabilité d erreur peut être rendu aussi faible que l on souhaite si on choisit le bon code de cet ensemble 3 Un exemple très simple qui atteint ce but sur le BSC est l ensemble des codes à répétition (que vous avez vu dans le chapitre 1) avec k fixé et n (multiple de k) qui tend vers l infini Malheureusement, le problème avec cet ensemble de codes est que pour chaque n le taux est égal à k/n et donc si n tend vers l infini, le taux tend vers 0 Pour la très grande majorité des DMC, il peut être démontré que pour atteindre une probabilité d erreur qui tend vers 0, il faut que la taille de bloc n des codes croie sans borne La grande découverte de C E Shannon dans son papier fondamental de 1948, créant par là-même le domaine de la théorie de l information, a été de prouver l existence de codes avec des probabilités d erreur qui tendent vers 0 quand la taille de bloc n augmente mais tout en codant un nombre de bits d informations k croissant linéairement avec n Plus précisément, on fixe un taux R > 0 et on propose un ensemble de codes où k croit avec n comme k = Rn Le taux du code k/n est alors un peu inférieur à R mais quand n augmente, le taux k/n s approche asymptotiquement de R et donc l erreur induite est complètement négligeable Les principales définitions et théorème de la théorie de l information sont énoncés ci-dessous Les preuves sont données en COMMDI225 Définition 26 Un taux R > 0 est dit atteignable sur un DMC (X, Y, P Y X ) s il existe une suite de codes { ( n, k = nr, f (n), g (n)) } n=1 telle que P (n) e 0 lorsque n (238) Définition 27 La capacité C d un DMC caractérisé par le triple (X, Y, P Y X ) est C = max P X I(X; Y ), (239) où la maximisation se fait sur toutes les lois de probabilité de X et où Y P Y X ( X) Donc, dans cette expression, la paire (X, Y ) suit la loi de probabilité P XY (x, y) = P X (x)p Y X (y x) Résultat 25 (Théorème de Shannon de la capacité) Pour un DMC caractérisé par (X, Y, P Y X ) : 1 Tous les débits 0 < R < C sont atteignables 2 Aucun débit R > C n est atteignable Notez que le théorème ne dit rien de ce qui se passe pour les taux R = C Le comportement pour R = C dépend du canal et reste inconnu pour la majorité des canaux à ce jour! Ce résultat est d une puissance incroyable et finalement assez contre-intuitif En effet, on peut rendre fiable n importe quel lien de transmission à condition d en payer le prix en débit 3 D un point de vue pratique, rendre aussi faible que possible la probabilité d erreur n est pas restrictif car on ne sait pas distinguer en pratique un dispositif offrant une probabilité d erreur nulle à celui offrant une probabilité d erreur de 10 42
Expressions analytiques de la capacité de quelques canaux 29 25 Expressions analytiques de la capacité de quelques canaux Dans cette section, nous allons exprimer analytiquement quelques capacités pour quelques canaux Sachez que on ne connaît pas encore de formules analytiques de la capacité pour de très nombreux canaux A titre d exemple, la capacité d un canal composé d une fibre optique est encore inconnue à ce jour (notamment en raison des effets non-linéaires qui s y produisent) Pour calculer la capacité d un DMC, on part généralement de l équation (239) On calcule ainsi d abord l information mutuelle I(X; Y ) pour une loi d entrée P X ( ) quelconque, et ensuite on maximise cette information mutuelle obtenue sur P X ( ) Pour calculer l information mutuelle I(X; Y ), on a deux possibilités soit on la calcule via I(X; Y ) = H(X) H(X Y ), (240) soit on la calcule via I(X; Y ) = H(Y ) H(Y X) (241) Souvent la deuxième méthode est la plus facile, mais ce n est pas toujours le cas Nous allons voir que pour le BEC c est plus facile de calculer l information mutuelle I(X; Y ) en utilisant la première expression 251 Cas du canal binaire symétrique Nous calculons l information mutuelle I(X; Y ) pour une loi P X ( ) quelconque en utilisant l équation (241) Il faut donc calculer H(Y ) et H(Y X) Nous commençons par H(Y X) Nous calculons d abord H(Y X = 0) et H(Y X = 1) : et H(Y X = 0) = P Y X (0 0) log 2 (P Y X (0 0)) P Y X (1 0) log 2 (P Y X (1 0)) = (1 p) log 2 (1 p) p log 2 p = H b (p) (242) H(Y X = 1) = P Y X (0 0) log 2 (P Y X (0 1)) P Y X (1 1) log 2 (P Y X (1 1)) = p log 2 p (1 p) log 2 (1 p) Donc, indépendamment du choix de la loi d entrée P X ( ), parce que x {0,1} P X(x) = 1 = H b (p) (243) H(Y X) = x {0,1} P X (x)h b (p) = H b (p), (244) Pour simplifier la suite des calculs, nous définissons q P X (1) et donc P X (0) = 1 q, où q [0, 1] Par la formule de la loi marginale et par la règle de Bayes : P Y (1) = P XY (0, 1) + P XY (1, 1) (245) = P X (0)P Y X (1 0) + P X (1)P Y X (1 1) (246) = (1 q)p + q(1 p), (247) et P Y (0) = 1 P Y (1) = 1 ( (1 q)p + q(1 p) ) = qp + (1 p)(1 q) (248) Cela fait que l entropie de Y est égale à ( ) H(Y ) = H b (1 q)p + q(1 p) (249) Donc, pour P X (1) = q [0, 1] quelconque, l information mutuelle est ( ) I(X; Y ) = H(Y ) H(Y X) = H b q(1 p) + (1 p)q Hb (p) (250)
30 Théorie de l information La capacité du canal BSC vaut donc [ ( ) C BSC(p) = max Hb q(1 p) + (1 p)q Hb (p) ] (251) q [0,1] ( = max H ( ) ) b q(1 p) + (1 p)q H b (p) (252) q [0,1] = 1 H b (p), (253) où la deuxième égalité tient parce que H b (p) ne dépend pas de q, et la troisième égalité tient parce que H b (t) 1 avec égalité si t = 1/2 et parce que pour q = 1/2, Résultat 26 La capacité d un BSC(p) est égale à q(1 p) + (1 q)p = (1/2)(1 p) + (1/2)p = 1/2 (254) C BSC(p) = 1 H b (p) (255) Nous analysons ci-après quelques cas spéciaux de ce canal Notons que si p = 0 alors la capacité est égale à 1 bit, C BSC(0) = 1 Ceci est conforme avec notre intuition : si p = 0 alors la sortie du canal est toujours égale à son entrée Y = X et on se retrouve avec un canal sans bruit par lequel on peut communiquer un bit d information par utilisation de canal sans jamais faire des erreurs Idem, si p = 1, alors la capacité est égale à 1 bit, C BSC(1) = 1 Dans ce cas, on a à nouveau un canal sans bruit, mais le canal inverse tous les bits d entrée En inversant simplement tous les bits à la sortie, le récepteur peut récupérer tous les bits d entrée sans jamais faire des erreurs, comme pour le cas p = 0 Par contre, si p = 1/2, chaque sortie de canal est 0 ou 1 avec probabilité 1/2 indépendamment de la valeur à l entrée du canal Comme le récepteur peut toujours construire une suite de 1/2-Bernoulli bits indépendants de l entrée du canal sans regarder les sorties du canal, ce canal est complètement opaque Sa capacité est donc nécessairement nulle, C BSC(1/2) = 0 252 Cas du canal binaire à effacement Nous calculons l information mutuelle I(X; Y ) pour une loi d entrée P X ( ) quelconque en utilisant l équation (240) Nous calculons donc les entropies H(X) et H(X Y ), et nous commençons par le premier terme Pour simplifier la notation dans la suite, nous définissons q P X (1) = 1 P X (0) Alors, comme X est une variable q-bernoulli, H(X) = H b (q) (256) Nous regardons maintenant le deuxième terme, H(X Y ), en calculant séparément H(X Y = 0), H(X Y = 1), et H(X Y = ) Notez que si Y = 0 alors X = 0 avec une probabilité 1 (indépendamment de P X (x)), car le canal n inverse jamais un bit d entrée mais peut seulement l effacer Donc, P X Y (0 0) = 1 et P X Y (1 0) = 0 et H(X Y = 0) = 0 log 2 (0) 1 log 2 (1) = 0 (257) Idem, si Y = 1, alors X = 1 avec une probabilité 1, et donc P X Y (1 1) = 1 = 1 P X Y (0 1) et Donc, l expression de H(X Y ) se simplifie comme suit H(X Y ) = y {0,1, } H(X Y = 0) = 0 (258) P Y (y)h(x Y = y) = P Y ( )H(X Y = ) (259)
Expressions analytiques de la capacité de quelques canaux 31 Par la formule de la loi marginale et la règle de Bayes, on a P Y ( ) = P XY (x, ) = ( P X (x)p Y X ( x) = x {0,1} x {0,1} x {0,1} } {{ } =1 ) P X (x) ɛ = ɛ (260) Nous calculons maintenant P X Y (1 ) en fonction du paramètre q = P X (x) En appliquant deux fois la règle de Bayes et en utilisant le résultat en (260), P X Y (1 ) = P X,Y (1, ) P Y ( ) = P X(1)P Y X ( 1) P Y ( ) Donc, si la sortie Y est égale à, alors l entrée X est q-bernoulli et Les deux équations (259) et (262) conduisent à = qɛ ɛ = q (261) H(X Y = ) = H b (q) (262) H(X Y ) = ɛh b (q) (263) Avec l équation (256) nous obtenons donc pour la capacité du canal BEC [ C BEC(ɛ) = max Hb (q) ɛh b (q) ] = (1 ɛ) max H b(q) = 1 ɛ, (264) q [0,1] q [0,1] où la dernière égalité tient parce que H b (p) 1 avec égalité si q = 1/2 Résultat 27 La capacité d un BEC(ɛ) est égale à C BEC(ɛ) = 1 ɛ (265) Durant le déroulement dess calculs nous avons vu que Si on observe un 0 ou un 1 à la sortie, alors il n y a pas de doute sur la valeur d entrée du canal et donc H(X Y = 0) = H(X Y = 1) = 0 Si on observe un effacement à la sortie, alors on n a rien appris sur l entrée et donc H(X Y = ) = H(X) De plus par la stricte concavité de la fonction H b ( ) et parce que H b (1/2) = 1 > 1/2, il n est pas difficile de montrer que ɛ < H b (ɛ) pour tout ɛ (0, 1/2] (266) ce qui implique, pour ɛ (0, 1/2], que 1 ɛ > 1 H } {{ } b (ɛ), (267) } {{ } C BEC(ɛ) C BSC(ɛ) ce qui veut dire que les inversions de bits sont plus durs à gérer que les effacements 253 Cas du canal gaussien Tous les résultats antérieurs à cette sous-section ont été obtenus pour des DMCs uniquement Le résultat 25, c est-à-dire, le Théorème de Shannon, s applique aussi aux canaux sans mémoire avec alphabets infinis pour peu qu on modifie la définition de l information mutuelle I(X; Y ) en conséquence Nous n entrerons pas dans plus de détails (cf COMMDI225), mais présenterons néanmoins des expressions analytiques de la capacité pour deux canaux gaussien sans mémoire avec contrainte à l entrée Le canal gaussien est caractérisé par la relation suivante entre l entrée X et la sortie Y Y = X + W, où W est une variable gaussienne réelle de moyenne nulle et variance N 0 /2 La loi de transition du canal est donc spécifiée par la densité conditionnelle (qui remplace la loi de probabilité P Y X ( ) du cas de l alphabet fini) p Y X (y x) = 1 e (y x) 2 πn0 N 0
32 Théorie de l information Donc, l alphabet de sortie est nécessairement l ensemble des nombres réels : Y = R L alphabet d entrée dépend des contraintes imposées Dans un premier cas, nous supposons que seulement deux valeurs sont permises à l entrée : X = { A, A} (268) Vous verrez dans le chapitre 3 que ce cas a beaucoup d intérêt pratique Nous l appelons le cas «2-PAM» pour des raisons qui deviendront évidentes dans le chapitre 3 La capacité du canal gaussien avec des entrées binaires vérifiant l expression (268) vaut C 2-PAM = 1 1 πn0 e u2 N 0 log 2 ( 1 + e 4A(A+u) N 0 ) d u (269) Si on ajoute plus de symboles à l alphabet d entrée, la capacité évidemment augmente En effet l émetteur peut toujours choisir de ne pas utiliser certains symboles d entrée que l on vient d ajouter et alors on revient au cas précédent Dans le cas limite où l alphabet d entrée contient tous les nombres réels, X = R (270) la capacité du canal gaussien devient infinie Mais ce cas n a pas d intérêt pratique puisque pour atteindre cette capacité, la puissance/énergie des symboles d entrées (on peut parler ici indifféremment de puissance ou d énergie car on envoie le symbole, à ce stade du polycopié, avec une périodicité fixe ; cette périodicité n a pas encore été décrite et fera l objet d une longue discussion dans la section 33 du chapitre suivant), E[X 2 ], doit nécessairement tendre vers infini et qu un système réel à puissance/énergie illimité n est pas faisable techniquement De plus, on veut aussi limiter la puissance/énergie du signal émis pour des raisons de sûreté et pour augmenter la durée de vie de la batterie à l émetteur Ainsi, le canal gaussien avec alphabet d entrée donné par l équation (270) est plus intéressant avec une contrainte de puissance/énergie moyenne à l entrée E[X 2 ] E s (271) pour une énergie E s > 0 par Symbole émis La capacité de ce canal est C Gaussien = 1 ( 2 log 2 1 + 2E ) s (272) N 0 Notons que si on se limite aux symboles d entrée E s et E s, alors l entrée du canal satisfait toujours la contrainte de puissance/énergie donnée par l équation (271) Donc si A = E s, la capacité du canal gaussien à contrainte de puissance/énergie moyenne, C Gaussien, n est jamais inférieure à celle du canal gaussien à entrée 2 PAM, C 2-PAM Numériquement on peut vérifier que pour A = E s C 2-PAM < C Gaussien mais que C 2-PAM est une bonne approximation de C Gaussien quand E s /N 0 est très petit On définit le rapport signal-sur-bruit (Signal-to-Noise Ratio - SNR -) par SNR := 2E s N 0, (273) qui est bien le ratio entre la variance du signal utile X et la variance du bruit N 0 /2 Alors, on obtient la formule célèbre de Shannon pour le canal gaussien 4 C Gaussien = 1 2 log 2 (1 + SNR) (274) La capacité donnée par l équation (274) du canal gaussien avec contrainte de puissance moyenne nécessite d utiliser un nombre illimité de symboles d entrée Techniquement cela n est pas réalisable, néanmoins nous verrons en section 353 comment s en rapprocher La formule de la capacité en (274) sert donc d abord comme référence pour tout code et toute modulation (terme défini au chapitre 3) utilisés sur un canal gaussien à contrainte de puissance moyenne Nous verrons également au chapitre 3 que cette formule légèrement modifiée permet en fait de dimensionner des systèmes réels 4 Peut-être avez-vous rencontré cette formule sans le facteur 1/2 devant le terme logarithmique Dans ce cas, vous avez probablement étudié le canal gaussien à valeurs complexes avec un bruit circulaire Ce canal peut être vu comme deux canaux gaussiens indépendants à valeurs réelles, et sa capacité est donc le double de la capacité du canal gaussien à valeurs réelles
Bilan 33 26 Bilan Le théorème de Shannon montre qu il existe des codes qui atteignent la capacité Néanmoins, la preuve du théoème n est pas constructive et donc ne permet pas d en déduire des codes implémentables C est seulement dans les années 1990 avec la découverte des Turbo-codes par C Berrou et A Glavieux à Télécom Bretagne et des codes LDPC par R Gallager au MIT que des codes implémentables tant au niveau du codeur que du décodeur ont permis de s approcher très fortement de la capacité du canal gaussien, soit 40 ans après la découverte du théorème de Shannon! En 2009, les codes polaires ont été découverts par E Arikan de l université de Bilkent (Turquie) permettant d atteindre la capacité d une grande classe de DMC Toutes ces constructions de codes et de décodeurs associés sont enseignés à l école dans le cadre du cycle Master avec les unités d enseignement COM224 et COM344 Concernant la théorie de l information, deux cours vous sont proposés : COMMDI225 et COM345 En COMMDI225, on approfondit les bases de théorie de l information pour les communications point-à-point, c est-à-dire, d un seul émetteur vers un seul récepteur et pour la compression des données En COM345, on traite le problème des communications et de la compression de données dans un réseau, domaine qui actuellement est très actif en recherche ainsi que dans l utilisation directe des résultats de théorie de l information pour les réseaux dans les systèmes pratiques (tels que la 5G pour la collaboration entre stations de base au niveau des communications et le stockage distribué (cloud/distributed storage, en anglais) au niveau de la compression des données Nous rappelons ci-dessous les concepts de base et savoir-faire concernant ce chapitre à acquérir durant cette unité d enseignement Les concepts de base : L entropie H(X), L entropie conditionnelle H(X Y ), L information mutuelle I(X; Y ), Canaux discrets sans mémoire (DMC), La capacité d un DMC dont celles des canaux BSC et BEC Les savoir-faire : Connaître les propriétés de H(X), H(X Y ), H(X, Y ), et I(X; Y ) et savoir calculer ces quantités (cf TD3), Connaître la définition de la capacité de canal et savoir calculer la capacité de canaux simples (cf TD4)
34 Théorie de l information
Chapitre 3 Modulations numériques 31 Introduction Dans le chapitre 1, vous avez appris à coder des éléments binaires dans le but de les protéger contre les erreurs induites par une transmission sur un canal Dans ce chapitre, les objectifs principaux vont être de construire un dispositif permettant de transformer les bits codés, notés c n (cf chapitre 1), provenant donc du codeur correcteur d erreur en un signal attaquant le canal de propagation et vice-versa, et ensuite d analyser les performances de ces dispositifs A titre d exemple, dans le cadre de communications radio-mobiles (2G, 3G, 4G, TNT, Wifi), le signal à construire correspond à celui de l onde électro-magnétique en sortie de l antenne d émission Dans le cadre de communications filaires, on peut penser à l onde électro-magnétique sortant du modem ADSL ou bien au signal lumineux rentrant dans la fibre optique De manière moins naturelle, on peut songer à la problématique de la lecture des CD/DVD Dans ce cas, le sillage sur le disque correspond au signal à construire Cette liste d exemples n est évidemment pas exhaustive Ce que nous remarquons, grâce à ces exemples, est le point commun suivant : le signal à transmettre est par essence de nature analogique ou de manière synonyme à temps continu (pour les CD/DVD, cela serait plutôt une notion d espace continu, mais le disque tournant, on peut se ramener sans difficulté à une notion temporelle), quand bien même nous faisons des transmissions numériques Ainsi les signaux émis et reçu sont de nature analogique, mais l information contenue dans ces signaux est de nature numérique ou de manière synonyme à temps discret et à nombre fini de valeurs Par conséquent, une grande partie du chapitre sera consacrée au passage de signaux à temps discret à des signaux à temps continu (au niveau de l émetteur) et vice-versa (au niveau du récepteur) De plus, pour agir convenablement, le récepteur a besoin de savoir comment le signal émis a été perturbé par le canal de propagation C est pourquoi le plan de ce chapitre est comme suit : en section 32, nous introduisons un modèle de canal de propagation, dit canal à multitrajets, bien adapté aux communications sans fil, ainsi qu à certains canaux filaires (les paires torsadées du téléphone et donc des modems ADSL, les câbles co-axiaux, les fils électriques des courants-porteurs, etc) Ce modèle de canal conduit à deux types de canaux formels : le canal gaussien et le canal sélectif en fréquence En raison du temps imparti à COM105, nous nous focaliserons dans la suite du polycopié que sur le modèle formel le plus simple qu est le canal gaussien Le canal sélectif en fréquence, bien plus délicat à traiter mathématiquement, est étudié en COM223 en section 33, nous nous plaçons du coté de l émetteur Après la mise en avant d un exemple-jouet en sous-section 331, nous aborderons les deux points importants qui sont la transformation des bits en symboles en sous-section 332 et le passage du temps discret au temps continu avec la notion de filtre d émission développé en sous-section 333 Nous montrerons notamment l impact de ce filtre sur le spectre du signal émis et donc sur la bande utilisée pour la communication en section 34, nous nous plaçons cette fois-ci du coté du récepteur La première opération à réaliser lors de la réception du signal analogique est un passage au temps discret Nous verrons, à la sous-section 341, que cette opération conduit à la notion très importante du filtre adapté Une fois le signal discrétisé, nous montrerons, en sous-section 342, que de l interférence entre symboles peut exister et
36 Modulations numériques qu il convient, dans la mesure du possible, de l éliminer par un choix judicieux du filtre d émission Ceci fera intervenir la notion de filtre de Nyquist et de filtre en racine de Nyquist Enfin, en sous-section 343, nous développerons le détecteur optimal dans le cas du canal gaussien et montrerons, par le biais de la théorie de la détection optimale présentée au chapitre 1, que le détecteur optimal est très intuitif, simple et donc parfaitement implémentable Nous verrons aussi, à titre d exemple, des cas de figure moins intuitifs et moins simples pour lesquels le recours à la théorie de la détection optimale s avérera salvateur en section 35, nous évaluerons théoriquement les performances du système non-codé passant par les boîtiers introduits tout au long de ce chapitre Par performances, nous entendons probabilité d erreur Ceci nous permettra de comprendre et mesurer l influence de différents paramètres introduits tout au long de ce polycopié comme la bande, le nombre de symboles, etc Nous ferons également un lien avec les résultats obtenus aux chapitres 1 et 2 Enfin, en section 36, nous récapitulons les différentes notions présentées au cours de ce chapitre et les mettons en relation les unes avec les autres Ce polycopié ne présente vraiment que des rudiments de communications numériques De nombreux problèmes non traités dans ce polycopié faute de temps mais fondamentaux pour construire des systèmes modernes existent et sont évidemment enseignés dans le parcours «Communications Numériques» de l école (COM223, COM344, COM345) ou dans le parcours «Réseaux» (RES222, RES341, RES345) 32 Canal de propagation Par commencer, nous supposons une communication sur un canal radio-mobile, c est-à-dire, sans fil Nous noterons x(t) le signal analogique émis (portant les bits codés {c n } n et donc les données {d n } n ) Ce signal part donc de l antenne d émission et y(t) le signal analogique reçu par l antenne de réception Ce signal correspond au signal x(t) malheureusement nécessairement modifié par le canal de propagation Donc y(t) x(t) Un canal radio-mobile est modélisable par ce qu on appelle un canal multitrajets En effet, le signal émis x(t) arrive au niveau du récepteur à travers différents échos (ou de manière synonyme trajets) qui sont chacun caractérisé par une atténuation λ et un retard τ Ces échos proviennent typiquement des phénomènes de diffraction, réflexion et diffusion des ondes électro-magnétiques sur des obstacles Ces obstacles sont principalement les bâtiments et le sol Sur la figure 31, nous avons représenté un exemple de canal multitrajets (λ 1, τ 1 ) y(t) (λ 2, τ 2 ) (λ 0, τ 0 ) x(t) Figure 31 Schéma d un canal multitrajets D un point de vue mathématique, le signal reçu y(t) s écrit donc K y(t) = λ k x(t τ k ) (31) k=1
Canal de propagation 37 avec λ k et τ k l atténuation et le retard du k ème trajet L équation (31) peut aussi s écrire de la manière suivante y(t) = c p (t) x(t) avec le produit de convolution et la réponse impulsionnelle du filtre c p (t) = K k=1 λ kδ(t τ k ) où δ( ) est la distribution/impulsion de Dirac Par conséquent, la présence d échos se traduit par une opération de filtrage linéaire sur le signal émis Pour simplifier, nous supposerons également que le canal est invariant dans le temps, c est-à-dire, que les trajets restent les mêmes tout au long de la transmission considérée Outre ces échos, le signal reçu est perturbé additivement par des phénomènes aléatoires qui seront vus comme du bruit, noté b(t) Ce bruit provient au minimum du bruit thermique des composants électroniques du récepteur mais peut également intégrer le bruit de fond présent dans la bande du signal considéré Ce bruit de fond peut provenir, à titre d exemple, des autres utilisateurs de cette bande ou bien de résidus de signaux des bandes adjacentes Comme ce bruit est l addition du bruit thermique (qui est gaussien) et de somme de phénomènes aléatoires indépendants entre eux (qui est donc gaussien par le théorème central-limite), nous considérons que le bruit b(t) est gaussien De plus, le bruit b(t) sera considéré indépendant et identiquement distribué (iid) dans le temps, ce qui veut dire, que les échantillons b(t) et b(t ) sont indépendants et ont même distribution de probabilité, et donc même moyenne et même variance pour tout t, t C est pourquoi, nous pouvons formuler l hypothèse suivante Hypothèse 31 Le bruit b(t) est iid gaussien de moyenne nulle et de fonction d autocorrélation, notée et définie par r bb (τ) = E[b(t + τ)b(t)], satisfaisant l expression suivante : Pour récapituler, nous avons le résultat suivant r bb (τ) = N 0 2 δ(τ) Résultat 31 Soient x(t) et y(t) respectivement le signal émis et le signal reçu Le canal multitrajets conduit à la relation suivante : y(t) = c p (t) x(t) + b(t) (32) avec b(t) vérifiant l hypothèse 31 Lorsque c p (t) = δ(t), alors le canal est appelé canal gaussien, car seul le bruit gaussien vient perturber la transmission Dans ce cas, la relation entre x(t) et y(t) se simplifie comme suit y(t) = x(t) + b(t) (canal gaussien) (33) Pour que ce canal soit réaliste, il faut que les échos soient négligeables ce qui veut dire que les échos n existent quasiment pas Ceci arrive notamment dans les exemples suivants : Canal gaussien 1 : les faisceaux hertziens Ce sont des systèmes de communications entre antennes fixes ayant une visibilité directe entre elles, typiquement, des communications entre deux stations de base ou entre deux relais de la télévision Dans ce cas, l antenne de l émetteur est directive et focalise sa puissance sur l antenne de réception Par conséquent, l onde émise ne se disperse pas et ne produit pas d écho puisque elle ne rebondit sur aucun obstacle La transmission est donc assurée par le chemin direct qui existe nécessairement puisque la visibilité directe est une condition sine qua non de ce type de système Ce canal ne présentant pas d écho, il vérifie l équation (33) et est donc gaussien Canal gaussien 2 : les liaisons satellitaires Considérons une liaison entre un satellite-émetteur et une antenne parabolique L onde émise par le satellite part certes dans différents directions afin de couvrir une certaine zone sur la Terre Néanmoins, en première approximation (en négligeant les changements d indice et le phénomène de diffusion induit lors du passage dans les différentes couches de l atmosphère), cette onde ne subit pas d obstacle entre le satellite et la parabole C est pourquoi, ce type de liaisons peut être modélisé par un canal gaussien Canal gaussien 3 : les réseaux câblés co-axiaux Les câbles co-axiaux produisent très peu de multitrajets et donc on les modélise par un canal gaussien Ainsi, le standard TNT pour le câble (DVC-C, en anglais) est construit selon cette hypothèse
38 Modulations numériques Cette liste n est pas exhaustive puisqu on aurait pu parler de communications optiques dans l espace libre, de communications proches à très hautes fréquences, etc Lorsque c p (t) δ(t), alors le canal est appelé canal sélectif en fréquence En effet, dans le domaine fréquentiel, l équation (32) s écrit comme suit Y (f) = C p (f)x(f) + B(f) avec Y (f), C p (f), X(f) et B(f) les transformées de Fourier respectives de y(t), c p (t), x(t) et de la réalisation du bruit b(t) Puisque la réponse impulsionnelle du canal est différente d un Dirac, la fonction de transfert du filtre f C p (f) n est pas constante et donc agit différemment selon les fréquences, ce qui veut dire, qu elle «sélectionne» les fréquences Ce modèle de canal est extrêmement répandu pour les systèmes actuels et futurs comme vous pouvez le constater avec la liste ci-dessous Canal sélectif en fréquence 1 : la téléphonie sans fil Quelque soit la génération de mobiles (2G, 3G, 4G), le canal est sélectif en fréquence A titre d exemple, prenons la 2G, c est-à-dire, la technologie GSM Les échos sont nombreux et peuvent souvent atteindre une durée de l ordre 10µs pour des périmètres de cellules classiques Hors une donnée est émise toutes les 37 µs (donc un débit de 270 kbits/s qui ne correspond absolument pas au débit que vous constatez sur votre téléphone 2G C est normal puisque au débit brut, il faut retrancher le rendement du code correcteur d erreur, le fait que ce débit est partagé avec les autres utilisateurs de la cellule et le fait qu une part de ce débit est consacrée à l échange d information des couches protocolaires du réseau) On voit que le canal mélange à peu près 3 ( 10/37) données entre elles et donc qu un produit de convolution est bien présent dans le domaine temporel Canal sélectif en fréquence 2 : le Wifi Les gammes de fréquences utilisées par le Wifi étant peu différentes de celles de la téléphonie mobile, le canal agit de la même manière et donc admet de nombreux échos En revanche, la taille des cellules étant bien plus petites, les échos sont au maximum de 800 ns Mais comme une donnée est émise toutes les 50 ns, on a de nouveau un mélange de 16 données maximum au niveau du récepteur induisant un produit de convolution Canal sélectif en fréquence 3 : la TNT On est toujours dans les mêmes gammes de fréquences ce qui induit des échos nombreux Mais les tailles des cellules étant de l ordre de plusieurs dizaines de km, les échos peuvent s étaler jusqu à 200 µs Les données étant transmises toutes les 011 µs (ce qui induit bien un débit de l ordre d une dizaine de Mbits/s requis pour faire de la transmission vidéo de qualité), nous avons un mélange de l ordre de 2000 données entre elles conduisant donc de nouveau à un produit de convolution Canal sélectif en fréquence 4 : certains systèmes filaires Le modèle de canal sélectif en fréquence introduit par le biais du canal multitrajets sans fil reste valable pour des systèmes filaires comme l ADSL (avec des échos jusqu à 100 µs) ou les courants porteurs en ligne, ainsi que la transmission sur fibre optique (pour peu que la puissance émise ne soit pas trop élevée afin de ne pas provoquer d effet non-linéaire de type Kerr Pour plus de détails, veuillez consulter les cours de SI223 et COM340) Dans la suite du cours, faute de temps, nous ne traiterons que le cas du canal gaussien Bien que moins courant en pratique que le canal sélectif en fréquence comme en atteste les exemples ci-dessus, ce canal a une immense vertu pédagogique puisqu il va nous permettre de comprendre l influence du bruit sur la qualité de la transmission indépendamment d autre phénomène perturbateur C est pourquoi ce type de canal est essentiel et se révèle le passage obligatoire pour s initier aux communications numériques En marge du cours, disons quelques mots néanmoins sur le canal sélectif en fréquence : ce canal est clairement le plus répandu en pratique Le principal problème supplémentaire induit par ce canal est l interférence entre symboles, qui sera définie proprement en sous-section 342 La gestion de cette interférence n est plus un problème aigu en communications numériques depuis la fin des années 1980 grâce à l invention de l OFDM dans les locaux du défunt CCETT de Rennes (centre de recherche conjoint entre les PTT de l époque et TDF) Cette solution, présente dans l ADSL, le Wifi, la TNT, la 4G et la 5G, ainsi que certaines autres solutions sont des piliers du cours de COM223
Description de l émetteur 39 33 Description de l émetteur 331 Un exemple-jouet (mais réel!) Pour introduire en douceur les éléments et notions constituant un émetteur standard, nous considérons dans cette sous-section, une communication sur fibre optique telle qu elle a encore lieu sur la plupart des fibres actuelles des réseaux les plus modernes La construction de l émetteur est ici fortement contraint par les capacités opto-électroniques du récepteur Etant donné les débits, de l ordre de plusieurs Gbits/s, les composants opto-électroniques opérant à cette vitesse de variation se doivent d être simples Par conséquent, le moyen le moins cher et le plus fiable pour passer de l optique à l électronique, au niveau du récepteur, est de considérer une photo-diode Comme son nom l indique, ce dispositif émet un signal électrique proportionnel à l intensité lumineuse du signal optique mis en entrée Donc du signal optique reçu y(t), on ne sera capable de distinguer que des intensités et non des phases, ce qui veut dire que y(t) et y(t) conduiront au même signal électrique sur lequel sera fait la détection Ceci implique que l information des données ne sera présente que dans l intensité du signal y(t) Pour ne pas perdre d information, il doit en être de même au niveau de l émetteur C est pourquoi, les données moduleront uniquement l intensité du signal x(t) Considérons une suite de données provenant de la sortie du code correcteur d erreur {c n } n=0,,n 1 {0, 1} N Nous souhaitons transmettre au débit binaire D b bits/s Ainsi, une donnée c n sera envoyée sur le canal toutes les T b = 1/D b secondes On dira que T b est le temps-bit Comment envoyer cette donnée sur le canal? étant donné les contraintes sur x(t) mentionnées ci-dessus, il apparaît extrêmement naturel que le signal x(t) soit i) égal à 0 sur une durée T b (entre l instant nt b et (n + 1)T b ) quand c n = 0 ou ii) égal à une amplitude A > 0 de nouveau sur une durée T b (entre l instant nt b et (n + 1)T b ) quand c n = 1 La valeur de A sera choisie en fonction d impératif de consommation énergétique, de qualité de la transmission souhaitée, de comptabilité électro-magnétique dans le cadre d ondes radio (afin de ne pas brûler le cerveau de l utilisateur!), etc Sur la figure 32, nous avons tracé le signal x(t) construit selon le principe évoqué ci-dessus pour la suite de données suivantes : 1, 0, 0, 1, 1, 0, 1, 0 T b A 0 00000000000000000000000000000000000000 11111111111111111111111111111111111111 1 0 0 1 1 0 1 0 t Figure 32 x(t) pour l envoi de N = 8 données égales à 1, 0, 0, 1, 1, 0, 1, 0 avec Nous observons sur la figure 32 que le signal x(t) est finalement fonction de trois éléments : chaque donnée épouse une certaine forme Ici, un créneau chaque forme est modifiée selon une certaine amplitude Ici, l amplitude 0 quand c n = 0, et l amplitude A quand c n = 1 ce schéma est reproduit pour chaque donnée ; Ici, il est donc décalé à chaque donnée de T b secondes Par conséquent, nous avons mathématiquement x(t) = N 1 n=0 s n g(t nt s ) (34) g(t) le filtre d émission Ici, g(t) = Π Ts (t) avec Π Ts (t) une fonction qui vaut 1 entre 0 et T s et 0 ailleurs Cette fonction est dite fonction porte ou fonction rectangulaire {s n } n la suite de symboles qui s expriment en fonction des données Ici, on a s n = Ac n T s le temps-symbole Ici T s = T b Nous verrons, dans la sous-section 332, qu il peut être pertinent de considérer T b < T s
40 Modulations numériques Justement, dans la sous-section 332, nous allons formaliser et conceptualiser l équation (34) afin d en dégager et d exploiter les degrés de liberté que nous avons pour construire de nouveaux signaux x(t) obéissant certes à la structure de l équation (34) mais utilisant d autres filtres d émission, d autres symboles et d autres temps-symboles Avant d aller plus loin, évoquons le récepteur pour un tel schéma d émission On se doute qu un récepteur simple, pour obtenir l information sur la donnée c n est de sélectionner la tranche du signal entre nt s et (n + 1)T s, d intégrer cette tranche en normalisant par le temps T s et de comparer la valeur résultante à un seuil Sans bruit, la valeur est de 0 si c n = 0 et de A si c n = 1 Ainsi, un choix naturel pour le seuil est A/2 Nous verrons aux sous-sections 341 et 343 que cette démarche est effectivement optimale 332 Des bits aux symboles d information Si on se donne comme objectif d augmenter le débit D b, on s aperçoit en examinant l équation (34) qu on ne peut agir que sur deux manettes : i) diminuer le temps-symbole (nous verrons les conséquences de ce choix en sous-section 333), ii) augmenter le nombre de symboles possibles afin d augmenter le nombre de bits émis par symbole Dans cette sous-section, nous allons nous intéresser à cette deuxième manette Soient M l ensemble des valeurs possibles pour chaque symbole s n M = card(m) le nombre de valeurs possibles pour chaque symbole Nous avons alors le nombre de bits/données représenté dans chaque symbole égal à log 2 (M) et un tempsbit T b équivalent à T s / log 2 (M) Par conséquent, sans modifier la valeur de T s, plus M est grand et plus les débits sont élevés Nous verrons à la section 35 que nous ne pouvons pas jouer totalement à notre guise sur ce paramètre M sans compromettre gravement la qualité de la transmission Une fois la valeur de M fixée (comme déjà dit, nous verrons à la section 35 comment choisir cette valeur de manière judicieuse), il convient de choisir les M valeurs possibles des symboles, autrement dit, de disposer les M symboles sur l axe des réels L ensemble de ces M emplacements définira une constellation Les deux constellations (à valeurs réelles) les plus classiques sont les suivantes : M-OOK(pour On-Off Keying) Il apparaît raisonnable de disposer les symboles de manière régulière afin de n en privilégier aucun et surtout de n en désavantager aucun De plus, ici, seul le niveau de l amplitude du symbole permettra de les distinguer entre eux Ainsi, nous obtenons la constellation affichée sur la figure 33 0 A (M 1)A 0 A Figure 33 Constellation M-OOK M-PAM (pour Pulse Amplitude Modulation) En français, on parle de «Modulation D Amplitude» (MDA-M) De nouveau, on espace les symboles admissibles régulièrement mais on s autorise en plus l utilisation de la phase ce qui veut dire dans le cas réel un déphasage de π et donc l utilisation d amplitude négative Ainsi, nous obtenons la constellation affichée sur la figure 34 (M 1)A A A (M 1)A 0 2A Figure 34 Constellation M-PAM Dans la suite, on note par M = {s (m) } m=0,,m 1 les éléments de la constellation Donc, à l instant n, le symbole émis s n prend une des valeurs s (m) parmi les M possibles Tout au long du cours, nous allons considérer comme valide l hypothèse suivante sur les symboles
Description de l émetteur 41 Hypothèse 32 Soit {s n } n=0,,n 1 la suite des symboles à émettre dont les valeurs sont prises dans M = {s (m) } m=0,,m 1 Les éléments de l ensemble M sont de plus rangés dans l ordre croissant la suite aléatoire {s n } n=0,,n 1 est iid chaque symbole s n prend une valeur parmi celles de l ensemble M les valeurs de M sont équiprobables Donc nous avons que Pr(s n = s (m) ) = 1/M, m, n comme les symboles sont iid, la moyenne m s = E[s n ], la variance σs 2 = E[(s n m s ) 2 ] et l énergie E s = E[s 2 n] ne dépendent pas de n De plus, en raison de l hypothèse d équiprobabilité, ces termes s expriment comme suit m s = 1 M σ 2 s = 1 M E s = 1 M M 1 m=0 M 1 s (m) (35) (s (m) m s ) 2 (36) m=0 M 1 m=0 s (m)2 = m 2 s + σ 2 s (37) Par des calculs triviaux utilisant les sommes d entiers et les sommes d entiers au carré, nous établissons les résultats du tableau 31 qui fournit la moyenne, la variance et l énergie pour les constellations M-OOK et M-PAM OOK m s σ 2 s E s A(M 1) 2 PAM 0 A 2 (M 2 1) 12 A 2 (M 2 1) 3 A 2 (2M 2 3M+1) 6 A 2 (M 2 1) 3 Table 31 Expressions de la moyenne, la variance et l énergie pour les M-OOK et M-PAM Revenons sur le débit utile D b Comme affirmé au début de cette sous-section, offrir la possibilité de faire correspondre plusieurs bits à un symbole permet d augmenter D b Examinons cela d abord sur l exemple de la 4-OOK Nous avons maintenant 4 valeurs de disponibles : 0, A, 2A et 3A Chacune de ses valeurs peut être associée à un couple de bits à émettre Cette opération de correspondance entre le couple de bits et les symboles s appelle l étiquetage (labelling ou mapping, en anglais) Ici, nous prendrons la correspondre donnée sur le tableau 32 Trouver l étiquetage optimal au sens d une certaine métrique (typiquement la couple de bits symbole associé (00) 0 () A (11) 2A (10) 3A Table 32 Etiquetage de la 4-OOK probabilité d erreur bit) est un problème intéressant et résolu dans de nombreux cas mais ne relève pas du cours de COM105, faute de temps Si T s prend la même valeur que dans la figure 32 de l exemple-jouet, alors celle-ci se modifie comme sur la figure 35 Nous remarquons bien que le même nombre de bits est émis en deux moins de temps, autrement dit, qu on émet deux fois plus de bits dans le même laps de temps Nous avons doublé le débit en associant deux bits par symbole, toute chose égale par ailleurs Si les bits ne sont pas codés (c est-à-dire, si c n = d n ), on obtient trivialement la généralisation suivante D b = log 2(M) T s (38) Si les bits c n sont codés, alors il faut multiplier le terme de droite de l équation (38) par le rendement du code R pour obtenir le débit binaire utile
42 Modulations numériques T s 3A 2A A 0 00000000000000000000000000000000000000 11111111111111111111111111111111111111 1 0 0 1 1 0 1 0 t Figure 35 x(t) pour l envoi de N = 8 données égales à 1, 0, 0, 1, 1, 0, 1, 0 en 4-OOK En conclusion de cette sous-section, nous avons introduit la notion de symboles qui se révèle un moyen d augmenter le débit Nous verrons en section 35 le prix à payer pour cette augmentation par ce biais-là Comme dit en introduction de cette sous-section, un autre moyen d augmenter le débit est de diminuer T s (comme en atteste d ailleurs l équation (38)) C est pourquoi dans la sous-section suivante, nous allons analyser l impact d une modification de T s mais surtout l impact d une modification de g(t) Nous verrons en effet que les choix de T s et de g(t) sont liés en sous-section 342 Pour s en convaincre, il suffit de reprendre l exemple-jouet pour remarquer que g(t) = Π Ts (t), et donc que modifier T s revient à modifier g(t) et vice-versa 333 Du signal à temps discret au signal à temps continu Nous rappelons que le signal x(t) s écrit de la manière suivante, selon l équation (34), x(t) = N 1 n=0 s n g(t nt s ) + b(t) (39) Dans la sous-section précédente, nous avons examiné succinctement les possibilités pour {s n } Nous allons maintenant nous focaliser sur celles de g(t) Nous allons notamment analyser l influence de g(t) sur le spectre du signal émis dont la largeur de bande et sur la consommation énergétique Avant de continuer, faisons une remarque sur l utilisation de l équation (39) dans les applications modernes de communications A vrai-dire, tous les systèmes modernes (3G, 4G, 5G, Wifi, TNT, ADSL) sont basés sur l équation (39) Cette équation représente le formalisme des modulations linéaires car le signal x(t) s écrit linéairement en fonction des symboles d information {s n } n D autres liens entre x(t) et {s n } n de type non-linéaire auraient pu être considérés mais cela dépasse largement le cadre du cours de COM105 et revêt une utilité faible maintenant car ces modulations non-linéaires tombent en désuétude En fait l équation (39) est rarement utilisée sans modification car, en pratique, les symboles {s n } n de type OOK ou PAM ne modulent pas directement le filtre g(t) mais passent à travers un opérateur linéaire dont la sortie notée { s n } n module alors le filtre g(t) Cet opérateur linéaire a pour objectif de faciliter la réception Dans le cadre des 4G, 5G, Wifi, TNT et ADSL, cet opérateur s appelle l OFDM et gère la présence de l interférence entre symboles (définie à la sous-section 342) Dans le cadre de la 3G, cet opérateur s appelle le CDMA et gère l interférence entre les utilisateurs d une même cellule Ces opérateurs sont décrits et justifiés dans le cours de COM223 Spectre du signal émis Pour voir l impact de g(t) sur le spectre de x(t) et donc sur la largeur de bande, il convient d abord de définir le spectre et la largeur de bande du signal x(t) Comme le signal x(t) est aléatoire en raison de la nature aléatoire de l information (cf le chapitre 2), le spectre est défini comme étant la densité spectrale de puissance (dsp) du signal En SI1, vous avez montré que la densité spectrale de puissance d un signal stationnaire (au sens large) correspondait à la transformée de Fourier de la fonction d autocorrélation Vérifions que le signal x(t) est stationnaire ou pas au sens large? Dans la suite de cette sous-section, afin de faciliter les calculs, nous supposerons que N = + En conséquence, en accord avec l hypothèse 32, un calcul élémentaire conduit à E[x(t)] = m s g(t nt s ) (310) E[x(t + τ)x(t)] = m 2 s n=0 n,m=0 g(t + τ nt s )g(t mt s ) + σ 2 s g(t + τ nt s )g(t nt s ) (311) n=0
Description de l émetteur 43 Alors que le terme de droite de l équation (310) peut parfois être indépendant de t, notamment si m s = 0 ou si g(t) = Π Ts (t), il est clair que le terme de droite de l équation (311) dépend toujours de t Par conséquent, le signal x(t) n est pas stationnaire En fait, il est cyclostationnaire car ces moments sont invariants par un décalage temporel de T s comme on peut le vérifier facilement sur les équations (310) et (311) Cette propriété de cyclostationnarité nous empêche de calculer la dsp comme la transformée de Fourier de la fonction d autocorrélation D ailleurs cela s avère impossible puisque cette fonction d autocorrélation, définie par (t, τ) r xx (t, τ) = E[x(t + τ)x(t)] dépend maintenant des deux variables t et τ Le lien entre la dsp et r xx (t, τ) est à établir et ceci est fait dans le résultat 32 Ce résultat est démontré en annexe A1 Résultat 32 Soit f S xx (f) la densité spectrale du signal x(t) Nous avons S xx (f) = r xx (0) (τ)e 2iπfτ dτ = FT(τ r xx (0) (τ)) avec r xx (0) 1 T/2 (τ) = lim r xx (t, τ)dt T T T/2 En clair, la dsp est la transformée de Fourier de la composante continue de la fonction d autocorrélation Ceci est donc une extension de la formule vue en SI1 Etant donné le résultat 32, nous sommes maintenant en mesure de déterminer le lien entre la dsp de x(t) et de ces paramètres-constituants qui est reporté dans le résultat 33 De nouveau, la preuve, simple mais fastidieuse, est donnée en annexe A2 Résultat 33 (Formule de Bennett) Soit x(t) le signal défini par l équation (39) avec N = + On a alors + ( ) S xx (f) = m2 s n 2 ) Ts 2 G δ (f nts + σ2 s G(f) 2 T s T s n= avec f G(f) la transformée de Fourier de t g(t) Grâce au résultat 33, on remarque que la forme du spectre du signal émis dépend totalement de celle du filtre d émission g(t) De plus quand le signal n est pas à moyenne nulle, des raies apparaissent dans le spectre Plus que la forme du spectre, ce qui compte c est la largeur de bande qu il occupe Nous donnons, à la définition 31, notre définition de la bande pour les types de signaux que nous rencontrons couramment Définition 31 Soit t x(t) une fonction temporelle dont la transformée de Fourier est notée f X(f) Nous supposerons que le support du spectre (donc de f X(f)) est symétrique autour de 0 et vaut [ f max, f max ] De plus nous supposerons qu il existe une boule ouverte autour de f = 0 pour laquelle X(f) n est pas identiquement nul Alors, nous définirons la bande, notée B, comme étant la longueur du support de X Par conséquent B = 2f max (312) En cours de SI1, la bande a été définie différemment (en fait, sans le facteur 2 dans l équation (312)) car ils ont utilisé le fait que le signal x(t) était à valeurs réelles et donc que la partie négative du spectre était redondante par rapport à sa partie positive grâce à la symétrie hermitienne de X(f) Ici, afin d être compatible avec de futurs signaux à valeurs complexes (comme c est le cas maintenant dans la plupart des systèmes) qui évidemment n ont pas de spectre à symétrie hermitienne, nous n avons pas pris en compte la nature réelle du signal traité Nous serons donc cohérents avec les cours futurs de communications numériques du cycle Master Etant donné la définition 31, nous avons la largeur de bande de x(t) identique à celle de g(t) Dans la suite, nous listons quelques choix naturels de filtre g(t) et nous en évaluons qualitativement les avantages et inconvénients respectifs Exemple 1 : Fonction porte g(t) = 1 Ts Π Ts (t) = { 1/ Ts pour t [0, T s [ 0 ailleurs (313) et donc G(f) = T s sinc (πft s )
44 Modulations numériques avec sinc( ) = sin( )/ le sinus cardinal Le facteur 1/ T s a été rajouté dans l équation (313) afin d assurer une énergie-unité pour ce filtre Comme vu dans l exemple-jouet de la sous-section 331, ce filtre est couramment employé pour des transmissions sur fibre optique et s appelle alors le filtre de «Non-Retour-à-Zéro» (NRZ) Il est connu que la transformée de Fourier d un tel filtre est un sinus cardinal Par conséquent, la bande théorique occupée est infinie En pratique, si on néglige les lobes secondaires autres que le premier d entre eux, la bande est de l ordre de 4/T s Ce filtre est coûteux en terme de bande et de plus déborde beaucoup sur les canaux adjacents En optique, cela n est encore trop gênant car la bande disponible sur les fibres optiques (en raison des très hautes fréquences considérées puisque ce sont des fréquences du même ordre de grandeur que la lumière visible) est importante et donc on peut se permettre d en gâcher un peu par facilité En revanche, en communications sans fil, la bande est très précieuse, surtout autour du giga-hertz où la plupart des applications «s entasse», donc il est totalement exclu d utiliser ce type de filtre Exemple 2 : Fonction sinc et donc g(t) = 1 ( sinc π t ) Ts T s G(f) = T s Π 1/Ts (f 1/2T s ) Ce filtre a pour transformée de Fourier un spectre idéalement plat entre les fréquences 1/2T s et 1/2T s et nul ailleurs Mais il est également bien connu que ce filtre n est pas implémentable en pratique, même avec des troncatures bien choisies, en raison du phénomène de Gibbs (cf le cours de SI1) C est d ailleurs la raison pour laquelle construire des filtres analogiques avec des gabarits abrupts s avèrent délicats et a conduit à de nombreuses solutions sous-optimales dont on peut citer l exemple des filtres de Butterworth donnés en cours de ELEC1 Exemple 3 : Fonction en racine de cosinus surélevé g(t) = 4ρ π cos((1 + ρ)πt/t s ) + (T s /(4ρt)) sin((1 ρ)πt/t s ) T s 1 (4ρt/T s ) 2 et donc G(f) = Ts pour f [0, (1 ρ)/(2t s )] ( )) T s πt 2 (1 + cos s ρ ( f (1 ρ)/(2t s)) pour f ](1 ρ)/(2t s ), (1 + ρ)/(2t s )] 0 ailleurs avec ρ le facteur d excès de bande compris entre 0 et 1 Bien que ce filtre ne paraisse pas naturel, il est fort couramment utilisé, notamment en 3G avec ρ = 0, 22 ou en DVB-C avec ρ = 015, car il offre un excellent compromis entre son occupation spectrale (qui est de (1 + ρ)/t s et qui sera calculée à la sous-section 342) et son occupation temporelle En temps, il a une décroissance bien plus rapide que le sinus cardinal et des lobes secondaires bien plus faibles Ce compromis temps-fréquence est donc bien meilleur que ceux offerts par les filtres présentés aux exemples précédents De plus ce filtre possède une propriété fondamentale que doit vérifier le filtre d émission pour faciliter la réception et qui sera montrée à la sous-section 342 Pour ces deux raisons (compromis temps-fréquence et propriété fondamentale à satisfaire), ce filtre en racine de cosinus surélevé (square-root raised cosine -srrc-, en anglais) est très largement répandu dans les systèmes actuels Sur les trois exemples, nous remarquons que la bande de g(t), et donc aussi celle de x(t), est supérieure ou égale à 1/T s Nous verrons que cette inégalité n est pas due au hasard en sous-section 342 Consommation énergétique Avant de décrire le récepteur, puisque nous avons fini de décrire l émetteur (symboles et filtre d émission), examinons l énergie consommée pour en envoyer un bit par le biais du signal x(t) On note E b l énergie consommée pour émettre un bit d information Les expressions suivantes supposeront que les données c n ne sont pas codées et donc qu un bit émis c n correspond à un bit d information d n Dans le cas contraire, l équation finale (315) est à multiplier par l inverse du rendement du code R Soit P x la puissance du signal x(t) Comme un bit dure en moyenne T b secondes Nous avons E b = P x T b = P x T s / log 2 (M) Or P x = S xx (f)df, donc en utilisant l expression donnée au résultat 33, nous obtenons trivialement le résultat suivant
Description de récepteur 45 Résultat 34 L énergie consommée pour émettre un bit d information (dans le cas non codé) s écrit de la manière suivante 1 E b = E s E g + m 2 s h n (314) log 2 (M) où E g = g(t) 2 dt correspond à l énergie du filtre d émission et où h n = h(nt s ) avec h(t) = g( t) g(t) Si le signal est à moyenne nulle (m s = 0 comme dans le cas de la PAM) ou si h n = 0 pour tout n 0 (comme c est le cas des trois filtres g(t) présentés à la page précédente -cf la sous-section 342 pour plus d explications sur cette contrainte-), alors on obtient la formule simplifiée suivante E b = n 0 E se g log 2 (M) (315) Dans le reste du cours, pour simplifier, nous supposerons que E g = 1 et donc que nous travaillons avec des filtres d émission normalisés comme fait dans les trois exemples donnés plus haut En revanche, dans l exemple-jouet, nous avions E g = T s, ce qui conduira à faire une normalisation à la réception comme nous le verrons en sous-section 341 L équation (315) nous donne l impression qu en augmentant M, on diminue l énergie consommée par bit Ceci est faux si on souhaite offrir les mêmes performances En effet, on verra, en sous-section 35, qu il faut alors aussi augmenter E s augmente dans une proportion même plus grande que M 34 Description de récepteur Bien évidemment, les opérations à effectuer au récepteur pour retrouver les symboles d information, vont dépendre de la distorsion apportée par le canal de propagation Comme déjà mentionné, nous allons nous focaliser uniquement sur le canal gaussien Nous verrons, à titre d exemple, que les résultats obtenus au cours de cette section peuvent s étendre à certains autres types de canaux (notamment, lorsque plusieurs antennes sont disponibles au récepteur) sans difficulté En revanche, les résultats obtenus ne peuvent s étendre trivialement au canal sélectif en fréquence (en fait, certains résultats restent valides et d autres exigent des modifications majeures) qui doit donc faire l objet d une étude spécifique conduite dans le cours de COM223 Un récepteur est décomposé en deux boîtiers ayant des buts différents : Comme nous souhaitons prendre des décisions sur la suite discrète de symboles, il apparaît naturel de vouloir effectuer des opérations non pas sur le signal analogique y(t) mais sur une «version échantillonnée» Donc le premier boîtier a pour objectif de fournir un signal à temps discret à partir du signal analogique y(t) Nous verrons que cela ne se résume pas à un simple échantillonnage à la cadence donnée par le théorème d échantillonnage de Shannon-Nyquist Ce boîtier est décrit et partiellement justifié en sous-section 341 A partir du signal à temps discret délivré par le premier boîtier, noté {z n } n, le deuxième boîtier prendra une décision sur les symboles d information émis {s n } n Grâce aux outils de la théorie de la détection développés au chapitre 1, nous serons en mesure de donner et de justifier les opérations que le détecteur optimal (c est-à-dire, celui qui minimise la probabilité d erreur) doit effectuer Ce boîtier est décrit en sous-section 343 Enfin, la sous-section 342 est dédiée à la description d une contrainte sur le filtre d émission (dans le cas du canal gaussien) qu il doit satisfaire afin que le détecteur optimal soit ultra-simple à implémenter En effet, cette contrainte permettra d éliminer ce que nous appellerons l Interférence entre Symboles (ISI en anglais) et donc de travailler symbole par symbole 341 Du signal à temps continu au signal à temps discret : le filtre adapté Le résultat le plus important de cette sous-section est le résultat 35 suivant Nous allons ensuite i) le prouver partiellement car des outils non développés en COM105, faute de temps, nous manquent pour faire une preuve rigoureuse et complète et ii) le commenter longuement Résultat 35 (Filtre adapté) La suite à temps discret z n, optimale au sens de la probabilité d erreur, sur laquelle apposer ensuite un détecteur est la suivante : z n = z(nt s )
46 Modulations numériques avec où est le produit de convolution, et z(t) = g( t) y(t) g( t) est dit le filtre adapté (matched filter, en anglais) à g(t) Esquisse de preuve : suivante Nous supposerons au préalable que la structure optimale du premier boîtier est la z n = z(nt s ) avec z(t) = g r (t) y(t) (316) où g r (t) est dit un filtre de réception Ainsi nous forçons le récepteur à effectuer une opération linéaire suivi d un échantillonnage à la cadence des symboles Nous allons, ici, juste prouver que g r (t) = g( t) Pour cela, nous allons de plus supposer qu un unique symbole a été émis, donc que y(t) = s n g(t nt s ) + b(t) Pour optimiser le récepteur, nous allons exhiber le filtre g r (t) qui maximise, au niveau du signal z n, le Rapport Signal-à-Bruit ou Signal-to-Noise Ratio (SNR) en anglais Nous avons z n = s n g r (τ)g( τ)dτ + g r (τ)b(nt s τ)dτ } {{ } } {{ } signal bruit Pour écrire le SNR, qui est égal à E[(signal) 2 ]/E[(bruit) 2 ], nous développons les termes au carré, permutons les espérances mathématiques et les intégrales temporelles, et utilisons l hypothèse 31 sur le bruit Ainsi, nous obtenons SNR = 2E ( s gr (τ)g( τ)dτ ) 2 N 0 gr (τ) 2 dτ Par l inégalité de Cauchy-Schwartz (appliquée, ici, sur des signaux à valeurs réelles ce qui explique l absence de complexe conjugué), nous avons une borne sur le SNR indépendante de g r (t) qui vaut SNR 2E s g(τ) 2 dτ N 0 et cette borne est atteinte et donc le SNR est maximisé par rapport à g r (t) si et seulement si g r (t) = g( t) ce qui conclut la preuve Pour s affranchir de nos deux hypothèses et donc étendre la preuve pour un nombre quelconque de symboles émis et pour un récepteur dont nous ne fixons aucune structure préalable (contrairement donc à l équation (316), nous devons faire appel à des techniques plus sophistiquées reposant sur la notion d espace des signaux dont le caractère hilbertien sera précieux et utilisant la caractère gaussien du bruit (ce dont nous n avons pas eu besoin ici puisque travaillant avec le SNR et donc avec des moments du second ordre) La preuve complète est donnée en COM223 Donc le récepteur optimal est composé d abord du filtre adapté au filtre d émission et ensuite d un échantillonneur à la cadence des symboles Ainsi, nous avons transformé le signal analogique reçu en une suite discrète qui fonctionne à la même vitesse que les symboles émis Le filtre adapté ayant maximisé le SNR, il a eu pour effet de diminuer le bruit perturbant l information portée par les symboles Alors que nous avons procédé à une opération d échantillonnage, on peut s étonner de ne pas avoir utilisé le fameux théorème d échantillonnage de Shannon-Nyquist pour résoudre le problème posé Ceci aurait pu être fait mais aurait conduit à deux défauts Rappelez-vous les trois exemples de filtre d émission donnés à la sous-section précédente Tous avaient une largeur de bande supérieure ou égale à 1/T s Retenons l exemple 3 du filtre en racine de cosinus surélevé qui est souvent utilisé en pratique Sa largeur de bande vaut (1 + ρ)/t s avec en pratique ρ < 1 En échantillonnant à la cadence 2/T s, on s assure la validité du théorème de Shannon- Nyquist pour toute valeur pratique de ρ Ainsi, nous nous retrouvons en présence de deux échantillons par symbole d information ce qui est le premier défaut En effet, en pratique il faudra bien combiner ces deux échantillons associés au symbole s n pour détecter optimalement s n On pourrait montrer qu effectuer cette combinaison revient à appliquer en fait un filtre adapté mais numérique cette fois-ci
Description de récepteur 47 De plus appliquer le théorème d échantillonnage revient à ne pas perdre d information sur le signal analogique y(t) et donc à conserver tout le bruit b(t) présent dans y(t) ce qui est le deuxième défaut En effet, ceci ne nous intéresse pas de conserver tout le bruit puisque ce qui nous intéresse n est pas y(t) dans sa globalité mais seulement les symboles s n contenus dans y(t) Donc nous ne sommes intéressés que par une sous-partie de y(t) C est pourquoi on peut se permettre de ne pas échantillonner à la fréquence de Shannon-Nyquist, moyennant l application du filtre adapté Pour la petite histoire, le filtre adapté n a pas été créé pour les communications numériques mais pour le traitement du signal en radar Il permet en effet de faire ressortir l écho émis par le radar (noté g(t)) caché dans le bruit ambiant Ces travaux publiés par les Alliés durant le deuxième conflit mondial leur ont donné un avantage certain dans les luttes aérienne et maritime Avant d aller plus loin, écrivons la suite {z n } n en fonction des symboles {s n } n Le lien est donné par le résultat 36 suivant Résultat 36 (Interférence entre symboles) Dans le contexte d un canal gaussien et dans le cas de l application du filtre adapté au récepteur, nous avons z n = h n s n + w n = h 0 s n + h k s n k k 0 +w n (317) } {{ } Interférence entre symboles avec h n = h(nt s ) où h(t) = g( t) g(t) est le filtre global réunissant le filtre d émission et le filtre de réception, et w n = w(nt s ) où w(t) = g( t) b(t) est le bruit passé à travers le filtre adapté De plus, nous avons que le spectre de w n, noté f S ww (e 2iπf ), vaut où h(e 2iπf ) = n h ne 2iπfn est le spectre de la suite {h n } n S ww (e 2iπf ) = N 0 2 h(e2iπf ) (318) Preuve : En convoluant l équation (39) avec le filtre g( t), nous obtenons que z(t) = k s k h(t kt s ) + w(t) En échantillonnant ensuite à la cadence des symboles, nous avons z n = k s k h n k + w n Comme le produit de convolution est commutatif, nous avons bien l équation (317) Concernant le spectre du bruit w n, calculons d abord w n Il est clair que w n = g( τ)b(nt s τ)dτ De ce fait la corrélation r ww (n) = E[w m+n w m ] s exprime en permutant l espérance mathématique et les intégrales temporelles comme ci-dessous r ww (m) = g( τ)g( τ )E[b(mT s + nt s τ)b(mt s τ )]dτdτ Comme le bruit b(t) est blanc (cf hypothèse 31), nous avons r ww (n) = N 0 g( τ)g(nt s τ )δ(nt s τ + τ )dτdτ 2 = N 0 g( τ)g(nt s τ)dτ 2 = N 0 2 (g( t) g(t)) t=nt s = N 0 2 h n
48 Modulations numériques Comme le spectre pour les suites aléatoires stationnaires est défini par S ww (e 2iπf ) = n r ww (n)e 2iπfn, le résultat est démontré Nous pouvons faire quelques remarques sur les bruits que nous avons introduit : le bruit analogique w(t) est coloré puisqu il correspond au passage d un bruit blanc dans le filtre g( t) Il sera blanc si et seulement si g(t) = δ(t) ce qui n est pas envisageable en pratique puisque ce filtre est à bande infiniment constante Le bruit à temps discret w n est lui aussi a priori coloré puisque son spectre est donné par celui du filtre h n sur lequel nous n avons encore fait aucune hypothèse particulière Enfin, par construction, f S ww (e 2iπf ) est une fonction non-négative, ce qui implique que f h(e 2iπf ) l est aussi Pourquoi est-ce vrai? Par la formule sommatoire de Poisson (introduite en cours de SI1 et qui, en autre, permet de démontrer le théorème d échantillonnage de Shannon-Nyquist), nous savons que, pour tout T s, h(e 2iπf ) = h(nt s )e 2iπ(f/Ts)nTs = 1 ( ) f n H T n s T n s avec f H(f) la transformée de Fourier de t h(t) Or, comme h(t) = g( t) g(t), nous avons H(f) = G(f) 2 qui est donc non-négatif ce qui prouve bien que f h(e 2iπf ) l est aussi Cependant le cœur du résultat 36 n est pas la couleur du bruit, mais la présence d Interférence Entre Symboles (ISI) dans l équation (317) Comme un même symbole s n est présent sur plusieurs échantillons z n, le détecteur ayant pour objectif de recouvrir optimalement s n ne peut se contenter de travailler échantillon par échantillon mais doit travailler conjointement sur un ensemble d échantillons dont la taille va certainement dépendre de la longueur du filtre {h n } n Cet algorithme existe et s appelle l algorithme de Viterbi (il est notamment utilisé dans les téléphones 2G pour gérer l ISI) Cet algorithme fait appel aux techniques de programmation dynamique reliée aux Chaînes de Markov Ce cadre très général fait qu on rencontre cet algorithme aussi dans le décodage de certains codes correcteurs d erreur avec mémoire (qui sont utilisés dans tous les systèmes actuels de type 2G, 3G, 4G, TNT, Wifi, ADSL, etc) mais aussi dans d autres applications fort différentes à première vue des communications numériques comme la classification, la reconnaissance de la parole, etc Dès que le filtre {h n } n est trop long ou que la taille de la constellation M est trop grande, cet algorithme devient inopérant en raison de sa complexité algorithmique D autres solutions sous-optimales mais moins complexes existent dans la littérature pour gérer la présence d ISI : on peut citer l égalisation linéaire dont l objectif est de diminuer suffisamment la puissance de l ISI par des traitements linéaires afin de mettre ensuite en place le détecteur prévu en l absence d ISI que nous exposerons à la sous-section 343 Noter que l approche par égalisation est beaucoup utilisée dans la 3G pour gérer non pas l ISI mais l interférence entre utilisateurs au niveau de la station de base Mais actuellement la technique qui fait fureur pour gérer l ISI (4G, Wifi, TNT, ADSL, fibres optiques, etc) est l OFDM qui est basée sur le principe de diagonalisation d opérateur linéaire Ces algorithmes font l objet d une étude approfondie en COM223 Ils sont donc en dehors du périmètre de COM105 En effet, en présence d un canal gaussien, nous allons voir en sous-section 342 qu en choisissant judicieusement le filtre d émission, on peut éliminer l ISI et donc développer en sous-section 343 un détecteur bien plus simple qui ne fera pas appel aux techniques mentionnées au paragraphe précédent 342 De l interférence entre symboles : le filtre de Nyquist Dans l équation (317), l ISI provient de la présence du filtre d émission et de son filtre adapté Quand le canal de propagation est en outre sélectif en fréquence, l ISI est également engendrée par les échos du canal qui retardent le signal émis et provoquent le mélange des symboles comme déjà évoqué en section 32 Puisque nous ne choisissons pas nous-mêmes les échos du canal de propagation, cette ISI est subie et impondérable ce qui fait que le récepteur doit s y confronter sans échappatoire avec les techniques évoquées à la fin de la sous-section précédente En revanche, lorsque le canal est gaussien comme c est le cas dans ce cours de COM105, l origine de l ISI est unique et provient seulement de la présence du filtre d émission et de son filtre adapté L ISI étant vue comme un facteur nuisible (cela complique les récepteurs et en fait augmente la probabilité d erreur),
Description de récepteur 49 il nous paraît opportun de sélectionner un filtre d émission ne créant pas d ISI au niveau du signal z n C est pourquoi l objectif de cette sous-section est d exhiber les conditions sur g(t) et de manière équivalente sur h(t) (qui, nous le rappelons, vaut g( t) g(t)) pour empêcher la présence d ISI au niveau de z n En examinant l équation (317), il est évident qu il n y aura pas de mélange des symboles au niveau de z n si et seulement si les cœfficients du mélange sont nuls sauf un Autrement dit, il n y a pas d ISI si et seulement si il existe n 0 pour lequel h n0 0 et h n = 0, n n 0 Ceci est bien une condition nécessaire et suffisante En effet, le sens «suffisant» est trivial et le sens «nécessaire» provient du fait que nous voulons l absence d ISI quelle que soit la valeur des symboles émis et non pour une combinaison particulière de symboles Dans la suite du cours, sans perte de généralité, nous prendrons toujours n 0 = 0 pour simplifier Cette condition sur le filtre h(t) se traduit par l introduction du filtre de Nyquist donné en définition 32 Définition 32 (Filtre de Nyquist) Un filtre de réponse impulsionnelle l(t) est dit de Nyquist (pour la cadence 1/T s ) si et seulement si { 0 pour n = 0 l n = l(nt s ) = 0 pour n 0 (319) Par simple application de la formule sommatoire de Poisson ( n L(f n/t s) = T s n l ne 2iπfnTs ), nous obtenons une équation dans le domaine fréquentiel associée à l équation (319) Ainsi, de manière équivalente, un filtre de fonction de transfert L(f), qui est la transformée de Fourier de l(t), est dit de Nyquist si et seulement si ) L (f nts = T s l 0 = constante, f (320) n Ainsi le premier résultat de cette sous-section est le suivant Résultat 37 Soit h(t) le filtre englobant le filtre d émission et le filtre de réception et intervenant dans l équation (317) Pour ne pas créer d ISI, ce filtre doit être de Nyquist (pour la cadence 1/T s ) Evidemment, en pratique, nous ne construisons pas h(t) puisqu il résulte de la concaténation du filtre d émission g(t) et du filtre adapté à g(t) Ainsi h(t) dépend entièrement du choix de g(t) Donc ce qui nous intéresse plutôt c est la caractérisation de g(t) et donc la traduction sur g(t) du fait que h(t) soit de Nyquist Pour cela, nous devons introduire, en définition 33, la notion de filtre en racine de Nyquist Définition 33 (Filtre en racine de Nyquist) Un filtre l(t) (à valeurs réelles) est dit en racine de Nyquist si et seulement si le filtre l( t) l(t) est un filtre de Nyquist Autrement dit, le filtre convolué à son filtre adapté est de Nyquist L expression «racine de Nyquist» provient du fait que le spectre de l( t) l(t) est égal à L(f) 2 Donc si l(t) est racine de Nyquist, l( t) l(t) est Nyquist et L(f) 2 vérifie la condition de Nyquist fréquentielle Autrement dit, de tout filtre de Nyquist, on peut créer un filtre en racine de Nyquist dont le spectre sera la racine du module du spectre du filtre de Nyquist initial Pour ne pas avoir d ISI dans l équation (317), h(t) est de Nyquist De plus, si h(t) = g( t) g(t) comme conseillé en sous-section 341, alors le filtre d émission g(t) doit être en racine de Nyquist d où le résultat suivant Résultat 38 Si h(t) est un filtre de Nyquist en accord avec le résultat 37 et si h(t) = g( t) g(t) en accord avec le résultat 36, alors g(t) est un filtre en racine de Nyquist Noter que ce résultat 38 ne tient plus si on décide de mettre un filtre de réception différent du filtre adapté Cela peut arriver en pratique de ne mettre qu un filtre sélectionnant la bande utile du signal Noter également que le filtre adapté évidemment ne sélectionne que la bande utile du signal (puisqu il a la même bande) mais en plus épouse en quelque sorte la forme du signal émis et de manière optimale puisqu il maximise le SNR Le résultat 39 fournit une condition nécessaire (mais pas suffisante) que la bande des filtres de Nyquist ou en racine de Nyquist doit satisfaire Cette condition n est pas sans rappeler un commentaire effectué dans la dernière phrase du paragraphe consacré au spectre du signal émis dans la sous-section 333
50 Modulations numériques Résultat 39 La largeur de bande, notée B, de tout filtre de Nyquist ou en racine de Nyquist (pour la cadence 1/T s ) vérifie B 1 T s Preuve : Examinons d abord le cas du filtre de Nyquist Raisonnons par l absurde : supposons que B < 1/T s, alors la condition fréquentielle donnée par l équation (320) ne peut pas être satisfait puisque le terme sera parfois nul et parfois non nul En effet, il sera nul quand les fonctions décalées ne se superposent pas ce qui sera le cas puisque B < 1/T s et comme montré sur la figure 36 Donc il faut nécessairement que B 1/T s Fonction "verte/tiret" non constante L(f) L(f 1/T s ) 0 B f 1 T s Figure 36 Allure du terme de gauche de l équation (320) quand B < 1/T s Comme le spectre du filtre en racine de Nyquist est la racine du spectre du filtre de Nyquist associé, ils ont même largeur de bande et donc la condition est identique Evidemment, dans le contexte du canal gaussien, cette condition est essentielle car elle nous permet de construire des filtres d émission ne créant pas d ISI à la réception En revanche, dans le contexte du canal sélectif en fréquence, on pourra à première vue se permettre de relâcher cette condition sur la bande, puisque même si le filtre d émission est en racine de Nyquist, de l ISI subsistera à la réception en raison de celle apportée par les échos du canal multitrajets C est pourquoi, si on s affranchit de cette condition de bande, il y aura deux origines indépendantes de l ISI Et l ISI résultante sera malheureusement le cumul des ISI provenant du filtre d émission et des échos (pour s en convaincre, il suffit de se rappeler que les longueurs des filtres s additionnent par convolution) Donc l ISI résultante sera généralement plus élevée si le filtre d émission n est pas en racine de Nyquist Néanmoins si les deux ISI sont assez courtes et donc assez faibles, on peut se permettre de garder les deux et de les traiter au niveau du récepteur avec des algorithmes puissants engendrant une perte en performances limitée Ainsi, en 2G, B = 075/T s < 1/T s Ce choix a été fait car l occupation spectrale du système était cruciale Néanmoins, on ne peut pas baisser la bande indéfiniment car alors l ISI apportée par le filtre d émission devient énorme et ingérable d un point de vue algorithmique à la réception Par conséquent on aura toujours ( ) 1 B = O En conclusion, à l exception notable de la 2G, même en présence d un canal sélectif en fréquence, on continue généralement d imposer au filtre d émission d être un filtre en racine de Nyquist (et donc de vérifier la condition de bande) Donnons quelques exemples de filtres en racine de Nyquist et de filtres de Nyquist Pour cela, revenons sur les filtres d émission introduits à la sous-section 333 T s Exemple 1 : Fonction porte En observant l équation (313), on obtient aisément que cette fonction représente un filtre de Nyquist C est normal car, par construction, les symboles ne sont pas mélangés : en effet, à chaque instant, et donc a fortiori aux instants nt s, un seul symbole est présent La convolution de la fonction porte avec son filtre adapté conduit à une fonction en triangle entre T s et T s Cette fonction triangle est donc aussi un filtre de Nyquist Et la fonction porte est ainsi aussi un filtre en racine de Nyquist En fait, tout filtre ayant une réponse impulsionnelle de support [0, T s ] et nulle en T s est à la fois Nyquist et racine de Nyquist (car cette réponse impulsionnelle convoluée à son filtre adapté a alors un support de [ T s, T s ] et est nulle en T s et T s ) C est logique car dans ce cas le filtre d émission ne mélange à aucun instant les symboles et ces symboles sont donc séparables à la réception
Description de récepteur 51 On dit qu on a un principe d orthogonalité (ici, toute fonction de support [0, T s ] est orthogonale par rapport à sa décalée de nt s pour le produit scalaire canonique) Ce principe s avère en fait central en communications numériques et nous aurons l occasion de nous y pencher fortement en cours de cycle master Exemple 2 : Fonction sinc Il est facile de montrer, par l intermédiaire de la version fréquentielle du critère de Nyquist, que cette fonction de nouveau représente un filtre de Nyquist et un filtre en racine de Nyquist Exemple 3 : Fonction en racine de cosinus surélevé Comme mentionné en sous-section 333, ce filtre est couramment employé dans les systèmes pratiques en raison de son bon compromis tempsfréquence et aussi parce qu il est en racine de Nyquist En revanche, cette fonction n est pas un filtre de Nyquist En fait le filtre de Nyquist associé, résultant de la convolution de ce filtre en racine de cosinus surélevé avec son filtre adapté, se nomme filtre en cosinus surélevé et admet la réponse impulsionnelle et la fonction de transfert suivantes et donc H(f) = ( ( T s /2 1 + cos h(t) = sinc(πt/t s ) cos(πρt/t s) 1 (2ρt/T s ) 2 T s pour f [0, (1 ρ)/(2t s )] )) πt s ρ ( f (1 ρ)/(2t s)) pour f ](1 ρ)/(2t s ), (1 + ρ)/(2t s )] 0 ailleurs Le terme «cosinus surélevé» provient de l arc de cosinus translaté verticalement et permettant de rejoindre les deux parties plates du spectre On voit bien que la condition B 1/T s est respectée Le facteur d excès de bande ρ (roll-off, en anglais) détermine la bande supplémentaire que l on s impose par rapport à la bande minimale requise Une fois la contrainte de filtre de Nyquist vérifiée par h(t), l équation (317) se simplifie de la manière suivante z n = h 0 s n + w n avec, pour rappel, h 0 = g(t) 2 dt et donc h 0 = E g De plus le bruit w n devient blanc de variance h 0 N 0 /2 en accord avec l équation (318) Or, par hypothèse, nous avons fixé E g = 1 ce qui implique que h 0 = 1 Par conséquent, nous obtenons le modèle suivant pour le canal gaussien à temps discret z n = s n + w n (321) avec w n un bruit blanc gaussien centré de variance N 0 /2 L équation (321) justifie donc le modèle de canal gaussien déjà utilisé dans les chapitres 1 et 2 Dans l exemple-jouet de la sous-section 331, nous avions E g = T s et non E g = 1 Pour retrouver le modèle de l équation (321), il suffira de normaliser en divisant le signal échantillonné par T s 343 Détecteur optimal Dans cette sous-section, nous allons décrire le détecteur optimal du canal gaussien à temps discret, c està-dire, quelles opérations appliquées pour retrouver optimalement les symboles s n à partir de z n Pour cela, nous allons utiliser les résultats généraux sur la théorie de la détection exposés et démontrés à la sous-section 141 du chapitre 1 Nous rappelons juste que le détecteur qui minimise la probabilité d erreur est le fameux ML si les symboles émis sont équiprobables Selon l hypothèse 32, les symboles sont indépendants entre eux De plus comme le bruit est blanc et gaussien, les échantillons w n sont indépendants entre eux Par conséquent l échantillon z n ne possède que de l information sur l instant nt s et donc sur s n Ainsi nous pouvons travailler, sans perte d optimalité, symbole par symbole De plus, toujours selon l hypothèse 32, les symboles sont équiprobables C est pourquoi, nous allons appliquer le détecteur ML sur le signal z n pour retrouver s n Nous obtenons alors le résultat suivant
52 Modulations numériques Résultat 310 Soit {s n } n une suite de symbole vérifiant l hypothèse 32 et soit le canal gaussien à temps discret vérifiant l équation (321) Alors le détecteur optimal obtient le symbole ŝ n de la manière suivante s (0) si z n ], t (0) ] ŝ n = s (m) si z n ]t (m 1), t (m) ] pour m {1,, M 2} s (M 1) si z n ]t (M 2), + [ avec, pour m {0,, M 2}, les seuils (threshold, en anglais) suivants t (m) = s(m) + s (m+1) 2 Preuve : comme le détecteur ML est optimal, ŝ n est défini de la manière suivante ŝ n = arg max s n {s (0),,s (M 1) } p(z n s n ) (322) avec p(z n s n ) la densité de probabilité de z n en supposant s n fixé Ecrivons donc p(z n s n ) Conditionné à s n, l échantillon z n est gaussien de moyenne s n et de variance N 0 /2 Par conséquent, A partir des équations (322) et (323), nous avons p(z n s n ) = 1 e (zn sn) 2 N 0 (323) πn0 ŝ n = arg min s n {s (0),,s (M 1) } (z n s n ) 2 (324) Par conséquent, z n sera affecté au symbole s (m) le plus proche au sens de la norme quadratique On peut ainsi définir une région de décision associée au symbole s (m) de la manière suivante R (m) = {z R tq ŝ = s (m) } = {z R tq s (m) est le plus proche de z au sens de la distance quadratique} Ainsi, la région de décision R (m) est un intervalle de l axe des réels dont les bornes sont les points à égale distance entre s (m 1) et s (m) et entre s (m) et s (m+1) Evidemment un traitement particulier est à appliquer pour les deux symboles des extrémités ce qui conclut la preuve Pour les deux constellations introduites dans le polycopié, à savoir les PAM et les OOK, il est facile de vérifier que t (m) PAM = (2m + 2 M) A et t(m) OOK (m = + 1 ) A 2 ce qui donne la figure 37 suivante pour la 4-PAM et la 4-OOK Ce type de détecteur par région de décisions dont les bornes sont les médiatrices des points des constellations s appelle le détecteur à seuil 3A t (0) A t (1) A t (2) 3A 0 t (0) A t (1) 2A t (2) 3A 2A 0 2A 0 A/2 3A/2 5A/2 Figure 37 Régions de décision pour la 4-PAM (à gauche) et 4-OOK (à droite) Grâce au résultat 310, nous sommes en mesure de construire le récepteur optimal associé à l exemplejouet de la sous-section 331 Le signal reçu y(t) doit passer à travers le filtre adapté au filtre rectangulaire et est ensuite échantillonné Ceci implique que la version normalisée de z n vaut (1/T s ) (n+1)t s nt s y(t)dt Comme le filtre rectangulaire est en racine de Nyquist, on a z n = s n + w n Et le détecteur optimal consiste alors à seuiller z n par rapport à la valeur A/2 Par conséquent, le récepteur intuitivement évoqué en sous-section 331 s avère optimal
Description de récepteur 53 Nous voyons que, dans le cas d un canal gaussien, le détecteur optimal est extrêmement simple et hyperintuitif Ceci est dû à deux raisons : i) tout d abord le canal gaussien induit la minimisation d une distance euclidienne grâce au carré présent dans l exponentiel et ii) ensuite la recherche du symbole est, ici, monodimensionnelle puisque nous n avons qu une voie de transmission à la fois Nous allons illustrer ces propos à travers trois extensions du résultat 310 Ces extensions sont en marge du cours mais vous permettront de comprendre encore mieux le mécanisme de création de la fonction de coût à minimiser par le détecteur, de visualiser le caractère parfois totalement non-intuitif de cette fonction de coût et d apercevoir les problèmes parfois induits par cette minimisation lors de configurations moins triviales que le canal gaussien Extension 1 : canal SIMO avec bruit gaussien Nous considérons une transmission avec un émetteur standard composé d une antenne et d un récepteur composé de deux antennes (d où le terme SIMO pour Single Input - Multiple Output en anglais) Dans le cas d un canal gaussien, après passage dans le filtre adapté de chacune des antennes réceptrices, nous avons à notre disposition deux signaux z n (1) et z n (2) qui s écrivent de la manière suivante { z n (1) = s n + w n (1) z n (2) = s n + w n (2) (325) avec les deux bruits indépendants entre eux Nous voulons maintenant décrire le détecteur optimal ML pour notamment savoir comment combiner ou ne pas combiner les deux signaux reçus Le détecteur optimal est défini comme suit ŝ n = arg max s {s (1),,s (M 1) } p(z (1) n, z (2) n s n ) Par indépendance des bruits entre les antennes, les variables z n (1) et z (2) conditionnées par rapport à s n sont indépendantes et identiquement distribuées puisque gaussiennes de moyenne s n et de variance N 0 /2 Ainsi p(z n (1), z n (2) s n ) = p(z n (1) s n )p(z n (2) s n ) = 1 e (z n (1) sn)2 N 0 e (z(2) n sn)2 N 0 πn 0 ce qui implique que ŝ n = arg min s n {s (1),,s (M 1) } (z n (1) s n ) 2 + (z n (2) s n ) 2 (326) } {{ } n ] T et s n=[s n,s n] T Norme L 2 = z n s n 2 avec z n=[z (1) n,z (2) De nouveau il existe des régions de décision basées sur la position du vecteur reçu z n et les frontières ne sont plus des simples points mais des lignes qui s avèrent être des droites puisque ce sont les médiatrices entre les symboles s n possibles Ces régions de décision sont illustrées sur la figure 38 dans le cas de symboles émis appartenant à une 2-PAM Premièrement, nous remarquons que la distance pertinente entre les vecteurs est ici la distance euclidienne L 2 Il est clair que, sans calcul et sans connaissance de la théorie de la détection, tout le monde aurait quand même songé à mettre en œuvre cette distance Deuxièmement le détecteur associé à l équation (326) peut se ramener à une détection à seuil mono-dimensionnelle identique à celle décrite dans le résultat 310 Pour s en convaincre, examinons le cas 2-PAM Comme s 2 n = A 2 et donc indépendant du symbole émis, ce terme n influence pas l optimisation ce qui implique que minimiser z n s n 2 est équivalent à minimiser ( z n s n ) 2 avec z n = (z n (1) + z n (2) )/2 Par conséquent, il suffit d appliquer le détecteur à seuil sur la moyenne des signaux reçus L extension de ce résultat à des constellations quelconques existe mais est omis ici car plus complexe à démontrer Extension 2 : canal SIMO avec bruit laplacien Gardons le même modèle de signaux reçus qu à l équation (325) mais modifions la densité de probabilité du bruit Nous supposerons que le bruit sur chaque antenne est laplacien et donc de densité suivante p(w) = 1 N0 e 2 w N0 Cette situation peut arriver quand le bruit est composé d interférences provenant d autres utilisateurs ou quand le bruit est de nature impulsive En reproduisant la même démarche que pour le canal SIMO
54 Modulations numériques gaussien, nous savons que z n (1) et z n (2) conditionnées par rapport à s n sont des variables laplaciennes de moyenne s n et de variance N 0 /2 Par conséquent le détecteur optimal vaut ŝ n = arg min z (1) s n {s (1),,s (M 1) } n s n + z n (2) s n (327) } {{ } = z n s n 1 Norme L 1 Cette fois, la distance entre les vecteurs est la distance L 1, dite aussi distance de Manhattan car adaptée à la distance parcourue lorsque l on doit éviter des blocs de bâtiments ne pouvant être traversés par leur diagonale On voit donc bien que la nature du bruit influence la distance mise en jeu! La distance L 1 n est pas intuitive du tout, et seule la théorie de la détection développée au chapitre 1 nous a permis de l exhiber Les régions de décision associées à la norme L 1 sont dessinées sur la figure 38 pour des symboles émis appartenant à une 2-PAM Nous observons que la ligne de séparation 00000000 11111111 00000000 00000000 00000000 11111111 11111111 11111111 Région 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 indéterminée Antenne 2 Région de s n = A A A A Antenne 1 A Région de s n = A 00000000 11111111 00000000 11111111 00000000 00000000 11111111 11111111 Région 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 indéterminée Ligne en "magenta/tiret" correspond au canal gaussien Figure 38 Régions de décision pour le canal SIMO avec bruit gaussien et avec bruit laplacien (autrement dit, la frontière) entre les deux régions de décision est la médiatrice pour le cas gaussien et des lignes brisées pour le cas laplacien ce qui est complètement contre-intuitif Pour votre culture générale, sachez que cette norme joue un rôle fondamental en traitement d images, pour lequel elle a été introduite, notamment à travers la problématique de l acquisition comprimée (Compressive Sensing, en anglais) Cette problématique d acquisition comprimée s est au final trouvée être également cruciale dans le domaine de la radio cognitive Extension 3 : canal MIMO massif avec bruit gaussien Considérons maintenant non seulement la présence de N r antennes à la réception mais aussi de N e antennes à l émission Ce type de communications, dit Multiple Input - Multiple Ouput (MIMO) en anglais, est en vogue depuis dix ans dans le monde académique et commence à être appliqué dans les systèmes comme la 4G ou la dernière génération de Wifi Sans s étendre sur le sujet, on peut juste dire que le MIMO permet à la fois d augmenter les débits de manière considérable et de fiabiliser les liens de communications En sortie échantillonnée du filtre adapté de l antenne réceptrice r, nous avons z (r) n = N e e=1 h r,e s (e) n + w (r) n où la somme correspond aux différentes contributions des antennes d émission qui interfèrent entre elles à travers le canal radio-mobile, où h r,e correspond à l atténuation entre l antenne d émission e et l antenne de réception r, et où s (e) n correspond au symbole émis à l instant nt s sur l antenne d émission e Ces liens entre antennes induisent le modèle matriciel suivant z n = Hs n + w n (328)
Performances 55 avec z n = [z n (1),, z (Nr) et w n = [w (1) n,, w (Nr) n ] T n ] T, H = [h r,e ] 1 r Nr,1 e N e matrice de taille N r N e, s n = [s (1) n,, s (Ne) n ] T, Noter que le modèle entrée/sortie donné par l équation (328) est extrêmement général puisque toute perturbation linéaire peut se mettre sous forme matricielle Ce modèle permet donc de représenter des communications MIMO mais également des problèmes d interférences entre symboles (cf équation (317)), des problèmes d interférences entre utilisateurs où, dans ce cas, l indice e représente le numéro de l utilisateur interférant, des problèmes d interférences entre polarisations ou modes de propagation dans une fibre optique, etc Pour mettre en place le détecteur optimal, on doit être capable d écrire analytiquement p(z n s n ) De nouveau, comme le bruit est indépendant sur chaque antenne, nous avons p(z n s n ) = p(z n (1) s n ) p(z n (Nr) s n ) De plus chaque z n (r) conditionnée par rapport au vecteur s n est gaussienne de moyenne N e e=1 h r,es (e) n et de variance N 0 /2 Par conséquent, après quelques manipulations algébriques triviales similaires aux extensions 1 et 2, nous avons ŝ n = arg min z n Hs n 2 (329) s n {s (0),,s (M 1) } Ne } {{ } =f(s n) La matrice H n étant pas diagonale, la détection des différents symboles émis doit se faire conjointement Dans un premier temps, continuons de procéder comme dans les extensions 1 et 2, c est-à-dire, en testant tous les symboles s n possibles et donc en effectuant une recherche exhaustive des valeurs de la fonction de coût f( ) Un problème de complexité surgit alors car nous avons à effectuer une recherche N e -dimensionnelle En fait, le nombre de symboles à tester est égal à M Ne Supposons que nous utilisons une constellation 128-PAM (comme dans un vieux modem internet de type 56k) et N e = 5 antennes d émission, alors le nombre de vecteurs à tester est de l ordre de trente milliards! Ce n est pas envisageable en pratique car de complexité prohibitive Il faut donc trouver une autre technique de minimisation En y regardant bien, la fonction f est quadratique et donc convexe par rapport à s n La minimisation de fonction convexe sous contraintes est bien connue et maîtrisée (cf le cours de première année placée en début de cycle master MDI210) si les contraintes sont elles-mêmes convexes Malheureusement la contrainte sur s n est d appartenir à un sous-ensemble discret et ceci n est clairement pas un ensemble convexe (puisque tout point du segment reliant deux points de la constellation ne fait évidemment pas nécessairement partie de la constellation) Par conséquent nous ne pouvons utiliser le puissant outil de l optimisation convexe En fait, notre problème d optimisation est un problème de combinatoire qui tombe dans la vaste problématique de la recherche opérationnelle Cette problématique a de nombreuses applications en robotique, base de données, gestion de ressources, etc Afin de trouver le vecteur optimal sans les tester tous, différentes approches de recherche opérationnelle existent On peut notamment citer les deux suivantes : i) approche arborescente dans laquelle le vecteur recherché est interprété comme un arbre dont la racine est la première coordonnée et ainsi de suite Le problème se réduit à définir une stratégie de lecture de l arbre (cf le cours de COM344) et ii) approche par programmation dynamique dans laquelle des structures de récurrence du signal, si elles existent, sont exploitées comme cela peut être fait pour l interférence entre symboles via l algorithme de Viterbi qui est le plus fameux algorithme de programmation dynamique (cf le cours de COM223) 35 Performances L objectif principal de cette section est de déterminer la probabilité d erreur sur les bits d information émis Ceci nous permettra de mesurer l influence de certaines variables ajustables à notre guise, comme la constellation (cf la sous-section 351) et le code correcteur d erreur (cf la sous-section 352), de nous comparer aux performances-limites obtenues par les outils de théorie de l information (cf la sous-section 353), et d établir des règles de conception de systèmes de communication (cf la sous-section 354) 351 Probabilité d erreur bit pour la M-PAM Avant toute chose, il nous faut un lien entre la probabilité d erreur au niveau bit (qui est notre but ultime) et la probabilité d erreur au niveau symbole (qui est plus facilement calculable analytiquement)
56 Modulations numériques Pour cela, revenons à la notion d étiquetage (cf la sous-section 332) On rappelle qu à chaque symbole, on peut associer log 2 (M) bits Donc une erreur sur un symbole peut conduire à une erreur sur quelques bits La question est donc de savoir combien En supposant que les erreurs prédominantes ne sont produites que par des symboles adjacents, et que l étiquetage permet d avoir seulement un bit de différent entre deux symboles adjacents, alors, seulement 1 bit sur log 2 (M) est en erreur quand un symbole est en erreur (car en erreur avec un symbole adjacent) ce qui induit la relation suivante P b 1 log 2 (M) P e (330) avec P b et P e les probabilités d erreur bit et symbole respectives Noter que la condition sur l étiquetage n est pas restrictive En effet, on peut toujours ordonner une série de vecteurs contenant log 2 (M) bits en modifiant seulement un bit à la fois Un tel étiquetage est dit de Gray Aux résultats 311 et 312, nous obtenons les probabilités d erreur symbole et bit pour la 2-PAM et la M-PAM respectivement Les calculs pour la M-OOK sont similaires et nous encourageons le lecteur à les faire par lui-même Résultat 311 Si l hypothèse 32 est vérifiée, la constellation 2-PAM admet les performances suivantes ( ) P b = P e = Q 2 E b (331) N 0 avec la fonction x Q(x) = 1 + e u2 /2 du (332) 2π correspondant à la queue de la loi gaussienne centrée et de variance unité (Gaussian tail function, en anglais) Preuve : Comme M = 2, un bit correspond à un symbole et donc l approximation de l équation (330) devient une véritable égalité Il ne nous reste plus qu à calculer P e Par définition, x P e = Pr(ŝ n s n ) En introduisant le conditionnement sur chaque valeur possible de s n, on obtient que P e = 1 2 Pr(ŝ n = A s n = A) + 1 2 Pr(ŝ n = A s n = A) = 1 2 Pr(z n < 0 s n = A) + 1 2 Pr(z n 0 s n = A) (car seuil à zéro pour le détecteur optimal) = 1 2 Pr(A + w n < 0) + 1 2 Pr( A + w n 0) (car z n = s n + w n ) = 1 2 Pr(w n < A) + 1 2 Pr(w n A) = Pr(w n A) (par symétrie autour de zéro de la loi gaussienne) Il reste à calculer la probabilité qu une variable gaussienne centrée et de variance N 0 /2 soit supérieure à un seuil A Ceci peut se faire par l intermédiaire de la fonction de répartition (Cumulative Density Function (cdf), en anglais) et correspond à l intégration entre A et + de la densité de probabilité (Probability Density Function (pdf), en anglais) Ainsi 1 + P e = e u2 /N 0 du πn0 A ( ) 2A = Q (par changement de variable u = u 2/N 0 ) N0 Il convient maintenant d exprimer A en fonction de E b Comme E s = A 2, l équation (315) conduit à E b = A 2 ce qui prouve le résultat
Performances 57 Résultat 312 Si l hypothèse 32 est vérifiée, la constellation M-PAM admet les performances suivantes ( P e = 2 1 1 ) ( Q 6 log 2 (M) E b 2 M M 2 et P b 1 1 ) Q 6 log 2 (M) E b 1 log 2 (M) M M 2 (333) 1 N 0 La preuve de ce résultat est reportée en annexe A3 Les deux résultats précédents sont souvent présentés dans la littérature par le biais de la fonction erfc( ) Par simple changement de variable, on sait que Q(x) = (1/2)erfc(x/ 2) permettant ainsi de passer d un formalisme à l autre aisément La fonction Q( ) n admet pas d expression analytique autre que celle donnée à l équation (332) En revanche, de nombreuses approximations relativement précises existent Dans la suite du cours, nous utiliserons le fait que Q(x) 1 2 e x2 /2 (334) Par conséquent, étant donné l équation (333), la probabilité d erreur admet une décroissance exponentielle en fonction du SNR et donc une décroissance extrêmement rapide C est d ailleurs la raison pour laquelle les figures affichant la probabilité d erreur, notamment la figure 39, utilisent une échelle logarithmique Une fois l expression de probabilité d erreur obtenue, nous souhaitons nous en servir pour comparer les constellations entre elles Grâce au résultat 312, nous remarquons que ( ) E b P b = β C Q γ C (335) N 0 avec β C et γ C deux paramètres dépendant uniquement de la constellation C choisie Cette forme s avère en fait valable pour de très nombreuses constellations non traitées en cours Ainsi les performances de la constellation C sont parfaitement caractérisées par la seule connaissance de β C et γ C Comme β C se trouve à l extérieur de la fonction Q( ) et varie assez peu d une constellation à l autre, son impact sur les performances est en pratique négligeable On dira donc que P b Q( γ C E b /N 0 ) ce qui implique que seul le paramètre γ C, appelé gain de modulation, différencie vraiment les performances des constellations entre elles Pour les M-PAM, il nous suffit donc d analyser γ M PAM = 6 log 2(M) M 2 1 (336) Evidemment, le gain de modulation diminue en fonction de M et comme Q( ) est une fonction décroissante, la probabilité d erreur augmente quand la taille de la constellation augmente comme on le constate à la figure 39 En revanche, augmenter la taille de la constellation permet d augmenter le débit (puisqu il est proportionnel à log 2 (M) en raison de l équation (38)) Un compromis est donc nécessaire entre performances et débit Pour comparer les courbes de la figure 39, on peut aussi procéder de la manière suivante : examiner et comparer les E b /N 0 nécessaires pour atteindre une certaine probabilité d erreur cible, notée P target b, avec différentes constellations Ainsi, si nous considérons deux constellations C 1 et C 2, nous avons ( ) ( ) P target b Q γ C1 E b N 0 1 = Q γ C2 E b N 0 2 γ C1 E b N 0 = γ C2 1 avec E b /N 0 u le E b /N 0 de la constellation C u En passant en décibel, nous obtenons E b N 0 = E ( ) b γc2 1,dB N 0 + 10 log 10 2,dB γ C1 } {{ } Θ db =gain (>0) ou perte (<0) de C 2 par rapport à C 1 E b N 0 2 Le terme Θ db représente l écart en E b /N 0, exprimé en db, qu il existe entre les deux courbes de performances des constellations comparées Ceci veut aussi dire que les différentes courbes de la figure 39 sont identiques à un décalage en E b /N 0 près les unes par rapport aux autres Ce terme Θ db est le moyen le plus N 0
58 Modulations numériques Probabilité erreur bit P b 10 0 10 1 10 2 10 3 10 4 10 5 P b vs E b /N 0 pour PAM 2 PAM 4 PAM 8 PAM 16 PAM 32 PAM 10 6 10 7 0 5 10 15 20 25 30 35 40 E b /N 0 Figure 39 P b en fonction de E b /N 0 pour différentes M-PAM commode pour comparer des schémas de modulation (et de codage aussi comme nous le verrons ci-après) entre eux Noter que nous avons les outils pour obtenir les performances du cas SIMO traité dans l extension 1 de la sous-section 343 En effet, le détecteur à seuil est appliqué sur le signal z n = s n + w n avec w n = (w n (1) + w n (2) )/2, donc seul le bruit a été modifié Un rapide calcul montre que la variance de w n est N 0 /4 ce qui implique un gain de 3 db (car d un facteur 2 en échelle linéaire) sur le gain de modulation justifiant par là-même l utilisation de technologie multi-antennes En revanche les extensions 2 et 3 évoquées à la soussection 343 ne peuvent s étendre aussi facilement et font l objet de calculs spécifiques en cours de spécialité du cycle master 352 Lien avec le codage correcteur d erreur du chapitre 1 Nous sommes maintenant en mesure de calculer les performances globales d un système intégrant un code correcteur d erreur (cf la section concernant les performances d un code au chapitre 1) et une modulation Le canal gaussien pouvant se modéliser par une probabilité de confondre un bit 0 avec un bit 1 et viceversa avec une probabilité p donnée par la probabilité d erreur bit du canal gaussien avec la constellation C utilisée, le lien entre les bits émis et les bits décodés est bien un canal binaire symétrique de probabilité p obéissant à l équation (335) De plus si le SNR est suffisamment grand, la probabilité p donnée par l équation (335) devient petit devant 1 Nous savons qu un code correcteur binaire linéaire en bloc admet la probabilité d erreur bit suivante sur un canal binaire symétrique de probabilité d erreur p, si p 1 (cf l équation (114)) P b avec codage = δ t p t+1 (337) avec, pour rappel, δ t = d min Cn t+1 /n, t = (d min 1)/2 la capacité de correction et n la longueur du mot de code Bref nous avons ( ) P b avec codage = δ t β t+1 C Q t+1 Rγ C E b N 0 Attention, nous avons incorporé une multiplication par le rendement du code correcteur d erreur R pour prendre en compte le fait que E b représente l énergie consommée pour émettre un bit utile A titre d exemple,
Performances 59 si en 2-PAM, envoyer un symbole et donc un bit coûte 1 J, la présence d un code à répétition de rendement R = 1/n fait qu envoyer un bit utile coûte n symboles et donc n J En utilisant l approximation de la fonction Q( ) de l équation (334), nous allons obtenir une expression encore plus parlante de P b avec codage En effet, nous pouvons alors écrire que P b avec codage = β C,FEC e γ FEC γ C 2 E b N 0 (338) avec γ FEC = R(t + 1) (339) et β C,FEC = δ t β t+1 C /2 L acronyme FEC désigne le code correcteur d erreur (Forward Error Correcting coding -FEC-, en anglais) et le terme γ FEC est appelé gain de codage car il correspond au gain en SNR obtenu grâce au codage correcteur d erreur Ce gain de codage s additionne en db au gain de modulation Examinons maintenant quelques gains de codage de codes correcteur d erreur dont certains ont été vus au chapitre 1 Exemple 1 : code à répétition Nous considérons un code à répétition (n, 1) Par conséquent les deux mots de code n ont aucun bit commun et d min = n ce qui est le maximum Le rendement en revanche vaut 1/n ce qui est le minimum Ainsi le gain de codage est égal à (1/n)( (n 1)/2 + 1) qui est bien approché, quand n est suffisamment grand, par γ code à répétition 1 2 (= 3 db) Comme ce gain de codage est inférieur à 1 et donc négatif en db, il correspond à une perte! Donc si on raisonne à énergie par bit utile constante, le codage à répétition est à éviter absolument car il aggrave les performances et évidemment il diminue le débit utile Espérons que d autres codes soient plus performants Exemple 2 : code de Hamming (7, 4, 3) La distance minimale vaut 3 et donc la capacité de correction 1 Le rendement vaut 4/7 ce qui implique que γ code de Hamming (7,4,3) 8 7 (= +058 db) Ouf! Cela correspond à un gain en performances par rapport au cas non codé En revanche, le débit est encore diminué d environ 40% Il serait en fait intéressant de quantifier l apport ou non du codage pour des systèmes fonctionnant à même énergie bit utile et à même débit utile Ceci est fait dans l exemple 3 suivant Exemple 3 : code de Reed-Müller (128, 64, 16) Le rendement vaut 1/2 et la capacité de correction vaut 7 Ainsi le gain de codage vaut γ code de Reed-Müller (128,64,16) 4 (= +6 db) Nous voulons savoir si un système codé fonctionnant au même débit utile qu un système non codé peut être plus performant Pour cela, considérons une transmission d un bit utile par utilisation de canal Pour le système sans codage, une 2-PAM sera donc mise en œuvre Pour le système avec codage dont le code est celui de Reed-Müller, une 4-PAM sera nécessaire Il faut donc comparer les gains de chaque système { γsans codage = γ 2 PAM = 2 γ avec codage = γ code de Reed-Müller γ 4 PAM = 32 Par conséquent, le système avec codage permet de gagner 12 db en SNR pour un début utile identique et une consommation énergétique par bit utile identique Un codage bien choisi permet donc d améliorer les systèmes de communication toute chose égale par ailleurs Sur la figure 310, nous avons tracé P b pour différents codes de Hamming en fonction de E b /N 0 quand une constellation 2-PAM est considérée Pour le code (7, 4, 3), on peut vérifier que le gain de codage annoncé est bien celui constaté
60 Modulations numériques Probabilité erreur bit P b 10 0 10 1 10 2 10 3 10 4 10 5 P b vs E b /N 0 pour Hamming non codé Hamming (7,4) Hamming (15,11) Hamming (31,26) Hamming (63,57) 10 6 10 7 0 2 4 6 8 10 12 E b /N 0 Figure 310 P b pour différents codes de Hamming en 2-PAM en fonction de E b /N 0 353 Lien avec la théorie de l information du chapitre 2 Faisons d abord un lien avec la capacité du canal gaussien D après l équation (272), la capacité par utilisation de canal (autrement dit, le nombre maximal de bits transmis sans erreur par symbole) s exprime alors C = 1 ( 2 log 2 1 + 2E ) s N 0 Cette équation est obtenue pour un code correcteur d erreur théorique et nous aimerions la relier à des schémas réels de codage Comme il n est pas possible d obtenir une transmission sans erreur en présence de bruit (cf équation (335)), nous allons considérer seulement une certaine qualité de service (Quality of Service -QoS-, en anglais), déterminée par une probabilité d erreur bit cible, notée P target b et obtenir alors le débit admissible pour un code correcteur d erreur fixé Remarquons que, pour une M-PAM, nous avons ( ) 1 E s P b = F FEC M 2 (340) 1 avec F sans codage ( ) = 2Q( 6 ) d après l équation (333) dans laquelle on a négligé la dépendance de M du coefficient devant la fonction Q et la différenciation entre probabilité symbole et probabilité bit, avec F avec codage ( ) = δ t 2 t e 3(t+1) d après l équation (338) dans laquelle la dépendance en M du facteur devant l exponentiel a été négligée Nous avons également utilisé le fait que E s = R log 2 (M)E b Grâce aux approximations faites pour obtenir F FEC, il est très important de remarquer que cette fonction est totalement indépendante de la taille de la constellation et en fait ne dépend que de la capacité de correction du code Par un petit calcul très simple sur l équation (340), nous obtenons que avec m = 1 2 log 2 Γ FEC = 2F ( 1) FEC et m = log 2 (M) le nombre de bits par symbole M-PAM N 0 ( 1 + 1 Γ FEC 2E s N 0 ( P target) b ) (341) (342) L équation (341) ressemble étrangement à une capacité de Shannon à laquelle un facteur de pondération du SNR a été rajouté D ailleurs le terme Γ FEC s appelle la marge en SNR (SNR margin, en anglais) car il correspond à la perte en SNR par rapport à la capacité de Shannon Si on considère la valeur de probabilité d erreur bit cible de la TNT, on a P target b = 10 11 Ceci conduit, à titre d exemple, à Γ sans codage 119 db,
Performances 61 Γ code de Hamming (7,4,3) 965 db et Γ code de Reed-Müller (128,64,16) 676 db Ces équations (341) et (342) peuvent conduire à une triple interprétation Interprétation 1 : choix de la taille de la constellation Grâce à ces équations, on peut déterminer, pour un code correcteur donné, la taille de la constellation que l on peut choisir pour satisfaire la QoS cible à chaque SNR C est notamment ce type d algorithmes qui est utilisé en ADSL pour fixer la taille des constellations de votre lien modem-central téléphonique Interprétation 2 : débit à énergie constante Pour obtenir le débit utile, il faut multiplier le nombre de bits par symbole avec mr et l inverse du temps symbole Or, en pratique, on a la bande B = (1 + ρ)/t s avec ρ le facteur d excès de bande si un filtre en racine de cosinus surélevé est employé Alors on a D b = BR ( log 2(1 + ρ) 2 1 + 1 Γ ) 2E s (343) N 0 On peut donc augmenter le débit à volonté en augmentant la bande car il en dépend linéairement Attention ceci est vrai à énergie symbole constante ce qui veut dire que la puissance augmente alors car on consomme alors la puissance P s = BE s /(1 + ρ) J par seconde Sur la figure 311, nous avons tracé le débit utile en fonction de E s /N 0 pour différents schémas de codage en utilisant un filtre idéal en fréquence (ρ = 0) et une bande B = 1 MHz et nous l avons comparé à la capacité de Shannon Les marges de SNR sont celles calculées pour la TNT Nous remarquons que les codes utilisés sont 35 3 25 Débit pour une QoS fixée vs E /N s 0 Capacité de Shannon Débit en non codé Débit avec Hamming Débit avec Reed Muller Débit en Mbits/s 2 15 1 05 0 0 5 10 15 E /N s 0 Figure 311 Débit réel et capacité de Shannon pour une QoS fixée en fonction de E s /N 0 très utiles à bas SNR et perdent leur intérêt à fort SNR Ceci s explique par le fait qu à fort SNR, les codes sont mal adaptés car, certes de gain de codage satisfaisant mais de facteur R trop petit ce qui induit une perte de débit importante A fort SNR, il faut mieux choisir un code à fort rendement (car nous savons qu il y aura peu d erreur de toute façon) quitte à avoir un gain de codage plus faible Il faut donc être capable de bien sélectionner son schéma de codage et de constellation (Modulation and Coding Scheme -MCS-, en anglais) La problématique de sélection optimale de MCS est vaste et au-delà des objectifs de COM105 Interprétation 3 : débit à puissance constante A puissance constante, nous avons D b = BR ( log 2(1 + ρ) 2 1 + 1 + ρ Γ 2P s BN 0 ) (344) Par conséquent, le débit utile continue à croître en fonction de la bande mais plus linéairement Il admet même une asymptote comme en atteste la figure 312
62 Modulations numériques 80 Capacité de Shannon vs B (avec P s fixée) 70 Capacité de Shannon en Mbits/s 60 50 40 30 20 10 Capacité de Shannon 0 0 500 1000 1500 2000 B (en MHz) Figure 312 Capacité de Shannon à puissance constante en fonction de B (avec P s = 510 7 mw et N 0 = 140 dbm/hz) Un autre lien peut être fait avec le chapitre consacré à la théorie de l information en travaillant sur la capacité du canal binaire symétrique de paramètre p Dans le cadre de la transmission d une 2-PAM, le canal reliant s n à ŝ n est binaire symétrique de paramètre p = Q( 2E s /N 0 ) où, nous rappelons E s = E b en l absence de codage et E s = RE b en présence d un code de rendement R Par conséquent, grâce au résultat 26, la capacité s exprime C = 1 H b (Q( ) 2E s /N 0 ) (345) Sur la figure 313, nous avons tracé C en fonction de E s /N 0 donnée par l équation explicite (345) et en fonction de E b /N 0 donnée par l équation implicite (346) C = 1 H b (Q( ) 2CE b /N 0 ) (346) La capacité n admet pas de E s /N 0 minimum Dès que du signal est émis à une certaine énergie/puissance par utilisation de canal, de l information passe sans erreur En revanche, il existe une borne inférieure pour E b /N 0 L énergie/puissance par bit utile nécessite une valeur minimale! 354 Lien entre les paramètres de dimensionnement d un système Durant ce polycopié, nous avons introduit un certain nombre de paramètres dont il est important de comprendre leur nature et leurs relations Certains paramètres sont exogènes puisque le concepteur du système n a pas de marge de manœuvre sur eux car ils sont contraints par ailleurs, notamment l application ou la compatibilité électro-magnétique : Occupation spectrale via la bande B, Consommation via l énergie/puissance par bit E b ou par symbole E s, Qualité de transmission via la probabilité d erreur bit P b, Rapidité de transmission via le débit binaire utile D b D autres paramètres sont endogènes puisque l ingénieur concevant le système a un certain degré de liberté sur leur dimensionnement
Performances 63 1 09 Capacité de Shannon vs E s /N 0 et E b /N 0 pour la 2 PAM Capacité de Shannon vs E s /N 0 Capacité de Shannon vs E b /N 0 Capacité de Shannon 08 07 06 05 04 03 02 01 0 20 15 10 5 0 5 10 15 20 E x /N 0 (x=s ou x=b) (en db) Figure 313 Capacité pour la 2-PAM en fonction de E s /N 0 et de E b /N 0 Filtre d émission g(t), d où le temps-symbole T s, Constellation M, d où le nombre de symboles M, Code correcteur d erreur, d où la capacité de correction t et et le rendement R Sur la figure 314, nous avons récapitulé le lien entre ces paramètres (trait plein = croissant, trait en tiret = décroissant) Bande B Energie E b /E s /P s Filtre d émission Constellation Codage T s M R t Débit D b QoS P b Figure 314 Lien entre les paramètres de dimensionnement d un système Remarquons qu en changeant la bande du signal, il est facile d augmenter le débit (cf équations (343) et (344) C est la raison pour laquelle nous introduisons la notion d efficacité spectrale, notée η, qui correspond au débit binaire divisé par la bande disponible pour le réaliser η = D b B
64 Modulations numériques Cette efficacité est un moyen simple d évaluer et de comparer de manière honnête des systèmes utilisant des techniques différentes et des largeurs de bande différentes Cette efficacité s exprime en bits/s/hz Pour les systèmes actuels, l efficacité oscille typiquement entre 1 et 10 36 Bilan Nous récapitulons sur la figure 315 les éléments et paramètres intervenant dans un émetteur et récepteur standard si le canal est gaussien Pour retrouver les liens entre les paramètres, consultez la figure 314 modulations numériques (chapitre 3) énergie E s ou E b ou P s Source Codage de Source d n Codage de Canal Code correcteur t et R c n Etiquetage s n Filtre d émission Filtre g(t) x(t) bande B Constellation M Temps-symbole T s qualité P b Canal débit D b y(t) = x(t) + b(t) Echantillonnage Destinataire Décodage de Source ˆd n Décodage de Canal ĉ n ŝ n Seuillage z n nt s z(t) Filtre adapté y(t) modulations numériques (chapitre 3) Figure 315 Schéma d un émetteur (TX) et d un récepteur (RX) Dans ce chapitre, seulement des éléments rudimentaires de modulations numériques vous ont été présentés En COM223, nous introduisons les outils mathématiques (tel l espace vectoriel des signaux) permettant de réellement concevoir les systèmes actuels Pour cela, on prend en compte l interférence entre symboles avec les récepteurs associés, on modélise les canaux plus finement ce qui permet notamment de travailler sur des canaux variant dans le temps, on dimensionne précisément les systèmes complexes existants (3G, 4G) Enfin le lien avec les couches supérieures du réseau est également accentué En COM344, la grande nouveauté est de considérer des émetteurs/récepteurs multi-antennes (MIMO) et donc d introduire la notion de code spatio-temporel qui peut être vu comme un code correcteur d erreur mais aussi comme un modulateur On y présente notamment le code spatio-temporel optimal, dit Golden code, développé en 2005 à Télécom ParisTech par J-C Belfiore et G Rekaya Nous rappelons ci-dessous les concepts de base et savoir-faire concernant ce chapitre à acquérir durant cette unité d enseignement Les concepts de base : Les éléments présents dans un émetteur/récepteur, Le filtre adapté, Le filtre de Nyquist, Les relations entre les paramètres de dimensionnement Les savoir-faire : Vérifier les propriétés des filtres (cf TD5), Calculer des probabilités d erreur bit pour de nouvelles modulations (cf TD6), Comparer des techniques et systèmes entre eux (cf TD6), Concevoir un système via ces paramètres pour un cahier des charges donné (cf TD7)
Annexe A Quelques preuves relatives au chapitre 3 A1 Preuve du résultat 32 Soit x(t) une réalisation du processus aléatoire Considérons l intervalle d observation [ T/2, T/2] La trasnformée de Fourier de cette réalisation existe, est notée X(f) et vaut X(f) = T/2 T/2 x(t)e 2iπft dt (A1) L énergie présente à la fréquence f vaut évidemment X(f) 2 Comme l intervalle d observation est de longueur T, la puissance présente à la fréquence f vaut X(f) 2 /T La densité spectrale de puissance est donc juste le terme X(f) 2 /T moyenné sur toutes les réalisations de x(t) et observé sur une fenêtre infiniment longue D où 1 S xx (f) = lim T + T E [ X(f) 2] (A2) En insérant l équation (A1) dans l équation (A2), on obtient directement le résultat voulu par permutations judicieuses des limites, intégrales et espérances mathématiques A2 Preuve du résultat 33 Soit x(t) le signal défini par l équation (39) avec N = + On a aisément que r xx (t, τ) = m 2 s g(t + τ nt s )g(t n T s ) + σs 2 g(t + τ nt s )g(t nt s ) n,n n Il est facilement de montrer, par simple changement d indice dans les sommes, que la fonction t r xx (t, τ) est périodique de période T s Par conséquent, on a r xx (0) 1 T/2 (τ) = lim r xx (t, τ)dt = 1 Ts/2 r xx (t, τ)dt T T T/2 T s T s/2 Donc r (0) xx (τ) = m2 s T s n,n Ts/2 T s/2 g(t + τ nt s )g(t n T s )dt + σ2 s T s n Ts/2 T s/2 g(t + τ nt s )g(t nt s )dt En réalisant le changement de variable dans les intégrales t = t nt s et dans la première somme n = n n, nous obtenons r (0) xx (τ) = m2 s T s n,n Ts/2 nt s T s/2 nt s g(t + τ)g(t n T s )dt + σ2 s T s n Ts/2 nt s T s/2 nt s g(t + τ)g(t )dt d où r (0) xx (τ) = m2 s T s n + g(t + τ)g(t n T s )dt + σ2 s T s + g(t + τ)g(t )dt
66 Quelques preuves relatives au chapitre 3 Par l égalité de Parseval, nous avons r (0) xx (τ) = m2 s T s n + G(f) 2 e 2iπfτ e 2πin ft s df + σ2 s T s + G(f) 2 e 2iπfτ df ft Or, par la formule sommatoire de Poisson, nous avons que T s s n e2πin = n δ(f n/t s), ce qui implique que ( ) + r xx (0) m 2 s (τ) = Ts 2 G(f) 2 δ(f n/t s ) + σ2 s G(f) 2 e 2iπfτ df T s n Par transformée de Fourier inverse et en se rappelant que G(f) 2 δ(f n/t s ) est égal à G(n/T s ) 2 δ(f n/t s ), on obtient le résultat voulu A3 Preuve du résultat 312 Comme les symboles sont équiprobables, la probabilité d erreur symbole moyenne P e est donnée par P e = 1 M M 1 m=0 Pr(ŝ n s (m) s n = s (m) ) Il est clair que les probabilités d erreur individuelles Pr(ŝ n s (m) s n = s (m) ) se décomposent en deux catégories : les symboles aux deux bords de la constellation M-PAM (s (0) et s (M 1) ) ont par symétrie la même probabilité d erreur notée Pe externe qui en revanche est différente des autres symboles de la constellation Les autres symboles ont eux aussi par symétrie une probabilité d erreur commune, notée Pe interne On a simplement que P e = 1 interne (M 2)Pe + 2 M M P e externe (A3) Pour les symboles aux extrémités de la constellation, on a ) Pe externe 1 = Pr{w n > A} = exp ( t2 dt = Q 2A 2 A πn0 N 0 N 0 Pour les autres symboles de la constellation, il y a erreur si z n passe à gauche ou à droite de la médiatrice séparant le symbole transmis avec ses symboles adjacents Ceci est possible si le bruit est inférieur à A ou supérieur à A Ainsi on a P interne e = Pr{w n > A ou w n < A} = 2Pr{w n > A} = 2Q En réunissant les équations (A3), (A4) et (A5), on obtient ( P e = 2 1 1 ) Q 2A 2 M N 0 2A 2 N 0 Il suffit juste maintenant de relier A et E b Pour cela, on calcule d abord E s Etant donné l équation (37), on a M E s = A2 (2m M 1) 2 = A2 M 3 (M 2 1) (A6) L énergie par bit reçu vaut naturellement : m=1 E b = E s log 2 (M) = A2 (M 2 1) 3 log 2 (M) ce qui permet alors de trouver trivialement le résultat 312 (A4) (A5)