Techniques for generating and using longer low density parity check codewords
By adopting the LDPC encoding method with mixed codeword length in the wireless communication system, the problem of channel gain limitation is solved, and communication reliability and efficiency under low signal-to-noise ratio conditions are improved.
Patent Information
- Application Number
- CN202380085130.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-12-22
- Filing Date
- 2023-12-15
- Publication Date
- 2025-08-29
AI Technical Summary
In existing wireless communication systems, the use of a fixed set of LDPC codeword lengths may limit the channel gain and the encoding efficiency is poor when processing a large number of payload bits.
Using an LDPC encoding method with mixed codeword lengths, codewords including longer and shorter codeword lengths are generated and arranged into a symbol set so that the last symbol includes at least a portion of the shorter codeword lengths to adapt to different channel conditions.
Improve channel reliability and communication performance, especially under low signal-to-noise ratio conditions, reduce block error rate and improve decoding success rate.
Smart Images

Figure CN120569907A_ABST
Abstract
Description
[0001] Cross-references
[0002] This patent application claims priority to U.S. patent application No. 18 / 145,844, filed by WU et al. on December 22, 2022, entitled “TECHNIQUES FORGENERATING AND USING LONGER LOW-DENSITY PARITY CHECK CODEWORDS,” which application has been assigned to the assignee of this application and is expressly incorporated herein by reference in its entirety. Technical Field
[0003] The present disclosure relates to wireless communications and, more particularly, to techniques enabling the generation and use of longer low-density parity-check (LDPC) codewords. Background Art
[0004] A wireless local area network (WLAN) can be formed by one or more wireless access points (APs), which provide a shared wireless communication medium for multiple client devices (also known as wireless stations (STAs)). A fundamental component of a WLAN that complies with the Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards is the Basic Service Set (BSS), which is managed by the AP. Each BSS is identified by a Basic Service Set Identifier (BSSID) advertised by the AP. The AP periodically broadcasts beacon frames, enabling any STA within the AP's wireless range to establish or maintain a communication link with the WLAN.
[0005] In some Wi-Fi deployments of WLANs, an encoding device may perform a low-density parity-check (LDPC) encoding operation to generate one or more codewords for transmission. In some such deployments, the encoding device may be configured with a fixed set of LDPC codeword lengths and may select a codeword length from the set that is based on or otherwise associated with the number of payload bits or the number of input bits to be sent. In some examples where the encoding device has a relatively large number of payload bits to be sent, the encoding device may generate multiple codewords with the same codeword length. However, using a fixed set of LDPC codeword lengths and using the same codeword length for each of the multiple codewords may limit the channel gain of LDPC coding, among other drawbacks. Summary of the Invention
[0006] The systems, methods and devices of the disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.
[0007] One innovative aspect of the subject matter described in this disclosure can be implemented in a method for wireless communication at a first wireless device. The method may include performing a low-density parity check (LDPC) encoding operation on a set of multiple input bits, the LDPC encoding operation producing a set of multiple output bits arranged in a set of multiple codewords, the set of multiple codewords including one or more codewords each having a first codeword length and one or more codewords each having a second codeword length that is shorter than the first codeword length; arranging the set of multiple codewords into a set of multiple symbols such that a temporally last symbol of the set of multiple symbols includes at least a portion of the one or more codewords having the second codeword length and does not include a codeword having the first codeword length; and transmitting the set of multiple symbols to a second wireless device.
[0008] Another innovative aspect of the subject matter described in this disclosure can be implemented in an apparatus for wireless communication at a first wireless device. The apparatus may include a processor and a memory coupled to the processor. The memory may store instructions executable by the processor to cause the apparatus to: perform an LDPC encoding operation on a set of multiple input bits, the LDPC encoding operation on the set of multiple input bits producing a set of multiple output bits arranged in a set of multiple codewords, the set of multiple codewords including one or more codewords each having a first codeword length and one or more codewords each having a second codeword length that is shorter than the first codeword length; arrange the set of multiple codewords into a set of multiple symbols such that a temporally last symbol of the set of multiple symbols includes at least a portion of the one or more codewords having the second codeword length and does not include a codeword having the first codeword length; and transmit the set of multiple symbols to a second wireless device.
[0009] Another innovative aspect of the subject matter described in this disclosure can be implemented in an apparatus for wireless communication at a first wireless device. The apparatus may include: means for performing an LDPC encoding operation on a set of multiple input bits, the LDPC encoding operation producing a set of multiple output bits arranged in a set of multiple codewords, the set of multiple codewords including one or more codewords each having a first codeword length and one or more codewords each having a second codeword length that is shorter than the first codeword length; means for arranging the set of multiple codewords into a set of multiple symbols such that a temporally last symbol of the set of multiple symbols includes at least a portion of the one or more codewords having the second codeword length and does not include a codeword having the first codeword length; and means for transmitting the set of multiple symbols to a second wireless device.
[0010] Another innovative aspect of the subject matter described in this disclosure can be implemented in a non-transitory computer-readable medium storing code for wireless communication at a first wireless device. The code may include instructions executable by a processor to: perform an LDPC encoding operation on a set of multiple input bits, the LDPC encoding operation on the set of multiple input bits producing a set of multiple output bits arranged in a set of multiple codewords, the set of multiple codewords including one or more codewords each having a first codeword length and one or more codewords each having a second codeword length that is shorter than the first codeword length; arrange the set of multiple codewords into a set of multiple symbols such that a temporally last symbol of the set of multiple symbols includes at least a portion of the one or more codewords having the second codeword length and does not include a codeword having the first codeword length; and transmit the set of multiple symbols to a second wireless device.
[0011] Another innovative aspect of the subject matter described in this disclosure can be implemented in a method for wireless communication at a first wireless device. The method may include performing an LDPC encoding operation on a set of multiple input bits, the LDPC encoding operation producing a set of multiple output bits arranged in one or more codewords, the one or more codewords having a codeword length associated with a size of a resource unit that satisfies a first threshold, a modulation and coding scheme index used for the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol that satisfies a third threshold, or any combination thereof; arranging the one or more codewords into a set of multiple symbols including one or more padding symbols after forward error correction; and transmitting the set of multiple symbols with a header indicating the number of the one or more padding symbols to a second wireless device via the resource unit.
[0012] Another innovative aspect of the subject matter described in the present disclosure can be implemented in an apparatus for wireless communication at a first wireless device. The apparatus can include a processor and a memory coupled to the processor. The memory can store instructions executable by the processor to cause the apparatus to: perform an LDPC encoding operation on a set of multiple input bits, the LDPC encoding operation on the set of multiple input bits producing a set of multiple output bits arranged in one or more codewords, the one or more codewords having a codeword length associated with a size of a resource unit that satisfies a first threshold, a modulation and coding scheme index for the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol that satisfies a third threshold, or any combination thereof; arrange the one or more codewords into a set of multiple symbols including one or more padding symbols after forward error correction; and transmit the set of multiple symbols with a header indicating the number of the one or more padding symbols to a second wireless device via the resource unit.
[0013] Another innovative aspect of the subject matter described in this disclosure can be implemented in an apparatus for wireless communication at a first wireless device. The apparatus may include: means for performing an LDPC encoding operation on a set of multiple input bits, the LDPC encoding operation producing a set of multiple output bits arranged in one or more codewords, the one or more codewords having a codeword length associated with a size of a resource unit that satisfies a first threshold, a modulation and coding scheme index for the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol that satisfies a third threshold, or any combination thereof; means for arranging the one or more codewords into a set of multiple symbols including one or more padding symbols after forward error correction; and means for transmitting the set of multiple symbols with a header indicating the number of the one or more padding symbols to a second wireless device via the resource unit.
[0014] Another innovative aspect of the subject matter described in the present disclosure can be implemented in a non-transitory computer-readable medium storing code for wireless communication at a first wireless device. The code can include instructions executable by a processor to: perform an LDPC encoding operation on a set of multiple input bits, the LDPC encoding operation on the set of multiple input bits producing a set of multiple output bits arranged in one or more codewords, the one or more codewords having a codeword length associated with a size of a resource unit that satisfies a first threshold, a modulation and coding scheme index used for the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol that satisfies a third threshold, or any combination thereof; arrange the one or more codewords into a set of multiple symbols including one or more padding symbols after forward error correction; and transmit the set of multiple symbols with a header indicating the number of the one or more padding symbols to a second wireless device via the resource unit.
[0015] Another innovative aspect of the subject matter described in this disclosure can be implemented in a method for wireless communication at a second wireless device. The method may include: receiving, from a first wireless device, a set of multiple symbols comprising a set of multiple input bits, the set of multiple input bits encoded using an LDPC operation and arranged into a set of multiple codewords, the set of multiple codewords comprising one or more codewords each having a first codeword length and one or more codewords each having a second codeword length longer than the first codeword length; and, associated with a last symbol in the set of multiple symbols comprising one or more codewords having the second codeword length but not including a codeword having the first codeword length, decoding the set of multiple symbols comprising the one or more codewords having the first codeword length and the one or more codewords having the second codeword length to obtain the set of multiple input bits.
[0016] Another innovative aspect of the subject matter described in this disclosure can be implemented in an apparatus for wireless communication at a second wireless device. The apparatus may include a processor and a memory coupled to the processor. The memory may store instructions executable by the processor to cause the apparatus to: receive a set of multiple symbols comprising a set of multiple input bits from a first wireless device, the set of multiple input bits encoded using an LDPC operation and arranged into a set of multiple codewords, the set of multiple codewords comprising one or more codewords each having a first codeword length and one or more codewords each having a second codeword length longer than the first codeword length; and, associated with a last symbol in the set of multiple symbols comprising one or more codewords having the second codeword length but not including a codeword having the first codeword length, decode the set of multiple symbols comprising the one or more codewords having the first codeword length and the one or more codewords having the second codeword length to obtain the set of multiple input bits.
[0017] Another innovative aspect of the subject matter described in this disclosure can be implemented in an apparatus for wireless communication at a second wireless device. The apparatus may include: means for receiving, from a first wireless device, a set of multiple symbols comprising a set of multiple input bits, the set of multiple input bits encoded using an LDPC operation and arranged into a set of multiple codewords, the set of multiple codewords comprising one or more codewords each having a first codeword length and one or more codewords each having a second codeword length longer than the first codeword length; and means for decoding the set of multiple symbols comprising the one or more codewords having the first codeword length and the one or more codewords having the second codeword length to obtain the set of multiple input bits, in association with a last symbol in the set of multiple symbols comprising the one or more codewords having the second codeword length but not including a codeword having the first codeword length.
[0018] Another innovative aspect of the subject matter described in this disclosure can be implemented in a non-transitory computer-readable medium storing code for wireless communication at a second wireless device. The code may include instructions executable by a processor to: receive, from a first wireless device, a set of multiple symbols comprising a set of multiple input bits, the set of multiple input bits encoded using an LDPC operation and arranged into a set of multiple codewords, the set of multiple codewords comprising one or more codewords each having a first codeword length and one or more codewords each having a second codeword length longer than the first codeword length; and, associated with a last symbol in the set of multiple symbols comprising one or more codewords having the second codeword length but not including a codeword having the first codeword length, decode the set of multiple symbols comprising the one or more codewords having the first codeword length and the one or more codewords having the second codeword length to obtain the set of multiple input bits.
[0019] Another innovative aspect of the subject matter described in this disclosure can be implemented in a method for wireless communication at a second wireless device. The method may include: receiving, from a first wireless device, a set of multiple symbols having a header indicating a number of one or more padding symbols included after forward error correction; and decoding the set of multiple symbols including one or more codewords encoded using an LDPC encoding operation and the number of the one or more padding symbols, wherein a codeword length of the one or more codewords is associated with a size of a resource unit that satisfies a first threshold, a modulation and coding scheme index used for the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol in the set of multiple symbols that satisfies a third threshold, or any combination thereof.
[0020] Another innovative aspect of the subject matter described in the present disclosure can be implemented in an apparatus for wireless communication at a second wireless device. The apparatus may include a processor and a memory coupled to the processor. The memory may store instructions executable by the processor to cause the apparatus to: receive, from a first wireless device, a set of multiple symbols having a header indicating a number of one or more padding symbols included after forward error correction; and decode the set of multiple symbols including one or more codewords encoded using an LDPC encoding operation and the number of the one or more padding symbols, wherein a codeword length of the one or more codewords is associated with a size of a resource unit that satisfies a first threshold, a modulation and coding scheme index used for the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol in the set of multiple symbols that satisfies a third threshold, or any combination thereof.
[0021] Another innovative aspect of the subject matter described in this disclosure can be implemented in an apparatus for wireless communication at a second wireless device. The apparatus may include: means for receiving, from a first wireless device, a set of multiple symbols having a header indicating a number of one or more padding symbols included after forward error correction; and means for decoding the set of multiple symbols including one or more codewords encoded using an LDPC encoding operation and the number of the one or more padding symbols, wherein a codeword length of the one or more codewords is associated with a size of a resource unit that satisfies a first threshold, a modulation and coding scheme index used for the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol in the set of multiple symbols that satisfies a third threshold, or any combination thereof.
[0022] Another innovative aspect of the subject matter described in the present disclosure can be implemented in a non-transitory computer-readable medium storing code for wireless communication at a second wireless device. The code may include instructions executable by a processor to: receive, from a first wireless device, a set of multiple symbols having a header indicating a number of one or more padding symbols included after forward error correction; and decode the set of multiple symbols including one or more codewords encoded using an LDPC encoding operation and the number of the one or more padding symbols, wherein a codeword length of the one or more codewords is associated with a size of a resource unit that satisfies a first threshold, a modulation and coding scheme index used for the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol in the set of multiple symbols that satisfies a third threshold, or any combination thereof. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] The details of one or more implementations of the subject matter described in this disclosure are set forth in the accompanying drawings and the description below. However, the accompanying drawings illustrate only some typical aspects of the disclosure and therefore should not be considered as limiting the scope thereof. Other features, aspects, and advantages will become apparent from the description, drawings, and claims.
[0024] Figure 1
[0026] An example of a wireless communication system supporting techniques for generating and using longer low-density parity-check (LDPC) codewords in accordance with aspects of the present disclosure is shown.
[0025] Figure 2
[0014] An example of a wireless communication system supporting techniques for generating and using longer LDPC codewords in accordance with one or more aspects of the present disclosure is shown.
[0026] Figure 3An example of a process flow supporting techniques for generating and using longer LDPC codewords in accordance with one or more aspects of the present disclosure is shown.
[0027] Figure 4 An example of a process flow supporting techniques for generating and using longer LDPC codewords in accordance with one or more aspects of the present disclosure is shown.
[0028] Figure 5 and Figure 6 A block diagram of a device supporting techniques for generating and using longer LDPC codewords in accordance with one or more aspects of the present disclosure is shown.
[0029] Figure 7 A block diagram of a communication manager supporting techniques for generating and using longer LDPC codewords in accordance with one or more aspects of the present disclosure is shown.
[0030] Figure 8 A schematic diagram of a system including an AP that supports techniques for generating and using longer LDPC codewords in accordance with one or more aspects of the present disclosure is shown.
[0031] Figure 9 A diagram illustrating a system including a STA that supports techniques for generating and using longer LDPC codewords in accordance with one or more aspects of the present disclosure is shown.
[0032] Figure 10-13 A flow chart illustrating a method supporting techniques for generating and using longer LDPC codewords in accordance with one or more aspects of the present disclosure is shown.
[0033] Like reference numbers and designations in the various drawings indicate like elements. DETAILED DESCRIPTION
[0034] The following description refers to some specific examples for the purpose of describing the innovative aspects of the present disclosure. However, it will be readily appreciated by those skilled in the art that the teachings herein can be applied in a variety of different ways. Some or all of the described examples can be implemented in any device, system, or network that is capable of sending and receiving radio frequency (RF) signals in accordance with one or more of the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards, the IEEE 802.15 standard, the Bluetooth Special Interest Group (SIG), or the like. Standards, or Long Term Evolution (LTE), 3G, 4G or 5G (New Radio (NR)) standards promulgated by the Third Generation Partnership Project (3GPP), and other examples. The described examples can be implemented in any device, system or network capable of sending and receiving RF signals according to one or more of the following technologies or techniques: Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal FDMA (OFDMA), Single Carrier FDMA (SC-FDMA), Spatial Division Multiple Access (SDMA), Rate Splitting Multiple Access (RSMA), Multi-User Shared Access (MUSA), Single User (SU) Multiple Input Multiple Output (MIMO) and Multi-User (MU) MIMO. The described examples can also be implemented using other wireless communication protocols or RF signals that are suitable for use in one or more networks of a Wireless Personal Area Network (WPAN), a Wireless Local Area Network (WLAN), a Wireless Wide Area Network (WWAN), a Wireless Metropolitan Area Network (WMAN) or an Internet of Things (IoT) network.
[0035] Various aspects relate generally to wireless communications, and more particularly to low-density parity-check (LDPC) encoding operations. Some aspects relate more specifically to LDPC encoding operations that generate LDPC codewords having a longer codeword length than a codeword length generated by an existing LDPC encoding operation. An access point (AP) or wireless station (STA) may perform an LDPC encoding operation on a set of input bits to generate output bits arranged into a codeword. In some examples, a first wireless device (such as an AP or STA) may select a longer codeword length based on or otherwise associated with a number that is a function of the number of input bits, a modulation and coding scheme (MCS) level, or a resource unit (RU) size, or any combination thereof. The first wireless device may perform the LDPC encoding operation to generate one or more codewords each having a longer codeword length. For example, the longer codeword length may be longer than the 1944 bits currently defined for LDPC encoding in the IEEE 802.11 family of wireless communication protocol standards. In some examples, the first wireless device may encode input bits into one or more codewords having a first, longer codeword length and one or more codewords having a second, shorter codeword length using mixed codeword lengths (e.g., using codewords having different lengths). In some examples, the shorter codeword length may be 1944 bits or less, and the longer codeword length may be greater than 1944 bits. The first wireless device may arrange the codewords into a symbol set such that a last symbol in the symbol set includes at least a portion of one or more codewords having a shorter codeword length, and the first wireless device may transmit the symbol set to the second wireless device. In some examples where the first wireless device generates codewords having mixed codeword lengths, the first wireless device may perform shortening or puncturing on the codewords having the longer codeword length, on the codewords having the shorter codeword length, or both. For example, the encoding device may distribute shortening bits and puncturing bits across all codewords in proportion to the respective codeword lengths. For example, the coding device may puncture the same percentage of each codeword, or include shortening bits in each codeword so that approximately the same percentage of each codeword is shortening bits. In some other examples, the coding device may only shorten and puncture codewords with shorter codeword lengths, but not codewords with longer codeword lengths. In some examples, the coding device may use the same code rate for codewords with shorter codeword lengths and codewords with longer codeword lengths. In some other examples, the coding device may use different code rates for codewords with different lengths, such as using a lower code rate for codewords with shorter codeword lengths.
[0036] Certain aspects of the subject matter described in this disclosure can be implemented to achieve one or more of the following potential advantages. In an example using LDPC coding technology, the technology adopted by the described communication device can improve performance. For example, using a longer LDPC codeword can provide a lower block error rate in a channel (such as a channel associated with additive white Gaussian noise (AWGN)). Longer LDPC codewords can provide more reliable communication in a channel with a signal-to-noise ratio (SNR) lower than the SNR currently achievable by the codeword length defined in the 802.11 wireless communication protocol standard family. For example, a coding device can select a more customized and / or efficient LDPC codeword length for an LDPC codeword. In some examples, a longer LDPC codeword can provide a lower block error rate due to being more robust than a shorter LDPC codeword. Additionally, some technologies can improve LDPC coding performance by alleviating the puncturing of the LDPC codeword, which can result in fewer decoding failures and other advantages.
[0037] Aspects of the present disclosure are first described in the context of wireless communication systems. Aspects of the present disclosure are further illustrated and described with reference to additional wireless communication systems, process flow diagrams, apparatus diagrams, system diagrams, and flow diagrams related to techniques for generating and using longer LDPC codewords.
[0038] Figure 1 A block diagram of an example wireless communication network 100 is shown. According to some aspects, the wireless communication network 100 may be an example of a wireless local area network (WLAN) such as a Wi-Fi network (and will be referred to as WLAN 100 hereinafter). For example, the WLAN 100 may be a network that implements at least one standard of the IEEE 802.11 family of wireless communication protocol standards (such as those defined by the IEEE 802.11-2020 specification or its amendments, which include but are not limited to 802.11ay, 802.11ax, 802.11az, 802.11ba, 802.11bd, 802.11be, 802.11bf, and 802.11 amendments associated with Wi-Fi 8). The WLAN 100 may include a plurality of wireless communication devices, such as a wireless AP 102 and a plurality of wireless STAs 104. Although in Figure 1 Only one AP 102 is shown in FIG. 1 , but the WLAN network 100 may also include multiple APs 102 . Figure 1The AP 102 shown can represent various types of APs, including but not limited to enterprise-class APs, single-band APs, dual-band APs, standalone APs, software-enabled APs (soft APs), and multi-link APs. The coverage area and capacity of cellular networks (such as LTE, 5G NR, etc.) can be further improved by small cells supported by APs that act as micro base stations. In addition, private cellular networks can also be established by using wireless local area networks (WLANs) of small cells.
[0039] Each of the STAs 104 may also be referred to as a mobile station (MS), a mobile device, a mobile phone, a wireless phone, an access terminal (AT), a user equipment (UE), a subscriber station (SS), or a subscriber unit, among other examples. The STAs 104 may represent various devices, such as mobile phones, personal digital assistants (PDAs), other handheld devices, netbooks, notebook computers, tablet computers, laptop computers, Chromebooks, extended reality (XR) headsets, wearable devices, display devices (e.g., TVs (including smart TVs), computer monitors, navigation systems, etc.), music or other audio or stereo equipment, remote control devices (“remote controls”), printers, kitchen appliances (including smart refrigerators) or other home appliances, remote control keys (e.g., for keyless passive entry and start (PKES) systems), Internet of Things (IoT) devices, and vehicles, among others. The various STAs 104 in the network are capable of communicating with each other via the AP 102.
[0040] A single AP 102 and the associated set of STAs 104 may be referred to as a basic service set (BSS), which is managed by the respective AP 102 . Figure 1Also shown is an example coverage area 108 of the AP 102, which may represent a basic service area (BSA) of the WLAN 100. A user may identify or be indicated to a user by a service set identifier (SSID), and other devices may identify or be indicated to a BSS by a basic service set identifier (BSSID), which may be a media access control (MAC) address of the AP 102. The AP 102 may periodically broadcast a beacon frame ("beacon") including the BSSID to enable any STA 104 within wireless range of the AP 102 to "associate" or re-associate with the AP 102 to establish or maintain a respective communication link 106 (hereinafter also referred to as a "Wi-Fi link") with the AP 102. For example, the beacon may include an identification or indication of a primary channel used by the respective AP 102 and a timing synchronization function for establishing or maintaining timing synchronization with the AP 102. The AP 102 may provide various STAs 104 in the WLAN with access to external networks via respective communication links 106 .
[0041] To establish a communication link 106 with the AP 102, each of the STAs 104 is configured to perform passive or active scanning operations ("scans") on frequency channels in one or more frequency bands (e.g., the 2.4 GHz, 5 GHz, 6 GHz, or 60 GHz bands). To perform a passive scan, the STAs 104 listen for beacons transmitted by their respective APs 102 at periodic time intervals called target beacon transmission times (TBTTs), measured in time units (TUs), where one TU may be equal to 1024 microseconds (μs). To perform an active scan, the STAs 104 generate and sequentially transmit probe requests on each channel to be scanned and listen for probe responses from the APs 102. Each STA 104 may identify, determine, ascertain, select an AP 102 with which to associate based on the scan information obtained through the passive or active scan, and perform authentication and association operations to establish a communication link 106 with the selected AP 102. At the end of the association operation, the AP 102 assigns the STA 104 an association identifier (AID) that the AP 102 uses to track the STA 104 .
[0042] Due to the increasing popularity of wireless networks, a STA 104 may have the opportunity to select one of many BSSs within its range or to choose from multiple APs 102, which together form an extended service set (ESS) comprising multiple connected BSSs. Extended network stations associated with a WLAN 100 may be connected to a wired or wireless distribution system that may allow multiple APs 102 to be connected within such an ESS. Thus, a STA 104 may be covered by more than one AP 102 and may associate with different APs 102 at different times for different transmissions. Furthermore, after associating with an AP 102, a STA 104 may also periodically scan its surroundings to find a more suitable AP 102 with which to associate. For example, a STA 104 that is moving relative to its associated AP 102 may perform a "roaming" scan to find another AP 102 with more desirable network characteristics, such as a greater received signal strength indicator (RSSI) or reduced traffic load.
[0043] In some cases, STAs 104 may form a network without an AP 102 or other devices other than the STAs 104 themselves. One example of such a network is an ad hoc network (or wireless ad hoc network). An ad hoc network may alternatively be referred to as a mesh network or a peer-to-peer (P2P) network. In some cases, an ad hoc network may be implemented within a larger wireless network, such as WLAN 100. In such an example, while STAs 104 may be able to communicate with each other via AP 102 using communication link 106, STAs 104 may also communicate directly with each other via direct wireless communication link 110. In addition, two STAs 104 may communicate via direct communication link 110 regardless of whether both STAs 104 are associated with and served by the same AP 102. In such an ad hoc system, one or more of the STAs 104 may assume the roles that AP 102 would have in a BSS. Such STAs 104 may be referred to as group owners (GOs) and may coordinate transmissions within the ad hoc network. Examples of the direct wireless communication link 110 include a Wi-Fi direct connection, a connection established by using a Wi-Fi Tunneled Direct Link Setup (TDLS) link, and other P2P group connections.
[0044] The AP 102 and the STA 104 may operate and communicate (via corresponding communication links 106) in accordance with one or more of the IEEE 802.11 family of wireless communication protocol standards. These standards define WLAN radio and baseband protocols for the PHY and MAC layers. The AP 102 and the STA 104 send and receive wireless communications (hereinafter also referred to as "Wi-Fi communications" or "wireless packets") in the form of PHY protocol data units (PPDUs) to and from each other. The AP 102 and the STA 104 in the WLAN 100 may send PPDUs over an unlicensed spectrum, which may be a portion of the spectrum that includes frequency bands traditionally used by Wi-Fi technology, such as the 2.4 GHz band, the 5 GHz band, the 60 GHz band, the 3.6 GHz band, and the 900 MHz band. Some examples of the AP 102 and the STA 104 described herein may also communicate in other frequency bands, such as the 5.9 GHz and 6 GHz bands, which may support both licensed and unlicensed communications. The AP 102 and STAs 104 may also communicate on other frequency bands, such as shared licensed frequency bands where multiple operators may have licenses to operate in the same or overlapping frequency band or bands.
[0045] Each frequency band may include multiple sub-bands or multiple frequency channels. For example, PPDUs compliant with IEEE 802.11n, 802.11ac, 802.11ax, and 802.11be standard revisions may be sent on the 2.4 GHz, 5 GHz, or 6 GHz frequency bands, each of which is divided into multiple 20 MHz channels. Thus, these PPDUs are sent on a physical channel with a minimum bandwidth of 20 MHz, but larger channels can be formed through channel bonding. For example, a PPDU may be sent on a physical channel with a bandwidth of 40 MHz, 80 MHz, 160 MHz, or 320 MHz by bonding multiple 20 MHz channels together.
[0046] Each PPDU is a composite structure that includes a PHY preamble and a payload in the form of a PHY service data unit (PSDU). The receiving device can use the information provided in the preamble to decode subsequent data in the PSDU. When the PPDU is sent on a bonded channel, the preamble field can be replicated and sent in each of multiple subchannels (component channels). The PHY preamble can include a traditional part (or "traditional preamble") and a non-traditional part (or "non-traditional preamble"). The traditional preamble can be used for packet detection, automatic gain control and channel estimation, among other purposes. The traditional preamble can also generally be used to maintain compatibility with legacy devices. The format of the non-traditional part of the preamble, the encoding of the non-traditional part of the preamble, and the information provided in the non-traditional part of the preamble are associated with the specific IEEE 802.11 protocol used to send the payload.
[0047] The corresponding devices of WLAN 100 may support technology for LDPC encoding operations. For example, an encoding device (such as AP 102 or STA 104) may perform an LDPC encoding operation on a set of input bits. Performing the LDPC encoding operation may produce a set of output bits arranged in a set of codewords. The encoding device may arrange the set of codewords into a set of symbols and send the set of symbols to a receiving device, which may perform an LDPC decoding operation to recover the original input bits.
[0048] Some WLAN systems may support a limited set of codeword lengths. For example, some WLAN systems may support codeword lengths of 648 bits, 1296 bits, or 1944 bits. In some cases, the encoding devices of these systems may select a codeword of length 648 in examples where only one codeword is generated and a codeword of length 1296 in examples where a maximum of two codewords are used to transmit payload bits. In some cases, the encoding devices of these systems may use a codeword length of 1944 bits when generating one or more codewords, thereby generating as many codewords as possible to encode all the data. In some existing systems, the encoding devices may select the longest codeword length with the shortest number of shortened bits before potential symbol extension.
[0049] In some cases, an encoding device may have a set N of payload bits to send to a receiving device. pld The encoding device may determine N based on or otherwise correlate with an aggregate MAC protocol data unit (A-MPDU) end-of-frame (EOF) padding (APEP) length (APEP_LENGTH). pld In some cases, the initial number of symbols and the number of data bits per symbol may be based on N pldor in other ways with N pld The encoding device may determine the number of available bits N based on or otherwise associated with the initial symbol number, the final symbol boundary, and the number of coded bits per symbol. avbits In some cases, LDPC codeword length selection may be based on or otherwise associated with the rules shown in Table 1.
[0050]
[0051] Table 1
[0052] For some LDPC coding techniques, pre-forward error correction (FEC) padding can be added so that the FEC output can fill one of the four OFDM symbol segment boundaries in the last symbol with information. For example, the last symbol of a packet can include information bits for up to one-quarter of an OFDM symbol, half of an OFDM symbol, three-quarters of an OFDM symbol, or a complete OFDM symbol. The remaining bits in the last OFDM symbol can be filled with post-FEC padding bits. For example, if the last symbol of a packet includes information bits for up to the first quarter of the last symbol, the remaining three-quarters of the last symbol can be filled with post-FEC padding bits. For LDPC coding, the initial value of the OFDM symbol segment boundary of the last symbol, a init Can be based on N pld , MCS level and RU size or otherwise related to N pld , MCS level, and RU size. For example, if a is set to 1, the encoding device may fill the first quarter of the last OFDM symbol with information bits, and the last three quarters of the last OFDM symbol may include post-FEC padding bits.
[0053] In some cases, the encoding device may use or add extra OFDM symbol segments (such as an extra quarter of the last symbol) to avoid a high puncturing percentage in the packet. For example, if the number of punctured bits exceeds a threshold or condition, the encoding device may use extra OFDM symbol segments to increase the number of available bits and reduce the amount of puncturing. The condition for over-puncturing a packet may be based on the number of punctured bits N. punc , shorten the number of bits N shrt , code rate R and LDPC codeword length L LDPC For example, if either expression (1) or expression (2) is true, the encoding device may use extra OFDM symbol segments to prevent over-puncturing of packets.
[0054]
[0055] (N punc >0.3×N cw ×L LDPC ×(1-R)) (2)
[0056] Including an additional OFDM symbol segment may change the symbol segment boundary for the last symbol and update the value for a. In the example of adding an additional OFDM symbol segment, N may be updated. avbits , and the encoding device may reselect the LDPC codeword length. In some examples, adding additional OFDM symbol segments may not result in an increase in the number of OFDM symbols. For example, if the encoding device initially uses the first quarter of the last symbol, then adding additional OFDM symbol segments may enable the encoding device to use half of the last symbol, which may not increase the total number of symbols used.
[0057] The corresponding equipment of WLAN 100 may support techniques for generating LDPC codewords having longer LDPC codeword lengths. For example, the encoding device may select a codeword length greater than 1944 bits for the LDPC codeword. Some examples of longer LDPC codewords may have codeword lengths of, for example, 7776 bits or 31104 bits. Techniques for selecting codeword lengths are described herein. In some examples, the encoding device may perform shortening or puncturing based on or otherwise associated with the longer codeword length.
[0058] In some examples, coding equipment can select a single codeword length for the entire transmission. For example, coding equipment can generate one or more codewords with a longer codeword length (e.g., 7776 bits or 31104 bits), and coding equipment can send a packet comprising one or more codewords with a longer codeword length. In some other examples, coding equipment can select multiple codeword lengths and send a packet comprising a codeword with a mixed codeword length. For example, coding equipment can send a packet comprising one or more codewords with a first longer codeword length and comprising one or more codewords with a second shorter codeword length. This paper describes a technique for performing puncturing and shortening associated with a mixed codeword length.
[0059] Figure 2 An example of a wireless communication system 200 that supports techniques for generating and using longer LDPC codewords in accordance with one or more aspects of the present disclosure is shown. Aspects of the wireless communication system 200 may implement or be implemented by aspects of the WLAN 100. For example, the wireless communication system 200 illustrates communications between a first wireless device 205 and a second wireless device 210, which may each be a reference to a wireless device 205. Figure 1Examples of AP 102 or STA 104 are described. In some examples, the first wireless device 205 can be referred to as a transmitting device or encoding device, and the second wireless device 210 can be referred to as a receiving device or decoding device.
[0060] The first wireless device 205 can send a packet 215 including one or more codewords arranged into symbols, such as OFDM symbols, to the second wireless device 210. For example, the first wireless device 205 can have information bits or payload bits to send to the second wireless device 210. The first wireless device 205 can perform an LDPC encoding operation on a set of input bits. The performance of the LDPC encoding operation can produce output bits arranged into a set of codewords. The first wireless device 205 can arrange the set of codewords into a set of symbols and send the packet 215 including the set of symbols to the second wireless device 210.
[0061] In some examples, grouping 215 can include one or more codewords, each having the same codeword length. For example, grouping 215 can include one or more longer codewords 220. In some cases, the codeword length of the longer codeword can be greater than 1944 bits, such as 7776 bits (four times 1944 bits) or 31104 bits (16 times 1944 bits). In some examples, the codeword length of the longer codeword can be referred to as a first codeword length, a long codeword length, or a longer codeword length.
[0062] In some examples, the first wireless device 205 can be configured to determine the number of payload bits N based on or otherwise according to the number of payload bits N. pld to select a codeword length for one or more longer codewords 220. As the number of payload bits increases, the number of available bits N avbits Can be increased similarly, as referenced Figure 1 For example, the first wireless device 205 may select a codeword length according to Table 2.
[0063]
[0064] Table 2
[0065] For an example where the number of available bits is between 5832 bits and 7776 bits, the first wireless device 205 can select a codeword length of 7776 bits for the one or more longer codewords 220. If the number of available bits is between 7776 and 11664, it may be more efficient for the first wireless device 305 to select a codeword length of 1944 bits for the one or more longer codewords 220 and include multiple codewords having a length of 1944 bits in the packet 215. For example, the first wireless device 205 can select the longest codeword length with the least number of shortened bits before potential sign extension. In some examples, the payload can include a large number of bits, such as more than 54432 bits, and the first wireless device 205 can generate multiple codewords having a codeword length of 31104 bits.
[0066] In some examples, the first wireless device 205 can select the longest codeword length that has the smallest change to the original codeword during the rate matching process. In some examples, the first wireless device 205 can select a codeword length with a small number of shortened bits to prevent excessive puncturing of the codeword, as a large amount of shortening can be associated with a large amount of puncturing. Shortening and puncturing can change the code rate used based on the desired code rate, which can affect efficiency. However, if two codeword lengths of different sizes result in the same number of shortened bits, the first wireless device 205 can select the longer codeword length between the two, as the longer codeword length can have better performance.
[0067] In another example, the first wireless device 205 can select a codeword length for the one or more longer codewords 220 based on a modulo operation on the number of payload bits. For example, the first wireless device 205 can select a codeword length based on Table 3.
[0068]
[0069] Table 3
[0070] In some examples, when a single codeword length is used, the first wireless device 205 can perform shortening or puncturing during rate matching. shrt and the given number of codewords N cw , the number of shortened bits per codeword N spcw Can be equal to Front mod(N shrt ,N cw The actual number of shortened bits for a ) codeword can be N spcw +1, the remaining code words can each include N spcw For example, the number of shortening bits may not be evenly divisible by the number of codewords, so some codewords may receive one more shortening bit than other codewords.
[0071] Given the number of punctured bits N punc , the first wireless device 205 may determine whether additional LDPC symbol segments are needed to avoid over-puncturing. Figure 1 If either of the expressions (1) or (2) described above is true, the first wireless device 205 may add an additional LDPC symbol segment. If the first wireless device 205 adds an additional LDPC symbol segment, then N avbits can be adjusted according to equation (3), and the first wireless device can recalculate N according to equation (4) punc .
[0072]
[0073] N punc =max(0, N cw × L LDPC -N shrt -N avbits ) (4)
[0074] After potentially adding additional LDPC symbol segments, the first wireless device 205 may convert the punctured bits N of each codeword into ppcw Calculated as In some examples, for the former mod(N punc ,N CW The actual number of punctured bits for a codeword may be N ppcw +1, and the remaining codewords can be punctured N times each ppcw For example, the number of punctured bits may not be evenly divisible by the number of codewords, so some codewords may receive one more punctured bit than other codewords.
[0075] In some examples, the first wireless device 205 can use packet extensions, which can provide the second wireless device 210 with additional processing time for the packet. For example, padding one or more symbols as post-FEC padding can provide the second wireless device 210 with additional processing time. The number of additional symbols can be based on or otherwise associated with the RU size. For example, for RU sizes that meet a threshold (such as an RU size greater than 996), the first wireless device 205 can include a first number of additional symbols, such as one or two symbols. For RU sizes that do not meet the threshold, such as an RU size less than 996, the first wireless device 205 can include a second number of additional symbols, such as four to eight additional symbols. In some examples, the number of symbols to be padded can be based on or otherwise associated with the number of coded bits per symbol, where the number of coded bits per symbol is based on or otherwise associated with the RU size, MCS level, and number of spatial streams used by the first wireless device 205 to transmit the packet 215.
[0076] In some examples, the first wireless device 205 can select a codeword length for one or more longer codewords 220 based on or otherwise according to the RU size, the MCS level, or the number of coded bits per symbol, or any combination thereof. For example, for an RU size greater than or equal to a threshold (such as 996), the first wireless device 205 can select a longer codeword length (such as 31,104 bits). Additionally or alternatively, when the first wireless device 205 is using an MCS with an MCS level above a threshold (such as MCS level 5 and above), the first wireless device 205 can select a first codeword length (such as 31,104 bits). Additionally or alternatively, in an example where the number of coded bits per symbol is above a threshold (such as 5,000 coded bits per symbol), the first wireless device 205 can select a first codeword length (such as 31,104 bits). In some examples, the threshold or condition for selecting a longer codeword length can be N as described with reference to Tables 2 and 3. avbits For the example where the codeword length of 31104 bits is only used for RU sizes greater than or equal to 996, then for RU size 242, even in which N avbits In a very large example, the first wireless device 205 may not use a codeword length of 31104 bits. Similarly, for a RU of size 2x996, where N avbits In very small examples, the first wireless device 205 may still use a shorter codeword length, such as 648, 1296, or 1944 bits, instead of a longer codeword length.
[0077] In some examples, the first wireless device 205 can generate a packet containing codewords encoded using different codeword lengths. The first wireless device 205 can use one or more longer LDPC codewords, such as one or more longer codewords 220, each having a first codeword length, and one or more shorter LDPC codewords, such as one or more shorter codewords 225, each having a second codeword length that is less than the first codeword length. For example, a packet 215 can include one or more codewords having the first codeword length and one or more codewords having the second codeword length. In some examples, the codeword length for each of the one or more shorter codewords 225 can be referred to as a second codeword length, a short codeword length, or a shorter codeword length.
[0078] In some examples, one or more shorter codewords 225 can be used for the last symbol of packet 215. Using shorter codewords for the last symbol, or ensuring that the last OFDM symbol is occupied only by shorter LDPC codewords, can reduce processing time at the second wireless device 210. For example, the second wireless device 210 can process packet 215 faster if the last symbol includes only shorter codewords than if the last symbol were to include longer codewords.
[0079] In some examples, the one or more shorter codewords 225 may each have a codeword length of 1944 bits. The first wireless device 205 may perform shortening or puncturing on the one or more longer codewords 220 or the one or more shorter codewords 225, or both. In some examples, the first wireless device 205 may perform proportional shortening and puncturing on the one or more longer codewords 220 and the one or more shorter codewords 225. For example, each of the one or more longer codewords 220 and each of the one or more shorter codewords 225 may be punctured or shortened by the same or approximately the same percentage. In some examples, each of the one or more longer codewords 220 may have a codeword length that is four times the codeword length of each of the one or more shorter codewords 225, and each of the one or more longer codewords 220 may include approximately four times as many shortened bits or punctured bits as each of the one or more shorter codewords 225. Reference Figure 3 Examples of proportional shortening and perforation techniques are described in more detail.
[0080] In some examples, the first wireless device 205 may perform shortening and puncturing on each of the one or more shorter codewords 225 or a codeword having a shorter codeword length, but not shortening and puncturing on the one or more longer codewords 220. In some examples, the first wireless device 205 may perform shortening and puncturing on the one or more longer codewords 220 but not on any of the one or more shorter codewords 225. In some examples, the first wireless device 205 may perform shortening on the one or more shorter codewords 225 and perform puncturing on the one or more longer codewords 220.
[0081] In some examples, the first wireless device 205 can perform shortening and puncturing equally on all codewords of the packet 215 based on the number of codewords. For example, each codeword in the packet 215 (including each of the one or more longer codewords 220 and each of the one or more shorter codewords 225) can include approximately the same number of punctured bits, such that each of the one or more shorter codewords 225 has a higher percentage of punctured bits than each of the one or more longer codewords 220.
[0082] In some examples, one or more shorter codewords 225 may each have a codeword length of 648, 1296, or 1944 bits. In some examples, shortening and puncturing may be distributed across all codewords (including each of the one or more longer codewords 220 and each of the one or more shorter codewords 225) in proportion to the number of coded bits of length -648. In some examples, shortening and puncturing may be distributed across all codewords based on the number of codewords in group 215. In some examples, shortening and puncturing may be distributed across one or more shorter codewords 225, but not across one or more longer codewords 220. In some examples, shortening and puncturing may be distributed across one or more longer codewords 220, but not across one or more shorter codewords 225. In some examples, shortening may be distributed across one or more shorter codewords 225, but not across any of the one or more longer codewords 220, and puncturing may be distributed across one or more longer codewords 220, but not across any of the one or more shorter codewords 225.
[0083] In some examples, the first wireless device 205 can use the same code rate to encode the longer LDPC codewords and the shorter LDPC codewords in the packet 215. For example, the first wireless device 205 can use the same code rate to encode one or more longer codewords 220 and one or more shorter codewords 225.
[0084] In some other examples, the first wireless device 205 can use different code rates for the shorter codewords and the longer codewords. For example, the code rate used to encode the shorter LDPC codeword can be lower than the code rate used to encode the longer LDPC codeword. In some examples, using a lower code rate for one or more shorter codewords 225 can reduce the performance gap between one or more longer codewords 220 and one or more shorter codewords 225. In some examples, the code rate of one or more shorter codewords 225 can be half. For example, regardless of the code rate used to encode the one or more longer codewords 220, the first wireless device 205 can use half the code rate to encode the one or more shorter codewords 225.
[0085] If one or more shorter codewords 225 and one or more longer codewords 220 have different code rates, the first wireless device 205 can perform puncturing and shortening on the longer codewords 220. Puncturing and shortening the longer codewords 220 can ensure that there is no performance degradation for the shorter codewords and simplify the rate matching process because the symbols containing codewords using the shorter codeword length and the remaining symbols can carry different numbers of data bits per symbol. The initial number of one or more shorter codewords 225 at the lower code rate can be determined based on or otherwise determined according to the number of coded bits per symbol divided by the codeword length of the shorter codeword, rounded up. Using the initial number of shorter codewords at the lower code rate, the first wireless device 205 can determine an initial number of information bits to be encoded using the lower code rate. By subtracting the initial number of information bits to be encoded using the lower code rate from the total number of information bits, the first wireless device 205 can determine the number of remaining information bits. The first wireless device 205 can use the number of remaining information bits at the MCS level to determine the codeword length of the longer codeword 220 for the remaining bits. After padding the one or more longer codewords 220 , the first wireless device 205 may encode the remaining bits into one or more shorter codewords 225 using a lower code rate.
[0086] In some other examples, the code rate of the one or more shorter codewords 225 can be determined after the codeword length is selected. For example, after the first wireless device 205 selects a longer codeword length and a shorter codeword length, if the code rate based on or otherwise associated with the MCS level is not already the lowest code rate available, the shorter codeword can be replaced with a shorter codeword having a code rate lower than the code rate associated with the MCS level. In this example, the first wireless device 205 can use an increased number of transmitted symbols to accommodate the shorter codeword having the lower code rate.
[0087] The first wireless device 205 can perform puncturing to fit the final coded bits into the number of allocated OFDM symbols. However, puncturing an LDPC code can affect the decoding performance of the LDPC codeword. The wireless communication system 200 can support techniques for longer LDPC codewords without puncturing by increasing the number of transmitted OFDM symbols to transmit all coded data. For example, the first wireless device 205 can increase the number of symbols initially assigned to accommodate one or more longer codewords or one or more shorter codewords 225. For example, the first wireless device 205 can increase the number of symbols initially assigned to transmit all coded data without performing puncturing.
[0088] The first wireless device 205 can include an indication in a header, such as packet 215, that packet 215 has an extended length to accommodate codewords without puncturing. For example, the first wireless device 205 can indicate the number of extended symbols as part of the physical layer header of packet 215 to inform the second wireless device 210 how many symbols are added to the initially calculated number of OFDM symbols to accommodate the first wireless device 205 skipping puncturing. In some examples, the first wireless device 205 can indicate the number of information bits. In some examples, the mode without puncturing can be indicated via a control signaling field, such as a bit indication in the header, or assumed as a default operation for the first wireless device 205 and the second wireless device 210.
[0089] Figure 3 An example of a process flow 300 that supports techniques for generating and using longer LDPC codewords in accordance with one or more aspects of the present disclosure is shown. Aspects of the process flow 300 may implement or be implemented by aspects of the WLAN 100, the wireless communication system 200, or both. For example, the process flow 300 illustrates signaling and techniques that enable a wireless communication device to transmit packets with mixed codeword lengths, such as with respect to Figure 1 and Figure 2 shown and described.
[0090] The process flow 300 may include a first wireless device 305 and a second wireless device 310, which may be reference Figure 1 and Figure 2 Examples of APs, STAs, and other wireless communication devices described. For example, Figure 3 The first wireless device 305 and the second wireless device 310 shown in FIG. 3 may respectively include Figure 2 Examples of a first wireless device 205 and a second wireless device 210 are shown in FIG.
[0091] In some examples, the operations shown in process flow 300 can be performed by hardware (e.g., including circuits, processing blocks, logic components, and other components), code executed by a processor (e.g., software), or any combination thereof. The following alternative examples can be implemented in which some steps are performed in a different order than described, or not performed at all. In some cases, the steps may include additional features not mentioned below, or additional steps may be added.
[0092] A first wireless device 305 may have information bits or payload bits to transmit via a wireless channel to a second wireless device 310. Process flow 300 illustrates an example in which the first wireless device 305 selects a codeword length for a codeword to convey the information bits, generates multiple codewords having different codeword lengths using the payload bits as input bits, arranges the multiple codewords into symbols, and transmits the symbols to the second wireless device 310. In examples in which the first wireless device 305 selects a longer codeword or a longer codeword length, the first wireless device 305 may use a shorter LDPC codeword or a shorter codeword length in conjunction with the longer codeword.
[0093] For example, at 315, the first wireless device 305 can select the first codeword length and the second codeword length based on, in response to, or otherwise associated with the number of input bits that meets a threshold. The first wireless device 305 can calculate or determine the number of coded bits (N) that can be carried in the last OFDM symbol. cpbs,last ), the number of assigned initial OFDM symbols (N sym,init ) and the number of available coded bits (N avbits ), each of which can be based on the number of payload bits (N pld ), RU size, MCS level and initial OFDM symbol boundary for the last symbol (a init ) or otherwise related to the number of payload bits (N pld ), RU size, MCS level and initial OFDM symbol boundary for the last symbol (a init The first wireless device 305 may reserve the number of coded bits to be carried in the last OFDM symbol based on or otherwise in accordance with the number of coded bits that may be carried in the last OFDM symbol. cbps,short ) and the minimum number of shorter LDPC codewords to transmit the coded bits. If the shorter codeword length can vary, such as any one of 648 bits, 1296 bits, or 1944 bits, the first wireless device 305 can determine the number of coded bits to be carried by the shorter LDPC codeword based on or otherwise according to N cbps,last to select a shorter codeword length or a second codeword length.
[0094] After determining the number of coded bits to be carried using the shorter LDPC codeword, the first wireless device 305 can determine the codeword length to be used for the remaining bits. avbits -N cbps,short The first wireless device may use multiple longer codewords and use codewords with shorter codeword lengths to carry the remaining bits.
[0095] For example, at 320, the first wireless device 305 may perform an LDPC encoding operation on the input bits. Performing the LDPC encoding operation on the input bits may generate output bits arranged into a plurality of codewords. The plurality of codewords may include one or more codewords each having a first codeword length and one or more codewords each having a second codeword length that is less than the first codeword length. At 325, the first wireless device 305 may perform puncturing or shortening, or both, on the one or more codewords having the first codeword length, the one or more codewords having the second codeword length, or both. At 330, the first wireless device 305 may arrange the plurality of codewords into a plurality of symbols such that a temporally last symbol of the plurality of symbols includes at least a portion of the one or more codewords having the second codeword length and does not include a codeword having the first codeword length. At 335, the first wireless device 305 may transmit the plurality of symbols to the second wireless device 310. At 340, the second wireless device 310 may decode the plurality of symbols.
[0096] In some examples, the first wireless device 305 can select a longer codeword length from a plurality of longer codeword lengths and select a shorter codeword length from a plurality of shorter codeword lengths. For example, the longer codeword length can be 7776 bits or 31104 bits. The shorter codeword length can be 648 bits, 1296 bits, or 1944 bits. In some examples, the shorter codeword length can be fixed, such as being set to 1944 bits, regardless of the number of coded bits to be carried using the shorter LDPC codeword.
[0097] In some examples, process flow 300 can be performed to support various implementations for distributing puncturing and shortening between codewords having shorter codeword lengths and codewords having longer codeword lengths. In the following example, the first wireless device 305 can use a single code rate for codewords having up to two different codeword lengths in a packet.
[0098] In a first example, the first wireless device 305 can distribute puncturing and shortening across all codewords in proportion to the codeword length. For longer LDPC codeword lengths, such as in payloads resulting in N avbitsIn cases where the number of calculations is greater than 2592, the first wireless device 305 can use a combination of a longer LDPC code length and a shorter LDPC codeword length (such as a length of 1944 bits) for transmission of the same packet. In some examples, the last symbol can include only the shorter codeword, or a codeword with a shorter codeword length. The first wireless device 305 can perform shortening, puncturing, or padding across all codewords in proportion to the codeword length. For an example where a packet includes a longer codeword of 31104 bits (4×1944 bits) and a shorter codeword of 1944 bits, the longer codeword can have approximately four times the shortened bits per codeword as a codeword of length -1944.
[0099] In some cases of the first example, the shorter codeword length may be 1944 bits. The first wireless device 305 may determine the codeword length with the shorter codeword length (N) based on the code rate and the number of payload bits. cb,1944 ), where The first wireless device 305 may determine the number of coded bits of the last OFDM symbol based on the number of coded bits (N CBPS,last ) or otherwise related to the number of coded bits (N) of the last OFDM symbol CBPS,last ) is associated to calculate the number of coded blocks (N) that can fit into the length of the last symbol -1944 cb,last ),in In some examples, N CBPS,last The initial segment boundary (a init ) or otherwise with the RU size of the last symbol, the MCS level, and the initial segment boundary (a init The first wireless device 305 can calculate the number of length-1944 coded blocks (N) to use for the remaining bits based on or otherwise associated with the total number of length-1944 coded blocks and the number of length-1944 coded blocks that can fit in the last symbol. cb,rem ), where N cb,rem =N cb,1944 -N cb,last If the number of coded blocks of length -1944 is less than 4, the first wireless device 305 may use only codewords of length 1944, where the total number of codewords is equal to the number of coded blocks of length 1944, or N cw =N cb,1944 If 4≤N cb,rem <16, then codewords can use codewords of length 1944×4, and the rest and N cb,last codewords can use a codeword of length 1944, where If N cb,rem ≥16, then codewords can use codewords of length 1944×16, and the rest codewords and N cb,last codewords can use a codeword of length 1944, where
[0100] In some cases of the first example, the number of shortening, puncturing, or padding bits per codeword may be based on or otherwise associated with a length-1944 coded bit group. The first wireless device 305 may apply shortening, puncturing, or padding to each codeword based on the number of length-1944 coded bit groups contained in each codeword. For example, a packet may include two longer codewords having a codeword length of 1944×16 bits and three shorter codewords having a codeword length of 1944 bits. The number of shortening bits may correspond to N shrt =max(0,N cb,1944 ×1944×R)-N pld )>0. The first wireless device 305 can calculate the number of shortened bits per coded bit group of length -1944 as The actual number of shortened bits per coded bit group l of length -1944 can be expressed as For the previous mod(N shrt ,N cw,1944 The actual number of shortened bits for a coded bit group of length -1944 may be N sp1944,init +1, and the remaining encoded bit groups may all have N sp1944,init In some examples, the actual number of shortened bits per codeword N for the i-th codeword is spcw,i It can be based on or otherwise associated with the first two codewords of length 1944×16, as shown in equation (5).
[0101]
[0102] The number of shortened bits per codeword for the i-th codeword can be calculated based on distributed among the three remaining codewords of length 1944. In some examples, additional OFDM symbol segments may be added to avoid a high puncturing percentage based on or otherwise associated with the number of bits punctured per group of coded bits of length -1944.
[0103] In some examples, the last symbol may not include a codeword of only length -1944. For example, if Navbits If a threshold (such as 2592 bits) is met, then a longer length LDPC code and a length 1944 LDPC code may be combined for the packet. The first wireless device 305 may distribute the shortening, puncturing, or padding among all codewords and in proportion to the codeword length. For example, if a length 4x1944 codeword and a length 1944 codeword are used in the same packet, the length 4x1944 codeword may have approximately 4 times the number of shortened bits per codeword as the length 1944 codeword. The first wireless device 305 may determine the number of shortened bits per codeword for N pld If the number of coded blocks of length 1944 is less than 4, the first wireless device 305 may use only codewords of length 1944 for the grouping. If the number is from 4 to 15, the first wireless device 305 may use only codewords of length 1944 for the grouping. codewords and use codewords of length 1944x4 for the remaining codewords. If the number is greater than or equal to 16, the first wireless device 305 may use one or more codewords of length 1944x4 for the first codewords. The first wireless device 305 may use one or more codewords of length 1944x16 for each codeword, and use codewords of length 1944 for the remaining codewords. Before determining the final codeword length, the number of shortening, puncturing, or padding bits per codeword may be calculated based on the length-1944 coded bit groups. Shortening, puncturing, or padding may be applied to each codeword based on the number of length-1944 coded bits contained in each codeword. The first wireless device 305 may determine whether to add additional OFDM symbol segments based on the puncturing ratio of the length-1944 coded bit groups.
[0104] In a second example, the first wireless device 305 may apply puncturing and shortening only to one or more codewords having a shorter codeword length. For example, any shortening or puncturing operation may be performed on one or more codewords having a second or shorter codeword length. For the second example, the first wireless device 305 may determine the number of coded blocks or coded bit groups having a shorter codeword length without making any adjustments to the last OFDM symbol. The first wireless device 305 may calculate the number of coded blocks having a shorter codeword length that can fit into the last OFDM symbol. The first wireless device 305 may determine the number of coded blocks of remaining bits after determining the number of coded blocks that can fit into the last OFDM symbol. In some cases of the second example, the shorter codeword length may be 1944 bits. If the total number of coded blocks of remaining coded bits is less than four, the first wireless device 305 may use only codewords having a shorter codeword length (such as 1944 bits) for the packet. In examples where the number of coded blocks is greater than or equal to 4 and less than 16, the first wireless device 305 may use only codewords having a shorter codeword length (such as 1944 bits) for the packet. A codeword can have a length of 7776 bits, and the remaining codewords together with the number of coded blocks N of the last codeword cb,last , can have a length of 1944 bits, so that the number of codewords encoded using a codeword length of 1944 is equal to In examples where the number of encoded blocks is greater than or equal to 16, the Codewords can use codewords of length 7776, and the remaining The number of coded blocks of codewords and the last codeword can use codewords of length 1944, so that the number of codewords encoded using codeword length 1944 is equal to
[0105]
[0106] For the second example, the first wireless device 305 can perform shortening and puncturing across codewords having a second or shorter codeword length. For example, the total number of shortened bits can be represented by equation (6), where N cw,short represents the number of codewords with shorter codeword length (1944), N cw represents the total number of codewords including both longer codewords and shorter codewords, L LDPC,long Indicates the length of the longest codeword used, L LDPC,short represents the length of the shortest codeword used, and R represents the code rate.
[0107] N shrt =max(0,N cw,short ×L LDPC,short ×R)-(N pld -(N cw -N cw,short ) (6)
[0108] ×L LDPC,long ×R))
[0109] The number of shortened bits per codeword with a shorter LDPC codeword length can be given by N spshort,init Indicates that In some examples, for the first mod (N shrt ,N cw,short The actual number of shortened bits for a ) codeword can be N spshort,init +1, and the remaining codewords may each include N spshort,init Shorten bits.
[0110] For the second example, the first wireless device 305 may determine the number of punctured bits per shorter codeword. The total number of punctured bits N may be determined according to equation (7): punc .
[0111] N punc =max (0,(N cw -N cw,short )×L LDPC,long +N cw,short ×L LDPC,short -N shrt (7)
[0112] -N avbits )
[0113] In some examples, the first wireless device 305 can adjust the last symbol to avoid applying too much puncturing and affecting the performance of the LDPC code. For examples where expression (8) or expression (9) is true, the first wireless device 305 can include additional LDPC symbol segments, which can increase N avbits .
[0114]
[0115] (N punc >0.3×N cw,short ×L LDPC,short ×(1-R)) (9)
[0116] The first wireless device 305 may then recalculate N according to equations (10) and (11), respectively. avbits and N punc .
[0117]
[0118] N punc =max (0,(N cw -N cw,short )× L LDPC,long +N cw,short ×L LDPC,short -N shrt (11)
[0119] -N avbits )
[0120] If the first wireless device 305 adds an additional LDPC symbol segment, the first wireless device 305 can determine whether the last symbol is still encoded using only codewords with shorter codeword lengths. For example, the first wireless device 305 can determine N according to equation (12). CBPS,last .
[0121]
[0122] The first wireless device 305 may recalculate the number of codewords with shorter codeword lengths that can fit in the last symbol. For example, the number N of shorter codewords that can fit in the last symbol cb,last Can be equal to If N cb,last is less than or equal to the currently assigned number of codewords with a shorter codeword length (such as 1944 bits), the first wireless device 305 may not make an adjustment because the last symbol may still include only codewords with the shorter codeword length. cb,last Greater than N cw,short In the example of cb,short With N cb,last The difference between the two is used to calculate the new N cb,rem The first wireless device 305 may update the total number of codewords N cw , the number of codewords with shorter codeword length N cw,short , and the length L of the longer LDPC codeword LDPC,long . In the update N cw 、N cw,short and L LDPC,long Thereafter, the first wireless device 305 may recalculate the number of shortened and punctured bits using equations (6) and (7) with the updated values.
[0123] In a third example, the first wireless device 305 can evenly distribute the shortening and puncturing to all codewords. In the first example, shortening and puncturing can be distributed in proportion to the codeword length on all codewords, but in the third example, shortening and puncturing can be evenly distributed on all codewords, regardless of the length of each codeword. For example, a codeword with a shorter codeword length and a codeword with a longer codeword length can have the same or approximately the same number of shortened bits. Additionally or alternatively, a codeword with a shorter codeword length and a codeword with a longer codeword length can have the same or approximately the same number of punctured bits. In some examples, one or more codewords can include an extra shortening bit or an extra punctured bit compared to other codewords because the number of shortening bits or punctured bits may not be evenly divisible by the total number of codewords.
[0124] For a third example, the first wireless device 305 can determine whether to use additional OFDM symbol segments to avoid over-puncturing.
[0125] For example, if Expression (13) or Expression (14) is true, the first wireless device 305 may use additional LDPC symbol segments.
[0126]
[0127] N punc>0.3×N CW,1944 ×1944+(N CW -N CW,1944 )×L LDPC,long )×(1-R) (14)
[0128] If additional LDPC symbol segments are used for the third example, the first wireless device 305 may increase N avbits And recalculate N punc If additional symbol segments are used, the first wireless device 305 can check whether the last symbol is still a symbol encoded using only length-1944, and if the last symbol is not still a symbol encoded using only length-1944, the first wireless device 305 can make adjustments, as described in more detail in the second example.
[0129] In a fourth example, the first wireless device 305 may perform shortening and puncturing only on codewords having a first longer codeword length. For example, the first wireless device 305 may determine the number of shortening bits and puncturing bits according to equations (4) to (10), but instead of using a shorter codeword length or 1944 bits, equations (4) to (10) may use a longer codeword length L. LDCP,long For example, the total number of shortened bits can be determined according to equation (15), where N cw,long Indicates the number of longer codewords used, N cw represents the total number of all codewords, and L LDPC,long Denotes the length of the longest codeword used. The total number of punctured bits may be determined according to equation (16), which may be similar to equation (7) but with the lengths of the longer LDPC codeword and the shorter LDPC codeword swapped.
[0130] N shrt =max(0,N cw,long ×L LDPC,long ×R)-(N pld -(N cw -N cw,long ) (15)
[0131] ×L LDPC,long ×R))
[0132] N punc =max (0,(N cw -N cw,long )×L LDPC,short +N cw,long ×L LDPC,long -N shrt (16)
[0133] -N avbits )
[0134] For a fourth example, the first wireless device 305 can determine whether to use additional OFDM symbol segments to avoid over-puncturing.
[0135] For example, if Expression (17) or Expression (18) is true, the first wireless device 305 may use additional LDPC symbol segments.
[0136]
[0137] N punc >0.3×N cw,long ×L LDPC,long ×(1-R) (18)
[0138] If additional LDPC symbol segments are used for the fourth example, the first wireless device 305 may increase N avbits And recalculate N punc If additional symbol segments are used, the first wireless device 305 can check whether the last symbol is still a symbol encoded using only length-1944, and if the last symbol is not still a symbol encoded using only length-1944, the first wireless device 305 can make adjustments, as described in more detail in the second example.
[0139] In a fifth example, the first wireless device 305 may use a single code rate for codewords having up to two different codeword lengths in a packet, and the first wireless device 305 may perform shortening only on codewords having the second shorter codeword length and puncturing only on codewords having the first longer codeword length. For example, instead of applying both shortening and puncturing bits across longer or shorter codewords, the first wireless device 305 may apply shortening to codewords having the shorter codeword length and puncturing to codewords having the longer codeword length. For example, the first wireless device 305 may determine shortening bits according to equation (6), and distribute the shortening bits, and perform shortening operations approximately uniformly only among codewords having the shorter codeword length. The first wireless device 305 may determine puncturing bits according to equation (16), and perform puncturing operations approximately uniformly only among codewords having the longer codeword length. In some examples, the first wireless device 305 can apply shortening to all codewords in proportion to the codeword length as described in the first example, or apply shortening to all codewords uniformly as described in the third example, and apply puncturing only to codewords with longer codeword lengths, as described in the fourth example.
[0140] In the first to fifth examples, a shorter codeword length of 1944 bits is generally described. However, for each of these examples, the shorter codeword length can be a different number of bits. For example, the shorter codeword length can be 648 bits or 1296 bits. The codeword length selection, shortening, and puncturing can be modified according to different shorter codeword lengths. For example, shortening and puncturing can be distributed in all codewords in proportion to the encoded bits of length -648. In some examples, shortening and puncturing can be distributed only in shorter codewords, with the shorter codewords having a codeword length of 648 bits or 1296 bits.
[0141] For example, the last symbol codeword length can be based on or otherwise associated with an LDPC codeword length selection rule. For example, if two codeword lengths are used, the first wireless device 305 can determine the second shorter codeword length based on the number of available coded bits in the last symbol. The first wireless device 305 can determine the longer codeword length after determining the shorter codeword length and the number of shorter codewords used to pad the last symbol. In some examples, the shorter codeword length can be 648 bits, 1296 bits, or 1944 bits. The first wireless device 305 can perform puncturing or shortening as described with reference to one or more of the above examples.
[0142] In some examples of LDPC codeword length selection rules, the first wireless device 305 can first determine the longer codeword length. For example, the first wireless device 305 can determine the initial number N of payload bits for the longer codeword based on the difference between the number of payload bits and the initial number of information bits per symbol in the last symbol. pld,long,init In which N pld,long,init In an example below the first threshold, such as 7776×R, only codewords of length 1944 may be used, and the first wireless device 305 may set the longer codeword length and the shorter codeword length to be equal to 1944 bits. pld,long,init In an example where the value is equal to or higher than the first threshold but lower than the second threshold, such as 31104×R, then L LDPC,long can be set to a first longer codeword length (such as 7776 bits), and the remaining number N of payload bits pld,rem Can be equal to N pld With N cw,long The first wireless device 305 can use the techniques described herein (such as using Table 1) to use N pld,rem Instead of N avbits And select the shorter codeword length and the number of shorter codewords. pld,long,init In the example where L is equal to or higher than the second threshold, LDPC,longcan be set to a second longer codeword length, such as 31104 bits, and the remaining number N of payload bits pld,rem Can be equal to N pld With N cw,long ×31104×R. The first wireless device 305 can similarly use the techniques described herein to use N pld,rem Instead of N avbits and selecting the shorter codeword length and the number of shorter codewords.
[0143] After generating codewords according to any one or more of the examples or techniques described herein, the first wireless device 305 can arrange the plurality of codewords into a plurality of symbols such that a last symbol in time of the plurality of symbols includes at least a portion of one or more codewords having the second codeword length and does not include a codeword having the first codeword length at 330. The first wireless device 305 can send the plurality of symbols to the second wireless device 310, and the second wireless device 310 can decode the plurality of symbols.
[0144] In some examples, the second wireless device 310 can decode the plurality of symbols according to one or more decoding techniques that can mirror the encoding process described herein. For example, the second wireless device 310 can decode the plurality of symbols to obtain input bits or payload bits based on, in response to, a last symbol in the plurality of symbols including one or more codewords having the second codeword length and no codewords having the first codeword length, or otherwise associated with the last symbol in the plurality of symbols including one or more codewords having the first codeword length and one or more codewords having the second codeword length. For example, the second wireless device 310 can first decode one or more first received symbols that can correspond to one or more codewords having the first codeword length, and then the second wireless device 310 can decode the codeword associated with the last symbol after decoding the earlier received codewords.
[0145] Although the reference Figure 3 The examples of codeword length selection, shortening, and puncturing described generally involve using a single code rate for both longer codewords and shorter codewords, but some of these examples can also be applied when different code rates are used for longer codewords and shorter codewords. For example, the first wireless device 305 can use a lower code rate (e.g., half the code rate) to encode one or more codewords having a second codeword length. In some examples, if necessary, the first wireless device 305 can perform shortening and puncturing on the longer codewords, as in the fourth example and with respect to Figure 2 Described in more detail.
[0146] Figure 4 An example of a process flow 400 that supports techniques for generating and using longer LDPC codewords in accordance with one or more aspects of the present disclosure is shown. Aspects of the process flow 400 may implement or be implemented by aspects of the WLAN 100, the wireless communication system 200, the process flow 300, or any combination thereof. For example, the process flow 400 illustrates signaling and techniques that enable a wireless communication device to transmit codewords having longer codeword lengths, such as with respect to Figure 1 and Figure 2 shown and described.
[0147] The process flow 400 may include a first wireless device 405 and a second wireless device 410, which may be reference Figure 1 and Figure 2 Examples of APs, STAs, and other wireless communication devices described. For example, Figure 3 The first wireless device 305 and the second wireless device 310 shown in FIG. 5 may include examples of an encoding device or transmitting device and a decoding device or receiving device, respectively.
[0148] In some examples, the operations shown in process flow 400 can be performed by hardware (e.g., including circuits, processing blocks, logic components, and other components), code executed by a processor (e.g., software), or any combination thereof. The following alternative examples can be implemented in which some steps are performed in a different order than described, or not performed at all. In some cases, the steps may include additional features not mentioned below, or additional steps may be added.
[0149] The first wireless device 405 may have information bits or payload bits to transmit via a wireless channel to the second wireless device 410. The process flow 400 illustrates an example in which the first wireless device 405 selects a codeword length for one or more codewords to convey the information bits, generates the one or more codewords using the payload bits as input bits, arranges the one or more codewords into symbols, and transmits the symbols to the second wireless device 410.
[0150] For example, at 415, the first wireless device 405 may select a first codeword length for one or more codewords based on, in response to, or otherwise associated with a number of input bits meeting a threshold. In some examples, the first wireless device 405 may determine the number of payload bits based on APEP_LENGTH. The first wireless device 405 may determine the initial number of symbols based on, or otherwise associated with, the number of payload bits and the number of data bits per symbol. The first wireless device 405 may determine the number of available bits based on, or otherwise associated with, the initial number of symbols, the last symbol boundary (a), and the number of coded bits per symbol. The first wireless device 405 may select a codeword length associated with the number of available bits, such as using Table 2 or Table 3 described herein.
[0151] For example, at 420, the first wireless device 405 may perform an LDPC encoding operation on a set of multiple input bits. Performing the LDPC encoding operation on the input bits may generate a set of multiple output bits arranged into one or more codewords. The one or more codewords may each have a codeword length that is based on or otherwise associated with a size of an RU that satisfies a first threshold, a modulation and coding scheme index of an LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol that satisfies a third threshold, or any combination thereof.
[0152] For example, in examples where one or more conditions are met, the first wireless device 405 can use a longer codeword length, such as 7776 or 31104. For example, in examples where the RU size meets a threshold, a first longer codeword size, such as 31104 bits, can be selected. For example, in examples where the RU size is greater than or equal to 996, the first wireless device 405 can select the first longer codeword size. In another example, in examples where the MCS index meets a threshold, such as where the MCS index is set to five or greater, the first wireless device 405 can select the first longer codeword size. In another example, the first wireless device 405 can select the first longer codeword size in examples where the number of coded bits per symbol meets a threshold, such as where the number of coded bits per symbol is greater than 5000.
[0153] In some examples, the first wireless device 405 can perform packet extension to assist processing time at the second wireless device 410. For example, padding with an additional symbol or several additional symbols can provide additional processing time to the decoder (second wireless device 410). The number of symbols to be padded can be based on the RU size or otherwise associated with the RU size. For example, for RU sizes greater than 996, the first wireless device 405 can padded with one to two additional symbols. For RU sizes less than 996, four to eight symbols can be padded. In some examples, the number of symbols to be padded can be based on the number of coded bits per symbol or otherwise associated with the number of coded bits per symbol. In some examples, the first wireless device 405 can include a header with a packet including one or more symbols. The number of symbols to be padded can be selected from a table of supported values or numbers, and the first wireless device 405 can indicate the selected number of symbols as part of the header of the packet.
[0154] In some examples, the first wireless device 405 can perform puncturing or shortening, or both, on the one or more codewords at 425. At 430, the first wireless device 405 can arrange the one or more codewords into a plurality of symbols including one or more padding symbols after FEC. At 435, the first wireless device 405 can send the plurality of symbols to the second wireless device 410. At 440, the second wireless device 410 can decode the plurality of symbols.
[0155] Figure 5 A block diagram of a device 505 supporting techniques for generating and using longer LDPC codewords according to one or more aspects of the present disclosure is shown. The device 505 may be an example of aspects of an AP or STA as described herein. The device 505 may include a receiver 510, a transmitter 515, and a communication manager 520. The device 505 may also include a processor. Each of these components may communicate with each other (e.g., via one or more buses).
[0156] The receiver 510 may provide a means for receiving information (such as packets, user data, control information, or any combination thereof) associated with various information channels (e.g., control channels, data channels, information channels related to techniques for generating and using longer LDPC codewords). The information may be passed to other components of the device 505. The receiver 510 may utilize a single antenna or may utilize a collection of multiple antennas.
[0157] The transmitter 515 may provide a means for transmitting signals generated by the other components of the device 505. The transmitter 515 may utilize a single antenna or a collection of multiple antennas.
[0158] The communication manager 520, the receiver 510, the transmitter 515, or various combinations thereof, or various components thereof, may be examples of means for performing various aspects of the techniques for generating and using longer LDPC codewords as described herein. For example, the communication manager 520, the receiver 510, the transmitter 515, or various combinations thereof, or components thereof, may support methods for performing one or more of the functions described herein.
[0159] In some examples, the communication manager 520, the receiver 510, the transmitter 515, or various combinations or components thereof can be implemented in hardware (e.g., in a communication management circuit). The hardware can include a processor, a DSP, a CPU, an ASIC, an FPGA or other programmable logic device, a microcontroller, discrete gate or transistor logic, discrete hardware components, or any combination thereof configured as or otherwise supporting means for performing the functions described in this disclosure. In some examples, the processor and a memory coupled to the processor can be configured to perform one or more of the functions described herein (e.g., by executing instructions stored in the memory by the processor).
[0160] Additionally or alternatively, in some examples, the communication manager 520, receiver 510, transmitter 515, or various combinations or components thereof may be implemented in code executed by a processor (e.g., as communication management software or firmware). If implemented in code executed by a processor, the functionality of the communication manager 520, receiver 510, transmitter 515, or various combinations or components thereof may be performed by a general-purpose processor, DSP, CPU, ASIC, FPGA, microcontroller, or any combination of these or other programmable logic devices (e.g., configured or otherwise supported to perform the functions described in this disclosure).
[0161] In some examples, the communication manager 520 can be configured to perform various operations (e.g., receive, obtain, monitor, output, transmit) using or otherwise cooperating with the receiver 510, the transmitter 515, or both. For example, the communication manager 520 can receive information from the receiver 510, send information to the transmitter 515, or be integrated in conjunction with the receiver 510, the transmitter 515, or both to obtain information, output information, or perform various other operations as described herein.
[0162] According to examples disclosed herein, the communication manager 520 can support wireless communications at a first wireless device. For example, the communication manager 520 can be configured to or otherwise support means for performing an LDPC encoding operation on a set of multiple input bits, the LDPC encoding operation on the input bits producing a set of multiple output bits arranged in a set of multiple codewords, the set of multiple codewords including one or more codewords each having a first codeword length and one or more codewords each having a second codeword length that is shorter than the first codeword length. The communication manager 520 can be configured to or otherwise support means for arranging the set of multiple codewords into a set of multiple symbols such that a temporally last symbol of the set of multiple symbols includes at least a portion of the one or more codewords each having the second codeword length and does not include a codeword having the first codeword length. The communication manager 520 can be configured to or otherwise support means for transmitting the set of multiple symbols to a second wireless device.
[0163] Additionally or alternatively, according to examples disclosed herein, the communication manager 520 can support wireless communications at a first wireless device. For example, the communication manager 520 can be configured to or otherwise support means for performing an LDPC encoding operation on a set of multiple input bits, the LDPC encoding operation producing a set of multiple output bits arranged in one or more codewords, the one or more codewords having a codeword length associated with a size of a RU that satisfies a first threshold, a modulation and coding scheme index of the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol that satisfies a third threshold, or any combination thereof. The communication manager 520 can be configured to or otherwise support means for arranging the one or more codewords into a set of multiple symbols including one or more padding symbols after forward error correction. The communication manager 520 can be configured to or otherwise support means for transmitting the set of multiple symbols with a header indicating the number of the one or more padding symbols to a second wireless device via the RU.
[0164] Additionally or alternatively, according to examples disclosed herein, the communication manager 520 can support wireless communication at a second wireless device. For example, the communication manager 520 can be configured to or otherwise support means for receiving, from a first wireless device, a set of multiple symbols comprising a set of multiple input bits, the set of multiple input bits being encoded using an LDPC operation and arranged into a set of multiple codewords, the set of multiple codewords comprising one or more codewords each having a first codeword length and one or more codewords each having a second codeword length that is longer than the first codeword length. The communication manager 520 can be configured to or otherwise support means for decoding, in association with a last symbol in the set of multiple symbols comprising one or more codewords having the second codeword length but not including a codeword having the first codeword length, the set of multiple symbols comprising one or more codewords having the first codeword length and one or more codewords having the second codeword length to obtain a set of multiple input bits.
[0165] Additionally or alternatively, according to examples as disclosed herein, the communication manager 520 can support wireless communications at a second wireless device. For example, the communication manager 520 can be configured to or otherwise support means for receiving, from a first wireless device, a set of multiple symbols having a header indicating a number of one or more padding symbols included after forward error correction. The communication manager 520 can be configured to or otherwise support means for decoding a set of multiple symbols comprising one or more codewords encoded using an LDPC encoding operation and a number of one or more padding symbols, a codeword length of the one or more codewords associated with a size of an RU that satisfies a first threshold, a modulation and coding scheme index for the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol in the set of multiple symbols that satisfies a third threshold, or any combination thereof.
[0166] By including or configuring the communication manager 520 according to examples as described herein, the device 505 (e.g., a processor controlling or otherwise coupled with the receiver 510, the transmitter 515, the communication manager 520, or a combination thereof) can support techniques for increased gain and more efficient utilization of communication resources.
[0167] Figure 6 A block diagram of a device 605 supporting techniques for generating and using longer LDPC codewords according to one or more aspects of the present disclosure is shown. The device 605 can be an example of aspects of the device 505, AP 102, or STA 104 as described herein. The device 605 can include a receiver 610, a transmitter 615, and a communication manager 620. The device 605 can also include a processor. Each of these components can communicate with each other (e.g., via one or more buses).
[0168] The receiver 610 may provide a means for receiving information (such as packets, user data, control information, or any combination thereof) associated with various information channels (e.g., control channels related to techniques for generating and using longer LDPC codewords, data channels, information channels). The information may be passed to other components of the device 605. The receiver 610 may utilize a single antenna or may utilize a collection of multiple antennas.
[0169] The transmitter 615 may provide a means for transmitting signals generated by the other components of the device 605. The transmitter 615 may utilize a single antenna or a collection of multiple antennas.
[0170] Device 605 or its various components can be examples of units for performing various aspects of the techniques for generating and using longer LDPC codewords as described herein. For example, communication manager 620 can include LDPC encoding component 625, codeword arrangement component 630, symbol transmission component 635, symbol reception component 640, decoding component 645, or any combination thereof. In some examples, communication manager 620 or its various components can be configured to use receiver 610, transmitter 615, or both or otherwise cooperate with receiver 610, transmitter 615, or both to perform various operations (e.g., receive, obtain, monitor, output, transmit). For example, communication manager 620 can receive information from receiver 610, send information to transmitter 615, or be integrated with receiver 610, transmitter 615, or both to obtain information, output information, or perform various other operations as described herein.
[0171] According to examples disclosed herein, a communication manager 620 can support wireless communications at a first wireless device. An LDPC encoding component 625 can be configured to or otherwise support means for performing an LDPC encoding operation on a set of multiple input bits, the LDPC encoding operation on the input bits producing a set of multiple output bits arranged in a set of multiple codewords, the set of multiple codewords comprising one or more codewords each having a first codeword length and one or more codewords each having a second codeword length that is shorter than the first codeword length. A codeword arrangement component 630 can be configured to or otherwise support means for arranging the set of multiple codewords into a set of multiple symbols such that a temporally last symbol of the set of multiple symbols includes at least a portion of the one or more codewords each having the second codeword length and does not include a codeword having the first codeword length. A symbol transmission component 635 can be configured to or otherwise support means for transmitting the set of multiple symbols to a second wireless device.
[0172] Additionally or alternatively, according to examples disclosed herein, the communication manager 620 can support wireless communications at a first wireless device. The LDPC encoding component 625 can be configured to or otherwise support means for performing an LDPC encoding operation on a set of multiple input bits, the LDPC encoding operation on the input bits producing a set of multiple output bits arranged in one or more codewords having a codeword length associated with a size of a RU that satisfies a first threshold, a modulation and coding scheme index of the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol that satisfies a third threshold, or any combination thereof. The codeword arrangement component 630 can be configured to or otherwise support means for arranging the one or more codewords into a set of multiple symbols including one or more padding symbols after forward error correction. The symbol transmission component 635 can be configured to or otherwise support means for transmitting the set of multiple symbols with a header indicating the number of the one or more padding symbols to a second wireless device via the RU.
[0173] Additionally or alternatively, according to examples disclosed herein, the communication manager 620 can support wireless communication at a second wireless device. The symbol receiving component 640 can be configured to or otherwise support means for receiving, from the first wireless device, a set of multiple symbols comprising a set of multiple input bits, the set of multiple input bits being encoded using an LDPC operation and arranged into a set of multiple codewords, the set of multiple codewords comprising one or more codewords each having a first codeword length and one or more codewords each having a second codeword length that is longer than the first codeword length. The decoding component 645 can be configured to or otherwise support means for decoding, in association with a last symbol in the set of multiple symbols comprising one or more codewords having the second codeword length but not including a codeword having the first codeword length, a set of multiple symbols comprising one or more codewords having the first codeword length and one or more codewords having the second codeword length to obtain a set of multiple input bits.
[0174] Additionally or alternatively, according to examples as disclosed herein, the communication manager 620 can support wireless communications at a second wireless device. The symbol receiving component 640 can be configured to or otherwise support means for receiving, from the first wireless device, a set of multiple symbols having a header indicating a number of one or more padding symbols included after forward error correction. The decoding component 645 can be configured to or otherwise support means for decoding a set of multiple symbols, the set of multiple symbols comprising one or more codewords encoded using an LDPC encoding operation and the number of one or more padding symbols, the codeword length of the one or more codewords being associated with a size of an RU satisfying a first threshold, a modulation and coding scheme index for the LDPC encoding operation satisfying a second threshold, a number of coded bits per symbol in the set of multiple symbols satisfying a third threshold, or any combination thereof.
[0175] Figure 7 A block diagram of a communication manager 720 supporting techniques for generating and using longer LDPC codewords according to one or more aspects of the present disclosure is shown. The communication manager 720 or its various components may be examples of units for performing various aspects of the techniques for generating and using longer LDPC codewords as described herein. For example, the communication manager 720 may include an LDPC encoding component 725, a codeword placement component 730, a symbol transmission component 735, a symbol reception component 740, a decoding component 745, a shortening component 750, a puncturing component 755, an encoding component 760, a codeword length selection component 765, a symbol padding component 770, or any combination thereof. Each of these components may communicate with each other directly or indirectly (e.g., via one or more buses).
[0176] According to examples disclosed herein, a communication manager 720 can support wireless communications at a first wireless device. An LDPC encoding component 725 can be configured to or otherwise support means for performing an LDPC encoding operation on a set of multiple input bits, the LDPC encoding operation on the input bits producing a set of multiple output bits arranged in a set of multiple codewords, the set of multiple codewords comprising one or more codewords each having a first codeword length and one or more codewords each having a second codeword length that is shorter than the first codeword length. A codeword arrangement component 730 can be configured to or otherwise support means for arranging the set of multiple codewords into a set of multiple symbols such that a temporally last symbol of the set of multiple symbols includes at least a portion of the one or more codewords each having the second codeword length and does not include a codeword having the first codeword length. A symbol transmission component 735 can be configured to or otherwise support means for transmitting the set of multiple symbols to a second wireless device.
[0177] In some examples, the shortening component 750 can be configured to or otherwise support means for including a first number of shortened bits in each codeword having a first codeword length and a second number of shortened bits in each codeword having a second codeword length, associated with a ratio of the first codeword length to the second codeword length, the first number of shortened bits being greater than the second number of shortened bits. In some examples, the puncturing component 755 can be configured to or otherwise support means for puncturing a first portion of each codeword having a first codeword length and a second portion of each codeword having a second codeword length, associated with a ratio of the first codeword length to the second codeword length.
[0178] In some examples, shortening component 750 can be configured or otherwise support means for including shortening bits in each codeword having the second codeword length, but not in any codeword having the first codeword length, in association with the number of codewords having the second codeword length. In some examples, puncturing component 755 can be configured or otherwise support means for puncturing a portion of each codeword having the second codeword length, but not in association with the number of codewords having the second codeword length.
[0179] In some examples, the shortening component 750 can be configured or otherwise support means for including a first number of shortened bits in each codeword having a first codeword length and a second number of shortened bits in each codeword having a second codeword length, in association with the number of codewords forming the set of the plurality of symbols, the first number of shortened bits and the second number of shortened bits being within a threshold difference of the shortened bits. In some examples, the puncturing component 755 can be configured or otherwise support means for puncturing a portion of each codeword having the first codeword length and a portion of each codeword having the second codeword length, in association with the number of codewords and the threshold difference.
[0180] In some examples, shortening component 750 can be configured or otherwise support means for including shortening bits in each codeword having a first codeword length, but not in any codeword having a second codeword length, in association with the number of codewords having the first codeword length. In some examples, puncturing component 755 can be configured or otherwise support means for puncturing a portion of each codeword having a first codeword length, but not in association with the number of codewords having the first codeword length.
[0181] In some examples, shortening component 750 can be configured or otherwise support means for including shortening bits in each codeword having the second codeword length, but not in any codeword having the first codeword length, in association with a first number of codewords having the second codeword length. In some examples, puncturing component 755 can be configured or otherwise support means for puncturing a portion of each codeword having the first codeword length, but not in association with a second number of codewords having the first codeword length, in association with a second number of codewords having the first codeword length.
[0182] In some examples, to support performing an LDPC encoding operation, encoding component 760 can be configured to or otherwise support means for encoding a first portion of a set of multiple input bits using a first code rate to generate one or more codewords having a first codeword length. In some examples, to support performing an LDPC encoding operation, encoding component 760 can be configured to or otherwise support means for encoding a second portion of a set of multiple input bits using a second code rate that is less than the first code rate to generate one or more codewords having a second codeword length.
[0183] In some examples, to support sending a set of multiple symbols, the symbol sending component 735 can be configured as or otherwise support means for sending a packet including a set of multiple symbols and a header indicating the number of additional symbols in the packet in association with avoiding puncturing a set of multiple codewords.
[0184] In some examples, codeword length selection component 765 can be configured as or otherwise support means for selecting a first codeword length and a second codeword length in association with a number of input bits that meet a threshold.
[0185] In some examples, the codeword length selection component 765 can be configured as or otherwise support a unit for calculating the number of coded bits to be carried in the last symbol, the number of symbols assigned to a set of multiple symbols, and the number of available coded bits in association with the number of input bits, the RU size, the modulation and coding scheme, the symbol boundaries of the last symbol, or any combination thereof.
[0186] In some examples, the codeword length selection component 765 can be configured as or otherwise support a unit for selecting a second codeword length, the second codeword length being associated with the number of coded bits to be carried in the last symbol, the number of symbols assigned for the set of multiple symbols, and the number of available coded bits.
[0187] In some examples, codeword length selection component 765 can be configured or otherwise support means for selecting the first codeword length in association with a difference between the number of available bits and the second codeword length.
[0188] In some examples, the codeword length selection component 765 can be configured as or otherwise support a unit for selecting a first codeword length associated with a difference between a total number of encoded blocks to be used to send a set of multiple symbols and a sub-number of encoded blocks to be sent in a last symbol.
[0189] Additionally or alternatively, according to examples disclosed herein, the communication manager 720 can support wireless communications at a first wireless device. In some examples, the LDPC encoding component 725 can be configured to or otherwise support means for performing an LDPC encoding operation on a set of multiple input bits, the LDPC encoding operation on the input bits producing a set of multiple output bits arranged in one or more codewords, the one or more codewords having a codeword length associated with a size of a RU that satisfies a first threshold, a modulation and coding scheme index of the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol that satisfies a third threshold, or any combination thereof. In some examples, the codeword arrangement component 730 can be configured to or otherwise support means for arranging the one or more codewords into a set of multiple symbols including one or more padding symbols after forward error correction. In some examples, the symbol transmission component 735 can be configured to or otherwise support means for transmitting the set of multiple symbols with a header indicating the number of the one or more padding symbols to a second wireless device via the RU.
[0190] In some examples, to support the placement of one or more codewords, the symbol padding component 770 can be configured to or otherwise support a means for padding a set of multiple symbols with a first number of symbols associated with the size of the RU that meets a threshold or a second number of symbols associated with the size of the RU that does not meet the threshold. In some examples, the number of symbols used to pad the set of multiple symbols is associated with the number of coded bits per symbol. In some examples, the codeword length is greater than 1944 bits.
[0191] Additionally or alternatively, according to examples disclosed herein, the communication manager 720 can support wireless communication at a second wireless device. The symbol receiving component 740 can be configured to or otherwise support means for receiving, from the first wireless device, a set of multiple symbols comprising a set of multiple input bits, the set of multiple input bits being encoded using an LDPC operation and arranged into a set of multiple codewords, the set of multiple codewords comprising one or more codewords each having a first codeword length and one or more codewords each having a second codeword length that is longer than the first codeword length. The decoding component 745 can be configured to or otherwise support means for decoding, in association with a last symbol in the set of multiple symbols comprising one or more codewords having the second codeword length but not including a codeword having the first codeword length, a set of multiple symbols comprising one or more codewords having the first codeword length and one or more codewords having the second codeword length to obtain a set of multiple input bits.
[0192] In some examples, to support decoding a set of multiple symbols, decoding component 745 can be configured or otherwise support means for decoding one or more codewords having a first codeword length and one or more codewords having a second codeword length in association with a first number of shortened bits in the one or more codewords having the first codeword length and a second number of shortened bits in the second codeword length, the first number of shortened bits being proportional to the second number of shortened bits in association with a ratio of the first codeword length to the second codeword length. In some examples, to support decoding a set of multiple symbols, decoding component 745 can be configured or otherwise support means for decoding one or more codewords having a first codeword length and one or more codewords having a second codeword length in association with puncturing the one or more codewords having the first codeword length and the one or more codewords having the second codeword length in accordance with a ratio of the first codeword length to the second codeword length.
[0193] In some examples, to support decoding a set of multiple symbols, decoding component 745 can be configured or otherwise support means for decoding one or more codewords of the first codeword length and one or more codewords of the second codeword length in association with one or more codewords of the second codeword length including shortening bits and one or more codewords of the first codeword length not including shortening bits. In some examples, to support decoding a set of multiple symbols, decoding component 745 can be configured or otherwise support means for decoding one or more codewords of the first codeword length and one or more codewords of the second codeword length in association with one or more codewords of the second codeword length being punctured and one or more codewords of the first codeword length not being punctured.
[0194] In some examples, to support decoding a set of multiple symbols, the decoding component 745 can be configured to or otherwise support means for decoding one or more codewords having a first codeword length and one or more codewords having a second codeword length in association with a first number of shortened bits in the one or more codewords having the first codeword length and a second number of shortened bits in the one or more codewords having the second codeword length, the first number of shortened bits and the second number of shortened bits being within a threshold difference. In some examples, to support decoding a set of multiple symbols, the decoding component 745 can be configured to or otherwise support means for decoding one or more codewords having a first codeword length and one or more codewords having a second codeword length in association with a first number of punctured bits in the one or more codewords having the first codeword length and a second number of punctured bits in the one or more codewords having the second codeword length, the first number of punctured bits and the second number of punctured bits being within a threshold difference.
[0195] In some examples, to support decoding a set of multiple symbols, decoding component 745 can be configured or otherwise support means for decoding one or more codewords of a first codeword length and one or more codewords of a second codeword length associated with the shortening bit being included in the one or more codewords of the first codeword length and not included in the one or more codewords of the second codeword length. In some examples, to support decoding a set of multiple symbols, decoding component 745 can be configured or otherwise support means for decoding one or more codewords of a first codeword length and one or more codewords of a second codeword length associated with the one or more codewords of the first codeword length being punctured and the one or more codewords of the second codeword length not being punctured.
[0196] In some examples, to support decoding a set of multiple symbols, decoding component 745 can be configured or otherwise support means for decoding one or more codewords having a second codeword length associated with the shortening bit being included in the one or more codewords having the second codeword length and not included in the one or more codewords having the first codeword length. In some examples, to support decoding a set of multiple symbols, decoding component 745 can be configured or otherwise support means for decoding one or more codewords having a first codeword length associated with the one or more codewords having the first codeword length being punctured and the one or more codewords having the second codeword length not being punctured.
[0197] In some examples, to support decoding a set of multiple symbols, decoding component 745 can be configured or otherwise support means for decoding one or more codewords having a first codeword length using a first code rate to obtain a first portion of a set of multiple input bits. In some examples, to support decoding a set of multiple symbols, decoding component 745 can be configured or otherwise support means for decoding one or more codewords having a second codeword length using a second code rate that is less than the first code rate to obtain a second portion of a set of multiple input bits.
[0198] In some examples, to support receiving a set of multiple symbols, the symbol filling component 770 can be configured as or otherwise support a unit for receiving a packet including a set of multiple symbols and a header indicating a number of additional symbols in the packet in association with the set of multiple codewords not being punctured.
[0199] Additionally or alternatively, according to examples as disclosed herein, the communication manager 720 can support wireless communications at a second wireless device. In some examples, the symbol receiving component 740 can be configured to or otherwise support means for receiving, from the first wireless device, a set of multiple symbols having a header indicating a number of one or more padding symbols included after forward error correction. In some examples, the decoding component 745 can be configured to or otherwise support means for decoding a set of multiple symbols, the set of multiple symbols including one or more codewords encoded using an LDPC encoding operation and the number of one or more padding symbols, the codeword length of the one or more codewords being associated with a size of an RU satisfying a first threshold, a modulation and coding scheme index for the LDPC encoding operation satisfying a second threshold, a number of coded bits per symbol in the set of multiple symbols satisfying a third threshold, or any combination thereof.
[0200] In some examples, the number of symbols used to populate the set of multiple symbols is associated with the number of encoded bits per symbol.In some examples, the codeword length is greater than 1944 bits.
[0201] Figure 8A schematic diagram of a system including a device 805 that supports techniques for generating and using longer LDPC codewords according to one or more aspects of the present disclosure is shown. Device 805 may be an example of, or include components of, device 505, device 605, or an AP as described herein. Device 805 may include components for two-way voice and data communications, including components for sending and receiving communications (such as, a communications manager 820, a network communications manager 810, a transceiver 815, an antenna 825, a memory 830, code 835, a processor 840, and an inter-AP communications manager 845). These components may be in electronic communication or otherwise coupled (e.g., operatively, communicatively, functionally, electronically, electrically) via one or more buses (e.g., bus 850).
[0202] The network communications manager 810 may manage communications with the core network (eg, via one or more wired backhaul links). For example, the network communications manager 810 may manage the delivery of data communications for client devices, such as one or more STAs 104.
[0203] In some cases, the device 805 may include a single antenna 825. However, in some other cases, the device 805 may have more than one antenna 825, which are capable of sending or receiving multiple wireless transmissions simultaneously. The transceiver 815 can communicate bidirectionally via one or more antennas 825, wired or wireless links as described herein. For example, the transceiver 815 can represent a wireless transceiver and can communicate bidirectionally with another wireless transceiver. The transceiver 815 can also include a modem to modulate packets and provide the modulated packets to one or more antennas 825 for transmission, as well as demodulate packets received from one or more antennas 825. The transceiver 815 or the transceiver 815 and one or more antennas 825 can be examples of transmitters 515, transmitters 615, receivers 510, receivers 610, or any combination thereof, or components thereof, as described herein.
[0204] The memory 830 may include RAM and ROM. The memory 830 may store computer-readable, computer-executable code 835, which includes instructions that, when executed by the processor 840, cause the device 805 to perform the various functions described herein. In some cases, the memory 830 may contain BIOS, etc., which may control basic hardware or software operations, such as interaction with peripheral components or devices.
[0205] The processor 840 may include an intelligent hardware device (e.g., a general-purpose processor, a DSP, a CPU, a microcontroller, an ASIC, an FPGA, a programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof). In some cases, the processor 840 may be configured to operate a memory array using a memory controller. In some other cases, the memory controller may be integrated into the processor 840. The processor 840 may be configured to execute computer-readable instructions stored in a memory (e.g., a memory 830) to cause the device 805 to perform various functions (e.g., functions or tasks supporting techniques for generating and using longer LDPC codewords). For example, the device 805 or a component of the device 805 may include a processor 840 and a memory 830 coupled to or coupled to the processor 840, the processor 840 and the memory 830 being configured to perform the various functions described herein.
[0206] The inter-station communication manager 845 can manage communications with other APs 102 and can include a controller or scheduler for controlling communications with STAs 104 in cooperation with other APs 102. For example, the inter-station communication manager 845 can coordinate the scheduling of transmissions to the APs 102 to implement various interference mitigation techniques such as beamforming or joint transmission. In some examples, the inter-station communication manager 845 can provide an X2 interface within an LTE / LTE-A wireless communication network technology to provide communication between APs 102.
[0207] According to examples disclosed herein, the communication manager 820 can support wireless communications at a first wireless device. For example, the communication manager 820 can be configured to or otherwise support means for performing an LDPC encoding operation on a set of multiple input bits, the LDPC encoding operation on the input bits producing a set of multiple output bits arranged in a set of multiple codewords, the set of multiple codewords including one or more codewords each having a first codeword length and one or more codewords each having a second codeword length that is shorter than the first codeword length. The communication manager 820 can be configured to or otherwise support means for arranging the set of multiple codewords into a set of multiple symbols such that a temporally last symbol of the set of multiple symbols includes at least a portion of the one or more codewords each having the second codeword length and does not include a codeword having the first codeword length. The communication manager 820 can be configured to or otherwise support means for transmitting the set of multiple symbols to a second wireless device.
[0208] Additionally or alternatively, according to examples disclosed herein, the communication manager 820 can support wireless communications at a first wireless device. For example, the communication manager 820 can be configured to or otherwise support means for performing an LDPC encoding operation on a set of multiple input bits, the LDPC encoding operation on the input bits producing a set of multiple output bits arranged in one or more codewords, the one or more codewords having a codeword length associated with a size of a RU that satisfies a first threshold, a modulation and coding scheme index of the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol that satisfies a third threshold, or any combination thereof. The communication manager 820 can be configured to or otherwise support means for arranging the one or more codewords into a set of multiple symbols including one or more padding symbols after forward error correction. The communication manager 820 can be configured to or otherwise support means for transmitting the set of multiple symbols with a header indicating the number of the one or more padding symbols to a second wireless device via the RU.
[0209] Additionally or alternatively, according to examples disclosed herein, the communication manager 820 can support wireless communication at a second wireless device. For example, the communication manager 820 can be configured to or otherwise support means for receiving, from a first wireless device, a set of multiple symbols comprising a set of multiple input bits, the set of multiple input bits encoded using an LDPC operation and arranged into a set of multiple codewords, the set of multiple codewords comprising one or more codewords each having a first codeword length and one or more codewords each having a second codeword length that is longer than the first codeword length. The communication manager 820 can be configured to or otherwise support means for decoding the set of multiple symbols comprising one or more codewords having the first codeword length and one or more codewords having the second codeword length to obtain the set of multiple input bits, in association with the last symbol in the set of multiple symbols comprising one or more codewords having the second codeword length but not including a codeword having the first codeword length.
[0210] Additionally or alternatively, according to examples as disclosed herein, the communication manager 820 can support wireless communications at a second wireless device. For example, the communication manager 820 can be configured to or otherwise support means for receiving, from a first wireless device, a set of multiple symbols having a header indicating a number of one or more padding symbols included after forward error correction. The communication manager 820 can be configured to or otherwise support means for decoding a set of multiple symbols comprising one or more codewords encoded using an LDPC encoding operation and the number of one or more padding symbols, a codeword length of the one or more codewords associated with a RU size that satisfies a first threshold, a modulation and coding scheme index for the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol in the set of multiple symbols that satisfies a third threshold, or any combination thereof.
[0211] By including or configuring the communication manager 820 according to examples as described herein, the device 805 can support techniques for improved communication reliability associated with increased channel gain and reduced puncturing of LDPC codes.
[0212] Figure 9 A schematic diagram of a system including a device 905 that supports techniques for generating and using longer LDPC codewords according to one or more aspects of the present disclosure is shown. Device 905 can be an example of, or include a component of, device 505, device 605, or STA as described herein. Device 905 may include components for two-way voice and data communication, including components for sending and receiving communications, such as a communication manager 920, an I / O controller 910, a transceiver 915, an antenna 925, a memory 930, code 935, and a processor 940. These components may be in electronic communication or otherwise coupled (e.g., operatively, communicatively, functionally, electronically, electrically) via one or more buses (e.g., bus 945).
[0213] I / O controller 910 can manage input and output signals for device 905. I / O controller 910 can also manage peripheral devices that are not integrated into device 905. In some cases, I / O controller 910 can represent a physical connection or port to an external peripheral device. In some cases, I / O controller 910 can utilize a computer such as , or another known operating system. In some other cases, I / O controller 910 may represent or interact with a modem, keyboard, mouse, touch screen, or similar device. In some cases, I / O controller 910 may be implemented as part of a processor (e.g., processor 940). In some cases, a user may interact with device 905 via I / O controller 910 or via hardware components controlled by I / O controller 910.
[0214] In some cases, the device 905 may include a single antenna 925. However, in some other cases, the device 905 may have more than one antenna 925, which are capable of sending or receiving multiple wireless transmissions simultaneously. The transceiver 915 can communicate bidirectionally via one or more antennas 925, wired or wireless links as described herein. For example, the transceiver 915 can represent a wireless transceiver and can communicate bidirectionally with another wireless transceiver. The transceiver 915 can also include a modem for modulating packets and providing the modulated packets to one or more antennas 925 for transmission, and for demodulating packets received from one or more antennas 925. The transceiver 915 or the transceiver 915 and one or more antennas 925 can be examples of transmitters 515, transmitters 615, receivers 510, receivers 610, or any combination thereof, or components thereof as described herein.
[0215] The memory 930 may include RAM and ROM. The memory 930 may store computer-readable, computer-executable code 935, which includes instructions that, when executed by the processor 940, cause the device 905 to perform the various functions described herein. In some cases, the memory 930 may contain a BIOS, etc., which may control basic hardware or software operations, such as interaction with peripheral components or devices.
[0216] The processor 940 may include an intelligent hardware device (e.g., a general-purpose processor, a DSP, a CPU, a microcontroller, an ASIC, an FPGA, a programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof). In some cases, the processor 940 may be configured to operate a memory array using a memory controller. In some other cases, the memory controller may be integrated into the processor 940. The processor 940 may be configured to execute computer-readable instructions stored in a memory (e.g., a memory 930) to cause the device 905 to perform various functions (e.g., functions or tasks supporting techniques for generating and using longer LDPC codewords). For example, the device 905 or a component of the device 905 may include a processor 940 and a memory 930 coupled to or coupled to the processor 940, the processor 940 and the memory 930 being configured to perform the various functions described herein.
[0217] According to examples disclosed herein, the communication manager 920 can support wireless communications at a first wireless device. For example, the communication manager 920 can be configured to or otherwise support means for performing an LDPC encoding operation on a set of multiple input bits, the LDPC encoding operation on the input bits producing a set of multiple output bits arranged in a set of multiple codewords, the set of multiple codewords including one or more codewords each having a first codeword length and one or more codewords each having a second codeword length that is shorter than the first codeword length. The communication manager 920 can be configured to or otherwise support means for arranging the set of multiple codewords into a set of multiple symbols such that a temporally last symbol of the set of multiple symbols includes at least a portion of the one or more codewords each having the second codeword length and does not include a codeword having the first codeword length. The communication manager 920 can be configured to or otherwise support means for transmitting the set of multiple symbols to a second wireless device.
[0218] Additionally or alternatively, according to examples disclosed herein, the communication manager 920 can support wireless communications at a first wireless device. For example, the communication manager 920 can be configured to or otherwise support means for performing an LDPC encoding operation on a set of multiple input bits, the LDPC encoding operation on the input bits producing a set of multiple output bits arranged in one or more codewords, the one or more codewords having a codeword length associated with a size of a RU that satisfies a first threshold, a modulation and coding scheme index of the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol that satisfies a third threshold, or any combination thereof. The communication manager 920 can be configured to or otherwise support means for arranging the one or more codewords into a set of multiple symbols including one or more padding symbols after forward error correction. The communication manager 920 can be configured to or otherwise support means for transmitting the set of multiple symbols with a header indicating the number of the one or more padding symbols to a second wireless device via the RU.
[0219] Additionally or alternatively, according to examples disclosed herein, the communication manager 920 can support wireless communication at a second wireless device. For example, the communication manager 920 can be configured to or otherwise support means for receiving, from a first wireless device, a set of multiple symbols comprising a set of multiple input bits, the set of multiple input bits being encoded using an LDPC operation and arranged into a set of multiple codewords, the set of multiple codewords comprising one or more codewords each having a first codeword length and one or more codewords each having a second codeword length that is longer than the first codeword length. The communication manager 920 can be configured to or otherwise support means for decoding the set of multiple symbols comprising one or more codewords having the first codeword length and one or more codewords having the second codeword length to obtain the set of multiple input bits, in association with the last symbol in the set of multiple symbols comprising one or more codewords having the second codeword length but not including a codeword having the first codeword length.
[0220] Additionally or alternatively, according to examples as disclosed herein, the communication manager 920 can support wireless communications at a second wireless device. For example, the communication manager 920 can be configured to or otherwise support means for receiving, from a first wireless device, a set of multiple symbols having a header indicating a number of one or more padding symbols included after forward error correction. The communication manager 920 can be configured to or otherwise support means for decoding a set of multiple symbols comprising one or more codewords encoded using an LDPC encoding operation and the number of one or more padding symbols, a codeword length of the one or more codewords associated with a RU size that satisfies a first threshold, a modulation and coding scheme index for the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol in the set of multiple symbols that satisfies a third threshold, or any combination thereof.
[0221] By including or configuring the communication manager 920 according to examples as described herein, the device 905 can support techniques for improved communication reliability due to reduced puncturing and increased gain of LDPC codes.
[0222] Figure 10 A flowchart illustrating a method 1000 for supporting techniques for generating and using longer LDPC codewords according to one or more aspects of the present disclosure is shown. The operations of the method 1000 may be implemented by an AP or STA or components thereof as described herein. For example, the operations of the method 1000 may be implemented by an AP or STA as described herein. Figures 1-9 The AP or STA described herein performs. In some examples, the AP or STA may execute a set of instructions to control functional elements of the AP or STA to perform the described functions. Additionally or alternatively, the AP or STA may use dedicated hardware to perform various aspects of the described functions.
[0223] At 1005, the method may include performing an LDPC encoding operation on a set of multiple input bits, wherein the LDPC encoding operation on the input bits generates a set of multiple output bits arranged in a set of multiple codewords, the set of multiple codewords including one or more codewords each having a first codeword length and one or more codewords each having a second codeword length that is shorter than the first codeword length. The operation of 1005 may be performed according to the examples disclosed herein. In some examples, various aspects of the operation of 1005 may be performed by the LDPC encoding component 725 as described in reference 7.
[0224] At 1010, the method may include arranging the set of multiple codewords into a set of multiple symbols such that a temporally last symbol of the set of multiple symbols includes at least a portion of one or more codewords each having a second codeword length and does not include a codeword having a first codeword length. The operations of 1010 may be performed according to examples as disclosed herein. In some examples, aspects of the operations of 1010 may be performed as described with reference to Figure 7 The described codeword arrangement component 730 is performed.
[0225] At 1015, the method may include sending a set of multiple symbols to a second wireless device. The operations of 1015 may be performed according to examples as disclosed herein. In some examples, aspects of the operations of 1015 may be performed as described with reference to Figure 7 The symbol sending component 735 described is executed.
[0226] Figure 11 A flowchart illustrating a method 1100 for supporting techniques for generating and using longer LDPC codewords according to one or more aspects of the present disclosure is shown. The operations of the method 1100 may be implemented by an AP or STA or components thereof as described herein. For example, the operations of the method 1100 may be implemented by an AP or STA as described herein. Figures 1-9 The AP or STA described herein performs. In some examples, the AP or STA may execute a set of instructions to control functional elements of the AP or STA to perform the described functions. Additionally or alternatively, the AP or STA may use dedicated hardware to perform various aspects of the described functions.
[0227] At 1105, the method may include performing an LDPC encoding operation on a set of multiple input bits, wherein performing the LDPC encoding operation on the input bits produces a set of multiple output bits arranged in one or more codewords, the one or more codewords having a codeword length associated with a size of an RU that satisfies a first threshold, a modulation and coding scheme index of the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol that satisfies a third threshold, or any combination thereof. The operations of 1105 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 1105 may be performed by the LDPC encoding component 725 as described with reference to 7.
[0228] At 1110, the method may include arranging one or more codewords into a set of multiple symbols including one or more filler symbols after forward error correction. The operations of 1110 may be performed according to examples as disclosed herein. In some examples, aspects of the operations of 1110 may be performed as described with reference to Figure 7 The described codeword arrangement component 730 is performed.
[0229] At 1115, the method may include sending a set of multiple symbols having a header indicating a number of one or more filler symbols to a second wireless device via the RU. The operations of 1115 may be performed according to examples as disclosed herein. In some examples, aspects of the operations of 1115 may be performed as described with reference to Figure 7 The symbol sending component 735 described is executed.
[0230] Figure 12 A flowchart illustrating a method 1200 for supporting techniques for generating and using longer LDPC codewords according to one or more aspects of the present disclosure is shown. The operations of the method 1200 may be implemented by an AP or STA or components thereof as described herein. For example, the operations of the method 1200 may be implemented by an AP or STA or components thereof as described herein. Figures 1-9 The AP or STA described herein performs. In some examples, the AP or STA may execute a set of instructions to control functional elements of the AP or STA to perform the described functions. Additionally or alternatively, the AP or STA may use dedicated hardware to perform various aspects of the described functions.
[0231] At 1205, the method may include receiving, from a first wireless device, a set of multiple symbols comprising a set of multiple input bits, the set of multiple input bits encoded using an LDPC operation and arranged into a set of multiple codewords, the set of multiple codewords including one or more codewords each having a first codeword length and one or more codewords each having a second codeword length longer than the first codeword length. The operations of 1205 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 1205 may be performed as described with reference to Figure 7 The symbol receiving component 740 described above is executed.
[0232] At 1210, the method may include decoding a set of multiple symbols including one or more codewords having a first codeword length and one or more codewords having a second codeword length, in association with a last symbol in the set of multiple symbols including one or more codewords having a second codeword length and not including a codeword having a first codeword length, to obtain a set of multiple input bits. The operations of 1210 may be performed according to examples as disclosed herein. In some examples, aspects of the operations of 1210 may be implemented as described with reference to Figure 7 The decoding component 745 described above is performed.
[0233] Figure 13 A flowchart illustrating a method 1300 for supporting techniques for generating and using longer LDPC codewords according to one or more aspects of the present disclosure is shown. The operations of the method 1300 may be implemented by an AP or STA or components thereof as described herein. For example, the operations of the method 1300 may be implemented by an AP or STA as described herein. Figures 1-9The AP or STA described herein performs. In some examples, the AP or STA may execute a set of instructions to control functional elements of the AP or STA to perform the described functions. Additionally or alternatively, the AP or STA may use dedicated hardware to perform various aspects of the described functions.
[0234] At 1305, the method may include receiving, from a first wireless device, a set of a plurality of symbols having a header indicating a number of one or more padding symbols included after forward error correction. The operations of 1305 may be performed according to examples as disclosed herein. In some examples, aspects of the operations of 1305 may be performed as described with reference to Figure 7 The symbol receiving component 740 described above is executed.
[0235] At 1310, the method may include decoding a set of multiple symbols, the set of multiple symbols including one or more codewords encoded using an LDPC encoding operation and the number of one or more padding symbols, a codeword length of the one or more codewords associated with a size of an RU that satisfies a first threshold, a modulation and coding scheme index for the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol in the set of multiple symbols that satisfies a third threshold, or any combination thereof. The operations of 1310 may be performed according to examples as disclosed herein. In some examples, aspects of the operations of 1310 may be performed by as described with reference to Figure 7 The decoding component 745 described above is performed.
[0236] It should be noted that the methods described herein describe possible implementations, and that operations and steps may be rearranged or otherwise modified, and that other implementations are possible. Furthermore, aspects from two or more methods may be combined.
[0237] The following provides an overview of various aspects of the disclosure:
[0238] Aspect 1: A method for wireless communication at a first wireless device, comprising: performing a low-density parity check (LDPC) encoding operation on a plurality of input bits, performing the LDPC encoding operation on the plurality of input bits to produce a plurality of output bits arranged in a plurality of codewords, the plurality of codewords including one or more codewords each having a first codeword length and one or more codewords each having a second codeword length shorter than the first codeword length; arranging the plurality of codewords into a plurality of symbols such that a temporally last symbol of the plurality of symbols includes at least a portion of the one or more codewords having the second codeword length and does not include a codeword having the first codeword length; and transmitting the plurality of symbols to a second wireless device.
[0239] Aspect 2: The method according to Aspect 1 further includes: in association with the ratio of the first codeword length to the second codeword length, including a first number of shortened bits in each codeword having the first codeword length and including a second number of shortened bits in each codeword having the second codeword length, the first number of shortened bits being greater than the second number of shortened bits; and in association with the ratio of the first codeword length to the second codeword length, puncturing a first part of each codeword having the first codeword length and a second part of each codeword having the second codeword length.
[0240] Aspect 3: The method according to any one of Aspects 1 to 2 further includes: in association with the number of codewords having the second codeword length, including shortening bits in each codeword having the second codeword length but not in any codeword having the first codeword length; and in association with the number of codewords having the second codeword length, puncturing a portion of each codeword having the second codeword length but not puncturing any codeword having the first codeword length.
[0241] Aspect 4: The method according to any one of Aspects 1 to 3 further includes: in association with the number of codewords forming the multiple symbols, including a first number of shortened bits in each codeword with the first codeword length, and including a second number of shortened bits in each codeword with the second codeword length, the first number of shortened bits and the second number of shortened bits being within a threshold difference of shortened bits; and in association with the number of codewords and the threshold difference, puncturing a portion of each codeword with the first codeword length and a portion of each codeword with the second codeword length.
[0242] Aspect 5: The method according to any one of Aspects 1 to 4 further includes: in association with the number of codewords having the first codeword length, including shortening bits in each codeword having the first codeword length but not in any codeword having the second codeword length; and in association with the number of codewords having the first codeword length, puncturing a portion of each codeword having the first codeword length but not puncturing any codeword having the second codeword length.
[0243] Aspect 6: The method according to any one of Aspects 1 to 5 further includes: in association with a first number of codewords having the second codeword length, including shortening bits in each codeword having the second codeword length but not in any codeword having the first codeword length; and in association with a second number of codewords having the first codeword length, puncturing a portion of each codeword having the first codeword length without puncturing any codeword having the second codeword length.
[0244] Aspect 7: A method according to any one of Aspects 1 to 6, wherein performing the LDPC encoding operation includes: encoding a first portion of the multiple input bits using a first code rate to generate the one or more codewords having the first codeword length; and encoding a second portion of the multiple input bits using a second code rate less than the first code rate to generate the one or more codewords having the second codeword length.
[0245] Aspect 8: A method according to any one of aspects 1 to 7, wherein sending the multiple symbols includes: sending a packet associated with avoiding puncturing the multiple codewords, the packet including the multiple symbols and a header indicating the number of additional symbols in the packet.
[0246] Aspect 9: The method according to any one of aspects 1 to 8 further includes: selecting the first codeword length and the second codeword length in association with the number of the plurality of input bits that meets a threshold.
[0247] Aspect 10: The method according to any one of Aspects 1 to 9 further includes: calculating the number of coded bits to be carried in the last symbol, the number of symbols assigned to the multiple symbols, and the number of available coded bits based at least in part on the number of the multiple input bits, the resource unit size, the modulation and coding scheme, the symbol boundary of the last symbol, or any combination thereof.
[0248] Aspect 11: The method according to Aspect 10 also includes: selecting the second codeword length, wherein the second codeword length is associated with the number of encoded bits to be carried in the last symbol, the number of symbols assigned to the multiple symbols, and the number of available encoded bits.
[0249] Aspect 12: The method according to aspect 11, further comprising: selecting the first codeword length in association with a difference between the number of available coded bits and the second codeword length.
[0250] Aspect 13: The method according to any one of Aspects 1 to 12 also includes: selecting the first codeword length at least in part based on the difference between the total number of encoded blocks to be used to send the multiple symbols and the sub-number of encoded blocks to be sent in the last symbol.
[0251] Aspect 14: A method for wireless communication at a first wireless device, comprising: performing a low-density parity check (LDPC) encoding operation on a plurality of input bits, performing the LDPC encoding operation on the plurality of input bits to produce a plurality of output bits arranged in one or more codewords, the one or more codewords having a codeword length associated with a size of a resource unit that satisfies a first threshold, a modulation and coding scheme index for the LDPC encoding operation that satisfies a second threshold, a number of coded bits per symbol that satisfies a third threshold, or any combination thereof; arranging the one or more codewords into a plurality of symbols including one or more padding symbols after forward error correction; and sending the plurality of symbols with a header indicating the number of the one or more padding symbols to a second wireless device via the resource unit.
[0252] Aspect 15: A method according to Aspect 14, wherein arranging the one or more codewords includes: filling the multiple symbols with a first number of symbols associated with the size of the resource unit that meets the threshold or a second number of symbols associated with the size of the resource unit that does not meet the threshold.
[0253] Aspect 16: The method according to any one of aspects 14 to 15, wherein the number of symbols used to fill the plurality of symbols is associated with the number of coded bits per symbol.
[0254] Aspect 17: The method according to any one of aspects 14 to 16, wherein the codeword length is greater than 1944 bits.
[0255] Aspect 18: A method for performing wireless communications at a second wireless device, comprising: receiving a plurality of symbols including a plurality of input bits from a first wireless device, the plurality of input bits being encoded using a low-density parity check (LDPC) operation and arranged into a plurality of codewords, the plurality of codewords including one or more codewords each having a first codeword length and one or more codewords each having a second codeword length longer than the first codeword length; and in association with a last symbol of the plurality of symbols including one or more codewords having the second codeword length but not including a codeword having the first codeword length, decoding the plurality of symbols including the one or more codewords having the first codeword length and the one or more codewords having the second codeword length to obtain the plurality of input bits.
[0256] Aspect 19: A method according to aspect 18, wherein decoding the multiple symbols includes: decoding the one or more codewords with the first codeword length and the one or more codewords with the second codeword length in association with a first number of shortened bits in the one or more codewords with the first codeword length and a second number of shortened bits with the second codeword length, the first number of shortened bits being associated with a ratio of the first codeword length to the second codeword length and proportional to the second number of shortened bits; and decoding the one or more codewords with the first codeword length and the one or more codewords with the second codeword length in association with puncturing the one or more codewords with the first codeword length and the one or more codewords with the second codeword length according to the ratio of the first codeword length to the second codeword length.
[0257] Aspect 20: A method according to any one of Aspects 18 to 19, wherein decoding the multiple symbols includes: decoding the one or more codewords with the first codeword length and the one or more codewords with the second codeword length in association with the one or more codewords with the second codeword length including shortening bits and the one or more codewords with the first codeword length not including shortening bits; and decoding the one or more codewords with the first codeword length and the one or more codewords with the second codeword length in association with the one or more codewords with the second codeword length being punctured and the one or more codewords with the first codeword length not being punctured.
[0258] Aspect 21: A method according to any one of Aspects 18 to 20, wherein decoding the multiple symbols includes: decoding the one or more codewords having the first codeword length and the one or more codewords having the second codeword length in association with a first number of shortened bits in the one or more codewords having the first codeword length and a second number of shortened bits in the one or more codewords having the second codeword length, the first number of shortened bits and the second number of shortened bits being within a threshold difference; and decoding the one or more codewords having the first codeword length and the one or more codewords having the second codeword length in association with a first number of punctured bits in the one or more codewords having the first codeword length and a second number of punctured bits in the one or more codewords having the second codeword length, the first number of punctured bits and the second number of punctured bits being within the threshold difference.
[0259] Aspect 22: A method according to any one of Aspects 18 to 21, wherein decoding the multiple symbols includes: decoding the one or more codewords having the first codeword length and the one or more codewords having the second codeword length in association with the shortening bit being included in the one or more codewords having the first codeword length and not being included in the one or more codewords having the second codeword length; and decoding the one or more codewords having the first codeword length and the one or more codewords having the second codeword length in association with the one or more codewords having the first codeword length being punctured and the one or more codewords having the second codeword length not being punctured.
[0260] Aspect 23: A method according to any one of Aspects 18 to 22, wherein decoding the multiple symbols includes: decoding the one or more codewords having the second codeword length in association with the shortening bit being included in the one or more codewords having the second codeword length and not included in the one or more codewords having the first codeword length; and decoding the one or more codewords having the first codeword length in association with the one or more codewords having the first codeword length being punctured and the one or more codewords having the second codeword length not being punctured.
[0261] Aspect 24: A method according to any one of Aspects 18 to 23, wherein decoding the multiple symbols includes: decoding the one or more codewords having the first codeword length using a first code rate to obtain a first portion of the multiple input bits; and decoding the one or more codewords having the second codeword length using a second code rate less than the first code rate to obtain a second portion of the multiple input bits.
[0262] Aspect 25: The method of any one of aspects 18 to 24, wherein receiving the plurality of symbols comprises receiving a packet associated with the plurality of codewords not being punctured, the packet comprising the plurality of symbols and a header indicating a number of additional symbols in the packet.
[0263] Aspect 26: A method for wireless communication at a second wireless device, comprising: receiving a plurality of symbols having a header indicating a number of one or more padding symbols included after forward error correction from a first wireless device; and decoding the plurality of symbols comprising one or more codewords encoded using a low-density parity check (LDPC) encoding operation and the number of the one or more padding symbols, wherein a codeword length of the one or more codewords is associated with a size of a resource unit satisfying a first threshold, a modulation and coding scheme index for the LDPC encoding operation satisfying a second threshold, a number of coded bits per symbol in the plurality of symbols satisfying a third threshold, or any combination thereof.
[0264] Aspect 27: The method of aspect 26, wherein the number of symbols used to fill the plurality of symbols is associated with the number of coded bits per symbol.
[0265] Aspect 28: The method according to any one of aspects 26 to 27, wherein the codeword length is greater than 1944 bits.
[0266] Aspect 29: An apparatus for wireless communication at a first wireless device, comprising: a processor; a memory coupled to the processor and storing instructions, the instructions being executable by the processor to cause the apparatus to perform a method according to any one of aspects 1 to 13.
[0267] Aspect 30: An apparatus for wireless communication at a first wireless device, comprising at least one means for performing the method according to any one of aspects 1 to 13.
[0268] Aspect 31: A non-transitory computer-readable medium storing code for wireless communication at a first wireless device, the code comprising instructions executable by a processor to perform the method of any one of aspects 1 to 13.
[0269] Aspect 32: An apparatus for wireless communication at a first wireless device, comprising: a processor; a memory coupled to the processor and storing instructions, the instructions being executable by the processor to cause the apparatus to perform the method according to any one of aspects 14 to 17.
[0270] Aspect 33: An apparatus for wireless communication at a first wireless device, comprising at least one means for performing the method according to any one of aspects 14 to 17.
[0271] Aspect 34: A non-transitory computer-readable medium storing code for wireless communication at a first wireless device, the code comprising instructions executable by a processor to perform the method according to any one of aspects 14 to 17.
[0272] Aspect 35: An apparatus for wireless communication at a second wireless device, comprising: a processor; a memory coupled to the processor and storing instructions; the instructions being executable by the processor to cause the apparatus to perform a method according to any one of aspects 18 to 25.
[0273] Aspect 36: An apparatus for wireless communication at a second wireless device, comprising at least one means for performing the method according to any one of aspects 18 to 25.
[0274] Aspect 37: A non-transitory computer-readable medium storing code for wireless communication at a second wireless device, the code comprising instructions executable by a processor to perform the method of any one of aspects 18 to 25.
[0275] Aspect 38: An apparatus for wireless communication at a second wireless device, comprising: a processor; a memory coupled to the processor and storing instructions; the instructions being executable by the processor to cause the apparatus to perform a method according to any one of aspects 26 to 28.
[0276] Aspect 39: An apparatus for wireless communication at a second wireless device, comprising at least one means for performing the method according to any one of aspects 26 to 28.
[0277] Aspect 40: A non-transitory computer-readable medium storing code for wireless communication at a second wireless device, the code comprising instructions executable by a processor to perform the method of any one of aspects 26 to 28.
[0278] The technology described herein can be used in various wireless communication systems, such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal frequency division multiple access (OFDMA), single carrier frequency division multiple access (SC-FDMA), and other systems. The terms "system" and "network" are often used interchangeably. A code division multiple access (CDMA) system can implement radio technologies such as CDMA2000, Universal Terrestrial Radio Access (UTRA), and the like. CDMA2000 covers the IS-2000, IS-95, and IS-856 standards. IS-2000 versions are generally referred to as CDMA2000 1X, 1X, and the like. IS-856 (TIA-856) is generally referred to as CDMA2000 1xEV-DO, High Rate Packet Data (HRPD), and the like. UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA. A time division multiple access (TDMA) system can implement radio technologies such as Global System for Mobile Communications (GSM). An Orthogonal Frequency Division Multiple Access (OFDMA) system may implement radio technologies such as Ultra Mobile Broadband (UMB), Evolved UTRA (E-UTRA), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash OFDM, and so on.
[0279] One or more wireless communication systems described herein may support synchronous or asynchronous operation. For synchronous operation, stations may have similar frame timing, and transmissions from different stations may be approximately aligned in time. For asynchronous operation, stations may have different frame timing, and transmissions from different stations may not be aligned in time. The techniques described herein may be used for either synchronous or asynchronous operation.
[0280] Downlink transmissions described herein may also be referred to as forward link transmissions, and uplink transmissions may also be referred to as reverse link transmissions. Each communication link described herein (including, for example, Figure 1 and Figure 2 The wireless communication network 100 and the wireless communication system 200 may include one or more carriers, where each carrier may be a signal composed of multiple subcarriers (eg, waveform signals of different frequencies).
[0281] The description set forth herein in conjunction with the accompanying drawings describes example configurations and does not represent all examples that can be implemented or within the scope of the claims. The term "exemplary" as used herein means "serving as an example, instance, or illustration," rather than "preferred" or "having advantages over other examples." For the purpose of providing an understanding of the described techniques, the detailed description includes specific details. However, these techniques can be practiced without these specific details. In some cases, to avoid obscuring the concepts of the described examples, well-known structures and devices are shown in block diagram form.
[0282] In the drawings, similar components or features may have the same reference number. In addition, various components of the same type may be distinguished by following the reference number with a dash and a second reference number to distinguish between similar components. If only the first reference number is used in the specification, the description applies to any similar component having the same first reference number, regardless of the second reference number.
[0283] The information and signals described herein may be represented using any of a variety of different techniques and methods. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referred to throughout the specification may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
[0284] The various illustrative blocks and modules described in connection with the disclosure herein may be implemented or executed using a general purpose processor, a DSP, an ASIC, an FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration).
[0285] The functions described herein can be implemented using hardware, software executed by a processor, firmware, or any combination thereof. If implemented using software executed by a processor, the functions can be stored on or transmitted via a computer-readable medium as one or more instructions or codes. Other examples and implementations are within the scope of this disclosure and the appended claims. For example, due to the nature of software, the functions described herein can be implemented using software executed by a processor, hardware, firmware, hardwiring, or a combination of any of these. The features that implement the functions can also be physically located at various locations, including being distributed so that the various parts of the functions are implemented at different physical locations. In addition, as used herein (including in the claims), "or" as used in a list of items (e.g., a list of items ending with "at least one of" or "one or more of") indicates an inclusive list, so that, for example, a list of at least one of A, B, or C means: A or B or C or AB or AC or BC or ABC (that is, A and B and C). In addition, as used herein, the phrase "based on" should not be interpreted as a reference to a closed set of conditions. For example, exemplary steps described as "based on condition A" can be based on both condition A and condition B without departing from the scope of the present disclosure. In other words, as used herein, the phrase "based on" should be interpreted in the same manner as the phrase "based at least in part on."
[0286] Computer readable medium includes both non-transitory computer storage medium and communication medium, and communication medium includes any medium that promotes to transmit computer program from one place to another place.Non-transitory storage medium can be any available medium that can be accessed by general-purpose computer or special-purpose computer.By way of example and not limitation, non-transitory computer readable medium can include RAM, ROM, electrically erasable programmable read-only memory (EEPROM), compact disc (CD) ROM or other optical disc storage, disk storage or other magnetic storage device, or can be used for carrying or storing the program code unit with the expectation of instruction or data structure form and can be accessed by general or special purpose computer or general or special purpose processor any other non-transitory medium.In addition, any connection is appropriately referred to as computer readable medium.For example, if software is to be sent from website, server or other remote source using coaxial cable, optical fiber cable, twisted pair, digital subscriber line (DSL) or wireless technology such as infrared, radio and microwave, then coaxial cable, optical fiber cable, twisted pair, digital subscriber line (DSL) or wireless technology such as infrared, radio and microwave are included in the definition of medium. As used herein, disk and disc include CD, laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, wherein disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of computer-readable media.
[0287] The description herein is provided to enable those skilled in the art to implement or use the present disclosure. Various modifications to the present disclosure will be apparent to those skilled in the art, and the overall principles defined herein may be applied to other variations without departing from the scope of the present disclosure. Therefore, the present disclosure is not limited to the examples and designs described herein, but is intended to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. An apparatus for wireless communication at a first wireless device, comprising: processor; as well as a memory coupled to the processor and storing instructions, the instructions being executable by the processor to cause the apparatus to: performing a low-density parity-check encoding operation on a plurality of input bits, the low-density parity-check encoding operation on the plurality of input bits generating a plurality of output bits arranged in a plurality of codewords, the plurality of codewords comprising one or more codewords each having a first codeword length and one or more codewords each having a second codeword length shorter than the first codeword length; arranging the plurality of codewords into a plurality of symbols such that a temporally last symbol of the plurality of symbols includes at least a portion of the one or more codewords having the second codeword length and does not include a codeword having the first codeword length; and The plurality of symbols is transmitted to a second wireless device.
2. The device according to claim 1, wherein The instructions are further executable by the processor to cause the device to perform the following operations: In association with a ratio of the first codeword length to the second codeword length, including a first number of shortened bits in each codeword having the first codeword length and including a second number of shortened bits in each codeword having the second codeword length, the first number of shortened bits being greater than the second number of shortened bits; as well as A first portion of each codeword having the first codeword length and a second portion of each codeword having the second codeword length are punctured in association with a ratio of the first codeword length to the second codeword length.
3. The device according to claim 1, wherein The instructions are further executable by the processor to cause the device to perform the following operations: In association with the number of codewords having the second codeword length, including a shortening bit in each codeword having the second codeword length but not in any codeword having the first codeword length; and A portion of each codeword having the second codeword length is punctured in association with the number of the codewords having the second codeword length, but no codeword having the first codeword length is punctured.
4. The device according to claim 1, wherein The instructions are further executable by the processor to cause the device to perform the following operations: In association with the number of codewords forming the plurality of symbols, a first number of shortened bits is included in each codeword having the first codeword length, and a second number of shortened bits is included in each codeword having the second codeword length, the first number of shortened bits and the second number of shortened bits being within a threshold difference of shortened bits; and In association with the number of codewords and the threshold difference, a portion of each codeword having the first codeword length and a portion of each codeword having the second codeword length are punctured.
5. The device according to claim 1, wherein The instructions are further executable by the processor to cause the device to perform the following operations: associated with the number of codewords having the first codeword length, including a shortening bit in each codeword having the first codeword length but not in any codeword having the second codeword length; and A portion of each codeword having the first codeword length is punctured in association with the number of codewords having the first codeword length, but no codeword having the second codeword length is punctured.
6. The device according to claim 1, wherein The instructions are further executable by the processor to cause the device to perform the following operations: associated with a first number of codewords having the second codeword length, including a shortening bit in each codeword having the second codeword length but not in any codeword having the first codeword length; and A portion of each codeword having the first codeword length is punctured in association with a second number of codewords having the first codeword length, but no codewords having the second codeword length are punctured.
7. The device according to claim 1, wherein The instructions for performing the low-density parity-check encoding operation are executable by the processor to cause the apparatus to: encoding a first portion of the plurality of input bits using a first code rate to generate the one or more codewords having the first codeword length; as well as A second portion of the plurality of input bits is encoded using a second code rate that is less than the first code rate to generate the one or more codewords having the second codeword length.
8. The device according to claim 1, wherein The instructions for sending the plurality of symbols are executable by the processor to cause the apparatus to send a packet associated with avoiding puncturing the plurality of codewords, the packet including the plurality of symbols and a header indicating a number of additional symbols in the packet.
9. The device according to claim 1, wherein The instructions are further executable by the processor to cause the apparatus to perform the following operations: selecting the first codeword length and the second codeword length in association with a number of the plurality of input bits that meets a threshold.
10. The device according to claim 1, wherein The instructions can also be executed by the processor to cause the device to perform the following operations: calculate the number of coded bits to be carried in the last symbol, the number of symbols assigned to the multiple symbols, and the number of available coded bits in association with the number of the multiple input bits, the resource unit size, the modulation and coding scheme, the symbol boundary of the last symbol, or any combination thereof.
11. The device according to claim 10, wherein The instructions are also executable by the processor to cause the device to perform the following operations: select the second codeword length, the second codeword length being associated with the number of coded bits to be carried in the last symbol, the number of symbols assigned for the multiple symbols, and the number of available coded bits.
12. The device according to claim 11, wherein The instructions are also executable by the processor to cause the apparatus to select the first codeword length in association with a difference between the number of available encoded bits and the second codeword length.
13. The device according to claim 1, wherein The instructions are also executable by the processor to cause the apparatus to select the first codeword length associated with a difference between a total number of encoded blocks to be used to send the plurality of symbols and a subnumber of encoded blocks to be sent in the last symbol.
14. An apparatus for wireless communication at a first wireless device, comprising: processor; as well as a memory coupled to the processor and storing instructions, the instructions being executable by the processor to cause the apparatus to: performing a low density parity check encoding operation on a plurality of input bits, the low density parity check encoding operation on the plurality of input bits producing a plurality of output bits arranged in one or more codewords, the one or more codewords having a codeword length associated with a size of a resource unit that satisfies a first threshold, a modulation and coding scheme index for the low density parity check encoding operation that satisfies a second threshold, a number of coded bits per symbol that satisfies a third threshold, or any combination thereof; arranging the one or more codewords into a plurality of symbols including one or more padding symbols after forward error correction; as well as The plurality of symbols with a header indicating a number of the one or more filler symbols is transmitted to a second wireless device via the resource unit.
15. The device according to claim 14, wherein The instructions for arranging the one or more codewords are executable by the processor to cause the apparatus to perform the following operations: fill the plurality of symbols with a first number of symbols associated with the size of the resource unit that meets a threshold or a second number of symbols associated with the size of the resource unit that does not meet the threshold.
16. The device according to claim 14, wherein The number of symbols used to fill the plurality of symbols is associated with the number of coded bits per symbol.
17. The device according to claim 14, wherein The codeword length is greater than 1944 bits.
18. An apparatus for wireless communication at a second wireless device, comprising: processor; as well as a memory coupled to the processor and storing instructions, the instructions being executable by the processor to cause the apparatus to: receiving, from a first wireless device, a plurality of symbols comprising a plurality of input bits, the plurality of input bits encoded using a low-density parity-check operation and arranged into a plurality of codewords, the plurality of codewords comprising one or more codewords each having a first codeword length and one or more codewords each having a second codeword length that is longer than the first codeword length; and In association with a last symbol of the plurality of symbols including one or more codewords having the second codeword length but not including a codeword having the first codeword length, the plurality of symbols including the one or more codewords having the first codeword length and the one or more codewords having the second codeword length are decoded to obtain the plurality of input bits.
19. The device according to claim 18, wherein The instructions for decoding the plurality of symbols are executable by the processor to cause the apparatus to: decoding the one or more codewords having the first codeword length and the one or more codewords having the second codeword length in association with a first number of shortening bits in the one or more codewords having the first codeword length and a second number of shortening bits in the second codeword length, the first number of shortening bits being proportional to the second number of shortening bits in association with a ratio of the first codeword length to the second codeword length; as well as In association with the one or more codewords having the first codeword length and the one or more codewords having the second codeword length being punctured in a ratio of the first codeword length to the second codeword length, the one or more codewords having the first codeword length and the one or more codewords having the second codeword length are decoded.
20. The apparatus according to claim 18, wherein The instructions for decoding the plurality of symbols are executable by the processor to cause the apparatus to: decoding the one or more codewords of the first codeword length and the one or more codewords of the second codeword length in association with the one or more codewords of the second codeword length including shortening bits and the one or more codewords of the first codeword length not including shortening bits; as well as The one or more codewords having the first codeword length and the one or more codewords having the second codeword length are decoded in association with the one or more codewords having the second codeword length being punctured and the one or more codewords having the first codeword length being not punctured.
21. The apparatus according to claim 18, wherein The instructions for decoding the plurality of symbols are executable by the processor to cause the apparatus to: decoding the one or more codewords having the first codeword length and the one or more codewords having the second codeword length in association with a first number of shortened bits in the one or more codewords having the first codeword length and a second number of shortened bits in the one or more codewords having the second codeword length, the first number of shortened bits and the second number of shortened bits being within a threshold difference; and The one or more codewords having the first codeword length and the one or more codewords having the second codeword length are decoded in association with a first number of punctured bits in the one or more codewords having the first codeword length and a second number of punctured bits in the one or more codewords having the second codeword length, the first number of punctured bits and the second number of punctured bits being within the threshold difference.
22. The apparatus according to claim 18, wherein The instructions for decoding the plurality of symbols are executable by the processor to cause the apparatus to: decoding the one or more codewords having the first codeword length and the one or more codewords having the second codeword length in association with a shortening bit being included in the one or more codewords having the first codeword length and not included in the one or more codewords having the second codeword length; as well as The one or more codewords having the first codeword length and the one or more codewords having the second codeword length are decoded in association with the one or more codewords having the first codeword length being punctured and the one or more codewords having the second codeword length being not punctured.
23. The apparatus according to claim 18, wherein The instructions for decoding the plurality of symbols are executable by the processor to cause the apparatus to: decoding the one or more codewords having the second codeword length in association with a shortening bit being included in the one or more codewords having the second codeword length and not included in the one or more codewords having the first codeword length; as well as In association with the one or more codewords having the first codeword length being punctured and the one or more codewords having the second codeword length being not punctured, the one or more codewords having the first codeword length are decoded.
24. The apparatus according to claim 18, wherein The instructions for decoding the plurality of symbols are executable by the processor to cause the apparatus to: decoding the one or more codewords having the first codeword length using a first code rate to obtain a first portion of the plurality of input bits; as well as The one or more codewords having the second codeword length are decoded using a second code rate that is less than the first code rate to obtain a second portion of the plurality of input bits.
25. The apparatus according to claim 18, wherein The instructions for receiving the plurality of symbols are executable by the processor to cause the apparatus to receive a packet associated with the plurality of codewords not being punctured, the packet including the plurality of symbols and a header indicating a number of additional symbols in the packet.
26. An apparatus for wireless communication at a second wireless device, comprising: processor; as well as a memory coupled to the processor and storing instructions, the instructions being executable by the processor to cause the apparatus to: receiving, from the first wireless device, a plurality of symbols having a header indicating a number of one or more padding symbols to include after forward error correction; and The plurality of symbols comprising one or more codewords encoded using a low density parity check coding operation and the number of the one or more padding symbols are decoded, wherein a codeword length of the one or more codewords is associated with a size of a resource unit that satisfies a first threshold, a modulation and coding scheme index used for the low density parity check coding operation that satisfies a second threshold, a number of coded bits per symbol in the plurality of symbols that satisfies a third threshold, or any combination thereof.
27. The device according to claim 26, wherein The number of symbols used to fill the plurality of symbols is associated with the number of coded bits per symbol.
28. The apparatus according to claim 26, wherein The codeword length is greater than 1944 bits.