Nested convolutional codes design with constraint length

The nested convolutional codes design with a constraint length of six and variable coding rates addresses the overhead challenges of high constraint lengths, improving battery life and signaling performance for low-power devices by optimizing encoding and decoding processes.

WO2026031049A1PCT designated stage Publication Date: 2026-02-12QUALCOMM INC +4
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/110633
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-08
Publication Date
2026-02-12

AI Technical Summary

Technical Problem

Convolutional codes with high constraint lengths increase processing and power overhead, which low-power devices like ambient internet-of-things (A-IoT) devices struggle to support, limiting their performance and battery life.

Method used

Implement a nested convolutional codes design with a constraint length of six and variable coding rates, allowing devices to adjust coding rates by puncturing parity streams to optimize encoding and decoding processes, reducing complexity and power consumption.

Benefits of technology

This approach enhances battery life and signaling performance for low-power devices by reducing processing overhead and enabling flexible coding rate adjustments to mitigate channel degradation and interference.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024110633_12022026_PF_FP_ABST
    Figure CN2024110633_12022026_PF_FP_ABST
Patent Text Reader

Abstract

Methods, systems, and devices for wireless communications are described. In some systems, a wireless communication device, such as an ambient internet-of-things (A-IoT) device, may include a convolutional encoder with a nested convolutional codes design that supports variable coding rates. The device may communicate an indication of a first coding rate to use for communications. The device may encode a set of information bits using the convolutional encoder with a fixed constraint length, such as a constrain length of six. The encoder may output multiple parity streams for the set of information bits, the quantity of parity streams corresponding to a lowest coding rate supported by the encoder. The device may puncture one or more of the parity streams according to the first coding rate and may transmit a signal indicating the bits of the remaining, unpunctured parity streams to achieve the indicated first coding rate.
Need to check novelty before this filing date? Find Prior Art

Description

NESTED CONVOLUTIONAL CODES DESIGN WITH CONSTRAINT LENGTHTECHNICAL FIELD

[0001] The following relates to wireless communications, including a nested convolutional codes design for encoding signals.

[0002] DESCRIPTION OF THE RELATED TECHNOLOGY

[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 (for example, 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] In some wireless communications systems, a UE may encode wireless signals using a convolutional code. A convolutional code is an example of an error-correcting code that generates parity bits from a set of information bits using a sliding shift register of a specific size. A constraint length of the convolutional code may indicate a quantity of information bits used to generate each parity bit, and the specific size of the shift register may be associated with the constraint length. Increasing the constraint length for convolutional encoding may increase the performance of the resulting encoded signal, but may also increase the complexity, processing overhead, and power overhead associated with encoding the signal. Some wireless communication devices, including relatively low power devices such as ambient  internet-of-things (A-IoT) devices, may fail to support the power overhead associated with convolutional encoding using specific constraint lengths.SUMMARY

[0005] The systems, methods, and devices of this disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.

[0006] One innovative aspect of the subject matter described in this disclosure can be implemented in a first wireless communication device. The first wireless communication device may include a processing system that includes processor circuitry and memory circuitry that stores code. The processing system may be configured to cause the first wireless communication device to communicate, with a second wireless communication device, an indication of a first coding rate and to transmit a signal in accordance with an output of a convolutional encoder associated with a set of multiple coding rates including the first coding rate, the output including a set of multiple parity streams, one or more parity streams of the set of multiple parity streams being punctured in accordance with the first coding rate to obtain the signal for transmission

[0007] Another innovative aspect of the subject matter described in this disclosure can be implemented in a method for wireless communications. The method may include communicating, with a second wireless communication device, an indication of a first coding rate and transmitting a signal in accordance with an output of a convolutional encoder associated with a set of multiple coding rates including the first coding rate, the output including a set of multiple parity streams, one or more parity streams of the set of multiple parity streams being punctured in accordance with the first coding rate to obtain the signal for transmission.

[0008] Another innovative aspect of the subject matter described in this disclosure can be implemented in another first wireless communication device. The first wireless communication device may include means for communicating, with a second wireless communication device, an indication of a first coding rate and means for transmitting a signal in accordance with an output of a convolutional encoder associated with a set of multiple coding rates including the first coding rate, the output including a set of  multiple parity streams, one or more parity streams of the set of multiple parity streams being punctured in accordance with the first coding rate to obtain the signal for transmission.

[0009] Another innovative aspect of the subject matter described in this disclosure can be implemented in a non-transitory computer-readable medium storing code for wireless communications. The code may include instructions executable by one or more processors to communicate, with a second wireless communication device, an indication of a first coding rate and transmit a signal in accordance with an output of a convolutional encoder associated with a set of multiple coding rates including the first coding rate, the output including a set of multiple parity streams, one or more parity streams of the set of multiple parity streams being punctured in accordance with the first coding rate to obtain the signal for transmission.

[0010] In some examples of the method, first wireless communication devices, and non-transitory computer-readable medium described herein, the convolutional encoder may have a constraint length of six and a variable coding rate, the variable coding rate supporting the set of multiple coding rates.

[0011] Some examples of the method, first wireless communication devices, and non-transitory computer-readable medium described herein may further include operations, features, means, or instructions for inputting, to the convolutional encoder, a stream of information bits associated with the signal and determining the output of the convolutional encoder in accordance with the stream of information bits and a nested polynomial of the convolutional encoder defining a set of operations for determination of the set of multiple parity streams.

[0012] Another innovative aspect of the subject matter described in this disclosure can be implemented in a first wireless communication device. The first wireless communication device may include a processing system that includes processor circuitry and memory circuitry that stores code. The processing system may be configured to cause the first wireless communication device to communicate, with a second wireless communication device, an indication of a first coding rate and to receive a signal indicative of a set of multiple parity streams associated with the first coding rate, an input to a convolutional decoder including the set of multiple parity  streams, the convolutional decoder associated with a set of multiple coding rates including the first coding rate, and an output of the convolutional decoder including a set of information bits corresponding to the signal.

[0013] Another innovative aspect of the subject matter described in this disclosure can be implemented in a method for wireless communications. The method may include communicating, with a second wireless communication device, an indication of a first coding rate and receiving a signal indicative of a set of multiple parity streams associated with the first coding rate, an input to a convolutional decoder including the set of multiple parity streams, the convolutional decoder associated with a set of multiple coding rates including the first coding rate, and an output of the convolutional decoder including a set of information bits corresponding to the signal.

[0014] Another innovative aspect of the subject matter described in this disclosure can be implemented in another first wireless communication device. The first wireless communication device may include means for communicating, with a second wireless communication device, an indication of a first coding rate and means for receiving a signal indicative of a set of multiple parity streams associated with the first coding rate, an input to a convolutional decoder including the set of multiple parity streams, the convolutional decoder associated with a set of multiple coding rates including the first coding rate, an output of the convolutional decoder including a set of information bits corresponding to the signal.

[0015] Another innovative aspect of the subject matter described in this disclosure can be implemented in a non-transitory computer-readable medium storing code for wireless communications. The code may include instructions executable by one or more processors to communicate, with a second wireless communication device, an indication of a first coding rate and receive a signal indicative of a set of multiple parity streams associated with the first coding rate, an input to a convolutional decoder including the set of multiple parity streams, the convolutional decoder associated with a set of multiple coding rates including the first coding rate, an output of the convolutional decoder including a set of information bits corresponding to the signal.

[0016] In some examples of the method, first wireless communication devices, and non-transitory computer-readable medium described herein, the convolutional decoder  may have a constraint length of six and a variable coding rate, the variable coding rate supporting the set of multiple coding rates.

[0017] Some examples of the method, first wireless communication devices, and non-transitory computer-readable medium described herein may further include operations, features, means, or instructions for determining the output of the convolutional decoder in accordance with an input stream of bits corresponding to the set of multiple parity streams and a nested polynomial of the convolutional decoder defining a set of operations for determination of the set of information bits.

[0018] 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

[0019] Figures 1 and 2 show examples of wireless communications systems that support a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure.

[0020] Figure 3 shows an example of a nested polynomial selection procedure that supports a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure.

[0021] Figures 4 and 5 show examples of convolutional encoders that support a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure.

[0022] Figure 6 shows an example of a process flow that supports a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure.

[0023] Figures 7 and 8 show block diagrams of devices that support a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure.

[0024] Figure 9 shows a block diagram of a communications manager that supports a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure.

[0025] Figure 10 shows a diagram of a system including a device that supports a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure.

[0026] Figures 11–13 show flowcharts illustrating methods that support a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure.

[0027] Like reference numbers and designations in the various drawings indicate like elements.DETAILED DESCRIPTION

[0028] The following description is directed to some implementations for the purposes of describing the innovative aspects of this disclosure. However, a person having ordinary skill in the art will readily recognize that the teachings herein can be applied in a multitude of different ways. The described implementations may be implemented in any device, system, or network that is capable of transmitting and receiving radio frequency (RF) signals according to any of the Institute of Electrical and Electronics Engineers (IEEE) 16.11 standards, or any of the IEEE 802.11 standards, the  standard, code division multiple access (CDMA) , frequency division multiple access (FDMA) , time division multiple access (TDMA) , Global System for Mobile communications (GSM) , GSM / General Packet Radio Service (GPRS) , Enhanced Data GSM Environment (EDGE) , Terrestrial Trunked Radio (TETRA) , Wideband-CDMA (W-CDMA) , Evolution Data Optimized (EV-DO) , 1xEV-DO, EV-DO Rev A, EV-DO Rev B, High Speed Packet Access (HSPA) , High Speed Downlink Packet Access (HSDPA) , High Speed Uplink Packet Access (HSUPA) , Evolved High Speed Packet Access (HSPA+) , Long Term Evolution (LTE) , AMPS, or other known signals that are used to communicate within a wireless, cellular or internet of things (IOT) network, such as a system utilizing third generation (3G) , fourth generation (4G) , fifth generation (5G) , or sixth generation (6G) , or further implementations thereof, technology.

[0029] In some wireless communications systems, wireless communication devices may encode signals using convolutional codes. A convolutional code may operate as an error-correcting code that generates parity bits for a set of information bits using a sliding shift register of a specific size. In some examples, a first wireless communication device, such as an ambient internet-of-things (A-IoT) device, may operate with a relatively low power overhead in accordance with a battery or energy capacity of the device.

[0030] Various aspects relate generally to a nested convolutional codes design. Some aspects more specifically relate to nested convolutional encoding that supports a fixed constraint length with variable coding rates. In some examples, a first wireless communication device may use a nested convolutional codes design with a relatively small constraint length to support the energy capacity of the device. For example, the first wireless communication device may include a convolutional encoder with a constraint length of six and a variable coding rate. The first wireless communication device may communicate, with a second wireless communication device, an indication of a coding rate to use for convolutional encoding. The first and second wireless communication devices may encode and decode wireless signals using the indicated coding rate. The first wireless communication device may include a convolutional encoder configured with the nested convolutional codes design. The nested convolutional codes design may enable the convolutional encoder to perform the same encoding process for multiple different coding rates. For example, the first wireless communication device may input a set of information bits to the convolutional encoder, and the convolutional encoder may output multiple parity streams generated from the set of information bits. The quantity of parity streams output by the convolutional encoder may correspond to a lowest coding rate supported by the convolutional encoder. For example, the convolutional encoder may output eight parity streams to support a lowest coding rate of 1 / 8, ten parity streams to support a lowest coding rate of 1 / 10, or some other quantity of parity streams. To communicate using a relatively higher coding rate, the first wireless communication device may puncture one or more of the parity streams output from the convolutional encoder to achieve the indicated coding rate. For example, to transmit using a coding rate of 1 / 4, the first wireless communication device may puncture one or more parity streams according to a  configured puncturing pattern, resulting in four unpunctured parity streams for transmission. The first wireless communication device may transmit a signal representing the bits of the resulting unpunctured parity streams to communicate according to the indicated coding rate. The second wireless communication device receiving the signal may decode the signal in accordance with the indicated coding rate, for example, using a convolutional decoder.

[0031] Particular aspects of the subject matter described in this disclosure can be implemented to realize one or more of the following potential advantages. In some examples, by supporting convolutional codes with a constraint length of six, a wireless communication device may reduce a processing overhead associated with encoding and decoding procedures, improving the battery life of the wireless communication device. Such improvements may be significant for relatively low power devices, such as A-IoT devices. Additionally, or alternatively, by supporting variable coding rates, the wireless communication device may flexibly adjust the coding rate for communications. By lowering the coding rate, the wireless communication device may improve signaling performance and reliability, for example, to mitigate channel degradation or interference. By increasing the coding rate, the wireless communication device may reduce the channel overhead associated with the signaling. The flexibility provided by the variable coding rates may enable the wireless communication device to select an optimal (or otherwise improved) coding rate to use for communications according to current channel conditions, device capabilities, signaling priorities, or other metrics. Additionally, or alternatively, by using the nested convolutional codes design for the convolutional encoder, the wireless communication device may reduce the hardware and processing complexity associated with encoding for different coding rates. The wireless communication device may include a single convolutional encoder with the nested design, rather than multiple convolutional encoders corresponding to different coding rates.

[0032] Figure 1 shows an example of a wireless communications system 100 that supports a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure. The wireless communications system 100 may include one or more devices, such as one or more network devices (for example, network entities 105) , one or more user equipment (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.

[0033] 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 (for example, a radio frequency (RF) access link) . For example, a network entity 105 may support a coverage area 110 (for example, 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) .

[0034] 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 Figure 1. The UEs 115 described herein may be capable of supporting communications with various types of devices in the wireless communications system 100 (for example, other wireless communication devices, including UEs 115 or network entities 105) , as shown in Figure 1.

[0035] 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 (for example, any network entity described herein) , a UE 115 (for example, 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.

[0036] 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 (for example, 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 (for example, in accordance with an X2, Xn, or other interface protocol) either directly (for example, directly between network entities 105) or indirectly (for example, via the core network 130) . In some examples, network entities 105 may communicate with one another via a midhaul communication link 162 (for example, in accordance with a midhaul interface protocol) or a fronthaul communication link 168 (for example, 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 (for example, an electrical link, an optical fiber link) or one or more wireless links (for example, 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.

[0037] 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 (for example, 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 (for example, a base station 140) may be implemented in an aggregated (for example, monolithic, standalone) base station architecture, which may be configured to utilize a protocol stack that is physically or logically integrated within one network entity (for example, a network entity 105 or a single RAN node, such as a base station 140) .

[0038] In some examples, a network entity 105 may be implemented in a disaggregated architecture (for example, 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 (for example, network entities 105) , such as an integrated access and backhaul (IAB) network, an open RAN (O-RAN) (for example, a network configuration sponsored by the O-RAN Alliance) , or a virtualized RAN (vRAN) (for example, 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 (for example, 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 (for example, 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 (for example, a virtual CU (VCU) , a virtual DU (VDU) , a virtual RU (VRU) ) .

[0039] 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 (for example, 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 (for example, layer 3 (L3) , layer 2 (L2) ) functionality and signaling (for example, Radio Resource Control (RRC) , service data adaptation protocol (SDAP) , Packet Data Convergence Protocol (PDCP) ) . The CU 160 (for example, one or more CUs) may be connected to a DU 165 (for example, one or more DUs) or an RU 170 (for example, 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) (for example, physical (PHY) layer) or L2 (for example, 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 (for example, via one or multiple different RUs, such as an RU 170) . In some examples, 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 (for example, 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 (for example, F1, F1-c, F1-u) , and a DU 165 may be connected to an RU 170 via a fronthaul communication link 168 (for example, 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 (for example, a channel) between layers of a protocol stack supported by respective network entities (for example, one or more of the network entities 105) that are in communication via such communication links.

[0040] In some wireless communications systems (for example, 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 (for example, to a core network 130) . In some examples, in an IAB network, one or more of the network entities 105 (for example, 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 (for example, IAB donors) may be in communication with one or more additional devices (for example, IAB node (s) 104) via supported access and backhaul links (for example, backhaul communication link (s) 120) . IAB node (s) 104 may include an IAB mobile termination (IAB-MT) controlled (for example, scheduled) by one or more DUs (for example, 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 (for example, of an RU 170) of IAB node (s) 104 used for access via the DU 165 of the IAB node (s) 104 (for example, referred to as virtual IAB-MT (vIAB-MT) ) . In some examples, the IAB node (s) 104 may include one or more DUs (for example, DUs 165) that support communication links with additional entities (for example, IAB node (s) 104, UEs 115) within the relay chain or configuration of the access network (for example, downstream) . In some such examples, one or more components of the disaggregated RAN architecture (for example, the IAB node (s) 104 or components of the IAB node (s) 104) may be configured to operate according to the techniques described herein.

[0041] 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 encoding. For example, some operations described as being performed by a UE 115 or a network entity 105 (for example, a base station 140) may additionally, or alternatively, be performed by one or more components of the disaggregated RAN architecture (for example, components such as an IAB node, a DU 165, a CU 160, an RU 170, an RIC 175, an SMO system 180) .

[0042] 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.

[0043] 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 Figure 1.

[0044] The UEs 115 and the network entities 105 may wirelessly communicate with one another via the communication link (s) 125 (for example, 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 (for example, a bandwidth part (BWP) ) that is operated according to one or more PHY layer channels for a given RAT (for example, LTE, LTE-A, LTE-A Pro, NR) . Each PHY layer channel may carry acquisition signaling (for example, 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 (for example, 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 (for example, a base station 140, a CU 160, a DU 165, a RU 170)  of a RAN communicating with another device (for example, directly or via one or more other network entities, such as one or more of the network entities 105) .

[0045] Signal waveforms transmitted via a carrier may be made up of multiple subcarriers (for example, 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 (for example, 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 (for example, the order of the modulation scheme, the coding rate of the modulation scheme, or both) , such that a relatively higher quantity of resource elements (for example, 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 (for example, 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.

[0046] 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 (for example, 10 milliseconds (ms) ) . Each radio frame may be identified by a system frame number (SFN) (for example, ranging from 0 to 1023) .

[0047] 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 (for example, 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 (for example, 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 (for example, Nf) sampling periods. The duration of a symbol period may depend on the subcarrier spacing or frequency band of operation.

[0048] A subframe, a slot, a mini-slot, or a symbol may be the smallest scheduling unit (for example, 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 (for example, 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 (for example, in bursts of shortened TTIs (sTTIs) ) .

[0049] 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 (for example, 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 (for example, 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 (for example, 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 (for example, one or more UEs) or may include UE-specific search space sets for sending control information to a UE 115 (for example, a specific UE) .

[0050] In some examples, a network entity 105 (for example, a base station 140, an RU 170) may be movable and provide communication coverage for a moving coverage area, such as the coverage area 110. In some examples, coverage areas 110 (for example, different coverage areas) associated with different technologies may overlap, but the coverage areas 110 (for example, different coverage areas) may be supported by the same network entity (for example, 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 (for example, 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 (for example, different coverage areas) using the same or different RATs.

[0051] 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 (for example, 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 (for example, 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.

[0052] Some UEs 115 may be configured to employ operating modes that reduce power consumption, such as half-duplex communications (for example, 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 (for example, 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 (for example, set of subcarriers or resource blocks (RBs) ) within a carrier, within a guard-band of a carrier, or outside of a carrier.

[0053] 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.

[0054] In some examples, a UE 115 may be configured to support communicating directly with other UEs (for example, one or more of the UEs 115) via a device-to-device (D2D) communication link, such as a D2D communication link 135 (for example, 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 (for example, a base station 140, an RU 170) , which may support aspects of such D2D communications being configured by (for example, 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.

[0055] 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 (for example, 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 (for example, 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 (for example, 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.

[0056] 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 (for example, 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.

[0057] 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 (for example, LAA) . Operations using unlicensed spectrum may include downlink transmissions, uplink transmissions, P2P transmissions, or D2D transmissions, among other examples.

[0058] A network entity 105 (for example, a base station 140, an RU 170) or a UE 115 may be equipped with multiple antennas, which may be used to employ techniques such as transmit diversity, receive diversity, multiple-input multiple-output (MIMO) communications, or beamforming. The antennas of a network entity 105 or a UE 115 may be located within one or more antenna arrays or antenna panels, which may support MIMO operations or transmit or receive beamforming. For example, one or more base station antennas or antenna arrays may be co-located at an antenna assembly, such as an antenna tower. In some examples, antennas or antenna arrays associated with a network entity 105 may be located at diverse geographic locations. A network entity 105 may include an antenna array with a set of rows and columns of antenna ports that the network entity 105 may use to support beamforming of communications with a UE 115. Likewise, a UE 115 may include one or more antenna arrays that may support various MIMO or beamforming operations. Additionally, or alternatively, an antenna panel may support RF beamforming for a signal transmitted via an antenna port.

[0059] Beamforming, which may also be referred to as spatial filtering, directional transmission, or directional reception, is a signal processing technique that may be used at a transmitting device or a receiving device (for example, a network entity 105, a UE 115) to shape or steer an antenna beam (for example, a transmit beam, a receive beam) along a spatial path between the transmitting device and the receiving device. Beamforming may be achieved by combining the signals communicated via antenna elements of an antenna array such that some signals propagating along particular orientations with respect to an antenna array experience constructive interference while others experience destructive interference. The adjustment of signals communicated via  the antenna elements may include a transmitting device or a receiving device applying amplitude offsets, phase offsets, or both to signals carried via the antenna elements associated with the device. The adjustments associated with each of the antenna elements may be defined by a beamforming weight set associated with a particular orientation (for example, with respect to the antenna array of the transmitting device or receiving device, or with respect to some other orientation) .

[0060] 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.

[0061] 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 (for example, the communication link (s) 125, a D2D communication link 135) . HARQ may include a combination of error detection (for example, using a cyclic redundancy check (CRC) ) , forward error correction (FEC) , and retransmission (for example, automatic repeat request (ARQ) ) . HARQ may improve throughput at the MAC layer in relatively poor radio conditions (for example, 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.

[0062] Some wireless communications systems 100 may include ambient IoT (A-IoT) devices. For example, a UE 115 may be an example of an A-IoT device. The A- IoT device may be a relatively low power, low cost, and low complexity device, for example, as compared to a narrowband IoT (NB-IoT) device, an LTE-MTC (LTE-M) device, an enhanced reduced capability (eRedCap) device, or another device or UE 115. The A-IoT device may support backscatter communications to reduce a power overhead associated with wireless communications at the A-IoT device. Additionally, or alternatively, the A-IoT device may support energy harvesting to leverage radio waves for battery power. In some implementations, the A-IoT device may maintain its battery’s power level using radio waves as a primary energy source (in part according to the relatively low power used for backscatter communications) . In some examples, the A-IoT device may use similar technologies or techniques as a passive UHF radio-frequency identifier (RFID) tag. For example, another device referred to as a reader (such as a network entity 105 or a UE 115 with a relatively higher power capability) may communicate with the A-IoT device, which in some examples may be referred to as a tag. The A-IoT device may receive a signal from the reader. The signal may be a carrier wave such as a continuous wave, an NR signal, or another wireless signal. The A-IoT device may use the received signal for energy harvesting, for transmitting its own signal (such as by backscattering the received signal as a backscattered signal with an encoded waveform) , or both.

[0063] In some implementations, the wireless communications system 100 may support multiple device types corresponding to different power consumption thresholds. For example, a first device type may support a first threshold (for example, peak) power consumption of approximately 1 microwatt (μW) . The first device type may support energy storage and an initial sampling frequency offset (SFO) up to 10X parts per million (ppm) . However, the first device type may not support downlink or uplink amplification of signaling. Instead, the first device type’s uplink signaling may be backscattered via a carrier wave provided externally (such as by another device, such as another UE 115 or a network entity 105) . A second device type may support a relatively higher power consumption, such as up to a second threshold (for example, peak) power consumption of a few hundred μW. The second device type may similarly support energy storage and an initial SFO up to 10X ppm. However, in contrast to the first device type, the second device type may support downlink amplification of signaling, uplink amplification of signaling, or both. The second device type’s uplink  signaling may be internally generated at the device or may be backscattered via a carrier wave provided externally (such as by another device, such as another UE 115 or a network entity 105) . An A-IoT device in the wireless communications system 100 may be an example of the first device type or the second device type.

[0064] In some examples, wireless communication devices may use convolutional codes to encode and decode signaling. For example, a network entity 105, a UE 115 (such as an A-IoT device) , or both may use convolutional codes, such as tail-biting convolutional codes, for encoding processes. A convolutional code may be a type of error-correcting code that generates parity bits in accordance with the application of a sliding shift register to a set of information bits for encoding. The size of the shift register used to generate the parity bits (in one or more parity streams) may correspond to a constraint length of the convolutional code. For example, a convolutional code with a constraint length of two may determine each parity bit for a parity stream using two bits: a next information bit for encoding and one bit value stored in the shift register.

[0065] The constraint length of the convolutional code used for encoding may support a tradeoff between complexity and performance. For example, a relatively larger constraint length for the convolutional code may increase the complexity of the encoding process but may also increase the resulting performance of the signaling. In some implementations, a device using a relatively shorter constraint length for convolutional encoding may also use a relatively lower coding rate to mitigate the performance loss. For example, a first device may use a convolutional code with a constraint length of nine and a coding rate of 1 / 2. A second device may use a convolutional code with a constraint length of seven and a coding rate of 1 / 3, which, for the same coding gain, may have a relatively lower complexity than the first device according to the lower constraint length but a relatively higher performance according to the reduced coding rate. Specifically, adjusting the coding rate for convolutional encoding may mitigate a performance loss associated with a reduced constraint length.

[0066] The wireless communications system 100 may support encoding and decoding using convolutional codes of a fixed constraint length but a variable coding rate. For example, a network entity 105, a UE 115 (such as an A-IoT device) , or both may use a convolutional code with a fixed constraint length of six, which may be  relatively lower than the convolutional code constraint length used by other devices (for example, LTE UEs 115) . The relatively lower constraint length of six may support reduced complexity and power savings for low power wireless communication devices, such as A-IoT devices. However, the relatively lower constraint length may correspond to a relatively lower performance and reliability for the encoded signals. To mitigate the performance loss, the wireless communication devices may support varying coding rates. A wireless communication device may encode a signal using a relatively lower coding rate if channel conditions are relatively poor, or the wireless communication device may encode the signal using a relatively higher coding rate if channel conditions are relatively good. The wireless communication devices may improve encoding complexity while supporting performance flexibility using a nested convolutional codes design that supports variable coding rates with the fixed constraint length.

[0067] Figure 2 shows an example of a wireless communications system 200 that supports a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure. The wireless communications system 200 may be an example of a wireless communications system 100 as described with reference to Figure 1. The wireless communications system 200 may include a first UE 115-a and a second UE 115-b, which may be examples of UEs 115 described with reference to Figure 1. In some examples, the first UE 115-a may operate as a reader device and the second UE 115-b may be an example of an A-IoT device communicating with the reader device. The first UE 115-a and the second UE 115-b may use convolutional codes for encoding and decoding communications. In some examples, the first UE 115-a and the second UE 115-b may support variable coding rates for convolutional codes of a same constraint length, such as a constraint length of six.

[0068] The first UE 115-a and the second UE 115-b may include encoding and decoding components. For example, the first UE 115-a may include a convolutional encoder / decoder 210-a, and the second UE 115-b may include a convolutional encoder / decoder 210-b. A convolutional encoder / decoder may be a single component configured to encode and decode signals or may be separate components, one configured for encoding signals and one configured for decoding signals. The convolutional encoder / decoder may support multiple different coding rates. For  example, to save on hardware complexity, the convolutional encoder / decoder 210-a may include a single nested encoder to support different coding rates, rather than independent encoders for the different coding rates. In a “nested” encoder, a higher coding rate encoder is part of a lower coding rate encoder. The convolutional code for the nested encoder may be defined by a base polynomial structure associated with a lowest coding rate supported by the nested encoder. A device may puncture the base polynomial to determine smaller polynomials corresponding to higher coding rate convolutional codes. In this way, the single nested encoder may support convolutional codes with different coding rates. The convolutional encoder / decoder 210-a may similarly include a single nested decoder to support different coding rates, rather than independent decoders for the different coding rates.

[0069] The UE 115-b may be an example of an A-IoT device, which may be a relatively low complexity system. The UE 115-b, the UE 115-a, or both may use relatively lower complexity convolutional codes to improve the complexity and power consumption at A-IoT devices, readers (such as UEs 115) , or both. To achieve a relatively lower complexity convolutional code, the UEs 115 may use a relatively smaller constraint length for encoding and encoding (as compared to LTE constraint lengths, 5G constrain lengths, or both) . For example, the convolutional encoder / decoder 210-a and the convolutional encoder / decoder 210-b may have constraint lengths of six. The UEs 115 may mitigate any performance degradation associated with the smaller constraint length by lowering, or otherwise adjusting, the coding rate for encoding and decoding.

[0070] In some examples, the UEs 115 may flexibly select and indicate a coding rate to use for communications from a set of coding rates supported by the convolutional encoder / decoder 210-a and the convolutional encoder / decoder 210-b. The first UE 115-a and the second UE 115-b may communicate an indication of the coding rate 205. For example, the UE 115-a or the UE 115-b may transmit a control signal including the indication of the coding rate 205. In some examples, the control signal may be a radio resource control (RRC) signal, a medium access control (MAC) control element (CE) , a sidelink control information (SCI) message, or any other control signal. In some examples, the UE 115-b may transmit the indication of the coding rate  205 as a backscatter signal, for example, using a carrier wave produced by the UE 115-a.

[0071] The UE 115-a, the UE 115-b, or both may select the coding rate to use for communications in accordance with one or more metrics. For example, a UE 115 may select the coding rate according to current channel conditions or channel metrics. Additionally, or alternatively, the UE 115 may select the coding rate according to a priority level for communications or a latency threshold for communications. Additionally, or alternatively, the UE 115 may select the coding rate to achieve a threshold coding performance, encoding overhead, signaling reliability, or any combination thereof. Using the variable coding rate, the UEs 115 may increase the configured coding rate to improve a processing overhead, latency overhead, or both. Alternatively, the UEs 115 may lower the coding rate to improve a coding performance, signaling reliability, or both.

[0072] In some implementations, the UEs 115 may select a coding rate to support rate matching. For example, an A-IoT device or other wireless communication device may use a coding rate of 1 over an even value (such as 1 / 2, 1 / 4, 1 / 6, 1 / 8, or 1 / 10) to support combining with line coding. The “nested” aspect of the convolutional encoding may improve rate matching by supporting different coding rates with relatively low complexity (hardware complexity, processing complexity, or both) .

[0073] In some examples, the UEs 115 may negotiate a coding rate. For example, the UE 115-b may request a specific coding rate (or a change to a current coding rate) , and the UE 115-b may transmit the indication of the coding rate 205 to approve the request, deny the request, or configure a different coding rate.

[0074] The UE 115-a and the UE 115-b may use the indication of the coding rate 205 to perform encoding and decoding procedures. For example, the UE 115-b may encode a signal using the indicated coding rate. Using the nested aspect of the convolutional encoder / decoder 210-b, the UE 115-b may encode information bits. The convolutional encoder / decoder 210-b (such as the convolutional encoder) may generate a set of multiple output streams of bits according to encoding the information bits using the base polynomial of the convolutional encoder / decoder 210-b. The set of multiple output streams from the convolutional encoder / decoder 210-b may correspond to, or  otherwise be referred to as, a set of multiple parity streams including parity bits generated for the encoded information bits. The UE 115-b may include a puncturing component 215-b for puncturing one or more streams of the output streams (the parity streams) . The UE 115-b may puncture a quantity of streams to achieve the indicated coding rate. For example, the quantity of streams output by the convolutional encoder / decoder 210-b may correspond to a lowest coding rate supported by the convolutional encoder / decoder 210-b. If the convolutional encoder / decoder 210-b supports a lowest coding rate of 1 / 8, the convolutional encoder / decoder 210-b may output a set of eight parity streams. If the convolutional encoder / decoder 210-b supports a lowest coding rate of 1 / 10, the convolutional encoder / decoder 210-b may output a set of ten parity streams. The convolutional encoder / decoder 210-b may be configured to support any sets of coding rates. To achieve a coding rate relatively higher than the lowest supported coding rate, the UE 115-b may puncture one or more parity streams. For example, if the convolutional encoder / decoder 210-b outputs eight parity streams, to communicate using a coding rate of 1 / 6, the puncturing component 215-b may puncture two of the eight parity streams. The UE 115-b may transmit a signal indicating the remaining six unpunctured parity streams. Such a signal may encode the information bits at a coding rate of 1 / 6.

[0075] The UE 115-a may receive the signal and may decode the signal using the convolutional encoder / decoder 210-a and the indication of the coding rate 205. For example, according to the coding rate 205, the UE 115-a may determine a quantity of parity streams indicated by the signal. The UE 115-a may input the indicated parity streams into the convolutional encoder / decoder 210-a (such as the convolutional decoder) , and the convolutional decoder may decode the parity streams in accordance with the coding rate to determine the information bits. In some examples, the puncturing component 215-a may determine which parity streams were punctured at the UE 115-b to accurately decode the signal in accordance with the indicated coding rate. The UE 115-a, the UE 115-b, or any other wireless communication device (such as a network entity 105 as described with reference to Figure 1) may transmit signals, receive signals, or both using the nested convolutional codes design with a reduced constraint length (such as a constrain length of six, five, four, or another reduced constraint length) .

[0076] Figure 3 shows an example of a nested polynomial selection procedure 300 that supports a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure. An original equipment manufacturer (OEM) or other system may perform the nested polynomial selection procedure 300 to determine a nested polynomial for configuring a convolutional encoder / decoder, such as a convolutional encoder / decoder 210-a or a convolutional encoder / decoder 210-b as described with reference to Figure 2. The selected nested polynomial may be optimized for a specific coding rate but may support relatively strong performance at other supported coding rates.

[0077] The system may select a nested polynomial for a relatively low-rate convolutional code with a fixed constraint length, such as a constraint length of six. In a first implementation, the system may search for polynomials that support coding rates from 1 / 2 to 1 / 8. The system may optimize for a polynomial with a coding rate of 1 / 2. The system may first search for polynomials of convolutional codes with a coding rate of 1 / 2 and a constraint length of six. The system may use these polynomials to search for expanded polynomials ranging from the coding rate of 1 / 2 to the coding rate of 1 / 8. In some examples, such a search process may determine optimal (or otherwise improved) nested polynomials for convolutional encoding and decoding for high-rate systems (such as network entities 105 and UEs 115 operating with relatively higher coding rates) for improved performance at such coding rates.

[0078] In a second implementation, the system may search for polynomials that support coding rates from 1 / 2 to 1 / 10. The system may optimize for a polynomial with a coding rate of 1 / 4. The system may first search for polynomials of convolutional codes with a coding rate of 1 / 4 and a constraint length of six. The system may use these polynomials to search for expanded polynomials ranging from the coding rate of 1 / 4 to the coding rate of 1 / 10. Additionally, the system may use these polynomials determine puncturing patterns to achieve coding rates of 1 / 2 and 1 / 3. In some examples, such a search process may determine optimal (or otherwise improved) nested polynomials for convolutional encoding and decoding for low-rate systems (such as UEs 115 and A-IoT devices operating with relatively lower coding rates) for improved performance at such coding rates.

[0079] For the nested polynomial selection procedure 300, the system may iteratively determine terms of polynomials for a coding rate, 1 / n, down to a lowest coding rate of 1 / N. The system may initially determine polynomials for a first coding rate, 1 / k. For the first implementation, k=2 (to optimize for the coding rate of 1 / 2) and N=8 (to support a lowest coding rate of 1 / 8) . For the second implementation, k=4 (to optimize for the coding rate of 1 / 4) and N=10 (to support a lowest coding rate of 1 / 10) . At 305, the system may initially set n=k.

[0080] At 310, the system may determine if n=k. If n=k, at 315, the system may explore permutations of convolutional codes with coding rate 1 / k, which is equivalent to coding rate 1 / n. The system may evaluate the permutations of the convolutional codes in accordance with an evaluation metric. For example, the system may perform the evaluation to optimize for block error rate (BLER) performance or otherwise determine polynomials that satisfy a threshold or baseline BLER performance. In some examples, the baseline BLER performance may be a BLER performance associated with a convolutional code with coding rate 1 / 3 and constraint length 7, such as the convolutional code for LTE represented by the polynomial [133, 171, 165] . By using such a baseline, the selection procedure may ensure the selected polynomials at least perform better with regard to BLER at the optimized coding rate of 1 / k than the LTE convolutional code. The set of all polynomials for convolutional codes with constraint length six for evaluation may be denoted as GCL=6. The permutations of convolutional codes with coding rate 1 / k may be polynomials denoted as f (G, k) = {G0, G1, ... , Gk-1} , in which G0, G1, ... , Gk-1∈GCL=6.

[0081] At 320, the system may select M polynomials according to the evaluation. For example, the system may select the M best polynomials as indicated by the evaluation metric, such as the polynomials corresponding to the M lowest BLER metrics. The selected M polynomials may be denoted as FM (G, k) .

[0082] At 325, the system may determine if n<N. If n<N, at 330, the system may increment n, such that n=n+1. Because n is incremented, at 310, n≠k. At 335, the system may explore potential polynomials of convolutional codes with coding rate 1 / n according to the selected M polynomials of convolutional codes with coding rate 1 /  (n-1) . That is, the system may evaluate polynomials with one additional term  added to the selected M polynomials to account for the lower coding rate of 1 / n as compared to 1 /  (n-1) . The potential polynomials for coding rate 1 / n may be denoted as f (G, n) = {f (G, n-1) , Gn-1} , in which f (G, n-1) ∈FM (G, n-1) and Gn-1∈GCL=6. The evaluation of the potential polynomials may again be in accordance with an evaluation metric, such as the BLER performance.

[0083] At 320, the system may again select M polynomials according to the evaluation. For example, the system may select the M best polynomials as indicated by the evaluation metric, such as the polynomials corresponding to the M lowest BLER metrics. The selected M polynomials may be denoted as FM (G, n) .

[0084] The system may iteratively determine polynomials for the different coding rates built from the previously-determined polynomials for higher coding rates. At 325, if n=N, the system may conclude the iterative process. For example, the FM (G, N) polynomials may be M nested polynomials that support each coding rate from 1 / k to 1 / N, such as from 1 / 2 to 1 / 8 or from 1 / 4 to 1 / 10.

[0085] If the convolutional encoding supports coding rates greater than 1 / k (such as for the second implementation, in which 1 / k=1 / 4 but the encoding supports up to a coding rate of 1 / 2) , at 340, the system may determine puncturing patterns to achieve the higher coding rates (such as 1 / 2 and 1 / 3) . The system may determine puncturing patterns to obtain coding rates from 1 / 2 to 1 /  (k-1) . For example, if k=4, f (G, 4) = {G0, G1, G2, G3} . The system may evaluate each possible coding rate 1 / 3 puncturing permutation, which are ( {G0, G1, G2} , {G0, G1, G3} , {G0, G2, G3} , and {G1, G2, G3} ) . The system may determine a puncturing pattern, or M puncturing patterns, that achieve optimal performance (or otherwise satisfy an evaluation metric, such as BLER performance) from these permutations. The system may use the determine puncturing pattern or patterns to determine a further puncturing pattern or patterns for coding rate 1 / 2.

[0086] At 345, the system may select, or otherwise determine, a polynomial and corresponding puncturing pattern from the M nested polynomials to use for convolutional encoding. One or more wireless communication devices may be configured with convolutional encoders, convolutional decoders, or both that are configured according to the selected polynomial.

[0087] In some examples, the first implementation of the nested polynomial selection procedure 300 may determine the following M nested polynomials, if M=21: [45, 73, 67, 75, 57, 65, 57, 71] , [51, 73, 57, 75, 67, 53, 75, 71] , [57, 45, 73, 67, 75, 55, 75, 53] , [45, 73, 75, 67, 57, 55, 57, 63] , [57, 45, 73, 67, 75, 55, 75, 63] , [45, 73, 75, 67, 57, 55, 75, 53] , [51, 57, 73, 75, 67, 53, 75, 55] , [45, 73, 67, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 53, 75, 55] , [45, 73, 67, 75, 57, 55, 57, 55] , [45, 73, 75, 67, 57, 55, 75, 63] , [51, 73, 57, 75, 67, 53, 75, 55] , [67, 51, 73, 75, 57, 55, 57, 63] , [67, 51, 73, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 55, 57, 71] , [51, 57, 73, 75, 67, 53, 75, 71] , [51, 73, 57, 75, 67, 53, 75, 65] , [45, 73, 75, 67, 57, 55, 75, 47] , [67, 51, 73, 75, 57, 55, 75, 47] , [51, 73, 57, 75, 67, 53, 75, 63] , and [45, 73, 75, 67, 57, 55, 75, 71] . The terms of the polynomials are written in base 8, or octal, form. That is, the value 45 corresponds to the binary value 100101. For each polynomial, the first two terms represent the nested polynomial for coding rate 1 / 2, the first three terms represent the nested polynomial for coding rate 1 / 3, the first four terms represent the nested polynomial for coding rate 1 / 4, the first five terms represent the nested polynomial for coding rate 1 / 5, the first six terms represent the nested polynomial for coding rate 1 / 6, the first seven terms represent the nested polynomial for coding rate 1 / 7, and the complete eight terms represent the nested polynomial for coding rate 1 / 8.

[0088] In some examples, the second implementation of the nested polynomial selection procedure 300 may determine the following M nested polynomials, if M=31: [77, 73, 55, 45, 67, 65, 57, 63, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 63, 65, 75] , [77, 51, 55, 73, 67, 53, 57, 71, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 71, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 67, 55] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 75] , [57, 45, 75, 73, 67, 65, 57, 53, 71, 75] , [77, 73, 55, 45, 67, 65, 57, 63, 57, 65] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 57] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 57] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 53] , [77, 73, 55, 45, 67, 65, 57, 63, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 67] , [77, 73, 55, 45, 67, 65, 57, 63, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 47] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 71] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 65] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 53] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 55] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 57] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 65] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 53] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 73] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 63] , [55, 67, 77, 51, 53, 67, 75, 65, 63, 57] , [55, 67, 77, 51,  53, 73, 75, 65, 57, 71] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 75] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 47] , [65, 73, 51, 77, 55, 67, 57, 71, 57, 53] , and [55, 67, 77, 51, 53, 67, 75, 65, 63, 75] . Which terms in each polynomial correspond to which coding rate may depend on the puncturing patterns determined at 340. For example, for each polynomial, the first four terms represent the nested polynomial for coding rate 1 / 4, the first five terms represent the nested polynomial for coding rate 1 / 5, the first six terms represent the nested polynomial for coding rate 1 / 6, the first seven terms represent the nested polynomial for coding rate 1 / 7, the first eight terms represent the nested polynomial for coding rate 1 / 8, the first nine terms represent the nested polynomial for coding rate 1 / 9, and the complete ten terms represent the nested polynomial for coding rate 1 / 10. However, the two terms representing the nested polynomial for coding rate 1 / 2 and the three terms representing the nested polynomial for coding rate 1 / 3 may be included in the first four terms but may depend from the specific puncturing pattern. For example, for polynomial [65, 73, 51, 77, 55, 67, 57, 71, 53, 57] , the nested polynomial [73, 51] may support the coding rate 1 / 2, and the nested polynomial [65, 73, 51] may support the coding rate 1 / 3. Similarly, for polynomial [55, 67, 77, 51, 53, 73, 75, 65, 57, 71] , the nested polynomial [67, 51] may support the coding rate 1 / 2 and the nested polynomial [67, 77, 51] may support the coding rate 1 / 3, and for polynomial [77, 73, 55, 45, 67, 65, 57, 47, 57, 55] , the nested polynomial [73, 45] may support the coding rate 1 / 2 and the nested polynomial [73, 55, 45] may support the coding rate 1 / 3.

[0089] Other implementations may be supported by the system. For example, the system may search for polynomials that support other coding rates or ranges of coding rates. Additionally, or alternatively, the system may optimize for different coding rates. In any such implementations, the system may determine one or more nested polynomials, including the polynomials listed above or other potential polynomials. UEs 115, network entities 105, A-IoT devices, or any combination of these or other wireless communication devices may be configured with convolutional encoders / decoders configured according to one or more of the determined nested polynomials.

[0090] Figure 4 shows an example of a convolutional encoder 400 that supports a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure. A wireless communication device, such as a  network entity 105, a UE 115 (including an A-IoT device) , or both as described with reference to Figures 1 and 2, may include the convolutional encoder 400 as an encoding component. The convolutional encoder 400 may encode an input information stream into a set of multiple output parity streams using a shift register 410 and a nested polynomial defining operations for the convolutional encoder 400. The nested aspect of the polynomial may support a variable coding rate using the same encoding process. For example, the convolutional encoder 400 may support a variable rate tail biting convolutional code with a constraint length of 6, supporting possible coding rates of 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, and 1 / 8 by puncturing one or more of the parity streams output by the convolutional encoder 400.

[0091] The size of the shift register 410 may correspond to the constraint length of the convolutional code. For example, the shift register 410 may include five bit positions to support a constraint length of 6. The constraint length of 6 may indicate that the convolutional encoder 400 uses six information bits to determine each parity bit for each parity stream: the five bits currently in the shift register 410 and a next information bit of the stream of information bits 405 input into the convolutional encoder 400. An initial value of the shift register 410 of the convolutional encoder 400 may be set to values corresponding to the last 5 information bits in the input stream of information bits 405, such that the initial and final states of the shift register 410 are the same when encoding the stream of information bits 405. This aspect of starting and ending with the same state in the shift register 410 may be referred to as a “tail biting” convolutional code.

[0092] The convolutional encoder 400 may output a set of multiple output streams. Each output stream may correspond to a respective parity stream. Each parity stream may have the same length as the input stream of information bits 405. The device encoding the stream of information bits 405 may puncture one or more parity streams and transmit a signal representing the one or more unpunctured parity streams according to a configured coding rate.

[0093] The convolutional encoder 400 may be configured according to a specific nested polynomial, such as [57, 45, 73, 67, 75, 55, 75, 53] as illustrated. In some examples, the nested polynomial for the convolutional encoder 400 may be selected according to a first implementation described with reference to Figure 3. Other nested  polynomials for convolutional encoders may be supported, such that [57, 45, 73, 67, 75, 55, 75, 53] is illustrated as one example. Each value in the polynomial may be an octal (base 8) value that indicates a set of exclusive or (XOR) operations for determining a respective parity stream output by the convolutional encoder 400. For example, the first value 57 may define the operations for generating a first parity stream 420-a. The octal value 57 is equivalent to the binary value 101111, with each bit in the binary value indicating whether to XOR a corresponding bit from the constraint length to determine a parity bit for the parity stream 420-a. For example, a 1 value may indicate to XOR the corresponding bit, and a 0 value may indicate to refrain from XORing the corresponding bit. That is, 101111 indicates to XOR the next information bit from the input stream, XOR the bit in the second bit position 415-b of the shift register 410, XOR the bit in the third bit position 415-c of the shift register 410, XOR the bit in the fourth bit position 415-d of the shift register 410, and XOR the bit in the fifth bit position 415-e of the shift register 410. As another example, the second octal value 45 is equivalent to the binary value 100101, indicating to XOR the next information bit from the input stream, the bit in the third bit position 415-c of the shift register 410, and the bit in the fifth bit position 415-e of the shift register 410. The different operations defined by the different polynomial values result in different parity bits for the different parity streams output by the convolutional encoder 400. The more parity streams used to encode a signal for transmission, the greater the encoding performance and reliability. However, the fewer parity streams used to encode the signal (according to puncturing one or more of the parity streams prior to transmission) , the lower the processing and channel overhead associated with the transmission.

[0094] The polynomial may be an example of an eight-term polynomial defining operations for generating eight parity streams for a coding rate of 1 / 8. The polynomial may be referred to as “nested” because within this eight-term polynomial is a seven-term polynomial defining operations for generating seven parity streams for a coding rate of 1 / 7. The nesting continues, with this seven-term polynomial including a six-term polynomial defining operations for generating six parity streams for a coding rate of 1 / 6, the six-term polynomial including a five-term polynomial defining operations for generating five parity streams for a coding rate of 1 / 5, the five-term polynomial including a four-term polynomial defining operations for generating four parity streams  for a coding rate of 1 / 4, the four-term polynomial including a three-term polynomial defining operations for generating three parity streams for a coding rate of 1 / 3, and the three-term polynomial including a two-term polynomial defining operations for generating two parity streams for a coding rate of 1 / 2. The parity streams generated by the convolutional encoder 400 may support a coding rate of 1 / 8, 1 / 7, 1 / 6, 1 / 5, 1 / 4, 1 / 3, or 1 / 2 depending on which parity streams are transmitted in a signal (and which parity streams are punctured for transmission) .

[0095] For a next information bit of the stream of information bits 405, the convolutional encoder 400 may generate a first next parity bit for the first parity stream 420-a, a second next parity bit for the second parity stream 420-b, a third next parity bit for the third parity stream 420-c, a fourth next parity bit for the fourth parity stream 420-d, a fifth next parity bit for the fifth parity stream 420-e, a sixth next parity bit for the sixth parity stream 420-f, a seventh next parity bit for the seventh parity stream 420-g, and an eighth next parity bit for the eighth parity stream 420-h using a current value of the shift register 410. For example, the shift register 410 may include a first shift register value in a first bit position 415-a, a second shift register value in a second bit position 415-b, a third shift register value in a third bit position 415-c, a fourth shift register value in a fourth bit position 415-d, and a fifth shift register value in a fifth bit position 415-e.

[0096] To determine the first next parity bit for the first parity stream 420-a, the convolutional encoder 400 may XOR the next information bit with the second shift register value, the third shift register value, the fourth shift register value, and the fifth shift register value according to the first term in the nested polynomial. To determine the second next parity bit for the second parity stream 420-b, the convolutional encoder 400 may XOR the next information bit with the third shift register value and the fifth shift register value according to the second term in the nested polynomial. To determine the third next parity bit for the third parity stream 420-c, the convolutional encoder 400 may XOR the next information bit with the first shift register value, the second shift register value, the fourth shift register value, and the fifth shift register value according to the third term in the nested polynomial. To determine the fourth next parity bit for the fourth parity stream 420-d, the convolutional encoder 400 may XOR the next information bit with the first shift register value, the third shift register value,  the fourth shift register value, and the fifth shift register value according to the fourth term in the nested polynomial. To determine the fifth next parity bit for the fifth parity stream 420-e, the convolutional encoder 400 may XOR the next information bit with the first shift register value, the second shift register value, the third shift register value, and the fifth shift register value according to the fifth term in the nested polynomial. To determine the sixth next parity bit for the sixth parity stream 420-f, the convolutional encoder 400 may XOR the next information bit with the second shift register value, the third shift register value, and the fifth shift register value according to the sixth term in the nested polynomial. To determine the seventh next parity bit for the seventh parity stream 420-g, the convolutional encoder 400 may XOR the next information bit with the first shift register value, the second shift register value, the third shift register value, and the fifth shift register value according to the seventh term in the nested polynomial. To determine the eighth next parity bit for the eighth parity stream 420-h, the convolutional encoder 400 may XOR the next information bit with the second shift register value, the fourth shift register value, and the fifth shift register value according to the eighth term in the nested polynomial.

[0097] To generate the next parity bits for the parity streams based on the subsequent information bit after the next information bit, the convolutional encoder 400 may advance the shift register 410 by one bit position. For example, the convolutional encoder 400 may remove the fifth shift register value from the fifth bit position 415-e of the shift register 410. The convolutional encoder 400 may shift the fourth shift register value to the fifth bit position 415-e, the third shift register value to the fourth bit position 415-d, the second shift register value to the third bit position 415-c, and the first shift register value to the second bit position 415-b. The convolutional encoder 400 may insert, or otherwise add, the next information bit into the first bit position 415-a of the shift register 410. The convolutional encoder 400 may repeat the parity bit generation process using the updated values in the shift register 410 and the subsequent information bit from the stream of information bits 405. The convolutional encoder 400 may repeat this process for each information bit of the stream of information bits 405 to generate the eight parity streams, each with the same length as the stream of information bits 405.

[0098] The wireless communication device including the convolutional encoder 400 may generate a signal using one or more of the parity streams to indicate the encoded stream of information bits 405 in accordance with the coding rate. For example, for a coding rate of 1 / 2, the device may transmit a signal indicating the first parity stream 420-a and the second parity stream 420-b, puncturing the other parity streams. Alternatively, for a coding rate of 1 / 6, the device may transmit a signal indicating the first parity stream 420-a, the second parity stream 420-b, the third parity stream 420-c, the fourth parity stream 420-d, the fifth parity stream 420-e, and the sixth parity stream 420-f, puncturing the other parity streams. For a coding rate of 1 / 8, the device may refrain from puncturing any parity streams and may transmit a signal indicating all eight parity streams.

[0099] Figure 5 shows an example of a convolutional encoder 500 that supports a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure. A wireless communication device, such as a network entity 105, a UE 115 (including an A-IoT device) , or both as described with reference to Figures 1 and 2, may include the convolutional encoder 500 as an encoding component. The convolutional encoder 500 may encode an input information stream into a set of multiple output parity streams using a shift register 510 and a nested polynomial defining operations for the convolutional encoder 500. The nested aspect of the polynomial may support a variable coding rate using the same encoding process. For example, the convolutional encoder 500 may support a variable rate tail biting convolutional code with a constraint length of 6, supporting possible coding rates of 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, and 1 / 10 by puncturing one or more of the parity streams output by the convolutional encoder 500.

[0100] The size of the shift register 510 may correspond to the constraint length of the convolutional code. For example, the shift register 510 may include five bit positions to support a constraint length of 6. The constraint length of 6 may indicate that the convolutional encoder 500 uses six information bits to determine each parity bit for each parity stream: the five bits currently in the shift register 510 and a next information bit of the stream of information bits 505 input into the convolutional encoder 500. The shift register 510 may include a first bit position 515-a, a second bit  position 515-b, a third bit position 515-c, a fourth bit position 515-d, and a fifth bit position 515-e.

[0101] The convolutional encoder 500 may output a set of multiple output streams. Each output stream may correspond to a respective parity stream. Each parity stream may have the same length as the input stream of information bits 505. The device encoding the stream of information bits 505 may puncture one or more parity streams and transmit a signal representing the one or more unpunctured parity streams according to a configured coding rate. Each coding rate may correspond to a specific puncturing pattern to determine the parity streams for transmission.

[0102] The convolutional encoder 500 may be configured according to a specific nested polynomial, such as [55, 67, 77, 51, 53, 73, 75, 65, 57, 71] as illustrated. In some examples, the nested polynomial for the convolutional encoder 500 may be selected according to a second implementation described with reference to Figure 3. Other nested polynomials for convolutional encoders may be supported, such that [55, 67, 77, 51, 53, 73, 75, 65, 57, 71] is illustrated as one example.

[0103] The convolutional encoder 500 may encode the stream of information bits 505 as described with reference to Figure 4 in accordance with the XOR operations indicated by the configured nested polynomial, [55, 67, 77, 51, 53, 73, 75, 65, 57, 71] . The convolutional encoder 500 may output a first parity stream 520-a, a second parity stream 520-b, a third parity stream 520-c, a fourth parity stream 520-d, a fifth parity stream 520-e, a sixth parity stream 520-f, a seventh parity stream 520-g, an eighth parity stream 520-h, a ninth parity stream 520-i, and a tenth parity stream 520-j. The wireless communication device including the convolutional encoder 500 may generate a signal using one or more of the parity streams to indicate the encoded stream of information bits 505 in accordance with the coding rate. For example, for a coding rate of 1 / 2, the device may transmit a signal indicating the second parity stream 520-b and the fourth parity stream 520-d in accordance with a puncturing pattern indicating to puncture the first parity stream 520-a, the third parity stream 520-c, the fifth parity stream 520-e, the sixth parity stream 520-f, the seventh parity stream 520-g, the eighth parity stream 520-h, the ninth parity stream 520-i, and the tenth parity stream 520-j for the coding rate of 1 / 2. For a coding rate of 1 / 3, the device may transmit a signal indicating the second parity stream 520-b, the third parity stream 520-c, and the fourth parity stream 520-d in  accordance with a puncturing pattern indicating to puncture the first parity stream 520-a, the fifth parity stream 520-e, the sixth parity stream 520-f, the seventh parity stream 520-g, the eighth parity stream 520-h, the ninth parity stream 520-i, and the tenth parity stream 520-j for the coding rate of 1 / 3. For a coding rate of 1 / 4, the device may transmit a signal indicating the first parity stream 520-a, the second parity stream 520-b, the third parity stream 520-c, and the fourth parity stream 520-d in accordance with a puncturing pattern indicating to puncture the fifth parity stream 520-e, the sixth parity stream 520-f, the seventh parity stream 520-g, the eighth parity stream 520-h, the ninth parity stream 520-i, and the tenth parity stream 520-j for the coding rate of 1 / 4. Other puncturing patterns may be supported for other coding rates.

[0104] Figure 6 shows an example of a process flow 600 that supports a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure. The process flow 600 may be performed by aspects of the wireless communications system 100 or the wireless communications system 200, as described with reference to Figures 1 and 2. For example, a first UE 115-c and a second UE 115-d, which may be examples of UEs 115 or A-IoT devices as described with reference to Figures 1 and 2, may perform aspects of the process flow 600. In some examples, other device types may perform aspects of the process flow 600, such as network entities 105 described with respect to Figure 1. In the following description of the process flow 600, operations performed by the UE 115-c and the UE 115-d may be performed in a different order than is shown. Some operations may be omitted from the process flow 600, and other operations may be added to the process flow 600. Further, although some operations or signaling may be shown to occur at different times for discussion purposes, these operations may occur at the same time. Additionally, or alternatively, other wireless devices may perform aspects of the process flow 600.

[0105] At 605, the first UE 115-c and the second UE 115-d may communicate an indication of a first coding rate. For example, the first coding rate may be one coding rate supported for convolutional encoding and decoding by the first UE 115-c and the second UE 115-d according to variable rate convolutional encoders / decoders.

[0106] At 610, the second UE 115-d may encode a set of information bits using a convolutional encoder. For example, the convolutional encoder may have a constraint length of six and may support variable coding rates, including the first coding rate. The  convolutional encoder may encode the set of information bits into a set of multiple parity streams. The quantity of parity streams, N, may correspond to a lowest coding rate 1 / N supported by the variable rate convolutional encoder.

[0107] At 615, the second UE 115-d may puncture one or more parity streams of the set of multiple parity streams in accordance with the first coding rate. For example, to achieve a coding rate of 1 / n, the UE 115-d may puncture N-n parity streams, resulting in n remaining, unpunctured parity streams for transmission. The UE 115-d may perform the puncturing according to a first puncturing pattern corresponding to the first coding rate. In some implementations, the UE 115-d may store different puncturing patterns for different coding rates supported by the variable rate convolutional encoder.

[0108] At 620, the second UE 115-d may transmit a signal representing, or otherwise indicating, the n remaining, unpunctured parity streams. The n remaining, unpunctured parity streams may indicate the encoded set of information bits at the first coding rate, 1 / n. The first UE 115-c may receive the signal at 620.

[0109] At 625, the first UE 115-c may decode the signal using a convolutional decoder in accordance with the first coding rate. For example, the first UE 115-c may determine a quantity of parity streams, n, represented by the signal according to the first coding rate, 1 / n. The first UE 115-c may use the parity streams to reconstruct the set of information bits used to generate the parity streams, for example, using a convolutional decoder with a constraint length of six and supporting variable coding rates.

[0110] Figure 7 shows a block diagram of a device 705 that supports a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure. The device 705 may be an example of aspects of a UE 115 or a network entity 105. The device 705 may include a receiver 710, a transmitter 715, and a communications manager 720. The device 705, or one or more components of the device 705 (for example, the receiver 710, the transmitter 715, the communications manager 720) , may include at least one processor, which may be coupled with at least one memory, to, individually or collectively, support or enable the described techniques. Each of these components may be in communication with one another (for example, via one or more buses) .

[0111] The receiver 710 may provide a means for receiving information such as packets, user data, control information, or any combination thereof associated with various information channels (for example, control channels, data channels, information channels related to a nested convolutional codes design) . Information may be passed on to other components of the device 705. The receiver 710 may utilize a single antenna or a set of multiple antennas.

[0112] The transmitter 715 may provide a means for transmitting signals generated by other components of the device 705. For example, the transmitter 715 may transmit information such as packets, user data, control information, or any combination thereof associated with various information channels (for example, control channels, data channels, information channels related to a nested convolutional codes design) . In some examples, the transmitter 715 may be co-located with a receiver 710 in a transceiver module. The transmitter 715 may utilize a single antenna or a set of multiple antennas.

[0113] The communications manager 720, the receiver 710, the transmitter 715, or various combinations or components thereof may be examples of means for performing various aspects of a nested convolutional codes design with a constraint length. For example, the communications manager 720, the receiver 710, the transmitter 715, or various combinations or components thereof may be capable of performing one or more of the functions described herein.

[0114] In some examples, the communications manager 720, the receiver 710, the transmitter 715, or various combinations or components thereof may be implemented in hardware (for example, in communications management circuitry) . The hardware may include at least one of a processor, a digital signal processor (DSP) , a central processing unit (CPU) , an application-specific integrated circuit (ASIC) , a field-programmable gate array (FPGA) or other programmable logic device, a microcontroller, discrete gate or transistor logic, discrete hardware components, or any combination thereof configured as or otherwise supporting, individually or collectively, a means for performing the functions described in the present disclosure. In some examples, at least one processor and at least one memory coupled with the at least one processor may be configured to perform one or more of the functions described herein (for example, by one or more processors, individually or collectively, executing instructions stored in the at least one memory) .

[0115] Additionally, or alternatively, the communications manager 720, the receiver 710, the transmitter 715, or various combinations or components thereof may be implemented in code (for example, as communications management software or firmware) executed by at least one processor (for example, referred to as a processor-executable code) . If implemented in code executed by at least one processor, the functions of the communications manager 720, the receiver 710, the transmitter 715, 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 (for example, configured as or otherwise supporting, individually or collectively, a means for performing the functions described in the present disclosure) .

[0116] In some examples, the communications manager 720 may be configured to perform various operations (for example, receiving, obtaining, monitoring, outputting, transmitting) using or otherwise in cooperation with the receiver 710, the transmitter 715, or both. For example, the communications manager 720 may receive information from the receiver 710, send information to the transmitter 715, or be integrated in combination with the receiver 710, the transmitter 715, or both to obtain information, output information, or perform various other operations as described herein.

[0117] The communications manager 720 may support wireless communications at a first wireless communication device in accordance with examples as disclosed herein. For example, the communications manager 720 is capable of, configured to, or operable to support a means for communicating, with a second wireless communication device, an indication of a first coding rate. The communications manager 720 is capable of, configured to, or operable to support a means for transmitting a signal in accordance with an output of a convolutional encoder associated with a set of multiple coding rates including the first coding rate, the output including a set of multiple parity streams, one or more parity streams of the set of multiple parity streams being punctured in accordance with the first coding rate to obtain the signal for transmission.

[0118] Additionally, or alternatively, the communications manager 720 may support wireless communications at a first wireless communication device in accordance with examples as disclosed herein. For example, the communications manager 720 is capable of, configured to, or operable to support a means for communicating, with a  second wireless communication device, an indication of a first coding rate. The communications manager 720 is capable of, configured to, or operable to support a means for receiving a signal indicative of a set of multiple parity streams associated with the first coding rate, an input to a convolutional decoder including the set of multiple parity streams, the convolutional decoder associated with a set of multiple coding rates including the first coding rate, and an output of the convolutional decoder including a set of information bits corresponding to the signal.

[0119] By including or configuring the communications manager 720 in accordance with examples as described herein, the device 705 (for example, at least one processor controlling or otherwise coupled with the receiver 710, the transmitter 715, the communications manager 720, or a combination thereof) may support techniques for a reduced processing overhead, reduced complexity, and improved battery life associated with encoding.

[0120] Figure 8 shows a block diagram of a device 805 that supports a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure. The device 805 may be an example of aspects of a device 705, a UE 115, or a network entity 105 as described herein. The device 805 may include a receiver 810, a transmitter 815, and a communications manager 820. The device 805, or one of more components of the device 805 (for example, 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 support the described techniques. Each of these components may be in communication with one another (for example, via one or more buses) .

[0121] 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 (for example, control channels, data channels, information channels related to a 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.

[0122] 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 (for example, control channels, data channels, information channels related to a 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.

[0123] The device 805, or various components thereof, may be an example of means for performing various aspects of a nested convolutional codes design with a constraint length as described herein. For example, the communications manager 820 may include a coding rate indication component 825, a signal encoding component 830, a signal decoding component 835, or any combination thereof. The communications manager 820 may be an example of aspects of a communications manager 720 as described herein. In some examples, the communications manager 820, or various components thereof, may be configured to perform various operations (for example, 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.

[0124] The communications manager 820 may support wireless communications in accordance with examples as disclosed herein. The coding rate indication component 825 is capable of, configured to, or operable to support a means for communicating, with a second wireless communication device, an indication of a first coding rate. The signal encoding component 830 is capable of, configured to, or operable to support a means for transmitting a signal in accordance with an output of a convolutional encoder associated with a set of multiple coding rates including the first coding rate, the output including a set of multiple parity streams, one or more parity streams of the set of multiple parity streams being punctured in accordance with the first coding rate to obtain the signal for transmission.

[0125] Additionally, or alternatively, the communications manager 820 may support wireless communications in accordance with examples as disclosed herein. The coding rate indication component 825 is capable of, configured to, or operable to support a  means for communicating, with a second wireless communication device, an indication of a first coding rate. The signal decoding component 835 is capable of, configured to, or operable to support a means for receiving a signal indicative of a set of multiple parity streams associated with the first coding rate, an input to a convolutional decoder including the set of multiple parity streams, the convolutional decoder associated with a set of multiple coding rates including the first coding rate, and an output of the convolutional decoder including a set of information bits corresponding to the signal.

[0126] Figure 9 shows a block diagram of a communications manager 920 that supports a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure. The communications manager 920 may be an example of aspects of a communications manager 720, a communications manager 820, or both, as described herein. The communications manager 920, or various components thereof, may be an example of means for performing various aspects of nested convolutional encoding or decoding as described herein. For example, the communications manager 920 may include a coding rate indication component 925, a signal encoding component 930, a signal decoding component 935, a puncturing component 940, a shift register component 945, or any combination thereof. Each of these components, or components or subcomponents thereof (for example, one or more processors, one or more memories) , may communicate, directly or indirectly, with one another (for example, via one or more buses) .

[0127] The communications manager 920 may support wireless communications at a first wireless communication device in accordance with examples as disclosed herein. The coding rate indication component 925 is capable of, configured to, or operable to support a means for communicating, with a second wireless communication device, an indication of a first coding rate. The signal encoding component 930 is capable of, configured to, or operable to support a means for transmitting a signal in accordance with an output of a convolutional encoder associated with a set of multiple coding rates including the first coding rate, the output including a set of multiple parity streams, one or more parity streams of the set of multiple parity streams being punctured in accordance with the first coding rate to obtain the signal for transmission.

[0128] In some examples, the convolutional encoder has a constraint length of six and a variable coding rate, the variable coding rate supporting the set of multiple coding rates.

[0129] In some examples, the signal encoding component 930 is capable of, configured to, or operable to support a means for inputting, to the convolutional encoder, a stream of information bits associated with the signal. In some examples, the signal encoding component 930 is capable of, configured to, or operable to support a means for determining the output of the convolutional encoder in accordance with the stream of information bits and a nested polynomial of the convolutional encoder defining a set of operations for determination of the set of multiple parity streams. In some examples, the set of operations defined by the nested polynomial includes a respective set of XOR operations indicating which bits of a shift register of the convolutional encoder to use for determination of each parity stream of the set of multiple parity streams.

[0130] In some examples, the shift register component 945 is capable of, configured to, or operable to support a means for setting an initial value of a shift register of the convolutional encoder to a last set of bits of the stream of information bits. In some examples, the shift register component 945 is capable of, configured to, or operable to support a means for updating a value of the shift register in accordance with the stream of information bits. In some examples, the value of the shift register includes five bits in accordance with a size of the shift register, and the signal encoding component 930 is capable of, configured to, or operable to support a means for determining a next parity bit of each parity stream of the set of multiple parity streams in accordance with a next information bit of the stream of information bits and a current five-bit value of the shift register in accordance with a constraint length of six for the convolutional encoder.

[0131] In some examples, the shift register includes five bit positions. To support updating the value of the shift register, the shift register component 945 is capable of, configured to, or operable to support a means for removing a fifth bit from a fifth bit position of the shift register. In some examples, the shift register component 945 is capable of, configured to, or operable to support a means for shifting a first bit from a first bit position to a second bit position of the shift register, a second bit from a second bit position to a third bit position of the shift register, a third bit from a third bit position  to a fourth bit position of the shift register, and a fourth bit from a fourth bit position to the fifth bit position of the shift register. In some examples, the shift register component 945 is capable of, configured to, or operable to support a means for adding a next information bit from the stream of information bits as a new first bit in the first bit position of the shift register.

[0132] In some examples, the nested polynomial includes a set of multiple values. In some examples, each value of the set of multiple values indicates one or more XOR operations for determination of a respective parity stream of the set of multiple parity streams.

[0133] In some implementations, the set of multiple coding rates supported by the convolutional encoder includes 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, and 1 / 8. In some such implementations, the set of multiple values includes eight octal values. In some examples, the nested polynomial is one of: [45, 73, 67, 75, 57, 65, 57, 71] , [51, 73, 57, 75, 67, 53, 75, 71] , [57, 45, 73, 67, 75, 55, 75, 53] , [45, 73, 75, 67, 57, 55, 57, 63] , [57, 45, 73, 67, 75, 55, 75, 63] , [45, 73, 75, 67, 57, 55, 75, 53] , [51, 57, 73, 75, 67, 53, 75, 55] , [45, 73, 67, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 53, 75, 55] , [45, 73, 67, 75, 57, 55, 57, 55] , [45, 73, 75, 67, 57, 55, 75, 63] , [51, 73, 57, 75, 67, 53, 75, 55] , [67, 51, 73, 75, 57, 55, 57, 63] , [67, 51, 73, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 55, 57, 71] , [51, 57, 73, 75, 67, 53, 75, 71] , [51, 73, 57, 75, 67, 53, 75, 65] , [45, 73, 75, 67, 57, 55, 75, 47] , [67, 51, 73, 75, 57, 55, 75, 47] , [51, 73, 57, 75, 67, 53, 75, 63] , and [45, 73, 75, 67, 57, 55, 75, 71] .

[0134] In some other implementations, the set of multiple coding rates supported by the convolutional encoder includes 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, and 1 / 10. In some such other implementations, the set of multiple values includes ten octal values. In some examples, the nested polynomial is one of: [77, 73, 55, 45, 67, 65, 57, 63, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 63, 65, 75] , [77, 51, 55, 73, 67, 53, 57, 71, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 71, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 67, 55] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 75] , [57, 45, 75, 73, 67, 65, 57, 53, 71, 75] , [77, 73, 55, 45, 67, 65, 57, 63, 57, 65] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 57] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 57] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 53] , [77, 73, 55, 45, 67, 65, 57, 63, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 67] , [77, 73, 55, 45, 67, 65, 57, 63, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 47] , [77, 73, 55,  45, 67, 65, 57, 53, 75, 71] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 65] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 53] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 55] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 57] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 65] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 53] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 73] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 63] , [55, 67, 77, 51, 53, 67, 75, 65, 63, 57] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 71] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 75] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 47] , [65, 73, 51, 77, 55, 67, 57, 71, 57, 53] , and [55, 67, 77, 51, 53, 67, 75, 65, 63, 75] .

[0135] In some examples, the puncturing component 940 is capable of, configured to, or operable to support a means for puncturing the one or more parity streams of the set of multiple parity streams in accordance with a first puncturing pattern corresponding to the first coding rate.

[0136] In some examples, the convolutional encoder is a tail biting convolutional encoder.

[0137] Additionally, or alternatively, the communications manager 920 may support wireless communications at a first wireless communication device in accordance with examples as disclosed herein. In some examples, the coding rate indication component 925 is capable of, configured to, or operable to support a means for communicating, with a second wireless communication device, an indication of a first coding rate. The signal decoding component 935 is capable of, configured to, or operable to support a means for receiving a signal indicative of a set of multiple parity streams associated with the first coding rate, an input to a convolutional decoder including the set of multiple parity streams, the convolutional decoder associated with a set of multiple coding rates including the first coding rate, an output of the convolutional decoder including a set of information bits corresponding to the signal.

[0138] In some examples, the convolutional decoder has a constraint length of six and a variable coding rate, the variable coding rate supporting the set of multiple coding rates.

[0139] In some examples, the signal decoding component 935 is capable of, configured to, or operable to support a means for determining the output of the convolutional decoder in accordance with an input stream of bits corresponding to the set of multiple parity streams and a nested polynomial of the convolutional decoder  defining a set of operations for determination of the set of information bits. In some examples, the nested polynomial includes a set of multiple values. In some examples, each value of the set of multiple values indicates one or more XOR operations for determination of a respective parity stream of the set of multiple parity streams.

[0140] In some implementations, a set of multiple coding rates supported by the convolutional decoder includes 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, and 1 / 8. In some such implementations, the set of multiple values includes eight octal values. In some examples, the nested polynomial is one of: [45, 73, 67, 75, 57, 65, 57, 71] , [51, 73, 57, 75, 67, 53, 75, 71] , [57, 45, 73, 67, 75, 55, 75, 53] , [45, 73, 75, 67, 57, 55, 57, 63] , [57, 45, 73, 67, 75, 55, 75, 63] , [45, 73, 75, 67, 57, 55, 75, 53] , [51, 57, 73, 75, 67, 53, 75, 55] , [45, 73, 67, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 53, 75, 55] , [45, 73, 67, 75, 57, 55, 57, 55] , [45, 73, 75, 67, 57, 55, 75, 63] , [51, 73, 57, 75, 67, 53, 75, 55] , [67, 51, 73, 75, 57, 55, 57, 63] , [67, 51, 73, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 55, 57, 71] , [51, 57, 73, 75, 67, 53, 75, 71] , [51, 73, 57, 75, 67, 53, 75, 65] , [45, 73, 75, 67, 57, 55, 75, 47] , [67, 51, 73, 75, 57, 55, 75, 47] , [51, 73, 57, 75, 67, 53, 75, 63] , and [45, 73, 75, 67, 57, 55, 75, 71] .

[0141] In some other implementations, a set of multiple coding rates supported by the convolutional decoder includes 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, and 1 / 10. In some such other implementations, the set of multiple values includes ten octal values. In some examples, the nested polynomial is one of: [77, 73, 55, 45, 67, 65, 57, 63, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 63, 65, 75] , [77, 51, 55, 73, 67, 53, 57, 71, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 71, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 67, 55] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 75] , [57, 45, 75, 73, 67, 65, 57, 53, 71, 75] , [77, 73, 55, 45, 67, 65, 57, 63, 57, 65] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 57] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 57] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 53] , [77, 73, 55, 45, 67, 65, 57, 63, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 67] , [77, 73, 55, 45, 67, 65, 57, 63, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 47] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 71] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 65] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 53] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 55] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 57] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 65] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 53] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 73] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 63] , [55, 67, 77, 51, 53, 67, 75, 65, 63, 57] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 71] , [65, 73, 51,  77, 55, 67, 57, 71, 53, 75] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 47] , [65, 73, 51, 77, 55, 67, 57, 71, 57, 53] , and [55, 67, 77, 51, 53, 67, 75, 65, 63, 75] .

[0142] Figure 10 shows a diagram of a system including a device 1005 that supports a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure. The device 1005 may be an example of or include components of a device 705, a device 805, a UE 115, or a network entity 105 as described herein. The device 1005 may communicate (for example, wirelessly) with one or more other devices (for example, network entities 105, UEs 115, or a combination thereof) . The device 1005 may include components for bi-directional voice and data communications including components for transmitting and receiving communications, such as a communications manager 1020, an input / output (I / O) controller, such as an I / O controller 1010, a transceiver 1015, one or more antennas 1025, at least one memory 1030, code 1035, and at least one processor 1040. These components may be in electronic communication or otherwise coupled (for example, operatively, communicatively, functionally, electronically, electrically) via one or more buses (for example, a bus 1045) .

[0143] The I / O controller 1010 may manage input and output signals for the device 1005. The I / O controller 1010 may also manage peripherals not integrated into the device 1005. In some examples, the I / O controller 1010 may represent a physical connection or port to an external peripheral. In some examples, the I / O controller 1010 may utilize an operating system such as or another known operating system. Additionally, or alternatively, the I / O controller 1010 may represent or interact with a modem, a keyboard, a mouse, a touchscreen, or a similar device. In some examples, the I / O controller 1010 may be implemented as part of one or more processors, such as the at least one processor 1040. In some examples, a user may interact with the device 1005 via the I / O controller 1010 or via hardware components controlled by the I / O controller 1010.

[0144] In some examples, the device 1005 may include a single antenna. However, in some other examples, the device 1005 may have more than one antenna, which may be capable of concurrently transmitting or receiving multiple wireless transmissions. The transceiver 1015 may communicate bi-directionally via the one or more antennas  1025 using wired or wireless links as described herein. For example, the transceiver 1015 may represent a wireless transceiver and may communicate bi-directionally with another wireless transceiver. The transceiver 1015 may also include a modem to modulate the packets, to provide the modulated packets to one or more antennas 1025 for transmission, and to demodulate packets received from the one or more antennas 1025. The transceiver 1015, or the transceiver 1015 and one or more antennas 1025, may be an example of a transmitter 715, a transmitter 815, a receiver 710, a receiver 810, or any combination thereof or component thereof, as described herein.

[0145] The at least one memory 1030 may include random access memory (RAM) and read-only memory (ROM) . The at least one memory 1030 may store computer-readable, computer-executable, or processor-executable code, such as the code 1035. The code 1035 may include instructions that, when executed by the at least one processor 1040, cause the device 1005 to perform various functions described herein. The code 1035 may be stored in a non-transitory computer-readable medium such as system memory or another type of memory. In some examples, the code 1035 may not be directly executable by the at least one processor 1040 but may cause a computer (for example, when compiled and executed) to perform functions described herein. In some examples, the at least one memory 1030 may include, among other things, a basic I / O system (BIOS) which may control basic hardware or software operation such as the interaction with peripheral components or devices.

[0146] The at least one processor 1040 may include one or more intelligent hardware devices (for example, 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 examples, the at least one processor 1040 may be configured to operate a memory array using a memory controller. In some other examples, a memory controller may be integrated into the at least one processor 1040. The at least one processor 1040 may be configured to execute computer-readable instructions stored in a memory (for example, the at least one memory 1030) to cause the device 1005 to perform various functions  (for example, functions or tasks supporting nested convolutional encoding) . For example, the device 1005 or a component of the device 1005 may include at least one processor 1040 and at least one memory 1030 coupled with or to the at least one processor 1040, the at least one processor 1040 and the at least one memory 1030 configured to perform various functions described herein.

[0147] In some examples, the at least one processor 1040 may include multiple processors and the at least one memory 1030 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 1040 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 1040) and memory circuitry (which may include the at least one memory 1030) ) , 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 1040 or a processing system including the at least one processor 1040 may be configured to, configurable to, or operable to cause the device 1005 to perform one or more of the functions described herein. Further, as described herein, being “configured to, ” being “configurable to, ” and being “operable to” may be used interchangeably and may be associated with a capability, when executing code 1035 (for example, processor-executable code) stored in the at least one memory 1030 or otherwise, to perform one or more of the functions described herein.

[0148] The communications manager 1020 may support wireless communications in accordance with examples as disclosed herein. For example, the communications manager 1020 is capable of, configured to, or operable to support a means for communicating, with a second wireless communication device, an indication of a first coding rate. The communications manager 1020 is capable of, configured to, or operable to support a means for transmitting a signal in accordance with an output of a convolutional encoder associated with a set of multiple coding rates including the first coding rate, the output including a set of multiple parity streams, one or more parity  streams of the set of multiple parity streams being punctured in accordance with the first coding rate to obtain the signal for transmission.

[0149] Additionally, or alternatively, the communications manager 1020 may support wireless communications in accordance with examples as disclosed herein. For example, the communications manager 1020 is capable of, configured to, or operable to support a means for communicating, with a second wireless communication device, an indication of a first coding rate. The communications manager 1020 is capable of, configured to, or operable to support a means for receiving a signal indicative of a set of multiple parity streams associated with the first coding rate, an input to a convolutional decoder including the set of multiple parity streams, the convolutional decoder associated with a set of multiple coding rates including the first coding rate, an output of the convolutional decoder including a set of information bits corresponding to the signal.

[0150] In some examples, the communications manager 1020 may be configured to perform various operations (for example, receiving, monitoring, transmitting) using or otherwise in cooperation with the transceiver 1015, the one or more antennas 1025, or any combination thereof. Although the communications manager 1020 is illustrated as a separate component, in some examples, one or more functions described with reference to the communications manager 1020 may be supported by or performed by the at least one processor 1040, the at least one memory 1030, the code 1035, or any combination thereof. For example, the code 1035 may include instructions executable by the at least one processor 1040 to cause the device 1005 to perform various aspects of a nested convolutional codes design with a constraint length as described herein, or the at least one processor 1040 and the at least one memory 1030 may be otherwise configured to, individually or collectively, perform or support such operations.

[0151] Figure 11 shows a flowchart illustrating a method 1100 that supports a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure. The operations of the method 1100 may be implemented by a first wireless communication device, such as a UE or its components as described herein. For example, the operations of the method 1100 may be performed by a UE 115 as described with reference to Figures 1–10. In some examples, a UE may execute a set of instructions to control the functional elements of the UE to perform the  described functions. Additionally, or alternatively, the UE may perform aspects of the described functions using special-purpose hardware.

[0152] At 1105, the method may include communicating, with a second wireless communication device, an indication of a first coding rate. The operations of 1105 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1105 may be performed by a coding rate indication component 925 as described with reference to Figure 9.

[0153] At 1110, the method may include transmitting a signal in accordance with an output of a convolutional encoder associated with a set of multiple coding rates including the first coding rate. The output may include a set of multiple parity streams, one or more parity streams of the set of multiple parity streams being punctured in accordance with the first coding rate to obtain the signal for transmission. The operations of 1110 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1110 may be performed by a signal encoding component 930 as described with reference to Figure 9.

[0154] Figure 12 shows a flowchart illustrating a method 1200 that supports a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure. The operations of the method 1200 may be implemented by a first wireless communication device, such as a UE or its components as described herein. For example, the operations of the method 1200 may be performed by a UE 115 as described with reference to Figures 1–10. In some examples, a UE may execute a set of instructions to control the functional elements of the UE to perform the described functions. Additionally, or alternatively, the UE may perform aspects of the described functions using special-purpose hardware.

[0155] At 1205, the method may include communicating, with a second wireless communication device, an indication of a first coding rate. The operations of 1205 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1205 may be performed by a coding rate indication component 925 as described with reference to Figure 9.

[0156] In some examples, at 1210, the method may include inputting, to a convolutional encoder associated with a set of multiple coding rates including at least  the first coding rate, a stream of information bits associated with a signal. The operations of 1210 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1210 may be performed by a signal encoding component 930 as described with reference to Figure 9.

[0157] In some examples, at 1215, the method may include determining an output of the convolutional encoder in accordance with the stream of information bits and a nested polynomial of the convolutional encoder defining a set of operations for determination of a set of multiple parity streams. The operations of 1215 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1215 may be performed by a signal encoding component 930 as described with reference to Figure 9.

[0158] In some examples, at 1220, the method may include puncturing one or more parity streams of the set of multiple parity streams in accordance with a first puncturing pattern corresponding to the first coding rate. The operations of 1220 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1220 may be performed by a puncturing component 940 as described with reference to Figure 9.

[0159] At 1225, the method may include transmitting the signal in accordance with the one or more parity streams of the set of multiple parity streams being punctured according to the first coding rate to obtain the signal. The operations of 1225 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1225 may be performed by a signal encoding component 930 as described with reference to Figure 9.

[0160] Figure 13 shows a flowchart illustrating a method 1300 that supports a nested convolutional codes design with a constraint length in accordance with one or more aspects of the present disclosure. The operations of the method 1300 may be implemented by a first wireless communication device, such as a UE or its components as described herein. For example, the operations of the method 1300 may be performed by a UE 115 as described with reference to Figures 1–10. In some examples, a UE may execute a set of instructions to control the functional elements of the UE to perform the  described functions. Additionally, or alternatively, the UE may perform aspects of the described functions using special-purpose hardware.

[0161] At 1305, the method may include communicating, with a second wireless communication device, an indication of a first coding rate. The operations of 1305 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1305 may be performed by a coding rate indication component 925 as described with reference to Figure 9.

[0162] At 1310, the method may include receiving a signal indicative of a set of multiple parity streams associated with the first coding rate. An input to a convolutional decoder may include the set of multiple parity streams, the convolutional decoder being associated with a set of multiple coding rates including at least the first coding rate, and an output of the convolutional decoder including a set of information bits corresponding to the signal. The operations of 1310 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1310 may be performed by a signal decoding component 935 as described with reference to Figure 9.

[0163] The following provides an overview of aspects of the present disclosure:

[0164] Aspect 1: A first wireless communication device, including: a processing system that includes processor circuitry and memory circuitry that stores code, the processing system configured to cause the first wireless communication device to: communicate, with a second wireless communication device, an indication of a first coding rate; and transmit a signal in accordance with an output of a convolutional encoder associated with a set of multiple coding rates including the first coding rate, the output including a set of multiple parity streams, one or more parity streams of the set of multiple parity streams being punctured in accordance with the first coding rate to obtain the signal for transmission.

[0165] Aspect 2: The first wireless communication device of aspect 1, where the convolutional encoder has a constraint length of six and a variable coding rate, the variable coding rate supporting the set of multiple coding rates.

[0166] Aspect 3: The first wireless communication device of either of aspects 1 or 2, where the processing system is further configured to cause the first wireless  communication device to: input, to the convolutional encoder, a stream of information bits associated with the signal; and determine the output of the convolutional encoder in accordance with the stream of information bits and a nested polynomial of the convolutional encoder defining a set of operations for determination of the set of multiple parity streams.

[0167] Aspect 4: The first wireless communication device of aspect 3, where the set of operations defined by the nested polynomial includes a respective set of XOR operations indicating which bits of a shift register of the convolutional encoder to use for determination of each parity stream of the set of multiple parity streams.

[0168] Aspect 5: The first wireless communication device of either of aspects 3 or 4, where the processing system is further configured to cause the first wireless communication device to: set an initial value of a shift register of the convolutional encoder to a last set of bits of the stream of information bits; and update a value of the shift register in accordance with the stream of information bits.

[0169] Aspect 6: The first wireless communication device of aspect 5, where the value of the shift register includes five bits in accordance with a size of the shift register, and the processing system is further configured to cause the first wireless communication device to: determine a next parity bit of each parity stream of the set of multiple parity streams in accordance with a next information bit of the stream of information bits and a current five-bit value of the shift register in accordance with a constraint length of six for the convolutional encoder.

[0170] Aspect 7: The first wireless communication device of either of aspects 5 or 6, where the shift register includes five bit positions, and, to update the value of the shift register, the processing system is configured to cause the first wireless communication device to: remove a fifth bit from a fifth bit position of the shift register; shift a first bit from a first bit position to a second bit position of the shift register, a second bit from a second bit position to a third bit position of the shift register, a third bit from a third bit position to a fourth bit position of the shift register, and a fourth bit from a fourth bit position to the fifth bit position of the shift register; and add a next information bit from the stream of information bits as a new first bit in the first bit position of the shift register.

[0171] Aspect 8: The first wireless communication device of any of aspects 3–7, where the nested polynomial includes a set of multiple values, and each value of the set of multiple values indicates one or more XOR operations for determination of a respective parity stream of the set of multiple parity streams.

[0172] Aspect 9: The first wireless communication device of aspect 8, where the set of multiple coding rates supported by the convolutional encoder includes 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, and 1 / 8; the set of multiple values includes eight octal values; and the nested polynomial is one of: [45, 73, 67, 75, 57, 65, 57, 71] , [51, 73, 57, 75, 67, 53, 75, 71] , [57, 45, 73, 67, 75, 55, 75, 53] , [45, 73, 75, 67, 57, 55, 57, 63] , [57, 45, 73, 67, 75, 55, 75, 63] , [45, 73, 75, 67, 57, 55, 75, 53] , [51, 57, 73, 75, 67, 53, 75, 55] , [45, 73, 67, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 53, 75, 55] , [45, 73, 67, 75, 57, 55, 57, 55] , [45, 73, 75, 67, 57, 55, 75, 63] , [51, 73, 57, 75, 67, 53, 75, 55] , [67, 51, 73, 75, 57, 55, 57, 63] , [67, 51, 73, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 55, 57, 71] , [51, 57, 73, 75, 67, 53, 75, 71] , [51, 73, 57, 75, 67, 53, 75, 65] , [45, 73, 75, 67, 57, 55, 75, 47] , [67, 51, 73, 75, 57, 55, 75, 47] , [51, 73, 57, 75, 67, 53, 75, 63] , and [45, 73, 75, 67, 57, 55, 75, 71] .

[0173] Aspect 10: The first wireless communication device of aspect 8, where the set of multiple coding rates supported by the convolutional encoder includes 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, and 1 / 10; the set of multiple values includes ten octal values; and the nested polynomial is one of: [77, 73, 55, 45, 67, 65, 57, 63, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 63, 65, 75] , [77, 51, 55, 73, 67, 53, 57, 71, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 71, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 67, 55] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 75] , [57, 45, 75, 73, 67, 65, 57, 53, 71, 75] , [77, 73, 55, 45, 67, 65, 57, 63, 57, 65] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 57] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 57] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 53] , [77, 73, 55, 45, 67, 65, 57, 63, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 67] , [77, 73, 55, 45, 67, 65, 57, 63, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 47] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 71] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 65] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 53] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 55] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 57] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 65] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 53] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 73] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 63] , [55, 67, 77, 51, 53, 67, 75, 65, 63, 57] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 71] , [65, 73, 51, 77, 55, 67, 57,  71, 53, 75] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 47] , [65, 73, 51, 77, 55, 67, 57, 71, 57, 53] , and [55, 67, 77, 51, 53, 67, 75, 65, 63, 75] .

[0174] Aspect 11: The first wireless communication device of any of aspects 1–10, where the processing system is further configured to cause the first wireless communication device to: puncture the one or more parity streams of the set of multiple parity streams in accordance with a first puncturing pattern corresponding to the first coding rate.

[0175] Aspect 12: The first wireless communication device of any of aspects 1–11, where the convolutional encoder is a tail biting convolutional encoder.

[0176] Aspect 13: A first wireless communication device, including: a processing system that includes processor circuitry and memory circuitry that stores code, the processing system configured to cause the first wireless communication device to: communicate, with a second wireless communication device, an indication of a first coding rate; and receive a signal indicative of a set of multiple parity streams associated with the first coding rate, an input to a convolutional decoder including the set of multiple parity streams, the convolutional decoder associated with a set of multiple coding rates including the first coding rate, an output of the convolutional decoder including a set of information bits corresponding to the signal.

[0177] Aspect 14: The first wireless communication device of aspect 13, where the convolutional decoder has a constraint length of six and a variable coding rate, the variable coding rate supporting the set of multiple coding rates.

[0178] Aspect 15: The first wireless communication device of either of aspects 13 or 14, where the processing system is further configured to cause the first wireless communication device to: determine the output of the convolutional decoder in accordance with an input stream of bits corresponding to the set of multiple parity streams and a nested polynomial of the convolutional decoder defining a set of operations for determination of the set of information bits.

[0179] Aspect 16: The first wireless communication device of aspect 15, where the nested polynomial includes a set of multiple values, and each value of the set of  multiple values indicates one or more XOR operations for determination of a respective parity stream of the set of multiple parity streams.

[0180] Aspect 17: The first wireless communication device of aspect 16, where a set of multiple coding rates supported by the convolutional decoder includes 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, and 1 / 8; the set of multiple values includes eight octal values; and the nested polynomial is one of: [45, 73, 67, 75, 57, 65, 57, 71] , [51, 73, 57, 75, 67, 53, 75, 71] , [57, 45, 73, 67, 75, 55, 75, 53] , [45, 73, 75, 67, 57, 55, 57, 63] , [57, 45, 73, 67, 75, 55, 75, 63] , [45, 73, 75, 67, 57, 55, 75, 53] , [51, 57, 73, 75, 67, 53, 75, 55] , [45, 73, 67, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 53, 75, 55] , [45, 73, 67, 75, 57, 55, 57, 55] , [45, 73, 75, 67, 57, 55, 75, 63] , [51, 73, 57, 75, 67, 53, 75, 55] , [67, 51, 73, 75, 57, 55, 57, 63] , [67, 51, 73, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 55, 57, 71] , [51, 57, 73, 75, 67, 53, 75, 71] , [51, 73, 57, 75, 67, 53, 75, 65] , [45, 73, 75, 67, 57, 55, 75, 47] , [67, 51, 73, 75, 57, 55, 75, 47] , [51, 73, 57, 75, 67, 53, 75, 63] , and [45, 73, 75, 67, 57, 55, 75, 71] .

[0181] Aspect 18: The first wireless communication device of aspect 16, where a set of multiple coding rates supported by the convolutional decoder includes 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, and 1 / 10; the set of multiple values includes ten octal values; and the nested polynomial is one of: [77, 73, 55, 45, 67, 65, 57, 63, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 63, 65, 75] , [77, 51, 55, 73, 67, 53, 57, 71, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 71, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 67, 55] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 75] , [57, 45, 75, 73, 67, 65, 57, 53, 71, 75] , [77, 73, 55, 45, 67, 65, 57, 63, 57, 65] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 57] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 57] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 53] , [77, 73, 55, 45, 67, 65, 57, 63, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 67] , [77, 73, 55, 45, 67, 65, 57, 63, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 47] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 71] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 65] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 53] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 55] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 57] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 65] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 53] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 73] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 63] , [55, 67, 77, 51, 53, 67, 75, 65, 63, 57] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 71] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 75] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 47] , [65, 73, 51, 77, 55, 67, 57, 71, 57, 53] , and [55, 67, 77, 51, 53, 67, 75, 65, 63, 75] .

[0182] Aspect 19: A method for wireless communications at a first wireless communication device, including: communicating, with a second wireless communication device, an indication of a first coding rate; and transmitting a signal in accordance with an output of a convolutional encoder associated with a set of multiple coding rates including the first coding rate, the output including a set of multiple parity streams, one or more parity streams of the set of multiple parity streams being punctured in accordance with the first coding rate to obtain the signal for transmission.

[0183] Aspect 20: The method of aspect 19, where the convolutional encoder has a constraint length of six and a variable coding rate, the variable coding rate supporting the set of multiple coding rates.

[0184] Aspect 21: The method of either of aspects 19 or 20, further including: inputting, to the convolutional encoder, a stream of information bits associated with the signal; and determining the output of the convolutional encoder in accordance with the stream of information bits and a nested polynomial of the convolutional encoder defining a set of operations for determination of the set of multiple parity streams.

[0185] Aspect 22: The method of aspect 21, where the set of operations defined by the nested polynomial includes a respective set of XOR operations indicating which bits of a shift register of the convolutional encoder to use for determination of each parity stream of the set of multiple parity streams.

[0186] Aspect 23: The method of either of aspects 21 or 22, further including: setting an initial value of a shift register of the convolutional encoder to a last set of bits of the stream of information bits; and updating a value of the shift register in accordance with the stream of information bits.

[0187] Aspect 24: The method of aspect 23, where the value of the shift register includes five bits in accordance with a size of the shift register, the method further including: determining a next parity bit of each parity stream of the set of multiple parity streams in accordance with a next information bit of the stream of information bits and a current five-bit value of the shift register in accordance with a constraint length of six for the convolutional encoder.

[0188] Aspect 25: The method of either of aspects 23 or 24, where the shift register includes five bit positions, and updating the value of the shift register includes: removing a fifth bit from a fifth bit position of the shift register; shifting a first bit from a first bit position to a second bit position of the shift register, a second bit from a second bit position to a third bit position of the shift register, a third bit from a third bit position to a fourth bit position of the shift register, and a fourth bit from a fourth bit position to the fifth bit position of the shift register; and adding a next information bit from the stream of information bits as a new first bit in the first bit position of the shift register.

[0189] Aspect 26: The method of any of aspects 21–25, where the nested polynomial includes a set of multiple values, and each value of the set of multiple values indicates one or more XOR operations for determination of a respective parity stream of the set of multiple parity streams.

[0190] Aspect 27: The method of aspect 26, where the set of multiple coding rates supported by the convolutional encoder includes 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, and 1 / 8; the set of multiple values includes eight octal values; and the nested polynomial is one of: [45, 73, 67, 75, 57, 65, 57, 71] , [51, 73, 57, 75, 67, 53, 75, 71] , [57, 45, 73, 67, 75, 55, 75, 53] , [45, 73, 75, 67, 57, 55, 57, 63] , [57, 45, 73, 67, 75, 55, 75, 63] , [45, 73, 75, 67, 57, 55, 75, 53] , [51, 57, 73, 75, 67, 53, 75, 55] , [45, 73, 67, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 53, 75, 55] , [45, 73, 67, 75, 57, 55, 57, 55] , [45, 73, 75, 67, 57, 55, 75, 63] , [51, 73, 57, 75, 67, 53, 75, 55] , [67, 51, 73, 75, 57, 55, 57, 63] , [67, 51, 73, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 55, 57, 71] , [51, 57, 73, 75, 67, 53, 75, 71] , [51, 73, 57, 75, 67, 53, 75, 65] , [45, 73, 75, 67, 57, 55, 75, 47] , [67, 51, 73, 75, 57, 55, 75, 47] , [51, 73, 57, 75, 67, 53, 75, 63] , and [45, 73, 75, 67, 57, 55, 75, 71] .

[0191] Aspect 28: The method of aspect 26, where the set of multiple coding rates supported by the convolutional encoder includes 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, and 1 / 10; the set of multiple values includes ten octal values; and the nested polynomial is one of: [77, 73, 55, 45, 67, 65, 57, 63, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 63, 65, 75] , [77, 51, 55, 73, 67, 53, 57, 71, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 71, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 67, 55] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 75] , [57, 45, 75, 73, 67, 65, 57, 53, 71, 75] , [77, 73, 55, 45, 67, 65, 57, 63, 57, 65] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 57] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 57] , [77, 73, 55, 45, 67, 65, 57, 71,  75, 55] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 53] , [77, 73, 55, 45, 67, 65, 57, 63, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 67] , [77, 73, 55, 45, 67, 65, 57, 63, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 47] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 71] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 65] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 53] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 55] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 57] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 65] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 53] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 73] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 63] , [55, 67, 77, 51, 53, 67, 75, 65, 63, 57] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 71] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 75] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 47] , [65, 73, 51, 77, 55, 67, 57, 71, 57, 53] , and [55, 67, 77, 51, 53, 67, 75, 65, 63, 75] .

[0192] Aspect 29: The method of any of aspects 19–28, further including: puncturing the one or more parity streams of the set of multiple parity streams in accordance with a first puncturing pattern corresponding to the first coding rate.

[0193] Aspect 30: The method of any of aspects 19–29, where the convolutional encoder is a tail biting convolutional encoder.

[0194] Aspect 31: A method for wireless communications at a first wireless communication device, including: communicating, with a second wireless communication device, an indication of a first coding rate; and receiving a signal indicative of a set of multiple parity streams associated with the first coding rate, an input to a convolutional decoder including the set of multiple parity streams, the convolutional decoder associated with a set of multiple coding rates including the first coding rate, an output of the convolutional decoder including a set of information bits corresponding to the signal.

[0195] Aspect 32: The method of aspect 31, where the convolutional decoder has a constraint length of six and a variable coding rate, the variable coding rate supporting the set of multiple coding rates.

[0196] Aspect 33: The method of either of aspects 31 or 32, further including: determining the output of the convolutional decoder in accordance with an input stream of bits corresponding to the set of multiple parity streams and a nested polynomial of the convolutional decoder defining a set of operations for determination of the set of information bits.

[0197] Aspect 34: The method of aspect 33, where the nested polynomial includes a set of multiple values, and each value of the set of multiple values indicates one or more XOR operations for determination of a respective parity stream of the set of multiple parity streams.

[0198] Aspect 35: The method of aspect 34, where a set of multiple coding rates supported by the convolutional decoder includes 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, and 1 / 8; the set of multiple values includes eight octal values; and the nested polynomial is one of: [45, 73, 67, 75, 57, 65, 57, 71] , [51, 73, 57, 75, 67, 53, 75, 71] , [57, 45, 73, 67, 75, 55, 75, 53] , [45, 73, 75, 67, 57, 55, 57, 63] , [57, 45, 73, 67, 75, 55, 75, 63] , [45, 73, 75, 67, 57, 55, 75, 53] , [51, 57, 73, 75, 67, 53, 75, 55] , [45, 73, 67, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 53, 75, 55] , [45, 73, 67, 75, 57, 55, 57, 55] , [45, 73, 75, 67, 57, 55, 75, 63] , [51, 73, 57, 75, 67, 53, 75, 55] , [67, 51, 73, 75, 57, 55, 57, 63] , [67, 51, 73, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 55, 57, 71] , [51, 57, 73, 75, 67, 53, 75, 71] , [51, 73, 57, 75, 67, 53, 75, 65] , [45, 73, 75, 67, 57, 55, 75, 47] , [67, 51, 73, 75, 57, 55, 75, 47] , [51, 73, 57, 75, 67, 53, 75, 63] , and [45, 73, 75, 67, 57, 55, 75, 71] .

[0199] Aspect 36: The method of aspect 34, where a set of multiple coding rates supported by the convolutional decoder includes 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, and 1 / 10; the set of multiple values includes ten octal values; and the nested polynomial is one of: [77, 73, 55, 45, 67, 65, 57, 63, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 63, 65, 75] , [77, 51, 55, 73, 67, 53, 57, 71, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 71, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 67, 55] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 75] , [57, 45, 75, 73, 67, 65, 57, 53, 71, 75] , [77, 73, 55, 45, 67, 65, 57, 63, 57, 65] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 57] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 57] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 53] , [77, 73, 55, 45, 67, 65, 57, 63, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 67] , [77, 73, 55, 45, 67, 65, 57, 63, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 47] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 71] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 65] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 53] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 55] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 57] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 65] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 53] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 73] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 63] , [55, 67, 77, 51, 53, 67, 75, 65, 63, 57] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 71] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 75] , [55, 67, 77, 51,  53, 73, 75, 65, 57, 47] , [65, 73, 51, 77, 55, 67, 57, 71, 57, 53] , and [55, 67, 77, 51, 53, 67, 75, 65, 63, 75] .

[0200] 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.

[0201] 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.

[0202] 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.

[0203] 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 (for example, 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.

[0204] 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.

[0205] 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.

[0206] As used herein, including in the claims, “or” as used in a list of items (for example, 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 (in other words, 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. ”

[0207] As used herein, including in the claims, the article “a” before a noun is open-ended and understood to refer to “at least one” of those nouns or “one or more” of those nouns. Thus, the terms “a, ” “at least one, ” “one or more, ” and “at least one of one or more” may be interchangeable. For example, if a claim recites “a component” that performs one or more functions, each of the individual functions may be performed by a single component or by any combination of multiple components. Thus, the term “a component” having characteristics or performing functions may refer to “at least one of one or more components” having a particular characteristic or performing a particular function. Subsequent reference to a component introduced with the article “a” using the terms “the” or “said” may refer to any or all of the one or more components. For example, a component introduced with the article “a” may be understood to mean “one or more components, ” and referring to “the component” subsequently in the claims may be understood to be equivalent to referring to “at least one of the one or more components. ” Similarly, subsequent reference to a component introduced as “one or more components” using the terms “the” or “said” may refer to any or all of the one or more components. For example, referring to “the one or more components” subsequently in the claims may be understood to be equivalent to referring to “at least one of the one or more components. ”

[0208] 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 (for example, receiving information) , accessing (for example, accessing data stored in memory) , and the like. Also, “determining” can include resolving, obtaining, selecting, choosing, establishing, and other such similar actions.

[0209] 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.

[0210] 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.

[0211] 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 wireless communication device, comprising:a processing system that includes processor circuitry and memory circuitry that stores code, the processing system configured to cause the first wireless communication device to:communicate, with a second wireless communication device, an indication of a first coding rate; andtransmit a signal in accordance with an output of a convolutional encoder associated with a plurality of coding rates including the first coding rate, the output comprising a plurality of parity streams, one or more parity streams of the plurality of parity streams being punctured in accordance with the first coding rate to obtain the signal for transmission.2.The first wireless communication device of claim 1, wherein the convolutional encoder has a constraint length of six and a variable coding rate, the variable coding rate supporting the plurality of coding rates.3.The first wireless communication device of claim 1, wherein the processing system is further configured to cause the first wireless communication device to:input, to the convolutional encoder, a stream of information bits associated with the signal; anddetermine the output of the convolutional encoder in accordance with the stream of information bits and a nested polynomial of the convolutional encoder defining a set of operations for determination of the plurality of parity streams.4.The first wireless communication device of claim 3, wherein the set of operations defined by the nested polynomial comprises a respective set of exclusive or (XOR) operations indicating which bits of a shift register of the convolutional encoder to use for determination of each parity stream of the plurality of parity streams.5.The first wireless communication device of claim 3, wherein the processing system is further configured to cause the first wireless communication device to:set an initial value of a shift register of the convolutional encoder to a last set of bits of the stream of information bits; andupdate a value of the shift register in accordance with the stream of information bits.6.The first wireless communication device of claim 5, wherein the value of the shift register comprises five bits in accordance with a size of the shift register, and the processing system is further configured to cause the first wireless communication device to determine a next parity bit of each parity stream of the plurality of parity streams in accordance with a next information bit of the stream of information bits and a current five-bit value of the shift register in accordance with a constraint length of six for the convolutional encoder.7.The first wireless communication device of claim 5, wherein the shift register comprises five bit positions, and, to update the value of the shift register, the processing system is configured to cause the first wireless communication device to:remove a fifth bit from a fifth bit position of the shift register;shift a first bit from a first bit position to a second bit position of the shift register, a second bit from a second bit position to a third bit position of the shift register, a third bit from a third bit position to a fourth bit position of the shift register, and a fourth bit from a fourth bit position to the fifth bit position of the shift register; andadd a next information bit from the stream of information bits as a new first bit in the first bit position of the shift register.8.The first wireless communication device of claim 3, wherein the nested polynomial comprises a plurality of values and each value of the plurality of values indicates one or more exclusive or (XOR) operations for determination of a respective parity stream of the plurality of parity streams.9.The first wireless communication device of claim 8, wherein:the plurality of coding rates supported by the convolutional encoder comprises 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, and 1 / 8;the plurality of values comprises eight octal values; andthe nested polynomial is one of:[45, 73, 67, 75, 57, 65, 57, 71] , [51, 73, 57, 75, 67, 53, 75, 71] , [57, 45, 73, 67, 75, 55, 75, 53] , [45, 73, 75, 67, 57, 55, 57, 63] , [57, 45, 73, 67, 75, 55, 75, 63] , [45, 73, 75, 67, 57, 55, 75, 53] , [51, 57, 73, 75, 67, 53, 75, 55] , [45, 73, 67, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 53, 75, 55] , [45, 73, 67, 75, 57, 55, 57, 55] , [45, 73, 75, 67, 57, 55, 75, 63] , [51, 73, 57, 75, 67, 53, 75, 55] , [67, 51, 73, 75, 57, 55, 57, 63] , [67, 51, 73, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 55, 57, 71] , [51, 57, 73, 75, 67, 53, 75, 71] , [51, 73, 57, 75, 67, 53, 75, 65] , [45, 73, 75, 67, 57, 55, 75, 47] , [67, 51, 73, 75, 57, 55, 75, 47] , [51, 73, 57, 75, 67, 53, 75, 63] , and [45, 73, 75, 67, 57, 55, 75, 71] .10.The first wireless communication device of claim 8, wherein:the plurality of coding rates supported by the convolutional encoder comprises 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, and 1 / 10;the plurality of values comprises ten octal values; andthe nested polynomial is one of:[77, 73, 55, 45, 67, 65, 57, 63, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 63, 65, 75] , [77, 51, 55, 73, 67, 53, 57, 71, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 71, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 67, 55] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 75] , [57, 45, 75, 73, 67, 65, 57, 53, 71, 75] , [77, 73, 55, 45, 67, 65, 57, 63, 57, 65] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 57] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 57] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 53] , [77, 73, 55, 45, 67, 65, 57, 63, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 67] , [77, 73, 55, 45, 67, 65, 57, 63, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 47] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 71] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 65] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 53] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 55] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 57] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 65] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 53] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 73] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 63] , [55, 67, 77, 51, 53, 67, 75, 65, 63, 57] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 71] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 75] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 47] , [65, 73, 51, 77, 55, 67, 57, 71, 57, 53] , and [55, 67, 77, 51, 53, 67, 75, 65, 63, 75] .11.The first wireless communication device of claim 1, wherein the processing system is further configured to cause the first wireless communication device to puncture the one or more parity streams of the plurality of parity streams in accordance with a first puncturing pattern corresponding to the first coding rate.12.The first wireless communication device of claim 1, wherein the convolutional encoder is a tail biting convolutional encoder.13.A first wireless communication device, comprising:a processing system that includes processor circuitry and memory circuitry that stores code, the processing system configured to cause the first wireless communication device to:communicate, with a second wireless communication device, an indication of a first coding rate; andreceive a signal indicative of a plurality of parity streams associated with the first coding rate, an input to a convolutional decoder comprising the plurality of parity streams, the convolutional decoder associated with a plurality of coding rates including the first coding rate, an output of the convolutional decoder comprising a set of information bits corresponding to the signal.14.The first wireless communication device of claim 13, wherein the convolutional decoder has a constraint length of six and a variable coding rate, the variable coding rate supporting the plurality of coding rates.15.The first wireless communication device of claim 13, wherein the processing system is further configured to cause the first wireless communication device to determine the output of the convolutional decoder in accordance with an input stream of bits corresponding to the plurality of parity streams and a nested polynomial  of the convolutional decoder defining a set of operations for determination of the set of information bits.16.The first wireless communication device of claim 15, wherein the nested polynomial comprises a plurality of values and each value of the plurality of values indicates one or more exclusive or (XOR) operations for determination of a respective parity stream of the plurality of parity streams.17.The first wireless communication device of claim 16, wherein:a plurality of coding rates supported by the convolutional decoder comprises 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, and 1 / 8;the plurality of values comprises eight octal values; andthe nested polynomial is one of:[45, 73, 67, 75, 57, 65, 57, 71] , [51, 73, 57, 75, 67, 53, 75, 71] , [57, 45, 73, 67, 75, 55, 75, 53] , [45, 73, 75, 67, 57, 55, 57, 63] , [57, 45, 73, 67, 75, 55, 75, 63] , [45, 73, 75, 67, 57, 55, 75, 53] , [51, 57, 73, 75, 67, 53, 75, 55] , [45, 73, 67, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 53, 75, 55] , [45, 73, 67, 75, 57, 55, 57, 55] , [45, 73, 75, 67, 57, 55, 75, 63] , [51, 73, 57, 75, 67, 53, 75, 55] , [67, 51, 73, 75, 57, 55, 57, 63] , [67, 51, 73, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 55, 57, 71] , [51, 57, 73, 75, 67, 53, 75, 71] , [51, 73, 57, 75, 67, 53, 75, 65] , [45, 73, 75, 67, 57, 55, 75, 47] , [67, 51, 73, 75, 57, 55, 75, 47] , [51, 73, 57, 75, 67, 53, 75, 63] , and [45, 73, 75, 67, 57, 55, 75, 71] .18.The first wireless communication device of claim 16, wherein:a plurality of coding rates supported by the convolutional decoder comprises 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, and 1 / 10;the plurality of values comprises ten octal values; andthe nested polynomial is one of:[77, 73, 55, 45, 67, 65, 57, 63, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 63, 65, 75] , [77, 51, 55, 73, 67, 53, 57, 71, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 71, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 67, 55] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 75] , [57, 45, 75, 73, 67, 65, 57, 53, 71, 75] , [77, 73, 55, 45, 67, 65, 57, 63, 57, 65] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 57] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 57] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 53] , [77, 73, 55, 45, 67, 65, 57, 63, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 67] , [77, 73, 55, 45, 67, 65, 57, 63, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 47] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 71] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 65] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 53] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 55] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 57] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 65] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 53] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 73] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 63] , [55, 67, 77, 51, 53, 67, 75, 65, 63, 57] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 71] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 75] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 47] , [65, 73, 51, 77, 55, 67, 57, 71, 57, 53] , and [55, 67, 77, 51, 53, 67, 75, 65, 63, 75] .19.A method for wireless communications at a first wireless communication device, comprising:communicating, with a second wireless communication device, an indication of a first coding rate; andtransmitting a signal in accordance with an output of a convolutional encoder associated with a plurality of coding rates including the first coding rate, the output comprising a plurality of parity streams, one or more parity streams of the plurality of parity streams being punctured in accordance with the first coding rate to obtain the signal for transmission.20.The method of claim 19, wherein the convolutional encoder has a constraint length of six and a variable coding rate, the variable coding rate supporting the plurality of coding rates.21.The method of claim 19, further comprising:inputting, to the convolutional encoder, a stream of information bits associated with the signal; anddetermining the output of the convolutional encoder in accordance with the stream of information bits and a nested polynomial of the convolutional encoder defining a set of operations for determination of the plurality of parity streams.22.The method of claim 21, wherein the set of operations defined by the nested polynomial comprises a respective set of exclusive or (XOR) operations indicating which bits of a shift register of the convolutional encoder to use for determination of each parity stream of the plurality of parity streams.23.The method of claim 21, further comprising:setting an initial value of a shift register of the convolutional encoder to a last set of bits of the stream of information bits; andupdating a value of the shift register in accordance with the stream of information bits.24.The method of claim 23, wherein the value of the shift register comprises five bits in accordance with a size of the shift register, the method further comprising determining a next parity bit of each parity stream of the plurality of parity streams in accordance with a next information bit of the stream of information bits and a current five-bit value of the shift register in accordance with a constraint length of six for the convolutional encoder.25.The method of claim 23, wherein the shift register comprises five bit positions, and updating the value of the shift register comprises:removing a fifth bit from a fifth bit position of the shift register;shifting a first bit from a first bit position to a second bit position of the shift register, a second bit from a second bit position to a third bit position of the shift register, a third bit from a third bit position to a fourth bit position of the shift register, and a fourth bit from a fourth bit position to the fifth bit position of the shift register; andadding a next information bit from the stream of information bits as a new first bit in the first bit position of the shift register.26.The method of claim 21, wherein the nested polynomial comprises a plurality of values and each value of the plurality of values indicates one or more exclusive or (XOR) operations for determination of a respective parity stream of the plurality of parity streams.27.The method of claim 26, wherein:the plurality of coding rates supported by the convolutional encoder comprises 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, and 1 / 8;the plurality of values comprises eight octal values; andthe nested polynomial is one of:[45, 73, 67, 75, 57, 65, 57, 71] , [51, 73, 57, 75, 67, 53, 75, 71] , [57, 45, 73, 67, 75, 55, 75, 53] , [45, 73, 75, 67, 57, 55, 57, 63] , [57, 45, 73, 67, 75, 55, 75, 63] , [45, 73, 75, 67, 57, 55, 75, 53] , [51, 57, 73, 75, 67, 53, 75, 55] , [45, 73, 67, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 53, 75, 55] , [45, 73, 67, 75, 57, 55, 57, 55] , [45, 73, 75, 67, 57, 55, 75, 63] , [51, 73, 57, 75, 67, 53, 75, 55] , [67, 51, 73, 75, 57, 55, 57, 63] , [67, 51, 73, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 55, 57, 71] , [51, 57, 73, 75, 67, 53, 75, 71] , [51, 73, 57, 75, 67, 53, 75, 65] , [45, 73, 75, 67, 57, 55, 75, 47] , [67, 51, 73, 75, 57, 55, 75, 47] , [51, 73, 57, 75, 67, 53, 75, 63] , and [45, 73, 75, 67, 57, 55, 75, 71] .28.The method of claim 26, wherein:the plurality of coding rates supported by the convolutional encoder comprises 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, and 1 / 10;the plurality of values comprises ten octal values; andthe nested polynomial is one of:[77, 73, 55, 45, 67, 65, 57, 63, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 63, 65, 75] , [77, 51, 55, 73, 67, 53, 57, 71, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 71, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 67, 55] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 75] , [57, 45, 75, 73, 67, 65, 57, 53, 71, 75] , [77, 73, 55, 45, 67, 65, 57, 63, 57, 65] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 57] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 57] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 53] , [77, 73, 55, 45, 67, 65, 57, 63, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 67] , [77, 73, 55, 45, 67, 65, 57, 63, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 47] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 71] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 65] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 53] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 55] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 57] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 65] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 53] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 73] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 63] , [55, 67, 77, 51, 53, 67, 75, 65, 63, 57] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 71] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 75] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 47] , [65, 73, 51, 77, 55, 67, 57, 71, 57, 53] , and [55, 67, 77, 51, 53, 67, 75, 65, 63, 75] .29.The method of claim 19, further comprising puncturing the one or more parity streams of the plurality of parity streams in accordance with a first puncturing pattern corresponding to the first coding rate.30.The method of claim 19, wherein the convolutional encoder is a tail biting convolutional encoder.31.A method for wireless communications at a first wireless communication device, comprising:communicating, with a second wireless communication device, an indication of a first coding rate; andreceiving a signal indicative of a plurality of parity streams associated with the first coding rate, an input to a convolutional decoder comprising the plurality of parity streams, the convolutional decoder associated with a plurality of coding rates including the first coding rate, an output of the convolutional decoder comprising a set of information bits corresponding to the signal.32.The method of claim 31, wherein the convolutional decoder has a constraint length of six and a variable coding rate, the variable coding rate supporting the plurality of coding rates.33.The method of claim 31, further comprising determining the output of the convolutional decoder in accordance with an input stream of bits corresponding to the plurality of parity streams and a nested polynomial of the convolutional decoder defining a set of operations for determination of the set of information bits.34.The method of claim 33, wherein the nested polynomial comprises a plurality of values and each value of the plurality of values indicates one or more  exclusive or (XOR) operations for determination of a respective parity stream of the plurality of parity streams.35.The method of claim 34, wherein:a plurality of coding rates supported by the convolutional decoder comprises 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, and 1 / 8;the plurality of values comprises eight octal values; andthe nested polynomial is one of:[45, 73, 67, 75, 57, 65, 57, 71] , [51, 73, 57, 75, 67, 53, 75, 71] , [57, 45, 73, 67, 75, 55, 75, 53] , [45, 73, 75, 67, 57, 55, 57, 63] , [57, 45, 73, 67, 75, 55, 75, 63] , [45, 73, 75, 67, 57, 55, 75, 53] , [51, 57, 73, 75, 67, 53, 75, 55] , [45, 73, 67, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 53, 75, 55] , [45, 73, 67, 75, 57, 55, 57, 55] , [45, 73, 75, 67, 57, 55, 75, 63] , [51, 73, 57, 75, 67, 53, 75, 55] , [67, 51, 73, 75, 57, 55, 57, 63] , [67, 51, 73, 75, 57, 53, 75, 71] , [45, 73, 67, 75, 57, 55, 57, 71] , [51, 57, 73, 75, 67, 53, 75, 71] , [51, 73, 57, 75, 67, 53, 75, 65] , [45, 73, 75, 67, 57, 55, 75, 47] , [67, 51, 73, 75, 57, 55, 75, 47] , [51, 73, 57, 75, 67, 53, 75, 63] , and [45, 73, 75, 67, 57, 55, 75, 71] .36.The method of claim 34, wherein:a plurality of coding rates supported by the convolutional decoder comprises 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9, and 1 / 10;the plurality of values comprises ten octal values; andthe nested polynomial is one of:[77, 73, 55, 45, 67, 65, 57, 63, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 63, 65, 75] , [77, 51, 55, 73, 67, 53, 57, 71, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 71, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 67, 55] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 75] , [57, 45, 75, 73, 67, 65, 57, 53, 71, 75] , [77, 73, 55, 45, 67, 65, 57, 63, 57, 65] , [71, 57, 53, 75, 67, 65, 57, 63, 55, 57] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 57] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 55] , [77, 73, 55, 45, 67, 65, 57, 71, 75, 53] , [77, 73, 55, 45, 67, 65, 57, 63, 53, 75] , [67, 45, 75, 57, 53, 73, 57, 71, 55, 67] , [77, 73, 55, 45, 67, 65, 57, 63, 75, 65] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 47] , [77, 73, 55, 45, 67, 65, 57, 53, 75, 71] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 65] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 53] , [77, 73, 55, 45, 67, 65, 57, 47, 57, 55] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 57] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 65] , [65, 73, 51, 77, 55, 67, 57, 71, 75, 53] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 73] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 63] , [55, 67, 77, 51, 53, 67, 75, 65, 63, 57] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 71] , [65, 73, 51, 77, 55, 67, 57, 71, 53, 75] , [55, 67, 77, 51, 53, 73, 75, 65, 57, 47] , [65, 73, 51, 77, 55, 67, 57, 71, 57, 53] , and [55, 67, 77, 51, 53, 67, 75, 65, 63, 75].

Citation Information

Patent Citations

  • Decoding method for tail-biting convolutional codes using a search-depth Viterbi algorithm

    EP1841116A2

  • Receiver and receiving method

    JP2016042738A

  • Transmission device and reception device

    JP2018037750A

  • Convolutional coding method for multi-band communications

    US20050166120A1