WO2007028834A2 - Procede d'amelioration de decodage iteratif de codes - Google Patents

Procede d'amelioration de decodage iteratif de codes Download PDF

Info

Publication number
WO2007028834A2
WO2007028834A2 PCT/EP2006/066227 EP2006066227W WO2007028834A2 WO 2007028834 A2 WO2007028834 A2 WO 2007028834A2 EP 2006066227 W EP2006066227 W EP 2006066227W WO 2007028834 A2 WO2007028834 A2 WO 2007028834A2
Authority
WO
WIPO (PCT)
Prior art keywords
decoding
vector
crc
iteration
demodulator
Prior art date
Application number
PCT/EP2006/066227
Other languages
English (en)
Other versions
WO2007028834A3 (fr
Inventor
Jacques Eudes
Original Assignee
Thales
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 Thales filed Critical Thales
Priority to EP06793408A priority Critical patent/EP1932241A2/fr
Priority to US12/066,119 priority patent/US8332717B2/en
Publication of WO2007028834A2 publication Critical patent/WO2007028834A2/fr
Publication of WO2007028834A3 publication Critical patent/WO2007028834A3/fr

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2975Judging correct decoding, e.g. iteration stopping criteria
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • 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/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation

Definitions

  • TDMA time divisional multiple access or when the latency should be low generally use short codes or medium long aforementioned (eg MPEG size).
  • turbo codes in the general sense of the term, including turbo codes or TPC Turbo Product Codes
  • SCCC International Concatenated Convolutional Code
  • SCCCC Parallel Concatenated convolutional convolutional code
  • LDPC abbreviation Anglo-Saxon low density parity check
  • the size of the code word limits the decoupling between the two dimensions. A smaller size also amplifies the statistical effect of a bad local encoding, which is less well compensated by the rest of the code.
  • concatenation methods for example LPCD and turbo code concatenations, are known from the prior art to reduce the error floor (error floor) of the turbo code, due to a free distance (in the sense of Hamming) too low.
  • Another possibility is not to reduce the coding rate of the internal code. Since the coding rate is smaller, the operating point (expressed in Eb / NO with Eb Energy per bit and NO noise spectral density and not bits coded by the external code) is not compensated by the gain of the external code. .
  • the invention relates to a method of improving iterative decoding of short codes within a demodulator, characterized in that it comprises at least the following steps: • Decode the metric vector of the bits considered at the output of the demodulator,
  • the value of the CRC is defined, for example, so that the overall encoding rate is not changed by inserting the CRC, by perforating it in the decoded code iteratively.
  • An existing CRC can be used, starting from the same initialization vector provided by the demodulator.
  • the second decoding is performed, for example, starting from an initialization vector different from the initialization vector supplied by the demodulator, when the corrective vector, representing the difference between the initial vector and the vector on which the new vector is attempted.
  • decoding is obtained by an anti-gradient of the last half-iterations.
  • the anti-gradient consists of a hollow matrix where only the N correct non-zero coefficients correspond to the least reliable decoded values during the last half-iteration, the penultimate (or the two last-to-last) half-iterations turbo code.
  • N_correct is typically 3/4 * d-free, where d_free is the distance of the code, and the coefficients of the matrix are each of opposite sign to the decoded value when the penultimate iteration.
  • the second decoding can be carried out starting from an initialization vector different from the initialization vector supplied by the demodulator, when the corrective vector representing the difference between the initial vector and the vector on which the new decoding is attempted is provided. by a low amplitude noise corresponding to a low temperature in a simulated annealing method.
  • noise is injected according to the steps described above on a reduced number of points at the input of the decoder.
  • This reduced number of points is of the order of the free distance of the code, and the points correspond to the least reliable values coming from the penultimate or the second last iteration.
  • the second super iteration is repeated, for example, for different bit positions.
  • the position of the inverted bit is taken a priori (as for a simulated annealing) or a posteriori thanks to the decoding of the first super-iteration (as for an inverse gradient).
  • the new successive input vectors therefore consist of the vector initially received, but in which a value was forced to bit 0 (thus to the minimum LLR) or bit 1, ie to the maximum metric.
  • the position of the inverted bit (with respect to the decoded value) during the different successive super-iterations is random or follows the order of increasing reliability, ie starting with the least reliable of the decoded bits.
  • the number of super iterations is greater than two and the starting point of the new super iteration consists, for example, of the initial point at the output of the demodulator, and a correction vector of size (number of non-zero coordinates) or of weight (Euclidean norm) variable depending on the iteration (typically increasing) or fixed.
  • the number of super iterations is greater than 2 and the starting point of the new super iteration is, for example, iteratively constituted, therefore, from the entry point of the previous superiteration, and a corrective vector of fixed size or weight. or not.
  • the number of super-iterations is limited by a maximum fixed a priori. Super iterations stop as soon as the CRC found matches.
  • FIG. 1 the implementation diagram of the invention, indicating the added blocks: CRC (2), CRC check (8) and feedback function (6) and the action point of the decision feedback used by the invention,
  • FIG. 2 shows the gain of the invention in the case of an ATM cell (asynchronous transfer mode)
  • Figure 3 shows the gain of the invention in the case of an ATM cell.
  • the basic idea of the method according to the invention is notably to use a CRC control code adapted to indicate, in particular at the end of decoding, that the result obtained must be considered as valid. , Exact CRC, or on the contrary that the decoded result can not be in accordance with the message sent.
  • the decoder restarts a decoding since the first iteration, but by modifying the initial information received from the demodulator.
  • FIG. 1 shows in solid lines the steps and the means implemented by the invention in the case where the decoding method already includes a CRC. In dotted lines, means for introducing a CRC at the encoder is shown.
  • the source 1 transmits signals composed of bits which are encoded by an iterative coder 3.
  • the coded bits are then transmitted to a modulator 4.
  • the modulated bits pass through a propagation channel and are received by a receiver 5,6,7 8.
  • the receiver comprises, for example, a demodulator 5 receiving the signal from the propagation channel.
  • the demodulated signals are then transmitted to a super-iterative decoder 6,7,8 having the characteristics of the invention and comprising in particular an anti-gradient device 6, an iterative decoder 7 and a CRC control device 8.
  • the function of the controller 8 is notably to control the value of the CRC control code present in the signal at a predetermined value.
  • the decoding function is particularly suitable for:
  • the decoder is particularly suitable for detecting the end of code convergence.
  • Various criteria known to those skilled in the art can be used.
  • the decoding convergence criterion of a TPC is extremely simple, since the decoding can stop as soon as the word corresponding to the output (raw soft output) of a half-iteration is a code word for the other iteration. Methods exist in the same way for the other iterative decoding codes.
  • the information entered in the CRC is, for example, a binary value, acceptable message or incorrectly decoded message.
  • the method according to the invention implements in particular the following steps:
  • the metric vector of the bits considered at the output of the demodulator is decoded
  • the super decoder transmits the decoded word to the recipient
  • the super-decoder modifies the iterative decoding parameters of the initial message received from the demodulator and executes at least one new step of iterative decoding with these new parameters.
  • the modification of the decoding parameters can then be a modification of the speed of convergence, a modification of the computing power, a modification of the inputs of the decoder as detailed in the following.
  • the method comprises a step where this intrinsic verifier is added and the aforementioned decoding steps are then performed.
  • a CRC is added adapted to detect a false decoding and to restart a second iterative decoding, when the overall coding rate is decreased by the insertion of the CRC, the decoded code iteratively maintaining its coding rate.
  • the added CRC is for example adapted to restart a second iterative decoding, when the overall coding rate is not changed by the insertion of the CRC, thanks to a perforation, that is to say the arbitrary deletion of certain coded bits, the more often uniformly distributed in the coded message) performed in the decoded code, and the decoder is informed by sending for the perforated bit a value corresponding to "no information a priori", most often the LLR (Log Likelihood Ratio) null).
  • the method comprises, for example, an existing CRC adapted to restart a second iterative decoding, starting from the same initialization vector (ie the weighted values provided by the demodulator) provided by the demodulator, with a more expensive decoding process, but closer to optimal.
  • an existing CRC adapted to restart a second iterative decoding, starting from the same initialization vector (ie the weighted values provided by the demodulator) provided by the demodulator, with a more expensive decoding process, but closer to optimal.
  • the method uses an already existing CRC to decide to restart a second iterative decoding, starting from the same initialization vector provided by the, but with a slower convergence decoding method using coefficients weights of the extrinsic metric weaker than during the first decoding.
  • This second decoding can also use more iterations than the first attempt.
  • Conventional iterative decoding provided by the conventional decoder has several iterations.
  • the "decoder 7" provides the "CRC comparator 8" with the decoded information.
  • the CRC comparator then chooses to validate the result proposed by the decoder, or chooses to ask the "inverse gradient operator 6" a new starting point for a new decoding of the code word to be decoded. This new decoding will then take several iterations.
  • the second decoding is executed starting from an initialization vector different from the initialization vector supplied by the demodulator.
  • the corrective vector representing the difference between the initial vector and the vector on which the new decoding is attempted, is provided by a noise of low amplitude (low temperature) according to a simulated annealing method.
  • the second decoding can be executed starting from an initialization vector different from the initialization vector supplied by the demodulator, when the corrective vector representing the difference between the initial vector and the vector on which is attempted the new decoding is provided by the anti-gradient of the last half iterations.
  • the anti-gradient consists of a hollow matrix where only the N_correct non-zero coefficients correspond to the least reliable decoded values during the last half-iteration, the penultimate (or the two before the last) half-iteration of the turbo code.
  • N_correct is typically% * d- free, where djree is the distance of the code, and the matrix coefficients are each of opposite sign to the decoded value during the penultimate iteration
  • the number of non-zero values retained in this anti-gradient is typically of the order of three quarters of the free code distance without this value being an obligation.
  • the absolute value of non-zero points anti-gradient is typically equal to half of the average metric. Their sign is the opposite of the decision corresponding to the decoding.
  • the second decoding is a combination of the two preceding methods, when the corrective vector representing the difference between the initial vector and the vector on which the new decoding is attempted is zero on the points having a metric. decoded, and a random noise (eg Gaussian) on the points corresponding to a poorer convergence, characterized by a weak decoded metric.
  • a random noise eg Gaussian
  • the second decoding is executed starting from an initialization vector different from the initialization vector supplied by the demodulator, when the corrective vector, representing the difference between the initial vector and the vector on which it is attempted.
  • the new decoding is provided by a low amplitude noise corresponding to a low temperature in a simulated annealing method.
  • the second decoding noise is injected as described above, on a reduced number of points at the input of the decoder.
  • This reduced number of points is of the order of the free distance of the code, and the points correspond to the least reliable values coming from the penultimate or the second last iteration.
  • the second decoding is for example of multi hypothesis type and consists in forcing a decoded bit to a given value, corresponding for example to the inverse of the value found by the decoding the first super iteration; the corrective vector then corresponds to a hard decision, and forces the metric (LLR) of the considered bit to the maximum value corresponding to an extremely safe bit.
  • the second super iteration is repeated for different bit positions. The position of the inverted bit is taken a priori (as for a simulated annealing) or a posteriori thanks to the decoding of the first super-iteration (as for a gradient reverse).
  • the new successive input vectors therefore consist of the vector initially received, but in which a value has been forced to bit 0 (thus to the minimum LLR) or bit 1, ie to the maximum metric.
  • bit 0 thus to the minimum LLR
  • bit 1 ie to the maximum metric.
  • the position of the inverted bit (with respect to the decoded value) during the different successive super-iterations is random or follows the order of increasing reliability, ie starting with the least reliable of the decoded bits.
  • the number of super iterations can be greater than two and the starting point of the new super iteration consisting of the initial point at the output of the demodulator, and a correction vector of size (number of non-zero coordinates) or weight (Euclidean norm ) variable depending on the iteration (typically increasing) or fixed.
  • the number of super iterations is for example greater than 2 and the starting point of the new super iteration consists, iteratively so, of the entry point of the previous superiteration, and of a correction vector of fixed size or weight or no.
  • the number of super-iterations is limited by a fixed maximum. Super iterations stop as soon as the CRC found matches.
  • Figures 2 and 3 express the gain from a theoretical point of view; gain in BER (bit error rate) for a given signal-to-noise ratio.
  • the first component of the terminal of the union is therefore substantially:
  • the initial product code is shortened by one line.
  • the new encoder adds 10 bits of CRC (for example). It should not add stuffing bits.
  • the product code is 992 bits out of which no stuffing bit.
  • the new encoder thus perforates 10 coded bits at specific positions. These positions are not the subject of the process.
  • a practical example is given on a small code, consisting of 96 bits of data, 4 CRC bits, and protected by a parity-extended BCH (H) on the rows and columns and a shortcut of a row and a column.
  • the code rate without CRC is 96/221.
  • the code with CRC is therefore perforated with 4 bits.
  • the input matrix is therefore the following, considering that the initial information is uniformly zero.
  • the redundancy is in italics, the CRC is in bold, and the 4 punched positions are marked ?? , and correspond to a null metric.
  • the output of the decoder is more likely than the initial message: it is verified that the sums of the metric products times decision (Log Likelihood Ratio) for the decoding corresponding to the initial message (all zero) is lower than that of the decoded message.
  • the decoding then converges to the value of the initial message.
  • the CRC is then obviously checked.

Abstract

Procédé d'amélioration de décodage itératif de codes courts au sein d'un démodulateur caractérisé en ce qu'il comporte au moins les étapes suivantes : • Décoder le vecteur de métriques des bits considérés en sortie du démodulateur, • comparer la valeur du code de contrôle du CRC du mot décodé à une valeur prédéterminée, • Si la valeur du CRC est considérée comme formant un message acceptable pour l'étape de décodage, transmettre le mot décodé au destinataire, • Si la valeur du CRC est incompatible d'un message correctement décodé, alors modifier les paramètres de décodage itératif du message initial reçus du démodulateur et exécuter au moins une nouvelle étape de décodage itératif avec ces nouveaux paramètres.

Description

PROCEDE D'AMELIORATION DE DECODAGE ITERATIF DE CODES
L'invention concerne notamment un procédé permettant d'améliorer le décodage itératif de codes courts (une centaine de bits) à moyennement longs (de la taille MPEG = 1504 bits par exemple) codés avec un code correcteur d'erreur de rendement faible tel que 1/3 ou élevé : 90% ou plus.
Elle s'applique, notamment, dans le domaine des télécommunications, par exemple pour les communications satellite.
Dans la description, on introduit la notion de décodeur super itératif pour différencier une itération effectuée au sein d'un décodeur selon l'art antérieur et l'étape d'itération dans le procédé selon l'invention.
Les communications à accès multiples (TDMA time Divisional multiple access) ou lorsque la latence doit être faible utilisent généralement des codes courts ou moyennement longs précités (par exemple de la taille MPEG).
Dans ces conditions, pour les turbo codes au sens général du terme, incluant les turbo codes ou TPC Turbo Product Codes, les codes obtenus par concaténation en série des codes convolutionnels ou SCCC (abréviation anglo-saxonne de Sériai Concatenated Convolutional Code), les codes obtenus par une concaténation en parallèle de codes convolutionnels ou PCCC (abréviation anglo-saxonne de Parallel Concatenated convolutional code), les contrôles de parité faible densité LDPC (abréviation anglo saxonne de Low density parity check), dans leur variante binaire ou m-aire, un compromis doit être trouvé entre complexité de décodage et performances du code. Le principe du décodage itératif est de générer deux informations de cohérence locale dans deux dimensions, aussi indépendantes que possible. L'indépendance est notamment assurée entre les deux dimensions par un entrelaceur.
La taille du mot de code limite le découplage entre les deux dimensions. Une taille réduite amplifie aussi l'effet statistique d'un mauvais codage local, qui est moins bien compensé par le reste du code.
Pour cette raison, les codes de petite ou de moyenne taille sont aujourd'hui assez loin de la limite théorique pour des complexités de décodage raisonnable.
Pour des codes de grande taille (supérieure par exemple à 5000 bits d'information), il est connu de l'art antérieur des méthodes de concaténation, par exemple des concaténations de code LPCD et turbo, pour réduire le plancher d'erreur (error floor) du turbo code, dû à une distance libre (au sens de Hamming) trop faible.
Une autre possibilité consiste à ne pas réduire le taux de codage du code interne. Le taux de codage étant plus petit, le point de fonctionnement (exprimé en Eb/NO avec Eb Energie par bit et NO densité spectrale de bruit et non des bits codés par le code externe) n'est pas compensé par le gain du code externe.
Lorsque le système utilise des codes petits, soit pour des problèmes de latence liée à de petits débits tels que dans la téléphonie, ou pour des problèmes de granularité dans des systèmes à allocation dynamique, le système de codage utilisant de grands mots de code devient inefficace.
L'invention concerne un procédé d'amélioration de décodage itératif de codes courts au sein d'un démodulateur caractérisé en ce qu'il comporte au moins les étapes suivantes : • Décoder le vecteur de métriques des bits considérés en sortie du démodulateur,
• comparer la valeur du code de contrôle du CRC du mot décodé à une valeur prédéterminée,
• Si la valeur du CRC est considérée comme formant un message acceptable pour l'étape de décodage, transmettre le mot décodé au destinataire, le super décodeur transmet le mot décodé,
• Si la valeur du CRC est incompatible d'un message correctement décodé, alors modifier les paramètres de décodage itératif du message initial reçus du démodulateur et exécuter au moins une nouvelle étape de décodage itératif avec ces nouveaux paramètres. Le super décodeur modifie les paramètres de décodage itératif.
La valeur du CRC est définie, par exemple, afin que le taux de codage global ne soit pas changé par l'insertion du CRC, grâce à une perforation effectuée dans le code décodé itérativement.
On peut utiliser un CRC existant, en partant du même vecteur d'initialisation fourni par le démodulateur.
Le deuxième décodage est effectué, par exemple, en partant d'un vecteur d'initialisation différent du vecteur d'initialisation fourni par le démodulateur, lorsque le vecteur correctif, représentant la différence entre le vecteur initial et le vecteur sur lequel est tenté le nouveau décodage est obtenu par un anti-gradient des dernières demi-itérations. L'anti-gradient est constitué d'une matrice creuse où seuls les N correct coefficients non nuls correspondent aux valeurs décodées les moins fiables lors de la dernière demi-itération, de l'avant dernière (ou des deux avant dernières) demi-itérations du turbo code. N_correct vaut typiquement 3/4*d-free, où d_free est la distance du code, et les coefficients de la matrice sont chacun de signe opposé à la valeur décodée lors de l'avant dernière itération. On peut exécuter le deuxième décodage en partant d'un vecteur d'initialisation différent du vecteur d'initialisation fourni par le démodulateur, lorsque le vecteur correctif, représentant la différence entre le vecteur initial et le vecteur sur lequel est tenté le nouveau décodage est fournit par un bruit de faible amplitude correspondant à une faible température dans une méthode de recuit simulé.
Pour le deuxième décodage, on injecte un bruit, conformément aux étapes décrites ci-avant sur un nombre réduit de points en entrée du décodeur. Ce nombre réduit de point est de l'ordre de la distance libre du code, et les points correspondent aux valeurs les moins fiables issues de l'avant- dernière ou des avant-dernières itérations.
La deuxième super itération est répétée, par exemple, pour différentes positions de bits. La position du bit inversé est prise a priori (comme pour un recuit simulé) ou a posteriori grâce au décodage de la première super itération (comme pour un gradient inverse) Les nouveaux vecteurs d'entrée successifs sont donc constitués du vecteur initialement reçu, mais dans lequel une valeur a été forcée au bit 0 (donc à la LLR minimum) ou au bit 1 , c'est à dire à la métrique maximale. La position du bit inversé (par rapport à la valeur décodée) lors des différentes super-itérations successives est aléatoire ou suit l'ordre de fiabilité croissante, c'est à dire en commençant par le moins fiable des bits décodés.
Le nombre de super itérations est supérieur à deux et le point de départ de la nouvelle super itération est constitué, par exemple, du point initial en sortie du démodulateur, et d'un vecteur correctif de taille (nombre de coordonnées non nulles) ou de poids (norme euclidienne) variable en fonction de l'itération (typiquement croissant) ou fixe.
Le nombre de super itérations est supérieur à 2 et le point de départ de la nouvelle super itération est, par exemple, constitué itérativement donc, du point en entrée de la super itération précédente, et d'un vecteur correctif de taille ou de poids fixe ou non. Le nombre de super-itérations est limité par un maximum fixé à priori. Les super itérations s'arrêtent dès que le CRC trouvé correspond.
L'invention présente notamment les avantages suivants :
• Une réduction du rapport signal à bruit nécessaire pour obtenir un taux d'erreur binaire donné,
• Une indication de validité du paquet reçu afin de destruction éventuelle par les couches protocolaires supérieures.
D'autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture de la description d'un exemple de réalisation donné à titre illustratif et nullement limitatif annexé des figures qui représentent :
• La figure 1 le schéma de mise en œuvre de l'invention, indiquant les blocs ajoutés : CRC (2), vérification du CRC (8) et fonction de rétroaction (6) et le point d'action du retour de décision utilisé par l'invention,
• La figure 2 indique le gain de l'invention dans le cas d'une cellule ATM (asynchronous transfer mode), et
• La figure 3 indique le gain de l'invention dans le cas d'une cellule ATM.
L'idée de base du procédé selon l'invention est notamment d'utiliser un code de contrôle CRC (abréviation anglo-saxonne de Cyclic redondancy check) adapté pour indiquer, notamment en fin de décodage soit que le résultat obtenu doit être considéré comme valide, CRC exact, ou au contraire que le résultat décodé ne peut être conforme au message émis. Lorsque le CRC n'est pas correct, le décodeur recommence un décodage depuis la première itération, mais en modifiant l'information initiale reçue du démodulateur. Sur la figure 1 , on a représenté en traits pleins, les étapes et les moyens mis en œuvre par l'invention dans le cas où le procédé de décodage inclus déjà un CRC. En traits pointillés, un moyen permettant d'introduire un CRC au niveau du codeur est représenté.
La source 1 émet des signaux composés de bits qui sont codés par un codeur itératif 3. Les bits codés sont ensuite transmis à un modulateur 4. Les bits modulés transitent à travers un canal de propagation et sont reçus par un récepteur 5,6,7,8. Le récepteur comprend, par exemple, un démodulateur 5 recevant le signal issu du canal de propagation. Les signaux démodulés sont ensuite transmis à un décodeur super itératif 6,7,8 présentant les caractéristiques de l'invention et comprenant notamment un dispositif anti-gradient 6, un décodeur itératif 7 et un dispositif de contrôle de CRC 8.
Le contrôleur 8 a notamment pour fonction de contrôler la valeur du code de contrôle CRC présent dans le signal à une valeur fixée au préalable. La fonction décodage est notamment adaptée à :
• Sortir les informations pondérées qu'elle utilise pour la dernière itération, par exemple les deux itérations pour un PCCC. On utilise l'information issue du décodage (en anglo-saxon soft output brute) et non la métrique extrinsèque utilisée lors du rebouclage itératif,
On rappelle que l'équation « métrique extrinsèque » est égale à l'information issue du décodage ou « soft output brute » la « métrique intrinsèque »
• Le décodeur est notamment adapté à détecter la fin de convergence de code. Différents critères connus de l'Homme du métier peuvent être utilisés. Le critère de convergence de décodage d'un TPC est extrêmement simple, puisque le décodage peut s'arrêter dès lors que le mot correspondant à la sortie (soft output brute) d'une demi-itération est un mot de code pour l'autre itération. Des méthodes existent de la même façon pour les autres codes à décodages itératifs.
L'information introduite dans le CRC est, par exemple, une valeur de type binaire, message acceptable ou message incorrectement décodé. Le procédé selon l'invention met en œuvre notamment les étapes suivantes :
A) Super encodage à l'émission :
• Ajout d'un CRC au message original (dans le cas où il n'existe pas) ou utilisation d'un CRC dans le cas où les couches hautes le définissent explicitement),
• Encodage du message original grâce à un code susceptible de décodage itératif.
B) Super décodage à la réception :
• Décodage du vecteur de métrique en sortie du démodulateur,
On décode le vecteur de métriques des bits considérés en sortie du démodulateur,
• Comparaison de la valeur du code de contrôle CRC du mot décodé à une valeur prédéterminée, par exemple la valeur du CRC calculé sur le message décodé,
• Si le CRC calculé sur le mot décodé est conforme à la valeur du CRC décodée, la valeur est considérée comme formant un message acceptable pour l'étape de décodage, alors, le super décodeur transmet le mot décodé au destinataire,
• Si la valeur du CRC n'est pas cohérente, c'est à dire si la valeur du CRC est incompatible d'un message correctement décodé, alors le super-décodeur modifie les paramètres de décodage itératif du message initial reçues du démodulateur et exécute au moins une nouvelle étape de décodage itératif avec ces nouveaux paramètres. La modification des paramètres de décodage peut alors être une modification de la vitesse de convergence, une modification de la puissance de calcul, une modification des entrées du décodeur telle que détaillée dans la suite.
Pour un dispositif ne comportant pas de « vérification intrinsèque
(2) », le procédé comporte une étape où l'on ajoute ce vérificateur intrinsèque et l'on exécute ensuite les étapes de décodage précitées.
Selon une variante de réalisation, on ajoute un CRC adapté à détecter un faux décodage et à relancer un deuxième décodage itératif, lorsque le taux de codage global est diminué par l'insertion du CRC, le code décodé itérativement conservant son taux de codage.
Le CRC ajouté est par exemple adapté à relancer un deuxième décodage itératif, lorsque le taux de codage global n'est pas changé par l'insertion du CRC, grâce à une perforation c'est à dire la suppression arbitraire de certains bits codés, le plus souvent uniformément répartis dans le message codé) effectuée dans le code décodé, et l'on en informe le décodeur par l'envoi pour le bit perforé d'une valeur correspondant à « pas d'information a priori », le plus souvent la LLR (Log Likelihood Ratio) nulle).
Selon une variante de mise en œuvre, le procédé comporte, par exemple, un CRC existant et adapté à relancer un deuxième décodage itératif, en partant du même vecteur d'initialisation (i.e. les valeurs pondérées fournies par le démodulateur) fourni par le démodulateur, avec un procédé de décodage plus onéreux, mais plus proche de l'optimal.
Selon une variante de mise en œuvre, le procédé utilise un CRC déjà existant pour décider de relancer un deuxième décodage itératif, en partant du même vecteur d'initialisation fourni par le, mais avec un procédé de décodage à convergence plus lente en utilisant des coefficients de pondération de la métrique extrinsèque plus faibles que lors du premier décodage. Ce deuxième décodage peut également utiliser plus d'itérations que la première tentative. Le décodage itératif classique fourni par le décodeur classique comporte plusieurs itérations.
A la fin de ces itérations, le « décodeur 7 » fournit au « comparateur de CRC 8 » l'information décodée.
Le comparateur de CRC choisit alors de valider le résultat proposé par le décodeur, ou choisit de demander à « l'opérateur gradient inverse 6 » un nouveau point de départ pour un nouveau décodage du mot de code à décoder. Ce nouveau décodage prendra alors plusieurs itérations.
Dans une seconde variante de réalisation, le deuxième décodage est exécuté en partant d'un vecteur d'initialisation différent du vecteur d'initialisation fourni par le démodulateur. Le vecteur correctif, représentant la différence entre le vecteur initial et le vecteur sur lequel est tenté le nouveau décodage est fourni par un bruit de faible amplitude (faible température) suivant une méthode de recuit simulé.
Dans une autre variante de réalisation, le deuxième décodage peut être exécuté en partant d'un vecteur d'initialisation différent du vecteur d'initialisation fourni par le démodulateur, lorsque le vecteur correctif, représentant la différence entre le vecteur initial et le vecteur sur lequel est tenté le nouveau décodage est fourni par l'anti-gradient des dernières demi itérations.
L'anti-gradient est constitué d'une matrice creuse où seuls les N_correct coefficients non nuls correspondent aux valeurs décodées les moins fiables lors de la dernière demi-itération, de l'avant dernière (ou des deux avant dernières) demi-itération du turbo code. N_correct vaut typiquement %*d- free, où djree est la distance du code, et les coefficients de la matrice sont chacun de signe opposé à la valeur décodée lors de l'avant dernière itération
Le nombre des valeurs retenues non nulles dans cet anti-gradient est typiquement de l'ordre de trois quarts de la distance libre du code sans que cette valeur constitue une obligation. La valeur absolue des points non nuls de l'anti-gradient est typiquement égale à la moitié de la métrique moyenne. Leur signe est inverse de la décision correspondant au décodage.
Selon une autre variante de mise en œuvre, le deuxième décodage est une combinaison des deux méthodes précédentes, lorsque le vecteur correctif, représentant la différence entre le vecteur initial et le vecteur sur lequel est tenté le nouveau décodage est nul sur les points présentant une métrique décodée importante, et un bruit aléatoire (par exemple gaussien) sur les points correspondant à une moins bonne convergence, caractérisés par une métrique décodée faible.
Selon une variante de réalisation, on exécute le deuxième décodage en partant d'un vecteur d'initialisation différent du vecteur d'initialisation fourni par le démodulateur, lorsque le vecteur correctif, représentant la différence entre le vecteur initial et le vecteur sur lequel est tenté le nouveau décodage est fournit par un bruit de faible amplitude correspondant à une faible température dans une méthode de recuit simulé.
Pour le deuxième décodage on injecte un bruit comme décrit précédemment, sur un nombre réduit de points en entrée du décodeur. Ce nombre réduit de point est de l'ordre de la distance libre du code, et les points correspondent aux valeurs les moins fiables issues de l'avant dernière ou des avant-dernières itérations.
Dans une sous variante de ce décodage par modification du vecteur d'initialisation, le deuxième décodage est par exemple de type multi hypothèse et consiste à forcer un bit décodé à une valeur donnée, correspondant par exemple à l'inverse de la valeur trouvée par le décodage de la première super itération ; le vecteur correctif correspond alors à une décision dure, et force la métrique (LLR) du bit considéré à la valeur maximale correspondant à un bit extrêmement sûr. La deuxième super itération est répétée pour différentes position de bits. La position du bit inversé est prise a priori (comme pour un recuit simulé) ou a posteriori grâce au décodage de la première super itération (comme pour un gradient inverse). Les nouveaux vecteurs d'entrée successifs sont donc constitués du vecteur initialement reçu, mais dans lequel une valeur a été forcée au bit 0 (donc à la LLR minimum) ou au bit 1 , c'est à dire à la métrique maximale. La position du bit inversé (par rapport à la valeur décodée) lors des différentes super-itérations successives est aléatoire ou suit l'ordre de fiabilité croissante, c'est à dire en commençant par le moins fiable des bits décodés.
Le nombre de super itérations peut être supérieur à deux et le point de départ de la nouvelle super itération constitué du point initial en sortie du démodulateur, et d'un vecteur correctif de taille (nombre de coordonnées non nulles) ou de poids (norme euclidienne) variable en fonction de l'itération (typiquement croissant) ou fixe.
Le nombre de super itérations est par exemple supérieur à 2 et le point de départ de la nouvelle super itération est constitué, itérativement donc, du point en entrée de la super itération précédente, et d'un vecteur correctif de taille ou de poids fixe ou non.
Le nombre de super-itérations est limité par un maximum fixé à priori. Les super itérations s'arrêtent dès que le CRC trouvé correspond.
La suite de la description concerne deux exemples de mise en œuvre du procédé donnés à titre illustratif et nullement limitatif.
Les figures 2 et 3 expriment le gain d'un point de vue théorique ; gain en TEB (taux d'erreur binaire) pour un rapport signal à bruit donné.
Exemple 1
Le graphique représenté sur les figures 2 et 3 montre l'intérêt du procédé dans de cadre d'un turbo code voisin de hiperlan2 : un turbo code produit basé sur un BCH(26,32,t=1 ) étendu par contrôle de parité, ce qui lui garantit une distance libre de 4 pour chaque composant (ligne/colonne) pour une composante de spectre qui vaut sensiblement :
Figure imgf000013_0001
000. La distance libre est donc dfree=cli*d2=4*4=16 et le premier terme du spectre du code produit est STPC=SI*S2=1000*1000.
La première composante de la borne de l'union est donc sensiblement :
PER~=STPC-Q(dfree .2.Eb/Nθ)
Figure imgf000014_0001
Le code transporte ici 80 octets = 640 bits. Ces 80 octets sont protégés par 10 bits de CRC. Les 10 bits ajoutés dans l'information sont perforés aléatoirement dans le code produit afin de garder le taux de codage strictement égal à celui du code classique. Le code produit initial est raccourci d'une ligne.
Dans le code initial, 10 bits de bourrage (arbitrairement pris égaux à zéro) sont ajoutés aux 640 bits pour entrer dans la matrice initiale 650=26*25.
Le codeur ajoute des bits de redondance de manière classique, jusqu'à concurrence de 31 *32=992 bits. Le codeur extrait des 10 bits de bourrage, qui n'ont pas besoin d'être transmis, et fournit 982 bits au modulateur, soit un taux de codage de 640/982= 0,65173... voisin de 2/3.
Le nouveau codeur ajoute 10 bits de CRC (par exemple). Il ne doit donc pas ajouter de bits de bourrage. Le code produit sort 992 bits dont aucun bit de bourrage. Le nouveau codeur perfore donc 10 bits codés à des positions déterminées. Ces positions ne font pas l'objet du procédé.
Exemple 2
Un exemple pratique est donné sur un code petit, comportant 96 bits de données, 4 bits de CRC, et protégé par un BCH(H ) étendu par parité sur les lignes et les colonnes et raccourci d'une ligne et d'une colonne. Le taux du code sans CRC est de 96/221. Dans cet exemple avec conservation du taux de codage, le code avec CRC est donc perforé de 4 bits.
La matrice d'entrée est donc la suivante, en considérant que l'information initiale est uniformément nulle.
La redondance est en italique, le CRC est en gras, et les 4 positions perforées sont marquées ?? , et correspondent à une métrique nulle.
Entrée du décodeur :
Figure imgf000015_0001
Sortie du décodeur après la première super itération
Figure imgf000015_0002
La sortie du décodeur est plus vraisemblable que le message initial : on vérifie que les sommes des produits métriques fois décision (Log Likelihood Ratio) pour le décodage correspondant au message initial (tout zéro) est inférieure à celle du message décodé.
Figure imgf000016_0001
Le calcul du CRC donne une valeur non nulle pour le message décodé pour le TPC seul.
L'analyse après relève les valeurs des douze nombres suivants comme ayant la plus petite valeur absolue :
Figure imgf000016_0002
Elle crée donc le rétro stimuli.
Figure imgf000016_0003
La nouvelle entrée pour la deuxième super itération est donc
Figure imgf000017_0001
Le décodage converge alors vers la valeur du message initial. Le CRC est alors évidemment vérifié.
Dans l'exemple précédent, le faible nombre de bits de CRC, 4 bits, permet un gain asymptotique de la méthode réduit à un facteur 2Λ4=1 6 sur le taux d'erreur paquet.

Claims

REVENDICATIONS
1 - Procédé d'amélioration de décodage itératif de codes courts au sein d'un démodulateur caractérisé en ce qu'il comporte au moins les étapes suivantes :
• Décoder le vecteur de métriques des bits considérés en sortie du démodulateur,
• comparer la valeur du code de contrôle du CRC du mot décodé à une valeur prédéterminée,
• Si la valeur du CRC est considérée comme formant un message acceptable pour l'étape de décodage, transmettre le mot décodé au destinataire,
• Si la valeur du CRC est incompatible d'un message correctement décodé, alors modifier les paramètres de décodage itératif du message initial reçus du démodulateur et exécuter au moins une nouvelle étape de décodage itératif avec ces nouveaux paramètres.
2 - Procédé selon la revendication 1 , caractérisé en ce que l'on définit la valeur du CRC afin que le taux de codage global ne soit pas changé par l'insertion du CRC, grâce à une perforation effectuée dans le code décodé itérativement.
3 - Procédé selon la revendication 1 , caractérisé en ce que l'on utilise un CRC existant, en partant du même vecteur d'initialisation fourni par le démodulateur.
4 - Procédé selon la revendication 1 , caractérisé en ce que le deuxième décodage est effectué en partant d'un vecteur d'initialisation différent du vecteur d'initialisation fourni par le démodulateur, lorsque le vecteur correctif, représentant la différence entre le vecteur initial et le vecteur sur lequel est tenté le nouveau décodage est obtenu par un anti-gradient des dernières demi-itérations. L'anti-gradient est constitué d'une matrice creuse où seuls les N correct coefficients non nuls correspondent aux valeurs décodées les moins fiables lors de la dernière demi-itération, de l'avant dernière (ou des deux avant dernières) demi-itérations du turbo code. N correct vaut typiquement 3/4*d-free, où djree est la distance du code, et les coefficients de la matrice sont chacun de signe opposé à la valeur décodée lors de l'avant dernière itération.
5 - Procédé selon la revendication 1 , caractérisé en ce qu'on exécute le deuxième décodage en partant d'un vecteur d'initialisation différent du vecteur d'initialisation fourni par le démodulateur, lorsque le vecteur correctif, représentant la différence entre le vecteur initial et le vecteur sur lequel est tenté le nouveau décodage est fournit par un bruit de faible amplitude correspondant à une faible température dans une méthode de recuit simulé.
6 - Procédé selon la revendication 1 , caractérisé en ce que pour le deuxième décodage on injecte un bruit, conformément à la revendication 5, mais sur un nombre réduit de points en entrée du décodeur. Ce nombre réduit de point est de l'ordre de la distance libre du code, et les points correspondent aux valeurs les moins fiables issues de l'avant- dernière ou des avant-dernières itérations.
7 - Procédé selon la revendication 1 , caractérisé en ce que la deuxième super itération est répétée pour différentes positions de bits. La position du bit inversé est prise a priori (comme pour un recuit simulé) ou a posteriori grâce au décodage de la première super itération (comme pour un gradient inverse).
8 - Procédé selon la revendication 1 , caractérisé en ce que le nombre de super itérations est supérieur à deux et le point de départ de la nouvelle super itération est constitué du point initial en sortie du démodulateur, et d'un vecteur correctif de taille (nombre de coordonnées non nulles) ou de poids (norme euclidienne) variable en fonction de l'itération (typiquement croissant) ou fixe. 9 - Procédé selon la revendication 1 , caractérisé en ce que le nombre de super itérations est supérieur à 2 et le point de départ de la nouvelle super itération est constitué, itérativement donc, du point en entrée de la super itération précédente, et d'un vecteur correctif de taille ou de poids fixe ou non.
PCT/EP2006/066227 2005-09-09 2006-09-11 Procede d'amelioration de decodage iteratif de codes WO2007028834A2 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP06793408A EP1932241A2 (fr) 2005-09-09 2006-09-11 Procede d'amelioration de decodage iteratif de codes
US12/066,119 US8332717B2 (en) 2005-09-09 2006-09-11 Method of improving the iterative decoding of codes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0509220A FR2890806B1 (fr) 2005-09-09 2005-09-09 Procede d'amelioration de decodage iteratif de codes
FR0509220 2005-09-09

Publications (2)

Publication Number Publication Date
WO2007028834A2 true WO2007028834A2 (fr) 2007-03-15
WO2007028834A3 WO2007028834A3 (fr) 2007-05-18

Family

ID=36128608

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2006/066227 WO2007028834A2 (fr) 2005-09-09 2006-09-11 Procede d'amelioration de decodage iteratif de codes

Country Status (4)

Country Link
US (1) US8332717B2 (fr)
EP (1) EP1932241A2 (fr)
FR (1) FR2890806B1 (fr)
WO (1) WO2007028834A2 (fr)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904793B2 (en) * 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US7966550B2 (en) * 2007-03-31 2011-06-21 Sandisk Technologies Inc. Soft bit data transmission for error correction control in non-volatile memory
US7971127B2 (en) * 2007-03-31 2011-06-28 Sandisk Technologies Inc. Guided simulated annealing in non-volatile memory error correction control
US7966546B2 (en) * 2007-03-31 2011-06-21 Sandisk Technologies Inc. Non-volatile memory with soft bit data transmission for error correction control
US7975209B2 (en) * 2007-03-31 2011-07-05 Sandisk Technologies Inc. Non-volatile memory with guided simulated annealing error correction control
US20090077457A1 (en) * 2007-09-19 2009-03-19 Rajaram Ramesh Iterative decoding of blocks with cyclic redundancy checks
FR2938141B1 (fr) * 2008-11-04 2010-11-19 Thales Sa Procede d'amelioration d'acquisition d'un ensemble de donnees emises de facon repetitive en environnement difficile
US10304550B1 (en) 2017-11-29 2019-05-28 Sandisk Technologies Llc Sense amplifier with negative threshold sensing for non-volatile memory
WO2020086696A1 (fr) * 2018-10-24 2020-04-30 Skaotlom Llc Conception de protocole de communication lpwan à l'aide de turbo-codes
US10643695B1 (en) 2019-01-10 2020-05-05 Sandisk Technologies Llc Concurrent multi-state program verify for non-volatile memory
US11024392B1 (en) 2019-12-23 2021-06-01 Sandisk Technologies Llc Sense amplifier for bidirectional sensing of memory cells of a non-volatile memory
US11082069B1 (en) * 2020-04-08 2021-08-03 Kioxia Corporation Decoding scheme for error correction code structure in data storage devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10303759A (ja) * 1997-04-23 1998-11-13 Mitsubishi Electric Corp 誤り訂正復号装置および誤り訂正復号方式
US6094465A (en) * 1997-03-21 2000-07-25 Qualcomm Incorporated Method and apparatus for performing decoding of CRC outer concatenated codes
EP1179934A1 (fr) * 2000-08-11 2002-02-13 Mitsubishi Electric Information Technology Centre Europe B.V. Turbo-égalisation adaptative
US20050091568A1 (en) * 1999-08-10 2005-04-28 Sharon Levy Iterative decoding process
GB2407945A (en) * 2003-10-25 2005-05-11 Andrew John Rogers Cyclic redundancy checking using punctured party bits

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002220233A1 (en) * 2000-12-01 2002-06-11 Lizardtech, Inc. Method for lossless encoding of image data by approximating linear transforms and preserving selected properties
ATE287600T1 (de) * 2001-04-09 2005-02-15 Cit Alcatel Verfahren und vorrichtung zur adaptiven turbo dekodierung mehrerer funkkanäle unter bestimmung eines crc am ende jeder iteration
US20030101402A1 (en) * 2001-10-25 2003-05-29 Cute Ltd. Hard-output iterative decoder
US7139959B2 (en) * 2003-03-24 2006-11-21 Texas Instruments Incorporated Layered low density parity check decoding for digital communications
TWI350066B (en) * 2003-04-17 2011-10-01 Icera Inc Apparatus and method for turbo decoder termination
US7418308B2 (en) * 2003-10-31 2008-08-26 Corning Incorporated Method of optimizing glass strain
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6094465A (en) * 1997-03-21 2000-07-25 Qualcomm Incorporated Method and apparatus for performing decoding of CRC outer concatenated codes
JPH10303759A (ja) * 1997-04-23 1998-11-13 Mitsubishi Electric Corp 誤り訂正復号装置および誤り訂正復号方式
US20050091568A1 (en) * 1999-08-10 2005-04-28 Sharon Levy Iterative decoding process
EP1179934A1 (fr) * 2000-08-11 2002-02-13 Mitsubishi Electric Information Technology Centre Europe B.V. Turbo-égalisation adaptative
GB2407945A (en) * 2003-10-25 2005-05-11 Andrew John Rogers Cyclic redundancy checking using punctured party bits

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ALI S ET AL: "An adaptive M-algorithm convolutional decoder" VEHICULAR TECHNOLOGY CONFERENCE, 2005. VTC-2005-FALL. 2005 IEEE 62ND DALLAS, TX, USA 25-28 SEPT., 2005, PISCATAWAY, NJ, USA,IEEE, 25 septembre 2005 (2005-09-25), pages 2177-2181, XP010878837 ISBN: 0-7803-9152-7 *
GORJI ZADEH S A ET AL: "An iterative m-algorithm based decoder for convolutional codes" ELECTRICAL AND COMPUTER ENGINEERING, 2005. CANADIAN CONFERENCE ON SASKATOON, SK, CANADA MAY 1-4, 2005, PISCATAWAY, NJ, USA,IEEE, 1 mai 2005 (2005-05-01), pages 1626-1629, XP010869088 ISBN: 0-7803-8885-2 *
PATENT ABSTRACTS OF JAPAN vol. 1999, no. 02, 26 février 1999 (1999-02-26) & JP 10 303759 A (MITSUBISHI ELECTRIC CORP), 13 novembre 1998 (1998-11-13) *

Also Published As

Publication number Publication date
WO2007028834A3 (fr) 2007-05-18
FR2890806B1 (fr) 2008-02-22
US20080301523A1 (en) 2008-12-04
EP1932241A2 (fr) 2008-06-18
US8332717B2 (en) 2012-12-11
FR2890806A1 (fr) 2007-03-16

Similar Documents

Publication Publication Date Title
EP1932241A2 (fr) Procede d'amelioration de decodage iteratif de codes
EP0654910B1 (fr) Procédé de décodage itératif de codes en blocs concaténés
EP0802656B1 (fr) Procédé d'estimation de canal et récepteur correspondant
EP0891656B1 (fr) Procede et dispositif de codage convolutif de blocs de donnees, et procede et dispositif de decodage correspondants
EP2806565B1 (fr) Procede de decodage d'un code correcteur, par exemple un turbo-code, par analyse du spectre etendu des mots du code
EP3443678B1 (fr) Methode de décodage d'un code polaire avec inversion de bits peu fiables
EP0848501B1 (fr) Système et procédé de transmission numérique comportant un code produit combiné à une modulation multidimensionnelle
EP0827285A1 (fr) Procédé de transmission de bits d'information avec codage correcteur d'erreurs, codeur et décodeur pour la mise en oeuvre de ce procédé
EP0808538A1 (fr) Dispositif de reception de signaux numeriques a structure iterative, module et procede correspondants
FR2905209A1 (fr) Procede et dispositif de decodage de blocs encodes avec un code ldpc
EP0995272A1 (fr) Decodage iteratif de codes produits
FR2804260A1 (fr) Procede de transmission numerique de type a codage correcteur d'erreurs
FR2849514A1 (fr) Code de geometrie algebrique adapte aux erreurs en rafale
EP0848524A1 (fr) MAQ à codage perforé en trellis, avec décodage itératif
EP1959572B1 (fr) Procédé de décodage à passage de messages et à convergence forcée
WO2007042685A1 (fr) Procede de reception de trames d'un flux numerique
EP0594505A1 (fr) Procédé de codage-décodage hiérarchique d'un signal numérique, et système correspondant utilisé en télévision numérique
EP1128589A1 (fr) Critère d'interruption pour un décodeur turbo
EP0774840B1 (fr) Procédé de transmission d'une séquence de bits d'information avec protection sélective contre les erreurs de transmission, procédés de codage et de correction pouvant être mis en oeuvre dans un tel procédé de transmission
WO2010112606A2 (fr) Procédé et dispositif de modulation mettant en oeuvre une modulation différentielle, procédé et dispositif de démodulation, signal et produits programme d'ordinateur correspondants
FR3009462A1 (fr) Procede ameliore de decodage d'un code correcteur avec passage de message, en particulier pour le decodage de codes ldpc ou codes turbo
WO2006087497A2 (fr) Procede et dispositif de synchronisation trame
FR2972878A1 (fr) Procede d'encodage correcteur d'erreur, procede de decodage et dispositifs associes.
WO2016203039A1 (fr) Conception de l'entrelaceur pour des codes turbo en fonction du motif de poinçonnage
WO2006108768A1 (fr) Procédé et dispositif de décodage d'un code à longueur variable prenant en compte une information de probabilité a priori

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2006793408

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2006793408

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12066119

Country of ref document: US