This invention relates to methods and apparatus for reordering data and separating or combining data streams.
At a digital communications transmitter, bits produced by a channel encoder are reordered (or interleaved) to increase their resistance to correlated channel imperfections (noise, fading etc.). At the receiver, this reordering must be reversed using a de-interleaver before channel decoding can take place. After de-interleaving in the receiver, the bits are often de-multiplexed which means that the de-interleaved bits are split into several smaller sets of bits which are used separately.
For example, in the system described in “3G TS 25 212 v 3.0.0 third generation partnership project (3GPP); technical specification group radio access network multiplexing and channel coding (FDD)”, a turbo encoder produces bits which are then interleaved. At the receiver, the bits are de-interleaved before being passed to the turbo decoder. The turbo decoder needs to de-multiplex its input to produce three distinct sets of inputs: One is the received systematic soft decisions (labelled S(0,1, . . . )), another is the parity information from one component encoder (labelled P1(0,1, . . . )), and the third is the parity information from the other component encoder (labelled P2(0,1, . . . )). These bits are output by the transmitter multiplexer in the order S(0), P1(0), P2(0), S(1), P1(1), P2(1).
In the conventional receiver system, the received data stream is input to a first memory area and then rewritten to a second memory area by a de-interleaver in the de-interleaved order. A de-multiplexer then writes the de-interleaved data into separate output buffers for each of the separate data streams forming part of the received signal. This process is memory intensive in terms of both the amount of memory required and the time taken to perform the memory access operations.
It is an object of the invention to provide for more efficient de-interleaving-demultiplexing and/or multiplexing-interleaving of data.
According to a first aspect, the invention provides a method of recovering separate data streams from a composite data stream with the data within each separate recovered stream reordered compared with the composite stream, said method comprising applying a single transformation to each data item in the composite data stream to assign it to its correct position in the appropriate one of the recovered data streams.
The invention also extends to a program for performing the above method.
According to a second aspect, the invention provides apparatus for recovering separate data streams from a composite data stream with the data within each separate recovered stream reordered compared with the composite stream, said apparatus comprising means for applying a single transformation to each data item in the composite data stream to assign it to its correct position in the appropriate one of the recovered separate data streams.
According to a third aspect, the invention provides a method of producing a composite data stream from separate data streams with the data within the composite stream being reordered compared to the separate streams, said method comprising applying to each data item in each of the separate data streams a single transformation to assign it to its appropriate position in the composite data stream.
The invention also extends to a program for performing the above method.
According to a fourth aspect, the invention provides apparatus for producing a composite data stream from separate data streams with the data within the composite stream being reordered compared to the separate streams, said apparatus comprising means for applying to each data item in each of the separate data streams a single transformation to assign it to its appropriate position in the composite data stream.
The invention, by combining the reordering and separation/combination operations achieves a saving of processing time and also a saving of memory usage (in terms of silicon real estate and time spent accessing the memory).
In a preferred embodiment, the reordering operation is an interleaving or a de-interleaving algorithm.
Preferably, the data items in the recovered data streams are soft decisions (tentatively identified data).
In the preferred embodiment, the separate data streams are a stream of systematic data (S) and two streams of parity information from two component encoders (P1, P2), such as may be produced by a 3GPP turbo encoder.
By way of example only, an embodiment of the invention will now be described with reference to the accompanying figures, in which:
In the example of
In the prior art receiver circuitry of
In the circuitry of
Thus, there is a saving in the amount of memory required in that the de-interleaver output memory 14 of
It will be appreciated that the number of multiplexed data streams a, b and the number of bits shown in the memories described are arbitrary and may be varied. In addition, the application of the invention to a transmitter which multiplexes and then interleaves data streams will be clear to persons skilled in this art. For example, in
Number | Date | Country | Kind |
---|---|---|---|
0010079 | Apr 2000 | GB | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/GB01/01818 | 4/24/2001 | WO | 00 | 10/25/2002 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO01/82489 | 11/1/2001 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
617530 | Aman et al. | Jan 1899 | A |
4291406 | Bahl et al. | Sep 1981 | A |
6112012 | Fujinami | Aug 2000 | A |
6618450 | Hatta | Sep 2003 | B1 |
6771671 | Fields et al. | Aug 2004 | B1 |
Number | Date | Country |
---|---|---|
1148237 | Apr 1997 | CN |
0 757 491 | Feb 1997 | EP |
2 346 782 | Aug 2000 | GB |
WO 9859473 | Dec 1998 | WO |
WO 0010348 | Feb 2000 | WO |
Number | Date | Country | |
---|---|---|---|
20030128722 A1 | Jul 2003 | US |