Nested cyclic redundancy check polynomials
Nested polynomials in wireless communication systems address the complexity issue by generating CRC bits efficiently, reducing hardware and power consumption while maintaining error detection, thereby lowering device complexity and cost.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- QUALCOMM INC
- Filing Date
- 2024-11-14
- Publication Date
- 2026-05-21
AI Technical Summary
Existing wireless communication systems face increased hardware and software complexity due to the use of different generator polynomials for varying CRC bit lengths, leading to higher costs and complexity in devices.
Implementing nested polynomials, where a first polynomial is nested within a second, and the second within a third, to generate CRC bits of different lengths, reducing the number of terms and taps, thereby reducing power consumption and device complexity while maintaining error detection efficiency.
The nested polynomial approach simplifies hardware requirements, reduces power consumption, and maintains error detection performance across different CRC lengths, thus lowering overall device complexity and cost.
Smart Images

Figure CN2024131929_21052026_PF_FP_ABST
Abstract
Description
NESTED CYCLIC REDUNDANCY CHECK POLYNOMIALS
[0001] FIELD OF TECHNOLOGY
[0002] The following relates to wireless communications, including nested cyclic redundancy check polynomials.BACKGROUND
[0003] Wireless communications systems are widely deployed to provide various types of communication content such as voice, video, packet data, messaging, broadcast, and so on. These systems may be capable of supporting communication with multiple users by sharing the available system resources (e.g., time, frequency, and power) . Examples of such multiple-access systems include fourth generation (4G) systems such as Long Term Evolution (LTE) systems, LTE-Advanced (LTE-A) systems, or LTE-A Pro systems, and fifth generation (5G) systems which may be referred to as New Radio (NR) systems. These systems may employ technologies such as code division multiple access (CDMA) , time division multiple access (TDMA) , frequency division multiple access (FDMA) , orthogonal FDMA (OFDMA) , or discrete Fourier transform spread orthogonal frequency division multiplexing (DFT-S-OFDM) . A wireless multiple-access communications system may include one or more base stations, each supporting wireless communication for communication devices, which may be known as user equipment (UE) .SUMMARY
[0004] Wireless networks may use cyclic redundancy check (CRC) bits to support error detection for transmissions of information bits. The quantity of CRC bits may be selected in association with the quantity of associated information bits (e.g., at the transport block (TB) level or codeblock segmentation level) . Different generator polynomials may be used for generating different length CRC bit lengths. Use of different CRC lengths by a same device may result in a device having different hardware or software functionality to generate each different CRC length, which may increase hardware cost and complexity. Accordingly, aspects of the techniques described herein provide for a nested polynomial that includes a first polynomial for generation of a 6 bit CRC that is nested in a second polynomial for generation of an 11 bit CRC that is nested in a third polynomial for generation of a 16 bit CRC. For example, a transmitting device may generate CRC bits associated with a set of information bits using a CRC generation function that includes the nested polynomials and taps to select the terms within the polynomial.
[0005] The systems, methods, and devices of this disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.
[0006] A method for wireless communications by a wireless communication device is described. The method may include generating a set of CRC bits associated with a set of information bits using a CRC generation function configured to generate a set of multiple CRC bit lengths, where the set of multiple CRC bit lengths include a six bit CRC length, an eleven bit CRC length, and a sixteen bit CRC length, where the CRC generation function includes a first polynomial nested within a second polynomial that is nested within a third polynomial, where the first polynomial is associated with the six bit CRC length, where the second polynomial is associated with the eleven bit CRC length, and where the third polynomial is associated with the sixteen bit CRC length, and where the first polynomial includes four or less terms and satisfies a probability of undetected error threshold and transmitting a TB that includes the set of information bits appended with the set of CRC bits.
[0007] A wireless communication device for wireless communications is described. The wireless communication device may include one or more memories storing processor executable code, and one or more processors coupled with the one or more memories. The one or more processors may individually or collectively be operable to execute the code to cause the wireless communication device to generate a set of CRC bits associated with a set of information bits using a CRC generation function configured to generate a set of multiple CRC bit lengths, where the set of multiple CRC bit lengths include a six bit CRC length, an eleven bit CRC length, and a sixteen bit CRC length, where the CRC generation function includes a first polynomial nested within a second polynomial that is nested within a third polynomial, where the first polynomial is associated with the six bit CRC length, where the second polynomial is associated with the eleven bit CRC length, and where the third polynomial is associated with the sixteen bit CRC length, and where the first polynomial includes four or less terms and satisfies a probability of undetected error threshold and transmit a TB that includes the set of information bits appended with the set of CRC bits.
[0008] Another wireless communication device for wireless communications is described. The wireless communication device may include means for generating a set of CRC bits associated with a set of information bits using a CRC generation function configured to generate a set of multiple CRC bit lengths, where the set of multiple CRC bit lengths include a six bit CRC length, an eleven bit CRC length, and a sixteen bit CRC length, where the CRC generation function includes a first polynomial nested within a second polynomial that is nested within a third polynomial, where the first polynomial is associated with the six bit CRC length, where the second polynomial is associated with the eleven bit CRC length, and where the third polynomial is associated with the sixteen bit CRC length, and where the first polynomial includes four or less terms and satisfies a probability of undetected error threshold and means for transmitting a TB that includes the set of information bits appended with the set of CRC bits.
[0009] A non-transitory computer-readable medium storing code for wireless communications is described. The code may include instructions executable by one or more processors to generate a set of CRC bits associated with a set of information bits using a CRC generation function configured to generate a set of multiple CRC bit lengths, where the set of multiple CRC bit lengths include a six bit CRC length, an eleven bit CRC length, and a sixteen bit CRC length, where the CRC generation function includes a first polynomial nested within a second polynomial that is nested within a third polynomial, where the first polynomial is associated with the six bit CRC length, where the second polynomial is associated with the eleven bit CRC length, and where the third polynomial is associated with the sixteen bit CRC length, and where the first polynomial includes four or less terms and satisfies a probability of undetected error threshold and transmit a TB that includes the set of information bits appended with the set of CRC bits.
[0010] In some examples of the method, wireless communication devices, and non-transitory computer-readable medium described herein, the third polynomial may be one of x^16+x^11+x^6+x^2+x^1+1, x^16+x^11+x^6+x^3+x^2+1, x^16+x^11+x^6+x^4+x^3+1, x^16+x^11+x^6+x^5+x^4+1, or x^16+x^11+x^6+x^1+1.
[0011] In some examples of the method, wireless communication devices, and non-transitory computer-readable medium described herein, the second polynomial adds an x^11 term to the first polynomial and the third polynomial adds an x^16 term to the second polynomial.
[0012] In some examples of the method, wireless communication devices, and non-transitory computer-readable medium described herein, generating the set of CRC bits may include operations, features, means, or instructions for generating the set of CRC bits using the first polynomial when a quantity of bits of the set of information bits may be less than a first threshold, generating the set of CRC bits using the second polynomial when the quantity of bits may be greater than or equal to the first threshold and less than a second threshold, and generating the set of CRC bits using the third polynomial when the quantity of bits may be greater than or equal to the second threshold.
[0013] In some examples of the method, wireless communication devices, and non-transitory computer-readable medium described herein, the third polynomial may be x^16+x^11+x^6+x^4+x^3+1, a TB size (TSB) step size for the TB may be one bit or one byte, the first threshold may be between 16 bits and 24 bits inclusive, and the second threshold may be between 88 and 112 bits inclusive.
[0014] In some examples of the method, wireless communication devices, and non-transitory computer-readable medium described herein, the third polynomial may be x^16+x^11+x^6+x^4+x^3+1, the first threshold may be one of 16 bits, 19 bits, or 24 bits, and the second threshold may be one of 88 bits, 96 bits, 104 bits, or 112 bits.
[0015] In some examples of the method, wireless communication devices, and non-transitory computer-readable medium described herein, the third polynomial may be x^16+x^11+x^6+x^3+x^2+1, a TBS step size for the TB may be one bit or one byte, the first threshold may be between 16 bits and 24 bits inclusive, and the second threshold may be between 96 and 120 bits inclusive.
[0016] In some examples of the method, wireless communication devices, and non-transitory computer-readable medium described herein, the third polynomial may be x^16+x^11+x^6+x^3+x^2+1, the first threshold may be one of 16 bits, 19 bits, or 24 bits, and the second threshold may be one of 96 bits, 104 bits, 112 bits, or 120 bits.
[0017] In some examples of the method, wireless communication devices, and non-transitory computer-readable medium described herein, generating the set of CRC bits may include operations, features, means, or instructions for generating the set of CRC bits using the first polynomial when a quantity of bits of the set of information bits may be less than a threshold and generating the set of CRC bits using the third polynomial when the quantity of bits may be greater than or equal to the threshold.
[0018] In some examples of the method, wireless communication devices, and non-transitory computer-readable medium described herein, the third polynomial may be x^16+x^11+x^6+x^4+x^3+1 or x^16+x^11+x^6+x^3+x^2+1, a TBS step size for the TB may be one bit or one byte, and the threshold may be between 18 bits and 24 bits inclusive.
[0019] In some examples of the method, wireless communication devices, and non-transitory computer-readable medium described herein, the third polynomial may be x^16+x^11+x^6+x^3+x^2+1 x^16+x^11+x^6+x^4+x^3+1 and the threshold may be one of 16 bits, 19 bits, or 24 bits.
[0020] In some examples of the method, wireless communication devices, and non-transitory computer-readable medium described herein, the wireless communication device includes at least one of a user equipment (UE) , a network entity, an ambient internet-of-things (A-IoT) device, an IoT device, an energy harvesting capable device, a wireless tag, a low-complexity device, a low-power device, or a low-cost device.
[0021] 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. Other features, aspects, and advantages will become apparent from the description, the drawings, and the claims. Note that the relative dimensions of the following figures may not be drawn to scale.BRIEF DESCRIPTION OF THE DRAWINGS
[0022] FIG. 1 shows an example of a wireless communications system that supports nested cyclic redundancy check (CRC) polynomials in accordance with one or more aspects of the present disclosure.
[0023] FIG. 2 shows an example of a CRC configuration that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure.
[0024] FIG. 3 shows an example of a CRC circuit that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure.
[0025] FIG. 4 shows an example of a wireless communications system that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure.
[0026] FIG. 5 shows an example of a process flow that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure.
[0027] FIGs. 6 and 7 show block diagrams of devices that support nested CRC polynomials in accordance with one or more aspects of the present disclosure.
[0028] FIG. 8 shows a block diagram of a communications manager that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure.
[0029] FIG. 10 shows a diagram of a system including a UE that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure.
[0030] FIG. 9 shows a diagram of a system including a network entity that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure.
[0031] FIG. 11 shows a flowchart illustrating methods that support nested CRC polynomials in accordance with one or more aspects of the present disclosure.DETAILED DESCRIPTION
[0032] Wireless networks may use cyclic redundancy check (CRC) bits to support error detection for transmissions of information bits. For example, at the transport block (TB) level, CRC bits may be appended to the end of the associated information bits. As another example, for codeblock segmentation, the CRC bits may be appended to the end of each codeblock segment as well as to the end of the TB. The quantity of CRC bits may be selected in association with the quantity of associated information bits (e.g., at the TB level or codeblock segmentation level) . Different generator polynomials may be used for generating different length CRC bit lengths. Some wireless networks, however, may use different generator polynomials for each CRC bit length. For example, for ambient internet of things (A-IoT) devices, 6 bit, 11 bit, and 16 bit CRC may be used. Use of different CRC lengths by a same device may result in a device having different hardware or software functionality to generate each different CRC length, which may increase hardware cost and complexity.
[0033] Accordingly, aspects of the techniques described herein provide for a nested polynomial that includes a first polynomial for generation of a 6 bit CRC that is nested in a second polynomial for generation of an 11 bit CRC that is nested in a third polynomial for generation of a 16 bit CRC. For example, a transmitting device may generate CRC bits associated with a set of information bits using a CRC generation function that includes the nested polynomials and taps to select the terms within the polynomial. The set of information bits may be input to the selected polynomial to generate the CRC bits of the selected CRC length. The first polynomial may be selected to satisfy a theoretical probability of undetected error (Pud) threshold (e.g., may have a better Pud than new radio (NR) CRC-6) . The first polynomial may also be selected to include four or less terms (e.g., to reduce the quantity of taps which may reduce power consumption and device complexity) . The second polynomial may add an x^11 term to the first polynomial, and the third polynomial may add an x^16 term to the second polynomial. Which CRC length to use for a given transmission may depend on the length of the input bits (e.g., the TB size (TBS) ) . For example, threshold TBS sizes may be defined for selection between the 6 bit, 11 bit, and 16 bit CRC lengths.
[0034] Aspects of the disclosure are initially described in the context of wireless communications systems. Aspects of the disclosure are further illustrated by and described with reference to a CRC configuration, a CRC circuit, process flows, apparatus diagrams, system diagrams, and flowcharts that relate to nested CRC polynomials.
[0035] FIG. 1 shows an example of a wireless communications system 100 that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure. The wireless communications system 100 may include one or more devices, such as one or more network devices (e.g., network entities 105) , one or more UEs 115, and a core network 130. In some examples, the wireless communications system 100 may be a Long Term Evolution (LTE) network, an LTE-Advanced (LTE-A) network, an LTE-A Pro network, a NR network, or a network operating in accordance with other systems and radio technologies, including future systems and radio technologies not explicitly mentioned herein.
[0036] The network entities 105 may be dispersed throughout a geographic area to form the wireless communications system 100 and may include devices in different forms or having different capabilities. In various examples, a network entity 105 may be referred to as a network element, a mobility element, a radio access network (RAN) node, or network equipment, among other nomenclature. In some examples, network entities 105 and UEs 115 may wirelessly communicate via communication link (s) 125 (e.g., a radio frequency (RF) access link) . For example, a network entity 105 may support a coverage area 110 (e.g., a geographic coverage area) over which the UEs 115 and the network entity 105 may establish the communication link (s) 125. The coverage area 110 may be an example of a geographic area over which a network entity 105 and a UE 115 may support the communication of signals according to one or more radio access technologies (RATs) .
[0037] The UEs 115 may be dispersed throughout a coverage area 110 of the wireless communications system 100, and each UE 115 may be stationary, or mobile, or both at different times. The UEs 115 may be devices in different forms or having different capabilities. Some example UEs 115 are illustrated in FIG. 1. The UEs 115 described herein may be capable of supporting communications with various types of devices in the wireless communications system 100 (e.g., other wireless communication devices, including UEs 115 or network entities 105) , as shown in FIG. 1.
[0038] As described herein, a node of the wireless communications system 100, which may be referred to as a network node, or a wireless node, may be a network entity 105 (e.g., any network entity described herein) , a UE 115 (e.g., any UE described herein) , a network controller, an apparatus, a device, a computing system, one or more components, or another suitable processing entity configured to perform any of the techniques described herein. For example, a node may be a UE 115. As another example, a node may be a network entity 105. As another example, a first node may be configured to communicate with a second node or a third node. In one aspect of this example, the first node may be a UE 115, the second node may be a network entity 105, and the third node may be a UE 115. In another aspect of this example, the first node may be a UE 115, the second node may be a network entity 105, and the third node may be a network entity 105. In yet other aspects of this example, the first, second, and third nodes may be different relative to these examples. Similarly, reference to a UE 115, network entity 105, apparatus, device, computing system, or the like may include disclosure of the UE 115, network entity 105, apparatus, device, computing system, or the like being a node. For example, disclosure that a UE 115 is configured to receive information from a network entity 105 also discloses that a first node is configured to receive information from a second node.
[0039] In some examples, network entities 105 may communicate with a core network 130, or with one another, or both. For example, network entities 105 may communicate with the core network 130 via backhaul communication link (s) 120 (e.g., in accordance with an S1, N2, N3, or other interface protocol) . In some examples, network entities 105 may communicate with one another via backhaul communication link (s) 120 (e.g., in accordance with an X2, Xn, or other interface protocol) either directly (e.g., directly between network entities 105) or indirectly (e.g., via the core network 130) . In some examples, network entities 105 may communicate with one another via a midhaul communication link 162 (e.g., in accordance with a midhaul interface protocol) or a fronthaul communication link 168 (e.g., in accordance with a fronthaul interface protocol) , or any combination thereof. The backhaul communication link (s) 120, midhaul communication links 162, or fronthaul communication links 168 may be or include one or more wired links (e.g., an electrical link, an optical fiber link) or one or more wireless links (e.g., a radio link, a wireless optical link) , among other examples or various combinations thereof. A UE 115 may communicate with the core network 130 via a communication link 155.
[0040] One or more of the network entities 105 or network equipment described herein may include or may be referred to as a base station 140 (e.g., a base transceiver station, a radio base station, an NR base station, an access point, a radio transceiver, a NodeB, an eNodeB (eNB) , a next-generation NodeB or giga-NodeB (either of which may be referred to as a gNB) , a 5G NB, a next-generation eNB (ng-eNB) , a Home NodeB, a Home eNodeB, or other suitable terminology) . In some examples, a network entity 105 (e.g., a base station 140) may be implemented in an aggregated (e.g., monolithic, standalone) base station architecture, which may be configured to utilize a protocol stack that is physically or logically integrated within one network entity (e.g., a network entity 105 or a single RAN node, such as a base station 140) .
[0041] In some examples, a network entity 105 may be implemented in a disaggregated architecture (e.g., a disaggregated base station architecture, a disaggregated RAN architecture) , which may be configured to utilize a protocol stack that is physically or logically distributed among multiple network entities (e.g., network entities 105) , such as an integrated access and backhaul (IAB) network, an open RAN (O-RAN) (e.g., a network configuration sponsored by the O-RAN Alliance) , or a virtualized RAN (vRAN) (e.g., a cloud RAN (C-RAN) ) . For example, a network entity 105 may include one or more of a central unit (CU) , such as a CU 160, a distributed unit (DU) , such as a DU 165, a radio unit (RU) , such as an RU 170, a RAN Intelligent Controller (RIC) , such as an RIC 175 (e.g., a Near-Real Time RIC (Near-RT RIC) , a Non-Real Time RIC (Non-RT RIC) ) , a Service Management and Orchestration (SMO) system, such as an SMO system 180, or any combination thereof. An RU 170 may also be referred to as a radio head, a smart radio head, a remote radio head (RRH) , a remote radio unit (RRU) , or a transmission reception point (TRP) . One or more components of the network entities 105 in a disaggregated RAN architecture may be co-located, or one or more components of the network entities 105 may be located in distributed locations (e.g., separate physical locations) . In some examples, one or more of the network entities 105 of a disaggregated RAN architecture may be implemented as virtual units (e.g., a virtual CU (VCU) , a virtual DU (VDU) , a virtual RU (VRU) ) .
[0042] The split of functionality between a CU 160, a DU 165, and an RU 170 is flexible and may support different functionalities depending on which functions (e.g., network layer functions, protocol layer functions, baseband functions, RF functions, or any combinations thereof) are performed at a CU 160, a DU 165, or an RU 170. For example, a functional split of a protocol stack may be employed between a CU 160 and a DU 165 such that the CU 160 may support one or more layers of the protocol stack and the DU 165 may support one or more different layers of the protocol stack. In some examples, the CU 160 may host upper protocol layer (e.g., layer 3 (L3) , layer 2 (L2) ) functionality and signaling (e.g., Radio Resource Control (RRC) , service data adaptation protocol (SDAP) , Packet Data Convergence Protocol (PDCP) ) . The CU 160 (e.g., one or more CUs) may be connected to a DU 165 (e.g., one or more DUs) or an RU 170 (e.g., one or more RUs) , or some combination thereof, and the DUs 165, RUs 170, or both may host lower protocol layers, such as layer 1 (L1) (e.g., physical (PHY) layer) or L2 (e.g., radio link control (RLC) layer, medium access control (MAC) layer) functionality and signaling, and may each be at least partially controlled by the CU 160. Additionally, or alternatively, a functional split of the protocol stack may be employed between a DU 165 and an RU 170 such that the DU 165 may support one or more layers of the protocol stack and the RU 170 may support one or more different layers of the protocol stack. The DU 165 may support one or multiple different cells (e.g., via one or multiple different RUs, such as an RU 170) . In some cases, a functional split between a CU 160 and a DU 165 or between a DU 165 and an RU 170 may be within a protocol layer (e.g., some functions for a protocol layer may be performed by one of a CU 160, a DU 165, or an RU 170, while other functions of the protocol layer are performed by a different one of the CU 160, the DU 165, or the RU 170) . A CU 160 may be functionally split further into CU control plane (CU-CP) and CU user plane (CU-UP) functions. A CU 160 may be connected to a DU 165 via a midhaul communication link 162 (e.g., F1, F1-c, F1-u) , and a DU 165 may be connected to an RU 170 via a fronthaul communication link 168 (e.g., open fronthaul (FH) interface) . In some examples, a midhaul communication link 162 or a fronthaul communication link 168 may be implemented in accordance with an interface (e.g., a channel) between layers of a protocol stack supported by respective network entities (e.g., one or more of the network entities 105) that are in communication via such communication links.
[0043] In some wireless communications systems (e.g., the wireless communications system 100) , infrastructure and spectral resources for radio access may support wireless backhaul link capabilities to supplement wired backhaul connections, providing an IAB network architecture (e.g., to a core network 130) . In some cases, in an IAB network, one or more of the network entities 105 (e.g., network entities 105 or IAB node (s) 104) may be partially controlled by each other. The IAB node (s) 104 may be referred to as a donor entity or an IAB donor. A DU 165 or an RU 170 may be partially controlled by a CU 160 associated with a network entity 105 or base station 140 (such as a donor network entity or a donor base station) . The one or more donor entities (e.g., IAB donors) may be in communication with one or more additional devices (e.g., IAB node (s) 104) via supported access and backhaul links (e.g., backhaul communication link (s) 120) . IAB node (s) 104 may include an IAB mobile termination (IAB-MT) controlled (e.g., scheduled) by one or more DUs (e.g., DUs 165) of a coupled IAB donor. An IAB-MT may be equipped with an independent set of antennas for relay of communications with UEs 115 or may share the same antennas (e.g., of an RU 170) of IAB node (s) 104 used for access via the DU 165 of the IAB node (s) 104 (e.g., referred to as virtual IAB-MT (vIAB-MT) ) . In some examples, the IAB node (s) 104 may include one or more DUs (e.g., DUs 165) that support communication links with additional entities (e.g., IAB node (s) 104, UEs 115) within the relay chain or configuration of the access network (e.g., downstream) . In such cases, one or more components of the disaggregated RAN architecture (e.g., the IAB node (s) 104 or components of the IAB node (s) 104) may be configured to operate according to the techniques described herein.
[0044] In the case of the techniques described herein applied in the context of a disaggregated RAN architecture, one or more components of the disaggregated RAN architecture may be configured to support nested CRC polynomials as described herein. For example, some operations described as being performed by a UE 115 or a network entity 105 (e.g., a base station 140) may additionally, or alternatively, be performed by one or more components of the disaggregated RAN architecture (e.g., components such as an IAB node, a DU 165, a CU 160, an RU 170, an RIC 175, an SMO system 180) .
[0045] A UE 115 may include or may be referred to as a mobile device, a wireless device, a remote device, a handheld device, or a subscriber device, or some other suitable terminology, where the “device” may also be referred to as a unit, a station, a terminal, or a client, among other examples. A UE 115 may also include or may be referred to as a personal electronic device such as a cellular phone, a personal digital assistant (PDA) , a tablet computer, a laptop computer, or a personal computer. In some examples, a UE 115 may include or be referred to as a wireless local loop (WLL) station, an Internet of Things (IoT) device, an Internet of Everything (IoE) device, or a machine type communications (MTC) device, among other examples, which may be implemented in various objects such as appliances, vehicles, or meters, among other examples.
[0046] The UEs 115 described herein may be able to communicate with various types of devices, such as UEs 115 that may sometimes operate as relays, as well as the network entities 105 and the network equipment including macro eNBs or gNBs, small cell eNBs or gNBs, or relay base stations, among other examples, as shown in FIG. 1.
[0047] The UEs 115 and the network entities 105 may wirelessly communicate with one another via the communication link (s) 125 (e.g., one or more access links) using resources associated with one or more carriers. The term “carrier” may refer to a set of RF spectrum resources having a defined PHY layer structure for supporting the communication link (s) 125. For example, a carrier used for the communication link (s) 125 may include a portion of an RF spectrum band (e.g., a bandwidth part (BWP) ) that is operated according to one or more PHY layer channels for a given RAT (e.g., LTE, LTE-A, LTE-A Pro, NR) . Each PHY layer channel may carry acquisition signaling (e.g., synchronization signals, system information) , control signaling that coordinates operation for the carrier, user data, or other signaling. The wireless communications system 100 may support communication with a UE 115 using carrier aggregation or multi-carrier operation. A UE 115 may be configured with multiple downlink component carriers and one or more uplink component carriers according to a carrier aggregation configuration. Carrier aggregation may be used with both frequency division duplexing (FDD) and time division duplexing (TDD) component carriers. Communication between a network entity 105 and other devices may refer to communication between the devices and any portion (e.g., entity, sub-entity) of a network entity 105. For example, the terms “transmitting, ” “receiving, ” or “communicating, ” when referring to a network entity 105, may refer to any portion of a network entity 105 (e.g., a base station 140, a CU 160, a DU 165, a RU 170) of a RAN communicating with another device (e.g., directly or via one or more other network entities, such as one or more of the network entities 105) .
[0048] In some examples, such as in a carrier aggregation configuration, a carrier may have acquisition signaling or control signaling that coordinates operations for other carriers. A carrier may be associated with a frequency channel (e.g., an evolved universal mobile telecommunication system terrestrial radio access (E-UTRA) absolute RF channel number (EARFCN) ) and may be identified according to a channel raster for discovery by the UEs 115. A carrier may be operated in a standalone mode, in which case initial acquisition and connection may be conducted by the UEs 115 via the carrier, or the carrier may be operated in a non-standalone mode, in which case a connection is anchored using a different carrier (e.g., of the same or a different RAT) .
[0049] The communication link (s) 125 of the wireless communications system 100 may include downlink transmissions (e.g., forward link transmissions) from a network entity 105 to a UE 115, uplink transmissions (e.g., return link transmissions) from a UE 115 to a network entity 105, or both, among other configurations of transmissions. Carriers may carry downlink or uplink communications (e.g., in an FDD mode) or may be configured to carry downlink and uplink communications (e.g., in a TDD mode) .
[0050] A carrier may be associated with a particular bandwidth of the RF spectrum and, in some examples, the carrier bandwidth may be referred to as a “system bandwidth” of the carrier or the wireless communications system 100. For example, the carrier bandwidth may be one of a set of bandwidths for carriers of a particular RAT (e.g., 1.4, 3, 5, 10, 15, 20, 40, or 80 megahertz (MHz) ) . Devices of the wireless communications system 100 (e.g., the network entities 105, the UEs 115, or both) may have hardware configurations that support communications using a particular carrier bandwidth or may be configurable to support communications using one of a set of carrier bandwidths. In some examples, the wireless communications system 100 may include network entities 105 or UEs 115 that support concurrent communications using carriers associated with multiple carrier bandwidths. In some examples, each served UE 115 may be configured for operating using portions (e.g., a sub-band, a BWP) or all of a carrier bandwidth.
[0051] Signal waveforms transmitted via a carrier may be made up of multiple subcarriers (e.g., using multi-carrier modulation (MCM) techniques such as orthogonal frequency division multiplexing (OFDM) or discrete Fourier transform spread OFDM (DFT-S-OFDM) ) . In a system employing MCM techniques, a resource element may refer to resources of one symbol period (e.g., a duration of one modulation symbol) and one subcarrier, in which case the symbol period and subcarrier spacing may be inversely related. The quantity of bits carried by each resource element may depend on the modulation scheme (e.g., the order of the modulation scheme, the coding rate of the modulation scheme, or both) , such that a relatively higher quantity of resource elements (e.g., in a transmission duration) and a relatively higher order of a modulation scheme may correspond to a relatively higher rate of communication. A wireless communications resource may refer to a combination of an RF spectrum resource, a time resource, and a spatial resource (e.g., a spatial layer, a beam) , and the use of multiple spatial resources may increase the data rate or data integrity for communications with a UE 115.
[0052] One or more numerologies for a carrier may be supported, and a numerology may include a subcarrier spacing (Δf) and a cyclic prefix. A carrier may be divided into one or more BWPs having the same or different numerologies. In some examples, a UE 115 may be configured with multiple BWPs. In some examples, a single BWP for a carrier may be active at a given time and communications for the UE 115 may be restricted to one or more active BWPs.
[0053] The time intervals for the network entities 105 or the UEs 115 may be expressed in multiples of a basic time unit which may, for example, refer to a sampling period of Ts=1 / (Δfmax·Nf) seconds, for which Δfmax may represent a supported subcarrier spacing, and Nf may represent a supported discrete Fourier transform (DFT) size. Time intervals of a communications resource may be organized according to radio frames each having a specified duration (e.g., 10 milliseconds (ms) ) . Each radio frame may be identified by a system frame number (SFN) (e.g., ranging from 0 to 1023) .
[0054] Each frame may include multiple consecutively-numbered subframes or slots, and each subframe or slot may have the same duration. In some examples, a frame may be divided (e.g., in the time domain) into subframes, and each subframe may be further divided into a quantity of slots. Alternatively, each frame may include a variable quantity of slots, and the quantity of slots may depend on subcarrier spacing. Each slot may include a quantity of symbol periods (e.g., depending on the length of the cyclic prefix prepended to each symbol period) . In some wireless communications systems, such as the wireless communications system 100, a slot may further be divided into multiple mini-slots associated with one or more symbols. Excluding the cyclic prefix, each symbol period may be associated with one or more (e.g., Nf) sampling periods. The duration of a symbol period may depend on the subcarrier spacing or frequency band of operation.
[0055] A subframe, a slot, a mini-slot, or a symbol may be the smallest scheduling unit (e.g., in the time domain) of the wireless communications system 100 and may be referred to as a transmission time interval (TTI) . In some examples, the TTI duration (e.g., a quantity of symbol periods in a TTI) may be variable. Additionally, or alternatively, the smallest scheduling unit of the wireless communications system 100 may be dynamically selected (e.g., in bursts of shortened TTIs (sTTIs) ) .
[0056] Physical channels may be multiplexed for communication using a carrier according to various techniques. A physical control channel and a physical data channel may be multiplexed for signaling via a downlink carrier, for example, using one or more of time division multiplexing (TDM) techniques, frequency division multiplexing (FDM) techniques, or hybrid TDM-FDM techniques. A control region (e.g., a control resource set (CORESET) ) for a physical control channel may be defined by a set of symbol periods and may extend across the system bandwidth or a subset of the system bandwidth of the carrier. One or more control regions (e.g., CORESETs) may be configured for a set of the UEs 115. For example, one or more of the UEs 115 may monitor or search control regions for control information according to one or more search space sets, and each search space set may include one or multiple control channel candidates in one or more aggregation levels arranged in a cascaded manner. An aggregation level for a control channel candidate may refer to an amount of control channel resources (e.g., control channel elements (CCEs) ) associated with encoded information for a control information format having a given payload size. Search space sets may include common search space sets configured for sending control information to UEs 115 (e.g., one or more UEs) or may include UE-specific search space sets for sending control information to a UE 115 (e.g., a specific UE) .
[0057] In some examples, a carrier may support multiple cells, and different cells may be configured according to different protocol types (e.g., MTC, narrowband IoT (NB-IoT) , enhanced mobile broadband (eMBB) ) that may provide access for different types of devices.
[0058] In some examples, a network entity 105 (e.g., a base station 140, an RU 170) may be movable and therefore provide communication coverage for a moving coverage area, such as the coverage area 110. In some examples, coverage areas 110 (e.g., different coverage areas) associated with different technologies may overlap, but the coverage areas 110 (e.g., different coverage areas) may be supported by the same network entity (e.g., a network entity 105) . In some other examples, overlapping coverage areas, such as a coverage area 110, associated with different technologies may be supported by different network entities (e.g., the network entities 105) . The wireless communications system 100 may include, for example, a heterogeneous network in which different types of the network entities 105 support communications for coverage areas 110 (e.g., different coverage areas) using the same or different RATs.
[0059] Some UEs 115, such as MTC or IoT devices, may be relatively low cost or low complexity devices and may provide for automated communication between machines (e.g., via Machine-to-Machine (M2M) communication) . M2M communication or MTC may refer to data communication technologies that allow devices to communicate with one another or a network entity 105 (e.g., a base station 140) without human intervention. In some examples, M2M communication or MTC may include communications from devices that integrate sensors or meters to measure or capture information and relay such information to a central server or application program that uses the information or presents the information to humans interacting with the application program. Some UEs 115 may be designed to collect information or enable automated behavior of machines or other devices. Examples of applications for MTC devices include smart metering, inventory monitoring, water level monitoring, equipment monitoring, healthcare monitoring, wildlife monitoring, weather and geological event monitoring, fleet management and tracking, remote security sensing, physical access control, and transaction-based business charging.
[0060] Some UEs 115 may be configured to employ operating modes that reduce power consumption, such as half-duplex communications (e.g., a mode that supports one-way communication via transmission or reception, but not transmission and reception concurrently) . In some examples, half-duplex communications may be performed at a reduced peak rate. Other power conservation techniques for the UEs 115 may include entering a power saving deep sleep mode when not engaging in active communications, operating using a limited bandwidth (e.g., according to narrowband communications) , or a combination of these techniques. For example, some UEs 115 may be configured for operation using a narrowband protocol type that is associated with a defined portion or range (e.g., set of subcarriers or resource blocks (RBs) ) within a carrier, within a guard-band of a carrier, or outside of a carrier.
[0061] The wireless communications system 100 may be configured to support ultra-reliable communications or low-latency communications, or various combinations thereof. For example, the wireless communications system 100 may be configured to support ultra-reliable low-latency communications (URLLC) . The UEs 115 may be designed to support ultra-reliable, low-latency, or critical functions. Ultra-reliable communications may include private communication or group communication and may be supported by one or more services such as push-to-talk, video, or data. Support for ultra-reliable, low-latency functions may include prioritization of services, and such services may be used for public safety or general commercial applications. The terms ultra-reliable, low-latency, and ultra-reliable low-latency may be used interchangeably herein.
[0062] In some examples, a UE 115 may be configured to support communicating directly with other UEs (e.g., one or more of the UEs 115) via a device-to-device (D2D) communication link, such as a D2D communication link 135 (e.g., in accordance with a peer-to-peer (P2P) , D2D, or sidelink protocol) . In some examples, one or more UEs 115 of a group that are performing D2D communications may be within the coverage area 110 of a network entity 105 (e.g., a base station 140, an RU 170) , which may support aspects of such D2D communications being configured by (e.g., scheduled by) the network entity 105. In some examples, one or more UEs 115 of such a group may be outside the coverage area 110 of a network entity 105 or may be otherwise unable to or not configured to receive transmissions from a network entity 105. In some examples, groups of the UEs 115 communicating via D2D communications may support a one-to-many (1: M) system in which each UE 115 transmits to one or more of the UEs 115 in the group. In some examples, a network entity 105 may facilitate the scheduling of resources for D2D communications. In some other examples, D2D communications may be carried out between the UEs 115 without an involvement of a network entity 105.
[0063] The core network 130 may provide user authentication, access authorization, tracking, Internet Protocol (IP) connectivity, and other access, routing, or mobility functions. The core network 130 may be an evolved packet core (EPC) or 5G core (5GC) , which may include at least one control plane entity that manages access and mobility (e.g., a mobility management entity (MME) , an access and mobility management function (AMF) ) and at least one user plane entity that routes packets or interconnects to external networks (e.g., a serving gateway (S-GW) , a Packet Data Network (PDN) gateway (P-GW) , or a user plane function (UPF) ) . The control plane entity may manage non-access stratum (NAS) functions such as mobility, authentication, and bearer management for the UEs 115 served by the network entities 105 (e.g., base stations 140) associated with the core network 130. User IP packets may be transferred through the user plane entity, which may provide IP address allocation as well as other functions. The user plane entity may be connected to IP services 150 for one or more network operators. The IP services 150 may include access to the Internet, Intranet (s) , an IP Multimedia Subsystem (IMS) , or a Packet-Switched Streaming Service.
[0064] The wireless communications system 100 may operate using one or more frequency bands, which may be in the range of 300 megahertz (MHz) to 300 gigahertz (GHz) . Generally, the region from 300 MHz to 3 GHz is known as the ultra-high frequency (UHF) region or decimeter band because the wavelengths range from approximately one decimeter to one meter in length. UHF waves may be blocked or redirected by buildings and environmental features, which may be referred to as clusters, but the waves may penetrate structures sufficiently for a macro cell to provide service to the UEs 115 located indoors. Communications using UHF waves may be associated with smaller antennas and shorter ranges (e.g., less than one hundred kilometers) compared to communications using the smaller frequencies and longer waves of the high frequency (HF) or very high frequency (VHF) portion of the spectrum below 300 MHz.
[0065] The wireless communications system 100 may utilize both licensed and unlicensed RF spectrum bands. For example, the wireless communications system 100 may employ License Assisted Access (LAA) , LTE-Unlicensed (LTE-U) RAT, or NR technology using an unlicensed band such as the 5 GHz industrial, scientific, and medical (ISM) band. While operating using unlicensed RF spectrum bands, devices such as the network entities 105 and the UEs 115 may employ carrier sensing for collision detection and avoidance. In some examples, operations using unlicensed bands may be based on a carrier aggregation configuration in conjunction with component carriers operating using a licensed band (e.g., LAA) . Operations using unlicensed spectrum may include downlink transmissions, uplink transmissions, P2P transmissions, or D2D transmissions, among other examples.
[0066] A network entity 105 (e.g., a base station 140, an RU 170) or a UE 115 may be equipped with multiple antennas, which may be used to employ techniques such as transmit diversity, receive diversity, multiple-input multiple-output (MIMO) communications, or beamforming. The antennas of a network entity 105 or a UE 115 may be located within one or more antenna arrays or antenna panels, which may support MIMO operations or transmit or receive beamforming. For example, one or more base station antennas or antenna arrays may be co-located at an antenna assembly, such as an antenna tower. In some examples, antennas or antenna arrays associated with a network entity 105 may be located at diverse geographic locations. A network entity 105 may include an antenna array with a set of rows and columns of antenna ports that the network entity 105 may use to support beamforming of communications with a UE 115. Likewise, a UE 115 may include one or more antenna arrays that may support various MIMO or beamforming operations. Additionally, or alternatively, an antenna panel may support RF beamforming for a signal transmitted via an antenna port.
[0067] Beamforming, which may also be referred to as spatial filtering, directional transmission, or directional reception, is a signal processing technique that may be used at a transmitting device or a receiving device (e.g., a network entity 105, a UE 115) to shape or steer an antenna beam (e.g., a transmit beam, a receive beam) along a spatial path between the transmitting device and the receiving device. Beamforming may be achieved by combining the signals communicated via antenna elements of an antenna array such that some signals propagating along particular orientations with respect to an antenna array experience constructive interference while others experience destructive interference. The adjustment of signals communicated via the antenna elements may include a transmitting device or a receiving device applying amplitude offsets, phase offsets, or both to signals carried via the antenna elements associated with the device. The adjustments associated with each of the antenna elements may be defined by a beamforming weight set associated with a particular orientation (e.g., with respect to the antenna array of the transmitting device or receiving device, or with respect to some other orientation) .
[0068] The wireless communications system 100 may be a packet-based network that operates according to a layered protocol stack. In the user plane, communications at the bearer or PDCP layer may be IP-based. An RLC layer may perform packet segmentation and reassembly to communicate via logical channels. A MAC layer may perform priority handling and multiplexing of logical channels into transport channels. The MAC layer also may implement error detection techniques, error correction techniques, or both to support retransmissions to improve link efficiency. In the control plane, an RRC layer may provide establishment, configuration, and maintenance of an RRC connection between a UE 115 and a network entity 105 or a core network 130 supporting radio bearers for user plane data. A PHY layer may map transport channels to physical channels.
[0069] The UEs 115 and the network entities 105 may support retransmissions of data to increase the likelihood that data is received successfully. Hybrid automatic repeat request (HARQ) feedback is one technique for increasing the likelihood that data is received correctly via a communication link (e.g., the communication link (s) 125, a D2D communication link 135) . HARQ may include a combination of error detection (e.g., using a CRC (CRC) ) , forward error correction (FEC) , and retransmission (e.g., automatic repeat request (ARQ) ) . HARQ may improve throughput at the MAC layer in relatively poor radio conditions (e.g., low signal-to-noise conditions) . In some examples, a device may support same-slot HARQ feedback, in which case the device may provide HARQ feedback in a specific slot for data received via a previous symbol in the slot. In some other examples, the device may provide HARQ feedback in a subsequent slot, or according to some other time interval.
[0070] A transmitting device (e.g., a UE 115 or a network entity 105) may generate CRC bits associated with a set of information bits using a CRC generation function configured to generate a set of multiple CRC lengths. The CRC generation function may include a first polynomial for generation of a 6 bit CRC that is nested in a second polynomial for generation of an 11 bit CRC that is nested in a third polynomial for generation of a 16 bit CRC. For example, a transmitting device may generate CRC bits associated with a set of information bits using the CRC generation function that includes the nested polynomials and taps to select the terms within the polynomial. The first polynomial may be selected to satisfy a theoretical probability of undetected error (Pud) threshold (e.g., may have a better Pud than NR CRC-6) . The first polynomial may also be selected to include four or less terms (e.g., to reduce the quantity of taps which may reduce power consumption and device complexity) . The second polynomial may add an x^11 term to the first polynomial, and the third polynomial may add an x^16 term to the second polynomial. Which CRC length to use for a given transmission may depend on the length of the input bits (e.g., the TBS) . Threshold TBS sizes may be defined for selection between the 6 bit, 11 bit, and 16 bit CRC lengths. The transmitting device may transmit the set of information bits and the generated CRC bits as a TB via a channel medium to a receiving device.
[0071] A receiving device (e.g., a UE 115 or a network entity 105) may receive a set of information bits and CRC bits associated with the set of information bits (e.g., as a TB via a channel medium) . The receiving device may decode the set of information bits and may check the accuracy of the set of information bits based on the CRC bits. For example, if the receiving device determines based on the CRC bits that a received TB does not satisfy an accuracy threshold, the receiving device may transmit a negative acknowledgment (NACK) to the transmitting device (e.g., a HARQ NACK) for the TB. In such examples, the transmitting device may retransmit the set of information bits (e.g., as a retransmitted TB) . Conversely, if the receiving device determines based on the CRC bits that a transmission satisfies an accuracy threshold, the receiving device may transmit an acknowledgment (ACK) to the transmitting device for the TB.
[0072] FIG. 2 shows an example of a CRC configuration 200 that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure. The CRC configuration 200 may implement or may be implemented by aspects of the wireless communications system 100. For example, aspects of the CRC configuration 200 may be implemented at or implemented by a transmitting device or a receiving device, which may be examples of the corresponding devices described herein. For example, the transmitting device, the receiving device, or both devices may be examples of a UE 115 (e.g., an A-IoT device, an IoT device, an energy harvesting capable device, a wireless tag, a low-complexity device, a low-power device, or a low-cost device) or a network entity 105, which may be examples of the corresponding devices described herein.
[0073] Wireless networks may use CRC, among other technologies, to detect errors in transmitted data. CRC techniques may involve the transmitting device performing a binary solution on the transmitted data (e.g., information bits to be transmitted) and the receiving device using the same techniques to verify the data. CRC in some wireless networks may be applied in physical downlink shared channel (PDSCH) and physical uplink shared channel (PUSCH) transmissions from a UE 115 where the CRC bits (e.g., CRC bits generated by application of the binary solution to the information bits) are attached to the end of a TB. In some aspects, the TB may be segmented according to codeblock segmentation protocols where CRC bits are attached at the end of each codeblock segment. For example, CRC bits may be generated using the information bits in each codeblock segment and those CRC bits may be attached to the end of each codeblock segment. For radio frequency identification (RFID) technologies, the CRC bits may be used for one or both of the forward link or the backward link.
[0074] In some aspects, the CRC bit length (e.g., the number or quantity of CRC bits that are generated and attached for a set of information bits) may be based on the quantity of information bits being transmitted. Accordingly, different CRC bit lengths may be supported in wireless networks. As one example, CRC bit lengths of 16 bits (CRC-16) or 24 bits (CRC-24) may be applied for PDSCH / PUSCH transmissions at the TB level. As another example, CRC-24 may be applied at the codeblock segment level. As additional examples, in some PUCCH transmissions, CRC-6 may be applied for between 11 and 20 information bits, CRC-11 may be applied for information bits of greater than 20, and no CRC bits may be applied for less than 11 information bits. As further examples, in RFID networks, CRC-5 and CRC-16 may be applied in the forward link and the backward link (e.g., based on the time of command / response being communicated) .
[0075] Generation of the CRC bits may be performed by the transmitting devices using a CRC generator function. The CRC generator function may include one or more memories, buffers, or registers that store or otherwise capture one or more information bits or segments of information bits in order to perform the binary function. For example, the CRC generator function may denote the input bits (e.g., the information bits to be transmitted) as (a0, a1, a2, a3, . . ., aA-1) and the parity bits (e.g., the CRC bits) as (p0, p1, p2, p3, . . ., pL-1) where A is the size of the input sequence (e.g., the quantity of quantity of information bits) and L is the quantity of parity bits. In some examples, the parity bits may be generated by one of the following CRC generator functions: gCRC24A (D) = [D24+D23+D18+D17+D14+D11+D10+D7+D6+D5+D4 +D3+D+1] for a CRC length L=24 gCRC24B (D) = [D24+D23+D6+D5+D+1] for a CRC length L=24 gCRC24C (D) = [D24+D23+D21+D20+D17+D15+D13+D12+D8+D4+D2 +D+1] for a CRC length L=24 gCRC16 (D) = [D16+D12+D5+1] for a CRC length L=16 gCRC11 (D) = [D11+D10+D9+D5+1] for a CRC length L=11 gCRC6 (D) = [D6+D5+1] for a CRC length L=6
[0076] As may be seen, the polynomials used in each CRC generator function may differ to some degree. For example, for CRC-24A the polynomials D18, D17, D14, D11, D10, D7, D4, and D3 are used. However, these polynomials are not used for CRC-24B. Similarly, the polynomials D9 and D10 are used for CRC-11, which are not used for CRC-16. Accordingly, this results in the transmitting device using different CRC generator functions to generate different CRC bit lengths. This may result in each wireless device capable of transmitting data having multiple circuits (e.g., buffers, memories, registers, and the like) or functionality that supports the different CRC bit length.
[0077] That is, the length of the CRC may be dependent on the information bit length (e.g., the number or quantity of information bits) to protect, which may result in multiple CRC lengths being used to suit different information bit lengths. Adopting the longest CRC bit length may result in significant overhead increases. Accordingly, having wireless networks support all CRC generator functions for different lengths of CRC bits may be costly and may increase the complexity of the devices. This aspect is further enhanced for low-end devices or low-complexity devices, such as A-IoT devices, for use in some control channels, and the like.
[0078] Accordingly, in some aspects, multiple varying-length CRCs may share the same CRC generator function via the use of nested polynomials. In some aspects, the CRC generation function for each CRC length may be implemented by polynomial circuitry and tap switching in the shared CRC generator circuit. For example, the nested CRC generation function may support full or partial generation of CRC-K, K+1, K+2, ..., N (e.g., nested CRC-32, CRC-16, CRC-12, CRC-8, CRC-5, and the like) .
[0079] As an example of CRC bit generation, a transmitting device may generate CRC bits associated with a set of information bits using a CRC generation function that is configured to or otherwise supports generation of a set of multiple CRC bit lengths. For example, circuitry of the CRC generation function may be configured such that one or more polynomial (s) 205 (e.g., baseline polynomials) associated with generating one or more first CRC bit lengths (e.g., lower order CRC bit lengths, such as CRC-5) may be nested within a plurality of polynomials associated with generating one or more second CRC bit lengths (e.g., higher order CRC bit lengths, such as CRC-8) . For example, the CRC generation function may support circuitry for the same polynomial (s) 205 used for generating a first CRC bit length (e.g., CRC-5) being reused for generating a second CRC bit length (e.g., CRC-8) . As illustrated in the example shown in FIG. 2, this may include the circuitry for the polynomial (s) 205 corresponding to x5, x2, and 1 used to generate CRC-5 (e.g., a CRC bit length of five bits) also being used, along with the addition of circuitry for polynomial (s) 205 corresponding to x8, used to generate CRC-8 (e.g., a CRC bit length of eight bits) . For example, the same baseline polynomial (s) 205 used to generate a lower order CRC bit length (e.g., the first CRC bit length) may also be used, along with one or more additional polynomial (s) 205, to generate a higher order CRC bit length (e.g., the second CRC bit length) .
[0080] As additional examples, circuitry for the baseline polynomial (s) 205 used to generate CRC-8 (e.g., x8, x5, x2, and 1) may be used, along with circuitry for an additional polynomial (s) 205 corresponding to x12, to generate CRC-12. Similarly, the circuitry for baseline polynomial (s) 205 used to generate CRC-12 (e.g., x12, x8, x5, x2, and 1) may be used, along with circuitry for an additional polynomial (s) 205 corresponding to x16, to generate CRC-16. As another example, circuitry for baseline polynomial (s) 205 used to generate CRC-6 (e.g., x6, x5, and 1) may be used, along with circuitry for an additional polynomial (s) 205 used corresponding to x11, to generate CRC-11 (e.g., x11, x6, x5, x2, and 1) or corresponding to x16, to generate CRC-16 (e.g., x16, x11, x6, x5, x2, and 1) .
[0081] Thus, the circuitry for baseline polynomial (s) 205 used to generate the lower order CRC bit lengths may be reused, along with circuitry for one or more additional polynomial (s) 205, to generate higher order CRC bit lengths. This circuitry may enable a shared CRC generation function used to generate a set of multiple different CRC bit lengths. At the circuit level, the CRC generation function may include a second generator circuit (e.g., a circuit capable of or otherwise supporting generating a second CRC bit length) that includes one or more first generator circuit (s) (e.g., a circuit capable of or otherwise support generating a first CRC bit length) using or otherwise in accordance with one or more tap switches.
[0082] Accordingly, the transmitting device may transmit or otherwise output (and the receiving device may receive or otherwise obtain) the information bits along with the CRC bits based on the circuitry for the CRC generation function. The receiving device may decode the transmission of the information bits using the CRC bits.
[0083] Use of CRC to check for errors may be associated with a Pud. A Pud for a set of CRC bits may refer to the probability that a receiving device does not detect an error in a set of information bits using the associated set of CRC bits. For example, the Pud may be calculated using either of Equation 1 or Equation 2. Equation 1 may be referred to as the definition of undetected error, and Equation 2 may be referred to as the dual code definition of undetected error and may be less computationally complex than Equation 1.
[0084] In Equation 1, p is channel bit error probability, and Ai is equal to the quantity of codewords in the code of Hamming weight i, where k is the length of the data, n is the total length of the data and codeword, and r=n-k is the length of the CRC bits. In Equation 2, p is channel bit error probability, r is the length of the CRC bits, and Bi is equal to the quantity of codewords of Hamming weight i in the dual code [1] , In Equation 2, the computation of Bi is fixed for each k, but the generator polynomial is restricted to: g (x) = (x+1) p (x) , where p (x) is the primitive polynomial.
[0085] Polynomials for generation of CRC bits (e.g., generator polynomials) may be evaluated according to one or more key performance indicators (KPIs) . For example, a first KPI may be the theoretical Pud as calculated by Equation 1 or Equation 2. In some examples, for evaluation of polynomials (e.g., when sweeping all permutations of r (e.g., CRC lengths) for a given k (length of data) , Equation 1 may be used to calculate the theoretical Pud KPI (e.g., the first KPI) . A second KPI may be the quantity of tap connections, which may be expressed as for a given polynomial, where NM is the highest order term for the polynomial (e.g., the quantity of CRC bits) and ki is a parameter for each term of the polynomial (e.g., either “1” if a term is included in the polynomial or “0” if a term is not included in the polynomial) . For example, for the polynomial x^6+x^2+x^1+1, NM is equal to ‘6’ , and ki = 1 for x^6, ki = 0 for x^5, ki =0 for x^4, ki = 0 for x^3, ki = 1 for x^2, ki = 1 for x^1, and ki = 1 for x^0. The quantity of tap connections may be equal to the quantity of terms in the polynomial. For example, the polynomial x^6+x^5+1 may have three terms and thus three tap connections, and the polynomial x^6+x^2+x^1+1 may have three terms and thus three tap connections. Fewer tap connections may be associated with lower power consumption and reduced circuit complexity. Accordingly, Ntap may be a second KPI, and may be used to select lower cost polynomials from among the polynomials that satisfy the first KPI, the theoretical Pud. A third KPI may be a simulated Pud, which may be referred to as For example, simulations may be used to estimate the probability of undetected error for polynomials that satisfy the first and second KPIs.
[0086] As described herein, A-IoT devices may use 6 bit CRC and 16 bit CRC. 11 bit CRC may also be used due to low overhead associated with 11 bit CRC as compared to 16 bit CRC while maintaining a high Pud as compared to 6 bit CRC for longer length sets of information bits. For example, with 24 information bits and 16 CRC bits, the CRC overhead is 0.6. But with 24 information bits and 11 CRC bits, the CRC overhead may be reduced to 0.31. Accordingly, as described herein, a transmitting device may include a CRC generation function that includes three nested polynomials. The three nested polynomials may include a first polynomial for generation of a 6 bit CRC that is nested in a second polynomial for generation of an 11 bit CRC that is nested in a third polynomial for generation of a 16 bit CRC. The first polynomial for generation of a 6 bit CRC may be selected from possible polynomials based on the first KPI (e.g., theoretical Pud) and the second KPI (e.g., the quantity of tap connections) . The secondand third polynomials may be selected using the third KPI (e.g., based on ) . In some examples, a first polynomial for generation of a 6 bit CRC may be nested in a second polynomial for generation of an 16 bit CRC without being nested in a polynomial for generation of an 11 bit CRC (e.g., the x^11 term may be omitted) .
[0087] There may be 2^5 = 32 possible polynomials for generation of 6 bit CRC (referred to as CRC-6) . The first KPI and the second KPI may be used to select CRC-6 polynomials from the 32 possible polynomials for CRC-6 generation. For example, for the first KPI, Pud may be calculated for k=8, k=16, and k=24 for each of the 32 CRC-6 generator polynomials. Pud for k=8 (e.g., for 8 information bits) for each of the 32 possible CRC-6 generator polynomials is shown in Table 1. Pud for k=16 (e.g., for 16 information bits) for each of the 32 possible CRC-6 generator polynomials is shown in Table 2. Pud for k=24 (e.g., for 24 information bits) for each of the 32 possible CRC-6 generator polynomials is shown in Table 3. For each of k=8, k=16, and k=24, the generator polynomials with a better Pud performance that NR CRC-6 may be selected, where the polynomial for NR CRC-6 is given by x^6+x^5+1. The polynomial for NR CRC-6 is bolded in each of Tables 1, 2, and 3.
[0088] Table 1, k=8
[0089] Table 2, k=16
[0090] Table 3, k=24
[0091] For the second KPI, from the set of polynomials that satisfy the first KPI, the polynomials with Ntap≤ 4 (where Ntap of NR CRC-6 is equal to 3) from the sets identified in the first KPI may be selected (e.g., as the top CRC-6 polynomials) . For each polynomial in the selected top CRC-6 polynomials (e.g., that satisfy the first KPI and the second KPI) , an x^11 and an x^16 component may be added to the polynomials to generate nested CRC-11 and CRC-16 generator polynomials. The third KPI may be used to test the performance of the remaining nested CRC-6 / 11 / 16 nested generator polynomials.
[0092] For example, from Tables 1, 2, and 3, the set of CRC-6 generator polynomials that satisfy the first KPI (e.g., have a Pud less than the Pud for the NR CRC-6 generator polynomial, x^6+x^5+1, for each of k=8, k=16, and k=24) may be shown in Table 4.
[0093] Table 4
[0094] From the CRC-6 generator polynomials in Table 4 that satisfy the first KPI, the CRC-6 generator polynomials that also satisfy the second KPI may be selected (e.g., which satisfy Ntap≤ 4) as the top CRC-6 generator polynomials. The CRC-6 generator polynomials that also satisfy the second KPI may be shown in Table 5.
[0095] Table 5
[0096] Table 6 shows the corresponding CRC-11 generator polynomials for the CRC-6 generator polynomials in Table 5 (e.g., the CRC-11 generator polynomials add an x^11 term) and Table 7 shows the corresponding CRC-16 generator polynomials for the CRC-11 generator polynomials in Table 6 (e.g., the CRC-16 generator polynomials add an x^16 term) . The x^11 and the x^16 terms may be directly added to the CRC-6 generator polynomials in Table 5. For example, based on a comparison of the possible 2^4=16 candidate nested CRC-11 generator polynomials for each of the CRC-6 generator polynomials in Table 5 adding the x^11 term directly (e.g., without adding any of an x^7, x^8, x^9, or x^10 terms) achieves satisfactory Pud performance and lower complexity satisfies a tradeoff between Ntap and Pud. Direct addition of the x^16 term (e.g., without adding any of an x^12, x^13, x^14, or x^15 terms) similarly satisfactory Pud performance and lower complexity satisfies a tradeoff between Ntap and Pud.
[0097] Table 6
[0098] Table 7
[0099] From the nested generator polynomials in Table 7, the polynomials with the best may be x^16+x^11+x^6+x^4+x^3+1 and x^16+x^11+x^6+x^3+x^2+1. Accordingly, in some examples, a CRC generator function may include gCRC1 (x) = x16+x11+x6+x4+x3+1 and / or gCRC2 (x) = x16+x11+x6+x3+x2+1. For gCRC1 (x) , the CRC-16 generator polynomial is x16+x11+x6+x4+x3+1, the CRC-11 generator polynomial is x11+x4+x4+x3+1, and the CRC-6 generator polynomial is x6+x4+x3+1. For gCRC2 (x) , the CRC-16 generator polynomial is x16+x11+x6+x3+x2+1, the CRC-11 generator polynomial is x11+x6+x3+x2+1, and the CRC-6 generator polynomial is x6+x3+x2+1.
[0100] In some examples, which CRC length to use for a particular TB may depend on the input sequence size (e.g., the quantity of information bits in the TB and / or the quantity of information bits input to the CRC generation function to generate the CRC) . For example, a longer input sequence size may be associated with a longer CRC length.
[0101] In some examples, which may be referred to as case 1, a CRC length from a candidate set of CRC lengths including a CRC length of 6 bits (CRC-6) , 11 bits (CRC-11) , or 16 bits (CRC-16) may be selected. In some examples, which may be referred to as case 2, a CRC length from a candidate set of CRC lengths including a CRC length of 6 bits (CRC-6) or 16 bits (CRC-16) may be selected. For use case 1, for an input sequence size k (e.g., for k input information bits) , thresholds X, and Y may be defined for selection of a CRC length of 6 bits (CRC-6) , 11 bits (CRC-11) , or 16 bits (CRC-16) . For example, in case 1: if k≤X, select CRC-6; if X<k≤Y, select CRC-11; and if k>Y, select CRC-16. For use case 2, for an input sequence size k (e.g., for k input information bits) , a threshold Z may be defined for selection of a CRC length of 6 bits (CRC-6) or 16 bits (CRC-16) . For example, in case 2: if k≤Z, select CRC-6; and if k>Z, select CRC-16
[0102] In some examples, the thresholds X, Y, and Z for a particular nested generator polynomial may be selected based on the Pud calculated for the generator polynomial. In some cases, the generator polynomial g (x) may not be able to be expressed as g (x) = (x+1) p (x) . In such examples, the simulated between that particular g (x) and all generator polynomials g′ (x) = (x+1) p (x) with the same quantity of CRC bits may be compared, and the g′ (x) with the performance closest to that g (x) and may be determined based on the comparison. The theoretical Pud of the g′ (x) with the closest performance to the particular g (x) may be used as an approximation for the Pud of the particular g (x) .
[0103] For example, for the generator polynomial gCRC1 (x) , the CRC-16 generator polynomial is x16+x11+x6+x4+x3+1. To determine the thresholds between CRC-6 and CRC-11 (e.g., the threshold X) , between CRC-11 and CRC-16 (e.g., the threshold Y) , and between CRC-6 and CRC-16 (e.g., the threshold Z) , Pud may be computed for CRC-6 (x6+x4+x3+1) , CRC-11 (x11+x6+x4+x3+1) , and CRC-11 (x16+x11+x6+x4+x3+1) . For example, for gCRC1 (x) , the Pudfor CRC-6 may sharply increase as the TBS reaches 24 bits. Accordingly. the range of X and / or Z may be 24 bits or less.
[0104] For gCRC1 (x) , the threshold ranges of X and Y may be defined in accordance with the computed Pud for CRC-6, CRC-11, and / or CRC-16. For example, for case 1, if the TBS step size is 1 bit, X may be within the range of [16: 1: 24] bits. Similarly, the range of Y in case 1 may be within the range of [88: 1: 112] bits if the TBS step size is 1 bit. As another example, for case 1, if the TBS step size is 8 bits (1 byte) , X may be within the range of [16: 8: 24] bits. Similarly, the range of Y in case 1 may be within the range of [88: 8: 112] bits if the TBS step size is 8 bits. As another example, for case 1, if the threshold range is limited to a singular bit point (e.g., not based on a TBS step size) , then X may be one of 16 bits, 19 bits, or 24 bits, and Y may be one of 88 bits, 96 bits, 104 bits or 112 bits. As another example, for case 2, if the TBS step size is 1 bit, Z may be within the range of [16: 1: 24] bits. As another example, for case 2, if the TBS step size is 8 bits, Z may be within the range of [16: 8: 24] bits. As another example, for case 2, if the threshold range is limited to a singular bit point (e.g., not based on a TBS step size) , then Z may be one of 16 bits, 19 bits, or 24 bits.
[0105] For gCRC2 (x) , the threshold ranges of X and Y may be defined in accordance with the computed Pud for CRC-6, CRC-11, and / or CRC-16. For example, for case 1, if the TBS step size is 1 bit, X may be within the range of [16: 1: 24] bits. Similarly, the range of Y in case 1 may be within the range of [96: 1: 120] bits if the TBS step size is 1 bit. As another example, for case 1, if the TBS step size is 8 bits (1 byte) , X may be within the range of [16: 8: 24] bits. Similarly, the range of Y in case 1 may be within the range of [96: 8: 120] bits if the TBS step size is 8 bits. As another example, for case 1, if the threshold range is limited to a singular bit point (e.g., not based on a TBS step size) , then X may be one of 16 bits, 19 bits, or 24 bits, and Y may be one of 96 bits, 104 bits, 112 bits, or 120 bits. As another example, for case 2, if the TBS step size is 1 bit, Z may be within the range of [16: 1: 24] bits. As another example, for case 2, if the TBS step size is 8 bits, Z may be within the range of [16: 8: 24] bits. As another example, for case 2, if the threshold range is limited to a singular bit point (e.g., not based on a TBS step size) , then Z may be one of 16 bits, 19 bits, or 24 bits.
[0106] FIG. 3 shows an example of a CRC circuit 300 that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure. The CRC circuit 300 may implement or may be implemented by aspects of the wireless communications system 100 or the CRC configuration 200. For example, aspects of the CRC circuit 300 may be implemented at or implemented by a transmitting device, which may be an example of the corresponding device described herein. For example, the transmitting device may be an example of a UE 115 (e.g., an A-IoT device, an IoT device, an energy harvesting capable device, a wireless tag, a low-complexity device, a low-power device, or a low-cost device) or a network entity 105, which may be examples of the corresponding devices described herein.
[0107] The CRC circuit 300 illustrates an example of a nested circuit or circuitry used for or otherwise associated with a nested CRC generation function that supports different CRC lengths (e.g., different CRC bit lengths) . For example, the CRC circuit 300 illustrates an example of a circuit that may implement gCRC1 (x) as described herein (e.g., the CRC-16 generator polynomial x16+x11+x6+x3+x2+1 which includes the nested CRC-11 generator polynomial x11+x6+x3+x3+1 which includes the nested CRC-6 generator polynomial x6+x3+x2+1. Tap switches 305 may be controlled to select between the CRC-16 generator polynomial, the CRC-11 generator polynomial, and the CRC-6 generator polynomial.
[0108] For example, a set of information bits 320 may be input to the CRC circuit 300 to generate a set of CRC bits 330. The quantity of CRC bits generated for the set of information bits 320 by the CRC circuit 300 may depend on the position of the tap switches 305 (e.g., which may be controlled to select between the CRC-16 generator polynomial, the CRC-11 generator polynomial, and the CRC-6 generator polynomial) . For example, to select the CRC-6 generator polynomial and accordingly generate 6 CRC bits: the tap switch 305-a may be at position 315, the tap switch 305-b may be connected to position 325, and the tap switch 305-e may be at position 365. As another example, to select the CRC-11 generator polynomial to generate 11 CRC bits: the tap switch 305-a may be at position 310, the tap switch 305-b may be open, the tap switch 305-c may be at position 340, the tap switch 305-d may be at position 350, and the tap switch 305-e may be at position 365. As another example, to select the CRC-16 generator polynomial to generate 16 CRC bits: the tap switch 305-a may be at position 310, the tap switch 305-b may be open, the tap switch 305-c may be at position 335, the tap switch 305-d may be open, and the tap switch 305-e may be at position 360.
[0109] The transmitting device may transmit or otherwise output (and the receiving device may receive or otherwise obtain) the set of information bits 320 and the set of CRC bits 330, where the set of CRC bits 330 are generated using the CRC circuit 300 that implements the CRC generation function. A receiving device may use the CRC bits to decode the set of information bits 320. For example, the receiving device may use the set of CRC bits 330 to detect or otherwise identify errors in the transmitted data.
[0110] FIG. 4 shows an example of a wireless communications system 400 that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure. The wireless communications system 400 may implement or may be implemented by aspects of the wireless communications system 100, the CRC configuration 200, or the CRC circuit 300 as described herein. For example, the wireless communications system 400 includes a wireless communication device 405, which may be an example of a transmitting wireless communication device. The wireless communications system 400 also includes a wireless communication device 410, which may be an example of a receiving device as described herein. For example, the wireless communication device 405, the wireless communication device 410, or both may be examples of a UE 115 (e.g., an A-IoT device, an IoT device, an energy harvesting capable device, a wireless tag, a low-complexity device, a low-power device, or a low-cost device) or a network entity 105, which may be examples of the corresponding devices described herein.
[0111] The wireless communication device 405 may transmit signals 415-a to the wireless communication device 410, and the wireless communication device 410 may transmit signals 415-b to the wireless communication device 405.
[0112] The wireless communication device 405 may transmit a TB 425 to the wireless communication device 410. The TB 425 may include a set of information bits and an appended set of CRC bits.
[0113] As described herein, the wireless communication device 405 may generate the CRC bits from the set of information bits using a CRC generation function configured to generate a set of multiple CRC bit lengths. The set of multiple CRC bit lengths may include a six bit CRC length, an eleven bit CRC length, and a sixteen bit CRC length. The CRC generation function may include a first polynomial nested within a second polynomial that is nested within a third polynomial, the first polynomial associated with the six bit CRC length, the second polynomial associated with the eleven bit CRC length, and the third polynomial associated with the sixteen bit CRC length. The first polynomial may include four or less terms (e.g., may satisfy the second KPI that Ntap≤ 4) and may satisfy a probability of undetected error threshold (e.g., may satisfy the first KPI that the Pud for the first polynomial is less than the Pud for the NR CRC-6 generator polynomial ‘x^6+x^5+1’ for each of k=8, k=16, and k=24) . Which polynomial is used from the nested set of polynomials may depend on the quantity of information bits in the TB, as described herein.
[0114] The wireless communication device 410 may check the accuracy of the transmission of the TB 425 based on the CRC bits. In some examples, the wireless communication device 410 may transmit a feedback message 430 (e.g., HARQ feedback) to the wireless communication device 405 for the TB based on the CRC check of the TB 425. For example, if the check of the CRC bits indicates that the wireless communication device 410 successfully received the TB 425, the feedback message 430 may be an ACK. As another example, if the check of the CRC bits indicates that the wireless communication device 410 did not successfully receive the TB 425 (e.g., the check of the CRC bits indicate errors) , the feedback message 430 may be a NACK. In the case of a NACK, the wireless communication device may transmit a retransmission 435 of the information bits in the TB 425.
[0115] In some examples, the wireless communication device 405 and the wireless communication device 410 may communicate control signaling 420 that may indicate one or more CRC parameters. For example, based on the CRC parameters, the wireless communication device 410 may identify the CRC bits in the TB 425. In some examples, the control signaling may include an indication of the third polynomial (e.g., and thus the nested second polynomial and first polynomial) . In some examples, the wireless communication device 405-a and the wireless communication device 410-a may communicate the threshold TBS sizes or information bit sizes used for selection of the CRC size (e.g., the thresholds for selection of whether to use 16 bit, 11 bit, or 6 bit CRC) which may enable the receiving device to identify the quantity of expected CRC bits based on the TBS of the TB 425. In some examples, some CRC parameters may be predefined or standardized.
[0116] FIG. 5 shows an example of a process flow 500 that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure. The process flow 500 may implement or may be implemented by aspects of the wireless communications system 100, CRC configuration 200, the CRC circuit 300, or the wireless communications system 400. For example, the process flow 500 may include a wireless communication device 405-a, which may be an example of a wireless communication device 405 as described herein. The process flow 500 may also include a wireless communication device 410-a, which may be an example of a wireless communication device 410 as described herein. In the following descriptions of the process flow 500, the communications between the wireless communication device 405-a and the wireless communication device 410-a may be transmitted in a different order than the example order shown, or the operations performed by the wireless communication device 405-a and the wireless communication device 410-a may be performed in different orders or at different times. Some operations may also be omitted from the process flow 500, and other operations may be added to the process flow 500.
[0117] At 510, the wireless communication device 405-a may generate a set of CRC bits associated with a set of information bits using a CRC generation function configured to generate a set of multiple CRC bit lengths. The set of multiple CRC bit lengths may include a six bit CRC length (e.g., CRC-6) , an eleven bit CRC length (e.g., CRC-11) , and a sixteen bit CRC length (e.g., CRC-16) . The CRC generation function may include a first polynomial nested within a second polynomial that is nested within a third polynomial, the first polynomial associated with the six bit CRC length, the second polynomial associated with the eleven bit CRC length, and the third polynomial associated with the sixteen bit CRC length. The first polynomial may include four or less terms and may satisfy a probability of undetected error threshold. For example, the probability of undetected error threshold may be the Pud for the NR CRC-6 generator polynomial ‘x^6+x^5+1’ for each of k=8, k=16, and k=24.
[0118] At 515, the wireless communication device 405-a may transmit, and the wireless communication device 410-a may receive, a communication (e.g., a TB) that includes the set of information bits appended with the set of CRC bits.
[0119] In some examples, at 520, the wireless communication device 410-a may verify the accuracy of the received communication (e.g., the received TB) based on the set of CRC bits. For example, the wireless communication device 410-a may transmit an ACK or a NACK to the wireless communication device 405-a based on checking the accuracy of the received communication.
[0120] In some examples, the third polynomial is one of x^16+x^11+x^6+x^2+x^1+1, x^16+x^11+x^6+x^3+x^2+1, x^16+x^11+x^6+x^4+x^3+1, x^16+x^11+x^6+x^5+x^4+1, or x^16+x^11+x^6+x^1+1.
[0121] In some examples, the second polynomial adds an x^11 term to the first polynomial, and the third polynomial adds an x^16 term to the second polynomial.
[0122] In some examples, at 510, the wireless communication device 405-a may: generate the set of CRC bits using the first polynomial when a quantity of bits of the set of information bits is less than a first threshold; generate the set of CRC bits using the second polynomial when the quantity of bits is greater than or equal to the first threshold and less than a second threshold; and generate the set of CRC bits using the third polynomial when the quantity of bits is greater than or equal to the second threshold. In some examples, the third polynomial is x^16+x^11+x^6+x^4+x^3+1, a TBS step size for the TB is one bit or one byte, the first threshold is between 16 bits and 24 bits inclusive, and the second threshold is between 88 and 112 bits inclusive. In some examples, the third polynomial is x^16+x^11+x^6+x^4+x^3+1, the first threshold is one of 16 bits, 19 bits, or 24 bits, and the second threshold is one of 88 bits, 96 bits, 104 bits, or 112 bits. In some examples, the third polynomial is x^16+x^11+x^6+x^3+x^2+1, a TBS step size for the TB is one bit or one byte, the first threshold is between 16 bits and 24 bits inclusive, and the second threshold is between 96 and 120 bits inclusive. In some examples, the third polynomial is x^16+x^11+x^6+x^3+x^2+1, the first threshold is one of 16 bits, 19 bits, or 24 bits, and the second threshold is one of 96 bits, 104 bits, 112 bits, or 120 bits.
[0123] In some examples, at 510, the wireless communication device 405-a may: generate the set of CRC bits using the first polynomial when a quantity of bits of the set of information bits is less than a threshold; and generate the set of CRC bits using the third polynomial when the quantity of bits is greater than or equal to the threshold. In some examples, the third polynomial is x^16+x^11+x^6+x^4+x^3+1 or x^16+x^11+x^6+x^3+x^2+1, a TBS step size for the TB is one bit or one byte, and the threshold is between 18 bits and 24 bits inclusive. In some examples, the third polynomial is x^16+x^11+x^6+x^4+x^3+1 or x^16+x^11+x^6+x^3+x^2+1, and the threshold is one of 16 bits, 19 bits, or 24 bits.
[0124] In some examples, at 505, the wireless communication device 405-a and the wireless communication device 410-a may communicate one or more parameters associated with CRC generation. For example, the wireless communication device 405-a and the wireless communication device 410-a may communicate an indication of the third polynomial (e.g., and thus the nested second polynomial and first polynomial) . In some examples, the wireless communication device 405-a and the wireless communication device 410-a may communicate the threshold TBS sizes or information bit sizes used for selection of the CRC size (e.g., the thresholds for selection of whether to use 16 bit, 11 bit, or 6 bit CRC) .
[0125] FIG. 6 shows a block diagram 600 of a device 605 that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure. The device 605 may be an example of aspects of a UE 115 or a network entity 105 as described herein. The device 605 may include a receiver 610, a transmitter 615, and a communications manager 620. The device 605, or one or more components of the device 605 (e.g., the receiver 610, the transmitter 615, the communications manager 620) , may include at least one processor, which may be coupled with at least one memory, to, individually or collectively, support or enable the described techniques. Each of these components may be in communication with one another (e.g., via one or more buses) .
[0126] 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, data channels, information channels related to nested CRC polynomials) . Information may be passed on to other components of the device 605. The receiver 610 may utilize a single antenna or a set of multiple antennas.
[0127] The transmitter 615 may provide a means for transmitting signals generated by other components of the device 605. For example, the transmitter 615 may transmit 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 nested CRC polynomials) . In some examples, the transmitter 615 may be co-located with a receiver 610 in a transceiver module. The transmitter 615 may utilize a single antenna or a set of multiple antennas.
[0128] The communications manager 620, the receiver 610, the transmitter 615, or various combinations or components thereof may be examples of means for performing various aspects of nested CRC polynomials as described herein. For example, the communications manager 620, the receiver 610, the transmitter 615, or various combinations or components thereof may be capable of performing one or more of the functions described herein.
[0129] In some examples, the communications manager 620, the receiver 610, the transmitter 615, or various combinations or components thereof may be implemented in hardware (e.g., in communications management circuitry) . The hardware may include at least one of a processor, a digital signal processor (DSP) , a central processing unit (CPU) , an application-specific integrated circuit (ASIC) , a field-programmable gate array (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, individually or collectively, a means for performing the functions described in the present disclosure. In some examples, at least one processor and at least one memory coupled with the at least one processor may be configured to perform one or more of the functions described herein (e.g., by one or more processors, individually or collectively, executing instructions stored in the at least one memory) .
[0130] Additionally, or alternatively, the communications manager 620, the receiver 610, the transmitter 615, or various combinations or components thereof may be implemented in code (e.g., as communications management software or firmware) executed by at least one processor (e.g., referred to as a processor-executable code) . If implemented in code executed by at least one processor, the functions of the communications manager 620, the receiver 610, the transmitter 615, or various combinations or components thereof may be performed by a general-purpose processor, a DSP, a CPU, an ASIC, an FPGA, a microcontroller, or any combination of these or other programmable logic devices (e.g., configured as or otherwise supporting, individually or collectively, a means for performing the functions described in the present disclosure) .
[0131] In some examples, the communications manager 620 may be configured to perform various operations (e.g., receiving, obtaining, monitoring, outputting, transmitting) using or otherwise in cooperation with the receiver 610, the transmitter 615, or both. For example, the communications manager 620 may receive information from the receiver 610, send information to the transmitter 615, or be integrated in combination with the receiver 610, the transmitter 615, or both to obtain information, output information, or perform various other operations as described herein.
[0132] The communications manager 620 may support wireless communications in accordance with examples as disclosed herein. For example, the communications manager 620 is capable of, configured to, or operable to support a means for generating a set of CRC bits associated with a set of information bits using a CRC generation function configured to generate a set of multiple CRC bit lengths, where the set of multiple CRC bit lengths includes a six bit CRC length, an eleven bit CRC length, and a sixteen bit CRC length, where the CRC generation function includes a first polynomial nested within a second polynomial that is nested within a third polynomial, where the first polynomial is associated with the six bit CRC length, where the second polynomial is associated with the eleven bit CRC length, where the third polynomial is associated with the sixteen bit CRC length, and where the first polynomial includes four or less terms and satisfies a probability of undetected error threshold. The communications manager 620 is capable of, configured to, or operable to support a means for transmitting a TB that includes the set of information bits appended with the set of CRC bits.
[0133] By including or configuring the communications manager 620 in accordance with examples as described herein, the device 605 (e.g., at least one processor controlling or otherwise coupled with the receiver 610, the transmitter 615, the communications manager 620, or a combination thereof) may support techniques for reduced power consumption and more efficient utilization of communication resources.
[0134] FIG. 7 shows a block diagram 700 of a device 705 that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure. The device 705 may be an example of aspects of a device 605, a UE 115, or a network entity 105 as described herein. The device 705 may include a receiver 710, a transmitter 715, and a communications manager 720. The device 705, or one or more components of the device 705 (e.g., the receiver 710, the transmitter 715, the communications manager 720) , may include at least one processor, which may be coupled with at least one memory, to support the described techniques. Each of these components may be in communication with one another (e.g., via one or more buses) .
[0135] The receiver 710 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 nested CRC polynomials) . Information may be passed on to other components of the device 705. The receiver 710 may utilize a single antenna or a set of multiple antennas.
[0136] The transmitter 715 may provide a means for transmitting signals generated by other components of the device 705. For example, the transmitter 715 may transmit 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 nested CRC polynomials) . In some examples, the transmitter 715 may be co-located with a receiver 710 in a transceiver module. The transmitter 715 may utilize a single antenna or a set of multiple antennas.
[0137] The device 705, or various components thereof, may be an example of means for performing various aspects of nested CRC polynomials as described herein. For example, the communications manager 720 may include an CRC generation manager 725 a transmission manager 730, or any combination thereof. The communications manager 720 may be an example of aspects of a communications manager 620 as described herein. In some examples, the communications manager 720, or various components thereof, may be configured to perform various operations (e.g., receiving, obtaining, monitoring, outputting, transmitting) using or otherwise in cooperation with the receiver 710, the transmitter 715, or both. For example, the communications manager 720 may receive information from the receiver 710, send information to the transmitter 715, or be integrated in combination with the receiver 710, the transmitter 715, or both to obtain information, output information, or perform various other operations as described herein.
[0138] The communications manager 720 may support wireless communications in accordance with examples as disclosed herein. The CRC generation manager 725 is capable of, configured to, or operable to support a means for generating a set of CRC bits associated with a set of information bits using a CRC generation function configured to generate a set of multiple CRC bit lengths, where the set of multiple CRC bit lengths includes a six bit CRC length, an eleven bit CRC length, and a sixteen bit CRC length, where the CRC generation function includes a first polynomial nested within a second polynomial that is nested within a third polynomial, where the first polynomial is associated with the six bit CRC length, where the second polynomial is associated with the eleven bit CRC length, where the third polynomial is associated with the sixteen bit CRC length, and where the first polynomial includes four or less terms and satisfies a probability of undetected error threshold. The transmission manager 730 is capable of, configured to, or operable to support a means for transmitting a TB that includes the set of information bits appended with the set of CRC bits.
[0139] FIG. 8 shows a block diagram 800 of a communications manager 820 that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure. The communications manager 820 may be an example of aspects of a communications manager 620, a communications manager 720, or both, as described herein. The communications manager 820, or various components thereof, may be an example of means for performing various aspects of nested CRC polynomials as described herein. For example, the communications manager 820 may include an CRC generation manager 825, a transmission manager 830, a CRC length manager 835, or any combination thereof. Each of these components, or components or subcomponents thereof (e.g., one or more processors, one or more memories) , may communicate, directly or indirectly, with one another (e.g., via one or more buses) . The communications may include communications within a protocol layer of a protocol stack, communications associated with a logical channel of a protocol stack (e.g., between protocol layers of a protocol stack, within a device, component, or virtualized component associated with a network entity 105, between devices, components, or virtualized components associated with a network entity 105) , or any combination thereof.
[0140] The communications manager 820 may support wireless communications in accordance with examples as disclosed herein. The CRC generation manager 825 is capable of, configured to, or operable to support a means for generating a set of CRC bits associated with a set of information bits using a CRC generation function configured to generate a set of multiple CRC bit lengths, where the set of multiple CRC bit lengths includes a six bit CRC length, an eleven bit CRC length, and a sixteen bit CRC length, where the CRC generation function includes a first polynomial nested within a second polynomial that is nested within a third polynomial, where the first polynomial is associated with the six bit CRC length, where the second polynomial is associated with the eleven bit CRC length, where the third polynomial is associated with the sixteen bit CRC length, and where the first polynomial includes four or less terms and satisfies a probability of undetected error threshold. The transmission manager 830 is capable of, configured to, or operable to support a means for transmitting a TB that includes the set of information bits appended with the set of CRC bits.
[0141] In some examples, the third polynomial is one of x^16+x^11+x^6+x^2+x^1+1, x^16+x^11+x^6+x^3+x^2+1, x^16+x^11+x^6+x^4+x^3+1, x^16+x^11+x^6+x^5+x^4+1, or x^16+x^11+x^6+x^1+1.
[0142] In some examples, the second polynomial adds an x^11 term to the first polynomial. In some examples, the third polynomial adds an x^16 term to the second polynomial.
[0143] In some examples, to support generating the set of CRC bits, the CRC length manager 835 is capable of, configured to, or operable to support a means for generating the set of CRC bits using the first polynomial when a quantity of bits of the set of information bits is less than a first threshold. In some examples, to support generating the set of CRC bits, the CRC length manager 835 is capable of, configured to, or operable to support a means for generating the set of CRC bits using the second polynomial when the quantity of bits is greater than or equal to the first threshold and less than a second threshold. In some examples, to support generating the set of CRC bits, the CRC length manager 835 is capable of, configured to, or operable to support a means for generating the set of CRC bits using the third polynomial when the quantity of bits is greater than or equal to the second threshold.
[0144] In some examples, the third polynomial is x^16+x^11+x^6+x^4+x^3+1. In some examples, a TBS step size for the TB is one bit or one byte. In some examples, the first threshold is between 16 bits and 24 bits inclusive. In some examples, the second threshold is between 88 and 112 bits inclusive.
[0145] In some examples, the third polynomial is x^16+x^11+x^6+x^4+x^3+1. In some examples, the first threshold is one of 16 bits, 19 bits, or 24 bits. In some examples, the second threshold is one of 88 bits, 96 bits, 104 bits, or 112 bits.
[0146] In some examples, the third polynomial is x^16+x^11+x^6+x^3+x^2+1. In some examples, a TBS step size for the TB is one bit or one byte. In some examples, the first threshold is between 16 bits and 24 bits inclusive. In some examples, the second threshold is between 96 and 120 bits inclusive.
[0147] In some examples, the third polynomial is x^16+x^11+x^6+x^3+x^2+1. In some examples, the first threshold is one of 16 bits, 19 bits, or 24 bits. In some examples, the second threshold is one of 96 bits, 104 bits, 112 bits, or 120 bits.
[0148] In some examples, to support generating the set of CRC bits, the CRC length manager 835 is capable of, configured to, or operable to support a means for generating the set of CRC bits using the first polynomial when a quantity of bits of the set of information bits is less than a threshold. In some examples, to support generating the set of CRC bits, the CRC length manager 835 is capable of, configured to, or operable to support a means for generating the set of CRC bits using the third polynomial when the quantity of bits is greater than or equal to the threshold.
[0149] In some examples, the third polynomial is x^16+x^11+x^6+x^4+x^3+1 or x^16+x^11+x^6+x^3+x^2+1. In some examples, a TBS step size for the TB is one bit or one byte. In some examples, the threshold is between 18 bits and 24 bits inclusive.
[0150] In some examples, the third polynomial is x x^16+x^11+x^6+x^4+x^3+1 or x^16+x^11+x^6+x^3+x^2+1. In some examples, the threshold is one of 16 bits, 19 bits, or 24 bits.
[0151] In some examples, the wireless communication device includes at least one of a UE, a network entity, an ambient internet-of-things (A-IoT) device, an IoT device, an energy harvesting capable device, a wireless tag, a low-complexity device, a low-power device, or a low-cost device.
[0152] FIG. 9 shows a diagram of a system 900 including a device 905 that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure. The device 905 may be an example of or include components of a device 605, a device 705, or a UE 115 as described herein. The device 905 may communicate (e.g., wirelessly) with one or more other devices (e.g., network entities 105, UEs 115, or a combination thereof) . The device 905 may include components for bi-directional voice and data communications including components for transmitting and receiving communications, such as a communications manager 920, an input / output (I / O) controller, such as an I / O controller 910, a transceiver 915, one or more antennas 925, at least one memory 930, code 935, and at least one 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., a bus 945) .
[0153] The I / O controller 910 may manage input and output signals for the device 905. The I / O controller 910 may also manage peripherals not integrated into the device 905. In some cases, the I / O controller 910 may represent a physical connection or port to an external peripheral. In some cases, the I / O controller 910 may utilize an operating system such as or another known operating system. Additionally, or alternatively, the I / O controller 910 may represent or interact with a modem, a keyboard, a mouse, a touchscreen, or a similar device. In some cases, the I / O controller 910 may be implemented as part of one or more processors, such as the at least one processor 940. In some cases, a user may interact with the device 905 via the I / O controller 910 or via hardware components controlled by the I / O controller 910.
[0154] In some cases, the device 905 may include a single antenna. However, in some other cases, the device 905 may have more than one antenna, which may be capable of concurrently transmitting or receiving multiple wireless transmissions. The transceiver 915 may communicate bi-directionally via the one or more antennas 925 using wired or wireless links as described herein. For example, the transceiver 915 may represent a wireless transceiver and may communicate bi-directionally with another wireless transceiver. The transceiver 915 may also include a modem to modulate the packets, to provide the modulated packets to one or more antennas 925 for transmission, and to demodulate packets received from the one or more antennas 925. The transceiver 915, or the transceiver 915 and one or more antennas 925, may be an example of a transmitter 615, a transmitter 715, a receiver 610, a receiver 710, or any combination thereof or component thereof, as described herein.
[0155] The at least one memory 930 may include random access memory (RAM) and read-only memory (ROM) . The at least one memory 930 may store computer-readable, computer-executable, or processor-executable code, such as the code 935. The code 935 may include instructions that, when executed by the at least one processor 940, cause the device 905 to perform various functions described herein. The code 935 may be stored in a non-transitory computer-readable medium such as system memory or another type of memory. In some cases, the code 935 may not be directly executable by the at least one processor 940 but may cause a computer (e.g., when compiled and executed) to perform functions described herein. In some cases, the at least one memory 930 may include, among other things, a basic I / O system (BIOS) which may control basic hardware or software operation such as the interaction with peripheral components or devices.
[0156] The at least one processor 940 may include one or more intelligent hardware devices (e.g., one or more general-purpose processors, one or more DSPs, one or more CPUs, one or more graphics processing units (GPUs) , one or more neural processing units (NPUs) (also referred to as neural network processors or deep learning processors (DLPs) ) , one or more microcontrollers, one or more ASICs, one or more FPGAs, one or more programmable logic devices, discrete gate or transistor logic, one or more discrete hardware components, or any combination thereof) . In some cases, the at least one processor 940 may be configured to operate a memory array using a memory controller. In some other cases, a memory controller may be integrated into the at least one processor 940. The at least one processor 940 may be configured to execute computer-readable instructions stored in a memory (e.g., the at least one memory 930) to cause the device 905 to perform various functions (e.g., functions or tasks supporting nested CRC polynomials) . For example, the device 905 or a component of the device 905 may include at least one processor 940 and at least one memory 930 coupled with or to the at least one processor 940, the at least one processor 940 and the at least one memory 930 configured to perform various functions described herein.
[0157] In some examples, the at least one processor 940 may include multiple processors and the at least one memory 930 may include multiple memories. One or more of the multiple processors may be coupled with one or more of the multiple memories, which may, individually or collectively, be configured to perform various functions described herein. In some examples, the at least one processor 940 may be a component of a processing system, which may refer to a system (such as a series) of machines, circuitry (including, for example, one or both of processor circuitry (which may include the at least one processor 940) and memory circuitry (which may include the at least one memory 930) ) , or components, that receives or obtains inputs and processes the inputs to produce, generate, or obtain a set of outputs. The processing system may be configured to perform one or more of the functions described herein. For example, the at least one processor 940 or a processing system including the at least one processor 940 may be configured to, configurable to, or operable to cause the device 905 to perform one or more of the functions described herein. Further, as described herein, being “configured to, ” being “configurable to, ” and being “operable to” may be used interchangeably and may be associated with a capability, when executing code 935 (e.g., processor-executable code) stored in the at least one memory 930 or otherwise, to perform one or more of the functions described herein.
[0158] The communications manager 920 may support wireless communications in accordance with examples as disclosed herein. For example, the communications manager 920 is capable of, configured to, or operable to support a means for generating a set of CRC bits associated with a set of information bits using a CRC generation function configured to generate a set of multiple CRC bit lengths, where the set of multiple CRC bit lengths includes a six bit CRC length, an eleven bit CRC length, and a sixteen bit CRC length, where the CRC generation function includes a first polynomial nested within a second polynomial that is nested within a third polynomial, where the first polynomial is associated with the six bit CRC length, where the second polynomial is associated with the eleven bit CRC length, where the third polynomial is associated with the sixteen bit CRC length, and where the first polynomial includes four or less terms and satisfies a probability of undetected error threshold. The communications manager 920 is capable of, configured to, or operable to support a means for transmitting a TB that includes the set of information bits appended with the set of CRC bits.
[0159] By including or configuring the communications manager 920 in accordance with examples as described herein, the device 905 may support techniques for improved communication reliability, reduced power consumption, and more efficient utilization of communication resources.
[0160] In some examples, the communications manager 920 may be configured to perform various operations (e.g., receiving, monitoring, transmitting) using or otherwise in cooperation with the transceiver 915, the one or more antennas 925, or any combination thereof. Although the communications manager 920 is illustrated as a separate component, in some examples, one or more functions described with reference to the communications manager 920 may be supported by or performed by the at least one processor 940, the at least one memory 930, the code 935, or any combination thereof. For example, the code 935 may include instructions executable by the at least one processor 940 to cause the device 905 to perform various aspects of nested CRC polynomials as described herein, or the at least one processor 940 and the at least one memory 930 may be otherwise configured to, individually or collectively, perform or support such operations.
[0161] FIG. 10 shows a diagram of a system 1000 including a device 1005 that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure. The device 1005 may be an example of or include components of a device 605, a device 705, or a network entity 105 as described herein. The device 1005 may communicate with other network devices or network equipment such as one or more of the network entities 105, UEs 115, or any combination thereof. The communications may include communications over one or more wired interfaces, over one or more wireless interfaces, or any combination thereof. The device 1005 may include components that support outputting and obtaining communications, such as a communications manager 1020, a transceiver 1010, one or more antennas 1015, at least one memory 1025, code 1030, and at least one processor 1035. These components may be in electronic communication or otherwise coupled (e.g., operatively, communicatively, functionally, electronically, electrically) via one or more buses (e.g., a bus 1040) .
[0162] The transceiver 1010 may support bi-directional communications via wired links, wireless links, or both as described herein. In some examples, the transceiver 1010 may include a wired transceiver and may communicate bi-directionally with another wired transceiver. Additionally, or alternatively, in some examples, the transceiver 1010 may include a wireless transceiver and may communicate bi-directionally with another wireless transceiver. In some examples, the device 1005 may include one or more antennas 1015, which may be capable of transmitting or receiving wireless transmissions (e.g., concurrently) . The transceiver 1010 may also include a modem to modulate signals, to provide the modulated signals for transmission (e.g., by one or more antennas 1015, by a wired transmitter) , to receive modulated signals (e.g., from one or more antennas 1015, from a wired receiver) , and to demodulate signals. In some implementations, the transceiver 1010 may include one or more interfaces, such as one or more interfaces coupled with the one or more antennas 1015 that are configured to support various receiving or obtaining operations, or one or more interfaces coupled with the one or more antennas 1015 that are configured to support various transmitting or outputting operations, or a combination thereof. In some implementations, the transceiver 1010 may include or be configured for coupling with one or more processors or one or more memory components that are operable to perform or support operations based on received or obtained information or signals, or to generate information or other signals for transmission or other outputting, or any combination thereof. In some implementations, the transceiver 1010, or the transceiver 1010 and the one or more antennas 1015, or the transceiver 1010 and the one or more antennas 1015 and one or more processors or one or more memory components (e.g., the at least one processor 1035, the at least one memory 1025, or both) , may be included in a chip or chip assembly that is installed in the device 1005. In some examples, the transceiver 1010 may be operable to support communications via one or more communications links (e.g., communication link (s) 125, backhaul communication link (s) 120, a midhaul communication link 162, a fronthaul communication link 168) .
[0163] The at least one memory 1025 may include RAM, ROM, or any combination thereof. The at least one memory 1025 may store computer-readable, computer-executable, or processor-executable code, such as the code 1030. The code 1030 may include instructions that, when executed by one or more of the at least one processor 1035, cause the device 1005 to perform various functions described herein. The code 1030 may be stored in a non-transitory computer-readable medium such as system memory or another type of memory. In some cases, the code 1030 may not be directly executable by a processor of the at least one processor 1035 but may cause a computer (e.g., when compiled and executed) to perform functions described herein. In some cases, the at least one memory 1025 may include, among other things, a BIOS which may control basic hardware or software operation such as the interaction with peripheral components or devices. In some examples, the at least one processor 1035 may include multiple processors and the at least one memory 1025 may include multiple memories. One or more of the multiple processors may be coupled with one or more of the multiple memories which may, individually or collectively, be configured to perform various functions herein (for example, as part of a processing system) .
[0164] The at least one processor 1035 may include one or more intelligent hardware devices (e.g., one or more general-purpose processors, one or more DSPs, one or more CPUs, one or more graphics processing units (GPUs) , one or more neural processing units (NPUs) (also referred to as neural network processors or deep learning processors (DLPs) ) , one or more microcontrollers, one or more ASICs, one or more FPGAs, one or more programmable logic devices, discrete gate or transistor logic, one or more discrete hardware components, or any combination thereof) . In some cases, the at least one processor 1035 may be configured to operate a memory array using a memory controller. In some other cases, a memory controller may be integrated into one or more of the at least one processor 1035. The at least one processor 1035 may be configured to execute computer-readable instructions stored in a memory (e.g., one or more of the at least one memory 1025) to cause the device 1005 to perform various functions (e.g., functions or tasks supporting nested CRC polynomials) . For example, the device 1005 or a component of the device 1005 may include at least one processor 1035 and at least one memory 1025 coupled with one or more of the at least one processor 1035, the at least one processor 1035 and the at least one memory 1025 configured to perform various functions described herein. The at least one processor 1035 may be an example of a cloud-computing platform (e.g., one or more physical nodes and supporting software such as operating systems, virtual machines, or container instances) that may host the functions (e.g., by executing code 1030) to perform the functions of the device 1005. The at least one processor 1035 may be any one or more suitable processors capable of executing scripts or instructions of one or more software programs stored in the device 1005 (such as within one or more of the at least one memory 1025) .
[0165] In some examples, the at least one processor 1035 may include multiple processors and the at least one memory 1025 may include multiple memories. One or more of the multiple processors may be coupled with one or more of the multiple memories, which may, individually or collectively, be configured to perform various functions herein. In some examples, the at least one processor 1035 may be a component of a processing system, which may refer to a system (such as a series) of machines, circuitry (including, for example, one or both of processor circuitry (which may include the at least one processor 1035) and memory circuitry (which may include the at least one memory 1025) ) , or components, that receives or obtains inputs and processes the inputs to produce, generate, or obtain a set of outputs. The processing system may be configured to perform one or more of the functions described herein. For example, the at least one processor 1035 or a processing system including the at least one processor 1035 may be configured to, configurable to, or operable to cause the device 1005 to perform one or more of the functions described herein. Further, as described herein, being “configured to, ” being “configurable to, ” and being “operable to”may be used interchangeably and may be associated with a capability, when executing code stored in the at least one memory 1025 or otherwise, to perform one or more of the functions described herein.
[0166] In some examples, a bus 1040 may support communications of (e.g., within) a protocol layer of a protocol stack. In some examples, a bus 1040 may support communications associated with a logical channel of a protocol stack (e.g., between protocol layers of a protocol stack) , which may include communications performed within a component of the device 1005, or between different components of the device 1005 that may be co-located or located in different locations (e.g., where the device 1005 may refer to a system in which one or more of the communications manager 1020, the transceiver 1010, the at least one memory 1025, the code 1030, and the at least one processor 1035 may be located in one of the different components or divided between different components) .
[0167] In some examples, the communications manager 1020 may manage aspects of communications with a core network 130 (e.g., via one or more wired or wireless backhaul links) . For example, the communications manager 1020 may manage the transfer of data communications for client devices, such as one or more UEs 115. In some examples, the communications manager 1020 may manage communications with one or more other network entities 105, and may include a controller or scheduler for controlling communications with UEs 115 (e.g., in cooperation with the one or more other network devices) . In some examples, the communications manager 1020 may support an X2 interface within an LTE / LTE-A wireless communications network technology to provide communication between network entities 105.
[0168] The communications manager 1020 may support wireless communications in accordance with examples as disclosed herein. For example, the communications manager 1020 is capable of, configured to, or operable to support a means for generating a set of CRC bits associated with a set of information bits using a CRC generation function configured to generate a set of multiple CRC bit lengths, where the set of multiple CRC bit lengths includes a six bit CRC length, an eleven bit CRC length, and a sixteen bit CRC length, where the CRC generation function includes a first polynomial nested within a second polynomial that is nested within a third polynomial, where the first polynomial is associated with the six bit CRC length, where the second polynomial is associated with the eleven bit CRC length, where the third polynomial is associated with the sixteen bit CRC length, and where the first polynomial includes four or less terms and satisfies a probability of undetected error threshold. The communications manager 1020 is capable of, configured to, or operable to support a means for transmitting a TB that includes the set of information bits appended with the set of CRC bits.
[0169] By including or configuring the communications manager 1020 in accordance with examples as described herein, the device 1005 may support techniques for improved communication reliability, reduced power consumption, and more efficient utilization of communication resources.
[0170] In some examples, the communications manager 1020 may be configured to perform various operations (e.g., receiving, obtaining, monitoring, outputting, transmitting) using or otherwise in cooperation with the transceiver 1010, the one or more antennas 1015 (e.g., where applicable) , or any combination thereof. Although the communications manager 1020 is illustrated as a separate component, in some examples, one or more functions described with reference to the communications manager 1020 may be supported by or performed by the transceiver 1010, one or more of the at least one processor 1035, one or more of the at least one memory 1025, the code 1030, or any combination thereof (for example, by a processing system including at least a portion of the at least one processor 1035, the at least one memory 1025, the code 1030, or any combination thereof) . For example, the code 1030 may include instructions executable by one or more of the at least one processor 1035 to cause the device 1005 to perform various aspects of nested CRC polynomials as described herein, or the at least one processor 1035 and the at least one memory 1025 may be otherwise configured to, individually or collectively, perform or support such operations.
[0171] FIG. 11 shows a flowchart illustrating a method 1100 that supports nested CRC polynomials in accordance with one or more aspects of the present disclosure. The operations of the method 1100 may be implemented by a UE or a network entity or its components as described herein. For example, the operations of the method 1100 may be performed by a UE 115 or a network entity as described with reference to FIGs. 1 through 10. In some examples, a UE or a network entity may execute a set of instructions to control the functional elements of the UE or the network entity to perform the described functions. Additionally, or alternatively, the UE or the network entity may perform aspects of the described functions using special-purpose hardware.
[0172] At 1105, the method may include generating a set of CRC bits associated with a set of information bits using a CRC generation function configured to generate a set of multiple CRC bit lengths, where the set of multiple CRC bit lengths includes a six bit CRC length, an eleven bit CRC length, and a sixteen bit CRC length, where the CRC generation function includes a first polynomial nested within a second polynomial that is nested within a third polynomial, where the first polynomial is associated with the six bit CRC length, where the second polynomial is associated with the eleven bit CRC length, where the third polynomial is associated with the sixteen bit CRC length, and where the first polynomial includes four or less terms and satisfies a probability of undetected error threshold. The operations of 1105 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1105 may be performed by an CRC generation manager 825 as described with reference to FIG. 8.
[0173] At 1110, the method may include transmitting a TB that includes the set of information bits appended with the set of CRC bits. The operations of 1110 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1110 may be performed by a transmission manager 830 as described with reference to FIG. 8.
[0174] The following provides an overview of aspects of the present disclosure:
[0175] Aspect 1: A method for wireless communications at a wireless communication device, comprising: generating a set of CRC bits associated with a set of information bits using a CRC generation function configured to generate a plurality of CRC bit lengths, wherein the plurality of CRC bit lengths comprises a six bit CRC length, an eleven bit CRC length, and a sixteen bit CRC length, wherein the CRC generation function comprises a first polynomial nested within a second polynomial that is nested within a third polynomial, wherein the first polynomial is associated with the six bit CRC length, wherein the second polynomial is associated with the eleven bit CRC length, and wherein the third polynomial is associated with the sixteen bit CRC length, and wherein the first polynomial comprises four or less terms and satisfies a probability of undetected error threshold; and transmitting a TB that includes the set of information bits appended with the set of CRC bits.
[0176] Aspect 2: The method of aspect 1, wherein the third polynomial is one of x^16+x^11+x^6+x^2+x^1+1, x^16+x^11+x^6+x^3+x^2+1, x^16+x^11+x^6+x^4+x^3+1, x^16+x^11+x^6+x^5+x^4+1, or x^16+x^11+x^6+x^1+1.
[0177] Aspect 3: The method of any of aspects 1 through 2, wherein the second polynomial adds an x^11 term to the first polynomial, and the third polynomial adds an x^16 term to the second polynomial.
[0178] Aspect 4: The method of any of aspects 1 through 3, wherein generating the set of CRC bits comprises: generating the set of CRC bits using the first polynomial when a quantity of bits of the set of information bits is less than a first threshold; generating the set of CRC bits using the second polynomial when the quantity of bits is greater than or equal to the first threshold and less than a second threshold; and generating the set of CRC bits using the third polynomial when the quantity of bits is greater than or equal to the second threshold.
[0179] Aspect 5: The method of aspect 4, wherein the third polynomial is x^16+x^11+x^6+x^4+x^3+1, the first threshold is between 16 bits and 24 bits inclusive, and the second threshold is between 88 and 112 bits inclusive.
[0180] Aspect 6: The method of aspect 4, wherein the third polynomial is x^16+x^11+x^6+x^4+x^3+1, the first threshold is one of 16 bits, 19 bits, or 24 bits, and the second threshold is one of 88 bits, 96 bits, 104 bits, or 112 bits.
[0181] Aspect 7: The method of aspect 4, wherein the third polynomial is x^16+x^11+x^6+x^3+x^2+1, a TBS step size for the TB is one bit or one byte, the first threshold is between 16 bits and 24 bits inclusive, and the second threshold is between 96 and 120 bits inclusive.
[0182] Aspect 8: The method of aspect 4, wherein the third polynomial is x^16+x^11+x^6+x^3+x^2+1, the first threshold is one of 16 bits, 19 bits, or 24 bits, and the second threshold is one of 96 bits, 104 bits, 112 bits, or 120 bits.
[0183] Aspect 9: The method of any of aspects 1 through 3, wherein generating the set of CRC bits comprises: generating the set of CRC bits using the first polynomial when a quantity of bits of the set of information bits is less than a threshold; and generating the set of CRC bits using the third polynomial when the quantity of bits is greater than or equal to the threshold.
[0184] Aspect 10: The method of aspect 9, wherein the third polynomial is x^16+x^11+x^6+x^4+x^3+1 or x^16+x^11+x^6+x^3+x^2+1, a TBS step size for the TB is one bit or one byte, and the threshold is between 18 bits and 24 bits inclusive.
[0185] Aspect 11: The method of aspect 9, wherein the third polynomial is x^16+x^11+x^6+x^4+x^3+1 or x^16+x^11+x^6+x^3+x^2+1, and the threshold is one of 16 bits, 19 bits, or 24 bits.
[0186] Aspect 12: The method of any of aspects 1 through 11, wherein the wireless communication device comprises at least one of a UE, a network entity, an ambient internet-of-things (A-IoT) device, an IoT device, an energy harvesting capable device, a wireless tag, a low-complexity device, a low-power device, or a low-cost device.
[0187] Aspect 13: A wireless communication device for wireless communications, comprising one or more memories storing processor-executable code, and one or more processors coupled with the one or more memories and individually or collectively operable to execute the code to cause the wireless communication device to perform a method of any of aspects 1 through 12.
[0188] Aspect 14: A wireless communication device for wireless communications, comprising at least one means for performing a method of any of aspects 1 through 12.
[0189] Aspect 15: A non-transitory computer-readable medium storing code for wireless communications, the code comprising instructions executable by one or more processors to perform a method of any of aspects 1 through 12.
[0190] It should be noted that the methods described herein describe possible implementations. The operations and the steps may be rearranged or otherwise modified and other implementations are possible. Further, aspects from two or more of the methods may be combined.
[0191] Although aspects of an LTE, LTE-A, LTE-A Pro, or NR system may be described for purposes of example, and LTE, LTE-A, LTE-A Pro, or NR terminology may be used in much of the description, the techniques described herein are applicable beyond LTE, LTE-A, LTE-A Pro, or NR networks. For example, the described techniques may be applicable to various other wireless communications systems such as Ultra Mobile Broadband (UMB) , Institute of Electrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi) , IEEE 802.16 (WiMAX) , IEEE 802.20, Flash-OFDM, as well as other systems and radio technologies not explicitly mentioned herein.
[0192] Information and signals described herein may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
[0193] The various illustrative blocks and components described in connection with the disclosure herein may be implemented or performed using a general-purpose processor, a DSP, an ASIC, a CPU, a graphics processing unit (GPU) , a neural processing unit (NPU) , 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 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, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration) . Any functions or operations described herein as being capable of being performed by a processor may be performed by multiple processors that, individually or collectively, are capable of performing the described functions or operations.
[0194] The functions described herein may be implemented using hardware, software executed by a processor, firmware, or any combination thereof. If implemented using software executed by a processor, the functions may be stored as or transmitted using one or more instructions or code of a computer-readable medium. Other examples and implementations are within the scope of the disclosure and appended claims. For example, due to the nature of software, functions described herein may be implemented using software executed by a processor, hardware, firmware, hardwiring, or combinations of any of these. Features implementing functions may also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations.
[0195] Computer-readable media includes both non-transitory computer storage media and communication media including any medium that facilitates transfer of a computer program from one location to another. A non-transitory storage medium may be any available medium that may be accessed by a general-purpose or special-purpose computer. By way of example, and not limitation, non-transitory computer-readable media may include RAM, ROM, electrically erasable programmable ROM (EEPROM) , flash memory, compact disk (CD) ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that may be used to carry or store desired program code means in the form of instructions or data structures and that may be accessed by a general-purpose or special-purpose computer or a general-purpose or special-purpose processor. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL) , or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of computer-readable medium. Disk and disc, as used herein, include CD, laser disc, optical disc, digital versatile disc (DVD) , floppy disk, and Blu-ray disc. Disks may reproduce data magnetically, and discs may reproduce data optically using lasers. Combinations of the above are also included within the scope of computer-readable media. Any functions or operations described herein as being capable of being performed by a memory may be performed by multiple memories that, individually or collectively, are capable of performing the described functions or operations.
[0196] As used herein, including in the claims, “or” as used in a list of items (e.g., a list of items prefaced by a phrase such as “at least one of” or “one or more of” ) indicates an inclusive list such 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 (i.e., A and B and C) . Also, as used herein, the phrase “based on” shall not be construed as a reference to a closed set of conditions. For example, an example step that is described as “based on condition A” may be based on both a condition A and a condition B without departing from the scope of the present disclosure. In other words, as used herein, the phrase “based on” shall be construed in the same manner as the phrase “based at least in part on. ”
[0197] As used herein, including in the claims, the article “a” before a noun is open-ended and understood to refer to “at least one” of those nouns or “one or more” of those nouns. Thus, the terms “a, ” “at least one, ” “one or more, ” and “at least one of one or more” may be interchangeable. For example, if a claim recites “a component” that performs one or more functions, each of the individual functions may be performed by a single component or by any combination of multiple components. Thus, the term “a component” having characteristics or performing functions may refer to “at least one of one or more components” having a particular characteristic or performing a particular function. Subsequent reference to a component introduced with the article “a” using the terms “the” or “said” may refer to any or all of the one or more components. For example, a component introduced with the article “a” may be understood to mean “one or more components, ” and referring to “the component” subsequently in the claims may be understood to be equivalent to referring to “at least one of the one or more components. ” Similarly, subsequent reference to a component introduced as “one or more components” using the terms “the” or “said” may refer to any or all of the one or more components. For example, referring to “the one or more components” subsequently in the claims may be understood to be equivalent to referring to “at least one of the one or more components. ” Also, as used herein, the phrase “a set” shall be construed as including the possibility of a set with one member. That is, the phrase “a set” shall be construed in the same manner as “one or more. ”
[0198] The term “determine” or “determining” encompasses a variety of actions and, therefore, “determining” can include calculating, computing, processing, deriving, investigating, looking up (such as via looking up in a table, a database, or another data structure) , ascertaining, and the like. Also, “determining” can include receiving (e.g., receiving information) , accessing (e.g., accessing data stored in memory) , and the like. Also, “determining” can include resolving, obtaining, selecting, choosing, establishing, and other such similar actions.
[0199] In the appended figures, similar components or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a dash and a second label that distinguishes among the similar components. If just the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label or other subsequent reference label.
[0200] The description set forth herein, in connection with the appended drawings, describes example configurations and does not represent all the examples that may be implemented or that are within the scope of the claims. The term “example” used herein means “serving as an example, instance, or illustration” and not “preferred” or “advantageous over other examples. ” The detailed description includes specific details for the purpose of providing an understanding of the described techniques. These techniques, however, may be practiced without these specific details. In some figures, known structures and devices are shown in block diagram form in order to avoid obscuring the concepts of the described examples.
[0201] The description herein is provided to enable a person having ordinary skill in the art to make or use the disclosure. Various modifications to the disclosure will be apparent to a person having ordinary skill in the art, and the generic principles defined herein may be applied to other variations without departing from the scope of the disclosure. Thus, the disclosure is not limited to the examples and designs described herein but is to be accorded the broadest scope consistent with the principles and novel features disclosed herein.
Claims
1.A wireless communication device, comprising:one or more memories storing processor-executable code; andone or more processors coupled with the one or more memories and individually or collectively operable to execute the code to cause the wireless communication device to:generate a set of cyclic redundancy check (CRC) bits associated with a set of information bits using a CRC generation function configured to generate a plurality of CRC bit lengths, wherein:the plurality of CRC bit lengths comprises a six bit CRC length, an eleven bit CRC length, and a sixteen bit CRC length,the CRC generation function comprises a first polynomial nested within a second polynomial that is nested within a third polynomial, the first polynomial associated with the six bit CRC length, the second polynomial associated with the eleven bit CRC length, and the third polynomial associated with the sixteen bit CRC length, andthe first polynomial comprises four or less terms and satisfies a probability of undetected error threshold; andtransmit a transport block that includes the set of information bits appended with the set of CRC bits.2.The wireless communication device of claim 1, wherein the third polynomial is one of x^16+x^11+x^6+x^2+x^1+1, x^16+x^11+x^6+x^3+x^2+1, x^16+x^11+x^6+x^4+x^3+1, x^16+x^11+x^6+x^5+x^4+1, or x^16+x^11+x^6+x^1+1.3.The wireless communication device of claim 1, wherein:the second polynomial adds an x^11 term to the first polynomial, andthe third polynomial adds an x^16 term to the second polynomial.4.The wireless communication device of claim 1, wherein, to generate the set of CRC bits, the one or more processors are individually or collectively operable to execute the code to cause the wireless communication device to:generate the set of CRC bits using the first polynomial when a quantity of bits of the set of information bits is less than a first threshold;generate the set of CRC bits using the second polynomial when the quantity of bits is greater than or equal to the first threshold and less than a second threshold; andgenerate the set of CRC bits using the third polynomial when the quantity of bits is greater than or equal to the second threshold.5.The wireless communication device of claim 4, wherein:the third polynomial is x^16+x^11+x^6+x^4+x^3+1,a transport block size step size for the transport block is one bit or one byte,the first threshold is between 16 bits and 24 bits inclusive, andthe second threshold is between 88 and 112 bits inclusive.6.The wireless communication device of claim 4, wherein:the third polynomial is x^16+x^11+x^6+x^4+x^3+1,the first threshold is one of 16 bits, 19 bits, or 24 bits, andthe second threshold is one of 88 bits, 96 bits, 104 bits, or 112 bits.7.The wireless communication device of claim 4, wherein:the third polynomial is x^16+x^11+x^6+x^3+x^2+1,a transport block size step size for the transport block is one bit or one byte,the first threshold is between 16 bits and 24 bits inclusive, andthe second threshold is between 96 and 120 bits inclusive.8.The wireless communication device of claim 4, wherein:the third polynomial is x^16+x^11+x^6+x^3+x^2+1,the first threshold is one of 16 bits, 19 bits, or 24 bits, andthe second threshold is one of 96 bits, 104 bits, 112 bits, or 120 bits.9.The wireless communication device of claim 1, wherein, to generate the set of CRC bits, the one or more processors are individually or collectively operable to execute the code to cause the wireless communication device to:generate the set of CRC bits using the first polynomial when a quantity of bits of the set of information bits is less than a threshold; andgenerate the set of CRC bits using the third polynomial when the quantity of bits is greater than or equal to the threshold.10.The wireless communication device of claim 9, wherein:the third polynomial is x^16+x^11+x^6+x^4+x^3+1 or x^16+x^11+x^6+x^3+x^2+1,a transport block size step size for the transport block is one bit or one byte, andthe threshold is between 18 bits and 24 bits inclusive.11.The wireless communication device of claim 9, wherein:the third polynomial is x^16+x^11+x^6+x^4+x^3+1 or x^16+x^11+x^6+x^3+x^2+1, andthe threshold is one of 16 bits, 19 bits, or 24 bits.12.The wireless communication device of claim 1, wherein the wireless communication device comprises at least one of a user equipment (UE) , a network entity, an ambient internet-of-things (A-IoT) device, an IoT device, an energy harvesting capable device, a wireless tag, a low-complexity device, a low-power device, or a low-cost device.13.A method for wireless communications at a wireless communication device, comprising:generating a set of cyclic redundancy check (CRC) bits associated with a set of information bits using a CRC generation function configured to generate a plurality of CRC bit lengths, wherein:the plurality of CRC bit lengths comprises a six bit CRC length, an eleven bit CRC length, and a sixteen bit CRC length,the CRC generation function comprises a first polynomial nested within a second polynomial that is nested within a third polynomial, the first polynomial associated with the six bit CRC length, the second polynomial associated with the eleven bit CRC length, and the third polynomial associated with the sixteen bit CRC length, andthe first polynomial comprises four or less terms and satisfies a probability of undetected error threshold; andtransmitting a transport block that includes the set of information bits appended with the set of CRC bits.14.The method of claim 13, wherein the third polynomial is one of x^16+x^11+x^6+x^2+x^1+1, x^16+x^11+x^6+x^3+x^2+1, x^16+x^11+x^6+x^4+x^3+1, x^16+x^11+x^6+x^5+x^4+1, or x^16+x^11+x^6+x^1+1.15.The method of claim 13, wherein:the second polynomial adds an x^11 term to the first polynomial, andthe third polynomial adds an x^16 term to the second polynomial.16.The method of claim 13, wherein generating the set of CRC bits comprises:generating the set of CRC bits using the first polynomial when a quantity of bits of the set of information bits is less than a first threshold;generating the set of CRC bits using the second polynomial when the quantity of bits is greater than or equal to the first threshold and less than a second threshold; andgenerating the set of CRC bits using the third polynomial when the quantity of bits is greater than or equal to the second threshold.17.The method of claim 16, wherein:the third polynomial is x^16+x^11+x^6+x^4+x^3+1,a transport block size step size for the transport block is one bit or one byte,the first threshold is between 16 bits and 24 bits inclusive, andthe second threshold is between 88 and 112 bits inclusive.18.The method of claim 16, wherein:the third polynomial is x^16+x^11+x^6+x^4+x^3+1,the first threshold is one of 16 bits, 19 bits, or 24 bits, andthe second threshold is one of 88 bits, 96 bits, 104 bits, or 112 bits.19.The method of claim 16, wherein:the third polynomial is x^16+x^11+x^6+x^3+x^2+1,a transport block size step size for the transport block is one bit or one byte,the first threshold is between 16 bits and 24 bits inclusive, andthe second threshold is between 96 and 120 bits inclusive.20.A non-transitory computer-readable medium storing code for wireless communications, the code comprising instructions executable by one or more processors to:generate a set of cyclic redundancy check (CRC) bits associated with a set of information bits using a CRC generation function configured to generate a plurality of CRC bit lengths, wherein:the plurality of CRC bit lengths comprises a six bit CRC length, an eleven bit CRC length, and a sixteen bit CRC length,the CRC generation function comprises a first polynomial nested within a second polynomial that is nested within a third polynomial, the first polynomial associated with the six bit CRC length, the second polynomial associated with the eleven bit CRC length, and the third polynomial associated with the sixteen bit CRC length, andthe first polynomial comprises four or less terms and satisfies a probability of undetected error threshold; andtransmit a transport block that includes the set of information bits appended with the set of CRC bits.