FR2894738A1 - Low density parity code decoding complexity reducing method for communication channel, involves decomposing low density parity check code decoding function into sub-functions represented by check and bit node units and memory controller - Google Patents

Low density parity code decoding complexity reducing method for communication channel, involves decomposing low density parity check code decoding function into sub-functions represented by check and bit node units and memory controller Download PDF

Info

Publication number
FR2894738A1
FR2894738A1 FR0512496A FR0512496A FR2894738A1 FR 2894738 A1 FR2894738 A1 FR 2894738A1 FR 0512496 A FR0512496 A FR 0512496A FR 0512496 A FR0512496 A FR 0512496A FR 2894738 A1 FR2894738 A1 FR 2894738A1
Authority
FR
France
Prior art keywords
sub
low density
check
density parity
matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR0512496A
Other languages
French (fr)
Inventor
Nicolas Fau
Francois Hamon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INTERFACE SARL R
Original Assignee
INTERFACE SARL R
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by INTERFACE SARL R filed Critical INTERFACE SARL R
Priority to FR0512496A priority Critical patent/FR2894738A1/en
Publication of FR2894738A1 publication Critical patent/FR2894738A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6572Implementations using a tree structure, e.g. implementations in which the complexity is reduced by a tree structure from O(n) to O (log(n))
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1145Pipelined decoding at code word level, e.g. multiple code words being decoded simultaneously

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

The method involves decomposing a low density parity check (LDPC) code decoding function into sub-functions represented by a check node unit (31), memory controller and a bit node unit (33), where the check node unit is composed of render, pipe and outer sub-functions. An order of number of connections on a column of a matrix and combination of lambdas is implemented according to tree architecture. An independent claim is also included for a decoding complexity reducing apparatus for implementing a low density parity code decoding complexity reducing method.

Description

/12 Brevet LDPC Méthode et appareil de réduction de complexité de décodage/ 12 LDPC Patent Method and apparatus for reducing decoding complexity

parallèle des codes LDPC (Low Density Parity Check Code) Name Date Inventeurs Nicolas FAU 7 Déc 2005 François HAMON Demandeurs R-Interface S.A.R.L.  Parallel Low Density Parity Check Code (LDPC) Name Date Inventors Nicolas FAU Dec 7, 2005 François HAMON R-Interface Requestors S.A.R.L.

PLAN PLAN 2 LISTE DES ILLUSTRATIONS ERROR! BOOKMARK NOT DEFINED. ENVIRONNEMENT DE L'INVENTION 3 HISTORIQUE ERROR! BOOKMARK NOT DEFINED. NOTATIONS ET DÉFINITIONS 6 BIBLIOGRAPHIE 12 ETAT DE L'ART 7 DESCRIPTION DE L'INVENTION 8 REVENDICATIONS 11 2/12 /12 ENVIRONNEMENT DE L'INVENTION  PLAN PLAN 2 LIST OF ILLUSTRATIONS ERROR! BOOKMARK NOT DEFINED. ENVIRONMENT OF THE INVENTION 3 HISTORY ERROR! BOOKMARK NOT DEFINED. RATINGS AND DEFINITIONS 6 BIBLIOGRAPHY 12 STATE OF THE ART 7 DESCRIPTION OF THE INVENTION 8 CLAIMS 11 2/12 / 12 ENVIRONMENT OF THE INVENTION

Le décodage canal consiste à utiliser la redondance et la corrélation du signal émis pour auto corriger d'éventuelles erreurs de transmission. Le groupe de techniques considéré concerne les systèmes de décodages itératifs dits techniques turbo. La complexité de la solution optimale au problème consistant à retrouver un message noyé dans le bruit augmente exponentiellement avec la taille du système. Les solutions dites turbo permettent de générer une complexité qui n'augmente que linéairement avec la taille du système. Les turbo codes découvert par Claude Berrou [2] sont considérés comme l'avancée la plus significative de ces vingt dernières années dans le monde des communications numériques. Ils ont été récemment introduits dans de nombreux standards (UMTS, 802.16, DVB-RCS, DVB-RCT). Aujourd'hui de nouvelles solutions itératives associées à la classe de code LDPC (Low Density Parity Check) permettent de diminuer la complexité numérique et d'améliorer les performances de ces techniques turbo. Les code LDPC sont des codes en bloc linéaires, ils furent introduits par Gallager en 1962 [3] et redécouverts récemment par MacKay[4]. Les progrès en microélectronique permettent aujourd'hui de les mettre en oeuvre. Ils sont largement pressentis pour des futurs standards de télécommunication tels que le nouveau standard de diffusion vidéo par satellite (DVBS-2), le MBWA (Mobile BroadBand Wireless Access), le standard IEEE 802.11n. Ils sont proposés par le Jet Propulsion Laboratory au CCSDS (Consultative Committee for Space Data System) ainsi que dans le standard 10 Gbps Ethernet. Et enfin, l'industrie du stockage des données a montré un vif intérêt pour l'intégration de ces techniques dans les futures générations de systèmes de stockage.  Channel decoding consists of using redundancy and correlation of the transmitted signal to self correct any transmission errors. The group of techniques considered concerns the iterative decoding systems known as turbo techniques. The complexity of the optimal solution to the problem of finding a message embedded in the noise increases exponentially with the size of the system. The so-called turbo solutions make it possible to generate a complexity that increases only linearly with the size of the system. The turbo codes discovered by Claude Berrou [2] are considered the most significant advance of the last twenty years in the world of digital communications. They have recently been introduced in many standards (UMTS, 802.16, DVB-RCS, DVB-RCT). Today, new iterative solutions associated with the Low Density Parity Check (LDPC) code class make it possible to reduce the numerical complexity and improve the performance of these turbo techniques. The LDPC codes are linear block codes, they were introduced by Gallager in 1962 [3] and recently rediscovered by MacKay [4]. Advances in microelectronics allow today to implement them. They are widely anticipated for future telecommunications standards such as the new satellite broadcast standard (DVBS-2), MBWA (Mobile Broadband Wireless Access), the IEEE 802.11n standard. They are offered by the Jet Propulsion Laboratory to the Consultative Committee for Space Data System (CCSDS) as well as in the standard 10 Gbps Ethernet. And finally, the data storage industry has shown a keen interest in integrating these techniques into future generations of storage systems.

Le DVB-S2 est une version avancée du standard DVB-S dont l'objectif est d'améliorer l'efficacité spectrale de la diffusion de la télévision par satellite. Le code LDPC utilisé dans ce standard est une des composantes contribuant au gain d'efficacité spectrale. L'information publique concernant ce standard est disponible sur: "http:l/www. d vb. org/" Le standard IEEE 802.an (10GBASE-T) est un standard émergent pour opérer le 10 Gbps Ethernet sur des paires de cuivre torsadées. Le code correcteur d'erreur LDPC proposé pour ce standard permet d'approcher la limite théorique de transmission sur un câble de longueur jusqu'à 100 mètres. L'information publique concernant ce standard est disponible sur: "http://www.ieee802.org/3/an/" Le standard IEEE 802.11n est le successeur du standard WLAN 802.11g . L'objectif est, au minimum, de doubler les capacités actuelles et, au maximum, d'atteindre les 500 Mbit/s. Le code LDPC utilisé dans ce standard est une des composantes contribuant au gain de performance. L'information publique concernant ce standard est disponible sur: http://www.wwise.org/ Le standard émergent MBWA (Mobile Broadband Wireless Access) (<1Mbits). Propose une mobilité globale (250Km/h) pour la transmission optimisée de packet IP. L'information publique concernant ce standard est disponible sur: 40 http://grouper.ieee.org/groups/802/20/> 45 /12 Les codes LDPC sont définis comme l'espace nul d'une matrice de parité H qui a les propriétés suivantes : 1. chaque ligne de la matrice a un poids de (relatif à la régularité du code) 2. chaque colonne de la matrice a un poids ds (relatif à la régularité du code) 3. le nombre de 1s en commun entre deux colonnes est inférieur ou égale à 1 (relatif à la taille minimal des cycles) 4. de et ds sont petits comparés à la taille du code et au nombre de lignes (relatif à la densité).  DVB-S2 is an advanced version of the DVB-S standard which aims to improve the spectral efficiency of satellite TV broadcasting. The LDPC code used in this standard is one of the components contributing to the spectral efficiency gain. Public information about this standard is available at: "http: l / www.dvb.org/" The IEEE 802.an (10GBASE-T) standard is an emerging standard for operating 10Gbps Ethernet on copper pairs twisted. The proposed LDPC error correction code for this standard makes it possible to approach the theoretical limit of transmission over a cable length of up to 100 meters. Public information about this standard is available at: "http://www.ieee802.org/3/an/" The IEEE 802.11n standard is the successor to the WLAN 802.11g standard. The objective is, at a minimum, to double current capacities and, at most, to reach 500 Mbit / s. The LDPC code used in this standard is one of the components contributing to the performance gain. Public information about this standard is available at: http://www.wwise.org/ The emerging standard Mobile Broadband Wireless Access (MBWA) (<1Mbits). Offers global mobility (250Km / h) for optimized IP packet transmission. Public information about this standard is available at: 40 http://grouper.ieee.org/groups/802/20/> 45/12 LDPC codes are defined as the null space of an H parity matrix which has the following properties: 1. each line of the matrix has a weight of (relative to the regularity of the code) 2. each column of the matrix has a weight ds (relative to the regularity of the code) 3. the number of 1s in common between two columns is less than or equal to 1 (relative to the minimum size of the cycles) 4. of and ds are small compared to the size of the code and the number of lines (relative to the density).

Le décodage souple itératif des codes LDPC peut être implémenter de différentes manières incluant l'algorithme BP (Beleif Propagation) , l'algorithme SP (Sum Product) ou l'algorithme MP (Message Passing). II existe cependant de la place pour de nombreuses variantes de ces algorithmes permettant soit d'améliorer les performances soit de réduire la complexité. Ces variantes peuvent intervenir sur des approximations mathématiques, sur le séquencement, le cadencement et l'ordonnancement des sous fonctions, ainsi que sur l'organisation mémoire. Le décodage optimal des codes LDPC met en oeuvre un algorithme itératif qui propage les informations extrinsèques et les informations à priori dans le graphe bipartite reliant les variables aux équations de parité. On considère ici une version du décodage à propagation de croyance qu'on appelle le SPA (Sum Product Algorithm) [1]. 25 30 35 40 /12  The iterative flexible decoding of LDPC codes can be implemented in different ways, including the BP (Beleif Propagation) algorithm, the SP (Sum Product) algorithm or the Message Passing (MP) algorithm. However, there is room for many variations of these algorithms to either improve performance or reduce complexity. These variants can intervene on mathematical approximations, on the sequencing, the timing and the scheduling of the subfunctions, as well as on the organization memory. Optimal decoding of LDPC codes implements an iterative algorithm that propagates extrinsic information and prior information in the bipartite graph connecting the variables to the parity equations. We consider here a version of belief propagation decoding called the SPA (Sum Product Algorithm) [1]. 25 30 35 40/12

NOTATIONS ET DEFINITIONS • N : Nombre de bit nodes : nombre de colonne de H • K : nombre de check nodes : nombre de ligne de H • ds : nombre de connexions sur un bit node. • dc : nombre de connexions sur un check node. • M(n) : ensemble des check nodes connectés au ne bit node (un). • N(m) : ensemble des bit nodes connectés au me check node (cm). • M(n)/k : M(n) privé du kéme check node de M(n). • N(m)/k : N(m) privé du kéme bit node de N(m). • u=[u1iu2,...,uN] : mot de code transmis. • y=[y,,y2,...,yN] : le mot reçu correspondant au mot de code u. • anù.m(x) : message envoyé par un (nième bit node) à cm (mième check node) qnù.m(x) : Pr(un=x/c;, i E M(n)/m) avec x {0,11 rm.n(x) : message envoyé par cm (mième check node) à un (nième bit node) rm_n(x) : Pr (un=x/u;, E N(n)/m) avec x I {0,1} Par définition, le logarithme du rapport de vraisemblance LLR s'écrit : L(u)=log( P(u=0)/P(u=1)) On définit aussi les logarithmes des rapports de vraisemblance suivant : Àn-.m(un)=1og(an-•m(0)/ g.(1)) 25 nm-.n(un)= log(rn-.m(0)/ rn-.m(1)) 30 ETAT DE L'ART  NOTATIONS AND DEFINITIONS • N: Number of bit nodes: number of columns of H • K: number of check nodes: number of lines of H • ds: number of connections on a bit node. • dc: number of connections on a check node. • M (n): set of check nodes connected to the ne bit node (one). • N (m): set of bit nodes connected to the me check node (cm). • M (n) / k: M (n) private of the k check node of M (n). • N (m) / k: N (m) deprived of the k th node bit of N (m). • u = [u1iu2, ..., uN]: transmitted code word. Y = [y ,, y2, ..., yN]: the received word corresponding to the code word u. • anù.m (x): message sent by a (nth bit node) to cm (mth check node) qnù.m (x): Pr (un = x / c ;, i EM (n) / m) with x {0,11 rm.n (x): message sent by cm (mth check node) to one (nth bit node) rm_n (x): Pr (un = x / u; EN (n) / m) with x I {0,1} By definition, the logarithm of the likelihood ratio LLR is written: L (u) = log (P (u = 0) / P (u = 1)) The logarithms of the likelihood ratios are also defined following: nn-mm (un) = 1og (-m (0) / g. (1)) 25 nm-.n (un) = log (rn-.m (0) / rn-.m ( 1)) 30 STATE OF THE ART

La PLANCHE1 représente une chaîne de communication faisant intervenir un codeur LDPC, une fonction de modulation pour la mise en forme du signal, un canal de propagation, une fonction de démodulation et la fonction de décodage LDPC.  PLANE1 represents a communication chain involving an LDPC encoder, a modulation function for signal shaping, a propagation channel, a demodulation function and the LDPC decoding function.

Les codes LDPC sont représentés par leur matrice de parité ou de manière équivalente par le graphe bipartite comme on peut le voir sur la PLANCHE2. Cette dernière représentation introduite par R. M. Tanner en 1981 [5], est un graphe qui structure les équations de parité définissant le code. C'est la structure de la matrice de décodage qui définit le caractère LDPC du code. Contrairement aux codes classiques qui sont définis par leur matrice ou leur polynôme générateur les codes LDPC sont définit par leur matrice de parité. La PLANCHE2 illustre la représentation en graphe des codes LDPC à partir d'une matrice de parité H donnée. Le décodage optimal des codes LDPC est une fonction complexe. Pour des applications à débits importants il est nécessaire de définir des solutions de décodage sous optimales adaptées à des implémentations parallèles ou pipelines. Ceci fait l'objet de l'invention présentée ici. La fonction de décodage LDPC peut être décomposée selon les sous fonctions décrites sur la PLANCHES. La sous fonction (31) représente le check node unit , la sous fonction (32) représente le memory controller et la sous fonction (33) représente le bit node unit . La présente invention intervient sur une amélioration de l'implémentation de la sous fonction check node unit , et sur une amélioration du passage des messages entre les sous fonctions check node unit et bit node unit La fonction CheckNodeUnit peut être implémentée de manière parallèle selon la méthode proposée par [1]. Cette méthode représente l'état de l'art des implémentations parallèles de l'algorithme de décodage Sum Product . L'algorithme de décodage SPA exposé en [1] calcul le LLR ( Log Likelyhood Ratio). Par définition, le logarithme du rapport de vraisemblance LLR s'écrit : L(u)=log( P(u=0)/P(u=1)). On calcule la probabilité qu'un bit dans un mot reçu soit un 1 sachant qu'on a effectivement transmis un 1. On calcule la probabilité que ce bit soit un 0 sachant qu'on a effectivement transmis un 0. Le LLR est le logarithme du ratio de ces deux grandeurs calculées. Le passage au logarithme permet de simplifier les calculs. L'état de l'art de l'implémentation parallèle de l'algorithme SP est le suivant: de On définie une variable binaire auxiliaire Sm = C+ un, i=1 Le calcul du LLR(Sm) est assez simple puisqu'on dispose de toutes les uni. Ceci étant, on commence par calculer nm->ni(uni).  The LDPC codes are represented by their parity matrix or equivalently by the bipartite graph as can be seen on the PLANE2. This last representation, introduced by R. M. Tanner in 1981 [5], is a graph that structures the parity equations defining the code. It is the structure of the decoding matrix that defines the LDPC character of the code. Unlike conventional codes that are defined by their matrix or their generator polynomial, the LDPC codes are defined by their parity matrix. PLANE2 illustrates the graph representation of the LDPC codes from a given parity matrix H. Optimal decoding of LDPC codes is a complex function. For high throughput applications it is necessary to define sub-optimal decoding solutions suitable for parallel implementations or pipelines. This is the subject of the invention presented here. The LDPC decoding function can be decomposed according to the sub-functions described on the BOARDS. The sub-function (31) represents the check node unit, the sub-function (32) represents the memory controller and the sub-function (33) represents the bit node unit. The present invention relates to an improvement of the implementation of the check node unit subfunction, and to an improvement in the passage of messages between the check node unit and the bit node unit subfunctions. The CheckNodeUnit function can be implemented in a parallel manner according to the method. proposed by [1]. This method represents the state of the art of parallel implementations of the Sum Product decoding algorithm. The SPA decoding algorithm discussed in [1] calculates the LLR (Log Likelyhood Ratio). By definition, the logarithm of the likelihood ratio LLR is written: L (u) = log (P (u = 0) / P (u = 1)). We calculate the probability that a bit in a received word is a 1 knowing that we have actually transmitted a 1. We calculate the probability that this bit is a 0 knowing that we actually transmitted a 0. The LLR is the logarithm ratio of these two quantities calculated. The change to the logarithm simplifies the calculations. The state of the art of the parallel implementation of the SP algorithm is as follows: de One defines an auxiliary binary variable Sm = C + one, i = 1 The calculation of the LLR (Sm) is quite simple since it has from all uni. This being so, we start by calculating nm-> ni (uni).

On a: dc dc L(Sm)=L( I~+ uni )=L(uni C) (D uni ), avec 1=l l=>>J~i L (U +OV)= sign[L(U)].sign[L(V)].min[IL(U)l,IL(V)l] +log ( 1 + eIL(u)+L(" )-log ( 1 + e-IL(u)-L(v)l ) En utilisant la formule démontrée dans [1], on peut écrire que de 1 + exp(L( O+ uni )) L(Sm)=log( de i=1,1+ )  We have: dc dc L (Sm) = L (I ~ + uni) = L (uni C) (D uni), with 1 = ll = >> J ~ i L (U + OV) = sign [L (U) )] sign [L (V)] min [IL (U) 1, IL (V) 1] + log (1 + eIL (u) + L (") -log (1 + e-IL (u) -L (v) l) Using the formula demonstrated in [1], we can write that of 1 + exp (L (O + uni)) L (Sm) = log (of i = 1,1 +)

exp(L( O+ uni )) + exp(L(un; )) J=>>J~i 7/12 /12 de Le terme L( E 0+ uni) est le message Am_n;(un;) que le check node m envoie à tout les bit nodes un; lorsqu'il i=l,i$i reçoit L(un,) qui n'est entre autre que Anj .m(un;). Donc, l'équation précédente est équivalente à L(Sm)=1o9( 1 + exp( A m,ni (uni) + lni >m (uni )) ) exp( A,n,ni (uni )) + exp( (uni )) ou encore Am_n;(un;)=log exp(/Iniù>m (uni ) + L(Sm )) ù 1 ù L(Sm ) .= L (Uni*Sm) exp(~ni ~m (uni ) ù L(Sm )) ù 1 On définie la loi * telle que:  exp (L (O + uni)) + exp (L (un;)) J = >> J ~ i 7/12 / 12 of The term L (E 0+ uni) is the message Am_n; (un;) that the check node m sends to all bit nodes one; when i = l, i $ i receives L (un,) which is among others only Anj .m (un;). So, the previous equation is equivalent to L (Sm) = 1o9 (1 + exp (A m, ni (uni) + ln> m (uni))) exp (A, n, ni (uni)) + exp ( (uni)) or alternatively Am_n; (un;) = log exp (/ Iniù> m (uni) + L (Sm)) ù 1 where L (Sm). = L (Uni * Sm) exp (~ ni ~ m (uni) ù L (Sm)) ù 1 The law * is defined as:

Amù.ni(Uni)=L(Uni* Sm) i=1,...,dc. Le calcul de cette derniere expression necessite l'utilisation de look up table memorisant les valeurs 10 echantillonnées de la fonction h(x)=loglex-1 . Dans l'état de l'art de l'implémentation parallèle de l'algorithme SP les sous fonctions L (U+V) et L (U*V) sont organisées comme sur la PLANCHE4. DESCRIPTION DE L'INVENTION 15 La présente invention propose entre autre une nouvelle implémentation parallèle du CNU(31) qui permet de réduire la complexité et d'augmenter le parallélisme. Ci dessous le détail de la première partie de l'invention. Nous revendiquons l'architecture de la fonction CNU(31) telle que décrite sur la PLANCHE 5. La fonction 20 CNU(31) est composée des sous fonctions RENDER( 51) , PIPE(52) et OUTER(53). La fonction CNU(31) prend en entrée les dc Lambdas qui sont les messages provenant des dc bit nodes connectés au check node considéré. La fonction CNU(31) sort les dc Gamma selon la règle suivante: gamma(i-4,0)=Sign(lambda(i-3,1).lambda(i-3,2).lambda(i-3,3).lambda(i-3,4)) . Min(abs(lambda(i-3,1)), 25 abs(lambda(i-3,2)), abs(lambda(i-3,3)), abs(lambda(i-3,4))) Cette règle est définie dans l'état de l'art comme le SIGN_MIN. Nous revendiquons l'architecture en arbre décrite sur la PLANCHE5 qui permet d'implémenter avec le maximum 30 de parallélisme la règle SIGN_MIN de dc combinaison de (dc-1) lambdas quelle que soit la valeur de dc. Que cette valeur de dc soit une puissance de 2 ou non et que cette valeur de dc soit constante d'un check node à un autre. Ainsi cette technique permet aussi de traiter des matrices irrégulières. Nous revendiquons l'architecture en pipeline décrite sur la PLANCHE5 qui permet de délivrer les gammas correspondant à un check node à chaque cycle d'horloge avec une latence de log(dc)+1 cycles. Cette 35 architecture permet donc le calcul de K check nodes en K+log(dc)+1 cycles. Cette architecture est basée sur la définition des sous fonctions PIPE(50), RENDER(51), OUTER(52) et SIGN(53) décrites sur les PLANCHE6 et PLANCHE7. /12 Nous revendiquons la définition et l'implémentation de la sous fonction RENDER(51) décrite sur la PLANCHE7 qui est à la base de l'amélioration de l'implémentation de la règle SIGN_MIN.  Amu.ni (Uni) = L (Uni * Sm) i = 1, ..., dc. The calculation of this last expression requires the use of a look up table memorizing the sampled values of the function h (x) = loglex-1. In the state of the art of the parallel implementation of the SP algorithm the subfunctions L (U + V) and L (U * V) are organized as on the PLANE4. DESCRIPTION OF THE INVENTION The present invention proposes among other things a new parallel implementation of the CNU (31) which makes it possible to reduce the complexity and increase the parallelism. Below is the detail of the first part of the invention. We claim the architecture of the CNU function (31) as described on BOARD 5. The CNU function (31) is composed of the sub-functions RENDER (51), PIPE (52) and OUTER (53). The function CNU (31) takes as input the dc Lambda which are the messages coming from the dc bit nodes connected to the considered check node. The CNU (31) function outputs the gamma dc according to the following rule: gamma (i-4.0) = Sign (lambda (i-3,1) .lambda (i-3,2) .lambda (i-3, 3) .lambda (i-3,4)). Min (abs (lambda (i-3,1)), 25 abs (lambda (i-3,2)), abs (lambda (i-3,3)), abs (lambda (i-3,4)) ) This rule is defined in the state of the art as the SIGN_MIN. We claim the architecture in tree described on the PLANCHE5 which makes it possible to implement with the maximum of parallelism the rule SIGN_MIN of dc combination of (dc-1) lambdas whatever the value of dc. Whether this value of dc is a power of 2 or not and that value of dc is constant from one check node to another. Thus this technique also makes it possible to treat irregular matrices. We claim the pipeline architecture described on the PLANCHE5 which allows to deliver the gammas corresponding to a check node at each clock cycle with a latency of log (dc) +1 cycles. This architecture therefore allows the calculation of K check nodes in K + log (dc) +1 cycles. This architecture is based on the definition of the subfunctions PIPE (50), RENDER (51), OUTER (52) and SIGN (53) described on the PLENUM6 and PLANE7. / 12 We claim the definition and implementation of the RENDER subfunction (51) described on the PLENHE7 which is the basis for the improvement of the implementation of the SIGN_MIN rule.

La deuxième partie de l'invention concerne une amélioration du passage des messages entre les sous fonctions check node unit (31) et bit node unit (33) comme décrit sur la PLANCHE3. La présente invention propose un nouvel ordonnencement du passage des messages entre le BNU (33) et le CNU (31), qui permet de réduire la ressource en silicium et d'augmenter la cadence de traitement de l'unité de traitement élémentaire du décodeur de signaux codés LDPC. Cette unité de traitement est représentée sur la PLANCHE3.  The second part of the invention concerns an improvement in the passage of messages between the check node unit (31) and the bit node unit (33) subfunctions as described on the PLANE3. The present invention proposes a new order of the passage of messages between the BNU (33) and the CNU (31), which makes it possible to reduce the silicon resource and to increase the processing speed of the elementary processing unit of the decoder. LDPC coded signals. This processing unit is represented on BOARD3.

Cette unité de traitement élémentaire est composée d'une BNU(33), d'une CNU(31), d'un MemoryController(32) et de mémoires FIFO(35) et de mémoires(34) détaillés dans les sous parties suivantes. Plusieurs unités de traitements identiques peuvent être synthétisées en série afin d'augmenter la vitesse maximale du flux d'entrée traitable par le décodeur. Chaque unité de traitement élémentaire ne réalisant alors qu'une partie des itérations nécessaires au bon fonctionnement du décodeur. Tandis que l'unité de traitement i calcule les itérations (n*(i+1)-1, n*i) du block d'entrées 0, l'unité de traitement i-1 réalise les itérations (n*i-1, n*(i-1)) du block d'entrée 1...et l'unité de traitment 0 réalise les itérations (n-1, 0) du block d'entrée i. Les inconvénients majeurs d'un tel procédé étant la multiplication des ressources mémoires et logiques nécessaires, et l'augmentation de la latence de traitement pouvant être préjudiciable pour certaines applications.  This unitary processing unit is composed of a BNU (33), a CNU (31), a MemoryController (32) and FIFOs (35) and memories (34) detailed in the following subparts. Several identical processing units can be synthesized in series in order to increase the maximum speed of the input stream that can be processed by the decoder. Each unit of elementary processing then realizing only part of the iterations necessary for the proper operation of the decoder. While the processing unit i calculates the iterations (n * (i + 1) -1, n * i) of the input block 0, the processing unit i-1 performs the iterations (n * i-1 , n * (i-1)) of the input block 1 ... and the processing unit 0 performs the iterations (n-1, 0) of the input block i. The major drawbacks of such a method being the multiplication of the necessary memory and logic resources, and the increase in processing latency can be detrimental for certain applications.

Nous revendiquons l'implémentation série de plusieurs unités de traitement (BNU(33)+MemoryController(32)+CNU(31)) afin d'augmenter les capacités de traitement du décodeur. Nous revendiquons le stockage des messages gammas dans des fifos(35) circulaires permettant d'obtenir sans décodage d'adresse les constituantes Gamma nécessaires au calcul des BNU(33) en entrée des opérateurs + de la PLANCHE8. Ce stockage permet aussi de récupérer la composante une deuxième fois afin de soustraire la composante pour obtenir le message Lambda en entrée des opérateurs - de la PLANCHE8.  We claim the serial implementation of several processing units (BNU (33) + MemoryController (32) + CNU (31)) to increase the processing capabilities of the decoder. We claim the storage of the gamma messages in circular fifos (35) allowing to obtain without address decoding the Gamma constituents necessary for the calculation of the BNU (33) at the input of the operators + of the PLANE8. This storage also makes it possible to recover the component a second time in order to subtract the component to obtain the Lambda message at the input of the operators - of the PLANE8.

Nous revendiquons le stockage des messages Lambda dans des espaces mémoires différents (MEMO à MEMNB(34)) de ceux des Gammas (FIFOO à FIFON(35)) permettant aux unités de traitement de fonctionner en parallèle. Ainsi le traitement de certains bit nodes peut être effectué en même temps que celui de certains check nodes. Les messages GAMMA arrivant des CNU(31) sont stockés dans des fifos de longueur ds. A chaque Bit Node (i) correspond une FIFO(35) de profondeur ds(i) (le nombre de messages constituant ce bit node). L'unité Memory Controller délivre les signaux Write correspondants afin que les messages GAMMA soient stockés dans les bonnes FIFO(35).  We claim the storage of Lambda messages in different memory spaces (MEMO to MEMNB (34)) of those of the Gammas (FIFOO to FIFON (35)) allowing the processing units to operate in parallel. Thus the processing of some bit nodes can be done at the same time as that of some check nodes. The GAMMA messages arriving from the CNUs (31) are stored in fifos of length ds. Each Bit Node (i) corresponds to a FIFO (35) of depth ds (i) (the number of messages constituting this bit node). The Memory Controller delivers the corresponding Write signals so that the GAMMA messages are stored in the correct FIFOs (35).

Lorsque les gammas d'une itération sont tous stockés, le pulse VALID est envoyé par le memory controller afin de signaler à la BNU(33) qu'elle peut commencer son traitement. Les Lambda, soit le contenu d'une FIFO(35), sont insérés les uns après les autres dans le pipeline du module BNU(33) composante après composante. C'est à dire qu'au cycle i après Valid le pipeline de profondeur ds reçoit ds composantes : la composantes ds-1 du bit node i-ds-1, la composante ds-2 du bit node i-ds-2,... la composante 0 du bit node i. Durant tout le process, les composantes qui sortent des FIFO(35) sont réinsérées à mesure dans la même FIFO(35) afin ensuite de pouvoir soustraitre les même composantes pour obtenir les GAMMAS. On a donc à partir du cycle ds après VALID, la SOMME des composantes d'un BitNode mise à jour. Une nouvelle somme étant ensuite obtenue à chaque cycle.  When the gammas of an iteration are all stored, the pulse VALID is sent by the memory controller in order to signal to the BNU (33) that it can begin processing. The Lambda, the contents of a FIFO (35), are inserted one after the other in the BNU component pipeline (33) component after component. That is to say that in cycle i after Valid the depth pipeline ds receives components: the component ds-1 of the bit node i-ds-1, the component ds-2 of the bit node i-ds-2,. .. the component 0 of the bit node i. During the whole process, the components that leave the FIFOs (35) are reinserted in the same FIFO (35) in order to be able to subtract the same components to obtain the GAMMAS. From the cycle after VALID, we have the SUM of the components of an updated BitNode. A new sum is then obtained at each cycle.

Ces sommes sont stockées dans des registres : SumO, ...Sum(DS-1). DS étant le nombrfe maximale des ds(i). Au cycle ds on a la somme du bit node 0 qui est disponible. Et la composante en sortie de la FIFO 0(35) est la composante 0 du bit node O. Au cycle ds+1 on délivre donc au CNU(31) le premier message Lambda(0,0) du BitNodeO qui est la somme stockée des composantes moins Gamma(0,0), la sortie de la FifoO . En même temps on effectue une écriture dans cette fifo afin d'obtenir en sortie la composante suivante de ce même BitNode : Gamma(0,1). SumO est aussi à cet instant décalé en Sum1. / 12 Au cycle ds+1, on a maintenant 2 sommes disponibles, celle du bit node 0 en Sumlet celle du bit nodel en SumO. En sortie de la FIFOO, on a maintenant la composante 1 du Bit node 0 et en sortie de la FIFO1 on a la composante 0 du BIT Node 1. On délivre donc au cycle ds+2, le deuxième message du BitNode 0 : Lambda(0,1) et le premier message du Bitnodel : Lambda(1,0). Ainsi de suite jsuqu'à ce que l'on délivre ds Lambdas messages par cycle aux unités de traitement des CNU(31). 15 20 25 30 / 12 BIBLIOGRAPHIE Reference Name [1] Xiao Yu Hu "Efficient Implementation of the Sum Product Algorithm for Decoding LDPC Code , IBM research, IEEE 2001. [2] C. Berrou et A. Glavieux : Near Optimum Error Correcting Coding and Decoding : Turbo Codes , IEEE Trans. Corn. Vol 44 p 1261-1271 Oct. 1996. [3] RG Gallager : Low Density Parity Check Code , IRE Trans. Inform. Theory. Vol IT8 pp21-28, jan. 1962. [4] J.0 Mc Kay : Good Error Correcting Code Based on Sparce Matrices [5] R. M. Tanner. A recursive approach to low complexity codes. IEEE transaction to Information theory, IT-27(5):533-547, Septembre 1981.  These sums are stored in registers: SumO, ... Sum (DS-1). DS being the maximum number of ds (i). At the cycle ds we have the sum of bit node 0 which is available. And the output component of the FIFO 0 (35) is the component 0 of the node node O. At the cycle ds + 1, the first message Lambda (0,0) of the BitNodeO, which is the stored sum, is thus delivered to the CNU (31). less Gamma components (0.0), the release of FifoO. At the same time a write is made in this fifo in order to obtain at the output the following component of this same BitNode: Gamma (0,1). SumO is also at this moment shifted in Sum1. / 12 At cycle ds + 1, we now have 2 sums available, that of bit node 0 in Sumlet that of nodel bit in SumO. At the output of the FIFOO, we now have the component 1 of the bit node 0 and at the output of the FIFO1 we have the component 0 of the BIT Node 1. So we deliver to the cycle ds + 2, the second message of the BitNode 0: Lambda ( 0.1) and the first message of the Bitnodel: Lambda (1.0). So on until Lambda messages are delivered per cycle to the processing units of the CNUs (31). 15 20 25 30/12 BIBLIOGRAPHY Reference Name [1] Xiao Yu Hu "Efficient Implementation of the Sum Product Algorithm for Decoding LDPC Code, IBM research, IEEE 2001. [2] C. Berrou and A. Glavieux: Near Optimum Error Correcting Coding and Decoding: Turbo Codes, IEEE Trans., Vol 44 p 1261-1271 Oct. 1996. [3] RG Gallager: Low Density Parity Check Code, IRE Trans.Information Theory, Vol IT8 pp21-28, Jan. 1962. [4] J.0 Mc Kay: Good Error Correcting Code Based on Matrices [5] RM Tanner A Recursive Approach to Low Complexity IEEE Transaction to Information Theory, IT-27 (5): 533-547, September 1981 .

Claims (7)

REVENDICATIONS 1. Procédé de reduction de complexité de décodage des codes LDPC(Low density parity check code) dans une chaîne de communication, ladite chaîne de communication comprenant un codeur LDPC, un modulateur pour la mise en formed u signal, un canal de propagation, un démodulateur et un décodeur LDPC, et chaque code LDPC se représentant sosu la forme d'une matrice de parité H, caractérisé en ce qu'il se decompose en plusieurs sous-fonctions: - La sous-focntion "Check Node Unit" U (31) - La sous-fonction "Memory Controller" (32) - La sous-fonction "Bit Node Unit" (33) La sous function "check node unit" (31) étant en outre composée des sous-fonctions RENDER (51), PIPE (52) et OUTER (53).  A method for reducing the complexity of decoding low density parity check codes (LDPC) in a communication chain, said communication chain comprising an LDPC encoder, a modulator for signal shaping, a propagation channel, a demodulator and an LDPC decoder, and each LDPC code is represented in the form of a parity matrix H, characterized in that it is broken down into several sub-functions: - The sub-function "Check Node Unit" U (31) ) - The "Memory Controller" sub-function (32) - The "Bit Node Unit" sub-function (33) The "check node unit" sub-function (31) is further composed of the RENDER sub-functions (51), PIPE (52) and OUTER (53). 2. Procédé selon la revendication 1, caractérisé en ce que, selon une architecture en arbre, elle permet d'implémenter avec le maximum de parallèlismela règle SIGN_MIN du nombre de connexions sur une 15 colonne de la matrice H (dc), combinaison de (dc-1) lambdas quelle que soit la valeur du nombre dc, et que la valeur du nombre dc soit une puissance de 2 et soit constante d'une ligne de la matrice de parité H à l'autre, les dc lambdas étant des messages provenant des dc colonnes de matrice H connectées à la ligne de matrice H considérée.  2. Method according to claim 1, characterized in that, according to a tree architecture, it makes it possible to implement with maximum parallelism the rule SIGN_MIN of the number of connections on a column of the matrix H (dc), a combination of dc-1) lambdas whatever the value of the number dc, and the value of the number dc is a power of 2 and is constant from one line of the matrix of parity H to the other, the dc lambdas being messages from the dc matrix columns H connected to the matrix line H considered. 3. Procédé selon la revendication 1, caractérisé en ce que, selon une architecture en pipeline, il permet de 20 délivrer les messages gammas correspondant à une ligne de matrice H à chaque cycle d'horloge avec une latence de log(dc)+1 cycles, permettant aisni le calcul de K lignes de matrice H en K+log(dc)+1 cycles, les messages gammas étant des messages provenant des CNU (31) selon la règle du SIGN_MIN.  3. Method according to claim 1, characterized in that, according to a pipeline architecture, it makes it possible to deliver gamma messages corresponding to a matrix line H at each clock cycle with a log (dc) +1 latency. cycles, allowing the calculation of K matrix lines H in K + log (dc) +1 cycles, the gamma messages being messages from the CNUs (31) according to the rule of SIGN_MIN. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que la sous-fonction 25 RENDER (51) est à la base de l'amélioration de l'implémentation de la règle SIGN_MIN.  4. Method according to any one of claims 1 to 3, characterized in that the subfunction 25 RENDER (51) is the basis of the improvement of the implementation of the rule SIGN_MIN. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il permet une implementation série de plusieurs unités de traitement (BNU (33) +MEMC (32) +CNU (33)) afin d'augmenter le capacités de traitement du décodeur.  5. Method according to any one of claims 1 to 4, characterized in that it allows a serial implementation of several processing units (BNU (33) + MEMC (32) + CNU (33)) to increase the processing capabilities of the decoder. 6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce qu'il permet un stockage de 30 messages gammas, en utilisant une FIFO circulaire permettant d'obtenir sans décodage d'adresse les constituantes gamma necessaries au calcul des BNU (33), ce stockage permettant de récupérer lesdites composantes gamma une deuxième fois afin de soustraire celles-ci pour obtenir les messages Lambdas.  6. Method according to any one of claims 1 to 5, characterized in that it allows a storage of gamma messages, using a circular FIFO to obtain without address decoding the gamma components necessary for the calculation of BNU (33), this storage for recovering said gamma components a second time to subtract them to obtain Lambda messages. 7. Appareil de reduction de complexité de décodage pour la mise en oeuvre du procédé selon l'une quelconque des revendications là 6, caractérisé en ce qu'il comporte: 35 - un sous-module "Check Node Unit" (31) un sous-module "Memory Controller" (32) - La sous-fonction "Bit Node Unit" (33) Le sous module "check node unit" (31) étant en outre composé des sous-fonctions RENDER(51), PIPE(52) et OUTER(53). 40  7. Device for reducing decoding complexity for implementing the method according to any one of claims 1 to 6, characterized in that it comprises: a sub-module "Check Node Unit" (31) a sub-module -Module "Memory Controller" (32) - The "Bit Node Unit" sub-function (33) The sub-module "check node unit" (31) is also composed of the sub-functions RENDER (51), PIPE (52) and OUTER (53). 40
FR0512496A 2005-12-09 2005-12-09 Low density parity code decoding complexity reducing method for communication channel, involves decomposing low density parity check code decoding function into sub-functions represented by check and bit node units and memory controller Pending FR2894738A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0512496A FR2894738A1 (en) 2005-12-09 2005-12-09 Low density parity code decoding complexity reducing method for communication channel, involves decomposing low density parity check code decoding function into sub-functions represented by check and bit node units and memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0512496A FR2894738A1 (en) 2005-12-09 2005-12-09 Low density parity code decoding complexity reducing method for communication channel, involves decomposing low density parity check code decoding function into sub-functions represented by check and bit node units and memory controller

Publications (1)

Publication Number Publication Date
FR2894738A1 true FR2894738A1 (en) 2007-06-15

Family

ID=37635728

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0512496A Pending FR2894738A1 (en) 2005-12-09 2005-12-09 Low density parity code decoding complexity reducing method for communication channel, involves decomposing low density parity check code decoding function into sub-functions represented by check and bit node units and memory controller

Country Status (1)

Country Link
FR (1) FR2894738A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188427B (en) * 2007-11-13 2011-08-31 东南大学 Confidence spreading decoding method for enhancing error correction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003021440A1 (en) * 2001-09-01 2003-03-13 Bermai, Inc. Decoding architecture for low density parity check codes
US20050262420A1 (en) * 2004-05-21 2005-11-24 Samsung Electronics Co., Ltd. Apparatus and method for decoding low density parity check codes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003021440A1 (en) * 2001-09-01 2003-03-13 Bermai, Inc. Decoding architecture for low density parity check codes
US20050262420A1 (en) * 2004-05-21 2005-11-24 Samsung Electronics Co., Ltd. Apparatus and method for decoding low density parity check codes

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHEN Y ET AL: "HIGH THROUGHPUT OVERLAPPED MESSAGE PASSING FOR LOW DENSITY PARITY CHECK CODES", GLSVLSI'03. PROCEEDINGS OF THE 2003 ACM GREAT LAKES SYMPOSIUM ON VLSI. WASHINGTON, DC, APRIL 28 - 29, 2003, GREAT LAKES SYMPOSIUM ON VLSI. (GLSVLSI), NEW YORK, NY : ACM, US, 28 April 2003 (2003-04-28), pages 245 - 248, XP009054620, ISBN: 1-58113-677-3 *
ENGLING Y ET AL: "VLSI architectures for iterative decoders in magnetic recording channels", IEEE TRANSACTIONS ON MAGNETICS, IEEE SERVICE CENTER, NEW YORK, NY, US, vol. 37, no. 2, March 2001 (2001-03-01), pages 748 - 755, XP002958229, ISSN: 0018-9464 *
HU X-Y ET AL: "EFFICIENT IMPLEMENTATION OF THE SUM-PRODUCT ALGORITHM FOR DECODING LDPC CODES", GLOBECOM'01. 2001 IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE. SAN ANTONIO, TX, NOV. 25 - 29, 2001, IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE, NEW YORK, NY : IEEE, US, vol. VOL. 2 OF 6, 25 November 2001 (2001-11-25), pages 1036 - 1036E, XP001099262, ISBN: 0-7803-7206-9 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188427B (en) * 2007-11-13 2011-08-31 东南大学 Confidence spreading decoding method for enhancing error correction

Similar Documents

Publication Publication Date Title
EP0891656B1 (en) Data block convolutional coding device and method, and corresponding decoding method and device
EP0529718B1 (en) Digital signal transmission system using concatenated codes and receiver and decoder used for this system
FR2785743A1 (en) DEVICE AND METHOD FOR ADAPTING TURBOCODERS AND DECODERS ASSOCIATED WITH VARIABLE LENGTH SEQUENCES
EP1332557A2 (en) High-speed module, device and method for decoding a concatenated code
EP0848524A1 (en) Punctured, trellis coded QAM, with interative decoding
EP1101288B1 (en) Method and device for error correction coding and corresponding decoding method and device
WO2008059160A2 (en) Encoding and decoding of a data signal according to a correcting code
FR2950209A1 (en) METHOD OF ELEMENTARY UPDATING A CONTROL NODE DURING AN ENCODED BLOCK DECODING WITH A NON-BINARY LDPC CODE, AND CORRESPONDING DECODER
EP1974472A1 (en) Fast encoding and decoding methods and related devices
EP1905157A2 (en) Method and system for encoding a data sequence
EP1527521B1 (en) Device and method for robust decoding of arithmetic codes
FR2894738A1 (en) Low density parity code decoding complexity reducing method for communication channel, involves decomposing low density parity check code decoding function into sub-functions represented by check and bit node units and memory controller
EP0463598A1 (en) Convultional code decoding circuit performing the viterbi algorithm step of memorisation and backtracing of the surviving paths
FR3064436A1 (en) ENCODING METHOD AND POLAR CODE ENCODER
FR2802735A1 (en) Coding/decoding digital word mechanism having padding providing polynomial division with interspersion sequence/second padding operation and recursive coding operation output
EP2766996B1 (en) Error correction coding and decoding
FR2838581A1 (en) Method for coding and/or decoding of the error-correction codes, corresponding devices and signal representative of coded data block
FR2972878A1 (en) ERROR CORRECTING ENCODING METHOD, DECODING METHOD AND ASSOCIATED DEVICES
FR2888062A1 (en) CODEUR AND TURBO PRODUCT CODE DECODER
FR2811169A1 (en) Low calculation cost decoder process/mechanism having n uplet assembly extrinsic information decoded using whole number set summed sequence transmitted energy spectral density values initialised.
WO2018115648A1 (en) Encoding and decoding data packets in a galois group
WO2008129195A1 (en) Coding and decoding of data signals with variable rates
WO2015107315A1 (en) Encoding and decoding linear code from lattices
FR2967320A1 (en) METHOD AND DEVICE FOR DECODING DATA RECEIVED IN FRAMES
WO2010086424A2 (en) Method for encoding data with at least two encoding steps and at least one permutation step, corresponding encoding device, computer program and signal