EP1766785A1 - Procede de decodage iteratif de codes blocs et dispositif decodeur correspondant - Google Patents

Procede de decodage iteratif de codes blocs et dispositif decodeur correspondant

Info

Publication number
EP1766785A1
EP1766785A1 EP05775373A EP05775373A EP1766785A1 EP 1766785 A1 EP1766785 A1 EP 1766785A1 EP 05775373 A EP05775373 A EP 05775373A EP 05775373 A EP05775373 A EP 05775373A EP 1766785 A1 EP1766785 A1 EP 1766785A1
Authority
EP
European Patent Office
Prior art keywords
value
analog weight
analog
weight
word
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.)
Withdrawn
Application number
EP05775373A
Other languages
German (de)
English (en)
Inventor
Benoît GELLER
Jean-Pierre Barbot
Jean-Marc Brossier
Christophe Vanstraceele
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.)
Centre National de la Recherche Scientifique CNRS
Institut Polytechnique de Grenoble
Original Assignee
Centre National de la Recherche Scientifique CNRS
Institut Polytechnique de Grenoble
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 Centre National de la Recherche Scientifique CNRS, Institut Polytechnique de Grenoble filed Critical Centre National de la Recherche Scientifique CNRS
Publication of EP1766785A1 publication Critical patent/EP1766785A1/fr
Withdrawn 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • 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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3784Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 for soft-output decoding of block codes
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • H03M13/453Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding

Definitions

  • Iterative decoding method of block codes and corresponding decoder device The coding-decoding methods of the digital signals have been introduced in order to ensure an efficient transmission of the digital data conveyed by the latter. In principle, they consist in adding to a significant bit, the medium of the information conveyed by the aforementioned digital signals, a redundancy of known bits, in order to allow after transmission of the set, and introduction of errors inherent in the transmission process. , decoding and reconstruction of the signifying bits with a good probability of likelihood.
  • block codes including product codes
  • T q T q representing all combinations of binary values in the least reliable p positions and zero value for the other positions;
  • Z q Y ⁇ T q where the sign ⁇ designates the exclusive OR operation on the components of the vectors;
  • C po - Cn J ⁇ t
  • the above-mentioned competing words are found through Chase's algorithm. In the case where one of the words does not exist, the reliability is fixed by a constant predetermined value ⁇ , whose sign is given by Chase's decision. The fact of increasing p increases the probability of finding, for a bit of rank j, the competing word at D.
  • the processing of the information to execute the turbo decoding from a SISO decoder is then the following: for a received product code word [R], the decoded product code word generated by the previous iteration [R (m)] and the decoded product code word [R (m)] generated by the iteration current output from the SISO decoder, the input word [W (m + 1)] of the decoding turbo T for the next iteration satisfies the relation:
  • W (m) designates the extrinsic information, normalized to 1 at each iteration and ⁇ (m) denotes a coefficient which depends on the current iteration, of rank m.
  • This decoding process is close to the optimal in that the information that flows from one decoding iteration to the next contains only the information provided by this iteration, because of the subtraction operation carried out. extrinsic information being transmitted alone.
  • step a) The implementation mode according to the process described by R. Pyndiah requires the effective storage of 2 P n-bit words in step a) for each decoded row or column.
  • steps c) and d) each requires the conduct of a loop calculation to discriminate the decision code word, which lasts respectively for the competitor word at a minimum distance, against the received product code word R.
  • the present invention aims to overcome the disadvantages of the method of the prior art described above.
  • an object of the present invention is to substantially eliminate the operation of storing the code words produced by the implementation of the iterative process, according to the Fast Chase algorithm for example, in particular to enable the implementation of decoding devices in devices of much reduced computing capacity, not exceeding, for example, that of mobile computers, mobile telephony terminals or PDA-type PDAs, or in systems digital data storage.
  • Another object of the present invention is, finally, because of the introduction of the aforementioned simplification, the implementation of a method and a device for iterative decoding of block codes in which the iterative process is reduced to a single loop, the loop processes of steps c) and d) of the method of the prior art being substantially eliminated, which allows to obtain a significant reduction in the calculation time to perform the decoding, to increase the number of words of test code for decoding, or to increase the length of the processed code.
  • the method of iterative decoding of block codes by SISO decoding of a product code word received from decoded test words, object of the present invention, is remarkable in that it consists at least in generating by means of a iterative process a plurality of decoded test words, calculating for each decoded test word the analog weight expressed as the half sum of the products of the value of each bit mapped to the value + or -1 of this decoded test word and of the probability of this value, in terms of log-likelihood, classifying and storing said analog weight values, to constitute a first analog weight vector formed by the analog weight components of the decoded test words whose bit of rank j is at a first value and a second analog weight vector formed by the analog weight components of the decoded test words whose bit of rank j is at a second value, calculating the value of sort ie soft decision of the SISO decoding, expressed as the difference of the analog weight components of the first and second analog weight vectors.
  • the iterative decoding device of block codes by SISO decoding of a received product code word, from decoded test words, object of the present invention is remarkable in that it comprises at least for the treatment of each word.
  • received product code a generator module, from an iterative algorithm, a plurality of decoded test words, a calculation module, for each decoded test word, the analog weight expressed as the half-sum of the products.
  • a sorting module by classification, of the analog weight values for the test words decoded to constitute a first vector of analog weight formed by the analog weight components of the words of decoded test whose bit of rank j is at a first value and a second vector of analog weight formed by the analog weight components of the decoded test words whose bit of rank j is at a second value, a first and a second register for storing said analog weight values classified according to this first respectively this second analog weight vector and a module for calculating the soft decision output value of the SISO decoding, comprising at least one subtractor module of the analog weight components of the first and of the second analog weight vector.
  • FIG. 2 represents, by way of illustration, a flowchart of the essential steps for implementing the iterative decoding method that is the subject of the present invention
  • FIG. 3a represents, by way of illustration, a detailed flowchart of the step of classifying the analog weight values of the decoded test words represented in FIG. 2;
  • FIG. 3b represents, by way of illustration, a detailed flowchart of the step of calculating the soft decision value represented in FIG. 2.
  • the aforementioned fast chase iterative process or algorithm simplifies the operations of the Chase process, previously mentioned in the description, by traversing the test vectors or means of a Gray count type.
  • This procedure makes it possible to simplify the expression of the syndrome calculated for each iteration, the notion of syndrome corresponding to the notion of error location after coding, taking advantage of the properties of the linear block codes.
  • the calculation of the weight for each test vector is also simplified because of the simplification of the update when considering the change of a single bit.
  • H denotes the i- th line of the matrix H.
  • the code is a Hamming code extended by a parity bit, denoted yo. The parity bit is not taken into account in the calculation of the syndrome but checked afterwards.
  • Y ⁇ y 0 y n ⁇ denotes the hard decision of the word R soft input of the SISO decoder with y, € ⁇ 0, 1 ⁇ .
  • Weight hm and Weight are the analog weights of Y bm and Y 1 respectively, vector tested at each iteration and word obtained by hard decoding.
  • the weight of the tested vector is updated:
  • the decoded test words Y 1 are obtained from a row or a column of the received product codeword R. These operations are then applied sequentially to all the rows or all the columns following the iteration considered.
  • a hard decision Y is made on the received product code word R, and the values of the bits of Y, 0 or 1 (or -1 or +1 according to the convention adopted) are therefore decided from the soft values, without decoding.
  • test vectors are generated, by modifying the p bits selected as being the least reliable, on the hard decision Y mentioned above, not decoded, according to all the possible bit combinations.
  • the decoded test words Y 1 are then obtained by decoding the above test vectors by hard decoding.
  • the one where the least reliable p bits are not changed corresponds to the decoded test word Y 1 obtained by direct decoding of the hard decision Y.
  • the following decoded test words are obtained from the hard decision Y in which the least reliable bits are modified to obtain a test vector, which is hard decoded.
  • the method which is the subject of the invention consists, in particular, in generating 2 P decoded test words for the 2 P bits of the decoded received word Y resulting from hard decoding, the value of which is the least reliable.
  • Step A is then followed by a step B, represented in FIG. 2, consisting in calculating for each decoded test word Y 1 the analog weight expressed as the half-sum of the products of the value of each bit mapped to the ⁇ 1 value of this decoded test word and the probability of this value in terms of log-likelihood.
  • r denotes the log-likelihood value of the corresponding bit of rank i, i being a computation index corresponding in fact to the index of the bit mapped to the value +1 respectively -1 and c, denotes this value mapped for each decoded test word Y *.
  • log-likelihood value can be expressed as the relation (16)
  • all possible combinations of the test vectors are obtained by modifying a single bit of the test vector of the previous iteration t to obtain the vector of next test of the current iteration t + 1 to obtain the next test vector of the current iteration t + 1, and so on, from the first test vector, to obtain all the possible combinations of these bits on the selected positions.
  • the bits of the test vector of the previous iteration are modified, at the rate of only one of these, according to a specific sequence starting from a Gray count, to review all possible combinations of bits.
  • the order of change of the bits is contained in a vector respecting this counting mode.
  • P ' P - r k c' k (17)
  • P is the weight of the previous iteration test vector
  • r k denotes the reliability in terms of log-likelihood of the bit of rank k modified
  • c 'k the new value mapped to ⁇ 1 of the bit of rank k modified.
  • the decoded test word of the current iteration is obtained by decoding by hard decoding the test vector considered of this same iteration.
  • the iterative decoding method, object of the present invention consists in classifying and, of course, storing the analog weight values for the decoded test words, so as to constitute a first vector Vi of analog weight formed by the analog weight components p ⁇ ; decoded test words whose bit of rank j is mapped to a first value +1 and a second vector V2 of analog weight formed by the analog weight components p
  • the ranking operation is represented symbolically in step C of FIG. 2 by the relation: Weight -W 1 (PMJ " ) or V 2 ( PM j)
  • steps A, B, C represented in FIG. 2 and, in particular, the steps B and C can be integrated into the iterative process of the fast chase algorithm, this iterative process being represented by the return step.
  • the index t denotes the passage of the decoded test word generated at the current iteration to the decoded test word of the next iteration for the exploitation of the 2 decoded test words.
  • step D of soft decision-making that is to say of the SISO decoding, expressed as the difference of the analog weight components of the first and of the second vectors ⁇ ⁇ and V 2 of analog weight.
  • step C of Fig. 2 A more detailed description of the process of ordering the analog weight values for the decoded test words, step C of Fig. 2 will now be given in connection with Fig. 3a.
  • the classification process of the method that is the subject of the present invention comprises a step of initializing the first Vi and the second V 2 analog weight vector in which each analog weight component p ⁇ for the first vector Vi relating to the analog weight components of the decoded test words whose bit of rank j is at a first value and respectively p ⁇ " for the second vector V 2 of analog weight relative to the components of analog weight of the decoded test words whose bit of rank j is the second value are initialized to the value p
  • the list containing the minimum weights must be understood as such because of the process implemented by the steps Ci and C 2 hereinafter called after the initialization step Co and the first iteration of the fast chase algorithm. noted C 1 in Figure 3a.
  • the operation of classifying and storing the analog weight values then consists in classifying the analog weight values of the first test word obtained in the weights vectors of the minimum weights as a function of the value of the bits of the latter, the first First tested test word having the minimum weight relative to the arbitrary initialization weight values.
  • the decoded test word considered is the test word Y 1 .
  • step Ci The so-called launch operation performed at the end of the first iteration in step Ci is written:
  • the classification process consists in classifying the current weight obtained during the current iteration of the fast Chase algorithm in the first Vi and the second V 2 vector, respectively. of minimum analog weight, if and only if the current weight Weight is less than the weight value present for the component of the same rank stored at the previous iteration or at a previous iteration.
  • step D of FIG. 2 for calculating the SISO decoding output value
  • step c 2 available vectors ⁇ ⁇ and V 2, lists the analog weight values of the test words decoded with the j -th bit to 1 first value and 0 second value.
  • step D of FIG. 2 then consists, starting from the values P ⁇ + and p ⁇ " , for any bit of rank j belonging to 0, n, of each decoded test word if the value of the analog weight components is different from the initialization value, ie + ⁇ , the probability of the value of the corresponding rank bit j is calculated as the difference of the actual analog weight values p ⁇ ⁇ and p ⁇ +.
  • the above condition can be realized by the tests D 1 and D 2 shown in FIG 3b, the difference values p ⁇ and
  • the value + ⁇ can be represented by any arbitrarily large value that is not compatible with an actual value of probable analog weight.
  • the difference test can then consist of an inferiority test for example.
  • step D 4 The calculation of the difference of the analog weight values is represented in step D 4 .
  • the value of the analog weight component p ⁇ T of the decoded test word whose bit of rank j is at a value is only different from the initialization value + ⁇ , it is assigned to the probability of the bit value of rank j a first negative determined value.
  • This operation can be performed, as shown in FIG. 3b, on a negative response to the test D 1 in a step D 3 .
  • the value of the analog weight component py ⁇ of the decoded test word, whose bit of rank j is at the other value the value 1 for example, is different from the initialization value, it is assigned to the probability of the value of the rank bit j a determined value opposite to the first determined value. This operation is performed on a negative response to the test D 2 in step D 5 .
  • the first and second positive negative values respectively positive are the values ⁇ , weighting coefficient of turbo-decoding.
  • An additional memory saving can be obtained for the purpose of implementing the product code decoding method by eliminating Y, i.e., the decoded test word after hard decoding forming the decoded test word of the setting. implementation of the algorithm. In this situation, only the test vector Y bm constituting the test word is used. This test word can be reassigned to its true value from the beginning of the iteration after having been subjected to a hard decoding to form the corresponding test word, so as not to change the list of test words, if one has kept the value of the erroneous bit and a variable indicating a possible parity error. This operating process also makes it possible to avoid reassigning each time the value Y 1 of the test word after hard decoding, that is to say from the decoded test word to the value of Y bm .
  • parity bit of each test word can be updated each time a bit of rank j is modified, which avoids the need to sum all the bits each time to recalculate the value of parity.
  • the method which is the subject of the present invention is remarkable vis-à-vis the methods of the prior art, in that it allows a considerable gain in the number of logic gates used and the actual calculation time required while retaining the same calculation result.
  • First, exploiting the properties of block code syndromes as part of the Fast Chase algorithm divides the computation time of the syndrome by n. In fact, we divide by the same factor the amount of operations required to calculate the analog weight and therefore, Overall, the calculation time of the process of scanning all the test vectors by the Fast Chase algorithm is itself divided by n.
  • the new method of calculating the reliability used in accordance with the subject of the present invention makes it possible to completely get rid of the storage of the decoded test words examined by the fast Chase algorithm process. iterative.
  • This procedure thus eliminates the need to implement a quantity of memory corresponding to n ⁇ 2 p bits and this, for each line or column of the product code, which gives a total saving of n 2 ⁇ 2 P bits for decoding. full product code on a half-iteration.
  • the amount of memory then needed to store the analog weights depends only on the length of the code and the number of bits of the quantization, and therefore does not depend in any way on the number of competing words or test words chosen.
  • An iterative decoding device of block codes by decoding SISO of a received code word R consisting of n bits, from decoded test words, according to the method of the present invention, described above, will now be described in connection with FIG. 4.
  • the device that is the subject of the invention is deemed, in a nonlimiting manner, integrated in a mobile telephone terminal, a digital assistant of the type
  • This type of apparatus comprises, in a conventional manner, a central processing unit, CPU, formed by a microprocessor, a random access memory, RAM memory, acting as a working memory, and a permanent memory, such as a ROM memory. , non-volatile memory for example.
  • the device according to the invention shown in FIG. 4 furthermore comprises a generator module based on an iterative algorithm such as the
  • the aforementioned generator module may consist of a program module stored in ROM memory and called in working memory RAM for execution of the fast chase algorithm described above in connection with the table of the present description in accordance with FIG. step A) of FIG.
  • the above-mentioned calculation module may consist of a program module stored in a ROM 2 memory and called in working memory for execution according to the relation indicated in step B) of FIG. 2.
  • This sorting module also comprises a sorting module by classification of the analog weight values for the decoded test words Y 1 above.
  • This sorting module may be constituted by a ROM 3 program module, called RAM working memory for execution in accordance with the method of the invention shown in Figures 2 and C stages 3a.
  • a first Ri and a second register R 2 for storing the analog weight values classified according to the first and second vector Vi, V 2 of analog weight, relative each the analog weight components of the decoded test words.
  • the aforementioned registers can be configured as a memory area protected from the RAM working memory or by an electrically reprogrammable non-volatile memory, so as to allow a reconfiguration of each register Ri, R 2 , depending on the number of decoded test words finally retained for the implementation of the decoding.
  • the device comprises, as illustrated in FIG. 4, a module for calculating the SISO decoding soft decision output value comprising at least one subtractor module of the analog weight components of the first and the second second analog vector stored in the registers Ri respectively R 2 .
  • This calculation module may consist of a ROM4 program module called in working memory for execution in accordance with the method that is the subject of the invention represented in FIG. 2, step D and 3b.
  • the embodiment of the decoding device that is the subject of the present invention can advantageously be executed in the form of a chip, a dedicated integrated circuit.
  • the method and the decoding device according to the invention find application in the implementation of systems or apparatus for storing coded data and reproducing these coded data in decoded form.

Landscapes

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

Abstract

Un procédé et un dispositif de décodage de code bloc. Chaque mot reçu (R) est soumis à un turbo-décodage SISO consistant à engendrer (A) par un algorithme itératif des mots de test décodés, calculer (B) pour le mot de test décodé le poids analogique de ce dernier, demi somme des produits de la valeur de chaque bit mappé à ± 1 de ce mot de test décodé et de la log-vraisemblance de ce bit, classer (C) les valeurs de poids analogique des mots concurrents selon un premier (V1) respectivement un deuxième vecteur (V2) de poids analogique formés par les composantes de poids analogique des mots de test décodés dont le bit de rang j est à une première valeur et un deuxième vecteur de poids analogique formé par les composants de poids analogique des mots de test décodés dont le bit de rang j est à une deuxième valeur et calculer (D) la valeur de sortie de décision douce du décodage SISO comme la différence des composantes de poids analogique des premier, deuxième vecteur (V1) (V2). Application au décodage de codes blocs transmis ou stockés en mémoire.

Description

Procédé de décodage itératif de codes blocs et dispositif décodeur correspondant Les procédés de codage-décodage des signaux numériques ont été introduits afin d'assurer une transmission efficace des données numériques véhiculées par ces derniers. Par principe, ils consistent à ajouter à des bits signifiants, support de l'information véhiculée par les signaux numériques précités, une redondance de bits connus, afin de permettre après transmission de l'ensemble, et introduction d'erreurs inhérentes au processus de transmission, un décodage et une reconstruction des bits signifiants avec une bonne probabilité de vraisemblance. Dans le cas plus spécifique des codes blocs, incluant les codes produit, on considère, en référence à la figure 1a, deux codes blocs Ci (n-i, k^ di) et C2 (n2, k2, d2) dont les n bits, n = (I1 x n2 sont placés dans une matrice à ki lignes et k2 colonnes, ki x k2 désignant les bits signifiants placés dans une matrice à ki lignes et k2 colonnes, les ni lignes étant codées par le code C2 et les n2 colonnes étant codées par Ci .
Les paramètres du code produit P(n, k, d) sont donnés par n = ni x n2, k = ki x k2, d = di x d2 et le rendement du code produit est donné par r = T1 x r2 produit des rendements des codes Ci et C2.
Le décodage après réception d'un mot de code produit reçu R = {n ... rn} d'une seule ligne ou d'une seule colonne E = {ei, ... en} codée par le code C1 ou C2 est exprimé sous la forme R = E+G où G = {g-i, ... gn} désigne un bruit blanc gaussien additif introduit par le canal de transmission.
Le maximum de vraisemblance du mot de code R reçu vis-à-vis d'un mot du code produit est obtenu par la décision optimum D = {di, ... , dn} vérifiant la relation :
2
D = minCi R-C relation dans laquelle
C = (C1, ... cn} désigne un mot du code, et
R -Cl = ∑ L-rî ) désigne la distance euclidienne du mot C 1V ^ H I=I v 1 W/ considéré vis-à-vis du mot de code reçu R.
Une recherche exhaustive sur l'ensemble des mots du code étant irréalisable, pour trouver la décision optimum, un processus de décodage proposé par R.Pyndiah consiste à mettre en œuvre un algorithme de Chase pour obtenir cette dernière.
Pour toute décision dure avec Y = {yi, ... yn} relative à un mot reçu R, l'algorithme précité consiste à effectuer les opérations suivantes : - sélection des p = d/2, d désignant le nombre de bits les moins fiables, des log-vraisemblances r, de valeur absolue faible d'une ligne ou d'une colonne ;
- construction des Tq vecteurs de test, Tq représentant toutes les combinaisons de valeurs binaires dans les p positions les moins fiables et valeur zéro pour les autres positions ; - construction des mots de test Zq = YΘ Tq où le signe θ désigne l'opération OU exclusif sur les composantes des vecteurs ;
- décodage dur des mots de test Zq afin d'obtenir des mots Cq appartenant au code ;
- sélection du mot de code Cd appartenant au code de distance euclidienne minimale par rapport au mot reçu et obtention de la décision optimum
D.
Il faut alors procéder au calcul de la fiabilité de cette décision optimum.
La fiabilité précitée en termes de log-vraisemblance (LLR) est donnée, pour chaque bit dj de la décision optimum D, par la relation :
A Λ /(d,j.Λ) = J ln(-P{ej = + yR]
P{ej = - l/R}) dans laquelle pjej = ε/RJ, ε = ±1, désigne la probabilité conditionnelle que le bit βj corresponde à la valeur mappée compte tenu du mot de code reçu R ;
In désigne le logarithme Népérien. Le calcul rigoureux de LLR doit tenir compte du fait que la décision optimum D est un mot parmi les 2k (pour ki = k2) mots du code C.
Dans la solution proposée par R. Pyndiah, une approximation de LLR pour des signaux à grand rapport signal à bruit RSB est donnée par la relation
-10) +10) m - m r'i = avec
+10) +10) m R-C et -10) -10) m R-C OÙ
+1(J) I +10) +(ι) [ _t -10) J -10) -1G) I
C = po -- Cn J βt C = Po - ' Cn J sont les mots concurrents du code à distance minimale de R ayant pour contrainte que le bit de rang j de ces mots soit mappé à la valeur +1 respectivement -1. Les mots concurrents précités sont trouvés grâce à l'algorithme de Chase. Dans le cas où l'un des mots n'existe pas, la fiabilité est fixée par une valeur prédéterminée constante β , dont le signe est donné par la décision de Chase. Le fait d'augmenter p augmente la probabilité de trouver, pour un bit de rang j, le mot concurrent à D. En référence à la figure 1b, le traitement des informations pour exécuter le turbo décodage à partir d'un décodeur SISO est alors le suivant : pour un mot de code produit reçu [R], le mot de code produit décodé engendré par l'itération précédente [R(m)] et le mot de code produit décodé [R(m)] engendré par l'itération courante délivrées par le décodeur SISO, le mot d'entrée [W(m+1)] du turbo décodage T pour l'itération suivante vérifie la relation :
[W(m+1)] = [R'm) - R(m)] avec [R(m+1)]=[R] + α (m+1)[W(m+1)] et [R(1)]=[R] pour la première itération.
Dans la relation précédente W(m) désigne l'information extrinsèque, normalisée à 1 à chaque itération et α(m) désigne un coefficient qui dépend de l'itération courante, de rang m.
Ce processus de décodage est proche de l'optimal dans la mesure où l'information qui circule d'une itération de décodage à la suivante ne contient que l'information apportée par cette itération, en raison de l'opération de soustraction effectuée, l'information extrinsèque étant seule transmise.
Pour une description plus détaillée de ce processus de turbodécodage, on pourra utilement se reporter à la demande de brevet EP 0 827 284 publiée le 4 mars 1998.
La mise en œuvre du processus de codage précité, pour une ligne ou une colonne, peut être résumée de la manière ci-après : a) - processus itératif selon l'algorithme de Chase avec décodage par utilisation d'un algorithme du type Berlekamp-Massey ou PGZ et stockage en mémoire des mots obtenus et de leurs poids ; b) - recherche de la décision dure Cd = D décision optimum à distance euclidienne minimale parmi ces mots ; c) - pour chaque bit de rang j, recherche du mot concurrent QC à distance minimale de R tel que c dc° et calcul de la fiabilité, en termes de log-
vraisemblance, à partir de l'approximation f . = m m
d) - calcul des informations extrinsèques pour le mot concurrent de rang j retenu à l'étape c), par la relation
Dans la relation précédente, cf désigne le bit de rang j de Cd = D et r'j
désigne la log-vraisemblance de la décision douce R' délivrée par le décodeur
SISO.
Le mode de mise en œuvre selon le processus décrit par R. Pyndiah nécessite la mise en mémoire effective de 2P mots de n bits à l'étape a) pour chaque ligne ou colonne décodée. En outre, l'étape précitée ayant été exécutée, la mise en œuvre des étapes c) et d) exige chacune la conduite d'un calcul en boucle pour discriminer le mot de code décision dure respectivement le mot concurrent à distance minimale, vis-à-vis du mot de code produit reçu R.
De telles opérations sont grandes consommatrices de ressources et de temps de calcul et ne peuvent être facilement mises en œuvre que grâce à des moyens de calcul très performants.
La présente invention a pour objet de remédier aux inconvénients du procédé de l'art antérieur précédemment décrit.
En particulier, un objet de la présente invention est de supprimer sensiblement l'opération de mémorisation des mots de code produit par la mise en œuvre du processus itératif, selon l'algorithme de Chase rapide par exemple, afin, notamment, de permettre l'implantation de dispositifs décodeurs dans des appareils de capacité de calcul beaucoup plus réduite, n'excédant pas, par exemple, celle d'ordinateurs nomades, de terminaux de téléphonie mobile, voire d'assistants numériques personnels de type PDA, ou encore dans les systèmes de stockage de données numériques. Un autre objet de la présente invention est enfin, du fait de l'introduction de la simplification précitée, la mise en œuvre d'un procédé et d'un dispositif de décodage itératif de codes blocs dans lesquels le processus itératif est réduit à une seule boucle, les traitements en boucle des étapes c) et d) du procédé de l'art antérieur étant sensiblement supprimées, ce qui permet d'obtenir une réduction significative du temps de calcul pour effectuer le décodage, d'augmenter le nombre de mots de code de test servant au décodage, ou encore d'augmenter la longueur du code traité.
Le procédé de décodage itératif de codes blocs par décodage SISO d'un mot de code produit reçu à partir de mots de test décodés, objet de la présente invention, est remarquable en ce qu'il consiste au moins à engendrer au moyen d'un processus itératif une pluralité de mots de test décodés, calculer pour chaque mot de test décodé le poids analogique exprimé comme la demi- somme des produits de la valeur de chaque bit mappé à la valeur + ou - 1 de ce mot de test décodé et de la probabilité de cette valeur, en termes de log- vraisemblance, classer et mémoriser lesdites valeurs de poids analogique, pour constituer un premier vecteur de poids analogique formé par les composantes de poids analogique des mots de test décodés dont le bit de rang j est à une première valeur et un deuxième vecteur de poids analogique formé par les composantes de poids analogique des mots de test décodés dont le bit de rang j est à une deuxième valeur, calculer la valeur de sortie de décision douce du décodage SISO, exprimée comme la différence des composantes de poids analogique du premier et du deuxième vecteur de poids analogique.
Le dispositif de décodage itératif de codes blocs par décodage SISO d'un mot de code produit reçu, à partir de mots de test décodés, objet de la présente invention, est remarquable en ce qu'il comprend au moins pour le traitement de chaque mot de code produit reçu, un module générateur, à partir d'un algorithme itératif, d'une pluralité de mots de test décodés, un module de calcul, pour chaque mot de test décodé, du poids analogique exprimé comme la demi-somme des produits de la valeur de chaque bit mappé à la valeur +1 ou - 1 de ce mot de test décodé et de la probabilité de cette valeur, en termes de log- vraisemblance, un module de tri, par classification, des valeurs de poids analogique pour les mots de test décodés pour constituer un premier vecteur de poids analogique formé par les composantes de poids analogique des mots de test décodés dont le bit de rang j est à une première valeur et un deuxième vecteur de poids analogique formé par les composantes de poids analogique des mots de test décodés dont le bit de rang j est à une deuxième valeur, un premier et un deuxième registre permettant de mémoriser lesdites valeurs de poids analogique classifiées selon ce premier respectivement ce deuxième vecteur de poids analogique et un module de calcul de la valeur de sortie de décision douce du décodage SISO, comprenant au moins un module soustracteur des composantes de poids analogique du premier et du deuxième vecteur de poids analogique. Le procédé et le dispositif de décodage itératif de codes blocs objets de la présente invention trouvent application à leur implantation, sous forme de circuit intégré, dans tous les appareils récepteurs de signaux numériques et, en particulier dans les appareils légers, de faible encombrement et possédant des ressources de calcul limitées. Ils seront mieux compris à la lecture de la description et à l'observation des dessins ci-après dans lesquels, outre les figures 1a et 1b relatives à l'art antérieur :
- la figure 2 représente, à titre illustratif, un organigramme des étapes essentielles de mise en œuvre du procédé de décodage itératif objet de la présente invention ;
- la figure 3a représente, à titre illustratif, un organigramme détaillé de l'étape de classement des valeurs de poids analogique des mots de test décodés représentée en figure 2 ;
- la figure 3b représente, à titre illustratif, un organigramme détaillé de l'étape de calcul de la valeur de décision douce représentée en figure 2.
Préalablement à la description proprement dite du procédé de décodage itératif de code bloc objet de la présente invention, un rappel sur le mode de mise en œuvre du processus itératif de Chase rapide sera tout d'abord introduit. Le processus itératif de Chase rapide sera pris comme exemple non limitatif de mise en œuvre d'un algorithme itératif permettant d'engendrer des mots de test décodés pour la mise en œuvre du procédé objet de l'invention.
Le processus ou algorithme itératif de Chase rapide précité permet de simplifier les opérations du processus de Chase, précédemment mentionné dans la description, en parcourant les vecteurs de tests ou moyens d'un comptage de type comptage de Gray. Ce mode opératoire permet de simplifier l'expression du syndrome calculé pour chaque itération, la notion de syndrome correspondant à la notion d'emplacement d'erreur après codage, en tirant parti des propriétés des codes blocs linéaires. Le calcul du poids pour chaque vecteur de tests est également simplifié en raison de la simplification de la mise à jour lorsqu'on considère le changement d'un seul bit.
Introduction des variables mises en œuvre par le processus de Chase rapide.
Dans la mise en œuvre précitée : • H désigne la matrice de contrôle du code BCH 1 -correcteur mis en œuvre à titre d'exemple, m désignant l'ordre du corps de Galois, H possède m colonnes et 2m - 1 = n lignes. Le syndrome calculé est donné par la relation S=YH, Y désignant la décision obtenue par décodage dur sur le mot d'entrée. H, désigne la ième ligne de la matrice H. Le code est un code de Hamming étendu par un bit de parité, noté yo. Le bit de parité n'est pas pris en compte dans le calcul du syndrome mais contrôlé après coup.
On indique que si l'on procède au changement d'un seul bit de rang quelconque de Y, le nouveau syndrome est obtenu simplement par addition à l'ancien syndrome, addition modulo-2, du vecteur H, précité correspondant au bit de rang i. Le comptage de Gray introduit pour discriminer les vecteurs tests permet de ne changer qu'un seul bit par itération et de ce fait, simplifie de manière particulièrement significative le calcul du syndrome S en conséquence.
• R = {ro, ... , rn} désigne l'entrée souple mot reçu du décodage SISO et R'={r'o, ... , r'n} désigne la sortie souple du décodage SISO. • Y = {y0 yn} désigne la décision dure du mot R entrée souple du décodeur SISO avec y, € {0, 1}. Dans ces conditions, γbm = jy m, ... ,yn m] désigne le vecteur testé à chaque itération de l'algorithme de Chase rapide, lequel permet de parcourir l'espace de l'ensemble des mots possibles autour du mot reçu par le comptage de Gray précédemment introduit, Y1 = {yO, ... , y'n} désignant le mot obtenu par décodage dur.
• Poidshm et Poids désignent les poids analogique de Ybm et Y1 respectivement, vecteur testé à chaque itération et mot obtenu par décodage dur. • Bm = {Bmi, ... , Bm2P-i} désigne l'ensemble des numéros des bits modifiés d'un mot de test au suivant à partir du mot reçu pour parcourir l'espace autour de ce dernier lors de la mise en œuvre de l'algorithme de Chase rapide. Cette opération est équivalent à un comptage en binaire de Gray sur les vecteurs de tests, p désigne le nombre des positions les moins fiables prises en compte dans l'algorithme de Chase rapide. A titre d'exemple, pour p = 3, si les positions les moins fiables sont {3, 5, 9} alors Bm = {3, 5, 3, 9, 5, 3}.
• Θ désigne l'addition des bits modulo-2 (OU exclusif), cette opération s'effectuant bit à bit. Le déroulement du processus de Chase rapide est alors introduit dans le tableau ci-après :
A) Initialisation Variables
Les variables précitées utilisées sont initialisées de la manière suivante : γbm _ y et p0/cys bm_Q ^ )e premjer mot testé par l'algorithme est le mot reçu, et le poids est considéré comme nul pour le mot reçu)
Y1 = Y et Poids = 0 (Y1 est initialisé à la valeur du premier mot testé avant d'être décodé dans la prochaine étape)
Décodage dur Calcul du syndrome : S = Y1H
Si S ≠ 0 alors =>
Détermination de la position de l'erreur e par tableau de correspondance puis correction par : yι e Θ 1 → y'β et mise à jour du poids par :
Poids - (2yι e -1) rβ → Poids.
Correction du bit de parité
Calcul de b = yS Θ ... Θ y'n
Si b ≠ y'o alors => correction par : y'o θ 1 → y'o et mise à jour du poids par :
Poids - (2yι 0 - 1 ) r0 → Poids.
On possède à ce moment le mot Y4 obtenu par décodage dur du mot reçu Y et son poids analogique. C'est le premier mot de test et on le stocke en mémoire. B) Itérations de l'algorithme
A chaque nouvelle itération, les variables conservent les valeurs qu'elles avaient à la fin de la précédente itération et pour t = 1 à t = 2P -1 on effectue les opérations suivantes :
Modification du bit pour obtenir le mot suivant
On obtient le mot à tester pour l'itération courante à partir de celui de l'itération précédente par la modification d'un seul bit déterminé par le vecteur Bm : bm bm
VBm(t) VBm(t)
On met à jour le poids du vecteur testé :
Poidsbm - (2^) - υrBm(t) → Poidsbm γt _ γbm et P0J1J3 = pojds brn4 est jnitialisé à la valeur du premier mot testé avant d'être décodé)
Décodage dur
Le nouveau syndrome peut être déduit très simplement du précédent car un seul bit a été modifié : S θ HBm(t) → S
Si S ≠ o alors =>
Détermination de la position de l'erreur e par tableau de correspondance puis correction par : y'e θ 1 → yι e et mise à jour du poids par :
Poids - (2y'e-1) re → Poids.
Correction du bit de parité
Calcul de b = y'i θ ... θ y'n
Si b ≠ yι 0 alors => correction par : y'0 Φ 1 → yO et mise à jour du poids par :
Poids - (2yι 0 - 1) r0 → Poids.
On dispose du mot Y* produit par le décodage dur du vecteur testé Ybm et son poids analogique. On sauvegarde alors le mot de test courant Y1 ainsi que son poids.
L'indice i est incrémenté et on retourne à l'étape Itérations de l'algorithme,
Modification du bit pour obtenir le mot suivant : On calcule ensuite les fiabilités de la même manière qu'indiqué précédemment en utilisant les vecteurs précédemment stockés. Dans les relations du tableau, le symbole → représente l'opération d'affectation d'une valeur à une variable. Le procédé de décodage itératif de codes blocs objet de la présente invention sera maintenant décrit en liaison avec la figure 2.
En référence à la figure 2 précitée, on indique que le procédé de décodage, objet de l'invention, consiste pour tout mot code produit reçu R, de la forme R = {ai, ... , ait ... an} où les composantes as de R désignent les valeurs analogiques de R détectées après transmission ou lecture, à engendrer en une étape A, par un processus itératif, tel que l'algorithme de Chase rapide, une pluralité de mots de test décodés notés γ' = jy ,...,y .- - .yj-
Les mots de test décodés Y1 sont obtenus à partir d'une ligne ou d'une colonne du mot de code produit reçu R. Ces opérations sont ensuite appliquées séquentiellement à toutes les lignes ou toutes les colonnes suivant l'itération considérée.
On effectue, en premier lieu, une décision dure Y sur le mot de code produit reçu R et l'on décide donc des valeurs des bits de Y, 0 ou 1 (ou -1 ou +1 selon la convention retenue) à partir des valeurs souples, sans effectuer de décodage.
A titre d'exemple pour un vecteur ligne ou colonne reçu VR = {-0.1 ; 0.55 ; 0.2 ; -0.6} la décision dure retenue Y est Y ={0 ;1 ;1 ;0} ou {-1 ;+1 ;+1 ;-1} selon la convention choisie.
On engendre, en deuxième lieu, les vecteurs de test, en modifiant les p bits sélectionnés comme étant les moins fiables, sur la décision dure Y précitée, non décodée, selon toutes les combinaisons binaires possibles. Les mots de test décodés Y1 sont alors obtenus en décodant par décodage dur les vecteurs de test précités.
Parmi l'ensemble de ces combinaisons, celle où l'on ne change pas les p bits les moins fiables correspond au mot de test décodé Y1 obtenu par décodage direct de la décision dure Y. Les mots de test décodés suivants sont obtenus à partir de la décision dure Y dans laquelle on procède à la modification des p bits les moins fiables pour obtenir un vecteur de test, lequel est soumis à un décodage dur.
Le procédé objet de l'invention consiste, en particulier, à engendrer 2P mots de test décodés pour les 2P bits du mot reçu décodé Y issus du décodage dur, dont la valeur est la moins fiable.
On comprend, en particulier, que la mise en œuvre de l'algorithme de Chase rapide précité permet d'obtenir les mots de tests décodés Y1 précédemment décrits, lesquels correspondent aux mots de test précédemment mentionnés.
L'étape A est alors suivie d'une étape B, représentée sur la figure 2, consistant à calculer pour chaque mot de test décodé Y1 le poids analogique exprimé comme la demi-somme des produits de la valeur de chaque bit mappé à la valeur ± 1 de ce mot de test décodé et de la probabilité de cette valeur en termes de log-vraisemblance.
On rappelle, en référence au tableau précédemment introduit, que les poids analogiques des mots de tests décodés Y1 ont été obtenus, ainsi que mentionné dans le tableau précité.
Le poids analogique, noté Poids de façon générique pour les mots de test décodés, vérifie alors la relation (15) :
Poids = 4∑r,c, d5).
Dans la relation précédente : r, désigne la valeur de log-vraisemblance du bit de rang i correspondant, i étant un indice de calcul correspondant en fait à l'indice du bit mappé à la valeur +1 respectivement -1 et c, désigne cette valeur mappée pour chaque mot de test décodé Y*.
Un justificatif du mode de calcul du poids analogique à l'étape B et de l'expression de ce dernier pour la mise en œuvre du procédé de décodage itératif objet de la présente invention sera maintenant donné ci-après. Pour les mots concurrents C+1()) et C'1()) mots concurrents à distance minimale du mot de code produit reçu R selon le processus de décodage de l'art antérieur de R. Pyndiah, la définition des poids analogique est donnée par : 2
+10) +10) -10) m R-C et -10) m R-C
La valeur de la log-vraisemblance pour chaque mot concurrent est donnée par la relation :
-i (i) +10) m -m π 4
Cependant ces mêmes valeurs s'expriment par les relations
En conséquence, la valeur de la log-vraisemblance peut être exprimée sous la forme de la relation (16)
L'introduction de la définition du nouveau poids analogique Poids pour chaque mot de test décodé par la relation (15) précédemment donnée dans la description permet alors de conserver le même ordre de classement qu'avaient les définitions classiques de l'art antérieur. En conséquence, l'expression du poids analogique précédemment mentionné à la relation (15) peut donc être avantageusement utilisée pour classer les mots de test décodés engendrés par l'algorithme de Chase rapide.
Dans le cas particulier du processus de Chase rapide, on obtient toutes les combinaisons possibles des vecteurs de test, lesquels n'ont pas été encore décodés, en modifiant un seul bit du vecteur de test de l'itération t précédente pour obtenir le vecteur de test suivant de l'itération t+1 courante pour obtenir le vecteur de test suivant de l'itération t+1 courante, et ainsi de suite, à partir du premier vecteur de test, pour obtenir toutes les combinaisons possibles de ces bits sur les positions sélectionnées. Pour ne pas retomber plusieurs fois sur le même vecteur, ou en oublier un, les bits du vecteur de test de l'itération précédente sont modifiés, à raison d'un seul de ceux-ci, selon une séquence spécifique à partir d'un comptage de Gray, permettant de passer en revue toutes les combinaisons possibles des bits. L'ordre de changement des bits est contenu dans un vecteur respectant ce mode de comptage.
Le fait de ne changer qu'un seul bit à chaque itération permet d'obtenir le poids P' du nouveau vecteur de test pour l'itération courante t+1 à partir de l'itération t précédente selon la relation :
P' = P - rkc'k (17) où P désigne le poids du vecteur de test de l'itération précédente, rk désigne la fiabilité en termes de log-vraisemblance du bit de rang k modifié et c'k la nouvelle valeur mapée à ± 1 du bit de rang k modifié. Le mot de test décodé de l'itération courante est obtenu en décodant par décodage dur le vecteur de test considéré de cette même itération.
En raison du fait que le décodage dur ne met en œuvre la modification éventuelle que d'un seul bit à la fois, si le mot de test décodé n'appartient pas au code, la mise à jour des poids selon la relation (17) peut alors également être utilisée pour obtenir le poids analogique du mot de test décodé Y1.
Le processus de calcul du poids analogique précédemment mentionné dans la description en liaison avec l'étape B permet alors, conformément à un aspect particulièrement remarquable du procédé objet de la présente invention, de calculer la valeur de la sortie douce du décodage SISO selon la relation (16) précédemment citée dans la description. Ceci, tout en conservant à chaque fois la distance minimale avec la contrainte que le jlème bit du mot concurrent soit à la valeur mappée à la valeur +1 ou -1 pour j = 0 à n.
En conséquence, suite à l'étape B de la figure 2, le procédé de décodage itératif, objet de la présente invention, consiste à effectuer un classement et, bien entendu, une mémorisation des valeurs de poids analogique pour les mots de test décodés, de façon à constituer un premier vecteur Vi de poids analogique formé par les composantes de poids analogique p^; des mots de test décodés dont le bit de rang j est mappé à une première valeur +1 et un deuxième vecteur V2 de poids analogique formé par les composantes de poids analogique p|\/|7 des mots de test décodés dont le bit de rang j est mappé à la deuxième valeur - 1.
L'opération de classement est représentée symboliquement à l'étape C de la figure 2 par la relation : Poids -W1 ( PMJ" ) ou V2(PMj )
On comprend en particulier que les étapes A, B, C représentées en figure 2 et, notamment les étapes B et C peuvent être intégrées dans le processus itératif de l'algorithme de Chase rapide, ce processus itératif étant représenté par l'étape de retour de l'étape C à l'étape A notée t = t+1 sur la figure 2. On comprend que l'indice t désigne le passage du mot de test décodé engendré à l'itération courante au mot de test décodé de l'itération suivante pour l'exploitation des 2 mots de test décodés.
L'ensemble des valeurs de poids analogique p|\/| + et ayant été classées sous forme des vecteurs Vi et V2, l'on peut alors appeler une étape D de calcul de décision douce, c'est-à-dire du décodage SISO, exprimée comme la différence des composantes de poids analogique du premier et du deuxième vecteurs \Λ et V2 de poids analogique.
Une description plus détaillée du processus de classement des valeurs de poids analogique pour les mots de test décodés, étape C de la figure 2 sera maintenant donnée en liaison avec la figure 3a.
En référence à la figure précitée, le processus de classement du procédé objet de la présente invention comporte une étape d'initialisation du premier Vi et du deuxième V2 vecteur de poids analogique selon laquelle chaque composante de poids analogique p^ pour le premier vecteur Vi relatif aux composantes de poids analogique des mots de test décodés dont le bit de rang j est à une première valeur et respectivement p^" pour le deuxième vecteur V2 de poids analogique relatif aux composantes de poids analogique des mots de test décodés dont le bit de rang j est à la deuxième valeur sont initialisées à la valeur p|\/| + = + ∞ respectivement PM = +00 . Pour toutes les valeurs de j appartenant à
0 ... n.
L'opération d'initialisation est représentée de manière symbolique par :
J + + +1
V1 = Poids min+ = JpMfJ . -Plvlf PMn)
V2 = Poids min" = JDMO ,...,PMJ pMn} les vecteurs Vi et V2 représentant la liste des poids analogiques des mots de test décodés Y1 issus du mot reçu avec le jιeme bit respectivement à la première valeur 1 et à la deuxième valeur 0 respectivement.
Une initialisation proprement dite s'écrit pour j = 0 ... n alors PM* = + ∞
et PM ~ = + ∞ .
La liste contenant les poids minimaux doit être comprise comme telle en raison du processus mis en œuvre par les étapes Ci et C2 ci-après appelées suite à l'étape d'initialisation Co et à la première itération de l'algorithme de Chase rapide notée C1 sur la figure 3a. L'opération consistant à classer et mémoriser les valeurs de poids analogique consiste alors à classer les valeurs de poids analogique du premier mot de test obtenu dans les vecteurs de poids analogique des poids minimaux en fonction de la valeur des bits de ce dernier, le premier mot de test premier testé présentant le poids minimum par rapport aux valeurs de poids arbitraires d'initialisation.
Le mot de test décodé considéré est le mot de test Y1.
L'opération dite de lancement effectuée en fin de première itération à l'étape Ci s'écrit :
Pourj = 0 ...n, Si y*j = 0 → pu\~ = Poids, le mot de test décodé Y1 étant considéré pour le moment comme celui qui présente un bit de rang j = 0 à distance minimum du mot reçu R.
Si y'j = 1 → PM+ = Poids, le mot de test Y* étant considéré comme le mot ayant le bit de rang j = 1 à distance minimum du mot reçu. L'étape Ci de lancement est alors suivie d'une étape C2, dite de poursuite, qui a pour objet d'examiner tous les mots de tests décodés, Y1 par itération. Ainsi, en référence à l'étape C2 de la figure 3a, le processus de classement consiste à classer le poids actuel obtenu au cours de l'itération courante de l'algorithme de Chase rapide dans le premier Vi respectivement le deuxième V2 vecteur de poids analogique minimum, si et seulement si le poids actuel Poids est inférieur à la valeur de poids présente pour la composante de même rang mémorisée à l'itération précédente ou à une itération antérieure. L'opération de classement proprement dite s'écrit : pour j = 0 ... n, si y'j = 0 et Poids < py[ → p^" = Poids
si yl j = 1 et Poids < PM *PM * = Poids Dans les relations indiquées avec la description des étapes Ci et C2, on rappelle que le signe = indique l'affectation à la variable de la valeur poids, lorsque la condition d'infériorité est satisfaite.
Enfin, une description plus détaillée de l'étape D de la figure 2 de calcul de la valeur de sortie de décodage SISO sera maintenant donnée en liaison avec la figure 3b.
En référence à la figure 3a, à la fin de l'étape C2, on dispose des vecteurs \Λ et V2, listes des valeurs de poids analogique des mots de test décodés avec le jlème bit à 1 première valeur et à 0 deuxième valeur.
L'opération de calcul représentée à l'étape D de la figure 2 consiste alors, à partir des valeurs P^+ et p^" , pour tout bit de rang j appartenant à 0, n, de chaque mot de test décodé si la valeur des composantes de poids analogique est différente de la valeur d'initialisation, c'est-à-dire +∞ , on calcule la probabilité de la valeur du bit de rang j correspondant comme la différence des valeurs de poids analogique effectif p^~ et p^+ . A titre d'exemple non limitatif, la condition précitée peut être réalisée par les tests D1 et D2 représentés en figure 3b, de différence des valeurs p^ et
PM~ à la valeur d'initialisation +∞ précédemment mentionnée.
On comprend en fait que la valeur +∞ peut être représentée par toute valeur arbitrairement grande et non compatible avec une valeur effective de poids analogique vraisemblable. Le test de différence peut alors consister en un test d'infériorité par exemple.
Le calcul de la différence des valeurs de poids analogique est représenté à l'étape D4.
Sinon, si la valeur de la composante de poids analogique p^T du mot de test décodé dont le bit de rang j est à une valeur, la valeur 0 par exemple, est seule différente de la valeur d'initialisation +∞ , on affecte à la probabilité de la valeur du bit de rang j une première valeur déterminée négative. Cette opération peut être réalisée, ainsi que représenté en figure 3b, sur réponse négative au test Di en une étape D3.
Sinon, si la valeur de la composante de poids analogique py\ du mot de test décodé, dont le bit de rang j est à l'autre valeur la valeur 1 par exemple, est différente de la valeur d'initialisation, on affecte à la probabilité de la valeur du bit de rang j une valeur déterminée opposée à la première valeur déterminée. Cette opération est réalisée sur réponse négative au test D2 à l'étape D5.
Les première et deuxième valeurs déterminées négative respectivement positive sont les valeurs β , coefficient de pondération du turbo- décodage.
Une économie de mémoire supplémentaire peut être obtenue dans le but de mettre en œuvre le procédé de décodage de code produit en éliminant Y, c'est-à-dire le mot de test décodé après décodage dur formant le mot de test décodé de la mise en œuvre de l'algorithme. Dans cette situation, on n'utilise que le vecteur de test Ybm constituant le mot de test. Ce mot de test peut être réaffecté à sa vraie valeur du début de l'itération après avoir été soumis à un décodage dur pour constituer le mot de test correspondant, afin de ne pas changer la liste des mots de test, si l'on a conservé la valeur du bit erroné et une variable indiquant une erreur de parité éventuelle. Ce processus opératoire permet en outre d'éviter de réaffecter à chaque fois la valeur Y1 du mot de test après décodage dur, c'est-à-dire du mot de test décodé à la valeur de Ybm.
Enfin, le bit de parité de chaque mot de test peut être mis à jour à chaque fois qu'un bit de rang j est modifié, ce qui évite la nécessité de faire la somme de tous les bits à chaque fois pour recalculer la valeur de parité.
Le procédé objet de la présente invention est remarquable vis-à-vis des procédés de l'art antérieur, en ce qu'il permet un gain considérable au niveau du nombre de portes logiques utilisées et de temps de calcul effectif nécessaire tout en conservant le même résultat de calcul. D'une première part, le fait d'exploiter les propriétés des syndromes des codes blocs dans le cadre de l'algorithme de Chase rapide divise par n le temps de calcul du syndrome considéré. En fait, on divise par le même facteur la quantité d'opérations nécessaires au calcul du poids analogique et donc, de manière globale, le temps de calcul du processus d'exploration de tous les vecteurs de test par l'algorithme de Chase rapide est lui-même divisé par n.
D'une deuxième part, le nouveau mode opératoire du calcul des fiabilités utilisé conformément à l'objet de la présente invention permet de s'affranchir totalement de la mise en mémoire des mots de test décodés examinés par le processus d'algorithme de Chase rapide itératif. Ce mode opératoire élimine ainsi la nécessité de mise en œuvre d'une quantité de mémoire correspondant à nx2p bits et ce, pour chaque ligne ou colonne du code produit, ce qui donne une économie totale de n2x 2P bits pour le décodage du code produit complet sur une demi-itération. La quantité de mémoire alors nécessaire pour stocker les poids analogiques ne dépend plus que de la longueur du code et du nombre de bits de la quantification, et, en conséquence, ne dépend aucunement du nombre de mots concurrents ou mots de tests choisis. De plus, ainsi que représenté de manière illustrative en figure 2, toutes les opérations sont effectuées en une seule boucle pour l'ensemble des bits d'une ligne ou d'une colonne du code. Ce mode de mise en œuvre permet donc une implantation très légère du procédé de décodage objet de l'invention et il est en outre possible d'augmenter le nombre de mots de tests décodés, afin d'améliorer les performances du turbo décodage.
Un dispositif de décodage itératif de codes blocs par décodage SISO d'un mot de code reçu R constitué de n bits, à partir de mots de test décodés, conformément au procédé objet de la présente invention, précédemment décrit, sera maintenant décrit en liaison avec la figure 4. Le dispositif objet de l'invention est réputé, de manière non limitative, intégré dans un terminal de téléphonie mobile, un assistant numérique de type
PDA ou un ordinateur portable par exemple.
Ce type d'appareil comprend, de manière classique, une unité centrale de traitement, CPU, formée par un microprocesseur, une mémoire vive, mémoire RAM, jouant le rôle de mémoire de travail, et une mémoire permanente, telle qu'une mémoire ROM, mémoire non volatile par exemple.
Le dispositif objet de l'invention représenté en figure 4 comprend en outre un module générateur à partir d'un algorithme itératif tel que l'algorithme de
Chase rapide d'une pluralité de mots de test décodés. On comprend que le module générateur précité peut consister en un module de programme enregistré en mémoire permanente ROMi et appelé en mémoire de travail RAM pour exécution de l'algorithme de Chase rapide décrit précédemment en liaison avec le Tableau de la présente description conformément à l'étape A) de la figure 2.
Il comporte en outre un module de calcul du poids analogique de chaque mot de test décodé Y1 conformément à l'étape B de la figure 2. Le module de calcul précité peut consister en un module de programme enregistré en mémoire permanente ROM2 et appelé en mémoire de travail pour exécution selon la relation indiquée à l'étape B) de la figure 2.
Il comporte également un module de tri par classification des valeurs de poids analogique pour les mots de test décodés Y1 précités. Ce module de tri peut être constitué par un module de programme ROM3, appelé en mémoire de travail RAM pour exécution conformément au procédé objet de l'invention représenté en figures 2 étape C et 3a.
Il comporte, selon un aspect remarquable du dispositif objet de l'invention, un premier Ri et un deuxième registre R2 permettant de mémoriser les valeurs de poids analogique classifiées selon le premier et le deuxième vecteur Vi, V2 de poids analogique, relatif chacun aux composantes de poids analogique des mots de test décodés.
A titre d'exemple non limitatif, on indique que les registres précités peuvent être configurés comme une zone mémoire protégée de la mémoire de travail RAM ou par une mémoire non volatile reprogrammable électriquement, de façon à permettre une reconfiguration de chaque registre Ri, R2, en fonction du nombre de mots de test décodés finalement retenus pour la mise en œuvre du décodage.
L'utilisation d'une mémoire non volatile reprogrammable électriquement permet de ménager une séparation et donc une protection physique des données de vecteurs de poids analogique et des données traitées en mémoire vive RAM. Enfin, le dispositif objet de l'invention comporte, ainsi qu'illustré par la figure 4, un module de calcul de la valeur de sortie de décision douce de décodage SISO comprenant au moins un module soustracteur des composantes de poids analogique du premier et du deuxième vecteur analogique mémorisées dans les registres Ri respectivement R2. Ce module de calcul peut être constitué par un module de programme ROM4 appelé en mémoire de travail pour exécution conformément au procédé objet de l'invention représenté en figure 2 étape D et 3b.
Enfin le mode de réalisation du dispositif de décodage objet de la présente invention peut avantageusement être exécuté sous forme de chip, circuit intégré dédié.
En particulier le procédé et le dispositif de décodage selon l'invention trouvent application à la mise en œuvre de systèmes ou appareils de stockage de données codées et de restitution de ces données codées sous forme décodée.

Claims

REVENDICATIONS
1. Procédé de décodage itératif de codes blocs par décodage SISO d'un mot de code produit reçu (R) constitué de n bits, à partir de mots de test décodés, caractérisé en ce que celui-ci consiste au moins à : - engendrer au moyen d'un processus itératif une pluralité de mots de test décodés ;
- calculer, pour chaque mot de test décodé, le poids analogique exprimé comme la demi-somme des produits de la valeur de chaque bit mappé à ± 1 de ce mot de test décodé et de la probabilité de cette valeur, en termes de log-vraisemblance ;
- classer et mémoriser lesdites valeurs de poids analogique pour les mots de test décodés, pour constituer un premier vecteur de poids analogique formé par les composantes de poids analogique des mots de test décodés dont le bit de rang j est à une première valeur et un deuxième vecteur de poids analogique formé par les composantes de poids analogique des mots de test décodés dont le bit de rang j est à une deuxième valeur ;
- calculer la valeur de sortie de décision douce du décodage SISO comme la différence des composantes de poids analogique du premier et du deuxième vecteur de poids analogique.
2. Procédé selon la revendication 1 , caractérisé en ce que celui-ci comporte une étape d'initialisation du premier et du deuxième vecteur de poids analogique, chaque composante de poids analogique p^ pour le premier vecteur de poids analogique relatif aux composantes de poids analogique des mots de test décodés dont le bit de rang j est à la première valeur respectivement piyj " pour le deuxième vecteur de poids analogique relatif aux composantes de poids analogique des mots de test décodés dont le bit de rang j est à la deuxième valeur étant initialisées à la valeur p^ = +∞ respectivement p^~ = +∞ pour toute valeur de j=0 ...n, le premier et le deuxième vecteur de poids analogique initialisé contenant les poids minimaux.
3. Procédé selon les revendications 1 et 2, caractérisé en ce que suite à l'étape d'initialisation et à la première itération de l'algorithme délivrant les mots de test décodés, ladite opération consistant à classer et mémoriser lesdites valeurs de poids analogique consiste à : - classer les valeurs de poids analogique du premier mot de test décodé obtenu dans les vecteurs de poids analogique des poids minimaux en fonction de la valeur des bits de ce dernier, le premier mot de test décodé, premier testé, présentant le poids analogique minimum par rapport aux valeurs de poids arbitraire d'initialisation ; et pour chaque itération successive courante,
- classer le poids analogique actuel obtenu au cours de l'itération courante dans le premier respectivement le deuxième vecteur de poids analogique si et seulement si ledit poids analogique actuel est inférieur à la valeur de poids analogique présente pour la composante de même rang mémorisée à l'itération précédente ou à une itération antérieure.
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que l'étape consistant à calculer la valeur de sortie de décodage SISO consiste, pour tout bit de rang j <= [o, n],
• si la valeur des composantes de poids analogique des vecteurs de poids est différente de la valeur d'initialisation, + ∞ , calculer la probabilité de la valeur du bit de rang j correspondant exprimée comme la différence des valeurs de poids analogique ; a sinon, si la valeur de la composante de poids analogique de l'un des vecteurs de poids, est seule différente de la valeur d'initialisation, + ∞ , affecter à la probabilité de la valeur du bit de rang j une première valeur déterminée ;
• sinon, si la valeur de la composante de poids analogique de l'autre des vecteurs de poids est seule différente de la valeur d'initialisation, + ∞ , affecter à la probabilité de la valeur du bit de rang j une deuxième valeur déterminée opposée à ladite première valeur déterminée.
5. Dispositif de décodage itératif de codes blocs par décodage SISO d'un mot de code produit reçu constitué de n bits à partir de mots de test, caractérisé en ce que celui comprend au moins pour le traitement de chaque mot de code produit reçu : a) des moyens générateurs, à partir d'un algorithme itératif, d'une pluralité de mots de test décodés ; b) des moyens de calcul, pour chaque mot de test décodé, du poids analogique exprimé comme la demi-somme des produits de la valeur de chaque bit mappé à ± 1 de ce mot de test décodé et de la probabilité de cette valeur, en termes de log-vraisemblance ; c) des moyens de tri, par classification, desdites valeurs de poids analogique pour les mots de test décodés, pour constituer un premier vecteur de poids analogique formé par les composantes de poids analogique des mots de test décodés dont le bit de rang j est à une première valeur et un deuxième vecteur de poids analogique formé par les composantes de poids analogiques des mots de test décodés dont le bit de rang j est à une deuxième valeur ; d-i) un premier et un deuxième registre permettant de mémoriser lesdites valeurs de poids analogique classifiées selon ledit premier respectivement ledit deuxième vecteur de poids analogique ; d2) des moyens de calcul de la valeur de sortie de décision douce décodage SISO, comprenant au moins un module soustracteur des composantes de poids analogique du premier et du deuxième vecteur de poids analogique.
EP05775373A 2004-06-10 2005-06-06 Procede de decodage iteratif de codes blocs et dispositif decodeur correspondant Withdrawn EP1766785A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0406291A FR2871631B1 (fr) 2004-06-10 2004-06-10 Procede de decodage iteractif de codes blocs et dispositif decodeur correspondant
PCT/FR2005/001377 WO2006003288A1 (fr) 2004-06-10 2005-06-06 Procede de decodage iteratif de codes blocs et dispositif decodeur correspondant

Publications (1)

Publication Number Publication Date
EP1766785A1 true EP1766785A1 (fr) 2007-03-28

Family

ID=34946340

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05775373A Withdrawn EP1766785A1 (fr) 2004-06-10 2005-06-06 Procede de decodage iteratif de codes blocs et dispositif decodeur correspondant

Country Status (6)

Country Link
US (1) US20080046799A1 (fr)
EP (1) EP1766785A1 (fr)
JP (1) JP2008502247A (fr)
KR (1) KR20070058430A (fr)
FR (1) FR2871631B1 (fr)
WO (1) WO2006003288A1 (fr)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7752523B1 (en) * 2006-02-13 2010-07-06 Marvell International Ltd. Reduced-complexity decoding of parity check codes
DE102008040797B4 (de) 2008-07-28 2010-07-08 Secutanta Gmbh Verfahren zum Empfangen eines Datenblocks
US8332810B2 (en) * 2008-11-24 2012-12-11 Sap Aktiengeselleschaft Optimal code generation for derivation tables
DE102008055139B4 (de) 2008-12-23 2010-12-09 Secutanta Gmbh Verfahren zum Empfangen eines Datenblocks
KR101923701B1 (ko) * 2011-12-14 2018-11-30 한국전자통신연구원 무선 통신 시스템에서의 반복적 검출 및 복호 방법 및 이의 장치
US9641285B2 (en) 2014-03-06 2017-05-02 Samsung Electronics Co., Ltd. Ultra low power (ULP) decoder and decoding processing
EP2916460B1 (fr) * 2014-03-06 2017-08-23 Samsung Electronics Co., Ltd Décodeur à consommation de puissance ultra faible

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3275986A (en) * 1962-06-14 1966-09-27 Gen Dynamics Corp Pattern recognition systems
FR2712760B1 (fr) * 1993-11-19 1996-01-26 France Telecom Procédé pour transmettre des bits d'information en appliquant des codes en blocs concaténés.
FR2753025B1 (fr) * 1996-08-28 1998-11-13 Pyndiah Ramesh Procede de transmission de bits d'information avec codage correcteur d'erreurs, codeur et decodeur pour la mise en oeuvre de ce procede
US6499128B1 (en) * 1999-02-18 2002-12-24 Cisco Technology, Inc. Iterated soft-decision decoding of block codes
US6460160B1 (en) * 2000-02-14 2002-10-01 Motorola, Inc. Chase iteration processing for decoding input data
JP4389373B2 (ja) * 2000-10-11 2009-12-24 ソニー株式会社 2元巡回符号を反復型復号するための復号器
JP3876662B2 (ja) * 2001-08-03 2007-02-07 三菱電機株式会社 積符号の復号方法および積符号の復号装置
JP2003283341A (ja) * 2002-03-22 2003-10-03 Sony Corp 線形ブロック符号に従って符号化されたデータを訂正するための装置
US20040019842A1 (en) * 2002-07-24 2004-01-29 Cenk Argon Efficient decoding of product codes
US7058873B2 (en) * 2002-11-07 2006-06-06 Carnegie Mellon University Encoding method using a low density parity check code with a column weight of two

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2006003288A1 *

Also Published As

Publication number Publication date
US20080046799A1 (en) 2008-02-21
FR2871631A1 (fr) 2005-12-16
FR2871631B1 (fr) 2006-09-22
KR20070058430A (ko) 2007-06-08
WO2006003288A1 (fr) 2006-01-12
JP2008502247A (ja) 2008-01-24

Similar Documents

Publication Publication Date Title
EP2047605B1 (fr) Procédé de décodage à passage de messages avec un classement des noeuds selon la fiabilité de voisinage
EP0654910B1 (fr) Procédé de décodage itératif de codes en blocs concaténés
EP3443678B1 (fr) Methode de décodage d&#39;un code polaire avec inversion de bits peu fiables
EP1766785A1 (fr) Procede de decodage iteratif de codes blocs et dispositif decodeur correspondant
EP2002546B1 (fr) Codage/decodage perfectionnes de signaux numeriques, en particulier en quantification vectorielle avec codes a permutation
EP0848501B1 (fr) Système et procédé de transmission numérique comportant un code produit combiné à une modulation multidimensionnelle
EP2806565B1 (fr) Procede de decodage d&#39;un code correcteur, par exemple un turbo-code, par analyse du spectre etendu des mots du code
EP0827285A1 (fr) Procédé de transmission de bits d&#39;information avec codage correcteur d&#39;erreurs, codeur et décodeur pour la mise en oeuvre de ce procédé
EP0827284A1 (fr) Procédé de transmission de bits d&#39;information avec codage correcteur d&#39;erreurs, codeur et décodeur pour la mise en oeuvre de ce procédé
EP0995272A1 (fr) Decodage iteratif de codes produits
EP0449353A1 (fr) Dispositif de traitement de données et procédé pour sélectionner des mots de données contenus dans un dictionnaire
WO2012004321A1 (fr) Procédé de détermination d&#39;au moins un paramètre d&#39;un code correcteur d&#39;erreurs mis en œuvre en émission, dispositif et programme d&#39;ordinateur correspondants
EP3087678B1 (fr) Correction d&#39;erreurs avec test de plusieurs longueurs pour une trame de données
FR3064436A1 (fr) Procede de codage et codeur a code polaire
Zhao et al. Progressive algebraic Chase decoding algorithms for Reed–Solomon codes
EP1481480A2 (fr) Procede de traitement d un signal mettant en oeuvre un algorithme de type map approche et applications correspondantes.
EP2786497B1 (fr) Procede de maximisation de la capacité de correction d&#39;un code correcteur d&#39;erreurs mettant en oeuvre des syndromes supplémentaires
WO2002043250A2 (fr) Procede de decodage d&#39;un bloc de symboles et dispositif mettant en oeuvre un tel procede
WO2012001263A1 (fr) Traitement de donnees pour l&#39;encodage et le decodage d&#39;un message
CN116505959A (zh) 基于bch码的译码方法及相关设备
FR2969874A1 (fr) Procede de reconstruction d&#39;une mesure de reference d&#39;une donnee confidentielle a partir d&#39;une mesure bruitee de cette donnee
WO2010112607A1 (fr) Procédé de décodage par ré-encodage, dispositif et programme d&#39;ordinateur correspondants
FR2892576A1 (fr) Procede et dispositif de correction d&#39;erreur dans des circuits electroniques de traitement de donnees.
FR2685836A1 (fr) Procede et dispositif de restitution de symboles, et ses applications a l&#39;egalisation de canal de transmission et au decodage convolutionnel de symboles, notamment en radiotelephonie numerique.
FR2877165A1 (fr) Decodage de liste pour codes de reed-solomon et codes de geometrie algebrique

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20061208

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU MC NL PL PT RO SE SI SK TR

17Q First examination report despatched

Effective date: 20070522

RIN1 Information on inventor provided before grant (corrected)

Inventor name: BROSSIER, JEAN-MARC

Inventor name: BARBOT, JEAN-PIERRE

Inventor name: GELLER, BENOIT

Inventor name: VANSTRACEELE, CHRISTOPHE

RIN1 Information on inventor provided before grant (corrected)

Inventor name: VANSTRACEELE, CHRISTOPHE

Inventor name: GELLER, BENOIT

Inventor name: BROSSIER, JEAN-MARC

Inventor name: BARBOT, JEAN-PIERRE

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20110104