The invention relates to an IR (incremental redundancy) memory for an EGPRS (enhanced general packet radio service) receiver of a mobile station, which receives data from a base station (BS) via a data transmission channel.
In the context of further development of GSM, a packet-oriented service concept for data transmission has been developed by the ETSI in recent years. The standardization of the new general packet radio service (GPRS) has largely been concluded since 1997. The GPRS standard is currently being extended in the context of the standardization of Enhanced Data Rates for GSM Evolution (EDGE) with respect to the enhanced EPRS standard (GPGRS).
EDGE enables data transmission rates and spectral efficiency to be increased and thus enables new applications for mobile stations.
A dynamic link adaptation is furthermore used in the case of EDGE. In this case, the connection quality is measured by the mobile station (MS) in the case of a downlink connection or by the base station (BS) in the case of an uplink connection and the best suited modulation and coding scheme is selected for the data transmission of the next sequence of data packets. In this case, the adaptation of the modulation and coding scheme depends on the signal to interference and noise ratio (SINR).
Puncturing is a method for shortening the convolutional codes generated. In this case, one or more locations are deleted from the output bit stream of the convolutional coder according to a predetermined scheme of the so-called puncturing table. In this case, a puncturing table comprises the data elements 0 and 1 and is processed periodically. A 0 means not transmitting the received bit in the output bit stream, and a 1 in the puncturing table means transmitting the bit received from the convolutional coder in the output bit stream. The coded data sequence is thereby shortened. A part of the redundancy added by the convolutional coder is removed again by means of the puncturing, i.e. the coding rate decreases. The puncturing device makes it possible to implement different coding rates. Proceeding from a mother code of rate 1/n, codes having a higher code rate can be achieved by means of periodic puncturing.
In the case of the embodiment illustrated in
The header data generated by a header generator are in the same way coded by a convolutional coder and subsequently punctured. The punctured header data are stored in a buffer memory and subsequently combined with the buffer-stored punctured data P1, P2 or P3 to form a data block. The data block is scrambled by an interleaver circuit and, after modulation by a modulator, sent to the mobile station MS via the data transmission channel.
The received RLC data blocks are buffer-stored in an incremental redundancy memory of the receiver. The IR memory principally serves for buffering the soft information of the incorrectly decoded RLC blocks while the receiver waits for the renewed transmission of the additionally required information or data.
The second memory area SBB within the IR memory according to the prior art serves for storing the erroneously decoded RLC data blocks. The number of erroneously decoded RLC data blocks depends on the round trip delay and the polling period of the data transmission channel. Since it is necessary to transmit two RLC data blocks of 612 bits or 204 data symbols in each case within 20 ms for the case of a 1 time slot (MCS-9), a realistically assumed round trip delay of 120 ms corresponds to a memory space requirement of (120 ms: 20 ms×2×NTS)=12×NTS RLC data blocks, where
NTS represents the number of bundled time slots TS/TDMA frame.
Furthermore, the polling period (acknowledgement polling period) is to be taken into account, which corresponds to a memory space requirement of 32 RLC data blocks.
Successful decoding requires all of the data sub-blocks from all of the differently punctured puncturing schemes P1, P2 and P3. A maximum of (32+NTS×12) data sub-blocks can be transmitted between two data sub-blocks with the same block sequence number BSN and different puncturing schemes. In the worst case, all of the data sub-blocks cannot be received correctly during this time period and have to be stored in the second memory area SBB of the IR memory.
Assuming a worst case scenario, the required memory space of the IR memory according to the prior art is:
IR=SBA+SBB=2×(32+NTS×12)+XD RLC data sub-blocks.
In the case of the IR memory according to the prior art, the soft outputs of the channel equalizer are stored in the two memory areas SBA and SBB with the same data resolution R.
A step S1 involves reading out the current data sub-blocks from the IR memory with a predetermined data resolution of R bits and depuncturing them with the corresponding puncturing scheme P.
A step S2 involves checking whether there are further data sub-blocks with the same block sequence BSN, TFI and different puncturing schemes P.
A further step S3 involves checking whether there is a further data sub-block with the same BSN number, TFI and the same puncturing scheme P.
If the answer is yes in step S2 or step S3, this data sub-block is read out from the IR memory and the data are depunctured with the corresponding puncturing scheme P in a step S4. The soft outputs of the depunctured sub-block are combined with those of the preceding sub-blocks in a step S5.
Afterward, a step S6 involves checking whether or not the number of combined data sub-blocks has exceeded a limit value. If this is not the case, the operation returns to step S2. If the limit has been exceeded, a channel decoding of the RLC data block is effected in a step S7.
A step S8 involves checking whether the decoding procedure has been successfully concluded.
If the decoding was successful, the allocated memory space is released for the data and the control information in a step S9. If the decoding could not be concluded successfully, the current data sub-block is stored in the IR memory with a defined data resolution R.
The IR memory according to the prior art as illustrated in
Therefore, the object of the present invention is to provide an IR memory which has a minimal memory size.
This object is achieved according to the invention by means of an IR memory having the features specified in patent claim 1.
The invention provides an IR memory for an EGPRS receiver of a mobile station (MS), which receives data from a base station (BS) via a data transmission channel, the IR memory having:
a first memory area for buffer-storing a specific number of data blocks with a predetermined first data resolution,
a second memory area for buffer-storing erroneously decoded data blocks, the second memory area storing the non-decoded data blocks with a second data resolution (R2), which is lower than the first data resolution (R1).
The basic idea of the IR memory according to the invention consists in using different data resolutions for the data sub-blocks actually transmitted and the data sub-blocks that were previously decoded incorrectly. The incorrectly decoded data sub-blocks contain less reliable information and can therefore be stored with a lower data resolution in order to save memory space.
In one preferred embodiment of the IR memories according to the invention, the number of data blocks stored in the first memory area of the IR memory is provided in a manner dependent on the internal signal delay within the mobile station.
In a further preferred embodiment of the IR memory according to the invention, the number of data blocks that can be stored in the second memory area of the IR memory is provided in a manner dependent on the polling period of the data transmission channel and on the round trip delay.
In a particularly preferred embodiment of the IR memory according to the invention, the second data resolution can be set adaptively.
In this case, the second data resolution (R2) with which the erroneously decoded data blocks are stored in the second memory area of the IR memory is set in a manner dependent on a burst data transmission signal quality measured by the receiver.
The second data resolution (R2) can preferably be changed over between different resolution levels.
In this case, the second data resolution (R2) is preferably 2 bits, 3 bits or 4 bits.
In a particularly preferred embodiment of the IR memory according to the invention, the data resolution (R1) for the first memory area is 5 bits.
In one preferred embodiment of the IR memory according to the invention, said IR memory is connected, on the input side, to a reception buffer memory for the received data blocks.
The IR memory is preferably connected to a decoder on the output side.
The data blocks are preferably RLC (radio link control) data blocks.
The data blocks are preferably MCS-coded.
Preferred embodiments of the IR memory according to the invention are described below with reference to the accompanying figures for elucidating features that are essential to the invention.
In the figures:
As can be discerned from
The IR memory 1 furthermore has a second memory area 1b for buffer-storing erroneously decoded data blocks. The erroneously decoded data blocks are stored with a second data resolution R2 in the second memory area 1b of the IR memory 1, the second data resolution R2 being lower than the first data resolution (R1).
The number of RLC data blocks stored in the first memory area 1a of the IR memory 1 depends on the internal signal delay within the mobile station MS. In one preferred embodiment of the IR memory according to the invention, the number of RLC data blocks 12 that can be stored in the first memory area 1a of the IR memory is RLC data blocks. Each RLC data block has 612 soft outputs and in each case a 5 bit data resolution (in accordance with MCS-9) in order to bridge the signal delay Δt between the equalizer output up to the channel decoding.
In one preferred embodiment of the IR memory 1 according to the invention, the number of RLC data blocks stored in the second memory area 1b of the IR memory 1 depends on the one hand on the polling period of the data transmission channel and on the other hand on the round trip delay.
A step S1 involves reading out the current data sub-blocks from the first memory area 1a of the IR memory 1 with a data resolution R1 and depuncturing them with the corresponding puncturing specification.
A further step S2 involves checking whether a further data sub-block with the same block sequence number BSN, the same TFI (temporary frame identity) and a different puncturing scheme P is present. If this is not the case, a step S3 involves checking whether there is a further data sub-block which has the same block sequence number BSN, the same temporary frame identity TFI and the same puncturing scheme P.
If this is the case, a step S4 involves reading out this data sub-block from the second memory area 1b of the IR memory 1 with the second data resolution R2. The data block read out is scaled upward by R1-R2 bits and depunctured with the corresponding puncturing specification P.
A step S5 involves combining the read-out and depunctured data sub-block with previously combined data sub-blocks.
Afterward, a step S6 involves checking whether or not the number of combined data sub-blocks has exceeded a specific limit value. If this is not the case, the operation returns to step S2.
In the converse case, the channel decoding of the RLC data block is effected in a step S7.
A step S8 involves checking whether the decoding was able to performed successfully.
If the decoding of the RLC data block was successful, the allocated memory area is released for the data and the control information in a step S9.
If the decoding of the RLC data block could not be concluded successfully, the current data sub-block is stored in the second memory area 1b of the IR memory 1 with the second data resolution R2 in a step S10.
In the case of the flowchart illustrated in
In one preferred embodiment of the IR memory 1 according to the invention, the second data resolution R2 is set adaptively. In this case, the second data resolution R2 is preferably set in a manner dependent on a burst data transmission signal quality measured by the receiver. For a data transmission burst with a high signal quality, the incorrectly decoded data sub-blocks are stored for example with a data resolution R2,1 in the second memory area 1b; for a data burst of medium quality, a soft output data resolution R2,2<R2,1 is used; and for a data burst of low quality, the data resolution of the second memory area is reduced to R2,3<R2,2<R2,1. In this preferred second embodiment, the data resolution can preferably be changed over between different resolution levels of R2,1 bits, R2,2 bits or R2,3 bits.
A further alternative embodiment comprises switching between two different soft data resolutions for example of a resolution of R2,1 for data bursts of high quality and a data resolution R2,2<R2,1 for a data burst with a low signal quality.
In a step S1, the data received from the equalizer of the receiver are stored in a buffer memory of a digital signal processor DSP.
A step S2 involves checking whether all four data bursts of an RLC data block have been received.
If all four data bursts associated with same RLC data block are ready for the data processing, the data are de-interleaved in a step S3. The header data are subsequently decoded in a step S4.
A step S5 involves checking whether the decoding of the header data was concluded successfully.
If this is not the case, the current RLC data block is erased in a step S6. If, conversely, it is ascertained in a step S5 that the decoding of the header data was able to be concluded successfully, in a step S7 the corresponding data sub-blocks are stored in the first memory area 1a of the IR memory 1 with a data resolution R1.
If it is ascertained in a step S2 that the IR memory 1 is full, a further step S3 involves carrying out a scan-4-overwrite-same-BSN procedure, which involves overwriting all data block entries for overwriting a data sub-block version with the same block sequence BSN and the same TFI number as the current data sub-block to be stored. If no data sub-block with the same BSN number and the same TFI number can be overwritten and this is ascertained in step S4, all further data block entries are scanned or searched for in a further scan-4-overwrite-other-BSN procedure in a step S5, and a data sub-block version with a BSN and TFI number other than those of the data sub-block that is currently to be stored is overwritten.
If it is ascertained in step S6 that this scan overwrite procedure proceeded successfully, the control information table is renewed or updated in a step S7. If one of the three scan procedures carried out in steps S1, S3, S5 was able to be concluded successfully, the control information is updated by a new BSN, TFI, RX quality value and by the new puncturing scheme and also the new modulation coding scheme in step S7. If no free or overwritable memory space is present, an indication signal is transmitted to the base station BS, which indicates to the base that there is no available memory space present in the mobile station MS.
After the updating of the control information table in step S7, the soft output data resolution is scaled downward from R1 to R2 in a step S8.
The data sub-block is subsequently stored in a step S9. The information about the memory allocation conditions are transmitted to the microprocessor of the mobile station in a step S10.
If one of the scan procedures carried out in steps S1, S3, S5 has proceeded successfully, a step S11 involves checking whether the reception signal quality lies above a specific threshold value.
In a step S12, the information table is updated and a downscaling of the data resolution to R2,1 bits is subsequently performed in a step S12.
If, conversely, the data signal reception quality is below the threshold value, the table is correspondingly updated in a step S14 and the data resolution is downscaled to merely R2,2<R2,1 bits in a step S15.
The data sub-block is subsequently stored in a step s16.
Finally, in a step S17, the memory allocation conditions are reported to the data processing unit.
For a conventional IR memory with a uniform data resolution of 5 bits, for example, the memory size amounts to
SIR=3×204×{2×(32+NTS×12)×5+XD×5} bits
The memory size for an IR memory 1 according to the invention amounts to:
SIR=3×204×{2×(32+NTS×12)×R2+XD×R1} bits
For four time slots and a data resolution of the second memory area 1b of R2=2 or R2=3, the required IR memory size thereby results as:
SIR,2=(12 320+304×XD) each of 16 bits
or
SIR,3=(19 860+204×xD) data words each having 16 bits.
The lower the second data resolution R2 chosen for the second memory area 1b, the higher the saving of memory space of the IR memory 1 achieved. With an assumed signal propagation delay XD of 12 RLC data blocks, by way of example, the memory space saving amounts to 47.85% when using a data resolution R2=3 bits and 65.196% when using a second data resolution R2=2 bits.
Even better results can be obtained with an adaptive adaptation of the second data resolution R2 in a manner dependent on the measured data burst quality.
As can be discerned from
As can be gathered from
The IR memory 1 according to the invention therefore makes it possible to achieve a significant memory space reduction without the number of required data transmissions per RLC block increasing and without the data throughput per time slot being significantly reduced.
Number | Date | Country | Kind |
---|---|---|---|
102 57 463.4 | Dec 2002 | DE | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP03/13966 | 12/9/2003 | WO | 9/7/2005 |