The invention generally relates to digital transmission and recording systems. In particular, it relates to a receiver for receiving a sequence of encoded data produced by a data source from an information sequence and encoded by an encoder, the received encoded data sequence possibly comprising errors, the receiver comprising decoding means for retrieving the information sequence from the received encoded data sequence.
The invention also relates to a method of receiving a sequence of encoded data produced by a data source from an information sequence and to a computer program product for carrying out the method.
It also relates to an optical storage medium and to a transmission or recording system.
The invention applies particularly to broadcasting systems for digital television compatible with e.g. the DVB (Digital Video Broadcasting) standards, to storage systems, such as e.g. Digital Audio Disc and DVD (Digital Video Disc), to xDSL (Digital Subscriber Line) and return channels (via satellite, cable or terrestrial).
Digital transmission or recording systems require efficient error correcting techniques in order to cope with errors introduced by transmission or storage channels. Among these techniques, linear block codes, and especially Reed-Solomon codes have a prominent importance, because they are widely used in many different types of digital communication systems, often concatenated with an internal convolutional code. Most applications use a hard input, hard output algebraic decoder, such as the Berlekamp-Massey algorithm for Reed-Solomon codes. However, the loss of information implied by hard input decoding leads to a lack of efficiency for algebraic decoders. Moreover, more optimal decoding techniques i.e. maximum likelihood decoding are too complex to be implemented for long and practical codes. Consequently, sub optimal soft decision (SD) decoding techniques have been investigated. One of these techniques, called reliability-based decoding (RBD) includes algorithms based on the ordering of received symbols in accordance with their reliability values.
It is an object of the invention to provide a receiver using a new RBD method, which strikes a balance between complexity and error performance for a fixed Signal to Noise ratio (SNR).
According to the invention, a receiver is provided for receiving a sequence of data encoded by a linear block code and produced by a data source from an information sequence, the received encoded data sequence possibly comprising errors, the receiver comprising decoding means for retrieving the information sequence from the received encoded data sequence, the decoding means comprising:
A soft-input, soft-output (SISO) version of the invention is also described.
The invention applies to any linear block code (binary or non-binary) for which an algebraic decoder is available, and particularly to Reed-Solomon codes. It also applies to systems with a linear block code concatenated with an internal convolutional code if the convolutional code is decoded using a soft output decoder, e.g. Soft Output Viterbi Algorithm or SOVA.
The invention and additional features, which may be optionally used to implement the invention to advantage, are apparent from and will be elucidated with reference to the drawings described hereinafter.
The transmission system of
At the receiver side, the demodulator DEMOD outputs a sequence of n data or symbols received from the channel and possibly comprising transmission errors and a sequence of n reliability values associated with the sequence of n data or symbols, for the decoder DECOD to decode the sequence, correct the errors and retrieve the originals transmitted sequence of k information data or symbols. To this end, the decoder DECOD comprises:
In a preferred embodiment of the invention:
The preferred embodiment based on a combination of Chase and low-order Fossorier-Lin algorithm, which applies not only to binary linear block codes but also to any linear block code, allows a better error performance to be archieved for a fixed Signal-to-Noise Ratio (SNR) than a Fossorier-Lin algorithm of higher order, which only applies to binary codes and which is far more complex.
The invention extends the Fossorier-Lin principle to non-binary block codes over the Galois Field GF(2m) by describing the latter as binary codes using a binary representation of the field elements. A non-binary code denoted C(n,k) over GF(2m) is described as a binary code denoted Cbin(n×m,k×m). Chase and Fossorier-Lin algorithms use channel measurement information or reliabilities in complementary ways. They both produce a set of codewords or candidates, among which the candidate which fulfills the same predetermined criterion, that is to say which minimizes the Euclidian distance to the received real sequence, is selected. Chase algorithm assumes that the hard-decision received sequence is more likely to be wrong on the least reliable bits, and therefore complements them before decoding them with an algebraic decoder, such as the Berlekamp-Massey decoder for Reed-Solomon codes described in [1]. On the other hand, Fossorier-Lin algorithm assumes that the most reliable bits are correct and re-calculates the other bits from the most reliable ones. The invention reveals and exploits the complements of Chase and Fossorier-Lin algorithms. If one algorithm fails to produce the right codeword, the other one is very likely to find it because they have different limitations. Chase fails if more than a predetermined number of errors are located outside the least reliable positions to be complemented, whereas order-i Fossorier-Lin falls if there are more than i errors among the most reliable bits. In the preferred embodiment, the order of reprocessing Fossorier-Lin is limited to i=1 or i=2.
To explain the invention in more details, let us express the data with binary elements or bits. In the case of a non-binary linear code, the number of bits per symbol or data is denoted m. In the case of a binary linear code, m is equal to 1. N=n×m is the length of the code in number of bits. K=k×m is the dimension of the code in number of bits. The cardinal number of symbols in the alphabet of the code is equal to 2m. We denote:
The first decoding means of the decoder receives the soft-output decisions {haeck over (r)}j and αj from the demodulator. It sorts the {haeck over (r)}j with respect to their associated reliabilities (αj. In accordance with the preferred embodiment using as first decoding means a variant of the Chase algorithm, it sorts the {haeck over (r)}j so that the new sorted {haeck over (r)}j and αj denoted {haeck over (r)}′j and α′j, respectively, are such that α′j<α′j+1. 2t Intermediate candidates are then built from {haeck over (r)}, t being lower or equal to the error correction capacity of the algebraic decoder, by changing one of the t least reliable bits for each intermediate candidate (the t least reliable bits being the first t bits in accordance with the preferred embodiment). Then an algebraic decoding such as e.g. the Berlekamp-Massey is performed on the intermediate candidates, possibly after inverse permutation to put the bits in their original order, for producing a first set of 2t candidates. The method consists of changing at least one bit in part of the least reliable bits to form a set of intermediate candidates and to apply an algebraic decoding to the intermediate candidates to generate the first set of candidates corresponding to possibly transmitted encoded symbols. The processing can be summarized with the following four steps:
The following description relates to the second decoding means in the case where the used code is binary, the second decoding means of the decoder also receives the {haeck over (r)}j and the αj from the demodulator. It also sorts the {haeck over (r)}j with respect to their associated reliabilities αj. The aim is to re-calculate the least reliable bits from more reliable bits using a second error correction algorithm such as e.g. the Fossorier-Lin algorithm. As a matter of fact, linear block codes (which are linear sub-space) are defined so that for a given codeword, any subset of n-k bits can be computed from the other k bits forming the complementary subset to build the codeword by concatenation of the two subsets, provided the bits in the latter subset are linearly independent of each other. Fossorier-Lin algorithm uses this property to compute part of the least reliable bits forming a first subset of bits, from the other subset of linearly independent bits comprising more reliable bits. At least one bit of the second subset is inverted alternatively, forming a set of intermediate candidates. The matrix allowing computation of the bits of one subset from the bits of the other subset is known and based on algebraic linear computation. Then the known algebraic linear coding method is applied to the intermediate candidates to compute the other subset of bits. The second set of candidates is obtained by concatenating the complementary two subsets of bits. In order-1 Fossorier-Lin algorithm (FL-1), only one bit is alternatively inverted in the subset of more reliable bits. In order-2 Fossorier-Lin algorithm (FL-2), 2 bits are alternatively inverted. In accordance with a preferred embodiment of the invention, the process starts by inverting only one bit among the less reliable bits of the subset in the order of inverse reliability such as in FL-1 and continues by inverting two bits among the less reliable ones such as in FL-2, before completing the processing of FL-1. Then the Euclidian distance from the obtained modulated codewords or candidates to the received real sequence may be computed to select the best candidate among the second set of candidates.
The second error correction processing can be summarized as follows. The second set of candidates is derived after concatenating 2 complementary subsets of linearly independent bits. A subset of less reliable bits is computed from a subset of more reliable bits wherein some bits are alternatively changed using one or a combination of Fossorier-Lin variants, which involve a known linear coding method.
Selection means are provided to select one candidate from the first and the second set of candidates produced by the Chase or the Fossorier-Lin variants. The selection is made using a predetermined criterion which provides the possibility of deciding which candidate is the most reliable one. In the preferred embodiment of the invention, this criterion is based on the calculation of the Euclidian distance between each modulated candidate {haeck over (e)}j and the real received sequence rj. This Euclidian distance, denoted dE, is defined as follows:
The most reliable candidate êj, which will be selected in fine is the one, which minimizes the Euclidian distance.
If the used code is non-binary over GF(2m), the invention provides means for transforming the non-binary code into a binary code by transforming the non-binary parity check matrix of the code, denoted H, into a binary matrix, denoted Hbin.
A non-binary linear block code of length n and dimension k is denoted C(n,k). The primitive polynomial of GF(2m) is denoted P(x)=xm+Pm-1 xm-1+ . . . +P0 and has a zero, denoted α. The decoding means comprise:
For example, if C(n,k) is a classical (non-shortened) Reed-Solomon code, the binary representation of the parity check matrix of C is:
If c is a symbol of the code and (c1, c2, . . . , cm)t its binary vectorial representation, the polynomial x×c(x) corresponds to the product α×c and to the vectorial product A×(c1, c2, . . . cm)t, the received sequence must be decomposed into a binary sequence. Then the Dorsch or Dual Fossorier-Lin algorithm as described in the articles by B. G. Dorsch: “a decoding algorithm for binary block codes and j-ary output channels” In IEEE Transactions on Information Theory, vol IT-20, pages 391-394, May 1974[3] or in the article by Fossorier-Lin [2], respectively, is performed on the n×m received sequence, using Hbin.
In another embodiment of the invention, a soft-input soft-output (SISO) complementary decoding is performed. In this embodiment, a soft-decision (SD) output is provided for each bit. The absolute value of the SD output corresponds to the reliability of the decision made on that bit by the soft-input decoder. For both Chase and Fossorier-Lin algorithms, SD is found using the method described in the article by M. P. C. Fossorier and S. Lin: “Soft-input soft-output decoding of linear block codes based on ordered statistics” In Proceedings of Globecom 98, pages 2828-2833, 1998 and in the article by R. M. Pyndiah “Near-optimum decoding of product codes: Block Turbo codes” In IEEE Transactions on Communications, vol 46, no 8, pages 1003-1010, August 1998. This method is described for binary codes and with Chase algorithm, but it can be extended to any method that produces a subset of codewords, as described in the article by P. Sweeney and S. Wesemeyer: Iterative soft-decision decoding of block codes, IEEE Proceedings, vol 147, pages 133-136, June 2000.
In accordance with this embodiment, the first decoding means process a Chase variant, the second decoding means process a Fossorier-Lin variant, and the selection means determine the best codeword candidate, which minimizes the Euclidian distance to the received sequence. If one algorithm falls to produce a candidate, its distance is set to a high fixed value. If the best candidate was produced by the Chase variant, the output is the soft-output given by the SISO Chase algorithm. If the best candidate was produced by the Fossorier-Lin variant, the output is the soft-output given by the SISO Fossorier-Lin algorithm. If both algorithms produced the same best candidate, then for each bit, two cases are distinguished:
The drawings and their description hereinbefore illustrate rather than limit the invention. It will be evident that there are numerous alternatives, which fall within the scope of the appended claims. In this respect, the following closing remarks are made.
There are numerous ways of implementing functions by means of items of hardware or software, or both. In this respect, the drawings are very diagrammatic, each representing only one possible embodiment of the invention. Thus, although a drawing shows different functions as different blocks, this by no means excludes that a single item of hardware or software carries out several functions. Nor does it exclude that an assembly of items of hardware or software, or both carries out a function.
Any reference sign in a claim should not be construed as limiting the claim. Use of the verb “to comprise” and its conjugations does not exclude the presence of elements or steps other than those stated in a claim. Use of the article “a” or “an” preceding an element or step does not exclude the presence of a plurality of such elements or steps.
Number | Date | Country | Kind |
---|---|---|---|
02291342.0 | May 2002 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB03/02075 | 5/15/2003 | WO | 11/24/2004 |