Sunteți pe pagina 1din 4

Over the air efficiency with incremental redundancy

By Paul Mercy Agilent Technologies Inc.

Incremental redundancy is included in enhanced general packet radio service (EGPRS) to achieve maximum efficiency over the air interface (RF). By using incremental redundancy, error-correction data (redun-

tional coding, the system can add protection to the data. However, this also adds correction data to the original data that carries no actual information (redundancy). In effect, it reduces data throughput. It works by first sending only the minimum amount of redundant data, and in most cases,

Figure 1: Incremental redundancy is the system used by EDGE to get maximum performance out of the available bandwidth.

dancy) is not sent over the air unless the data is received in error, thus making the air interface efficient. This article covers the operation of incremental redundancy and discusses how it can be used to adapt the link to provide maximum throughput of data by changing coding and puncture schemes as necessary. Designers of wireless devices that incorporate incremental redundancy are faced with many concernsfrom 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 and 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. Incremental redundancy is the system used by EDGE (enhanced data rates for GSM evolution) to get maximum performance out of the available bandwidth. By using convolu-

no redundant data. If this is unable to be decoded correctly, the system will send the same data using a different puncture or coding scheme. If data is retransmitted using a different puncture or coding scheme, it is then recombined with the first transmission to increase the redundancy. Figure 1 shows the different states in EDGE incremental redundancy. A data block is sent to the
Original data
Rate 1/3 coded data

mobile. 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 the automatic repeat request (ARQ) to the base station. The base station will then 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 chance of recovering from the errors. The original data (4bits in blue in Figure 2) is convolutionally encoded at rate 1/3 (for every bit that goes into the coder three come out). The data is then punctured into three puncture schemes (P1, P2 and P3) as demonstrated by the colors red, green and yellow. The data is first sent over the air using one of the puncture schemes, in this demonstration shown as four red bits, giving a code rate of 1. This means that for every original data bit sent, there is one bit sent over the air. The demodulated data at the mobile is padded with data back to the size after convolutional encoding (the data used for padding or bit stuffing is not relevant since the original data is unknown at the receiving end, and there is a 50 percent chance of getting it correct). This is then Viterbi decoded to

give the four blue bits with some probability of error, and then checked against the cyclic redundancy check (CRC). If the block is in error, it is stored and the ARQ 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 over the air. 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, which means for every original data bit there have now been two bits sent over the air. 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 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 sent over the air. When they arrive at the mobile, they will be recombined with the red and green bits from the first and second transmission, giving an over-the-air code rate of 1/3. For ever y original data bit, there have been three data bits sent over the air, giving an even greater chance of correctly de-

1st TX R = 1/1 R = 1/1 2st TX R = 1/1 2nd decode attempt R = 1/3 R = 1/1 3rd decode attempt 1st decode attempt R = 1/2

3rd TX

Figure 2: The original data is convolutionally encoded at rate 1/3. The data is then punctured into three puncture schemes as demonstrated by the colors red, green and yellow.

coding the data. If the block is still in error after Viterbi decoding, it is possible to retransmit using the same coding scheme and repeat the puncture schemes, or switch to a more robust coding scheme and further increase the redundancy. Coding schemes MCS 1-4 use Gaussian minimum shift keying modulation, which is less likely to incur errors during transmission. Mobile coding schemes In Figure 3, the coding schemes are arranged into families. In family A, MSC 9/6/3, the transmission starts in MCS 9 and two 74-octet blocks are sent. If either or both of these blocks are not received over the air successfully, even after being retransmitted using different puncture schemes, it is possible to send these blocks individually using coding scheme MCS 6. If still unsuccessful, then it is possible to send the 74-octet block over two 37-octet MCS 3 blocks. The number of retransmissions at each MCS will be determined by the network. 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 who uses a mobile phone is more than aware the air interface is a volatile beast, is unkind to modulation, and can cause errors in the data stream. To help combat this problem, EGPRS has two modulation types. MCS 5-9 use (3!/8) 8PSK, while MCS 1-4 use GMSK modulation which is less prone to errors due to only having one bit per symbol as apposed to

Figure 3: In MCS 9/6/3, the transmission starts in MCS9 and two 74-octet blocks are sent. If either or both of these blocks are not received over the air successfully, it is possible to send these blocks individually.

3bits per symbol in the same bandwidth. The special case among these families is family A padding, where MCS 8 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. Figure 4 shows how two 612bit 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 is not received correctly. 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 612bit 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, MCS 6 has only two puncturing schemes so that the data transmitted over the air have more redundant data than MCS 9. In Figure 6, 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 over the air at a time. If this coding scheme is used to retransmit an MCS 6 block, two MCS 3 blocks will need to be sent over the air. Clearly, if every block of data was sent over the air and then either an acknowledgement (ack) or negative acknowledgement (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 block sequence number (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 starting sequence number (SSN) and a received block bitmap (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 dif-

Figure 4: MCS 9 block coding and puncturing structure. Two 612bit blocks and header information are coded to go into four blocks.

Figure 5: MCS 6 block coding and puncturing structure. There is only one 612bit block, which could be one of the MCS 9 blocks that was previously received in error.

two ways, as a reduction of data throughput, that is the result, or by viewing the protocol and literally seeing the changed mad to the coding and puncture schemes as they occur over the data transfer. 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. Potential issues The major issues from a mobile perspective are memory and processor issues. The mobile must be able to store larger data, especially as the data will not just be transmitted one block at a time, it can be up to the maximum win-

Figure 6: MCS 3 block coding and puncturing structure. MCS 3 only has 316 data bits and does have three puncturing schemes, but now uses GMSK modulation. There is only one puncturing scheme sent over the air at a time.

ferent coding scheme. The first block that is in error then becomes the beginning of the RLC window, so we can say that the window slides as blocks are received without error. Testing performance There are two sides to the system where incremental redundancy can come into play: the uplink (transmission) and the downlink (reception). Both have issues that need to be tested and addressed. 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 a base station emulator that supports incremental redundancy: 1. During a data transfer, reduce cell power to a point where errors start to enter the data stream and block errors cause retransmission. 2. The system simulator must be capable of artificially introducing errors into the

data stream. This will simulate real transmission and blocks or bursts of errors, and for the mobile to request a retransmission. The first will not give any control over the retransmissions and the ratio of errors in the data stream. The second offers by far the best solution, especially if the system simulator offers good control over the errors that 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 coding 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

Table 1: Allowed window sizes in EGPRS TBF mode for different multiple slot allocations. The window represents the number of blocks that can be sent to the mobile without a negative acknowledgement.

dow size (1,024 blocks). 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 be transmitted in different coding schemes from the same family and recombined adding further complexity and increasing memory. Actually, there is a get out of jail free card for the mobile. It can signify to the network that it is out of memory by setting a flag in the packet down-

link ack/nack message. If this flag is set, then retransmissions will only be performed 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 uplink and downlink errors are essential if the developer

wishes to verify that the mobile has enough MIPS or enough computing power to keep up. EGPRS is an important extension to the already popular GSM technology. This allows excellent data rates for a low initial investment. However, this is over the same air interface as GSM. Even though EGPRS 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, 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 this makes it viable as an efficient transport medium. As incremental redundancy is so important, it needs effective testing methods.

S-ar putea să vă placă și