Patent Document

PRIORITY  
       [0001]     This application claims the benefit of priority of U.S. Provisional Application No. 60/796,885, filed May 3, 2006, and U.S. Provisional Application No. 60/815,597, filed Jun. 22, 2006, both of which are incorporated by reference herein in their entirety for any purpose. 
     
    
     TECHNICAL FIELD  
       [0002]     The present disclosure relates generally to methods and devices for communication systems and, more particularly, to methods and devices for error detection and retransmission in data communication systems.  
       BACKGROUND  
       [0003]     Wireless communication systems allow wireless devices to communicate without the necessity of wired connections. Because wireless systems have become so integrated into daily life, there is a growing demand for wireless communication systems that support multimedia services such as speech, audio, video, file and web downloading, and the like. To support these multimedia services for wireless devices, various wireless communication protocols have been developed to accommodate the growing demands of multimedia services over wireless communication networks.  
         [0004]     One such protocol is Wideband Code Division Multiple Access (W-CDMA), which is promulgated by the 3 rd  Generation Partnership Project (3GPP™), a collaboration of numerous standards development organizations. W-CDMA is a wideband spread-spectrum mobile air interface that uses a direct sequence Code Division Multiple Access (CDMA). W-CDMA has two basic modes of operation: Frequency Division Duplex (FDD) and Time Division Duplex (TDD).  
         [0005]     In some embodiments, W-CDMA may support High Speed Downlink Packet Access (HSDPA), a packet data air interface which may be optimized for high-bit-rate packet data transmission. HSDPA may provide a set of channels (uplink and downlink), and associated procedures, to enable high-speed transmission of packet data.  
         [0006]     W-CDMA may be used in, for example, Universal Mobile Telecommunications Systems (UMTS), a type of mobile communication technology. A UMTS communication system may provide telephony and bearer services in connectionless and connection-oriented communication networks, offering both Point-to-Point (P2P) and Point-to-Multipoint (P2 MP) communication. In some UMTS communication systems, the air interface access method may be based on Universal Terrestrial Radio Access Networks (UTRAN) or, more recently, Evolved Universal Terrestrial Radio Access Networks (E-UTRAN).  
         [0007]      FIG. 1   a  is a block diagram of an exemplary UMTS communication system. As shown in  FIG. 1   a , a UMTS communication system may include Core Network (CN)  110 , one or more Radio Network Controllers (RNC)  120 , e.g., RNC  120   a  and RNC  120   b , one or more Base Stations (BS)  130 , e.g., BS  130   a , BS  130   b , BS  130   c , BS  130   d , and BS  130   e , and one or more User Equipment (UE)  140 , e.g., UE  140   a , UE  140   b , UE  140   c , UE  140   d , UE  140   e , and UE  140   f.    
         [0008]     CN  110  may be a network or group of communication networks configured to provide communication services. CN  110  may provide, for example, switching, routing and transit for user traffic. In addition, CN  110  may maintain databases and network management functions. In some embodiments, CN  110  may be based on the Global System for Mobile Communications (GSM) network architecture. CN  110  may include any combination of wired and/or wireless connections.  
         [0009]     RNC  120  may be any type of communication device configured to operate in the exemplary UMTS communication system, many of which are known in the art. RNC  120  may be responsible for resource management, mobility management, encryption, etc. in a UMTS communication system. In addition, RNC  120  may be responsible for the control of one or more BSs  130 . Although not shown, RNCs  120  may be connected to CN  110  through one or more gateway devices and the like.  
         [0010]     Each RNC  120  may include one or more of the following components: a central processing unit (CPU) configured to execute computer program instructions to perform various processes and methods, random access memory (RAM) and read only memory (ROM) configured to access and store information and computer program instructions, a memory to store data and information, databases to store tables, lists, or other data structures, I/O devices, interfaces, antennas, etc. Each of these components is well-known in the art and will not be discussed further.  
         [0011]     BS  130  may be any type of communication device configured to transmit and/or receive data and/or communications to and from one or more UEs  140  in a UMTS communication system, many of which are known in the art. In some embodiments, BS  130  may also be referred to as, for example, a Node-B, a base transceiver system (BTS), an access point, etc. Communication between BSs  130  and RNCs  120  may be any combination of wired and/or wireless connections. Communication between BSs  130  and UEs  140  may be wireless. In one exemplary embodiment, BS  130  may have a broadcast/reception range within which BS  130  may wirelessly communicate with one or more UEs  140 . Broadcast ranges may vary due to power levels, location, and interference (physical, electrical, etc.).  
         [0012]     As shown in  FIG. 1   b , each BS  130  may include one or more of the following components: at least one central processing unit (CPU)  131  configured to execute computer program instructions to perform various processes and methods, random access memory (RAM)  132  and read only memory (ROM)  133  configured to access and store information and computer program instructions, memory  134  to store data and information, databases  135  to store tables, lists, or other data structures, I/O devices  136 , interfaces  137 , antennas  138 , etc. Each of these components is well-known in the art and will not be discussed further.  
         [0013]     UE  140  may be any type of computing device configured to wirelessly transmit and/or receive data to and from BS  130  in a UMTS communication system. UE  140  may include, for example, servers, clients, mainframes, desktop computers, laptop computers, network computers, workstations, personal digital assistants (PDA), tablet PCs, scanners, telephony devices, pagers, cameras, musical devices, etc. In one exemplary embodiment, UE  140  may be a mobile computing device.  
         [0014]     As shown in  FIG. 1   c , each UE  140  may include one or more of the following components: at least one central processing unit (CPU)  141  configured to execute computer program instructions to perform various processes and methods, random access memory (RAM)  142  and read only memory (ROM)  143  configured to access and store information and computer program instructions, memory  144  to store data and information, databases  145  to store tables, lists, or other data structures, I/O devices  146 , interfaces  147 , antennas  148 , etc. Each of these components is well-known in the art and will not be discussed further.  
         [0015]     Communication between the CN  110 , RNCs  120 , BSs  130 , and UEs  140  may be by means of logical connections. These logical connections may be referred to as interfaces. As shown in  FIG. 1   a , the logical connections between CN  110  and RNCs  120  may be referred to as Iu interfaces; the logical connections between RNCs  120  and one or more other RNCs  120  may be referred to as Iur interfaces; the logical connections between RNCs  120  and BSs  130  may be referred to as Iub interfaces; and the logical connection between BSs  130  and UEs  140  may be referred to as Uu interfaces. The Iu, Iur, and Iub interfaces may be implemented using Asynchronous Transfer Mode (ATM). The Uu interface may be implemented using W-CDMA.  
         [0016]     The radio interface protocol stack for W-CDMA, shown in  FIG. 2 , may include three layers. Layer 1 is the physical (PHY) layer. Layer 2, the data link layer, may include four sub-layers: the Medium Access Control (MAC), the Radio Link Control (RLC), the Broadcast/Multicast Control (BMC) (not shown) and the Packet Data Convergence Protocol (PDCP) (not shown). Layer 3, the network layer, may include the Radio Resource Control (RRC).  
         [0017]     The PHY layer may offer information transfer services to the higher layers/sub-layers through the use of uplink and downlink transport channels. The PHY layer may also perform error detection on transport channels, provide support for Hybrid Automatic Repeat Requests (HARQ), perform modulation and demodulation of physical channels, provide physical layer mapping, etc.  
         [0018]     The MAC sub-layer may provide data transfer on logical channels (i.e., control channels and traffic channels), as well as mapping between the transport channels of the PHY layer and logical channels of the RLC sub-layer. In addition, the MAC sub-layer may provide hybrid automatic retransmission of data (i.e., HARQ). In some embodiments, the MAC sub-layer may be further divided into MAC-d and MAC-hs sub-layers.  
         [0019]     The RLC sub-layer may provide data transfer to the upper layers (i.e., RRC, etc.) using, for example, Service Access Points (SAPs)  210 . The RLC sub-layer may support the transfer and delivery of upper layer Packet Data Units (PDUs), Terminal Block (TB) segmentation and re-segmentation, etc. In addition, the RLC sub-layer may provide data ciphering and Automatic Repeat Request (ARQ) by means of logical channels.  
         [0020]     The RRC sub-layer may be responsible for the radio resource allocation. The RRC sub-layer may also provide control and user plane signaling in a UMTS network. The RRC may send data and control signals to all the sub-layers in Layer 2 through, for example, Service Access Points (SAPs)  210 .  
         [0021]      FIG. 3  is a diagram illustrating the data encapsulation performed for transmission on the High-Speed Downlink Shared Channel (HS-DSCH). Data to be transmitted on the downlink may be provided by the RLC layer of a transmitter in ARQ protocol data units (ARQ PDUs). ARQ PDUs may be PDUs that are encoded by an ARQ mechanism residing in the RLC layer. In addition to other data, each ARQ PDU may include a Sequence Number (SN). The SN may be used to identify a transmission order for one or more ARQ PDUs.  
         [0022]     The MAC-d sub-layer may receive the one or more ARQ PDUs from the RLC layer and, in some embodiments, for each ARQ PDU, the MAC-d sub-layer may insert a CT field. The CT field may identify the logical channel associated with the ARQ PDU when multiple logical channels are carried on the same MAC-d.  
         [0023]     The MAC-hs sub-layer may receive the one or more ARQ PDUs, combining them to form MAC-hs PDUs. In turn, each MAC-hs PDU may be encoded by the HARQ mechanism to form a HARQ PDU. The HARQ PDU may be transmitted to a receiving device, such as, for example, UE  140 , by means of the High-Speed Downlink Shared Channel (HS-DSCH), which may be mapped to a High-Speed Physical Downlink Shared Channel (HS-PDSCH). In some embodiments, the HS-PDSCH may be shared by multiple receivers.  
         [0024]     Concurrent with the transmission of data on the HS-PDSCH, control information for each HARQ PDU transmission may be sent on the High-Speed Shared Control Channel (HS-SCCH). This control information may include: (1) a HARQ process ID (HID), (2) a New Data Indicator (NDI), and (3) information identifying the UE  140  for which the control information and the corresponding data transmission are intended.  
         [0025]     In some embodiments, the HID may consist of three bits, and may indicate the specific HARQ process associated with a given HARQ PDU. Because each HARQ PDU may be associated with a specific HARQ process, there may be up to eight HARQ PDU transmissions active at any given time.  
         [0026]     The NDI may be used to indicate the transmission of a new HARQ PDU associated with a particular HARQ process. The NDI may be a single bit and may be equal to either “0” or “1.” The transmitter may use the NDI value to identify a new HARQ PDU transmission by toggling the NDI value in successively transmitted HARQ PDUs between “1” and “0.” At the receiving device, when the receiver determines that the NDI value has been toggled, HARQ Rx may clear any packet data previously stored in a soft buffer of the receiver. On the other hand, when the receiver determines that the NDI value has not been toggled, HARQ Rx may combine the received packet data with packet data previously stored in the soft buffer. Thus, for example, the receiver may receive a HARQ PDU and may compare the NDI value of the received PDU with the NDI value of the previously received HARQ PDU stored in the soft buffer. If the NDI value for the currently received packet data is different than the NDI value for the previously received packet data, the receiver may determine that the packet data is new packet data and may clear the soft buffer. Conversely, if the NDI value for the currently received packet data is the same as the NDI value for the previously received packet data, the receiver may determine that the packet data is a retransmission of the previously received packet data, and may combine the currently received packet data with the previously received packet data stored in the soft buffer.  
         [0027]     When the receiving device receives packet data (new or retransmitted), the receiving device may generate and send either an ACK or NACK message to the transmitting device via the High-Speed Dedicated Physical Control Channel (HS-DPCCH). An ACK may be a message sent by a receiver to a transmitter to indicate that the receiver has correctly received transmitted data. A NACK may be a message sent by a receiver indicating that packet data has been received with one or more errors.  
         [0028]      FIG. 4  is a signaling diagram illustrating operation of exemplary ARQ and HARQ mechanisms. For example, referring to  FIG. 4 , a transmitting device, e.g., BS  130 , may include an ARQ transmitting (ARQ Tx) mechanism and a HARQ transmitting (HARQ Tx) mechanism. Similarly, a receiving device, e.g., UE  140 , may include an ARQ receiving (ARQ Rx) mechanism and a HARQ receiving (HARQ Rx) mechanism. The ARQ Tx, HARQ Tx, ARQ Rx, and HARQ Rx mechanisms may be any combination of software and/or hardware components configured to cause the transmitting and/or receiving devices to perform the functionality associated with the disclosed embodiments. As discussed above, the ARQ Tx and ARQ Rx mechanisms may reside in the RLC sub-layer of the transmission and receiver devices, respectively, and the HARQ Tx and HARQ Rx mechanisms may reside in the MAC sub-layer of the transmission and receiver devices, respectively.  
         [0029]     The ARQ Tx and ARQ Rx may be error recovery mechanisms configured to retransmit packet data when the packet data is either not received or received with errors. ARQ Tx and ARQ Rx may use a combination of ACKs, NACKs, and timeouts. Exemplary ARQ protocols may include Stop-And-Wait (SAW), Go-Back-N, and Selective Repeat.  
         [0030]     The HARQ Tx and HARQ Rx may be error recovery mechanisms and may be variations of the ARQ Tx and ARQ Rx mechanisms. The HARQ Tx and HARQ Rx mechanisms may be responsible for encoding and decoding transmission packet data, providing encoded transmission packet data to the PHY layer, and providing decoded packet data to the higher layers. In one exemplary embodiment, the HARQ Tx mechanism may encode the packet data prior to transmission. When the encoded packet data is received, HARQ Rx may decode the packet data. If an error is detected, the received packet data may be stored in a soft buffer associated with the HARQ Rx mechanism, and the HARQ Rx mechanism may request a retransmission. Otherwise, the received packet data is forward to ARQ Rx. As discussed above in connection with  FIG. 3 , the HARQ Tx and HARQ Rx mechanisms may include a number of HARQ processes. In one exemplary embodiment, each HARQ process may be an instance of a stop and wait (SAW) protocol, and may be used to control the transmission/retransmission of data.  
         [0031]     In one exemplary embodiment, when the HARQ Tx mechanism fails to receive an ACK before a timeout occurs, the HARQ Tx mechanism may retransmit the packet data until it is either received correctly or a certain number of retransmission attempts has been exceeded. Similarly, when a HARQ Tx mechanism receives a NACK, the HARQ Tx mechanism may retransmit the packet data until it is either received correctly or a certain number of retransmission attempts has been exceeded.  
         [0032]     Referring to  FIG. 4 , ARQ Tx may process and provide ARQ PDU, to HARQ Tx. ARQ PDU n  may include a SN. The SN may be used to facilitate the accurate transmittal and reception of PDUs between the transmitter and receiver. For example, at the transmitter, the SN may be used to ensure the PDUs are sent in a sequential order, and at the receiver, the SN may be used to determine if one or more PDUs are missing. The receiver may determine that one or more PDUs are missing if there are discrepancies in the received SNs, e.g., the SNs are out of order, there are missing sequence numbers, etc.  
         [0033]     HARQ Tx may encode ARQ PDU n , thereby generating HARQ PDU n . HARQ Tx may assign an NDI value to HARQ PDU n , and transmit HARQ PDU n  in sequential order to a receiver. In addition, HARQ Tx may store a copy of the transmitted HARQ PDU n  in a retransmission buffer. The retransmission buffer may reside in the MAC sub-layer.  
         [0034]     At the receiver, a corresponding HARQ Rx mechanism may receive HARQ PDU n  and may attempt to decode the received HARQ PDU n . As shown in  FIG. 4 , HARQ Rx may successfully decode HARQ PDU n , sending the decoded data (i.e., ARQ PDU n ) to ARQ Rx. HARQ Rx may synchronously send an ACK message to HARQ Tx, indicating that the packet data has been successfully received.  
         [0035]     In response to the ACK message, HARQ Tx may clear HARQ PDU n  from the retransmission buffer. In addition, HARQ Tx may toggle the NDI value for HARQ PDU n+1 , received from ARQ Tx, and transmit HARQ PDU n+1  to the receiver. HARQ Tx may store a copy of the transmitted HARQ PDU n+1  in the retransmission buffer.  
         [0036]     At the receiver, a corresponding HARQ Rx mechanism may receive HARQ PDU n+1  and attempt to decode HARQ PDU n+1 . In this example, however, HARQ Rx may receive HARQ PDU n+1 , but may detect an error. When an error is detected, HARQ Rx may send a NACK to HARQ Tx. In response, HARQ Tx may retransmit HARQ PDU n+1 , stored in the retransmission buffer, to the receiver. HARQ Tx may continue to retransmit HARQ PDU n+1  until HARQ Rx either indicates, by sending an ACK, that HARQ PDU n+1  is received correctly or HARQ Tx determines that a predetermined maximum number of retransmissions has been reached.  
         [0037]     If the maximum number of retransmissions is reached, HARQ Tx may clear HARQ PDU n+1  from the retransmission buffer. In addition, HARQ Tx may toggle the NDI value for HARQ PDU n+2 , received from ARQ Tx, and transmit HARQ PDU n+2  to the receiver. HARQ Tx may store a copy of the transmitted HARQ PDU n+2  in the retransmission buffer.  
         [0038]     At the receiver, HARQ Rx may receive and successfully decode HARQ PDU n+2 . Thus, HARQ Rx may send an ACK message to HARQ Tx and forward the decoded ARQ PDU n+2  to ARQ Rx. In addition, when HARQ Rx successfully receives packet data, the soft buffer may be cleared. For example, once HARQ Rx receives HARQ PDU n+2 , HARQ Rx will clear HARQ PDU n+1  from the soft buffer. Because ARQ Rx checks the SN, ARQ Rx may determine that ARQ PDU n+1  was lost. When ARQ Rx determines that ARQ PDU n+1  was lost, ARQ Rx may initiate and send a retransmission request to ARQ Tx, causing ARQ Tx to retransmit ARQ PDU n+1 .  
         [0039]     As discussed above, when packet data is not received or an error is detected, HARQ and ARQ mechanisms may be used to recover the packet data. The use of both ARQ and HARQ mechanisms may provide two layer protection against packet data loss. That is, because the ARQ mechanism operates in the RLC layer and the HARQ mechanism operates in the MAC layer, both the RLC and MAC layers may function to recover and/or correct packet data.  
         [0040]     However, because the ARQ mechanism resides at a higher layer, retransmission by the ARQ mechanism may be slower and consume a greater number of resources. Moreover, retransmission at the RLC layer may cause delays that are too great to support transmission of real-time data.  
       SUMMARY OF THE INVENTION  
       [0041]     In one exemplary embodiment, the present disclosure is directed to a method for identifying errors in a wireless communication system, comprising: transmitting, by a transmitting device, data to a receiving device; receiving, from the receiving device, a receipt message, wherein the receipt message is in response to the data; receiving, from the receiving device, an error indicator, wherein the error indicator is associated with the data; and determining an error type based on at least one of the receipt message and the error indicator.  
         [0042]     In another exemplary embodiment, the present disclosure is directed to a method for identifying errors in a wireless communication system, comprising: sending, by a transmitting device, data to a receiving device; receiving, from the receiving device, a receipt message, wherein the receipt message is in response to the data; receiving, from the receiving device, an error indicator, wherein the error indicator is associated with the data; and determining an error type based on at least one of the receipt message and the error indicator, wherein the error indicator includes at least one of a new data indicator and an expected data value.  
         [0043]     In another exemplary embodiment, the present disclosure is directed to a method for identifying errors in a wireless communication system, comprising: receiving data from a transmitting device, wherein the data includes a new data indicator; sending, to the transmitting device, a receipt message, wherein the receipt message is in response to the data; determining, by a receiving device, if there is at least one error associated with the data; and sending, when the at least one error is determined, an error indicator to the transmitting device, wherein the error indicator includes at least one of a new data indicator and an expected data value.  
         [0044]     In another exemplary embodiment, the present disclosure is directed to a wireless communication station for wireless communication, the wireless communication station comprising: at least one memory to store data and instructions; and at least one processor configured to access the memory and configured to, when executing the instructions: send transmission data to a receiving device; receive, from the receiving device, a receipt message, wherein the receipt message is in response to the transmission data; receive, from the receiving device, an error indicator, wherein the error indicator is associated with the transmission data; and determine an error type based on at least one of the receipt message and the error indicator.  
         [0045]     In another exemplary embodiment, the present disclosure is directed to a wireless communication station for wireless communication, the wireless communication station comprising: at least one memory to store data and instructions; and at least one processor configured to access the memory and configured to, when executing the instructions: send transmission data to a receiving device; receive, from the receiving device, a receipt message, wherein the receipt message is in response to the transmission data; receive, from the receiving device, an error indicator, wherein the error indicator is associated with the transmission data; and determine an error type based on at least one of the receipt message and the error indicator, wherein the error indicator includes at least one of a new data indicator and an expected data value.  
         [0046]     In another exemplary embodiment, the present disclosure is directed to a wireless communication device for wireless communication, the wireless communication device comprising: at least one memory to store data and instructions; and at least one processor configured to access the memory and configured to, when executing the instructions: receive transmission data from a transmitting device, wherein the transmission data includes a new data indicator; send, to the transmitting device, a receipt message, wherein the receipt message is in response to the transmission data; determine if there is at least one error associated with the transmission data; and send, when the at least one error is determined, an error indicator to the transmitting device, wherein the error indicator includes at least one of a new data indicator and an expected data value. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0047]      FIG. 1   a  is a block diagram of an exemplary UMTS communication system;  
         [0048]      FIG. 1   b  is a block diagram of an exemplary BS;  
         [0049]      FIG. 1   c  is a block diagram of an exemplary UE;  
         [0050]      FIG. 2  illustrates an exemplary W-CDMA layer diagram;  
         [0051]      FIG. 3  illustrates an exemplary W-CDMA layer diagram for processing PDUs;  
         [0052]      FIG. 4  is a signaling diagram of an exemplary packet data flow in a UMTS communication system;  
         [0053]      FIG. 5   a  is a flowchart illustrating an exemplary packet data processing, consistent with certain disclosed embodiments;  
         [0054]      FIG. 5   b  is a flowchart illustrating an exemplary packet data processing, consistent with certain disclosed embodiments;  
         [0055]      FIG. 6   a  is a signaling diagram of an exemplary NDI toggling, consistent with certain disclosed embodiments;  
         [0056]      FIG. 6   b  is a signaling diagram of an exemplary Type 4 error processing, consistent with certain disclosed embodiments;  
         [0057]      FIG. 6   c  is a signaling diagram of an exemplary Type 4 error processing, consistent with certain disclosed embodiments;  
         [0058]      FIG. 7   a  is a signaling diagram of an exemplary Type 2 error processing, consistent with certain disclosed embodiments;  
         [0059]      FIG. 7   b  is a signaling diagram of an exemplary Type 2 error processing, consistent with certain disclosed embodiments;  
         [0060]      FIG. 8   a  is a signaling diagram of an exemplary Type 6 error processing, consistent with certain disclosed embodiments;  
         [0061]      FIG. 8   b  is a signaling diagram of an exemplary Type 6 error processing, consistent with certain disclosed embodiments;  
         [0062]      FIG. 9   a  is a signaling diagram of an exemplary Type 7 error processing, consistent with certain disclosed embodiments;  
         [0063]      FIG. 9   b  is a signaling diagram of an exemplary Type 7 error processing, consistent with certain disclosed embodiments;  
         [0064]      FIG. 10   a  is a signaling diagram of an exemplary Type 3 error processing, consistent with certain disclosed embodiments;  
         [0065]      FIG. 10   b  is a signaling diagram of an exemplary Type 3 error processing consistent with certain disclosed embodiments;  
         [0066]      FIG. 11  is a flow chart illustrating an exemplary determination of Type 2, Type 4, and Type 6 errors, consistent with certain disclosed embodiments; and  
         [0067]      FIG. 12  is a flow chart illustrating an exemplary determination of Type 2, Type 3, Type 4, Type 6, and Type 7 errors, consistent with certain disclosed embodiments. 
     
    
     DETAILED DESCRIPTION  
       [0068]     In a communication system utilizing HSDPA, there may be seven distinct error types embedded in the HS-PDSCH, HS-SCCH, and HS-DPCCH channels. These error types will be referred to herein by numerical values for clarity. HS-PDSCH may include a Type 1 error (i.e., undetected error in the Cyclic Redundancy Check (CRC)) and a Type 2 error (i.e., error when maximum number of transmissions is reached). Three types of errors may occur in the HS-SCCH: a Type 3 error (i.e., DTX→ACK error), a Type 4 error (i.e., NDI misinterpretation), and a Type 5 error (i.e., other control information misinterpretation in HARQ). Two types of errors may occur in the HS-DPCCH: a Type 6 error (i.e., NACK→ACK error) and a Type 7 error (i.e., ACK NACK error).  
         [0069]     A Type 1 error may occur when a corrupted PDU cannot be detected by the CRC check. The lost PDU due to this type of error can only be recovered through retransmission via ARQ. Type 1 errors are beyond the scope of this disclosure and will not be discussed herein further. A Type 2 may occur when the maximum number of retransmissions for a HARQ PDU is reached but no ACK is received by HARQ Tx. PDU retransmission is necessary via ARQ to recover the lost PDU. A Type 3 error may occur when HARQ Rx sends a DTX message, indicating an error in control information is detected by 16-bit CRC checking at HARQ Rx, but HARQ Tx misinterprets the DTX as an ACK. PDU retransmission is necessary via ARQ to recover the lost PDU due to a Type 3 error. A Type 4 error may occur when the NDI value received by a HARQ Rx is misinterpreted. When a Type 4 error is generated, data previously stored in the soft buffer of HARQ Rx may be flushed by HARQ Rx and lost. A Type 5 error may occur when there is PDU loss due to misinterpretation of control information other than the NDI. For example, a Type 5 error may be associated with Channelization Code Set, Modulation Scheme, Transport Block Size, HARQ Process Identifier, Redundancy and Constellation Version, etc. Type 5 errors are beyond the scope of this disclosure and will not be discussed herein further. A Type 6 error may occur when a NACK sent by HARQ Rx is misinterpreted as an ACK by HARQ Tx. As a result of a Type 6 error, HARQ Tx may flush the retransmission buffer and deliver a new HARQ PDU, resulting in PDU loss. PDU retransmission may be necessary via ARQ to recover the lost PDU. Finally, a Type 7 error may occur when an ACK is misinterpreted as a NACK. When a Type 7 error occurs, HARQ Tx may retransmit the HARQ PDU, causing HARQ Rx to redundantly receive the HARQ PDU. While the resulting redundant retransmission and duplicate packets associated with a Type 7 error may deteriorate the performance of HARQ processing, PDU loss does not occur, and it is not necessary for ARQ Tx to retransmit the PDU.  
         [0070]     These seven error types may be classified into two categories depending on whether PDU loss occurs or not: residual HARQ errors and non-residual HARQ errors. Residual HARQ errors, those corresponding to Type 1, Type 2, Type 3, Type 5, and Type 6, may result in packet loss, and may trigger ARQ retransmission to recover the lost PDUs. Non-residual HARQ errors, those corresponding to Type 4 and Type 7, may deteriorate performance but may not result in PDU loss. In some embodiments, non-residual HARQ errors may not require ARQ retransmission.  
         [0071]     Because not all errors require retransmission, it is possible to further reduce the number of retransmissions by identifying those errors that do not require retransmission. By identifying those errors which may not need ARQ retransmission and permitting retransmission by the ARQ mechanism only for those errors that require it, system performance may be further increased.  
         [0072]      FIGS. 5   a  and  5   b  illustrate flowcharts  500   a  and  500   b  of exemplary packet data processing between a HARQ Tx mechanism and a HARQ Rx mechanism, consistent with certain disclosed embodiments. The exemplary packet data processing of  FIGS. 5   a  and  5   b  may be implemented in a UMTS communication system as discussed in connection with  FIG. 1   a . In the exemplary method illustrated by  FIGS. 5   a  and  5   b , HARQ Rx, upon detecting an error associated with a received HARQ PDU, may generate and send an error message to HARQ Tx.  
         [0073]     For transmission and reception, HARQ Tx and HARQ Rx may use a technique called Incremental Redundancy. For each new transmission of HARQ PDU, HARQ Tx may first create Redundancy Version 0 (RV0) of HARQ PDU, and then transmit RV0 of HARQ PDU to HARQ Rx. For each retransmission of HARQ PDU, HARQ Tx may create a subsequent Redundancy Version (RV) (i.e., RV1, RV2, etc.) of HARQ PDU and transmit the subsequent RVs to HARQ Rx. Thus, HARQ Tx transmits different versions of the HARQ PDU with each retransmission. Each RV may have two characteristics: (1) it may be recovered by HARQ Rx to obtain the original HARQ PDU, and (2) different RVs of the same HARQ PDU may be combined, increasing the ability of the combined RVs to recover to the original information.  
         [0074]     Referring to flowchart  500   a  of  FIG. 5   a , HARQ Tx may retrieve and encode an ARQ PDU from a storage buffer, generating a HARQ PDU (step  502 ). Because this is a new transmission, HARQ Tx may create RV0 of HARQ PDU. In addition, HARQ Tx may assign an NDI to HARQ PDU. The NDI may be used to differentiate between newly transmitted HARQ PDUs and retransmitted HARQ PDUs. For example, as discussed above, the NDI value may be toggled between “0” and “1” for sequential transmissions of new HARQ PDUs, whereas the NDI value may remain unchanged for sequential retransmissions of the same HARQ PDU.  
         [0075]     HARQ Tx may transmit the encoded HARQ PDU, in sequential order, to HARQ Rx (step  504 ). If this is a new transmission (step  506 , Yes), HARQ Tx may store a copy of the transmitted HARQ PDU in a retransmission buffer associated with the HARQ Tx (step  508 ).  
         [0076]     Once HARQ Tx has transmitted (or retransmitted) HARQ PDU, HARQ Tx may await a response from HARQ Rx. If HARQ Tx receives an ACK (step  510 , Yes), HARQ Tx may clear the retransmission buffer (step  512 ) and processing may return to step  502 .  
         [0077]     If HARQ Tx fails to receive an ACK (step  510 , No), instead receiving either a NACK or no response within the time-out period, HARQ Tx may check to see if the maximum number of retransmissions has been reached (step  514 ). If the maximum number of retransmissions has been reached, HARQ Tx may clear the retransmission buffer (step  512 ) and processing may return to step  502 .  
         [0078]     If the maximum number of retransmissions has not been reached (step  514 , No), HARQ Tx may retrieve HARQ PDU from the retransmission buffer, calculate the new RV, and retransmit HARQ PDU to HARQ Rx. Processing will continue in this manner until either an ACK is received by HARQ Tx or a maximum number of retransmissions has been reached.  
         [0079]     Referring now to the exemplary flowchart  500   b  of  FIG. 5   b , HARQ Rx may receive the transmitted HARQ PDU from HARQ Tx (step  550 ), and check its NDI value (step  552 ). If the NDI value of the HARQ PDU is equal to the NDI value of a previously received HARQ PDU (step  552 , Yes), then HARQ Rx may combine the received packet data with packet data previously stored in the soft buffer (step  554 ), and evaluate the received HARQ PDU to determine if a CRC error has been detected (step  556 ).  
         [0080]     If a CRC error is detected (step  552 , Yes), HARQ Rx may transmit a NACK to HARQ Tx (step  558 ) and store the received HARQ PDU in the soft buffer associated with HARQ Rx (step  560 ). In addition, HARQ Rx may separately store the NDI value for the currently received HARQ PDU (step  562 ).  
         [0081]     If a CRC error is not detected (step  556 , No), HARQ Rx may decode and forward HARQ PDU to ARQ Rx (step  564 ). In some embodiments, HARQ Rx may transmit an ACK to HARQ Tx (step  566 ), and store the NDI value associated with the received HARQ PDU (step  568 ). If HARQ Rx successfully receives HARQ PDU and sends an ACK to HARQ Tx, any previously received HARQ PDUs stored in the soft buffer may be cleared (step  570 ).  
         [0082]     In addition, HARQ Rx may evaluate the received HARQ PDU for other errors (step  572 ). In some embodiments, the other errors may include one or more of, for example, a Type 2 error, a Type 3 error, a Type 4 error, a Type 6 error, a Type 7 error, etc. If HARQ Rx determines that an error has not occurred (step  572 , No), HARQ Rx may continue processing (step  574 ).  
         [0083]     However, if HARQ Rx determines that an error has occurred (step  572 , Yes), HARQ Rx may send an error indicator to HARQ Tx (step  576 ). The error indicator may be a message transmitted from HARQ Rx to HARQ Tx to indicate that an unexpected reception has been detected by HARQ Rx. The error indicator may include any value or combination of values. In some embodiments, the error indicator may include a single error indicator value, such as, for example, a “0” or a “1.” In other embodiments, the error indicator may include a plurality of values. In one exemplary embodiment, the error indicator may include an “NDI e ” value and an “S” value. The NDI e  value may be equal to the NDI value of the last HARQ PDU received by HARQ Rx. The S value may provide an indication of the type of data received by HARQ Rx in relation to the type of value expected by HARQ Rx. That is, when HARQ Rx receives may indicate, by means of the S value, that it has received unexpected packet data. For example, if HARQ Rx receives a new HARQ PDU transmission instead of an expected retransmission, S may be equal to 0. However, If HARQ Rx receives a retransmitted HARQ PDU transmission instead of an expected new transmission, S may be equal to 1. HARQ Rx may determine and set the S value based on previously transmitted ACK and NACK data, as well as previously received NDI data.  
         [0084]     For example, if HARQ Rx receives HARQ PDU n  and sends a NACK to HARQ Tx, HARQ Rx may expect a retransmission of HARQ PDU n . However, if the next received HARQ PDU, i.e., HARQ PDU n+1  has an NDI value that is different than that of the previously received HARQ PDU, i.e., HARQ PDU n , HARQ Rx may detect an error because the toggled NDI value may indicate new data and HARQ Rx may have expected a retransmission of HARQ PDU n . Therefore, HARQ Rx may set the S value equal to 1. As another example, if HARQ Rx receives HARQ PDU n  and sends an ACK to HARQ Tx, HARQ Rx may expect a new transmission, i.e., HARQ PDU n+1 . If, in response to the ACK, HARQ Tx send HARQ PDU n+1  but the NDI value of HARQ PDU n+1  is untoggled (i.e., the NDI value of HARQ PDU n+1  is the same as the NDI value of HARQ PDU n ), HARQ Rx may believe it is receiving a retransmission of HARQ PDU n  instead of new data. Thus, HARQ Rx may detect an error and set the S value equal to 0.  
         [0085]      FIG. 6   a  is a signaling diagram illustrating exemplary toggling of the NDI value, consistent with certain embodiments. As discussed above, the NDI value may be toggled between 0 and 1 to indicate when a HARQ PDU is a new transmission.  
         [0086]     For example, as shown in  FIG. 6   a , ARQ Tx may process and send ARQ PDU n  to HARQ Tx. HARQ Tx may encode ARQ PDU n , thereby generating HARQ PDU n . HARQ Tx may set an NDI value for HARQ PDU n , and then transmit HARQ PDU n  in sequential order to a receiver. In this example, the NDI value for HARQ PDU n  may be equal to 0. HARQ Tx may store the transmitted HARQ PDU n  in a retransmission buffer.  
         [0087]     At the receiver, a corresponding HARQ Rx mechanism may receive HARQ PDU n , and check its NDI value. As shown in  FIG. 6   a , HARQ Rx may determine the NDI value of the received HARQ PDU n  is equal to 0. HARQ Rx may compare the NDI value of HARQ PDU n  with the NDI value of a previously received HARQ PDU. If HARQ Rx encounters no errors, HARQ Rx may send the decoded HARQ PDU n  (i.e., ARQ PDU n ) to ARQ Rx. HARQ Rx may synchronously send an ACK message to HARQ Tx, indicating that HARQ PDU n  was successfully received.  
         [0088]     Upon receipt of the ACK message, HARQ Tx may clear the retransmission buffer and may prepare to transmit the next encoded ARQ PDU (i.e., HARQ PDU n+1 ) to HARQ Rx. Because this is a new data transmission, HARQ Tx may toggle the NDI value for HARQ PDU n+1  from 0 to 1. HARQ Tx may send HARQ PDU n+1  to HARQ Rx, and store HARQ PDU n+1  in the retransmission buffer.  
         [0089]     At the receiver, HARQ Rx may receive HARQ PDU n+1  and check its NDI value. As shown in  FIG. 6   a , HARQ Rx may determine the NDI value of the received HARQ PDU n+1  is equal to 1. However, HARQ Rx may detect an error associated with HARQ PDU n+1 , and may send a NACK message to HARQ Tx, indicating that HARQ PDU n+1  was not successfully received. In one embodiment, HARQ Rx may store the received HARQ PDU n+1  in a soft buffer. In addition, HARQ Rx may separately store the NDI value associated with HARQ PDU n+1 .  
         [0090]     Upon receiving the NACK message, HARQ Tx may retrieve HARQ PDU n+1  from the retransmission buffer and resend HARQ PDU n+1  to HARQ Rx. Because this is a retransmission of data, HARQ Tx may not toggle the NDI value. Thus, the NDI value for the second transmission of HARQ PDU n+1 , and any subsequent retransmissions of HARQ PDU n+1 , may be the same as the NDI value of the initial transmission of HARQ PDU n+1 .  
         [0091]     At the receiver, HARQ Rx may receive the retransmission of HARQ PDU n+1  and check its NDI value. As shown in  FIG. 6   a , HARQ Rx may determine the NDI value of the received HARQ PDU n+1  is equal to 1. Because HARQ Rx was expecting a retransmission, HARQ Rx may verify that the NDI value for the retransmission is the same as the NDI value for the previously received transmission. In one exemplary embodiment, HARQ Rx may compare the most currently received NDI value with the NDI value stored for the previously received HARQ PDU. In this example, the NDI value of HARQ PDU n+1  is again equal to 1, a value equal to the NDI value of the previously received HARQ PDU. Thus, HARQ Rx may combine the received packet data with packet data previously stored in the soft buffer. If HARQ Rx encounters no errors, HARQ Rx may send an ACK message to HARQ Tx and forward the decoded HARQ PDU n+1  (i.e., ARQ PDU n+1 ) to ARQ Rx.  
         [0092]     Upon receipt of the ACK message, HARQ Tx may clear the retransmission buffer and prepare to transmit the next encoded ARQ PDU (i.e., HARQ PDU n+2 ) to HARQ Rx. Because this is a new data transmission, HARQ Tx may toggle the NDI value for HARQ PDU n+2  from 1 to 0. HARQ Tx may send HARQ PDU n+2  to HARQ Rx, and store HARQ PDU n+2  in the retransmission buffer.  
         [0093]     At the receiver, HARQ Rx may receive HARQ PDU n+2  and check its NDI value. As shown in  FIG. 6   a , HARQ Rx may determine the NDI value of the received HARQ PDU n+2  is equal to 0. HARQ Rx may verify that the NDI value of the current transmission is different than the NDI value of the previously received transmission. For example, HARQ Rx may compare the NDI value of HARQ PDU n+2  with the NDI value of HARQ PDU n+1 .  
         [0094]     If HARQ Rx encounters no errors, HARQ Rx may send an ACK message to HARQ Tx, and forward the decoded HARQ PDU n+2  (i.e., ARQ PDU n+2 ) to ARQ Rx. If the previously received HARQ PDU contained an error, HARQ Rx may clear the soft buffer upon successfully receiving HARQ PDU n+2 . This process may continue until there is no further data to transmit between the transmitter and the receiver.  
         [0095]      FIGS. 6   b  and  6   c  are exemplary signaling diagrams illustrating Type 4 error processing, consistent with certain embodiments. As discussed above, a Type 4 error may be an error in which the value of the NDI received by HARQ Rx is not equal to the value expected by HARQ Rx. The NDI value can be unexpected when (1) the HARQ Rx is expecting a retransmission but the NDI value has been toggled by HARQ Tx or (2) the HARQ Rx is expecting a new PDU but the NDI value has not been toggled by HARQ Tx. The exemplary signaling diagrams of  FIGS. 6   a ,  6   b , and  6   c  may be implemented in a UMTS communication system as discussed in connection with  FIG. 1   a.    
         [0096]     For example, referring to  FIG. 6   b , ARQ Tx may process and send ARQ PDU n+1  to a storage buffer. HARQ Tx may retrieve ARQ PDU n+1  from the storage buffer and encode it, thereby generating HARQ PDU n+1 . HARQ Tx may assign an NDI value to HARQ PDU n+1 , and then transmit HARQ PDU n+1  to HARQ Rx. In addition, HARQ Tx may store a copy of HARQ PDU n+1  in a retransmission buffer.  
         [0097]     At the receiver, HARQ Rx may receive HARQ PDU n+1 , and check its NDI value. As shown in  FIG. 6   a , HARQ Rx may determine the NDI value of the received HARQ PDU n+1  is equal to 0. However, HARQ Rx may detect an error associated with HARQ PDU n+1 , and may send a NACK message to HARQ Tx, indicating that the data has not been successfully received. HARQ Rx may store a copy of HARQ PDU n+1  in a soft buffer associated with HARQ Rx. In addition, HARQ Rx may separately store a copy of the NDI value of HARQ PDU n+1  in a memory region associated with HARQ Rx.  
         [0098]     Upon receiving the NACK message, HARQ Tx may retrieve HARQ PDU n+1  from the retransmission buffer and retransmit HARQ PDU n+1  to HARQ Rx. Because this is a retransmission of data, HARQ Tx may determine not to toggle the NDI value. Thus, the NDI value for the second transmission, and any subsequent retransmissions, may be the same as the NDI value of the initial transmission of HARQ PDU n+1 .  
         [0099]     At the receiver, HARQ Rx may receive the retransmission of HARQ PDU n+1  and attempt to decode HARQ PDU n+1 . In addition, HARQ Rx may check the NDI value. As shown in  FIG. 6   b , however, HARQ Rx may determine the NDI value of the received HARQ PDU n+1  is equal to 1. HARQ Rx may verify that the NDI value for the retransmission by comparing it to the stored NDI value for the previously received transmission. In this example, the NDI value is equal to 1, which is not equal to the NDI value of the previously received HARQ PDU n+1 . Thus, HARQ Rx may clear the soft buffer. If HARQ Rx encounters no errors, HARQ Rx may send an ACK message to HARQ Tx indicating that HARQ PDU n+1  has been received, but may also send an error indicator notifying HARQ Tx that an unexpected reception has been detected.  
         [0100]     Referring to  FIG. 6   c , using the same scenario as in  FIG. 6   b , HARQ Rx may send an error indicator in response to a detected error. However, in this embodiment, the error indicator may include two values, S and NDI e , as discussed above in connection with  FIG. 5 . In this example, because HARQ Rx was expecting a retransmission of data, but instead has determined, based on the NDI value, that new data has been received, the value of S may be equal to 0. The NDI e  value may be set to the NDI value received by HARQ Rx for HARQ PDU n+1 . Thus, in this example, the NDI e  value may be equal to 1.  
         [0101]      FIGS. 7   a  and  7   b  are exemplary signaling diagrams illustrating Type 2 error processing, consistent with certain embodiments. As discussed above, a Type 2 error may occur when a predetermined number of retransmissions is reached without HARQ Tx receiving an ACK from HARQ Rx. When a Type 2 error occurs, ARQ Tx may be required to resend the lost PDU. The exemplary signaling diagrams of  FIGS. 7   a  and  7   b  may be implemented in a UMTS communication system as discussed in connection with  FIG. 1   a.    
         [0102]     For example, referring to  FIG. 7   a , ARQ Tx may process and send ARQ PDU n  to a storage buffer. HARQ Tx may retrieve ARQ PDU n  from the storage buffer and encode it, thereby generating HARQ PDU n . HARQ Tx may assign an NDI value to HARQ PDU n , and then transmit HARQ PDU n  to the receiver. In this example, HARQ Tx may set NDI=0. In addition, HARQ Tx may store HARQ PDU n  in a retransmission buffer.  
         [0103]     At the receiver, HARQ Rx may receive HARQ PDU n , and check its NDI value. As shown in  FIG. 7   a , HARQ Rx may determine the NDI value of the received HARQ PDU n  is equal to 0. However, HARQ Rx may detect an error associated with HARQ PDU n , and may send a NACK message to HARQ Tx, indicating that the data has not been successfully received. In addition, HARQ Rx may store HARQ PDU in a soft buffer associated with HARQ Rx, and may separately store a copy of the NDI value of HARQ PDU n .  
         [0104]     Upon receiving the NACK message, HARQ Tx may retrieve HARQ PDU n  from the retransmission buffer and retransmit HARQ PDU n  to HARQ Rx. Because this is a retransmission of data, HARQ Tx may determine not to toggle the NDI value. Thus, the NDI value for the second transmission, and any subsequent retransmissions, of HARQ PDU n  may be the same as the NDI value of the initial transmission of HARQ PDU n , equal to 0 in this example.  
         [0105]     At the receiver, HARQ Rx may receive the retransmission of HARQ PDU n  and attempt to decode HARQ PDU n . In addition, HARQ Rx may check the NDI value. HARQ Rx may determine the NDI value of the received HARQ PDU n  is equal to 0. Thus, HARQ Rx may combine the received HARQ PDU with HARQ PDU previously stored in the soft buffer. However, HARQ Rx may again detect an error associated with HARQ PDU n , and may send a NACK message to HARQ Tx, indicating that the data has not been successfully received.  
         [0106]     This scenario may be repeated until the maximum number of retransmissions by HARQ Tx has been reached, at which time, HARQ Tx may clear the retransmission buffer and send a local NACK to ARQ Tx. For example, HARQ Tx may only be allowed a maximum number of three attempted retransmissions before the retransmission buffer is cleared, a local NACK is generated, and the local NACK is sent to ARQ Tx.  
         [0107]     When the maximum number of retransmissions is reached, HARQ Tx may encode the next ARQ PDU, e.g., ARQ PDU n+1 , and set its NDI value. In this example, because this is new data, HARQ Tx may toggle the NDI value, setting NDI=1. HARQ Tx may then transmit HARQ PDU n+1  to HARQ Rx and store HARQ PDU n+1  in a retransmission buffer.  
         [0108]     At the receiver, HARQ Rx may receive the transmission of HARQ PDU n+1  and check its NDI value. As shown in  FIG. 7   a , HARQ Rx may determine the NDI value of HARQ PDU n+1  is equal to 1. HARQ Rx may compare the NDI value for the current transmission to the NDI value for the previously received transmission, i.e., HARQ PDU n . In this example, the NDI value may be equal to 1, which is not equal to the stored NDI value of HARQ PDU n . Thus, HARQ Rx may clear the soft buffer.  
         [0109]     If HARQ Rx encounters no errors, HARQ Rx may send an ACK message to HARQ Tx indicating that HARQ PDU n+1  has been received. However, because HARQ Rx may have been expecting a retransmission of HARQ PDU n , HARQ Rx may also send an error indicator notifying HARQ Tx that an error has been detected. In addition, HARQ Rx may store a copy of the NDI value of HARQ PDU n+1  in a memory region associated with HARQ Rx.  
         [0110]     Referring to  FIG. 7   b , using the same scenario as in  FIG. 7   a , HARQ Rx may send an error indicator in response to a detected error. However, in this embodiment, the error indicator may include two values, S and NDI e , as discussed above in connection with  FIG. 5 . In this example, because HARQ Rx was expecting a retransmission of data, but instead has determined, based on the NDI value, that new data has been received, the value of S may be equal to 0. The NDI e  value may be set to the NDI value sent from HARQ Tx for HARQ PDU n+1 . Thus, in this example, the NDI e  value may be equal to 1.  
         [0111]      FIGS. 8   a  and  8   b  are exemplary signaling diagrams illustrating Type 6 error processing, consistent with certain embodiments. As discussed above, a Type 6 error may be an error when a NACK message is sent from HARQ Rx, but HARQ Tx receives an ACK message, i.e., a NACK→ACK error. The exemplary signaling diagrams of  FIGS. 8   a  and  8   b  may be implemented in a UMTS communication system as discussed in connection with  FIG. 1   a.    
         [0112]     For example, referring to  FIG. 8   a , ARQ Tx may process and send ARQ PDU n  to a storage buffer. HARQ Tx may retrieve ARQ PDU n  from the storage buffer and encode it, thereby generating HARQ PDU n . HARQ Tx may set an NDI value for HARQ PDU n , and then transmit HARQ PDU n  to HARQ Rx. In this example, HARQ Tx may set NDI=0.  
         [0113]     At the receiver, HARQ Rx may receive HARQ PDU n , and check its NDI value. As shown in  FIG. 8   a , HARQ Rx may determine the NDI value of the received HARQ PDU n  is equal to 0, but may detect an error associated with HARQ PDU n . Thus, HARQ Rx may send a NACK message to HARQ Tx, indicating that the data has not been successfully received. In addition, HARQ Rx may store a copy of HARQ PDU n  in a soft buffer associated with HARQ Rx, and may also separately store a copy of the NDI value of HARQ PDU n  in a memory region associated with HARQ Rx.  
         [0114]     However, as shown in  FIG. 8   a , rather than receiving the NACK message sent by HARQ Rx, HARQ Tx may instead receive an ACK message. Upon receiving the ACK message, HARQ Tx may clear HARQ PDU n  from the retransmission buffer, and may prepare to send the next PDU, i.e., HARQ PDU n+1 , to HARQ Rx. Because this is a new transmission of data, HARQ Tx may toggle the NDI value from 0 to 1. Once HARQ Tx sends HARQ PDU n+1  to HARQ Rx, HARQ Tx may store a copy of the transmitted data in the retransmission buffer.  
         [0115]     At the receiver, HARQ Rx may receive the transmission of HARQ PDU n+1  and check its NDI value. HARQ Rx may determine that the NDI value of the received HARQ PDU n+1  is equal to 1. However, because HARQ Rx had previously sent a NACK message, HARQ Rx may not expect to receive new data, but instead may expect to receive a retransmission of HARQ PDU n . Once HARQ Rx determines that the NDI value has been toggled, HARQ Rx may clear HARQ PDU n  from the soft buffer.  
         [0116]     If HARQ Rx encounters no errors, HARQ Rx may send an ACK message indicating successful receipt of the data, but may also send an error indicator notifying HARQ Tx that an unexpected reception has been detected. In addition, HARQ Rx may store a copy of the NDI value of HARQ PDU n+1  in a memory region associated with HARQ Rx.  
         [0117]     Referring to  FIG. 8   b , using the same scenario as in  FIG. 8   a , HARQ Rx may send an error indicator in response to a detected error. However, in this embodiment, the error indicator may include two values, S and NDI e , as discussed above in connection with  FIG. 5 . In this example, because HARQ Rx was expecting a retransmission of data, but instead has determined, based on the NDI value, that new data has been received, the value of S may be equal to 0. The NDI e  value may be set to the NDI value sent from HARQ Tx for HARQ PDU n+1 . Thus, in this example, the NDI e  value may be equal to 1.  
         [0118]      FIGS. 9   a  and  9   b  are exemplary signaling diagrams illustrating Type 7 error processing, consistent with certain embodiments. As discussed above, a Type 7 error may be an error when an ACK message is sent from HARQ Rx, but HARQ Tx receives a NACK message, i.e., an ACK→NACK error. The exemplary signaling diagrams of  FIGS. 9   a  and  9   b  may be implemented in a UMTS communication system as discussed in connection with  FIG. 1   a.    
         [0119]     For example, referring to  FIG. 9   a , ARQ Tx may process and send ARQ PDU n  to a storage buffer. HARQ Tx may retrieve ARQ PDU n  from the storage buffer and encode it, thereby generating HARQ PDU n . HARQ Tx may set an NDI value for HARQ PDU n , and then transmit HARQ PDU n  to the receiver. In this example, HARQ Tx may set NDI=0.  
         [0120]     At the receiver, HARQ Rx may receive HARQ PDU n , and check its NDI value. As shown in  FIG. 9   a , HARQ Rx may successfully receive HARQ PDU n , and may determine the NDI value of the received HARQ PDU n  is equal to 0. Thus, HARQ Rx may send an ACK message to HARQ Tx, indicating that the data has been successfully received. In addition, HARQ Rx may store the NDI value for HARQ PDU n  in a memory region associated with HARQ Rx.  
         [0121]     However, as shown in  FIG. 9   a , rather than receiving the ACK message sent by HARQ Rx, HARQ Tx may instead receive a NACK message. Thus, HARQ Tx may retrieve HARQ PDU n  from the retransmission buffer and retransmit HARQ PDU n  to HARQ Rx. Because this is a retransmission of data, HARQ Tx may determine not to toggle the NDI value. Thus, the NDI value for the second transmission of HARQ PDU n  may be the same as the NDI value of the initial transmission of HARQ PDU n .  
         [0122]     At the receiver, HARQ Rx may receive the retransmission of HARQ PDU n  and may check its NDI value. HARQ Rx may determine the NDI value of the received HARQ PDU n  is equal to 0. However, because HARQ Rx has previously sent an ACK message, HARQ Rx may not expect to receive a retransmission of HARQ PDU n , but instead may expect to receive new data. Thus, If HARQ Rx encounters no errors, HARQ Rx may send an ACK message indicating successful receipt of the data, but may also send an error indicator notifying HARQ Tx that an unexpected reception has been detected. In addition, HARQ Rx may store a copy of the NDI value of HARQ PDU n  in a memory region associated with HARQ Rx.  
         [0123]     Referring to  FIG. 9   b , using the same scenario as in  FIG. 9   a , HARQ Rx may send an error indicator in response to a detected error. However, in this embodiment, the error indicator may include two values, S and NDI e , as discussed above in connection with  FIG. 5 . In this example, because HARQ Rx was expecting new data, but instead has determined, based on the NDI value, that a retransmission of HARQ PDU n  has been received, the value of S may be equal to 1. The NDI e  value may be set to the NDI value sent from HARQ Tx for HARQ PDU n . Thus, in this example, the NDI e  value may be equal to 0.  
         [0124]      FIGS. 10   a  and  10   b  are exemplary signaling diagrams illustrating Type 3 error processing, consistent with certain embodiments. As discussed above, a Type 3 error may be an error in which a DTX is sent from the HARQ Rx mechanism but is interpreted by the HARQ Tx mechanism as an ACK, i.e., a DTX→ACK error. The exemplary signaling diagrams of  FIGS. 10   a  and  10   b  may be implemented in a UMTS communication system as discussed in connection with  FIG. 1   a.    
         [0125]     For example, referring to  FIG. 10   a , ARQ Tx may process and send ARQ PDU n  to a storage buffer. HARQ Tx may retrieve ARQ PDU n  from the storage buffer and encode it, thereby generating HARQ PDU n . HARQ Tx may set an NDI value for HARQ PDU n , and then transmit HARQ PDU n  to the receiver. In this example, HARQ Tx may set NDI=1. In addition, HARQ Tx may store a copy of HARQ PDU n  in a retransmission buffer.  
         [0126]     At the receiver, HARQ Rx may receive HARQ PDU n , and may check its NDI value. As shown in  FIG. 10   a , HARQ Rx may successfully receive HARQ PDU n  and may determine the NDI value of the received HARQ PDU n  is equal to 1. Thus, HARQ Rx may send an ACK message to HARQ Tx, indicating that the data has been successfully received, and forward the decoded HARQ PDU n  (i.e., ARQ PDU n ) to ARQ Rx. In addition, HARQ Rx may store a copy of the NDI value of HARQ PDU n  in a memory region associated with HARQ Rx.  
         [0127]     In response, HARQ Tx may encode ARQ PDU n+1 , thereby generating HARQ PDU n+1 . HARQ Tx may set an NDI value for HARQ PDU n+1 , and then transmit HARQ PDU n+1  to the receiver. In this example, HARQ Tx may toggle NDI=0. Although not shown, HARQ Tx may clear HARQ PDU n  from the retransmission buffer, storing HARQ PDU n+1  therein.  
         [0128]     At the receiver, HARQ Rx may determine that the control information associated with HARQ PDU n+1  contains errors. In this example, the errors may be identified by the CRC check. In response, HARQ Rx may generate and send a DTX message to HARQ Tx. However, with this type of error, HARQ Tx may interpret the DTX message as an ACK message. Thus, HARQ Tx may prepare and send HARQ PDU n+2  to HARQ Rx. In this example, HARQ Tx may toggle NDI=1. Although not shown, HARQ Tx may store HARQ PDU n+2  in the retransmission buffer.  
         [0129]     HARQ Rx may receive HARQ PDU n+2  and may check its NDI value. HARQ Rx may determine the NDI value of HARQ PDU n+2  is equal to 1, which is equal to the NDI value of the previously received HARQ PDU n . Thus, HARQ Rx may determine that the received HARQ PDU is a retransmission of PDU n . However, because HARQ Rx had previously sent a DTX message, HARQ Rx may not expect to receive a retransmission of HARQ PDU n , but instead may expect a new transmission of HARQ PDU n+1 . If HARQ Rx encounters no errors, HARQ Rx may send an ACK message indicating successful receipt of the data, but may also send an error indicator notifying HARQ Tx that an unexpected reception has been detected. In addition, HARQ Rx may store the NDI value associated with HARQ PDU n+2  in a memory region associated with HARQ Rx.  
         [0130]     Referring to  FIG. 10   b , using the same scenario as in  FIG. 10   b , HARQ Rx may send an error indicator in response to a detected error. However, in this embodiment, the error indicator may include two values, S and NDI, as discussed above in connection with  FIG. 5 . In this example, because HARQ Rx was expecting new data, but instead has determined that a retransmission of data has been received, the value of S may be equal to 1. The NDI e  value may be set to the NDI value received by HARQ Rx for HARQ PDU n+2 . Thus, in this example, the NDI e  value may be equal to 1.  
         [0131]      FIG. 11  illustrates an exemplary flow chart  1100  of a method for determining if an error is a Type 2 error ( FIGS. 7   a  and  7   b ), a Type 4 error ( FIGS. 6   b  and  6   c ), or a Type 6 error ( FIGS. 8   a  and  8   b ), consistent with certain disclosed embodiments. The exemplary method of  FIG. 11  may be implemented in a UMTS communication system as discussed in connection with  FIG. 1   a.    
         [0132]     For example, referring to  FIG. 11 , once HARQ Tx receives an error indicator from HARQ Rx (step  1110 ), HARQ Tx may check if a maximum transmission limit has been reached (step  1115 ), as discussed above in connection with  FIGS. 7   a  and  7   b . If the maximum transmission limit has been reached (step  1115 , Yes), HARQ Tx may determine that the error indicator is for a Type 2 error (step  1120 ). HARQ Tx may then determine if a local NACK has already been generated (step  1125 ). If a local NACK has already been generated (step  1125 , Yes), HARQ Tx may ignore the error indicator (step  1130 ). However, if a local NACK has not already been generated (step  1125 , No), HARQ Tx may generate and send a local NACK (step  1145 ). The local NACK may be sent to ARQ Tx and may cause ARQ Tx to retransmit the lost packet data.  
         [0133]     If HARQ Tx determines that a maximum transmission limit has not been reached (step  1115 , No), HARQ Tx may check the type of the previously received ACK/NACK message (step  1135 ). If the previously received message was an ACK message (step  1135 , ACK), HARQ Tx may determine that a Type 6 error has occurred (step  1140 ), and may generate and send a local NACK (step  1145 ). As discussed above, a Type 6 error may occur when HARQ Rx sends a NACK, but HARQ Tx receives an ACK.  
         [0134]     If the previously was a NACK message (step  1135 , NACK), HARQ Tx may determine that a Type 4 error has occurred (step  1150 ), and may ignore the error indicator (step  1130 ). As discussed above, a Type 4 error may occur when HARQ Rx misinterprets the NDI value sent from HARQ Tx.  
         [0135]     In this manner, HARQ Tx may identify those error types that may not require ARQ Tx to retransmit packet data, i.e., Type 4, and those error types that may require ARQ Tx to retransmit data, i.e., Type 2 and Type 6. In addition, HARQ Tx may identify when an error requiring ARQ Tx to retransmit packet data has been previously acted upon, i.e., a Type 2 error for which a local NACK has been previously generated.  
         [0136]      FIG. 12  illustrates an exemplary flow chart  1200  of a method for identifying Type 2, Type 3, Type 4, Type 6, and Type 7 errors, consistent with certain disclosed embodiments. For example, Type 2 errors ( FIGS. 6   b  and  6   c ), Type 4 errors ( FIGS. 7   a  and  7   b ), and Type 6 errors ( FIGS. 8   a  and  8   b ) may be difficult to differentiate from one another. The exemplary method of  FIG. 12  may be implemented in a UMTS communication system as discussed in connection with  FIG. 1   a.    
         [0137]     For example, referring to  FIG. 12 , HARQ Tx may receive an error indicator from HARQ Rx (step  1210 ). In this flow chart, the error indicator may include NDI e  and S values. Thus, HARQ Tx may check if the NDI e  value of the received error indicator is equal to the NDI value of the previously transmitted packet data (step  1215 ). If NDI e  is not equal to NDI (step  1215 , No), HARQ Tx may determine that a Type 4 error has occurred (step  1220 ). As discussed above in connection with  FIGS. 7   a  and  7   b , a Type 4 error may occur when the NDI is misinterpreted. Because a Type 4 error may degrade system performance, but may not result in lost packet data, HARQ Tx may ignore the error indicator (step  1225 ).  
         [0138]     If NDI e  is equal to NDI (step  1215 , Yes), HARQ Tx may check the value of S (step  1230 ). If the value of S=0, HARQ Tx may determine that either a Type 2 or a Type 6 error may have occurred (step  1235 ). As discussed above in connection with  FIGS. 6   b  and  6   c , a Type 2 error may occur when a maximum number of transmissions has been reached. As discussed above in connection with  FIGS. 8   a  and  8   b , a Type 6 error may occur when a NACK→ACK error occurs. Because both Type 2 and Type 6 errors may result in lost packet data, HARQ Tx may send a local NACK to ARQ Tx (step  1240 ).  
         [0139]     If the value of S=1 (step  1230 , S=1), HARQ Tx may check if the packet data previously sent from HARQ Tx was a retransmission or a transmission of new packet data (step  1245 ). As discussed above in connection with  FIGS. 10   a  and  10   b , S=1 may indicate that HARQ Rx was expecting to receive a transmission of new packet data. Thus, if NDI e =NDI and S=1, then HARQ Tx may check to see if the packet data sent to HARQ Rx was, in fact, new packet data, as HARQ Rx expected.  
         [0140]     If HARQ Tx determines that the transmission was a retransmission (step  1245 , Yes), HARQ Tx may determine that a Type 7 error has occurred (step  1255 ). As discussed above in connection with  FIGS. 9   a  and  9   b , a Type 7 error may occur when HARQ Rx sends an ACK but HARQ Tx receives a NACK, i.e., an ACK→NACK error. Because a Type 7 error may not result in lost packet data, HARQ Tx may ignore the error indicator (step  1225 ).  
         [0141]     If HARQ Tx determines that the transmission was not a retransmission (step  1245 , No), HARQ Tx may determine that a Type 3 error has occurred (step  1250 ). As discussed above in connection with  FIGS. 10   a  and  10   b , a Type 3 error may occur when HARQ Rx sends a DTX message but HARQ Tx receives an ACK message. Because a Type 3 error may result in lost packet data, HARQ Tx may generate and send a local NACK to ARQ Tx (step  1240 ).  
         [0142]     The disclosed embodiments may be implemented within any network configuration utilizing W-CDMA technology, protocols, or standards. In this manner, the disclosed embodiments may enable the identification of those error types that may not require retransmission of data at higher layers, i.e., Type 4 and Type 7, and those error types that may require retransmission of data at higher layers, i.e., Type 2 and Type 6. By identifying those errors which may not result in data loss and thus may not require retransmission of packet data by higher layer mechanisms, the disclosed embodiments may achieve improved performance. In particular, the disclosed embodiments may reduce signal processing time and improve data traffic flow associated with error detection and retransmission of data in W-CDMA-based networks.  
         [0143]     It will be apparent to those skilled in the art that various modifications and variations can be made in the system and method for reducing signal interference in communication networks. It is intended that the standard and examples be considered as exemplary only, with a true scope of the disclosed embodiments being indicated by the following claims and their equivalents.

Technology Category: 5