Nested convolutional codes design
The implementation of specific convolutional encoders and decoders with optimized polynomial sets addresses the encoding and decoding challenges for energy-harvesting devices, enhancing error correction and communication efficiency in wireless systems.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-24
- Publication Date
- 2026-04-02
AI Technical Summary
Existing wireless communication systems face challenges in efficiently encoding and decoding data for energy-harvesting devices, particularly those using convolutional codes, which affect error correction and communication efficiency.
Implementing a method and apparatus that utilize a specific set of convolutional encoders and decoders with constraint lengths and polynomial sets, expressed in octal values, to enhance encoding and decoding processes for energy-harvesting devices, including IoT devices, thereby improving error correction and communication efficiency.
The proposed solution enhances the encoding and decoding processes for energy-harvesting devices, improving error correction and communication efficiency, particularly for IoT devices, by utilizing a set of convolutional encoders and decoders with optimized polynomial sets.
Smart Images

Figure CN2024120693_02042026_PF_FP_ABST
Abstract
Description
NESTED CONVOLUTIONAL CODES DESIGN
[0001] INTRODUCTION
[0002] The following relates to wireless communications, including techniques for convolutional codes.
[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) .
[0004] Some network devices, such as a UE, an internet of things (IoT) device, or an ambient IoT (A-IoT) device, may be capable of performing energy harvesting (EH) , meaning that the EH-capable device may harvest energy from the environment (e.g., solar, heat, and radio frequency (RF) radiation) . An A-IoT device may comprise a terminal, such as a radio frequency identification (RFID) device, a tag, an energy harvesting device, a passive device, a backscatter communication device, a passive tag, a semi-passive tag, an active tag, a similar device, or any combination thereof. Some EH-capable devices may harvest energy from RF radiation. For example, some network devices may include dedicated receiver architecture for harvesting energy (e.g., a dedicated antenna and energy harvesting circuitry) . Some EH-capable devices may be configured as passive devices, meaning that the UEs may harvest energy over the air and may perform backscatter based communications. Some EH-capable devices may be configured as semi-passive devices, meaning that the EH-capable device includes a battery and may store harvested energy or amplify backscatter based communications. Some EH-capable devices may be configured as active devices, meaning that the EH-capable devices may initiate communications as well as perform backscatter based communications.
[0005] A network device may employ a convolutional encoder to enable error correction of a signal transmitted by the network device. A convolutional encoder may generate a quantity of parity bits by applying one or more Boolean polynomial functions to a quantity of data bits in a shift register.SUMMARY
[0006] 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.
[0007] A method for wireless communications by a first device is described. The method may include transmitting, to a second device, a bit sequence encoded with a convolutional encoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] .
[0008] A first device for wireless communications is described. The first 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 first device to transmit, to a second device, a bit sequence encoded with a convolutional encoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] .
[0009] Another first device for wireless communications is described. The first device may include means for transmitting, to a second device, a bit sequence encoded with a convolutional encoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] .
[0010] 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 transmit, to a second device, a bit sequence encoded with a convolutional encoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] .
[0011] In some examples of the method, first devices, and non-transitory computer-readable medium described herein, the bit sequence may be transmitted in accordance with a first coding rate selected from a set of multiple coding rates supported by the convolutional encoder and the subset of polynomials of the polynomial set includes a quantity of N polynomials that corresponds with the first coding rate.
[0012] In some examples of the method, first devices, and non-transitory computer-readable medium described herein, the set of multiple coding rates includes at least a subset of a set of coding rates consisting of 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 1 / 11, and 1 / 12.
[0013] In some examples of the method, first devices, and non-transitory computer-readable medium described herein, the N polynomials of each of a set of multiple subsets of polynomials of the polynomial set may be a first N polynomials of the polynomial set.
[0014] Some examples of the method, first devices, and non-transitory computer-readable medium described herein may further include operations, features, means, or instructions for receiving a carrier wave from the second device, transmitting the bit sequence based on the carrier wave, and where the first device may be an ambient internet of things (AIoT) device and the second device may be a reader device.
[0015] In some examples of the method, first devices, and non-transitory computer-readable medium described herein, the polynomial set corresponds to, expressed with octal values, [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , or [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] .
[0016] A method for wireless communications by a second device is described. The method may include decoding an encoded bit sequence received from a first device using a convolutional decoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , where the encoded bit sequence is encoded in accordance with the subset of polynomials of the polynomial set.
[0017] A second device for wireless communications is described. The second 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 second device to decode an encoded bit sequence received from a first device using a convolutional decoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , where the encoded bit sequence is encoded in accordance with the subset of polynomials of the polynomial set.
[0018] Another second device for wireless communications is described. The second device may include means for decoding an encoded bit sequence received from a first device using a convolutional decoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , where the encoded bit sequence is encoded in accordance with the subset of polynomials of the polynomial set.
[0019] 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 decode an encoded bit sequence received from a first device using a convolutional decoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , where the encoded bit sequence is encoded in accordance with the subset of polynomials of the polynomial set.
[0020] In some examples of the method, second devices, and non-transitory computer-readable medium described herein, the encoded bit sequence may be decoded in accordance with a first coding rate selected from a set of multiple coding rates supported by the convolutional decoder and the subset of polynomials of the polynomial set includes a quantity of N polynomials that corresponds with the first coding rate.
[0021] In some examples of the method, second devices, and non-transitory computer-readable medium described herein, the set of multiple coding rates includes at least a subset of a set consisting of 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 1 / 11, and 1 / 12.
[0022] In some examples of the method, second devices, and non-transitory computer-readable medium described herein, the N polynomials of a set of multiple subsets of polynomials of the polynomial set may be a first N polynomials of the polynomial set.
[0023] Some examples of the method, second devices, and non-transitory computer-readable medium described herein may further include operations, features, means, or instructions for transmitting a carrier wave to the first device, receiving the encoded bit sequence based on the carrier wave, and where the first device may be an ambient internet of things (AIoT) device and the second device may be a reader device.
[0024] In some examples of the method, second devices, and non-transitory computer-readable medium described herein, the polynomial set corresponds to, expressed with octal values, [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , or [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] .
[0025] A method for wireless communications by an apparatus is described. The method may include generating a set of multiple initial convolutional coding (CC) polynomial sets associated with an initial coding rate, selecting an initial subset of the set of multiple initial CC polynomial sets based on one or more maximum free distance (MFD) metrics associated with the initial subset, one or more optimum distance spectrum (ODS) metrics associated with the initial subset, or both, and generating a group of nested CC polynomial sets based on an iterative nesting process, where each iteration of the iterative nesting process is associated with a coding rate of a set of multiple coding rates, and where each iteration of the iterative nesting process may include operations, features, means, or instructions for obtaining the coding rate, generating a set of multiple candidate CC polynomial sets based on appending, to a set of multiple input CC polynomial sets, a set of multiple additional CC polynomial sets associated with a difference between the coding rate and a coding rate of a prior iteration, and generating a set of multiple output CC polynomial sets based on selecting, from among the set of multiple candidate CC polynomial sets, a subset of the set of multiple candidate CC polynomial sets based on one or more MFD metrics associated with the subset of the set of multiple candidate CC polynomial sets, one or more ODS metrics associated with the subset of the set of multiple candidate CC polynomial sets, or both.
[0026] An apparatus for wireless communications is described. The apparatus 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 apparatus to generate a set of multiple initial convolutional coding (CC) polynomial sets associated with an initial coding rate, select an initial subset of the set of multiple initial CC polynomial sets based on one or more maximum free distance (MFD) metrics associated with the initial subset, one or more optimum distance spectrum (ODS) metrics associated with the initial subset, or both, and generate a group of nested CC polynomial sets based on an iterative nesting process, where each iteration of the iterative nesting process is associated with a coding rate of a set of multiple coding rates, and where, to each iteration of the iterative nesting process, the one or more processors are individually or collectively operable to execute the code to cause the apparatus to obtain the coding rate, generate a set of multiple candidate CC polynomial sets based on appending, to a set of multiple input CC polynomial sets, a set of multiple additional CC polynomial sets associated with a difference between the coding rate and a coding rate of a prior iteration, and generate a set of multiple output CC polynomial sets based on selecting, from among the set of multiple candidate CC polynomial sets, a subset of the set of multiple candidate CC polynomial sets based on one or more MFD metrics associated with the subset of the set of multiple candidate CC polynomial sets, one or more ODS metrics associated with the subset of the set of multiple candidate CC polynomial sets, or both.
[0027] Another apparatus for wireless communications is described. The apparatus may include means for generating a set of multiple initial convolutional coding (CC) polynomial sets associated with an initial coding rate, means for selecting an initial subset of the set of multiple initial CC polynomial sets based on one or more maximum free distance (MFD) metrics associated with the initial subset, one or more optimum distance spectrum (ODS) metrics associated with the initial subset, or both, and means for generating a group of nested CC polynomial sets based on an iterative nesting process, where each iteration of the iterative nesting process is associated with a coding rate of a set of multiple coding rates, and where the means for each iteration of the iterative nesting process include means for obtaining the coding rate, means for generating a set of multiple candidate CC polynomial sets based on appending, to a set of multiple input CC polynomial sets, a set of multiple additional CC polynomial sets associated with a difference between the coding rate and a coding rate of a prior iteration, and means for generating a set of multiple output CC polynomial sets based on selecting, from among the set of multiple candidate CC polynomial sets, a subset of the set of multiple candidate CC polynomial sets based on one or more MFD metrics associated with the subset of the set of multiple candidate CC polynomial sets, one or more ODS metrics associated with the subset of the set of multiple candidate CC polynomial sets, or both.
[0028] 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 multiple initial convolutional coding (CC) polynomial sets associated with an initial coding rate, select an initial subset of the set of multiple initial CC polynomial sets based on one or more maximum free distance (MFD) metrics associated with the initial subset, one or more optimum distance spectrum (ODS) metrics associated with the initial subset, or both, and generate a group of nested CC polynomial sets based on an iterative nesting process, where each iteration of the iterative nesting process is associated with a coding rate of a set of multiple coding rates, and where the instructions to each iteration of the iterative nesting process are executable to obtain the coding rate, generate a set of multiple candidate CC polynomial sets based on appending, to a set of multiple input CC polynomial sets, a set of multiple additional CC polynomial sets associated with a difference between the coding rate and a coding rate of a prior iteration, and generate a set of multiple output CC polynomial sets based on selecting, from among the set of multiple candidate CC polynomial sets, a subset of the set of multiple candidate CC polynomial sets based on one or more MFD metrics associated with the subset of the set of multiple candidate CC polynomial sets, one or more ODS metrics associated with the subset of the set of multiple candidate CC polynomial sets, or both.
[0029] Some examples of the method, apparatus , and non-transitory computer-readable medium described herein may further include operations, features, means, or instructions for terminating the iterative nesting process based on performing an iteration of the iterative nesting process that may be associated with a greatest coding rate of the set of multiple coding rates.
[0030] In some examples of the method, apparatus , and non-transitory computer-readable medium described herein, obtaining the coding rate may include operations, features, means, or instructions for modifying a denominator of a previous coding rate.
[0031] In some examples of the method, apparatus , and non-transitory computer-readable medium described herein, the set of multiple input CC polynomial sets for a first iteration of the iterative nesting process may be the initial subset of the set of multiple initial CC polynomial sets.
[0032] In some examples of the method, apparatus , and non-transitory computer-readable medium described herein, the set of multiple initial CC polynomial sets includes permutations of CC polynomial sets associated with the initial coding rate and the set of multiple additional CC polynomial sets includes permutations of CC polynomial sets associated with the coding rate.
[0033] In some examples of the method, apparatus , and non-transitory computer-readable medium described herein, the selection of the subset of the set of multiple candidate CC polynomial sets may be based on one or more block error rate (BLER) metrics associated with the subset of the set of multiple candidate CC polynomial sets.
[0034] In some examples of the method, apparatus , and non-transitory computer-readable medium described herein, the initial coding rate may be 1 / 2 and the set of multiple coding rates includes one or more of 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 1 / 11, or 1 / 12.
[0035] 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
[0036] FIG. 1 shows an example of a wireless communications system that supports nested convolutional codes design in accordance with one or more examples as disclosed herein.
[0037] FIG. 2 shows an example of a signaling diagram that supports nested convolutional codes design in accordance with one or more examples as disclosed herein.
[0038] FIG. 3 shows an example of a convolutional encoder that supports nested convolutional codes design in accordance with one or more examples as disclosed herein.
[0039] FIG. 4 shows an example of a search scheme that supports nested convolutional codes design in accordance with one or more examples as disclosed herein.
[0040] FIG. 5 shows an example of a polynomial scheme that supports nested convolutional codes design in accordance with one or more examples as disclosed herein.
[0041] FIG. 6 shows an example of a convolutional encoder that supports nested convolutional codes design in accordance with one or more examples as disclosed herein.
[0042] FIG. 7 shows an example of a process flow that supports nested convolutional codes design in accordance with one or more examples as disclosed herein.
[0043] FIGs. 8 and 9 show block diagrams of devices that support nested convolutional codes design in accordance with one or more examples as disclosed herein.
[0044] FIG. 10 shows a block diagram of a communications manager that supports nested convolutional codes design in accordance with one or more examples as disclosed herein.
[0045] FIG. 11 shows a diagram of a system including a device that supports nested convolutional codes design in accordance with one or more examples as disclosed herein.
[0046] FIGs. 12 and 13 show block diagrams of devices that support nested convolutional codes design in accordance with one or more examples as disclosed herein.
[0047] FIG. 14 shows a block diagram of a communications manager that supports nested convolutional codes design in accordance with one or more examples as disclosed herein.
[0048] FIG. 15 shows a diagram of a system including a device that supports nested convolutional codes design in accordance with one or more examples as disclosed herein.
[0049] FIGs. 16 and 17 show block diagrams of devices that support nested convolutional codes design in accordance with one or more examples as disclosed herein.
[0050] FIG. 18 shows a block diagram of a communications manager that supports nested convolutional codes design in accordance with one or more examples as disclosed herein.
[0051] FIG. 19 shows a diagram of a system including a device that supports nested convolutional codes design in accordance with one or more examples as disclosed herein.
[0052] FIGs. 20 through 22 show flowcharts illustrating methods that support nested convolutional codes design in accordance with one or more examples as disclosed herein.DETAILED DESCRIPTION
[0053] In an ambient Internet of Things (AIoT) network environment, an energy harvesting device may be a relatively small and cheap device with limited capability. For example, the energy harvesting device (e.g., a relatively small and cheap device, such as an AIoT device, that may include energy harvesting capabilities, backscatter communications capabilities, passive radio frequency identification (RFID) capabilities, or or any combination thereof) may receive a carrier wave from a reader device (e.g., a device that may communicate with the energy harvesting device by providing a carrier wave to the energy harvesting device for the energy harvesting device to communicate via backscattering of the carrier wave, to power the energy harvesting device, or both) and may transmit an uplink message to the reader device by either backscattering on the carrier wave or by using energy harvested from the carrier wave. A first device may encode a bit sequence to enable a second device to detect and correct any errors that may occur during transmission. One such technique for encoding messages involves convolutional codes, which may be used where arbitrary block length (e.g., any block length or non-fixed block lengths) and economical maximum likelihood soft decision decoding (e.g., that allows for decoding determinations to be made based on intermediate values instead of fixed binary values) are desired.
[0054] For example, a 1 / 12 rate convolutional encoder may output 4 coded bits for every 1 input data bit, where the 12 coded bits are the result of passing bits from K-1 shift registers (e.g., or K-1 stages of a single shift register) through 12 polynomials, where K is the constraint length of the convolutional encoder (e.g., as described herein with reference to and depicted in FIG. 6) . . For example, a polynomial of 225 octal (or [1 0 0 1 0 1 0 1] binary) may produce a coded output bit that is the modulo-2 addition of bits corresponding to a current bit and the bits in the, third, fifth, and seventh shift registers of the convolutional encoder (e.g., as described herein with reference to and depicted in FIG. 6) . For a given code rate (e.g., which represents an input bit rate divided by an output bit rate, such as 1 / 4, . 1 / 8, 1 / 12 or other values) and constraint length K (e.g., the “memory” of the encoder, which correlates to the quantity of shift registers plus 1) , many polynomials are possible, but not all possible polynomials are associated with a valid decoding trellis (e.g., an arrangement of shift registers and adders that produce multiple outputs based on multiple polynomials of a convolutional encoder) and some polynomials produce better performance than other polynomials. A relatively large constraint length K (e.g., a larger quantity of shift registers) may improve performance, but may also increase the complexity of the convolutional encoder. Similarly, decreasing the code rate (e.g., decreasing the ratio of an input data rate and an output data rate) of a convolutional encoder (e.g., from 1 / 3 to 1 / 4) may improve performance (e.g., due to additional outputs of the convolutional encoder being produced for the single input) at the cost of increased complexity (e.g., due to the increased processing involved with producing the additional outputs of the convolutional encoder) . For a relatively simple device such as an energy harvesting device (or for other devices) , a valid combination of code rate, constraint length K, and polynomials that reduces complexity, improves performance, or both may be desired. However, situations involving a lower constraint length may be limited in that they may not provide desired performance improvements in situations involving lower code rates (e.g., the performance of lower code rates associated with lower constraint length may be less than performance of lower code rates associated with higher constraint lengths) and may not provide desired amounts of redundancy in the coding process, which may lead to communications failures (e.g., when the small amounts of redundancy cannot overcome adverse communications conditions) .
[0055] Thus, it may be desirable to search for polynomials that provide the desired performance improvements, including situations involving a constraint length of 8. The techniques described herein may involve searching for polynomials to be used in convolutional encoders for various different coding rates and for a constraint length of 8.
[0056] Both AIoT devices and other devices may benefit from considering both complexity and power consumption in operations. For example, AIoT systems may be low-complexity system (e.g., compared to other systems) and a UE may be a reader device that may communicate with AIoT devices. As such, lower complexity convolutional code designs may be desirable. The techniques described herein involve nested convolutional code designs (and techniques for searching for convolutional code polynomials) with a constraint length of 8 (e.g., associated with forward error correction) .
[0057] For example, the techniques described herein may involve the use of “nested” polynomials to support convolutional codes with coding rates from 1 / 2 to 1 / 12 (e.g., 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 1 / 11, 1 / 12) . In some examples, multiple coding rates (e.g., of which a device is capable of using or is assigned to use) may be considered to be a set of coding rates. In some examples, a set of coding rates may include a single coding rate or multiple coding rates. A set of coding rates may include consecutive coding rates (e.g., 1 / 2, 1 / 3, 1 / 4) , non-consecutive coding rates (e.g., 1 / 3, 1 / 5, 1 / 8) , or any combination thereof.
[0058] In some examples, a convolutional code with a coding rate of 1 / 2 may adopt a polynomial that has superior characteristics (e.g., measure with one or more metrics, such as maximum free distance (MFD) optimum distance spectrum (ODS) , block error rate (BLER) , one or more other metrics, or any combination thereof) as compared to other coding rates. In some examples, such metrics may include MFD. MFD may be considered to be an appropriate metric for determining the quality or effectiveness of convolutional codes used with Viterbi decoding. In some examples, MFD may be used as a selection metric, comparing the free distance between multiple polynomials and selecting those that have a greater free distance (e.g., greater than an MFD threshold or having a greater relative MFD compared to other polynomials) . Additionally, or alternatively, ODS may be employed to rate or compare polynomials. In some examples, ODS may be employed for convolutional code feedforward encoders to select between polynomials (e.g., when they have the same free distance, same rate R and constraint length K) . In some examples, ODS may be used as a selection metric by comparing the error weight sequence of multiple polynomials and selecting one or more polynomials with smaller error weight sequences (e.g., that are less than an ODS threshold or having a lesser relative ODS compared to other polynomials) .
[0059] The use of and search for such “nested” polynomials may involve an iterative search process across multiple coding rates (as will be described in more detail herein) . Given a constraint length of 8, 255 different polynomials are possible for a single coding rate. Further given an overall coding rate of 1 / 6 (as one example) , a total of 2556 permutations are possible. Searching such a space to find superior polynomials involves high search complexity which, in some cases, is not feasible or desirable. As such, the use of and search for “nested” polynomials may reduce the search complexity.
[0060] In some examples, nested polynomials may refer to polynomials generated, selected, or otherwise obtained through an iterative process for polynomial search. For example, considering an example constraint length of 8 (though searches may be performed for any constraint length following the same or similar techniques) , a search may first begin with a convolutional code of a coding rate 1 / 2 and may explore polynomials associated with the coding rate of 1 / 2. Candidates are selected, and the search phase iterates through additional coding rates. At each iteration, additional polynomials associated with the current coding rate are added to the set of candidates, at which time the entire set (e.g., including the appended polynomials) are measured using one or more metrics to select one or more polynomials of the entire set. These polynomials are preserved to serve as the basis for the following iteration. This process may be repeated for multiple different coding rates, with each iteration adding additional polynomials before reconsidering the entire set of polynomials in light of one or more metrics.
[0061] In some examples, a device may transmit an encoded sequence, which may be encoded with a convolutional encoder that may be associated with a constraint length of eight and may further be associated with at least a subset of polynomials of a polynomial set. The polynomial set may be selected from a group of polynomial sets, and the group may include multiple polynomial sets generated, selected, or obtained through an iterative nesting process for obtaining nested polynomials for convolutional codes. In some examples, each iteration of the process may include searching for possible permutations of polynomials for a given coding rate. These polynomials may be added to a previous batch of polynomials from a previous iteration (e.g., that is associated with a different coding rate) and candidate polynomials may be selected based on one or more metrics, including maximum MFD, ODS, BLER, one or more other metrics, or any combination thereof. This process results in “nested” polynomials, as each iteration of searching considers polynomials for different coding rates, and the results of each iteration may be at least partially “nested” within one another. By selecting such polynomials, polynomial sets (or portions thereof) that are associated with one or more constraint lengths (e.g., of eight or another value) , communications performance may be increased, as convolutional code performance may be increased (e.g., as underperforming polynomials are discarded) and complexity may be reduced through the use of polynomial sets with a constraint length of 8 that can be used at various code rates (e.g., as compared to other approaches with larger constraint lengths that involve larger “memories” of convolutional encoders and decoders as well as larger or longer polynomials that are more expensive to process) . Additionally, or alternatively, by employing the searching or selection techniques described herein (e.g., to generate, select, or obtain nested polynomials) searching for such polynomials is less complex while still producing searches that result in high-performing polynomials for convolutional coding, allowing a communications system to operate with increased reliability and quality, as the communications based on the high-performing polynomials are less likely to fail due to increased redundancy and data rates provided by the polynomials.
[0062] Aspects of the disclosure are initially described in the context of wireless communications systems. Aspects of the disclosure are then described with reference to a signaling diagram, a convolutional encoder, a search scheme, and a polynomial scheme. Aspects of the disclosure are further illustrated by and described with reference to apparatus diagrams, system diagrams, and flowcharts that relate to nested convolutional codes design.
[0063] FIG. 1 shows an example of a wireless communications system 100 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. 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 New Radio (NR) network, or a network operating in accordance with other systems and radio technologies, including future systems and radio technologies not explicitly mentioned herein.
[0064] 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) .
[0065] 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.
[0066] 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.
[0067] 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.
[0068] 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) .
[0069] 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) ) .
[0070] 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.
[0071] 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.
[0072] For instance, an access network (AN) or RAN may include communications between access nodes (e.g., an IAB donor) , IAB node (s) 104, and one or more UEs 115. The IAB donor may facilitate connection between the core network 130 and the AN (e.g., via a wired or wireless connection to the core network 130) . That is, an IAB donor may refer to a RAN node with a wired or wireless connection to the core network 130. The IAB donor may include one or more of a CU 160, a DU 165, and an RU 170, in which case the CU 160 may communicate with the core network 130 via an interface (e.g., a backhaul link) . The IAB donor and IAB node (s) 104 may communicate via an F1 interface according to a protocol that defines signaling messages (e.g., an F1 AP protocol) . Additionally, or alternatively, the CU 160 may communicate with the core network 130 via an interface, which may be an example of a portion of a backhaul link, and may communicate with other CUs (e.g., including a CU 160 associated with an alternative IAB donor) via an Xn-C interface, which may be an example of another portion of a backhaul link.
[0073] IAB node (s) 104 may refer to RAN nodes that provide IAB functionality (e.g., access for UEs 115, wireless self-backhauling capabilities) . A DU 165 may act as a distributed scheduling node towards child nodes associated with the IAB node (s) 104, and the IAB-MT may act as a scheduled node towards parent nodes associated with IAB node (s) 104. That is, an IAB donor may be referred to as a parent node in communication with one or more child nodes (e.g., an IAB donor may relay transmissions for UEs through other IAB node (s) 104) . Additionally, or alternatively, IAB node (s) 104 may also be referred to as parent nodes or child nodes to other IAB node (s) 104, depending on the relay chain or configuration of the AN. The IAB-MT entity of IAB node (s) 104 may provide a Uu interface for a child IAB node (e.g., the IAB node (s) 104) to receive signaling from a parent IAB node (e.g., the IAB node (s) 104) , and a DU interface (e.g., a DU 165) may provide a Uu interface for a parent IAB node to signal to a child IAB node or UE 115.
[0074] For example, IAB node (s) 104 may be referred to as parent nodes that support communications for child IAB nodes, or may be referred to as child IAB nodes associated with IAB donors, or both. An IAB donor may include a CU 160 with a wired or wireless connection (e.g., backhaul communication link (s) 120) to the core network 130 and may act as a parent node to IAB node (s) 104. For example, the DU 165 of an IAB donor may relay transmissions to UEs 115 through IAB node (s) 104, or may directly signal transmissions to a UE 115, or both. The CU 160 of the IAB donor may signal communication link establishment via an F1 interface to IAB node (s) 104, and the IAB node (s) 104 may schedule transmissions (e.g., transmissions to the UEs 115 relayed from the IAB donor) through one or more DUs (e.g., DUs 165) . That is, data may be relayed to and from IAB node (s) 104 via signaling via an NR Uu interface to MT of IAB node (s) 104 (e.g., other IAB node (s) ) . Communications with IAB node (s) 104 may be scheduled by a DU 165 of the IAB donor or of IAB node (s) 104.
[0075] 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 convolutional codes design 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) .
[0076] 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.
[0077] 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.
[0078] 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) .
[0079] 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) .
[0080] 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) .
[0081] 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.
[0082] 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.
[0083] 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.
[0084] 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) .
[0085] 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.
[0086] 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) ) .
[0087] 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) .
[0088] A network entity 105 may provide communication coverage via one or more cells, for example a macro cell, a small cell, a hot spot, or other types of cells, or any combination thereof. The term “cell” may refer to a logical communication entity used for communication with a network entity 105 (e.g., using a carrier) and may be associated with an identifier for distinguishing neighboring cells (e.g., a physical cell identifier (PCID) , a virtual cell identifier (VCID) ) . In some examples, a cell also may refer to a coverage area 110 or a portion of a coverage area 110 (e.g., a sector) over which the logical communication entity operates. Such cells may range from smaller areas (e.g., a structure, a subset of structure) to larger areas depending on various factors such as the capabilities of the network entity 105. For example, a cell may be or include a building, a subset of a building, or exterior spaces between or overlapping with coverage areas 110, among other examples.
[0089] A macro cell generally covers a relatively large geographic area (e.g., several kilometers in radius) and may allow unrestricted access by the UEs 115 with service subscriptions with the network provider supporting the macro cell. A small cell may be associated with a network entity 105 operating with lower power (e.g., a base station 140 operating with lower power) relative to a macro cell, and a small cell may operate using the same or different (e.g., licensed, unlicensed) frequency bands as macro cells. Small cells may provide unrestricted access to the UEs 115 with service subscriptions with the network provider or may provide restricted access to the UEs 115 having an association with the small cell (e.g., the UEs 115 in a closed subscriber group (CSG) , the UEs 115 associated with users in a home or office) . A network entity 105 may support one or more cells and may also support communications via the one or more cells using one or multiple component carriers.
[0090] 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.
[0091] 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.
[0092] The wireless communications system 100 may support synchronous or asynchronous operation. For synchronous operation, network entities 105 (e.g., base stations 140) may have similar frame timings, and transmissions from different network entities (e.g., different ones of the network entities 105) may be approximately aligned in time. For asynchronous operation, network entities 105 may have different frame timings, and transmissions from different network entities (e.g., different ones of network entities 105) may, in some examples, not be aligned in time. The techniques described herein may be used for either synchronous or asynchronous operations.
[0093] 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.
[0094] 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.
[0095] 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.
[0096] 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.
[0097] In some systems, a D2D communication link 135 may be an example of a communication channel, such as a sidelink communication channel, between vehicles (e.g., UEs 115) . In some examples, vehicles may communicate using vehicle-to-everything (V2X) communications, vehicle-to-vehicle (V2V) communications, or some combination of these. A vehicle may signal information related to traffic conditions, signal scheduling, weather, safety, emergencies, or any other information relevant to a V2X system. In some examples, vehicles in a V2X system may communicate with roadside infrastructure, such as roadside units, or with the network via one or more network nodes (e.g., network entities 105, base stations 140, RUs 170) using vehicle-to-network (V2N) communications, or with both.
[0098] 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.
[0099] 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.
[0100] The wireless communications system 100 may also operate using a super high frequency (SHF) region, which may be in the range of 3 GHz to 30 GHz, also known as the centimeter band, or using an extremely high frequency (EHF) region of the spectrum (e.g., from 30 GHz to 300 GHz) , also known as the millimeter band. In some examples, the wireless communications system 100 may support millimeter wave (mmW) communications between the UEs 115 and the network entities 105 (e.g., base stations 140, RUs 170) , and EHF antennas of the respective devices may be smaller and more closely spaced than UHF antennas. In some examples, such techniques may facilitate using antenna arrays within a device. The propagation of EHF transmissions, however, may be subject to even greater attenuation and shorter range than SHF or UHF transmissions. The techniques disclosed herein may be employed across transmissions that use one or more different frequency regions, and designated use of bands across these frequency regions may differ by country or regulating body.
[0101] The electromagnetic spectrum is often subdivided, based on frequency / wavelength, into various classes, bands, channels, etc. In 5G NR two initial operating bands have been identified as frequency range designations FR1 (410 MHz -7.125 GHz) and FR2 (24.25 GHz - 52.6 GHz) . It should be understood that although a portion of FR1 is greater than 6 GHz, FR1 is often referred to (interchangeably) as a “Sub-6 GHz” band in various documents and articles. A similar nomenclature issue sometimes occurs with regard to FR2, which is often referred to (interchangeably) as a “millimeter wave” band in documents and articles, despite being different from the extremely high frequency (EHF) band (30 GHz - 300 GHz) which is identified by the International Telecommunications Union (ITU) as a “millimeter wave” band.
[0102] The frequencies between FR1 and FR2 are often referred to as mid-band frequencies. Recent 5G NR studies have identified an operating band for these mid-band frequencies as frequency range designation FR3 (7.125 GHz - 24.25 GHz) . Frequency bands falling within FR3 may inherit FR1 characteristics and / or FR2 characteristics, and thus may effectively extend features of FR1 and / or FR2 into mid-band frequencies. In addition, higher frequency bands are currently being explored to extend 5G NR operation beyond 52.6 GHz. For example, three higher operating bands have been identified as frequency range designations FR4a or FR4-1 (52.6 GHz -71 GHz) , FR4 (52.6 GHz - 114.25 GHz) , and FR5 (114.25 GHz - 300 GHz) . Each of these higher frequency bands falls within the EHF band.
[0103] With the above aspects in mind, unless specifically stated otherwise, it should be understood that the term “sub-6 GHz” or the like if used herein may broadly represent frequencies that may be less than 6 GHz, may be within FR1, or may include mid-band frequencies. Further, unless specifically stated otherwise, it should be understood that the term “millimeter wave” or the like if used herein may broadly represent frequencies that may include mid-band frequencies, may be within FR2, FR4, FR4-a or FR4-1, and / or FR5, or may be within the EHF band.
[0104] 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.
[0105] 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.
[0106] 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 cyclic redundancy check (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.
[0107] In some examples, the UE 115, the network entity 105, or both, may include a communications manager. For example, any UE 115 may include the communications manager 190 and any network entity 105 may include the communications manager 185. The communications manager 185, the communications manager 190, or both may be examples of communications managers described herein or may include one or more elements of communications managers described herein, including the communications manager 820, the communications manager 920, the communications manager 1020, the communications manager 1120, the communications manager 1220, the communications manager 1320, the communications manager 1420, the communications manager 1520, the communications manager 1620, the communications manager 1720, the communications manager 1820, the communications manager 1920, or any combination thereof.
[0108] A first device (e.g., an AIoT device or other device, such as a UE 115 or a network entity 105) may transmit an encoded bit sequence to a second device (e.g., a reader device, such as a UE 115 or a network entity 105) . The encoded bit sequence may be encoded with a convolutional encoder in accordance with a constraint length of eight. The convolutional encoder may be associated with at least a subset of polynomials of a polynomial set. The polynomial set that is used for transmission may be found in or associated with a group of polynomial sets, which may include the following polynomial sets, expressed in octal values: [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] .
[0109] FIG. 2 shows an example of a signaling diagram 200 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. FIG. 2 shows an example of a signaling diagram 200 that supports convolutional code design for AIoT devices in accordance with one or more aspects of the present disclosure. In some examples, the signaling diagram 200 may implement aspects of the wireless communications system 100. For example, the signaling diagram 200 includes an energy harvesting device 205 and a reader device 210, which may each be examples of a UE 115 or a network entity 105 as described with reference to FIG. 1. Additionally, or alternatively, the energy harvesting device 205 and the reader device 210 may each be examples of other types of wireless devices, such as an IAB node, an AIoT device, or another type of transmitter or receiver. Thus, although aspects of the present disclosure are described with reference to an energy harvesting device 205 and a reader device 210, it is understood that the described techniques may be performed by one or more wireless devices different from an energy harvesting device 205 and a reader device 210. As described herein, operations performed by the energy harvesting device 205 and the reader device 210 may be respectively performed by a UE 115, a network entity 105, or another wireless device, and the examples shown should not be construed as limiting. For example, the proposed convolutional codes may be used by wireless nodes (e.g., a UE 115, a network entity 105, a base station) with batteries (e.g., no energy harvesting) , or in other systems (e.g., in WiFi, 6G, or 7G) .
[0110] The energy harvesting device 205 may be an AIoT device and may have energy harvesting capabilities, backscatter communications capabilities, or both. An AIoT device may be relatively small and cheap compared to other IoT devices, such as an NB-IoT device, an LTE-M device, or an eRedCap device. An AIoT device may use the same key technologies as passive radio frequency identification (RFID) . In one example, the energy harvesting device 205 may be a first type of AIoT device with a peak power consumption of about one micro Watt (μW) . The first type of AIoT device may have energy storage, may have an initial sampling frequency offset (SFO) of up to 10X ppm, and may have neither downlink amplification nor uplink amplification in the device. In this case, an uplink transmission of the energy harvesting device 205 may be backscattered on a carrier wave provided externally (e.g., the carrier wave 215 provided by the reader device 210) . In a second example, the energy harvesting device 205 may be a second type of AIoT device with a peak power consumption of less than or equal to a few hundred μW. The second type of AIoT device may have energy storage, may have an SFO of up to 10X ppm, and may have downlink amplification, uplink amplification, or both in the device. In this case, an uplink transmission of the energy harvesting device 205 may be generated internally by the energy harvesting device 205 (e.g., using energy harvested from a carrier wave and stored internally) or be backscattered on a carrier wave provided externally (e.g., the carrier wave 215 provided by the reader device 210) .
[0111] One possible AIoT energy source is that from radio waves. For example, the reader device 210 may transmit, to the energy harvesting device 205, a carrier wave 215 on a reader-to-device (R2D) link. The carrier wave 215 may be a continuous wave or NR signal associated with an amplitude and frequency. The energy harvesting device 205 may backscatter the carrier wave 215 and transmit a backscattered signal 220 to the reader device 210 on a device-to-reader (D2R) link. Additionally, or alternatively, the energy harvesting device 205 may harvest energy from the carrier wave 215 (e.g., energy associated with the amplitude, frequency, or both of the carrier wave 215) and transmit the backscattered signal 220 using the harvested energy. The energy harvesting device 205 may modulate the backscattered signal 220 to communicate a message (e.g., bit sequence 225) to the reader device 210. For example, the energy harvesting device 205 may modulate the amplitude, frequency, phase, or another characteristic of the carrier wave 215 to produce one or more instances of a bit ‘0’a nd one or more instances of a bit ‘1. ’
[0112] In some examples, the energy harvesting device 205 may encode the message to be transmitted via the backscattered signal 220 with a convolutional encoder. Convolutional encoding is an error correction method that may allow the reader device 210 to detect and correct any errors that may occur in the transmission of the message. A convolutional encoder may generate one or more parity bits via sliding application of a Boolean polynomial function to one or more data bits in a shift register. A convolutional encoder may be specified by one or more parameters, for example by (n, k, m) , where n is a quantity of output bits, k is a quantity of input bits, and m is a quantity of memory registers or shift registers. A convolutional encoder may also be specified by (r, K) , where r is the code rate and K is the constraint length of the convolutional encoder (e.g., a convolutional encoder with a rate of 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 1 / 11, or 1 / 12, with a constraint length K of 8) . The code rate of a convolutional encoder may be defined as and may measure the efficiency of the convolutional encoder. The constraint length K of a convolutional encoder may be defined as K =k (m-1) , and may represent a quantity of bits in the encoder memory that affect the generation of the n output bits. The quantity of registers of the convolutional encoder may be equal to K-1.
[0113] A convolutional encoder may produce one or more output bits by modulo 2 addition of various bits in the registers. Each output bit is associated with a respective generator polynomial that determines the selection of which bits may be added to produce that output bit. A polynomial may be described by a binary number (e.g., 1011011) or the equivalent octal number (e.g., 133) , where the first bit in the binary number is a 1 and each following bit in the binary number represents one of the registers in the convolutional encoder. For example, the polynomial 133 octal (e.g., 1011011) produces an output bit via modulo 2 addition of bits corresponding to a current bit and bits in the second, third, fifth, and sixth registers of a 6 register convolutional encoder (e.g., constraint length K of 7) . The present disclosure may use the octal format to describe polynomials for convolutional encoders.
[0114] There may be a tradeoff between constraint length K (e.g., complexity) of a convolutional encoder and the performance of the convolutional encoder. For example, in some cases a 1 / 2 rate convolutional code with a constraint length K of 9 may be used for UEs. A 1 / 3 rate convolutional code with a constraint length K of 7, however, may have a lower complexity and improved performance under a same energy per bit to noise power spectral density ratio compared with the 1 / 2 rate convolutional code. Reducing the constraint length (e.g., from 9 to 7) may have reduced the complexity of the convolutional encoder, while lowering the convolutional code rate (e.g., from 1 / 2 to 1 / 3) may have enhanced performance. The energy harvesting device 205 (e.g., an AIoT device) may have a lower complexity and less robust communication links than a typical UE. Thus, a lower rate convolutional encoder that can achieve similar or improved performance compared to a higher rate convolutional encoder with smaller constraint lengths may be desired. In some cases, improved performance beyond that of performance offered by a constraint length of 7 may be desired. Additionally, or alternatively, code rates lower than 1 / 3 may be desired, where known polynomials for the constraint length of 7 may not support desired code rates. A constraint length K of eight may offer improved performance and more supported code rates as compared to a constraint length of seven.
[0115] For any convolutional encoder associated with a code rate and a constraint length (e.g., a 1 / 4 rate convolutional encoder with a constraint length of 7) , many sub polynomials may be possible (e.g., any combination of the 6 registers and the current bit multiplied by either binary ‘0’ or binary ‘1’a nd added together) , and many permutations for a given set of four polynomials may be possible (e.g., 24 permutations may be possible for K=7) . However, some combinations and permutations of polynomials may produce better performance than other combinations and permutations of polynomials. Techniques associated with searching for polynomials for use in convolutional encoders will be discussed herein.
[0116] FIG. 3 shows an example of a convolutional encoder 300 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The convolutional encoder 300 may implement or be implemented by one or more aspects of the wireless communications system 100 and the signaling diagram 200 described with reference to FIGs. 1 and 2 (or elsewhere herein) , respectively. For example, the convolutional encoder 300 may be implemented by an energy harvesting device 205 and a reader device 210, which may each be examples of a UE 115 or a network entity 105 as described with reference to FIGs. 1 and 2 or elsewhere herein.
[0117] For example, the convolutional encoder 300 may be utilized by an energy harvesting device to encode a message for transmission to a reader device. Each of the registers 305 may initially contain padded bits (e.g., all zeros) or an initial state X0 for tail-biting convolutional encoding. The first bit of the message may enter the register 305 a from the left and each of the initial bits are passed or shifted to the next register to the right (e.g., at a next clock cycle) . The first bit of the message may pass through the registers 305-a, 305-b, and so on, through register 305-n sequentially, where the constraint length may be equal to the number of registers 305 plus one. The bits of the message may continue to cycle through each register 305 until each bit of the message has passed through each register 305 of the convolutional encoder and each register may contain a padded bit or the initial state X0 at the end of the message. At each position (e.g., clock cycle) , the bits in each register may be input into one or more modulo 2 adders of a set of polynomials 310 (e.g., polynomial 310-a, polynomial 310-b, polynomial 310-n) . For example, a 1 / 3 code rate convolutional encoder may use three polynomials 310 to produce three output bits for each input bit, while a 1 / 4 code rate convolutional encoder may use four polynomials 310 to produce four output bits for each input bit. Similarly, a convolutional encoder of a given rate may employ N polynomials 310 to produce N output bits for each input bit.
[0118] The polynomials 310 may be represented by respective vectors of octal values, wherein the left-most bit is the most significant bit (MSB) . As discussed herein, any constraint length, including a constraint length of 8 or another value is possible, which may be associated with any quantity of registers 305. Further, any coding rate may be used, resulting in any quantity of polynomials 310. The trellis diagram shows the binary values and polynomial form, with these binary vectors indicating connections from the outputs of the registers to the adders. For example, the binary vector [1 0 1 1 0 1 1] represents octal 133. According to this diagram, in may be concluded that, for a constraint length of L, there are a total of 2^L-1 possible polynomials (excluding the all-zero vector) , while the possibly polynomial sets also goes up exponentially as the code rate is reduced.
[0119] For example, for a 1 / 3 rate convolutional encoder with a constraint length K=8, there would be K-1=7 registers 305. Each polynomial 310 may be associated with one bit of a quantity of output bits corresponding (e.g., inversely) to the code rate.
[0120] FIG. 4 shows an example of a search scheme 400 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The search scheme 400 may describe techniques for searching for polynomials to be used in convolutional encoders for various different coding rates and for a constraint length of 8.
[0121] Both AIoT devices and other devices may benefit from considering both complexity and power consumption in operations. For example, AIoT systems may be low-complexity system (e.g., compared to other systems) and a UE may be a reader device that may communicate with AIoT devices. As such, lower complexity convolutional code designs may be desirable. The techniques described herein involve nested convolutional code designs (and techniques for searching for convolutional code polynomials) with a constraint length of 8 (e.g., associated with forward error correction) .
[0122] For example, the techniques described herein may involve the use of “nested” polynomials to support convolutional codes with coding rates from 1 / 2 to 1 / 12 (e.g., 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 1 / 11, 1 / 12) . In some examples, multiple coding rates (e.g., of which a device is capable of using or is assigned to use) may be considered to be a set of coding rates. In some examples, a set of coding rates may include a single coding rate or multiple coding rates. A set of coding rates may include consecutive coding rates (e.g., 1 / 2, 1 / 3, 1 / 4) , non-consecutive coding rates (e.g., 1 / 3, 1 / 5, 1 / 8) , or any combination thereof.
[0123] In some examples, a convolutional code with a coding rate of 1 / 2 may adopt a polynomial that has superior characteristics (e.g., measure with one or more metrics, such as MFD, ODS, BLER, one or more other metrics, or any combination thereof) as compared to other coding rates. In some examples, such metrics may include MFD. MFD may be considered to be an appropriate metric for determining the quality or effectiveness of convolutional codes used with Viterbi decoding. In some examples, MFD may be used as a selection metric, comparing the free distance between multiple polynomials and selecting those that have a greater free distance (e.g., greater than an MFD threshold or having a greater relative MFD compared to other polynomials) . Additionally, or alternatively, ODS may be employed to rate or compare polynomials. In some examples, ODS may be employed for convolutional code feedforward encoders to select between polynomials (e.g., when they have the same free distance, same rate R and constraint length K) . In some examples, ODS may be used as a selection metric by comparing the error weight sequence of multiple polynomials and selecting one or more polynomials with smaller error weight sequences (e.g., that are less than an ODS threshold or having a lesser relative ODS compared to other polynomials) .
[0124] The use of and search for such “nested” polynomials may involve an iterative search process across multiple coding rates (as will be described in more detail herein) . Given a constraint length of 8, 255 different polynomials are possible for a single coding rate. Further given an overall coding rate of 1 / 6 (as one example) , a total of 2556 permutations are possible. Searching such a space to find superior polynomials involves high search complexity which, in some cases, is not feasible or desirable. As such, the use of and search for “nested” polynomials may reduce the search complexity.
[0125] In some examples, nested polynomials may refer to polynomials generated, selected, or otherwise obtained through an iterative process for polynomial search. For example, considering an example constraint length of 8 (though searches may be performed for any constraint length following the same or similar techniques) , a search may first begin with a convolutional code of a coding rate 1 / 2 and may explore polynomials associated with the coding rate of 1 / 2. Candidates are selected, and the search phase iterates through additional coding rates. At each iteration, additional polynomials associated with the current coding rate are added to the set of candidates, at which time the entire set (e.g., including the appended polynomials) are measured using one or more metrics to select one or more polynomials of the entire set. These polynomials are preserved to serve as the basis for the following iteration. This process may be repeated for multiple different coding rates, with each iteration adding additional polynomials before reconsidering the entire set of polynomials in light of one or more metrics.
[0126] For example, at 410, the search process may be initiated. At 415, the initial values may be set for the search process. For example, assuming a that coding rates are expressed as m may be given an initial value (e.g., here, m = 2) . Throughout the process (e.g., through the various iterations) the coding rate may be expressed as In each iteration of the process, m may be modified. For example, m may be incremented by 1 in each iteration, such that mnextIteration=mcurrentIteration+1. Additionally, or alternatively, the parameter M may be set. M may represent the “ending” point of the process and may be associated with a greatest coding rate that is to be considered for the process. For example, the process may end when m is greater than or equal to M: m≥M. In this example, M=12.
[0127] At 420, the search process may include exploration of all possible polynomials for the rate of For example, In the initial coding rate period (m=2) , some or all possible permutations for that coding rate may be explored. For example, the search may consider some or all possible permutations for the rate of 1 / 2, denoted as f (G, 2) = [G0, G1] , G0, G1∈GCL=8. In some examples, GCL=8 may represent the sets of all possible polynomials for the constraint length of 8. In some examples, as described herein a set of polynomials may include a single polynomial or multiple polynomials. In some examples, a group of a set of polynomials or a group of polynomial sets may include a single polynomial set or multiple polynomial sets.
[0128] At 425, the search process may include selection of one or more polynomials from those polynomials found during the search at 420. For example, the best-performing or best-rated polynomials (e.g., up to 20 or another value) in f (G, 2) may be selected based on one or more metrics, including MFD, ODS, BLER, or any combination thereof. For example, in the case that the quantity of sets with same MFD and ODS exceeds 20 (or another threshold quantity) , the BLER performance may be compared (e.g., through simulation or other methods) and the best-performing polynomial combinations (e.g., 20 or another quantity) may be selected. For example, the selected polynomials may be expressed as shown in Table 1 herein.
[0129]
[0130] Table 1
[0131] At 430, it may be determined whether m<M. If so, the process may continue through steps 435, 440, and 445. If not, the process may move on to 450, at which point the process ends.
[0132] At 435, m may be modified (e.g., incremented) for the following iteration of processing. As a result, the following polynomial search and selection (e.g., at 440 and 445) may be performed with reference to the new coding rate.
[0133] At 440, the search process may include searching for additional polynomials and corresponding permutations for the new coding rate of For example, after searching for polynomials associated with the initial coding rate of and after the modification (e.g., incrementing) of m at 435, the search at 440 and the selection may be associated with the coding rate of Similarly, further iterations of the process may be associated with further coding rates. For example, at 440 the further searching for the coding rates of to (e.g., m=3, 4, 5, . . ., 12) , some or all possible polynomials Gm-1 may be added to the previous iteration’s results (e.g., those for the coding rate of ) , such that f (G, m) = [f (G, m-1) , Gm-1] , Gm-1∈GCL=8.
[0134] At 445, the search process may include selection of polynomials for f (G, m) , which includes the additional polynomials added at 440. Similar to 425, the polynomials here may be selected based on one or more metrics, including MFD, ODS, BLER, one or more other metrics, or any combination thereof. For example, in the case that the quantity of sets with same MFD and ODS exceeds 20 (or another threshold quantity) , the BLER performance may be compared (e.g., through simulation or other methods) and the best-performing polynomial combinations (e.g., 20 or another quantity) may be selected.
[0135] For example, Table 2, Table 3, Table 4, Table 5, Table 6, Table 7, and Table 8 show an example progression of nested polynomials created, generated, or selected through the searching process. Table 2 may depict examples of the first polynomials selected at 425 for a rate of 1 / 2. Table 3 may depict an example of polynomials selected for a rate of 1 / 3. Table 4 may depict an example of polynomials selected for a rate of 1 / 4. Table 5 may depict an example of polynomials selected for a rate of 1 / 5. Table 6 may depict an example of polynomials selected for a rate of 1 / 6. Table 7 may depict an example of polynomials selected for a rate of 1 / 7. Table 8 may depict an example of polynomials selected for a rate of 1 / 12. For each of Table 3, Table 4, Table 5, Table 6, Table 7, and Table 8 the polynomials being aggregated to the previous iterations results are represented by the rightmost column of each of the tables. Though tables are not depicted for rates 1 / 8, 1 / 9, 1 / 10, and 1 / 11, it is to be understood that the iterative process (e.g., steps 435, 440, and 445) would be performed for those coding rates as well.
[0136] Table 2
[0137] Table 3
[0138] Table 4
[0139] Table 5
[0140] Table 6
[0141] Table 7
[0142] Table 8
[0143] This iterative process may continue until m≥M, at which time the decision point at 430 indicates that the process continues to 450 and ends. Thus, the final searching and selection of polynomials at 445 associated with the final coding rate of may be the last iteration performed.
[0144] FIG. 5 shows an example of a polynomial scheme 500 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The polynomial scheme 500 may include an example output of the search process described with reference to FIG. 5. For example, the polynomial scheme 500 may include the polynomial sets 515 (e.g., polynomial set 515-a, polynomial set 515-b, polynomial set 515-c, polynomial set 515-d, polynomial set 515-e, polynomial set 515-f, polynomial set 515-g, polynomial set 515-h, polynomial set 515-i, polynomial set 515-j, polynomial set 515-k, polynomial set 515-l, polynomial set 515-m, polynomial set 515-n, polynomial set 515-o, polynomial set 515-p, polynomial set 515-q, polynomial set 515-r, polynomial set 515-s, and polynomial set 515-t) , each of which may be associated with an identifier 510. The polynomial sets 515 may be the best-performing or best-rated polynomial sets generated, selected, or otherwise obtained through one or more techniques of the polynomial search process described herein. The polynomial sets 515 may be associated with a constraint length of 8.
[0145] The polynomial sets 515 are polynomial sets associated with a convolutional code rate of 1 / 12 with a nested structure. In some examples, one or multiple polynomial sets 515 may be referred to as a group of polynomial sets or a polynomial set group. In some examples, the first k polynomials in each row may be used as a polynomial subset for convolutional codes with a code rate of 1 / k, and may be referred to as polynomial subsets 520. In some examples, the quantity of polynomials in a polynomial subset 520 may correspond to the denominator of a coding rate with which the polynomial set is to be used for encoding. For example, the polynomial subset 520-a of polynomial set 515-k (the polynomial subset 520-a including the first six polynomials of the polynomial set 515-k) may be used as a polynomial set for a rate of 1 / 2, the polynomial subset 520-b of polynomial set 515-r (the polynomial subset 520-a including the first six polynomials of the polynomial set 515-k) may be used as a polynomial set for a rate of 1 / 6, the polynomial subset 520-c of polynomial set 515-t (the polynomial subset 520-a including the first eight polynomials of polynomial set 515-t) may be used as a polynomial set for a rate of 1 / 8, and a full polynomial set, such as polynomial set 515-smay be used as a polynomial set for a rate of 1 / 12. Any quantity of polynomials of a polynomial set 515 may be used to form a polynomial subset 520, where the quantity of polynomials may correspond to the denominator of a coding rate with which the polynomial set is to be used for encoding (e.g., 1 coding rate of 1 / k may be used with a polynomial subset 520 that includes k polynomials) .
[0146] In some examples, the polynomial sets 515 that are generated, selected, or obtained as a result of the searching process may be organized or rated based on the one or more metrics (e.g., the MFD, ODS, BLER, one or more other metrics, or any combination thereof) . For example, Table 9 and Table 10 may each depict a selected polynomial set for a 1 / 12 coding rate and a constraint length of 8. These polynomial sets 515 may be potential nested polynomials for use in convolutional codes. In some examples, other polynomial sets (e.g., those associated with the identifier 510 of 1 or 2) that may offer increased performance at lower code rates.
[0147]
[0148] Table 9
[0149] Table 10
[0150] FIG. 6 shows an example of a convolutional encoder that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The convolutional encoder 600 may implement or be implemented by one or more aspects of the wireless communications system 100 and the signaling diagram 200 described with reference to FIGs. 1 and 2 (or elsewhere herein) , respectively. For example, the convolutional encoder 600 may be implemented by an energy harvesting device 205 and a reader device 210, which may each be examples of a UE 115 or a network entity 105 as described with reference to FIGs. 1 and 2 or elsewhere herein.
[0151] Here, the convolutional encoder 600 may depict the register 605-a, the register 605-b, the register 605-c, the register 605-d, the register 605-e, the register 605-f, and the register 605-g, which may operate in a similar fashion as to the registers 305 described herein. The convolutional encoder 600 may further depict the encoding of the polynomial 610-a, the polynomial 610-b, the polynomial 610-c, the polynomial 610-d, the polynomial 610-e, the polynomial 610-f, the polynomial 610-g, the polynomial 610-h, the polynomial 610-i, the polynomial 610-j, the polynomial 610-k, and the polynomial 610-l. Each of the polynomials 610 may be represented by binary values or by the octal values 615. The polynomials 610 here are the same polynomials of the polynomial set 515 associated with the identifier 510 of polynomial set 18 described with reference to FIG. 5, the polynomial set 735 described with reference to FIG. 7, and elsewhere herein. Though individual lines or paths associated with “1” bits at the adders (e.g., lines from the output of each register 605 to the line corresponding with a “1” bit for a polynomial 610) are not shown for clarity, it is to be understood that the intersections with a “1” bit and an adder are functionally similar to those intersections of FIG. 3 associated with registers 305 and polynomials 310 (e.g., that include individual paths or lines for each “1” bit of each polynomial 310 from the output of a register 305 to the line corresponding with a “1” bit for a polynomial 310) .
[0152] Similar to the convolutional encoder 300, each of the registers 605 may initially contain padded bits (e.g., all zeros) or an initial state X0 for tail-biting convolutional encoding. The first bit of the message may enter the register 605-a from the left and each of the initial bits are passed or shifted to the next register to the right (e.g., at a next clock cycle) . The first bit of the message may pass through the registers 605-a, 605-b, and so on, through register 605-g sequentially, where the constraint length may be equal to the number of registers 605 plus one. For example, here, the constraint length K is expressed as K=8, and there are 7 registers 605. The bits of the message may continue to cycle through each register 605 until each bit of the message has passed through each register 605 of the convolutional encoder and each register may contain a padded bit or the initial state X0 at the end of the message. At each position (e.g., clock cycle) , the bits in each register may be input into one or more modulo 2 adders of a set of polynomials 610 (e.g., the polynomial 610-a, the polynomial 610-b, the polynomial 610-c, the polynomial 610-d, the polynomial 610-e, the polynomial 610-f, the polynomial 610-g, the polynomial 610-h, the polynomial 610-i, the polynomial 610-j, the polynomial 610-k, and the polynomial 610-l) . For example, a 1 / 3 code rate convolutional encoder may use three polynomials 610 to produce three output bits for each input bit, while a 1 / 4 code rate convolutional encoder may use four polynomials 610 to produce four output bits for each input bit. Further, a 1 / 12 code rate convolutional encoder may use twelve polynomials 610 to produce twelve output bits for each input bit. Similarly, a convolutional encoder of a given rate may employ Npolynomials 610 to produce N output bits for each input bit.
[0153] The polynomials 610 may be represented by respective vectors of octal values, wherein the left-most bit is the most significant bit (MSB) . As discussed herein, any constraint length, including a constraint length of 8 or another value is possible, which may be associated with any quantity of registers 605. Further, any coding rate may be used, resulting in any quantity of polynomials 610. The trellis diagram shows the binary values and polynomial form, with these binary vectors indicating connections from the outputs of the registers to the adders. For example, the binary vector [1 0 0 1 0 1 0 1] represents octal 225. According to this diagram, in may be concluded that, for a constraint length of L, there are a total of 2L-1 possible polynomials (excluding the all-zero vector) , while the possibly polynomial sets also goes up exponentially as the code rate is reduced.
[0154] For example, for a 1 / 6 rate convolutional encoder with a constraint length K=8, there would be K-1=7 registers 605 and 6 output polynomials 610. Each polynomial 610 may be associated with one bit of a quantity of output bits corresponding (e.g., inversely) to the code rate. In a situation in which a polynomial set may include more polynomials than are to be used given the coding rate, the first N polynomials of the polynomial set may be used, where N is given in the coding rate, and where the coding rate is 1 / N. Thus, in the example of the constraint length of K=8 and a coding rate of 1 / 6, the first six polynomials 610 would be used.
[0155] FIG. 7 shows an example of a process flow 700 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The process flow 700 may implement various aspects of the present disclosure described herein. The elements described in the process flow 700 (e.g., first device 710 and second device 712) may be examples of similarly named elements described herein.
[0156] In the following description of the process flow 700, the operations between the various entities or elements may be performed in different orders or at different times. Some operations may also be left out of the process flow 700, or other operations may be added. Although the various entities or elements are shown performing the operations of the process flow 700, some aspects of some operations may also be performed by other entities or elements of the process flow 700 or by entities or elements that are not depicted in the process flow, or any combination thereof.
[0157] At 715, the first device 710 may encode one a bit sequence using a convolutional code (e.g., with a constraint length of eight and in accordance with a coding rate) . In some examples, the encoding may be performed in accordance with at least a subset of polynomials of a polynomial set. The polynomial set may be found in or associated with a group of polynomial sets. The group of polynomial sets may include one or more polynomial sets, including the following polynomial sets, expressed in octal values: [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] . In some examples, the polynomial set used for encoding the bit sequence may be the polynomial set 735, expressed in octal values as [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] . Additionally, or alternatively, the polynomial set used for encoding the bit sequence may be the polynomial set 740, expressed in octal values as [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] .
[0158] At 720, the second device 712 may transmit the carrier wave to the first device 710, and the first device 710 may receive the carrier wave from the second device 712.
[0159] At 725, the encoded bit sequence may be modulated for transmission to the second device 712 (e.g., as a backscattered communication over the carrier wave 720) .
[0160] At 730, the first device 710 may transmit, to the second device 712, the bit sequence encoded with the convolutional code of 715. In some examples, the bit sequence is transmitted in accordance with a first coding rate selected from a plurality of coding rates supported by the convolutional encoder. In some examples, the subset of polynomials of the polynomial set may include a quantity of N polynomials that corresponds with the first coding rate. In some examples, the first coding rate may be expressed as 1 / N. In some examples, the plurality of coding rates may include at least a subset of a set of coding rates consisting of 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 1 / 11, and 1 / 12. In some examples, the N polynomials of each of a plurality of subsets of polynomials of the polynomial set are a first N polynomials of the polynomial set. In some examples, the first device 710 may transmit the bit sequence based on the carrier wave. In some examples, the first device is an AIoT device and the second device 712 is a reader device. In some examples, the polynomial set corresponds to, expressed with octal values, [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , or [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] .
[0161] Additionally, or alternatively, at 730, the second device 712 may decode an encoded bit sequence received from a first device with a convolutional decoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, wherein the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , wherein the encoded bit sequence is encoded in accordance with the subset of polynomials of the polynomial set. In some examples, the encoded bit sequence is decoded in accordance with a first coding rate selected from a plurality of coding rates supported by the convolutional decoder. In some examples, the subset of polynomials of the polynomial set comprises a quantity of N polynomials that corresponds with the first coding rate. In some examples, the plurality of coding rates comprises at least a subset of a set consisting of 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 1 / 11, and 1 / 12. In some examples, the N polynomials of a plurality of subsets of polynomials of the polynomial set are a first N polynomials of the polynomial set. In some examples, the second device 712 may receive the encoded bit sequence based at least in part on the carrier wave. In some examples, the first device 710 is an AIoT device and the second device 712 is a reader device. In some examples, the polynomial set corresponds to, expressed with octal values, [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , or [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] .
[0162] FIG. 8 shows a block diagram 800 of a device 805 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The device 805 may be an example of aspects of an AIoT device as described herein. The device 805 may include a receiver 810, a transmitter 815, and a communications manager 820. The device 805, or one or more components of the device 805 (e.g., the receiver 810, the transmitter 815, the communications manager 820) , 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) .
[0163] The receiver 810 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 convolutional codes design) . Information may be passed on to other components of the device 805. The receiver 810 may utilize a single antenna or a set of multiple antennas.
[0164] The transmitter 815 may provide a means for transmitting signals generated by other components of the device 805. For example, the transmitter 815 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 convolutional codes design) . In some examples, the transmitter 815 may be co-located with a receiver 810 in a transceiver module. The transmitter 815 may utilize a single antenna or a set of multiple antennas.
[0165] The communications manager 820, the receiver 810, the transmitter 815, or various combinations or components thereof may be examples of means for performing various aspects of nested convolutional codes design as described herein. For example, the communications manager 820, the receiver 810, the transmitter 815, or various combinations or components thereof may be capable of performing one or more of the functions described herein.
[0166] In some examples, the communications manager 820, the receiver 810, the transmitter 815, 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 DSP, a CPU, an ASIC, an FPGA or other programmable logic device, a microcontroller, discrete gate or transistor logic, discrete hardware components, or any combination thereof configured as or otherwise supporting, 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) .
[0167] Additionally, or alternatively, the communications manager 820, the receiver 810, the transmitter 815, 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 820, the receiver 810, the transmitter 815, 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) .
[0168] In some examples, the communications manager 820 may be configured to perform various operations (e.g., receiving, obtaining, monitoring, outputting, transmitting) using or otherwise in cooperation with the receiver 810, the transmitter 815, or both. For example, the communications manager 820 may receive information from the receiver 810, send information to the transmitter 815, or be integrated in combination with the receiver 810, the transmitter 815, or both to obtain information, output information, or perform various other operations as described herein.
[0169] Additionally, or alternatively, the communications manager 820 may support wireless communications in accordance with examples as disclosed herein. For example, the communications manager 820 is capable of, configured to, or operable to support a means for transmitting, to a second device, a bit sequence encoded with a convolutional encoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] .
[0170] By including or configuring the communications manager 820 in accordance with examples as described herein, the device 805 (e.g., at least one processor controlling or otherwise coupled with the receiver 810, the transmitter 815, the communications manager 820, or a combination thereof) may support techniques for reduced processing, reduced power consumption, more efficient utilization of communication resources, or any combination thereof.
[0171] FIG. 9 shows a block diagram 900 of a device 905 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The device 905 may be an example of aspects of a device 805, a UE 115, a network entity 105, or an AIoT device as described herein. The device 905 may include a receiver 910, a transmitter 915, and a communications manager 920. The device 905, or one or more components of the device 905 (e.g., the receiver 910, the transmitter 915, the communications manager 920) , 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) .
[0172] The receiver 910 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 convolutional codes design) . Information may be passed on to other components of the device 905. The receiver 910 may utilize a single antenna or a set of multiple antennas.
[0173] The transmitter 915 may provide a means for transmitting signals generated by other components of the device 905. For example, the transmitter 915 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 convolutional codes design) . In some examples, the transmitter 915 may be co-located with a receiver 910 in a transceiver module. The transmitter 915 may utilize a single antenna or a set of multiple antennas.
[0174] The device 905, or various components thereof, may be an example of means for performing various aspects of nested convolutional codes design as described herein. For example, the communications manager 920 may include a convolutional code component 925, or any combination thereof. The communications manager 920 may be an example of aspects of a communications manager 820 as described herein. In some examples, the communications manager 920, 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 910, the transmitter 915, or both. For example, the communications manager 920 may receive information from the receiver 910, send information to the transmitter 915, or be integrated in combination with the receiver 910, the transmitter 915, or both to obtain information, output information, or perform various other operations as described herein.
[0175] The communications manager 920 may support wireless communications in accordance with examples as disclosed herein. The convolutional code component 925 is capable of, configured to, or operable to support a means for transmitting, to a second device, a bit sequence encoded with a convolutional encoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] .
[0176] FIG. 10 shows a block diagram 1000 of a communications manager 1020 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The communications manager 1020 may be an example of aspects of a communications manager 820, a communications manager 920, or both, as described herein. The communications manager 1020, or various components thereof, may be an example of means for performing various aspects of nested convolutional codes design as described herein. For example, the communications manager 1020 may include a convolutional code component 1025, a coding rate component 1030, a carrier wave component 1035, a backscatter communication component 1040, a polynomial set selection component 1045, 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) .
[0177] Additionally, or alternatively, the communications manager 1020 may support wireless communications in accordance with examples as disclosed herein. The convolutional code component 1025 is capable of, configured to, or operable to support a means for transmitting, to a second device, a bit sequence encoded with a convolutional encoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] .
[0178] In some examples, the bit sequence is transmitted in accordance with a first coding rate selected from a set of multiple coding rates supported by the convolutional encoder. In some examples, the subset of polynomials of the polynomial set includes a quantity of N polynomials that corresponds with the first coding rate.
[0179] In some examples, the set of multiple coding rates includes at least a subset of a set of coding rates consisting of 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 1 / 11, and 1 / 12.
[0180] In some examples, the N polynomials of each of a set of multiple subsets of polynomials of the polynomial set are a first N polynomials of the polynomial set.
[0181] In some examples, the carrier wave component 1035 is capable of, configured to, or operable to support a means for receiving a carrier wave from the second device. In some examples, the backscatter communication component 1040 is capable of, configured to, or operable to support a means for transmitting the bit sequence based on the carrier wave. In some examples, the backscatter communication component 1040 is capable of, configured to, or operable to support situations in which the first device is an ambient internet of things (AIoT) device and the second device is a reader device.
[0182] In some examples, the polynomial set corresponds to, expressed with octal values, [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , or [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] .
[0183] FIG. 11 shows a diagram of a system 1100 including a device 1105 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The device 1105 may be an example of or include components of a device 805, a device 905, or an AIoT device as described herein. The device 1105 may include components for bi-directional voice and data communications including components for transmitting and receiving communications, such as a communications manager 1120, an I / O controller, such as an I / O controller 1110, a transceiver 1115, one or more antennas 1125, at least one memory 1130, code 1135, and at least one processor 1140. 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 1145) .
[0184] The I / O controller 1110 may manage input and output signals for the device 1105. The I / O controller 1110 may also manage peripherals not integrated into the device 1105. In some cases, the I / O controller 1110 may represent a physical connection or port to an external peripheral. In some cases, the I / O controller 1110 may utilize an operating system such as or another known operating system. Additionally, or alternatively, the I / O controller 1110 may represent or interact with a modem, a keyboard, a mouse, a touchscreen, or a similar device. In some cases, the I / O controller 1110 may be implemented as part of one or more processors, such as the at least one processor 1140. In some cases, a user may interact with the device 1105 via the I / O controller 1110 or via hardware components controlled by the I / O controller 1110.
[0185] In some cases, the device 1105 may include a single antenna. However, in some other cases, the device 1105 may have more than one antenna, which may be capable of concurrently transmitting or receiving multiple wireless transmissions. The transceiver 1115 may communicate bi-directionally via the one or more antennas 1125 using wired or wireless links as described herein. For example, the transceiver 1115 may represent a wireless transceiver and may communicate bi-directionally with another wireless transceiver. The transceiver 1115 may also include a modem to modulate the packets, to provide the modulated packets to one or more antennas 1125 for transmission, and to demodulate packets received from the one or more antennas 1125. The transceiver 1115, or the transceiver 1115 and one or more antennas 1125, may be an example of a transmitter 815, a transmitter 915, a receiver 810, a receiver 910, or any combination thereof or component thereof, as described herein.
[0186] The at least one memory 1130 may include RAM and ROM. The at least one memory 1130 may store computer-readable, computer-executable, or processor-executable code, such as the code 1135. The code 1135 may include instructions that, when executed by the at least one processor 1140, cause the device 1105 to perform various functions described herein. The code 1135 may be stored in a non-transitory computer-readable medium such as system memory or another type of memory. In some cases, the code 1135 may not be directly executable by the at least one processor 1140 but may cause a computer (e.g., when compiled and executed) to perform functions described herein. In some cases, the at least one memory 1130 may include, among other things, a BIOS which may control basic hardware or software operation such as the interaction with peripheral components or devices.
[0187] The at least one processor 1140 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 1140 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 1140. The at least one processor 1140 may be configured to execute computer-readable instructions stored in a memory (e.g., the at least one memory 1130) to cause the device 1105 to perform various functions (e.g., functions or tasks supporting nested convolutional codes design) . For example, the device 1105 or a component of the device 1105 may include at least one processor 1140 and at least one memory 1130 coupled with or to the at least one processor 1140, the at least one processor 1140 and the at least one memory 1130 configured to perform various functions described herein.
[0188] In some examples, the at least one processor 1140 may include multiple processors and the at least one memory 1130 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 1140 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 1140) and memory circuitry (which may include the at least one memory 1130) ) , 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 1140 or a processing system including the at least one processor 1140 may be configured to, configurable to, or operable to cause the device 1105 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 1135 (e.g., processor-executable code) stored in the at least one memory 1130 or otherwise, to perform one or more of the functions described herein.
[0189] Additionally, or alternatively, the communications manager 1120 may support wireless communications in accordance with examples as disclosed herein. For example, the communications manager 1120 is capable of, configured to, or operable to support a means for transmitting, to a second device, a bit sequence encoded with a convolutional encoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] .
[0190] By including or configuring the communications manager 1120 in accordance with examples as described herein, the device 1105 may support techniques for improved communication reliability, reduced latency, improved user experience related to reduced processing, reduced power consumption, more efficient utilization of communication resources, improved coordination between devices, longer battery life, improved utilization of processing capability, or any combination thereof.
[0191] In some examples, the communications manager 1120 may be configured to perform various operations (e.g., receiving, monitoring, transmitting) using or otherwise in cooperation with the transceiver 1115, the one or more antennas 1125, or any combination thereof. Although the communications manager 1120 is illustrated as a separate component, in some examples, one or more functions described with reference to the communications manager 1120 may be supported by or performed by the at least one processor 1140, the at least one memory 1130, the code 1135, or any combination thereof. For example, the code 1135 may include instructions executable by the at least one processor 1140 to cause the device 1105 to perform various aspects of nested convolutional codes design as described herein, or the at least one processor 1140 and the at least one memory 1130 may be otherwise configured to, individually or collectively, perform or support such operations.
[0192] FIG. 12 shows a block diagram 1200 of a device 1205 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The device 1205 may be an example of aspects of a reader device as described herein. The device 1205 may include a receiver 1210, a transmitter 1215, and a communications manager 1220. The device 1205, or one or more components of the device 1205 (e.g., the receiver 1210, the transmitter 1215, the communications manager 1220) , 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) .
[0193] The receiver 1210 may provide a means for obtaining (e.g., receiving, determining, identifying) information such as user data, control information, or any combination thereof (e.g., I / Q samples, symbols, packets, protocol data units, service data units) associated with various channels (e.g., control channels, data channels, information channels, channels associated with a protocol stack) . Information may be passed on to other components of the device 1205. In some examples, the receiver 1210 may support obtaining information by receiving signals via one or more antennas. Additionally, or alternatively, the receiver 1210 may support obtaining information by receiving signals via one or more wired (e.g., electrical, fiber optic) interfaces, wireless interfaces, or any combination thereof.
[0194] The transmitter 1215 may provide a means for outputting (e.g., transmitting, providing, conveying, sending) information generated by other components of the device 1205. For example, the transmitter 1215 may output information such as user data, control information, or any combination thereof (e.g., I / Q samples, symbols, packets, protocol data units, service data units) associated with various channels (e.g., control channels, data channels, information channels, channels associated with a protocol stack) . In some examples, the transmitter 1215 may support outputting information by transmitting signals via one or more antennas. Additionally, or alternatively, the transmitter 1215 may support outputting information by transmitting signals via one or more wired (e.g., electrical, fiber optic) interfaces, wireless interfaces, or any combination thereof. In some examples, the transmitter 1215 and the receiver 1210 may be co-located in a transceiver, which may include or be coupled with a modem.
[0195] The communications manager 1220, the receiver 1210, the transmitter 1215, or various combinations or components thereof may be examples of means for performing various aspects of nested convolutional codes design as described herein. For example, the communications manager 1220, the receiver 1210, the transmitter 1215, or various combinations or components thereof may be capable of performing one or more of the functions described herein.
[0196] In some examples, the communications manager 1220, the receiver 1210, the transmitter 1215, 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 DSP, a CPU, an ASIC, an FPGA or other programmable logic device, a microcontroller, discrete gate or transistor logic, discrete hardware components, or any combination thereof configured as or otherwise supporting, 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) .
[0197] Additionally, or alternatively, the communications manager 1220, the receiver 1210, the transmitter 1215, 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 1220, the receiver 1210, the transmitter 1215, 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) .
[0198] In some examples, the communications manager 1220 may be configured to perform various operations (e.g., receiving, obtaining, monitoring, outputting, transmitting) using or otherwise in cooperation with the receiver 1210, the transmitter 1215, or both. For example, the communications manager 1220 may receive information from the receiver 1210, send information to the transmitter 1215, or be integrated in combination with the receiver 1210, the transmitter 1215, or both to obtain information, output information, or perform various other operations as described herein.
[0199] Additionally, or alternatively, the communications manager 1220 may support wireless communications in accordance with examples as disclosed herein. For example, the communications manager 1220 is capable of, configured to, or operable to support a means for decoding an encoded bit sequence received from a first device with a convolutional decoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , where the encoded bit sequence is encoded in accordance with the subset of polynomials of the polynomial set.
[0200] By including or configuring the communications manager 1220 in accordance with examples as described herein, the device 1205 (e.g., at least one processor controlling or otherwise coupled with the receiver 1210, the transmitter 1215, the communications manager 1220, or a combination thereof) may support techniques for reduced processing, reduced power consumption, more efficient utilization of communication resources, or any combination thereof.
[0201] FIG. 13 shows a block diagram 1300 of a device 1305 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The device 1305 may be an example of aspects of a device 1205, a UE 115, a network entity 105, or a reader device as described herein. The device 1305 may include a receiver 1310, a transmitter 1315, and a communications manager 1320. The device 1305, or one or more components of the device 1305 (e.g., the receiver 1310, the transmitter 1315, the communications manager 1320) , 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) .
[0202] The receiver 1310 may provide a means for obtaining (e.g., receiving, determining, identifying) information such as user data, control information, or any combination thereof (e.g., I / Q samples, symbols, packets, protocol data units, service data units) associated with various channels (e.g., control channels, data channels, information channels, channels associated with a protocol stack) . Information may be passed on to other components of the device 1305. In some examples, the receiver 1310 may support obtaining information by receiving signals via one or more antennas. Additionally, or alternatively, the receiver 1310 may support obtaining information by receiving signals via one or more wired (e.g., electrical, fiber optic) interfaces, wireless interfaces, or any combination thereof.
[0203] The transmitter 1315 may provide a means for outputting (e.g., transmitting, providing, conveying, sending) information generated by other components of the device 1305. For example, the transmitter 1315 may output information such as user data, control information, or any combination thereof (e.g., I / Q samples, symbols, packets, protocol data units, service data units) associated with various channels (e.g., control channels, data channels, information channels, channels associated with a protocol stack) . In some examples, the transmitter 1315 may support outputting information by transmitting signals via one or more antennas. Additionally, or alternatively, the transmitter 1315 may support outputting information by transmitting signals via one or more wired (e.g., electrical, fiber optic) interfaces, wireless interfaces, or any combination thereof. In some examples, the transmitter 1315 and the receiver 1310 may be co-located in a transceiver, which may include or be coupled with a modem.
[0204] The device 1305, or various components thereof, may be an example of means for performing various aspects of nested convolutional codes design as described herein. For example, the communications manager 1320 may include a convolutional code component 1325, or any combination thereof. The communications manager 1320 may be an example of aspects of a communications manager 1220 as described herein. In some examples, the communications manager 1320, 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 1310, the transmitter 1315, or both. For example, the communications manager 1320 may receive information from the receiver 1310, send information to the transmitter 1315, or be integrated in combination with the receiver 1310, the transmitter 1315, or both to obtain information, output information, or perform various other operations as described herein.
[0205] The communications manager 1320 may support wireless communications in accordance with examples as disclosed herein. The convolutional code component 1325 is capable of, configured to, or operable to support a means for decoding an encoded bit sequence received from a first device with a convolutional decoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , where the encoded bit sequence is encoded in accordance with the subset of polynomials of the polynomial set.
[0206] FIG. 14 shows a block diagram 1400 of a communications manager 1420 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The communications manager 1420 may be an example of aspects of a communications manager 1220, a communications manager 1320, or both, as described herein. The communications manager 1420, or various components thereof, may be an example of means for performing various aspects of nested convolutional codes design as described herein. For example, the communications manager 1420 may include a convolutional code component 1425, a coding rate component 1430, a carrier wave component 1435, a backscatter communication component 1440, a polynomial set selection component 1445, 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) .
[0207] Additionally, or alternatively, the communications manager 1420 may support wireless communications in accordance with examples as disclosed herein. The convolutional code component 1425 is capable of, configured to, or operable to support a means for decoding an encoded bit sequence received from a first device with a convolutional decoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , where the encoded bit sequence is encoded in accordance with the subset of polynomials of the polynomial set.
[0208] In some examples, the encoded bit sequence is decoded in accordance with a first coding rate selected from a set of multiple coding rates supported by the convolutional decoder. In some examples, the subset of polynomials of the polynomial set includes a quantity of N polynomials that corresponds with the first coding rate.
[0209] In some examples, the set of multiple coding rates includes at least a subset of a set consisting of 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 1 / 11, and 1 / 12.
[0210] In some examples, the N polynomials of a set of multiple subsets of polynomials of the polynomial set are a first N polynomials of the polynomial set.
[0211] In some examples, the carrier wave component 1435 is capable of, configured to, or operable to support a means for transmitting a carrier wave to the first device. In some examples, the backscatter communication component 1440 is capable of, configured to, or operable to support a means for receiving the encoded bit sequence based on the carrier wave. In some examples, the backscatter communication component 1440 is capable of, configured to, or operable to support a scenario in which the first device is an ambient internet of things (AIoT) device and the second device is a reader device.
[0212] In some examples, the polynomial set corresponds to, expressed with octal values, [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , or [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] .
[0213] FIG. 15 shows a diagram of a system 1500 including a device 1505 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The device 1505 may be an example of or include components of a device 1205, a device 1305, or a reader device as described herein. The device 1505 may include components for bi-directional voice and data communications including components for transmitting and receiving communications, such as a communications manager 1520, a transceiver 1510, one or more antennas 1515, at least one memory 1525, code 1530, and at least one processor 1535. 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 1540) .
[0214] The transceiver 1510 may support bi-directional communications via wired links, wireless links, or both as described herein. In some examples, the transceiver 1510 may include a wired transceiver and may communicate bi-directionally with another wired transceiver. Additionally, or alternatively, in some examples, the transceiver 1510 may include a wireless transceiver and may communicate bi-directionally with another wireless transceiver. In some examples, the device 1505 may include one or more antennas 1515, which may be capable of transmitting or receiving wireless transmissions (e.g., concurrently) . The transceiver 1510 may also include a modem to modulate signals, to provide the modulated signals for transmission (e.g., by one or more antennas 1515, by a wired transmitter) , to receive modulated signals (e.g., from one or more antennas 1515, from a wired receiver) , and to demodulate signals. In some implementations, the transceiver 1510 may include one or more interfaces, such as one or more interfaces coupled with the one or more antennas 1515 that are configured to support various receiving or obtaining operations, or one or more interfaces coupled with the one or more antennas 1515 that are configured to support various transmitting or outputting operations, or a combination thereof. In some implementations, the transceiver 1510 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 1510, or the transceiver 1510 and the one or more antennas 1515, or the transceiver 1510 and the one or more antennas 1515 and one or more processors or one or more memory components (e.g., the at least one processor 1535, the at least one memory 1525, or both) , may be included in a chip or chip assembly that is installed in the device 1505. In some examples, the transceiver 1510 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) .
[0215] The at least one memory 1525 may include RAM, ROM, or any combination thereof. The at least one memory 1525 may store computer-readable, computer-executable, or processor-executable code, such as the code 1530. The code 1530 may include instructions that, when executed by one or more of the at least one processor 1535, cause the device 1505 to perform various functions described herein. The code 1530 may be stored in a non-transitory computer-readable medium such as system memory or another type of memory. In some cases, the code 1530 may not be directly executable by a processor of the at least one processor 1535 but may cause a computer (e.g., when compiled and executed) to perform functions described herein. In some cases, the at least one memory 1525 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 1535 may include multiple processors and the at least one memory 1525 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) .
[0216] The at least one processor 1535 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 1535 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 1535. The at least one processor 1535 may be configured to execute computer-readable instructions stored in a memory (e.g., one or more of the at least one memory 1525) to cause the device 1505 to perform various functions (e.g., functions or tasks supporting nested convolutional codes design) . For example, the device 1505 or a component of the device 1505 may include at least one processor 1535 and at least one memory 1525 coupled with one or more of the at least one processor 1535, the at least one processor 1535 and the at least one memory 1525 configured to perform various functions described herein. The at least one processor 1535 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 1530) to perform the functions of the device 1505. The at least one processor 1535 may be any one or more suitable processors capable of executing scripts or instructions of one or more software programs stored in the device 1505 (such as within one or more of the at least one memory 1525) .
[0217] In some examples, the at least one processor 1535 may include multiple processors and the at least one memory 1525 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 1535 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 1535) and memory circuitry (which may include the at least one memory 1525) ) , 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 1535 or a processing system including the at least one processor 1535 may be configured to, configurable to, or operable to cause the device 1505 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 1525 or otherwise, to perform one or more of the functions described herein.
[0218] In some examples, a bus 1540 may support communications of (e.g., within) a protocol layer of a protocol stack. In some examples, a bus 1540 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 1505, or between different components of the device 1505 that may be co-located or located in different locations (e.g., where the device 1505 may refer to a system in which one or more of the communications manager 1520, the transceiver 1510, the at least one memory 1525, the code 1530, and the at least one processor 1535 may be located in one of the different components or divided between different components) .
[0219] In some examples, the communications manager 1520 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 1520 may manage the transfer of data communications for client devices, such as one or more UEs 115. In some examples, the communications manager 1520 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 1520 may support an X2 interface within an LTE / LTE-A wireless communications network technology to provide communication between network entities 105.
[0220] Additionally, or alternatively, the communications manager 1520 may support wireless communications in accordance with examples as disclosed herein. For example, the communications manager 1520 is capable of, configured to, or operable to support a means for decoding an encoded bit sequence received from a first device with a convolutional decoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , where the encoded bit sequence is encoded in accordance with the subset of polynomials of the polynomial set.
[0221] By including or configuring the communications manager 1520 in accordance with examples as described herein, the device 1505 may support techniques for improved communication reliability, reduced latency, improved user experience related to reduced processing, reduced power consumption, more efficient utilization of communication resources, improved coordination between devices, longer battery life, improved utilization of processing capability, or any combination thereof.
[0222] In some examples, the communications manager 1520 may be configured to perform various operations (e.g., receiving, obtaining, monitoring, outputting, transmitting) using or otherwise in cooperation with the transceiver 1510, the one or more antennas 1515 (e.g., where applicable) , or any combination thereof. Although the communications manager 1520 is illustrated as a separate component, in some examples, one or more functions described with reference to the communications manager 1520 may be supported by or performed by the transceiver 1510, one or more of the at least one processor 1535, one or more of the at least one memory 1525, the code 1530, or any combination thereof (for example, by a processing system including at least a portion of the at least one processor 1535, the at least one memory 1525, the code 1530, or any combination thereof) . For example, the code 1530 may include instructions executable by one or more of the at least one processor 1535 to cause the device 1505 to perform various aspects of nested convolutional codes design as described herein, or the at least one processor 1535 and the at least one memory 1525 may be otherwise configured to, individually or collectively, perform or support such operations.
[0223] FIG. 16 shows a block diagram 1600 of a device 1605 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The device 1605 may be an example of aspects of a network entity 105 as described herein. The device 1605 may include a receiver 1610, a transmitter 1615, and a communications manager 1620. The device 1605, or one or more components of the device 1605 (e.g., the receiver 1610, the transmitter 1615, the communications manager 1620) , 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) .
[0224] The receiver 1610 may provide a means for obtaining (e.g., receiving, determining, identifying) information such as user data, control information, or any combination thereof (e.g., I / Q samples, symbols, packets, protocol data units, service data units) associated with various channels (e.g., control channels, data channels, information channels, channels associated with a protocol stack) . Information may be passed on to other components of the device 1605. In some examples, the receiver 1610 may support obtaining information by receiving signals via one or more antennas. Additionally, or alternatively, the receiver 1610 may support obtaining information by receiving signals via one or more wired (e.g., electrical, fiber optic) interfaces, wireless interfaces, or any combination thereof.
[0225] The transmitter 1615 may provide a means for outputting (e.g., transmitting, providing, conveying, sending) information generated by other components of the device 1605. For example, the transmitter 1615 may output information such as user data, control information, or any combination thereof (e.g., I / Q samples, symbols, packets, protocol data units, service data units) associated with various channels (e.g., control channels, data channels, information channels, channels associated with a protocol stack) . In some examples, the transmitter 1615 may support outputting information by transmitting signals via one or more antennas. Additionally, or alternatively, the transmitter 1615 may support outputting information by transmitting signals via one or more wired (e.g., electrical, fiber optic) interfaces, wireless interfaces, or any combination thereof. In some examples, the transmitter 1615 and the receiver 1610 may be co-located in a transceiver, which may include or be coupled with a modem.
[0226] The communications manager 1620, the receiver 1610, the transmitter 1615, or various combinations or components thereof may be examples of means for performing various aspects of nested convolutional codes design as described herein. For example, the communications manager 1620, the receiver 1610, the transmitter 1615, or various combinations or components thereof may be capable of performing one or more of the functions described herein.
[0227] In some examples, the communications manager 1620, the receiver 1610, the transmitter 1615, 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 DSP, a CPU, an ASIC, an FPGA or other programmable logic device, a microcontroller, discrete gate or transistor logic, discrete hardware components, or any combination thereof configured as or otherwise supporting, 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) .
[0228] Additionally, or alternatively, the communications manager 1620, the receiver 1610, the transmitter 1615, 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 1620, the receiver 1610, the transmitter 1615, 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) .
[0229] In some examples, the communications manager 1620 may be configured to perform various operations (e.g., receiving, obtaining, monitoring, outputting, transmitting) using or otherwise in cooperation with the receiver 1610, the transmitter 1615, or both. For example, the communications manager 1620 may receive information from the receiver 1610, send information to the transmitter 1615, or be integrated in combination with the receiver 1610, the transmitter 1615, or both to obtain information, output information, or perform various other operations as described herein.
[0230] The communications manager 1620 may support wireless communications in accordance with examples as disclosed herein. For example, the communications manager 1620 is capable of, configured to, or operable to support a means for generating a set of multiple initial convolutional coding (CC) polynomial sets associated with an initial coding rate. The communications manager 1620 is capable of, configured to, or operable to support a means for selecting an initial subset of the set of multiple initial CC polynomial sets based on one or more MFD metrics associated with the initial subset, one or more ODS metrics associated with the initial subset, or both. The communications manager 1620 is capable of, configured to, or operable to support a means for generating a group of nested CC polynomial sets based on an iterative nesting process, where each iteration of the iterative nesting process is associated with a coding rate of a set of multiple coding rates. In some examples, to each iteration of the iterative nesting process, the communications manager 1620 may be configured to support obtaining the coding rate, generating a set of multiple candidate CC polynomial sets based on appending, to a set of multiple input CC polynomial sets, a set of multiple additional CC polynomial sets associated with a difference between the coding rate and a coding rate of a prior iteration, and generating a set of multiple output CC polynomial sets based on selecting, from among the set of multiple candidate CC polynomial sets, a subset of the set of multiple candidate CC polynomial sets based on one or more MFD metrics associated with the subset of the set of multiple candidate CC polynomial sets, one or more ODS metrics associated with the subset of the set of multiple candidate CC polynomial sets, or both.
[0231] By including or configuring the communications manager 1620 in accordance with examples as described herein, the device 1605 (e.g., at least one processor controlling or otherwise coupled with the receiver 1610, the transmitter 1615, the communications manager 1620, or a combination thereof) may support techniques for reduced processing, reduced power consumption, more efficient utilization of communication resources, or any combination thereof.
[0232] FIG. 17 shows a block diagram 1700 of a device 1705 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The device 1705 may be an example of aspects of a device 1605 or a network entity 105 as described herein. The device 1705 may include a receiver 1710, a transmitter 1715, and a communications manager 1720. The device 1705, or one or more components of the device 1705 (e.g., the receiver 1710, the transmitter 1715, the communications manager 1720) , 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) .
[0233] The receiver 1710 may provide a means for obtaining (e.g., receiving, determining, identifying) information such as user data, control information, or any combination thereof (e.g., I / Q samples, symbols, packets, protocol data units, service data units) associated with various channels (e.g., control channels, data channels, information channels, channels associated with a protocol stack) . Information may be passed on to other components of the device 1705. In some examples, the receiver 1710 may support obtaining information by receiving signals via one or more antennas. Additionally, or alternatively, the receiver 1710 may support obtaining information by receiving signals via one or more wired (e.g., electrical, fiber optic) interfaces, wireless interfaces, or any combination thereof.
[0234] The transmitter 1715 may provide a means for outputting (e.g., transmitting, providing, conveying, sending) information generated by other components of the device 1705. For example, the transmitter 1715 may output information such as user data, control information, or any combination thereof (e.g., I / Q samples, symbols, packets, protocol data units, service data units) associated with various channels (e.g., control channels, data channels, information channels, channels associated with a protocol stack) . In some examples, the transmitter 1715 may support outputting information by transmitting signals via one or more antennas. Additionally, or alternatively, the transmitter 1715 may support outputting information by transmitting signals via one or more wired (e.g., electrical, fiber optic) interfaces, wireless interfaces, or any combination thereof. In some examples, the transmitter 1715 and the receiver 1710 may be co-located in a transceiver, which may include or be coupled with a modem.
[0235] The device 1705, or various components thereof, may be an example of means for performing various aspects of nested convolutional codes design as described herein. For example, the communications manager 1720 may include a polynomial set generation component 1725, a polynomial set selection component 1730, a nesting component 1735, or any combination thereof. The communications manager 1720 may be an example of aspects of a communications manager 1620 as described herein. In some examples, the communications manager 1720, 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 1710, the transmitter 1715, or both. For example, the communications manager 1720 may receive information from the receiver 1710, send information to the transmitter 1715, or be integrated in combination with the receiver 1710, the transmitter 1715, or both to obtain information, output information, or perform various other operations as described herein.
[0236] The communications manager 1720 may support wireless communications in accordance with examples as disclosed herein. The polynomial set generation component 1725 is capable of, configured to, or operable to support a means for generating a set of multiple initial convolutional coding (CC) polynomial sets associated with an initial coding rate. The polynomial set selection component 1730 is capable of, configured to, or operable to support a means for selecting an initial subset of the set of multiple initial CC polynomial sets based on one or more MFD metrics associated with the initial subset, one or more ODS metrics associated with the initial subset, or both. The nesting component 1735 is capable of, configured to, or operable to support a means for generating a group of nested CC polynomial sets based on an iterative nesting process, where each iteration of the iterative nesting process is associated with a coding rate of a set of multiple coding rates. In some examples, to each iteration of the iterative nesting process, the coding rate component 1740 may be configured to support obtaining the coding rate, the polynomial set generation component 1725 may be configured to support generating a set of multiple candidate CC polynomial sets based on appending, to a set of multiple input CC polynomial sets, a set of multiple additional CC polynomial sets associated with a difference between the coding rate and a coding rate of a prior iteration, and the polynomial set selection component 1730 may be configured to support generating a set of multiple output CC polynomial sets based on selecting, from among the set of multiple candidate CC polynomial sets, a subset of the set of multiple candidate CC polynomial sets based on one or more MFD metrics associated with the subset of the set of multiple candidate CC polynomial sets, one or more ODS metrics associated with the subset of the set of multiple candidate CC polynomial sets, or both.
[0237] FIG. 18 shows a block diagram 1800 of a communications manager 1820 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The communications manager 1820 may be an example of aspects of a communications manager 1620, a communications manager 1720, or both, as described herein. The communications manager 1820, or various components thereof, may be an example of means for performing various aspects of nested convolutional codes design as described herein. For example, the communications manager 1820 may include a polynomial set generation component 1825, a polynomial set selection component 1830, a nesting component 1835, an iterative process termination component 1840, a coding rate component 1845, a metric component 1850, 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.
[0238] The communications manager 1820 may support wireless communications in accordance with examples as disclosed herein. The polynomial set generation component 1825 is capable of, configured to, or operable to support a means for generating a set of multiple initial convolutional coding (CC) polynomial sets associated with an initial coding rate. The polynomial set selection component 1830 is capable of, configured to, or operable to support a means for selecting an initial subset of the set of multiple initial CC polynomial sets based on one or more MFD metrics associated with the initial subset, one or more ODS metrics associated with the initial subset, or both. The nesting component 1835 is capable of, configured to, or operable to support a means for generating a group of nested CC polynomial sets based on an iterative nesting process, where each iteration of the iterative nesting process is associated with a coding rate of a set of multiple coding rates. In some examples, to each iteration of the iterative nesting process, the coding rate component 1845 is capable of, configured to, or operable to support a means for obtaining the coding rate, the polynomial set generation component 1825 is capable of, configured to, or operable to support a means for generating a set of multiple candidate CC polynomial sets based on appending, to a set of multiple input CC polynomial sets, a set of multiple additional CC polynomial sets associated with a difference between the coding rate and a coding rate of a prior iteration, and the polynomial set selection component 1830 is capable of, configured to, or operable to support a means for generating a set of multiple output CC polynomial sets based on selecting, from among the set of multiple candidate CC polynomial sets, a subset of the set of multiple candidate CC polynomial sets based on one or more MFD metrics associated with the subset of the set of multiple candidate CC polynomial sets, one or more ODS metrics associated with the subset of the set of multiple candidate CC polynomial sets, or both.
[0239] In some examples, the iterative process termination component 1840 is capable of, configured to, or operable to support a means for terminating the iterative nesting process based on performing an iteration of the iterative nesting process that is associated with a greatest coding rate of the set of multiple coding rates.
[0240] In some examples, to support obtaining the coding rate, the coding rate component 1845 is capable of, configured to, or operable to support a means for modifying a denominator of a previous coding rate.
[0241] In some examples, the set of multiple input CC polynomial sets for a first iteration of the iterative nesting process is the initial subset of the set of multiple initial CC polynomial sets.
[0242] In some examples, the set of multiple initial CC polynomial sets includes permutations of CC polynomial sets associated with the initial coding rate. In some examples, the set of multiple additional CC polynomial sets includes permutations of CC polynomial sets associated with the coding rate.
[0243] In some examples, the selection of the subset of the set of multiple candidate CC polynomial sets is based on one or more block error rate (BLER) metrics associated with the subset of the set of multiple candidate CC polynomial sets.
[0244] In some examples, the initial coding rate is 1 / 2. In some examples, the set of multiple coding rates includes one or more of 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 1 / 11, or 1 / 12.
[0245] FIG. 19 shows a diagram of a system 1900 including a device 1905 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The device 1905 may be an example of or include components of a device 1605, a device 1705, or a network entity 105 as described herein. The device 1905 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 1905 may include components that support outputting and obtaining communications, such as a communications manager 1920, a transceiver 1910, one or more antennas 1915, at least one memory 1925, code 1930, and at least one processor 1935. 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 1940) .
[0246] The transceiver 1910 may support bi-directional communications via wired links, wireless links, or both as described herein. In some examples, the transceiver 1910 may include a wired transceiver and may communicate bi-directionally with another wired transceiver. Additionally, or alternatively, in some examples, the transceiver 1910 may include a wireless transceiver and may communicate bi-directionally with another wireless transceiver. In some examples, the device 1905 may include one or more antennas 1915, which may be capable of transmitting or receiving wireless transmissions (e.g., concurrently) . The transceiver 1910 may also include a modem to modulate signals, to provide the modulated signals for transmission (e.g., by one or more antennas 1915, by a wired transmitter) , to receive modulated signals (e.g., from one or more antennas 1915, from a wired receiver) , and to demodulate signals. In some implementations, the transceiver 1910 may include one or more interfaces, such as one or more interfaces coupled with the one or more antennas 1915 that are configured to support various receiving or obtaining operations, or one or more interfaces coupled with the one or more antennas 1915 that are configured to support various transmitting or outputting operations, or a combination thereof. In some implementations, the transceiver 1910 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 1910, or the transceiver 1910 and the one or more antennas 1915, or the transceiver 1910 and the one or more antennas 1915 and one or more processors or one or more memory components (e.g., the at least one processor 1935, the at least one memory 1925, or both) , may be included in a chip or chip assembly that is installed in the device 1905. In some examples, the transceiver 1910 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) .
[0247] The at least one memory 1925 may include RAM, ROM, or any combination thereof. The at least one memory 1925 may store computer-readable, computer-executable, or processor-executable code, such as the code 1930. The code 1930 may include instructions that, when executed by one or more of the at least one processor 1935, cause the device 1905 to perform various functions described herein. The code 1930 may be stored in a non-transitory computer-readable medium such as system memory or another type of memory. In some cases, the code 1930 may not be directly executable by a processor of the at least one processor 1935 but may cause a computer (e.g., when compiled and executed) to perform functions described herein. In some cases, the at least one memory 1925 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 1935 may include multiple processors and the at least one memory 1925 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) .
[0248] The at least one processor 1935 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 1935 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 1935. The at least one processor 1935 may be configured to execute computer-readable instructions stored in a memory (e.g., one or more of the at least one memory 1925) to cause the device 1905 to perform various functions (e.g., functions or tasks supporting nested convolutional codes design) . For example, the device 1905 or a component of the device 1905 may include at least one processor 1935 and at least one memory 1925 coupled with one or more of the at least one processor 1935, the at least one processor 1935 and the at least one memory 1925 configured to perform various functions described herein. The at least one processor 1935 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 1930) to perform the functions of the device 1905. The at least one processor 1935 may be any one or more suitable processors capable of executing scripts or instructions of one or more software programs stored in the device 1905 (such as within one or more of the at least one memory 1925) .
[0249] In some examples, the at least one processor 1935 may include multiple processors and the at least one memory 1925 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 1935 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 1935) and memory circuitry (which may include the at least one memory 1925) ) , 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 1935 or a processing system including the at least one processor 1935 may be configured to, configurable to, or operable to cause the device 1905 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 1925 or otherwise, to perform one or more of the functions described herein.
[0250] In some examples, a bus 1940 may support communications of (e.g., within) a protocol layer of a protocol stack. In some examples, a bus 1940 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 1905, or between different components of the device 1905 that may be co-located or located in different locations (e.g., where the device 1905 may refer to a system in which one or more of the communications manager 1920, the transceiver 1910, the at least one memory 1925, the code 1930, and the at least one processor 1935 may be located in one of the different components or divided between different components) .
[0251] In some examples, the communications manager 1920 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 1920 may manage the transfer of data communications for client devices, such as one or more UEs 115. In some examples, the communications manager 1920 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 1920 may support an X2 interface within an LTE / LTE-A wireless communications network technology to provide communication between network entities 105.
[0252] The communications manager 1920 may support wireless communications in accordance with examples as disclosed herein. For example, the communications manager 1920 is capable of, configured to, or operable to support a means for generating a set of multiple initial convolutional coding (CC) polynomial sets associated with an initial coding rate. The communications manager 1920 is capable of, configured to, or operable to support a means for selecting an initial subset of the set of multiple initial CC polynomial sets based on one or more MFD metrics associated with the initial subset, one or more ODS metrics associated with the initial subset, or both. The communications manager 1920 is capable of, configured to, or operable to support a means for generating a group of nested CC polynomial sets based on an iterative nesting process, where each iteration of the iterative nesting process is associated with a coding rate of a set of multiple coding rates. In some examples, to each iteration of the iterative nesting process, the communications manager 1920 may be configured to support obtaining the coding rate, generating a set of multiple candidate CC polynomial sets based on appending, to a set of multiple input CC polynomial sets, a set of multiple additional CC polynomial sets associated with a difference between the coding rate and a coding rate of a prior iteration, and generating a set of multiple output CC polynomial sets based on selecting, from among the set of multiple candidate CC polynomial sets, a subset of the set of multiple candidate CC polynomial sets based on one or more MFD metrics associated with the subset of the set of multiple candidate CC polynomial sets, one or more ODS metrics associated with the subset of the set of multiple candidate CC polynomial sets, or both.
[0253] By including or configuring the communications manager 1920 in accordance with examples as described herein, the device 1905 may support techniques for improved communication reliability, reduced latency, improved user experience related to reduced processing, reduced power consumption, more efficient utilization of communication resources, improved coordination between devices, longer battery life, improved utilization of processing capability, or any combination thereof.
[0254] In some examples, the communications manager 1920 may be configured to perform various operations (e.g., receiving, obtaining, monitoring, outputting, transmitting) using or otherwise in cooperation with the transceiver 1910, the one or more antennas 1915 (e.g., where applicable) , or any combination thereof. Although the communications manager 1920 is illustrated as a separate component, in some examples, one or more functions described with reference to the communications manager 1920 may be supported by or performed by the transceiver 1910, one or more of the at least one processor 1935, one or more of the at least one memory 1925, the code 1930, or any combination thereof (for example, by a processing system including at least a portion of the at least one processor 1935, the at least one memory 1925, the code 1930, or any combination thereof) . For example, the code 1930 may include instructions executable by one or more of the at least one processor 1935 to cause the device 1905 to perform various aspects of nested convolutional codes design as described herein, or the at least one processor 1935 and the at least one memory 1925 may be otherwise configured to, individually or collectively, perform or support such operations.
[0255] FIG. 20 shows a flowchart illustrating a method 2000 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The operations of the method 2000 may be implemented by an AIoT device or its components as described herein. For example, the operations of the method 2000 may be performed by an AIoT device as described with reference to FIGs. 1 through 11. In some examples, an AIoT device may execute a set of instructions to control the functional elements of the AIoT device to perform the described functions. Additionally, or alternatively, the AIoT device may perform aspects of the described functions using special-purpose hardware.
[0256] At 2005, the method may include transmitting, to a second device, a bit sequence encoded with a convolutional encoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] . The operations of 2005 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 2005 may be performed by a convolutional code component 1025 as described with reference to FIG. 10.
[0257] FIG. 21 shows a flowchart illustrating a method 2100 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The operations of the method 2100 may be implemented by a reader device or its components as described herein. For example, the operations of the method 2100 may be performed by a reader device as described herein. In some examples, a reader device may execute a set of instructions to control the functional elements of the reader device to perform the described functions. Additionally, or alternatively, the reader device may perform aspects of the described functions using special-purpose hardware.
[0258] At 2105, the method may include decoding an encoded bit sequence received from a first device with a convolutional decoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, where the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , where the encoded bit sequence is encoded in accordance with the subset of polynomials of the polynomial set. The operations of 2105 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 2105 may be performed by a convolutional code component 1425 as described with reference to FIG. 14.
[0259] FIG. 22 shows a flowchart illustrating a method 2200 that supports nested convolutional codes design in accordance with one or more examples as disclosed herein. The operations of the method 2200 may be implemented by a network entity or its components as described herein. For example, the operations of the method 2200 may be performed by a network entity as described herein. In some examples, a network entity may execute a set of instructions to control the functional elements of the network entity to perform the described functions. Additionally, or alternatively, the network entity may perform aspects of the described functions using special-purpose hardware.
[0260] At 2205, the method may include generating a set of multiple initial convolutional coding (CC) polynomial sets associated with an initial coding rate. The operations of 2205 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 2205 may be performed by a polynomial set generation component 1825 as described with reference to FIG. 18.
[0261] At 2210, the method may include selecting an initial subset of the set of multiple initial CC polynomial sets based on one or more MFD metrics associated with the initial subset, one or more ODS metrics associated with the initial subset, or both. The operations of 2210 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 2210 may be performed by a polynomial set selection component 1830 as described with reference to FIG. 18.
[0262] At 2215, the method may include generating a group of nested CC polynomial sets based on an iterative nesting process, where each iteration of the iterative nesting process is associated with a coding rate of a set of multiple coding rates. In some examples, each iteration of the iterative nesting process may include obtaining the coding rate, generating a set of multiple candidate CC polynomial sets based on appending, to a set of multiple input CC polynomial sets, a set of multiple additional CC polynomial sets associated with a difference between the coding rate and a coding rate of a prior iteration, and generating a set of multiple output CC polynomial sets based on selecting, from among the set of multiple candidate CC polynomial sets, a subset of the set of multiple candidate CC polynomial sets based on one or more MFD metrics associated with the subset of the set of multiple candidate CC polynomial sets, one or more ODS metrics associated with the subset of the set of multiple candidate CC polynomial sets, or both. The operations of 2215 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 2215 may be performed by a nesting component 1835 as described with reference to FIG. 18.
[0263] The following provides an overview of aspects of the present disclosure:
[0264] Aspect 1: A method for wireless communications at a first device, comprising: transmitting, to a second device, a bit sequence encoded with a convolutional encoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, wherein the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] .
[0265] Aspect 2: The method of aspect 1, wherein the bit sequence is transmitted in accordance with a first coding rate selected from a plurality of coding rates supported by the convolutional encoder; and the subset of polynomials of the polynomial set comprises a quantity of N polynomials that corresponds with the first coding rate.
[0266] Aspect 3: The method of aspect 2, wherein the plurality of coding rates comprises at least a subset of a set of coding rates consisting of 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 1 / 11, and 1 / 12.
[0267] Aspect 4: The method of any of aspects 2 through 3, wherein the N polynomials of each of a plurality of subsets of polynomials of the polynomial set are a first N polynomials of the polynomial set.
[0268] Aspect 5: The method of any of aspects 1 through 4, further comprising: receiving a carrier wave from the second device; and transmitting the bit sequence based at least in part on the carrier wave; wherein the first device is an ambient internet of things (AIoT) device and the second device is a reader device.
[0269] Aspect 6: The method of any of aspects 1 through 5, wherein the polynomial set corresponds to, expressed with octal values, [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , or [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] .
[0270] Aspect 7: A method for wireless communications at a second device, comprising: decoding an encoded bit sequence received from a first device using a convolutional decoder associated with a constraint length of eight and associated with a subset of polynomials of a polynomial set, wherein the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , wherein the encoded bit sequence is encoded in accordance with the subset of polynomials of the polynomial set.
[0271] Aspect 8: The method of aspect 7, wherein the encoded bit sequence is decoded in accordance with a first coding rate selected from a plurality of coding rates supported by the convolutional decoder; and the subset of polynomials of the polynomial set comprises a quantity of N polynomials that corresponds with the first coding rate.
[0272] Aspect 9: The method of aspect 8, wherein the plurality of coding rates comprises at least a subset of a set consisting of 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 1 / 11, and 1 / 12.
[0273] Aspect 10: The method of any of aspects 8 through 9, wherein the N polynomials of a plurality of subsets of polynomials of the polynomial set are a first N polynomials of the polynomial set.
[0274] Aspect 11: The method of any of aspects 7 through 10, further comprising: transmitting a carrier wave to the first device; and receiving the encoded bit sequence based at least in part on the carrier wave; wherein the first device is an ambient internet of things (AIoT) device and the second device is a reader device.
[0275] Aspect 12: The method of any of aspects 7 through 11, wherein the polynomial set corresponds to, expressed with octal values, [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , or [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] .
[0276] Aspect 13: A method for wireless communications, comprising: generating a plurality of initial convolutional coding (CC) polynomial sets associated with an initial coding rate; selecting an initial subset of the plurality of initial CC polynomial sets based at least in part on one or more maximum free distance (MFD) metrics associated with the initial subset, one or more optimum distance spectrum (ODS) metrics associated with the initial subset, or both; and generating a group of nested CC polynomial sets based at least in part on an iterative nesting process, wherein each iteration of the iterative nesting process is associated with a coding rate of a plurality of coding rates, and wherein each iteration of the iterative nesting process comprises: obtaining the coding rate, generating a plurality of candidate CC polynomial sets based at least in part on appending, to a plurality of input CC polynomial sets, a plurality of additional CC polynomial sets associated with a difference between the coding rate and a coding rate of a prior iteration, and generating a plurality of output CC polynomial sets based at least in part on selecting, from among the plurality of candidate CC polynomial sets, a subset of the plurality of candidate CC polynomial sets based at least in part on one or more MFD metrics associated with the subset of the plurality of candidate CC polynomial sets, one or more ODS metrics associated with the subset of the plurality of candidate CC polynomial sets, or both.
[0277] Aspect 14: The method of aspect 13, further comprising: terminating the iterative nesting process based at least in part on performing an iteration of the iterative nesting process that is associated with a greatest coding rate of the plurality of coding rates.
[0278] Aspect 15: The method of any of aspects 13 through 14, wherein obtaining the coding rate comprises: modifying a denominator of a previous coding rate.
[0279] Aspect 16: The method of any of aspects 13 through 15, wherein the plurality of input CC polynomial sets for a first iteration of the iterative nesting process is the initial subset of the plurality of initial CC polynomial sets.
[0280] Aspect 17: The method of any of aspects 13 through 16, wherein the plurality of initial CC polynomial sets comprises permutations of CC polynomial sets associated with the initial coding rate; and the plurality of additional CC polynomial sets comprises permutations of CC polynomial sets associated with the coding rate.
[0281] Aspect 18: The method of any of aspects 13 through 17, wherein the selection of the subset of the plurality of candidate CC polynomial sets is based at least in part on one or more block error rate (BLER) metrics associated with the subset of the plurality of candidate CC polynomial sets.
[0282] Aspect 19: The method of any of aspects 13 through 18, wherein the initial coding rate is 1 / 2; and the plurality of coding rates comprises one or more of 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 1 / 11, or 1 / 12.
[0283] Aspect 20: A first 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 first device to perform a method of any of aspects 1 through 6.
[0284] Aspect 21: A first device for wireless communications, comprising at least one means for performing a method of any of aspects 1 through 6.
[0285] Aspect 22: 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 6.
[0286] Aspect 23: A second 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 second device to perform a method of any of aspects 7 through 12.
[0287] Aspect 24: A second device for wireless communications, comprising at least one means for performing a method of any of aspects 7 through 12.
[0288] Aspect 25: 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 7 through 12.
[0289] Aspect 26: An apparatus 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 apparatus to perform a method of any of aspects 13 through 19.
[0290] Aspect 27: An apparatus for wireless communications, comprising at least one means for performing a method of any of aspects 13 through 19.
[0291] Aspect 28: 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 13 through 19.
[0292] 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.
[0293] 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.
[0294] 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.
[0295] 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.
[0296] 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.
[0297] 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.
[0298] 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. ”
[0299] 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 “acomponent” 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 “acomponent” 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. ”
[0300] 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.
[0301] 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.
[0302] 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.
[0303] 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 first device, comprising:one or more memories; andone or more processors coupled with the one or more memories and configured to cause the first device to:transmit, to a second device, a bit sequence encoded with a convolutional encoder associated with a constraint length of eight and associated with at least a subset of polynomials of a polynomial set, wherein the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] .2.The first device of claim 1, wherein:the bit sequence is transmitted in accordance with a first coding rate selected from a plurality of coding rates supported by the convolutional encoder; andthe subset of polynomials of the polynomial set comprises a quantity of N polynomials that corresponds with the first coding rate.3.The first device of claim 2, wherein the plurality of coding rates comprises at least a subset of a set of coding rates consisting of 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 1 / 11, and 1 / 12.4.The first device of claim 2, wherein the N polynomials of each of a plurality of subsets of polynomials of the polynomial set are a first N polynomials of the polynomial set.5.The first device of claim 1, wherein the one or more processors are configured to cause the first device to:receive a carrier wave from the second device; andtransmit the bit sequence based at least in part on the carrier wave;wherein the first device is an ambient internet of things (AIoT) device and the second device is a reader device.6.The first device of claim 1, wherein:the polynomial set corresponds to, expressed with octal values, [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , or [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] .7.A second device, comprising:one or more memories; andone or more processors coupled with the one or more memories and configured to cause the second device to:decode an encoded bit sequence received from a first device with a convolutional decoder associated with a constraint length of eight and associated with at least a subset of polynomials of a polynomial set, wherein the polynomial set is selected from a group of polynomial sets, expressed with octal values, consisting of [225, 373, 355, 317, 227, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 247, 337, 247] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 345] , [225, 373, 355, 317, 227, 275, 353, 345, 327, 247, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 337, 247] , [251, 337, 355, 317, 271, 275, 353, 247, 353, 345, 373, 345] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 363, 235, 275, 327, 345, 327, 247, 373, 345] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 337, 247] , [225, 373, 355, 317, 271, 275, 327, 247, 353, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 337, 247] , [225, 373, 267, 317, 235, 275, 327, 345, 327, 247, 373, 345] , [251, 337, 355, 317, 227, 275, 353, 247, 327, 345, 373, 345] , [225, 373, 267, 363, 351, 275, 327, 345, 353, 247, 337, 247] , [225, 373, 267, 317, 351, 275, 327, 247, 327, 345, 373, 345] , [225, 373, 267, 317, 235, 275, 327, 345, 353, 345, 337, 247] , [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] , [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 337, 247] , and [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , wherein the encoded bit sequence is encoded in accordance with the subset of polynomials of the polynomial set.8.The second device of claim 7, wherein:the encoded bit sequence is decoded in accordance with a first coding rate selected from a plurality of coding rates supported by the convolutional decoder; andthe subset of polynomials of the polynomial set comprises a quantity of N polynomials that corresponds with the first coding rate.9.The second device of claim 8, wherein the plurality of coding rates comprises at least a subset of a set consisting of 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 1 / 11, and 1 / 12.10.The second device of claim 8, wherein the N polynomials of a plurality of subsets of polynomials of the polynomial set are a first N polynomials of the polynomial set.11.The second device of claim 7, wherein the one or more processors are configured to cause the second device to:transmit a carrier wave to the first device; andreceive the encoded bit sequence based at least in part on the carrier wave;wherein the first device is an ambient internet of things (AIoT) device and the second device is a reader device.12.The second device of claim 7, wherein:the polynomial set corresponds to, expressed with octal values, [251, 337, 233, 357, 247, 275, 353, 345, 327, 345, 373, 247] , or [225, 373, 267, 317, 351, 275, 353, 345, 327, 345, 373, 247] .13.An apparatus, comprising:one or more memories; andone or more processors coupled with the one or more memories and configured to cause the apparatus to:generate a plurality of initial convolutional coding (CC) polynomial sets associated with an initial coding rate;select an initial subset of the plurality of initial CC polynomial sets based at least in part on one or more maximum free distance (MFD) metrics associated with the initial subset, one or more optimum distance spectrum (ODS) metrics associated with the initial subset, or both; andgenerate a group of nested CC polynomial sets based at least in part on an iterative nesting process, wherein each iteration of the iterative nesting process is associated with a coding rate of a plurality of coding rates, and wherein, to perform each iteration of the iterative nesting process, the one or more processors are configured to cause the apparatus to:obtain the coding rate,generate a plurality of candidate CC polynomial sets based at least in part on appending, to a plurality of input CC polynomial sets, a plurality of additional CC polynomial sets associated with a difference between the coding rate and a coding rate of a prior iteration, andgenerate a plurality of output CC polynomial sets based at least in part on selecting, from among the plurality of candidate CC polynomial sets, a subset of the plurality of candidate CC polynomial sets based at least in part on one or more MFD metrics associated with the subset of the plurality of candidate CC polynomial sets, one or more ODS metrics associated with the subset of the plurality of candidate CC polynomial sets, or both.14.The apparatus of claim 13, wherein the one or more processors are individually or collectively configured to cause the apparatus to:terminate the iterative nesting process based at least in part on performing an iteration of the iterative nesting process that is associated with a greatest coding rate of the plurality of coding rates.15.The apparatus of claim 13, wherein, to obtain the coding rate, the one or more processors are configured to cause the apparatus to:modify a denominator of a previous coding rate.16.The apparatus of claim 13, wherein the plurality of input CC polynomial sets for a first iteration of the iterative nesting process is the initial subset of the plurality of initial CC polynomial sets.17.The apparatus of claim 13, wherein:the plurality of initial CC polynomial sets comprises permutations of CC polynomial sets associated with the initial coding rate; andthe plurality of additional CC polynomial sets comprises permutations of CC polynomial sets associated with the coding rate.18.The apparatus of claim 13, wherein the selection of the subset of the plurality of candidate CC polynomial sets is based at least in part on one or more block error rate (BLER) metrics associated with the subset of the plurality of candidate CC polynomial sets.19.The apparatus of claim 13, wherein:the initial coding rate is 1 / 2; andthe plurality of coding rates comprises one or more of 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, 1 / 10, 1 / 11, or 1 / 12.
Citation Information
Patent Citations
Encoding and decoding methods for expurgated convolutional codes and convolutional turbo codes
US20100287453A1
Method for detecting the validity of downlink control information in telecommunication user equipment, decoder and baseband receiver for performing same
US20120151285A1
Communication system and communication method
WO2021044765A1