Patent ID: 12261699

DETAILED DESCRIPTION

Some embodiments of the present disclosure will be described, by way of example only, with reference to the drawings. Like reference numerals and characters in the drawings refer to like elements or equivalents.

In the following paragraphs, certain exemplifying embodiments are explained with reference to an access point (AP) and a station (STA) for hybrid automatic repeat request (HARQ) transmission, especially in a multiple-input multiple-output (MIMO) wireless network.

In the context of IEEE 802.11 (Wi-Fi) technologies, a station, which is interchangeably referred to as a STA, is a communication apparatus that has the capability to use the 802.11 protocol. Based on the IEEE 802.11-2016 definition, a STA can be any device that contains an IEEE 802.11-conformant media access control (MAC) and physical layer (PHY) interface to the wireless medium (WM).

For example, a STA may be a laptop, a desktop personal computer (PC), a personal digital assistant (PDA), an access point or a Wi-Fi phone in a wireless local area network (WLAN) environment. The STA may be fixed or mobile. In the WLAN environment, the terms “STA”, “wireless client”, “user”, “user device”, and “node” are often used interchangeably.

Likewise, an AP, which may be interchangeably referred to as a wireless access point (WAP) in the context of IEEE 802.11 (Wi-Fi) technologies, is a communication apparatus that allows STAs in a WLAN to connect to a wired network. The AP usually connects to a router (via a wired network) as a standalone device, but it can also be integrated with or employed in the router.

As mentioned above, a STA in a WLAN may work as an AP at a different occasion, and vice versa. This is because communication apparatuses in the context of IEEE 802.11 (Wi-Fi) technologies may include both STA hardware components and AP hardware components. In this manner, the communication apparatuses may switch between a STA mode and an AP mode, based on actual WLAN conditions and/or requirements.

In a MIMO wireless network, “multiple” refers to multiple antennas used simultaneously for transmission and multiple antennas used simultaneously for reception, over a radio channel. In this regard, “multiple-input” refers to multiple transmitter antennas, which input a radio signal into the channel, and “multiple-output” refers to multiple receiver antennas, which receive the radio signal from the channel and into the receiver. For example, in an N×M MIMO network system, N is the number of transmitter antennas, M is the number of receiver antennas, and N may or may not be equal to M. For the sake of simplicity, the respective numbers of transmitter antennas and receiver antennas are not discussed further in the present disclosure.

In a MIMO wireless network, single-user (SU) communications and multi-user (MU) communications can be deployed for communications between communication apparatuses such as APs and STAs. MIMO wireless network has benefits like spatial multiplexing and spatial diversity, which enable higher data rates and robustness through the use of multiple spatial streams. According to various embodiments, the term “spatial stream” may be used interchangeably with the term “space-time stream” (or STS).

FIG.1Adepicts a schematic diagram of SU communication100between an AP102and a STA104in a MIMO wireless network. As shown, the MIMO wireless network may include one or more STAs (e.g. STA104, STA106, etc.). If the SU communication100in a channel is carried out over whole channel bandwidth, it is called full bandwidth SU communication. If the SU communication100in a channel is carried out over a part of the channel bandwidth (e.g. one or more 20 MHz subchannels within the channel is punctured), it is called punctured SU communication. In the SU communication100, the AP102transmits multiple space-time streams using multiple antennas (e.g. four antennas as shown inFIG.1A) with all the space-time streams directed to a single communication apparatus, i.e. the STA104. For the sake of simplicity, the multiple space-time streams directed to the STA104are illustrated as a grouped data transmission arrow108directed to the STA104.

The SU communication100can be configured for bi-directional transmissions. As shown inFIG.1A, in the SU communication100, the STA104may transmit multiple space-time streams using multiple antennas (e.g. two antennas as shown inFIG.1A) with all the space-time streams directed to the AP102. For the sake of simplicity, the multiple space-time streams directed to the AP102are illustrated as a grouped data transmission arrow110directed to the AP102.

As such, the SU communication100depicted inFIG.1Aenables both uplink and downlink SU transmissions in a MIMO wireless network.

FIG.1Bdepicts a schematic diagram of downlink MU communication112between an AP114and multiple STAs116,118,120in a MIMO wireless network. The MIMO wireless network may include one or more STAs (e.g. STA116, STA118, STA120, etc.). The MU communication112can be an OFDMA (orthogonal frequency division multiple access) communications or a MU-MIMO communication. For an OFDMA communication in a channel, the AP114transmits multiple streams simultaneously to the STAs116,118,120in the network at different resource units (RUs) within the channel bandwidth. For a MU-MIMO communication in a channel, the AP114transmits multiple streams simultaneously to the STAs116,118,120at same RU(s) within the channel bandwidth using multiple antennas via spatial mapping or precoding techniques. If the RU(s) at which the OFDMA or MU-MIMO communication occurs occupy whole channel bandwidth, the OFDMA or MU-MIMO communications is called full bandwidth OFDMA or MU-MIMO communications. If the RU(s) at which the OFDMA or MU-MIMO communication occurs occupy a part of channel bandwidth (e.g. one or more 20 MHz subchannel within the channel is punctured), the OFDMA or MU-MIMO communication is called punctured OFDMA or MU-MIMO communications. For example, two space-time streams may be directed to the STA118, another space-time stream may be directed to the STA116, and yet another space-time stream may be directed to the STA120. For the sake of simplicity, the two space-time streams directed to the STA118are illustrated as a grouped data transmission arrow124, the space-time stream directed to the STA116is illustrated as a data transmission arrow122, and the space-time stream directed to the STA120is illustrated as a data transmission arrow126.

To enable uplink MU transmissions, trigger-based communication is provided to the MIMO wireless network. In this regard,FIG.10depicts a schematic diagram of trigger-based uplink MU communication128between an AP130and multiple STAs132,134,136in a MIMO wireless network.

Since there are multiple STAs132,134,136participating in the trigger-based uplink MU communication, the AP130needs to coordinate simultaneous transmissions of multiple STAs132,134,136.

To do so, as shown inFIG.10, the AP130transmits triggering frames139,141,143simultaneously to STAs132,134,136to indicate user-specific resource allocation information (e.g. the number of space-time streams, a starting STS number and the allocated RUs) each STA can use. In response to the triggering frames, STAs132,134,136may then transmit their respective space-time streams simultaneously to the AP130according to the user-specific resource allocation information indicated in the triggering frames139,141,143. For example, two space-time streams may be directed to the AP130from STA134, another space-time stream may be directed to the AP130from STA132, and yet another space-time stream may be directed to the AP130from STA136. For the sake of simplicity, the two space-time streams directed to the AP130from STA134are illustrated as a grouped data transmission arrow140, the space-time stream directed to the AP130from STA132is illustrated as a data transmission arrow138, and the space-time stream directed to the AP130from STA136is illustrated as a data transmission arrow142.

Trigger-based communication is also provided to the MIMO wireless network to enable downlink multi-AP communication. In this regard,FIG.1Ddepicts a schematic diagram of downlink multi-AP communication144, between a STA150and multiple APs146,148in a MIMO wireless network.

Since there are multiple APs146,148participating in the trigger-based downlink multi-AP MIMO communication, the master AP146needs to coordinate simultaneous transmissions of multiple APs146,148.

To do so, as shown inFIG.1D, the master AP146transmits triggering frames147,153simultaneously to the AP148and the STA150to indicate AP-specific resource allocation information (e.g. the number of space-time streams, a starting STS stream number and the allocated RUs) each AP can use. In response to the triggering frames, the multiple APs146,148may then transmit respective space-time streams to the STA150according to the AP-specific resource allocation information indicated in the triggering frame147; and the STA150may then receive all the space-time streams according to the AP-specific resource allocation information indicated in the triggering frame153. For example, two space-time streams may be directed to the STA150from AP146, and another two space-time streams may be directed to the STA150from AP148. For the sake of simplicity, the two space-time streams directed to the STA150from AP146are illustrated as a grouped data transmission arrow152, and the two space-time streams directed to the STA150from the AP148is illustrated as a grouped data transmission arrow154.

Due to packet/PPDU (physical layer protocol data unit) based transmission and distributed MAC (medium access control) scheme in 802.11 WLAN, time scheduling (e.g. TDMA (time division multiple access)-like periodic time slot assignment for data transmission) does not exist in 802.11 WLAN. Frequency and spatial resource scheduling is performed on a packet basis. In other words, resource allocation information is on a PPDU basis.

According to various embodiments, it is possible for EHT WLAN to support hybrid automatic repeat request (HARQ) operation. HARQ operation provides a flexible mechanism for recovering from transmission errors, reduces the number of retransmission and provides a more efficient data flow result. In other words, HARQ operations in EHT WLAN can provide a better link adaptation and higher throughput.

However, there has been little discussion on HARQ transmission and retransmission for single user communications in context of 11be EHT WLAN. The present disclosure thus seeks to address the above-mentioned issue.

According to the present disclosure, an aggregated medium access control (MAC) protocol data unit (A-MPDU) carried in a data field of a transmission signal such as an EHT basic PPDU is segmented into one or more code block with a same size. An A-MPDU comprises one or more A-MPDU subframes, wherein an A-MPDU subframe may include a single MAC protocol data unit (MPDU). An A-MPDU subframe in an A-MPDU corresponds to one or more code block. More than one A-MPDU subframes in an A-MPDU may correspond to a single code block. In an A-MPDU, an A-MPDU subframe not soliciting immediate acknowledgement and an A-MPDU subframe soliciting immediate acknowledgement are not mapped into a single code block.

Further, according to the present disclosure, there are two types of code blocks, one requiring HARQ feedback and the other not requiring it. For a code block requiring HARQ feedback, the corresponding one or more MPDU (or equivalently the corresponding one or more A-MPDU subframe) in an A-MPDU solicit immediate acknowledgement. For a code block not requiring HARQ feedback, the corresponding one or more MPDU (or equivalently the corresponding one or more A-MPDU subframe) in an A-MPDU does not solicit immediate acknowledgement.

In terms of code block placement for an A-MPDU according to the present disclosure, A-MPDU subframes that solicit immediate acknowledgement are placed consecutively in an A-MPDU so that code blocks requiring HARQ feedback are numbered consecutively. A-MPDU subframes not soliciting immediate acknowledgement are placed before A-MPDU subframes soliciting immediate acknowledgement in an A-MPDU. Advantageously, code blocks requiring HARQ feedback can be indicated by a starting code block number and the number of code blocks requiring HARQ feedback; thus HARQ signaling overhead and HARQ feedback overhead may be reduced.

Five different types of code block segmentation (types 1, 2, 3, 4 and 5) for the A-MPDU are discussed. Type 1 code block segmentation comprises the following attributes. If an A-MPDU subframe corresponds to a single code block, for example when the size of the A-MPDU subframe is smaller than or equal to that of the code block, the code block is aligned with the boundary of the A-MPDU subframe. If an A-MPDU subframe corresponds to more than one code blocks, for example when a size of the A-MPDU subframe is larger than that of a code block, the last of the more than one code blocks is aligned with the boundary of the A-MPDU subframe. if more than one A-MPDU subframes correspond to a code block, for example when the size of the more than one A-MPDU subframes is smaller than or equal to that of the code block, the code block is aligned with the boundary of the last of the more than one A-MPDU subframes. Further, MAC layer needs to inform PHY layer of the size of each of A-MPDU subframes in an A-MPDU. An advantage of utilising type 1 code block segmentation is that the existing MPDU based acknowledgement mechanism can be reused for HARQ feedback. However, type 1 code block segmentation may be inefficient for transmission of an A-MPDU containing one or more large-size MPDU since all code blocks corresponding to each large-size MPDU with negative acknowledgement (NACK) need to be retransmitted.

Type 2 code block segmentation comprises the following attributes. If an A-MPDU subframe corresponds to a single code block, for example when the size of the A-MPDU subframe is smaller than or equal to that of the code block, the code block is aligned with the boundary of the A-MPDU subframe. If an A-MPDU subframe corresponds to more than one code blocks, for example when a size of the A-MPDU subframe is larger than that of a code block, the last of the more than one code blocks is aligned with the boundary of the A-MPDU subframe. If more than one A-MPDU subframes correspond to a code block, for example when the size of the more than one A-MPDU subframes is smaller than or equal to that of the code block, the code block is aligned with the boundary of the last of the more than one A-MPDU subframes. Each of code blocks requiring HARQ feedback is attached with a cyclic redundancy check (CRC). Further, the MAC layer needs to inform PHY layer of the size of each of A-MPDU subframes in an A-MPDU, as well as inform the PHY layer of the total size of A-MPDU subframes not soliciting immediate acknowledgement in an A-MPDU. Advantageously, type 2 code block segmentation may be efficient for transmission of an A-MPDU containing one or more large-size MPDU since only a part of code blocks with NACK corresponding to each large-size MPDU needs to be retransmitted. However, code block based HARQ feedback mechanism needs to be developed since existing MPDU based acknowledgement mechanism for HARQ feedback cannot be reused for type 2 code block segmentation.

Type 3 code block segmentation comprises the following attributes. A-MPDU subframes not soliciting immediate acknowledgement correspond to one or more code block not requiring HARQ feedback, wherein the last of the one or more code block not requiring HARQ feedback is aligned with the boundary of the last A-MPDU subframe not soliciting immediate acknowledgement. If an A-MPDU subframe soliciting immediate acknowledgement correspond to a single code block requiring HARQ feedback, the code block requiring HARQ feedback is aligned with the boundary of the A-MPDU subframe soliciting immediate acknowledgement. If an A-MPDU subframe soliciting immediate acknowledgement correspond to more than one code blocks requiring HARQ feedback, the last of the more than one code blocks requiring HARQ feedback is aligned with the boundary of the A-MPDU subframe soliciting immediate acknowledgement. If more than one A-MPDU subframes soliciting immediate acknowledgement correspond to a single code block requiring HARQ feedback, the code block requiring HARQ feedback is aligned with the boundary of the last of the more than one A-MPDU subframes soliciting immediate acknowledgement. Further, the MAC layer needs to inform PHY layer of the total size of A-MPDU subframes not soliciting immediate acknowledgement in an A-MPDU, as well as inform PHY layer of the size of each of A-MPDU subframes soliciting immediate acknowledgement in an A-MPDU. Advantageously, type 3 code block segmentation is similar to type 1 code block segmentation except less code blocks may be required for an A-MPDU than type 1 code block segmentation. However, similar to type 1, type 3 code block segmentation may be inefficient for transmission of an A-MPDU containing one or more large-size MPDU since all code blocks corresponding to each large-size MPDU with NACK need to be retransmitted.

Type 4 code block segmentation comprises the following attributes. A-MPDU subframes not soliciting immediate acknowledgement correspond to one or more code block not requiring HARQ feedback, the last of the one or more code block not requiring HARQ feedback is aligned with the boundary of the last A-MPDU subframe not soliciting immediate acknowledgement. If an A-MPDU subframe soliciting immediate acknowledgement corresponds to a single code block requiring HARQ feedback, the code block requiring HARQ feedback is aligned with the boundary of the A-MPDU subframe soliciting immediate acknowledgement. If an A-MPDU subframe soliciting immediate acknowledgement correspond to more than one code blocks requiring HARQ feedback, the last of the more than one code blocks requiring HARQ feedback is aligned with the boundary of the A-MPDU subframe soliciting immediate acknowledgement. If more than one A-MPDU subframes soliciting immediate acknowledgement correspond to a single code block requiring HARQ feedback, the code block requiring HARQ feedback is aligned with the boundary of the last of the more than one A-MPDU subframes soliciting immediate acknowledgement. Each of code blocks requiring HARQ feedback is attached with a CRC. Further, the MAC layer needs to inform PHY layer of the total size of A-MPDU subframes not soliciting immediate acknowledgement in an A-MPDU, as well as inform PHY layer of the size of each of A-MPDU subframes soliciting immediate acknowledgement in an A-MPDU. Advantageously, type 4 code block segmentation is similar to type 2 code block segmentation except less code blocks may be required for an A-MPDU than type 2 code block segmentation. However, similar to type 2, code block based HARQ feedback mechanism needs to be developed since existing MPDU based acknowledgement mechanism for HARQ feedback cannot be reused for type 4 code block segmentation.

Type 5 code block segmentation comprises the following attributes. A-MPDU subframes not soliciting immediate acknowledgement correspond to one or more code block not requiring HARQ feedback, the last of the one or more code block not requiring HARQ feedback is aligned with the boundary of the last A-MPDU subframe not soliciting immediate acknowledgement. A-MPDU subframes soliciting immediate acknowledgement correspond to one or more code block requiring HARQ feedback, the last of the one or more code block requiring HARQ feedback is aligned with the boundary of the last A-MPDU subframe soliciting immediate acknowledgement. Each of code blocks requiring HARQ feedback is attached with a CRC. Further, the MAC layer needs to inform PHY layer of the total size of A-MPDU subframes not soliciting immediate acknowledgement in an A-MPDU, as well as inform PHY layer of the total size of A-MPDU subframes soliciting immediate acknowledgement in an A-MPDU. Advantageously, type 5 code block segmentation is similar to type 4 code block segmentation except less code blocks may be required for an A-MPDU than type 4 code block segmentation. However, similar to type 4, code block based HARQ feedback mechanism needs to be developed since existing MPDU based acknowledgement mechanism for HARQ feedback cannot be reused for type 5 code block segmentation.

According to the present disclosure, an EHT basic PPDU can be used for non-trigger-based communications.FIG.2shows a format of an EHT basic PPDU200according to various embodiments of the present disclosure. The PPDU200may include a non-High Throughput Short Training Field (L-STF), a non-High Throughput Long Training Field (L-LTF), a non-High Throughput SIGNAL (L-SIG) field, a Repeated L-SIG (RL-SIG) field, a Universal SIGNAL (U-SIG) field202, an EHT SIGNAL (EHT-SIG) field204, a HARQ SIGNAL (HARQ-SIG) field206, an EHT Short Training Field (EHT-STF), an EHT Long Training Field (EHT-LTF), a data field and a Packet Extension (PE) field. The PPDU may be transmitted as a transmission signal by a communication apparatus (such as an AP or STA) to another communication apparatus (such as an AP or STA).

In the PPDU200transmitted to a single STA, a single A-MPDU is carried in the data field. The U-SIG field202indicates whether HARQ operation is enabled for the PPDU200. If the U-SIG field202indicates that HARQ operation is disabled for the PPDU200, the HARQ-SIG field206may not be present in the PPDU200. HARQ operation shall be disabled for the PPDU200if the intended STA does not support HARQ operation, or the A-MPDU carried in the data field does not include any MPDU that solicits immediate acknowledgement.

The HARQ-SIG field206provides HARQ operation related information regarding the data field. The HARQ operation related information includes whether initial transmission or retransmission is included in the PPDU200, indication of code blocks which require HARQ feedback (for initial transmission only), code block segmentation type, code block size, HARQ type (i.e. whether HARQ incremental redundancy (IR) scheme is used or HARQ chase combining (CC) scheme is used), HARQ feedback type (i.e. MAC frame based feedback or null data packet (NDP) based feedback), puncturing pattern if HARQ CC scheme is used, and redundancy version if HARD IR scheme is used. It should be noted that the code block size (i.e. the number of bits per code block) is independent of modulation and coding scheme (MCS) applied to the data field, which is indicated in the U-SIG field202or the EHT-SIG field204.

For both HARQ CC and HARQ IR schemes, all code blocks for an A-MPDU are transmitted in an initial transmission, and only code blocks with NACK are transmitted in a retransmission. HARQ CC scheme is categorised into two types: HARQ regular CC and HARQ punctured CC. HARQ regular CC can be treated as a special case of HARQ punctured CC, such the puncturing pattern for HARQ CC indicates no puncturing for the case of HARQ regular CC. For an initial transmission, all encoded bits in each code block are transmitted. For a code block requiring retransmission, retransmitted bits may be determined according to a puncturing pattern indicated in the HARQ-SIG field206. For HARQ IR scheme, each code block is encoded using a mother code rate (e.g. ½). In an initial transmission or retransmission, for a code block, transmitted bits are extracted from the coded bits according to a redundancy version indicated in the HARQ-SIG field206.

FIG.3shows an illustration300of a low density parity check (LDPC) encoding process of a data field302containing an initial transmission, the data field having a type 1 code block segmentation. The data field302may be in the format of the data field in the PPDU200, and may include a service field followed by an A-MPDU comprising one or more A-MPDU subframes, i.e. A-MPDU subframe 1, A-MPDU subframe 2 up to A-MPDU subframe N, such that the A-MPDU is prepended by the service field. An A-MPDU subframe includes at most one MPDU. The A-MPDU subframe 1 does not solicit immediate acknowledgement and is placed in the data field302before the A-MPDU subframes 2 up to N that solicit immediate acknowledgement. Advantageously, code blocks requiring HARQ feedback can be indicated by a starting code block number and the number of code blocks requiring HARQ feedback; thus HARQ signaling overhead and HARQ feedback overhead may be reduced.

During code block (CB) segmentation304, the A-MPDU subframes 1, 2 up to N are segmented into one or more code blocks. For example, A-MPDU subframe 1 is mapped to code block 1, A-MPDU subframe 2 is segmented/mapped to code block 2 and code block 3, and A-MPDU subframe N is mapped to code block NCB. Each code block 1, 2 up to N has a same code block size, and may contain whole or part of a single A-MPDU subframe. The first code block, i.e. code block 1, may further contain the service field. The code block 2 may contain only part of the A-MPDU subframe 2. In type 1 code block segmentation, if an A-MPDU subframe corresponds to a single code block, for example when the size of the A-MPDU subframe is smaller than or equal to that of the code block, the code block is aligned with the boundary of the A-MPDU subframe. When an A-MPDU subframe corresponds to more than one code blocks, for example when a size of the A-MPDU subframe is larger than that of a code block, the last of the more than one code blocks is aligned with the boundary of the A-MPDU subframe. If more than one A-MPDU subframes correspond to a code block, for example when the size of the more than one A-MPDU subframes is smaller than or equal to that of the code block, the code block is aligned with the boundary of the last of the more than one A-MPDU subframes. Further, the MAC layer needs to inform PHY layer of the size of each of A-MPDU subframes in an A-MPDU. Therefore, code blocks 1, 3 and NCBalign with A-MPDU subframe boundaries310,312and314respectively. Intra-CB padding bits316may be appended to each of the code blocks 1, 3 and NCBwhich are aligned with A-MPDU subframe boundaries310,312and314to fill up the code blocks 1, 3 and NCBto the code block size. It should be noted that the intra-padding bits316which are applied to the last code block NCBabsorb pre-FEC padding bits so that the last code block is also aligned with symbol segment boundary in the last OFDM symbol (in case of no space-time block code (STBC) applied to the data field) or in the last two OFDM symbols (in case of STBC applied to the data field). The pre-FEC padding bits and symbol segments are defined in IEEE P802.11ax™/D6.1.

After CB segmentation304, the code blocks undergo scrambling per code block process306such that A-MPDU subframe bits and intra-padding bits (if any) contained in each code block are scrambled. For example, after the scrambling process306, code block 1 comprises the service field and scrambled bits318, code block 2 comprises scrambled bits320, code block 3 comprises scrambled bits322and code block NCBcomprises scrambled bits324. The initial state of each scrambling is the same with the first scrambling, which is the first N bits of the service field where N is a determined positive integer (e.g.7or11). Further, these scrambled code blocks undergo LDPC coding308so that the contents of each code block are encoded using LDPC. For code block 1, the scrambled bits and service field are encoded using LDPC. For example, after LDPC coding process308, code block 1 comprises coded bits326, code block 2 comprises coded bits328, code block 3 comprises coded bits330and code block NCBcomprises coded bits332. Thereafter, remaining transmitter processing for the encoded code blocks is the same as 11ax HE SU PPDU defined in IEEE P802.11ax™/D6.1.

FIG.4shows an illustration400of a binary convolutional code (BCC) encoding process of a data field containing an initial transmission, the data field having a type 1 code block segmentation. While the process for BCC encoding is similar to that shown in illustration300, tail bits are appended at the end of each code block. For example, tail bits402,404,406and408are appended at the end of code block 1, code block 2, code block 3 and code block NCBrespectively. Thereafter, the code blocks undergo scrambling per code block such that A-MPDU subframe bits, intra-padding bits (if any) and tail bit contained in each code block are scrambled. These scrambled code blocks then undergo BCC coding so that the contents of each code block are encoded using BCC.

FIG.5Ashows a flowchart500for type 1 code block segmentation as depicted inFIGS.3and4. The process starts at step502. At step504, the number of code blocks needed is computed. At step506, the service field and A-MPDU are segmented into code blocks. At step508, the number of intra-CB padding bits required for each code block is computed. At step510, intra-CB padding bits and tail bits (in the case of BCC encoding process as illustrated inFIG.4) are appended to each code block. The process then ends at step512. The process of how the number of code blocks needed is computed at step504is shown in more detail in flowchart514ofFIG.5B. The process of flowchart514to compute the number of code blocks needed starts from step516. At step518, a CB counter and subframe (SF) counter are both set to 1. At step520, it is determined whether the size of the (SF counter)-th subframe is less than the effective length of one code block. The effective length of a code block is the size of a code block excluding service field (in case of the first code block) and tail bits (in case of BCC coding). If it is determined that size of the (SF counter)-th subframe is not less than the effective length of one code block, the process proceeds to step526wherein the number of code blocks, n, required for the (SF counter)-th subframe is computed. At step528, the CB counter is incremented by n and the SF counter is incremented by 1. At step530, it is determined whether the SF counter has reached a value that is equal to NSFi.e. the total number of A-MPDU subframes in the A-MPDU. If it is determined that the value of the SF counter is not equal to NSF, the process goes back to step520. On the other hand, if it is determined at step520that the size of the (SF counter)-th subframe is less than the effective length of one code block, the process proceeds from step520to step522where the number of subframes, m, which can be included in the (CB counter)-th code block is computed. At step524, the CB counter is incremented by 1 and the SF counter is incremented by m. The process then proceeds to step530, where the loop process between step520and step530continues until the SF counter value is equal to NSF. Then the process proceeds to step532where the number of code blocks needed (i.e. the final value of the CB counter) is determined. The process then ends at step534.

FIG.6shows a flowchart600for STA behaviour under type 1 code block segmentation (i.e. behaviour of an intended STA that receives the encoded code blocks shown inFIG.3andFIG.4). The process begins from step602. At step604, the data field is demodulated. At step606, each code block is decoded. At step608, each code block is descrambled. At step610, the resultant bits obtained from descrambling the code blocks are passed to the MAC layer to generate feedback. The process then ends at step612.

Advantageously for type 1 code block segmentation, the existing MPDU based acknowledgement mechanism can be reused for HARQ feedback. However, type 1 code block segmentation may be inefficient for transmission of an A-MPDU containing one or more large-size MPDU (a maximum size of 11454 octets) as all code blocks corresponding to each large-size MPDU with NACK needs to be retransmitted.

FIG.7shows an illustration700of a LDPC encoding process of a data field702containing an initial transmission, the data field having a type 2 code block segmentation. The data field702may be in the format of the data field in the PPDU200, and may include a service field followed by an A-MPDU comprising one or more A-MPDU subframes, i.e. A-MPDU subframe 1, A-MPDU subframe 2 up to A-MPDU subframe N. An A-MPDU subframe includes at most one MPDU. The A-MPDU subframe 1 does not solicit immediate acknowledgement and is placed in the data field702before the A-MPDU subframes 2 up to N that solicit immediate acknowledgement. Advantageously, code blocks requiring HARQ feedback can be indicated by a starting code block number and the number of code blocks requiring HARQ feedback; thus HARQ signaling overhead and HARQ feedback overhead may be reduced.

During CB segmentation704, the A-MPDU subframes 1, 2 up to N are segmented into one or more code blocks. For example, A-MPDU subframe 1 is mapped to code block 1, A-MPDU subframe 2 is segmented/mapped to code block 2 and code block 3, and A-MPDU subframe N is mapped to code block NCB. Each code block 1, 2 up to N has a same code block size, and may contain whole or part of a single A-MPDU subframe. The first code block i.e. code block 1 may further contain the service field. The code block 2 may contain only part of the A-MPDU subframe 2. In type 2 code block segmentation, if an A-MPDU subframe corresponds to a single code block, for example when the size of the A-MPDU subframe is smaller than or equal to that of the code block, the code block is aligned with the boundary of the A-MPDU subframe. If an A-MPDU subframe corresponds to more than one code blocks, for example when a size of the A-MPDU subframe is larger than that of a code block, the last of the more than one code blocks is aligned with the boundary of the A-MPDU subframe. If more than one A-MPDU subframes correspond to a code block, for example when the size of the more than one A-MPDU subframes is smaller than or equal to that of the code block, the code block is aligned with the boundary of the last of the more than one A-MPDU subframes. Each of code blocks requiring HARQ feedback is attached with a CRC. Further, the MAC layer needs to inform PHY layer of the size of each of A-MPDU subframes in an A-MPDU, as well as inform PHY layer of the total size of A-MPDU subframes not soliciting immediate acknowledgement in an A-MPDU. Therefore, the code blocks 1, 3 and NCBalign with A-MPDU subframe boundaries710,712and714respectively. Intra-CB padding bits716may be appended to each of the code blocks 1, 3 and NCBwhich are aligned with A-MPDU subframe boundaries710,712and714to fill up the code blocks 1, 3 and NCBto the code block size. It should be noted that the intra-padding bits716which are applied to the last code block NCBabsorb pre-FEC padding bits so that the last code block is also aligned with symbol segment boundary in the last OFDM symbol (in case of no STBC applied to the data field) or in the last two OFDM symbols (in case of STBC applied to the data field). CRC is appended to each code block that requires HARQ feedback, i.e. each of code blocks 2 up to N corresponding to A-MPDU subframes 2 up to N that solicits immediate acknowledgement.

After CB segmentation704, the code blocks undergo scrambling per code block process706such that A-MPDU subframe bits, intra-padding bits (if any) and CRC (if any) contained in each code block are scrambled. For example, after the scrambling process706, code block 1 comprises the service field and scrambled bits718, code block 2 comprises scrambled bits720, code block 3 comprises scrambled bits722and code block NCBcomprises scrambled bits724. The initial state of each scrambling is the same with the first scrambling, which is the first N bits of the service field where N is a determined positive integer (e.g.7or11). Further, these scrambled code blocks undergo LDPC coding process708so that the contents of each code block are encoded using LDPC. For code block 1, the scrambled bits and service field are encoded using LDPC. For example, after LDPC coding process708, code block 1 comprises coded bits726, code block 2 comprises coded bits728, code block 3 comprises coded bits730and code block NCBcomprises coded bits732. The remaining transmitter processing is the same as 11ax HE SU PPDU.

FIG.8shows an illustration800of a BCC encoding process of a data field containing an initial transmission, the data field having a type 2 code block segmentation. While the process for BCC encoding is similar to that shown in illustration700, tail bits are appended at the end of each code block. For example, tail bits802,804,806,808and810are appended at the end of code block 1, code block 2, code block 3, code block 4 and code block NCBrespectively. Thereafter, the code blocks undergo scrambling per code block such that A-MPDU subframe bits, intra-padding bits (if any), CRC bits (if any) and tail bits contained in each code block are scrambled. These scrambled code blocks then undergo BCC coding so that the contents of each code block are encoded using BCC.

FIG.9Ashows a flowchart900for type 2 code block segmentation as depicted inFIGS.7and8. The process starts at step902. At step904, the number of code blocks needed is computed. At step906, the service field and A-MPDU are segmented into code blocks. At step908, the number of intra-CB padding bits required for each code block is computed. At step910, intra-CB padding bits and tail bits (in the case of BCC encoding process as illustrated inFIG.8) are appended to each code block. The process then ends at step912. The process of how the number of code blocks needed is computed at step904is shown in more detail in flowchart914ofFIG.9B. The process of flowchart914to compute the number of code blocks needed starts from step916. At step918, a CB counter and SF counter are both set to 1. At step920, it is determined whether the size of the (SF counter)-th subframe is less than the effective length of one code block. For a code block requiring HARQ feedback, the effective length is the size of the code block excluding CRC, service field (in case of the first code block) and tail bits (in case of BCC coding). For a code block not requiring HARQ feedback, the effective length is the size of the code block excluding service field (in case of the first code block) and tail bits (in case of BCC coding). If it is determined that size of the (SF counter)-th subframe is not less than the effective length of one code block, the process proceeds to step926wherein the number of code blocks, n, required for the (SF counter)-th subframe is computed. At step928, the CB counter is incremented by n and the SF counter is incremented by 1. At step930, it is determined whether the SF counter has reached a value that is equal to NSFi.e. the total number of A-MPDU subframes in the A-MPDU. If it is determined that the value of the SF counter is not equal to NSF, the process goes back to step920. On the other hand, if it is determined at step920that the size of the (SF counter)-th subframe is less than the effective length of one code block, the process proceeds from step920to step922where the number of subframes, m, which can be included in the (CB counter)-th code block is computed. If, at step922, no more than one A-MPDU subframe can be mapped to a single code block, then m=1. At step924, the CB counter is incremented by 1 and the SF counter is incremented by m. The process then proceeds to step930, where the loop process between step920and step930continues until the SF counter value is equal to NSF. Then the process proceeds to step932where the number of code blocks needed (i.e. the final value of the CB counter) is determined. The process then ends at step934.

FIG.10Ashows a flowchart1000for STA behaviour under type 2 code block segmentation (i.e. behaviour of an intended STA that receives the encoded code blocks shown inFIG.7andFIG.8). The process begins from step1002. At step1004, the data field is demodulated. At step1006, each code block is decoded. At step1008, each code block is descrambled. At step1010, the code blocks are processed. At step1012, HARQ feedback based on CRC check result is generated. The process then ends at step1014. Advantageously for type 2 code block segmentation, since HARQ feedback is based on CRC check result at the PHY layer, there is no need to pass the resultant bits obtained from descrambled code blocks to MAC layer as required in type 1 code block segmentation.

Step1010of processing the code blocks is shown in more detail in flowchart1016ofFIG.10B. The process of flowchart1016to process the code blocks starts from step1018. At step1020, a CB counter is set to 1. At step1022, it is determined whether a (CB counter)-th code block is attached with CRC. If it is determined that (CB counter)-th code block is attached with CRC, the process proceeds to step1024wherein the CRC in the concerned code block is checked. At step1026, the CB counter is incremented by 1. At step1028, it is determined whether the CB counter is greater than NCBi.e. the total number of code blocks in the concerned data field. If it is determined that the value of the CB counter is not greater than NCB, the process goes back to step1022. On the other hand, if it is determined at step1022that the (CB counter)-th code block is attached with CRC, the process skips step1024and proceeds from step1022to step1026where the CB-counter is incremented by 1. The loop process between step1022and step1028continues until the CB counter value is greater than NCB. Then the process proceeds and ends at step1030.

Advantageously, type 2 code block segmentation is efficient for transmission of an A-MPDU containing one or more large-size MPDU because only part of the code blocks with NACK corresponding to each large-size MPDU needs to be retransmitted. However, a code block based HARQ feedback mechanism may be required.

FIG.11shows an illustration1100of a LDPC encoding process of a data field1102containing an initial transmission, the data field having a type 3 code block segmentation. The data field1102may be in the format of the data field in the PPDU200, and may include a service field followed by an A-MPDU comprising one or more A-MPDU subframes, i.e. A-MPDU subframe 1, A-MPDU subframe 2 up to A-MPDU subframe N, such that the A-MPDU is prepended by the service field. An A-MPDU subframe includes at most one MPDU. The A-MPDU subframes 1 and 2 do not solicit immediate acknowledgement and is placed in the data field1102before the A-MPDU subframes 3 up to N that solicit immediate acknowledgement. Advantageously, code blocks requiring HARQ feedback can be indicated by a starting code block number and the number of code blocks requiring HARQ feedback; thus HARQ signaling overhead and HARQ feedback overhead may be reduced.

During CB segmentation1104, the A-MPDU subframes 1, 2 up to N are segmented into one or more code blocks. For example, A-MPDU subframe 1 is mapped to code block 1, A-MPDU subframe 2 is mapped to code block 2, A-MPDU subframe 3 is mapped to code block 3, and A-MPDU subframe N is mapped to code block NCB. Each code block 1, 2, 3 up to N has a same code block size, and may contain whole or part of a single A-MPDU subframe. The first code block, i.e. code block 1, may further contain the service field. In type 3 code block segmentation, A-MPDU subframes not soliciting immediate acknowledgement correspond to one or more code block not requiring HARQ feedback, the last of the one or more code block not requiring HARQ feedback is aligned with the boundary of the last A-MPDU subframe not soliciting immediate acknowledgement. If an A-MPDU subframe soliciting immediate acknowledgement correspond to a single code block requiring HARQ feedback, the code block requiring HARQ feedback is aligned with the boundary of the A-MPDU subframe soliciting immediate acknowledgement. If an A-MPDU subframe soliciting immediate acknowledgement correspond to more than one code blocks requiring HARQ feedback, the last of the more than one code blocks requiring HARQ feedback is aligned with the boundary of the A-MPDU subframe soliciting immediate acknowledgement. If more than one A-MPDU subframes soliciting immediate acknowledgement correspond to a single code block requiring HARQ feedback, the code block requiring HARQ feedback is aligned with the boundary of the last of the more than one A-MPDU subframes soliciting immediate acknowledgement. Furthermore, the MAC layer needs to inform PHY layer of the total size of A-MPDU subframes not soliciting immediate acknowledgement in an A-MPDU, as well as inform PHY layer of the size of each of A-MPDU subframes soliciting immediate acknowledgement in an A-MPDU. Therefore, code blocks 2, 3 and NCBalign with A-MPDU subframe boundaries1110,1112and1114respectively. Intra-CB padding bits1116may be appended to each of the code blocks 2, 3 and NCBwhich are aligned with A-MPDU subframe boundaries1110,1112and1114to fill up the code blocks 2, 3 and NCBto the code block size. It should be noted that the intra-padding bits1116which are applied to the last code block NCBabsorb pre-FEC padding bits so that the last code block is also aligned with symbol segment boundary in the last OFDM symbol (in case of no STBC applied to the data field) or in the last two OFDM symbols (in case of STBC applied to the data field).

After CB segmentation1104, the code blocks undergo scrambling per code block process1106such that A-MPDU subframe bits and intra-padding bits (if any) contained in each code block are scrambled. For example, after the scrambling process1106, code block 1 comprises the service field and scrambled bits1118, code block 2 comprises scrambled bits1120, code block 3 comprises scrambled bits1122and code block NCBcomprises scrambled bits1124. The initial state of each scrambling is the same with the first scrambling, which is the first N bits of the service field where N is a determined positive integer (e.g.7or11). Further, these scrambled code blocks undergo LDPC coding process1108so that the contents of each code block are encoded using LDPC. For code block 1, the scrambled bits and service field are encoded using LDPC. For example, after LDPC coding process1108, code block 1 comprises coded bits1126, code block 2 comprises coded bits1128, code block 3 comprises coded bits1130and code block NCBcomprises coded bits1132. Thereafter, remaining transmitter processing for the encoded code blocks is the same as 11ax HE SU PPDU.

FIG.12shows an illustration1200of a BCC encoding process of a data field containing an initial transmission, the data field having a type 3 code block segmentation. While the process for BCC encoding is similar to that shown in illustration1100, tail bits are appended at the end of each code block. For example, tail bits1202,1204,1206and1208are appended at the end of code block 1, code block 2, code block 3 and code block NCBrespectively. Thereafter, the code blocks undergo scrambling per code block such that A-MPDU subframe bits, intra-padding bits (if any) and tail bits contained in each code block are scrambled. These scrambled code blocks then undergo BCC coding so that the contents of each code block are encoded using BCC.

FIG.13Ashows a flowchart1300for type 3 code block segmentation as depicted inFIGS.11and12. The process starts at step1302. At step1304, the number of code blocks not requiring HARQ feedback is computed using formula

NCB,nfb=⌈LMPDU,nfb+NSERVICE1944·R·NCW,CB⌉
wherein NCB,nfbis the number of code blocks not requiring HARQ feedback, LMPDU,nfbis the length of A-MPDU subframes not soliciting immediate acknowledgement and R is the code rate. At step1306, the number of code blocks requiring HARQ feedback is computed. At step1308, the service field and A-MPDU are segmented into code blocks. At step1310, the number of intra-CB padding bits required for each code block is computed. At step1312, intra-CB padding bits (if present) and tail bits (if present, in the case of BCC encoding process as illustrated inFIG.12) are appended to each code block. The process then ends at step1314.

The process of how the number of code blocks requiring HARQ feedback is computed at step1306is shown in more detail in flowchart1316ofFIG.13B. The process of flowchart1316to compute the number of code blocks requiring HARQ feedback starts from step1318. At step1320, a CB counter and SF counter are both set to 1. At step1322, it is determined whether the size of the (SF counter)-th subframe is less than the effective length of one code block. For a code block requiring HARQ feedback, the effective length is the size of the code block excluding service field (in case of the first code block) and tail bits (in case of BCC coding). If it is determined that size of the (SF counter)-th subframe is not less than the effective length of one code block, the process proceeds to step1328wherein the number of code blocks, n, required for the (SF counter)-th subframe is computed. At step1330, the CB counter is incremented by n and the SF counter is incremented by 1. At step1332, it is determined whether the SF counter has reached a value that is equal to NSF. Unlike type 1 and type 2 code block segmentation, NSFfor type 3 code block segmentation is the total number of A-MPDU subframes that solicit immediate acknowledgement in an A-MPDU. If it is determined that the value of the SF counter is not equal to NSF, the process goes back to step1322. On the other hand, if it is determined at step1322that the size of the (SF counter)-th subframe is less than the effective length of one code block, the process proceeds from step1322to step1324where the number of subframes, m, which can be included in the (CB counter)-th code block is computed. If no more than one A-MPDU subframe that solicit immediate acknowledgement can be mapped to a same code block, then m=1. At step1326, the CB counter is incremented by 1 and the SF counter is incremented by m. The process then proceeds to step1332, where the loop process between step1322and step1332continues until the SF counter value is equal to NSF. Then the process proceeds to step1334where the number of code blocks needed (i.e. the final value of the CB counter) is determined. The process then ends at step1336.

STA behavior for type 3 code block segmentation is the same as type 1 code block segmentation i.e. as shown in flowchart600ofFIG.6. Advantageously, type 3 code block segmentation is similar to type 1 code block segmentation except less code blocks may be required for an A-MPDU. However, similar to type 1, type 3 code block segmentation may be inefficient for transmission of an A-MPDU containing one or more large-size MPDU since all code blocks corresponding to each large-size MPDU with NACK need to be retransmitted.

FIG.14shows an illustration1400of a LDPC encoding process of a data field1402containing an initial transmission, the data field having a type 4 code block segmentation. The data field1402may be in the format of the data field in the PPDU200, and may include a service field followed by an A-MPDU comprising one or more A-MPDU subframes, i.e. A-MPDU subframe 1, A-MPDU subframe 2 up to A-MPDU subframe N, such that the A-MPDU is prepended by the service field. The A-MPDU subframes 1 and 2 do not solicit immediate acknowledgement and are placed in the data field1402before the A-MPDU subframes 3 up to N that solicit immediate acknowledgement. Advantageously, code blocks requiring HARQ feedback can be indicated by a starting code block number and the number of code blocks requiring HARQ feedback; thus HARQ signaling overhead and HARQ feedback overhead may be reduced.

During CB segmentation1404, the A-MPDU subframes 1, 2 up to N are segmented into one or more code blocks. For example, A-MPDU subframe 1 is mapped to code block 1, A-MPDU subframe 2 is mapped to code block 2, A-MPDU subframe 3 is mapped to code block 3, and A-MPDU subframe N is mapped to code block NcB. Each code block 1, 2, 3 up to N has a same code block size, and may contain whole or part of a single A-MPDU subframe. The first code block, i.e. code block 1, may further contain the service field. In type 4 code block segmentation, A-MPDU subframes not soliciting immediate acknowledgement correspond to one or more code block not requiring HARQ feedback, the last of the one or more code block not requiring HARQ feedback is aligned with the boundary of the last A-MPDU subframe not soliciting immediate acknowledgement. If an A-MPDU subframe soliciting immediate acknowledgement correspond to a single code block requiring HARQ feedback, the code block requiring HARQ feedback is aligned with the boundary of the A-MPDU subframe soliciting immediate acknowledgement. If an A-MPDU subframe soliciting immediate acknowledgement correspond to more than one code blocks requiring HARQ feedback, the last of the more than one code blocks requiring HARQ feedback is aligned with the boundary of the A-MPDU subframe soliciting immediate acknowledgement. If more than one A-MPDU subframes soliciting immediate acknowledgement correspond to a single code block requiring HARQ feedback, the code block requiring HARQ feedback is aligned with the boundary of the last of the more than one A-MPDU subframes soliciting immediate acknowledgement. Each of code blocks requiring HARQ feedback is attached with a CRC. Furthermore, the MAC layer needs to inform PHY layer of the total size of A-MPDU subframes not soliciting immediate acknowledgement in an A-MPDU, as well as inform PHY layer of the size of each of A-MPDU subframes soliciting immediate acknowledgement in an A-MPDU. Therefore, the code blocks 2, 3 and NCBalign with A-MPDU subframe boundaries1410,1412and1414respectively. Intra-CB padding bits1416may be appended to each of the code blocks 2, 3 and NCBwhich are aligned with A-MPDU subframe boundaries1410,1412and1414to fill up the code blocks 2, 3 and NCBto the code block size. It should be noted that the intra-padding bits1416which are applied to the last code block NCBabsorb pre-FEC padding bits so that the last code block is also aligned with symbol segment boundary in the last OFDM symbol (in case of no STBC applied to the data field) or in the last two OFDM symbols (in case of STBC applied to the data field). Furthermore, code blocks 3 and NCBare attached with CRC since they require HARQ feedback.

After CB segmentation1404, the code blocks undergo scrambling per code block process1406such that A-MPDU subframe bits and intra-padding bits (if any) contained in each code block are scrambled. For example, after the scrambling process1406, code block 1 comprises the service field and scrambled bits1418, code block 2 comprises scrambled bits1420, code block 3 comprises scrambled bits1422and code block NCBcomprises scrambled bits1424. The initial state of each scrambling is the same with the first scrambling, which is the first N bits of the service field where N is a determined positive integer (e.g.7or11). Further, these scrambled code blocks undergo LDPC coding process1408so that the contents of each code block are encoded using LDPC. For code block 1, the scrambled bits and service field are encoded using LDPC. For example, after LDPC coding process1408, code block 1 comprises coded bits1426, code block 2 comprises coded bits1428, code block 3 comprises coded bits1430and code block NCBcomprises coded bits1432. Thereafter, remaining transmitter processing for the encoded code blocks is the same as 11ax HE SU PPDU.

FIG.15shows an illustration1500of a BCC encoding process of a data field containing an initial transmission, the data field having a type 4 code block segmentation. While the process for BCC encoding is similar to that shown in illustration1500, tail bits are appended at the end of each code block. For example, tail bits1502,1504,1506,1508and1510are appended at the end of code block 1, code block 2, code block 3, code block 4 and code block NCBrespectively. Thereafter, the code blocks undergo scrambling per code block such that A-MPDU subframe bits, intra-padding bits (if any) and tail bits contained in each code block are scrambled. These scrambled code blocks then undergo BCC coding process so that the contents of each code block are encoded using BCC.

FIG.16Ashows a flowchart1600for type 4 code block segmentation as depicted inFIGS.14and15. The process starts at step1602. At step1604, the number of code blocks not requiring HARQ feedback is computed using formula

NCB,nfb=⌈LMPDU,nfb+NSERVICE1944·R·NCW,CB⌉
wherein NCB,nfbis the number of code blocks not requiring HARQ feedback, LMPDU,nfbis the length of A-MPDU subframes not soliciting immediate acknowledgement and R is the code rate. At step1606, the number of code blocks requiring HARQ feedback is computed. At step1608, the service field and A-MPDU are segmented into code blocks. At step1610, the number of intra-CB padding bits required for each code block is computed. At step1612, intra-CB padding bits (if present) and tail bits (if present, in the case of BCC encoding process as illustrated inFIG.15) are appended to each code block. The process then ends at step1614.

The process of how the number of code blocks requiring HARQ feedback is computed at step1606is shown in more detail in flowchart1616ofFIG.16B. The process of flowchart1616to compute the number of code blocks requiring HARQ feedback starts from step1618. At step1620, a CB counter and SF counter are both set to 1. At step1622, it is determined whether the size of the (SF counter)-th subframe is less than the effective length of one code block. For a code block requiring HARQ feedback, the effective length is the size of the code block excluding CRC, service field (in case of the first code block) and tail bits (in case of BCC coding). If it is determined that size of the (SF counter)-th subframe is not less than the effective length of one code block, the process proceeds to step1628wherein the number of code blocks, n, required for the (SF counter)-th subframe is computed. At step1630, the CB counter is incremented by n and the SF counter is incremented by 1. At step1632, it is determined whether the SF counter has reached a value that is equal to NSF. Similar to type 3 code block segmentation, NSFfor type 4 code block segmentation is the total number of A-MPDU subframes that solicit immediate acknowledgement in an A-MPDU. If it is determined that the value of the SF counter is not equal to NSF, the process goes back to step1622. On the other hand, if it is determined at step1622that the size of the (SF counter)-th subframe is less than the effective length of one code block, the process proceeds from step1622to step1624where the number of subframes, m, which can be included in the (CB counter)-th code block is computed. If no more than one A-MPDU subframe that solicit immediate acknowledgement can be mapped to a same code block, then m=1. At step1626, the CB counter is incremented by 1 and the SF counter is incremented by m. The process then proceeds to step1632, where the loop process between step1622and step1632continues until the SF counter value is equal to NSF. Then the process proceeds to step1634where the number of code blocks needed (i.e. the final value of the CB counter) is determined. The process then ends at step1636.

STA behavior for type 4 code block segmentation is the same as type 2 code block segmentation i.e. as shown in flowchart1000ofFIG.10A. Type 4 code block segmentation also has similar advantages as type 2 code block segmentation except less code blocks may be required for an A-MPDU than type 2 code block segmentation. However, similar to type 2 code block segmentation, code block based HARQ feedback mechanism needs to be developed since existing MPDU based acknowledgement mechanism for HARQ feedback cannot be reused for type 4 code block segmentation.

FIG.17shows an illustration1700of a LDPC encoding process of a data field1702containing an initial transmission, the data field having a type 5 code block segmentation. The data field1702may be in the format of the data field in the PPDU200, and may include a service field followed by an A-MPDU comprising A-MPDU subframes, i.e. one or more A-MPDU subframe(s)1710not soliciting immediate acknowledgement and one or more A-MPDU subframe(s)1712soliciting immediate acknowledgement. The one or more A-MPDU subframe(s)1710not soliciting immediate acknowledgement are placed in the data field1702before the one or more A-MPDU subframe(s)1712soliciting immediate acknowledgement. Advantageously, code blocks requiring HARQ feedback can be indicated by a starting code block number and the number of code blocks requiring HARQ feedback; thus HARQ signaling overhead and HARQ feedback overhead may be reduced.

During CB segmentation1704, the A-MPDU subframes are segmented into code blocks. For example, A-MPDU subframe(s)1710are segmented and mapped to code block 1 up to code block NCB,nfb, while A-MPDU subframe(s)1712are segmented and mapped to code block NCB,nfb+1 up to code block NCB. Each code block has a same code block size, and may contain whole or part of a single A-MPDU subframe. The first code block, i.e. code block 1, may further contain the service field. In type 5 code block segmentation, A-MPDU subframes not soliciting immediate acknowledgement correspond to one or more code block not requiring HARQ feedback, the last of the one or more code block not requiring HARQ feedback is aligned with the boundary of the last A-MPDU subframe not soliciting immediate acknowledgement. If A-MPDU subframes soliciting immediate acknowledgement correspond to one or more code block requiring HARQ feedback, the last of the one or more code block requiring HARQ feedback is aligned with the boundary of the last A-MPDU subframe soliciting immediate acknowledgement. Each of code blocks requiring HARQ feedback is attached with a CRC. Furthermore, the MAC layer needs to inform PHY layer of the total size of A-MPDU subframes not soliciting immediate acknowledgement in an A-MPDU, as well as inform PHY layer of the total size of A-MPDU subframes soliciting immediate acknowledgement in an A-MPDU. Therefore, since A-MPDU subframe(s)1710not soliciting immediate acknowledgement are segmented and mapped to code block 1 up to code block NCB,nfb, then NCB,nfbis the number of code blocks not requiring HARQ feedback. The code block NCB,nfband code block NCBalign with A-MPDU subframe boundaries1714and1716respectively. Intra-CB padding bits1718may be appended to each of the code blocks NCB,nfband NCBwhich are aligned with A-MPDU subframe boundaries1714and1716to fill up the code blocks NCB,nfband NCBto the code block size. It should be noted that the intra-padding bits1718which are applied to the last code block NCBabsorb pre-FEC padding bits so that the last code block is also aligned with symbol segment boundary in the last OFDM symbol (in case of no STBC applied to the data field) or in the last two OFDM symbols (in case of STBC applied to the data field). Furthermore, code block NCB,nfb+1 up to code block NCBare attached with CRC since they require HARQ feedback.

After CB segmentation1704, the code blocks undergo scrambling per code block process1706such that A-MPDU subframe bits and intra-padding bits (if any) contained in each code block are scrambled. For example, after the scrambling process1706, code block 1 comprises the service field and scrambled bits1718, code block NCB,nfbcomprises scrambled bits1720, code block NCB,nfb+1 comprises scrambled bits1722and code block NCBcomprises scrambled bits1724. The initial state of each scrambling is the same with the first scrambling, which is the first N bits of the service field where N is a determined positive integer (e.g.7or11). Further, these scrambled code blocks undergo LDPC coding process1708so that the contents of each code block are encoded using LDPC. For code block 1, the scrambled bits and service field are encoded using LDPC. For example, after LDPC coding process1708, code block 1 comprises coded bits1726, code block NCB,nfbcomprises coded bits1728, code block NCB,nfb+1 comprises coded bits1730and code block NCBcomprises coded bits1732. Thereafter, remaining transmitter processing for the encoded code blocks is the same as 11ax HE SU PPDU.

FIG.18shows an illustration1800of a BCC encoding process of a data field containing an initial transmission, the data field having a type 5 code block segmentation. While the process for BCC encoding is similar to that shown in illustration1800, tail bits are appended at the end of each code block. For example, tail bits1802,1804,1806and1808are appended at the end of code block 1, code block NCB,nfb, code block NCB,nfband code block NCBrespectively. Thereafter, the code blocks undergo scrambling per code block such that A-MPDU subframe bits, intra-padding bits (if any) and tail bits contained in each code block are scrambled. These scrambled code blocks then undergo BCC coding process so that the contents of each code block are encoded using BCC.

FIG.19shows a flowchart1900for type 5 code block segmentation as depicted inFIG.17. The process starts at step1902. At step1904, the value of NCBis computed by formula NCB=NCB,nfb+NCB,fb, wherein

NCB,nfb=⌈LMPDU,nfb+NSERVICE1944·R·NCW,CB⌉,NCB,fb=⌈LMPDU,fb++⁢NSERVICE1944·R·NCW,CB-LCRC⌉,
and wherein NCB,nfbis the number of code blocks not requiring HARQ feedback, NCB,fbis the number of code blocks requiring HARQ feedback, LMPDU,nfbis the length of A-MPDU subframes not soliciting immediate acknowledgement, LMPDU,fbis the length of A-MPDU subframes soliciting immediate acknowledgement, NSERVICEis the number of bits in the service field, which is equal to 0 if code blocks requiring HARQ feedback do not include the service field, R is the code rate and LCRCis the length of CRC per code block. At step1906, the number of intra-CB padding bits for the last code block not requiring HARQ feedback is computed using formula NIntraCB,nfb=NCB,nfb·NCW,CB·1944·R−LMPDU,nfb−NSERVICEand the number of intra-CB padding bits for the last code block requiring HARQ feedback is computed using formula NIntraCB,fb=NCB,fb·NCW,CB·1944·R−LMPDU,fb−NSERVICE−LCRC·NCB,fb, wherein NCW,CBis the number of codewords per code block, NIntraCB,nfbis the number of intra-CB padding bits in the last code block not requiring HARQ feedback and NIntraCB,fbis the number of intra-CB padding bits in the last code block requiring HARQ feedback. At step1908, intra-CB padding bits are inserted into the last code block not requiring HARQ feedback and the last code block requiring HARQ feedback. At step1910, CRC is appended to each of code blocks requiring HARQ feedback. Steps1908and1910are depicted in detail by illustration1914wherein intra-CB padding bits are inserted into code block NCB,nfb(i.e. the last code block not requiring HARQ feedback as seen inFIG.17) and code block NCB(i.e. the last code block requiring HARQ feedback as seen inFIG.17), and CRC are appended to code block NCB,nfb+1 and code block NCBas both code blocks require HARQ feedback as seen inFIG.17. It will be appreciated that the code blocks positioned between code blocks NCB,nfb+1 and NCBare also appended with CRC since they require HARQ feedback. The process then ends at step1912.

FIG.20shows a flowchart2000for type 5 code block segmentation as depicted inFIG.18. The process starts at step2002. At step2004, the value of NCBis computed by formula NCB=NCB,nfb+NCB,fb, wherein

NCB,nfb=⌈LMPDU,nfb+NSERVICELCB·R⌉,NCB,fb=⌈LMPDU,fb+NSERVICELCB·R-LCRC-NTail⌉
and wherein NCB,nfbis the number of code blocks not requiring HARQ feedback, NCB,fbis the number of code blocks requiring HARQ feedback, LMPDU,nfbis the length of A-MPDU subframes not soliciting immediate acknowledgement, LMPDU,fbis the length of A-MPDU subframes soliciting immediate acknowledgement, NSERVICEis the number of bits in the service field, which is equal to 0 if code blocks requiring HARQ feedback do not include the service field, R is the code rate, LCRCis the length of CRC per code block and NTAILis the number of tail bits per code block. At step2006, the number of intra-CB padding bits for the last code block not requiring HARQ feedback is computed using formula NIntraCB,nfb=LCB·R·NCB,nfb−LMPDU,nfb−NSERVICE−NTail·NCB,nfband the number of intra-CB padding bits for the last code block requiring HARQ feedback is computed using formula NIntraCB,fb=LCB·R·NCB,fb−LMPDU,fb−NSERVICE−LCRC·NCB,fb−NTail·NCB,fb, wherein NIntraCB,nfbis the number of intra-CB padding bits in the last code block not requiring HARQ feedback and NIntraCB,fbis the number of intra-CB padding bits in the last code block requiring HARQ feedback. At step2008, intra-CB padding bits are inserted into the last code block not requiring HARQ feedback and the last code block requiring HARQ feedback. At step2010, CRC is appended to each of code blocks requiring HARQ feedback. At step2012, tail bits are appended to each code block. Steps2008,2010and2012are depicted in detail by illustration2016wherein intra-CB padding bits are inserted into code block NCB,nfb(i.e. the last code block not requiring HARQ feedback as seen inFIG.18) and code block NCB(i.e. the last code block requiring HARQ feedback as seen inFIG.18), CRC are appended to code block NCB,nfb+1 and code block NCBas both code blocks require HARQ feedback as seen inFIG.18, and tail bits are appended to each code block as seen inFIG.18. It will be appreciated that the code blocks positioned between code blocks NCB,nfb+1 and NCBare also appended with tail bits, and also CRC since they require HARQ feedback. The process then ends at step2014.

STA behavior for type 5 code block segmentation is the same as type 2 code block segmentation i.e. as shown in flowchart1000ofFIG.10A. Type 5 code block segmentation has similar advantages as type 4 code block segmentation except less code blocks may be required for an A-MPDU than type 4 code block segmentation. However, similar to type 4, code block based HARQ feedback mechanism needs to be developed since existing MPDU based acknowledgement mechanism for HARQ feedback cannot be reused for type 5 code block segmentation.

Different types of code block segmentation have their respective advantages and disadvantages. Generally, AP or STA can determine the code block segmentation type at its discretion depending on A-MPDU size and MCS.

The above-described examples for types 1-5 code block segmentation are in case where the data field contains an initial transmission. Examples pertaining to a data field including a retransmission are described below.

FIG.21shows an illustration of an encoding process of a data field including a retransmission when HARQ regular CC is used. HARQ regular CC can be treated as a special case of HARQ punctured CC (i.e. puncturing pattern for HARQ CC indicates no puncturing for HARQ regular CC). For both HARQ CC and HARQ IR, all code blocks for an A-MPDU are transmitted in an initial transmission, but only code blocks with NACK are transmitted in a retransmission. In the case of HARQ regular CC, similar to initial transmission, all encoded bits in each code block requiring retransmission are transmitted. As seen inFIG.21, encoded code blocks 1 to Nretxrequiring retransmission are positioned and the last encoded code block Nretxrequiring retransmission is appended with retransmitted (retx) padding bits. The remaining transmitter processing is the same as 11ax HE SU PPDU.

FIG.22shows an illustration of an encoding process of a data field including a retransmission when HARQ IR is used or HARQ punctured CC is used, according to various embodiments of the present disclosure. When HARQ IR is used, each code block is encoded using a mother code rate (e.g. ½). Further, retx bits for a code block requiring retransmission are extracted from the coded bits in the code block according to a redundancy version which may be indicated in HARQ-SIG field. When HARQ punctured CC is used, retx bits for a code block requiring retransmission are generated from coded bits in the code block according to a puncturing pattern which may be indicated in HARQ-SIG field. As seen inFIG.22, retx bits for each code block requiring retransmission are generated as illustrated in2200and the last encoded code block Nretxrequiring retransmission is appended with retx padding bits as illustrated in2202. The remaining transmitter processing is the same as 11ax HE SU PPDU.

For HARQ regular CC, the number of retx padding bits can be computed by formulae NretxPadding=NretxSYM·NCBPS−Nretx·NCW,CB·1944 and

NretxSYM=⌈Nretx·NCW,CB·1944NCBPS⌉.
For HARQ punctured CC or HARQ IR, the number of retx padding bits can be computed by formulae NretxPadding=NretxSYM·NCBPS−Nretx·NCW,CB·1944·Pretxand

NretxSYM=⌈Nretx·NCW,CB·1944·PretxNCBPS⌉,
wherein Pretxis the retx percentage (i.e. the ratio of the number of retx bits to the number of coded bits in a code block).

Under HARQ punctured CC, retx bits are uniformly extracted from coded bits in a code block requiring retransmission according to a puncturing pattern, which may be indicated in HARQ-SIG field. The number of available puncturing patterns depends on retx percentage, wherein the number of available puncturing patterns for a larger retx percentage shall not be greater than that for a smaller retx percentage. The retx percentage depends on packet error rate (PER) of a current transmission, wherein the retx percentage for a larger PER shall not be less than that for a smaller PER. A receiver having incorrectly received part of or whole A-MPDU carried in the data field of a transmission signal (wherein the transmission signal may be in the format of the EHT basic PPDU200) may recommend a retx percentage to a corresponding transmitter together with the NACK feedback to assist the transmitter in selecting an appropriate puncturing pattern for retransmission. An example of the relationship among available puncturing patterns, retx percentage and PER is illustrated in Table 1 below:

TABLE 1Available puncturing patternsRetx percentagePERPattern 1¾0.3~0.4Patterns 1, 2½0.2~0.3Patterns 1, 2, 3⅓0.1~0.2Patterns 1, 2, 3, 4¼≤0.1

For example, in a case where retx percentage is ½, 2 puncturing patterns, i.e. patterns 1 and 2, are available. For pattern 1, retx bits may be even numbered coded bits in a code block requiring retransmission. For pattern 2, retx bits may be odd numbered coded bits in a code block requiring retransmission. It will be appreciated that other variations of puncturing patterns are also possible.

FIG.23shows a flowchart for STA behaviour for a data field including a retransmission, according to various embodiments of the present disclosure. The process starts from step2302and proceeds to step2304where the data field is demodulated. At step2306, retx padding bits are discarded. At step2308, it is determined whether HARQ CC is applied. If it is determined that HARQ CC is applied, the process proceeds to step2320where soft bit combining for retransmitted code blocks based on the puncturing pattern is performed, and then to step2312where the code blocks are descrambled. On the other hand, if it is determined at step2308that HARQ CC is not applied (i.e. HARQ IR is applied), the process proceeds to step2310where soft bit combining for retransmitted code blocks based on the redundancy version is performed, and then to step2312. At step2314, CRC per code block is checked. At step2316, HARQ feedback is generated based on the CRC check result of step2314. The process then ends at step2318.

FIG.24shows a flow diagram of a communication method for implementation of HARQ transmission in accordance with various embodiments of the present disclosure. At step2402, a transmission signal that includes a data field, the data field carrying an A-MPDU that is segmented into one or more code block is generated, wherein the A-MPDU comprises one or more A-MPDU subframe that are mapped to the one or more code block, such that an A-MPDU subframe not soliciting immediate acknowledgement and an A-MPDU subframe soliciting immediate acknowledgement are not mapped into a single code block. At step2404, the transmission signal is transmitted.

FIG.25shows a schematic, partially sectioned view of a communication apparatus2500according to various embodiments. The communication apparatus2500may be implemented as an AP or a STA according to various embodiments. As shown inFIG.25, the communication apparatus2500may include circuitry2514, at least one radio transmitter2502, at least one radio receiver2504and multiple antennas2512(for the sake of simplicity, only one antenna is depicted inFIG.25for illustration purposes). The circuitry may include at least one controller2506for use in software and hardware aided execution of tasks it is designed to perform, including control of communications with one or more other communication apparatuses in a MIMO wireless network. The at least one controller2506may control at least one transmission signal generator2508for generating transmission signals e.g. in the form of the EHT basic PPDU200to be sent through the at least one radio transmitter2502to one or more other communication apparatuses and at least one receive signal processor2510for processing HARQ feedback information received through the at least one radio receiver2504from the one or more other communication apparatuses. The at least one transmission signal generator2508and the at least one receive signal processor2510may be stand-alone modules of the communication apparatus2500that communicate with the at least one controller2506for the above-mentioned functions, as shown inFIG.25. Alternatively, the at least one transmission signal generator2508and the at least one receive signal processor2510may be included in the at least one controller2506. It is appreciable to those skilled in the art that the arrangement of these functional modules is flexible and may vary depending on the practical needs and/or requirements. The data processing, storage and other relevant control apparatus can be provided on an appropriate circuit board and/or in chipsets. In various embodiments, when in operation, the at least one radio transmitter2502, at least one radio receiver2504, and at least one antenna2512may be controlled by the at least one controller2506.

The communication apparatus2500, when in operation, provides functions required for HARQ transmissions. For example, the communication apparatus2500may be a communication apparatus, and the at least one transmission signal generator2508of the circuitry2514, may, in operation, generate a transmission signal that includes a data field, the data field carrying an A-MPDU that is segmented into one or more code block, wherein the A-MPDU comprises one or more A-MPDU subframe that are mapped to the one or more code block, such that an A-MPDU subframe not soliciting immediate acknowledgement and an A-MPDU subframe soliciting immediate acknowledgement are not mapped into a single code block; and the at least one radio transmitter2502may, in operation, transmit the generated transmission signal.

A code block may not require HARQ feedback if one or more A-MPDU subframe mapped to the code block does not solicit immediate acknowledgement; and a code block may require HARQ feedback if one or more A-MPDU subframe mapped to the code block solicits immediate acknowledgement. A-MPDU subframes soliciting immediate acknowledgement may be placed consecutively in the A-MPDU. Each code block requiring HARQ feedback may be attached with a CRC. An A-MPDU subframe may be mapped to a single code block when a size of the A-MPDU subframe is smaller than or equal to that of the code block, and wherein the code block may be aligned with a boundary of the A-MPDU subframe. An A-MPDU subframe may be mapped to more than one code blocks when a size of the A-MPDU subframe is larger than that of a code block, wherein the last of the more than one code blocks may be aligned with a boundary of the A-MPDU subframe. More than one A-MPDU subframes may be mapped to a single code block when a size of the more than one A-MPDU subframes is smaller than or equal to that of the code block, wherein the code block is aligned with a boundary of the last of the more than one A-MPDU subframes. A-MPDU subframes not soliciting immediate acknowledgement may be mapped to one or more code block not requiring HARQ feedback, such that the last of the one or more code block not requiring HARQ feedback is aligned with a boundary of the last A-MPDU subframe not soliciting immediate acknowledgement. A-MPDU subframes soliciting immediate acknowledgement may be mapped to one or more code block requiring HARQ feedback, the last of the one or more code block requiring HARQ feedback is aligned with a boundary of the last A-MPDU subframe soliciting immediate acknowledgement. The A-MPDU may be carried in a data field of the transmission signal. Intra-CB padding may be applied to the last of the one or more code block such that the last of the one or more code block is aligned with a symbol segment boundary in a last orthogonal frequency division multiplexing (OFDM) symbol if there is no STBC applied to a data field of the transmission signal, or in a last two OFDM symbols if there is STBC applied to a data field of the transmission signal. The number of bits per code block may be independent of modulation and coding scheme (MCS) applied to a data field of the transmission signal.

The A-MPDU may be prepended by a service field, wherein the circuitry2514may be configured to perform scrambling of bits for each code block such that an initial state of each scrambling is same as a first N bits of the service field wherein N is a determined positive integer. Tail bits may be appended to each code block if BCC encoding is used.

The receiver2504may be configured to receive a NACK of one or more code block from the another communication apparatus in response to transmitting the A-MPDU, the NACK indicating that retransmission of the one or more code block is required; the at least one transmission signal generator2508of the circuitry2514may be further configured to generate retransmitted bits from coded bits in the one or more code block requiring retransmission according to a puncturing pattern or redundancy version indicated in a HARQ-SIG field of the transmission signal; and the transmitter2502may be configured to transmit the generated retransmitted bits to the another communication apparatus in response to the NACK.

As described above, the embodiments of the present disclosure provide an advanced communication system, communication methods and communication apparatuses that enable HARQ operation in extremely high throughput WLAN networks.

The present disclosure can be realized by software, hardware, or software in cooperation with hardware. Each functional block used in the description of each embodiment described above can be partly or entirely realized by an LSI such as an integrated circuit, and each process described in each embodiment may be controlled partly or entirely by the same LSI or a combination of LSIs. The LSI may be individually formed as chips, or one chip may be formed so as to include a part or all of the functional blocks. The LSI may include a data input and output coupled thereto. The LSI here may be referred to as an IC, a system LSI, a super LSI, or an ultra LSI depending on a difference in the degree of integration. However, the technique of implementing an integrated circuit is not limited to the LSI and may be realized by using a dedicated circuit, a general-purpose processor, or a special-purpose processor. In addition, a FPGA (Field Programmable Gate Array) that can be programmed after the manufacture of the LSI or a reconfigurable processor in which the connections and the settings of circuit cells disposed inside the LSI can be reconfigured may be used. The present disclosure can be realized as digital processing or analogue processing. If future integrated circuit technology replaces LSIs as a result of the advancement of semiconductor technology or other derivative technology, the functional blocks could be integrated using the future integrated circuit technology. Biotechnology can also be applied.

The present disclosure can be realized by any kind of apparatus, device or system having a function of communication, which is referred to as a communication apparatus.

Some non-limiting examples of such a communication apparatus include a phone (e.g. cellular (cell) phone, smart phone), a tablet, a personal computer (PC) (e.g. laptop, desktop, netbook), a camera (e.g. digital still/video camera), a digital player (digital audio/video player), a wearable device (e.g. wearable camera, smart watch, tracking device), a game console, a digital book reader, a telehealth/telemedicine (remote health and medicine) device, and a vehicle providing communication functionality (e.g. automotive, airplane, ship), and various combinations thereof.

The communication apparatus is not limited to be portable or movable, and may also include any kind of apparatus, device or system being non-portable or stationary, such as a smart home device (e.g. an appliance, lighting, smart meter, control panel), a vending machine, and any other “things” in a network of an “Internet of Things (loT)”.

The communication may include exchanging data through, for example, a cellular system, a wireless LAN system, a satellite system, etc., and various combinations thereof.

The communication apparatus may comprise a device such as a controller or a sensor which is coupled to a communication device performing a function of communication described in the present disclosure. For example, the communication apparatus may comprise a controller or a sensor that generates control signals or data signals which are used by a communication device performing a communication function of the communication apparatus.

The communication apparatus also may include an infrastructure facility, such as a base station, an access point, and any other apparatus, device or system that communicates with or controls apparatuses such as those in the above non-limiting examples.

It will be understood that while some properties of the various embodiments have been described with reference to a device, corresponding properties also apply to the methods of various embodiments, and vice versa.

It will be appreciated by a person skilled in the art that numerous variations and/or modifications may be made to the present disclosure as shown in the specific embodiments without departing from the spirit or scope of the disclosure as broadly described. The present embodiments are, therefore, to be considered in all respects illustrative and not restrictive.