Вы находитесь на странице: 1из 4

wd52_feature2.

qxd

5/27/2005

10:55 AM

Page 30

30| www.wirelessdesignmag.com

FEATURED TECHNOLOGY|
G L O S S A RY O F A C R O N Y M S ACK Acknowledgement ARQ Automatic Repeat Request BSN Block Sequence Number CRC Cyclic Redundancy Check EDGE Enhanced Data-rates for GSM Evolution GMSK Gaussian Minimum Shift Keying GSM Global System for Mobile Communications LLC Logical Link Control MAC Media Access Control MIPS Millions of Instructions per Second MS Mobile Station NACK Negative Acknowledgement OTA Over-the-Air RBB Received Block Bitmap RLC Radio Link Control SSN Starting Sequence Number

Incremental Redundancy in EGPRS


Incremental redundancy is implemented in EGPRS systems to achieve maximum efficiency in over-the-air interface. By using incremental redundancy, error correction data is not sent over the air unless the data is received in error, thus making the air interface very efficient.|By Paul Mercy

esigners of wireless devices that incorporate incremental redundancy are faced with many issues from memory issues and debug of complex algorithms to general operation. This article explains possible methods for testing incremental redundancy and wireless device receiver performance. These methods allow users/developers to verify operation and accurately see how the device performs under differing air interface conditions in terms of general operation, data throughput, and memory organization. Overview Incremental redundancy is the system used by EDGE systems to get maximum

performance out of the available bandwidth. By using convolutional coding the system can add protection to the data; however this adds correction data to the original data that carries no actual information (redundancy). This has the effect of reducing data throughput, i.e. user bandwidth. It works by first sending only the minimum amount of redundant data, i.e. in most cases, no redundant data. If the data is not decoded properly the system will resend the same data using a different puncture or coding scheme, increasing the amount of redundant data and the likelihood of recovering from the errors introduced OTA. If data is retransmitted

using a different puncture or coding scheme it is then recombined with the first transmission to increase redundancy. How Incremental Redundancy Works The first action is a data block being sent to the mobile (see Figure 1). If there are no errors then the block will be passed up to the next layer of protocol for processing. However, if the block is received in error then the mobile will send an ARQ to the base station. The base station will retransmit the block using a different puncturing scheme. This will be recombined with the first block increasing the amount of redundancy and giving the mobile/base station a better

Initial Data Transmission Data Block

Block in Error Error Detection Block in Error

ARQ

Error Detection

Transmit at Different Puncture Scheme 0r Data Sub-block

No Error

No Error Accept Data Block

Deliver to Upper Layer


Figure 1. Incremental redundancy simplified state diagram. This diagram shows the different states in EDGE incremental redundancy. Figure 2. Example using MCS 9.

02| 05|WD&D

wd52_feature2.qxd

5/27/2005

10:59 AM

Page 32

32| www.wirelessdesignmag.com

chance of being able to recover from the errors. An Incremental Redundancy Example Refer to Figure 2 for the following discussion. The original data (the blue 4-bit block) is convolutionally encoded at rate of 1/3 (for every bit that goes into the coder three come out). The data is punctured into three puncture schemes (P1, P2, and P3) as demonstrated by the three colors red, green, and yellow. The data is sent OTA using one of the puncture schemes (the four red bits), giving a code rate of 1, i.e. for every original data bit sent there is 1 bit sent OTA. The demodulated data at the mobile is padded with data back to the size after convolutional encoding. The data used for padding (bit stuffing) is not relevant since the original data is unknown at the receiving end and there is a 50% chance of getting it correct. This is Viterbi decoded to give the 4 blue bits with some probability of error, and checked against the CRC. If the block is in error it is stored and the is sent to request a retransmission. When the retransmission is sent, a different puncture scheme (green) is used. The four green bits will be sent OTA. When they arrive at the mobile, they will be recombined with the red bits from the first transmission giving a code rate of 1/2 i.e. for every original data bit will be two bits sent OTA. This gives the mobile a greater chance of correctly decoding the data. Once the data has been recombined and padded, it is Viterbi decoded and again checked against the CRC. If the block is still in error, it is stored and the ARQ is sent to request a retransmission once more. This time the retransmission is sent using a different again puncture scheme (yellow). The four yellow bits are now sent OTA. When they arrive at the mobile they will be recombined with the red and green bits from the first and second transmission giving an OTA code

Figure 4 MCS 9 block coding and puncturing structure.

Figure 3. MSC families. rate of 1/3 i.e. for every original data bit there have been three data bits sent OTA, giving an even greater chance of correctly decoding the data. After Viterbi decoding, if the block is still in error it is possible to retransmit using the same coding scheme and repeat the puncture schemes or switch to a more robust coding scheme and increase the redundancy still further. Coding schemes MCS1-4 uses GMSK modulation, which is less likely to incur errors during transmission. Mobile Coding Schemes and Families Referring to Figure 3, it can be seen that the coding schemes are arranged into families. In family A, MSC9/6/3, the transmission starts in MCS9 and two 74octet blocks are sent. If either or both of these blocks are not received OTA successfully, even after being retransmitted using different puncture schemes, it is possible to resend these blocks individually using coding scheme MCS6. If still unsuccessful then it is possible to resend the 74-octet block over two 37-octet MCS3 blocks. The network will determine the number of retransmissions at each MCS. This gives not only the ability to add redundancy by using different puncture schemes but also allows dropping to a stronger code to perform the retransmission. Furthermore, as anyone

Figure 5. MCS6 Coding Scheme. who uses a mobile phone is more than aware, the air interface is a volatile beast, and unkind to modulation, which can cause errors in the data stream. To help combat this problem EGPRS has two modulation types. MCS5 MCS9 use: for transmission. MCS 9 coding scheme Figure 4 shows how two 612-bit blocks and header information are coded to go into four blocks, which will be transmitted over four frames. Notice that rate 1/3 Convolutional coding is used; yet only 1/3 of the coded bits are sent, giving a code rate of one. The other bits from puncture schemes P2 and P3 will not be transmitted unless P1 was not received correctly, as previously explained. Although, sometimes a second puncture scheme maybe set if only one of the MCS-9 blocks in the transmission is being used. Figure 5 shows the same information for coding scheme MCS 6. Now there is only one 612-bit block (this could be one of the MCS 9 blocks that was previously received in error). While it still uses rate 1/3 convolutional coding, MCS6 has only two puncturing schemes so that the data transmitted OTA has more redundant data than MCS 9. MCS 3 only has 316 data bits and does have three puncturing schemes, however this coding scheme now uses GMSK modulation. There is only one puncturing scheme sent OTA at a time. If this coding

3 8 PSK 8
whereas MCS1 MCS4 use GMSK modulation. GMSK is much less prone to errors because it has only one bit per symbol as opposed to three bits per symbol in the same bandwidth for the other modulation scheme. The special case amongst these families is family A padding, where MCS8 has a differing block size than the rest of its family members, in this case the blocks lower coding schemes using padding to make the 34 octet blocks fit into their 37 octet block size. A More Detailed Look at Family A Coding The following sections illustrate how the coding schemes in Family A make up the blocks, coding, and puncturing used

02|05|WD&D

wd52_feature2.qxd

5/27/2005

11:00 AM

Page 34

34| www.wirelessdesignmag.com

scheme is used to re-transmit an MCS 6 Block, two MCS3 blocks will need to be sent OTA. Incremental Redundancy, RLC Windows and Full Operation Clearly, if every block of data was sent over the air and then either an ACK or NACK was sent back to ask for retransmission the system would not be very efficient. This brings in the concept of the radio link control window. Table 1 shows the window sizes relative to the number of timeslots. A simple way to think of this is as follows: the window represents the number of blocks that can be sent to the mobile without a NACK. Blocks will be sent in sequence with a BSN until the last block in the sequence or the end of the window. There will be a packet ACK/NACK sent back to the transmitter that contains a SSN and a RBB. The BSN is then the SSN + the bitmap position. From this the transmitter is able to know which blocks were received with and without error. Blocks can then be retransmitted using the same or different puncture scheme, or even a different coding scheme. The first block that is in error then becomes the beginning of the RLC window, so it could be said that the window slides as blocks are received without error. Testing Incremental Redundancy Performance There are obviously two sides to the system where incremental redundancy can come into play, the uplink (transmission) and the downlink (reception). Both offers their own challenges and both have issues, which need to be tested and addressed. Testing Downlink Operation There are two ways of simulating an environment where downlink incremental redundancy will come into play. Both of which require an EGPRS system simulator and base station emulator, which supports incremental redundancy. The test scenario is set up such that during a data transfer, cell power is reduced to a point where errors start to enter the data stream and block errors cause retransmission. The system simulator must be capable of artificially introducing errors into the data stream. This will simulate a real transmission and blocks or bursts of errors and for the

Figure 6 MCS 3 block coding and puncturing structure.

Table 1. Allowed Window Sizes in EGPRS TBF Mode for Different Multiple Slot Allocations (3GPP TS 04.60 V8.7.0 (2000-11)) Window Size 64 96 128 160 192 224 256 228 320 352 384 416 448 480 512 544 576 608 640 672 704 736 768 800 832 864 896 928 960 992 1024 Reserved Coding 1 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 01011 01100 01101 01110 01111 10000 10001 10010 10011 10100 10101 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111 Timeslots allocated (Multislot capability) 2 3 4 5 6 7

Max Max

ing scheme switching works together to provide the best method for exercising the mobile with the maximum amount of control. Of course, this is all beside the point if you are unable to see the changes take effect. The effect can be viewed in two ways: as a reduction of data throughput, i.e. the result, or by viewing the protocol and literally seeing the changed made to the coding and puncture schemes as they occur over the data transfer. Testing Uplink Operation For the testing of uplink incremental redundancy operation, there are similar challenges. Errors can be introduced into the uplink data stream, which is particularly difficult without altering the downlink path, and, the only way to do this would be to move the uplink signal outside of the acceptable operating range of the system simulators input. However, a better way to test this would be to artificially negatively acknowledge uplink blocks to force uplink retransmission. This way, when the mobile receives the ACK/NACK bitmap from the system simulator, it will retransmit the negatively acknowledged blocks using a different puncture or coding scheme. What the Standards Say 3GPP document 45.005 specifies the test for incremental redundancy in section 6.7 as follows: Support for Incremental Redundancy reception is mandatory for all EGPRS capable MSs. In Incremental Redundancy RLC mode, soft information from multiple, differently punctured versions of an RLC data block may be used when decoding the RLC data block. This significantly increases the link performance. An EGPRS capable MS shall under the conditions stated in the table, left, achieve a long-term throughput of 20 kbps per time slot (see note), measured between LLC and RLC/ MAC layer. NOTE: This corresponds to an equivalent block error rate of approximately 0.66 using the prescribed MCSStrictly speaking, this can be tested by using a system simulator which simply supports incremental redundancy. This is fine from a receiver conformance testing perspective but does not really give the developer any indication of what, if anything, is wrong with the device and would certainly not give any 02|05|WD&D

Max

Max

Max

Max

Max

Max x

mobile to request a retransmission. The first of these will not give any control over the retransmissions and the ratio of errors in the data stream. The second of these offers the best solution, especially if the system simulator offers good control over the errors which will

be introduced. Ideally, there also needs to be some way of viewing what both the mobile and the network see happening. Once there is a method of introducing errors into the data stream, there also needs to be a way of controlling how incremental redundancy and mobile cod-

wd52_feature2.qxd

5/27/2005

11:00 AM

Page 35

www.wirelessdesignmag.com |35

insight into algorithmic errors. Potential Issues for Mobile Device and Protocol Stack Developers The major issues from a mobile perspective are memory and processor issues. The mobile must be able to store much data, especially as the data will not just be transmitted one block at a time; it can be up to the maximum window size i.e. 1024 Blocks (see 0). This means that the mobile must be able to buffer this data and then potentially buffer it all twice more as the data is sent using different puncture schemes. It can also then be transmitted in different coding schemes from the same family and recombined adding further complexity and increasing memory still further. Actually there is a get out of jail free card for the mobile in that it can signify to the network that it is out of memory by setting a flag in the Packet downlink ACK/NACK message. If this flag is set, then retransmissions will only be perRequired throughput Propagation conditions Static, input level Modulation and Coding Scheme Acknowledgements polling period Roundtrip time Number of timeslots Transmit window size

Table 2. 20,0 kbps per timeslot - 97,0 dBm MCS-9 32 RLC data blocks 120 ms Maximum capability of the MS Maximum for the MS timeslot capability

formed in the same coding and puncture scheme so that the mobile does not have to buffer more data. Due to all of the Viterbi decoding and buffering the mobile has to work hard computationally, which has to be performed in real time if throughput is to be maintained. Control over the amount of up- and downlink errors are essential if the developer wishes to verify that the mobile has enough MIPS (millions of instructions per second), i.e. computing power to keep up.

Conclusion EGPRS is an important extension to the already very popular and worldwide renowned GSM technology. This allows excellent data rates for a low initial investment. However, this is over the same air interface as GSM. Even though EGRPS provides nine coding schemes to vary the levels of protection, the technology really gets efficiency from the ability to incrementally add redundancy when needed. So no or very little redundant data is sent if there are no errors in the data stream.

In addition to this, EGPRS also adds the possibility to dynamically change between coding schemes, adding more redundancy and using stronger channel coding. This incremental redundancy technique is so crucial to EGPRS, and is what makes it viable as an efficient transport medium. As incremental redundancy is so important, it needs effective testing methods. These are different for both uplink and downlink and need to be possible in a controlled way, preferably under real life scenarios, and in real life data transfers.
WD&D

About the Author Paul Mercy graduated with honors from the University of Plymouth, UK, with a Bachelor of Engineering degree in Communications Engineering. He has been with Agilent Technologies, Inc. for four years as an applications engineer specializing in wireless test and measurement for GSM, GPRS, EGPRS,ss and WCDMA cellular technologies.

Use

011-50201-212 or Call 800-441-6180

Use

011-50201-213 or Call 800-441-6180

Вам также может понравиться