Brevet FR2953666A1 — publié le 20110610

PROCÉDÉ DE CODAGE LDPC À REDONDANCE INCRÉMENTALE DESCRIPTION DOMAINE TECHNIQUE La présente invention concerne le domaine des codes LDPC (Law Density Parity Check) binaires ou non binaires. Elle concerne également les codes correcteurs d'erreur ou ECC (Error Correcting Codes) à redondance incrémentale. La présente invention peut s'appliquer à de nombreux domaines, tels que les systèmes de télécommunication à adaptation de liaison (Link Adaptation), le turbocodage, le codage distribué dans un réseau coopératif, les systèmes à protocole de transmission HHA Q ( LTtr%ri .-7 Auut-o nat r DQ r e t ro u~~e[ t ) \1l ~11y N111.L ü{.. V1LIü L1V 1\1~1.1V~V LV~IAer.J {..~ . ÉTAT DE LA TECHNIQUE ANTÉRIEURE Les codes LDPC ont été introduits par R. Gallager dans son article intitulé « Low density parity check codes » publié dans IEEE Trans. Inform. Theory, vol. IT-8, pages 21-28, 1962, et leurs intéressantes propriétés n'ont été redécouvertes que récemment, lorsque la puissance du décodage itératif a été mise en évidence dans les turbocodes. Les codes LDPC sont particulièrement intéressants dans la mesure où ils permettent non seulement d'atteindre une capacité de correction proche de la limite de Shannon mais offrent également le meilleur compromis possible entre rendement et performance (proche de la borne de Gilbert-Varsharmov). On sait que les codes LDPC sont des codes linéaires ayant pour propriété de présenter des matrices de contrôle de parité (désignées plus simplement par la suite « matrices de contrôle ») à faible densité d'éléments non nuls. On rappelle qu'un code linéaire C est défini par sa matrice génératrice G ou de manière duale par sa matrice de parité H avec HGT=O. X est un mot du code C si et seulement si HXT=O. Les codes LDPC sont susceptibles d'une représentation par graphe bipartite. On appelle graphe bipartite un graphe non orienté dont l'ensemble des noeuds est constitué de deux sous-ensembles disjoints tels que deux noeuds quelconques d'un même sous-ensemble ne sont pas reliés entre eux par une arête du graphe. Le graphe bipartite associé à un code LDPC est partitionné en un premier sous-ensemble de noeuds associés aux symboles constituant un mot de code, dits noeuds de variable, et un second sous-ensemble de noeuds associés aux contraintes du code, typiquement aux contrôles de parité, encore appelés noeuds de contrôle. Un graphe bipartite associé à un groupe de contraintes est encore appelé graphe de Tanner. Plus précisément, les noeuds de variable correspondent aux colonnes et les noeuds de contrôle aux lignes de la matrice de contrôle. Ainsi, un noeud de contrôle est relié à un noeud de variable par une arête du graphe si et seulement si le coefficient correspondant de la matrice de contrôle est non nul, autrement dit la matrice d'incidence du graphe correspond à la matrice de contrôle du code. De manière équivalente, les noeuds de variable représentent des bits du code (ou des symboles si le code est non binaire) et les noeuds de contrôle représentent des contrôles linéaires, dites aussi contraintes de parité, du code. On a représenté en Fig. 1 le graphe bipartite d' un code binaire défini par une matrice de contrôle H. On remarque que le graphe comporte six noeuds de variable, X1,...,X6, représentant les six bits du code et trois noeuds de contrôle, ,...,Y3 représentant les trois contraintes de parité portant sur ces six bits. Les codes LDPC peuvent être décodés au moyen d'un décodage itératif à passage de messages, dit aussi de type MP (Message Passing) ou BP (Belief Propagation). On trouvera une description générique de cette méthode de décodage dans la thèse de N. Wiberg intitulée « Codes and decoding on general graphs », 1996. Le décodage itératif à passage de messages est en fait une généralisation d'algorithmes bien connus dans le domaine du décodage à savoir l'algorithme « forwardbackward » utilisé pour les turbocodes et l'algorithme de Gallager pour les codes LDPC. Le message transmis par un noeud de variable à un noeud de contrôle représente la « croyance » (belief) du noeud de variable quant à la valeur du bit codé correspondant (ou du symbole codé, lorsqu' il s' agit d' un code non binaire). Réciproquement, le message transmis par un noeud de contrôle à un noeud de variable représente la « croyance » du noeud de contrôle quant à la valeur du bit codé correspondant au noeud de variable destinataire (ou du symbole codé, lorsqu' il s' agit d' un code non binaire). En pratique, ces messages sont définis en termes de probabilités, ou de rapports de vraisemblance logarithmiques (LLR). De nombreux algorithmes de décodage de codes LDPC ont été proposés dans l'état de la technique. Ils diffèrent soit par la nature des messages échangés (probabilités, LLRs), soit par la manière dont ils sont calculés, soit encore par la nature binaire ou non binaire du code. De manière non exhaustive, on peut citer les algorithmes de décodage « Sum-Product », « Min-Sum », « Min-Max », « Erasure Decoding », etc.. Par exemple, une méthode de décodage de type « Min- Max » a été décrite par V. Savin dans l'article « Min-Max decoding for non-binary LDPC codes » publié dans IEEE Symposium on Information Theory (ISIT), Toronto, Canada 2008. La faible densité d'éléments non nuls de la matrice de contrôle d'un code LDPC se traduit par une faible densité de cycles courts au sein du graphe bipartite. Ces cycles ont tendance à engendrer une auto-confirmation des variables et des contrôles dans le processus de décodage itératif. On entend par là qu'une valeur erronée d'un noeud peut se voir confirmée par le simple fait que les messages que lui transmettent ses voisins dépendent eux-mêmes des messages que ce noeud leur transmet. Pour combattre ce phénomène d'auto-confirmation, le décodage doit respecter le principe dit d'information extrinsèque : un message transmis par un noeud expéditeur à un noeud destinataire est calculé à partir de tous les messages reçus par le noeud expéditeur à l'exception de celui en provenance du noeud destinataire. Toutefois, le respect du principe d'information extrinsèque n'exclut pas des auto- confirmations à des ordres plus élevés, dus aux cycles présents dans le graphe bipartite, ces auto-confirmations étant d'autant plus probables que les cycles sont courts. On connaît par ailleurs de l'état de la technique le codage de correction d'erreur à redondance incrémentale. Un tel codage permet de pouvoir faire varier le degré de redondance et donc le débit du code à la demande. On entend par débit (ou rendement) du code le rapport entre le nombre de bits (ou de symboles) d'information par rapport au nombre de bits (ou de symboles) du code. Ainsi dans le cas d'un code binaire systématique, si i est le nombre de bits d'information et si p est le nombre de bits de parité, le débit du code est R= i+p Une première manière connue de faire varier le débit d'un code est de le poinçonner avec un taux de poinçonnage plus ou moins important. Par exemple, si (I,P) est un code systématique où I représente les bits d'information et P les bits de parité, le poinçonnage des bits de parité à des taux différents permet de faire varier la redondance du code de manière incrémentale. Une seconde manière connue de réaliser un code à 30 redondance incrémentale est de concaténer un nombre variable de codes élémentaires, encore appelés composantes du code, soit de manière série, soit de manière parallèle. La Fig. 2 illustre un exemple de codage incrémental dans lequel on peut faire varier le nombre de composantes parallèles. Plus précisément, on a représenté ici un turbocode où I est la partie systématique et où P,, P2, P3, représentent les bits de parité fournis respectivement par un premier, un second et un troisième codeurs récursifs systématiques, notés RSC1, RSC2 et RSC3. Les bits d'information sont entrelacés par un premier entrelaceur fl en entrée du second codeur récursif systématique RSC,, puis par un second entrelaceur II2 récursif systématique en entrée du troisième codeur récursif systématique RSC2. Les bits constitutifs des parties I,P1,P2,P3 sont par exemple fournis ensuite à un modulateur binaire à symbole. Comme représenté symboliquement par les commutateurs sw,, sw2, sw3, il est possible de sélectionner les différentes composantes du turbocode, par exemple de transmettre ou ne pas transmettre les bits de parité P2. Un autre exemple de codage à redondance incrémentale peut être illustré dans le contexte d'un réseau coopératif. On rappelle qu'un réseau coopératif est un réseau dans lequel l'information transmise par un terminal source s à un terminal destinataire d peut être relayée par un (ou plusieurs) terminal (terminaux) relais. Différentes stratégies de coopération ont été envisagées dans la littérature notamment selon le type d'information relayée par le terminal et le type de multiplexage entre l'information relayée et l'information propre du terminal relais. Nous avons représenté en Fig. 3 un exemple de stratégie de coopération, de type « Decode and Forward » au sein d'un réseau coopératif, tel que proposé dans l'article de B. Zhao et al. intitulé « Distributed turbo coded diversity for the relay channel », publié dans IEEE Electronics Letters, vol. 39, pages 786-787, Mai 2003. Le terminal source s transmet des bits d'information I à l'aide d'un premier code systématique Cl -(1,10 au terminal destinataire d, autrement dit le mot de code (I,PI) où p représente des bits de parité du code. Le terminal relais r reçoit également (I,F), via le canal de transmission s-r. Le terminal r décode les données reçues pour récupérer les bits d'information I, entrelace ces bits d'information. L'information ainsi entrelacée, Î, est codée à l'aide d'un second code systématique C2 =Ç,P2). Les bits de parité P2 sont ensuite transmis au destinataire d. On comprend que les codes C, et C2 constituent un turbocode parallèle (I,P,,P2), distribué entre le terminal source et le terminal relais. Le terminal destinataire peut alors décoder les données reçues en utilisant un algorithme de décodage itératif (turbodécodage). Enfin, le codage à redondance incrémentale trouve 30 aussi à s'appliquer aux systèmes de télécommunications mobiles de type HARQ (Hybrid Automatic Repeat reQuest), encore dénommés pour cette raison IR-HARQ (Incremental Redundancy HARQ). Dans un tel système, un paquet de bits d' information I est codé à l'aide d' un code correcteur d'erreurs. Lors de la première transmission du paquet sur le canal, seuls certains bits de parité, p, obtenus par exemple au moyen d'un poinçonnage du code, sont transmis avec les bits d' information. Si le récepteur ne peut corriger les erreurs du paquet à l'aide de P1, une requête de retransmission est envoyée à l'émetteur. Celui-ci peut, selon le type d'implémentation, renvoyer de nouveaux bits de parité voire la totalité des bits de parité restants, P2. Le récepteur corrige alors les erreurs du paquet à l'aide des bits P, reçus lors de la première transmission et des bits P2 reçus lors de la seconde transmission. Ce processus de retransmission peut être itéré jusqu'à ce que la totalité des bits de parité du code aient été transmis. On comprend que PI, P2,_ constituent des incréments de redondance du code qui ne sont envoyés au coup par coup sur le canal de transmission que dans la mesure où ils sont nécessaires à la bonne réception du paquet. Il a été récemment proposé une méthode de codage à redondance incrémentale utilisant des codes LDPC dans l'article de P. Razaghi et al. intitulé « Bilayer low- density parity check codes for decode-and-forward », publié dans IEEE Trans. on Information Theory, Oct. 2007. Plus précisément, cette méthode de codage utilise deux codes LDPC C1 et C2, définis par deux matrices de parité H1 et H2, comme illustré en Fig. 4A. Le code C, permet de générer une séquence de bits de parité P, à partir d'une séquence de bits d'information I,. Le code C2 permet de générer une séquence de bits de parité P2 à partir d'une séquence de bits d'information I2. On note que la longueur de I2 est égale à la somme des longueurs de I, et P,. Dans un réseau coopératif du type illustré en Fig. 3, le terminal source s code le paquet de bits d' information I en utilisant le code C, et génère une séquence de bits de parité, P,. Le terminal source envoie alors (I,P1) vers le terminal relais r et le terminal destinataire d. Le terminal relais r décode les données reçues à l'aide du code C, en corrigeant les erreurs éventuelles de transmission pouvant affecter I et Pl. Le terminal relais code ensuite ([,Pl) à l'aide du code C2 et transmet un paquet de bits de parité P2 vers le terminal destinataire d. Le terminal destinataire reçoit par conséquent (I,]) du terminal source et P2 du terminal relais. Il décode alors le paquet (I,PäPZ) en utilisant un nouveau code C, de matrice de parité H, obtenue par concaténation des matrices HI et H2, tel qu'illustré en Fig. 4B. De manière similaire, dans le cadre d'un système de télécommunication de type IR-HARQ, un terminal source peut coder un paquet de bits d'information I à l'aide du code Cl, générant ainsi une séquence de bits de parité Pl. Le terminal source envoie le paquet (I,]) vers le terminal destinataire. Le terminal destinataire décode les données reçues à l'aide du code CI, et corrige ainsi les erreurs de transmission éventuelles pouvant affecter I et P,. Si le décodage réussit, le destinataire récupère correctement le paquet de bits d'information I, et le terminal source peut continuer en transmettant le paquet d'information suivant. En revanche, si le décodage échoue, le terminal destinataire envoie une requête de retransmission au terminal source. Celui-ci code le paquet (I,P1) à l'aide du code C2 de la Fig. 4 et transmet la nouvelle séquence de bits de parité P2 obtenue à partir de I et P1. Le terminal destinataire décode alors le paquet (I,P1,P2) en utilisant le code concaténé C, de matrice de parité H, comme précédemment. Le code LDPC concaténé C présente un rendement (ou débit) plus faible que chacun des codes élémentaires constitutifs C1 et C2. En effet si R1 est le rendement du code C1 et R2 est le rendement du code C2, le rendement du code concaténé C est de R1R2. Corrélativement, la puissance de correction du code C est supérieure à celle de chacun des codes élémentaires C1 et C2. La capacité de correction d'un code LDPC est toutefois très dépendante de la densité des éléments non nuls dans sa matrice de contrôle. Ainsi, plus le rendement d'un code LDPC est faible, plus sa matrice de contrôle doit être déplétée. Autrement dit, lorsqu'on se place à une même distance par rapport à la limite théorique de Shannon, un code LDPC de rendement faible doit être moins dense qu'un code LDPC de rendement plus élevé. La construction des codes LDPC à redondance incrémentale, telle que proposée dans l'état de la technique, conduit à des matrices de parité ayant une densité trop élevée d'éléments non nuls. Ainsi, la concaténation de codes LDPC telle que décrite dans l'article précité conduit à une matrice de parité H trop dense du fait que la densité de chacune des matrices élémentaires H, et H, est supérieure à celle de la matrice de parité d'un « bon » code LDPC de rendement R,R2. En outre, comme on le voit en Fig. 4, cette densité n'est pas homogène mais est généralement plus élevée dans la matrice H, que dans le reste de la matrice. Ainsi, la matrice H hérite de tous les cycles de la matrice H1 alors que ceux-ci auraient pu être évités si l'on avait utilisé un code LDPC « natif » de rendement R1R2. L' existence de ces cycles dans la matrice H conduit à une dégradation des performances. A l'opposé, le poinçonnage d'un code LDPC permet de construire à partir d'un code LDPC de rendement R un code LDPC poinçonné de rendement R1> R, mais les performances du code poinçonné se trouvent dégradées à cause de la présence dans le graphe associé au code de noeuds qui ne reçoivent aucune information du canal de transmission. Le problème à la base de l'invention est de proposer une méthode de codage LDPC à redondance incrémentale utilisant un code LDPC tout en ne présentant pas les inconvénients précités, c'est-à-dire mettant en oeuvre des matrices de contrôle de faible densité et dépourvues de cycles courts. EXPOSÉ DE L'INVENTION La présente invention est définie par une méthode de codage à redondance incrémentale dans laquelle l'on détermine si l'on effectue le codage d' une séquence de symboles d' information à l'aide d' un premier code, de type LDPC, défini par une première matrice de contrôle, H, ou bien à l'aide d'un second code de rendement plus faible que celui du premier code, dans laquelle - le second code est défini par une seconde matrice de contrôle, H, obtenue à partir de la 15 première matrice de contrôle, en fractionnant au moins un contrôle de parité représenté par une ligne de H en une pluralité de contrôles de parité partiels portant sur des symboles du premier code et au moins un symbole supplémentaire, en ajoutant à la matrice H au moins 20 une nouvelle colonne représentant ledit symbole supplémentaire et en substituant à ladite ligne des nouvelles lignes représentant respectivement les contrôles de parité partiels ; - on code ladite séquence de symboles 25 d'information à l'aide du premier code ou du second code selon le résultat de la détermination. Ladite séquence de symboles d'information est effectuée à l'aide du premier code pour obtenir un premier mot de code X et le codage de 30 cette même séquence à l'aide du second code est effectué en recherchant le mot de code j-(' vérifiant I-IX= 0 et X F, =X où X E représente la restriction de X aux colonnes présentes dans H. Selon une première variante la méthode de codage fournit la totalité des symboles du mot de code obtenu par le codage de ladite séquence de symboles d'information par le second code. Selon une seconde variante, la méthode de codage fournit la totalité des symboles de ladite séquence d'information et le(s) symbole(s) supplémentaire(s) correspondant à la/aux colonne(s) de la second matrice de contrôle qui n'est (ne sont) pas présente(s) dans la première matrice de contrôle Selon une troisième variante, elle ne fournit que le(s) symbole(s) supplémentaire(s) correspondant à la/aux colonne(s) de la second matrice de contrôle qui n'est (ne sont) pas présente(s) dans la première matrice de contrôle. Le nombre de lignes fractionnées peut être choisi en fonction d'un état de canal de transmission sur lequel la séquence de symboles d' information est à transmettre. Les lignes peuvent également être fractionnées avec un même degré de fractionnement et ce degré de fractionnement peut être choisi en fonction d'un état de canal de transmission sur lequel la séquence de symboles d'information est à transmettre. L'invention concerne aussi une méthode de transmission à adaptation de liaison entre un terminal source et un terminal destinataire, un paquet de symboles d'information étant transmis sur ladite liaison par le terminal source à l'aide d'un premier schéma de modulation et de codage faisant appel à un premier code de type LDPC, défini par une première matrice de contrôle H et, si la qualité de la liaison 5 est inférieure, à l'aide d'un second schéma de modulation et de codage faisant appel à un second code défini par une seconde matrice de contrôle H. La seconde matrice de contrôle est obtenue en fractionnant au moins un contrôle de parité représenté par une ligne 10 de la matrice H en une pluralité de contrôles de parité partiels portant sur des symboles du premier code et au moins un symbole supplémentaire, en ajoutant à la matrice H au moins une colonne représentant ledit symbole supplémentaire et en substituant à ladite ligne 15 des nouvelles lignes représentant respectivement ces contrôles de parité partiels. On peut coder ledit paquet de symboles d' information à l'aide du premier code pour obtenir un premier mode de code X et coder ce même paquet à 20 l'aide du second code (C) en recherchant le mot de code X vérifiant HX=0 et X E=X où X E représente la restriction de X aux colonnes présentes dans H. L'invention concerne encore une méthode de turbocodage d'un paquet de symboles d'information dans 25 laquelle on fournit dans une première branche du turbocode ledit paquet sous forme systématique, on code ledit paquet à l'aide d'un premier code systématique, de type LDPC, défini par une première matrice de contrôle H. On fournit dans une seconde branche du 30 turbocode les symboles de parité du paquet ainsi encodé et l'on code ledit paquet, après l'avoir entrelacé, à l'aide d'un second code, défini par une seconde matrice de contrôle FI. Dans une troisème branche du turbocode, on fournit les symboles de parité du paquet ainsi encodé. Ladite seconde matrice de contrôle est obtenue en fractionnant au moins un contrôle de parité représenté par une ligne de la matrice H en une pluralité de contrôles de parité partiels portant sur des symboles du premier code et au moins un symbole 10 supplémentaire, en ajoutant à cette matrice au moins une nouvelle colonne représentant ledit bit supplémentaire, et en substituant à ladite ligne de nouvelles lignes représentant respectivement ces contrôles de parité partiels. L'invention concerne encore une méthode de transmission de paquets dans un réseau de transmission de type coopératif comprenant un terminal source, un terminal destinataire et au moins un terminal relais, dans laquelle : - le terminal source code un paquet de symboles d'information, I, en utilisant un premier code, C, de type LDPC et de matrice de contrôle H, et transmet le paquet ainsi encodé au terminal relais ainsi qu'au terminal destinataire ; - le terminal relais décode les données reçues pour récupérer ledit paquet et code le paquet récupéré à l'aide d'un second code défini par une matrice de contrôle H, ladite matrice H étant obtenue en fractionnant au moins un contrôle de parité représenté 30 par une ligne de la matrice H en une pluralité de 15 20 25 contrôles de parité partiels portant sur des symboles du premier code et au moins un symbole supplémentaire, en ajoutant à cette matrice au moins une colonne représentant ledit symbole supplémentaire et en substituant à ladite ligne de nouvelles lignes représentant respectivement ces contrôles de parité partiels ; - le terminal relais transmet au terminal destinataire au moins les symboles supplémentaires correspondant aux colonnes de la seconde matrice de contrôle qui ne sont pas présentes dans la première matrice de contrôle. Selon une variante, le terminal relais transmet la totalité des symboles du paquet codé par le second 15 code. Le terminal relais peut en outre transmettre au terminal destinataire ledit paquet récupéré. Le nombre de lignes fractionnées et/ou leur degré de fractionnement peut/peuvent être fonction de l'état du canal de transmission entre le terminal relais et le terminal destinataire et/ou l'état du canal de transmission entre la source et le destinataire. L'invention concerne encore une méthode de transmission de paquets dans un réseau de transmission de type coopératif comprenant un terminal source, un terminal destinataire et une pluralité de terminaux relais, dans laquelle : - le terminal source code un paquet de symboles d'information, I, en utilisant un premier code, C, de type LDPC et de matrice de contrôle H, et transmet le 20 25 30 paquet ainsi encodé aux terminaux relais ainsi qu'au terminal destinataire ; - chaque terminal relais décode les données reçues pour récupérer ledit paquet et code le paquet récupéré à l'aide d'un second code défini par une matrice de contrôle H, ladite matrice H étant obtenue à partir de H en fractionnant au moins un contrôle de parité représenté par une ligne de la matrice H en une pluralité de contrôles de parité partiels portant sur des symboles du premier code et un ensemble de symboles supplémentaires, en ajoutant à la matrice H une pluralité de colonnes représentant cet ensemble de symboles supplémentaires et en substituant à ladite ligne de nouvelles lignes représentant respectivement ces contrôles de parité partiels ; - chaque terminal relais transmet au terminal destinataire un sous-ensemble des symboles supplémentaires correspondant aux colonnes de la seconde matrice de contrôle qui ne sont pas présentes dans la première matrice de contrôle, les sous-ensembles de deux relais distincts étant disjoints. Les tailles des différents sous-ensembles peuvent être déterminées de manière centralisée par le terminal source. 25 Selon une variante avantageuse, la réunion desdits sous-ensembles constitue ledit ensemble de symboles supplémentaires et la taille du dit ensemble est déterminée par le terminal source. 30 L'invention concerne encore une méthode de transmission d'un paquet de bits d'information dans un 15 20 système de télécommunication utilisant un protocole IRHARQ dans laquelle un terminal source transmet, dans une première étape, à un terminal destinataire ledit paquet codé à l'aide d'un premier code de type LDPC, défini par une première matrice de contrôle H, dans laquelle, sur requête du terminal destinataire, le terminal source - code ledit paquet de bits d'information à l'aide du second code défini par une seconde matrice de contrôle obtenue en fractionnant au moins un contrôle de parité représenté par une ligne de la matrice H en une pluralité de contrôles de parité partiels portant sur des bits du premier code et au moins un bit supplémentaire, en ajoutant à la matrice H au moins une colonne représentant ledit bit supplémentaire, et des lignes supplémentaires représentant respectivement ces contrôles de parité partiels ; - transmet dans une seconde étape au terminal destinataire les bits supplémentaires correspondant aux colonnes de la seconde matrice de contrôle qui ne sont pas présentes dans la première matrice de contrôle. BRÈVE DESCRIPTION DES DESSINS La Fig. 1 représente un exemple de graphe bipartite associé à un code LDPC binaire ; La Fig. 2 représente schématiquement un exemple de turbocodage à redondance incrémentale ; La Fig. 3 représente schématiquement un exemple de 30 transmission dans un réseau coopératif ; Les Fig. 4A et 4B représentent schématiquement des matrices de contrôle utilisées pour un codage à codes LDPC concaténés ; Les Fig. 5A et 5B représentent respectivement un 5 exemple de matrice de contrôle d'un code et une matrice obtenue par fractionnement de celle-ci ; La Fig. 6 représente schématiquement une méthode de codage à redondance incrémentale selon un mode de réalisation de l'invention ; 10 La Fig. 7 représente schématiquement un turbocodage adaptatif utilisant une méthode de codage à redondance incrémentale selon un mode de réalisation de l'invention ; La Fig. 8 représente schématiquement un système de 15 transmission coopératif utilisant une méthode de codage à redondance incrémentale selon un mode de réalisation de l'invention. EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS 20 Nous considérons dans la suite un code LDPC binaire ou non-binaire de matrice de contrôle H. Dans le but de faciliter la compréhension de l'invention, la construction d'un code LDPC à redondance incrémentale sera tout d'abord illustrée 25 dans un cas particulier. Soit le code C défini par la matrice de contrôle H: dans laquelle on a distingué par une ligne verticale la partie gauche relative aux bits d'information et la partie droite relative aux bits de parité. Plus précisément, les huit premières colonnes de la matrice correspondent aux huit bits de la séquence d' information I=(il,i2,...,i8) et les huit dernières colonnes correspondent aux huit bits de la séquence de parité P = (pl,p2,..., p$) . Les cases vides de la matrice (1) correspondent à des valeurs nulles. Les autres éléments définissent les équations de parité satisfaites par les seize bits du mot de code c = (I,P1) . Ainsi la première ligne de la matrice H traduit la contrainte : il+i3+i4+i7 +pl=0 (2) Et, de manière similaire, la seconde ligne traduit la contrainte i2+i4+i6+i8+pi+p2 =0 (3) Une nouvelle matrice de contrôle, notée H, est construite en « fractionnant » les contrôles de parité 25 de la matrice H. Dans cet exemple, chaque contrôle de (1)20 parité (c'est-à-dire chaque ligne de H) est scindé pour donner deux lignes de H. Bien entendu, on comprendra qu'une ligne d'une matrice de contrôle H peut être scindée pour générer plusieurs lignes de H. 5 On commence le processus en scindant le contrôle de parité associé à la première ligne de H. Pour ce faire, on déplace deux éléments non nuls de la première ligne, correspondant ici aux bits 10 d'information i3 et 4, sur une nouvelle ligne On obtient alors une matrice augmentée d'une ligne 15 supplémentaire : (4) (5) Le contrôle de parité exprimé par (2) peut être réécrit de la manière équivalente : il+i7 +pi =q1 (6) 13+14=q1 en introduisant un nouveau bit de parité q1. Autrement dit, le contrôle de parité (2) est désormais scindé en deux contrôles de parité « partiels »: 10 i1+i7+p,+q,=0 i3+14+q1 =0 (7-2) ce qui se traduit par une nouvelle matrice de contrôle, présentant une colonne supplémentaire Le premier élément de la colonne relative à q1 20 traduit le premier contrôle partiel de parité défini en (7-1), le neuvième élément de cette colonne traduit le second contrôle de parité défini en (7-2). Le processus de fractionnement peut être poursuivi avec la seconde ligne, en déplaçant par exemple trois éléments non nuls 15 (8) de cette ligne correspondant aux bits d' information i2, ib et au bit de parité pl : p6 I (9) On obtient ainsi une matrice de contrôle augmentée d'une ligne supplémentaire : (10) Le contrôle de parité (3) peut encore s'exprimer 15 de manière équivalente sous la forme : i4 + i8 + p2 = q2 i2 + i6 + pl = q210 Autrement dit, le contrôle de parité (3) est désormais scindé en deux contrôles de parité « partiels » 14+18+p2+q2 =0 i2+i6+p,+q2 =0 (12-1) (12-2) où q2 est un nouveau bit de parité. Ceci se traduit par l'ajout d'une colonne supplémentaire dans la matrice de 10 contrôle : (13) 15 où le second (resp. le dixième) élément de la colonne relative à q2 traduit le premier (resp. le second) contrôle partiel de parité défini en (12-1) (resp. en (12-2)) . On peut poursuivre le processus de fractionnement 20 et créer des bits de parité supplémentaires q3 à q8. Au terme du processus, on obtient une matrice de contrôle H : Pi P2 P3 P4 P5 P6P7P (14) Dans l'exemple précédent, chaque contrôle de parité a été scindé en deux contrôles partiels. Comme indiqué plus haut, le fractionnement peut être de degré plus élevé. Ainsi la seconde ligne de la matrice H peut être scindée en trois pour donner naissance à trois lignes supplémentaires. Par exemple, si l'on considère la matrice après le fractionnement de la première ligne en (8) et que l'on déplace les éléments non nuls de la seconde ligne correspondant aux bits i2 et p, sur une première ligne supplémentaire et ceux correspondant aux bits i6 et i8 sur une seconde ligne supplémentaire : i, i6 i7 iS P2 5 P6 P7 Ps 26 1 V on obtient une nouvelle matrice : (16) Le contrôle de parité (3) peut s'exprimer de 10 manière équivalente sous la forme du système i4 + P2 = q2 i2 + pi = i6 + i8 +q2 +q3 = d' équations (17) (15)5 autrement dit, sous la forme de trois contrôles de parité partiels : i4+p2+q2=0 i2+pi+q3 =0 (18) 16+28+q2+q3 =0 en introduisant les deux nouveaux bits de parité q2 et q3. La matrice de contrôle présente alors deux colonnes supplémentaires, comme indiqué ci-après : (19) On comprendra que différents contrôles de parité puissent être scindés en des nombres différents de 15 contrôles partiels. Par exemple, plus une ligne comporte d'éléments non nuls, plus finement pourra-t-elle être fragmentée. On peut ainsi obtenir des lignes comportant un faible nombre d'éléments non nuls. A l'inverse, si nécessaire, il est toujours 20 possible de rajouter des éléments non nuls dans la matrice de contrôle. Par exemple si l'on scinde la troisième ligne de H en déplaçant les éléments non 10 nuls correspondant aux bits il et i8 sur une première ligne supplémentaire et les éléments non nuls correspondant aux bits i5 et p2 sur une seconde ligne supplémentaire : on obtient la nouvelle matrice : (20) (21) 510 Le contrôle de parité correspondant à la troisième ligne de la matrice H peut s' exprimer de la manière suivante : +iz+i5+i8+pz+p3=0 (22) On peut insérer une variable dans la contrainte (22), par exemple le bit d'information systématique i3 Q2+p3+ i3)+Qh+i8+i3)++p2) =0 (23) soit, en introduisant les nouveaux bits de parité q4=i2+p3+Z3 et q5=ti+t8+t3 i2+p3+i3+q4 =O +i8+i3+q5=0 i5+p2 +q4+q5=0 (24-1) (24-2) (24-3) 15 On remarque que le bit i3 apparaît dans le contrôle 20 partiel (24-1) et que, corrélativement, il apparaît aussi dans le contrôle partiel (24-2). La matrice de contrôle Û comporte ainsi deux colonnes supplémentaires respectivement associées à q4 et q5. A la différence des lignes précédentes un élément non nul a été introduit 25 (ici dans la troisième et la douzième lignes de la matrice) . (25) Nous décrirons dans la suite le cas général d' une méthode de codage à redondance incrémentale à l'aide d'un code dont la matrice de contrôle est obtenue par fractionnement de la matrice de contrôle H d'un code LDPC, C. Ce code n'est pas nécessairement binaire, par conséquent les éléments de H peuvent être des éléments d'un corps de Galois à q éléments, GF(q), ou de manière plus générale des éléments d'un groupe agissant sur l'alphabet non-binaire du code. Le code LDPC n' est pas non plus nécessairement systématique, c'est-à-dire les variables ne sont pas nécessairement les symboles d'information eux-mêmes mais plus généralement des combinaisons linéaires de ceux-ci (données par la matrice génératrice G du code). On notera que lorsque le code n'est pas systématique, la matrice de parité H ne se divise pas en une première partie relative aux symboles d'information et une seconde partie relative aux symboles de parité, comme dans l'exemple précédent. La matrice H est supposée être de taille MxN. Soit une matrice H de taille M x N avec M >_ M et N >_ N. On dira que des lignes de H sont obtenues par 1 A fractionnement, d'une ligne R. de H s'il existe un 5 sous-ensemble E ç [1:N~= {1,...,N}, de cardinal N tel que L.O+L. 0+...O+L~k =R. (26) E et L.O+L. 0+...O+L =0 (27) l '2 ik [LN]\E où pour tout vecteur V = (v1,...,vN) de taille N , on note VIE le vecteur des N composantes de V dont les indices [1:1;1E le vecteur des N-N composantes restantes. On a noté l'addition du 15 groupe agissant sur l'alphabet non-binaire du code, par exemple l'addition dans le corps de Galois GF(q). On rappelle que cette addition n'est autre que l'opération XOR (OU exclusif) dans le cas binaire (q=2). Dans la suite nous référerons à une opération de 20 fractionnement telle que définie en (26) et (27), y compris lorsqu'une nouvelle variable est ultérieurement insérée comme expliqué en relation avec (25). Lorsque les conditions (26) et (27) sont vérifiées on dit également que les lignes LI1,L ,...,Llk sont obtenues 25 au moyen d'un « k-fractionnement » de la ligne Ri, k étant un entier strictement supérieur à 1 indiquant le degré du fractionnement. 10 appartiennent à E et V Enfin, on dira que la matrice H est obtenue par fractionnement de la matrice H, s'il existe : • une partition de l'ensemble des M lignes de la matrice H en M sous-ensembles disjoints { {Lk+1~...,Lk2 1 ,..., {Lky +I~...,LkM 1 avec k0 =1 et ; • et un sous-ensemble E c [1:N] de cardinal N ; tels que Vm e {1,...,M} Lkry,-, +1 9 Lk , +z O+ ... U+ Lk,n et Lk,n-i+1 0 +2 f ... @ Lk =0 r1:N~\E où Rm représente la m-ième ligne de H. On comprend ainsi qu'à la ligne Rm de H a été substituée une 20 pluralité de nouvelles lignes Lkm_,+1, ,Lkn On notera que les lignes R. ne sont pas nécessairement ordonnées de manière consécutive. De manière similaire, {L1,...,Lk J représente k1 lignes distinctes quelconques de la matrice H, qui ne sont 25 pas nécessairement consécutives. Il en est de même pour {Lk,+19...,Lk,~~ etc. R E (28) (29) E représente l'ensemble des colonnes de H déjà présentes dans la matrice H. L'ensemble E est par conséquent l'ensemble des colonnes correspondant aux variables primaires (aux bits du code C original s'il s'agit d'un code binaire) ou encore, par abus de langage, l'ensemble des variables primaires. De manière similaire, [1:NI\E est l'ensemble des variables supplémentaires introduites par le processus de fractionnement. Chaque colonne supplémentaire ajoutée à la matrice H correspond à une variable supplémentaire, c'est-à-dire à un symbole supplémentaire n'appartenant pas au code C. Le code C défini par la matrice de parité H est une extension du code C au sens où si X=(X,,...,M est le 15 mot du code è alors X E est un mot du code C. Autrement dit, si HXT =0 alors HX E. A titre d'illustration, on a représenté en Fig. 5A la matrice de parité H d'un code et en Fig. 5B la 20 matrice H obtenue par fractionnement de cette matrice. On remarquera ici que : e les lignes L, et L2 de H sont obtenues par un 2-fractionnement de la ligne R, de H • les lignes L3, L4 et L5 de H sont obtenues par un 25 3-fractionnement de la ligne R2 de H • les lignes L6, L7 et L8 de H sont obtenues par un 3-fractionnement de la ligne R3 de H • les lignes L9, Lm, Ll, et Lu de H sont obtenues par un 4-fractionnement de la ligne R4 de H. On note également que la densité d'éléments non nuls de la matrice H est sensiblement inférieure à celle de la matrice H: les bits d'une ligne de H représentant un contrôle de parité sont désormais distribués sur plusieurs lignes. De manière plus générale et, à la différence de l'état de la technique, la matrice de contrôle H ne contient pas la matrice H du code de départ. Le processus de fractionnement permet de réduire la densité d'éléments non nuls dans la matrice de contrôle en même temps que l'on accroît la redondance du code. Le processus de fractionnement permet en outre de rompre les cycles éventuellement présents dans la matrice H. Le code C défini par la matrice de contrôle H présente par conséquent une capacité de correction élevée associée à une convergence rapide du décodage. La Fig. 6 représente schématiquement une méthode 20 de codage à redondance incrémentale selon un mode de réalisation de l'invention. Cette méthode de codage utilise un code C de type LDPC, défini par sa matrice de contrôle H ou, de manière duale, par sa matrice génératrice G. On sait 25 que l'on peut passer de l'une à l'autre au moyen de la relation HGT=0. Dans le cas particulier où C est un code systématique, on a G = (IK P) où K est la dimension du code (nombre de bits d'information), IK la matrice unité de taille KxK et P est une matrice de bits de 10 15 parité de taille Kx(N - K) où N est la longueur du code. La matrice de contrôle peut s'écrire sous la forme H = (-PT IN_K), soit encore dans le cas d'un code binaire H = (PT IN_K ) Ou IN-K est la matrice unité de taille (N-K)x(N-K). A l'étape 610, on dispose de la séquence de symboles d'information à coder, I, représentée sous forme vectorielle. A l'étape 620, on détermine si l'on effectue le 10 codage à l'aide du code initial C ou à l'aide d' un code C de rendement (ou débit) plus faible que C. Si l'on peut se contenter d' un codage à l'aide de C, le mot de code X =IG est fourni en 625. Dans le cas systématique X = (I,P) où P = IP est la séquence de 15 parité. A contrario, à l'étape 630, on calcule une matrice de contrôle H par fractionnement de la matrice H comme vu précédemment. Différentes variantes peuvent être envisagées, selon que toutes les lignes de la 20 matrice sont fractionnées ou certaines d'entre elles seulement le sont, ou bien encore selon que le degré de fractionnement diffère ou non d'une ligne à l'autre. Le nombre de lignes fractionnées peut dépendre de l'état de canal de transmission sur lequel les symboles 25 d'information sont à transmettre. Alternativement ou cumulativement, le degré de fractionnement de ces lignes peut également dépendre de l'état du canal en question. A l'étape 640, on code la séquence de symboles 30 d'information à l'aide du code è défini par la matrice fi. Pour ce faire on peut déterminer le mot de code X de è dont la restriction à E est égale à X. On rappelle que E est l'ensemble des colonnes de H présentes dans H, autrement dit on détermine le vecteur X tel que : E=X (30) On fournit alors en 650 un incrément de redondance 10 sous la forme de la séquence de symboles supplémentaires Xn, nE[1:N]\E. Alternativement, on peut fournir en 650 (variante non représentée) la totalité des symboles composant X. Le processus peut être itéré au sens où si le 15 codage à l'aide de è s'avère insuffisant, le fractionnement de la matrice H peut être poursuivi, soit en fractionnant des lignes non encore fractionnées, soit en augmentant le degré de fractionnement des lignes déjà fractionnées. Le 20 fractionnement pourra se poursuivre avantageusement en partant de fi. On obtiendra ainsi des codes (71,(72,_ de redondance de plus en plus élevée et donc de rendement de plus en plus faible. La méthode de codage à redondance incrémentale 25 peut être mise en oeuvre par un ordinateur, et de manière plus générale par des moyens de calcul, distribués ou non. Il est important de noter que le calcul de la matrice H à partir de H peut être effectué dynamiquement par le codeur comme décrit précédemment ou bien avoir été préalablement effectué. En particulier, dans ce second cas, les matrices H et H peuvent être stockées dans une mémoire du codeur. La méthode de codage à redondance incrémentale peut s'appliquer à de nombreux systèmes de télécommunication ou autres. Tout d'abord, elle peut être mise en oeuvre dans le cadre d'un système de télécommunication à adaptation de liaison. Comme on le sait, l'adaptation de liaison est effectuée grâce à la sélection d'un schéma de codage et de modulation ou MCS (Modulation and Coding Scheme) 15 pour transmettre des données sur cette liaison. Le terminal destinataire renvoie au terminal source une information sur l'état du canal ou CSI (Channel State Information) libellée en termes de coefficient(s) d'atténuation du canal de transmission, de rapport 20 signal sur bruit ou SNR (Signal to Noise Ratio) de taux d'erreurs bit ou BER (Bit Error Rate), de taux d'erreurs paquet PER (Packet Error Rate), etc.. Le terminal source sélectionne pour la transmission suivante le schéma MCS correspondant à l'état du canal. 25 Un schéma MCS est un couple (6äu) constitué d'un code u et d' un alphabet de modulation p. Dans le cadre d' une méthode de transmission à adaptation de liaison selon un mode de réalisation de l'invention, le code u peut être sélectionné parmi une pluralité de codes C, C1, 30 où C est un code LDPC et C1, CZ sont des codes de 10 redondance croissante, obtenus par fractionnements successifs de C. La méthode de codage à redondance incrémentale exposée précédemment peut être également appliquée à un système de turbocodage, comme représenté en Fig. 7. Le turbocodeur 700 de la Fig. 7 comprend une branche 710 transmettant directement les bits d'information I, un premier codeur, 720, codant les bits d' informations I à l'aide d' un code LDPC systématique, C, et ne fournissant que les bits de parité P, un second codeur, 730, recevant les bits d'information après entrelacement par l'entrelaceur 725 et utilisant un code è obtenu par fractionnement de la matrice de contrôle H du code C comme expliqué précédemment. Le second codeur fournit les bits de parité P du code è et le paquet encodé (I,P,P) est transmis sur le canal de transmission. Le degré de fractionnement du code C peut être réglé de manière adaptative en fonction de l'état du canal de sorte que le paquet encodé présente un niveau de redondance variant de manière incrémentale. La méthode de codage à redondance incrémentale exposée précédemment peut aussi être mise à profit pour transmettre dans un réseau coopératif, comme représenté en Fig. 8. Dans ce réseau, le terminal source s code en 810 un paquet de bits d'information, I, en utilisant un 30 code LDPC, C, de matrice de contrôle H. Il génère ainsi un mot de code X et le transmet au terminal relais r ainsi qu'au terminal destinataire d. Le relais r décode en 820 les données reçues à l'aide de la matrice H en corrigeant les erreurs 5 éventuelles de transmission. Il génère ensuite en 821 un mot de code X tel que -HX----O et i E=X où H est la matrice de contrôle obtenue par fractionnement de H. Les bits supplémentaires )c nè[l:N]\E (où E est n l'ensemble des colonnes de H présentes dans H) sont ensuite transmis en 822 au terminal destinataire. Le terminal destinataire d reçoit du terminal source le paquet X et du terminal relais le paquet . Le terminal destinataire dispose par conséquent [1N-1E (puisque Ar=ÀE) du mot de code X complet et peut le décoder en 830 en utilisant la matrice de contrôle H. Dans le cas général, la méthode de codage peut utiliser une matrice H constituée d'éléments de GF(q). Elle s'applique également que le code C soit systématique ou non. Différentes variantes de réalisation de transmission coopérative peuvent être envisagées. Tout d'abord, le terminal relais r peut transmettre l'entièreté du mot de code X au lieu de se 25 contenter de transmettre les bits supplémentaires. Le terminal destinataire reçoit alors A'=X E par deux canaux différents, ce qui permet d'améliorer la fiabilité de ces bits. 10 15 20 Alternativement, le terminal relais r peut transmettre, en sus des bits supplémentaires X , n e [1: N] \E , l'information I qu' il a décodée localement. Le terminal destinataire reçoit alors le mot de code X ainsi que l'information systématique I. Cette variante permet d'augmenter le rapport signal sur bruit pour les bits d'information I et donc d'améliorer la fiabilité de ces bits. Enfin, si une pluralité de terminaux relais rl,...,rL sont disponibles pour coopérer avec le terminal source, chaque terminal relais 1' peut se charger de transmettre un sous-ensemble At des bits supplémentaires X, n e[1:N]\E de sorte que L [1:N]\E=UAe (31) e=i Le terminal destinataire recevant les bits primaires du terminal source et les bits supplémentaires de l'ensemble des terminaux relais peut reconstituer le mot de code X et le décoder à l'aide de la matrice de contrôle H. Alternativement, comme précédemment, chacun des terminaux relais , Ê=1,...,L , pourra transmettre en sus de sa partie AP des bits supplémentaires, l'information I qu'il aura décodée localement. On augmente ainsi significativement le rapport signal sur bruit pour les bits d'information f et l'on améliore donc encore la fiabilité de ces bits. Dans l'application de la méthode de codage selon l'invention à un réseau coopératif, on a supposé que le code è était défini par un fractionnement prédéterminé de la matrice H. Toutefois, ce fractionnement peut être adaptatif, et varier par exemple en fonction de l'état du canal entre le terminal relais r et le terminal destinataire d et/ou l'état du canal entre le terminal source s et le terminal destinataire d. Plus précisément, le relais peut augmenter le degré de redondance du code C en fractionnant davantage la matrice H si l'état du canal r-d et/ou du canal s-d se dégrade. Le contrôle du fractionnement peut être réalisé à l'initiative du terminal relais ou bien sous contrôle du terminal source. Lorsque plusieurs terminaux relais rl,,...,rL interviennent de manière coopérative dans la transmission, chaque terminal relais r~ peut se voir 20 attribuer de manière dynamique un sous-ensemble At de taille plus ou moins grande en fonction de la qualité du canal r'-d. En outre, il est possible de faire varier également le degré de redondance du code C, en fractionnant plus ou moins la matrice de contrôle H, 25 pour tenir compte de la qualité globale du canal relais. Le contrôle du fractionnement ainsi que de la répartition des AL est avantageusement réalisé de manière centralisée par le terminal source. 15 La méthode de codage à redondance incrémentale selon l'invention peut enfin être utilisée dans un système de transmission IR-HARQ. Un terminal source d'un tel système transmet une première fois un paquet de bits d'information I en le codant au moyen d'un code LDPC, C, de matrice de contrôle H. En d'autres termes le terminal source transmet un mot de code X représentant le paquet I. Si le terminal destinataire arrive à décoder le paquet X, le cas échéant en corrigeant des erreurs éventuelles de transmission grâce à la matrice de contrôle H, le terminal source poursuit la transmission avec le paquet de bits d'information suivant. En revanche, si le paquet ne peut être décodé, le terminal destinataire requiert une retransmission au terminal source. Celui-ci procède alors à un second codage du paquet I à l'aide d'un code C de matrice de contrôle H obtenue par fractionnement de H comme expliqué plus haut et transmet seulement les bits supplémentaires 2V nl ne[l:N]\E, où E est l'ensemble des colonnes de H déjà présentes dans H. Si le décodeur n'arrive toujours pas à décoder le paquet avec succès, le processus de codage incrémental peut être itéré. Autrement dit, le terminal source peut coder le paquet à l'aide de codes 25 redondance croissante, obtenus par fractionnements successifs de la matrice de parité de C. Plus précisément, la matrice H peut être elle-même fractionnée pour fournir une nouvelle matrice de contrôle Hi définissant un nouveau code CI. A nouveau,20 seuls les bits supplémentaires Xn , n E où E~ est l'ensemble des colonnes de Hl déjà présentes dans H sont transmis par le terminal source. Dans les exemples d'application de l'invention précédemment décrits, la matrice H peut être calculée dynamiquement à partir de la matrice H ou bien avoir été préalablement calculée. Dans ce second cas, les matrices H et H peuvent notamment être stockées en 10 mémoire. REVENDICATIONS1. Méthode de codage à redondance incrémentale dans laquelle l'on détermine (620) si l'on effectue le codage d'une séquence de symboles d'information à l'aide d'un premier code (C), de type LDPC, défini par une première matrice de contrôle, II, ou bien à l'aide d'un second code (C) de rendement plus faible que celui 10 du premier code, caractérisée en ce que: - le second code est défini par une seconde matrice de contrôle, H, obtenue à partir de la première matrice de contrôle, en fractionnant (630) au moins un contrôle de parité représenté par une ligne de 15 H en une pluralité de contrôles de parité partiels portant sur des symboles du premier code et au moins un symbole supplémentaire, en ajoutant (630) à la matrice H au moins une nouvelle colonne représentant ledit symbole supplémentaire et en substituant à ladite ligne 20 des nouvelles lignes représentant respectivement les contrôles de parité partiels ; et que - l'on code ladite séquence de symboles d'information à l'aide du premier code (625) ou du second code (640) ainsi défini selon le résultat de la 25 détermination. 2. Méthode de codage selon la revendication 1, caractérisée en ce que l'on code ladite séquence de symboles d'information (I) à l'aide du premier code 30 (C) pour obtenir un premier mot de code X et que lecodage de cette même séquence à l'aide du second code (C) est effectuée en recherchant le mot de code X vérifiant H X = 0 et XIE =x où X I E représente la restriction de X aux colonnes présentes dans H, 3. Méthode de codage selon la revendication 1, caractérisée en ce qu'elle fournit la totalité des symboles du mot de code obtenu par le codage de ladite séquence de symboles d'information par le second code. 4. Méthode de codage selon la revendication 1, caractérisée en ce qu'elle fournit la totalité des symboles de ladite séquence d'information (I) et le(s) symbole(s) supplémentaire(s) correspondant à la/aux colonne(s) de la second matrice de contrôle qui n'est (ne sont) pas présente(s) dans la première matrice de contrôle 5. Méthode de codage selon la revendication 1, 20 caractérisée en ce qu'elle ne fournit que le(s) symbole(s) supplémentaire(s) correspondant à la/aux colonne(s) de la second matrice de contrôle qui n'est (ne sont) pas présente(s) dans la première matrice de contrôle. 25 6. Méthode de codage selon la revendication 1, caractérisée en ce que le nombre de lignes fractionnées est choisi en fonction d'un état de canal de transmission sur lequel la séquence de symboles 30 d'information est à transmettre. 10 15 7. Méthode de codage selon la revendication 1 ou 6, caractérisée en ce que toutes les lignes fractionnées le sont avec un même degré de fractionnement et que ce degré de fractionnement est choisi en fonction d'un état de canal de transmission sur lequel la séquence de symboles d' information est à transmettre. 8. Méthode de transmission à adaptation de liaison entre un terminal source et un terminal destinataire, un paquet de symboles d'information étant transmis sur ladite liaison par le terminal source à l'aide d'un premier schéma de modulation et de codage faisant appel à un premier code (C) de type LDPC, défini par une première matrice de contrôle H et, si la qualité de la liaison est inférieure, à l'aide d' un second schéma de modulation et de codage faisant appel à un second code (C) défini par une seconde matrice de contrôle H, caractérisée en ce que la seconde matrice de contrôle est obtenue en fractionnant au moins un contrôle de parité représenté par une ligne de la matrice H en une pluralité de contrôles de parité partiels portant sur des symboles du premier code et au moins un symbole supplémentaire, en ajoutant à la matrice H au moins une colonne représentant ledit symbole supplémentaire et en substituant à ladite ligne des nouvelles lignes représentant respectivement ces contrôles de parité partiels. 9. Méthode de transmission selon la revendication 8, caractérisée en ce que l'on code ledit paquet de symboles d'information (I) à l'aide du premier code (C) pour obtenir un premier mode de code X et que le codage de ce paquet à l'aide du second code (C) est effectué en recherchant le mot de code X vérifiant HX=0 et XE=X où XIF représente la restriction de X aux colonnes présentes dans H 10. Méthode de turbocodage d'un paquet de symboles d'information (I) dans laquelle on fournit dans une première banche du turbocode ledit paquet sous forme systématique, que l'on code ledit paquet à l'aide d'un premier code systématique (C), de type LDPC, défini par une première matrice de contrôle H, que l'on fournit dans une seconde branche du turbocode les symboles de parité du paquet ainsi encodé et que l'on code ledit paquet, après l'avoir entrelacé, à l'aide d'un second code (C), défini par une seconde matrice de contrôle H, et que l'on fournit dans une troisème branche du turbocode les symboles de parité du paquet ainsi encodé, caractérisée en ce que ladite seconde matrice de contrôle est obtenue en fractionnant au moins un contrôle de parité représenté par une ligne de la matrice H en une pluralité de contrôles de parité partiels portant sur des symboles du premier code et au moins un symbole supplémentaire, en ajoutant à cette matrice au moins une nouvelle colonne représentant ledit bit supplémentaire, et en substituant à ladite ligne de nouvelles lignes représentant respectivement ces contrôles de parité partiels. 25 11. Méthode de transmission de paquets dans un réseau de transmission de type coopératif comprenant un terminal source, un terminal destinataire et au moins un terminal relais, caractérisée en ce que : - le terminal source code un paquet de symboles d'information, I, en utilisant un premier code, C, de type LDPC et de matrice de contrôle H, et transmet le paquet ainsi encodé au terminal relais ainsi qu'au terminal destinataire ; - le terminal relais décode les données reçues pour récupérer ledit paquet et code le paquet récupéré à l'aide d'un second code défini par une matrice de contrôle H, ladite matrice H étant obtenue en 15 fractionnant au moins un contrôle de parité représenté par une ligne de la matrice H en une pluralité de contrôles de parité partiels portant sur des symboles du premier code et au moins un symbole supplémentaire, en ajoutant à cette matrice au moins une colonne 20 représentant ledit symbole supplémentaire et en substituant à ladite ligne de nouvelles lignes représentant respectivement ces contrôles de parité partiels ; - le terminal relais transmet au terminal 25 destinataire au moins les symboles supplémentaires correspondant aux colonnes de la seconde matrice de contrôle qui ne sont pas présentes dans la première matrice de contrôle. 30 12. Méthode de transmission selon la revendication 11, caractérisée en ce que le terminalrelais transmet la totalité des symboles du paquet codé par le second code. 13. Méthode de transmission selon la revendication 11 ou 12, caractérisée en ce que le terminal relais transmet également au terminal destinataire ledit paquet récupéré. 14. Méthode de transmission selon l'une des revendications 11 à 13, caractérisée en ce que le nombre de lignes fractionnées et/ou leur degré de fractionnement sont/est fonction de l'état du canal de transmission entre le terminal relais et le terminal destinataire et/ou l'état du canal de transmission entre la source et le destinataire. 15. Méthode de transmission de paquets dans un réseau de transmission de type coopératif comprenant un terminal source, un terminal destinataire et une 20 pluralité de terminaux relais, caractérisée en ce que : - le terminal source code un paquet de symboles d'information, I, en utilisant un premier code, C, de type LDPC et de matrice de contrôle H, et transmet le paquet ainsi encodé aux terminaux relais ainsi qu'au 25 terminal destinataire ; - chaque terminal relais décode les données reçues pour récupérer ledit paquet et code le paquet récupéré à l'aide d'un second code défini par une matrice de contrôle H, ladite matrice H étant obtenue 30 à partir de H en fractionnant au moins un contrôle de parité représenté par une ligne de la matrice H en une 10 15 pluralité de contrôles de parité partiels portant sur des symboles du premier code et un ensemble de symboles supplémentaires, en ajoutant à la matrice H une pluralité de colonnes représentant cet ensemble de symboles supplémentaires et en substituant à ladite ligne de nouvelles lignes représentant respectivement ces contrôles de parité partiels ; - chaque terminal relais transmet au terminal destinataire un sous-ensemble des symboles supplémentaires correspondant aux colonnes de la seconde matrice de contrôle qui ne sont pas présentes dans la première matrice de contrôle, les sous-ensembles de deux relais distincts étant disjoints. 16. Méthode de transmission de paquets selon la revendication 15, caractérisée en ce que les tailles des différents sous-ensembles sont déterminées de manière centralisée par le terminal source. 17. Méthode de transmission de paquets selon la revendication 15 ou 16, caractérisée en ce que la réunion desdits sous-ensembles constitue ledit ensemble de symboles supplémentaires et que la taille du dit ensemble est déterminée par le terminal source. 25 18. Méthode de transmission d'un paquet de bits d'information dans un système de télécommunication utilisant un protocole IR-HARQ dans laquelle un terminal source transmet, dans une première étape, à un 30 terminal destinataire ledit paquet codé à l'aide d'un premier code (C) de type LDPC, défini par une première 20 matrice de contrôle H, caractérisée en ce que, sur requête du terminal destinataire, le terminal source : - code ledit paquet de bits d'information à l'aide du second code (C) défini par une seconde matrice de contrôle obtenue en fractionnant au moins un contrôle de parité représenté par une ligne de la matrice H en une pluralité de contrôles de parité partiels portant sur des bits du premier code et au moins un bit supplémentaire, en ajoutant à la matrice H au moins une colonne représentant ledit bit supplémentaire, et des lignes supplémentaires représentant respectivement ces contrôles de parité partiels ; - transmet dans une seconde étape au terminal destinataire les bits supplémentaires correspondant aux colonnes de la seconde matrice de contrôle qui ne sont pas présentes dans la première matrice de contrôle.