FR2829636A1 - Method for qualifying the error-correcting codes, optimization method, coder, decoder, and the corresponding application - Google Patents

Method for qualifying the error-correcting codes, optimization method, coder, decoder, and the corresponding application Download PDF

Info

Publication number
FR2829636A1
FR2829636A1 FR0111764A FR0111764A FR2829636A1 FR 2829636 A1 FR2829636 A1 FR 2829636A1 FR 0111764 A FR0111764 A FR 0111764A FR 0111764 A FR0111764 A FR 0111764A FR 2829636 A1 FR2829636 A1 FR 2829636A1
Authority
FR
France
Prior art keywords
code
error
qualifying
pulse
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0111764A
Other languages
French (fr)
Other versions
FR2829636B1 (en
Inventor
Claude Berrou
Michel Jezequel
Catherine Douillard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Priority to FR0111764A priority Critical patent/FR2829636B1/en
Priority to PCT/FR2002/003057 priority patent/WO2003023975A1/en
Publication of FR2829636A1 publication Critical patent/FR2829636A1/en
Application granted granted Critical
Publication of FR2829636B1 publication Critical patent/FR2829636B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/01Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes

Abstract

The qualification method delivering the code words each formed of at least one symbol associates with the code an information of qualification representative of the capacity of a corresponding decoder to correct the errors, which is obtained by an estimation process comprised in the determination of a pulse distance (d) in block (24), and includes two substeps: (i) the insertion of a predetermined error pulse which introduces a perturbation on a set of at least one symbol of a reference code word preliminary coded without error, and (ii) the decoding of the code word modified by the error pulse by use of a weighted-inputs decoder and analysis of the decoding result which delivers the information of qualification. The set contains one symbol, or at least two symbols belonging to a code word concurrent with the reference code word. The qualification method associates the set of at least one symbol affected by the error pulse with an intermediary datum of qualification, where the function of maximum amplitude of the error pulse does not perturb the decoding of the code word. The estimation process is repeated by incrementing the index in block (26) at least two times thus introducing a perturbation on the same set with variable amplitudes of the error pulse so to determine the pulse distance. The estimation process is repeated in a test block (28) for at least two distinct sets of symbols of the reference code word. The information of qualification is the minimum pulse distance (d) found among the determined pulse distances. The multiplicity (m) representative of the number of sets more sensitive to the error pulse is determined in block (27) as the second information of qualification, in addition to the minimum pulse distance. The sets are selected to take into account eventual periodicity of the code. The reference code word is a word whose all symbols take binary 0 value. The reference code word is subjected to a modulation in block (22) before the error pulse is inserted. The qualification method comprises a step of estimating asymptotic gain representative of the efficiency of the error-correcting code with respect to the absence of coding. The reference code word is generated and modulated in block (22), and at least one set of at least one symbol of the reference code word is selected by blocks (23,26) by setting and incrementing the index (i). The amplitude of the error pulse is varied according to a determined rule. The code belongs to a group comprising convolutional codes, convolutional turbo-codes, algebraic turbo-codes, parallel concatenated codes, serial concatenated codes, convolutional turbo-codes, algebraic method for optimizing a channel coding implements the method for qualifying an error-correcting code on at least two candidate codes and a step for selecting of the candidate codes by analyzing the information of qualification. The coder allows the correction of errors, and the decoder allows the decoding of data coded by an error-correcting code and a corresponding error correction. The application of the qualification method belongs to a group comprising the transmission of data in a noisy channel, the optimization of the coding channel with unequal protection, the estimation of the free distance of a code, and the estimation of code performance.

Description

<Desc/Clms Page number 1> <Desc / Clms Page number 1>

Procédé de qualification de codes correcteurs d'erreurs, procédé d'optimisation, codeur, décodeur et application correspondants. Method for qualifying error correcting codes, optimization method, encoder, decoder and corresponding application.

Le domaine de l'invention est celui du codage de données numériques appartenant à une, ou plusieurs, séquences de données sources destinées à être transmises, ou diffusées, notamment en présence de bruits d'origines diverses, et du décodage des données codées ainsi transmises.  The field of the invention is that of the coding of digital data belonging to one or more source data sequences intended to be transmitted or broadcast, especially in the presence of noises of various origins, and the decoding of the coded data thus transmitted. .

Plus précisément, l'invention concerne la qualification d'un code correcteur d'erreurs, afin notamment de déterminer le ou les codes les plus efficaces, en termes de correction d'erreurs, parmi un ensemble de codes possibles.  More specifically, the invention relates to the qualification of an error correction code, in particular to determine the most effective code (s), in terms of error correction, among a set of possible codes.

Cette qualification concerne notamment, tous les codes qui peuvent être décodés par un décodeur à entrées pondérées (par exemple, les codes convolutifs ou encore les codes concaténés décodés itérativement notamment les codes connus sous le nom de turbo-code (marque déposée)).  This qualification concerns, in particular, all the codes that can be decoded by a weighted input decoder (for example, the convolutional codes or the concatenated codes decoded iteratively including the codes known by the name of turbo-code (registered trademark)).

La transmission de l'information (données, image, parole,...) repose de plus en plus sur les techniques numériques de transmission. De nombreux efforts ont été faits en matière de codage de source pour réduire le débit numérique, tout en conservant une bonne qualité. Ces techniques nécessitent bien sûr une meilleure protection des éléments binaires vis-à-vis des perturbations liées à la transmission. L'utilisation de codes correcteurs d'erreurs puissants dans ces systèmes de transmission se révélait indispensable. C'est notamment dans ce but qu'a été proposée la technique des turbo-codes .  The transmission of information (data, image, speech, ...) relies more and more on digital transmission techniques. Many efforts have been made in source coding to reduce the digital bit rate, while maintaining good quality. These techniques obviously require a better protection of the bits with respect to the disturbances related to the transmission. The use of strong error-correcting codes in these transmission systems was essential. It is for this purpose that the turbo-code technique has been proposed.

Le principe général des turbo-codes est notamment présenté dans le brevet français n FR-91 05280, ayant pour titre Procédé de codage correcteur d'erreurs à au moins deux codages convolutifs systématiques parallèles, procédé de décodage itératif, module de décodage et décodeur correspondants , et dans l'article de C. Berrou, A. Glavieux et P. Thitimajshima intitulé Near Shannon limit error-correcting coding and decoding : Turbo-codes publié dans IEEE International conference on Communication, ICC'93, vol2/3, pages 1064 à 1071  The general principle of turbo-codes is in particular presented in French patent FR-91 05280, entitled Error correction coding method to at least two systematic parallel convolutional encodings, iterative decoding method, corresponding decoding module and decoder and in the article by C. Berrou, A. Glavieux and P. Thitimajshima entitled "Near Shannon Limitless Error-Correcting Coding and Decoding: Turbo-codes" published in IEEE International Conference on Communication, ICC'93, vol2 / 3, pages 1064 at 1071

<Desc/Clms Page number 2><Desc / Clms Page number 2>

en mai 1993. Un état de l'art est rappelé dans l'article de C. Berrou et A. Glavieux Near Optimum Error Correcting Coding and Decoding : Turbo-Codes (IEEE Transactions on Communications, Volume 44, n 10, pages 1261-1271, Octobre 1996).  in May 1993. A state of the art is recalled in the article by C. Berrou and A. Glavieux Near Optimum Error Correcting Coding and Decoding: Turbo-Codes (IEEE Transactions on Communications, Volume 44, No. 10, pages 1261- 1271, October 1996).

Selon cette technique, on propose la mise en ouvre d'un codage à concaténation parallèle , s'appuyant sur l'utilisation d'au moins deux codeurs élémentaires. Cela permet de disposer, lors du décodage, de deux symboles de redondance issus de deux codeurs distincts. Entre les deux codeurs élémentaires, on met en ouvre des moyens de permutation, de façon que chacun de ces codeurs élémentaires soit alimenté par les mêmes données numériques source, mais prises dans des ordres différents.  According to this technique, it is proposed to implement a parallel concatenation coding, based on the use of at least two elementary coders. This makes it possible, during decoding, to have two redundancy symbols from two different coders. Between the two elementary coders, means of permutation are implemented, so that each of these elementary coders is fed by the same source digital data, but taken in different orders.

Un complément à ce type de technique, permettant d'obtenir des codes appelés turbo-codes algébriques, est destiné au codage algébrique (codes concaténés). Cette technique améliorée est décrite dans l'article de R Pyndiah, A.  A complement to this type of technique, which makes it possible to obtain codes called algebraic turbo-codes, is intended for algebraic coding (concatenated codes). This improved technique is described in the article by R Pyndiah, A.

Glavieux, A. Picart et S. Jacq Near optimum decoding of product code (publié dans IEEE Transactions on Communications, vol 46, n 8 pages 1003 à 1010 en août 1998), dans le brevet FR-93 13858, ayant pour titre Procédé pour transmettre des bits d'information en appliquant des codes en blocs concaténés , ainsi que dans l'article de O. Aitsab et R. Pyndiah Performance of Reed Solomon block turbo-code (IEEE Globecom'96 Conference, Vol. 1/3, pages 121-125, Londres, Novembre 1996). Glavieux, A. Picart and S. Jacq Near optimum decoding product code (published in IEEE Transactions on Communications, vol 46, n 8 pages 1003 to 1010 in August 1998), in patent FR-93 13858, entitled Process for transmit bits of information by applying concatenated block codes, as well as in the article by O. Aitsab and R. Pyndiah Performance of Reed Solomon block turbo-code (IEEE Globecom'96 Conference, Vol. 121-125, London, November 1996).

Pour décoder les turbo-codes en blocs qu'ils soient du type ( involutif ou algébrique, on a envisagé d'utiliser des moyens de décodage à entrées et sorties douces, c'est-à-dire qu'un décodeur élémentaire de codes accepte en entrée et fournit en sortie des éléments non binaires, pondérés en fonction de leur vraisemblance.  To decode the turbo-codes in blocks whether of the (involutional or algebraic) type, it has been envisaged to use means of decoding with soft inputs and outputs, that is to say that an elementary decoder of codes accepts at the input and outputs non-binary elements, weighted according to their likelihood.

Afin d'optimiser le choix d'un code en fonction de critères tels que, par exemple, le niveau de performance recherché à un niveau de bruit donné, il est nécessaire de qualifier le code.  In order to optimize the choice of a code according to criteria such as, for example, the level of performance sought at a given noise level, it is necessary to qualify the code.

<Desc/Clms Page number 3> <Desc / Clms Page number 3>

On connaît déjà plusieurs techniques de qualification de codes correcteurs d'erreurs, notamment par simulations des performances à faibles taux d'erreurs.  Several techniques for qualifying error-correcting codes are already known, in particular by simulations of performance at low error rates.

Cependant, un inconvénient de ces techniques est qu'elles nécessitent une puissance de calcul importante.  However, a disadvantage of these techniques is that they require significant computing power.

Un autre inconvénient de ces techniques est qu'elles entraînent des temps de calcul prohibitifs.  Another disadvantage of these techniques is that they lead to prohibitive calculation times.

Encore un autre inconvénient de ces techniques est qu'elles ne permettent pas d'estimer des taux d'erreurs très faibles (par exemple inférieur à 10-12). n est théoriquement possible d'estimer ces performances à faible taux d'erreurs lorsque la distance minimale du code est connue. Néanmoins, l'évaluation de la distance minimale d'un code n'est en général pas simple, sauf si le nombre de mots du code est suffisamment petit pour pouvoir en dresser une liste exhaustive. Dans ce cas, il suffit de rechercher le mot non nul de poids de Hamming le plus faible pour connaître la distance minimale du code.  Another disadvantage of these techniques is that they do not make it possible to estimate very low error rates (for example less than 10-12). It is theoretically possible to estimate these low error rate performance when the minimum code distance is known. Nevertheless, the evaluation of the minimum distance of a code is generally not simple, unless the number of words of the code is small enough to be able to draw up an exhaustive list. In this case, it is sufficient to search for the non-zero word of the lowest Hamming weight to know the minimum distance of the code.

Ainsi, l'évaluation de la distance minimale des codes reste généralement complexe et aucune méthode dans l'état de la technique ne permet de déterminer les distances minimales de certains codes correcteurs et notamment des turbo codes convolutifs, rapidement et/ou avec une puissance de calcul raisonnable.  Thus, the evaluation of the minimum distance of the codes generally remains complex and no method in the state of the art makes it possible to determine the minimum distances of certain correcting codes and in particular convolutional turbo codes, quickly and / or with a power of reasonable calculation.

On connaît notamment dans l'état de la technique, un document An algorithm to compute the free distance of turbo codes (ou en français un algorithme pour calculer la distance libre des turbo codes ) écrit par R. Garello, P. Pierleoni, S. Benedetto et G. Montorsi, et publié dans le compte-rendu Proceedings of the International Symposium on Information Theory 2000 à la page 287. Ce document décrit notamment une méthode permettant de déterminer la distance minimale des turbocodes convolutifs sans être obligé de dresser la liste exhaustive des mots de code. La méthode décrite dans ce document est relativement efficace mais présente l'inconvénient d'être coûteuse en temps de

Figure img00030001

calcul. In the state of the art, a document known as An algorithm to compute the free distance of turbo codes (or in French an algorithm for calculating the free distance of turbo codes) written by R. Garello, P. Pierleoni, S. Benedetto and G. Montorsi, and published in the proceedings Proceedings of the International Symposium on Information Theory 2000 on page 287. This document describes in particular a method for determining the minimum distance of convolutional turbocodes without having to compile an exhaustive list. code words. The method described in this document is relatively effective but has the disadvantage of being expensive in terms of
Figure img00030001

calculation.

Les mêmes problèmes peuvent également se poser avec d'autres types de codes que les turbo-codes .  The same problems can also arise with other types of codes than turbo codes.

<Desc/Clms Page number 4> <Desc / Clms Page number 4>

L'invention selon ses différents aspects a notamment pour objectif de pallier ces inconvénients de l'art antérieur.  The invention in its various aspects is intended to overcome these disadvantages of the prior art.

Plus précisément, un objectif de l'invention est d'optimiser le codage à l'aide de codes correcteurs d'erreurs, notamment à de faibles taux d'erreurs ; et donc de fournir de tels codes offrant une efficacité optimisée, selon des critères déterminés.  More specifically, an object of the invention is to optimize the coding using error correcting codes, especially at low error rates; and therefore to provide such codes offering optimized efficiency, according to certain criteria.

Un autre objectif de l'invention est de fournir une telle technique permettant de qualifier simplement et efficacement des codes correcteurs d'erreurs, avec une puissance de calcul raisonnable.  Another object of the invention is to provide such a technique for simply and efficiently qualify error correcting codes, with reasonable computing power.

Encore un autre objectif de l'invention est de fournir une telle technique permettant de qualifier des codes correcteurs d'erreurs en un temps relativement court.  Yet another object of the invention is to provide such a technique for qualifying error correcting codes in a relatively short time.

L'invention a également pour objectif de fournir une telle technique, permettant de comparer efficacement et rapidement une grande quantité de codes.  The invention also aims to provide such a technique, to compare efficiently and quickly a large amount of codes.

Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé de qualification d'un code correcteur d'erreurs, délivrant des mots de code, formés chacun d'au moins un symbole, remarquable en ce qu'il associe au code une première information de qualification, représentative de la capacité d'un décodeur correspondant à corriger des erreurs, obtenue à l'aide d'un processus d'estimation mettant en ouvre les étapes suivantes : - insertion d'une impulsion d'erreur prédéterminée, introduisant une perturbation sur un ensemble d'au moins un symbole d'un mot de code de référence préalablement codé sans erreur ; - décodage, à l'aide d'un décodeur à entrées pondérées, du mot de code modifié par l'impulsion d'erreur, et analyse du résultat du décodage, délivrant la première information de qualification.

Figure img00040001
These objectives, as well as others which will appear later, are achieved by means of a process for qualifying an error correction code, delivering code words, each formed of at least one symbol, remarkable in that it associates with the code a first qualification information, representative of the capacity of a decoder corresponding to correcting errors, obtained by means of an estimation process implementing the following steps: - insertion a predetermined error pulse, introducing a disturbance on a set of at least one symbol of a reference codeword previously coded without error; decoding, using a weighted input decoder, the code word modified by the error pulse, and analyzing the decoding result, delivering the first qualification information.
Figure img00040001

Selon une caractéristique particulière, le procédé de qualification d'un dz code correcteur d'erreurs est remarquable en ce que l'ensemble contient un seul symbole. According to a particular characteristic, the method of qualifying an error correction code is remarkable in that the set contains a single symbol.

<Desc/Clms Page number 5> <Desc / Clms Page number 5>

Ainsi, l'invention permettant notamment la détermination de la première information de qualification du code est relativement simple à mettre en cavre.  Thus, the invention allowing in particular the determination of the first code qualification information is relatively simple to put in cavern.

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce que l'ensemble contient au moins deux symboles.  According to one particular characteristic, the method for qualifying an error correction code is remarkable in that the set contains at least two symbols.

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce que tous les symboles de l'ensemble appartiennent à un mot de code concurrent du mot de code de référence.  According to one particular characteristic, the method for qualifying an error correction code is remarkable in that all the symbols of the set belong to a codeword that is concurrent with the reference code word.

On note que, par définition, un symbole appartient à un mot de code concurrent du mot de code de référence si sa position correspond à celle d'un symbole qui a une valeur différente dans le mot de code concurrent et le mot de code de référence.  Note that, by definition, a symbol belongs to a code word competing with the reference code word if its position corresponds to that of a symbol that has a different value in the competing code word and the reference code word .

Ainsi, lorsque l'ensemble contient au moins deux symboles, on choisit préférentiellement ces symboles parmi les symboles appartenant à un mot de code concurrent du mot de code de référence et qui est en outre à une faible distance du mot de code de référence. Ceci permet au procédé de converger plus rapidement lorsque le décodage d'un mot de code est itératif (cas notamment du décodage des turbo-codes). Dans ce cas, on note également que l'impulsion d'erreur peut être répartie uniformément ou non sur tout ou une partie de l'ensemble de symboles.  Thus, when the set contains at least two symbols, these symbols are preferably chosen from among the symbols belonging to a code word that is concurrent with the reference codeword and which is also at a small distance from the reference code word. This allows the process to converge more quickly when the decoding of a codeword is iterative (in particular the decoding of turbo codes). In this case, it is also noted that the error pulse can be evenly distributed over all or part of the set of symbols.

On peut notamment affecter une part importante de l'impulsion d'erreur à un symbole particulier appartenant à l'ensemble, dit symbole de base et le reliquat de l'impulsion d'erreur àtout ou une partie des autres symboles de l'ensemble. In particular, it is possible to assign a large part of the error pulse to a particular symbol belonging to the set, said base symbol and the remainder of the error pulse to all or some of the other symbols of the set.

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce qu'on associe à l'ensemble d'au moins un symbole affecté par l'impulsion d'erreur une donnée intermédiaire de qualification, fonction d'une amplitude maximale de l'impulsion d'erreur affectant l'ensemble et ne perturbant pas le décodage du mot de code, dite distance impulsionnelle.  According to one particular characteristic, the method for qualifying an error correction code is remarkable in that the set of at least one symbol affected by the error pulse is associated with an intermediate data item of qualification, a function a maximum amplitude of the error pulse affecting the assembly and not disturbing the decoding of the code word, said impulse distance.

<Desc/Clms Page number 6> <Desc / Clms Page number 6>

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce que le processus d'estimation est répété au moins deux fois introduisant une perturbation sur le même ensemble d'au moins un symbole avec des amplitudes de l'impulsion d'erreur variables, de façon à déterminer la distance impulsionnelle.  According to a particular characteristic, the method for qualifying an error correction code is remarkable in that the estimation process is repeated at least twice introducing a perturbation on the same set of at least one symbol with amplitudes of the variable error pulse, so as to determine the impulse distance.

Ainsi, pour chaque symbole du mot de code de référence ou pour des symboles choisis, on peut déterminer la distance impulsionnelle associée à ce symbole et ainsi, obtenir de manière fiable la sensibilité de ce symbole à une erreur pour une utilisation d'un décodeur donné.  Thus, for each symbol of the reference code word or for selected symbols, it is possible to determine the pulse distance associated with this symbol and thus to reliably obtain the sensitivity of this symbol to an error for use of a given decoder. .

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce que la distance impulsionnelle est égale au plus grand entier J tel que le mot de code affecté de l'impulsion d'erreur d'amplitude égale à l'entier J soit décodé correctement.  According to a particular characteristic, the method for qualifying an error correction code is remarkable in that the pulse distance is equal to the largest integer J such that the assigned code word of the equal amplitude error pulse to the integer J be decoded correctly.

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce que le processus d'estimation est répété pour au moins deux ensembles distincts de symboles du mot de code de référence.  According to a particular characteristic, the method for qualifying an error correction code is remarkable in that the estimation process is repeated for at least two distinct sets of symbols of the reference code word.

Ainsi, l'invention permet de déterminer simplement la distance impulsionnelle associée plusieurs symboles du mot de code de référence.  Thus, the invention makes it possible to simply determine the pulse distance associated with several symbols of the reference code word.

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce que la première information de qualification est la distance impulsionnelle minimale, parmi la ou les distances impulsionnelles déterminées.  According to a particular characteristic, the method for qualifying an error correction code is remarkable in that the first qualification information is the minimum impulse distance, among the determined impulse distance or distances.

Ainsi, on détermine simplement la distance impulsionnelle minimale qui permet de qualifier de manière très fiable le code testé.  Thus, one simply determines the minimum impulse distance which makes it possible to qualify the tested code very reliably.

On note que l'on prend en compte avantageusement les propriétés du code pour les symboles dont on détermine la distance impulsionnelle associée afin de déterminer la distance impulsionnelle minimale du code. En effet, on peut notamment tenir compte des périodicités du code. On note, en particulier, que pour un code invariant par translation, la détermination d'une seule distance  It should be noted that the properties of the code for the symbols of which the associated pulse distance is determined in order to determine the minimum impulse distance of the code are advantageously taken into account. Indeed, it is possible to take into account the periodicity of the code. We note, in particular, that for a translation invariant code, the determination of a single distance

<Desc/Clms Page number 7><Desc / Clms Page number 7>

impulsionnelle associée à un symbole quelconque du mot de code de référence suffit à déterminer la distance impulsionnelle minimale du code.  The pulse associated with any symbol of the reference code word is sufficient to determine the minimum pulse distance of the code.

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce qu'il affecte au code une seconde information de qualification, représentative du nombre des ensembles les plus sensibles à une impulsion d'erreur, dans le mot de code de référence.  According to one particular characteristic, the method for qualifying an error correction code is remarkable in that it assigns to the code a second qualification information, representative of the number of the sets most sensitive to an error pulse, in the reference code word.

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce que la seconde information de qualification, dite multiplicité, est le rapport : - du nombre des ensembles pour lesquels la distance impulsionnelle est égale à la distance impulsionnelle minimale ; - sur le nombre total de symboles dans un mot de code.  According to one particular characteristic, the method for qualifying an error correction code is remarkable in that the second qualification information, called multiplicity, is the ratio of: - the number of sets for which the pulse distance is equal to the distance minimal impulse; - on the total number of symbols in a code word.

Ainsi, l'invention permet d'affiner la qualification du code en tenant compte de la seconde information de qualification.  Thus, the invention makes it possible to refine the qualification of the code by taking into account the second qualification information.

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce que le ou les ensembles sur lequel ou lesquels est appliqué le processus d'estimation est ou sont sélectionnés en tenant compte des éventuelles propriétés de périodicité du code.  According to one particular characteristic, the method for qualifying an error correction code is remarkable in that the set or sets on which the estimation process is applied is or are selected taking into account any periodic properties of the code.

On note ainsi que le nombre des ensembles pour lesquels la distance impulsionnelle est égale à la distance impulsionnelle minimale est obtenu par : - une estimation directe lorsque l'on a effectué la détermination de la distance impulsionnelle associée à chacun des symboles susceptibles de fournir une distance impulsionnelle égale à la distance impulsionnelle minimale ; ou - par extrapolation de ce nombre d'ensembles au vu de la détermination d'un nombre restreint de distances minimales associées à un symboles, cette extrapolation tenant compte notamment des propriétés du code (ce qui simplifie avantageusement le procédé).  It is thus noted that the number of sets for which the pulse distance is equal to the minimum impulse distance is obtained by: a direct estimation when the determination of the pulse distance associated with each of the symbols capable of providing a distance has been made; impulse equal to the minimum impulse distance; or - by extrapolation of this number of sets in view of the determination of a limited number of minimum distances associated with a symbol, this extrapolation taking into account in particular the properties of the code (which advantageously simplifies the method).

<Desc/Clms Page number 8> <Desc / Clms Page number 8>

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce que le mot de code de référence est un mot dont tous les symboles prennent la valeur binaire 0.  According to one particular characteristic, the method for qualifying an error correction code is remarkable in that the reference code word is a word whose symbols all take the binary value 0.

Le choix du mot tout O comme mot de code de référence permet notamment d'avoir un procédé particulièrement simple à mettre en ouvre en tenant compte de la linéarité du code.  The choice of the word all O as a reference code word allows in particular to have a particularly simple process to implement taking into account the linearity of the code.

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce que le mot de code de référence subit une modulation, avant l'insertion d'une impulsion d'erreur.  According to a particular characteristic, the method for qualifying an error correction code is remarkable in that the reference code word undergoes a modulation, before the insertion of an error pulse.

Ainsi, l'invention permet d'obtenir une qualification du code en tenant compte non seulement du code lui-même et, le cas échéant, du décodeur mais aussi du type de modulation utilisé.  Thus, the invention makes it possible to obtain a qualification of the code taking into account not only the code itself and, if necessary, the decoder but also the type of modulation used.

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce qu'il comprend une étape d'estimation d'un gain, dit gain asymptotique, représentatif de l'efficacité du code correcteur d'erreurs par rapport à l'absence de codage, en fonction d'au moins une de la première information de qualification.  According to one particular characteristic, the method for qualifying an error correction code is remarkable in that it comprises a step of estimating a gain, said asymptotic gain, representative of the effectiveness of the error correction code. relative to the absence of coding, according to at least one of the first qualification information.

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce que le gain asymptotique est approché par : Ga = 101og (R. ) où : R est le rendement du code correcteur d'erreurs ; dmin est la distance impulsionnelle minimale.  According to a particular characteristic, the method for qualifying an error correction code is remarkable in that the asymptotic gain is approximated by: Ga = 101og (R.) where: R is the efficiency of the error correction code; dmin is the minimum impulse distance.

Ainsi, on l'invention permet d'assimiler la notion de distance impulsionnelle minimale du code à la notion de distance libre du code, notamment pour la notion de gain asymptotique.  Thus, the invention makes it possible to assimilate the notion of minimum impulse distance of the code to the notion of code free distance, in particular for the notion of asymptotic gain.

On note que l'on peut aussi définir le gain asymptotique non seulement en fonction de la distance impulsionnelle minimale mais aussi de la multiplicité associée à cette distance.  We note that we can also define the asymptotic gain not only as a function of the minimum impulse distance but also of the multiplicity associated with this distance.

<Desc/Clms Page number 9> <Desc / Clms Page number 9>

Ainsi, on peut obtenir une bonne estimation des performances du code notamment dans un canal très faiblement bruité.  Thus, a good estimate of the performance of the code can be obtained in particular in a very slightly noisy channel.

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce qu'il comprend les étapes suivantes : - génération du mot de code de référence ; - sélection d'au moins un ensemble d'au moins un symbole du mot de code de référence ; - affectation d'une impulsion d'erreur d'une amplitude déterminée au (x) ensemble (s) sélectionné (s) pour former un mot erroné ; - décodage du mot erroné, prenant en compte des entrées pondérées, et délivrant un mot décodé ; - comparaison du mot décodé avec le mot de code initial
On note que le mot de code de référence peut être modulé ou non.
According to one particular characteristic, the method for qualifying an error correction code is remarkable in that it comprises the following steps: generation of the reference code word; selecting at least one set of at least one symbol of the reference code word; assigning an error pulse of a given amplitude to the selected set (s) to form an erroneous word; decoding of the erroneous word, taking into account weighted inputs, and delivering a decoded word; - comparison of the decoded word with the initial code word
Note that the reference code word can be modulated or not.

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce qu'on fait varier l'amplitude de l'impulsion d'erreur selon une règle déterminée, appartenant au groupe comprenant : - une première règle selon laquelle, lors de la première itération, l'amplitude de l'impulsion d'erreur est affectée d'une faible valeur et est incrémentée lors des itérations suivantes jusqu'à ce que le mot décodé soit différent du mot de code initial ; - une seconde règle selon laquelle, lors de la première itération, l'amplitude de l'impulsion d'erreur est affectée d'une forte valeur et est décrémentée lors des itérations suivantes jusqu'à ce que le mot décodé soit égal au mot de code initial ; une troisième règle selon laquelle, lors des premières itérations, l'amplitude de l'impulsion d'erreur est affectée de deux valeurs extrêmes et, lors des itérations suivantes, on procède par dichotomie, la  According to one particular characteristic, the method for qualifying an error correction code is remarkable in that the amplitude of the error pulse is varied according to a determined rule, belonging to the group comprising: a first rule wherein, during the first iteration, the amplitude of the error pulse is assigned a small value and is incremented in subsequent iterations until the decoded word is different from the original code word; a second rule according to which, during the first iteration, the amplitude of the error pulse is assigned a high value and is decremented during the following iterations until the decoded word is equal to the word of initial code; a third rule according to which, during the first iterations, the amplitude of the error pulse is affected by two extreme values and, during the following iterations, one proceeds by dichotomy, the

<Desc/Clms Page number 10><Desc / Clms Page number 10>

valeur de l'amplitude de l'erreur étant choisie en fonction de la sous- étape de comparaison ; et - une combinaison des première et seconde règles avec la troisième règle.  value of the magnitude of the error being chosen according to the comparison sub-step; and a combination of the first and second rules with the third rule.

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce que le code fait partie du groupe comprenant : - des codes convolutifs ; - des turbo codes convolutifs ; des turbo codes algébriques ; des codes concaténés parallèles ; - des codes concaténés séries ; et - des combinaisons des codes précédents.  According to a particular characteristic, the method for qualifying an error correction code is remarkable in that the code is part of the group comprising: - convolutional codes; convolutive turbo codes; algebraic turbo codes; concatenated parallel codes; - serial concatenated codes; and - combinations of the preceding codes.

Ainsi, l'invention est particulièrement bien adaptée à la qualification de nombreux codes qui sont notamment utilisés dans beaucoup de domaines notamment dans celui des communications mobiles, de la transmission de données et/ou d'images,...  Thus, the invention is particularly well suited to the qualification of numerous codes which are used in many fields, in particular in the field of mobile communications, data transmission and / or images, etc.

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce qu'il comprend, en outre, une étape de détermination d'au moins un symbole de mot de code le plus sensible aux erreurs.  According to one particular characteristic, the method for qualifying an error correction code is remarkable in that it further comprises a step of determining at least one codeword that is the most sensitive to errors.

Selon une caractéristique particulière, le procédé de qualification d'un code correcteur d'erreurs est remarquable en ce qu'il comprend, en outre, une étape de comparaison de la sensibilité des symboles de mot de code aux erreurs et de construction d'un code à protection inégale en fonction du résultat de l'étape de comparaison.  According to a particular characteristic, the method of qualifying an error correction code is remarkable in that it further comprises a step of comparing the sensitivity of the codeword symbols to the errors and of constructing an error correction code. code protection unequal depending on the result of the comparison step.

L'invention concerne également un procédé d'optimisation d'un codage de canal, remarquable en ce qu'il met en oevre le procédé de qualification d'un code correcteur d'erreurs sur au moins deux codes candidats d une étape de sélection  The invention also relates to a method of optimizing a channel coding, remarkable in that it implements the method of qualifying an error correction code on at least two candidate codes of a selection step

<Desc/Clms Page number 11><Desc / Clms Page number 11>

pour le codage de canal d'un des codes candidats, en fonction d'une analyse des premières informations de qualification affectées à chacun des codes candidats.  for the channel coding of one of the candidate codes, based on an analysis of the first qualification information assigned to each of the candidate codes.

Selon une caractéristique particulière, le procédé d'optimisation d'un codage de canal est remarquable en ce que chacun des codes est associé à une modulation prédéterminée, et en ce que l'étape de sélection tient compte de l'association code/modulation.  According to a particular characteristic, the method of optimizing a channel coding is remarkable in that each of the codes is associated with a predetermined modulation, and in that the selection step takes into account the code / modulation association.

Selon une caractéristique particulière, le procédé d'optimisation d'un codage de canal est remarquable en ce que l'étape de sélection tient compte de également de la seconde information de qualification et/ou du gain asymptotique.  According to one particular characteristic, the method for optimizing a channel coding is remarkable in that the selection step also takes into account the second qualification information and / or the asymptotic gain.

L'invention concerne aussi un codeur permettant la correction d'erreurs, remarquable en ce que le code correspondant est sélectionné selon un procédé de qualification de codes et/ou un procédé d'optimisation d'un codage de canal tel que précédemment décrit.  The invention also relates to an encoder for error correction, which is remarkable in that the corresponding code is selected according to a code qualification method and / or a method for optimizing a channel coding as previously described.

L'invention concerne en outre un décodeur permettant un décodage de données codées à l'aide d'un code correcteur d'erreurs et une correction d'erreurs correspondante, remarquable en ce que le code correcteur d'erreurs est sélectionné selon un procédé de qualification de codes et/ou d'optimisation d'un codage de canal tel que précédemment décrit.  The invention further relates to a decoder for decoding encoded data using error correction code and corresponding error correction, wherein the error correction code is selected according to a method of qualification of codes and / or optimization of a channel coding as previously described.

Ainsi, les codeurs et les décodeurs sont basés sur un code très efficace et permettent d'obtenir de bonnes performances notamment dans des conditions de canal de transmission faiblement bruité et peuvent être mis en cuivre avantageusement dans des applications variées notamment dans le domaine des communications mobiles, de la transmission de données et/ou d'images,....  Thus, the coders and the decoders are based on a very efficient code and make it possible to obtain good performances, in particular under conditions of weakly noisy transmission channel, and can advantageously be implemented in copper in various applications, particularly in the field of mobile communications. , data transmission and / or images, ....

L'invention concerne également une application du procédé de qualification d'un code correcteur d'erreurs et/ou du procédé d'optimisation d'un codage de canal à - la transmission de données sur un canal bruité ; l'optimisation de codage de canal avec protection inégale ; - l'estimation de la distance libre d'un code ; et/ou - l'estimation des performances d'un code.  The invention also relates to an application of the method for qualifying an error correction code and / or the method of optimizing a channel coding to the transmission of data over a noisy channel; channel coding optimization with unequal protection; - estimation of the free distance of a code; and / or - estimation of the performance of a code.

<Desc/Clms Page number 12> <Desc / Clms Page number 12>

Les avantages un procédé d'optimisation d'un codage de canal et des applications des procédés de qualification et/ou d'optimisation sont les mêmes que ceux du procédé qualification d'un code correcteur d'erreurs, ils ne sont pas détaillés plus amplement
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 préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : - la figure 1 présente des courbes de taux d'erreurs connues en soi ; - la figure 2 illustre un algorithme d'estimation de distance minimale d'un code correcteur d'erreurs, selon l'invention ; - la figure 3 décrit une étape de génération d'une séquence de symboles, mise en carre dans l'algorithme de la figure 2 ; et - la figure 4 décrit une étape de calcul de distance impulsionnelle, mise en ouvre dans l'algorithme de la figure 2.
The advantages of a method for optimizing a channel coding and applications of the qualification and / or optimization methods are the same as those of the method for qualifying an error correction code, they are not detailed further.
Other features and advantages of the invention will appear more clearly on reading the following description of a preferred embodiment, given as a simple illustrative and nonlimiting example, and the appended drawings, among which: FIG. 1 shows error rate curves known per se; FIG. 2 illustrates an algorithm for estimating the minimum distance of an error correction code, according to the invention; FIG. 3 describes a step of generating a sequence of symbols, set on the edge in the algorithm of FIG. 2; and FIG. 4 describes a pulse distance calculation step, implemented in the algorithm of FIG. 2.

On rappelle qu'une procédure optimale de décodage conduirait à choisir le mot de code le plus proche du mot reçu. Plus la distance entre mots de code est importante et plus le décodage peut être efficace à faible taux d'erreurs. La distance de Hamming minimale entre ces mots, qui est le nombre minimal de valeurs binaires différentes, dans ces mots, est appelée distance minimale du code . Elle est notée dmin. La détermination de cette distance permet d'estimer les performances du code pour les faibles taux d'erreurs. Cette estimation permet d'éviter des simulations longues et coûteuses.  It is recalled that an optimal decoding procedure would lead to choosing the code word closest to the received word. The greater the distance between code words, the more decoding can be effective at low error rates. The minimum Hamming distance between these words, which is the minimum number of different binary values, in these words, is called the minimum code distance. It is noted dmin. The determination of this distance makes it possible to estimate the code performance for low error rates. This estimate avoids long and expensive simulations.

La figure 1 illustre trois courbes de taux d'erreurs bit, TEB, représenté sur l'axe des ordonnées 11, en fonction du rapport signal à bruit, EbVo, représenté sur l'axe des abscisses 10 : une première courbe non codée, 12, est obtenue pour une transmission de données binaires à l'aide d'une modulation QPSK sans utilisation de code d'erreurs ;  FIG. 1 illustrates three bit error rate curves, TEB, represented on the ordinate axis 11, as a function of the signal-to-noise ratio, EbVo, represented on the abscissa axis 10: a first uncoded curve, 12 , is obtained for binary data transmission using QPSK modulation without use of error code;

<Desc/Clms Page number 13><Desc / Clms Page number 13>

une deuxième courbe 13 est obtenue pour une transmission de données binaires avec utilisation d'un code correcteur d'erreur (on note que cette courbe permet un gain, G, de plusieurs décibels, par exemple,

Figure img00130001

pour un taux d'erreurs bit de l'ordre de 10-6) ; et une troisième courbe représente la limite théorique qui peut être obtenue en utilisant un code idéal associé à un algorithme de décodage idéal ; cette limite est fonction du rendement, R, du code (qui est le rapport du nombre de bits non codés sur le nombre de bits codés) et de la taille du bloc. a second curve 13 is obtained for a transmission of binary data using an error correction code (it is noted that this curve allows a gain, G, of several decibels, for example,
Figure img00130001

for a bit error rate of the order of 10-6); and a third curve represents the theoretical limit that can be obtained by using an ideal code associated with an ideal decoding algorithm; this limit is a function of the efficiency, R, of the code (which is the ratio of the number of uncoded bits to the number of coded bits) and the size of the block.

Plus le taux d'erreurs est faible à un rapport signal à bruit donné, plus l'écart entre ces courbes est grand.  The lower the error rate at a given signal-to-noise ratio, the greater the difference between these curves.

H est possible de démontrer qu'il y a m lien entre la distance minimale du code et le gain maximal obtenu par celui-ci. Ce gain est appelé gain asymptotique , Ga, mesuré en décibels, et on peut écrire en première approximation la relation suivante : Ga &num; lOlog (. M).  It is possible to demonstrate that there is m link between the minimum distance of the code and the maximum gain obtained by it. This gain is called asymptotic gain, Ga, measured in decibels, and we can write as a first approximation the following relation: Ga &num; lOlog (.M).

Ainsi, par exemple, un code de rendement, R, égal à 1/2 capable de travailler aux environs de la limite théorique pour un taux d'erreurs binaires de 10-8 doit posséder une distance minimale d'environ 32.  Thus, for example, a performance code, R, equal to 1/2 capable of working around the theoretical limit for a bit error rate of 10-8 must have a minimum distance of about 32.

Selon l'état de l'art, l'estimation de la distance minimale d'un code a toujours été associée à une recherche plus ou moins exhaustive des mots de codes en utilisant certaines propriétés pour éviter au maximum les calculs inutiles.  According to the state of the art, the estimation of the minimum distance of a code has always been associated with a more or less exhaustive search for code words by using certain properties to avoid unnecessary calculations as much as possible.

Le principe général de l'invention repose, quant à lui, sur l'algorithme de décodage associé au code et non pas sur l'utilisation des propriétés du code.  The general principle of the invention relies, in turn, on the decoding algorithm associated with the code and not on the use of the properties of the code.

Ainsi, selon l'invention, on prend en compte les limitations du décodeur.  Thus, according to the invention, the limitations of the decoder are taken into account.

L'information qui en est extraite n'est pas, au sens habituel, la distance minimale du code, min, mais une grandeur, appelée distance impulsionnelle du code , impulse, représentative du pouvoir de correction du code et du décodeur associé. The information extracted from it is not, in the usual sense, the minimum distance of the code, min, but a quantity, called impulse distance of the code, impulse, representative of the correction power of the code and the associated decoder.

On peut vérifier que pour de nombreux codes linéaires, la distance impulsionnelle du code, impulse est égale à la distance du code, dmm. It can be verified that for many linear codes, the pulse distance of the code, impulse is equal to the code distance, dmm.

<Desc/Clms Page number 14> <Desc / Clms Page number 14>

Selon une variante de l'invention, on détermine également la multiplicité, m, associée à la distance du code, c'est-à-dire le rapport du nombre de symboles auquel est associée la distance impulsionnelle du code, dmin, sur le nombre total de symboles dans un mot La prise en compte de la multiplicité permet notamment d'estimer plus finement le gain asymptotique ou de prévoir une protection inégale des symboles à coder.  According to a variant of the invention, the multiplicity, m, associated with the distance of the code, that is to say the ratio of the number of symbols with which the pulse distance of the code, dmin, is associated with the number, is also determined. total of symbols in a word Consideration of the multiplicity makes it possible in particular to estimate more finely the asymptotic gain or to provide an unequal protection of the symbols to be encoded.

La figure 2 illustre un algorithme d'estimation de distance minimale d'un code correcteur d'erreurs, selon l'invention.  FIG. 2 illustrates an algorithm for estimating the minimum distance of an error correction code, according to the invention.

Au cours d'une première étape d'initialisation 20, les différentes variables utilisées par l'algorithme sont initialisées.  During a first initialization step 20, the various variables used by the algorithm are initialized.

Puis, au cours d'une étape 21, on initialise les paramètres de codage et de modulation en définissant notamment : - le code dont on veut estimer la distance libre (par exemple, codes élémentaires et entrelacement pour turbo codes, motif de poinçonnage,...) produisant des mots de codes de longueurs n (soit k valeurs binaires d'information et (n-k) valeurs binaires de redondances) ; et - la modulation associée (par exemple, BPSK, QPSK, FSK,...).  Then, during a step 21, the coding and modulation parameters are initialized by defining in particular: the code whose free distance is to be estimated (for example, elementary codes and interleaving for turbo codes, punching pattern,. ..) producing code words of length n (ie k binary information values and (nk) binary redundancy values); and the associated modulation (for example, BPSK, QPSK, FSK, ...).

Puis, au cours d'une étape 22, on génère un mot de code initial (en fonction du code défini lors de l'étape 21) qui pour un code linéaire ne contient que des 0 . Ce net de code est ensuite modulé (selon la modulation définie à l'étape 21) pour produire une séquence (vl, V2,.... vn). Pour une modulation binaire, on associe un symbole de valeur -1 à chaque O émis par le codeur

Figure img00140001

(des symboles +1 seraient associés aux 1 émis par le codeur). On note que cette succession de symboles égaux à -1 était transmise au décodeur correspondant au code choisi, celui-ci convergerait sans aucune difficulté vers le mot tout 0 contenant k valeurs binaires nulles. On note également que l'étape 22 est illustrée plus en détail en regard de la figure 3. Then, during a step 22, an initial codeword is generated (according to the code defined in step 21) which for a linear code contains only 0. This net of code is then modulated (according to the modulation defined in step 21) to produce a sequence (v1, V2, .... vn). For a binary modulation, a symbol of value -1 is associated with each O transmitted by the encoder
Figure img00140001

(+1 symbols would be associated with the 1 emitted by the encoder). Note that this succession of symbols equal to -1 was transmitted to the decoder corresponding to the chosen code, it would converge without any difficulty to the word all 0 containing k binary values zero. It is also noted that step 22 is illustrated in more detail with reference to FIG.

Ensuite, au cours d'une étape 23, on initialise une variable i à 1.  Then, during a step 23, a variable i is initialized to 1.

<Desc/Clms Page number 15> <Desc / Clms Page number 15>

Puis, au cours d'une étape 24, on détermine une distance impulsionnelle, dimpulse, i associée à une erreur injectée au lé symbole de la séquence (VI, V2,.... Vn). Ainsi, on transforme le lme symbole de la séquence (VI, V2,.... Vn) en un symbole ayant une valeur positive. On fait croître l'amplitude de cette erreur jusqu'à ce que le décodeur ne converge pas vers le mot tout 0 . L'association codeur/décodeur est alors mise en défaut.  Then, during a step 24, it determines a pulse distance, dimpulse, i associated with an error injected into the symbol symbol of the sequence (VI, V2, .... Vn). Thus, the same symbol of the sequence (VI, V2, .... Vn) is transformed into a symbol having a positive value. The amplitude of this error is increased until the decoder does not converge towards the word all 0. The encoder / decoder association is then faulted.

En appliquant cette méthode, la capacité de correction du code n'est pas évaluée sur des erreurs réparties sur le mot présenté au décodeur (selon des techniques connues en soi) mais sur un seul symbole. L'expérience montre que la capacité de correction reste la même.  By applying this method, the correction capacity of the code is not evaluated on errors distributed on the word presented to the decoder (according to techniques known per se) but on a single symbol. Experience shows that the correction capacity remains the same.

La valeur minimale de l'impulsion ne mettant pas en défaut le système de correction est directement liée à la distance impulsionnelle, dllpulse i, associée à la valeur binaire affectée par l'erreur. La distance impulsionnelle, d1mpulse, i, est ainsi déterminée et sauvegardée.  The minimum value of the pulse that does not fault the correction system is directly related to the pulse distance, dllpulse i, associated with the binary value affected by the error. The impulse distance, d1mpulse, i, is thus determined and saved.

On note également que l'étape 24 est illustrée plus en détail en regard de la figure 4.  It is also noted that step 24 is illustrated in more detail with reference to FIG.

Ensuite, au cours d'un test 25, on détermine si la valeur de i est égale àk.  Then, during a test 25, it is determined whether the value of i is equal to k.

Dans la négative, au cours d'une étape 26, la valeur de i est incrémentée d'une unité et l'étape 24 est réitérée.  In the negative, during a step 26, the value of i is incremented by one unit and the step 24 is reiterated.

On note qu'ainsi, on détermine la distance impulsionnelle associée à chacun des k symboles d'information de la séquence (va, V2,.... Vk).  It is noted that in this way, the impulse distance associated with each of the k information symbols of the sequence (va, V2, .... Vk) is determined.

Selon une variante du test 25 et de l'étape 26, on détermine la distance impulsionnelle associée à chaque symbole appartenant à une sous-séquence de la séquence (vi, .... ), cette sous-séquence contenant un nombre de symboles inférieur strictement à k. Cette variante est avantageusement mise en ouvre lorsque, notamment, le code correcteur d'erreurs présente des propriétés de périodicité qui sont telles que beaucoup de positions de symboles d'information dans la séquence (VI, V2,.... Vk) correspondent. à la même distance impulsionnelle et que le sous-ensemble est choisi en fonction de ces propriétés. On note que dans  According to a variant of the test 25 and of step 26, the pulse distance associated with each symbol belonging to a subsequence of the sequence (vi, ....) is determined, this subsequence containing a lower number of symbols. strictly at k. This variant is advantageously implemented when, in particular, the error correction code has periodicity properties which are such that many information symbol positions in the sequence (VI, V2, .... Vk) correspond. at the same impulse distance and that the subset is chosen according to these properties. We note that in

<Desc/Clms Page number 16><Desc / Clms Page number 16>

le cas des turbo codes convolutifs, ces périodicités dépendent de la fonction d'entrelacement et du motif de poinçonnage éventuel.  In the case of convolutional turbo codes, these periodicities depend on the interleaving function and the possible punching pattern.

Si le résultat du test est positif, au cours d'une étape 27, on détermine la distance impulsionnelle minimale du code en retenant la plus petite des distances impulsionnelles associées aux valeurs binaires examinées et déterminées lors de l'étape 24.  If the result of the test is positive, during a step 27, the minimum pulse distance of the code is determined by retaining the smallest of the pulse distances associated with the binary values examined and determined during step 24.

En variante, lors de l'étape 27, on détermine également la multiplicité, m, associée à la distance impulsionnelle minimale. La multiplicité, m, est, par définition, le rapport du nombre de symboles auquel est associée la distance impulsionnelle du code, dmin, sur le nombre total de symboles dans un mot.  In a variant, during step 27, the multiplicity m, associated with the minimum impulse distance, is also determined. The multiplicity, m, is, by definition, the ratio of the number of symbols with which the code impulse distance, dmin, is associated with the total number of symbols in a word.

On note que le nombre d'erreurs que peut corriger un code ayant une distance minimale dmm est strictement inférieur à dmin/2 erreurs. Soit A erreur, l'amplitude de l'impulsion d'erreur ajoutée à la valeur nominale-1 (l'amplitude du symbole appliqué à l'entrée du décodeur A est donc égale à Aerreur-1). Une erreur binaire pleine correspond à une impulsion d'erreur d'amplitude 2 (passage de-1 à +1). Le nombre d'erreurs binaires équivalentes à une amplitude Aerreur est donc e valant Aerreu/2.  Note that the number of errors that can correct a code having a minimum distance dmm is strictly less than dmin / 2 errors. Let A be an error, the amplitude of the error pulse added to the nominal value-1 (the amplitude of the symbol applied to the input of decoder A is therefore equal to error-1). A full binary error corresponds to an amplitude error pulse 2 (change from -1 to +1). The number of binary errors equivalent to an error amplitude is therefore equal to Aerreu / 2.

Si l'impulsion d'erreur est corrigée, alors le nombre e est strictement inférieur à dmin/2. Ainsi, en assimilant exactement distance minimale et distance impulsionnelle, Aerreur est strictement inférieur àdmm et àdimpri ! se.  If the error pulse is corrected, then the number e is strictly less than dmin / 2. Thus, by assimilating exactly the minimum distance and the impulse distance, the error is strictly less than dmm and dimpri! is.

Puis, au cours d'une étape 28, on détermine s'il est nécessaire de déterminer la distance impulsionnelle minimale associé à nouveau code.  Then, during a step 28, it is determined whether it is necessary to determine the minimum impulse distance associated with the new code.

Dans l'affirmative, l'étape 21 est réitérée.  If yes, step 21 is repeated.

Dans la négative, au cours d'une étape 29, un code est choisi en onction de sa distance impulsionnelle minimale.  In the negative, during a step 29, a code is chosen in unction of its minimum impulse distance.

Selon une variante, au cours de l'étape 29, d'autres paramètres tels que, par exemple, la multiplicité associée à la distance impulsionnelle minimale du code et/ou la complexité du code sont, en outre, pris en compte pour le choix du code.  According to a variant, during step 29, other parameters such as, for example, the multiplicity associated with the minimum impulse distance of the code and / or the complexity of the code are, furthermore, taken into account for the choice. code.

<Desc/Clms Page number 17> <Desc / Clms Page number 17>

La figure 3 décrit l'étape 22 de génération d'une séquence de symboles, illustrée en regard de la figure 2.  FIG. 3 describes the step 22 of generating a sequence of symbols, illustrated with reference to FIG. 2.

On suppose que le code dont les paramètres ont été initialisés lors de l'étape 21 est un code linéaire adapté à la transmission de paquets, associant k bits d'information utile à des mots de n bits après codage (le rendement, R, du code étant égal au rapport kin).  It is assumed that the code whose parameters were initialized during step 21 is a linear code adapted to the transmission of packets, associating k bits of useful information with words of n bits after coding (the efficiency, R, of code being equal to the ratio kin).

Au cours d'une étape 30, on traduit le mot tout 0 dans le code étudié.  During a step 30, we translate the word all 0 in the code studied.

Le code étant linéaire, les n bits du mot de code (ul, U2,... un) sont tous nuls. (Ici, le choix du mot tout 0 répond à un souci de simplicité : puisque le message d'information est tout 0 , le code étant linéaire, la redondance est tout 0 aussi et on n'a pas à se préoccuper du codage ; en d'autres termes, selon une variante de l'étape 30, on peut choisir un mot du code différent du mot tout 0 ). Since the code is linear, the n bits of the codeword (ul, U2, ... un) are all nil. (Here, the choice of the word all 0 answers to a simplicity concern: since the information message is all 0, the code being linear, the redundancy is all 0 too and one does not have to worry about the coding; other words, according to a variant of step 30, it is possible to choose a code word different from the word all 0).

Ensuite, au cours d'une étape 31, on définit les symboles telles qu'ils auraient été émis par un modulateur NRZ (ou Non Retour à Zéro ). Ainsi, au cours de l'étape 31, on associe : - un symbole -1 à chaque valeur binaire du mot de code (ui, U2,... un) égal àO ; et - un symbole +1 à chaque valeur binaire du mot de code (M], M2,

Figure img00170001

..-un) égal à 1 ; On forme ainsi une séquence de symboles (vol, V2,... vn) correspondant au mot de code (U), U2,... un) modulé. Then, during a step 31, the symbols are defined as they would have been emitted by a modulator NRZ (or No Return to Zero). Thus, during step 31, there is associated: a -1 symbol with each binary value of the code word (ui, U2, ... un) equal to O; and - a +1 symbol to each binary value of the code word (M], M2,
Figure img00170001

..- a) equal to 1; Thus, a sequence of symbols (vol, V2, ... vn) corresponding to the modulated code word (U), U2,.

Après l'étape 31, l'étape 23 illustrée en regard de la figure 2 est effectuée.  After step 31, step 23 illustrated with reference to FIG. 2 is performed.

La figure 4 décrit l'étape 24 de calcul de distance impulsionnelle, illustrée en regard de la figure 2.

Figure img00170002
FIG. 4 describes the pulse distance calculation step 24, illustrated with reference to FIG. 2.
Figure img00170002

Au cours d'une étape 40, on initialise : - une variable Y aune valeur égale à2 ; et - une séquence w de n symboles égale à la séquence v. During a step 40, one initializes: a variable Y with a value equal to 2; and a sequence w of n symbols equal to the sequence v.

Selon une variante, on initialise la variable J à une valeur supérieure à 2, en fonction d'une borne inférieure (a priori connue) de la distance impulsionnelle minimale. According to one variant, the variable J is initialized to a value greater than 2, as a function of a lower bound (a priori known) of the minimum impulse distance.

<Desc/Clms Page number 18> <Desc / Clms Page number 18>

Puis, au cours d'une étape 41, on initialise une erreur, Aerreur, à une valeur égale à J-ê, où e est un nombre réel quelconque, compris entre 0 et 1 strictement (e est égal, par exemple, à 0,5) ; ainsi, l'erreur, Verrez est égale à une valeur comprise strictement entre (J-1) et J.  Then, during a step 41, an error, Aerreur, is initialized to a value equal to J-ê, where e is any real number, between 0 and 1 strictly (e is equal, for example, to 0 , 5); thus, the error, Verrez is equal to a value strictly between (J-1) and J.

Au cours de l'étape 41, on sélectionne le lé symbole de w, wi, qu'on

Figure img00180001

affecte de la valeur Aerreur moins la valeur de Vs soit get < r 1 ( étant le paramètre initialisé lors de l'étape 23 et mise àjour lors de l'étape 26). In step 41, we select the symbol of w, wi, which we
Figure img00180001

assigns the value of error less the value of Vs is get <r 1 (being the parameter initialized in step 23 and updated in step 26).

Ensuite, au cours d'une étape 42, on décode la séquence w avec un algorithme de décodage adapté au code choisi lors de l'étape 21 et apte à prendre en compte les amplitudes des symboles à décoder (le décodeur est à entrées pondérées). Si le code est de type turbo code, l'algorithme de décodage sera, par exemple, un algorithme de décodage itératif tel que décrit dans les brevets EP0511141 (dont le titre est Procédé de codage correcteur d'erreurs à au moins deux codages convolutifs systématiques en parallèle, procédé de décodage itératif, module de décodage et décodeur correspondants ) ou EP735696 (dont le titre est Procédé de décodage itératif, module de décodage et décodeur correspondant ).  Then, during a step 42, the sequence w is decoded with a decoding algorithm adapted to the code chosen during step 21 and able to take into account the amplitudes of the symbols to be decoded (the decoder is at weighted inputs). . If the code is of turbo code type, the decoding algorithm will be, for example, an iterative decoding algorithm as described in patents EP0511141 (whose title is error correction coding method to at least two systematic convolutional codings). in parallel, iterative decoding method, corresponding decoding module and decoder) or EP735696 (whose title is Iterative decoding method, decoding module and corresponding decoder).

Le nombre d'itérations nécessaire dépend de la distance à déterminer. Plus la distance est grande, plus il faut d'itérations. Le nombre d'itérations peut être de plusieurs centaines. Les résultats obtenus sont très dépendants de la qualité du décodage. L'algorithme à entrées et sorties douces doit pouvoir fonctionner sans la connaissance de la variance. On peut notamment utiliser des algorithmes de décodage élémentaires de type : - Max-Log-MAP (SUB-MAP) décrit notamment dans le document de P. The number of iterations required depends on the distance to be determined. The greater the distance, the more iterations are needed. The number of iterations can be several hundred. The results obtained are very dependent on the quality of the decoding. The soft input / output algorithm must be able to work without knowing the variance. In particular, it is possible to use elementary decoding algorithms of the type: Max-Log-MAP (SUB-MAP) described in particular in the document by P.

Robertson, P. Hoeher et E. Villebrun,"Optimal and suboptimal maximum a posteriori algorithms suitable for turbo decoding", paru dans la revue European Trans. Telecommun., vol. 8, pp. 119-125,
March-Apr. 1997, l'algorithme Max-Log-MAP étant dérivé de l'algorithme MAP décrit dans le document de L. R. Bahl, J. Cocke, F.
Jelinek et J. Raviv"Optimal decoding of linear codes for minimizing
Robertson, P. Hoeher and E. Villebrun, "Optimal and suboptimal maximum a posteriori algorithms suitable for turbo decoding", published in European Trans. Telecommun., Vol. 8, pp. 119-125,
March-Apr. 1997, the Max-Log-MAP algorithm being derived from the MAP algorithm described in LR Bahl, J. Cocke, F.
Jelinek and J. Raviv "Optimal decoding of linear codes for minimizing

<Desc/Clms Page number 19> <Desc / Clms Page number 19>

Figure img00190001

symbol error rate", paru dans la revue IEEE Trans. Inform. Theory, rr-20, pp. 248-287, Mar. 1974.) ; ou SOVA ( Algorithme de Viterbi à sorties douces de langlais Soft Output Viterbi Algorithm ) décrit notamment dans les articles : de G. Battail,"Pondération des symboles décodés par l'algorithme de Viterbi", dans la revue Ann. Télécommun., Fr.,
42, NO 1-2, pp. 31-38, en Janvier 1987 ; - de J. Hagenauer and P. Hoeher,"A Viterbi algorithm with soft- decision outputs and its applications", dans les comptes-rendus de conférence Proc. of Globecom'89, Dallas, Texas, pp. 47.11-
47-17, en Novembre 1989 et de C. Berrou, P. Adde, E. Angui and S. Faudeil,"A low complexity soft-output Viterbi decoder architecture",", dans les comptes-rendus de conférence Proc. of ICC'93, Geneva, pp. 737-740, en Mai 1993. qui ne requièrent pas la connaissance de la variance. On peut montrer que le décodeur idéal pour l'invention proposée serait un décodeur s'appuyant sur la recherche du produit scalaire minimal.
Figure img00190001

symbol error rate ", published in the journal IEEE Trans., Theory, rr-20, pp. 248-287, Mar. 1974.) or SOVA (Viterbi Algorithm with soft outputs of English langlays Soft Output Viterbi Algorithm) describes in particular in the articles: by G. Battail, "Weighting of symbols decoded by the Viterbi algorithm", in Ann. Télécommun., Fr.,
42, No. 1-2, pp. 31-38, in January 1987; - J. Hagenauer and P. Hoeher, "A Viterbi algorithm with soft-decision outputs and its applications", in conference proceedings Proc. of Globecom'89, Dallas, Texas, pp. 47.11-
47-17, in November 1989 and C. Berrou, P. Adde, E. Angui and S. Faudeil, "A low complexity soft-output Viterbi decoder architecture", "in conference proceedings Proc. '93, Geneva, pp. 737-740, in May 1993. It does not require knowledge of the variance It can be shown that the ideal decoder for the proposed invention would be a decoder based on the search for the minimum scalar product. .

Puis, au cours d'un test 43, on détermine si l'algorithme de décodage converge vers le mot tout 0 .  Then, during a test 43, it is determined whether the decoding algorithm converges to the word all 0.

Dans l'affirmative, la limite n'est pas dépassée et au cours d'une étape 45, on incrémente d'une unité la variable J et l'étape 41 est réitérée.  If so, the limit is not exceeded and in a step 45, the variable J is incremented by one and step 41 is reiterated.

Selon une variante de l'étape 45, lorsque la modulation utilisée est telle que la protection des valeurs binaires est inégale, la distance minimale équivalente du couple codage-modulation, particulière à chaque valeur binaire, est elle-même inégale et n'est généralement pas une valeur entière. Dans ce cas, au cours de

Figure img00190002

l'étape 45, on incrémente la variable J d'une valeur strictement inférieure à 1, afin de déterminer une distance impulsionnelle réelle. According to a variant of step 45, when the modulation used is such that the protection of the binary values is unequal, the minimum equivalent distance of the coding-modulation pair, particular to each binary value, is itself unequal and is generally not not an integer value. In this case, during
Figure img00190002

step 45, the variable J is incremented by a value strictly less than 1, in order to determine a real impulse distance.

Selon une variante de l'étape 24, la variable J est affectée d'une valeur correspondant à une borne supérieure de la distance impulsionnelle augmentée de  According to a variant of step 24, the variable J is assigned a value corresponding to an upper bound of the pulse distance increased by

<Desc/Clms Page number 20><Desc / Clms Page number 20>

1 lors de l'étape 40. L'étape 43 est suivie de l'étape 44 si le mot décodé est égal au mot de code initial, la distance impulsionnelle est alors affectée de la valeur de J. L'étape 43 est suivie de l'étape 45 si le mot décodé n'est pas égal au mot de code initial, et J est décrémenté lors de l'étape de 45.  1 in step 40. Step 43 is followed by step 44 if the decoded word is equal to the initial code word, the pulse distance is then assigned the value of J. Step 43 is followed by step 45 if the decoded word is not equal to the initial codeword, and J is decremented in the step of 45.

Selon encore une autre variante de l'étape 24, on procède par dichotomie : lors de la première itération, la variable J est initialisée avec une valeur

Figure img00200001

correspondant à une borne inférieure, Jmin, de la distance impulsionnelle ; puis lors d'une deuxième itération, la variable J est initialisée avec une valeur correspondant à une borne supérieure, Jmax, de la distance impulsionnelle augmentée de 1 ; puis - lors des itérations suivantes, on affecte à J une valeur égale à la moitié de la somme de Jmin et de Jmax et, à l'issue du test 43 : si le mot décodé est égal au mot initial, on affecte à Jmax la valeur de J courante ; et - si le mot décodé n'est pas égal au mot initial, on affecte à Jmin la valeur de J courante. According to yet another variant of step 24, one proceeds by dichotomy: during the first iteration, the variable J is initialized with a value
Figure img00200001

corresponding to a lower bound, Jmin, of the impulse distance; then during a second iteration, the variable J is initialized with a value corresponding to an upper bound, Jmax, of the pulse distance increased by 1; then - during the following iterations, we assign to J a value equal to half the sum of Jmin and Jmax and, after the test 43: if the decoded word is equal to the initial word, we assign to Jmax the current J value; and if the decoded word is not equal to the initial word, Jmin is assigned the value of current J.

Selon cette dernière variante, on arrête les itérations lorsque l'écart entre les valeurs de Jmin et de Jmax est suffisamment faible.  According to this last variant, the iterations are stopped when the difference between the values of Jmin and Jmax is sufficiently small.

On note que cette variante basée sur une connaissance a priori d'un encadrement de J et l'utilisation de la méthode de dichotomie est particulièrement avantageuse lorsque la protection des symboles d'un mot de code est inégale.  Note that this variant based on a priori knowledge of a framework of J and the use of the dichotomy method is particularly advantageous when the protection of the symbols of a codeword is unequal.

Si le résultat du test 43 est négatif, l'algorithme de décodage ne converge pas vers le mot tout O et l'amplitude de l'impulsion d'erreur est suffisante pour perturber le décodage. Dans ce cas, au cours d'une étape 44, la valeur de la distance impulsionnelle, dimp, ; associée à une erreur injectée au l : me symbole de la séquence (VI, V2,.... Vn) est égale à la valeur courante de J diminuée de 1. En effet, la valeur courante de Aerre < r est J-&num;et comme Aerreur est strictement inférieure à la distance impulsionnelle et comme la valeur courante de J est la valeur minimale qui entraîne une erreur de décodage, on peut établir :  If the result of the test 43 is negative, the decoding algorithm does not converge to the whole word O and the amplitude of the error pulse is sufficient to disturb the decoding. In this case, during a step 44, the value of the impulse distance, dimp,; associated with an error injected into the symbol of the sequence (VI, V2, .... Vn) is equal to the current value of J minus 1. Indeed, the current value of Aerre <r is J- & num and since the error is strictly less than the impulse distance and since the current value of J is the minimum value which gives rise to a decoding error, it can be established:

<Desc/Clms Page number 21> <Desc / Clms Page number 21>

Figure img00210001

J M/.i > -i-&num; soit encore : me, ; + &num; > Y-1 > K/, t-I + &num;
Figure img00210002

(J-1) et dintpulse i étant des entiers, on en déduit leur égalité.
Figure img00210001

JM / .i> -i- &num; again, me; + &num;>Y-1> K /, tI + &num;
Figure img00210002

(J-1) and dintpulse i being integers, we deduce their equality.

Après l'étape 44, le test 25 illustré en regard de la figure 2 est effectué. After step 44, the test 25 illustrated with reference to FIG. 2 is performed.

Bien entendu, l'invention n'est pas limitée aux exemples de réalisation mentionnés ci-dessus.  Of course, the invention is not limited to the embodiments mentioned above.

En particulier, l'homme du métier pourra apporter toute variante dans les paramètres à considérer pour le choix d'un code. L'homme du métier pourra notamment prendre en compte le taux d'erreur trame, FER, (ou Frame Error

Figure img00210003

Rate en anglais) estimé selon la relation suivante :
Figure img00210004

FER = mk Erf-Eb N.) R. d.,,,) = f. j
Figure img00210005

où : - m représente la multiplicité associée à la distance impulsionnelle du code ; - k, le nombre de bits d'information d'un mot de code ; - / ? Vo, le rapport signal à bruit ; - R, le rendement du code ; - dmm J la distance impulsionnelle du code ; et
Figure img00210006

- Erfc, la fonction d'erreur complémentaire, bien connue suivant la relation :
Figure img00210007

r/e () =-y=-F exp (-) - V7r'"="
Figure img00210008

Par différence avec la courbe non codée, on peut en déduire une formule approchée du gain asymptotique, suivant, par exemple, la relation :
Ga&num;10log(R.dmin). In particular, the skilled person can make any variant in the parameters to be considered for the choice of a code. The person skilled in the art may notably take into account the frame error rate, FER, (or Frame Error
Figure img00210003

Rate in English) estimated according to the following relation:
Figure img00210004

FER = mk Erf-Eb N.) R. d. ,,,) = f. j
Figure img00210005

where: - m represents the multiplicity associated with the pulse distance of the code; k, the number of information bits of a code word; - /? Vo, the signal to noise ratio; - R, the code yield; - dmm J the pulse distance of the code; and
Figure img00210006

- Erfc, the complementary error function, well known according to the relation:
Figure img00210007

r / e () = -y = -F exp (-) - V7r '"="
Figure img00210008

By difference with the uncoded curve, we can deduce an approximate formula of the asymptotic gain, following, for example, the relation:
Ga &num; 10 log (R.dmin).

On note que l'invention ne se limite pas à l'estimation d'une distance minimale, mais permet aussi de déterminer les symboles les plus sensibles et donc de proposer des schémas de codage avec des protections multi-niveaux ou à rendement de codage inégal.  Note that the invention is not limited to the estimation of a minimum distance, but also makes it possible to determine the most sensitive symbols and thus to propose coding schemes with multilevel protections or unequal coding efficiency .

<Desc/Clms Page number 22> <Desc / Clms Page number 22>

En outre, selon l'invention, lorsque l'on détermine la distance impulsionnelle du code, on peut répartir l'erreur sur plusieurs symboles, à condition d'être sûr que ces symboles appartiendront tous à un mot de code concurrent retenu (ce qui signifie que ces symboles sont choisis à des positions où les symboles du mot de code de référence et les positions du mot de code concurrent diffèrent), en cas de défaillance du décodeur. On fera préférentiellement porter l'impulsion d'erreur sur des mots de codes concurrent qui sont à une faible distance du mot de code de référence. C'est le cas, par exemple, si l'impulsion d'erreur est répartie sur un symbole d'information et le symbole de redondance correspondant, qui s'écrit comme la somme (modulo 2) du symbole d'information et d'une autre information (l'état du codeur pour un code convolutif, par exemple). Ainsi, si le bit d'information change, le bit de redondance aussi et ces deux bits font partie du mot de code concurrent.  Furthermore, according to the invention, when determining the pulse distance of the code, the error can be spread over several symbols, provided that it is certain that these symbols will all belong to a competing code word retained (which means that these symbols are chosen at positions where the symbols of the reference code word and the positions of the competing codeword differ), in the event of decoder failure. The error pulse will preferably be carried on competing code words which are at a short distance from the reference code word. This is the case, for example, if the error pulse is distributed over an information symbol and the corresponding redundancy symbol, which is written as the sum (modulo 2) of the information symbol and other information (the state of the encoder for a convolutional code, for example). Thus, if the information bit changes, the redundancy bit also and these two bits are part of the competing code word.

D'une manière générale, la répartition de l'impulsion d'erreur se fait préférentiellement en considérant une base qui est le symbole à tester. Ce symbole reçoit une fraction de l'impulsion d'erreur et d'autres symboles, éventuellement le reliquat On pourra ainsi déterminer la distance impulsionnelle associée à chaque symbole de base testé. On note qu'ainsi, lorsqu'on répartit l'erreur sur plusieurs symboles, la multiplicité, m, est alors, le rapport du nombre de symboles de base auquel est associée la distance impulsionnelle d1 code, dmin, sur le nombre total de symboles dans un mot.  In general, the distribution of the error pulse is preferentially done by considering a base which is the symbol to be tested. This symbol receives a fraction of the error pulse and other symbols, possibly the remainder. It will thus be possible to determine the pulse distance associated with each basic symbol tested. We note that, when the error is distributed over several symbols, the multiplicity, m, is then the ratio of the number of basic symbols with which the pulse distance d1, dmin, is associated with the total number of symbols. in a word.

On note également que l'invention permet de déterminer également le traitement de codes à message infini. Dans ce cas, on considère un message suffisamment long pour éviter les problèmes de bord (début et fin de message) et on recherche uniquement les distances sur les symboles suffisamment éloignés du début et de la fin du message.  It is also noted that the invention also makes it possible to determine the processing of infinite message codes. In this case, we consider a message long enough to avoid edge problems (beginning and end of message) and we only look for the distances on the symbols sufficiently far from the beginning and the end of the message.

On note aussi que l'invention est applicable non seulement aux turbocodes convolutifs (concaténation parallèle) mais est aussi applicable aux codes convolutifs simple ou aux codes construits à partir d'une concaténation série, et plus généralement à tous les codes dont le décodeur sait tirer profit d'échantillons  Note also that the invention is applicable not only to convolutional turbocodes (parallel concatenation) but is also applicable to simple convolutional codes or codes built from a serial concatenation, and more generally to all codes whose decoder knows how to draw profit of samples

<Desc/Clms Page number 23><Desc / Clms Page number 23>

d'entrée pondérés (en anglais soft input ), notamment ceux qui utilisent l'algorithme de Viterbi ou l'algorithme MAP (de l'anglais Maximum a Posteriori ) ou ses versions simplifiées.  soft input, especially those using the Viterbi algorithm or the MAP algorithm (Maximum A Posteriori) or its simplified versions.

On note que l'invention ne se limite pas à une implantation purement matérielle mais qu'elle peut aussi être mise en ouvre sous la forme d'une séquence d'instructions d'un programme informatique ou toute forme mixant une partie matérielle et une partie logicielle. Dans le cas où l'invention est implantée partiellement ou totalement sous forme logicielle, la séquence d'instructions correspondante pourra être stockée dans un moyen de stockage amovible (tel que par exemple une disquette, un CD-ROM ou un DVD-ROM) ou non, ce moyen de stockage étant lisible partiellement ou totalement par un ordinateur ou un microprocesseur.  Note that the invention is not limited to a purely hardware implementation but it can also be implemented in the form of a sequence of instructions of a computer program or any form mixing a hardware part and a part software. In the case where the invention is partially or totally implemented in software form, the corresponding instruction sequence can be stored in a removable storage means (such as for example a floppy disk, a CD-ROM or a DVD-ROM) or no, this storage means being partially or completely readable by a computer or a microprocessor.

On note en outre, que l'invention ne se limite pas aux procédés de qualification ou d'optimisation de code précédemment décrits mais s'étend aux codes obtenus par l'un au moins de ces procédés, au codeur (respectivement au décodeur) permettant de coder (respectivement décoder) des données selon ce code. It should further be noted that the invention is not limited to the previously described methods for qualifying or optimizing code but extends to the codes obtained by at least one of these methods, to the coder (respectively to the decoder) enabling to code (respectively decode) data according to this code.

Claims (27)

(impulse,)). (Impulse,)). 2. Procédé de qualification d'un code correcteur d'erreurs selon la revendication 1, caractérisé en ce que ledit ensemble contient un seul symbole. 2. A method of qualifying an error correcting code according to claim 1, characterized in that said set contains a single symbol.
Figure img00240001
Figure img00240001
REVENDICATIONS 1. Procédé de qualification d'un code correcteur d'erreurs, délivrant des mots de code, formés chacun d'au moins un symbole, caractérisé en ce qu'il associe audit code une première information de qualification, représentative de la capacité d'un décodeur correspondant à corriger des erreurs, obtenue à l'aide d'un processus d'estimation mettant en ouvre les étapes suivantes : - insertion (41) d'une impulsion d'erreur (terreur) prédéterminée, introduisant une perturbation sur un ensemble d'au moins un symbole (w,) d'un mot de code de référence (v) préalablement codé sans erreur ; - décodage (42), à l'aide d'un décodeur à entrées pondérées, du mot de code modifié (w) par ladite impulsion d'erreur, et analyse du résultat dudit décodage, délivrant ladite première information de qualification  1. A method for qualifying an error correction code, delivering code words, each formed of at least one symbol, characterized in that it associates with said code a first qualification information, representative of the capacity of a decoder corresponding to correcting errors, obtained by means of an estimation process implementing the following steps: insertion (41) of a predetermined error pulse (terror), introducing a disturbance on a set of at least one symbol (w,) of a reference code word (v) previously coded without error; decoding (42), using a weighted input decoder, of the modified code word (w) by said error pulse, and analyzing the result of said decoding, delivering said first qualification information;
3. Procédé de qualification d'un code correcteur d'erreurs selon la revendication 1, caractérisé en ce que ledit ensemble contient au moins deux symboles. 3. A method of qualifying an error correcting code according to claim 1, characterized in that said set contains at least two symbols. 4. Procédé de qualification d'un code correcteur d'erreurs selon la revendication 3, caractérisé en ce que tous les symboles dudit ensemble appartiennent à un mot de code concurrent dudit mot de code de référence. 4. A method of qualifying an error correcting code according to claim 3, characterized in that all the symbols of said set belong to a codeword concurrent with said reference code word. 5. Procédé de qualification d'un code correcteur d'erreurs selon l'une quelconque des revendications 1 à 5, caractérisé en ce qu'on associe audit ensemble d'au moins un symbole affecté par ladite impulsion d'erreur une donnée intermédiaire de qualification, fonction d'une amplitude maximale de ladite impulsion d'erreur affectant ledit ensemble et ne perturbant pas le décodage du mot de code, dite distance impulsionnelle. 5. A method of qualifying an error correcting code according to any one of claims 1 to 5, characterized in that associating said set of at least one symbol affected by said error pulse an intermediate data of qualification, a function of a maximum amplitude of said error pulse affecting said set and not disturbing the decoding of the code word, said impulse distance. <Desc/Clms Page number 25> <Desc / Clms Page number 25> 6. Procédé de qualification d'un code correcteur d'erreurs selon la revendication 5, caractérisé en ce que ledit processus d'estimation est répété (26) au moins deux fois introduisant une perturbation sur le même ensemble d'au moins un symbole avec des amplitudes de ladite impulsion d'erreur variables, de façon à déterminer ladite distance impulsionnelle. A method of qualifying an error correcting code according to claim 5, characterized in that said estimation process is repeated (26) at least twice introducing a perturbation on the same set of at least one symbol with amplitudes of said variable error pulse, so as to determine said pulse distance. 7. Procédé de qualification d'un code correcteur d'erreurs selon l'une quelconque des revendications 5 et 6, caractérisé en ce que ladite distance impulsionnelle est égale au plus grand entier J tel que ledit mot de code contenant ledit ensemble affecté de ladite impulsion d'erreur d'amplitude égale audit entier J soit décodé correctement. 7. A method of qualifying an error correcting code according to any one of claims 5 and 6, characterized in that said impulse distance is equal to the largest integer J such that said code word containing said affected set of said amplitude error pulse equal to said integer J is decoded correctly. 8. Procédé de qualification d'un code correcteur d'erreurs selon l'une quelconque des revendications 5 à 7, caractérisé en ce que ledit processus d'estimation est répété (28) pour au moins deux ensembles distincts de symboles dudit mot de code de référence. A method for qualifying an error correcting code according to any one of claims 5 to 7, characterized in that said estimation process is repeated (28) for at least two distinct sets of symbols of said codeword reference. 9. Procédé de qualification d'un code correcteur d'erreurs selon l'une quelconque des revendications 5 à 8, caractérisé en ce que ladite première information de qualification est la distance impulsionnelle minimale (impulse) parmi la ou les distances impulsionnelles déterminées. 9. A method of qualifying an error correcting code according to any one of claims 5 to 8, characterized in that said first qualification information is the minimum impulse distance (impulse) among the determined impulse distance or distances. 10. Procédé de qualification d'un code correcteur d'erreurs selon l'une quelconque des revendications 5 à 9, caractérisé en ce qu'il affecte (27) audit code une seconde information de qualification (m), représentative du nombre desdits ensembles les plus sensibles à une impulsion d'erreur, dans ledit mot de code de référence. 10. A method of qualifying an error correcting code according to any one of claims 5 to 9, characterized in that it assigns (27) said code a second qualification information (m), representative of the number of said sets most sensitive to an error pulse, in said reference code word. 11. Procédé de qualification d'un code correcteur d'erreurs selon les revendications 9 et 10, caractérisé en ce que ladite seconde information de qualification, dite multiplicité, est le rapport : 11. A method of qualifying an error correcting code according to claims 9 and 10, characterized in that said second qualification information, called multiplicity, is the ratio:
Figure img00250001
Figure img00250001
- du nombre desdits ensembles pour lesquels ladite distance impulsionnelle est < - égale à ladite distance impulsionnelle minimale sur le nombre (n) total de symboles dans un mot de code.  the number of said sets for which said pulse distance is equal to said minimum pulse distance over the total number of symbols in a code word. <Desc/Clms Page number 26> <Desc / Clms Page number 26>
12. Procédé de qualification d'un code correcteur d'erreurs selon l'une quelconque des revendications 1 à 11, caractérisé en ce que ledit ensemble ou lesdits ensembles selon la revendication 8 sur lequel ou lesquels est appliqué ledit processus d'estimation est ou sont sélectionnés en tenant compte des éventuelles propriétés de périodicité dudit code. A method of qualifying an error correcting code according to any one of claims 1 to 11, characterized in that said set or sets according to claim 8 on which said estimation process is applied is are selected taking into account any periodicity properties of said code. 13. Procédé de qualification d'un code correcteur d'erreurs selon l'une quelconque des revendications 1 à 12, caractérisé en ce que ledit mot de code de référence est un mot dont tous lesdits symboles prennent la valeur binaire 0. 13. A method of qualifying an error correcting code according to any one of claims 1 to 12, characterized in that said reference code word is a word of which all said symbols take the binary value 0. 14. Procédé de qualification d'un code correcteur d'erreurs selon l'une quelconque des revendications 1 à 13, caractérisé en ce que ledit mot de code de référence subit une modulation (31), avant ladite insertion d'une impulsion d'erreur. 14. The method of qualifying an error correcting code according to any one of claims 1 to 13, characterized in that said reference code word undergoes a modulation (31), before said insertion of a pulse of fault. 15. Procédé de qualification d'un code correcteur d'erreurs selon l'une quelconque des revendications 1 à 14, caractérisé en ce qu'il comprend une étape d'estimation d'un gain, dit gain asymptotique (Ga), représentatif de l'efficacité dudit code correcteur d'erreurs par rapport à absence de codage, en fonction de ladite première information de qualification. 15. A method of qualifying an error correction code according to any one of claims 1 to 14, characterized in that it comprises a step of estimating a gain, said asymptotic gain (Ga), representative of the effectiveness of said error correction code compared to no coding, according to said first qualification information. 16. Procédé de qualification d'un code correcteur d'erreurs selon la 16. Method for qualifying an error correcting code according to the
Figure img00260001
Figure img00260001
revendication 15, caractérisé en ce que ledit gain asymptotique est approché par :  claim 15, characterized in that said asymptotic gain is approximated by:
Figure img00260002
Figure img00260002
Ga = 101og (R. )  Ga = 101og (R.)
Figure img00260003
Figure img00260003
où : R est le rendement dudit code correcteur d'erreurs ; dmin est la distance impulsionnelle minimale, telle que définie à la revendication 9.  where: R is the yield of said error correcting code; dmin is the minimum impulse distance as defined in claim 9.
17. Procédé de qualification d'un code correcteur d'erreurs selon l'une quelconque des revendications 1 à 16, caractérisé en ce qu'il comprend les étapes suivantes : 17. A method of qualifying an error correcting code according to any one of claims 1 to 16, characterized in that it comprises the following steps:
Figure img00260004
Figure img00260004
- génération et modulation (22) dudit mot de code de référence ; - sélection (23,26) d'au moins un ensemble d'au moins un symbole dudit mot de code de référence ;  - generating and modulating (22) said reference code word; selecting (23, 26) at least one set of at least one symbol of said reference code word; <Desc/Clms Page number 27><Desc / Clms Page number 27> - affectation (41) d'une impulsion d'erreur d'une amplitude déterminée audit (ou audits) ensemble (s) sélectionné (s) pour former un mot erroné ; - décodage (42) dudit mot erroné, prenant en compte des entrées pondérées, et délivrant un mot décodé ; - comparaison dudit mot décodé avec ledit mot de code initial.  assigning (41) an error pulse of a determined magnitude to said selected audit (or audits) to form an erroneous word; decoding (42) said erroneous word, taking into account weighted inputs, and delivering a decoded word; comparing said decoded word with said initial code word.
18. Procédé de qualification d'un code correcteur d'erreurs selon l'une quelconque des revendications 1 à 17, caractérisé en ce qu'on fait varier l'amplitude de ladite impulsion d'erreur selon une règle déterminée, appartenant au groupe comprenant : - une première règle selon laquelle, lors de la première itération, l'amplitude de ladite impulsion d'erreur est affectée d'une faible valeur et est incrémentée lors des itérations suivantes jusqu'à ce que ledit mot décodé soit différent dudit mot de code initial ; - une seconde règle selon laquelle, lors de la première itération, l'amplitude de ladite impulsion d'erreur est affectée d'une forte valeur et est décrémentée lors des itérations suivantes jusqu'à ce que ledit mot décodé soit égal audit mot de code initial ; - une troisième règle selon laquelle, lors des premières itérations, l'amplitude de ladite impulsion d'erreur est affectée de deux valeurs extrêmes et, lors des itérations suivantes, on procède par dichotomie, la valeur de l'amplitude de ladite erreur étant choisie en fonction de ladite sous-étape de comparaison ; et - une combinaison desdites première et seconde règles avec ladite troisième règle. 18. A method of qualifying an error correcting code according to any one of claims 1 to 17, characterized in that the amplitude of said error pulse is varied according to a given rule, belonging to the group comprising a first rule according to which, during the first iteration, the amplitude of said error pulse is assigned a small value and is incremented during the following iterations until said decoded word is different from said word of initial code; a second rule according to which, during the first iteration, the amplitude of said error pulse is assigned a high value and is decremented during the following iterations until said decoded word equals said code word initial; a third rule according to which, during the first iterations, the amplitude of said error pulse is affected by two extreme values and, during the following iterations, a dichotomy is performed, the value of the amplitude of said error being chosen according to said substep of comparison; and a combination of said first and second rules with said third rule. 19. Procédé de qualification d'un code correcteur d'erreurs selon l'une quelconque des revendications 1 à 18, caractérisé en ce que ledit code fait partie du groupe comprenant : des codes convolutifs ; des turbo codes convolutifs ; 19. A method of qualifying an error correcting code according to any one of claims 1 to 18, characterized in that said code is part of the group comprising: convolutional codes; convolutional turbo codes; <Desc/Clms Page number 28><Desc / Clms Page number 28> des turbo codes algébriques ; des codes concaténés parallèles ; des codes concaténés séries ; et des combinaisons des codes précédents.  algebraic turbo codes; concatenated parallel codes; series concatenated codes; and combinations of the preceding codes. 20. Procédé de qualification d'un code correcteur d'erreurs selon l'une quelconque des revendications 1 à 19, caractérisé en ce qu'il comprend, en outre, une étape de détermination d'au moins un symbole de mot de code le plus sensible aux erreurs. 20. A method of qualifying an error correcting code according to any one of claims 1 to 19, characterized in that it further comprises a step of determining at least one code word symbol on more sensitive to errors. 21. Procédé de qualification d'un code correcteur d'erreurs selon l'une quelconque des revendications 1 à 20, caractérisé en ce qu'il comprend, en outre, une étape de comparaison de la sensibilité des symboles de mot de code aux erreurs et de construction d'un code à protection inégale en fonction du résultat de ladite étape de comparaison. 21. A method for qualifying an error correcting code according to any one of claims 1 to 20, characterized in that it further comprises a step of comparing the sensitivity of the code word symbols to errors. and constructing an unequal protection code according to the result of said comparing step. 22. Procédé d'optimisation d'un codage de canal, caractérisé en ce qu'il met en ouvre le procédé de qualification d'un code correcteur d'erreurs selon l'une quelconque des revendications 1 à 21 sur au moins deux codes candidats et une étape de sélection pour ledit codage de canal d'un desdits codes candidats, en fonction d'une analyse desdites premières informations de qualification affectées à chacun desdits codes candidats. 22. A method for optimizing a channel coding, characterized in that it implements the method for qualifying an error correction code according to any one of claims 1 to 21 over at least two candidate codes. and a selection step for said channel coding of one of said candidate codes, based on an analysis of said first qualification information assigned to each of said candidate codes. 23. Procédé d'optimisation d'un codage de canal selon la revendication 22, caractérisé en ce que chacun desdits codes est associé à une modulation prédéterminée, et en ce que ladite étape de sélection tient compte de l'association code/modulation. 23. A method for optimizing a channel coding according to claim 22, characterized in that each of said codes is associated with a predetermined modulation, and in that said selection step takes into account the code / modulation association. 24. Procédé d'optimisation d'un codage de canal selon l'une quelconque des revendications 22 et 23, caractérisé en ce que ladite étape de sélection tient compte de également de ladite seconde information de qualification selon l'une quelconque des revendication 10 et 11 et/ou dudit gain asymptotique selon l'une quelconque des revendications 15 et 16. 24. The method of optimizing a channel coding according to claim 22, wherein said selection step also takes into account said second qualification information according to claim 10 and 11 and / or asymptotic gain according to any one of claims 15 and 16. 25. Codeur permettant la correction d'erreurs, caractérisé en ce que le code correspondant est sélectionné selon un procédé de qualification selon l'une 25. Encoder for error correction, characterized in that the corresponding code is selected according to a qualification method according to one of <Desc/Clms Page number 29><Desc / Clms Page number 29> quelconque des revendications 1 à 21 et/ou selon un procédé d'optimisation d'un codage de canal selon l'une quelconque des revendications 22 à 24.  any of claims 1 to 21 and / or according to a channel coding optimization method according to any one of claims 22 to 24. 26. Décodeur permettant un décodage de données codées à l'aide d'un code correcteur d'erreurs et une correction d'erreurs correspondante, caractérisé en ce que ledit code correcteur d'erreurs est sélectionné selon l'une quelconque des revendications 1 à 21 et/ou selon un procédé d'optimisation d'un codage de canal selon l'une quelconque des revendications 22 à 24. 26. Decoder for decoding coded data using error correction code and corresponding error correction, characterized in that said error correction code is selected according to any one of claims 1 to 21 and / or according to a channel coding optimization method according to any one of claims 22 to 24. 27. Application du procédé de qualification d'un code correcteur d'erreurs selon l'une quelconque des revendications 1 à 21 et/ou du procédé d'optimisation d'un codage de canal selon l'une quelconque des revendications 22 à 24, caractérisé en ce que ladite application appartient au groupe comprenant : - la transmission de données sur un canal bruité ; - l'optimisation de codage de canal avec protection inégale ; - l'estimation de la distance libre d'un code ; et l'estimation des performances d'un code. 27. Application of the method for qualifying an error correcting code according to any one of claims 1 to 21 and / or the method of optimizing a channel coding according to any one of claims 22 to 24, characterized in that said application belongs to the group comprising: - the transmission of data over a noisy channel; - channel coding optimization with unequal protection; - estimation of the free distance of a code; and estimating the performance of a code.
FR0111764A 2001-09-11 2001-09-11 METHOD FOR QUALIFYING ERROR CORRECTING CODES, OPTIMIZATION METHOD, CORRESPONDING ENCODER, DECODER AND APPLICATION Expired - Fee Related FR2829636B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0111764A FR2829636B1 (en) 2001-09-11 2001-09-11 METHOD FOR QUALIFYING ERROR CORRECTING CODES, OPTIMIZATION METHOD, CORRESPONDING ENCODER, DECODER AND APPLICATION
PCT/FR2002/003057 WO2003023975A1 (en) 2001-09-11 2002-09-09 Method for qualifying error-correcting codes, optimization method, corresponding encoder, decoder and application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0111764A FR2829636B1 (en) 2001-09-11 2001-09-11 METHOD FOR QUALIFYING ERROR CORRECTING CODES, OPTIMIZATION METHOD, CORRESPONDING ENCODER, DECODER AND APPLICATION

Publications (2)

Publication Number Publication Date
FR2829636A1 true FR2829636A1 (en) 2003-03-14
FR2829636B1 FR2829636B1 (en) 2004-01-02

Family

ID=8867187

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0111764A Expired - Fee Related FR2829636B1 (en) 2001-09-11 2001-09-11 METHOD FOR QUALIFYING ERROR CORRECTING CODES, OPTIMIZATION METHOD, CORRESPONDING ENCODER, DECODER AND APPLICATION

Country Status (2)

Country Link
FR (1) FR2829636B1 (en)
WO (1) WO2003023975A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452310A (en) * 1992-10-09 1995-09-19 U.S. Philips Corporation Method of and device for correcting errors and erasures in digital information
US5502732A (en) * 1993-09-20 1996-03-26 International Business Machines Corporation Method for testing ECC logic
US6035007A (en) * 1996-03-12 2000-03-07 Ericsson Inc. Effective bypass of error control decoder in a digital radio system
US6397357B1 (en) * 1996-10-08 2002-05-28 Dell Usa, L.P. Method of testing detection and correction capabilities of ECC memory controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452310A (en) * 1992-10-09 1995-09-19 U.S. Philips Corporation Method of and device for correcting errors and erasures in digital information
US5502732A (en) * 1993-09-20 1996-03-26 International Business Machines Corporation Method for testing ECC logic
US6035007A (en) * 1996-03-12 2000-03-07 Ericsson Inc. Effective bypass of error control decoder in a digital radio system
US6397357B1 (en) * 1996-10-08 2002-05-28 Dell Usa, L.P. Method of testing detection and correction capabilities of ECC memory controller

Also Published As

Publication number Publication date
FR2829636B1 (en) 2004-01-02
WO2003023975A1 (en) 2003-03-20

Similar Documents

Publication Publication Date Title
US8751907B2 (en) Joint encoding and decoding methods for improving the error rate performance
EP0891656B1 (en) Data block convolutional coding device and method, and corresponding decoding method and device
CA2245603C (en) Method of enhanced max-log-a posteriori probability processing
EP0808538B1 (en) Iterative-structure digital signal reception device, and module and method therefor
Kliewer et al. Iterative joint source-channel decoding of variable-length codes using residual source redundancy
EP2806565B1 (en) Method for decoding a correction code, for example a turbo-code, by analysing the extended spectrum of the code words
EP0995272B1 (en) Product code iterative decoding
FR2804260A1 (en) DIGITAL CORRECTIVE ERROR-TYPE CODING TRANSMITTING METHOD
EP0827285A1 (en) Information bits transmission process with error correction coding, and coder and decoder therefor
EP0827284A1 (en) Information bits transmission process with error correction coding, and coder and decoder therefor
FR2808632A1 (en) TURBO-DECODING METHOD WITH RE-ENCODING OF ERRONEOUS INFORMATION AND FEEDBACK
EP1230736B1 (en) Method for decoding data coded with an entropic code, corresponding decoding device and transmission system
JP3887255B2 (en) Data processing apparatus using iterative decoding
EP1128589B1 (en) Interruption criterion for a turbo decoder
EP2833555B1 (en) Improved method for decoding a corrector code with message passing, in particular for the decoding of LDPC codes or turbo codes
US20040237020A1 (en) Recording-medium reproducing apparatus, decoding method, decoding program, and program-recorded medium
EP1282254A1 (en) Channel coding and decoding for modulation with large number of states
EP1128588A1 (en) Method of error correcting coding-type digital transmission comprising a step of puncturing scheme selection
FR2884661A1 (en) METHOD AND DEVICE FOR DECODING A VARIABLE LENGTH CODE USING PRIORI PROBABILITY INFORMATION
FR2829636A1 (en) Method for qualifying the error-correcting codes, optimization method, coder, decoder, and the corresponding application
FR2972878A1 (en) ERROR CORRECTING ENCODING METHOD, DECODING METHOD AND ASSOCIATED DEVICES
EP1249939B1 (en) Method and device to optimize, under performance constraints, the size of coded data blocs
Yamane et al. Bit error rate analysis on iterative two-stage decoding of two dimensional codes by importance sampling
WO2008129195A1 (en) Coding and decoding of data signals with variable rates
WO2016085314A1 (en) Improved turbo decoding using a weighted average of the extrinsic information over several iterations

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 16

ST Notification of lapse

Effective date: 20180531