[go: up one dir, main page]

HK1114270A - Method and apparatus for improving data transmission reliability in a wireless communications system - Google Patents

Method and apparatus for improving data transmission reliability in a wireless communications system Download PDF

Info

Publication number
HK1114270A
HK1114270A HK08109547.1A HK08109547A HK1114270A HK 1114270 A HK1114270 A HK 1114270A HK 08109547 A HK08109547 A HK 08109547A HK 1114270 A HK1114270 A HK 1114270A
Authority
HK
Hong Kong
Prior art keywords
packet
arq
decoded
arq channel
identifier
Prior art date
Application number
HK08109547.1A
Other languages
Chinese (zh)
Inventor
阿维纳什‧贾殷
斯泰因‧A‧伦德比
Original Assignee
高通股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 高通股份有限公司 filed Critical 高通股份有限公司
Publication of HK1114270A publication Critical patent/HK1114270A/en

Links

Abstract

Techniques for performing duplicate detection and re-ordering for a HARQ transmission are described. For duplicate detection, a receiver determines whether a decoded packet x for an ARQ channel y is a duplicate packet based on packet x and a prior decoded packet for ARQ channel y. For re-ordering, the receiver determines whether an earlier packet is still pending on any other ARQ channel based on prior decoded packets for the ARQ channels and forwards packet x only if there are no pending earlier packets. There are no pending earlier packets on another ARQ channel z if (1) a decoded packet was received on ARQ channel z at a designated time or later or (2) a decoded packet was not received on ARQ channel z within a time window from current time.

Description

Method and apparatus for improving data transmission reliability in a wireless communication system
Technical Field
The present invention relates generally to wireless communications, and more specifically to techniques for improving data transmission reliability.
Background
Many wireless communication systems utilize HARQ to improve the reliability of data transmission. In the case of HARQ, each data packet may be transmitted by the transmitter one or more times until the packet is decoded correctly by the receiver or the maximum number of transmissions have been sent for the packet. A HARQ entity at the transmitter, often referred to as a transmitter HARQ entity, receives packets that have been assigned sequence numbers, encodes each packet into one or several subpackets, and transmits the subpackets in sequential order.
A corresponding HARQ entity at the receiver (which is often referred to as a receiver HARQ entity) receives the transmission from the transmitter and combines sub-packets belonging to the same packet. The combined packets of each transmitted packet are then decoded to recover the transmitted packets. However, due to degradation caused by deleterious effects in the wireless link, some of the received packets may be decoded in error and are referred to as erasure packets. The receiver may send an Acknowledgement (ACK) for each correctly decoded packet to the transmitter to terminate transmission of other subpackets of this packet, and/or a Negative Acknowledgement (NAK) for each erased packet to initiate transmission of another subpacket of the packet. The transmitter may erroneously receive the ACK and/or NAK sent by the receiver. Each ACK that is erroneously detected by the transmitter as a NAK results in the transmission of another subpacket of the packet that has been correctly decoded by the receiver. The redundant transmission can be decoded correctly by the receiver and results in duplicate packets. The error rate of ACK transmission may be high and thus the receiver may frequently obtain duplicate packets.
The task of the receiver HARQ entity also includes providing correctly decoded packets to the upper layers. In many systems, an upper layer wishes to receive data in the proper order (as determined by the sequence number of the packet). With HARQ, although the transmitter HARQ entity sends the first subpacket in sequential order, the receiver HARQ entity may recover the packets out of order due to additional subpacket transmissions that erase the packets. Thus, the receiver HARQ entity typically buffers packets that have been decoded correctly, reorders the packets as needed, and provides the reordered packets to upper layers. If the packets are recovered out of order, the receiver HARQ entity may "stop" or delay delivery of correctly decoded packets to upper layers whenever an early packet omission is detected until (1) the missing packet is correctly decoded by the receiver HARQ entity, or (2) the receiver HARQ entity is confident that the missing packet is lost and will not be received. If the receiver HARQ entity declares a packet to be lost when this is not the case, the upper layer may (1) initiate retransmission of the lost packet, albeit with a longer delay, or (2) treat the packet as lost, both of which are undesirable.
In a simple reordering scheme, the receiver stores each correctly decoded packet in a buffer until the maximum duration for transmitting all earlier packets has expired. With confidence that any earlier packets that are still missing will not be received, the receiver then provides the correctly decoded packets to the upper layer after this maximum duration has expired. However, for this simple reordering scheme, the delay for passing the packet to the upper layer is too long.
There is therefore a need in the art for techniques to efficiently perform duplicate detection and reordering of HARQ transmissions.
Disclosure of Invention
Techniques for performing duplicate detection and reordering of HARQ transmissions are described herein. For a synchronous HARQ system, multiple ARQ channels are used for HARQ transmissions, and the time at which each ARQ channel is sent is known a priori by both the transmitter and the receiver of the HARQ transmission. For asynchronous HARQ systems, the time between successive subpacket transmissions on the same ARQ channel is variable and is determined by the scheduling entity based on channel and/or other characteristics. If the scheduling entity resides at the transmitter, which is typically the case for the forward link (or downlink), a reliable control mechanism can be used to inform the receiver when to send each ARQ channel. For systems with a fully scheduled reverse link (or uplink), the scheduling entity is at the receiver, which then knows when to transmit each ARQ channel. For both synchronous and asynchronous HARQ systems, it is assumed that both the transmitter and the receiver know the time at which each ARQ channel is sent.
For HARQ transmissions, a transmitter receives a sequence of data packets, which may be assigned a sequence number to indicate their order in the sequence. The transmitter processes each packet and generates a plurality of subpackets assigned with consecutively numbered subpacket identifiers (SPIDs). The transmitter transmits the packets in sequential order (based on their sequence numbers, or the order of arrival from upper layers) on the ARQ channels (as these channels become available). Each packet is sent on one ARQ channel. For each packet, the sub-packets of the packet are sent in sequential order based on their SPIDs, one sub-packet at a time, until an ACK is received for the packet or all sub-packets have been sent.
For duplicate detection, the receiver determines whether a given correctly decoded packet x for a given ARQ channel is a duplicate packet based on the correctly decoded packet x for ARQ channel y and a previously correctly decoded packet. When a previously correctly decoded packet is obtained, the receiver sets the unexpected SPID of ARQ channel y to the SPIDl of the last sub-packet received for the previously correctly decoded packet plus 1, i.e., the unexpected SPID ═ l + 1. The unexpected SPID is the SPID of the subpacket that was not expected to be received on ARQ channel y. For example, the receiver may send an ACK for a previously correctly decoded packet, which may be erroneously detected as a NAK by the transmitter, which may then transmit the next subpacket with SPID of l + 1. The receiver obtains the SPID of the last subpacket received for correctly decoded packet x, compares the SPID of this subpacket to the unexpected SPID, and declares packet x to be a duplicate packet if the two SPIDs match. Each time a subpacket may be sent on ARQ channel y, the receiver increments the unexpected SPID so that the unexpected SPID tracks the SPID of the subpacket that was not expected to be received on ARQ channel y. This increment is done even if the receiver does not detect a transmission. For example, the receiver may decode a packet with SPID ═ l on ARQ channel y and send an ACK, which is erroneously detected by the transmitter as a NAK. The receiver may not detect the subsequent sub-packet transmission with SPID l +1 on ARQ channel y, but rather detect the subsequent transmission with SPID l + 2. By always incrementing the unexpected SPID, the receiver ensures that duplicate packets are always detected even when it does not detect some sub-packets.
For reordering, the receiver obtains a correctly decoded packet x for ARQ channel y, determines whether an earlier packet is still pending on any other ARQ channel based on the previous correctly decoded packets of the ARQ channel (if any), and forwards the packet x to the upper layer if there are no pending earlier packets. Each pending earlier packet is a packet that was sent before packet x and may still be received. If (1) a correctly decoded packet is received on ARQ channel z at a specified time or later, or (2) no correctly decoded packet is received on ARQ channel z within a time window from the current frame, then there is no pending earlier packet on the other ARQ channel z. The specified time is determined by the start time of packet x and the number of ARQ channels available for HARQ transmission. For synchronous HARQ, the time window is determined by the maximum number of subpackets per packet and the number of ARQ channels. For asynchronous HARQ in a scheduled system, the time window for transmission on each ARQ channel is known to the scheduling entity.
Various aspects and embodiments of the disclosure are described in more detail below.
Drawings
Fig. 1 shows packet processing for a HARQ system.
Fig. 2 shows a synchronous HARQ transmission on one ARQ channel.
Fig. 3A shows synchronous HARQ transmissions on four ARQ channels;
FIG. 3B shows a data buffer for the HARQ transmission shown in FIG. 3A;
FIG. 4 shows a process for performing duplicate detection;
fig. 5A and 5B illustrate two conditions for determining whether an early packet is still pending on another ARQ channel;
FIG. 6 shows a process for reordering packets;
FIG. 7 shows a process for determining whether there is a pending early packet;
fig. 8 shows a process for processing a received packet for HARQ transmission;
FIG. 9 shows a process for reordering and forwarding packets to upper layers;
fig. 10 illustrates a process of HARQ transmission shown in fig. 3A; and
FIG. 11 shows a block diagram of a wireless device and a base station.
Detailed Description
The word "exemplary" is used herein to mean "serving as an example, instance, or illustration. Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
The duplicate detection and reordering techniques described herein may be used for various communication systems such as Code Division Multiple Access (CDMA) systems, Time Division Multiple Access (TDMA) systems, Frequency Division Multiple Access (FDMA) systems, Orthogonal Frequency Division Multiple Access (OFDMA), ultra wideband systems (UWB), and so forth. A CDMA system may implement CDMA2000, wideband-CDMA (W-CDMA), or some other CDMA Radio Access Technology (RAT). A TDMA system may implement global system for mobile communications (GSM) or some other RAT. An OFDM system may implement IEEE 802.11, IEEE 802.16, or IEEE 802.20. A UWB system may implement 802.15. cdma2000 covers IS-95, IS-2000, and IS-856, and IS described in a document from a partnership project named "third generation partnership project 2" (3GPP 2). W-CDMA and GSM are described in documents from a partnership project named "third Generation partnership project" (3 GPP). The 3GPP and 3GPP2 documents are publicly available. Duplicate detection and reordering techniques may also be used for the forward link (or downlink) and the reverse link (or uplink). For clarity, the techniques are described for the reverse link in cdma2000 revision D.
Fig. 1 shows packet processing for a HARQ system. The wireless device processes each data packet to generate an encoded packet and further divides the encoded packet into three sub-packets. In fig. 1, the data/encoded packets are assigned consecutive sequence numbers and are labeled Pac0, Pac1, Pac2, and so on. In fig. 1, the three sub-packets of each encoded packet are assigned sub-packet identifiers (SPIDs) "0", "1", and "2", and are labeled SP0, SP1, and SP 2. Each sub-packet contains enough information to allow the receiving base station to decode the sub-packet and recover the packet under favorable channel conditions. The three sub-packets of each packet contain different redundant information for the packet. The three sub-packets of a packet may be considered different versions of the packet or different transmissions of the packet.
The encoded packets are transmitted beginning in sequential order. Thus, the earliest packet 0(Pac0) is transmitted before packet 1(Pac1), packet 1(Pac1) is transmitted before packet 2(Pac2), packet 2(Pac2) is transmitted before packet 3(Pac3), and so on. For each packet, three subpackets are transmitted in sequential order on the same ARQ channel. Thus, sub-packet 0 is transmitted first (SP0), followed by sub-packet 1(SP1), if needed, and followed by sub-packet 2(SP2), if needed. For each packet, one, two, or all three subpackets may be transmitted. The packet processing and transmission described above may be used for data/traffic channels in various systems, such as the reverse packet data channel (R-PDCH) in cdma2000 revision D. For clarity, certain details are described below for the R-PDCH.
Fig. 2 shows a structure of a data channel in a synchronous HARQ system. The transmission timeline for a data channel is divided into frames, each of which has a fixed duration (e.g., 10 milliseconds (ms) for the R-PDCH in cdma 200). One subpacket may be sent in each frame. The transmission timeline is further divided into four ARQ channels, which are assigned ARQ Channel Identifiers (ACID) "0", "1", "2", and "3". The four ARQ channels are interleaved such that ARQ channel 0 with ACID-0 occupies every fourth frame starting from a predetermined frame, ARQ channel 1 with ACID-1 occupies every fourth frame immediately after ARQ channel 0, ARQ channel 2 with ACID-2 occupies every fourth frame immediately after ARQ channel 1, and ARQ channel 3 with ACID-3 occupies every fourth frame immediately after ARQ channel 2. Frames for all four ARQ channels are defined based on system TIME (SYS TIME) and are known to the wireless device and the base station. The four ARQ channels are also referred to as ARQ examples and may be viewed as four subchannels of four logical channels or data channels in a synchronous HARQ system.
Fig. 2 also shows an exemplary synchronous HARQ transmission on one ARQ channel. Each packet is transmitted on a single ARQ channel and possibly retransmitted. For a given packet, the wireless device first transmits sub-packet 0 in one frame of the ARQ channel, then transmits sub-packet 1 in the next available frame of the same ARQ channel, if needed, and finally transmits sub-packet 2 in the next available frame of the ARQ channel, if needed. When each packet is received, the base station attempts to decode the packet based on all sub-packets that have been received for the packet. If the decoding is successful, the base station sends an ACK on the forward acknowledgement channel (F-ACKCH) and the wireless device stops sending subpackets for this packet. Conversely, if the decoding is unsuccessful, the base station sends a NAK on the F-ACKCH and the wireless device sends the next subpacket for the packet. The delay to send a NAK or ACK is one frame. In an asynchronous HARQ system, the transmission of each subpacket also occurs sequentially on the same-ARQ channel, but there is no fixed duration between successive transmissions of the same ARQ channel.
For the example shown in fig. 2, the wireless device transmits subpacket 0 of packet 0, which was decoded in error by the base station. The wireless device then transmits subpacket 1 of packet 0, which is decoded correctly, and thus sends an ACK back. The wireless device then transmits subpacket 0 for the next packet 1, which is decoded in error by the base station. The wireless device then transmits sub-packet 1 of packet 1. For other packets, data transmission continues in this manner.
For clarity, fig. 2 shows the transmission of both a NAK and an ACK. Many systems send only ACKs or only NAKs to reduce the amount of signaling. For an ACK-based scheme, the receiver sends an ACK only if the packet is decoded correctly, and does not send any NAKs. Thus, the ACK is sent explicitly and the NAK is sent implicitly (i.e., speculatively or in some other manner indicated by the absence of the ACK). For the NAK-based scheme, the receiver sends a NAK only if the packet is decoded in error, and does not send any ACK. The techniques described herein may be used with any kind of feedback.
The receiver may determine whether a given packet is decoded correctly or in error based on the error detection code for the packet. For example, if the Cyclic Redundancy Check (CRC) of a packet passes, the packet is decoded correctly, and if the CRC fails, the packet is decoded in error. As used herein, a decoded packet is a packet that is decoded correctly by the receiver (e.g., CRC pass), and an erasure packet is a packet that is decoded in error by the receiver (e.g., CRC fail).
As shown in fig. 2, transmitting a subpacket, decoding the packet, and sending back an ACK or NAK may cause some delay. The sub-packet transmissions for each ARQ channel are separated by four frames to account for processing and transmission delays. The wireless device may transmit up to four packets in parallel on the four ARQ channels. There may be up to four outstanding packet transmissions at any given time. Each outstanding packet transmission is for a packet that has not yet been acknowledged as being decoded by the base station.
Fig. 3A shows an exemplary synchronous HARQ transmission on all four ARQ channels. The wireless device sends subpacket 0 for packets 0, 1, 2, and 3 on ARQ channels 0, 1, 2, and 3, respectively, in frames 0, 1, 2, and 3, respectively. The base station receives the four subpackets, decodes packets 0, 1, and 3 in error, and decodes packet 2 correctly. The wireless device then transmits subpacket 1 for packets 0, 1 and 3 on ARQ channels 0, 1 and 3, respectively, in frames 4, 5 and 7, respectively, and subpacket 0 for the next packet 4 on ARQ channel 2 in frame 6. The base station receives the subpackets, correctly decodes packets 0 and 3, and incorrectly decodes packets 1 and 4. The wireless device then transmits sub-packet 0 of the next packet 5 on ARQ channel 0 in frame 8, sub-packet 2 of packet 1 on ARQ channel 1 in frame 9, sub-packet 1 of packet 4 on ARQ channel 2 in frame 10, and sub-packet 0 of the next packet 6 on ARQ channel 3 in frame 11. The base station receives the subpacket, decodes packets 1, 5, and 6 in error, and decodes packet 4 correctly. The wireless device then transmits sub-packet 1 of packet 5 on ARQ channel 0 in frame 12, sub-packet 0 of the next packet 7 on ARQ channel 1 in frame 13, sub-packet 0 of the next packet 8 on ARQ channel 2 in frame 14, and sub-packet 1 of packet 6 on ARQ channel 3 in frame 15. Even though packet 1 is not decoded, the wireless device transmits a new packet on ARQ channel 1 because all three subpackets for packet 1 have been sent. The wireless device continues to transmit new packets whenever an ARQ channel becomes available.
Fig. 3B shows the contents of a data buffer used to store decoded packets at a base station. The data buffer is commonly referred to as a reorder buffer. Each decoded packet may be temporarily stored in a data buffer until the packet is ready to be sent to an upper layer. Fig. 3B shows each decoded packet and the frame in which the packet is decoded. Packet 2 is decoded in frame 2, packet 0 is decoded in frame 4, packet 3 is decoded in frame 7, packet 4 is decoded in frame 10, packet 5 is decoded in frame 12, and packet 8 is decoded in frame 14. Missing packet 1 in frame 9 is detected. As shown in fig. 3A and 3B, although the wireless device begins transmitting packets in a sequential order, the base station recovers the packets out of order due to the additional transmission of erasure packets.
For simplicity, fig. 3A assumes that the ACKs and NAKs sent by the base station to the wireless device do not detect errors. For each ACK detected as a NAK, the wireless device transmits the next subpacket of the packet that has been decoded by the base station. For each NAK detected as an ACK, the wireless device transmits the next packet although the previous packet has not been decoded by the base station. The NAK to ACK error rate is typically small (e.g., 0.1%) to achieve reliable data transmission. However, the ACK to NAK error rate may be high and variable (e.g., from 1% to 10%). The base station may receive duplicate packets due to ACK to NAK errors.
The base station may perform duplicate detection to identify and discard duplicate packets. Duplicate detection may be performed based on the following assumptions: (1) the base station (or receiver) knows the ARQ channel sent in each frame based on system timing, (2) sends the subpackets for each packet in sequential order, and (3) if the packet is decoded, the base station can only determine the SPID of the subpacket.
Fig. 4 shows a flow diagram of a process 400 for performing duplicate detection for packets received via HARQ transmissions. The base station maintains a variable unnxpected _ SPID for each ARQ channel. This variable indicates the SPID of the subpacket that is not expected to be received on the ARQ channel. At the beginning of the HARQ transmission, the base station initializes the unnipected _ SPID of each ARQ channel to an invalid value (block 410). For example, the unnipected _ SPID may be set to Max _ Num _ Tx, which is the maximum number of subpackets per packet, where Max _ Num _ Tx is 3 for R-PDCH in cdma2000 revision D. The initialization in block 410 is performed once for a HARQ transmission.
The base station performs duplicate detection for each frame with a transmission. The base station determines an ARQ channel for the current frame, referred to as ARQ channel y, based on its knowledge of system time (block 420). The base station then attempts to decode the packet for the current frame (block 422). It is then determined whether the packet is decoded (block 424). If the packet is decoded, the base station obtains the SPID of the sub-packet received in the current frame (which is referred to as SPID k) (block 426). For cdma2000 revision D, each sub-packet carries the SPID assigned to that sub-packet, but only when the packet is decoded, the SPID can be reliably determined by the base station.
Next, the base station determines whether SPID k is equal to the unnexpected _ SPID for ARQ channel y (block 428). If SPID k is not equal to the unexped _ SPID for ARQ channel y (which would be the case for the first packet sent on ARQ channel y because the unexped _ SPID is initialized to an invalid value), then the unexped _ SPID is set to k +1 (block 432). The base station does not expect to receive a subpacket with SPID k +1 in the next frame of ARQ channel y because packet x has already been decoded. If a subpacket with SPID k +1 is received in the next frame of ARQ channel y, this subpacket must be sent due to ACK to NAK error and is a duplicate packet. Thus, returning to block 428, if SPID k is equal to unnipected _ SPID, packet x is declared a duplicate packet and is discarded (block 430). Following block 430, the unnipected _ SPID is set to k +1 (block 432).
If the packet for the current frame is erased as determined in block 424, a determination is made as to whether the unnipected _ SPID for ARQ channel y is invalid (e.g., equal to Max _ Num _ Tx) (block 434). If the answer is "no," the base station increments the unnipected _ SPID of ARQ channel y by 1 (block 436). If the answer is yes for block 434, and also after block 436, the process returns to block 420 to process the next frame.
The duplicate detection in fig. 4 sets the Unexpected _ SPID based on the SPID of the last subpacket received for the decoded packet. (1) Whenever an erased packet is received, because the sub-packets are sent in sequential order, and (2) if the unnipected _ SPID has not reached Max _ Num _ Tx and is not an invalid value assigned in block 410, the duplicate detection increments unnipected _ SPID by 1 in block 436. If the unnipected _ SPID reaches Max _ Num _ Tx in block 436, the unnipected _ SPID may be maintained at Max _ Num _ Tx or set to some other invalid value. Duplicate detection may also be performed in other ways based on the description herein.
As shown in fig. 3A and 3B, the receiver HARQ entity at the base station may recover the packets out of order, although the packets may be sent in sequential order. Each decoded packet needs to be forwarded to the upper layers as soon as possible to reduce latency. However, if the upper layer desires to receive packets in sequential order, the receiver HARQ entity typically buffers the decoded packets, reorders the packets out of order, and then provides the reordered packets to the upper layer.
For a given decoded packet x, the base station may forward packet x to upper layers if no packet is sent before packet x and can still be received. If transmission of packet b begins before transmission of packet x, another packet b is sent before packet x. If a packet is sent in sequential order, if another packet b is sent before packet x, packet b should be forwarded to the upper layer before packet x if the upper layer expects to receive packets in sequential order. If packet b is not decoded after the maximum possible number of ARQ retransmissions, packet b is lost and packet x may be forwarded to upper layers.
The base station may maintain a flag for each ARQ channel and may clear this flag for packet x when there are no pending early packets for the ARQ channel. The pending early packet is the packet sent on the ARQ channel before packet x and it can still be received by the base station. If the flags of all ARQ channels are cleared, the base station may forward the packet x to an upper layer. Table 1 lists the various variables used in the description below, as well as a short description for each variable. The default values for some of the variables are given in the third column of table 1 for R-PDCH in cdma 2000.
TABLE 1
Variables of Description of the invention Default
Num_Channels Number of ARQ channels for data transmission 4
Max_Num_Tx Maximum number of sub-packets per packet 3
Max_Wait Maximum amount of time (in frames) to wait for a packet on another ARQ channel 8 frames
Current_Frame Current frame being processed
Start_Time The time at which the packet is transmitted first. Start _ Time is saved for each packet, and is given in units of frames.
Last_Decode_Time The time at which the decoded packet was last received on the ARQ channel. Last _ Decode _ Time is saved for each ARQ channel and given in units of frames.
For synchronous HARQ, Max _ Wait may be calculated as follows:
max _ Wait ═ Num _ channels x (Max _ Num _ Tx-1) equation (1)
For the R-PDCH in cdma2000 revision D, Max _ Wait is 8 frames. For synchronous HARQ it is possible to have a spontaneous transmission on the R-PDCH.
For asynchronous HARQ, each transmission on the R-PDCH may be scheduled. Max _ Wait for an ARQ channel is the time between the transmission of the first and last subpacket on the ARQ channel, and may have a variable duration. If the scheduling entity resides at the receiver, the Max _ Wait for each ARQ channel is known to the receiver. This is true for a fully scheduled reverse link such as IEEE 802.16. If the scheduling entity is at the transmitter, the Max _ Wait for the ARQ channel may be determined if the transmitter has a reliable way to transmit the subpacket and ARQ channel identifier to the receiver.
For each ARQ channel z, where z ∈ C, and C represents the group of all ARQ channels, the base station may clear the flag for ARQ channel z if either of the following two conditions is met:
1. a packet was sent on ARQ channel z after Start _ Time for packet x, or equivalently, Last _ Decode _ Time for ARQ channel z is later than Start _ Time for packet x minus Num _ Channels;
2. at least (Max _ Num _ Tx-1) subpackets have been sent on ARQ channel z, starting from Start _ Time for packet x.
For an unscheduled but synchronous HARQ transmission, the number of subpackets that have been sent on the ARQ channel may be determined according to the elapsed time since the last decoding. For scheduled HARQ transmissions (whether synchronous or asynchronous), the receiver knows the subpacket being scheduled. In that case, the receiver knows when to transmit on each ARQ channel (Max _ Num __ Tx-1).
Conditions 1 and 2 are described in detail below for synchronous HARQ, where each successive subpacket on the ARQ channel is sent after a fixed delay. This simplifies the timing description of the algorithm given below. The algorithm may also be used for asynchronous HARQ if the receiver knows the Start _ Time for each ARQ channel.
Fig. 5A shows a flag for clearing an ARQ channel based on a first condition. For the example shown in fig. 5A, packet x is sent on ARQ channel y-1 starting at Start _ Time shown in fig. 5A and decoded in the current frame. All frames starting after Start _ Time-4 (which is a specified Time and is equal to Start _ Time-Num _ Channels) up to the current frame are shown by diagonal hashing. If the packet of any ARQ channel z is decoded in any frame with a hash, any packet that can be sent after this decoded packet on the same ARQ channel z will have a Start Time later than the Start _ Time of packet x. Therefore, this ARQ channel z cannot carry earlier packets than packet x, and the flag for this ARQ channel z can be cleared. For the first condition, the inclusion of frame Start _ Time-4 is optional because decoding packet x will occasionally allow the flag of ARQ channel y to be cleared for packet x.
Fig. 5B shows a flag to clear the ARQ channel based on a second condition. For the example shown in fig. 5B, Max _ Num _ Tx is 3 for each packet, and at most three subpackets are sent. Packet x is sent on ARQ channel y ═ 1 starting at Start _ Time shown in fig. 5B and decoded correctly in frame Tc-3, which is four frames after Start _ Time of packet x. ARQ channel z, which already carries Max _ Num _ Tx-1 subpackets from Start _ Time of packet x, cannot carry the packet sent before Start _ Time of packet x. For example, ARQ channel z-2 carries a subpacket in frame Tc-2 (which is two frames before the current frame) and another subpacket in frame Tc-6 (which is six frames before the current frame). Two subpackets are sent on ARQ channel 2 after Start _ Time for packet x. After processing the sub-packet of ARQ channel 2 in frame Tc-2, ARQ channel 2 may not still carry the packet sent before Start _ Time of packet x. This is because if a packet is sent on ARQ channel 2 before Start _ Time for packet x, this packet will have to be sent at the beginning of frame Tc-10 and will be completed at frame Tc-2, regardless of whether the packet is decoded or erased, since the maximum number of sub-packets has already been sent for the packet. For the second condition, the flag for each ARQ channel z may be cleared if no packets are decoded on ARQ channel z within the last Num _ Wait frames (which may be considered as a sliding window of time) from the current frame. The above example would apply equally if packet x is decoded in frame Tc-7 instead of frame Tc-3.
Fig. 6 shows a flow diagram of a process 600 for reordering packets received via HARQ transmissions. The base station performs reordering on each frame with transmission. The base station determines an ARQ channel for the current frame, referred to as ARQ channel y (block 620). The base station then attempts to decode packet x of the current frame (block 622). Next, a determination is made as to whether packet x is decoded (block 624). If packet x is decoded, the base station determines whether another packet may have been sent on another ARQ channel before packet x and may still be received, i.e., whether there is an earlier packet still pending on another ARQ channel (block 626). If there is an earlier packet pending and the base station needs to wait for this packet, as determined in block 628, the base station stores packet x in the data buffer (block 632). Otherwise, if there is no pending early packet, the base station forwards packet x and/or all packets that have been decoded and are waiting for packet x (block 630). There may be situations where packet x cannot be forwarded, but decoding of packet x allows forwarding of other packets waiting in the data buffer. The process then returns to block 620 to process the next frame.
FIG. 7 shows a flowchart of an embodiment of block 626 in FIG. 6. First, Start _ Time for packet x is calculated as described below (block 710) and the flags for all ARQ channels are set to logic high (block 712). For the first ARQ channel to be evaluated, the index i of the ARQ channel is set to 0 (block 714). It is then determined whether packet x decoded in the current frame is received on ARQ channel i (block 720). If the answer is yes for block 720, the flag for ARQ channel i is cleared (block 726). Otherwise, it is determined whether to obtain a decoded packet for ARQ channel i after Start _ Time-Num _ Channels, where Start _ Time is the Start Time of packet x (block 722). If the answer is yes for block 722, then the flag for ARQ channel i is cleared (block 726). Otherwise, a determination is made whether an undecoded packet for ARQ channel i is obtained in the last Max _ Wait-1 frame (block 724). If the answer is yes for block 724, then the flag for ARQ channel i is cleared (block 726).
Block 720 and block 722 are for the first condition described above in fig. 5A, and for clarity, block 720 and block 722 are shown in fig. 7 as two separate blocks. Block 724 is for the second condition described above in fig. 5B. If the answer is no for all three blocks 720, 722 and 724, then there is at least one pending packet that was sent before packet x and that may still be received. An indication is then provided that packet x is waiting for another packet (block 734) and the process of block 626 terminates.
If the flag for ARQ channel i is cleared in block 726 because there are no pending early packets on this ARQ channel, then a determination is made as to whether all ARQ channels have been evaluated (block 728). If the answer is "no," the index i is incremented (block 730) and the process returns to block 720 to evaluate the next ARQ channel. Otherwise, if the answer is yes for block 728, meaning that the flags for all ARQ channels have been cleared, an indication is provided that packet x may be forwarded to upper layers (block 732) and the process of block 626 terminates.
Specific embodiments for processing and performing reordering of packets are described below. For this embodiment, a single variable Last _ Decode _ Time is maintained for each ARQ channel and is used to evaluate both conditions 1 and 2 of the ARQ channel. The Last _ Decode _ Time of each ARQ channel indicates a Frame in which a decoded packet of the ARQ channel is Last obtained, and is set to the Current Frame (or Current _ Frame) whenever the decoded packet is obtained on the ARQ channel. Each Time an ARQ channel is processed, Last _ Decode _ Time of each ARQ channel is also set to be no earlier than Current _ Frame-Max _ Wait, so that condition 2 can be evaluated with the same variable. When HARQ transmission starts, Last _ Decode _ Time of ARQ channels 0, 1, 2 and 3 are respectively initialized to First _ Frame-4, First _ Frame-3, First _ Frame-2 and First _ Frame-1, wherein the First _ Frame is a Frame for transmitting a First sub-packet for HARQ transmission.
Fig. 8 shows a flow diagram of a process 800 for processing a packet received for a HARQ transmission. Process 800 is performed for each frame having a transmission. The base station determines the ARQ channel for the current frame, referred to as ARQ channel y (block 820), decodes packet x for the current frame (block 822), and determines whether packet x is decoded (block 824). If the packet x is decoded, the base station sets Last _ Decode _ Time for ARQ channel y to Current _ Frame (block 826), determines the SPID of the subpacket received in the Current Frame of packet x (block 828), and calculates Start _ Time for packet x (block 830), as follows:
start _ Time ═ Current _ Frame-Num _ Channels × SPID equation (2)
The start time of each packet can only be determined when the packet is decoded, and is further calculated based on the number of subpackets that have been transmitted for the packet, which is indicated by the SPID of the subpacket received in the current frame for packet x. Next, packet x is stored in the data buffer along with its Start _ Time (block 832).
If packet x is erased (as determined in block 824), the base station determines whether the Last _ Decode _ Time of ARQ channel y is earlier than the Max _ Wait from the current frame (block 834). If the answer is "yes," then the base station sets the Last _ Decode _ Time for ARQ channel y (block 836), as follows:
last _ Decode _ Time ═ Current _ Frame-Max _ Wait equation (3)
If the answer is no for block 834, and also after blocks 832 and 836, the process terminates.
Fig. 9 shows a flow diagram of a process 900 for reordering packets and forwarding the packets to upper layers. After process 800 and whenever a decoded packet is obtained on an ARQ channel, process 900 may be performed. A variable earlie _ Decode _ Time is set to the Earliest Last _ Decode _ Time among all ARQ channels (block 910).
Next, a determination is made as to whether the data buffer is empty (block 920). If the answer is "yes," then the process terminates. Otherwise, the oldest packet stored in the data buffer (referred to as packet z) is identified (block 922). Of all packets stored in the data buffer, packet z has the earliest start time. The decoded packet may be stored in a data buffer based on a start time of the decoded packet. For example, a packet with the earliest start time may be stored at the top of the buffer, followed by a packet with a second earliest start time, and so on. In either case, Start _ Time for packet z is obtained (block 924).
Next, a determination is made as to whether earlie _ Decode _ Time is later than Start _ Time minus Num _ Channels of packet z (block 926). As shown in fig. 5A, if a decoded packet of another ARQ channel z is obtained in or after frame Start _ Time-Num _ Channels, ARQ channel z does not carry a pending earlier packet. Since packet x is only forwarded if there are no pending early packets on any ARQ channel, using Earliest _ Decode _ Time effectively evaluates condition 1 for all ARQ channels with a single comparison in block 926. Further, condition 2 is also evaluated by the comparison in block 926 by setting Last _ Decode _ Time for each ARQ channel to be no later than Current _ Frame-Max _ Wait in block 836 in fig. 8.
If the answer is yes for block 926, indicating that there is no pending earlier packet, then packet z is removed from the data buffer and forwarded to the upper layers (block 928). The process then returns to block 920 to evaluate the oldest packet (if any) in the data buffer. Otherwise, if the answer is no for block 926, indicating that there is at least one pending early packet, then packet z remains in the data buffer and the process terminates.
Fig. 10 shows a process for performing the exemplary HARQ transmission in fig. 3A using processes 800 and 900 in fig. 8 and 9, respectively. The first subpacket transmission occurs in frame 0 and the Last _ Decode _ Time for ARQ channels 0, 1, 2, and 3 is initialized to-4, -3, -2, and-1, respectively, at the beginning of the HARQ transmission. The Last _ Decode _ Time of each ARQ channel is updated each Time the ARQ channel is processed. This update requires setting Last _ Decode _ Time to (1) the current frame, which is the case for frames 2, 4, 7, 10, 12 and 14 in fig. 10 if the decoded packets for the ARQ channel are obtained, and (2) the current frame minus Max _ Wait, which is the case for frames 9, 13 and 15 if Last _ Decode _ Time is later than this value. Each time a decoded packet is obtained, for example, in frames 2, 4, 7, 9, 10, 12, 13, and 14 in fig. 10, the base station reorders and forwards the packets. For each frame with decoded packets, fig. 10 shows (1) the Earliest _ Decode _ Time calculated for that frame, (2) the packets stored in the data buffer, and the start Time of each stored packet, given in parentheses, and (3) the packets forwarded to the upper layers, if any. For the example shown in fig. 10, packet 4 in frame 10 is stalled because there is one packet that has not yet been decoded on ARQ channel 1. If the packet sequence number is available for reordering, packet 4 may be forwarded when packet 3 has already been forwarded.
Exemplary pseudo code for processes 800 and 900 in fig. 8 and 9, respectively, is shown below.
Updating variables:
100 If(CRC for Packetx on ACIDy passes)Then{
110 Last_Decode_Time[ACIDy]=Sys_Time;
120 Start_Time[Packetx]=Sys_Time-4*SPID[Packetx];
130 Put Packetx in Buffer sorted based on
increasing values of packet Start_Time;}
140 Else{
150 Last_Decode_Time[ACIDy]=max(Last_Decode_Time[ACIDy],
Sys_Time-4*(Max_Num_Tx-1)); }
reordering and forwarding packets:
200 eval_next_joacket=true;
210 Earliest_Decode_Time=min{Last_Decode_Time[ACID0],
Last_Decode_Time[ACID1],Last_Decode_Time[ACID2],
Last_Decode_Time[ACID3]};
220 While((eval_next_packet==true)&&(Buffer not empty))do
230 {
240 Next_Packet=Get oldest packet from Buffer
250 If(Earliest_Decode_Time>Start_Time[Next_Packet]-4)
260 Then forward Next_Packet to upper layers
270 Else eval_next_packet=false;
280 }
fig. 11 shows a block diagram of an embodiment of a wireless device 1110 and a base station 1150 in a wireless communication system. A wireless device may also be called a mobile station, a user/access terminal, user equipment, a handset, a subscriber unit, or some other terminology. A base station is a fixed station and may also be referred to as a Base Transceiver Station (BTS), an access point, a node B, or some other terminology.
For the reverse link, encoder 1112 receives traffic data to be sent by wireless device 1110 for HARQ transmission and processes each data packet to generate a corresponding encoded packet. The encoder 1112 may further divide each encoded packet into a plurality of subpackets. The processing by encoder 1112 may include formatting, encoding, interleaving, etc., and is determined by the applicable standards of the system. For example, data may be sent on the R-PDCH, and the processing may be performed in accordance with cdma2000 revision D. A modulator (Mod)1114 receives the subpackets and processes each subpacket for transmission. The processing by modulator 1114 may include symbol mapping, channelization, spectrum spreading, etc., and is also determined by applicable standards for the system. A transmitter unit (TMTR)1116 processes the output from modulator 1114 and generates a reverse link signal, which is routed through a duplexer (D)1118 and transmitted via an antenna 1120.
At base station 1150, the reverse link signal is received by an antenna 1152, routed through a duplexer 1154, and processed by a receiver unit (RCVR)1156 to generate received samples. A demodulator (Demod)1158 then processes (e.g., despreads, channelizes, and data demodulates) the received samples and provides demodulated symbols. Decoder 1160 decodes the demodulated symbols for each packet sent by wireless device 1110, examines the packet, provides the status of the packet to controller 1170, and provides the packet (if decoded) to data buffer 1174. The processing by demodulator 1158 and decoder 1160 at base station 1150 is complementary to the processing by modulator 1114 and encoder 1112, respectively, at wireless device 1110.
The encoder 1112 and the decoder 1160 perform processing for a physical layer. HARQ is typically implemented at a Medium Access Control (MAC) layer residing on top of the physical layer. In one embodiment, encoder 1112 implements all or a portion of the transmitter HARQ entity for HARQ transmissions from wireless device 1110 to base station 1150. For HARQ transmission, a decoder 1160 implements all or a portion of the receiver HARQ entity. In another embodiment, controller 1130 implements all or a portion of a transmitter HARQ entity and controller 1170 implements all or a portion of a receiver HARQ entity. For example, decoder 1160 may provide a status of each received packet and a decode time of each decoded packet, and controller 1170 may perform duplicate detection, reordering, and forward decoded packets to upper layers. Controller 1170 may further provide appropriate ACK/NAK feedback for each subpacket received from wireless device 1110.
For the forward link, data to be sent by base station 1150 and the ACK/NAK (e.g., formatting, encoding, etc.) for wireless device 1110 are processed by an encoder 1180, further processed (e.g., channelized, spread, etc.) by a modulator 1182, and adjusted by a transmitter unit 1184 to generate a forward link signal, which is routed through duplexer 1154 and transmitted via antenna 1152. At wireless device 1110, the forward link signal is received by antenna 1120, routed through duplexer 1118, and processed by a receiver unit 1140 to generate input samples. A demodulator 1142 processes the input samples and provides demodulated symbols, and a decoder 1144 further processes the demodulated symbols and provides decoded data to a data buffer 1134.
The controller 1130 receives ACK/NAK feedback from the decoder 1144 sent by the base station 1150 and directs the transmission of subpackets for the erased packet and the new packet. Controllers 1130 and 1170 further direct the operation of various processing units at wireless device 1110 and base station 1150, respectively. Controllers 1130 and 1170 may implement all or a portion of the repetition detection and reordering techniques described herein for HARQ transmissions on the forward and reverse links, respectively. For example, each controller may implement the processes shown in fig. 4, 6, 7, 8, and 9. Memory units 1132 and 1172 store program codes and data used by controllers 1130 and 1170, respectively.
For clarity, duplicate detection and reordering techniques have been described for the R-PDCH in cdma2000 revision D. In general, these techniques may be used for HARQ with any number of ARQ channels, any number of subpackets/transmissions per packet, and so on.
The duplicate detection and reordering techniques described herein may be implemented in various ways. For example, these techniques may be implemented in hardware, software, or a combination thereof. For a hardware implementation, the processing units that perform duplicate detection and/or reordering may be implemented within one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof.
For a software implementation, the duplicate detection and reordering techniques may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in a memory unit (e.g., memory unit 1132 or 1172 in fig. 11) and executed by a processor (e.g., controller 1130 or 1170). The memory unit may be implemented within the processor or external to the processor.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the disclosure. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (30)

1. A method of performing duplicate detection for a hybrid automatic repeat request (HARQ) transmission, comprising: decoding a current subpacket received on an ARQ channel to obtain a decoded or erased packet for the ARQ channel; and
if a decoded packet for the ARQ channel is obtained, determining whether the decoded packet is a duplicate packet based on an identifier of the current subpacket and an identifier of a last subpacket received for a previously decoded packet obtained for the ARQ channel.
2. The method of claim 1, wherein the determining whether the decoded packet is a duplicate packet comprises: determining an unexpected identifier of the ARQ channel based on the identifier of the last subpacket received for the previously decoded packet, the unexpected identifier being an identifier of a subpacket not expected to be received on the ARQ channel,
comparing the identifier of the current sub-packet with the unexpected identifier, an
Declaring the decoded packet to be a duplicate packet if the identifier of the current subpacket is equal to the unexpected identifier.
3. The method of claim 2, wherein the determining the unexpected identifier comprises:
for each subpacket received on the ARQ channel starting from the last subpacket, setting the unexpected identifier to the identifier of the last subpacket received for the previously decoded packet plus 1.
4. The method of claim 2, further comprising:
setting the unexpected identifier to the identifier of the current packet plus 1 if a decoded packet for the ARQ channel is obtained; and
incrementing the unexpected identifier by 1 if an erased packet is obtained for the ARQ channel.
5. An apparatus for receiving a hybrid automatic repeat request (HARQ) transmission in a wireless communication system, comprising:
a decoder for decoding a current subpacket received on an ARQ channel and providing a decoded packet or an erased packet for the ARQ channel; and
a controller for determining, when obtaining a decoded packet for the ARQ channel, whether the decoded packet is a duplicate packet based on an identifier of the current subpacket and an identifier of a last subpacket received for a previously decoded packet obtained for the ARQ channel.
6. The apparatus of claim 5, wherein the controller determines an unexpected identifier of the ARQ channel based on the identifier of the last subpacket received for the previously decoded packet, compares the identifier of the current subpacket to the unexpected identifier, and declares the decoded packet to be a duplicate packet when the identifier of the current subpacket is equal to the unexpected identifier.
7. The apparatus of claim 6, wherein the controller sets the unexpected identifier to the identifier of the current packet plus 1 if a decoded packet is obtained for the ARQ channel and increments the unexpected identifier by 1 if an erased packet is obtained for the ARQ channel.
8. The apparatus of claim 5, wherein the decoder decodes packets received on a reverse packet data channel (R-PDCH) in cdma 2000.
9. An apparatus for receiving a hybrid automatic repeat request (HARQ) transmission in a wireless communication system, comprising:
means for decoding a current subpacket received on an ARQ channel to obtain a decoded packet or an erased packet for the ARQ channel; and
means for determining, when obtaining a decoded packet for the ARQ channel, whether the decoded packet is a duplicate packet based on an identifier of the current subpacket and an identifier of a last subpacket received for a previously decoded packet obtained for the ARQ channel.
10. The apparatus of claim 9, wherein the means for determining whether the decoded packet is a duplicate packet comprises:
means for determining an unexpected identifier of the ARQ channel based on the identifier of the last subpacket received for the previously decoded packet,
means for comparing the identifier of the current subpacket to the unexpected identifier, an
Means for declaring the decoded packet to be a duplicate packet when the identifier of the current subpacket is equal to the unexpected identifier.
11. The apparatus of claim 10, wherein the means for determining an unexpected identifier of the ARQ channel comprises:
means for setting the unexpected identifier as the identifier of the current packet when obtaining decoded packets for the ARQ channel, an
Means for incrementing the unexpected identifier by 1 when obtaining erased packets for the ARQ channel.
12. A processor-readable medium for storing instructions operable to:
decoding a current subpacket received on an ARQ channel to obtain a decoded or erased packet for the ARQ channel; and
if a decoded packet for the ARQ channel is obtained, determining whether the decoded packet is a duplicate packet based on an identifier of the current subpacket and an identifier of a last subpacket received for a previously decoded packet obtained for the ARQ channel.
13. The processor-readable medium of claim 12, further for storing instructions operable to:
determining an unexpected identifier of the ARQ channel based on the identifier of the last subpacket received for the previously decoded packet,
comparing the identifier of the current sub-packet with the unexpected identifier, an
Declaring the decoded packet to be a duplicate packet if the identifier of the current subpacket is equal to the unexpected identifier.
14. A method of performing reordering for hybrid automatic repeat request (HARQ) transmissions, comprising:
obtaining decoded packets for an ARQ channel;
determining, based on decoded packets of at least one other ARQ channel, whether an earlier packet is still pending on any of the at least one other ARQ channel, each pending earlier packet being a packet that was sent prior to the decoded packet and that is still likely to be received; and
if there is no pending earlier packet, the decoded packet is forwarded.
15. The method of claim 14, further comprising:
if there is at least one pending earlier packet, the decoded packet is stored.
16. The method of claim 14, wherein the determining whether an earlier packet is still pending on any of the at least one other ARQ channels comprises:
for each of the at least one other ARQ channels, if a decoded packet is received on the other ARQ channel at a specified time or later, indicating that there is no pending earlier packet.
17. The method of claim 16, further comprising:
determining the designated time based on a start time of the decoded packet and a number of ARQ channels available for the HARQ transmission.
18. The method of claim 14, wherein the determining that an earlier packet is still pending on any of the at least one other ARQ channels comprises:
for each of the at least one other ARQ channels, if a decoded packet is not received on the other ARQ channel within a time window, indicating that there is no pending early packet.
19. The method of claim 18, further comprising:
determining the time window based on a maximum number of subpackets per packet and a number of ARQ channels available for the HARQ transmission.
20. The method of claim 14, wherein the determining whether an earlier packet is still pending on any of the at least one other ARQ channels comprises:
determining a last decoding time for each of the at least one other ARQ channels,
determining an earliest last decoding time of the at least one other ARQ channel, and
determining whether an earlier packet is still pending on any of the at least one other ARQ channels based on the earliest last decoding time.
21. The method of claim 20, wherein the determining the last decoding time for each of the at least one other ARQ channels comprises:
setting the last decoding time for each of the at least one other ARQ channels to be within a time window from a time the other ARQ channels are received.
22. The method of claim 16, further comprising:
receiving the HARQ transmission via a plurality of ARQ channels including the ARQ channel and the at least one other ARQ channel, the plurality of ARQ channels being sent in a predetermined order over a time line.
23. An apparatus for receiving a hybrid automatic repeat request (HARQ) transmission in a wireless communication system, comprising:
a decoder for providing decoded packets for an ARQ channel; and
a controller for determining, based on decoded packets for the at least one other ARQ channel, whether an earlier packet is still pending on any of the at least one other ARQ channel, and if there is no pending earlier packet for the decoded packet, forwarding the decoded packet, each pending earlier packet being a packet that was sent before the decoded packet and that is still likely to be received.
24. The apparatus of claim 23, wherein for each of the at least one other ARQ channel, if a decoded packet is received on the other ARQ channel at or after a specified time, the controller indicates that there are no pending earlier packets, the specified time determined based on a start time of the decoded packet and a number of ARQ channels available for the HARQ transmission.
25. The apparatus of claim 23, wherein for each of the at least one other ARQ channel, the controller indicates that there are no pending earlier packets if a decoded packet is not received on the other ARQ channel within a time window determined based on a maximum number of subpackets per packet and a number of ARQ channels available for the HARQ transmission.
26. The apparatus of claim 23, further comprising:
a buffer for storing the decoded packet when there is at least one pending early packet.
27. The apparatus of claim 23, wherein the decoder decodes packets received on a reverse packet data channel (R-PDCH) in cdma 2000.
28. An apparatus for receiving a hybrid automatic repeat request (HARQ) transmission in a wireless communication system, comprising:
means for obtaining decoded packets for an ARQ channel;
means for determining, based on decoded packets for at least one other ARQ channel, whether an earlier packet is still pending on any of the at least one other ARQ channel, each pending earlier packet being a packet that was sent prior to the decoded packet and is still likely to be received; and
means for forwarding the decoded packet when there is no pending early packet.
29. The apparatus of claim 28, wherein the means for determining whether an earlier packet is still pending on any of the at least one other ARQ channels comprises:
means for indicating that there is no pending early packet for each of the at least one other ARQ channels when a decoded packet is received on the other ARQ channels at or later than a specified time, the specified time determined based on a start time of the decoded packet and a number of ARQ channels available for the HARQ transmission.
30. The apparatus of claim 28, wherein the means for determining whether an earlier packet is still pending on any of the at least one other ARQ channels comprises:
means for indicating that there is no pending earlier packet for each of the at least one other ARQ channels when decoded packets are not received on the other ARQ channels within a time window determined based on a maximum number of subpackets for each packet and a number of ARQ channels available for the HARQ transmission.
HK08109547.1A 2005-03-21 2006-03-21 Method and apparatus for improving data transmission reliability in a wireless communications system HK1114270A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/086,957 2005-03-21

Publications (1)

Publication Number Publication Date
HK1114270A true HK1114270A (en) 2008-10-24

Family

ID=

Similar Documents

Publication Publication Date Title
CN101176292B (en) Method and apparatus for improving data transmission reliability in a wireless communications system
EP1317811B1 (en) Hybrid arq for packet data transmission
US7187677B2 (en) Avoiding stall conditions and sequence number ambiguity in an automatic repeat request protocol
US9385841B2 (en) Apparatus and method for transmission time interval reconfiguration in a mobile communication system
JP2008503967A (en) Method and system for communicating data and station for transmitting data
EP1838026A1 (en) Packet transmission apparatus with retransmission protocol
EP1440534B1 (en) Avoiding stall conditions and sequence number ambiguity in an automatic repeat request protocol
EP1334581B1 (en) Automatic request protocol based packet transmission using punctured codes
KR100392641B1 (en) An adaptation coding method at MAC layer to support hybrid ARQ in 3 Generation W-CDMA system
HK1114270A (en) Method and apparatus for improving data transmission reliability in a wireless communications system
KR100392096B1 (en) A re-transmission method at MAC layer to support hybrid ARQ in W-CDMA system