Extremely High Coding Rates For Next-Generation WLAN Systems
20220368453 · 2022-11-17
Inventors
Cpc classification
H03M13/6516
ELECTRICITY
H03M13/1102
ELECTRICITY
H03M13/116
ELECTRICITY
H04L27/3405
ELECTRICITY
International classification
H04L1/00
ELECTRICITY
Abstract
A method of extremely high coding rates for next-generation wireless local area network (WLAN) systems involves coding an input data at a first coding rate using codes designed for coding up to a second coding rate lower than the first coding rate to provide a coded data. The method also involves wirelessly transmitting the coded data.
Claims
1. An apparatus, comprising: a transceiver configured to communicate wirelessly; and a processor coupled to the transceiver and configured to perform operations comprising: coding an input data at a first coding rate using codes designed for coding up to a second coding rate lower than the first coding rate to provide a coded data; and wirelessly transmitting, via the transceiver, the coded data.
2. The apparatus of claim 1, wherein the coding of the input data at the first coding rate using codes designed for coding up to the second coding rate comprises coding the input data at a rate higher than 5/6 using low-density parity-check (LDPC) codes defined in one of Institute of Electrical and Electronics Engineers (IEEE) 802.11n/ac/ax standards using 4096-quadrature amplitude modulation (4096-QAM), and wherein the wirelessly transmitting of the coded data comprises wirelessly transmitting the coded data with transmit beamforming.
3. The apparatus of claim 1, wherein the second coding rate is 5/6, and wherein the first coding rate comprises a rate higher than 5/6.
4. The apparatus of claim 3, wherein the first coding rate is 6/7, 7/8, 8/9, 9/10, 10/11, or 11/12.
5. The apparatus of claim 1, wherein the coding of the input data comprises: performing a shortening procedure on the input data to provide a bit string comprising a plurality of data bits of the input data, one or more default shortened bits, and a plurality of shortening bits calculated from the shortening process; generating a plurality of parity bits based on the bit string; appending the parity bits to the bit string to provide a concatenated bit string; discarding the one or more default shortened bits and the plurality of shortened bits from the concatenated bit string to provide a shortened bit string; and either: performing a puncturing procedure on the shortened bit string; or performing a repeating procedure on the shortened bit string.
6. The apparatus of claim 5, wherein the performing of the shortening procedure comprises calculating a number of total shortening bits (Nshrt) of the plurality of shortening bits as follows:
N.sub.shrt=max(0, (N.sub.CW×L.sub.LDPC×R)−N.sub.pld), wherein: N.sub.CW denotes a number of LDPC codewords, L.sub.LDPC denotes a length of LDPC codeword, R denotes the first coding rate which is 7/8 or 11/12, and N.sub.pld denotes a number of bits in a Physical Layer Convergence Protocol (PLCP) service data unit (PSDU) and SERVICE field.
7. The apparatus of claim 6, wherein a value of the number of default shortened bits (N.sub.shrt_default) corresponds to the first coding rate (R), a respective information block length (K0), a respective codeword block length (L), a respective length of the parity bits (P) such that: for R=7/8, K0=539, L=616 and P=77, N.sub.shrt_default=1; for R=7/8, K0=1078, L=1232 and P=154, N.sub.shrt_default=2; for R=7/8, K0=1617, L=1848 and P=231, N.sub.shrt_default=3; for R=11/12, K0=539, L=588 and P=49, N.sub.shrt_default=1; for R=11/12, K0=1078, L=1176 and P=98, N.sub.shrt_default=2; and for R=11/12, K0=1617, L=1764 and P=147, N.sub.shrt_default=3.
8. The apparatus of claim 5, wherein the performing of the puncturing procedure comprises: calculating a number of total punctured bits; and either: responsive to the number of total punctured bits determined to be greater than zero, puncturing a first number of bits of the parity bits; or responsive to the number of total punctured bits determined to be equal to zero and a number of repeated bits per codeword being greater than a number of default punctured bits, puncturing a second number of bits of the parity bits, wherein the first number equals the number of default punctured bits plus a number of punctured bits per codeword, and wherein the second number equals the number of default punctured bits minus the number of repeated bits per codeword.
9. The apparatus of claim 8, wherein a value of the number of default punctured bits (N.sub.punc_default) corresponds to the first coding rate (R), a respective information block length (K0), a respective codeword block length (L), a respective length of the parity bits (P) such that: for R=7/8, K0=539, L=616 and P=77, N.sub.punc_default=31, for R=7/8, K0=1078, L=1232 and P=154, N.sub.punc_default=62; for R=7/8, K0=1617, L=1848 and P=231, N.sub.punc_default=93; for R=11/12, K0=539, L=588 and P=49, N.sub.punc_default=59; for R=11/12, K0=1078, L=1176 and P=98, N.sub.punc_default=118; and for R=11/12, K0=1617, L=1764 and P=147, N.sub.punc_default=177.
10. The apparatus of claim 8, wherein the performing of the puncturing procedure further comprises: determining the number of punctured bits per codeword (N.sub.ppcw) based on the number of total punctured bits, wherein the calculating of the number of total punctured bits comprises calculating the number of total punctured bits (N.sub.punc) as follows:
N.sub.punc=max(0, (N.sub.CW×L.sub.LDPC)−N.sub.avbits−N.sub.shrt), wherein: N.sub.CW denotes a number of LDPC codewords, L.sub.LDPC denotes a length of LDPC codeword, N.sub.avbits denotes a number of available bits, and N.sub.shrt denotes a number of total shortening bits.
11. The apparatus of claim 5, wherein the performing of the repeating procedure comprises: calculating a number of total repeated bits; and appending the total repeated bits to the parity bits responsive to a number of total punctured bits being equal to zero and a number of default punctured bits being less than a number of repeated bits per codeword.
12. The apparatus of claim 11, wherein the calculating of the number of total repeated bits comprises calculating the number of total repeated bits (N.sub.rep) as follows:
N.sub.rep=max(0, N.sub.avbits−N.sub.CW×L.sub.LDPC×(1−R)−N.sub.pld), wherein: N.sub.avbits denotes a number of available bits, N.sub.CW denotes a number of LDPC codewords, L.sub.LDPC denotes a length of LDPC codeword, R denotes the first coding rate which is 7/8 or 11/12, and N.sub.pld denotes a number of bits in a Physical Layer Convergence Protocol (PLCP) service data unit (PSDU) and SERVICE field.
13. The apparatus of claim 5, wherein the performing of the puncturing procedure comprises, responsive to a number of total punctured bits N.sub.punc) being greater than or equal to zero, performing continuous puncturing on the shortened bit string by discarding last N.sub.punc_default+N.sub.ppcw bits of the parity bits, and wherein: N.sub.punc_default denotes a number of default punctured bits, and N.sub.ppcw denotes a number of punctured bits per codeword.
14. The apparatus of claim 5, wherein the performing of the puncturing procedure comprises, responsive to a number of total punctured bits (N.sub.punc) being greater than zero, performing interleaved puncturing on the shortened bit string by first discarding N.sub.punc_default bits of the parity bits in an interleaved way and then discarding last N.sub.ppcw bits of remaining bits of the parity bits, and wherein: N.sub.punc_default denotes a number of default punctured bits, and N.sub.ppcw denotes a number of punctured bits per codeword.
15. The apparatus of claim 14, wherein the discarding of the N.sub.punc_default bits of the parity bits in the interleaved way comprises: responsive to the first coding rate being 7/8, discarding one bit for every three bits of the parity bits; or responsive to the first coding rate being 11/12, discarding one bit for every two bits of the parity bits.
16. The apparatus of claim 1, wherein the coding of the input data at the first coding rate comprises coding the input data at a coding rate of 7/8 with a modulation and coding scheme (MCS) index of 14 and using 4096-quadrature amplitude modulation (4096-QAM).
17. The apparatus of claim 1, wherein the coding of the input data at the first coding rate comprises coding the input data at a coding rate of 11/12 with a modulation and coding scheme (MCS) index of 14 or 15 and using 4096-quadrature amplitude modulation (4096-QAM).
18. The apparatus of claim 1, wherein the coding of the input data at the first coding rate comprises coding the input data at a coding rate of 7/8 with a modulation and coding scheme (MCS) index of 16 and using 4096-quadrature amplitude modulation (4096-QAM) based on the coding rate of 7/8 being indicated by existing MCS bits along with one reserved bit having a predefined value, and wherein corresponding extreme high-throughput (EHT)-MCS bits comprise 0000.
19. The apparatus of claim 1, wherein the coding of the input data at the first coding rate comprises coding the input data at a coding rate of 11/12 with a modulation and coding scheme (MCS) index of 17 and using 4096-quadrature amplitude modulation (4096-QAM) based on the coding rate of 11/12 being indicated by existing MCS bits along with one reserved bit having a predefined value, and wherein corresponding extreme high-throughput (EHT)-MCS bits comprise 0001.
20. The apparatus of claim 1, wherein the processor is configured to further perform operations comprising: signaling to a station in a wireless local area network (WLAN) to indicate support of the first coding rate with 4096-quadrature amplitude modulation (4096-QAM) by indicating a physical layer (PHY) capability in a capability field.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The accompanying drawings are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of the present disclosure. The drawings illustrate implementations of the disclosure and, together with the description, serve to explain the principles of the disclosure. It is appreciable that the drawings are not necessarily in scale as some components may be shown to be out of proportion than the size in actual implementation to clearly illustrate the concept of the present disclosure.
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
[0023] Detailed embodiments and implementations of the claimed subject matters are disclosed herein. However, it shall be understood that the disclosed embodiments and implementations are merely illustrative of the claimed subject matters which may be embodied in various forms. The present disclosure may, however, be embodied in many different forms and should not be construed as limited to the exemplary embodiments and implementations set forth herein. Rather, these exemplary embodiments and implementations are provided so that description of the present disclosure is thorough and complete and will fully convey the scope of the present disclosure to those skilled in the art. In the description below, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the presented embodiments and implementations.
Overview
[0024] Implementations in accordance with the present disclosure relate to various techniques, methods, schemes and/or solutions pertaining to extremely high coding rates for next-generation WLAN systems. According to the present disclosure, a number of possible solutions may be implemented separately or jointly. That is, although these possible solutions may be described below separately, two or more of these possible solutions may be implemented in one combination or another.
[0025]
[0026] Referring to
[0027]
[0028] In part (A) of
[0029]
[0030] In part (A) of
[0031]
[0032]
[0033] Referring to
[0034] Under the proposed scheme, a number of total shortening bits (N.sub.shrt) of the plurality of shortening bits may be calculated as follows: N.sub.shrt=max (0, (N.sub.CW×L.sub.LDPC×R)−N.sub.pld). Moreover, a value of the number of default shortened bits (N.sub.shrt_default) may correspond to the first coding rate (R), a respective information block length (K0), a respective codeword block length (L), a respective length of the parity bits (P) such that: (a) for R=7/8, K0=539, L=616 and P=77, N.sub.shrt_default=1; (b) for R=7/8, K0==1078, L=1232 and P=154, N.sub.shrt_default=2; (c) for R=7/8, K0=1617, L=1848 and P=231, N.sub.shrt_default=3; (d) for R=11/12, K0=539, L=588 and P=49, N.sub.shrt_default=1; (e) for R=11/12, K0=1078, L=1176 and P=98, N.sub.shrt_default=2; and (f) for R=11/12, K0=1617, L=1764 and P=147, N.sub.shrt_default=3.
[0035] Under the proposed scheme, in performing the puncturing procedure, certain operations may be performed. For instance, a number of total punctured bits may be calculated. Moreover, responsive to the number of total punctured bits determined to be greater than zero, a first number of bits of the parity bits may be punctured. Alternatively, responsive to the number of total punctured bits determined to be equal to zero and a number of repeated bits per codeword being greater than a number of default punctured bits, a second number of bits of the parity bits may be punctured. In such cases, the first number may equal the number of default punctured bits plus a number of punctured bits per codeword. Additionally, the second number may equal the number of default punctured bits minus the number of repeated bits per codeword.
[0036] Under the proposed scheme, a value of the number of default punctured bits (N.sub.punc_default) may correspond to the first coding rate (R), a respective information block length (K0), a respective codeword block length (L), a respective length of the parity bits (P) such that: (a) for R=7/8, K0=539, L=616 and P=77, N.sub.punc_default=31; (b) for R=7/8, K0=1078, L=1232 and P=154, N.sub.punc_default=62; (c) for R=7/8, K0=1617, L=1848 and P=231, N.sub.punc_default=93; (d) for R=11/12, K0=539, L=588 and P=49, N.sub.punc_default=59; (e) for R=11/12, K0=1078, L=1176 and P=98, N.sub.punc_default=118; and (f) for R=11/12, K0=1617, L=1764 and P=147, N.sub.punc_default=177.
[0037] Under the proposed scheme, in performing the puncturing procedure, additional operations may be performed. For instance, the number of punctured bits per codeword (N.sub.ppcw) may be determined based on the number of total punctured bits. In such cases, in calculating the number of total punctured bits, the number of total punctured bits (N.sub.punc) may be calculated as follows: N.sub.punc=max (0, (N.sub.CW×L.sub.LDPC)−N.sub.avbits−N.sub.shrt)
[0038] Under the proposed scheme, in performing the repeating procedure, certain operations may be performed. For instance, a number of total repeated bits may be calculated. Additionally, the total repeated bits may be appended to the parity bits responsive to a number of total punctured bits being equal to zero and a number of default punctured bits being less than a number of repeated bits per codeword.
[0039] Under the proposed scheme, in calculating the number of total repeated bits, the number of total repeated bits (N.sub.rep) may be calculated as follows: N.sub.rep=max (0, N.sub.avbits−N.sub.CW×L.sub.LDPC×(1−R)−N.sub.pld).
[0040] Under the proposed scheme, in performing the puncturing procedure, responsive to a number of total punctured bits (N.sub.punc) being greater than or equal to zero, continuous puncturing may be performed on the shortened bit string by discarding last N.sub.punc_default+N.sub.ppcw bits of the parity bits.
[0041] Under the proposed scheme, in performing the puncturing procedure, responsive to a number of total punctured bits (N.sub.punc) being greater than zero, interleaved puncturing may be performed on the shortened bit string by first discarding N.sub.punc_default bits of the parity bits in an interleaved way and then discarding last N.sub.ppcw bits of remaining bits of the parity bits.
[0042] Under the proposed scheme, in discarding the N.sub.punc_default bits of the parity bits in the interleaved way, one bit for every three bits of the parity bits may be discarded responsive to the first coding rate being 7/8. Alternatively, one bit for every two bits of the parity bits may be discarded responsive to the first coding rate being 11/12.
[0043]
[0044] Under a proposed scheme of puncturing of parity bits in accordance with the present disclosure, either an option of continuous puncturing or another option of interleaved puncturing may be utilized. With continuous puncturing, the last N.sub.punc_default plus a number of punctured bits per codeword (N.sub.ppcw), herein denoted as N.sub.punc_default+N.sub.ppcw, parity bits may be discarded as: Pn−k−N.sub.ppcw−N.sub.punc_default−1, . . . P.sub.n−k−1. Under the proposed scheme, the option of continuous puncturing may be applied for both the case in which a number of total punctured bits N.sub.punc>0 and the case in which N.sub.punc=0.
[0045] With interleaved puncturing, the first N.sub.punc_default parity bits may be punctured in an interleaved way as described below. For R=7/8, the N.sub.punc_default bits may be discarded as: P.sub.0:3:3*N.sub.punc_default−1. That is, in an event that R=7/8, one parity bit of every three parity bits may be discarded. For the remaining parity bits, the last N.sub.ppcw bits may be discarded. For R=11/12, the N.sub.punc_default bits may be discarded as: P.sub.0:2:2*.sub.(n−k−N.sub.punc_default) P.sub.2*.sub.(n−k−N.sub.punc_default)+1:n−k−1. That is, in an event that R=11/12, one parity bit of every two parity bits may be discarded. For the remaining parity bits, the last N.sub.ppcw bits may be discarded. Under the proposed scheme, the option of interleaved puncturing may be applied for the case of N.sub.punc>0.
[0046]
[0047]
[0048]
[0049]
Illustrative Implementations
[0050]
[0051] Each of apparatus 1210 and apparatus 1220 may be a part of an electronic apparatus, which may be a STA or an AP, such as a portable or mobile apparatus, a wearable apparatus, a wireless communication apparatus or a computing apparatus. When implemented in a STA, each of apparatus 1210 and apparatus 1220 may be implemented in a smartphone, a smart watch, a personal digital assistant, a digital camera, or a computing equipment such as a tablet computer, a laptop computer or a notebook computer. Each of apparatus 1210 and apparatus 1220 may also be a part of a machine type apparatus, which may be an IoT apparatus such as an immobile or a stationary apparatus, a home apparatus, a wire communication apparatus or a computing apparatus. For instance, each of apparatus 1210 and apparatus 1220 may be implemented in a smart thermostat, a smart fridge, a smart door lock, a wireless speaker or a home control center. When implemented in or as a network apparatus, apparatus 1210 and/or apparatus 1220 may be implemented in a network node, such as an AP in a WLAN.
[0052] In some implementations, each of apparatus 1210 and apparatus 1220 may be implemented in the form of one or more integrated-circuit (IC) chips such as, for example and without limitation, one or more single-core processors, one or more multi-core processors, one or more reduced-instruction set computing (RISC) processors, or one or more complex-instruction-set-computing (CISC) processors. In the various schemes described above, each of apparatus 1210 and apparatus 1220 may be implemented in or as a STA or an AP. Each of apparatus 1210 and apparatus 1220 may include at least some of those components shown in
[0053] In one aspect, each of processor 1212 and processor 1222 may be implemented in the form of one or more single-core processors, one or more multi-core processors, one or more RISC processors or one or more CISC processors. That is, even though a singular term “a processor” is used herein to refer to processor 1212 and processor 1222, each of processor 1212 and processor 1222 may include multiple processors in some implementations and a single processor in other implementations in accordance with the present disclosure. In another aspect, each of processor 1212 and processor 1222 may be implemented in the form of hardware (and, optionally, firmware) with electronic components including, for example and without limitation, one or more transistors, one or more diodes, one or more capacitors, one or more resistors, one or more inductors, one or more memristors and/or one or more varactors that are configured and arranged to achieve specific purposes in accordance with the present disclosure. In other words, in at least some implementations, each of processor 1212 and processor 1222 is a special-purpose machine specifically designed, arranged and configured to perform specific tasks including those pertaining to extremely high coding rates for next-generation WLAN systems in accordance with various implementations of the present disclosure.
[0054] In some implementations, apparatus 1210 may also include a transceiver 1216 coupled to processor 1212. Transceiver 1216 may include a transmitter capable of wirelessly transmitting and a receiver capable of wirelessly receiving data. In some implementations, apparatus 1220 may also include a transceiver 1226 coupled to processor 1222. Transceiver 1226 may include a transmitter capable of wirelessly transmitting and a receiver capable of wirelessly receiving data. It is noteworthy that, although transceiver 1216 and transceiver 1226 are illustrated as being external to and separate from processor 1212 and processor 1222, respectively, in some implementations, transceiver 1216 may be an integral part of processor 1212 as a system on chip (SoC) and/or transceiver 1226 may be an integral part of processor 1222 as a SoC.
[0055] In some implementations, apparatus 1210 may further include a memory 1214 coupled to processor 1212 and capable of being accessed by processor 1212 and storing data therein. In some implementations, apparatus 1220 may further include a memory 1224 coupled to processor 1222 and capable of being accessed by processor 1222 and storing data therein. Each of memory 1214 and memory 1224 may include a type of random-access memory (RAM) such as dynamic RAM (DRAM), static RAM (SRAM), thyristor RAM (T-RAM) and/or zero-capacitor RAM (Z-RAM). Alternatively, or additionally, each of memory 1214 and memory 1224 may include a type of read-only memory (ROM) such as mask ROM, programmable ROM (PROM), erasable programmable ROM (EPROM) and/or electrically erasable programmable ROM (EEPROM). Alternatively, or additionally, each of memory 1214 and memory 1224 may include a type of non-volatile random-access memory (NVRAM) such as flash memory, solid-state memory, ferroelectric RAM (FeRAM), magnetoresistive RAM (MRAM) and/or phase-change memory.
[0056] Each of apparatus 1210 and apparatus 1220 may be a communication entity capable of communicating with each other using various proposed schemes in accordance with the present disclosure. For illustrative purposes and without limitation, a description of capabilities of apparatus 1210, as STA 110, and apparatus 1220, as AP 120, is provided below. It is noteworthy that, although a detailed description of capabilities, functionalities and/or technical features of apparatus 1210 is provided below, the same may be applied to apparatus 1220 although a detailed description thereof is not provided solely in the interest of brevity. It is also noteworthy that, although the example implementations described below are provided in the context of WLAN, the same may be implemented in other types of networks.
[0057] Under a proposed scheme pertaining to extremely high coding rates for next-generation WLAN systems in accordance with the present disclosure, with apparatus 1210 implemented in or as STA 110 and apparatus 1220 implemented in or as AP 120 in network environment 100, processor 1212 of apparatus 1210 may code an input data at a first coding rate using codes designed for coding up to a second coding rate lower than the first coding rate to provide a coded data. Additionally, processor 1212 may wirelessly transmit, via transceiver 1216, the coded data (e.g., to apparatus 1220 as AP 120).
[0058] In some implementations, in coding the input data at the first coding rate using codes designed for coding up to the second coding rate, processor 1212 may code the input data at a rate higher than 5/6 using LDPC codes defined in one of IEEE 802.11n/ac/ax standards using 4096-QAM. Moreover, in wirelessly transmitting the coded data, processor 1212 may wirelessly transmit the coded data with transmit beamforming.
[0059] In some implementations, the second coding rate may be 5/6, and the first coding rate may be a rate higher than 5/6. For instance, the first coding rate may be 6/7, 7/8, 8/9, 9/10, 10/11, or 11/12.
[0060] In some implementations, in coding the input data, processor 1212 may perform certain operations. For instance, processor 1212 may perform a shortening procedure on the input data to provide a bit string comprising a plurality of data bits of the input data, one or more default shortened bits, and a plurality of shortening bits calculated from the shortening process. Additionally, processor 1212 may generate a plurality of parity bits based on the bit string. Moreover, processor 1212 may append the parity bits to the bit string to provide a concatenated bit string. Furthermore, processor 1212 may discard the one or more default shortened bits and the plurality of shortened bits from the concatenated bit string to provide a shortened bit string. Then, processor 1212 may either: (a) perform a puncturing procedure on the shortened bit string; or (b) perform a repeating procedure on the shortened bit string.
[0061] In some implementations, in performing the shortening procedure, processor 1212 may calculate a number of total shortening bits (N.sub.shrt) of the plurality of shortening bits as follows: N.sub.shrt=max (0, (N.sub.CW×L.sub.LDPC×R)−N.sub.pld). Here, N.sub.CW may denote a number of LDPC codewords, L.sub.LDPC may denote a length of LDPC codeword, R may denote the first coding rate which is 7/8 or 11/12, and N.sub.pld may denote a number of bits in a PSDU and a SERVICE field.
[0062] In some implementations, a value of the number of default shortened bits (N.sub.shrt_default) may correspond to the first coding rate (R), a respective information block length (K0), a respective codeword block length (L), a respective length of the parity bits (P) such that: (a) for R=7/8, K0=539, L=616 and P=77, N.sub.shrt_default=1; (b) for R=7/8, K0=1078, L=1232 and P=154, N.sub.shrt_default=2; (c) for R=7/8, K0=1617, L=1848 and P=231, N.sub.shrt_default=3; (d) for R=11/12, K0=539, L=588 and P=49, N.sub.shrt_default=1; (e) for R=11/12, K0=1078, L=1176 and P=98, N.sub.shrt_default=2; and (f) for R=11/12, K0=1617, L=1764 and P=147, N.sub.shrt_default=3.
[0063] In some implementations, in performing the puncturing procedure, processor 1212 may perform certain operations. For instance, processor 1212 may calculate a number of total punctured bits. Moreover, processor 1212 may either: (a) responsive to the number of total punctured bits determined to be greater than zero, puncture a first number of bits of the parity bits; or (b) responsive to the number of total punctured bits determined to be equal to zero and a number of repeated bits per codeword being greater than a number of default punctured bits, puncture a second number of bits of the parity bits. In such cases, the first number may equal the number of default punctured bits plus a number of punctured bits per codeword. Additionally, the second number may equal the number of default punctured bits minus the number of repeated bits per codeword.
[0064] In some implementations, a value of the number of default punctured bits (N.sub.punc_default) may correspond to the first coding rate (R), a respective information block length (K0), a respective codeword block length (L), a respective length of the parity bits (P) such that: (a) for R=7/8, K0=539, L=616 and P=77, N.sub.punc_default=31; (b) for R=7/8, K0=1078, L=1232 and P=154, N.sub.punc_default=62; (c) for R=7/8, K0=1617, L=1848 and P=231, N.sub.punc_default=93; (d) for R=11/12, K0=539, L=588 and P=49, N.sub.punc_default=59; (e) for R=11/12, K0=1078, L=1176 and P=98, N.sub.punc_default=118; and (f) for R=11/12, K0=1617, L=1764 and P=147, N.sub.punc_default=177.
[0065] In some implementations, in performing the puncturing procedure, processor 1212 may perform additional operations. For instance, processor 1212 may determine the number of punctured bits per codeword (N.sub.ppcw) based on the number of total punctured bits. In such cases, in calculating the number of total punctured bits, processor 1212 may calculate the number of total punctured bits (N.sub.punc) as follows: N.sub.punc=max (0, (N.sub.CW×L.sub.LDPC)−N.sub.avbits−N.sub.shrt). Here, N.sub.CW may denote a number of LDPC codewords, L.sub.LDPC may denote a length of LDPC codeword, N.sub.avbits may denote a number of available bits, and N.sub.shrt may denote a number of total shortening bits.
[0066] In some implementations, in performing the repeating procedure, processor 1212 may perform certain operations. For instance, processor 1212 may calculate a number of total repeated bits. Additionally, processor 1212 may append the total repeated bits to the parity bits responsive to a number of total punctured bits being equal to zero and a number of default punctured bits being less than a number of repeated bits per codeword.
[0067] In some implementations, in calculating the number of total repeated bits, processor 1212 may calculate the number of total repeated bits (N.sub.rep) as follows: N.sub.rep=max (0, N.sub.avbits−N.sub.CW×L.sub.LDPC×(1−R)−N.sub.pld). Here, N.sub.avbits may denote a number of available bits, N.sub.CW may denote a number of LDPC codewords, L.sub.LDPC may denote a length of LDPC codeword, R may denote the first coding rate which is 7/8 or 11/12, and N.sub.pld may denote a number of bits in a PSDU and a SERVICE field.
[0068] In some implementations, in performing the puncturing procedure, responsive to a number of total punctured bits (N.sub.punc) being greater than or equal to zero, processor 1212 may perform continuous puncturing on the shortened bit string by discarding last N.sub.punc_default+N.sub.ppcw bits of the parity bits. Here, N.sub.punc_default may denote a number of default punctured bits, and N.sub.ppcw may denote a number of punctured bits per codeword.
[0069] In some implementations, in performing the puncturing procedure, responsive to a number of total punctured bits (N.sub.punc) being greater than zero, processor 1212 may perform interleaved puncturing on the shortened bit string by first discarding N.sub.punc_default bits of the parity bits in an interleaved way and then discarding last N.sub.ppcw bits of remaining bits of the parity bits. Here, N.sub.punc_default may denote a number of default punctured bits, and N.sub.ppcw may denote a number of punctured bits per codeword.
[0070] In some implementations, in discarding the N.sub.punc_default bits of the parity bits in the interleaved way, processor 1212 may discard one bit for every three bits of the parity bits responsive to the first coding rate being 7/8. Alternatively, processor 1212 may discard one bit for every two bits of the parity bits responsive to the first coding rate being 11/12.
[0071] In some implementations, in coding the input data at the first coding rate, processor 1212 may code the input data at a coding rate of 7/8 with an MCS index of 14 and using 4096-QAM.
[0072] In some implementations, in coding the input data at the first coding rate, processor 1212 may code the input data at a coding rate of 11/12 with an MCS index of 14 or 15 and using 4096-QAM.
[0073] In some implementations, in coding the input data at the first coding rate, processor 1212 may code the input data at a coding rate of 7/8 with an MCS index of 16 and using 4096-QAM based on the coding rate of 7/8 being indicated by existing MCS bits along with one reserved bit having a predefined value (e.g., “1” as shown in
[0074] In some implementations, in coding the input data at the first coding rate, processor 1212 may code the input data at a coding rate of 11/12 with an MCS index of 17 and using 4096-QAM based on the coding rate of 11/12 being indicated by existing MCS bits along with one reserved bit having a predefined value (e.g., “1” as shown in
[0075] In some implementations, processor 1212 may also signal, via transceiver 1216, to a station (e.g., apparatus 1220 as AP 120) in a WLAN to indicate support of the first coding rate with 4096-QAM by indicating a physical layer (PHY) capability in a capability field. For instance, as shown in
Illustrative Processes
[0076]
[0077] At 1310, process 1300 may involve processor 1212 of apparatus 1210 coding an input data at a first coding rate using codes designed for coding up to a second coding rate lower than the first coding rate to provide a coded data. Process 1300 may proceed from 1310 to 1320.
[0078] At 1320, process 1300 may involve processor 1212 wirelessly transmitting, via transceiver 1216, the coded data (e.g., to apparatus 1220 as AP 120).
[0079] In some implementations, in coding the input data at the first coding rate using codes designed for coding up to the second coding rate, process 1300 may involve processor 1212 coding the input data at a rate higher than 5/6 using LDPC codes defined in one of IEEE 802.11n/ac/ax standards using 4096-QAM. Moreover, in wirelessly transmitting the coded data, process 1300 may involve processor 1212 wirelessly transmitting the coded data with transmit beamforming.
[0080] In some implementations, the second coding rate may be 5/6, and the first coding rate may be a rate higher than 5/6. For instance, the first coding rate may be 6/7, 7/8, 8/9, 9/10, 10/11, or 11/12.
[0081] In some implementations, in coding the input data, process 1300 may involve processor 1212 performing certain operations. For instance, process 1300 may involve processor 1212 performing a shortening procedure on the input data to provide a bit string comprising a plurality of data bits of the input data, one or more default shortened bits, and a plurality of shortening bits calculated from the shortening process. Additionally, process 1300 may involve processor 1212 generating a plurality of parity bits based on the bit string. Moreover, process 1300 may involve processor 1212 appending the parity bits to the bit string to provide a concatenated bit string. Furthermore, process 1300 may involve processor 1212 discarding the one or more default shortened bits and the plurality of shortened bits from the concatenated bit string to provide a shortened bit string. Then, process 1300 may involve processor 1212 either: (a) performing a puncturing procedure on the shortened bit string; or (b) performing a repeating procedure on the shortened bit string.
[0082] In some implementations, in performing the shortening procedure, process 1300 may involve processor 1212 calculating a number of total shortening bits (N.sub.shrt) of the plurality of shortening bits as follows: N.sub.shrt=max (0, (N.sub.CW×L.sub.LDPC×R)−N.sub.pld). Here, N.sub.CW may denote a number of LDPC codewords, L.sub.LDPC may denote a length of LDPC codeword, R may denote the first coding rate which is 7/8 or 11/12, and N.sub.pld may denote a number of bits in a PSDU and a SERVICE field.
[0083] In some implementations, a value of the number of default shortened bits (N.sub.shrt_default) may correspond to the first coding rate (R), a respective information block length (K0), a respective codeword block length (L), a respective length of the parity bits (P) such that: (a) for R=7/8, K0=539, L=616 and P=77, N.sub.shrt_default=1; (b) for R=7/8, K0=1078, L=1232 and P=154, N.sub.shrt_default=2; (c) for R=7/8, K0=1617, L=1848 and P=231, N.sub.shrt_default=3; (d) for R=11/12, K0=539, L=588 and P=49, N.sub.shrt_default=1; (e) for R=11/12, K0=1078, L=1176 and P=98, N.sub.shrt_default=2; and (f) for R=11/12, K0=1617, L=1764 and P=147, N.sub.shrt_default=3.
[0084] In some implementations, in performing the puncturing procedure, process 1300 may involve processor 1212 performing certain operations. For instance, process 1300 may involve processor 1212 calculating a number of total punctured bits. Moreover, process 1300 may involve processor 1212 either: (a) responsive to the number of total punctured bits determined to be greater than zero, puncturing a first number of bits of the parity bits; or (b) responsive to the number of total punctured bits determined to be equal to zero and a number of repeated bits per codeword being greater than a number of default punctured bits, puncturing a second number of bits of the parity bits. In such cases, the first number may equal the number of default punctured bits plus a number of punctured bits per codeword. Additionally, the second number may equal the number of default punctured bits minus the number of repeated bits per codeword.
[0085] In some implementations, a value of the number of default punctured bits (N.sub.punc_default) may correspond to the first coding rate (R), a respective information block length (K0), a respective codeword block length (L), a respective length of the parity bits (P) such that: (a) for R=7/8, K0=539, L=616 and P=77, N.sub.punc_default=31; (b) for R=7/8, K0=1078, L=1232 and P=154, N.sub.punc_default=62; (c) for R=7/8, K0=1617, L=1848 and P=231, N.sub.punc_default=93; (d) for R=11/12, K0=539, L=588 and P=49, N.sub.punc_default=59; (e) for R=11/12, K0=1078, L=1176 and P=98, N.sub.punc_default=118; and (f) for R=11/12, K0=1617, L=1764 and P=147, N.sub.punc_default=177.
[0086] In some implementations, in performing the puncturing procedure, process 1300 may involve processor 1212 performing additional operations. For instance, process 1300 may involve processor 1212 determining the number of punctured bits per codeword (N.sub.ppcw) based on the number of total punctured bits. In such cases, in calculating the number of total punctured bits, process 1300 may involve processor 1212 calculating the number of total punctured bits (N.sub.punc) as follows: N.sub.punc=max (0, (N.sub.CW×L.sub.LDPC)−N.sub.avbits−N.sub.shrt). Here, N.sub.CW may denote a number of LDPC codewords, L.sub.LDPC may denote a length of LDPC codeword, N.sub.avbits may denote a number of available bits, and N.sub.shrt may denote a number of total shortening bits.
[0087] In some implementations, in performing the repeating procedure, process 1300 may involve processor 1212 performing certain operations. For instance, process 1300 may involve processor 1212 calculating a number of total repeated bits. Additionally, process 1300 may involve processor 1212 appending the total repeated bits to the parity bits responsive to a number of total punctured bits being equal to zero and a number of default punctured bits being less than a number of repeated bits per codeword.
[0088] In some implementations, in calculating the number of total repeated bits, process 1300 may involve processor 1212 calculating the number of total repeated bits (N.sub.rep) as follows: N.sub.rep=max (0, N.sub.avbits−N.sub.CW×L.sub.LDPC×(1−R)−N.sub.pld). Here, N.sub.avbits may denote a number of available bits, N.sub.CW may denote a number of LDPC codewords, L.sub.LDPC may denote a length of LDPC codeword, R may denote the first coding rate which is 7/8 or 11/12, and N.sub.pld may denote a number of bits in a PSDU and a SERVICE field.
[0089] In some implementations, in performing the puncturing procedure, responsive to a number of total punctured bits (N.sub.punc) being greater than or equal to zero, process 1300 may involve processor 1212 performing continuous puncturing on the shortened bit string by discarding last N.sub.punc_default+N.sub.ppcw bits of the parity bits. Here, N.sub.punc_default may denote a number of default punctured bits, and N.sub.ppcw may denote a number of punctured bits per codeword.
[0090] In some implementations, in performing the puncturing procedure, responsive to a number of total punctured bits (N.sub.punc) being greater than zero, process 1300 may involve processor 1212 performing interleaved puncturing on the shortened bit string by first discarding N.sub.punc_default bits of the parity bits in an interleaved way and then discarding last N.sub.ppcw bits of remaining bits of the parity bits. Here, N.sub.punc_default may denote a number of default punctured bits, and N.sub.ppcw may denote a number of punctured bits per codeword.
[0091] In some implementations, in discarding the N.sub.punc_default bits of the parity bits in the interleaved way, process 1300 may involve processor 1212 discarding one bit for every three bits of the parity bits responsive to the first coding rate being 7/8. Alternatively, process 1300 may involve processor 1212 discarding one bit for every two bits of the parity bits responsive to the first coding rate being 11/12.
[0092] In some implementations, in coding the input data at the first coding rate, process 1300 may involve processor 1212 coding the input data at a coding rate of 7/8 with an MCS index of 14 and using 4096-QAM.
[0093] In some implementations, in coding the input data at the first coding rate, process 1300 may involve processor 1212 coding the input data at a coding rate of 11/12 with an MCS index of 14 or 15 and using 4096-QAM.
[0094] In some implementations, in coding the input data at the first coding rate, process 1300 may involve processor 1212 coding the input data at a coding rate of 7/8 with an MCS index of 16 and using 4096-QAM based on the coding rate of 7/8 being indicated by existing MCS bits along with one reserved bit having a predefined value (e.g., “1” as shown in
[0095] In some implementations, in coding the input data at the first coding rate, process 1300 may involve processor 1212 coding the input data at a coding rate of 11/12 with an MCS index of 17 and using 4096-QAM based on the coding rate of 11/12 being indicated by existing MCS bits along with one reserved bit having a predefined value (e.g., “1” as shown in
[0096] In some implementations, process 1300 may further involve processor 1212 signaling, via transceiver 1216, to a station (e.g., apparatus 1220 as AP 120) in a WLAN to indicate support of the first coding rate with 4096-QAM by indicating a PHY capability in a capability field. For instance, as shown in
Additional Notes
[0097] The herein-described subject matter sometimes illustrates different components contained within, or connected with, different other components. It is to be understood that such depicted architectures are merely examples, and that in fact many other architectures can be implemented which achieve the same functionality. In a conceptual sense, any arrangement of components to achieve the same functionality is effectively “associated” such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality can be seen as “associated with” each other such that the desired functionality is achieved, irrespective of architectures or intermedial components. Likewise, any two components so associated can also be viewed as being “operably connected”, or “operably coupled”, to each other to achieve the desired functionality, and any two components capable of being so associated can also be viewed as being “operably couplable”, to each other to achieve the desired functionality. Specific examples of operably couplable include but are not limited to physically mateable and/or physically interacting components and/or wirelessly interactable and/or wirelessly interacting components and/or logically interacting and/or logically interactable components.
[0098] Further, with respect to the use of substantially any plural and/or singular terms herein, those having skill in the art can translate from the plural to the singular and/or from the singular to the plural as is appropriate to the context and/or application. The various singular/plural permutations may be expressly set forth herein for sake of clarity.
[0099] Moreover, it will be understood by those skilled in the art that, in general, terms used herein, and especially in the appended claims, e.g., bodies of the appended claims, are generally intended as “open” terms, e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc. It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases “at least one” and “one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim recitation to implementations containing only one such recitation, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an,” e.g., “a” and/or “an” should be interpreted to mean “at least one” or “one or more;” the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should be interpreted to mean at least the recited number, e.g., the bare recitation of “two recitations,” without other modifiers, means at least two recitations, or two or more recitations. Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention, e.g., “a system having at least one of A, B, and C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc. In those instances where a convention analogous to “at least one of A, B, or C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention, e.g., “a system having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc. It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.”
[0100] From the foregoing, it will be appreciated that various implementations of the present disclosure have been described herein for purposes of illustration, and that various modifications may be made without departing from the scope and spirit of the present disclosure. Accordingly, the various implementations disclosed herein are not intended to be limiting, with the true scope and spirit being indicated by the following claims.