Patent Description:
Embodiments of the present invention generally relate to the field of wireless communications. More specifically, embodiments of the present invention relate to systems and methods for acknowledging frames and requesting retransmission of frames over a wireless network.

Modern electronic devices typically send and receive data with other electronic devices wirelessly using Wi-Fi, and often data that is sent by a transmitter to a receiver is lost or corrupted. This can be due to interference from another electronic device, or other common issues with wireless transmission of data, such as weather or obstructions that physically block the wireless signal. For these reasons, several techniques for retransmitting data have been developed so that data intended for the receiver can be delivered successfully, even if retransmission is required.

Two common techniques for retransmitting data are Automatic Repeat Request (ARQ) and Forward Error Coding (FEC). ARQ is a technique that requires the receiver to send an acknowledgement ("ACK") packet when data has been received successfully. If the data is not delivered successfully or delivered with an error, no ACK is sent to the transmitter. In this case, when the transmitter does not receive an ACK, the data is retransmitted. While this approach leads to very high reliability when transmitting data, sending an ACK for every data packet that is successfully received leads to decreased throughput in the channel when errors occur frequently in the channel.

FEC is a technique that allows a receiver to correct errors in the transmission using error coding and metadata. For instance, data can be sent with a cyclic redundancy check (CRC) digest. FEC reduces errors and only moderately decreases throughput. However, the use of FEC does not lead to high reliability, as some errors may not be able to be corrected using the error coding.

Hybrid automatic repeat request (hybrid ARQ or HARQ) combines high-rate forward error-correcting coding and ARQ error-control. In standard ARQ, redundant bits are added to data to be transmitted based on an error-detecting (ED) code such as a CRC as referred to above. Receivers detecting a corrupted message then request a new message from the sender, the original data is encoded with a forward error correction.

(FEC) code, and the parity bits are sent along with the message or transmitted upon request when a receiver detects an error. In practice, incorrectly received coded data blocks are often stored at the receiver rather than discarded, and when the re-transmitted block is received, the two blocks are combined. This is referred to as Hybrid ARQ with soft combining. While in some cases it may not be possible to independently decode two transmissions without error, the combination of the previous transmissions received with error may provide enough information to correctly decode the transmissions.

The two main soft combining methods for HARQ are chase combining and incremental redundancy. In chase combining, every re-transmission contains the same information (data and parity bits). The receiver uses maximum-ratio combining to combine the received bits with the same bits from previous transmissions. Because all transmissions are identical, chase combining can be seen as additional repetition coding, where every re-transmission is adding extra energy to the received transmission through an increased signal to noise ratio (e.g., Eb/N0).

For error correction using incremental redundancy, every re-transmission contains different information than the previous transmission. Multiple sets of coded bits are generated, each representing the same set of information bits. The re-transmission typically uses a different set of coded bits than the previous transmission, with different redundancy versions being generated by puncturing the encoder output. Thus, at every re-transmission the receiver gains extra information for error correction.

Hybrid ARQ performs better than ordinary ARQ in poor signal conditions, but in its simplest form this performance comes at the expense of significantly lower throughput in good signal conditions. What is needed is an approach to data retransmission that provides high reliability without significantly reducing the throughput for transmitting data between a transmitter and a receiver in a wireless network. <CIT> discloses a method for retransmitting selected MPDUs of an A-MPDU.

Methods and apparatus according to the invention are defined in the independent claims. The dependent claims define preferred embodiments thereof.

The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention:.

Reference will now be made in detail to several embodiments.

Furthermore, in the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the claimed subject matter.

Portions of the detailed description that follows are presented and discussed in terms of a method. Although steps and sequencing thereof are disclosed in a figure herein (e.g., <FIG> and <FIG>) describing the operations of this method, such steps and sequencing are exemplary. Embodiments are well suited to performing various other steps or variations of the steps recited in the flowchart of the figure herein, and in a sequence other than that depicted and described herein.

Some portions of the detailed description are presented in terms of procedures, steps, logic blocks, processing, and other symbolic representations of operations on data bits that can be performed on computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. A procedure, computer-executed step, logic block, process, etc., is here, and generally, conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system.

Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout, discussions utilizing terms such as "accessing," "writing," "including," "storing," "transmitting," "associating," "identifying," "encoding," or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.

As used herein, the term "EHT" may refer to a recent generation of wireless communication (Wi-Fi) known as Extremely High Throughput (EHT) and is defined according to the IEEE <NUM>. 11be standards. The term station (STA) may refer to an electronic device capable of sending and receiving data over Wi-Fi that is not operating as an access point (AP).

Embodiments of the present invention provide a method and apparatus for HARQ in an EHT wireless network to enable acknowledgement and retransmission requests for decoding failed MPDUs/A-MPDUs received by an STA. The source address and receiver address of a failed MPDU can be verified according to a MAC header CRC that can be included in an A-Control frame, for example. For verifying the source address and the receiver address in the MAC header, preferably, the MAC header CRC is jointly calculated over the first two octets of the MPDU delimiter of an A-MPDU subframe. Moreover, a Hybrid Automatic Repeat Request (ARQ) frame is defined to include Block Ack Bitmap subfield representing the received status of a plurality of MPDUs according to a starting sequence control number, for example.

In an EHT wireless network, instead of transmitting an individual ACK for every received frame, multiple frames can be acknowledged together using a single Block ACK (BA) frame. A BA frame typically contains a bitmap size of <NUM>*<NUM> bits. These <NUM> bits indicate the fragment number of the frame to be acknowledged. Each bit of this bitmap represents the status (success/failure) of a frame. For supporting a HARQ in <NUM>, a sender and a receiver may need a Block Ack (BA) agreement in place before HARQ can be enabled. If there is no BA agreement in place, the sender can transmit only a single MPDU (S-MPDU) and cannot transmit an aggregated MPDU (A-MPDU). Therefore, when the receiver detects a corrupted message by the CRC, it cannot request a retransmission because the source address and the receiver address in the MAC header are not verified.

In some cases, even if a BA agreement has been established, the sender can transmit only a single MPDU (S-MPDU, non-A-MPDU). For example, in an HE TB PPDU, the resource (RU and UL Length) is controlled by an AP. If the resources allocated are not enough to send more than one MPDUs, an STA can only transmit a single MPDU. Therefore, when the receiver detects a corrupted message by the CRC, it cannot request a retransmission.

Accordingly, with regard to <FIG>, subframes of an exemplary A-MPDU <NUM> for performing HARQ in a wireless network (e.g., an <NUM> EHT wireless network) are depicted according to embodiments of the present invention. As depicted in <FIG>, an immediate BlockAckReq frame <NUM> is aggregated with another frame <NUM> that solicits an acknowledgment within the same A-MPDU <NUM>. The Starting Sequence Number of the BAR Information field of the BlockAckReq frame <NUM> is set to the Sequence Number of the first data frame <NUM> soliciting an acknowledgment within the same A-MPDU. The TID_INFO subfield of the BAR Control field of the BlockAckReq frame <NUM> contains the Traffic Identifier (TID) of the first data frame <NUM> soliciting an acknowledgment within the same A-MPDU <NUM>. However, this solution cannot be used when a frame that solicits an acknowledgment is sent in a non-A-MPDU.

With regard to <FIG>, a QoS null frame <NUM> of an A-MPDU <NUM> for performing a computer-implemented method for HARQ in a wireless network is depicted according to embodiments of the present invention. As depicted in <FIG>, a QoS Null frame <NUM> is aggregated with another frame <NUM> that solicits an acknowledgment within the same A-MPDU. The Sequence Number of the QoS Null frame <NUM> is set to the Sequence Number of the first data frame soliciting an acknowledgment within the same A-MPDU <NUM>. The TID subfield of the QoS Control field of the QoS Null frame <NUM> contains the TID of the first data frame <NUM> soliciting an acknowledgment within the same A-MPDU <NUM>.

The ACK Policy subfield in the QoS Control field of the QoS Null frame <NUM> is set to a predefined value (e.g., <NUM> or <NUM>) for Hybrid Acknowledgement. The predefined value cannot be <NUM> (Implicit BAR or Normal ACK) nor <NUM> (No ACK)). A STA that received the QoS Null frame <NUM> having the ACK Policy subfield set to the predefined Hybrid Acknowledgment responds with an acknowledgment when it successfully decodes the data frame having the Sequence Number and TID indicated in the QoS Null frame <NUM>. However, the HARQ solutions depicted in <FIG> that aggregate a BlockAckReq frame or a QoS Null frame are incomplete solutions for a non-A-MPDU (e.g., a single MPDU) because the source address and the receiver address are unverified. Therefore, HARQ can be used when the PSPDU contains multiple MPDUs, and one of the multiple MPDUs is successfully received at station. In this case, the station can determine the destination address of the MPDU for determining the remaining codewords based on the successfully received MPDU.

With regard to <FIG>, according to embodiments of the present invention, a MAC header CRC can be included in an MPDU for performing HARQ in an EHT wireless network. The approaches represented in <FIG> can provide a more complete acknowledgement solution with fewer limitations than the HARQ approaches described in <FIG>. Specifically with regard to <FIG>, an exemplary CRC field <NUM> for a computer-implemented approach to HARQ in an EHT wireless network is depicted according to embodiments of the present invention. For verifying the source address and the receiver address in a MAC header, a Control ID <NUM> and a CRC field <NUM> can be included in an A-Control subfield (CRC A-Control) <NUM>. In a <NUM>-bit CRC calculation, the CRC field <NUM> value is presumed to <NUM>. The CRC field <NUM> of the CRC A-Control has a <NUM>-bit CRC value for the following fields of the MAC header:.

With regard to <FIG>, an exemplary MAC Header CRC subfield <NUM> for a computer-implemented approach to HARQ in an EHT wireless network is depicted according to embodiments of the present invention. For verifying the source address and the receiver address in a MAC header, the MAC Header CRC field <NUM> is included in A-MPDU subframe <NUM>. When the MAC Header CRC Present subfield <NUM> of the MPDU delimiter of the A-MPDU subframe is set to <NUM>, the MAC Header CRC field <NUM> of the A-MPDU subframe <NUM> has <NUM>-bit CRC value for the following fields of the MAC header:.

When the Media Access Control (MAC) Header CRC Present subfield <NUM> is set to <NUM>, the MPDU Length subfield <NUM> is a nonzero value. When the MAC Header CRC Present subfield <NUM> of the MPDU delimiter of the A-MPDU subframe <NUM> is not set to <NUM>, a MAC Header CRC field <NUM> is not included in the A-MPDU subframe <NUM>.

With regard to <FIG>, an exemplary MPDU delimiter <NUM> of an A-MPDU subframe for a computer-implemented HARQ method in an EHT wireless network is depicted according to embodiments of the present invention, where a MAC header CRC is jointly calculated over two octets. To verify the source address and the receiver address in the MAC header, the MAC header CRC is jointly calculated over the first two octets (B0 - B15) <NUM> that include the End-of-frame (EOF) subfield <NUM>, the CRC Type subfield <NUM>, and the MPDU Length subfield <NUM> of the MPDU delimiter <NUM> of the A-MPDU subframe. Accordingly, the MPDU delimiter of the A-MPDU subframe includes the CRC Type subfield <NUM>. When the CRC Type subfield <NUM> is set to <NUM>, the CRC field <NUM> of the MPDU delimiter <NUM> is the <NUM>-bit CRC value of the first two octets (B0 - B15) <NUM> that include the EOF subfield <NUM> and MPDU Length subfield <NUM> of the MPDU delimiter <NUM>.

As depicted in <FIG>, when the CRC Type subfield <NUM> is set to <NUM>, the CRC field of an exemplary MPDU delimiter <NUM> is the lower <NUM> bits <NUM> of the <NUM>-bit CRC value calculated over the first two octets (B0 - B15) <NUM> that include the EOF subfield <NUM> and MPDU Length subfield <NUM> of the MPDU delimiter, and the MAC header of the MPDU contained in the A-MPDU subframe. The upper <NUM> bits <NUM> of <NUM>-bit CRC value are encoded in the A-Control subfield <NUM> (e.g., the CRC A-Control). For a <NUM>-bit CRC calculation, the CRC field value is presumed to be <NUM>. When the CRC Type subfield <NUM> is set to <NUM>, the MPDU Length subfield <NUM> is a nonzero value.

As depicted in <FIG>, for implementing a MAC header CRC, an exemplary HARQ Acknowledgement (HA) frame <NUM> is defined to include a <NUM>-bit HA type subfield in an HA control field <NUM> according to embodiments of the present invention. The HA type subfield is set to <NUM> if the receiver requests an uncoded data retransmission. In this case, the STA retransmits the same uncoded data as the original transmission. When the PHY applies a channel coding process, such as low-density parity-check (LDPC), the channel coding parameters of the retransmitted data can be different than the channel coding parameters used for the initial data transmission.

The HA type subfield of HA control field <NUM> is set to <NUM> when the receiver requests a coded data retransmission. The STA retransmits the same coded data as the original transmission. Because the PHY does not apply a separate channel coding process for the retransmitted data, the channel coding parameters of the initial data transmission can be used for the retransmitted data. For example, when the LDPC encoding is used, the same LDPC codewords are sent for the initial data and the retransmitted data. In either case, a <NUM>-bit SNR field can be set to an SNR averaged over the data subcarriers and space-time streams.

The receiver sends an ACK frame after receiving HA frame <NUM> when the receiver successfully decodes a frame body of an MPDU soliciting an acknowledgment in an S-MPDU or other non-A-MPDU. Otherwise, if the receiver successfully decodes a MAC header of an MPDU soliciting an acknowledgment in a non-A-MPDU or a S-MPDU, but fails to decode the frame body, the receiver can send an HA frame <NUM> with the HA type subfield of HA control field <NUM> set to <NUM> when the receiver prefers an uncoded data retransmission, such as when the SNR is too low. The receiver can send an HA frame <NUM> with the HA type subfield of HA control field <NUM> set to <NUM> when the receiver prefers a coded data retransmission, such as when the SNR is relatively high. The SNR can be determined based on the number of failed codewords, for example. If a relatively high number of codewords were not received successfully (e.g., <NUM> of <NUM> codewords), a full retransmission may be preferred. If the receiver does not successfully decode the frame body or MAC header, or if the MPDU does not solicit an acknowledgment, the receiver does not respond.

As depicted in <FIG>, multiple exemplary Compressed BA variant frames are defined to represent the received status of an ARQ or HARQ operation and for requesting coded or uncoded data retransmission in an EHT wireless network according to embodiments of the present invention.

With regard to <FIG>, an exemplary Compressed BA variant frame <NUM> is depicted according to embodiments of the present invention. The optional Codeword Bitmap can include a Codeword Bitmap Length and a Codeword ACK Bitmap. The Codeword Bitmap Length indicates the length of the Codeword ACK Bitmap. The Codeword Bitmap Length field has a length of <NUM> bits, and the Codeword ACK Bitmap can have a length of <NUM>, <NUM>, <NUM>, or <NUM> bits.

The maximum supported MPDU sizes in bytes are <NUM>, <NUM>, or <NUM>, in one example. The Codeword ACK Bitmap length supports an acknowledgment of <NUM>, <NUM>, or <NUM> codewords Specifically, when the maximum MPDU size is <NUM>, the maximum number of LDPC codewords is <NUM>; when the maximum MPDU size is <NUM>, the maximum number of LDPC codewords is <NUM>; and when the maximum MPDU size is <NUM>,<NUM>, the maximum number of LDPC codewords is <NUM> in this example.

Still with regard to <FIG>, when the BA type subfield of BA control field <NUM> is set to <NUM>, the BA entry type <NUM> of the each BA entry is set to <NUM> for requesting a retransmission of a single MSDU or A-MSDU. The BA entry type <NUM> of the each BA entry is set to <NUM> for indicating an acknowledgement of the successful reception of a single MSDU or A-MSDU, and the optional Codeword Bitmap <NUM> is not present in the corresponding BA entry. The BA entry type <NUM> of the each BA entry is set to <NUM> for requesting a retransmission of the failed codewords of a single MSDU or A-MSDU, and the Codeword Bitmap <NUM> is present in the corresponding BA entry. Importantly, the Codeword Bitmap <NUM> includes a Codeword ACK Bitmap field that indicates the indexes of the failed codewords, and a Codeword Bitmap Length field that indicates the length of the Codeword ACK Bitmap. Specifically, according to some embodiments, a Codeword Bitmap Length value of <NUM> indicates a bitmap length of <NUM> bits; a Codeword Bitmap Length value of <NUM> indicates a bitmap length of <NUM> bits; a Codeword Bitmap Length value of <NUM> indicates a bitmap length of <NUM> bits; and a Codeword Bitmap Length value of <NUM> indicates a bitmap length of <NUM> bits. In this case, an STA retransmits only the failed codewords among the codewords of the requested MSDU or A-MSDU.

The BA entry type <NUM> of the each BA entry is set to <NUM> for requesting retransmission of the failed codewords of a single MSDU or A-MSDU. The Codeword Bitmap <NUM> is present in the corresponding BA entry, and each bit of the Codeword Ack Bitmap field indicates whether N consecutive codewords have failed to be decoded. When the BA entry type of the BA entry is set to <NUM>, each bit of the Codeword ACK Bitmap field indicates whether <NUM> codeword in sequential order has failed.

With regard to the exemplary Compressed BA variant frame <NUM> depicted in <FIG>, the HA type subfield <NUM> is set to <NUM> if the BA Information field <NUM> represents a received status of an ARQ operation. In this case, the BA Bitmap subfield in the BA Information field <NUM> of the Compressed BA variant frame <NUM> indicates the received status, where each <NUM>-bit entry represents a specific MSDU or A-MSDU. The HA type subfield <NUM> is set to <NUM> if the BA Information field <NUM> represents a received status of an HARQ operation. The BA Bitmap subfield in the BA Information field <NUM> of the Compressed BA variant frame <NUM> indicates the received status and is extended to <NUM> bits, where each <NUM>-bit entry represents a specific MSDU or A-MSDU. Moreover, when the HA type subfield <NUM> is set to <NUM>, the BA Bitmap subfield of the BA Information field <NUM> of the Compressed BA variant frame <NUM> indicates the received status in order of sequence number, with the first bit of the BA Bitmap field corresponding to the MSDU or the A-MSDU having a sequence number that matches the value of the Starting Sequence Number subfield of the BA Starting Sequence Control subfield.

The BA Bitmap subfield in the BA Information field <NUM> of the compressed BA variant frame <NUM> indicates the received status according to a value that is set between <NUM> and <NUM>. Specifically, an entry equal to <NUM> in the compressed BA Bitmap subfield represents acknowledgment of a successful reception of a single MSDU or A-MSDU. An entry equal to <NUM> in the compressed BA Bitmap field represents a request for a coded data retransmission of a single MSDU or A-MSDU. In this case, an STA retransmits the same coded data for the requested MSDU or A-MSDU. Because the PHY does not apply a separate channel coding process for the retransmitted data, the same channel coding parameters from the initial data transmission are used for the retransmitted data. For example, when LDPC encoding is used, the same LDPC codewords are sent for the initial data transmission and the retransmitted data. An entry equal to <NUM> in the compressed BA Bitmap field represents a request for an uncoded data retransmission of a single MSDU or A-MSDU. In this case, an STA retransmits the same uncoded data for the requested MSDU or A-MSDU. When the PHY applies channel coding such as LDPC, different channel coding parameters can be used for the initial data transmission and the retransmitted data.

With regard to <FIG>, an exemplary Compressed BA variant frame <NUM> including an HA type subfield encoded in a Fragment Number subfield of a BA Starting Sequence Control field <NUM> is depicted according to embodiments of the present invention. The HA type subfield encoded in the BA Starting Sequence Control field <NUM> is set to <NUM> if the BA Bitmap represents the received status of an ARQ operation. In this case, the BA Bitmap subfield of the BA Information field of the Compressed BA frame indicates the received status, where each <NUM>-bit entry represents the status of a specific MSDU or A-MSDU. The HA type subfield encoded in the BA Starting Sequence Control field is set to <NUM> if the BA Bitmap represents the received status of an HARQ operation. In this case, the BA Bitmap subfield of the BA Information field <NUM> of the Compressed BA variant frame <NUM> indicates the received status, where each <NUM>-bit entry represents a specific MSDU or A-MSDU.

<FIG> depicts an exemplary Multi-STA BA variant frame <NUM> according to embodiments of the present invention. The Multi-STA BA variant frame <NUM> can be retransmitted to provide an ACK to multiple STAs. A Per AID TID Info subfield <NUM> of the Multi-STA BA frame provides context for different ACK types. <FIG> lists exemplary values of the Per AID TID Info subfield in a Multi-STA BA frame according to embodiments of the present invention. When the ACK Type subfield of the Per AID TID Info subfield <NUM> (<FIG>) is equal to <NUM>, the HA type subfield is encoded in a Fragment Number subfield of the Block ACK Starting Sequence Control field <NUM>. The HA type subfield encoded in the Fragment Number subfield is set to <NUM> if the BA Bitmap represents the received status for the ARQ operation. In this case, the BA Bitmap subfield <NUM> of the BA Information field <NUM> of the Multi-STA BA variant frame <NUM> indicates the received status, where each <NUM>-bit entry represents a specific MSDU or A-MSDU. The HA type subfield encoded in the Fragment Number subfield is set to <NUM> if the BA Bitmap represents the received status for an HARQ operation. In this case, the BA Bitmap subfield <NUM> of the BA Information field <NUM> of the Multi-STA BA variant frame <NUM> indicates the received status, where each <NUM>-bit entry represents a specific MSDU or A-MSDU.

Preferably, the Multi-STA BA variant frame can include BA information for a plurality of STAs within a single BA Information subfield. For example, for Hybrid ARQ Acknowledgment for an EHT TB PPDU, an Extended Multi-STA BlockAck variant frame can be used. In the Extended Multi-STA BA variant frame, the HA type subfield is set to <NUM> if the BA Information <NUM> represents the received status for the ARQ operation, or set to <NUM> if the BA Information <NUM> represents the received status for the HARQ operation of the multi-STA. When the HA type subfield is set to <NUM>, the length of the BA Bitmap subfield is variable. The length can be determined by parsing all BA entries based on the maximum number of MSDUs/A-MSDUs that can be acknowledged when the Per AID TID Info subfield <NUM> indicates the presence of a BA Starting Sequence Control subfield <NUM> and Block Ack Bitmap subfield <NUM>.

With regard to <FIG>, a table <NUM> of exemplary values of a Per AID TID Info subfield in a Multi-STA BA frame is depicted according to embodiments of the present invention. The Per AID TID Info subfield of the Multi-STA BA frame provides context for different ACK types <NUM>, <NUM>, <NUM>, and <NUM>. The TID values and presence of Block Ack Starting Sequence Control subfield and Block Ack Bitmap subfields are indicated for each Ack Type.

<FIG> are transmission diagrams representing exemplary computer-implemented HARQ retransmission schemes for wireless networks depicted according to embodiments of the present invention. In the exemplary HARQ retransmission scheme depicted in transmission diagram <NUM> of <FIG>, for LDPC coding, the coded data block <NUM> is determined based on the first LDPC codeword that contains the first bit of the A-MDPU subframe <NUM> that carries the corrupted MPDU, and the last LDPC codeword that contains the last bit of the A-MPDU subframe <NUM>. In this case, the first LDPC codeword contains the first bit of the MPDU delimiter of the A-MPDU subframe <NUM> that carries the corrupted MPDU and the last LDPC codeword contains the last bit of padding of the A-MPDU subframe <NUM> that carries the corrupted MPDU. As depicted in <FIG>, LDPC codeword m to LDPC codeword n represent the coded data block <NUM> for retransmission.

As depicted in the exemplary transmission diagram <NUM> of <FIG>, according to other embodiments, the coded data block <NUM> is determined based on the first LDPC codeword that contains the first bit of the A-MDPU subframe <NUM> that carries the corrupted MPDU, and the last LDPC codeword that contains the last bit of the MPDU of the A-MPDU subframe <NUM>. In this case, the last LDPC codeword does not consider the padding of the A-MPDU subframe <NUM> because the padding is not necessary for decoding the MPDU. Therefore, as depicted in <FIG>, LDPC codeword m to LDPC codeword n represent the coded data block for retransmission.

As depicted in the exemplary transmission diagram <NUM> of <FIG>, according to other embodiments, the coded data block <NUM> is determined based on the first LDPC codeword that contains the first bit of the corrupted MPDU of the A-MDPU subframe <NUM>, and the last LDPC codeword that contains the last bit of the MPDU of the A-MPDU subframe <NUM>. In this case the first LDPC codeword does not consider the MPDU delimiter of the A-MPDU subframe <NUM> because the MPDU delimiter is already decoded. LDPC codeword m to the LDPC codeword n represent the coded data block <NUM> for retransmission.

Preferably, an STA cannot start the transmission of more than one MPDU within the time limit described in a Minimum MPDU Start Spacing field declared by the intended receiver. Therefore, as depicted in <FIG>, an STA adds padding between MPDUs in an A-MPDU in the form of one or more MPDU delimiters with an MPDU Length field set to <NUM>. If one or more padding MPDU delimiters follow the corrupted MPDU, the sender that retransmits the coded data block of the corrupted MPDU also includes MPDU delimiters for padding the coded data block. In case of the LDPC coding, the coded data block is determined based on the first LDPC codeword that contains the first bit of the A-MDPU subframe <NUM> that carries the corrupted MPDU and the last LDPC codeword that contains the last bit of the MPDU delimiters. In the exemplary transmission diagram <NUM> of <FIG>, LDPC codeword m to LDPC codeword o represent the coded data block <NUM> for retransmission. Specifically, the first LDPC codeword contains the first bit of the MPDU delimiter of the A-MPDU subframe <NUM> that carries the corrupted MPDU, and the last LDPC codeword contains the last bit of the MPDU delimiters with the MPDU Length field set to <NUM>.

With regard to <FIG>, an exemplary PPDU structure <NUM> for supporting Hybrid ARQ is depicted according to embodiments of the present invention. The PLCP Service Data Unit (PSDU) <NUM> can include a Data field <NUM> and a Retransmitted Coded Data Block field <NUM>. When the Retransmitted Coded Data Block field <NUM> is present, the Data field <NUM> includes an HARQ Control frame for determining the contents of the Retransmitted Coded Data Block field.

With regard to <FIG>, an exemplary HARQ Control frame <NUM> for performing a computer-implemented method of HARQ in a wireless network is depicted according to embodiments of the present invention. The Retransmitted Coded Data Bitmap subfield <NUM> indicates which of the MPDUs are retransmitted in the coded data block, where each entry represents a specific MSDU or an A-MSDU in the order of sequence number. The first bit of the Retransmitted Coded Data Bitmap field <NUM> corresponds to the MSDU or A-MSDU having a sequence number that matches the value of the Starting Sequence Number subfield of the Retransmitted Coded Data Starting Sequence Control subfield <NUM>.

The EHT-SIG of the EHT preamble contains length information for determining the encoding parameter of the Data field of the PSDU. During the LDPC encoding process, the length information determines the encoding parameters Navbits and Npld for LDPC encoding of the Data field (excluding the Retransmitted Coded Data Block in the PSDU), where Navbits represents the number of available bits in the minimum number of OFDM symbols in which the Data field of the packet may fit, and Npld represents the number of bits in the Data field and Service field. Based on the Navbits and Npld values, the number of LDPC codewords (NCW) and LDPC codeword length (bits) are determined for LDPC encoding the Data field. The Length information can be encoded as the number of bits/bytes/OFDM symbols of the Data field and Service field, or the number of bits/bytes/OFDM symbols of the Retransmitted Coded Data block field.

When the Retransmitted Coded Data Block field is present, the receiver uses the length information of the EHT-SIG of the EHT preamble for LDPC decoding. The decoding parameters Navbits and Npld are determined by the length information of the EHT-SIG of the EHT preamble. Otherwise, if the Retransmitted Coded Data Block field is not present, the receiver uses the length information of the L-SIG of the legacy preamble for LDPC decoding. The decoding parameters Navbits and Npld are determined by the length information of the L-SIG of the legacy preamble.

The LDPC codeword length of the Data field of the PSDU can be signaled through the EHT-SIG of EHT preamble. For example, when Navbits is greater than <NUM>,<NUM> bits, an LDPC codeword length of <NUM>,<NUM> bits can be used. Since the LDPC codeword is not aligned with a boundary of the A-MSDU subframe, an average of <NUM>,<NUM> bits corresponds to the overhead for each retransmitted MPDU. To reduce the overhead, the sender can use the smaller LDPC codewords and then signal the selected LDPC codeword length.

With regard to <FIG>, a flowchart of an exemplary sequence of computer-implemented steps <NUM> for automatically retransmitting a coded data block to decode a failed MPDU of an A-MPDU in a wireless network is depicted according to embodiments of the present invention.

At step <NUM>, the source address and the receiver address of the failed MPDU are verified according to a MAC header CRC by a wireless AP.

At step <NUM>, a first codeword comprising a first bit of an A-MPDU subframe that carries a failed MPDU is identified by the wireless AP.

At step <NUM>, a second codeword comprising the last bit of the A-MPDU subframe that carries the failed MPDU is identified by the wireless AP.

At step <NUM>, a coded data block comprising the first codeword, the second codeword, and any codewords between the first codeword and the second codeword are retransmitted by the wireless AP. to decode the failed MPDU.

With regard to <FIG>, a flowchart of an exemplary sequence of computer-implemented steps <NUM> for requesting retransmission of data in a wireless network is depicted according to embodiments of the present invention.

At step <NUM>, a PLCP protocol data unit (PPDU) is recieved from a wireless AP by a wireless STA, and a frame of the PPDU solicits an immediate acknowledgement.

At step <NUM>, an ACK frame is transmitted to the AP by the wireless STA when a frame body of an MPDU of the PPDU is decoded successfully.

At step <NUM>, a request frame is transmitted to the AP by the wireless STA when a MAC header of the MPDU is decoded successfully and the frame body of the MPDU is not decoded successfully. The request frame includes a control field set to <NUM> for requesting uncoded data retransmission or set to <NUM> for requesting coded data retransmission.

Embodiments of the present invention are drawn to electronic systems for performing HARQ acknowledgement and data retransmission requests in a wireless network. The following discussion describes one such exemplary electronic system or computer system can be used as a platform for implementing embodiments of the present invention.

In the example of <FIG>, the exemplary computer system <NUM> (e.g., a multi-band cooperative wireless access point AP or a multi-band cooperative wireless station STA) includes a central processing unit (such as a processor or CPU) <NUM> for running software applications and optionally an operating system. Random access memory <NUM> and read-only memory <NUM> store applications and data for use by the CPU <NUM>. Data storage device <NUM> provides non-volatile storage for applications and data and may include fixed disk drives, removable disk drives, flash memory devices, and CD-ROM, DVD-ROM or other optical storage devices. The optional user inputs <NUM> and <NUM> comprise devices that communicate inputs from one or more users to the computer system <NUM> (e.g., mice, joysticks, cameras, touch screens, and/or microphones).

A communication or network interface <NUM> includes one or more transceivers and allows the computer system <NUM> to communicate with other computer systems, networks, or devices via an electronic communications network, including wired and/or wireless communication and including an Intranet or the Internet (e.g., <NUM> wireless standard). The communication or network interface <NUM> can transmit frames for HARQ acknowledgement and data retransmission requests over a wireless network.

The optional display device <NUM> may be any device capable of displaying visual information in response to a signal from the computer system <NUM> and may include a flat panel touch sensitive display, for example, and may be remotely disposed. The components of the computer system <NUM>, including the CPU <NUM>, memory <NUM>/<NUM>, data storage <NUM>, user input devices <NUM>, and graphics subsystem <NUM> may be coupled via one or more data buses.

Some embodiments may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices.

Claim 1:
A method of retransmitting a coded data block to decode a failed MAC Protocol Data Unit, in the following also referred to as MPDU, of an Aggregated MPDU, A-MPDU, in a wireless network, the method comprising:
identifying a first codeword comprising a first bit of an A-MPDU subframe, wherein the A-MPDU subframe carries the failed MPDU (<NUM>);
identifying a second codeword comprising the last bit of the A-MPDU subframe (<NUM>); and
retransmitting the coded data block, the coded data block comprising the first codeword, the second codeword, and any codewords between the first codeword and the second codeword (<NUM>),
wherein the failed MPDU is decoded using the coded data block,
the A-MPDU comprises the MAC header CRC field for verifying the source address and the receiver address of the failed MPDU,
the MAC header CRC field is included in the A-MPDU subframe, and wherein the A-MPDU subframe comprises a CRC Present subfield, and
the CRC Present subfield is set to <NUM> when the MAC Header CRC field of the A-MPDU subframe comprises a <NUM>-bit CRC value, wherein the <NUM>-bit CRC value represents a Frame Control field, a Duration/ID field, an Address1 field, an Address2 field, an Address3 field, an Address4 field, a Sequence Control field, a QoS Control field, and an HT Control field of a MAC header.