WO2020076380A1 - System and method for retransmission of individual codewords - Google Patents

System and method for retransmission of individual codewords Download PDF

Info

Publication number
WO2020076380A1
WO2020076380A1 PCT/US2019/039006 US2019039006W WO2020076380A1 WO 2020076380 A1 WO2020076380 A1 WO 2020076380A1 US 2019039006 W US2019039006 W US 2019039006W WO 2020076380 A1 WO2020076380 A1 WO 2020076380A1
Authority
WO
WIPO (PCT)
Prior art keywords
codewords
data payload
codeword
message
subset
Prior art date
Application number
PCT/US2019/039006
Other languages
French (fr)
Inventor
Shimon SHILO
Leonid EPSTEIN
Yaron Ben-Arie
Ezer Melzer
Original Assignee
Futurewei Technologies, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Futurewei Technologies, Inc. filed Critical Futurewei Technologies, Inc.
Publication of WO2020076380A1 publication Critical patent/WO2020076380A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1614Details of the supervisory signal using bitmaps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1621Group acknowledgement, i.e. the acknowledgement message defining a range of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1896ARQ related signaling

Definitions

  • the present disclosure relates generally to a system and method for digital
  • a station which maybe an access point (AP) or a non- AP station (STA), transmits data to another station.
  • the data payload of the transmission includes one or more media access control (MAC) Protocol Data Units (MPDUs). If multiple MPDUs are transmitted, the MPDUs are aggregated into an aggregated MPDU (A-MPDU).
  • A-MPDU aggregated MPDU
  • the data payload comprising an (A-)MPDU is sufficiently large, it may be partitioned (or segmented) into a sequence of several payload portions which undergo encoding into one or more independently decodable codewords. The one or more codewords are then modulated and subsequently transmitted over a channel to a receiving station.
  • the receiving station attempts to decode the codeword(s) carried by the received signal, reconstruct the (A-)MPDU data, and provide an indicator to the transmitting station indicating which MPDUs failed being decoded and need to be retransmitted.
  • the indicator may be sent via an acknowledgement (ACK) or a block acknowledgement (Block-ACK) feedback message.
  • a method implemented by a first device includes receiving, by the first device, from a second device, a first data payload comprising codewords encoded from a plurality of non-overlapping portions of information bits, attempting, by the first device, to decode the codewords from the first data payload, the first device successfully decoding a first subset of codewords from the first data payload and unsuccessfully attempting to decode a second subset of the codewords from the first data payload, transmitting, by the first device, to the second device, a first message including an acknowledgement indicator indicating that the second subset of the codewords were unsuccessfully decoded, and receiving, by the first device, from the second device, a second message including at least one retransmitted codeword, wherein portions of information bits used to encode the at least one retransmitted codeword overlap with the second subset of the the codewords from the first data payload without overlapping with the first subset of the codewords from the first data payload
  • acknowledgement indicator comprises a bitmap of all codewords from the first data payload, with each bit of the bitmap corresponding to a codeword in the first data payload.
  • acknowledgement indicator comprises a number representing an index associated with each one of the codewords of the second subset of the codewords from the first data payload.
  • the first message further comprises a length indicator indicating a length of the message.
  • the first message further comprises a feedback mode indicator indicating a format of the first message.
  • the second message further includes a second data payload.
  • coding parameters specifying the coding schemes used for encoding the first data payload and the at least one retransmitted codeword in the second message are the same.
  • the coding parameters comprise at least one of a number of information bits within each codeword within the first data payload, a number of shortening bits within each codeword, a number of puncturing bits within each codeword, a number of repetition bits within each codeword, or a number and value of pre-forward error correcting bits of each codeword.
  • the first message is a codeword block acknowledgement (CBACK) message.
  • CBACK codeword block acknowledgement
  • codewords are encoded using a binary convolutional coding (BCC) code or a low density parity check (LDPC) code.
  • BCC binary convolutional coding
  • LDPC low density parity check
  • a method implemented by a first device includes transmitting, by the first device, to a second device, a first data payload comprising codewords encoded from a plurality of non-overlapping portions of information bits, receiving, by the first device, from the second device, a first message including an acknowledgement indicator indicating a first subset of the codewords were unsuccessfully decoded, and transmitting, by the first device, to the second device, a second message including at least one retransmitted codeword, wherein portions of information bits used to encode the at least one retransmitted codeword overlaps with the first subset of the codewords that were unsuccessfully decoded.
  • acknowledgement indicator comprises a bitmap of all codewords from the first data payload, with each bit of the bitmap corresponding to a codeword in the first data payload.
  • acknowledgement indicator comprises a number representing an index associated with each one of the codewords of the first subset of the codewords from the first data payload.
  • the first message further comprises a length indicator indicating a length of the message.
  • the first message further comprises a feedback mode indicator indicating a configuration of the message.
  • the second message further includes a second data payload.
  • the coding parameters comprise at least one of a number of information bits within each codeword, a number of shortening bits within each codeword, a number of puncturing bits within each codeword, a number of repetition bits within each codeword, or a number and value of pre-forward error correcting bits of each codeword.
  • acknowledgement indicator further indicates a second subset of the codewords successfully decoded.
  • a first device includes a non- transitory memory storage comprising instructions, and one or more processors in communication with the memory storage.
  • the one or more processors execute the instructions to receive, from a second device, a first data payload comprising codewords encoded from a plurality of non-overlapping portions of information bits, attempt to decode the codewords from the first data payload, the first device successfully decoding a first subset of codewords from the first data payload and unsuccessfully attempting to decode a second subset of the codewords from the first data payload, transmit, to the second device, a first message including an acknowledgement indicator indicating that the second subset of the codewords were unsuccessfully decoded, and receive, from the second device, a second message including at least one retransmitted codeword, wherein portions of information bits used to encode the at least one retransmitted codeword overlap with the second subset of the codewords from the first data payload without overlapping with the first subset of the code
  • the acknowledgement indicator comprises a bitmap of all codewords from the first data payload, with each bit of the bitmap corresponding to a codeword in the first data payload.
  • the acknowledgement indicator comprises a number representing an index associated with each one of the codewords of the second subset of the codewords from the first data payload.
  • the first message further comprises a length indicator indicating a length of the message.
  • the first message further comprises a feedback mode indicator indicating a format of the first message.
  • the second message further includes a second data payload.
  • a first device includes a non- transitory memory storage comprising instructions, and one or more processors in communication with the memory storage.
  • the one or more processors execute the instructions to transmit, to a second device, a first data payload comprising codewords encoded from a plurality of non-overlapping portions of information bits, receive, from the second device, a first message including an acknowledgement indicator indicating a first subset of the codewords were unsuccessfully decoded, and transmit, to the second device, a second message including at least one retransmitted codeword, wherein portions of information bits used to encode the at least one retransmitted codeword overlaps with the first subset of the codewords that were unsuccessfully decoded.
  • the acknowledgement indicator comprises a bitmap of all codewords from the first data payload, with each bit of the bitmap corresponding to a codeword in the first data payload.
  • the acknowledgement indicator comprises a number representing an index associated with each one of the codewords of the first plurality of codewords from the first data payload.
  • the first message further comprises a length indicator indicating a length of the message.
  • the first message further comprises a feedback mode indicator indicating a configuration of the message.
  • the second message further includes a second data payload.
  • acknowledgement indicator further indicates a second subset of the codewords successfully decoded.
  • An advantage of a preferred embodiment is that only the codeword or set of codewords that failed decoding is retransmitted, thereby reducing the overhead associated with error recovery. Yet another advantage of a preferred embodiment is that the retransmitted codeword or set of codewords is concatenated with other transmissions to further reduce error recovery overhead.
  • Yet another advantage of a preferred embodiment is that the system throughput is improved due to fewer and shorter retransmissions when errors occur.
  • FIG. l shows an example communication system consisting of an infrastructure Basic Service Set (BSS);
  • BSS Basic Service Set
  • Figure 2 illustrates a data plot of a distribution (or normalized histogram) of failed codewords in an MPDU as a function of packet error rate (PER);
  • Figure 3 illustrates a data plot comparing MPDU packet error rate and LDPC codeword block error rate
  • Figure 4 illustrates a diagram of an example A-MPDU and a plurality of codewords generated therefrom
  • Figure 5 illustrates an example received A-MPDU highlighting failed codewords
  • FIGS 6A-6D illustrate example codeword Block-ACKs (CBACKs) according to example embodiments presented herein;
  • Figure 7 illustrates a first example message including the codewords or portions thereof that did not decode correctly according to example embodiments presented herein;
  • Figure 7B illustrates a second example message including the codewords or portions thereof that did not decode correctly as well as concatenated MPDUs according to example embodiments presented herein;
  • Figure 8A illustrates a flow diagram of example operations occurring in a receiving device according to example embodiments presented herein;
  • Figure 8B illustrates a flow diagram of example operations occurring in a transmitting device according to example embodiments presented herein
  • Figure 9 illustrates a flow diagram of example operations occurring in a receiving device receiving a data payload where some codewords or portions of the data payload fail decoding, and an appropriate CBACK message is generated and transmitted according to example embodiments presented herein;
  • Figure to illustrates a flow diagram of example operations occurring in a transmitting device retransmitting a data payload containing codewords that fail decoding in a previous transmission, for which a CBACK message was received, possibly concatenated together with new MPDUs according to example embodiments presented herein;
  • Figure n illustrates an example communication system according to example embodiments presented herein;
  • FIGS 12A and 12B illustrate example devices that may implement the methods and teachings according to this disclosure.
  • Figure 13 is a block diagram of a computing system that may be used for implementing the devices and methods disclosed herein.
  • FIG. 1 shows an example communication system too consisting of an infrastructure BSS.
  • Communication system too includes an access point (AP) 105 that is serving a plurality of stations (STAs), such as STAs 110, 112, 114, 116, and 118.
  • AP 105 controls certain aspects (such as radio frequency channel, transmission power limit, authentication, security, etc.) of communication with or among its associated stations.
  • wireless resources for both uplink (links from STAs to AP) and downlink (links from AP to STAs) transmissions are accessed by transmitters based on a distributed contention mechanism commonly referred to as carrier sensing multiple access with collision avoidance (CSMA/CA).
  • CSMA/CA carrier sensing multiple access with collision avoidance
  • APs may also be commonly referred to as Node Bs, evolved Node Bs (eNBs), next generation (NG) Node Bs (gNBs), master eNBs (MeNBs), secondary eNBs (SeNBs), master gNBs (MgNBs), secondary gNBs (SgNBs), network controllers, control nodes, base stations, access nodes, transmission points (TPs), transmission-reception points (TRPs), cells, carriers, macro cells, femtocells, pico cells, and so on, while STAs may also be commonly referred to as user equipment (UEs), mobile stations, mobiles, terminals, users, subscribers, stations, and the like.
  • APs may provide wireless access in accordance with one or more wireless communication protocols, e.g., Wi-Fi
  • LTE Long Term Evolution
  • LTE-A LTE advanced
  • 5G 5G LTE
  • 5G NR High Speed Packet Access
  • HSPA High Speed Packet Access
  • a data payload of a data transmission between two stations includes one or more media access control (MAC) Protocol Data Units (MPDUs). If multiple MPDUs are transmitted, the MPDUs are aggregated into an aggregated MPDU (A-MPDU).
  • the receiving station attempts to decode the received data and provides an indicator to the transmitting station indicating which MPDU(s) failed decoding and needs to be retransmitted.
  • the indicator may be sent via an acknowledgement (ACK) or a block acknowledgement (Block-ACK) feedback message.
  • ACK acknowledgement
  • Block-ACK block acknowledgement
  • the data payload is typically encoded to provide efficient transmission, error detection capability, error correction capability, or a combination thereof to the transmission of the data payload.
  • the data payload is typically encoded using either binary convolutional coding (BCC) or low density parity check (LDPC) encoders.
  • BCC binary convolutional coding
  • LDPC low density parity check
  • the whole stream of information bits is fed sequentially into a generator that generates coded bits.
  • Each contiguous subset of coded bits is a function of the information bits currently residing in the buffer of the generator, which is typically on the order of 6 bits in size.
  • the information bits are divided into separate, non overlapping subsets (or portions) which undergo separate encoding.
  • the information bits may be padded with so-called shortening bits, pre-forward error correcting (FEC) padding, or may be fully or partially repeated.
  • FEC forward error correcting
  • the number of shortening, repetition, puncturing, or pre-FEC bits depend on the A-MPDU size, as well as the overall transmission duration.
  • an MPDU may include multiple codewords, where each codeword may span multiple MPDUs or parts thereof.
  • BCC encoding the entire data payload undergoes BCC encoding sequentially, substantially yielding a single codeword.
  • different codewords are processed independently, both by the encoder on the transmitter’s side and by the decoder on the receiver’s side. This independence between codewords (or corresponding MPDU portions) allows individual codewords to be separately encoded or decoded without requiring bits from other codewords.
  • the data payload may be divided or partitioned into several portions of predefined length, where each portion undergoes BCC or LDPC coding separately (but all portions of the data payload use the same coding scheme, either BCC or LDPC). Therefore, in terms of coding, there is no overlap between the portions of the data payload.
  • the codewords generated from the individual portions of the data payload may be generated independently of one another. Examples of portions may include a plurality of data bits that are used to generate individual codewords or groups of a small number of codewords (2, 3, or 4, for example).
  • the existing block acknowledgment (Block-Ack or BACK) mechanism implemented in existing IEEE 802.11 technical standards requires that the station receiving the MPDU (hereafter referred to as the receiving station) send to the station that transmitted the MPDU (hereafter referred to as the transmitting station) an indicator indicating that the MPDU failed decoding.
  • the indicator may in general be referred to as an acknowledgement, which can indicate either decoding success (positive Ack) or failure (Negative Ack, or Nack for short).
  • the transmitting station retransmits the entire MPDU, regardless the number of failed decoded bits in the MPDU.
  • the retransmission of the entire MPDU leads to significant error recovery overhead, because, as in many cases of MPDU failure, only a small number of codewords or portions within the MPDU actually failed.
  • Figure 2 illustrates a data plot 200 of a distribution of failed codewords in an MPDU as a function of packet error rate (PER).
  • the distribution is applicable for a case of 1500 byte MPDUs using MCS 1 (QPSK rate 1/2), with a 20 MHz channel bandwidth over a TGn-D NLOS channel.
  • MCS 1 QPSK rate 1/2
  • Figure 2 in a majority of situations, either very few codewords fail or all codewords fail, with an average number of failed codewords being approximately 6.
  • a single failed codeword per MPDU accounts for more than 30% of the failed MPDUs (shown as bar 205), while MPDUs with one, two, or three failed codewords account together for more than 50% of the failed MPDUs (a sum of bars 205, 207, and 209).
  • Figure 3 illustrates a data plot 300 comparing MPDU packet error rate and LDPC codeword block error rate.
  • the comparison applies for a case of 1500 byte MPDUs with MCS 1 (QPSK rate 1/2), in a 20 MHz channel.
  • the comparison also assumes a Task Group n (TGn-D) non-line-of-sight (NLOS) channel.
  • TGn-D Task Group n
  • NLOS non-line-of-sight
  • FIG. 4 illustrates a diagram 400 of an example A-MPDU 405 and a plurality of codewords generated therefrom.
  • A-MPDU 405 comprises five MPDUs, such as MPDU_i 407, MPDU_2 408, MPDU 3 409, and MPDU _5 410, and padding bits 411.
  • Each MPDU of A-MPDU 405 is 2000 bits long, and padding bits 411 is 20 bits long.
  • A-MPDU 405 (or the MPDUs and padding bits 411 making up A-MPDU 405) are fed into an encoder, which encodes the bits to produce a plurality of codewords 420.
  • LPDC codeword_i 425 is comprised of 910 information bits 440 and 910 parity bits 442. Other codewords may have different numbers of information bits or parity bits.
  • a single bit of an MPDU fails, then a single LDPC codeword (or similarly, a single BCC portion) fails.
  • the receiving device sends an acknowledgement indicator to the transmitting device that indicates to the transmitting device that the MPDU failed.
  • the transmitting device retransmits the entire MPDU. If, for example, a single bit of codeword_i 425 failed, the receiving device will send an acknowledgement indicator indicating that MPDU_i 407 failed, although the other codewords of MPDU_i 407 (codeword_2 427 and codeword 3 429) decoded successfully.
  • a system and method for retransmitting failed codewords or portions of MPDUs is provided. Instead of indicating that the MPDU failed to decode correctly, a receiving device indicates particular codewords or portions of the MPDU that were decoded incorrectly, and the transmitting device retransmits only those codewords or portions. The retransmission of a subset of the MPDU data reduces the error recovery overhead.
  • FIG. 5 illustrates an example received A-MPDU 500 highlighting failed codewords.
  • A-MPDU 500 includes four MPDUs, a first MPDU 505, a second MPDU 507, a third MPDU 509, and a fourth MPDU 511.
  • Each MPDU of A-MPDU 500 includes more than one codeword.
  • first MPDU 505 includes codewords 515, 516, and 517
  • second MPDU 507 includes three codewords
  • third MPDU 509 includes three codewords
  • fourth MPDU 511 includes seven codewords.
  • A- MPDU 500 is shown in Figure 5 as being comprised of four MPDUs, an A-MPDU may have any number of MPDUs.
  • MPDUs of an A-MPDU may have the same (or different number) of codewords each. Therefore, example A-MPDU 500 shown in Figure 5 should not be construed as being limiting to either the scope or spirit of the example embodiments.
  • A-MPDU 500 as received by a receiving device, includes some codewords that failed decoding.
  • codeword 516 of first MPDU 505 failed decoding, as do codewords 520 and 521 of second MPDU 507, and codewords 525 and 526 of fourth MPDU 511. All three codewords of third MPDU 509 were successfully decoded by the receiving device. If the existing BACK mechanism were being used, the receiving device would send an acknowledgement indicator to the transmitting device indicating that first MPDU 505, second MPDU 507, and fourth MPDU 511 failed decoding and need retransmission.
  • first MPDU 505, second MPDU 507, and fourth MPDU 511 failed decoding.
  • two of the three codewords of first MPDU 505 were decoded successfully, while five of the seven codewords of fourth MPDU 511 were decoded successfully.
  • simply retransmitting the MPDUs would needlessly incur recovery overhead.
  • a transmitting device is configured to retransmit codewords that failed within previous transmission(s).
  • a receiving device that is the intended receiver of the previous transmission(s) failed to successfully decode at least one codeword or portion, and sends an acknowledgement indicator to the transmitting device, the acknowledgement indicator indicating which codewords or portions were not decoded correctly. There may be many different forms of the acknowledgment indicator.
  • the receiving device responds to a transmission from the transmitting device with a codeword Rlock-ACK (CBACK) message.
  • the CBACK message is sent back to the transmitting device.
  • the CBACK message includes an indicator indicating to the transmitting device which codewords or portions failed to decode properly at the receiving device.
  • the acknowledgement indicator may be a bitmap of the codewords or portions in the transmission which failed decoding, with a first bit value indicating that the associated codeword or portion failed decoding and a second bit value indicating that the associated codeword or portion succeeded decoding.
  • the position of the bits in the bitmap corresponds to the position of the codeword or portion in the previous transmission, for example.
  • FIG. 6A illustrates a first example CBACK 6oo.
  • CBACK 6oo includes a bitmap 605 with each bit being associated with a codeword or portion of a data payload (e.g., an A- MPDU).
  • bitmap 605 is the acknowledgement indicator. If a particular bit is set to a first value (e.g., 1) that indicates that the associated codeword or portion failed decoding. If a particular bit is set to a second value (e.g., 0), the associated codeword or portion succeeded decoding.
  • CBACK 600 also includes a CBACK mode field 606.
  • a value stored in CBACK mode field 606 indicates the format of the information stored in the acknowledgement indicator.
  • CBACK 600 may also include a length field 607.
  • Length field 607 contains a value corresponding to the length of bitmap 605. In other words, length field 607 specifies the number of codewords being acknowledged in CBACK 600.
  • bit 610 corresponds to codeword 515
  • bit 611 corresponds to codeword 516
  • bit 612 corresponds to codeword 517
  • bit 613 corresponds to codeword 520
  • bit 614 corresponds to codeword 521
  • bit 615 corresponds to codeword 525
  • bit 616 corresponds to codeword 526.
  • Codewords 515 and 517 were successfully decoded, hence, bits 610 and 612 are set to binary zero.
  • bits 611, 613, 614, 615, and 616 are set to binary one.
  • the values of bits may be reversed without impacting the scope or spirit of the example embodiments.
  • the acknowledgement indicator may be a list of values associated with the position of codewords or portions failing decoding in the transmission.
  • the values in the list of values may be ordinal numbers, for example, corresponding to the position of the codewords or portions that failed decoding out of all of the codewords or portions in the transmission.
  • values in the list of values may be ordinal numbers, for example, corresponding to the position of the codewords or portions that succeeded decoding out of all of the codewords or portions in the transmission.
  • Listing the codewords or portions that succeeded decoding may be efficient in situations where a majority of the codewords or portions failed decoding, for example.
  • FIG. 6B illustrates a second example CBACK 620.
  • CBACK 620 includes a list of values 625 with each value corresponding to a codeword or portion of a data payload (e.g., an A- MPDU) that failed decoding (or alternatively, succeeded decoding).
  • list of values 625 is the acknowledgement indicator.
  • Each value in list of values 625 is an ordinal number associated with the codeword or portion.
  • CBACK 620 also includes a CBACK mode field 626.
  • a value stored in CBACK mode field 626 indicates the format of the information stored in the acknowledgement indicator. As an example, if CBACK mode field 626 contains a two, the acknowledgement indicator is in the form of a list of values, e.g., list of values 625.
  • the values in list of values 625 are associated with the codewords of A-MPDU 500 of Figure 5.
  • List of values 625 includes values 1 (contained in value 630), 3 (contained in value 631), 4 (contained in value 632), 9 (contained in value 633), and 14 (contained in value 634).
  • the values correspond to codewords 516, 520, 521, 525, and 526, which all failed decoding.
  • the ordinal values stored in list of values 625 may be reversed, inverted, permuted, or otherwise changed without impacting the scope or spirit of the example embodiments.
  • the acknowledgement indicator may be a list of values associated with the position of codewords or portions failing decoding in the transmission, where the length of the acknowledgement indicator is variable and is a function of the position of the failed codewords or portions within the transmission and the amount of memory available at the receiving device.
  • the values in the list of values may be ordinal numbers, for example, corresponding to the position of the codewords or portions that failed decoding out of all of the codewords or portions in the transmission.
  • a number of bits used to store the values is a function of the position of the failed codewords or portions. Changing the number of bits used to represent the values allows for the minimization of the acknowledgement indicator size, which helps to reduce the overhead as well as storage requirements.
  • FIG. 6C illustrates a third example CBACK 640.
  • CBACK 640 includes a list of values 645 with each value corresponding to a codeword or portion of a data payload (e.g., an A- MPDU) that failed decoding (or alternatively, succeeded decoding).
  • list of values 645 is the acknowledgement indicator.
  • Each value in list of values 645 is an ordinal number associated with the codeword or portion.
  • the number of bits per value in list of values 645 is set based on the largest ordinal value stored in list of values 645. As an example, if the largest ordinal value is 8, then each value may be represented using 3 bits, while if the largest ordinal value is 16, then each value may be represented using 4 bits.
  • CBACK 640 also includes a CBACK mode field 646.
  • a value stored in CBACK mode field 646 indicates the format of the information stored in the acknowledgement indicator. As an example, if CBACK mode field 646 contains a two, the acknowledgement indicator is in the form of a list of values, e.g., list of values 645, but with dynamic size for the values in list of values 645.
  • FIG. 6D illustrates a fourth example CBACK 660.
  • CBACK 660 includes a list of values 665 with each value corresponding to a codeword or portion of a data payload (e.g., an A- MPDU) that failed decoding (or alternatively, succeeded decoding.
  • list of values 665 is the acknowledgement indicator.
  • Each value in list of values 665 is an ordinal number associated with the codeword or portion.
  • the number of bits per value in list of values 665 is set to the largest number of codewords or portions carried in the data payload. As shown in Figure 6D, each value in list of values 665 is represented by a 12-bit value, hence the largest value stored is 4096.
  • CBACK 640 also includes a CBACK mode field 646.
  • a value stored in CBACK mode field 666 indicates the format of the information stored in the acknowledgement indicator.
  • the acknowledgement indicator is in the form of a list of values, e.g., list of values 665, but with fixed size for the values in list of values 665.
  • the receiving device responds to a transmission from the transmitting device with a Block-ACK message and a CBACK message.
  • the Block-ACK message and the CBACK message are sent to the transmitting device. It may be possible that the receiving device does not have sufficient storage to store the log likelihood ratios (LLRs) corresponding to the failed codewords or portions.
  • the receiving device may send an additional indicator indicating which codeword(s) failed decoding and whose associated LLRs are stored in storage of the receiving device. Further, the receiving device may send another indicator to the transmitting device indicating failed codewords or portions for which LLRs are not stored in storage of the receiving device. The indicator may be sent using the MPDU- based Block-ACK message, for example.
  • the transmitting device receives an MPDU- based Block-ACK message.
  • the acknowledgement indicator indicates which codewords or portions did not decode correctly.
  • the transmitting device retransmits the codewords or portions, as indicated by the acknowledgement indicator.
  • the transmitting device transmits the codewords or portions that did not decode correctly to the receiving device.
  • the transmitting device upon receiving the acknowledgement indicator indicating the codewords or portions that did not decode correctly, transmits the codewords or portions that did not decode correctly.
  • the transmitting device generates a message including the codewords or portions that did not decode correctly and transmits the message.
  • Figure 7 illustrates a first example message 700 including the codewords or portions that did not decode correctly.
  • Message 700 includes a codeword retransmission (CW- RETX) field 705 that includes an indicator indicating that message 700 includes a retransmission of codewords or portions that did not decode correctly.
  • the indicator may be a multi-value indicator, with a first value indicating that the message includes a retransmission of codewords or portions that did not decode correctly, and a second value indicating that the message does not include a retransmission of codewords or portions that did not decode correctly.
  • Message 700 also includes a data portion 706 that includes the codewords or portions that did not decode correctly.
  • the codewords in data portion 706 are retransmissions of the codewords of A-MPDU 500 of Figure 5 that failed decoding.
  • the codewords include codeword 516 of first MPDU 505 failed decoding (shown as codeword 707), as do codewords 520 and 521 of second MPDU 507 (shown as codewords 708 and 709), and codewords 525 and 526 of fourth MPDU 511 (shown as codewords 710 and 711).
  • the transmitting device concatenates the codewords or portions that did not decode correctly with one or more new MPDUs into a concatenated payload and transmits the concatenated payload.
  • a new MPDU may be an MPDU that is not part of the previous transmission(s) that includes the codewords or portions that failed decoding.
  • Figure 7B illustrates a second example message 720 including the codewords or portions that did not decode correctly as well as concatenated MPDUs.
  • Message 720 includes a CW-RETX field 725 that includes an indicator indicating that message 720 includes a retransmission of codewords or portions that did not decode correctly and that message 720 includes at least one new MPDU transmission.
  • the indicator may be a multi-value indicator, with a first value indicating that the message includes a retransmission of codewords or portions that did not decode correctly and the at least one new MPDU, and a second value indicating that the message does not include a retransmission of codewords or portions that did not decode correctly.
  • Message 720 also includes a data portion 726 that includes the codewords or portions that did not decode correctly.
  • Message 720 also includes at least one new MPDU, e.g., MPDUs 730 and 731.
  • the at least one new MPDU may be placed between CW-RETX field 725 and data portion 726.
  • the at least one new MPDU may be placed before CW-RETX field 725. Therefore, the discussion of the at least one new MPDU being at the end of data portion 726 should not be construed as being limiting to the scope or spirit of the example embodiments.
  • the LDPC parameters (such as number of information, shortening, puncturing, and repetition bits within each LDPC codeword, as well as the number and value of the pre-FEC bits) are known to both the transmitting device and the receiving device. Furthermore, the LDPC parameters are fixed or remain constant for a specified consecutive number of transmissions. Therefore, both the transmitting device and the receiving device can keep track of the LDPC parameters for new and retransmitted codewords.
  • each newly transmitted MPDU (and its respective codewords or portions) is encoded using a different set of LDPC parameters (such as shortening, puncturing, repetition, and pre-FEC bits).
  • LDPC parameters such as shortening, puncturing, repetition, and pre-FEC bits.
  • transmissions that include retransmitted codewords or portions and new MPDUs are encoded using the same LDPC parameters (such as shortening, puncturing, and repetition bits) as those used for the oldest retransmitted codeword(s).
  • the oldest retransmitted codeword(s) refers to the codeword(s) within the transmission that is being retransmitted the greatest number of times.
  • the length of the CBACK message is variable and may be a function of the position of the failed codewords or portions within the A-MPDU and the amount of storage available at the receiving device.
  • the CBACK message may include the length of a bitmap used to indicate with codewords or portions failed.
  • the length of the CBACK message is negotiated between the transmitting device and the receiving device (or configured by one of the devices and signaled to the other) prior to the transmission.
  • the length of the CBACK message is not known by the receiving device prior to reception of the CBACK message.
  • the receiving device may continue receiving the CBACK message until an end of message is received, for example.
  • the receiving device may continue receiving the CBACK message until an end of message is detected, for example.
  • hybrid automatic repeat request is used to enhance decoding performance.
  • HARQ operates by combining post-equalization values or log likelihood ratio (LLR) values for past and current transmissions
  • LLR log likelihood ratio
  • HARQ maybe used with per-codeword transmissions by combining LLRs respective to retransmissions of the failed codewords, hence further improving decoding performance.
  • HARQ requires the retransmission to include the same coded bits or a subset of the coded bits, a mechanism supporting the retransmission of codewords lays the foundation for simpler HARQ support with little or no overhead.
  • HARQ requires that the same coded bits (or a subset thereof) be retransmitted
  • supporting codeword or portion retransmission lays the foundation for HARQ combining.
  • the receiving device upon determining that the transmission includes retransmitted codewords or portions, the receiving device combines the LLRs associated with the retransmitted codewords or portions with stored LLRs associated with past transmissions of these codewords or portions. The combining of the LLRs may yield higher probability of successful decoding at the receiving device.
  • HARQ operates by combining past and current transmissions (or their respective soft bits or LLRs).
  • HARQ may be used with per-codeword or per-portion transmission by combining retransmissions of failed codewords or portions.
  • FIG. 8A illustrates a flow diagram of example operations 8oo occurring in a receiving device.
  • Operations 8oo may be indicative of operations occurring in a receiving device as the receiving device receives and decodes a transmission with codewords or portions that do not decode successfully.
  • Operations 8oo begin with the receiving device receiving a MPDU from a transmitting device (block 805).
  • the receiving device attempts to decode the MPDU but codewords or portions of the MPDU failed to be decoded successfully.
  • the receiving device sends an acknowledgement indicator to the transmitting device (block 807).
  • the receiving device sends an acknowledgement indicator to the transmitting device (block 807).
  • acknowledgement indicator indicates the codewords or portions that were not successfully decoded.
  • the acknowledgement indicator may be sent in a CBACK message.
  • the acknowledgement indicator may be in the form of a bitmap with individual bits in the bitmap representing codewords or portions of the MPDU.
  • the receiving device receives a retransmission of the codewords or portions that were unsuccessfully decode (block 809).
  • the receiving device decodes the retransmission.
  • the successful decoding of the codewords or portions may take one or more retransmissions, which is not shown in operations 800.
  • Figure 8B illustrates a flow diagram of example operations 850 occurring in a transmitting device.
  • Operations 850 may be indicative of operations occurring in a transmitting device as the transmitting device transmits a transmission with codewords or portions that do not decode successfully.
  • Operations 850 begin with the transmitting device transmitting a MPDU to a receiving device (block 855).
  • the transmitting device receives an acknowledgement indicator from the receiving device (block 857).
  • the acknowledgement indicator indicates that codewords or portions of the MPDU were unsuccessfully decoded by the receiving device.
  • the acknowledgement indicator also indicates which codewords or portions of the MPDU the receiving device was unable to decode.
  • the transmitting device retransmits the codewords or portions (block 859).
  • the successful decoding of the codewords or portions may take one or more retransmissions, which is not shown in operations 450.
  • Figure 9 illustrates a flow diagram of example operations 900 occurring in a receiving device receiving a data payload where some codewords or portions of the data payload fail decoding, and an appropriate CBACK message is generated and transmitted.
  • Operations 900 may be indicative of operations occurring in a receiving device as the receiving device receives a data payload where some codewords or portions of the data fail decoding. Although operations 900, as shown in Figure 9, refer to codewords, the example embodiments presented herein are operable with other types of portions of the data payload as well.
  • Operations 900 begin with the receiving device receiving a data payload (block 905).
  • the data payload may be in the form of one or more MPDUs, with each MPDU including one or more codewords or portions.
  • the data payload may be received in a message, for example.
  • the receiving device atempts to decode the codewords or portions (block 907).
  • the receiving device attempts to separately decode the codewords or portions, using a LPDC or BCC decoder, for example.
  • the receiving device performs a check to determine if any of the codewords or portions failed to decode (block 909). If all of the codewords or portions decoded successfully, the receiving device continues processing the decoded data payload.
  • the receiving device If one or more codewords or portions failed to decode, the receiving device generates an acknowledgement indicator (block 911).
  • the acknowledgement indicator maybe generated in accordance with the one or more codewords or portions that failed to decode.
  • the acknowledgement indicator may be in the form of a bitmap or a list of values, for example.
  • the receiving device may determine a CBACK mode value corresponding to the acknowledgement indicator generated (block 913). As an example, the CBACK mode value equal to zero may indicate that the acknowledgement indicator is a bitmap. While the CBACK mode value equal to one may indicate that the
  • acknowledgement indicator is a list of values
  • the CBACK mode value equal to two may indicate that the acknowledgement indicator is a list of values and a length of the message conveying the acknowledgement indicator is included.
  • the receiving device may determine the length of a CBACK message used to convey the acknowledgement indicator (block 915).
  • the receiving device generates the CBACK message (block 917).
  • the CBACK message includes the acknowledgement indicator.
  • the CBACK message may include a CBACK mode value or the length of the CBACK message.
  • the receiving device transmits the CBACK message (block 919).
  • the receiving device receives a message with a subset of the one or more codewords or portions that failed decoding (block 921).
  • the message may include one or more codewords or portions that are encoded from non-overlapping portions of information bits that overlaps with a subset of the one or more codewords or portions that failed decoding, for example.
  • the transmitting device may have generated the one or more codewords or portions from the information bits of a subset of the one or more codewords or portions that failed decoding.
  • the message may also include new data, in the form of MPDUs, for example.
  • the new data may be appended or concatenated to the one or more codewords or portions that failed decoding.
  • Figure 10 illustrates a flow diagram of example operations lOOO occurring in a transmitting device retransmitting a data payload containing codewords that fail decoding in a previous transmission, for which a CBACK message was received, possibly with concatenated together with new MPDUs.
  • Operations lOOO may be indicative of operations occurring in a transmitting device as the transmitting device transmits a data payload where some codewords or portions of the data fail decoding.
  • operations tooo as shown in Figure to, refer to codewords, the example embodiments presented herein are operable with other types of portions of the data payload as well.
  • the transmitting device transmitting a data payload (block 1005).
  • the data payload may be in the form of one or more MPDUs, with each MPDU including one or more codewords or portions.
  • the data payload may be transmitted in a message, for example.
  • the transmitting device performs a check to determine if a CBACK message has been received (block 1007). If the CBACK message has not been received, the transmitting device may continue with other operations.
  • the transmitting device processes the CBACK message to determine an acknowledgement indicator (block 1009).
  • the acknowledgement indicator may be in the form of a bitmap or a list of values, for example.
  • the CBACK message may also include a CBACK mode value and a message length value. As an example, the CBACK mode value equal to zero may indicate that the acknowledgement indicator is a bitmap. While the CBACK mode value equal to one may indicate that the acknowledgement indicator is a list of values, and the CBACK mode value equal to two may indicate that the acknowledgement indicator is a list of values and a length of the message conveying the acknowledgement indicator is included.
  • the transmitting device generates a new message with one or more codewords or portions of the data payload to retransmit, according to the content of the
  • the new message may include one or more codewords or portions that are encoded from non-overlapping portions of information bits that overlaps with a subset of the one or more codewords or portions that failed decoding, for example.
  • the transmitting device may generate codewords or portions from the information bits of a subset of the one or more codewords or portions that failed decoding.
  • the transmitting device may append or concatenate new data along with the one or more codewords or portions (block 1013).
  • the transmitting device transmits the new message (block 1015).
  • the transmitting device returns to block 1007 to determine if a CBACK message has been received for the new message.
  • Figure 11 illustrates an example communication system 1100.
  • the system 1100 enables multiple wireless or wired users to transmit and receive data and other content.
  • the system 1100 may implement one or more channel access methods, such as code division multiple access (CDMA), time division multiple access (TDMA), spatial division multiple access (SDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), single-carrier FDMA (SC-FDMA), non-orthogonal multiple access (NOMA), or some combinations thereof.
  • CDMA code division multiple access
  • TDMA time division multiple access
  • SDMA spatial division multiple access
  • FDMA frequency division multiple access
  • OFDMA orthogonal FDMA
  • SC-FDMA single-carrier FDMA
  • NOMA non-orthogonal multiple access
  • the communication system noo includes electronic devices (ED) nioa- liioc, radio access networks (RANs) H2oa-ii2ob, a core network 1130, a public switched telephone network (PSTN) 1140, the Internet 1150, and other networks 1160. While certain numbers of these components or elements are shown in Figure 11, any number of these components or elements may be included in the system 1100.
  • ED electronic devices
  • RANs radio access networks
  • PSTN public switched telephone network
  • the EDs liioa-iitoc are configured to operate or communicate in the system 1100.
  • the EDs moa-iiioc are configured to transmit or receive via wireless or wired communication channels.
  • Each ED moa-iiioc represents any suitable end user device and may include such devices (or may be referred to) as a user equipment or device (UE), wireless transmit or receive unit (WTRU), mobile station, fixed or mobile subscriber unit, cellular telephone, personal digital assistant (PDA), smartphone, laptop, computer, touchpad, wireless sensor, or consumer electronics device.
  • UE user equipment or device
  • WTRU wireless transmit or receive unit
  • PDA personal digital assistant
  • smartphone laptop, computer, touchpad, wireless sensor, or consumer electronics device.
  • the RANs H2oa-ii2ob here include base stations ii70a-ii70b, respectively.
  • Each base station H70a-ii70b is configured to wirelessly interface with one or more of the EDs moa-iiioc to enable access to the core network 1130, the PSTN 1140, the Internet 1150, or the other networks 1160.
  • the base stations H70a-ii70b may include (or be) one or more of several well-known devices, such as a base transceiver station (BTS), a Node-B (NodeB), an evolved NodeB (eNodeB), a Next Generation (NG) NodeB (gNB), a Home NodeB, a Home eNodeB, a site controller, an access point (AP), or a wireless router.
  • BTS base transceiver station
  • NodeB Node-B
  • eNodeB evolved NodeB
  • NG Next Generation
  • gNB Next Generation NodeB
  • gNB Next Generation NodeB
  • a Home NodeB a Home eNodeB
  • AP access point
  • the EDs liioa-iitoc are configured to interface and communicate with the Internet 1150 and may access the core network 1130, the PSTN 1140, or the other networks 1160.
  • the base station 1170a forms part of the RAN 1120a, which may include other base stations, elements, or devices.
  • the base station 1170b forms part of the RAN 1120b, which may include other base stations, elements, or devices.
  • Each base station H70a-ii70b operates to transmit or receive wireless signals within a particular geographic region or area, sometimes referred to as a“cell.”
  • MIMO multiple-input multiple-output
  • the base stations H70a-ii70b communicate with one or more of the EDs moa-iiioc over one or more air interfaces 1190 using wireless communication links.
  • the air interfaces 1190 may utilize any suitable radio access technology. It is contemplated that the system tioo may use multiple channel access functionality, including such schemes as described above.
  • the base stations and EDs implement IEEE 802.11 (Wi-Fi), 5G New Radio (NR), LTE, LTE-A, or LTE-B. Of course, other multiple access schemes and wireless protocols may be utilized.
  • the RANs Ii20a-it20b are in communication with the core network 1130 to provide the EDs liioa-nioc with voice, data, application, Voice over Internet Protocol (VoIP), or other services. Understandably, the RANs H2oa-ii2ob or the core network 1130 maybe in direct or indirect communication with one or more other RANs (not shown).
  • the core network 1130 may also serve as a gateway access for other networks (such as the PSTN 1140, the Internet 1150, and the other networks 1160).
  • some or all of the EDs liioa-nioc may include functionality for communicating with different wireless networks over different wireless links using different wireless technologies or protocols. Instead of wireless communication (or in addition thereto), the EDs may communicate via wired communication channels to a service provider or switch (not shown), and to the Internet 1150.
  • Figure 11 illustrates one example of a communication system
  • the communication system 1100 could include any number of EDs, base stations, networks, or other components in any suitable configuration.
  • Figures 12A and 12B illustrate example devices that may implement the methods and teachings according to this disclosure.
  • Figure 12A illustrates an example ED 1210
  • Figure 12B illustrates an example base station 1270. These components could be used in the system 1100 or in any other suitable system.
  • the ED 1210 includes at least one processing unit 1200.
  • the processing unit 1200 implements various processing operations of the ED 1210.
  • the processing unit 1200 could perform signal coding, data processing, power control, input/output processing, or any other functionality enabling the ED 1210 to operate in the system 1100.
  • the processing unit 1200 also supports the methods and teachings described in more detail above.
  • Each processing unit 1200 includes any suitable processing or computing device configured to perform one or more operations.
  • Each processing unit 1200 could, for example, include a microprocessor, microcontroller, digital signal processor, field programmable gate array, or application specific integrated circuit.
  • the ED 1210 also includes at least one transceiver 1202.
  • the transceiver 1202 is configured to modulate data or other content for transmission by at least one antenna or NIC (Network Interface Controller) 1204.
  • the transceiver 1202 is also configured to demodulate data or other content received by the at least one antenna 1204.
  • Each transceiver 1202 includes any suitable structure for generating signals for wireless or wired transmission or processing signals received wirelessly or by wire.
  • Each antenna 1204 includes any suitable structure for transmitting or receiving wireless or wired signals.
  • One or multiple transceivers 1202 could be used in the ED 1210, and one or multiple antennas 1204 could be used in the ED 1210. Although shown as a single functional unit, a transceiver 1202 could also be implemented using at least one transmitter and at least one separate receiver.
  • the ED 1210 further includes one or more input/output devices 1206 or interfaces (such as a wired interface to the Internet 1150).
  • the input/output devices 1206 facilitate interaction with a user or other devices (network communications) in the network.
  • Each input/output device 1206 includes any suitable structure for providing information to or receiving information from a user, such as a speaker, microphone, keypad, keyboard, display, or touch screen, including network interface communications.
  • the ED 1210 includes at least one memory 1208.
  • the memory 1208 stores instructions and data used, generated, or collected by the ED 1210.
  • the memory r2o8 could store software or firmware instructions executed by the processing unit(s) 1200 and data used to reduce or eliminate interference in incoming signals.
  • Each memory 1208 includes any suitable volatile or non-volatile storage and retrieval device(s). Any suitable type of memory may be used, such as random access memory (RAM), read only memory (ROM), hard disk, optical disc, subscriber identity module (SIM) card, memory stick, secure digital (SD) memory card, and the like.
  • the base station 1270 includes at least one processing unit 1250, at least one transceiver 1252, which includes functionality for a transmitter and a receiver, one or more antennas 1256, at least one memory 1258, and one or more input/output devices or interfaces 1266.
  • a scheduler which would be understood by one skilled in the art, is coupled to the processing unit 1250. The scheduler could be included within or operated separately from the base station 1270.
  • the processing unit 1250 implements various processing operations of the base station 1270, such as signal coding, data processing, power control, input/output processing, or any other functionality.
  • the processing unit 1250 can also support the methods and teachings described in more detail above.
  • Each processing unit 1250 includes any suitable processing or computing device configured to perform one or more operations.
  • Each processing unit 1250 could, for example, include a microprocessor, microcontroller, digital signal processor, field programmable gate array, or application specific integrated circuit.
  • Each transceiver 1252 includes any suitable structure for generating signals for wireless or wired transmission to one or more EDs or other devices. Each transceiver 1252 further includes any suitable structure for processing signals received wirelessly or by wire from one or more EDs or other devices. Although shown combined as a transceiver 1252, a transmitter and a receiver could be separate components. Each antenna 1256 includes any suitable structure for transmitting or receiving wireless or wired signals. While a common antenna 1256 is shown here as being coupled to the transceiver 1252, one or more antennas 1256 could be coupled to the transceiver(s) 1252, allowing separate antennas 1256 to be coupled to the transmitter and the receiver if equipped as separate components.
  • Each memoiy 1258 includes any suitable volatile or non-volatile storage and retrieval device(s).
  • Each input/output device 1266 facilitates interaction with a user or other devices (network communications) in the network.
  • Each input/output device 1266 includes any suitable structure for providing information to or receiving/providing information from a user, including network interface communications.
  • FIG. 13 is a block diagram of a computing system 1300 that may be used for implementing the devices and methods disclosed herein.
  • the computing system can be any entity of UE, access network (AN), mobility management (MM), session management (SM), user plane gateway (UPGW), or access stratum (AS).
  • Specific devices may utilize all of the components shown or only a subset of the components, and levels of integration may vary from device to device.
  • a device may contain multiple instances of a component, such as multiple processing units, processors, memories, transmitters, receivers, etc.
  • the computing system 1300 includes a processing unit 1302.
  • the processing unit includes a central processing unit (CPU) 1314, memory 1308, and may further include a mass storage device 1304, a video adapter 1310, and an I/O interface 1312 connected to a bus 1320.
  • CPU central processing unit
  • the bus 1320 may be one or more of any type of several bus architectures including a memoiy bus or memoiy controller, a peripheral bus, or a video bus.
  • the CPU 1314 may comprise any type of electronic data processor.
  • the memory 1308 may comprise any type of non-transitoiy system memoiy such as static random access memoiy (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), read-only memoiy (ROM), or a combination thereof.
  • the memory 1308 may include ROM for use at boot-up, and DRAM for program and data storage for use while executing programs.
  • the mass storage 1304 may comprise any type of non-transitoiy storage device configured to store data, programs, and other information and to make the data, programs, and other information accessible via the bus 1320.
  • the mass storage 1304 may comprise, for example, one or more of a solid state drive, hard disk drive, a magnetic disk drive, or an optical disk drive.
  • the video adapter 1310 and the 1/ O interface 1312 provide interfaces to couple external input and output devices to the processing unit 1302.
  • input and output devices include a display 1318 coupled to the video adapter 1310 and a mouse, keyboard, or printer 1316 coupled to the I/O interface 1312.
  • Other devices maybe coupled to the processing unit 1302, and additional or fewer interface cards may be utilized.
  • a serial interface such as Universal Serial Bus (USB) (not shown) may be used to provide an interface for an external device.
  • USB Universal Serial Bus
  • the processing unit 1302 also includes one or more network interfaces 1306, which may comprise wired links, such as an Ethernet cable, or wireless links to access nodes or different networks.
  • the network interfaces 1306 allow the processing unit 1302 to communicate with remote units via the networks.
  • the network interfaces 1306 may provide wireless communication via one or more transmitters/transmit antennas and one or more receivers/receive antennas.
  • the processing unit 1302 is coupled to a local-area network 1322 or a wide-area network for data processing and communications with remote devices, such as other processing units, the Internet, or remote storage facilities.
  • a signal may be transmitted by a transmitting unit or a transmitting module.
  • a signal may be received by a receiving unit or a receiving module.
  • a signal may be processed by a processing unit or a processing module.
  • Other steps may be performed by a decoding unit or module, or a determining unit or module.
  • the respective units or modules may be hardware, software, or a combination thereof.
  • one or more of the units or modules may be an integrated circuit, such as field programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs).
  • FPGAs field programmable gate arrays
  • ASICs application-specific integrated circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A method implemented by a first device includes receiving from a second device, a first data payload comprising codewords encoded from a plurality of non-overlapping portions of information bits, attempting to decode the codewords from the first data payload, the first device successfully decoding a first subset of codewords from the first data payload and unsuccessfully attempting to decode a second subset of the codewords from the first data payload, transmitting to the second device, a first message including an acknowledgement indicator indicating that the second subset of the codewords were unsuccessfully decoded, and receiving from the second device, a second message including at least one retransmitted codeword, wherein portions of information bits used to encode the at least one retransmitted codeword overlap with the second subset of the codewords from the first data payload without overlapping with the first subset of the codewords from the first data payload.

Description

System and Method for Retransmission of Individual
Codewords
This application claims the benefit of U.S. Provisional Application No. 62/744,451, filed on October 11, 2018, entitled "System and Method for Retransmission of Individual Codewords," which application is hereby incorporated herein by reference in its entirety.
TECHNICAL FIELD
The present disclosure relates generally to a system and method for digital
communications, and, in particular embodiments, to a system and method for the retransmission of individual codewords. BACKGROUND
In IEEE 802.11 wireless networks, a station, which maybe an access point (AP) or a non- AP station (STA), transmits data to another station. The data payload of the transmission includes one or more media access control (MAC) Protocol Data Units (MPDUs). If multiple MPDUs are transmitted, the MPDUs are aggregated into an aggregated MPDU (A-MPDU). When the data payload comprising an (A-)MPDU is sufficiently large, it may be partitioned (or segmented) into a sequence of several payload portions which undergo encoding into one or more independently decodable codewords. The one or more codewords are then modulated and subsequently transmitted over a channel to a receiving station. The receiving station attempts to decode the codeword(s) carried by the received signal, reconstruct the (A-)MPDU data, and provide an indicator to the transmitting station indicating which MPDUs failed being decoded and need to be retransmitted. The indicator may be sent via an acknowledgement (ACK) or a block acknowledgement (Block-ACK) feedback message.
SUMMARY
According to a first aspect, a method implemented by a first device is provided. The method includes receiving, by the first device, from a second device, a first data payload comprising codewords encoded from a plurality of non-overlapping portions of information bits, attempting, by the first device, to decode the codewords from the first data payload, the first device successfully decoding a first subset of codewords from the first data payload and unsuccessfully attempting to decode a second subset of the codewords from the first data payload, transmitting, by the first device, to the second device, a first message including an acknowledgement indicator indicating that the second subset of the codewords were unsuccessfully decoded, and receiving, by the first device, from the second device, a second message including at least one retransmitted codeword, wherein portions of information bits used to encode the at least one retransmitted codeword overlap with the second subset of the the codewords from the first data payload without overlapping with the first subset of the codewords from the first data payload.
In a first implementation form of the method according to the first aspect as such, wherein the acknowledgement indicator comprises a bitmap of all codewords from the first data payload, with each bit of the bitmap corresponding to a codeword in the first data payload.
In a second implementation form of the method according to the first aspect as such or any preceding implementation form of the first aspect, wherein the acknowledgement indicator comprises a number representing an index associated with each one of the codewords of the second subset of the codewords from the first data payload.
In a third implementation form of the method according to the first aspect as such or any preceding implementation form of the first aspect, wherein the first message further comprises a length indicator indicating a length of the message.
In a fourth implementation form of the method according to the first aspect as such or any preceding implementation form of the first aspect, wherein the first message further comprises a feedback mode indicator indicating a format of the first message.
In a fifth implementation form of the method according to the first aspect as such or any preceding implementation form of the first aspect, wherein the second message further includes a second data payload.
In a sixth implementation form of the method according to the first aspect as such or any preceding implementation form of the first aspect, wherein the second data payload and the at least one retransmitted codeword are concatenated.
In a seventh implementation form of the method according to the first aspect as such or any preceding implementation form of the first aspect, wherein coding parameters specifying the coding schemes used for encoding the first data payload and the at least one retransmitted codeword in the second message are the same.
In an eighth implementation form of the method according to the first aspect as such or any preceding implementation form of the first aspect, wherein the coding parameters comprise at least one of a number of information bits within each codeword within the first data payload, a number of shortening bits within each codeword, a number of puncturing bits within each codeword, a number of repetition bits within each codeword, or a number and value of pre-forward error correcting bits of each codeword.
In a ninth implementation form of the method according to the first aspect as such or any preceding implementation form of the first aspect, wherein the first message is a codeword block acknowledgement (CBACK) message.
In a tenth implementation form of the method according to the first aspect as such or any preceding implementation form of the first aspect, wherein the codewords are encoded using a binary convolutional coding (BCC) code or a low density parity check (LDPC) code.
According to a second aspect, a method implemented by a first device is provided. The method includes transmitting, by the first device, to a second device, a first data payload comprising codewords encoded from a plurality of non-overlapping portions of information bits, receiving, by the first device, from the second device, a first message including an acknowledgement indicator indicating a first subset of the codewords were unsuccessfully decoded, and transmitting, by the first device, to the second device, a second message including at least one retransmitted codeword, wherein portions of information bits used to encode the at least one retransmitted codeword overlaps with the first subset of the codewords that were unsuccessfully decoded.
In a first implementation form of the method according to the second aspect as such, wherein the acknowledgement indicator comprises a bitmap of all codewords from the first data payload, with each bit of the bitmap corresponding to a codeword in the first data payload.
In a second implementation form of the method according to the second aspect as such or any preceding implementation form of the second aspect, wherein the
acknowledgement indicator comprises a number representing an index associated with each one of the codewords of the first subset of the codewords from the first data payload.
In a third implementation form of the method according to the second aspect as such or any preceding implementation form of the second aspect, wherein the first message further comprises a length indicator indicating a length of the message. In a fourth implementation form of the method according to the second aspect as such or any preceding implementation form of the second aspect, wherein the first message further comprises a feedback mode indicator indicating a configuration of the message.
In a fifth implementation form of the method according to the second aspect as such or any preceding implementation form of the second aspect, wherein the second message further includes a second data payload.
In a fifth implementation form of the method according to the second aspect as such or any preceding implementation form of the second aspect, wherein the second data payload and the at least one retransmitted codeword are concatenated.
In a sixth implementation form of the method according to the second aspect as such or any preceding implementation form of the second aspect, wherein coding parameters of the first data payload and the at least one retransmitted codeword in the second message are the same.
In a seventh implementation form of the method according to the second aspect as such or any preceding implementation form of the second aspect, wherein the coding parameters comprise at least one of a number of information bits within each codeword, a number of shortening bits within each codeword, a number of puncturing bits within each codeword, a number of repetition bits within each codeword, or a number and value of pre-forward error correcting bits of each codeword.
In an eighth implementation form of the method according to the second aspect as such or any preceding implementation form of the second aspect, wherein the first message is a CBACK message.
In a ninth implementation form of the method according to the second aspect as such or any preceding implementation form of the second aspect, wherein the codewords are encoded using a BCC code or a LDPC code.
In a tenth implementation form of the method according to the second aspect as such or any preceding implementation form of the second aspect, wherein the acknowledgement indicator further indicates a second subset of the codewords successfully decoded.
According to a third aspect, a first device is provided. The first device includes a non- transitory memory storage comprising instructions, and one or more processors in communication with the memory storage. The one or more processors execute the instructions to receive, from a second device, a first data payload comprising codewords encoded from a plurality of non-overlapping portions of information bits, attempt to decode the codewords from the first data payload, the first device successfully decoding a first subset of codewords from the first data payload and unsuccessfully attempting to decode a second subset of the codewords from the first data payload, transmit, to the second device, a first message including an acknowledgement indicator indicating that the second subset of the codewords were unsuccessfully decoded, and receive, from the second device, a second message including at least one retransmitted codeword, wherein portions of information bits used to encode the at least one retransmitted codeword overlap with the second subset of the codewords from the first data payload without overlapping with the first subset of the codewords from the first data payload.
In a first implementation form of the first device according to the third aspect as such, wherein the acknowledgement indicator comprises a bitmap of all codewords from the first data payload, with each bit of the bitmap corresponding to a codeword in the first data payload.
In a second implementation form of the first device according to the third aspect as such or any preceding implementation form of the third aspect, wherein the acknowledgement indicator comprises a number representing an index associated with each one of the codewords of the second subset of the codewords from the first data payload.
In a third implementation form of the first device according to the third aspect as such or any preceding implementation form of the third aspect, wherein the first message further comprises a length indicator indicating a length of the message.
In a fourth implementation form of the first device according to the third aspect as such or any preceding implementation form of the third aspect, wherein the first message further comprises a feedback mode indicator indicating a format of the first message.
In a fifth implementation form of the first device according to the third aspect as such or any preceding implementation form of the third aspect, wherein the second message further includes a second data payload.
According to a fourth aspect, a first device is provided. The first device includes a non- transitory memory storage comprising instructions, and one or more processors in communication with the memory storage. The one or more processors execute the instructions to transmit, to a second device, a first data payload comprising codewords encoded from a plurality of non-overlapping portions of information bits, receive, from the second device, a first message including an acknowledgement indicator indicating a first subset of the codewords were unsuccessfully decoded, and transmit, to the second device, a second message including at least one retransmitted codeword, wherein portions of information bits used to encode the at least one retransmitted codeword overlaps with the first subset of the codewords that were unsuccessfully decoded.
In a first implementation form of the first device according to the fourth aspect as such, wherein the acknowledgement indicator comprises a bitmap of all codewords from the first data payload, with each bit of the bitmap corresponding to a codeword in the first data payload.
In a second implementation form of the first device according to the fourth aspect as such or any preceding implementation form of the fourth aspect, wherein the acknowledgement indicator comprises a number representing an index associated with each one of the codewords of the first plurality of codewords from the first data payload.
In a third implementation form of the first device according to the fourth aspect as such or any preceding implementation form of the fourth aspect, wherein the first message further comprises a length indicator indicating a length of the message.
In a fourth implementation form of the first device according to the fourth aspect as such or any preceding implementation form of the fourth aspect, wherein the first message further comprises a feedback mode indicator indicating a configuration of the message.
In a fifth implementation form of the first device according to the fourth aspect as such or any preceding implementation form of the fourth aspect, wherein the second message further includes a second data payload.
In a sixth implementation form of the first device according to the fourth aspect as such or any preceding implementation form of the fourth aspect, wherein the
acknowledgement indicator further indicates a second subset of the codewords successfully decoded.
An advantage of a preferred embodiment is that only the codeword or set of codewords that failed decoding is retransmitted, thereby reducing the overhead associated with error recovery. Yet another advantage of a preferred embodiment is that the retransmitted codeword or set of codewords is concatenated with other transmissions to further reduce error recovery overhead.
Yet another advantage of a preferred embodiment is that the system throughput is improved due to fewer and shorter retransmissions when errors occur.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present disclosure, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: Figure l shows an example communication system consisting of an infrastructure Basic Service Set (BSS);
Figure 2 illustrates a data plot of a distribution (or normalized histogram) of failed codewords in an MPDU as a function of packet error rate (PER);
Figure 3 illustrates a data plot comparing MPDU packet error rate and LDPC codeword block error rate;
Figure 4 illustrates a diagram of an example A-MPDU and a plurality of codewords generated therefrom;
Figure 5 illustrates an example received A-MPDU highlighting failed codewords;
Figures 6A-6D illustrate example codeword Block-ACKs (CBACKs) according to example embodiments presented herein;
Figure 7 illustrates a first example message including the codewords or portions thereof that did not decode correctly according to example embodiments presented herein;
Figure 7B illustrates a second example message including the codewords or portions thereof that did not decode correctly as well as concatenated MPDUs according to example embodiments presented herein;
Figure 8A illustrates a flow diagram of example operations occurring in a receiving device according to example embodiments presented herein;
Figure 8B illustrates a flow diagram of example operations occurring in a transmitting device according to example embodiments presented herein; Figure 9 illustrates a flow diagram of example operations occurring in a receiving device receiving a data payload where some codewords or portions of the data payload fail decoding, and an appropriate CBACK message is generated and transmitted according to example embodiments presented herein;
Figure to illustrates a flow diagram of example operations occurring in a transmitting device retransmitting a data payload containing codewords that fail decoding in a previous transmission, for which a CBACK message was received, possibly concatenated together with new MPDUs according to example embodiments presented herein;
Figure n illustrates an example communication system according to example embodiments presented herein;
Figures 12A and 12B illustrate example devices that may implement the methods and teachings according to this disclosure; and
Figure 13 is a block diagram of a computing system that may be used for implementing the devices and methods disclosed herein.
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
The making and using of the disclosed embodiments are discussed in detail below. It should be appreciated, however, that the present disclosure provides many applicable concepts that can be embodied in a wide variety of specific contexts. The specific embodiments discussed are merely illustrative of specific ways to make and use the embodiments, and do not limit the scope of the disclosure.
Figure 1 shows an example communication system too consisting of an infrastructure BSS. Communication system too includes an access point (AP) 105 that is serving a plurality of stations (STAs), such as STAs 110, 112, 114, 116, and 118. AP 105 controls certain aspects (such as radio frequency channel, transmission power limit, authentication, security, etc.) of communication with or among its associated stations. Generally speaking, in communication system 100, wireless resources for both uplink (links from STAs to AP) and downlink (links from AP to STAs) transmissions are accessed by transmitters based on a distributed contention mechanism commonly referred to as carrier sensing multiple access with collision avoidance (CSMA/CA). APs may also be commonly referred to as Node Bs, evolved Node Bs (eNBs), next generation (NG) Node Bs (gNBs), master eNBs (MeNBs), secondary eNBs (SeNBs), master gNBs (MgNBs), secondary gNBs (SgNBs), network controllers, control nodes, base stations, access nodes, transmission points (TPs), transmission-reception points (TRPs), cells, carriers, macro cells, femtocells, pico cells, and so on, while STAs may also be commonly referred to as user equipment (UEs), mobile stations, mobiles, terminals, users, subscribers, stations, and the like. APs may provide wireless access in accordance with one or more wireless communication protocols, e.g., Wi-Fi
802.na/b/g/n/ac/ad/ax/ay/be, the Third Generation Partnership Project (3GPP) long term evolution (LTE), LTE advanced (LTE-A), 5G, 5G LTE, 5G NR, High Speed Packet Access (HSPA), etc. While it is understood that communication systems may employ multiple APs capable of communicating with a number of stations, only one AP and five stations are illustrated in Figure 1 for simplicity.
As discussed previously, a data payload of a data transmission between two stations includes one or more media access control (MAC) Protocol Data Units (MPDUs). If multiple MPDUs are transmitted, the MPDUs are aggregated into an aggregated MPDU (A-MPDU). The receiving station attempts to decode the received data and provides an indicator to the transmitting station indicating which MPDU(s) failed decoding and needs to be retransmitted. The indicator may be sent via an acknowledgement (ACK) or a block acknowledgement (Block-ACK) feedback message.
The data payload is typically encoded to provide efficient transmission, error detection capability, error correction capability, or a combination thereof to the transmission of the data payload. In IEEE 802.11 compliant wireless networks, the data payload is typically encoded using either binary convolutional coding (BCC) or low density parity check (LDPC) encoders. In the case of BCC encoding, the whole stream of information bits is fed sequentially into a generator that generates coded bits. Each contiguous subset of coded bits is a function of the information bits currently residing in the buffer of the generator, which is typically on the order of 6 bits in size. In the case of LDPC encoding, several codeword sizes are defined: the information bits are divided into separate, non overlapping subsets (or portions) which undergo separate encoding. In order to align with the predefined LDPC codeword sizes, the information bits may be padded with so- called shortening bits, pre-forward error correcting (FEC) padding, or may be fully or partially repeated. In the existing IEEE 802.11 standards, the number of shortening, repetition, puncturing, or pre-FEC bits depend on the A-MPDU size, as well as the overall transmission duration.
When LDPC encoding is used, an MPDU may include multiple codewords, where each codeword may span multiple MPDUs or parts thereof. When BCC encoding is used, the entire data payload undergoes BCC encoding sequentially, substantially yielding a single codeword. In either BCC or LDPC, different codewords (hence different portion(s) of individual MPDU(s) which they span) are processed independently, both by the encoder on the transmitter’s side and by the decoder on the receiver’s side. This independence between codewords (or corresponding MPDU portions) allows individual codewords to be separately encoded or decoded without requiring bits from other codewords.
According to an example embodiment, the data payload may be divided or partitioned into several portions of predefined length, where each portion undergoes BCC or LDPC coding separately (but all portions of the data payload use the same coding scheme, either BCC or LDPC). Therefore, in terms of coding, there is no overlap between the portions of the data payload. Thusly, the codewords generated from the individual portions of the data payload may be generated independently of one another. Examples of portions may include a plurality of data bits that are used to generate individual codewords or groups of a small number of codewords (2, 3, or 4, for example).
In general, when a single bit of an LDPC-encoded codeword of an MPDU fails, the corresponding whole MPDU is regarded as failed. Similarly, when a single bit of a BCC encoded portion of an MPDU fails, the whole MPDU fails. Hence, the existing block acknowledgment (Block-Ack or BACK) mechanism implemented in existing IEEE 802.11 technical standards requires that the station receiving the MPDU (hereafter referred to as the receiving station) send to the station that transmitted the MPDU (hereafter referred to as the transmitting station) an indicator indicating that the MPDU failed decoding. The indicator may in general be referred to as an acknowledgement, which can indicate either decoding success (positive Ack) or failure (Negative Ack, or Nack for short). The transmitting station, in turn, retransmits the entire MPDU, regardless the number of failed decoded bits in the MPDU. The retransmission of the entire MPDU leads to significant error recovery overhead, because, as in many cases of MPDU failure, only a small number of codewords or portions within the MPDU actually failed. Hence, there is a need for systems and methods for retransmission of individual codewords or portions of an MPDU.
Figure 2 illustrates a data plot 200 of a distribution of failed codewords in an MPDU as a function of packet error rate (PER). The distribution is applicable for a case of 1500 byte MPDUs using MCS 1 (QPSK rate 1/2), with a 20 MHz channel bandwidth over a TGn-D NLOS channel. In this example, there are 13 LDPC codewords per MPDU. As shown in Figure 2, in a majority of situations, either very few codewords fail or all codewords fail, with an average number of failed codewords being approximately 6. As an example, when the PER is 30%, a single failed codeword per MPDU accounts for more than 30% of the failed MPDUs (shown as bar 205), while MPDUs with one, two, or three failed codewords account together for more than 50% of the failed MPDUs (a sum of bars 205, 207, and 209).
Figure 3 illustrates a data plot 300 comparing MPDU packet error rate and LDPC codeword block error rate. The comparison applies for a case of 1500 byte MPDUs with MCS 1 (QPSK rate 1/2), in a 20 MHz channel. The comparison also assumes a Task Group n (TGn-D) non-line-of-sight (NLOS) channel. Although there are 13 LDPC codewords per MPDU, the codeword block error rate (shown as curve 305) is lower than the MPDU packet error rate (shown as curve 310) due to the relatively short codeword length of 1944 bits (compared to the much larger MPDU size of 1500*8=12000 bits, resulting in a higher probability of at least one failed bit within an MPDU).
Figure 4 illustrates a diagram 400 of an example A-MPDU 405 and a plurality of codewords generated therefrom. As shown in Figure 4, A-MPDU 405 comprises five MPDUs, such as MPDU_i 407, MPDU_2 408, MPDU 3 409, and MPDU _5 410, and padding bits 411. Each MPDU of A-MPDU 405 is 2000 bits long, and padding bits 411 is 20 bits long. A-MPDU 405 (or the MPDUs and padding bits 411 making up A-MPDU 405) are fed into an encoder, which encodes the bits to produce a plurality of codewords 420. As an illustrative example, for an LPDC encoder that implements a code with coding rate 1/2 (where k data bits are encoded into n=2k coded bits), then the total 10020 bits of A-MPDU 405 are encoded into 11 LPDC codewords (such as codeword_i 425, codeword_2 427, codeword 3 429, codeword_io 431, and codeword_n 433). Each LPDC codeword is 1820 or 1822 coded bits long after puncturing in this illustrative example and the coded bits are either information bits or parity bits. Codeword_i 425 is comprised of 910 information bits 440 and 910 parity bits 442. Other codewords may have different numbers of information bits or parity bits.
As discussed previously, if a single bit of an MPDU fails, then a single LDPC codeword (or similarly, a single BCC portion) fails. However, with the existing BACK mechanism implemented in existing IEEE 802.11 technical standards, the receiving device sends an acknowledgement indicator to the transmitting device that indicates to the transmitting device that the MPDU failed. The transmitting device retransmits the entire MPDU. If, for example, a single bit of codeword_i 425 failed, the receiving device will send an acknowledgement indicator indicating that MPDU_i 407 failed, although the other codewords of MPDU_i 407 (codeword_2 427 and codeword 3 429) decoded successfully.
According to an example embodiment, a system and method for retransmitting failed codewords or portions of MPDUs is provided. Instead of indicating that the MPDU failed to decode correctly, a receiving device indicates particular codewords or portions of the MPDU that were decoded incorrectly, and the transmitting device retransmits only those codewords or portions. The retransmission of a subset of the MPDU data reduces the error recovery overhead.
Figure 5 illustrates an example received A-MPDU 500 highlighting failed codewords. As shown in Figure 5, A-MPDU 500 includes four MPDUs, a first MPDU 505, a second MPDU 507, a third MPDU 509, and a fourth MPDU 511. Each MPDU of A-MPDU 500 includes more than one codeword. As an example, first MPDU 505 includes codewords 515, 516, and 517, while second MPDU 507 includes three codewords, third MPDU 509 includes three codewords, and fourth MPDU 511 includes seven codewords. Although A- MPDU 500 is shown in Figure 5 as being comprised of four MPDUs, an A-MPDU may have any number of MPDUs. Furthermore, MPDUs of an A-MPDU may have the same (or different number) of codewords each. Therefore, example A-MPDU 500 shown in Figure 5 should not be construed as being limiting to either the scope or spirit of the example embodiments.
A-MPDU 500, as received by a receiving device, includes some codewords that failed decoding. As an example, codeword 516 of first MPDU 505 failed decoding, as do codewords 520 and 521 of second MPDU 507, and codewords 525 and 526 of fourth MPDU 511. All three codewords of third MPDU 509 were successfully decoded by the receiving device. If the existing BACK mechanism were being used, the receiving device would send an acknowledgement indicator to the transmitting device indicating that first MPDU 505, second MPDU 507, and fourth MPDU 511 failed decoding and need retransmission.
However, not every codeword of the MPDUs (first MPDU 505, second MPDU 507, and fourth MPDU 511) failed decoding. As an example, two of the three codewords of first MPDU 505 were decoded successfully, while five of the seven codewords of fourth MPDU 511 were decoded successfully. Hence, simply retransmitting the MPDUs would needlessly incur recovery overhead.
In an embodiment, a transmitting device is configured to retransmit codewords that failed within previous transmission(s). In an embodiment, following the reception of the previous transmission(s), a receiving device that is the intended receiver of the previous transmission(s) failed to successfully decode at least one codeword or portion, and sends an acknowledgement indicator to the transmitting device, the acknowledgement indicator indicating which codewords or portions were not decoded correctly. There may be many different forms of the acknowledgment indicator. In an embodiment, the receiving device responds to a transmission from the transmitting device with a codeword Rlock-ACK (CBACK) message. The CBACK message is sent back to the transmitting device. The CBACK message includes an indicator indicating to the transmitting device which codewords or portions failed to decode properly at the receiving device.
As an example, the acknowledgement indicator may be a bitmap of the codewords or portions in the transmission which failed decoding, with a first bit value indicating that the associated codeword or portion failed decoding and a second bit value indicating that the associated codeword or portion succeeded decoding. The position of the bits in the bitmap corresponds to the position of the codeword or portion in the previous transmission, for example.
Figure 6A illustrates a first example CBACK 6oo. CBACK 6oo includes a bitmap 605 with each bit being associated with a codeword or portion of a data payload (e.g., an A- MPDU). In this example embodiment, bitmap 605 is the acknowledgement indicator. If a particular bit is set to a first value (e.g., 1) that indicates that the associated codeword or portion failed decoding. If a particular bit is set to a second value (e.g., 0), the associated codeword or portion succeeded decoding. CBACK 600 also includes a CBACK mode field 606. A value stored in CBACK mode field 606 indicates the format of the information stored in the acknowledgement indicator. As an example, if CBACK mode field 606 contains a one, the acknowledgement indicator is in the form of a bitmap, e.g., bitmap 605. CBACK 600 may also include a length field 607. Length field 607 contains a value corresponding to the length of bitmap 605. In other words, length field 607 specifies the number of codewords being acknowledged in CBACK 600.
As shown in Figure 6A, the bits of bitmap 605 are associated with the codewords of A- MPDU 500 of Figure 5. As an example, bit 610 corresponds to codeword 515, bit 611 corresponds to codeword 516, bit 612 corresponds to codeword 517, bit 613 corresponds to codeword 520, bit 614 corresponds to codeword 521, bit 615 corresponds to codeword 525, and bit 616 corresponds to codeword 526. Codewords 515 and 517 were successfully decoded, hence, bits 610 and 612 are set to binary zero. Codewords 516, 520, 521, 525, and 526 failed decoding, hence, bits 611, 613, 614, 615, and 616 are set to binary one. The values of bits may be reversed without impacting the scope or spirit of the example embodiments.
As an example, the acknowledgement indicator may be a list of values associated with the position of codewords or portions failing decoding in the transmission. The values in the list of values may be ordinal numbers, for example, corresponding to the position of the codewords or portions that failed decoding out of all of the codewords or portions in the transmission. Alternatively, values in the list of values may be ordinal numbers, for example, corresponding to the position of the codewords or portions that succeeded decoding out of all of the codewords or portions in the transmission. Listing the codewords or portions that succeeded decoding may be efficient in situations where a majority of the codewords or portions failed decoding, for example.
Figure 6B illustrates a second example CBACK 620. CBACK 620 includes a list of values 625 with each value corresponding to a codeword or portion of a data payload (e.g., an A- MPDU) that failed decoding (or alternatively, succeeded decoding). In this example embodiment, list of values 625 is the acknowledgement indicator. Each value in list of values 625 is an ordinal number associated with the codeword or portion. CBACK 620 also includes a CBACK mode field 626. A value stored in CBACK mode field 626 indicates the format of the information stored in the acknowledgement indicator. As an example, if CBACK mode field 626 contains a two, the acknowledgement indicator is in the form of a list of values, e.g., list of values 625.
As shown in Figure 6B, the values in list of values 625 are associated with the codewords of A-MPDU 500 of Figure 5. List of values 625 includes values 1 (contained in value 630), 3 (contained in value 631), 4 (contained in value 632), 9 (contained in value 633), and 14 (contained in value 634). The values correspond to codewords 516, 520, 521, 525, and 526, which all failed decoding. The ordinal values stored in list of values 625 may be reversed, inverted, permuted, or otherwise changed without impacting the scope or spirit of the example embodiments.
As an example, the acknowledgement indicator may be a list of values associated with the position of codewords or portions failing decoding in the transmission, where the length of the acknowledgement indicator is variable and is a function of the position of the failed codewords or portions within the transmission and the amount of memory available at the receiving device. The values in the list of values may be ordinal numbers, for example, corresponding to the position of the codewords or portions that failed decoding out of all of the codewords or portions in the transmission. However, a number of bits used to store the values is a function of the position of the failed codewords or portions. Changing the number of bits used to represent the values allows for the minimization of the acknowledgement indicator size, which helps to reduce the overhead as well as storage requirements.
Figure 6C illustrates a third example CBACK 640. CBACK 640 includes a list of values 645 with each value corresponding to a codeword or portion of a data payload (e.g., an A- MPDU) that failed decoding (or alternatively, succeeded decoding). In this example embodiment, list of values 645 is the acknowledgement indicator. Each value in list of values 645 is an ordinal number associated with the codeword or portion. The number of bits per value in list of values 645 is set based on the largest ordinal value stored in list of values 645. As an example, if the largest ordinal value is 8, then each value may be represented using 3 bits, while if the largest ordinal value is 16, then each value may be represented using 4 bits. CBACK 640 also includes a CBACK mode field 646. A value stored in CBACK mode field 646 indicates the format of the information stored in the acknowledgement indicator. As an example, if CBACK mode field 646 contains a two, the acknowledgement indicator is in the form of a list of values, e.g., list of values 645, but with dynamic size for the values in list of values 645.
Figure 6D illustrates a fourth example CBACK 660. CBACK 660 includes a list of values 665 with each value corresponding to a codeword or portion of a data payload (e.g., an A- MPDU) that failed decoding (or alternatively, succeeded decoding. In this example embodiment, list of values 665 is the acknowledgement indicator. Each value in list of values 665 is an ordinal number associated with the codeword or portion. The number of bits per value in list of values 665 is set to the largest number of codewords or portions carried in the data payload. As shown in Figure 6D, each value in list of values 665 is represented by a 12-bit value, hence the largest value stored is 4096. CBACK 640 also includes a CBACK mode field 646. A value stored in CBACK mode field 666 indicates the format of the information stored in the acknowledgement indicator. As an example, if CBACK mode field 666 contains a three, the acknowledgement indicator is in the form of a list of values, e.g., list of values 665, but with fixed size for the values in list of values 665.
In an embodiment, the receiving device responds to a transmission from the transmitting device with a Block-ACK message and a CBACK message. The Block-ACK message and the CBACK message are sent to the transmitting device. It may be possible that the receiving device does not have sufficient storage to store the log likelihood ratios (LLRs) corresponding to the failed codewords or portions. In order to reduce the amount of feedback information, the receiving device may send an additional indicator indicating which codeword(s) failed decoding and whose associated LLRs are stored in storage of the receiving device. Further, the receiving device may send another indicator to the transmitting device indicating failed codewords or portions for which LLRs are not stored in storage of the receiving device. The indicator may be sent using the MPDU- based Block-ACK message, for example. According to an example embodiment, the transmitting device receives an
acknowledgement indicator from the receiving device, the acknowledgement indicator indicates which codewords or portions did not decode correctly. The transmitting device retransmits the codewords or portions, as indicated by the acknowledgement indicator.
In an embodiment, the transmitting device transmits the codewords or portions that did not decode correctly to the receiving device. The transmitting device, upon receiving the acknowledgement indicator indicating the codewords or portions that did not decode correctly, transmits the codewords or portions that did not decode correctly. As an illustrative example, the transmitting device generates a message including the codewords or portions that did not decode correctly and transmits the message.
Figure 7 illustrates a first example message 700 including the codewords or portions that did not decode correctly. Message 700 includes a codeword retransmission (CW- RETX) field 705 that includes an indicator indicating that message 700 includes a retransmission of codewords or portions that did not decode correctly. The indicator may be a multi-value indicator, with a first value indicating that the message includes a retransmission of codewords or portions that did not decode correctly, and a second value indicating that the message does not include a retransmission of codewords or portions that did not decode correctly. Message 700 also includes a data portion 706 that includes the codewords or portions that did not decode correctly.
As shown in Figure , the codewords in data portion 706 are retransmissions of the codewords of A-MPDU 500 of Figure 5 that failed decoding. The codewords include codeword 516 of first MPDU 505 failed decoding (shown as codeword 707), as do codewords 520 and 521 of second MPDU 507 (shown as codewords 708 and 709), and codewords 525 and 526 of fourth MPDU 511 (shown as codewords 710 and 711).
In an embodiment, the transmitting device concatenates the codewords or portions that did not decode correctly with one or more new MPDUs into a concatenated payload and transmits the concatenated payload. A new MPDU may be an MPDU that is not part of the previous transmission(s) that includes the codewords or portions that failed decoding.
Figure 7B illustrates a second example message 720 including the codewords or portions that did not decode correctly as well as concatenated MPDUs. Message 720 includes a CW-RETX field 725 that includes an indicator indicating that message 720 includes a retransmission of codewords or portions that did not decode correctly and that message 720 includes at least one new MPDU transmission. The indicator may be a multi-value indicator, with a first value indicating that the message includes a retransmission of codewords or portions that did not decode correctly and the at least one new MPDU, and a second value indicating that the message does not include a retransmission of codewords or portions that did not decode correctly. Message 720 also includes a data portion 726 that includes the codewords or portions that did not decode correctly.
Message 720 also includes at least one new MPDU, e.g., MPDUs 730 and 731.
Although shown in Figure 7B as being concatenated to the end of data portion 726, the at least one new MPDU may be placed between CW-RETX field 725 and data portion 726. Alternatively, the at least one new MPDU may be placed before CW-RETX field 725. Therefore, the discussion of the at least one new MPDU being at the end of data portion 726 should not be construed as being limiting to the scope or spirit of the example embodiments.
In an embodiment, when LDPC encoding is used, the LDPC parameters (such as number of information, shortening, puncturing, and repetition bits within each LDPC codeword, as well as the number and value of the pre-FEC bits) are known to both the transmitting device and the receiving device. Furthermore, the LDPC parameters are fixed or remain constant for a specified consecutive number of transmissions. Therefore, both the transmitting device and the receiving device can keep track of the LDPC parameters for new and retransmitted codewords.
In an embodiment, each newly transmitted MPDU (and its respective codewords or portions) is encoded using a different set of LDPC parameters (such as shortening, puncturing, repetition, and pre-FEC bits). Hence, new MPDUs are encoded in a manner similar to existing IEEE 802.11 standards. The LDPC parameters used for new transmissions and retransmissions may be different, however.
In an embodiment, transmissions that include retransmitted codewords or portions and new MPDUs, are encoded using the same LDPC parameters (such as shortening, puncturing, and repetition bits) as those used for the oldest retransmitted codeword(s). As used herein, the oldest retransmitted codeword(s) refers to the codeword(s) within the transmission that is being retransmitted the greatest number of times.
In an embodiment, when BCC encoding is used, retransmissions use the same portion for encoding as the first transmission containing the same information bits that includes the information bit(s) that failed to decode properly. Hence, the coded bits will be identical in the initial transmission and any retransmissions. In an embodiment, the length of the CBACK message is variable and may be a function of the position of the failed codewords or portions within the A-MPDU and the amount of storage available at the receiving device. Furthermore, the CBACK message may include the length of a bitmap used to indicate with codewords or portions failed.
In an embodiment, the length of the CBACK message is negotiated between the transmitting device and the receiving device (or configured by one of the devices and signaled to the other) prior to the transmission.
In an embodiment, the length of the CBACK message is not known by the receiving device prior to reception of the CBACK message. The receiving device may continue receiving the CBACK message until an end of message is received, for example. The receiving device may continue receiving the CBACK message until an end of message is detected, for example.
In an embodiment, hybrid automatic repeat request (HARQ) is used to enhance decoding performance. Because HARQ operates by combining post-equalization values or log likelihood ratio (LLR) values for past and current transmissions, HARQ maybe used with per-codeword transmissions by combining LLRs respective to retransmissions of the failed codewords, hence further improving decoding performance. Additionally, because HARQ requires the retransmission to include the same coded bits or a subset of the coded bits, a mechanism supporting the retransmission of codewords lays the foundation for simpler HARQ support with little or no overhead. In other words, because HARQ requires that the same coded bits (or a subset thereof) be retransmitted, supporting codeword or portion retransmission lays the foundation for HARQ combining. As an illustrative example, upon determining that the transmission includes retransmitted codewords or portions, the receiving device combines the LLRs associated with the retransmitted codewords or portions with stored LLRs associated with past transmissions of these codewords or portions. The combining of the LLRs may yield higher probability of successful decoding at the receiving device. HARQ operates by combining past and current transmissions (or their respective soft bits or LLRs).
Therefore, HARQ may be used with per-codeword or per-portion transmission by combining retransmissions of failed codewords or portions.
Figure 8A illustrates a flow diagram of example operations 8oo occurring in a receiving device. Operations 8oo may be indicative of operations occurring in a receiving device as the receiving device receives and decodes a transmission with codewords or portions that do not decode successfully. Operations 8oo begin with the receiving device receiving a MPDU from a transmitting device (block 805). The receiving device attempts to decode the MPDU but codewords or portions of the MPDU failed to be decoded successfully. The receiving device sends an acknowledgement indicator to the transmitting device (block 807). The
acknowledgement indicator indicates the codewords or portions that were not successfully decoded. The acknowledgement indicator may be sent in a CBACK message. The acknowledgement indicator may be in the form of a bitmap with individual bits in the bitmap representing codewords or portions of the MPDU. The receiving device receives a retransmission of the codewords or portions that were unsuccessfully decode (block 809). The receiving device decodes the retransmission. The successful decoding of the codewords or portions may take one or more retransmissions, which is not shown in operations 800.
Figure 8B illustrates a flow diagram of example operations 850 occurring in a transmitting device. Operations 850 may be indicative of operations occurring in a transmitting device as the transmitting device transmits a transmission with codewords or portions that do not decode successfully.
Operations 850 begin with the transmitting device transmitting a MPDU to a receiving device (block 855). The transmitting device receives an acknowledgement indicator from the receiving device (block 857). The acknowledgement indicator indicates that codewords or portions of the MPDU were unsuccessfully decoded by the receiving device. The acknowledgement indicator also indicates which codewords or portions of the MPDU the receiving device was unable to decode. The transmitting device retransmits the codewords or portions (block 859). The successful decoding of the codewords or portions may take one or more retransmissions, which is not shown in operations 450.
Figure 9 illustrates a flow diagram of example operations 900 occurring in a receiving device receiving a data payload where some codewords or portions of the data payload fail decoding, and an appropriate CBACK message is generated and transmitted.
Operations 900 may be indicative of operations occurring in a receiving device as the receiving device receives a data payload where some codewords or portions of the data fail decoding. Although operations 900, as shown in Figure 9, refer to codewords, the example embodiments presented herein are operable with other types of portions of the data payload as well.
Operations 900 begin with the receiving device receiving a data payload (block 905). The data payload may be in the form of one or more MPDUs, with each MPDU including one or more codewords or portions. The data payload may be received in a message, for example. The receiving device atempts to decode the codewords or portions (block 907). The receiving device attempts to separately decode the codewords or portions, using a LPDC or BCC decoder, for example. The receiving device performs a check to determine if any of the codewords or portions failed to decode (block 909). If all of the codewords or portions decoded successfully, the receiving device continues processing the decoded data payload.
If one or more codewords or portions failed to decode, the receiving device generates an acknowledgement indicator (block 911). The acknowledgement indicator maybe generated in accordance with the one or more codewords or portions that failed to decode. The acknowledgement indicator may be in the form of a bitmap or a list of values, for example. The receiving device may determine a CBACK mode value corresponding to the acknowledgement indicator generated (block 913). As an example, the CBACK mode value equal to zero may indicate that the acknowledgement indicator is a bitmap. While the CBACK mode value equal to one may indicate that the
acknowledgement indicator is a list of values, and the CBACK mode value equal to two may indicate that the acknowledgement indicator is a list of values and a length of the message conveying the acknowledgement indicator is included.
The receiving device may determine the length of a CBACK message used to convey the acknowledgement indicator (block 915). The receiving device generates the CBACK message (block 917). The CBACK message includes the acknowledgement indicator. The CBACK message may include a CBACK mode value or the length of the CBACK message. The receiving device transmits the CBACK message (block 919). The receiving device receives a message with a subset of the one or more codewords or portions that failed decoding (block 921). The message may include one or more codewords or portions that are encoded from non-overlapping portions of information bits that overlaps with a subset of the one or more codewords or portions that failed decoding, for example. In other words, the transmitting device may have generated the one or more codewords or portions from the information bits of a subset of the one or more codewords or portions that failed decoding. The message may also include new data, in the form of MPDUs, for example. The new data may be appended or concatenated to the one or more codewords or portions that failed decoding.
Figure 10 illustrates a flow diagram of example operations lOOO occurring in a transmitting device retransmitting a data payload containing codewords that fail decoding in a previous transmission, for which a CBACK message was received, possibly with concatenated together with new MPDUs. Operations lOOO may be indicative of operations occurring in a transmitting device as the transmitting device transmits a data payload where some codewords or portions of the data fail decoding. Although operations tooo, as shown in Figure to, refer to codewords, the example embodiments presented herein are operable with other types of portions of the data payload as well.
Operations tooo begin with the transmitting device transmitting a data payload (block 1005). The data payload may be in the form of one or more MPDUs, with each MPDU including one or more codewords or portions. The data payload may be transmitted in a message, for example. The transmitting device performs a check to determine if a CBACK message has been received (block 1007). If the CBACK message has not been received, the transmitting device may continue with other operations.
If the CBACK message is received, the transmitting device processes the CBACK message to determine an acknowledgement indicator (block 1009). The acknowledgement indicator may be in the form of a bitmap or a list of values, for example. The CBACK message may also include a CBACK mode value and a message length value. As an example, the CBACK mode value equal to zero may indicate that the acknowledgement indicator is a bitmap. While the CBACK mode value equal to one may indicate that the acknowledgement indicator is a list of values, and the CBACK mode value equal to two may indicate that the acknowledgement indicator is a list of values and a length of the message conveying the acknowledgement indicator is included.
The transmitting device generates a new message with one or more codewords or portions of the data payload to retransmit, according to the content of the
acknowledgement indicator (block toil). The new message may include one or more codewords or portions that are encoded from non-overlapping portions of information bits that overlaps with a subset of the one or more codewords or portions that failed decoding, for example. In other words, the transmitting device may generate codewords or portions from the information bits of a subset of the one or more codewords or portions that failed decoding. The transmitting device may append or concatenate new data along with the one or more codewords or portions (block 1013). The transmitting device transmits the new message (block 1015). The transmitting device returns to block 1007 to determine if a CBACK message has been received for the new message.
Figure 11 illustrates an example communication system 1100. In general, the system 1100 enables multiple wireless or wired users to transmit and receive data and other content. The system 1100 may implement one or more channel access methods, such as code division multiple access (CDMA), time division multiple access (TDMA), spatial division multiple access (SDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), single-carrier FDMA (SC-FDMA), non-orthogonal multiple access (NOMA), or some combinations thereof.
In this example, the communication system noo includes electronic devices (ED) nioa- liioc, radio access networks (RANs) H2oa-ii2ob, a core network 1130, a public switched telephone network (PSTN) 1140, the Internet 1150, and other networks 1160. While certain numbers of these components or elements are shown in Figure 11, any number of these components or elements may be included in the system 1100.
The EDs liioa-iitoc are configured to operate or communicate in the system 1100. For example, the EDs moa-iiioc are configured to transmit or receive via wireless or wired communication channels. Each ED moa-iiioc represents any suitable end user device and may include such devices (or may be referred to) as a user equipment or device (UE), wireless transmit or receive unit (WTRU), mobile station, fixed or mobile subscriber unit, cellular telephone, personal digital assistant (PDA), smartphone, laptop, computer, touchpad, wireless sensor, or consumer electronics device.
The RANs H2oa-ii2ob here include base stations ii70a-ii70b, respectively. Each base station H70a-ii70b is configured to wirelessly interface with one or more of the EDs moa-iiioc to enable access to the core network 1130, the PSTN 1140, the Internet 1150, or the other networks 1160. For example, the base stations H70a-ii70b may include (or be) one or more of several well-known devices, such as a base transceiver station (BTS), a Node-B (NodeB), an evolved NodeB (eNodeB), a Next Generation (NG) NodeB (gNB), a Home NodeB, a Home eNodeB, a site controller, an access point (AP), or a wireless router. The EDs liioa-iitoc are configured to interface and communicate with the Internet 1150 and may access the core network 1130, the PSTN 1140, or the other networks 1160.
In the embodiment shown in Figure 11, the base station 1170a forms part of the RAN 1120a, which may include other base stations, elements, or devices. Also, the base station 1170b forms part of the RAN 1120b, which may include other base stations, elements, or devices. Each base station H70a-ii70b operates to transmit or receive wireless signals within a particular geographic region or area, sometimes referred to as a“cell.” In some embodiments, multiple-input multiple-output (MIMO) technology may be employed having multiple transceivers for each cell.
The base stations H70a-ii70b communicate with one or more of the EDs moa-iiioc over one or more air interfaces 1190 using wireless communication links. The air interfaces 1190 may utilize any suitable radio access technology. It is contemplated that the system tioo may use multiple channel access functionality, including such schemes as described above. In particular embodiments, the base stations and EDs implement IEEE 802.11 (Wi-Fi), 5G New Radio (NR), LTE, LTE-A, or LTE-B. Of course, other multiple access schemes and wireless protocols may be utilized.
The RANs Ii20a-it20b are in communication with the core network 1130 to provide the EDs liioa-nioc with voice, data, application, Voice over Internet Protocol (VoIP), or other services. Understandably, the RANs H2oa-ii2ob or the core network 1130 maybe in direct or indirect communication with one or more other RANs (not shown). The core network 1130 may also serve as a gateway access for other networks (such as the PSTN 1140, the Internet 1150, and the other networks 1160). In addition, some or all of the EDs liioa-nioc may include functionality for communicating with different wireless networks over different wireless links using different wireless technologies or protocols. Instead of wireless communication (or in addition thereto), the EDs may communicate via wired communication channels to a service provider or switch (not shown), and to the Internet 1150.
Although Figure 11 illustrates one example of a communication system, various changes may be made to Figure 11. For example, the communication system 1100 could include any number of EDs, base stations, networks, or other components in any suitable configuration.
Figures 12A and 12B illustrate example devices that may implement the methods and teachings according to this disclosure. In particular, Figure 12A illustrates an example ED 1210, and Figure 12B illustrates an example base station 1270. These components could be used in the system 1100 or in any other suitable system.
As shown in Figure 12A, the ED 1210 includes at least one processing unit 1200. The processing unit 1200 implements various processing operations of the ED 1210. For example, the processing unit 1200 could perform signal coding, data processing, power control, input/output processing, or any other functionality enabling the ED 1210 to operate in the system 1100. The processing unit 1200 also supports the methods and teachings described in more detail above. Each processing unit 1200 includes any suitable processing or computing device configured to perform one or more operations. Each processing unit 1200 could, for example, include a microprocessor, microcontroller, digital signal processor, field programmable gate array, or application specific integrated circuit. The ED 1210 also includes at least one transceiver 1202. The transceiver 1202 is configured to modulate data or other content for transmission by at least one antenna or NIC (Network Interface Controller) 1204. The transceiver 1202 is also configured to demodulate data or other content received by the at least one antenna 1204. Each transceiver 1202 includes any suitable structure for generating signals for wireless or wired transmission or processing signals received wirelessly or by wire. Each antenna 1204 includes any suitable structure for transmitting or receiving wireless or wired signals. One or multiple transceivers 1202 could be used in the ED 1210, and one or multiple antennas 1204 could be used in the ED 1210. Although shown as a single functional unit, a transceiver 1202 could also be implemented using at least one transmitter and at least one separate receiver.
The ED 1210 further includes one or more input/output devices 1206 or interfaces (such as a wired interface to the Internet 1150). The input/output devices 1206 facilitate interaction with a user or other devices (network communications) in the network. Each input/output device 1206 includes any suitable structure for providing information to or receiving information from a user, such as a speaker, microphone, keypad, keyboard, display, or touch screen, including network interface communications.
In addition, the ED 1210 includes at least one memory 1208. The memory 1208 stores instructions and data used, generated, or collected by the ED 1210. For example, the memory r2o8 could store software or firmware instructions executed by the processing unit(s) 1200 and data used to reduce or eliminate interference in incoming signals. Each memory 1208 includes any suitable volatile or non-volatile storage and retrieval device(s). Any suitable type of memory may be used, such as random access memory (RAM), read only memory (ROM), hard disk, optical disc, subscriber identity module (SIM) card, memory stick, secure digital (SD) memory card, and the like.
As shown in Figure 12B, the base station 1270 includes at least one processing unit 1250, at least one transceiver 1252, which includes functionality for a transmitter and a receiver, one or more antennas 1256, at least one memory 1258, and one or more input/output devices or interfaces 1266. A scheduler, which would be understood by one skilled in the art, is coupled to the processing unit 1250. The scheduler could be included within or operated separately from the base station 1270. The processing unit 1250 implements various processing operations of the base station 1270, such as signal coding, data processing, power control, input/output processing, or any other functionality. The processing unit 1250 can also support the methods and teachings described in more detail above. Each processing unit 1250 includes any suitable processing or computing device configured to perform one or more operations. Each processing unit 1250 could, for example, include a microprocessor, microcontroller, digital signal processor, field programmable gate array, or application specific integrated circuit.
Each transceiver 1252 includes any suitable structure for generating signals for wireless or wired transmission to one or more EDs or other devices. Each transceiver 1252 further includes any suitable structure for processing signals received wirelessly or by wire from one or more EDs or other devices. Although shown combined as a transceiver 1252, a transmitter and a receiver could be separate components. Each antenna 1256 includes any suitable structure for transmitting or receiving wireless or wired signals. While a common antenna 1256 is shown here as being coupled to the transceiver 1252, one or more antennas 1256 could be coupled to the transceiver(s) 1252, allowing separate antennas 1256 to be coupled to the transmitter and the receiver if equipped as separate components. Each memoiy 1258 includes any suitable volatile or non-volatile storage and retrieval device(s). Each input/output device 1266 facilitates interaction with a user or other devices (network communications) in the network. Each input/output device 1266 includes any suitable structure for providing information to or receiving/providing information from a user, including network interface communications.
Figure 13 is a block diagram of a computing system 1300 that may be used for implementing the devices and methods disclosed herein. For example, the computing system can be any entity of UE, access network (AN), mobility management (MM), session management (SM), user plane gateway (UPGW), or access stratum (AS). Specific devices may utilize all of the components shown or only a subset of the components, and levels of integration may vary from device to device. Furthermore, a device may contain multiple instances of a component, such as multiple processing units, processors, memories, transmitters, receivers, etc. The computing system 1300 includes a processing unit 1302. The processing unit includes a central processing unit (CPU) 1314, memory 1308, and may further include a mass storage device 1304, a video adapter 1310, and an I/O interface 1312 connected to a bus 1320.
The bus 1320 may be one or more of any type of several bus architectures including a memoiy bus or memoiy controller, a peripheral bus, or a video bus. The CPU 1314 may comprise any type of electronic data processor. The memory 1308 may comprise any type of non-transitoiy system memoiy such as static random access memoiy (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), read-only memoiy (ROM), or a combination thereof. In an embodiment, the memory 1308 may include ROM for use at boot-up, and DRAM for program and data storage for use while executing programs.
The mass storage 1304 may comprise any type of non-transitoiy storage device configured to store data, programs, and other information and to make the data, programs, and other information accessible via the bus 1320. The mass storage 1304 may comprise, for example, one or more of a solid state drive, hard disk drive, a magnetic disk drive, or an optical disk drive.
The video adapter 1310 and the 1/ O interface 1312 provide interfaces to couple external input and output devices to the processing unit 1302. As illustrated, examples of input and output devices include a display 1318 coupled to the video adapter 1310 and a mouse, keyboard, or printer 1316 coupled to the I/O interface 1312. Other devices maybe coupled to the processing unit 1302, and additional or fewer interface cards may be utilized. For example, a serial interface such as Universal Serial Bus (USB) (not shown) may be used to provide an interface for an external device.
The processing unit 1302 also includes one or more network interfaces 1306, which may comprise wired links, such as an Ethernet cable, or wireless links to access nodes or different networks. The network interfaces 1306 allow the processing unit 1302 to communicate with remote units via the networks. For example, the network interfaces 1306 may provide wireless communication via one or more transmitters/transmit antennas and one or more receivers/receive antennas. In an embodiment, the processing unit 1302 is coupled to a local-area network 1322 or a wide-area network for data processing and communications with remote devices, such as other processing units, the Internet, or remote storage facilities.
It should be appreciated that one or more steps of the embodiment methods provided herein may be performed by corresponding units or modules. For example, a signal may be transmitted by a transmitting unit or a transmitting module. A signal may be received by a receiving unit or a receiving module. A signal may be processed by a processing unit or a processing module. Other steps may be performed by a decoding unit or module, or a determining unit or module. The respective units or modules may be hardware, software, or a combination thereof. For instance, one or more of the units or modules may be an integrated circuit, such as field programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs).
Although the present disclosure and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the disclosure as defined by the appended claims.

Claims

WHAT IS CLAIMED IS:
1. A method implemented by a first device, the method comprising:
receiving, by the first device, from a second device, a first data payload comprising codewords encoded from a plurality of non-overlapping portions of information bits;
attempting, by the first device, to decode the codewords from the first data payload, the first device successfully decoding a first subset of codewords from the first data payload and unsuccessfully attempting to decode a second subset of the codewords from the first data payload;
transmitting, by the first device, to the second device, a first message including an acknowledgement indicator indicating that the second subset of the codewords were unsuccessfully decoded; and
receiving, by the first device, from the second device, a second message including at least one retransmitted codeword, wherein portions of information bits used to encode the at least one retransmitted codeword overlap with the second subset of the codewords from the first data payload without overlapping with the first subset of the codewords from the first data payload.
2. The method of claim t, wherein the acknowledgement indicator comprises a bitmap of all codewords from the first data payload, with each bit of the bitmap corresponding to a codeword in the first data payload.
3. The method of claim l, wherein the acknowledgement indicator comprises a number representing an index associated with each one of the codewords of the second subset of the codewords from the first data payload.
4. The method of any one of claims 2-3, wherein the first message further comprises a length indicator indicating a length of the message.
5. The method of any one of claims 2-4, wherein the first message further comprises a feedback mode indicator indicating a format of the first message.
6. The method of any one of claims 1-5, wherein the second message further includes a second data payload.
7. The method of claim 6, wherein the second data payload and the at least one retransmitted codeword are concatenated.
8. The method of claim 6, wherein coding parameters specifying the coding schemes used for encoding the first data payload and the at least one retransmitted codeword in the second message are the same.
9. The method of claim 8, wherein the coding parameters comprise at least one of a number of information bits within each codeword within the first data payload, a number of shortening bits within each codeword, a number of puncturing bits within each codeword, a number of repetition bits within each codeword, or a number and value of pre-forward error correcting bits of each codeword. to. The method of any one of claims 1-9, wherein the first message is a codeword block acknowledgement (CBACK) message.
11. The method of any one of claims 1-10, wherein the codewords are encoded using a binary convolutional coding (BCC) code or a low density parity check (LDPC) code.
12. A method implemented by a first device, the method comprising:
transmitting, by the first device, to a second device, a first data payload comprising codewords encoded from a plurality of non-overlapping portions of information bits;
receiving, by the first device, from the second device, a first message including an acknowledgement indicator indicating a first subset of the codewords were
unsuccessfully decoded; and
transmitting, by the first device, to the second device, a second message including at least one retransmitted codeword, wherein portions of information bits used to encode the at least one retransmitted codeword overlaps with the first subset of the codewords that were unsuccessfully decoded.
13. The method of claim 12, wherein the acknowledgement indicator comprises a bitmap of all codewords from the first data payload, with each bit of the bitmap corresponding to a codeword in the first data payload.
14. The method of claim 12, wherein the acknowledgement indicator comprises a number representing an index associated with each one of the codewords of the first subset of the codewords from the first data payload.
15. The method of any one of claims 13-14, wherein the first message further comprises a length indicator indicating a length of the message.
16. The method of any one of claims 13-15, wherein the first message further comprises a feedback mode indicator indicating a configuration of the message.
17. The method of any one of claims 12-16, wherein the second message further includes a second data payload.
18. The method of claim 17, wherein the second data payload and the at least one retransmitted codeword are concatenated.
19. The method of claim 17, wherein coding parameters of the first data payload and the at least one retransmitted codeword in the second message are the same.
20. The method of claim 19, wherein the coding parameters comprise at least one of a number of information bits within each codeword, a number of shortening bits within each codeword, a number of puncturing bits within each codeword, a number of repetition bits within each codeword, or a number and value of pre-forward error correcting bits of each codeword.
21. The method of any one of claims 12-20, wherein the first message is a codeword block acknowledgement (CBACK) message.
22. The method of any one of claims 12-21, wherein the codewords are encoded using a binary convolutional coding (BCC) code or a low density parity check (LDPC) code.
23. The method of any one of claims 12-22, wherein the acknowledgement indicator further indicates a second subset of the codewords successfully decoded.
24. A first device comprising:
a non-transitory memory storage comprising instructions; and
one or more processors in communication with the memory storage, wherein the one or more processors execute the instructions to:
receive, from a second device, a first data payload comprising codewords encoded from a plurality of non-overlapping portions of information bits,
attempt to decode the codewords from the first data payload, the first device successfully decoding a first subset of codewords from the first data payload and unsuccessfully attempting to decode a second subset of the codewords from the first data payload,
transmit, to the second device, a first message including an acknowledgement indicator indicating that the second subset of the codewords were unsuccessfully decoded, and receive, from the second device, a second message including at least one retransmitted codeword, wherein portions of information bits used to encode the at least one retransmitted codeword overlap with the second subset of the codewords from the first data payload without overlapping with the first subset of the codewords from the first data payload.
25. The first device of claim 24, wherein the acknowledgement indicator comprises a bitmap of all codewords from the first data payload, with each bit of the bitmap corresponding to a codeword in the first data payload.
26. The first device of claim 24, wherein the acknowledgement indicator comprises a number representing an index associated with each one of the codewords of the second subset of the codewords from the first data payload.
27. The first device of any one of claims 25-26, wherein the first message further comprises a length indicator indicating a length of the message.
28. The first device of any one of claims 25-27, wherein the first message further comprises a feedback mode indicator indicating a format of the first message.
29. The first device of any one of claims 24-28, wherein the second message further includes a second data payload.
30. A first device comprising:
a non-transitory memory storage comprising instructions; and
one or more processors in communication with the memory storage, wherein the one or more processors execute the instructions to:
transmit, to a second device, a first data payload comprising codewords encoded from a plurality of non-overlapping portions of information bits,
receive, from the second device, a first message including an acknowledgement indicator indicating a first subset of the codewords were
unsuccessfully decoded, and
transmit, to the second device, a second message including at least one retransmitted codeword, wherein portions of information bits used to encode the at least one retransmitted codeword overlaps with the first subset of the codewords that were unsuccessfully decoded.
31. The first device of claim 30, wherein the acknowledgement indicator comprises a bitmap of all codewords from the first data payload, with each bit of the bitmap corresponding to a codeword in the first data payload.
32. The first device of claim 30, wherein the acknowledgement indicator comprises a number representing an index associated with each one of the codewords of the first plurality of codewords from the first data payload.
33. The first device of any one of claims 30-32, wherein the first message further comprises a length indicator indicating a length of the message.
34. The first device of any one of claims 30-33, wherein the first message further comprises a feedback mode indicator indicating a configuration of the message.
35. The first device of any one of claims 30-34, wherein the second message further includes a second data payload.
36. The first device of any one of claims 30-35, wherein the acknowledgement indicator further indicates a second subset of the codewords successfully decoded.
PCT/US2019/039006 2018-10-11 2019-06-25 System and method for retransmission of individual codewords WO2020076380A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862744451P 2018-10-11 2018-10-11
US62/744,451 2018-10-11

Publications (1)

Publication Number Publication Date
WO2020076380A1 true WO2020076380A1 (en) 2020-04-16

Family

ID=67211980

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2019/039006 WO2020076380A1 (en) 2018-10-11 2019-06-25 System and method for retransmission of individual codewords

Country Status (1)

Country Link
WO (1) WO2020076380A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021221796A1 (en) * 2020-04-29 2021-11-04 Arris Enterprises Llc Methods for performing multi-link hybrid automatic repeat request in wireless local area networks and related electronic devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000062466A2 (en) * 1999-04-09 2000-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Method for minimizing feedback responses in arq protocols
US20070186134A1 (en) * 2006-01-24 2007-08-09 Samsung Electronics Co., Ltd. Method and system for generating block ancknowledgements in wireless communications
US20070234134A1 (en) * 2006-03-29 2007-10-04 Samsung Electronics Co., Ltd. Method and system for enhancing transmission reliability of video information over wireless channels

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000062466A2 (en) * 1999-04-09 2000-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Method for minimizing feedback responses in arq protocols
US20070186134A1 (en) * 2006-01-24 2007-08-09 Samsung Electronics Co., Ltd. Method and system for generating block ancknowledgements in wireless communications
US20070234134A1 (en) * 2006-03-29 2007-10-04 Samsung Electronics Co., Ltd. Method and system for enhancing transmission reliability of video information over wireless channels

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021221796A1 (en) * 2020-04-29 2021-11-04 Arris Enterprises Llc Methods for performing multi-link hybrid automatic repeat request in wireless local area networks and related electronic devices

Similar Documents

Publication Publication Date Title
US11228401B2 (en) Systems and methods for smart HARQ for WiFi
EP3272044B1 (en) Code block level error correction and media access control (mac) level hybrid automatic repeat requests to mitigate bursty puncturing and interference in a multi-layer protocol wireless system
EP2540024B1 (en) System and method for transmitting and receiving acknowledgement information
CN110140311B (en) Outer coding system and method
US20220021483A1 (en) Methods and appratuses for broadcast multicast or groupcast transmission using vertical check blocks
US11469859B2 (en) Hybrid automatic repeat request (HARQ) technique based on receiver processing capability
US20210336719A1 (en) Data retransmission in wireless network
US20230269026A1 (en) Rateless coding at layer two protocol layer
AU2017333145A1 (en) Encoding and decoding techniques
TWI669926B (en) Harq feedback scheme for 5g new radio
WO2020076380A1 (en) System and method for retransmission of individual codewords
EP3821552A1 (en) Device and method for supporting harq for wi-fi
WO2022016541A1 (en) Retransmission procedures at a packet data convergence protocol layer
WO2021197609A1 (en) Method and system for codeword transmission
WO2022050019A1 (en) Information processing device and decoding method
US20230327801A1 (en) Information processing device and information processing method
WO2023137720A1 (en) Methods and apparatuses for network coding-based harq retransmission with scrambling
US11581984B2 (en) Retransmission technique with compressed feedback in a wireless communication system
WO2022050020A1 (en) Information processing device, encoding method, and decoding method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19737454

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19737454

Country of ref document: EP

Kind code of ref document: A1