US20030131302A1 - Incremental redundancy radio link protocol - Google Patents
Incremental redundancy radio link protocol Download PDFInfo
- Publication number
- US20030131302A1 US20030131302A1 US10/347,243 US34724303A US2003131302A1 US 20030131302 A1 US20030131302 A1 US 20030131302A1 US 34724303 A US34724303 A US 34724303A US 2003131302 A1 US2003131302 A1 US 2003131302A1
- Authority
- US
- United States
- Prior art keywords
- sub
- block
- blocks
- data
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 claims abstract description 30
- 230000005540 biological transmission Effects 0.000 claims description 23
- 238000001514 detection method Methods 0.000 claims description 12
- 238000013139 quantization Methods 0.000 claims description 5
- 238000012937 correction Methods 0.000 claims description 4
- 238000013461 design Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 2
- 230000032258 transport Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 230000001413 cellular effect Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 230000010267 cellular communication Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 230000001427 coherent effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101001093748 Homo sapiens Phosphatidylinositol N-acetylglucosaminyltransferase subunit P Proteins 0.000 description 1
- 102100035188 Phosphatidylinositol N-acetylglucosaminyltransferase subunit P Human genes 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
- H04L1/1819—Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy
Definitions
- the invention relates to communication networks in general. More particularly, the invention relates to a radio link protocol for increasing bandwidth efficiency for a network.
- EIA Electronic Industries Association
- IS-136 defines a digital cellular system utilizing a variety of technologies to enhance the capacity of a system, such as using Time Division Multiple Access (TDMA), voice compression using Vector Sum Linear Prediction Coding (VSELP), and digital signaling.
- TDMA Time Division Multiple Access
- VSELP Vector Sum Linear Prediction Coding
- 4-PSK four-level phase shift keying
- Modulation refers to the process of converting digital data into analog tones that can be transmitted over radio frequency (RF) spectrum.
- IS-136+ attempts to achieve higher data rates over IS-136 by, among other things, increasing the modulation format from 4-PSK to 8-PSK or 16-Quadrature Amplitude Modulation (QAM). While increasing the modulation format increases the capacity of the system, it also increases the number of frame errors in the system, especially at low Signal-to-Noise Ratio (SNR).
- SNR Signal-to-Noise Ratio
- IS-136 and IS-136+ systems use a radio link protocol referred to as EIA IS-130, Rev A, “800 MHZ Cellular Systems—TDMA Radio Interface—Radio Link Protocol 1,” Jul. 25, 1997 (IS-130) to correct frame errors.
- IS-130 is unsatisfactory for a number of reasons, two of which are discussed below.
- the first problem with IS-130 is that it does not account for the SNR for a communication channel.
- IS-130 uses a technique referred to as “5/6 encoding” as a means of performing error correction for data transmitted from a transmitter to a receiver.
- the technique of 5/6 encoding means for every five bits of data, a sixth bit is introduced to correct errors.
- the problem with 5/6 encoding is that it introduces a fixed amount of overhead for every five bits of actual data. If a communication channel has a high SNR, which means there is a lower likelihood of errors occurring during transmission, many times there is no need for the extra overhead.
- the second problem with IS-130 is that if the received block of data has errors that cannot be corrected, the entire block is discarded and is resent by the system. This means that the bandwidth spent transmitting and receiving the block is wasted. The time spent resending the block takes up resources that could otherwise be devoted to carrying extra calls for the system, i.e., increasing the capacity of the system.
- One embodiment of the invention includes a method and apparatus for sending blocks of data without any error correcting coding. If the block is received without an error then the next block of data is transmitted. If the block is received with an error, the receiving device sends a message requesting error correcting information. The transmitting device sends the error correcting information in specified increments until the receiving device can successfully decode the block without error. Once the block is received without errors, the next block of data is transmitted.
- FIG. 1 illustrates a cellular communications system suitable for practicing one embodiment of the invention.
- FIG. 2 is a protocol stack suitable for practicing one embodiment of the invention.
- FIG. 3 is a block diagram of a computer system for implementing an Incremental Radio Link Protocol (IRLP) in accordance with one embodiment of the invention.
- IRLP Incremental Radio Link Protocol
- FIG. 4 is a block diagram of a sending IRLP module in accordance with one embodiment of the invention.
- FIG. 5 shows the format of a block B in accordance with one embodiment of the invention.
- FIG. 6 illustrates rate 2 binary convolutional encoding in accordance with one embodiment of the invention.
- FIG. 7 is an example of a transmit table in accordance with one embodiment of the invention.
- FIG. 8 illustrates a Packet Data Unit in accordance with one embodiment of the invention.
- FIG. 9 is a block diagram of a receiving IRLP module in accordance with one embodiment of the invention.
- FIG. 10 illustrates a receive table in accordance with one embodiment of the invention.
- FIG. 11 illustrates a frame as defined by IS-136.
- FIG. 12 illustrates the throughput results of one embodiment of the invention versus the IS-130 protocol for low Doppler frequencies.
- FIG. 13 illustrates the throughput results of one embodiment of the invention versus the IS-130 protocol for high Doppler frequencies.
- FIG. 16 illustrates the throughput and delay curves for the adapted and non-adapted systems operating at high Doppler in accordance with one embodiment of the invention.
- This embodiment of the invention includes a hybrid acknowledgment/request (ARQ) based Radio Link Protocol for IS-136+ that offers higher data throughput compared to the Radio Link Protocol as defined by IS-130.
- ARQ acknowledgment/request
- This embodiment of the invention operates by transmitting data uncoded on the initial transmission and incrementally transmits parity information upon receipt of a negative acknowledgment from the receiver.
- the parity information is derived from a rate 1/2 binary convolutional code.
- the receiving protocol retains received information in the form of soft decision bits and jointly decodes the data and parity until decoding is successful.
- the gain of the protocol is between 2 to 5 dB at low to mid SNR ranges, and 20% throughput at high SNR.
- IS-136+ is an extension of IS-136 aiming to achieve higher data rates by increasing the modulation format from.4-PSK to 8-PSK and/or 16-QAM.
- the penalty incurred by a higher modulation format is an increase in the frame error rate (FER) especially at low SNR.
- the radio link protocol defined in IS-130 (RLP 1 ) is designed to correct the layer- 1 frame errors by using a selective ARQ scheme to retransmit lost frames.
- This embodiment of the invention modifies the IS-130 radio link protocol and the layer- 1 specification such that the code rate is adapted as necessary to match the average SNR of the system and the realization of the random processes affecting the transmitted signal. More particularly, the definition of layer- 1 is modified to be an uncoded data transport system that delivers bits to layer- 2 in a soft decision format, that is, likelihood information for each bit is retained. The encoding task is moved to layer- 2 in such a way that the code rate is dynamically selected as required. This is implemented by initially transmitting the data uncoded, followed by transmitting parity information as determined by the receiver state feedback information. In other words, the power of the code is increased as required.
- this embodiment of the invention is discussed in terms of modifying IS-130, it can be appreciated that other radio link protocols can be also modified using the principles discussed herein and still fall within the scope of the invention.
- a general overview of the steps implemented in accordance with one embodiment of the invention is as follows.
- a block of data is sent from a first network device to a second network device.
- the first network device determines whether the block was received with an error. If the block was received with an error, the first network device sends increments of error correcting information until the error has been corrected or until all available error correcting information for the block has been sent.
- the first network device generates a block of bits at the first network device, encodes the block, and sends the encoded blocks to a second network device.
- the first network device determines whether the encoded block was received by the second network device with an error.
- the first network device sends increments of error correcting information to the second network device if the encoded block was received with an error.
- the first network device determines whether the encoded block was received with errors as follows. First, the first network device receives a first error message from the second network device. A status bit associated with the block is set and evaluated.
- the first network device generates the block of bits as follows.
- the first network device receives a service data unit (SDU) comprised of a series of bits.
- SDU service data unit
- the first network device generates error detection bits for the service data unit bits.
- the first network device then concatenates the SDU bits and the error detection bits to form a single block.
- the first network device encodes the block as follows.
- the first network device generates error correcting bits for the block. It then allocates the data bits and error detection bits to data intermediate blocks, and the error correcting bits to error correcting intermediate blocks.
- the first network device interleaves bits from the data intermediate blocks to form data sub-blocks, and bits from the error correcting intermediate blocks to form error correcting sub-blocks.
- the first network device sends the encoded block as follows.
- the first network device forms a current data sub-block into a data packet data unit, and sends the data packet data unit to the second network device.
- the first network device determines whether the data packet data unit was received by the second network device with an error.
- the first network device resends the data packet data unit until it is received by the second network device without an error. This sequence continues for each data sub-block for the block until all data sub-blocks are received by the second network device without an error.
- the first network device determines whether the data packet data unit was received by the second network device with an error as follows.
- the first network device receives a second error message from the second network device indicating a data packet data unit was received with an error.
- the first network device sets a status bit associated with the data sub-block used to form the data packet data unit, and then evaluates or checks the status bit.
- the first network device forms the current data sub-block as follows.
- the first network device encodes a header block for each encoded sub-block.
- Each encoded header block is then added to the encoded sub-block.
- the first network device sends error correcting information as follows.
- the first network device forms a current error correcting sub-block into a packet data unit, and sends the error correcting packet data unit to the second network device.
- the first network device determines whether the error correcting packet data unit was received by the second network device with an error.
- the error correcting sub-block is resent and re-evaluated until the error correcting packet data unit is received by the second network device without an error.
- the first network device determines whether the block was corrected using the error correcting sub-block used to form the error correcting packet data unit. If the block was not corrected, the sequence is repeated using a next error correcting sub-block until the block is corrected or until each error correcting sub-block for the block is received by the second network device without an error.
- the first network device determines whether the error correcting packet data unit was received by the second network device with an error as follows.
- the first network device receives a third error message from the second network device indicating the error correcting packet data unit was received with an error. It sets a status bit associated with the error correcting sub-block used to form the error correcting packet data unit, and it evaluates the status bit.
- the first network device determines whether the block was corrected using the error correcting sub-block used to form the error correcting packet data unit as follows.
- the first network device receives a fourth error message from the second network device indicating the block was not corrected using the error correcting sub-block.
- a status bit associated with the block is set and evaluated.
- the first network device forms the error correcting packet data unit as follows. It encodes a header block for each encoded sub-block. The encoded header block is then added to the encoded sub-block.
- the second network device receives an encoded block at the second network device and performs the following steps. It decodes the received block and determines whether the block has an error. The second network device then corrects the error using error correcting information sent by the first network device. The second network device then generates or recovers an SDU from the block.
- the second network device receives the encoded block as follows.
- the second network device receives a current data packet data unit from the first network device, and it determines whether the data packet data unit has an error. This is repeated until the data packet data unit is received without an error. The entire sequence is repeated with a next data packet data unit until each data packet data unit for the block is received without an error.
- the second network device determines whether the data packet data unit has an error as follows.
- the second network device decodes the data packet data unit into header bits and error detection bits, and it tests the header bits using the error detection bits.
- the second network device then sets a status bit for a data sub-block indicated by the header bits in accordance with the test results, and it evaluates the status bit.
- the second network device decodes the received block as follows. It first retrieves data bits and error detecting bits from the received data sub-blocks. It then forms a service data unit.
- the second network device determines whether the received block as an error as follows.
- the second network device tests the SDU using the error detection bits. It then sets a status bit associated with the block in accordance with the test, and it evaluates the bit.
- the second network device corrects the received block as follows.
- the second network device receives a current error correcting protocol data unit, and it determines whether the error correcting packet data unit has an error. It then sends a third error message to the first network device. This is repeated until the error correcting packet data unit is received by the second network device without an error.
- the second network device determines whether the block was corrected using the error correcting sub-block used to form the error correcting packet data unit. If not corrected, the entire sequence is repeated with a next error correcting sub-block until the block is corrected or until each error correcting sub-block for the block is received by the second network device without an error.
- the second network device determines whether the block was corrected using the error correcting sub-block used to form the error correcting packet data unit as follows.
- the block is corrected using the bits from the error correcting sub-block.
- the block is tested using the error detection bits.
- the second network device sends a fourth error message to the first network device in view of the test results, and it sets a status bit associated with the block. The status bit is then evaluated.
- a cellular communications system 100 comprises mobile stations 102 , 104 and 106 in communication with a base station 108 over a plurality of radio-frequency (RF) channels.
- Base station 108 is connected to a mobile telephone switching office (MTSO) 110 .
- MTSO 110 is connected to a public switched telephone network (PSTN) 112 , which in turn is connected to audio interface devices 114 , 116 and 118 .
- PSTN public switched telephone network
- cellular communications system 100 is but one example of a system in which the present invention can be displayed, and that a person of ordinary skill in the art understands that system 100 can comprise any number of sub-systems and configurations and still fall within the scope of the invention.
- mobile station 102 requests a communication channel for completing a call to audio interface device 118 .
- Base station 108 establishes the communications channel with mobile station 102 and with audio interface device 118 via MTSO 110 and PSTN 112 . Once the communication is established, mobile station 102 and audio interface device 118 begin communicating information.
- FIG. 2 is a protocol stack suitable for practicing one embodiment of the invention.
- mobile station 102 communicates with base station 108 over a radio interface 202 by utilizing a series of communication protocols broken down into three distinct layers.
- Layer 1 of the protocol stack is the physical layer.
- the physical layer is concerned with the transmission of unstructured bit streams over a physical link, involving such parameters as signal voltage swing, signal bit duration and so forth.
- the physical layer operates in accordance with IS-136 or IS-136+. It is worthy to note that IS-136 and IS-136+ will be uniformly referred to as IS-136 unless differences between IS-136 and IS-136+ merit separate treatment.
- Layer 2 of the protocol stack is the data link layer.
- the data link layer provides for the reliable transfer of data across the physical link, such as sending blocks of data with the necessary synchronization, error control, flow control, and so forth.
- IS-136 and IS-136+ utilize a radio link protocol defined by IS-130 for the data link layer operations.
- Layer 3 of the protocol stack is the network layer.
- the network layer provides upper layers with independence from the data transmission and switching technologies used to connect systems.
- the network layer is responsible for establishing, maintaining and terminating connections.
- the network layer operates in accordance with any network layer protocol suitable for use with IS-136+ and IS-130.
- This embodiment of the invention relates to the physical layer (layer 1 ) and data link layer (layer 2 ) for the above-described protocol stack.
- the IS-136 layer- 1 specification for data transport delivers packets of 216 bits using a rate 5/6 binary convolutional code and ⁇ /4 offset 4-DPSK modulation.
- IS-136+ aims to increase data rates by using higher modulation formats such as 8-PSK and 16-QAM.
- This embodiment of the invention modifies IS-136 layer- 1 to transport frames of bits uncoded and deliver these to layer- 2 in a soft decision format, that is, reliability information on each bit is included.
- this embodiment of the invention replaces the radio link protocol defined by IS-130 with an incremental radio link protocol (IRLP) described herein.
- IRLP is a radio link protocol for asynchronously transporting data between unspecified layer- 3 entities, and is positioned between the physical layer (layer- 1 ) and the network layer (layer- 3 ) as shown in FIG. 2.
- FIG. 3 is a block diagram of a computer system for implementing the IRLP in accordance with one embodiment of the invention.
- functionality for the IRLP is implemented in the form of computer program segments stored in memory for execution by a processing device.
- FIG. 3 shows a computer system 300 comprising a processor 302 and a memory 304 .
- Processor 302 includes any processor of sufficient processing power to perform the functionality for the IRLP described in detail below. Examples of processors suitable to practice the various embodiments of the invention include the Pentium®, Pentium® Pro, and Pentium® II microprocessors from Intel Corporation.
- Memory 304 can be any type of high-speed computer-readable memory such as random access memory (RAM), dynamic RAM (DRAM), read only memory (ROM), programmable read only memory (PROM), erasable programmable read only memory (EPROM), electronically erasable programmable read only memory (EEPROM), and so forth.
- RAM random access memory
- DRAM dynamic RAM
- ROM read only memory
- PROM programmable read only memory
- EPROM erasable programmable read only memory
- EEPROM electronically erasable programmable read only memory
- the overall functioning of computer system 300 is controlled by processor 302 , which operates under the control of executed computer program instructions that are stored in memory 304 .
- the computer program instructions implementing the functionality for this embodiment of the invention are stored in memory 304 and are shown as separate functional modules, namely, sending IRLP module 308 and receiving IRLP module 310 .
- Also stored in memory 304 is transmit table 306 for use with sending IRLP module 308 , and receive table module 312 for use with receiving module 310 .
- Modules 308 and 310 will be described in further detail below.
- FIG. 4 is a block diagram of a sending IRLP module in accordance with one embodiment of the invention.
- sending IRLP module 308 comprises a blocking module 404 , an encoding module 406 , and a send transport module 408 .
- module 308 receives a Service Data Unit (SDU) 402 from the network layer (layer- 3 ), transforms SDU 402 into a corresponding Packet Data Unit (PDU) 410 , and transports PDU 410 over the physical layer (layer- 1 ).
- SDU 402 is one of a series of SDUs all in the form of octets which are to be delivered in-sequence to the layer- 3 on the receiving side.
- FIG. 5 shows the format of a block B i in accordance with one embodiment of the invention.
- Blocking module 404 accepts SDU 402 from the transmitting layer- 3 and constructs a blocked SDU by concatenating L Data bits and a frame check sequence (FCS).
- the FCS is a Cyclic (Bi) Redundancy Check (CRC) of length L DCRC computed over the corresponding data bits.
- the lengths L Data and L DCRC are design parameters to be optimized.
- the data sub-blocks D i1 to D iD contain no redundancy and represent a 1 to 1 mapping to the blocked SDU B i .
- the parity sub-blocks P i1 to P iD contain parity information derived from B i and are used by the protocol for Forward Error Correction (FEC) upon decoding failure at the receiving side.
- FEC Forward Error Correction
- the sub-blocks are derived from B i by a rate 1/2 binary convolutional encoding as shown FIG. 6.
- FIG. 6 illustrates rate 2 binary convolutional encoding in accordance with one embodiment of the invention.
- This embodiment of the invention includes rate 1/2 binary convolutional encoding using a 32-state maximum Hamming distance code with octal generators ( 53 , 75 ). It is noted that the output bits resulting from the encoding are mapped to the sub-blocks in an interleaved manner to maximize time/code diversity.
- the encoded sub-blocks are passed to send transport module 408 for transmission.
- Send transport module 408 transports the blocked SDUs B i to the receiving side and delivers them in-sequence to layer- 3 .
- Module 408 accomplishes this by initially sending just the data sub-blocks D i1 to D iD followed by sending additional parity sub-blocks P ij whenever the receiver fails to decode block B i correctly.
- Send transport module 408 cannot discard the sub-blocks corresponding to a block B i until it has received a positive acknowledgment from the receiver for B i , hence the protocol operates by maintaining in a table the sub-blocks that have been transmitted but not yet acknowledged.
- An example of a transmit table is shown in FIG. 7 as described below.
- FIG. 7 is an example of a transmit table in accordance with one embodiment of the invention.
- the transmit table contains the following fields:
- NS is the sequence number assigned by the sending RLP to each block B i .
- the sequence number is i mod WS, where WS is the window size.
- B is a flag denoting whether or not the corresponding block B i has been successfully decoded by the receiver. A zero indicates the entry is undecoded.
- R indicates whether module 408 needs to transmit more information about block B i to the receiving RLP.
- MC indicates whether the protocol has sent non-consecutive multiple sub-blocks of the block B i .
- a 1 indicates yes and 0 indicates no.
- B D1 to B DD respectively indicate whether sub-blocks D 1 . . . D D have been received. A 0 indicates unreceived.
- B P1 to B PD respectively indicate whether sub-blocks P 1 . . . P D have been received.
- a 0 indicates unreceived.
- DATA contains the data and parity ⁇ D i1 . . . D iD , P i1 . . . P iD ⁇ sub-blocks corresponding to block B i .
- Send transport module 408 transports data and parity sub-blocks in accordance with the following algorithm:
- step 7 If the window is not full and there are data sub-blocks at the encoder output corresponding to a data block B i , retrieve the sub-blocks D i1 . . . D iD and P i1 . . . P iD from the encoder, assign the next NS set B and MC to 0, R to 1 and place the entry at the bottom of the table, and go to step 9. Otherwise, go to step 8.
- FIG. 8 illustrates a PDU in accordance with one embodiment of the invention.
- Module 408 sends the data sub-blocks encapsulated in the frame format shown in FIG. 8.
- the packet consists of two parts, namely an encoded header and a data or parity sub-block which is one of ⁇ D i1 . . . D iD , P i1 . . . PiD ⁇ as decided by step 9 of the sending protocol procedure.
- the header is rate 1/2 encoded to ensure a high decoding reliability and contains the following fields:
- NS is the block sequence number of length L NS bits.
- NB is sub-block sequence number of length L NB bits.
- the number NB represents which sub-block of the block B i is being transmitted.
- the length L NB is related to D by:
- a CRC of length L HCRC which is a FCS over the header bits only. This FCS is used to ensure the integrity of the header information.
- the total PDU length is L PDU which is the layer- 1 transmission packet length and is a design parameter to be optimized. It is a function of the number of IS-136 slots over which a transmission occurs and the modulation format. It is worthy to note that although the encoder described above is a 32-state rate 1/2 convolutional encoder, a block code with error correction and detection capabilities may be used and still fall within the scope of the invention.
- FIG. 9 is a block diagram of a receiving IRLP module in accordance with one embodiment of the invention.
- Receiving IRLP module 310 is a peer for sending IRLP module 308 and is responsible for combining the received sub-blocks and jointly decoding them to recover the data blocks B i .
- Module 310 receives PDU 410 from layer- 1 .
- Module 310 comprises a receive transport module 902 , a quantizer 904 , a decoder 906 , a FCS decoder 908 and a deblocking module 910 .
- Module 310 outputs a replica of SDU 402 .
- Module 310 utilizes receive table 312 .
- Receive table 312 is complementary to transmit table 306 and stores the received sub-blocks and decoded blocks until they can be delivered in-sequence to layer- 3 . It is worthy to note that because the sub-blocks are retrieved from layer- 1 in soft-decision format and need to be stored in receive table 312 , a high memory overhead is incurred (for example, memory requirements would increase by a factor of 8 if 8 bits are stored per soft bit). Therefore for storage purposes, the soft information is quantized to q levels.
- FIG. 10 illustrates a receive table in accordance with one embodiment of the invention.
- Receive table 312 has the following fields:
- NS is the block sequence number.
- B D1 to B DD respectively indicate whether data sub-blocks D 1 . . . D D have been received.
- B P1 to B PD respectively indicate whether parity sub-blocks P 1 . . . P D have been received.
- DATA contains the soft-decision data and parity ⁇ D i1 , . . . D iD , P i1 . . . P iD ⁇ sub-blocks corresponding to block B i .
- Module 310 operates in accordance with following receive algorithm:
- Quantizer 904 reduces the storage requirements of the soft-decision bits received from layer- 1 .
- the quantizer converts the soft-decision information into a q level representation, where q is a design parameter that trades off receiver memory requirements against system performance.
- q is a design parameter that trades off receiver memory requirements against system performance.
- the memory requirements at the receiver per bit are given by [log 2 q]. It is worthy to note that the quantization intervals should be optimized carefully, especially for low values of q.
- Decoder 906 corresponds to encoding module 406 described above. It is passed the subset of received soft-decision sub-blocks D′ 1 . . . D′ D , P′ 1 . . . P′ D and attempts to decode using the soft decision Viterbi algorithm.
- the soft decision metrics are calculated by first letting b ij denote the j th bit of sub-block D i (or P i ).
- the sequence of bits b ij is conventionally interleaved and mapped to the two-dimensional constellation C (e.g., 4-PSK, 8-PSK, etc.).
- Determining the soft-decoding metric m ij for bit j of a sub-block D′ i (or P′ i ) consists of the following steps:
- the noise estimate for each bit at step 3 is desirable due to variations in the SNR level between transmissions of sub-blocks belonging to the block B i .
- This decoding method provides a form of interference diversity.
- a practical method of estimating the SNR level for each bit is to estimate it by the SNR N oi measured across the sub-block D i .
- N oi ′ ⁇ j ⁇ ⁇ min c k ⁇ C
- Decoder 906 output B′ i corresponding to the sending B i is checked for correct decoding by the FCS decoder 908 .
- Decoder 906 passes B′ i to FCS decoder 908 .
- FCS decoder 908 computes the FCS of B′ i and indicates to receiving IRLP module 310 whether the received block passed the frame check.
- Deblocking module 910 performs the inverse operation to blocking module 404 described with respect to FIG. 4. Module 910 delivers the de-blocked SDUs to layer- 3 .
- sending IRLP module 308 and receiving IRLP module 310 operate using the following parameters. Although specific values are assigned for some parameters, it can be appreciated that these values are exemplary only and can vary while remaining within the scope of the invention. Specific parameter values for the length L Block of data blocks and L sub-block are given. These lengths are a function of the length L PDU of the layer- 1 PDU, the number of sub-blocks D a block is divided into, and the PDU encoded header length L EncHeader . These are related as follows:
- Sending IRLP module 308 transports across the physical channel data packets of size L PDU bits and delivers these in soft decision format to the link layer.
- the underlying physical layer is IS-136+ which is similar to IS-136 except for employing a higher modulation format to enable increased data throughput.
- FIG. 11 illustrates a frame as defined by IS-136.
- Each 30 kHz IS-136 channel consists of frames of 40 ms duration.
- Each frame is divided into six slots of which two are allocated to a user for full-rate transmission.
- the symbol rate is 24300 symbols per second giving 162 symbols per slot. Of these 162 symbols, 130 are available for data transmission.
- the link layer protocol requires a fixed length packet size L PDU .
- the protocol overhead is halved by transmitting over 4 slots.
- FIGS. 12 and 13 illustrate the throughput results of one embodiment of the invention versus the IS-130 protocol for low and high Doppler frequencies, respectively.
- the throughput results for RLP 1 are shown for modulation formats 4-PSK, 8-PSK and 16-QAM.
- the horizontal axis is average SNR per symbol.
- the protocol gains approximately 20% in throughput at high SNR due to uncoded transmission (in contrast to rate 5/6 coding used in IS-130), while at low SNR the gain is about 3 dB due to the incremental redundancy.
- the protocol gains approximately 10% in throughput because uncoded modulation is not as affective due to errors being more evenly distributed.
- the protocol gains between 2 to 5 dB versus the best modulation format for IS-130.
- Delay is an important factor in user-perceived throughput.
- any delay associated with this embodiment of the invention can be reduced by decreasing the parameter D, that is, the number of sub-blocks comprising a data block.
- the service specification of layer- 1 was defined to transport bits to be delivered as soft-information bits to layer- 2 .
- the specification can be changed such that layer- 1 performs the header encoding and delivers to layer- 2 the soft sub-block and the numbers NS and NB in order to perform mode adaptation and hence transmit either 2, 3, or 4 sub-packets per slot pair or 2 slot pairs.
- the headers can be combined, thereby reducing CRC overhead.
- the optimal header encoding method can be used for each modulation format, e.g., 4-PSK is more robust than 16-PSK hence less header encoding is required.
- a method for adaptively reducing the delay is possible by observing the average number of sub-blocks transmitted and transmit this number immediately without waiting for a negative acknowledgment from the receiver. By transmitting the average number of required sub-blocks immediately, the probability of successful decoding increases greatly and upon failure only 1 or 2 additional sub-blocks are required.
- FIG. 16 illustrates the throughput and delay curves for the adapted and non-adapted systems operating at high Doppler in accordance with this embodiment of the invention. It is noted that the average delay at low SNR has been reduced by approximately 30% using this scheme.
- the IRLP protocol sends state feedback on the entire receive table.
- D the feedback requirements can be reduced by using the following 2-bit feedback encoding per block B i :
- sending RLP transmits D i0 and D i1 .
- Table 5 shows the decisions for the transmitter as a function of the feedback and which sub-block of B i was previously transmitted. TABLE 5 Previous 00 10 01 11 D i1 D i1 , D i2 D i1 D i2 — D i2 D i1 , D i2 P i1 D i2 — P i1 D i1 , D i2 P i1 P i2 — P i2 D i1 , D i2 D i1 P i2 —
- the soft decision information is quantized.
- the soft decision information is quantized to 3 levels, i.e., hard-decisions with erasures. This corresponds to about 1.58 bits of stored information per bit of transmitted information.
- the estimated loss due to 3-level quantization is about 1.2 dB.
- encoding module 406 utilizes a binary convolutional encoding scheme to implement IRLP. If a 3-level quantization is to be used, Reed-Solomon codes for which good erasure decoding algorithms are known should be used as an alternative encoding scheme. This would provide up to an additional 1 dB of gain over the convolutional encoding scheme.
- memory 304 was described in terms of high-speed computer-readable memory to enhance execution speed, it can be appreciated that the computer program segments implementing the functionality described for each embodiment of the invention can be stored in any computer-readable memory, such as a magnetic storage device,(e.g., floppy disk or hard-drive) or optical storage device (e.g., compact-disk read-only memory), and still fall within the scope of the invention.
- a person of ordinary skill in the art would understand that the functionality for these modules may also be implemented in hardware, or a combination of hardware and software, using well-known signal processing techniques, and still fall within the scope of the invention.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Error Detection And Correction (AREA)
Abstract
A method and apparatus for sending blocks of data without any error correcting coding is described. If the block is received without an error then the next block of data is transmitted. If the block is received with an error, the receiving device sends a message requesting error correcting information. The transmitting device sends the error correcting information in specified increments until the receiving device can successfully decode the block without error. Once the block is received without errors, the next block of data is transmitted.
Description
- This application is continuation of U.S. application Ser. No. 10/040,790 filed Jan. 9, 2002, which is a continuation of U.S. application Ser. No. 09/178,575 filed Oct. 26, 1998 and claims the benefit of U.S. Provisional Application Serial No. 60/064,223 filed Oct. 29, 1997 each of which are incorporated herein by reference in their entireties.
- The invention relates to communication networks in general. More particularly, the invention relates to a radio link protocol for increasing bandwidth efficiency for a network.
- The demands on an individuals personal and professional time has created the need to communicate with others while on the move. Cellular systems provide this capability. As the number of individuals seeking to use cellular services increases, however, cellular systems are quickly running out of capacity. The term “capacity” loosely refers to the number of cellular calls a system can carry at any one time. This is evidenced by the rising number of “busy” signals the average cellular user receives while attempting to place a call in heavily populated areas such as within the downtown portion of a city. Consequently, cellular providers are turning towards digital cellular technologies to increase the capacity of their systems. Accordingly, this movement led to the establishment of a digital cellular standard in the United States referred to as Electronic Industries Association (EIA) Interim Standard IS-136, Rev 1.1, “800 MHz TDMA Cellular—Radio Interface—Mobile Station—Base Station Compatability—Digital Control Channel,” Oct. 11, 1995 (IS-136).
- IS-136 defines a digital cellular system utilizing a variety of technologies to enhance the capacity of a system, such as using Time Division Multiple Access (TDMA), voice compression using Vector Sum Linear Prediction Coding (VSELP), and digital signaling. In addition to the above, IS-136 uses four-level phase shift keying (4-PSK) modulation. Modulation refers to the process of converting digital data into analog tones that can be transmitted over radio frequency (RF) spectrum.
- A revision to IS-136 has been proposed. The revised IS-136 standard is referred to as “IS-136+.” IS-136+ attempts to achieve higher data rates over IS-136 by, among other things, increasing the modulation format from 4-PSK to 8-PSK or 16-Quadrature Amplitude Modulation (QAM). While increasing the modulation format increases the capacity of the system, it also increases the number of frame errors in the system, especially at low Signal-to-Noise Ratio (SNR).
- Conventional IS-136 and IS-136+ systems use a radio link protocol referred to as EIA IS-130, Rev A, “800 MHZ Cellular Systems—TDMA Radio Interface—Radio Link
Protocol 1,” Jul. 25, 1997 (IS-130) to correct frame errors. IS-130, however, is unsatisfactory for a number of reasons, two of which are discussed below. - The first problem with IS-130 is that it does not account for the SNR for a communication channel. IS-130 uses a technique referred to as “5/6 encoding” as a means of performing error correction for data transmitted from a transmitter to a receiver. The technique of 5/6 encoding means for every five bits of data, a sixth bit is introduced to correct errors. The problem with 5/6 encoding, however, is that it introduces a fixed amount of overhead for every five bits of actual data. If a communication channel has a high SNR, which means there is a lower likelihood of errors occurring during transmission, many times there is no need for the extra overhead. In other words, a block of transmitted data is received, without any errors, and therefore the bandwidth spent transmitting the error correcting bits could have been used to transmit actual data. Conversely, if a communication channel has a low SNR, which means there is a greater likelihood of errors occurring during transmission, in many instances the errors are so numerous that 5/6 encoding cannot adequately correct them. Again, the resources used to transmit the error correcting bits are wasted. Moreover, this latter point also gives rise to a second problem associated with IS-130.
- The second problem with IS-130 is that if the received block of data has errors that cannot be corrected, the entire block is discarded and is resent by the system. This means that the bandwidth spent transmitting and receiving the block is wasted. The time spent resending the block takes up resources that could otherwise be devoted to carrying extra calls for the system, i.e., increasing the capacity of the system.
- In view of the foregoing, it can be appreciated that a substantial need exists for a radio link protocol that solves the above-discussed problems.
- One embodiment of the invention includes a method and apparatus for sending blocks of data without any error correcting coding. If the block is received without an error then the next block of data is transmitted. If the block is received with an error, the receiving device sends a message requesting error correcting information. The transmitting device sends the error correcting information in specified increments until the receiving device can successfully decode the block without error. Once the block is received without errors, the next block of data is transmitted.
- With these and other advantages and features of the invention that will become hereinafter apparent, the nature of the invention may be more clearly understood by reference to the following detailed description of the invention, the appended claims and to the several drawings attached herein.
- FIG. 1 illustrates a cellular communications system suitable for practicing one embodiment of the invention.
- FIG. 2 is a protocol stack suitable for practicing one embodiment of the invention.
- FIG. 3 is a block diagram of a computer system for implementing an Incremental Radio Link Protocol (IRLP) in accordance with one embodiment of the invention.
- FIG. 4 is a block diagram of a sending IRLP module in accordance with one embodiment of the invention.
- FIG. 5 shows the format of a block B in accordance with one embodiment of the invention.
- FIG. 6 illustrates
rate 2 binary convolutional encoding in accordance with one embodiment of the invention. - FIG. 7 is an example of a transmit table in accordance with one embodiment of the invention.
- FIG. 8 illustrates a Packet Data Unit in accordance with one embodiment of the invention.
- FIG. 9 is a block diagram of a receiving IRLP module in accordance with one embodiment of the invention.
- FIG. 10 illustrates a receive table in accordance with one embodiment of the invention.
- FIG. 11 illustrates a frame as defined by IS-136.
- FIG. 12 illustrates the throughput results of one embodiment of the invention versus the IS-130 protocol for low Doppler frequencies.
- FIG. 13 illustrates the throughput results of one embodiment of the invention versus the IS-130 protocol for high Doppler frequencies.
- FIG. 14 illustrates the throughput and average delay for D=1, 2, 3, 4 and D=5 for low Doppler frequencies in accordance with one embodiment of the invention.
- FIG. 15 illustrates the throughput and average delay for D=1, 2, 3, 4 and D=5 for high Doppler frequencies in accordance with one embodiment of the invention.
- FIG. 16 illustrates the throughput and delay curves for the adapted and non-adapted systems operating at high Doppler in accordance with one embodiment of the invention.
- This embodiment of the invention includes a hybrid acknowledgment/request (ARQ) based Radio Link Protocol for IS-136+ that offers higher data throughput compared to the Radio Link Protocol as defined by IS-130. This embodiment of the invention operates by transmitting data uncoded on the initial transmission and incrementally transmits parity information upon receipt of a negative acknowledgment from the receiver. The parity information is derived from a
rate 1/2 binary convolutional code. The receiving protocol retains received information in the form of soft decision bits and jointly decodes the data and parity until decoding is successful. The gain of the protocol is between 2 to 5 dB at low to mid SNR ranges, and 20% throughput at high SNR. - IS-136+ is an extension of IS-136 aiming to achieve higher data rates by increasing the modulation format from.4-PSK to 8-PSK and/or 16-QAM. The penalty incurred by a higher modulation format is an increase in the frame error rate (FER) especially at low SNR. The radio link protocol defined in IS-130 (RLP1) is designed to correct the layer-1 frame errors by using a selective ARQ scheme to retransmit lost frames. Although the layer-1 and layer-2 systems are individually optimized, when operating jointly there is a mismatch leading to inefficiencies, especially at extreme values of SNR. The main cause for sub-optimal performance of the joint system is a mismatch between the layer-1 code rate and the average SNR the system is operating at. At low SNR, the fixed
rate 5/6 encoding of layer-1 is too weak, leading to frame error rates of as much as 80%, while at high SNR, the channel is of sufficient quality that coding is almost unnecessary. - This embodiment of the invention modifies the IS-130 radio link protocol and the layer-1 specification such that the code rate is adapted as necessary to match the average SNR of the system and the realization of the random processes affecting the transmitted signal. More particularly, the definition of layer-1 is modified to be an uncoded data transport system that delivers bits to layer-2 in a soft decision format, that is, likelihood information for each bit is retained. The encoding task is moved to layer-2 in such a way that the code rate is dynamically selected as required. This is implemented by initially transmitting the data uncoded, followed by transmitting parity information as determined by the receiver state feedback information. In other words, the power of the code is increased as required. Although this embodiment of the invention is discussed in terms of modifying IS-130, it can be appreciated that other radio link protocols can be also modified using the principles discussed herein and still fall within the scope of the invention.
- A general overview of the steps implemented in accordance with one embodiment of the invention is as follows. A block of data is sent from a first network device to a second network device. The first network device determines whether the block was received with an error. If the block was received with an error, the first network device sends increments of error correcting information until the error has been corrected or until all available error correcting information for the block has been sent.
- In particular, the first network device generates a block of bits at the first network device, encodes the block, and sends the encoded blocks to a second network device. The first network device determines whether the encoded block was received by the second network device with an error. The first network device sends increments of error correcting information to the second network device if the encoded block was received with an error.
- The first network device determines whether the encoded block was received with errors as follows. First, the first network device receives a first error message from the second network device. A status bit associated with the block is set and evaluated.
- The first network device generates the block of bits as follows. The first network device receives a service data unit (SDU) comprised of a series of bits. The first network device generates error detection bits for the service data unit bits. The first network device then concatenates the SDU bits and the error detection bits to form a single block.
- The first network device encodes the block as follows. The first network device generates error correcting bits for the block. It then allocates the data bits and error detection bits to data intermediate blocks, and the error correcting bits to error correcting intermediate blocks. The first network device interleaves bits from the data intermediate blocks to form data sub-blocks, and bits from the error correcting intermediate blocks to form error correcting sub-blocks.
- The first network device sends the encoded block as follows. The first network device forms a current data sub-block into a data packet data unit, and sends the data packet data unit to the second network device. The first network device then determines whether the data packet data unit was received by the second network device with an error. The first network device resends the data packet data unit until it is received by the second network device without an error. This sequence continues for each data sub-block for the block until all data sub-blocks are received by the second network device without an error.
- The first network device determines whether the data packet data unit was received by the second network device with an error as follows. The first network device receives a second error message from the second network device indicating a data packet data unit was received with an error. The first network device sets a status bit associated with the data sub-block used to form the data packet data unit, and then evaluates or checks the status bit.
- The first network device forms the current data sub-block as follows. The first network device encodes a header block for each encoded sub-block. Each encoded header block is then added to the encoded sub-block.
- The first network device sends error correcting information as follows. The first network device forms a current error correcting sub-block into a packet data unit, and sends the error correcting packet data unit to the second network device. The first network device then determines whether the error correcting packet data unit was received by the second network device with an error. The error correcting sub-block is resent and re-evaluated until the error correcting packet data unit is received by the second network device without an error. The first network device determines whether the block was corrected using the error correcting sub-block used to form the error correcting packet data unit. If the block was not corrected, the sequence is repeated using a next error correcting sub-block until the block is corrected or until each error correcting sub-block for the block is received by the second network device without an error.
- The first network device determines whether the error correcting packet data unit was received by the second network device with an error as follows. The first network device receives a third error message from the second network device indicating the error correcting packet data unit was received with an error. It sets a status bit associated with the error correcting sub-block used to form the error correcting packet data unit, and it evaluates the status bit.
- The first network device determines whether the block was corrected using the error correcting sub-block used to form the error correcting packet data unit as follows. The first network device receives a fourth error message from the second network device indicating the block was not corrected using the error correcting sub-block. A status bit associated with the block is set and evaluated.
- The first network device forms the error correcting packet data unit as follows. It encodes a header block for each encoded sub-block. The encoded header block is then added to the encoded sub-block.
- The next section will describe in general terms the steps performed by the second network device in accordance with one embodiment of the invention.
- The second network device receives an encoded block at the second network device and performs the following steps. It decodes the received block and determines whether the block has an error. The second network device then corrects the error using error correcting information sent by the first network device. The second network device then generates or recovers an SDU from the block.
- The second network device receives the encoded block as follows. The second network device receives a current data packet data unit from the first network device, and it determines whether the data packet data unit has an error. This is repeated until the data packet data unit is received without an error. The entire sequence is repeated with a next data packet data unit until each data packet data unit for the block is received without an error.
- The second network device determines whether the data packet data unit has an error as follows. The second network device decodes the data packet data unit into header bits and error detection bits, and it tests the header bits using the error detection bits. The second network device then sets a status bit for a data sub-block indicated by the header bits in accordance with the test results, and it evaluates the status bit.
- The second network device decodes the received block as follows. It first retrieves data bits and error detecting bits from the received data sub-blocks. It then forms a service data unit.
- The second network device determines whether the received block as an error as follows. The second network device tests the SDU using the error detection bits. It then sets a status bit associated with the block in accordance with the test, and it evaluates the bit.
- The second network device corrects the received block as follows. The second network device receives a current error correcting protocol data unit, and it determines whether the error correcting packet data unit has an error. It then sends a third error message to the first network device. This is repeated until the error correcting packet data unit is received by the second network device without an error. The second network device determines whether the block was corrected using the error correcting sub-block used to form the error correcting packet data unit. If not corrected, the entire sequence is repeated with a next error correcting sub-block until the block is corrected or until each error correcting sub-block for the block is received by the second network device without an error.
- The second network device determines whether the block was corrected using the error correcting sub-block used to form the error correcting packet data unit as follows. The block is corrected using the bits from the error correcting sub-block. The block is tested using the error detection bits. The second network device sends a fourth error message to the first network device in view of the test results, and it sets a status bit associated with the block. The status bit is then evaluated.
- Referring now in detail to the drawings wherein like parts are designated by like reference numerals throughout, there is illustrated in FIG. 1 a cellular communications system suitable for practicing one embodiment of the invention. As shown in FIG. 1, a
cellular communications system 100 comprisesmobile stations base station 108 over a plurality of radio-frequency (RF) channels.Base station 108 is connected to a mobile telephone switching office (MTSO) 110.MTSO 110 is connected to a public switched telephone network (PSTN) 112, which in turn is connected toaudio interface devices cellular communications system 100 is but one example of a system in which the present invention can be displayed, and that a person of ordinary skill in the art understands thatsystem 100 can comprise any number of sub-systems and configurations and still fall within the scope of the invention. - In operation, for example,
mobile station 102 requests a communication channel for completing a call toaudio interface device 118.Base station 108 establishes the communications channel withmobile station 102 and withaudio interface device 118 viaMTSO 110 andPSTN 112. Once the communication is established,mobile station 102 andaudio interface device 118 begin communicating information. - Establishing the communications channel between
base station 108 andmobile station 102, as well as managing the transfer of information between both, are accomplished in accordance with a series of communication protocols. These protocols manage different operations of the communications process, which are typically defined in terms of “layers,” and are collectively referred to as a protocol stack. The protocol stack used bysystem 100 is described with reference to FIG. 2 below. - FIG. 2 is a protocol stack suitable for practicing one embodiment of the invention. As shown in FIG. 2,
mobile station 102 communicates withbase station 108 over a radio interface 202 by utilizing a series of communication protocols broken down into three distinct layers.Layer 1 of the protocol stack is the physical layer. The physical layer is concerned with the transmission of unstructured bit streams over a physical link, involving such parameters as signal voltage swing, signal bit duration and so forth. In this embodiment of the invention, the physical layer operates in accordance with IS-136 or IS-136+. It is worthy to note that IS-136 and IS-136+ will be uniformly referred to as IS-136 unless differences between IS-136 and IS-136+ merit separate treatment.Layer 2 of the protocol stack is the data link layer. The data link layer provides for the reliable transfer of data across the physical link, such as sending blocks of data with the necessary synchronization, error control, flow control, and so forth. As currently defined, IS-136 and IS-136+ utilize a radio link protocol defined by IS-130 for the data link layer operations.Layer 3 of the protocol stack is the network layer. The network layer provides upper layers with independence from the data transmission and switching technologies used to connect systems. The network layer is responsible for establishing, maintaining and terminating connections. In this embodiment of the invention, the network layer operates in accordance with any network layer protocol suitable for use with IS-136+ and IS-130. - This embodiment of the invention relates to the physical layer (layer1) and data link layer (layer 2) for the above-described protocol stack. The IS-136 layer-1 specification for data transport delivers packets of 216 bits using a
rate 5/6 binary convolutional code and π/4 offset 4-DPSK modulation. IS-136+ aims to increase data rates by using higher modulation formats such as 8-PSK and 16-QAM. This embodiment of the invention modifies IS-136 layer-1 to transport frames of bits uncoded and deliver these to layer-2 in a soft decision format, that is, reliability information on each bit is included. It is assumed that the physical layer decides on the most appropriate modulation format (4-PSK, 8-PSK, 16-QAM) depending on channel conditions (average SNR and Doppler frequency). Such decisions can be based on measuring the average SNR over a number of slots and estimating the Doppler frequency fD as a function of the rate of change of the signal power. Further, this embodiment of the invention replaces the radio link protocol defined by IS-130 with an incremental radio link protocol (IRLP) described herein. As with IS-130, IRLP is a radio link protocol for asynchronously transporting data between unspecified layer-3 entities, and is positioned between the physical layer (layer-1) and the network layer (layer-3) as shown in FIG. 2. - FIG. 3 is a block diagram of a computer system for implementing the IRLP in accordance with one embodiment of the invention. In this embodiment of the invention, functionality for the IRLP is implemented in the form of computer program segments stored in memory for execution by a processing device. Accordingly, FIG. 3 shows a
computer system 300 comprising aprocessor 302 and amemory 304.Processor 302 includes any processor of sufficient processing power to perform the functionality for the IRLP described in detail below. Examples of processors suitable to practice the various embodiments of the invention include the Pentium®, Pentium® Pro, and Pentium® II microprocessors from Intel Corporation.Memory 304 can be any type of high-speed computer-readable memory such as random access memory (RAM), dynamic RAM (DRAM), read only memory (ROM), programmable read only memory (PROM), erasable programmable read only memory (EPROM), electronically erasable programmable read only memory (EEPROM), and so forth. - The overall functioning of
computer system 300 is controlled byprocessor 302, which operates under the control of executed computer program instructions that are stored inmemory 304. The computer program instructions implementing the functionality for this embodiment of the invention are stored inmemory 304 and are shown as separate functional modules, namely, sendingIRLP module 308 and receivingIRLP module 310. Also stored inmemory 304 is transmit table 306 for use with sendingIRLP module 308, and receivetable module 312 for use with receivingmodule 310.Modules - FIG. 4 is a block diagram of a sending IRLP module in accordance with one embodiment of the invention. As shown in FIG. 4, sending
IRLP module 308 comprises ablocking module 404, anencoding module 406, and asend transport module 408. In operation,module 308 receives a Service Data Unit (SDU) 402 from the network layer (layer-3), transformsSDU 402 into a corresponding Packet Data Unit (PDU) 410, and transportsPDU 410 over the physical layer (layer-1). In this embodiment of the invention,SDU 402 is one of a series of SDUs all in the form of octets which are to be delivered in-sequence to the layer-3 on the receiving side. - FIG. 5 shows the format of a block Bi in accordance with one embodiment of the invention.
Blocking module 404 acceptsSDU 402 from the transmitting layer-3 and constructs a blocked SDU by concatenating LData bits and a frame check sequence (FCS). In this embodiment of the invention, the FCS is a Cyclic (Bi) Redundancy Check (CRC) of length LDCRC computed over the corresponding data bits. The lengths LData and LDCRC are design parameters to be optimized. The blocks Bi of length LBlock=LData+LDCRC are passed to encoder 406 described below. - From the blocked SDU Bi,
encoder 406 constructs a set of 2D sub-blocks of length LSub-block=LBlock/D. These sub-blocks are divided into two categories, namely data sub-blocks and parity sub-blocks denoted by Dij and Pij (j=1 . . . D), respectively. The data sub-blocks Di1 to DiD contain no redundancy and represent a 1 to 1 mapping to the blocked SDU Bi. The parity sub-blocks Pi1 to PiD contain parity information derived from Bi and are used by the protocol for Forward Error Correction (FEC) upon decoding failure at the receiving side. In this embodiment of the invention, the sub-blocks are derived from Bi by arate 1/2 binary convolutional encoding as shown FIG. 6. - FIG. 6 illustrates
rate 2 binary convolutional encoding in accordance with one embodiment of the invention. This embodiment of the invention includesrate 1/2 binary convolutional encoding using a 32-state maximum Hamming distance code with octal generators (53, 75). It is noted that the output bits resulting from the encoding are mapped to the sub-blocks in an interleaved manner to maximize time/code diversity. The encoded sub-blocks are passed to sendtransport module 408 for transmission. - Send
transport module 408 transports the blocked SDUs Bi to the receiving side and delivers them in-sequence to layer-3.Module 408 accomplishes this by initially sending just the data sub-blocks Di1 to DiD followed by sending additional parity sub-blocks Pij whenever the receiver fails to decode block Bi correctly. Sendtransport module 408 cannot discard the sub-blocks corresponding to a block Bi until it has received a positive acknowledgment from the receiver for Bi, hence the protocol operates by maintaining in a table the sub-blocks that have been transmitted but not yet acknowledged. An example of a transmit table is shown in FIG. 7 as described below. - FIG. 7 is an example of a transmit table in accordance with one embodiment of the invention. FIG. 7 shows a transmit table operating with D=4. The transmit table contains the following fields:
- 1. NS is the sequence number assigned by the sending RLP to each block Bi. The sequence number is i mod WS, where WS is the window size.
- 2. B is a flag denoting whether or not the corresponding block Bi has been successfully decoded by the receiver. A zero indicates the entry is undecoded.
- 3. R indicates whether
module 408 needs to transmit more information about block Bi to the receiving RLP. - 4. MC indicates whether the protocol has sent non-consecutive multiple sub-blocks of the block Bi. A 1 indicates yes and 0 indicates no.
- 5. BD1 to BDD respectively indicate whether sub-blocks D1 . . . DD have been received. A 0 indicates unreceived.
- 6. BP1 to BPD respectively indicate whether sub-blocks P1 . . . PD have been received. A 0 indicates unreceived.
- 7. DATA contains the data and parity {Di1 . . . DiD, Pi1 . . . PiD} sub-blocks corresponding to block Bi.
- Send
transport module 408 transports data and parity sub-blocks in accordance with the following algorithm: - 1. Read the feedback packet.
- 2. Update the flags B, BD1 . . . BDD, and BP1 . . . BPD. Set the index variable KR to the point in the entry most down in the table for which one of the B flags was updated (i.e., changed from 0 to 1) and for which MC=0.
- 3. For each transmit table entry from the first to the entry KR (determined at step 2), set R to 1 and MC to 0.
- 4. Delete all entries in the table with B set to 1.
- 5. If the last entry in the table has R set to 1, then go to
step 9. - 6. Find the first entry with R set to 1, move it to the bottom of the table and go to
step 9. If there is no entry with R set to 1, go to step 7. - 7. If the window is not full and there are data sub-blocks at the encoder output corresponding to a data block Bi, retrieve the sub-blocks Di1 . . . DiD and Pi1 . . . PiD from the encoder, assign the next NS set B and MC to 0, R to 1 and place the entry at the bottom of the table, and go to
step 9. Otherwise, go tostep 8. - 8. If the table is empty, stop. Otherwise, move the first table entry to the bottom of the table, set MC and R to 1, and go to
step 9. - 9. If all data sub-blocks have been transmitted, then send the next parity sub-block and set R=0. Otherwise send the next data sub-block.
- Note that for transmission, the sub-blocks are combined with a header as described below.
- FIG. 8 illustrates a PDU in accordance with one embodiment of the invention.
Module 408 sends the data sub-blocks encapsulated in the frame format shown in FIG. 8. The packet consists of two parts, namely an encoded header and a data or parity sub-block which is one of {Di1 . . . DiD, Pi1 . . . PiD} as decided bystep 9 of the sending protocol procedure. The header israte 1/2 encoded to ensure a high decoding reliability and contains the following fields: - 1. NS is the block sequence number of length LNS bits.
- 2. NB is sub-block sequence number of length LNB bits. The number NB represents which sub-block of the block Bi is being transmitted. The length LNB is related to D by:
- LNB=[log22D].
- 3. A CRC of length LHCRC which is a FCS over the header bits only. This FCS is used to ensure the integrity of the header information.
- The total PDU length is LPDU which is the layer-1 transmission packet length and is a design parameter to be optimized. It is a function of the number of IS-136 slots over which a transmission occurs and the modulation format. It is worthy to note that although the encoder described above is a 32-
state rate 1/2 convolutional encoder, a block code with error correction and detection capabilities may be used and still fall within the scope of the invention. - FIG. 9 is a block diagram of a receiving IRLP module in accordance with one embodiment of the invention. Receiving
IRLP module 310 is a peer for sendingIRLP module 308 and is responsible for combining the received sub-blocks and jointly decoding them to recover the data blocks Bi. Module 310 receivesPDU 410 from layer-1.Module 310 comprises a receivetransport module 902, aquantizer 904, adecoder 906, aFCS decoder 908 and adeblocking module 910.Module 310 outputs a replica ofSDU 402. -
Module 310 utilizes receive table 312. Receive table 312 is complementary to transmit table 306 and stores the received sub-blocks and decoded blocks until they can be delivered in-sequence to layer-3. It is worthy to note that because the sub-blocks are retrieved from layer-1 in soft-decision format and need to be stored in receive table 312, a high memory overhead is incurred (for example, memory requirements would increase by a factor of 8 if 8 bits are stored per soft bit). Therefore for storage purposes, the soft information is quantized to q levels. - FIG. 10 illustrates a receive table in accordance with one embodiment of the invention. Receive table312 has the following fields:
- 1. NS is the block sequence number.
- 2. BF indicates whether the corresponding block has been decoded successfully. A 1 indicates success.
- 3. BD1 to BDD respectively indicate whether data sub-blocks D1 . . . DD have been received.
- 4. BP1 to BPD respectively indicate whether parity sub-blocks P1 . . . PD have been received.
- 5. DATA contains the soft-decision data and parity {Di1, . . . DiD, Pi1 . . . PiD} sub-blocks corresponding to block Bi.
-
Module 310 operates in accordance with following receive algorithm: - 1. If available, retrieve a received soft-decision PDU Ut′ from layer-1, decode the header and check its CRC. If it fails, discard the PDU and go to
step 6, else go tostep 2. - 2. If BF corresponding to the received NS is set to 1, then discard the received PDU and go to 6, else go to 3.
- 3. Set the flag BDj or PDj as specified by NB to 1. Use the quantizer to quantize the soft-decision bits of Ut′ and store the sub-block information at the location corresponding to NS and NB in the receive table. If this sub-block was already received earlier, then add the soft-decision metrics.
- 4. Pass the quantized soft-information sub-blocks corresponding to NS already stored in the table to the decoder and the full soft-information of the most recently received sub-block. Decode this set of sub-blocks and compute the FCS. If the FCS passes, store the decoded block in place of the soft-decision data and set the flag BF to 1.
- 5. If the first receive table entry has BF set to 1, then deliver the decoded blocks from the first entry up to, but not including, the first entry with BF=0. Delete the delivered receive table entries.
- 6. Set NR to the value of NS of the first entry in the table. If a PDU was received or the receive table is not empty, send the feedback packet created from the receive table. Otherwise send nothing.
-
Quantizer 904 reduces the storage requirements of the soft-decision bits received from layer-1. The quantizer converts the soft-decision information into a q level representation, where q is a design parameter that trades off receiver memory requirements against system performance. For a q level quantization, the memory requirements at the receiver per bit are given by [log2q]. It is worthy to note that the quantization intervals should be optimized carefully, especially for low values of q. -
Decoder 906 corresponds toencoding module 406 described above. It is passed the subset of received soft-decision sub-blocks D′1 . . . D′D, P′1 . . . P′D and attempts to decode using the soft decision Viterbi algorithm. In this embodiment of the invention, the soft decision metrics are calculated by first letting bij denote the jth bit of sub-block Di (or Pi). For transmission, the sequence of bits bij is conventionally interleaved and mapped to the two-dimensional constellation C (e.g., 4-PSK, 8-PSK, etc.). The number of bits that map to a point in C is l=log2|C|, hence each point in C is labeled by 1 bit. If bij maps to the nth bit of the label, then the set Co denotes the set of points in C for which bit n of its label is 0, and Cl denotes the set of points in C for which bit n of its label is l. - Determining the soft-decoding metric mij for bit j of a sub-block D′i (or P′i) consists of the following steps:
- 1. Let rj represent the received channel sample encoding bit j, and let vj represent the channel state corresponding to rj.
- 2. Determine the symbol co ε Co closest (measured by Euclidean distance) to rj/vj, and c1 ε Cl closest to rj/vj.
- 3. Compute a noise variance estimate N′oj for bit j.
- 4. Compute the soft decision metric mij for bit j.
- m ij=(|r j −c o v j|2 −|r j −c l v j|2)/N′ oj
- The noise estimate for each bit at
step 3 is desirable due to variations in the SNR level between transmissions of sub-blocks belonging to the block Bi. This decoding method provides a form of interference diversity. A practical method of estimating the SNR level for each bit is to estimate it by the SNR Noi measured across the sub-block Di. - and using N′oj=N′oi.
Decoder 906 output B′i corresponding to the sending Bi is checked for correct decoding by theFCS decoder 908. - Decoder906 passes B′i to
FCS decoder 908.FCS decoder 908 computes the FCS of B′i and indicates to receivingIRLP module 310 whether the received block passed the frame check. -
Deblocking module 910 performs the inverse operation to blockingmodule 404 described with respect to FIG. 4.Module 910 delivers the de-blocked SDUs to layer-3. - In this embodiment of the invention, sending
IRLP module 308 and receivingIRLP module 310 operate using the following parameters. Although specific values are assigned for some parameters, it can be appreciated that these values are exemplary only and can vary while remaining within the scope of the invention. Specific parameter values for the length LBlock of data blocks and Lsub-block are given. These lengths are a function of the length LPDU of the layer-1 PDU, the number of sub-blocks D a block is divided into, and the PDU encoded header length LEncHeader. These are related as follows: - L sub-block =L PDU −L EncHeader
- L Block =D×L Sub-block
- L data =L block −L DCRC
- The protocol overhead measured as one minus the ratio of the layer-3 data size to the transmitted data size is given by:
- Efficiency=1−L Data/(D×L PDU)
- Sending
IRLP module 308 transports across the physical channel data packets of size LPDU bits and delivers these in soft decision format to the link layer. The underlying physical layer is IS-136+ which is similar to IS-136 except for employing a higher modulation format to enable increased data throughput. - FIG. 11 illustrates a frame as defined by IS-136. Each 30 kHz IS-136 channel consists of frames of 40 ms duration. Each frame is divided into six slots of which two are allocated to a user for full-rate transmission. The symbol rate is 24300 symbols per second giving 162 symbols per slot. Of these 162 symbols, 130 are available for data transmission.
- It is assumed that the physical layer determines via channel quality feedback the most appropriate modulation format to maximize overall data throughput. The practical choices of modulation formats are those transmitting 2, 3 or 4 bits per symbol. Table 1 lists some alternatives for each spectral efficiency.
TABLE 1 bits/ symbol Coherent Differential 2 4-PSK 4- DPSK 3 8-PSK 8- DPSK 4 16-PSK, 16-QAM 16-DPSK - The link layer protocol requires a fixed length packet size LPDU. In order to accommodate modulation mode switching, this size must be selected such that an integral number of PDUs can be transmitted over a fixed number of slots using each modulation format. This can be accomplished by choosing to transmit either over two slots with a PDU size of 260 bits, or over four slots with a PDU size of 520 bits as shown in Table 2.
TABLE 2 bits/symbol slots = 2, LPDU = 260 slots = 4, LPDU = 520 2 2 × 260 2 × 520 3 3 × 260 3 × 520 4 4 × 260 4 × 520 - The advantage of a greater PDU size is better protocol efficiency and higher interleaving depth as described below.
- Tables 3 and 4 show the protocol block lengths and overhead as a function of D (the number of sub-blocks) for values of LPDU=260 and LPDU=520, respectively.
TABLE 3 D = 1 D = 2 D = 3 L PDU260 260 260 L NS6 5 5 L NB1 2 3 LHCRC 7 7 7 LHeader 15 15 16 LEncHeader 40 40 42 LSub-block 220 220 218 LBlock 220 440 872 L DCRC16 24 32 LData 204 416 840 Overhead 21% 20% 19% -
TABLE 4 D = 1 D = 2 D = 3 LPDU 520 520 520 L NS6 5 5 L NB1 2 3 LHCRC 7 7 7 LHeader 15 15 16 LEncHeader 40 40 42 LSub-block 480 480 478 LBlock 480 960 1912 L DCRC16 24 32 LData 464 936 1880 Overhead 10.77% 10% 9.62% - The protocol overhead is halved by transmitting over 4 slots.
- A number of performance analyses were made comparing this embodiment of the invention relating to IRLP with the IS-130 radio link protocol combined with the IS-136+ higher modulation format. The following assumptions were made in each simulation.
- 1. Coherent detection.
- 2. Ideal channel state information (CSI). The effect of non-ideal channel state information through practical estimation methods such as pilot symbols in the case of coherent detection or differential detection will affect each protocol equally; hence their relative performance remains the same.
- 3. Zero ISI, perfect symbol timing.
- 4. A feedback round trip delay of 300 ms.
- FIGS. 12 and 13 illustrate the throughput results of one embodiment of the invention versus the IS-130 protocol for low and high Doppler frequencies, respectively. The incremental redundancy parameters used are those of Table 4, with D=5, unquantized soft decision information and 16-QAM modulation. The throughput results for RLP1 are shown for modulation formats 4-PSK, 8-PSK and 16-QAM. The horizontal axis is average SNR per symbol.
- As shown in FIG. 12, for low Doppler, the protocol gains approximately 20% in throughput at high SNR due to uncoded transmission (in contrast to
rate 5/6 coding used in IS-130), while at low SNR the gain is about 3 dB due to the incremental redundancy. - As shown in FIG. 13, at high Doppler, the protocol gains approximately 10% in throughput because uncoded modulation is not as affective due to errors being more evenly distributed. At lower SNR the protocol gains between 2 to 5 dB versus the best modulation format for IS-130.
- Delay is an important factor in user-perceived throughput. With respect to a particular implementation, any delay associated with this embodiment of the invention can be reduced by decreasing the parameter D, that is, the number of sub-blocks comprising a data block.
- FIGS. 14 and 15 plot the throughput and average delay for D=1, 2, 3, 4 and D=5 for low and high Doppler frequency, respectively. As seen in FIG. 14, for low Doppler, decreasing D significantly reduces delay while having a small effect on throughput up to D=2. At D=1 the throughput drops significantly. This is also true for high Doppler as shown in FIG. 15. A value of D=2 provides a good compromise between throughput and delay.
- In one embodiment of the invention, the service specification of layer-1 was defined to transport bits to be delivered as soft-information bits to layer-2. In another embodiment of the invention, the specification can be changed such that layer-1 performs the header encoding and delivers to layer-2 the soft sub-block and the numbers NS and NB in order to perform mode adaptation and hence transmit either 2, 3, or 4 sub-packets per slot pair or 2 slot pairs. In this manner the headers can be combined, thereby reducing CRC overhead. The optimal header encoding method can be used for each modulation format, e.g., 4-PSK is more robust than 16-PSK hence less header encoding is required.
- The effect of the various embodiments of the invention described herein is to decrease the code rate until transmission is successful. By observing the average number of incremental redundancy sub-blocks transmitted per successful decoding as a function of average SNR, it is observed (as expected) that the number of sub-blocks transmitted at low SNR is much greater than at high SNR with the corresponding increase in delay. This observation leads to another embodiment of the invention which is described below.
- In yet another embodiment of the invention, a method for adaptively reducing the delay is possible by observing the average number of sub-blocks transmitted and transmit this number immediately without waiting for a negative acknowledgment from the receiver. By transmitting the average number of required sub-blocks immediately, the probability of successful decoding increases greatly and upon failure only 1 or 2 additional sub-blocks are required.
- FIG. 16 illustrates the throughput and delay curves for the adapted and non-adapted systems operating at high Doppler in accordance with this embodiment of the invention. It is noted that the average delay at low SNR has been reduced by approximately 30% using this scheme.
- The IRLP protocol sends state feedback on the entire receive table. In the special case of D=2, the feedback requirements can be reduced by using the following 2-bit feedback encoding per block Bi:
- 00 Nothing received, sending RLP transmits Di0 and Di1.
- 10 Decoding of Bi unsuccessful, receiver requests either Di0 or Pi0 decided by the transmitter depending on previous transmission as shown in Table 5 below.
- 01 Decoding of Bi unsuccessful, receiver requests either Di1 or Pi1 decided by the transmitter depending on previous transmission as shown in Table 5 below.
- 11 Decoding of Bi successful.
- Table 5 shows the decisions for the transmitter as a function of the feedback and which sub-block of Bi was previously transmitted.
TABLE 5 Previous 00 10 01 11 Di1 Di1, Di2 Di1 Di2 — Di2 Di1, Di2 Pi1 Di2 — Pi1 Di1, Di2 Pi1 Pi2 — Pi2 Di1, Di2 Di1 Pi2 — - In this embodiment of the invention, with a PDU length of LPDU=520 the required feedback is 50% of previous embodiments of the invention.
- To minimize memory requirements for storing the soft decision information at the receiver, the soft decision information is quantized. In this embodiment of the invention, the soft decision information is quantized to 3 levels, i.e., hard-decisions with erasures. This corresponds to about 1.58 bits of stored information per bit of transmitted information. The estimated loss due to 3-level quantization is about 1.2 dB.
- As discussed above,
encoding module 406 utilizes a binary convolutional encoding scheme to implement IRLP. If a 3-level quantization is to be used, Reed-Solomon codes for which good erasure decoding algorithms are known should be used as an alternative encoding scheme. This would provide up to an additional 1 dB of gain over the convolutional encoding scheme. - The various embodiments of the invention were described above in terms of computer program segments stored in
memory 304 and executed byprocessor 302. It is noted that the computer program segments were shown as separate functional modules. It can be appreciated, however, that the functions performed by these modules can be further separated into more modules, combined into a single module, or be distributed throughout the system, and still fall within the scope of the invention. - Although various embodiments are specifically illustrated and described herein, it will be appreciated that modifications and variations of the present invention are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the invention. For example, although
memory 304 was described in terms of high-speed computer-readable memory to enhance execution speed, it can be appreciated that the computer program segments implementing the functionality described for each embodiment of the invention can be stored in any computer-readable memory, such as a magnetic storage device,(e.g., floppy disk or hard-drive) or optical storage device (e.g., compact-disk read-only memory), and still fall within the scope of the invention. In another example, it can be appreciated that a person of ordinary skill in the art would understand that the functionality for these modules may also be implemented in hardware, or a combination of hardware and software, using well-known signal processing techniques, and still fall within the scope of the invention.
Claims (22)
1. A method for correcting an error in a block of data sent from a first device to a second device, comprising:
encoding a block of data by constructing a plurality of data sub-blocks and a plurality of parity sub-blocks;
transmitting only the plurality of data sub-blocks on an initial transmission from the first device to the second device;
determining whether the plurality of data sub-blocks were received with an error; and
if the plurality of data sub-blocks were received with an error:
transmitting a first one of the plurality of parity sub-blocks from the first device to the second device.
2. The method of claim 1 , wherein the plurality of data sub-blocks have no redundancy and represent a 1:1 mapping to the block of data.
3. The method of claim 1 , wherein the plurality of parity sub-blocks have parity information derived from the block of data.
4. The method of claim 1 , wherein the parity sub-blocks are used by a protocol for forward error correction.
5. The method of claim 1 , further comprising:
determining whether the transmission of the first one of the plurality of parity sub-blocks enabled successful decoding; and
if the transmission of the first one of the plurality of parity sub-blocks did not enable successful decoding, transmitting subsequent ones of the plurality of parity sub-blocks from the first device to the second device.
6. The method of claim 5 , wherein the transmitting of subsequent ones of the plurality of parity sub-blocks occurs in incremental steps.
7. The method of claim 6 , wherein each incremental step transmits a succeeding one of the plurality of parity sub-blocks.
8. The method of claim 5 , wherein transmitting subsequent ones of the plurality of parity sub-blocks continues until decoding succeeds or all of the plurality of parity sub-blocks have been transmitted.
9. The method of claim 1 , further comprising maintaining a table to store an identification of data sub-blocks that have been transmitted from the first device but not yet determined to be received at the second device without an error.
10. A machine-readable medium having stored thereon a plurality of executable instructions, the plurality of instructions comprising instructions to:
encode a block of data by constructing a plurality of data sub-blocks and a plurality of parity sub-blocks;
transmit only the plurality of data sub-blocks on an initial transmission from the first device to the second device;
determine whether the plurality of data sub-blocks were received with an error; and
if the plurality of data sub-blocks were received with an error:
transmit a first one of the plurality of parity sub-blocks from the first device to the second device.
11. The machine-readable medium of claim 10 , further having stored thereon a plurality of executable instructions, the plurality of instructions comprising instructions to:
determine whether the transmission of the first one of the plurality of parity sub-blocks enabled successful decoding; and
if the transmission of the first one of the plurality of parity sub-blocks did not enable successful decoding, transmit subsequent ones of the plurality of parity sub-blocks from the first device to the second device.
12. The machine-readable medium of claim 10 , further having stored thereon a plurality of executable instructions, the plurality of instructions comprising instructions to maintain a table to store an identification of data sub-blocks that have been transmitted from the first device but not yet determined to be received by the second device without an error.
13. A receiver, comprising:
a quantizer that converts soft-decision information from a layer 1 protocol into a q level representation;
a decoder that decodes the at least the q level representation of the soft decision information to yield a concatenated block of data comprising error detection bits of a frame check sequence and a deliverable data block;
a frame check sequence decoder that computes a frame check sequence of the deliverable data block and indicates to the receiver whether the deliverable data block passed the frame check; and
a deblocking module that de-concatenates the deliverable data block and the frame check sequence.
14. The receiver of claim 13 , wherein q is a design parameter that trades off receiver memory requirements against system performance.
15. The receiver of claim 13 , wherein, for a q level quantization, the memory requirements at the receiver per bit are given by log2q.
16. The receiver of claim 13 , wherein the decoder uses a soft decision Viterbi algorithm.
17. A method of recovering a block of data from a plurality of sub-blocks of data, each sub-block of data identified by at least a block sequence number and a sub-block sequence number, comprising:
determining whether a data block identified by the block sequence number of the sub-block was previously successfully decoded, and if not previously successfully decoded:
storing the data of the sub-block at a location identified by the block sequence number and the sub-block sequence number;
passing a set of sub-blocks to a decoder; and
decoding the set of sub-blocks to generate the block of data.
18. The method of claim 17 , wherein the set of sub-blocks comprises all sub-blocks stored for the block sequence number.
19. The method of claim 17 further comprising:
computing a frame check sequence of the block of data; and
if the frame check sequence passes, storing the block of data in place of the set of sub-blocks.
20. A computer system comprising a processor and a memory, the memory containing instructions to be executed in accordance with the method of claim 17 .
21. A method of decoding a block of data from a plurality of data and parity sub-blocks, wherein the data in the data and parity sub-blocks is in a form of soft decision bits and wherein each sub-block of data is identified by at least a block sequence number and a sub-block sequence number, the method comprising:
quantizing the soft decision bits of the one of the data and parity sub-blocks to yield a quantized soft-information sub-block;
storing the quantized soft-information sub-block at a location corresponding to the block sequence number and the sub-block sequence number;
passing all quantized soft-information sub-blocks corresponding to the block sequence number to a decoder; and
decoding, at the decoder, all passed quantized soft-information sub-blocks corresponding to the block sequence number to yield a decoded block.
22. The method of claim 14 , further comprising:
computing a frame check sequence of the decoded block, and if the frame check sequence passes:
storing the decoded block in place of all quantized soft-information sub-blocks corresponding to the block sequence number.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/347,243 US20030131302A1 (en) | 1997-10-29 | 2003-01-21 | Incremental redundancy radio link protocol |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US6422397P | 1997-10-29 | 1997-10-29 | |
US09/178,575 US6353907B1 (en) | 1997-10-29 | 1998-10-26 | Incremental redundancy radio link protocol |
US10/040,790 US6532563B2 (en) | 1997-10-29 | 2002-01-09 | Incremental redundancy radio link protocol |
US10/347,243 US20030131302A1 (en) | 1997-10-29 | 2003-01-21 | Incremental redundancy radio link protocol |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/040,790 Continuation US6532563B2 (en) | 1997-10-29 | 2002-01-09 | Incremental redundancy radio link protocol |
Publications (1)
Publication Number | Publication Date |
---|---|
US20030131302A1 true US20030131302A1 (en) | 2003-07-10 |
Family
ID=22054400
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/178,575 Expired - Fee Related US6353907B1 (en) | 1997-10-29 | 1998-10-26 | Incremental redundancy radio link protocol |
US10/040,790 Expired - Fee Related US6532563B2 (en) | 1997-10-29 | 2002-01-09 | Incremental redundancy radio link protocol |
US10/347,243 Abandoned US20030131302A1 (en) | 1997-10-29 | 2003-01-21 | Incremental redundancy radio link protocol |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/178,575 Expired - Fee Related US6353907B1 (en) | 1997-10-29 | 1998-10-26 | Incremental redundancy radio link protocol |
US10/040,790 Expired - Fee Related US6532563B2 (en) | 1997-10-29 | 2002-01-09 | Incremental redundancy radio link protocol |
Country Status (5)
Country | Link |
---|---|
US (3) | US6353907B1 (en) |
EP (1) | EP0960495B1 (en) |
CA (1) | CA2275775C (en) |
DE (2) | DE69838355T2 (en) |
WO (1) | WO1999022481A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020131453A1 (en) * | 2001-03-13 | 2002-09-19 | Koninklijke Philips Electronics N.V. | Method of communicating between a communication station and at least one data carrier |
US20020131449A1 (en) * | 2001-03-13 | 2002-09-19 | Nec Corporation | System for adaptive resending request control in mobile radio communications |
US20080130534A1 (en) * | 2006-11-30 | 2008-06-05 | Kabushiki Kaisha Toshiba | Data transmitting apparatus, data receiving apparatus, and data communication system |
US20100041351A1 (en) * | 2005-03-30 | 2010-02-18 | Nageen Himayat | Techniques to enhance diversity for a wireless system |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6353907B1 (en) * | 1997-10-29 | 2002-03-05 | At&T Corp. | Incremental redundancy radio link protocol |
US6778558B2 (en) * | 1998-02-23 | 2004-08-17 | Lucent Technologies Inc. | System and method for incremental redundancy transmission in a communication system |
US6590882B1 (en) * | 1998-09-15 | 2003-07-08 | Nortel Networks Limited | Multiplexing/demultiplexing schemes between wireless physical layer and link layer |
FI109252B (en) * | 1999-04-13 | 2002-06-14 | Nokia Corp | Transmission process with soft combination in a telecommunication system |
KR20000075358A (en) * | 1999-05-27 | 2000-12-15 | 윤종용 | Variable-length data transmitting and receiving apparatus in accordance with radio link protocol for a mobile telecommunication system and method thereof |
DE19933489C2 (en) * | 1999-07-16 | 2003-05-08 | Infineon Technologies Ag | Method and device for generating a channel and subscriber-coded message signal |
US7245594B1 (en) | 2000-05-12 | 2007-07-17 | Qualcomm Incorporated | Method and apparatus for fast closed-loop rate adaptation in a high rate packet data transmission |
DE10101092B4 (en) * | 2000-10-09 | 2006-07-20 | Siemens Ag | Improvement of the bandwidth efficiency in a packet-oriented transmission with forward error correction |
DE10050117A1 (en) * | 2000-10-11 | 2002-04-25 | Philips Corp Intellectual Pty | Wireless network has physical layer on transmission side for transmitting stored coded transport blocks and physical layer on receiver side for sending acknowledgements according to correct or faulty reception |
US6704571B1 (en) | 2000-10-17 | 2004-03-09 | Cisco Technology, Inc. | Reducing data loss during cell handoffs |
KR100525384B1 (en) * | 2000-10-31 | 2005-11-02 | 엘지전자 주식회사 | Method for controlling packet retransmission in mobile communication system |
US7302628B2 (en) | 2000-12-14 | 2007-11-27 | Telefonaktiebolaget L M Ericsson (Publ) | Data compression with incremental redundancy |
US6981060B2 (en) | 2000-12-14 | 2005-12-27 | Telefonaktiebolaget L M Ericsson (Publ) | Compression based on channel characteristics |
WO2002075931A1 (en) * | 2001-03-08 | 2002-09-26 | Intersil Americas Inc. | Legacy-compatible forward error correction in telecommunications networks |
US20030167434A1 (en) * | 2002-03-01 | 2003-09-04 | Michael Andrew Fischer | Legacy-compatible forward error correction in telecommunications networks |
KR100539862B1 (en) * | 2001-04-04 | 2005-12-28 | 삼성전자주식회사 | Method and apparatus for transporting and receiving data in cdma mobile system |
US7200154B1 (en) | 2001-05-23 | 2007-04-03 | Nortel Networks Limited | QoS link protocol (QLP) |
KR100735692B1 (en) * | 2001-07-12 | 2007-07-06 | 엘지전자 주식회사 | Coding Transformation Method Using Adaptive Coding and Retransmission |
DE10147487B4 (en) * | 2001-09-26 | 2006-02-09 | Siemens Ag | Method and radio station for data transmission in a radio communication system |
CN1225875C (en) * | 2001-09-29 | 2005-11-02 | 华为技术有限公司 | Method of realizing data retransmission on high speed medium access control layer (MAC-HS) |
BR0304554A (en) * | 2002-04-24 | 2004-10-19 | Samsung Electronics Co Ltd | Apparatus and method for supporting automatic repeat request in a high speed wireless packet data communication system |
US7272768B2 (en) * | 2002-12-09 | 2007-09-18 | Broadcom Corporation | Edge incremental redundancy memory structure and memory management |
US7342979B2 (en) * | 2002-12-09 | 2008-03-11 | Broadcom Corporation | Incremental redundancy support in a cellular wireless terminal having IR processing module |
US7155655B2 (en) * | 2003-07-22 | 2006-12-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive hybrid ARQ algorithms |
US8452316B2 (en) * | 2004-06-18 | 2013-05-28 | Qualcomm Incorporated | Power control for a wireless communication system utilizing orthogonal multiplexing |
US7197692B2 (en) | 2004-06-18 | 2007-03-27 | Qualcomm Incorporated | Robust erasure detection and erasure-rate-based closed loop power control |
US7594151B2 (en) * | 2004-06-18 | 2009-09-22 | Qualcomm, Incorporated | Reverse link power control in an orthogonal system |
US9385843B2 (en) | 2004-12-22 | 2016-07-05 | Qualcomm Incorporated | Method and apparatus for using multiple modulation schemes for a single packet |
CN101116360A (en) * | 2005-02-13 | 2008-01-30 | 艾利森电话股份有限公司 | Retransmitting method and system |
US8942639B2 (en) * | 2005-03-15 | 2015-01-27 | Qualcomm Incorporated | Interference control in a wireless communication system |
US8848574B2 (en) | 2005-03-15 | 2014-09-30 | Qualcomm Incorporated | Interference control in a wireless communication system |
US20070071139A1 (en) * | 2005-09-23 | 2007-03-29 | Guner Arslan | Channel decoding using hard and soft decisions |
WO2007050926A2 (en) * | 2005-10-27 | 2007-05-03 | Qualcomm Incorporated | Method and apparatus for estimating reverse link loading in a wireless communication system |
US7865160B2 (en) * | 2006-06-27 | 2011-01-04 | Motorola Mobility, Inc. | Mixed mode power measurement calibration and reporting in wireless communication networks |
US20080117849A1 (en) * | 2006-09-08 | 2008-05-22 | Qualcomm Incorporated | Method and apparatus for interaction of fast other sector interference (osi) with slow osi |
US8670777B2 (en) * | 2006-09-08 | 2014-03-11 | Qualcomm Incorporated | Method and apparatus for fast other sector interference (OSI) adjustment |
US8442572B2 (en) * | 2006-09-08 | 2013-05-14 | Qualcomm Incorporated | Method and apparatus for adjustments for delta-based power control in wireless communication systems |
US8166372B2 (en) * | 2006-12-29 | 2012-04-24 | Nokia Corporation | Blind estimation of control channel |
NO338879B1 (en) * | 2007-01-16 | 2016-10-31 | Qualcomm Inc | High-speed packet data transmission for fast loop loop fitting |
ES2519766T3 (en) | 2007-12-20 | 2014-11-07 | Optis Wireless Technology, Llc | Control channel signaling using a common signaling field for the transport format and the redundancy version |
KR100937430B1 (en) | 2008-01-25 | 2010-01-18 | 엘지전자 주식회사 | Signal transmitting and receiving method and signal transmitting and receiving device |
US8737319B2 (en) * | 2008-12-15 | 2014-05-27 | Samsung Electronics Co., Ltd. | Method and apparatus for reducing map overhead in a broadand wireless communication system |
US8671321B2 (en) * | 2012-06-28 | 2014-03-11 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for retransmission processing in a communication receiver |
US20150270954A1 (en) * | 2014-03-24 | 2015-09-24 | Infineon Technologies Ag | Device for generating encrypted data segments |
US11032031B2 (en) * | 2016-01-18 | 2021-06-08 | Qualcomm Incorporated | HARQ LLR buffer and reordering buffer management |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870406A (en) * | 1997-02-19 | 1999-02-09 | Ericsson Inc. | Automatic repeat request(ARQ) data communications method and apparatus |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4584685A (en) | 1983-12-22 | 1986-04-22 | General Electric Company | Method for improving message reception from multiple sources |
JP2810680B2 (en) | 1989-01-24 | 1998-10-15 | 東京エレクトロン株式会社 | Exposure apparatus and exposure method |
JP2967897B2 (en) | 1993-07-22 | 1999-10-25 | エヌ・ティ・ティ移動通信網株式会社 | Automatic retransmission request data transmission method |
JP3351792B2 (en) * | 1993-11-01 | 2002-12-03 | テレフオンアクチーボラゲツト エル エム エリクソン | Automatic resend request |
US5600663A (en) * | 1994-11-16 | 1997-02-04 | Lucent Technologies Inc. | Adaptive forward error correction system |
JPH08223624A (en) * | 1995-02-15 | 1996-08-30 | Nec Corp | Radio selective call receiver and radio data transmitting system |
US5677918A (en) | 1995-07-28 | 1997-10-14 | Motorola, Inc. | Method and device for efficient error correction in a packet-switched communication system |
US5844918A (en) * | 1995-11-28 | 1998-12-01 | Sanyo Electric Co., Ltd. | Digital transmission/receiving method, digital communications method, and data receiving apparatus |
DE69736684T2 (en) * | 1996-01-23 | 2007-09-13 | Ntt Mobile Communications Network Inc. | Communication arrangement and transmission station with error detection and retransmission |
DE19630343B4 (en) * | 1996-07-26 | 2004-08-26 | Telefonaktiebolaget L M Ericsson (Publ) | Method and packet transmission system using error correction of data packets |
US5983382A (en) * | 1996-12-31 | 1999-11-09 | Lucent Technologies, Inc. | Automatic retransmission query (ARQ) with inner code for generating multiple provisional decodings of a data packet |
US6189123B1 (en) * | 1997-03-26 | 2001-02-13 | Telefonaktiebolaget Lm Ericsson | Method and apparatus for communicating a block of digital information between a sending and a receiving station |
US6119167A (en) * | 1997-07-11 | 2000-09-12 | Phone.Com, Inc. | Pushing and pulling data in networks |
US6353907B1 (en) * | 1997-10-29 | 2002-03-05 | At&T Corp. | Incremental redundancy radio link protocol |
US5881069A (en) * | 1997-12-12 | 1999-03-09 | Motorola, Inc. | Method and apparatus for error correction processing in a radio communication device |
US6275488B1 (en) * | 1999-11-17 | 2001-08-14 | Motorola, Inc. | Variable rate spread spectrum communication method and apparatus |
-
1998
- 1998-10-26 US US09/178,575 patent/US6353907B1/en not_active Expired - Fee Related
- 1998-10-27 EP EP98956254A patent/EP0960495B1/en not_active Expired - Lifetime
- 1998-10-27 WO PCT/US1998/022781 patent/WO1999022481A1/en active IP Right Grant
- 1998-10-27 DE DE69838355T patent/DE69838355T2/en not_active Expired - Lifetime
- 1998-10-27 CA CA002275775A patent/CA2275775C/en not_active Expired - Fee Related
- 1998-10-27 DE DE69813516T patent/DE69813516T2/en not_active Expired - Lifetime
-
2002
- 2002-01-09 US US10/040,790 patent/US6532563B2/en not_active Expired - Fee Related
-
2003
- 2003-01-21 US US10/347,243 patent/US20030131302A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870406A (en) * | 1997-02-19 | 1999-02-09 | Ericsson Inc. | Automatic repeat request(ARQ) data communications method and apparatus |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020131453A1 (en) * | 2001-03-13 | 2002-09-19 | Koninklijke Philips Electronics N.V. | Method of communicating between a communication station and at least one data carrier |
US20020131449A1 (en) * | 2001-03-13 | 2002-09-19 | Nec Corporation | System for adaptive resending request control in mobile radio communications |
US7126965B2 (en) * | 2001-03-13 | 2006-10-24 | Nec Corporation | System for adaptive resending request control in mobile radio communications |
US7257092B2 (en) * | 2001-03-13 | 2007-08-14 | Nxp B.V. | Method of communicating between a communication station and at least one data carrier |
US20100041351A1 (en) * | 2005-03-30 | 2010-02-18 | Nageen Himayat | Techniques to enhance diversity for a wireless system |
US8060033B2 (en) * | 2005-03-30 | 2011-11-15 | Intel Corporation | Techniques to enhance diversity for a wireless system |
US8412129B2 (en) | 2005-03-30 | 2013-04-02 | Intel Corporation | Techniques to enhance diversity for a wireless system |
US8682266B2 (en) | 2005-03-30 | 2014-03-25 | Intel Corporation | Techniques to enhance diversity for a wireless system |
US20080130534A1 (en) * | 2006-11-30 | 2008-06-05 | Kabushiki Kaisha Toshiba | Data transmitting apparatus, data receiving apparatus, and data communication system |
US8009596B2 (en) * | 2006-11-30 | 2011-08-30 | Kabushiki Kaisha Toshiba | Data transmitting apparatus, data receiving apparatus, and data communication system |
Also Published As
Publication number | Publication date |
---|---|
DE69813516D1 (en) | 2003-05-22 |
EP0960495A1 (en) | 1999-12-01 |
DE69813516T2 (en) | 2003-12-24 |
DE69838355T2 (en) | 2008-05-29 |
DE69838355D1 (en) | 2007-10-11 |
CA2275775A1 (en) | 1999-05-06 |
US6532563B2 (en) | 2003-03-11 |
US6353907B1 (en) | 2002-03-05 |
WO1999022481A1 (en) | 1999-05-06 |
EP0960495B1 (en) | 2003-04-16 |
CA2275775C (en) | 2003-08-12 |
US20020099994A1 (en) | 2002-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6353907B1 (en) | Incremental redundancy radio link protocol | |
US6700867B2 (en) | Method and system for reduced memory hybrid automatic repeat request | |
US6778558B2 (en) | System and method for incremental redundancy transmission in a communication system | |
US6865233B1 (en) | Method and system for control signalling enabling flexible link adaptation in a radiocommunication system | |
US6671849B2 (en) | Reliability-based type-II hybrid ARQ scheme | |
US5946320A (en) | Method for transmitting packet data with hybrid FEC/ARG type II | |
US20020064167A1 (en) | Hybrid ARQ with parallel packet transmission | |
US8850283B2 (en) | HARQ procedure with processing of stored soft-bits | |
US20010056560A1 (en) | Method and system for measurement based automatic retransmission request in a radiocommunication system | |
US20030088822A1 (en) | Transmission/reception apparatus and method for packet retransmission in a CDMA mobile communication system | |
US7178089B1 (en) | Two stage date packet processing scheme | |
CN115051775B (en) | Efficient automatic retransmission method in broadband ad hoc network | |
JP4509383B2 (en) | Combined hybrid automatic retransmission request method | |
US11936480B2 (en) | Apparatus and methods for HARQ in a wireless network | |
US20060077919A1 (en) | Automatic retransmit request protocol for channels with time-varying capacity | |
EP3912289B1 (en) | Method of transmission of a data packet, computer program, and transceiver device | |
EP1656759A1 (en) | Data compression with incremental redundancy | |
EP3821552B1 (en) | Device and method for supporting harq for wi-fi | |
CN111200484A (en) | Hybrid ARQ with variable modulation and coding | |
EP1513283B1 (en) | Methods, computer system and receiver for incremental redundancy decoding | |
EP1313252A2 (en) | Incremental redundancy radio link protocol | |
KR100797459B1 (en) | Data transmission method in hybrid automatic retransmission request system | |
Van Nobelen | Towards higher data rates for IS-136 | |
Chan et al. | A data link control protocol for wireless ATM networks with adaptive coding rate |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |