The present invention relates to a receiver and a receiving method.
Cellular telephony has become a widely available mode of communication in modern society. Within the field of wireless telecommunications systems, there are a plurality of systems referred to as Code Division Multiple Access systems, otherwise known as CDMA. Examples are Wideband CDMA standards (WCDMA), comprising the sub-systems Time Division Duplex (TDD) and Frequency Division Duplex (FDD), Time Division Synchronous CDMA (TD-SCDMA)) and CDMA2000. These are commonly called modes of communication or transmission modes. Within the Code Division Multiple Access system, a user of a mobile station (e. g. handset) is able to communicate with a user of another telecommunication device by way of a base station. A mobile station and a base station of the Code Division Multiple Access system communicate via a wireless digital radio interface. The specifications of the wireless digital radio interfaces vary slightly in a plurality of different aspects. Further, within each specific radio interface, a plurality of transmission throughput characteristics may be available.
All of the above mentioned modes of communication systems use a turbo coding scheme, i.e. an iterative coding scheme. A turbo encoder at a transmitter comprises a first and a second recursive systematic coder (RSC) and an interleaver, which feeds the second RSC with interleaved data in order to increase the overall transmission robustness to noise. A turbo decoder at a receiver receives 2 to 5 soft data in dependence on the transmission mode and rate, and estimates the data in an iterative decoding process. The turbo decoder invokes a process which reverses the transformation performed by the encoder, and comprises two soft input—soft output (SISO) decoders that work cooperatively. Each SISO decoder produces a posteriori information which is used as a priori information by the other SISO decoder.
There is a need for a flexible solution that can deal with the different communication modes. At the same time, there is a need for a high-performance solution that is required for each of the above mentioned communication modes. In F. Berens, A. Worm, H. Michel, and N. Wehn, “Implementation Aspects of Turbo-Decoders for Future Radio Applications,” Proceedings of the IEEE Vehicular Technology Conference (VTC) Fall 1999, pp. 2601-2605, Amsterdam, September 1999 it is pointed out that a pure software implementation of a turbo decoder is below the requirements of high-rate data services, but gives high flexibility. On the other hand, hardware lacks flexibility, but gives superior performance. Therefore, a mixed hardware/software implementation is suggested in Berens et al. for combining the flexibility of a software solution and superior performance of a dedicated hardware implementation.
Still, there are a few problems to solve. The turbo decoder requires a complete block of soft input data to be able to perform the above described process, since the interleaver has to be able to access any data in this block. Therefore, a complete block has to be buffered before decoding processing of the block. The data need to be stored in respect of how the decoder core expects to read data from the buffer to be able to use the superior performance of a hardware implemented turbo decoder. A conventional solution, as used in any of the above mentioned transmission modes separately, relies on the system to reorder data.
One drawback of this conventional structure is that reordering of soft samples in software consumes CPU power. Another drawback is that the system bus is not efficiently used in view of bandwidth. It is therefore a problem that reordering of soft samples consumes a large amount of system resources.
It is therefore an object of the present invention to provide a more efficient reordering.
The above object is obtained according to a first aspect of the present invention by a receiver comprising a radio interface, a sampler, a decoder, and a bus connected to the sampler and decoder. The sampler is configured to generate soft data based on signals received by the radio interface. The decoder is configured to receive the soft data from the sampler. The decoder comprises a re-ordering means and a decoder, wherein the re-ordering means comprises a multiplexer, a finite-state machine, and a plurality of buffers. The finite-state machine is arranged to control the multiplexer to load the buffers from the bus such that the output of the buffers is decodable by the decoder.
Advantages of this are fast and flexible reordering of soft data prior to decoding. This is achieved by the flexible hardware implementable solution where a finite-state machine and a multiplexer reorder and write soft data into a plurality of buffers. Thus the soft data is directly decodable by the decoder.
The receiver may further comprise a configuration register configured to hold information indicating bus configuration, transmission mode and rate. An advantage of this is provision of control information for the finite-state machine in a low-complexity and fast way.
The receiver may further comprise an address and control generator controlled by the finite-state machine and arranged to control writing of soft data into the buffers. An advantage of this is improved writing control of the buffers.
The plurality of buffers may comprise five buffers, each arranged to be loaded with a plurality of soft data simultaneously. This enables any bus configuration to be used together with any transmission mode and rate. An advantage of this is improved utilization of the bus.
The decoder may comprise a turbo decoder. The decoder may further comprise a Viterbi decoder.
The plurality of buffers may each comprise two banks of independent two-port memories. Alternatively, the plurality of buffers may each comprise four banks of independent single-port memories. This will enable simultaneous writing of soft data associated with a plurality of addresses into the buffers. An advantage of this is faster and more flexible filling of the buffers.
The above object is obtained according to a second aspect of the present invention by a receiving method comprising the steps of: receiving and demodulating a radio signal; generating soft data by sampling the demodulated radio signal; transmitting the soft data on a bus to a decoder; reordering and buffering the soft data by: determining a transmission mode and a bus configuration; entering a initializing state of branching of a finite-state machine according to the determined transmission mode and bus configuration; performing transitions between states of the finite-state machine for each received set of soft data provided on a bus; multiplexing the soft data to a plurality of buffers in dependence on the state of the finite-state machine; and writing the multiplexed data into the plurality of buffers; outputting the buffered soft data from the plurality of buffers to a turbo decoder; and decoding the soft data by the turbodecoder.
The features and advantages of the second aspect of the invention are essentially the same as of the first aspect of the present invention.
The above, as well as additional objects, features and advantages of the present invention, will be better understood through the following illustrative and non-limiting detailed description of preferred embodiments of the present invention, with reference to the appended drawings, wherein:
In the turbo decoder arrangement in
The different transmission modes and rates provide different sets of soft values. WCDMA provides a set of {R1, R1P1, R2P1} for all addresses. CDMA2000 and rate ½ provides a set of {R1, R1P1} for even addresses and {R1, R2P1} for odd addresses. CDMA2000 and rate ⅓ provides {R1, R1P1, R2P1} for all addresses. CDMA and rate ¼ provides {R1, R1P1, R1P2, R2P2} for even addresses and {R1, R1P1, R2P1, R2P2} for odd addresses. CDMA2000 and rate ⅕ provides {R1, R1P1, R1P2, R2P1, R2P2} for all addresses. This is given by the encoding scheme at a transmitter.
Soft data 416 is transported to the input buffer 402 from the system bus or directly from the sampler. The input buffer 402 performs both reordering data and buffering data. To be able to do this, a plurality of control signals 418, 420, 422 is provided. A first control signal 418 applies information about transmission mode, transmission rate, and input configuration to the input buffer 402. A second control signal 420 applies information about write address and write control to the input buffer 402. A third control signal 422 applies information about read address and read control to the input buffer 402. The function of the control signals and how these are used will be described below.
Returning to
Within each soft input, the bits are supposed to be in the same order independent of the direction of indexing. For handling different bus configurations and transmission modes and rates, the configuration register 504 is programmed. Thus, in dependence on the standard, it is determined if the transmission mode is WCDMA and CDMA2000, if the rate is ½, ⅓, ¼ and ⅕, and which of several data bus input configurations is present.
The finite-state machine 506 controls the multiplexer 502 and the address and control generators 508. The finite-state machine 506 is provided with a write address and control signal 522 from the system controller during the filling of the input buffer. The finite-state machine also gets an information signal from the configuration register 504. In dependence on these signals, the finite-state machine 506 controls the multiplexer 502 as described below.
State transitions of the finite-state machine 506 occur synchronously to a bus clock when writing to the turbo decoder is performed. An example of a procedure for a transmission mode and rate is depicted in
In
During a first clock pulse (clock cycle 0), eight nibbles 720, 721, 722, 723, 724, 725, 726, 727 are provided on the bus. Since the transmission mode is WCDMA, only R1, R1P1, and R2P1 are provided for each address, i.e. each address occupies three nibbles. Consider the first three nibbles 720, 721, 722 comprising R1, R1P1, and R2P1 associated to address 0. Therefore, they are loaded into the memory bank comprising memories 710, 712, 714, 716, 718 for even addresses. Memories 714 and 718 are not used during this configuration, and are loaded with nil values. The memories 710, 712, 716 are loaded with the nibbles associated with address 0, i.e. in the first positions of the R1, R1P1, and R2P1 buffers 700, 702, 706, respectively. Assume that they are all loaded through port 1, here denoted by a right arrow, of the memories 710, 712, 716. Simultaneously, the following three nibbles 723, 724, 725, i.e. associated to address 1, are loaded into the memories 711, 713, 717 of the memory bank for odd addresses, and also simultaneously, the remaining two nibbles 726, 727, i.e. associated with address 2, are loaded into the memories 710, 712 of the memory bank for even addresses.
However, port 1 of the memories 710, 712, 716 of the even address memory bank is occupied by nibbles 720, 721, 722 associated to address 0. Therefore, nibbles 726, 727 associated with address 2 will use port 2, here denoted by a left arrow, to be written into the even address memory bank. A write strobe is used to write the nibbles 726, 727 at the correct position of the memories 710, 712, i.e. incremented one step. At the next clock cycle (clock cycle 1), the first nibble 728 is associated with address 2, and is therefore loaded into memory 716 of the memory bank for even addresses, on port 1. The next three nibbles 729, 730, 731 are associated with address 3, and are loaded into memories 711, 713, 717 of the memory bank for odd addresses on port 1. The three subsequent nibbles 732, 733, 734 are associated with address 4, and are loaded into memories 710, 712, 714 of the memory bank for even addresses. Note that port 1 of the memory 716, i.e. the R2P1 buffer for even addresses, is occupied by writing nibble 728 associated with address 2. Therefore, nibble 734 associated with address 4 is written through port 2, here denoted by left arrow. The last nibble 735 of this clock cycle is associated with address 5, and is written through port 2 of the memory 711 for odd addresses, since port 1 is occupied by writing the nibble 729 associated with address 3. This procedure is repeated in a similar way during clock cycle 2, where the rest of the nibbles 736, 737 associated with address 5, and nibbles 738, 739, 740, 741, 742, 743 associated with addresses 6 and 7 are loaded into the buffers 700, 702, 706. Note that the procedure can now start all over again, since this case requires 3 cycles to evenly fill the buffers.
The procedure described above is performed during three clock cycles, i.e. during the three states 602, 604 and 606 of the state machine of
Returning to
Number | Date | Country | Kind |
---|---|---|---|
04300290 | May 2004 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB2005/051593 | 5/17/2005 | WO | 00 | 11/16/2006 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2005/112273 | 11/24/2005 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5574751 | Trelewicz | Nov 1996 | A |
5621764 | Ushirokawa et al. | Apr 1997 | A |
6128707 | Arimilli et al. | Oct 2000 | A |
6192084 | Miyauchi et al. | Feb 2001 | B1 |
6285789 | Kim | Sep 2001 | B1 |
6307901 | Yu et al. | Oct 2001 | B1 |
6392572 | Shiu et al. | May 2002 | B1 |
6393076 | Dinc et al. | May 2002 | B1 |
6445755 | Chung et al. | Sep 2002 | B1 |
6452979 | Ariel et al. | Sep 2002 | B1 |
6484283 | Stephen et al. | Nov 2002 | B2 |
6499128 | Gerlach et al. | Dec 2002 | B1 |
6516437 | Van Stralen et al. | Feb 2003 | B1 |
6526539 | Yano et al. | Feb 2003 | B1 |
6799295 | Nguyen | Sep 2004 | B2 |
6807239 | Sugimoto et al. | Oct 2004 | B2 |
6813742 | Nguyen | Nov 2004 | B2 |
6829313 | Xu | Dec 2004 | B1 |
6856657 | Classon et al. | Feb 2005 | B1 |
6865098 | Ichiriu et al. | Mar 2005 | B1 |
6901117 | Classon et al. | May 2005 | B1 |
6901119 | Cideciyan et al. | May 2005 | B2 |
6940928 | Cameron | Sep 2005 | B2 |
6950476 | Tarrab et al. | Sep 2005 | B2 |
6996767 | Chang et al. | Feb 2006 | B2 |
7027533 | Abe et al. | Apr 2006 | B2 |
7031406 | Li et al. | Apr 2006 | B1 |
7035342 | Cameron et al. | Apr 2006 | B2 |
7058878 | Kanaoka et al. | Jun 2006 | B2 |
7065695 | Cameron et al. | Jun 2006 | B2 |
7107509 | Bickerstaff et al. | Sep 2006 | B2 |
7143335 | Choi | Nov 2006 | B2 |
7149951 | Seo | Dec 2006 | B2 |
7158589 | Cameron et al. | Jan 2007 | B2 |
7159169 | Honary et al. | Jan 2007 | B2 |
7218690 | Learned | May 2007 | B2 |
7236546 | Egnor et al. | Jun 2007 | B2 |
7242726 | Cameron et al. | Jul 2007 | B2 |
7269777 | Becker et al. | Sep 2007 | B2 |
7272771 | Nieminen | Sep 2007 | B2 |
7281198 | Yagihashi | Oct 2007 | B2 |
7340013 | Ammer et al. | Mar 2008 | B2 |
7434145 | Jin et al. | Oct 2008 | B2 |
7460608 | Cameron et al. | Dec 2008 | B2 |
7499503 | Cameron et al. | Mar 2009 | B2 |
7525944 | Vayanos et al. | Apr 2009 | B2 |
7646742 | Petrovic et al. | Jan 2010 | B2 |
20020124227 | Nguyen | Sep 2002 | A1 |
20030039323 | Choi | Feb 2003 | A1 |
20030115539 | Giese et al. | Jun 2003 | A1 |
20030147348 | Jiang | Aug 2003 | A1 |
20040044946 | Bickerstaff et al. | Mar 2004 | A1 |
20040153942 | Shtutman et al. | Aug 2004 | A1 |
20040199858 | Becker et al. | Oct 2004 | A1 |
20040268096 | Master et al. | Dec 2004 | A1 |
20050060469 | Feng et al. | Mar 2005 | A1 |
20050180312 | Walton et al. | Aug 2005 | A1 |
20060107181 | Dave et al. | May 2006 | A1 |
20070042782 | Lee et al. | Feb 2007 | A1 |
20070136640 | Jarrar | Jun 2007 | A1 |
20090094505 | Nguyen | Apr 2009 | A1 |
20100002100 | Master et al. | Jan 2010 | A1 |
Number | Date | Country |
---|---|---|
10214393 | Feb 2003 | DE |
Entry |
---|
Berens F et al: “Implementation Aspects of Turbo-Decoders for Future Radio Applications”; Vehicular Tech. Conf. 1999 Fall; IEEE VTS 50th Amsterdam Netherlands Sep. 19-22, 1999; USA; vol. 5, Sep. 19, 1999 pp. 2601-2605. |
Alsolaim, Ahmad M.; “Dynamically Reconfigurable Architecture for Third Generation Mobile Systems”; Dissertation—Ohio University; 62 pages (2002). |
Shin, Myoung-Cheol, et al; “A Programmable Turbo Decoder for Multiple 3G Wireless Standards”; IEEE International Conference Solid-State Circuits 2003 — Digest of Technical Papers; 10 pages (2003). |
Number | Date | Country | |
---|---|---|---|
20070242781 A1 | Oct 2007 | US |