WO2010112607A1 - Method for decoding by means of re-encoding, and corresponding device and computer program - Google Patents

Method for decoding by means of re-encoding, and corresponding device and computer program Download PDF

Info

Publication number
WO2010112607A1
WO2010112607A1 PCT/EP2010/054469 EP2010054469W WO2010112607A1 WO 2010112607 A1 WO2010112607 A1 WO 2010112607A1 EP 2010054469 W EP2010054469 W EP 2010054469W WO 2010112607 A1 WO2010112607 A1 WO 2010112607A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
alternative
decoding
vector
redundancy
Prior art date
Application number
PCT/EP2010/054469
Other languages
French (fr)
Inventor
Patrick Adde
Original Assignee
Institut Telecom / Telecom Bretagne
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 Institut Telecom / Telecom Bretagne filed Critical Institut Telecom / Telecom Bretagne
Publication of WO2010112607A1 publication Critical patent/WO2010112607A1/en

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/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]
    • 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/3776Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using a re-encoding step during the decoding process
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/1505Golay 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
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming 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/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory 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/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
    • 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
    • H03M13/296Particular turbo code structure
    • H03M13/2963Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product codes

Definitions

  • Re-encoding decoding method Re-encoding decoding method, device and corresponding computer program.
  • the field of the invention is that of encoding digital data belonging to a source data sequence intended to be transmitted or broadcast, especially in the presence of transmission noise, and the decoding of the coded data thus transmitted.
  • the invention finds applications in all cases where it is necessary to transmit digital information with a certain degree of reliability.
  • a preferred field of application of the invention is that of digital transmission on very noisy channels.
  • the invention applies in particular, but not exclusively, to decoding data encoded by systematic basic codes yield 1A, these base codes may be codes or linear convolutive block.
  • the decoding of coded digital data can be performed using a maximum likelihood algorithm, for example the Viterbi algorithm, whose decisions can optionally be weighted.
  • This type of algorithm makes decisions taking into account a large number of data received, and the decision is all the more reliable as the number of received data taken into account is high.
  • the complexity of the decoder also increases with the correction power of the code, that is to say the number of corrected symbols per block of data.
  • the invention particularly aims to overcome these disadvantages of the prior art.
  • an objective of the invention is to propose a decoding technique offering results close to those obtained by maximum likelihood algorithms.
  • Another object of the invention is to provide such a decoding technique that is less complex and inexpensive to implement.
  • the invention proposes a new solution that does not have all of these disadvantages of the prior art, in the form of a decoding of received data (R) representative of source data (D). and corresponding redundancy data (P), obtained by means of a systematic base code of output Vi delivering code words, derived from an alphabet, implementing a processing of the received data, delivering vectors received [R], each component of which includes an estimate of the source data, or the corresponding redundancy data, associating a binary value and a confidence information.
  • such a method comprises, for at least one of said received vectors, a decoding phase, comprising the following steps: identifying, among said source data estimates, at least one doubtful source data estimate, in view of said trusted information; constructing at least one alternative data vector by changing the binary value of at least one of said doubtful estimates; encoding each of said alternative data vectors, using said systematic base code of output Vi, delivering an alternative codeword, comprising said alternative data vector and a corresponding alternative redundancy vector, obtained by said coding; calculating a distance between said received data vector and each of said alternative codewords; selecting, as the most probable representative of the source data, the alternative code word for which the distance is the lowest.
  • the invention is based on a novel and inventive approach to data decoding, making it possible to obtain optimal decoding results (close to those obtained by decoding using a maximum likelihood algorithm), with implementation of reduced complexity.
  • the method according to the invention is based on a re-encoding of certain estimates of received data, according to a confidence information which is associated with following a first treatment, and then on a distance calculation between the estimated data re-encoded and the received data.
  • the estimated data considered as doubtful are re-encoded, after inversion of their sign, in order to be evaluated to determine the best decoded data.
  • the invention applies to the decoding of data encoded by a systematic basic code of output 1 A.
  • the stuffing technique makes it possible not to transmit certain data of the codeword which constitute a series of known bits, for example a series of several zeros, and also to obtain a code of efficiency less than 1 A.
  • the punching of the bits of parity allows for it to obtain a performance code greater than 1A, by not transmitting certain parity bits of a code word.
  • said method comprises, prior to said step of calculating a distance, the following steps, for at least one of said received vectors: identification, among said redundancy data estimates, of minus an estimate considered dubious, given the said trust information; constructing at least one alternative redundancy vector, by modifying the binary value of at least one of said doubtful estimates; encoding, inverse of said systematic code, each of said alternative redundancy vectors, delivering an alternative code word, comprising said alternative redundancy vector and a corresponding alternative data vector, obtained by said inverse coding.
  • the decoding method implements a double re-encoding, both estimates of the source data and estimates of redundancy data.
  • the first re-encoding makes it possible to obtain an alternative redundancy vector from an alternative data vector previously constructed by inverting certain binary values of a dubious data estimate
  • the second re-encoding makes it possible to obtain a alternative data vector from a alternative redundancy vector previously constructed by inverting certain binary values of an estimate of dubious redundancy.
  • the method not only takes into account possible errors on the estimated source data, but also possible errors on the estimated redundancy or parity data.
  • said decoding phase is implemented when said received vector is not a code word.
  • the decoding method according to the invention implements the estimated data re-encoding or encodings only when the received data do not form a code word, derived from a known alphabet of codewords.
  • the method according to the invention makes it possible to determine the most probable code word, with a minimum of complexity.
  • said identification step selects estimates whose corresponding confidence information is below a selection threshold.
  • the estimates obtained by the first processing of the received data are associated with trust information, giving indications of their reliability.
  • This selection determines the number of estimates to be re-encoded for the rest of the decoding method according to the invention.
  • said identification step selects a predetermined number of estimates.
  • the sorting of the estimates into two categories, reliable or doubtful, can also be done according to a predetermined number of estimates that one wishes to re-encode, by taking for example the mfd estimates having the most associated associated trust information. low.
  • the value of said selection threshold and / or the value of said predetermined number is variable.
  • a variable number of estimates considered doubtful can be selected, for example based on the total number of estimates considered doubtful: for example, a small number of questionable estimates are selected if they represent the most of half of the estimates. estimates obtained.
  • said distance is a Euclidean distance.
  • said method comprises at least a second decoding phase, comprising the following steps: weighting of said selected alternative code word, delivering a weighted code word; identifying, among the redundancy data of said weighted codeword, at least one weighted redundancy datum considered dubious, in view of said trusted information; constructing at least one alternative redundancy vector, by modifying the binary value of at least one of said dubious weighted redundancy data; encoding, in inverse of said systematic code, each of said alternative redundancy vectors, delivering a second alternative code word, comprising said alternative redundancy vector and a corresponding alternative data vector, obtained by said inverse coding; calculating a distance between said received data vector and each of said alternative second codewords; selecting, as the most probable representative of the source data, the second alternative codeword for which the distance is the lowest.
  • an embodiment of the invention implements a first decoding phase, followed by one or more additional decoding phases, allowing in particular to obtain good results, while reducing the complexity of the decoding through the iterative process.
  • a decoding decision that is to say an alternative code word obtained according to the invention, is weighted, to serve again as a basis for a decoding according to the invention.
  • a first decoding delivers a first alternative code word, obtained from source data estimates.
  • This first alternative code word then serves as a basis for a second decoding, implemented for its part from redundancy data estimates of the first alternative code word.
  • This second decoding delivers a second alternative codeword, which can serve as decoding decision, after weighting, or as a base for a third decoding, and so on.
  • the first decoding may be called “forward decoding” and the second decoding “backward decoding”, as described below according to an exemplary embodiment.
  • weighting used in this embodiment can be implemented using a known technique described in particular in the document written by R.Pyndiah, A.Glauben, A.Picard and S.Jacq entitled "Near Optimum decoding of product codes", IEEE proc.of GLOBECOM'94, San Fransisco, Nov.1994.
  • the invention also relates to a decoding device performing one or more iterations of the decoding method described above.
  • a decoding device performing one or more iterations of the decoding method described above.
  • a receiver data decoding device representative of source data (D) and corresponding redundancy data (P), obtained using a systematic base code of output 1
  • a delivering code words, derived from an alphabet implements first data processing means received, delivering received vectors [R], each component of which comprises an estimate of the source data, or the corresponding redundancy data, by associating it with a binary value and a trust information.
  • such a device comprises, for at least one of said received vectors, decoding means, comprising: means for identifying, among said source data estimates, at least one doubtful source data estimate, in view of said trusted information; means for constructing at least one alternative data vector, by modifying the binary value of at least one of said doubtful estimates; coding means of each of said alternative data vectors, using said systematic vi performance code, issuing an alternative codeword, comprising said alternative data vector and a corresponding alternative redundancy vector; means for calculating a distance between said received data vector and each of said alternative codewords; selection means, as the most probable representative of the source data, of the alternative code word for which the distance is the lowest.
  • Such a decoding device may in particular be embodied in the form of an integrated circuit.
  • the invention relates to a computer program product downloadable from a communication network and / or recorded on a computer readable medium and / or executable by a processor, comprising program code instructions for the implementation of the method decoding as described above, when said program is run on a computer.
  • FIG. 1 illustrates the main steps of the decoding method according to a first embodiment of the invention
  • FIG. 2 illustrates the main steps of the decoding method according to a second embodiment of the invention
  • FIG. 3 shows an example of a systematic linear coding module of output Vi, according to the prior art
  • FIG. 4 shows an example of a data decoding module, coded according to the coding module of FIG. 3, according to one embodiment of the invention
  • Figures 5a to 5f show bit error rate result curves for a Gaussian channel, MDP2 type modulation, and different base codes. 6. Description of an embodiment of the invention
  • the general principle of the invention relies on the re-encoding of certain data estimates (and / or redundancy) received, to obtain a decision of decoding, when the data received after coding and transmission do not correspond to a codeword, derived from an alphabet.
  • these re-encoded estimates are compared with the received data, by a distance calculation, so as to choose the most likely input as decoding decision.
  • FIG. 1 The main steps of the decoding method according to a first embodiment of the invention are illustrated in FIG.
  • Digital data (D) intended to be coded, is considered by a systematic base code of output Vi, then transmitted via a transmission channel.
  • FIG. 3 shows an example of an encoder implementing such a code, with as input digital data that can be represented in the form of a vector [D], of size K, and at the output, data that can be represented in the form of two vectors [D] and [P], also of dimension K, representative respectively of the source data and data of redundancy, or of parity.
  • these received data (R) are decoded a first time, during a processing step 10, consisting of a demodulation of the received data (R), then a thresholding demodulated data, delivering a plurality of received vectors, denoted [R], each associated with a confidence information, noted Ic.
  • Each of these received vectors comprises N weighted symbols, of which K weighted symbols representative of source data and K weighted symbols representative of corresponding redundancy data, in the case of a performance code Vi.
  • the binary thresholding of representative source data weighted symbols can be written as a vector [SGN D ] and the binary thresholding of representative weighted symbols redundancy data, called redundancy data estimates, can be written as a vector [SGNp].
  • Ic trusted information
  • a decoding phase 11 is implemented according to this embodiment of the invention, from the data from the first processing, by approaching the results of a maximum likelihood algorithm, while having a minimum complexity.
  • possible errors are considered in estimating the source data. It will be seen later, in a second embodiment, that it is also possible to take into consideration possible errors in the estimates of the redundancy data.
  • step 110 From the vector [SGN D ] from the first processing of the received vector [R], it is identified, in a step 110, the source data estimate or estimates that are considered unreliable, or questionable.
  • This identification is made from the confidence information Ic associated with each of the estimates, and according to a selection threshold and / or a predetermined number of estimates to be identified.
  • the identification may consist of selecting all estimates of source data whose confidence information is below a selection threshold.
  • the identification may consist of selecting the mfd (least reliable data) data estimates source of the weakest trust information.
  • a construction step 111 of at most 2 m f of so-called "alternative" data vectors is implemented.
  • this construction step consists of inverting, in the vector [SGN D ], the bit corresponding to the selected estimate, thus delivering a modified [SGN D ] vector and noted [VA D ].
  • Such an alternative data vector [VA D ] is constructed for each of the selected estimates.
  • alternative data vectors are also constructed for all possible bit reversal combinations corresponding to the selected estimates. A maximum of 2 " ⁇ alternative data vectors [VA D ] are then obtained.
  • each of the previously constructed 2 " ⁇ AC data vectors [VA D ] is coded using the code used to encode the original data, thereby delivering 2 m ⁇ d words of alternative code.
  • Such a code is, for example, a systematic basic code of efficiency 1 A, well known to those skilled in the art and not described here.
  • a base code is a Golay linear block code (24,12,8), a Hamming linear block code (8,4,4), a convolutional code, a Cortex code, and so on.
  • the step 113 for calculating distances is implemented to allow the subsequent selection, during a selection step 114, of the most likely alternative codeword as a decoding decision.
  • step 113 the distances between each of the alternative code words, obtained during the encoding step 112, and the received vector [R] considered, are calculated.
  • This calculated distance is for example the Euclidean distance, well known to those skilled in the art and not described here.
  • a selection step 114 of the most probable alternative code word is implemented, by selecting the alternative codeword whose distance with the received vector [R] is the lowest.
  • FIG. 5a shows a bit error rate result curve, for a Hadamard base code (16, 8, 4), and a maximum likelihood decode (curve 1), a decoding according to this embodiment of the invention with, respectively, 4 alternative vectors (curve 2), 8 alternative vectors (curve 3) and 16 alternative vectors (curve 4).
  • steps 10 and 110 to 114 have already been described, in connection with FIG. 1 and the first embodiment, and are not detailed in this paragraph.
  • the decoding phase 21 takes into account, from the data from the first processing 10, possible errors for the estimates of the source data (steps 110 to 112 identical to those of FIG. as possible errors on redundancy data estimates (steps 210 to 212).
  • step 210 consists in identifying, from the [SGN P ] vector resulting from the processing of the received vector [R], the one or more estimates of redundancy data that are considered unreliable, or doubtful.
  • this identification is performed on the basis of the confidence information Ic associated with each of the estimates, and as a function of a selection threshold and / or a predetermined number of estimates to be identified.
  • the identification may consist in selecting all the estimates of redundancy data whose confidence information is below a selection threshold.
  • the identification may consist of selecting the mfp (least reliable parity) data estimates of the lowest confidence information redundancy.
  • this construction step consists of inverting, in the vector [SGN P ], the bit corresponding to the selected estimate, thus delivering a modified [SGN P ] vector and noted [VAp].
  • Such an alternative redundancy vector [VA P ] is constructed for each of the selected estimates.
  • alternative redundancy vectors are also constructed for all possible bit inversion combinations corresponding to the selected estimates. A maximum of 2 "* alternative redundancy vectors [VAp] are then obtained.
  • each of the previously constructed 2 "* alternative redundancy vectors [VA D ] is coded using the inverse code of the one used to encode the original data, thus delivering 2" * alternative code words.
  • Such a code is, for example, a systematic linear block code with a yield of 1 A, having the property of having an invertible parity generation matrix [Q].
  • Such a code can be represented in the form of a matrix product ". ", as following :
  • a base code used may also be a convolutional code. In this case, its dual code is used to encode the parity and get the data.
  • the step 212 of inverse coding thus makes it possible to obtain 2 m ⁇ alternative codewords.
  • Step 113 for calculating distances is implemented for each of the alternative codewords from steps 112 and 212, and calculates the distances between each of alternative code words and the received vector [R] considered.
  • This calculated distance is for example the Euclidean distance, well known to those skilled in the art and not described here.
  • a selection step 114 of the most probable alternative code word is implemented, by selecting the alternative codeword whose distance with the received vector [R] is the lowest.
  • this decoding decision can also be weighted, using a known technique described in particular in the document written by P.Pyndiah, A.Glacreme, A.Picard and S.Jacq entitled "Near Optimum decoding" of product codes ", IEEE proc.of GLOBECOM'94, San Fransisco, Nov.1994.
  • the decoding can be iterative, and implement, for example: a decoding, called “go" decoding, making it possible to obtain the redundancy data from the source data, according to this embodiment of the invention issuing a decoding decision, i.e. a first most likely code word; a weighting of the decoding decision obtained previously, delivering a first weighted code word; a second decoding, called “return” decoding, applied to the weighted code word obtained previously, making it possible to obtain the source data from the redundancy data, according to this embodiment of the invention, delivering a decoding decision, that is to say a second most likely code word; a weighting of the decoding decision obtained previously, delivering a second weighted code word.
  • the final decoding decision may be this second weighted code word, or the result of one or more additional iterations.
  • FIG. 5b shows binary error rate result curves for a Hamming base code (8, 4, 4), and a maximum likelihood decoding (curve 1), a decoding according to this embodiment of the invention. with, respectively, two alternative vectors (curve 2), four alternative vectors (curve 3) and eight alternative vectors
  • FIG. 5c presents curves of bit error rate results for a Golay base code (24, 12, 8), and a maximum likelihood decoding (curve 1), a decoding according to this embodiment of FIG. the invention with, respectively, eight alternative vectors (curve 2), sixteen alternative vectors (curve 3) and thirty two alternative vectors (curve 4), and a result curve corresponding to the theoretical terminal called "terminal of the Union "(curve 5).
  • Curves 5d and 5e show bit error rate result curves, respectively for a base code (32, 16, 8) and a base code (48, 24.8).
  • the curves 8 and 9 represent the results respectively corresponding to a decoding implementing a probability propagation algorithm ("Belief Propagation" in English), and to the theoretical terminal called “terminal of the Union".
  • Curve 5f shows curves of bit error rate results, for a Golay base code, a decoding according to this embodiment of the invention with thirty two alternative vectors (curve 1), and a decoding according to the variant of FIG. this embodiment of the invention comprising four iterations and sixty four alternative vectors (curve 2), and a result curve corresponding to the theoretical terminal called "Union terminal” (curve 3).

Abstract

The invention relates to a method for decoding received data representing redundant and source data obtained using a half-yield systematic code, outputting code words, in which the data received are processed, outputting the received vectors, each component of which includes an estimate of the corresponding redundant or source datum. According to the invention, such a method includes, for at least one of the aforementioned received vectors, the following steps consisting in: identifying at least one source data estimate regarded as questionable; constructing at least one alternative data vector; encoding each of said alternative data vectors, outputting an alternative code word; calculating a distance between the received data vector and each of the alternative code words; and selecting the alternative code word for which the distance is the lowest.

Description

Procédé de décodage par ré-encodage, dispositif et programme d'ordinateur correspondants. Re-encoding decoding method, device and corresponding computer program.
1. Domaine de l'invention1. Field of the invention
Le domaine de l'invention est celui du codage de données numériques appartenant à une séquence de données source destinée à être transmise, ou diffusée, notamment en présence de bruit de transmission, et du décodage des données codées ainsi transmises.The field of the invention is that of encoding digital data belonging to a source data sequence intended to be transmitted or broadcast, especially in the presence of transmission noise, and the decoding of the coded data thus transmitted.
L'invention trouve des applications dans tous les cas où il est nécessaire de transmettre des informations numériques avec un certain degré de fiabilité. Un domaine d'application privilégié de l'invention est celui de la transmission numérique sur des canaux très bruités.The invention finds applications in all cases where it is necessary to transmit digital information with a certain degree of reliability. A preferred field of application of the invention is that of digital transmission on very noisy channels.
L'invention s'applique notamment, mais non exclusivement, au décodage de données codées par des codes de base systématiques de rendement 1A, ces codes de base pouvant être des codes en bloc linéaires ou convolutifs.The invention applies in particular, but not exclusively, to decoding data encoded by systematic basic codes yield 1A, these base codes may be codes or linear convolutive block.
2. Art antérieur De façon connue, le décodage de données numériques codées peut être réalisé à l'aide d'un algorithme à maximum de vraisemblance, par exemple l'algorithme de Viterbi, dont les décisions peuvent éventuellement être pondérées.2. Prior art In known manner, the decoding of coded digital data can be performed using a maximum likelihood algorithm, for example the Viterbi algorithm, whose decisions can optionally be weighted.
Ce type d'algorithme prend des décisions en tenant compte d'un nombre important de données reçues, et la décision est d'autant plus fiable que le nombre de données reçues prises en compte est élevé.This type of algorithm makes decisions taking into account a large number of data received, and the decision is all the more reliable as the number of received data taken into account is high.
En revanche, plus le nombre de données reçues prises en compte est élevé, et plus la complexité du décodeur est importante. De même, la place mémoire nécessaire et les temps de calcul deviennent également très importants.On the other hand, the higher the number of received data taken into account, the higher the complexity of the decoder. In the same way, the necessary memory space and calculation times also become very important.
De plus, la complexité du décodeur augmente également avec le pouvoir de correction du code, c'est-à-dire le nombre de symboles corrigés par bloc de données.In addition, the complexity of the decoder also increases with the correction power of the code, that is to say the number of corrected symbols per block of data.
3. Objectifs de l'invention3. Objectives of the invention
L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur.The invention particularly aims to overcome these disadvantages of the prior art.
Plus précisément, un objectif de l'invention, selon au moins un mode de réalisation, est de proposer une technique de décodage offrant des résultats proches de ceux obtenus par des algorithmes à maximum de vraisemblance. Un autre objectif de l'invention, selon au moins un mode de réalisation, est de fournir une telle technique de décodage moins complexe et peu coûteuse à mettre en œuvre.More precisely, an objective of the invention, according to at least one embodiment, is to propose a decoding technique offering results close to those obtained by maximum likelihood algorithms. Another object of the invention, according to at least one embodiment, is to provide such a decoding technique that is less complex and inexpensive to implement.
4. Exposé de l'invention L'invention propose une solution nouvelle qui ne présente pas l'ensemble de ces inconvénients de l'art antérieur, sous la forme d'un décodage de données reçues (R) représentatives de données source (D) et de données de redondance (P) correspondantes, obtenues à l'aide d'un code de base systématique de rendement Vi délivrant des mots de code, issus d'un alphabet, mettant en œuvre un traitement des données reçues, délivrant des vecteurs reçus [R], dont chaque composante comprend une estimation de la donnée source, ou de la donnée de redondance correspondante, en lui associant une valeur binaire et une information de confiance.4. DISCLOSURE OF THE INVENTION The invention proposes a new solution that does not have all of these disadvantages of the prior art, in the form of a decoding of received data (R) representative of source data (D). and corresponding redundancy data (P), obtained by means of a systematic base code of output Vi delivering code words, derived from an alphabet, implementing a processing of the received data, delivering vectors received [R], each component of which includes an estimate of the source data, or the corresponding redundancy data, associating a binary value and a confidence information.
Selon l'invention, un tel procédé comprend, pour au moins un desdits vecteurs reçus, une phase de décodage, comprenant les étapes suivantes : - identification, parmi lesdites estimations de données source, d'au moins une estimation de données source considérée douteuse, au vu desdites informations de confiance ; construction d'au moins un vecteur de données alternatif, par modification de la valeur binaire d'au moins une desdites estimations douteuses ; - codage de chacun desdits vecteurs de données alternatifs, à l'aide dudit code de base systématique de rendement Vi, délivrant un mot de code alternatif, comprenant ledit vecteur de données alternatif et un vecteur de redondance alternatif correspondant, obtenu par ledit codage ; calcul d'une distance entre ledit vecteur de données reçues et chacun desdits mots de code alternatifs ; sélection, en tant que représentant le plus probable des données source, du mot de code alternatif pour lequel la distance est la plus faible.According to the invention, such a method comprises, for at least one of said received vectors, a decoding phase, comprising the following steps: identifying, among said source data estimates, at least one doubtful source data estimate, in view of said trusted information; constructing at least one alternative data vector by changing the binary value of at least one of said doubtful estimates; encoding each of said alternative data vectors, using said systematic base code of output Vi, delivering an alternative codeword, comprising said alternative data vector and a corresponding alternative redundancy vector, obtained by said coding; calculating a distance between said received data vector and each of said alternative codewords; selecting, as the most probable representative of the source data, the alternative code word for which the distance is the lowest.
Ainsi, l'invention repose sur une approche nouvelle et inventive du décodage de données, permettant d'obtenir des résultats de décodage optimaux (proches de ceux obtenus par un décodage mettant en œuvre un algorithme à maximum de vraisemblance), avec une mise en œuvre de complexité réduite.Thus, the invention is based on a novel and inventive approach to data decoding, making it possible to obtain optimal decoding results (close to those obtained by decoding using a maximum likelihood algorithm), with implementation of reduced complexity.
En effet, le procédé selon l'invention repose sur un ré-encodage de certaines estimations de données reçues, en fonction d'une information de confiance qui leur est associée à la suite d'un premier traitement, puis sur un calcul de distance entre ces données estimées ré-encodées et les données reçues.Indeed, the method according to the invention is based on a re-encoding of certain estimates of received data, according to a confidence information which is associated with following a first treatment, and then on a distance calculation between the estimated data re-encoded and the received data.
Ainsi, les données estimées considérées comme douteuses sont ré-encodées, après inversion de leur signe, afin d'être évaluées pour déterminer la donnée décodée la meilleure.Thus, the estimated data considered as doubtful are re-encoded, after inversion of their sign, in order to be evaluated to determine the best decoded data.
En particulier, l'invention s'applique au décodage de données codées par un code de base systématique de rendement 1A.In particular, the invention applies to the decoding of data encoded by a systematic basic code of output 1 A.
Il existe des techniques bien connues de l'homme du métier permettant de modifier les mots de code issus d'un code de base, avant de les transmettre sur le canal de transmission, et de transmettre finalement des données codées par un code de rendement inférieur ou supérieur à 1A.There are techniques well known to those skilled in the art for modifying the codewords from a basic code, before transmitting them on the transmission channel, and finally transmitting data coded by a lower performance code or greater than 1 A.
La technique de bourrage permet de ne pas transmettre certaines données du mot de code qui constituent une suite de bits connus, par exemple une suite de plusieurs zéros, et d'obtenir également un code de rendement inférieur à 1A. Le poinçonnage des bits de parité permet quant à lui d'obtenir un code de rendement supérieur à 1A, en ne transmettant pas certains bits de parité d'un mot de code.The stuffing technique makes it possible not to transmit certain data of the codeword which constitute a series of known bits, for example a series of several zeros, and also to obtain a code of efficiency less than 1 A. The punching of the bits of parity allows for it to obtain a performance code greater than 1A, by not transmitting certain parity bits of a code word.
Selon une caractéristique particulière de l'invention, ledit procédé comprend, préalablement à ladite étape de calcul d'un distance, les étapes suivantes, pour au moins un desdits vecteurs reçus : - identification, parmi lesdites estimations de données de redondance, d'au moins une estimation considérée douteuse, au vu desdites informations de confiance ; construction d'au moins un vecteur de redondance alternatif, par modification de la valeur binaire d'au moins une desdites estimations douteuses ; codage, inverse dudit code systématique, de chacun desdits vecteurs de redondance alternatifs, délivrant un mot de code alternatif, comprenant ledit vecteur de redondance alternatif et un vecteur de données alternatif correspondant, obtenu par ledit codage inverse.According to a particular characteristic of the invention, said method comprises, prior to said step of calculating a distance, the following steps, for at least one of said received vectors: identification, among said redundancy data estimates, of minus an estimate considered dubious, given the said trust information; constructing at least one alternative redundancy vector, by modifying the binary value of at least one of said doubtful estimates; encoding, inverse of said systematic code, each of said alternative redundancy vectors, delivering an alternative code word, comprising said alternative redundancy vector and a corresponding alternative data vector, obtained by said inverse coding.
Ainsi, le procédé de décodage selon ce mode de réalisation de l'invention met en œuvre un double ré-encodage, à la fois des estimations des données source et des estimations des données de redondance. Le premier ré-encodage permet d'obtenir un vecteur de redondance alternatif à partir d'un vecteur de données alternatif préalablement construit par inversion de certaines valeurs binaires d'une estimation de données douteuse, et le second ré-encodage permet d'obtenir un vecteur de données alternatif à partir d'un vecteur de redondance alternatif préalablement construit par inversion de certaines valeurs binaires d'une estimation de redondance douteuse.Thus, the decoding method according to this embodiment of the invention implements a double re-encoding, both estimates of the source data and estimates of redundancy data. The first re-encoding makes it possible to obtain an alternative redundancy vector from an alternative data vector previously constructed by inverting certain binary values of a dubious data estimate, and the second re-encoding makes it possible to obtain a alternative data vector from a alternative redundancy vector previously constructed by inverting certain binary values of an estimate of dubious redundancy.
De cette manière, le procédé prend non seulement en considération d'éventuelles erreurs sur les données source estimées, mais également d'éventuelles erreurs sur les données de redondance, ou de parité, estimées.In this way, the method not only takes into account possible errors on the estimated source data, but also possible errors on the estimated redundancy or parity data.
Selon un aspect particulier de l'invention, ladite phase de décodage est mise en œuvre lorsque ledit vecteur reçu n'est pas un mot de code.According to a particular aspect of the invention, said decoding phase is implemented when said received vector is not a code word.
Ainsi, le procédé de décodage selon l'invention ne met en œuvre le ou les réencodages de données estimées que lorsque les données reçues ne forment pas un mot de code, issu d'un alphabet connu de mots de code.Thus, the decoding method according to the invention implements the estimated data re-encoding or encodings only when the received data do not form a code word, derived from a known alphabet of codewords.
En effet, si le vecteur de données reçues est un mot de code, on suppose alors que celui-ci est le bon mot de code. En revanche, si le vecteur de données reçues ne correspond pas à un mot de code, le procédé selon l'invention permet de déterminer le mot de code le plus probable, avec un minimum de complexité. En particulier, ladite étape d'identification sélectionne des estimations dont les informations de confiance correspondantes sont inférieures à un seuil de sélection.Indeed, if the received data vector is a code word, then it is assumed that it is the right code word. On the other hand, if the received data vector does not correspond to a codeword, the method according to the invention makes it possible to determine the most probable code word, with a minimum of complexity. In particular, said identification step selects estimates whose corresponding confidence information is below a selection threshold.
Ainsi, selon ce mode de réalisation, les estimations obtenues par le premier traitement des données reçues sont associées à des informations de confiance, donnant des indications sur leur fiabilité. On peut donc ensuite sélectionner les estimations obtenues en fonction de leur fiabilité, en comparant les informations de confiance à un seuil de sélection : les estimations dont les informations de confiance sont inférieures à ce seuil sont considérées comme douteuses, ou non fiables, et les autres sont considérées comme fiables.Thus, according to this embodiment, the estimates obtained by the first processing of the received data are associated with trust information, giving indications of their reliability. We can then select the estimates obtained based on their reliability, by comparing the trust information to a selection threshold: estimates whose confidence information is below this threshold are considered as unreliable or unreliable, and the others are considered reliable.
Cette sélection détermine ensuite le nombre d'estimations à ré-encoder pour la suite du procédé de décodage selon l'invention.This selection then determines the number of estimates to be re-encoded for the rest of the decoding method according to the invention.
Selon un autre aspect de l'invention, ladite étape d'identification sélectionne un nombre prédéterminé d'estimations.According to another aspect of the invention, said identification step selects a predetermined number of estimates.
Le tri des estimations en deux catégories, fiables ou douteuses, peut également se faire en fonction d'un nombre prédéterminé d'estimations que l'on souhaite ré-encoder, en prenant par exemple les mfd estimations ayant les informations de confiance associées les plus faibles.The sorting of the estimates into two categories, reliable or doubtful, can also be done according to a predetermined number of estimates that one wishes to re-encode, by taking for example the mfd estimates having the most associated associated trust information. low.
Selon une caractéristique particulière de l'invention, la valeur dudit seuil de sélection et/ou la valeur dudit nombre prédéterminé est variable. Ainsi, on peut sélectionner un nombre variable d'estimations considérées comme douteuses, en fonction par exemple du nombre total d'estimations considérées comme douteuses : par exemple, on sélectionne un nombre restreint d'estimations douteuses si elles représentent la plus de la moitié des estimations obtenues. Ou bien, on peut faire varier le seuil de sélection, en fonction des valeurs des informations de confiance : par exemple, on détermine un seuil de sélection faible, lorsque les informations de confiance sont relativement élevées, cela permet de tenir compte d'un maximum d'estimations considérées douteuses. Par contre, on peut déterminer un seuil de sélection plus élevé lorsque les informations de confiance sont relativement faibles, afin d'éviter une sélection trop importante d'estimations considérées douteuses et donc d'éviter un trop grand nombre de calculs ultérieurement.According to a particular characteristic of the invention, the value of said selection threshold and / or the value of said predetermined number is variable. Thus, a variable number of estimates considered doubtful can be selected, for example based on the total number of estimates considered doubtful: for example, a small number of questionable estimates are selected if they represent the most of half of the estimates. estimates obtained. Or, we can vary the selection threshold, depending on the values of the confidence information: for example, we determine a low selection threshold, when the confidence information is relatively high, it allows to take into account a maximum estimates considered doubtful. On the other hand, a higher selection threshold can be determined when the confidence information is relatively low, in order to avoid a too important selection of estimates considered doubtful and thus to avoid too many calculations later.
Par exemple, ladite distance est une distance euclidienne.For example, said distance is a Euclidean distance.
Selon un mode de réalisation particulier de l'invention, ledit procédé comprend au moins une deuxième phase de décodage, comprenant les étapes suivantes : - pondération dudit mot de code alternatif sélectionné, délivrant un mot de code pondéré ; identification, parmi les données de redondance dudit mot de code pondéré, d'au moins une donnée de redondance pondérée considérée douteuse, au vu desdites informations de confiance ; - construction d'au moins un vecteur de redondance alternatif, par modification de la valeur binaire d'au moins une desdites données de redondance pondérées douteuses ; codage, inverse dudit code systématique, de chacun desdits vecteurs de redondance alternatifs, délivrant un second mot de code alternatif, comprenant ledit vecteur de redondance alternatif et un vecteur de données alternatif correspondant, obtenu par ledit codage inverse ; calcul d'une distance entre ledit vecteur de données reçues et chacun desdits seconds mots de code alternatifs ; sélection, en tant que représentant le plus probable des données source, du second mot de code alternatif pour lequel la distance est la plus faible.According to a particular embodiment of the invention, said method comprises at least a second decoding phase, comprising the following steps: weighting of said selected alternative code word, delivering a weighted code word; identifying, among the redundancy data of said weighted codeword, at least one weighted redundancy datum considered dubious, in view of said trusted information; constructing at least one alternative redundancy vector, by modifying the binary value of at least one of said dubious weighted redundancy data; encoding, in inverse of said systematic code, each of said alternative redundancy vectors, delivering a second alternative code word, comprising said alternative redundancy vector and a corresponding alternative data vector, obtained by said inverse coding; calculating a distance between said received data vector and each of said alternative second codewords; selecting, as the most probable representative of the source data, the second alternative codeword for which the distance is the lowest.
Ainsi, un mode de réalisation de l'invention met en œuvre une première phase de décodage, suivie d'une ou plusieurs phases supplémentaires de décodage, permettant notamment d'obtenir de bons résultats, tout en réduisant la complexité du décodage grâce au processus itératif.Thus, an embodiment of the invention implements a first decoding phase, followed by one or more additional decoding phases, allowing in particular to obtain good results, while reducing the complexity of the decoding through the iterative process.
Selon ce mode de réalisation particulier de l'invention, une décision de décodage, c'est-à-dire un mot de code alternatif obtenu selon l'invention, est pondérée, pour servir à nouveau de base à un décodage selon l'invention.According to this particular embodiment of the invention, a decoding decision, that is to say an alternative code word obtained according to the invention, is weighted, to serve again as a basis for a decoding according to the invention. .
Par exemple, un premier décodage délivre un premier mot de code alternatif, obtenu à partir d'estimations de données source. Ce premier mot de code alternatif sert ensuite de base à un second décodage, mis en œuvre quant à lui à partir d'estimations de données de redondance du premier mot de code alternatif. Ce second décodage délivre un second mot de code alternatif, pouvant servir de décision de décodage, après pondération, ou de base à un troisième décodage, et ainsi de suite.For example, a first decoding delivers a first alternative code word, obtained from source data estimates. This first alternative code word then serves as a basis for a second decoding, implemented for its part from redundancy data estimates of the first alternative code word. This second decoding delivers a second alternative codeword, which can serve as decoding decision, after weighting, or as a base for a third decoding, and so on.
Le premier décodage peut être appelé « décodage aller » et le second décodage « décodage retour », comme décrit plus loin selon un exemple de réalisation.The first decoding may be called "forward decoding" and the second decoding "backward decoding", as described below according to an exemplary embodiment.
La pondération utilisée dans ce mode de réalisation peut être mise en œuvre en utilisant une technique connue décrite notamment dans le document écrit par R.Pyndiah, A.Glavieux, A.Picard et S.Jacq intitulé « Near Optimum decoding of product codes », IEEE proc.of GLOBECOM'94, San Fransisco, Nov.1994.The weighting used in this embodiment can be implemented using a known technique described in particular in the document written by R.Pyndiah, A.Glavieux, A.Picard and S.Jacq entitled "Near Optimum decoding of product codes", IEEE proc.of GLOBECOM'94, San Fransisco, Nov.1994.
L'invention concerne également un dispositif de décodage réalisant une ou plusieurs itérations du procédé de décodage décrit précédemment. Selon l'invention, un tel dispositif de décodage de données reçues (R) représentatives de données source (D) et de données de redondance (P) correspondantes, obtenues à l'aide d'un code de base systématique de rendement 1A délivrant des mots de code, issus d'un alphabet, met en œuvre des premiers moyens de traitement des données reçues, délivrant des vecteurs reçus [R] , dont chaque composante comprend une estimation de la donnée source, ou de la donnée de redondance correspondante, en lui associant une valeur binaire et une information de confiance.The invention also relates to a decoding device performing one or more iterations of the decoding method described above. According to the invention, such a receiver data decoding device (R) representative of source data (D) and corresponding redundancy data (P), obtained using a systematic base code of output 1 A delivering code words, derived from an alphabet, implements first data processing means received, delivering received vectors [R], each component of which comprises an estimate of the source data, or the corresponding redundancy data, by associating it with a binary value and a trust information.
Selon l'invention, un tel dispositif comprend, pour au moins un desdits vecteurs reçus, des moyens de décodage, comprenant : des moyens d'identification, parmi lesdites estimations de données source, d'au moins une estimation de données source considérée douteuse, au vu desdites informations de confiance ; des moyens de construction d'au moins un vecteur de données alternatif, par modification de la valeur binaire d'au moins une desdites estimations douteuses ; des moyens de codage de chacun desdits vecteurs de données alternatifs, à l'aide dudit code de base systématique de rendement Vi, délivrant un mot de code alternatif, comprenant ledit vecteur de données alternatif et un vecteur de redondance alternatif correspondant ; - des moyens de calcul d'une distance entre ledit vecteur de données reçues et chacun desdits mots de code alternatifs ; des moyens de sélection, en tant que représentant le plus probable des données source, du mot de code alternatif pour lequel la distance est la plus faible.According to the invention, such a device comprises, for at least one of said received vectors, decoding means, comprising: means for identifying, among said source data estimates, at least one doubtful source data estimate, in view of said trusted information; means for constructing at least one alternative data vector, by modifying the binary value of at least one of said doubtful estimates; coding means of each of said alternative data vectors, using said systematic vi performance code, issuing an alternative codeword, comprising said alternative data vector and a corresponding alternative redundancy vector; means for calculating a distance between said received data vector and each of said alternative codewords; selection means, as the most probable representative of the source data, of the alternative code word for which the distance is the lowest.
Un tel dispositif de décodage peut notamment être réalisé sous la forme d'un circuit intégré.Such a decoding device may in particular be embodied in the form of an integrated circuit.
Enfin, l'invention concerne un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, comprenant des instructions de code de programme pour la mise en œuvre du procédé de décodage tel que décrit précédemment, lorsque ledit programme est exécuté sur un ordinateur.Finally, the invention relates to a computer program product downloadable from a communication network and / or recorded on a computer readable medium and / or executable by a processor, comprising program code instructions for the implementation of the method decoding as described above, when said program is run on a computer.
5. Liste des figures5. List of figures
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : - la figure 1 illustre les principales étapes du procédé de décodage selon un premier mode de réalisation de l'invention ; la figure 2 illustre les principales étapes du procédé de décodage selon un deuxième mode de réalisation de l'invention ; la figure 3 présente un exemple de module de codage linéaire systématique de rendement Vi, selon l'art antérieur ; la figure 4 présente un exemple de module de décodage de données, codées selon le module de codage de la figure 3, selon un mode de réalisation de l'invention ; les figures 5a à 5f présentent des courbes de résultat de taux d'erreurs binaires pour un canal gaussien, une modulation de type MDP2, et différents codes de base. 6. Description d'un mode de réalisation de l'inventionOther characteristics and advantages of the invention will appear more clearly on reading the following description of a particular embodiment, given as a simple illustrative and nonlimiting example, and the appended drawings, among which: FIG. 1 illustrates the main steps of the decoding method according to a first embodiment of the invention; FIG. 2 illustrates the main steps of the decoding method according to a second embodiment of the invention; FIG. 3 shows an example of a systematic linear coding module of output Vi, according to the prior art; FIG. 4 shows an example of a data decoding module, coded according to the coding module of FIG. 3, according to one embodiment of the invention; Figures 5a to 5f show bit error rate result curves for a Gaussian channel, MDP2 type modulation, and different base codes. 6. Description of an embodiment of the invention
6.1 Principe général6.1 General principle
Le principe général de l'invention repose sur le ré-encodage de certaines estimations de données (et/ou de redondance) reçues, pour obtenir une décision de décodage, lorsque les données reçues après codage et transmission ne correspondent pas à un mot de code, issu d'un alphabet.The general principle of the invention relies on the re-encoding of certain data estimates (and / or redundancy) received, to obtain a decision of decoding, when the data received after coding and transmission do not correspond to a codeword, derived from an alphabet.
Ainsi, en fonction de l'information de confiance associée aux estimations obtenues à la suite d'un premier traitement des données reçues, certaines de ces estimations sont inversées puis ré-encodées, avec le même code que celui utilisé pour coder les données numériques d'origine avant leur transmission sur un canal de transmission, de façon à délivrer des estimations correspondant à des mots de code.Thus, depending on the confidence information associated with the estimates obtained as a result of a first processing of the received data, some of these estimates are inverted and then re-encoded, with the same code as that used to code the digital data. origin before transmission over a transmission channel, so as to deliver estimates corresponding to codewords.
Ensuite, ces estimations ré-encodées sont comparées avec les données reçues, par un calcul de distance, de façon à choisir la plus probable d'entrés elles comme décision de décodage.Then, these re-encoded estimates are compared with the received data, by a distance calculation, so as to choose the most likely input as decoding decision.
Ces différents aspects de l'invention sont décrits plus précisément en relation avec différents modes de réalisation de l'invention.These different aspects of the invention are described more precisely in relation to different embodiments of the invention.
6.2 Description d'un premier mode de réalisation6.2 Description of a first embodiment
Les principales étapes du procédé de décodage selon un premier mode de réalisation de l'invention sont illustrées en figure 1.The main steps of the decoding method according to a first embodiment of the invention are illustrated in FIG.
On considère des données numériques (D), destinées à être codées, par un code de base systématique de rendement Vi, puis transmises via un canal de transmission.Digital data (D), intended to be coded, is considered by a systematic base code of output Vi, then transmitted via a transmission channel.
Un code linéaire, dont la matrice génératrice possède pour K premières colonnes une matrice identité, est dit systématique. La figure 3 présente un exemple de codeur implémentant un tel code, avec en entrée des données numériques pouvant être représentées sous la forme d'un vecteur [D], de dimension K, et en sortie, des données pouvant être représentées sous la forme de deux vecteurs [D] et [P], de dimension K également, représentatifs respectivement des données source et de données de redondance, ou de parité. En sortie du canal de transmission, et donc en entrée du décodeur, ces données reçues (R), sont décodées une première fois, lors d'une étape 10 de traitement, consistant en une démodulation des données reçues (R), puis un seuillage des données démodulées, délivrant une pluralité de vecteurs reçus, notés [R], associés chacun à une information de confiance, notée Ic. Chacun de ces vecteurs reçus comprend N symboles pondérés, dont K symboles pondérés représentatifs de données source et K symboles pondérés représentatifs de données de redondance correspondantes, dans le cas d'un code de rendement Vi. Pour un vecteur reçu [R] donné, le seuillage binaire des symboles pondérés représentatifs de données source, appelés estimations des données source, peut s'écrire sous la forme d'un vecteur noté [SGND] et le seuillage binaire des symboles pondérés représentatifs de données de redondance, appelés estimations des données de redondance, peut s'écrire sous la forme d'un vecteur noté [SGNp]. Chaque composante des vecteurs [SGND] et [SGNp] est associée à une information de confiance, notée Ic.A linear code, whose generating matrix has for K first columns an identity matrix, is said systematic. FIG. 3 shows an example of an encoder implementing such a code, with as input digital data that can be represented in the form of a vector [D], of size K, and at the output, data that can be represented in the form of two vectors [D] and [P], also of dimension K, representative respectively of the source data and data of redundancy, or of parity. At the output of the transmission channel, and therefore at the input of the decoder, these received data (R) are decoded a first time, during a processing step 10, consisting of a demodulation of the received data (R), then a thresholding demodulated data, delivering a plurality of received vectors, denoted [R], each associated with a confidence information, noted Ic. Each of these received vectors comprises N weighted symbols, of which K weighted symbols representative of source data and K weighted symbols representative of corresponding redundancy data, in the case of a performance code Vi. For a given received vector [R], the binary thresholding of representative source data weighted symbols, referred to as source data estimates, can be written as a vector [SGN D ] and the binary thresholding of representative weighted symbols redundancy data, called redundancy data estimates, can be written as a vector [SGNp]. Each component of the vectors [SGN D ] and [SGNp] is associated with a trusted information, denoted Ic.
Une phase 11 de décodage est mise en œuvre selon ce mode de réalisation de l'invention, à partir des données issues du premier traitement, en approchant des résultats d'un algorithme à maximum de vraisemblance, tout en ayant une complexité minimum. On prend en considération dans ce mode de réalisation des erreurs éventuelles pour les estimations des données source. On verra par la suite, dans un deuxième mode de réalisation, qu'on peut également prendre en considération d'éventuelles erreurs sur les estimations des données de redondance.A decoding phase 11 is implemented according to this embodiment of the invention, from the data from the first processing, by approaching the results of a maximum likelihood algorithm, while having a minimum complexity. In this embodiment, possible errors are considered in estimating the source data. It will be seen later, in a second embodiment, that it is also possible to take into consideration possible errors in the estimates of the redundancy data.
À partir du vecteur [SGND] issu du premier traitement du vecteur reçu [R], on identifie, lors d'une étape 110, la ou les estimations de données source que l'on considère peu fiables, ou douteuses.From the vector [SGN D ] from the first processing of the received vector [R], it is identified, in a step 110, the source data estimate or estimates that are considered unreliable, or questionable.
Cette identification s'effectue à partir des informations de confiance Ic associées à chacune des estimations, et en fonction d'un seuil de sélection et/ou d'un nombre prédéterminé d'estimations à identifier. Par exemple, l'identification peut consister à sélectionner toutes les estimations de données source dont l'information de confiance est inférieure à un seuil de sélection. Ou bien, l'identification peut consister à sélectionner les mfd (moins fiables données) estimations de données source d'informations de confiance les plus faibles.This identification is made from the confidence information Ic associated with each of the estimates, and according to a selection threshold and / or a predetermined number of estimates to be identified. For example, the identification may consist of selecting all estimates of source data whose confidence information is below a selection threshold. Or, the identification may consist of selecting the mfd (least reliable data) data estimates source of the weakest trust information.
À partir des mfd estimations sélectionnées lors de l'étape 110 d'identification (en fonction d'un seuil ou d'un nombre prédéterminé), une étape de construction 111 d'au plus 2mfd vecteurs de données dits « alternatifs » est mise en œuvre.From the mfd estimates selected during the identification step 110 (as a function of a threshold or a predetermined number), a construction step 111 of at most 2 m f of so-called "alternative" data vectors is implemented.
Pour une estimation sélectionnée, cette étape de construction consiste à inverser, dans le vecteur [SGND], le bit correspondant à l'estimation sélectionnée, délivrant ainsi un vecteur [SGND] modifié et noté [VAD]. Un tel vecteur de données alternatif [VAD] est construit pour chacune des estimations sélectionnées. De plus, des vecteurs de données alternatifs sont également construits pour toutes les combinaisons possibles d'inversion des bits correspondants aux estimations sélectionnées. On obtient alors au maximum 2"^ vecteurs de données alternatifs [VAD].For a selected estimation, this construction step consists of inverting, in the vector [SGN D ], the bit corresponding to the selected estimate, thus delivering a modified [SGN D ] vector and noted [VA D ]. Such an alternative data vector [VA D ] is constructed for each of the selected estimates. In addition, alternative data vectors are also constructed for all possible bit reversal combinations corresponding to the selected estimates. A maximum of 2 "^ alternative data vectors [VA D ] are then obtained.
Lors d'une étape suivante 112 de codage, chacun des 2"^ vecteurs de données alternatifs [VAD] précédemment construits est codé à l'aide du code utilisé pour coder les données d'origine, délivrant ainsi 2m^d mots de code alternatifs.In a next coding step 112, each of the previously constructed 2 "^ AC data vectors [VA D ] is coded using the code used to encode the original data, thereby delivering 2 m ^ d words of alternative code.
Un tel code est par exemple un code de base systématique de rendement 1A, bien connu de l'homme du métier et non décrit ici. Par exemple, un tel code de base est un code en bloc linéaire de Golay (24,12,8), un code en bloc linéaire de Hamming (8,4,4), un code convolutif, un code Cortex, etc.Such a code is, for example, a systematic basic code of efficiency 1 A, well known to those skilled in the art and not described here. For example, such a base code is a Golay linear block code (24,12,8), a Hamming linear block code (8,4,4), a convolutional code, a Cortex code, and so on.
L'étape 113 de calcul de distances est mise en œuvre pour permettre la sélection ultérieure, lors d'une étape 114 de sélection, du mot de code alternatif le plus probable comme décision de décodage.The step 113 for calculating distances is implemented to allow the subsequent selection, during a selection step 114, of the most likely alternative codeword as a decoding decision.
Ainsi, lors de l'étape 113, les distances entre chacun des mots de code alternatifs, obtenus lors de l'étape 112 de codage, et le vecteur reçu [R] considéré, sont calculées.Thus, in step 113, the distances between each of the alternative code words, obtained during the encoding step 112, and the received vector [R] considered, are calculated.
Cette distance calculée est par exemple la distance euclidienne, bien connue de l'homme du métier et non décrite ici.This calculated distance is for example the Euclidean distance, well known to those skilled in the art and not described here.
Une fois ces distances calculées, une étape de sélection 114 du mot de code alternatif le plus probable est mise en œuvre, en sélectionnant le mot de code alternatif dont la distance avec le vecteur reçu [R] est la plus faible.Once these distances have been calculated, a selection step 114 of the most probable alternative code word is implemented, by selecting the alternative codeword whose distance with the received vector [R] is the lowest.
La figure 5a présente une courbe de résultats de taux d'erreurs binaires, pour un code de base Hadamard (16, 8, 4), et un décodage à vraisemblance maximale (courbe 1), un décodage selon ce mode de réalisation de l'invention avec, respectivement, 4 vecteurs alternatifs (courbe 2), 8 vecteurs alternatifs (courbe 3) et 16 vecteurs alternatifs (courbe 4). 6.3 Description d'un deuxième mode de réalisationFIG. 5a shows a bit error rate result curve, for a Hadamard base code (16, 8, 4), and a maximum likelihood decode (curve 1), a decoding according to this embodiment of the invention with, respectively, 4 alternative vectors (curve 2), 8 alternative vectors (curve 3) and 16 alternative vectors (curve 4). 6.3 Description of a Second Embodiment
On présente maintenant, en relation avec la figure 2, un deuxième mode de réalisation de l'invention, ajoutant des étapes supplémentaires aux principales étapes décrites dans le premier mode de réalisation.A second embodiment of the invention is now presented, in connection with FIG. 2, adding additional steps to the main steps described in the first embodiment.
En particulier, les étapes 10 et 110 à 114 ont déjà été décrites, en relation avec la figure 1 et le premier mode de réalisation, et ne sont pas détaillées dans ce paragraphe.In particular, steps 10 and 110 to 114 have already been described, in connection with FIG. 1 and the first embodiment, and are not detailed in this paragraph.
Dans ce mode de réalisation, la phase de décodage 21 prend en considération, à partir des données issues du premier traitement 10, des erreurs éventuelles pour les estimations des données source (étapes 110 à 112 identiques à celles de la figure 1) ainsi que d'éventuelles erreurs sur les estimations des données de redondance (étapes 210 à 212).In this embodiment, the decoding phase 21 takes into account, from the data from the first processing 10, possible errors for the estimates of the source data (steps 110 to 112 identical to those of FIG. as possible errors on redundancy data estimates (steps 210 to 212).
Ainsi, l'étape 210 consiste à identifier, à partir du vecteur [SGNP] issu du traitement du vecteur reçu [R], la ou les estimations de données de redondance que l'on considère peu fiables, ou douteuses.Thus, step 210 consists in identifying, from the [SGN P ] vector resulting from the processing of the received vector [R], the one or more estimates of redundancy data that are considered unreliable, or doubtful.
Comme pour l'étape 110, cette identification s'effectue à partir des informations de confiance Ic associées à chacune des estimations, et en fonction d'un seuil de sélection et/ou d'un nombre prédéterminé d'estimations à identifier.As for step 110, this identification is performed on the basis of the confidence information Ic associated with each of the estimates, and as a function of a selection threshold and / or a predetermined number of estimates to be identified.
Par exemple, l'identification peut consister à sélectionner toutes les estimations de données de redondance dont l'information de confiance est inférieure à un seuil de sélection. Ou bien, l'identification peut consister à sélectionner les mfp (moins fiables parité ) estimations de données de redondance d'informations de confiance les plus faibles.For example, the identification may consist in selecting all the estimates of redundancy data whose confidence information is below a selection threshold. Or, the identification may consist of selecting the mfp (least reliable parity) data estimates of the lowest confidence information redundancy.
À partir des mfp estimations sélectionnées lors de l'étape 210 d'identification, une étape de construction 211 d'au plus 2"* vecteurs de redondance dits « alternatifs » est mise en œuvre.From the mfp estimates selected during the identification step 210, a construction step 211 of at most 2 "* so-called" alternative "redundancy vectors is implemented.
Pour une estimation sélectionnée, cette étape de construction consiste à inverser, dans le vecteur [SGNP], le bit correspondant à l'estimation sélectionnée, délivrant ainsi un vecteur [SGNP] modifié et noté [VAp].For a selected estimate, this construction step consists of inverting, in the vector [SGN P ], the bit corresponding to the selected estimate, thus delivering a modified [SGN P ] vector and noted [VAp].
Un tel vecteur de redondance alternatif [VAP] est construit pour chacune des estimations sélectionnées.Such an alternative redundancy vector [VA P ] is constructed for each of the selected estimates.
De plus, des vecteurs de redondance alternatifs sont également construits pour toutes les combinaisons possibles d'inversion des bits correspondants aux estimations sélectionnées. On obtient alors au maximum 2"* vecteurs de redondance alternatifs [VAp].In addition, alternative redundancy vectors are also constructed for all possible bit inversion combinations corresponding to the selected estimates. A maximum of 2 "* alternative redundancy vectors [VAp] are then obtained.
Lors d'une étape suivante 212 de codage inverse, chacun des 2"* vecteurs de redondance alternatifs [VAD] précédemment construits est codé à l'aide du code inverse de celui utilisé pour coder les données d'origine, délivrant ainsi 2"* mots de code alternatifs.In a subsequent inverse coding step 212, each of the previously constructed 2 "* alternative redundancy vectors [VA D ] is coded using the inverse code of the one used to encode the original data, thus delivering 2" * alternative code words.
Un tel code est par exemple un code en bloc linéaire systématique de rendement 1A, présentant la propriété de posséder une matrice [Q] de génération de parité inversible.Such a code is, for example, a systematic linear block code with a yield of 1 A, having the property of having an invertible parity generation matrix [Q].
Un tel code peut être représenté sous la forme d'un produit matriciel « . », comme suit :Such a code can be represented in the form of a matrix product ". ", as following :
[DIP] = [G]. [D], où [G] = [IIQ].[DIP] = [G]. [D], where [G] = [IIQ].
On a donc : [P] = [Q]. [D] d'où [D] = [Q"1]. [P], avec les matrices [D] et [P] de dimension K, les matrices [I], [Q] et [Q"1] de dimension K*K, et la matrice [G] de dimension K*2K.So we have: [P] = [Q]. [D] from where [D] = [Q "1 ]. [P], with the matrices [D] and [P] of dimension K, the matrices [I], [Q] and [Q "1 ] of dimension K * K, and the matrix [G] of dimension K * 2K.
On peut donc obtenir le code inverse d'un tel code systématique de rendement 1A, présentant la propriété de posséder une matrice [Q] de génération de parité inversible, et donc obtenir le vecteur [D] à partir du vecteur [P].One can thus obtain the inverse code of such a systematic code of yield 1 A, having the property of owning a matrix [Q] of invertible parity generation, and thus obtain the vector [D] from the vector [P].
D'une autre manière, si l'on considère/la fonction qui permet d'obtenir [P] à partir de [D], soit : [P] =f ([D]), et la fonction inverse/ qui permet d'obtenir [D] à partir de [P,] soit : [D] =/ ([P]), alors/doit être bijective.In another way, if one considers / the function which makes it possible to obtain [P] starting from [D], ie: [P] = f ([D]), and the function inverse / which allows 'get [D] from [P,] is: [D] = / ([P]), then / must be bijective.
Un code de base utilisé peut également être un code convolutif. Dans ce cas, son code dual est utilisé pour encoder la parité et obtenir les données.A base code used may also be a convolutional code. In this case, its dual code is used to encode the parity and get the data.
L'étape 212 de codage inverse permet donc d'obtenir 2m^ mots de code alternatifs.The step 212 of inverse coding thus makes it possible to obtain 2 m ^ alternative codewords.
L'étape 113 de calcul de distances est mise en œuvre pour chacun des mots de code alternatifs issus des étapes 112 et 212, et calcule les distances entre chacun de mots de code alternatifs et le vecteur reçu [R] considéré. Cette distance calculée est par exemple la distance euclidienne, bien connue de l'homme du métier et non décrite ici.Step 113 for calculating distances is implemented for each of the alternative codewords from steps 112 and 212, and calculates the distances between each of alternative code words and the received vector [R] considered. This calculated distance is for example the Euclidean distance, well known to those skilled in the art and not described here.
Une fois ces distances calculées, une étape de sélection 114 du mot de code alternatif le plus probable est mise en œuvre, en sélectionnant le mot de code alternatif dont la distance avec le vecteur reçu [R] est la plus faible. Selon une variante de ce mode de réalisation, cette décision de décodage peut également être pondérée, en utilisant une technique connue décrite notamment dans le document écrit par P.Pyndiah, A.Glavieux, A.Picard et S.Jacq intitulé « Near Optimum decoding of product codes », IEEE proc.of GLOBECOM'94, San Fransisco, Nov.1994.Once these distances have been calculated, a selection step 114 of the most probable alternative code word is implemented, by selecting the alternative codeword whose distance with the received vector [R] is the lowest. According to a variant of this embodiment, this decoding decision can also be weighted, using a known technique described in particular in the document written by P.Pyndiah, A.Glavieux, A.Picard and S.Jacq entitled "Near Optimum decoding" of product codes ", IEEE proc.of GLOBECOM'94, San Fransisco, Nov.1994.
Selon une autre variante, le décodage peut être itératif, et mettre en œuvre par exemple : un décodage, appelé décodage « aller », permettant d'obtenir les données de redondance à partir des données source, selon ce mode de réalisation de l'invention, délivrant une décision de décodage, c'est-à-dire un premier mot de code le plus probable ; - une pondération de la décision de décodage obtenue précédemment, délivrant un premier mot de code pondéré ; un second décodage, appelé décodage « retour », appliqué sur le mot de code pondéré obtenu précédemment, permettant d'obtenir les données source à partir des données de redondance, selon ce mode de réalisation de l'invention, délivrant une décision de décodage, c'est-à-dire un deuxième mot de code le plus probable ; une pondération de la décision de décodage obtenue précédemment, délivrant un deuxième mot de code pondéré. La décision définitive de décodage peut être ce deuxième mot de code pondéré, ou bien le résultat d'une ou plusieurs itérations supplémentaires.According to another variant, the decoding can be iterative, and implement, for example: a decoding, called "go" decoding, making it possible to obtain the redundancy data from the source data, according to this embodiment of the invention issuing a decoding decision, i.e. a first most likely code word; a weighting of the decoding decision obtained previously, delivering a first weighted code word; a second decoding, called "return" decoding, applied to the weighted code word obtained previously, making it possible to obtain the source data from the redundancy data, according to this embodiment of the invention, delivering a decoding decision, that is to say a second most likely code word; a weighting of the decoding decision obtained previously, delivering a second weighted code word. The final decoding decision may be this second weighted code word, or the result of one or more additional iterations.
La figure 5b présente des courbes de résultats de taux d'erreurs binaires pour un code de base Hamming (8, 4, 4), et un décodage à vraisemblance maximale (courbe 1), un décodage selon ce mode de réalisation de l'invention avec, respectivement, deux vecteurs alternatifs (courbe 2), quatre vecteurs alternatifs (courbe 3) et huit vecteurs alternatifsFIG. 5b shows binary error rate result curves for a Hamming base code (8, 4, 4), and a maximum likelihood decoding (curve 1), a decoding according to this embodiment of the invention. with, respectively, two alternative vectors (curve 2), four alternative vectors (curve 3) and eight alternative vectors
(courbe 4).(curve 4).
On peut noter que les performances du décodage selon ce mode de réalisation de l'invention, avec quatre et huit vecteurs, sont identiques aux performances du décodage à vraisemblance maximale. La figure 5c présente quant à elle des courbes de résultats de taux d'erreurs binaires pour un code de base Golay (24, 12, 8), et un décodage à vraisemblance maximale (courbe 1), un décodage selon ce mode de réalisation de l'invention avec, respectivement, huit vecteurs alternatifs (courbe 2), seize vecteurs alternatifs (courbe 3) et trente deux vecteurs alternatifs (courbe 4), ainsi qu'une courbe de résultats correspondant à la borne théorique appelée « borne de l'Union » (courbe 5).It may be noted that the performance of the decoding according to this embodiment of the invention, with four and eight vectors, are identical to the performances of the maximum likelihood decoding. FIG. 5c presents curves of bit error rate results for a Golay base code (24, 12, 8), and a maximum likelihood decoding (curve 1), a decoding according to this embodiment of FIG. the invention with, respectively, eight alternative vectors (curve 2), sixteen alternative vectors (curve 3) and thirty two alternative vectors (curve 4), and a result curve corresponding to the theoretical terminal called "terminal of the Union "(curve 5).
On peut noter que les performances du décodage selon ce mode de réalisation de l'invention, avec trente deux vecteurs, sont identiques aux performances du décodage à vraisemblance maximale, et très proches des performances théoriques de la borne de l'Union. Ces courbes montrent que le nombre de vecteurs alternatifs peut être ajusté à la taille du code, pour de meilleurs résultats.It may be noted that the performance of the decoding according to this embodiment of the invention, with thirty two vectors, are identical to the performance of the maximum likelihood decoding, and very close to the theoretical performance of the terminal of the Union. These curves show that the number of alternative vectors can be adjusted to the size of the code, for best results.
Les courbes 5d et 5e présentent des courbes de résultats de taux d'erreurs binaires, respectivement pour un code de base (32, 16, 8) et un code de base (48, 24,8).Curves 5d and 5e show bit error rate result curves, respectively for a base code (32, 16, 8) and a base code (48, 24.8).
Sur la figure 5d, les courbes 1 à 7 représentent les résultats pour un décodage selon ce mode de réalisation de l'invention, avec, respectivement : courbe 1 : trente deux vecteurs alternatifs et mfd = 4 ; courbe 2 : soixante quatre vecteurs alternatifs et mfd = 5 ; courbe 3 : soixante quatre vecteurs alternatifs et mfd = 8 ; courbe 4 : cent vingt-huit vecteurs alternatifs et mfd = 6 ; courbe 5 : deux cent cinquante six vecteurs alternatifs et mfd = 7 ; courbe 6 : cinq cent douze vecteurs alternatifs et mfd = 8 ; courbe 7 : mille vingt quatre vecteurs alternatifs et mfd = 9.In FIG. 5d, the curves 1 to 7 represent the results for a decoding according to this embodiment of the invention, with, respectively: curve 1: thirty two alternative vectors and mfd = 4; curve 2: sixty four alternative vectors and mfd = 5; curve 3: sixty four alternative vectors and mfd = 8; curve 4: one hundred and twenty-eight alternative vectors and mfd = 6; curve 5: two hundred and fifty-six alternative vectors and mfd = 7; curve 6: five hundred and twelve alternative vectors and mfd = 8; curve 7: one thousand and twenty four alternative vectors and mfd = 9.
Sur la figure 5 e, les courbes 1 à 7 représentent les résultats pour un décodage selon ce mode de réalisation de l'invention, avec, respectivement : courbe 1 seize vecteurs alternatifs et mfd = 3 ; courbe 2 trente deux vecteurs alternatifs et mfd = 7 ; courbe 3 soixante quatre vecteurs alternatifs et mfd = 7 ; - courbe 4 cent vingt-huit vecteurs alternatifs et mfd = 6 ; courbe 5 deux cent cinquante six vecteurs alternatifs et mfd = 7 ; courbe 6 cinq cent douze vecteurs alternatifs et mfd = 8 ; courbe 7 mille vingt quatre vecteurs alternatifs et mfd = 9.In FIG. 5e, the curves 1 to 7 represent the results for a decoding according to this embodiment of the invention, with, respectively: curve 1 sixteen alternative vectors and mfd = 3; curve 2 thirty two alternative vectors and mfd = 7; curve 3 sixty four alternative vectors and mfd = 7; curve 4 one hundred and twenty-eight alternative vectors and mfd = 6; curve 5 two hundred and fifty six alternative vectors and mfd = 7; curve 6 five hundred and twelve alternative vectors and mfd = 8; curve 7 thousand and twenty four alternative vectors and mfd = 9.
Les courbes 8 et 9 représentent les résultats correspondant respectivement à un décodage mettant en œuvre un algorithme à propagation de probabilités (« Belief Propagation » en anglais), et à la borne théorique appelée « borne de l'Union ».The curves 8 and 9 represent the results respectively corresponding to a decoding implementing a probability propagation algorithm ("Belief Propagation" in English), and to the theoretical terminal called "terminal of the Union".
La courbe 5f présente des courbes de résultats de taux d'erreurs binaires, pour un code de base Golay, un décodage selon ce mode de réalisation de l'invention avec trente deux vecteurs alternatifs (courbe 1), et un décodage selon la variante de ce mode de réalisation de l'invention comprenant 4 itérations et soixante quatre vecteurs alternatifs (courbe 2), ainsi qu'une courbe de résultats correspondant à la borne théorique appelée « borne de l'Union » (courbe 3).Curve 5f shows curves of bit error rate results, for a Golay base code, a decoding according to this embodiment of the invention with thirty two alternative vectors (curve 1), and a decoding according to the variant of FIG. this embodiment of the invention comprising four iterations and sixty four alternative vectors (curve 2), and a result curve corresponding to the theoretical terminal called "Union terminal" (curve 3).
6.4 Description d'un dispositif de décodage6.4 Description of a decoding device
On présente maintenant, en relation avec la figure 4, un exemple de dispositif de décodage selon un mode de réalisation de l'invention, prenant en entrée des données codées, par exemple par un codeur tel que celui illustré en figure 3 et déjà décrit, et transmises sur un canal de transmission, représentées par deux vecteurs [D] et [P] de dimension K, et délivrant en sortie un mot de code M de dimension N=2K, correspondant aux données d'origine décodées. FIG. 4 shows an example of a decoding device according to one embodiment of the invention, taking as input coded data, for example by an encoder such as that illustrated in FIG. 3 and already described, and transmitted on a transmission channel, represented by two vectors [D] and [P] of dimension K, and outputting a code word M of dimension N = 2K, corresponding to the decoded original data.

Claims

REVENDICATIONS
1. Procédé de décodage de données reçues (R) représentatives de données source (D) et de données de redondance (P) correspondantes, obtenues à l'aide d'un code de base systématique de rendement Vi délivrant des mots de code, issus d'un alphabet, mettant en œuvre un traitement des données reçues, délivrant des vecteurs reçus [R] , dont chaque composante comprend une estimation de la donnée source, ou de la donnée de redondance correspondante, en lui associant une valeur binaire et une information de confiance, caractérisé en ce qu'il comprend, pour au moins un desdits vecteurs reçus, une phase de décodage, comprenant les étapes suivantes : identification, parmi lesdites estimations de données source, d'au moins une estimation de données source considérée douteuse, au vu desdites informations de confiance ; construction d'au moins un vecteur de données alternatif, par modification de la valeur binaire d'au moins une desdites estimations douteuses ; codage de chacun desdits vecteurs de données alternatifs, à l'aide dudit code de base systématique de rendement Vi, délivrant un mot de code alternatif, comprenant ledit vecteur de données alternatif et un vecteur de redondance alternatif correspondant, obtenu par ledit codage ; - identification, parmi lesdites estimations de données de redondance, d'au moins une estimation considérée douteuse, au vu desdites informations de confiance ; construction d'au moins un vecteur de redondance alternatif, par modification de la valeur binaire d'au moins une desdites estimations douteuses ; codage, inverse dudit code systématique, de chacun desdits vecteurs de redondance alternatifs, délivrant un mot de code alternatif, comprenant ledit vecteur de redondance alternatif et un vecteur de données alternatif correspondant, obtenu par ledit codage inverse, calcul d'une distance entre ledit vecteur de données reçues et chacun desdits mots de code alternatifs ; - sélection, en tant que représentant le plus probable des données source, du mot de code alternatif pour lequel la distance est la plus faible. A method for decoding received data (R) representative of source data (D) and corresponding redundancy data (P), obtained using a systematic code of performance base Vi delivering codewords, derived from an alphabet, implementing a processing of the received data, delivering received vectors [R], each component of which comprises an estimate of the source data, or the corresponding redundancy data, by associating a binary value and a piece of information trusted device, characterized in that it comprises, for at least one of said received vectors, a decoding phase, comprising the steps of: identifying, among said source data estimates, at least one estimate of source data considered dubious, in view of said trusted information; constructing at least one alternative data vector by changing the binary value of at least one of said doubtful estimates; encoding each of said alternative data vectors, using said systematic basis code Vi, delivering an alternative code word, comprising said alternative data vector and a corresponding alternative redundancy vector, obtained by said encoding; identifying, among said estimates of redundancy data, at least one estimate considered dubious, in view of said trusted information; constructing at least one alternative redundancy vector, by modifying the binary value of at least one of said doubtful estimates; encoding, inverse of said systematic code, each of said alternative redundancy vectors, delivering an alternative codeword, comprising said alternative redundancy vector and a corresponding alternative data vector, obtained by said inverse coding, calculating a distance between said vector received data and each of said alternative codewords; selecting, as the most probable representative of the source data, the alternative code word for which the distance is the lowest.
2. Procédé de décodage de données reçues (R) selon la revendication 1 , caractérisé en ce que ladite phase de décodage est mise en œuvre lorsque ledit vecteur reçu n'est pas un mot de code.2. Method for decoding received data (R) according to claim 1, characterized in that said decoding phase is implemented when said received vector is not a code word.
3. Procédé de décodage de données reçues (R) selon l'une quelconque des revendications 1 et 2, caractérisé en ce que ladite étape d'identification sélectionne des estimations dont les informations de confiance correspondantes sont inférieures à un seuil de sélection.3. Method for decoding received data (R) according to any one of claims 1 and 2, characterized in that said identification step selects estimates whose corresponding confidence information is less than a selection threshold.
4. Procédé de décodage de données reçues (R) selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ladite étape d'identification sélectionne un nombre prédéterminé d ' estimations .4. A method for decoding received data (R) according to any one of claims 1 to 3, characterized in that said identification step selects a predetermined number of estimates.
5. Procédé de décodage de données reçues (R) selon l'une quelconque des revendications 3 et 4, caractérisé en ce que la valeur dudit seuil de sélection et/ou la valeur dudit nombre prédéterminé est variable.5. Method for decoding received data (R) according to any one of claims 3 and 4, characterized in that the value of said selection threshold and / or the value of said predetermined number is variable.
6. Procédé de décodage de données reçues (R) selon l'une quelconque des revendications 1 à 5, caractérisé en ce que ladite distance est une distance euclidienne.6. A method for decoding received data (R) according to any one of claims 1 to 5, characterized in that said distance is a Euclidean distance.
7. Procédé de décodage de données reçues (R) selon la revendication 1 , caractérisé en ce qu'il comprend au moins une deuxième phase de décodage, comprenant les étapes suivantes : pondération dudit mot de code alternatif sélectionné, délivrant un mot de code pondéré ; identification, parmi les données de redondance dudit mot de code pondéré, d'au moins une donnée de redondance pondérée considérée douteuse, au vu desdites informations de confiance ; construction d'au moins un vecteur de redondance alternatif, par modification de la valeur binaire d'au moins une desdites données de redondance pondérées douteuses ; codage, inverse dudit code systématique, de chacun desdits vecteurs de redondance alternatifs, délivrant un second mot de code alternatif, comprenant ledit vecteur de redondance alternatif et un vecteur de données alternatif correspondant, obtenu par ledit codage inverse ; calcul d'une distance entre ledit vecteur de données reçues et chacun desdits seconds mots de code alternatifs ; sélection, en tant que représentant le plus probable des données source, du second mot de code alternatif pour lequel la distance est la plus faible.7. A method for decoding received data (R) according to claim 1, characterized in that it comprises at least a second decoding phase, comprising the following steps: weighting of said selected alternative code word, delivering a weighted codeword ; identifying, among the redundancy data of said weighted codeword, at least one weighted redundancy datum considered dubious, in view of said trusted information; constructing at least one alternative redundancy vector by changing the binary value of at least one of said dubious redundant data; encoding, in inverse of said systematic code, each of said alternative redundancy vectors, delivering a second alternative code word, comprising said alternative redundancy vector and a corresponding alternative data vector, obtained by said inverse coding; calculating a distance between said received data vector and each of said alternative second codewords; selecting, as the most probable representative of the source data, the second alternative codeword for which the distance is the lowest.
8. Dispositif de décodage de données reçues (R) représentatives de données source (D) et de données de redondance (P) correspondantes, obtenues à l'aide d'un code de base systématique de rendement Vi délivrant des mots de code, issus d'un alphabet, mettant en œuvre des premiers moyens de traitement des données reçues, délivrant des vecteurs reçus [R] , dont chaque composante comprend une estimation de la donnée source, ou de la donnée de redondance correspondante, en lui associant une valeur binaire et une information de confiance, caractérisé en ce qu'il comprend, pour au moins un desdits vecteurs reçus, des moyens de décodage, comprenant : des moyens d'identification, parmi lesdites estimations de données source, d'au moins une estimation de données source considérée douteuse, au vu desdites informations de confiance ; - des moyens de construction d'au moins un vecteur de données alternatif, par modification de la valeur binaire d'au moins une desdites estimations douteuses ; des moyens de codage de chacun desdits vecteurs de données alternatifs, à l'aide dudit code de base systématique de rendement Vi, délivrant un mot de code alternatif, comprenant ledit vecteur de données alternatif et un vecteur de redondance alternatif correspondant, obtenu par ledit codage ; des moyens de calcul d'une distance entre ledit vecteur de données reçues et chacun desdits mots de code alternatifs ; des moyens de sélection, en tant que représentant le plus probable des données source, du mot de code alternatif pour lequel la distance est la plus faible. 8. Apparatus for decoding received data (R) representative of source data (D) and corresponding redundancy data (P), obtained using a systematic base code of output Vi delivering code words, derived from an alphabet, implementing first data processing means received, delivering received vectors [R], each component of which comprises an estimate of the source data, or the corresponding redundancy data, by associating a binary value with it and trusted information, characterized in that it comprises, for at least one of said received vectors, decoding means, comprising: means for identifying, among said source data estimates, at least one data estimate source considered dubious, given the said trust information; means for constructing at least one alternative data vector, by modifying the binary value of at least one of said doubtful estimates; coding means of each of said alternative data vectors, using said systematic base code of output Vi, delivering an alternative code word, comprising said alternative data vector and a corresponding alternative redundancy vector, obtained by said coding ; means for calculating a distance between said received data vector and each of said alternative codewords; means for selecting, as the most probable representative of the source data, the alternative code word for which the distance is the lowest.
9. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en œuvre du procédé de décodage selon l'une au moins des revendications 1 à 7, lorsque ledit programme est exécuté sur un ordinateur. 9. Computer program product downloadable from a communication network and / or recorded on a computer readable medium and / or executable by a processor, characterized in that it comprises program code instructions for the implementation of the decoding method according to at least one of claims 1 to 7, when said program is executed on a computer.
PCT/EP2010/054469 2009-04-02 2010-04-02 Method for decoding by means of re-encoding, and corresponding device and computer program WO2010112607A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0952162A FR2944167B1 (en) 2009-04-02 2009-04-02 RE-ENCODING DECODING METHOD, CORRESPONDING DEVICE AND COMPUTER PROGRAM
FR0952162 2009-04-02

Publications (1)

Publication Number Publication Date
WO2010112607A1 true WO2010112607A1 (en) 2010-10-07

Family

ID=41136943

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2010/054469 WO2010112607A1 (en) 2009-04-02 2010-04-02 Method for decoding by means of re-encoding, and corresponding device and computer program

Country Status (2)

Country Link
FR (1) FR2944167B1 (en)
WO (1) WO2010112607A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460162B1 (en) * 1998-05-04 2002-10-01 Alcatel Product code iterative decoding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460162B1 (en) * 1998-05-04 2002-10-01 Alcatel Product code iterative decoding

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CLARK G.C AND CAIN J.B.: "Error Correction for Digital Communication", part Information Set Decoding & Information-Set-Decoding Algorithms 1981, PLENUM PRESS, NEW YORK, article "Chapter 3, Section 3.2 and Chapter 4, Section 4.5", pages: 102-130, - 172-180, XP009124739 *
MARTIN P.A., TAYLOR D.P. AND FOSSORIER M.P.C.: "Soft-Input Soft-Output List-Based Decoding Algorithm", IEEE TRANSACTIONS ON COMMUNICATIONS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 52, no. 2, 1 February 2004 (2004-02-01), pages 252 - 262, XP011108424, ISSN: 0090-6778 *
P.PYNDIAH; A.GLAVIEUX; A.PICARD; S.JACQ: "Near Optimum decoding of product codes", IEEE PROC.OF GLOBECOM'94, November 1994 (1994-11-01)
R.PYNDIAH; A.GLAVIEUX; A.PICARD; S.JACQ: "Near Optimum decoding of product codes", IEEE PROC.OF GLOBECOM'94, November 1994 (1994-11-01)
SWEENEY P ET AL: "Iterative soft-decision decoding of linear block codes", IEE PROCEEDINGS : COMMUNICATIONS, INSTITUTION OF ELECTRICAL ENGINEERS, GB, vol. 147, no. 3, 16 June 2000 (2000-06-16), pages 133 - 136, XP006013968, ISSN: 1350-2425 *

Also Published As

Publication number Publication date
FR2944167A1 (en) 2010-10-08
FR2944167B1 (en) 2014-03-28

Similar Documents

Publication Publication Date Title
EP0654910B1 (en) Iterative decoding method for concatenated block codes
EP0827285B1 (en) Information bits transmission process with error correction coding, and coder and decoder therefor
EP0827284B1 (en) Information bits transmission process with error correction coding, and coder and decoder therefor
EP2047605B1 (en) Message-passing decoding with a node classification according to the reliability of the vicinity
EP3443678B1 (en) Method of decoding a polar code with inversion of low reliability bits
EP0995272B1 (en) Product code iterative decoding
EP0946014B1 (en) Method for detecting a sequence of symbols from a received signal, and Viterbi processor for carrying out the method
FR2675970A1 (en) Method for pseudo-systematic error correcting convolutive coding, decoding method and corresponding devices
FR2909499A1 (en) Low density parity check code word decoding method for communication apparatus, involves determining messages, from variable node to control node, relative to set of symbols such that minimal value is null
EP1932241A2 (en) Method of improving the iterative decoding of codes
EP1959572B1 (en) Decoding method with message passing and forced convergence
EP1692687B1 (en) Transcoding between the indices of multipulse dictionaries used for coding in digital signal compression
EP1905157B1 (en) Method and system for encoding a data sequence
FR2950209A1 (en) METHOD OF ELEMENTARY UPDATING A CONTROL NODE DURING AN ENCODED BLOCK DECODING WITH A NON-BINARY LDPC CODE, AND CORRESPONDING DECODER
EP0936743A1 (en) Iterative decoding for binary block codes
FR3009462B1 (en) IMPROVED METHOD OF DECODING A CORRECTING CODE WITH MESSAGE PASSAGE, ESPECIALLY FOR DECODING LDPC CODES OR TURBO CODES
FR2741215A1 (en) PROCESS FOR TRANSMISSION OF A SEQUENCE OF INFORMATION BITS WITH SELECTIVE PROTECTION AGAINST TRANSMISSION ERRORS, METHODS OF CODING AND CORRECTION THAT CAN BE IMPLEMENTED IN SUCH A TRANSMISSION PROCESS
EP1527521A2 (en) Device and method for robust decoding of arithmetic codes
WO2010112607A1 (en) Method for decoding by means of re-encoding, and corresponding device and computer program
FR2972878A1 (en) ERROR CORRECTING ENCODING METHOD, DECODING METHOD AND ASSOCIATED DEVICES
WO2012001263A1 (en) Processing data for encoding and decoding a message
FR3022651A1 (en) METHODS AND DEVICES FOR ENCODING AND DECODING ERROR CORRECTING, AND CORRESPONDING COMPUTER PROGRAM.
EP1217752A2 (en) Iterative decoding process for any concatenation of a predetermined number of block codes or the like
EP2786498B1 (en) Low-complexity decoder for convolutional encoding
FR2829636A1 (en) Method for qualifying the error-correcting codes, optimization method, coder, decoder, and the corresponding application

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10712948

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10712948

Country of ref document: EP

Kind code of ref document: A1