EP1475895A1 - Device and process to add-compare-select-adjust in a decoder - Google Patents
Device and process to add-compare-select-adjust in a decoder Download PDFInfo
- Publication number
- EP1475895A1 EP1475895A1 EP04354020A EP04354020A EP1475895A1 EP 1475895 A1 EP1475895 A1 EP 1475895A1 EP 04354020 A EP04354020 A EP 04354020A EP 04354020 A EP04354020 A EP 04354020A EP 1475895 A1 EP1475895 A1 EP 1475895A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- bits
- values
- value
- metrics
- metric
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
- H03M13/6505—Memory efficient implementations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4107—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
Definitions
- the present invention relates generally to signal decoders, such as decoders of the type turbodécodeurs. More particularly, the present invention relates to particular modules used in such decoders, generally called ACSO modules ("Add-Compare-Select-Offset" - “Add-Compare-Select-Select-Adjust") who realize addition operations to provide a plurality of data, then comparison of the data obtained and selection of a data from the data obtained and data adjustment selected.
- One of the goals of digital communications is error-free data transmission.
- data is subject to noise which can cause errors on the data received.
- correction techniques are used error.
- a known error correction technique is convolutional coding. This technique provides a correction effective error but requires decoding techniques sophisticated.
- Error correction codes have an effect important technique since they allow error correction of data transmitted between a transmitter and a receiver in applications such as telecommunications.
- Convolution codes allow the receiver to digital data to correctly determine the transmitted data even when errors have occurred during the transmission.
- Convolutional codes introduce redundancies in the data to be transmitted and provide the data transmitted sequentially in packets in which the value of each bit is dependent on previous bits in the sequence. So when errors occur, the receiver can deduce the original data by retracing the sequences possible data received.
- methods of coding include cross-connects, which mix the order of the bits of the coded packet. So when adjacent bits are altered during the transmission, the error is spread over the entire initial package and can thus be more effectively corrected.
- coders which code the data to be transmitted more than once, in parallel or in series.
- coders which code the data to be transmitted more than once, in parallel or in series.
- Such a method of error correction is called parallel convolutional coding systematic (CCPS).
- CCPS parallel convolutional coding systematic
- Each transmitted data packet can correspond to a single bit of the initial data, we speak then coding in monobinary mode; or match a couple of bits (or "bibit") of the initial data, this is called coding in duobinary mode.
- LLR log likelihood ratio
- the iterative decoding process receives a sequence input corresponding to probabilities for each value received and provides corrected probabilities as an output. Decoding iterative is achieved by several iterations after which the corrected probability represents the data transmitted close enough.
- the decoded data is taken equal to "1" when the LLR ratio is positive, and "0" otherwise.
- the LLR report therefore contains both information representative of the value of the data decoded x and information representative of the reliability of the value of the decoded data.
- the LLR ratio calculation algorithm is based on a trellis similar to that used in the Viterbi algorithm.
- FIG. 1 represents an example of a trellis with N states, N being equal to 4 in FIG. 1.
- states S i , i ranging from 1 to 4 are represented in the vertical direction.
- Different instants k, k ranging from 1 to 5, are represented in the horizontal direction.
- Each point S i, k of the trellis represents the i th state at time k.
- a state can represent a sequence of a determined number of bits corresponding to the supposed state of several flip-flops of the convolutional encoder at transmission.
- each state can be associated with one of the sequences ("00", "01", "10", "11") corresponding to the supposed state of two flip-flops of the coder.
- a branch B represents a transition between a state at an instant k and a state at an instant k + 1.
- the transition from one state to another corresponds to the reception by the decoder of data corresponding to a bit of value "0" or "1". From a state at an instant k, for example the state S 2,3 , there are therefore only two possible transitions to the states S 3,4 and S 4,4 depending on whether the data received is a bit with value "0" or "1".
- the LLR report calculation algorithm has three main steps.
- an upstream probability ⁇ k (S i, k ) of being in the state S i, k is calculated as follows:
- the LLR ratio is calculated as follows: where B (k, 0) (respectively B (k, 1)) is the set of possible transitions from a state S l, k-1 to a state S i, k caused by an input data equal to " 0 "(respectively” 1 ").
- ⁇ k (S i, k ) is called upstream state metrics for the state S i, k or upstream path metric for the state S i, k .
- ⁇ k (S i, k ) log ( ⁇ k (S i, k ))
- ⁇ k (S i, k ) is called backward state metrics for state S i, k or path downstream metric for state S i, k .
- Upstream metric calculations ⁇ k (S i, k ) and downstream ⁇ k (S i, k ) of state are realized by particular modules of the decoder called modules ACSO ("ADD-COMPARE-SELECT-OFFSET" - "Add-Compare-Select-Adjust") which implement the function MAX + .
- the iterative operation of an ACSO module implies to make several accumulations of a large number of sums state and branch metrics in less than period between the reception of two successive bits. Such a operating speed usually involves using redundant means in ACSO modules, which makes the structure of these modules.
- the ACSO modules include means of limitation for, for example when one of the accumulations exceeds a predetermined threshold, divide all accumulations by a value predetermined. Such means of limitation of accumulations also make the structure of ACSO modules complex.
- the ACSO modules can also include means allowing compensate for a variation in branch metrics due to a variation in transmission gain. Such means of compensation in particular have the effect of increasing the size of the ROM memory in which the adjustment values, and make them even more complex previous means of limitation of accumulations.
- a coding in duobinary mode makes it possible to transmit to frequency equals data with higher bit rate than coding in monobinary mode. We do not currently know no simple devices to implement decoding in duobinary mode.
- An object of the invention is to provide a device simple and inexpensive to implement a decoding in monobinary mode.
- Another object of the invention is to provide a simple and inexpensive device for implementing a decoding in duobinary mode.
- the block of calculation includes a subtractor to calculate the difference first and second values received by the calculation block, a multiplexer controlled by the output of the subtractor for produce on the first output of the largest calculation block received values, and an approximation block to produce on the second output of the calculation block the adjustment value under the form of a value of one bit equal to 1 if said difference is equal to 0, 1 or -1 and equal to 0 otherwise.
- the block of approximation comprises a first logic gate calculating a NOR of all the bits of said difference except for its least significant bit, a second logic gate calculating an AND of all the bits of said difference, and a third logic gate calculating an OR of the outputs of the first and second logic gates.
- the present invention also relates to a decoder comprising 2 N , where N is greater than 1, devices in duobinary mode as described above, each of which is associated with a particular value of N bits, the decoder receiving data in the form of consecutive bits;
- each device associated with a first value being connected to provide one of the metrics previous status to four devices, each associated with a value of which the most significant N-2 bits are the N-2 bits of least significant of said first value and whose two bits of low weights are respectively one of the four values possible from the last bibit received;
- the value is selected by calculating the difference of compared values and providing the largest of the values compared on the basis of the sign of said difference, and the adjustment value is produced as a value of one bit equal to 1 if said difference is equal to 0, 1 or -1 and equal to 0 otherwise.
- the value of adjustment is equal to the logical OR of a logical NON-OR of all the bits of said difference except for its weight bit the lowest and a logical AND of all the bits in said difference.
- FIG. 2 represents an example of a trellis for decoding data encoded in duobinary mode.
- each state can be associated with one of the sequences ("000”, "001”, “010”, “011”, “100”, “101", “110”, “111” ) internal states of the convolutional encoder.
- a transmitted bibit is received at each instant k in the form of an analog datum, and each branch of the trellis is associated with a branch metric ⁇ k calculated substantially in the same way as according to equation (2) above, if we call r k the analog value received and x k the bibit that we should have received for the branch, or "bibit received".
- each of the upstream state metrics ⁇ k (S i, k ) and downstream ⁇ k (S i, k ) can be calculated by an ACSO module in duobinary mode according to the invention, comprising two ACSO modules in monobinary mode each calculating the MAX + of two sums of a state metric and a metric of associated branch, followed by a block calculating the MAX + of the results of the ACSO modules in monobinary mode.
- Figure 3 shows an ACSO module in mode duobinaire MM1 according to the invention, allowing the calculation of the state metric (upstream or downstream) of a state considered at an instant given k.
- state metric either for an upstream state metric or a metric downstream state and when referring to a state adjacent to the state considered, it means a state at a later time k + 1 or earlier k-1 in the considered state, depending on the metric considered.
- the ACSO module in duobinary mode DM includes a first ACSO module in monobinary mode MM1.
- the module MM1 receives at the input data MI 1 , MI 2 which respectively represent first and second metrics of previous state.
- the module MM1 also receives data GI 1 , GI 2 which represent branch metrics corresponding to the branches between the state considered and the first and second adjacent states respectively.
- the module MM1 has two adders 10 and 11 respectively receiving as input the data MI 1 , GI 1 and MI 2 , GI 2 .
- a calculation block 12 receives on two inputs the values (a, b) produced at the output of the adders 10 and 11.
- the calculation block 12 comprises a subtractor 13 calculating the difference ab.
- An approximation block 15 receives the difference ab and supplies a value ADJ1 equal to 1 if the difference ab has a value equal to 0, 1 or -1, and a value equal to 0 otherwise.
- the value ADJ1 is a 1-bit coded approximation of the adjustment value In (1 + e -
- Block 15 includes for example a logic gate 16 calculating a NOR of all the bits of the difference ab except for its least significant bit, a logic gate 17 calculating an AND of all the bits of the difference ab, and a logic gate 18 calculating an OR of the outputs of gates 16 and 17.
- the ACOB duobinary DM module includes a second ACOB monobinary module MM2 with the same structure as the module MM1, producing a current state metric MAXP2 from data MI 3 , MI 4 , GI 3 and GI 4 representing respectively third and fourth metrics previous state and corresponding branch metrics.
- the same references in which the 1 of the tens has been replaced by a 2 denote the same elements in the modules MM1 and MM2.
- the duobinary ACSO module DM also includes a calculation block 32 of the same structure as the calculation block 12 of the module MM1.
- Block 32 receives the outputs MAXP1 and MAXP2 from modules MM1 and MM2 and provides an adder 39 with an equal MAX3 value maximum of MAXP1 and MAXP2 and an adjustment value ADJ3 corresponding to In (1 + e -
- the MAXP3 output of the adder 39 constitutes the output of the DM module.
- the DM module preferably operates synchronously, and includes means (not shown) for synchronizing data such as flip-flops D.
- the DM module also preferably includes initialization means (not shown) allowing for example to set to 0 in a controllable manner the outputs of adders 10 and 11 of module MM1 and corresponding adders of module MM2.
- a decoder using a monobinary ACSO module according to the invention such as module MM1, with an adjustment value Single bit ADJ1
- a decoder includes other systems (especially upstream of the calculation of LLR) whose operation is more penalizing for the performance of the decoder, so that using a single bit adjustment value has no influence on the overall performance of the decoder.
- a decoder using a DM module with ADJ1, ADJ2 and ADJ3 one-bit adjustment values according to the invention does not exhibit degraded performance by compared to a decoder using a DM module with values multi-bit adjustment produced by memories ROM, while having a size significantly reduced by the deletion of ROM memories.
- the values of state metrics MI 1 , MI 2 are coded on the same number of bits n.
- the adders 10, 11 and 19 of the module MM1 operate modulo n without retaining the carry, so as to each provide an output coded on the same number of bits n.
- the inventors have in fact found that, when implementing the above formulas (17) or (18), the maximum difference between the sum a of MI 1 and GI 1 and the sum b of MI 2 and GI 2 is always less than a predetermined value ⁇ , as well as a + ADJ1-b or b + ADJ1-a.
- n such that n ⁇ 2 ⁇
- the fact for the adders of the module MM1 to carry out modulo n additions does not introduce any error in the calculation of the value produced at the output by the module MM1.
- the values of state metrics MI 3 , MI 4 are coded on n bits and the adders of the module MM2 as well as the adder 39 operate without conservation of the carry, where it follows that the value produced at the output of the module MM1 is also coded on n bits.
- Such an ACSO module structure has the advantage of never being saturated while being particularly simple to implement.
- such a structure advantageously comprises a single means (not shown) of gain compensation on its input, and not a plurality of such means arranged at the level of the adders performing the accumulations in conventional ACSO modules.
- FIG. 4 schematically represents an example of circuit 40 using ACSO modules in duobinary mode according to the invention to perform a decoding based on the trellis of FIG. 2.
- Circuit 40 comprises eight ACSO modules (DM0, DM1, DM2, DM3, DM4, DM5, DM6, DM7).
- the four state metric inputs MI 1 , MI 2 , MI 3 , MI 4 of the modules DM0, DM1, DM2 and DM3 are respectively connected to the outputs of the modules DM0, DM2, DM4 and DM6.
- the four status metric inputs MI 1 , MI 2 , MI 3 , MI 4 of the modules DM4, DM5, DM6 and DM7 are respectively connected to the outputs of the modules DM1, DM3, DM5 and DM7.
- the modules DM0, DM1, DM2, DM3, DM4, DM5, DM6, DM7 are clocked by a signal not shown so as to provide an output value on reception of each bibit.
- the four branch metric inputs GI 1 , GI 2 , GI 3 , GI 4 of the modules DM0 and DM4 are connected to a block, not shown, providing upon reception of each bibit a branch metric ⁇ 00 corresponding to the distance between the value 00 and the value of the bibit received.
- the branch metric inputs of the modules respectively DM1 and DM5, DM2 and DM6, DM3 and DM7 receive values on receipt of each bibit. ⁇ 01 , ⁇ 10 , ⁇ 11 corresponding to the distances between the values 01, 10, 11 and the value of the bibit received.
- module MM1 of the calculation block 12 or block 15 may be similar to the structures corresponding described in the European patent application number 03354009.7 filed in the name of the plaintiff.
- the present invention has been described in relation to a decoding according to an 8-state trellis as in FIG. 2, but a person skilled in the art will easily adapt the invention to a decoding according to other 8-state trellis or according to a trellis with 2 N states, where N is greater than 1.
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
La présente invention concerne de façon générale les décodeurs de signaux, comme par exemple les décodeurs du type turbodécodeurs. Plus particulièrement, la présente invention concerne des modules particuliers utilisés dans de tels décodeurs, appelés généralement modules ACSO ("Add-Compare-Select-Offset"-"Additionner-Comparer-Sélectionner-Ajuster") qui réalisent des opérations d'addition pour fournir une pluralité de données, puis de comparaison des données obtenues et de sélection d'une donnée parmi les données obtenues et d'ajustement de la donnée sélectionnée.The present invention relates generally to signal decoders, such as decoders of the type turbodécodeurs. More particularly, the present invention relates to particular modules used in such decoders, generally called ACSO modules ("Add-Compare-Select-Offset" - "Add-Compare-Select-Select-Adjust") who realize addition operations to provide a plurality of data, then comparison of the data obtained and selection of a data from the data obtained and data adjustment selected.
L'un des objectifs des communications numériques est la transmission de données sans erreur. Durant la transmission, les données sont soumises à du bruit qui peut causer des erreurs sur les données reçues. Pour améliorer la fiabilité lors de la transmission des données, on utilise des techniques de correction d'erreur. Une technique connue de correction d'erreur est le codage par convolution. Cette technique fournit une correction d'erreur efficace mais nécessite des techniques de décodage sophistiquées.One of the goals of digital communications is error-free data transmission. During transmission, data is subject to noise which can cause errors on the data received. To improve reliability when data transmission, correction techniques are used error. A known error correction technique is convolutional coding. This technique provides a correction effective error but requires decoding techniques sophisticated.
Les codes de correction d'erreur présentent un effet technique important puisqu'ils permettent la correction d'erreur de données transmises entre un émetteur et un récepteur dans des applications telles que les télécommunications.Error correction codes have an effect important technique since they allow error correction of data transmitted between a transmitter and a receiver in applications such as telecommunications.
Les codes de convolution permettent au récepteur de données numériques de déterminer correctement les données transmises même lorsque des erreurs se sont produites durant la transmission. Les codes de convolution introduisent des redondances dans les données à transmettre et fournissent les données transmises séquentiellement dans des paquets dans lesquels la valeur de chaque bit est dépendante de bits précédents dans la séquence. Ainsi, lorsque des erreurs se produisent, le récepteur peut déduire les données d'origine en retraçant les séquences possibles de données reçues.Convolution codes allow the receiver to digital data to correctly determine the transmitted data even when errors have occurred during the transmission. Convolutional codes introduce redundancies in the data to be transmitted and provide the data transmitted sequentially in packets in which the value of each bit is dependent on previous bits in the sequence. So when errors occur, the receiver can deduce the original data by retracing the sequences possible data received.
Pour améliorer l'efficacité du codage, des procédés de codage comprennent des brasseurs, qui mélangent l'ordre des bits du paquet codé. Ainsi, lorsque des bits adjacents sont altérés durant la transmission, l'erreur est répartie sur la totalité du paquet initial et peut être ainsi plus efficacement corrigée.To improve the efficiency of coding, methods of coding include cross-connects, which mix the order of the bits of the coded packet. So when adjacent bits are altered during the transmission, the error is spread over the entire initial package and can thus be more effectively corrected.
D'autres améliorations peuvent comprendre des codeurs qui codent les données à transmettre plus d'une fois, en parallèle ou en série. Par exemple, on connaít des procédés de correction d'erreur qui transmettent des paquets de données codées pour lesquels chaque paquet est formé par la juxtaposition de données initiales non codées, de premières données codées issues d'un codage des données initiales par un premier codeur, et de deuxièmes données codées issues d'un codage des données initiales par un second codeur précédé d'un brasseur. Un tel procédé de correction d'erreur est appelé codage convolutif parallèle systématique (CCPS). Chaque paquet de données transmis peut correspondre à un seul bit des données initiales, on parle alors de codage en mode monobinaire ; ou correspondre à un couple de bits (ou "bibit") des données initiales, on parle alors de codage en mode duobinaire.Other improvements may include coders which code the data to be transmitted more than once, in parallel or in series. For example, we know correction methods that transmit coded data packets for which each packet is formed by juxtaposing data uncoded initials, first coded data from a coding of the initial data by a first coder, and second coded data resulting from a coding of the initial data by a second encoder preceded by a brewer. Such a method of error correction is called parallel convolutional coding systematic (CCPS). Each transmitted data packet can correspond to a single bit of the initial data, we speak then coding in monobinary mode; or match a couple of bits (or "bibit") of the initial data, this is called coding in duobinary mode.
On sait décoder par "turbodécodage" des données codées en mode monobinaire avec un algorithme itératif, relativement efficace pour atteindre des taux d'erreur peu élevés. Plutôt que de déterminer immédiatement si les données reçues sont égales à "0" ou à "1", le récepteur attribue à chaque donnée reçue une valeur sur une échelle à plusieurs niveaux représentant la probabilité que la donnée soit égale à "1". Une échelle classique, que l'on appelle de façon habituelle rapport de probabilité logarithmique ("log likelihood ratio") LLR, représente chaque donnée décodée x par un entier codé sur un nombre prédéterminé de bits. Pour une donnée reçue r, le rapport LLR est déterminé de la façon suivante : où Pr(x=1/r) représente la probabilité que la donnée décodée x soit égale à "1" pour la donnée r reçue et Pr(x=0/r) représente la probabilité que la donnée décodée x soit égale à "0" pour la donnée r reçue.We know how to decode by "turbo-decoding" coded data in monobinary mode with an iterative algorithm, relatively effective to reach low error rates. Rather than immediately determining whether the received data is "0" or "1", the receiver assigns each received data a value on a multi-level scale representing the probability that the data is equal to "1". A conventional scale, which is commonly called the log likelihood ratio (LLR), represents each data item decoded x by an integer coded on a predetermined number of bits. For a data item received r, the LLR ratio is determined as follows: where Pr (x = 1 / r) represents the probability that the decoded data x is equal to "1" for the data r received and Pr (x = 0 / r) represents the probability that the decoded data x is equal to "0 "for the data r received.
Le procédé de décodage itératif reçoit une séquence d'entrée correspondant à des probabilités pour chaque valeur reçue et fournit en sortie des probabilités corrigées. Le décodage itératif est réalisé par plusieurs itérations après lesquelles la probabilité corrigée représente la donnée transmise de façon suffisamment proche.The iterative decoding process receives a sequence input corresponding to probabilities for each value received and provides corrected probabilities as an output. Decoding iterative is achieved by several iterations after which the corrected probability represents the data transmitted close enough.
On compare alors la valeur du rapport LLR à un seuil pour déterminer la valeur de la donnée décodée x. Par exemple, la donnée décodée est prise égale à "1" lorsque le rapport LLR est positif, et à "0" autrement. Le rapport LLR contient donc à la fois une information représentative de la valeur de la donnée décodée x et une information représentative de la fiabilité de la valeur de la donnée décodée.We then compare the value of the LLR ratio to a threshold to determine the value of the decoded data x. For example, the decoded data is taken equal to "1" when the LLR ratio is positive, and "0" otherwise. The LLR report therefore contains both information representative of the value of the data decoded x and information representative of the reliability of the value of the decoded data.
L'algorithme de calcul du rapport LLR est basé sur un treillis similaire à celui utilisé dans l'algorithme de Viterbi.The LLR ratio calculation algorithm is based on a trellis similar to that used in the Viterbi algorithm.
La figure 1 représente un exemple de treillis à N états, N étant égal à 4 en figure 1. Quatre états Si, i allant de 1 à 4, sont représentés selon la direction verticale. Différents instants k, k allant de 1 à 5, sont représentés selon la direction horizontale. Chaque point Si,k du treillis représente le ième état à l'instant k. Un état peut représenter une séquence d'un nombre déterminé de bits correspondant à l'état supposé de plusieurs bascules du codeur convolutif à la transmission. Pour un treillis à quatre états, chaque état peut être associé à l'une des séquences ("00", "01", "10", "11") correspondant à l'état supposé de deux bascules du codeur. Une branche B représente une transition entre un état à un instant k et un état à un instant k+1. La transition d'un état vers un autre correspond à la réception par le décodeur d'une donnée correspondant à un bit de valeur "0" ou "1". A partir d'un état à un instant k, par exemple l'état S2,3, il n'y a donc que deux transitions possibles vers les états S3,4 et S4,4 selon que la donnée reçue est un bit de valeur "0" ou "1".FIG. 1 represents an example of a trellis with N states, N being equal to 4 in FIG. 1. Four states S i , i ranging from 1 to 4, are represented in the vertical direction. Different instants k, k ranging from 1 to 5, are represented in the horizontal direction. Each point S i, k of the trellis represents the i th state at time k. A state can represent a sequence of a determined number of bits corresponding to the supposed state of several flip-flops of the convolutional encoder at transmission. For a trellis with four states, each state can be associated with one of the sequences ("00", "01", "10", "11") corresponding to the supposed state of two flip-flops of the coder. A branch B represents a transition between a state at an instant k and a state at an instant k + 1. The transition from one state to another corresponds to the reception by the decoder of data corresponding to a bit of value "0" or "1". From a state at an instant k, for example the state S 2,3 , there are therefore only two possible transitions to the states S 3,4 and S 4,4 depending on whether the data received is a bit with value "0" or "1".
En pratique, la donnée rk reçue à un instant k est une
donnée analogique. On détermine pour une branche du treillis
reliant l'état Si,k et l'état Sm,k+1 une métrique γk de la
branche correspondant à une transition possible de l'état Si,k
vers l'état Sm,k+1. La métrique de branche correspond à une
distance entre la donnée reçue rk et la donnée xk(Si,k, Sm,k+1)
qu'on aurait dû recevoir pour la branche. Elle peut être
calculée de la façon suivante :
où σ2 est la variance de bruit associée à la donnée reçue rk et
γk(Si,k,Sm,k+1)=0 s'il n'existe aucune branche entre les états
Si,k et Sm,k. On distingue par la suite deux catégories de
métriques de branche :
L'algorithme de calcul du rapport LLR comporte trois étapes principales.The LLR report calculation algorithm has three main steps.
A un instant k, on calcule pour chaque état Si,k, i allant de 1 à N, une probabilité amont αk(Si,k) de se trouver à l'état Si,k de la façon suivante : At an instant k, for each state S i, k , i ranging from 1 to N, an upstream probability α k (S i, k ) of being in the state S i, k is calculated as follows:
On calcule également à l'instant k, pour chaque état Si,k, i allant de 1 à N, une probabilité aval βk(Si,k) de se trouver à l'état Si,k par l'équation suivante : We also calculate at time k, for each state S i, k , i going from 1 to N, a downstream probability β k (S i, k ) of being in state S i, k by the equation next :
A partir de ces deux probabilités, on calcule le rapport LLR de la facon suivante : où B(k,0) (respectivement B(k,1)) est l'ensemble des transitions possibles d'un état Sl,k-1 vers un état Si,k provoquées par une donnée d'entrée égale à "0" (respectivement "1").From these two probabilities, the LLR ratio is calculated as follows: where B (k, 0) (respectively B (k, 1)) is the set of possible transitions from a state S l, k-1 to a state S i, k caused by an input data equal to " 0 "(respectively" 1 ").
Le calcul du rapport LLR nécessite le calcul de
multiplications et de valeurs exponentielles. Ces opérations
sont difficiles à mettre en oeuvre. Pour ce faire, on introduit
la fonction suivante :
On introduit ainsi les définitions suivantes :
Le terme
Le terme
Il en résulte que : It follows that :
L'expression du rapport LLR devient : The expression of the LLR report becomes:
Les calculs des métriques amont
Le fonctionnement itératif d'un module ACSO implique de réaliser plusieurs accumulations d'un grand nombre de sommes de métriques d'état et de branche en une durée inférieure à la période séparant la réception de deux bits successifs. Une telle vitesse de fonctionnement implique généralement d'utiliser des moyens redondants dans les modules ACSO, ce qui rend complexe la structure de ces modules. De plus, afin de limiter la taille des additionneurs utilisés pour les accumulations sans risquer une perte d'information due à une saturation des additionneurs, les modules ACSO comportent des moyens de limitation pour, par exemple lorsque l'une des accumulations dépasse un seuil prédéterminé, diviser toutes les accumulations par une valeur prédéterminée. De tels moyens de limitation des accumulations rendent également la structure des modules ACSO complexe. Les modules ACSO peuvent comporter également des moyens permettant de compenser une variation des métriques de branche due à une variation de gain de transmission. De tels moyens de compensation du gain ont en particulier pour effet d'accroítre la taille de la mémoire ROM dans laquelle sont mémorisées les valeurs d'ajustement, et rendent plus complexes encore les moyens précédents de limitation des accumulations.The iterative operation of an ACSO module implies to make several accumulations of a large number of sums state and branch metrics in less than period between the reception of two successive bits. Such a operating speed usually involves using redundant means in ACSO modules, which makes the structure of these modules. In addition, in order to limit the size of the adders used for accumulations without risking a loss of information due to saturation of the adders, the ACSO modules include means of limitation for, for example when one of the accumulations exceeds a predetermined threshold, divide all accumulations by a value predetermined. Such means of limitation of accumulations also make the structure of ACSO modules complex. The ACSO modules can also include means allowing compensate for a variation in branch metrics due to a variation in transmission gain. Such means of compensation in particular have the effect of increasing the size of the ROM memory in which the adjustment values, and make them even more complex previous means of limitation of accumulations.
Un codage en mode duobinaire permet de transmettre à fréquence égale les données avec un débit plus élevé qu'un codage en mode monobinaire. On ne connaít cependant actuellement pas de dispositifs simples pour mettre en oeuvre un décodage en mode duobinaire.A coding in duobinary mode makes it possible to transmit to frequency equals data with higher bit rate than coding in monobinary mode. We do not currently know no simple devices to implement decoding in duobinary mode.
Un objet de l'invention consiste à prévoir un dispositif simple et peu coûteux pour mettre en oeuvre un décodage en mode monobinaire. An object of the invention is to provide a device simple and inexpensive to implement a decoding in monobinary mode.
Un autre objet de l'invention consiste à prévoir un dispositif simple et peu coûteux pour mettre en oeuvre un décodage en mode duobinaire.Another object of the invention is to provide a simple and inexpensive device for implementing a decoding in duobinary mode.
Pour atteindre ces objets, ainsi que d'autres, la
présente invention prévoit un dispositif pour réaliser une fonction
de type addition-comparaison-sélection-ajustement dans un
décodeur de codes de correction d'erreur, comprenant :
La présente invention vise également un dispositif
pour réaliser une fonction de type addition-comparaison-sélection-ajustement
dans un décodeur de codes de correction
d'erreur fonctionnant en mode duobinaire, comprenant :
Selon un mode de réalisation de l'invention, le bloc de calcul comporte un soustracteur pour calculer la différence des première et deuxième valeurs reçues par le bloc de calcul, un multiplexeur commandé par la sortie du soustracteur pour produire sur la première sortie du bloc de calcul la plus grande des valeurs reçues, et un bloc d'approximation pour produire sur la deuxième sortie du bloc de calcul la valeur d'ajustement sous la forme d'une valeur de un bit égale à 1 si ladite différence est égale à 0, 1 ou -1 et égale à 0 sinon.According to one embodiment of the invention, the block of calculation includes a subtractor to calculate the difference first and second values received by the calculation block, a multiplexer controlled by the output of the subtractor for produce on the first output of the largest calculation block received values, and an approximation block to produce on the second output of the calculation block the adjustment value under the form of a value of one bit equal to 1 if said difference is equal to 0, 1 or -1 and equal to 0 otherwise.
Selon un mode de réalisation de l'invention, le bloc d'approximation comporte une première porte logique calculant un NON-OU de tous les bits de ladite différence à l'exception de son bit de poids le plus faible, une deuxième porte logique calculant un ET de tous les bits de ladite différence, et une troisième porte logique calculant un OU des sorties des première et deuxième portes logiques.According to one embodiment of the invention, the block of approximation comprises a first logic gate calculating a NOR of all the bits of said difference except for its least significant bit, a second logic gate calculating an AND of all the bits of said difference, and a third logic gate calculating an OR of the outputs of the first and second logic gates.
La présente invention vise également un décodeur comportant 2N, où N est supérieur à 1, dispositifs en mode duobinaire tel que décrit précédemment, dont chacun est associé à une valeur de N bits particulière, le décodeur recevant des données sous forme de bibits consécutifs ; The present invention also relates to a decoder comprising 2 N , where N is greater than 1, devices in duobinary mode as described above, each of which is associated with a particular value of N bits, the decoder receiving data in the form of consecutive bits;
la sortie de chaque dispositif associé à une première valeur étant connectée de manière à fournir l'une des métriques d'état précédent à quatre dispositifs, associés chacun à une valeur dont les N-2 bits de poids fort sont les N-2 bits de poids faible de ladite première valeur et dont les deux bits de poids faibles sont respectivement l'une des quatre valeurs possibles du dernier bibit reçu ;the output of each device associated with a first value being connected to provide one of the metrics previous status to four devices, each associated with a value of which the most significant N-2 bits are the N-2 bits of least significant of said first value and whose two bits of low weights are respectively one of the four values possible from the last bibit received;
chaque dispositif associé à une première valeur dont les deux bits de poids faible sont l'une des quatre valeurs possibles (00, 01, 10, 11) d'un bibit recevant comme métriques de branche une valeur correspondant à une distance entre le bibit reçu et ladite une des quatre valeurs possibles d'un bibit.each device associated with a first value of which the two least significant bits are one of the four values possible (00, 01, 10, 11) of a bibit receiving as metrics of branch a value corresponding to a distance between the bibit received and said one of the four possible values of a Bibit.
La présente invention vise également un procédé pour
réaliser une fonction de type addition-comparaison-sélection-ajustement
dans un décodeur de codes de correction d'erreur
fonctionnant en mode monobinaire, comprenant les étapes
suivantes :
La présente invention vise également un procédé pour
réaliser une fonction de type addition-comparaison-sélection-ajustement
dans un décodeur de codes de correction d'erreur
fonctionnant en mode duobinaire, comprenant les étapes
suivantes :
Selon un mode de réalisation de l'invention, à l'étape ii/, la valeur est sélectionnée en calculant la différence des valeurs comparées et en fournissant la plus grande des valeurs comparées sur la base du signe de ladite différence, et la valeur d'ajustement est produite comme étant une valeur de un bit égale à 1 si ladite différence est égale à 0, 1 ou -1 et égale à 0 sinon.According to one embodiment of the invention, in step ii /, the value is selected by calculating the difference of compared values and providing the largest of the values compared on the basis of the sign of said difference, and the adjustment value is produced as a value of one bit equal to 1 if said difference is equal to 0, 1 or -1 and equal to 0 otherwise.
Selon un mode de réalisation de l'invention, la valeur d'ajustement est égale au OU logique d'un NON-OU logique de tous les bits de ladite différence à l'exception de son bit de poids le plus faible et d'un ET logique de tous les bits de ladite différence.According to one embodiment of the invention, the value of adjustment is equal to the logical OR of a logical NON-OR of all the bits of said difference except for its weight bit the lowest and a logical AND of all the bits in said difference.
La présente invention vise également un procédé de
décodage selon un treillis comportant 2N, où N est supérieur à
1, états associés chacun à une valeur de N bits particulière, de
données reçues sous la forme de bibits consécutifs, comportant
les étapes suivantes :
Ces objets, caractéristiques et avantages, ainsi que
d'autres de la présente invention seront exposés en détail dans
la description suivante de modes de réalisation particuliers
faite à titre non limitatif en relation avec les figures jointes
parmi lesquelles :
La figure 2 représente un exemple de treillis de décodage de données codées en mode duobinaire. Le treillis comporte 5 colonnes comportant chacune 8 états Si,j où i = 1-8 et j = 1-5. Chaque colonne est associée à un instant différent correspondant à la réception d'un nouveau bibit de données. Pour un treillis à huit états, chaque état peut être associé à l'une des séquences ("000", "001", "010", "011", "100", "101", "110", "111") des états internes du codeur convolutif. A partir de chaque état à un instant k (par exemple l'état S2,3) il y a quatre transitions possibles (dans l'exemple considéré vers les états S5,4, S6,4, S7,4 et S8,4, selon que le bibit reçu a une valeur "00", "01", "10" ou "11").FIG. 2 represents an example of a trellis for decoding data encoded in duobinary mode. The trellis has 5 columns each comprising 8 states S i, j where i = 1-8 and j = 1-5. Each column is associated with a different time corresponding to the reception of a new data bibit. For an eight-state trellis, each state can be associated with one of the sequences ("000", "001", "010", "011", "100", "101", "110", "111" ) internal states of the convolutional encoder. From each state at an instant k (for example the state S 2,3 ) there are four possible transitions (in the example considered towards the states S 5,4 , S 6,4 , S 7,4 and S 8.4 , depending on whether the bibit received has a value "00", "01", "10" or "11").
En pratique, comme pour un décodage en mode monobinaire, un bibit transmis est reçu à chaque instant k sous la forme d'une donnée analogique, et on associe à chaque branche du treillis une métrique de branche γk calculée sensiblement de la même manière que selon l'équation (2) précédente, si l'on appelle rk la valeur analogique reçue et xk le bibit que l'on aurait dû recevoir pour la branche, ou "bibit reçu".In practice, as for a decoding in monobinary mode, a transmitted bibit is received at each instant k in the form of an analog datum, and each branch of the trellis is associated with a branch metric γ k calculated substantially in the same way as according to equation (2) above, if we call r k the analog value received and x k the bibit that we should have received for the branch, or "bibit received".
On distingue par la suite quatre catégories de
métriques de branche :
Les inventeurs ont montré que l'on peut, par exemple
en suivant un treillis tel qu'en figure 2, mesurer à chaque
instant la probabilité pour que le bibit reçu ait l'une des
quatre valeurs possibles au moyen de quatre rapports LLR
calculés chacun de la façon suivante :
où B(k,00), (respectivement B(k,01), B(k,10), B(k,11)) est
l'ensemble des transitions possibles d'un état Sm,k-1 vers un
état Si,k provoquées par un bibit d'entrée égal à "00"
(respectivement "01", "10", "11").
Le décodage s'effectue en comparant les LLR calculés :
Les inventeurs ont en particulier montré que :
Il découle des formules (17) et (18) précédentes que
chacune des métriques d'état amont
La figure 3 représente un module ACSO en mode duobinaire MM1 selon l'invention, permettant le calcul de la métrique d'état (amont ou aval) d'un état considéré à un instant donné k. Par la suite, on utilise le terme métrique d'état indifféremment pour une métrique d'état amont ou une métrique d'état aval et, lorsqu'on fait référence à un état adjacent à l'état considéré, cela signifie un état à un instant ultérieur k+1 ou antérieur k-1 à l'état considéré, suivant la métrique considérée.Figure 3 shows an ACSO module in mode duobinaire MM1 according to the invention, allowing the calculation of the state metric (upstream or downstream) of a state considered at an instant given k. Thereafter, we use the term state metric either for an upstream state metric or a metric downstream state and when referring to a state adjacent to the state considered, it means a state at a later time k + 1 or earlier k-1 in the considered state, depending on the metric considered.
Le module ACSO en mode duobinaire DM comporte un
premier module ACSO en mode monobinaire MM1. Le module MM1
reçoit en entrée des données MI1, MI2 qui représentent
respectivement des première et deuxième métriques d'état
précédent. Le module MM1 reçoit également des données GI1, GI2
qui représentent des métriques de branche correspondant aux
branches entre l'état considéré et respectivement les premier et
deuxième états adjacents. Le module MM1 comporte deux
additionneurs 10 et 11 recevant respectivement en entrée les
données MI1, GI1 et MI2, GI2. Un bloc de calcul 12 reçoit sur
deux entrées les valeurs (a, b) produites en sortie des
additionneurs 10 et 11. Le bloc de calcul 12 comporte un
soustracteur 13 calculant la différence a-b. Un multiplexeur 14
recevant les valeurs a et b fournit MAX1 = MAX(a,b), c'est-à-dire
soit la valeur a soit la valeur b selon que la différence
a-b est positive ou négative (selon que le bit de signe de a-b
est égal à 0 ou 1). Un bloc 15 d'approximation reçoit la
différence a-b et fournit une valeur ADJ1 égale à 1 si la
différence a-b a une valeur égale à 0, 1 ou -1, et une valeur
égale à 0 sinon. On montre que la valeur ADJ1 est une
approximation codée sur 1 bit de la valeur d'ajustement
In(1+e-|a-b|). Le bloc 15 comporte par exemple une porte logique
16 calculant un NON-OU de tous les bits de la différence a-b à
l'exception de son bit de poids le plus faible, une porte
logique 17 calculant un ET de tous les bits de la différence
a-b, et une porte logique 18 calculant un OU des sorties des
portes 16 et 17. Un additionneur 19 fournit la somme MAXP1 des
valeurs MAX1 et ADJ1, où MAXP1 = MAX+(a,b) conformément à la
formule (6).The ACSO module in duobinary mode DM includes a first ACSO module in monobinary mode MM1. The module MM1 receives at the input data MI 1 , MI 2 which respectively represent first and second metrics of previous state. The module MM1 also receives data GI 1 , GI 2 which represent branch metrics corresponding to the branches between the state considered and the first and second adjacent states respectively. The module MM1 has two
Le module ACSO duobinaire DM comporte un deuxième module ACSO monobinaire MM2 de même structure que le module MM1, produisant une métrique d'état courant MAXP2 à partir de données MI3, MI4, GI3 et GI4 représentant respectivement des troisième et quatrièmes métriques d'état précédent et des métriques de branche correspondantes. De même références dans lesquelles le 1 des dizaines a été remplacé par un 2 désignent de mêmes éléments dans les modules MM1 et MM2.The ACOB duobinary DM module includes a second ACOB monobinary module MM2 with the same structure as the module MM1, producing a current state metric MAXP2 from data MI 3 , MI 4 , GI 3 and GI 4 representing respectively third and fourth metrics previous state and corresponding branch metrics. The same references in which the 1 of the tens has been replaced by a 2 denote the same elements in the modules MM1 and MM2.
Le module ACSO duobinaire DM comporte également un
bloc de calcul 32 de même structure que le bloc de calcul 12 du
module MM1. De même références dans lesquelles le 1 des dizaines
a été remplacé par un 3 désignent de mêmes éléments dans les
blocs 12 et 32. Le bloc 32 reçoit les sorties MAXP1 et MAXP2 des
modules MM1 et MM2 et fournit à un additionneur 39 une valeur
MAX3 égale au maximum de MAXP1 et MAXP2 et une valeur d'ajustement
ADJ3 correspondant à In(1+e-|MAXP1-MAXP2|). La sortie MAXP3
de l'additionneur 39 constitue la sortie du module DM. Le module
DM fonctionne de préférence de manière synchrone, et comporte
des moyens non représentés de synchronisation des données tels
que des bascules D. Le module DM comporte également de préférence
des moyens d'initialisation non représentés permettant par
exemple de mettre à 0 de manière commandable les sorties des
additionneurs 10 et 11 du module MM1 et des additionneurs
correspondants du module MM2.The duobinary ACSO module DM also includes a
Les inventeurs ont mis en évidence que les performances d'un décodeur utilisant un module ACSO monobinaire selon l'invention tel que le module MM1, avec une valeur d'ajustement ADJ1 à un seul bit, ne sont pas dégradées par rapport aux performances d'un décodeur utilisant un module ACSO monobinaire classique avec une valeur d'ajustement à plusieurs bits stockée dans une ROM. En effet, un décodeur comporte d'autres systèmes (notamment en amont du calcul des LLR) dont le fonctionnement est davantage pénalisant pour les performances du décodeur, de sorte que l'utilisation d'une valeur d'ajustement à un seul bit n'a pas d'influence sur les performances globales du décodeur. On montre également qu'un décodeur utilisant un module DM avec des valeurs d'ajustement à un bit ADJ1, ADJ2 et ADJ3 selon l'invention ne présente pas de performances dégradées par rapport à un décodeur utilisant un module DM avec des valeurs d'ajustement à plusieurs bits produites au moyen de mémoires ROM, tout en ayant une taille sensiblement réduite par la suppression des mémoires ROM.The inventors have shown that performance a decoder using a monobinary ACSO module according to the invention such as module MM1, with an adjustment value Single bit ADJ1, are not degraded compared to performance of a decoder using a monobinary ACSO module classic with a stored multibit adjustment value in a ROM. Indeed, a decoder includes other systems (especially upstream of the calculation of LLR) whose operation is more penalizing for the performance of the decoder, so that using a single bit adjustment value has no influence on the overall performance of the decoder. We also show that a decoder using a DM module with ADJ1, ADJ2 and ADJ3 one-bit adjustment values according to the invention does not exhibit degraded performance by compared to a decoder using a DM module with values multi-bit adjustment produced by memories ROM, while having a size significantly reduced by the deletion of ROM memories.
Les valeurs de métriques d'état MI1, MI2 sont codées
sur un même nombre de bits n. Selon l'invention et de manière
particulièrement avantageuse, les additionneurs 10, 11 et 19 du
module MM1, fonctionnent modulo n sans conservation de la
retenue, de manière à fournir chacun une sortie codée sur le
même nombre de bits n. Les inventeurs ont en effet constaté que,
lors de la mise en oeuvre des formules (17) ou (18) précédentes,
la différence maximale entre la somme a de MI1 et GI1 et la
somme b de MI2 et GI2 est toujours inférieure à une valeur
prédéterminée δ, de même que a+ADJ1-b ou b+ADJ1-a. Si l'on
choisit n tel que n≥2δ, le fait pour les additionneurs du
module MM1 d'effectuer des additions modulo n n'introduit aucune
erreur dans le calcul de la valeur produite en sortie par le
module MM1. De la même façon, les valeurs de métriques d'état
MI3, MI4 sont codées sur n bits et les additionneurs du module
MM2 ainsi que l'additionneur 39 fonctionnent sans conservation
de la retenue, d'où il résulte que la valeur produite en sortie
du module MM1 est également codée sur n bits. Une telle
structure de module ACSO présente l'avantage de ne jamais être
saturée tout en étant particulièrement simple à mettre en
oeuvre. En outre, une telle structure comporte de manière
avantageuse un seul moyen (non représenté) de compensation de
gain sur son entrée, et non une pluralité de tels moyens
disposés au niveau des additionneurs réalisant les accumulations
dans les modules ACSO classiques.The values of state metrics MI 1 , MI 2 are coded on the same number of bits n. According to the invention and in a particularly advantageous manner, the
La figure 4 représente schématiquement un exemple de
circuit 40 utilisant des modules ACSO en mode duobinaire selon
l'invention pour effectuer un décodage basé sur le treillis de
la figure 2. Le circuit 40 comporte huit modules ACSO (DM0, DM1,
DM2, DM3, DM4, DM5, DM6, DM7). Les quatre entrées de métrique
d'état MI1, MI2, MI3, MI4 des modules DM0, DM1, DM2 et DM3 sont
respectivement reliées aux sorties des modules DM0, DM2, DM4 et
DM6. Les quatre entrées de métrique d'état MI1, MI2, MI3, MI4
des modules DM4, DM5, DM6 et DM7 sont respectivement reliées aux
sorties des modules DM1, DM3, DM5 et DM7. Les modules DM0, DM1,
DM2, DM3, DM4, DM5, DM6, DM7 sont cadencés par un signal non
représenté de manière à fournir une valeur de sortie à la
réception de chaque bibit.FIG. 4 schematically represents an example of
Les quatre entrées de métrique de branche GI1, GI2,
GI3, GI4 des modules DM0 et DM4 sont reliées à un bloc non
représenté fournissant à la réception de chaque bibit une
métrique de branche
Bien entendu, la présente invention est susceptible de
diverses variantes et modifications qui apparaítront à l'homme
de l'art. En particulier, chacun des composants décrits pourra
être remplacé par un ou plusieurs composants remplissant la même
fonction. Ainsi, les structures du module MM1, du bloc de calcul
12 ou du bloc 15 pourront être semblables aux structures
correspondantes décrites dans la demande de brevet européen
numéro 03354009.7 déposée au nom de la demanderesse. Of course, the present invention is capable of
various variations and modifications that will appear to humans
art. In particular, each of the components described may
be replaced by one or more components fulfilling the same
function. Thus, the structures of module MM1, of the
La présente invention a été décrite en relation avec un décodage selon un treillis à 8 états tel qu'en figure 2, mais l'homme du métier adaptera sans difficulté l'invention à un décodage selon d'autres treillis à 8 états ou selon un treillis à 2N états, où N est supérieur à 1.The present invention has been described in relation to a decoding according to an 8-state trellis as in FIG. 2, but a person skilled in the art will easily adapt the invention to a decoding according to other 8-state trellis or according to a trellis with 2 N states, where N is greater than 1.
Claims (10)
la sortie de chaque dispositif associé à une première valeur étant connectée de manière à fournir l'une des métriques d'état précédent à quatre dispositifs, associés chacun à une valeur dont les N-2 bits de poids fort sont les N-2 bits de poids faible de ladite première valeur et dont les deux bits de poids faibles sont respectivement l'une des quatre valeurs possibles du dernier bibit reçu ;
chaque dispositif associé à une première valeur dont les deux bits de poids faible sont l'une des quatre valeurs possibles (00, 01, 10, 11) d'un bibit recevant comme métriques de branche une valeur correspondant à une distance entre le bibit reçu et ladite une des quatre valeurs possibles d'un bibit.Decoder comprising 2 N , where N is greater than 1, devices according to claim 2 (DM0, DM1, DM2, DM3, DM4, DM5, DM6, DM7) each of which is associated with a particular value of N bits, the decoder receiving data in the form of pairs of consecutive bits or bits;
the output of each device associated with a first value being connected so as to supply one of the preceding state metrics to four devices, each associated with a value whose N-2 most significant bits are the N-2 bits of least significant of said first value and the two least significant bits of which are respectively one of the four possible values of the last bit received;
each device associated with a first value whose two least significant bits are one of the four possible values (00, 01, 10, 11) of a bibit receiving as branch metrics a value corresponding to a distance between the bibit received and said one of the four possible values of a bibit.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0305648A FR2854747A1 (en) | 2003-05-09 | 2003-05-09 | APPARATUS AND METHOD FOR ADDITION-COMPARISON-SELECTION- ADJUSTMENT IN A DECODER |
FR0305648 | 2003-05-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1475895A1 true EP1475895A1 (en) | 2004-11-10 |
EP1475895A8 EP1475895A8 (en) | 2005-01-26 |
Family
ID=32982393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP04354020A Withdrawn EP1475895A1 (en) | 2003-05-09 | 2004-05-10 | Device and process to add-compare-select-adjust in a decoder |
Country Status (3)
Country | Link |
---|---|
US (1) | US20050265491A9 (en) |
EP (1) | EP1475895A1 (en) |
FR (1) | FR2854747A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0967730A1 (en) * | 1998-06-26 | 1999-12-29 | Lucent Technologies Inc. | Convolutional decoder with modified metrics |
US20010007142A1 (en) * | 1999-12-23 | 2001-07-05 | Hocevar Dale E. | Enhanced viterbi decoder for wireless applications |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3555195A (en) * | 1967-10-05 | 1971-01-12 | Rca Corp | Multiplex synchronizing circuit |
US3887768A (en) * | 1971-09-14 | 1975-06-03 | Codex Corp | Signal structures for double side band-quadrature carrier modulation |
US4534029A (en) * | 1983-03-24 | 1985-08-06 | International Business Machines Corporation | Fault alignment control system and circuits |
JP3159349B2 (en) * | 1993-12-28 | 2001-04-23 | 日本電気株式会社 | Addition decoding device |
US5991914A (en) * | 1996-02-15 | 1999-11-23 | Nec Corporation | Clock recovery using maximum likelihood sequence estimation |
GB9622539D0 (en) * | 1996-10-30 | 1997-01-08 | Discovision Ass | Galois field multiplier for reed-solomon decoder |
AUPR679401A0 (en) * | 2001-08-03 | 2001-08-30 | Lucent Technologies Inc. | High speed add-compare-select processing |
-
2003
- 2003-05-09 FR FR0305648A patent/FR2854747A1/en active Pending
-
2004
- 2004-05-07 US US10/841,395 patent/US20050265491A9/en not_active Abandoned
- 2004-05-10 EP EP04354020A patent/EP1475895A1/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0967730A1 (en) * | 1998-06-26 | 1999-12-29 | Lucent Technologies Inc. | Convolutional decoder with modified metrics |
US20010007142A1 (en) * | 1999-12-23 | 2001-07-05 | Hocevar Dale E. | Enhanced viterbi decoder for wireless applications |
Also Published As
Publication number | Publication date |
---|---|
US20050265491A9 (en) | 2005-12-01 |
EP1475895A8 (en) | 2005-01-26 |
FR2854747A1 (en) | 2004-11-12 |
US20040223560A1 (en) | 2004-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0848501B1 (en) | Digital transmission system and method comprising a product code combined with multidimensional modulation | |
EP0827285B1 (en) | Information bits transmission process with error correction coding, and coder and decoder therefor | |
EP1378089B1 (en) | Joint turbo decoding and equalization for MIMO transmission with intersymbol interference | |
EP0827284B1 (en) | Information bits transmission process with error correction coding, and coder and decoder therefor | |
EP0808538B1 (en) | Iterative-structure digital signal reception device, and module and method therefor | |
FR2815199A1 (en) | Cyclic turbo coding scheme improves minimum Hamming distance | |
FR2648293A1 (en) | TRANSMITTER, RECEIVER AND TELECOMMUNICATION METHOD FOR IMPROVING THE FUNCTIONING OF FEEDER EQUALIZERS IN TELECOMMUNICATION SYSTEMS USING ERROR CORRECTION | |
WO1997038495A1 (en) | Data block convolutional coding device and method, and corresponding decoding method and device | |
EP0848524A1 (en) | Punctured, trellis coded QAM, with interative decoding | |
EP1362447A1 (en) | Method and system for the iterative encoding-decoding of streams of digital data encoded by spatio-temporal combinations, in multiple transmission and reception | |
FR2810475A1 (en) | Digital radio communications turbo code sequence coding decoding having two decoders dividing code sequences and sequences received allowing two parallel block decoding. | |
FR2804260A1 (en) | DIGITAL CORRECTIVE ERROR-TYPE CODING TRANSMITTING METHOD | |
FR2765426A1 (en) | DATA TRANSMISSION SYSTEM, RECEIVER AND RECORDING MEDIUM | |
EP1101288B1 (en) | Method and device for error correction coding and corresponding decoding method and device | |
FR2790621A1 (en) | Interlacing method for coding and decoding of turbo codes of binary symbols representing a physical magnitude using two convolute recursive coders having polynomial divisor with same data period | |
EP2330745A1 (en) | Method and device for decoding a series of blocks encoded with an error-correction code, correlated by a transmission channel | |
FR2842672A1 (en) | DEVICE AND METHOD FOR ROBUST DECODING OF ARITHMETIC CODES | |
EP1475895A1 (en) | Device and process to add-compare-select-adjust in a decoder | |
FR2914447A1 (en) | ELECTRONIC DATA SHIFTING DEVICE PARTICULARLY FOR ENCODING / DECODING WITH LDPC CODE | |
FR2972878A1 (en) | ERROR CORRECTING ENCODING METHOD, DECODING METHOD AND ASSOCIATED DEVICES | |
EP1211857A1 (en) | Process and device of successive value estimations of numerical symbols, in particular for the equalization of a data communication channel of information in mobile telephony | |
FR2835666A1 (en) | ACS MODULE IN A DECODER | |
WO2008129195A1 (en) | Coding and decoding of data signals with variable rates | |
FR2884661A1 (en) | METHOD AND DEVICE FOR DECODING A VARIABLE LENGTH CODE USING PRIORI PROBABILITY INFORMATION | |
EP2262116B1 (en) | Viterbi decoder with two memories adapted to GNSS signals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL HR LT LV MK |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: STMICROELECTRONICS SA |
|
17P | Request for examination filed |
Effective date: 20050503 |
|
AKX | Designation fees paid |
Designated state(s): DE FR GB IT |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20091201 |