The present invention relates to the field of telecommunications. Within that field, the invention relates more particularly to digital communications, which include both cable communications and wireless communications where the transmission channel may be a radio channel.
Digital communications are making more and more use of more or less sophisticated channel coding. The principle of channel coding is to add controlled redundancy to information symbols to enable the receiver to detect the presence of transmission errors, and where applicable correct them. Existing codes include more particularly slice codes based on the principle illustrated by
The invention relates to decoding techniques. Decoding appropriate to slice coding uses a turbo decoder structure. This is known in the art. One such decoder is described in the paper by M. Arzel, C. Lahuec, M. Jezequel, and F. Seguin “Analog Decoding of Duo-Binary Codes”, International Symposium on Information Theory and its Applications, ISITA2004, Parma, Italy, Oct. 10-13, 2004. The decoder 4 shown in
Thus the technical problem to be solved by the present invention is to propose a decoding method and device suitable for slice coding that do not have the drawbacks of the known methods and devices and consequently enable analog decoding at reduced cost by reducing the area of silicon occupied.
A solution according to the present invention to the stated technical problem is that said method is a method of analog iterative decoding of a frame that can be split into p sub-frames each made up of k information symbols, a first n−k redundant symbols, and a last n−k redundant symbols, where n and k are two particular numbers. For one iteration, for a step i, for i varying from 1 to a maximum of p, the method consists in:
The invention further consists in a device for analog decoding of a frame that can be split into p sub-frames each made up of k information symbols, a first n−k redundant symbols, and a last n−k redundant symbols, where n and k are two particular numbers. The device comprises:
Thus a decoding method and a decoder device according to the invention perform analog decoding of frames that can be split into p sub-frames each consisting of k information symbols, a first n−k redundant symbols, and a last n−k redundant symbols.
The decoding method and device of the invention solve the stated problem. Decoding employs only two individual decoders whatever the number of slices used when coding the frames. This consequently limits the area of silicon occupied by the decoder.
The invention further consists in a data receiver including the above analog frame decoder device and a transmission system including at least one such receiver.
Other features and advantages of the invention become apparent in the course of the following description with reference to the appended drawings, which are provided by way of non-limiting example.
Decoding in accordance with the invention is described with reference to
The frame is split into p sub-frames each consisting of k information symbols and 2×(n−k) redundant symbols, where n and k are particular numbers. Assuming that the received frame results from slice coding, n is the frame size coded by one slice, i.e. the number of output symbols, and k is the number of input symbols of one slice. Each slice produces frames made up of k information symbols and (n−k) redundant symbols.
There are typically the same number of steps i as there are sub-frames in the received frame. The method can nevertheless be limited to a number of steps less than p, for example in a degraded version of the method.
For a step 1 the method consists in:
In parallel with this, during the same step i, the method consists in:
The decoder 20 includes a first individual decoder 21, first interleaver means 22, a second individual decoder 23 independent of the first individual decoder 21, a first analog memory 24, second interleaver means 25, a second analog memory 26, and de-interleaver means 27. It further includes first multiplexer means 31, 32 and second multiplexer means 33, 34. The first multiplexer means 31, 32 consists of a first multiplexer 31 and a second multiplexer 32, for example, and the second multiplexer means 33, 34 consist of a first multiplexer 33 and a second multiplexer 34, for example. The decoder 20 further includes multiplexer means 41 at the output of the first individual decoder 21, multiplexer means 42 at the output of the second individual decoder 23, multiplexer means 43 at the output of the second interleaver means 25, and multiplexer means 44 at the output of the de-interleaver means 27.
The first multiplexer 31 routes the information symbols (Systi)i=1 . . . p at the input of the first decoder 21 sub-frame by sub-frame. The second multiplexer 32 routes the first n−k redundant symbols (Y1i)i=1 . . . p at the input of the first decoder 21 sub-frame by sub-frame and in relation with the first multiplexer 31: for a given sub-frame i, the redundant symbols Y1i and the corresponding information symbols Systi are present simultaneously at the input of the first decoder 21.
The first individual decoder 21 decodes simultaneously k information symbols Systi of a sub-frame i and the n−k redundant symbols Y1i of that same sub-frame i. The first individual decoder 21 produces k extrinsic information symbols Extr1i.
The multiplexer means 41 at the output of the first decoder route the k extrinsic information symbols Extr1i of an ith sub-frame coming from the first individual decoder 21 at the input of the first memory 21 to a memory location depending on each sub-frame i.
The first memory 24 stores the k extrinsic information symbols Extr1i produced by the first individual decoder 21.
The second interleaver means 25 interleave the stored data present at the output of the first analog memory 24. The result of this interleaving is injected via the multiplexer means 43 into the input of the second individual decoder 23 to refine its decoding.
The multiplexer means 43 at the output of the second interleaver means 25 route the k extrinsic information symbols coming from the second interleaver means 25 and set from the ((i−1)×k+1)th position at the input of the second decoder 23.
The first interleaver means 22 interleave together the information symbols of all the sub-frames (Systi)i=1 . . . p.
The first multiplexer 33 routes the k information symbols Π(Syst)i coming from the first interleaver means 22 at the input of the second decoder 23.
The second multiplexer 34 routes the last n−k redundant symbols Y2i sub-frame by sub-frame in relation with the first multiplexer 33 and the first multiplexer means 31, 32 at the input of the second decoder 23: for a given sub-frame i, the information symbols Systi and the corresponding redundant symbols Y1i are present simultaneously at the input of the first decoder 21 and the information symbols Π(Syst)i and the corresponding redundant symbols Y2i are present simultaneously at the input of the second decoder 23.
The second individual decoder 23 simultaneously decodes k information symbols Π(Syst)i coming from the first interleaver means 22 and the last n−k redundant symbols Y2i of a sub-frame i. The second individual decoder 23 produces k extrinsic information symbols Extr2i.
The multiplexer means 42 at the output of the second decoder 23 route the k extrinsic information symbols of an ith sub-frame coming from the second decoder 23 at the input of the second memory 26 to a memory location depending on each sub-frame i.
The second memory 26 stores the k extrinsic information symbols Extr2i produced by the second individual decoder 23.
The de-interleaver means 27 de-interleave the stored data present at the output of the second analog memory 26. The result of this de-interleaving is injected via the multiplexer means 44 into the input of the first individual decoder 21 to refine its decoding.
The multiplexer means 44 at the output of the de-interleaver means route the k extrinsic information symbols coming from the de-interleaver means and set from the ((i−1)×k+)th position at the input of the first decoder.
The use of a decoder of the invention, illustrated with reference to
The example adopted to illustrate the decoding effected by the decoder 20 assumes that the received frame has a structure identical to that of a frame produced by channel coding using CRSC coding with two slices. That coding generates two sub-frames:
To each of those sub-frames there corresponds a step of a decoding method of the invention.
The following description is valid for one iteration and must be repeated for the subsequent iterations.
Decoding can begin only if the complete frame has been received. The systematic portion denoted (Systi)i=1 . . . p, the interleaved systematic portion denoted (Π(Syst)i)i=1 . . . p, and the redundant portions denoted (Y1i)i=1 . . . p and (Y2i)i=1 . . . p are then presented to the input of the decoding structure.
Before beginning the first iteration, in a typical initialization phase, the first and second memories 24, 26 are filled beforehand with equally probable values.
Step 1.
The first multiplexer 31 and the second multiplexer 32 of the first multiplexer means select Syst1 and Y11 and present them to the input of the first decoder 21. This first decoder 21 produces at its output the extrinsic information Extr11 (indicating the reliability of the received data Syst1). This extrinsic information Extr11 is loaded into a first portion of the first memory 24. The size of this first memory 24 is proportional to the total size of the systematic data Syst1 plus Syst2. The first portion of the memory is typically its first half. Consequently, a portion of the first memory 24 continues to be filled with the equally probable values previously entered. In this example, that portion corresponds to the second half of the memory. The combination of the stored data Extr11 and the remaining equally probable values is present at the output of the first memory 24 and is interleaved by the second interleaver means 25. The multiplexer means 43 select the first half of the interleaved extrinsic information (some of which is information being calculated and more of which still consists of the equally probable values) and presents it to the input of the second decoder 23. In parallel with this, the first multiplexer 33 and the second multiplexer 34 of the second multiplexer means select Π(Syst)1 and Y21 and present them to the input of the second decoder 23. The second decoder produces extrinsic information Extr21 (indicating the reliability of the data Π(Syst)1) which is loaded into the first half of the second memory 26. The size of this second memory 26 is proportional to the total size of the systematic data Syst1 plus Syst2. A portion of the second memory 26 is therefore still filled with the equally probable values previously entered. The combination of the stored data Extr21 and the remaining equally probable values is present at the output of the second memory 26 and is de-interleaved by the de-interleaver means 27. The multiplexer means 44 select the first half of the de-interleaved extrinsic information (some of which is information being calculated and more of which still consists of the equally probable values) and presents them to the input of the first decoder 21.
Continuous exchanges are effected between the first and second decoders 21, 23. Convergence and stabilization of the extrinsic information are observed. This phenomenon is specific to an analog turbo decoder structure. Once convergence has been established, the extrinsic information Extr11 and Extr21 continue to be stored in a portion of the first and second memories 24, 26, respectively. Step 2 can then begin.
Step 2.
The first multiplexer 31 and the second multiplexer 32 of the first multiplexer means switch to select Syst2 and Y12 and present them to the input of the first decoder 21. This first decoder 21 produces at its output the extrinsic information Extr12 (indicating the reliability of the received data Syst2), which is loaded into a second portion of the first memory 24 because the multiplexer means 41 have switched in cooperation with the first multiplexer means 31, 32. According to this example, this second portion corresponds to the second half of the first memory 24. The stabilized extrinsic information Extr11 resulting from the preceding step continues to be stored in the other half of the first memory 24. All the data is interleaved by the second interleaver means 25. The multiplexer means 43 select the second half of the interleaved data (some of which is information being calculated and more of which is the result of the continuous calculation of the step 1) and presents it to the input of the second decoder 23. In parallel with this, the first multiplexer 33 and the second multiplexer 34 of the second multiplexer means select Π(Syst)2 and Y22 and present them to the input of the second decoder 23. The second decoder 23 produces the extrinsic information Extr22 that is loaded into the second half of the second memory 26. All of the stored data Extr22 and Extr21 (Extr21 is the result of the preceding step and is stored in a portion of the memory) is present at the output of the second memory 26 and is de-interleaved by the de-interleaver means 27. The multiplexer means 44 select the second half of the de-interleaved extrinsic information and presents it to the input of the first decoder 21.
Thus the two decoders communicate directly and can again and continuously exchange their extrinsic information to improve their accuracy and consequently enhance the quality of decoding. The continuity in time of the exchange of this analog data is a fundamental property of an analog turbo decoder; this property is absent from a digital turbo decoder.
During this first iteration, the complete frame is decoded in two stages by an analog turbo decoder device. The operations effected during the second step exploit the results of the first step (using the extrinsic information stored in the memories). In contrast, the operations effected during the first step do not derive much if any benefit from the results of the second step, since the content of the memories is initialized to equally probable values. It is generally necessary to launch a second iteration so that, in particular, during the step 1, the second decoder 23 can benefit from the presence at its input of the extrinsic information Extr11 of the second iteration and the extrinsic information Extr12 of the step 2 of the first iteration via the second interleaver means 25. This can cause the extrinsic information Extr11 and Extr12 to converge toward other values that reflect better the reliability of the received data Syst1 and Syst2. To improve accuracy further, the iterative process can repeat as many times as necessary. However, beyond a limit number of iterations (generally equal to 15) the values of the extrinsic information remain virtually identical from one iteration to another.
On the last iteration, the decoder 21 supplies the same number of binary decisions as the number of systematic symbols received. In each step i of this final iteration, k binary decisions are produced and constitute the block Deci that is supplied to the next stage of a receiver, for example a digital memory that stores the frame (Deci)i=1 . . . p.
A decoder according to the invention can easily be adapted to decode frames obtained by coding with p slices of different sizes. The size of the multiplexers 31, 32, 33, 34, 41, 42, 43, 44, the size of the memories 24, 26, and the size of the decoders 21, 23 must then be adapted to the largest slice. The size of the analog memories must be proportional to the number of items of extrinsic information and therefore to the number of systematic symbols in the complete frame. An iteration is then divided into p steps. During each step, a portion of the data associated with a slice is processed by the analog turbo architecture. The sizes of the decoders 21, 23, the interleaver 25, and the de-interleaver 27 are then adapted to the size of the slice being processed. This method is therefore of real benefit because it dispenses with the multiplicity of decoders that causes relatively high congestion on the silicon. The structure of a decoder of the invention, which comprises only two individual decoders, preserves partial analog processing despite the presence of the multiplexers. The analog memories allow continuous exchange and simultaneous saving of the extrinsic information.
Number | Date | Country | Kind |
---|---|---|---|
0502447 | Mar 2005 | FR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/FR2006/050208 | 3/10/2006 | WO | 00 | 8/8/2008 |