Patent Description:
Examples of such multiple-access systems include code division multiple access (CDMA) systems, time division multiple access (TDMA) systems, frequency division multiple access (FDMA) systems, and orthogonal frequency division multiple access (OFDMA) systems, (e.g., a Long Term Evolution (LTE) system or a New Radio (NR) system).

Code blocks may be encoded by a transmitting device (e.g., a base station or UE) using an encoding algorithm. Error correcting codes may be used to introduce redundancy in a code block so that transmission errors may be detected and corrected. Some examples of encoding algorithms with error correcting codes include convolutional codes (CCs), low-density parity-check (LDPC) codes, and polar codes. Some coding techniques, such as polar coding, use reliability metrics during encoding and decoding such that information bits may be loaded at bit-channels of the encoder (or retrieved from bit-channels of the decoder) that are associated with favorable (e.g., high) reliability metrics. In some aspects, conventional techniques for describing the bit-channels that include information bits may be deficient. 3GPP discussion document <NPL> incorporated relates to FRActally eNhanced Kernel (FRANK) polar construction that uses a short reference reliability order sequence (a bit group of length Nref) that could be used to determine the locations of Ki information bits for any constituent code comprising a group of Nref bits. An information bit ratio relationship is applied recursively to obtain the number of information bits Ki for each group of length Nref bits of the code, where the short sequence could be derived either numerically or via some formula. 3GPP discussion document <NPL> relates to a mutual information density evolution (MI-DE) construction of a polar code sequence in which the nested nature of the MI-DE construction is recursively exploited to reduce the description complexity of the bit order sequence.

Advantageous embodiments are set outin the dependent claims. In an example, there is provided a method for wireless communication, as set out in claims <NUM> and <NUM>. In another example, there is provided an apparatus for wireless communication, as set out in claims <NUM> and <NUM>. In another example, there is provided a computer-readable medium for wireless communication as set out in claim <NUM>. The described techniques relate to improved methods, systems, devices, or apparatuses that support an efficient sequence-based polar code description.

Techniques are described for determining bit locations of information bits in a codeword encoded using a sequence-based description for information bit locations for a polar code. A wireless device, such as a base station or a user equipment (UE), encodes a set of bits using a polar code to generate a codeword that is transmitted to a receiver via a wireless channel. The number of bits (N) generated by a polar code encoder may be determined based on a power function (e.g., <NUM>m). A transmitting wireless device identifies a number of information bits (e.g., of an information bit vector) to include in the codeword, and maps the information bits to bit locations of different polarized bit-channels of the polar code based on a reliability order (or an approximation of the reliability order) of the bit-channels. The capacity of a given polarized bit-channel may be a function of a reliability metric of that bit-channel. Channel capacity may also be referred to herein as mutual information. Information bits are loaded on the polarized bit-channels associated with the highest reliability metrics (or an approximation of the highest reliability metrics), and the remaining polarized bit-channels are loaded with frozen bits (and parity bits, in some cases).

Transmitting and receiving wireless devices determines bit locations of the information bits in the polar code for a given code length N based on an ordered list of the N bit-channels. A transmitting device determines the bit locations of the information bits in order to map these bits to bit-channels of the polar code, and a receiving device determines the bit locations of the information bits in order to decode these bits. However, conventional techniques for describing the bit-channels that include information bits may be deficient (e.g., may require a large number of bits). The techniques described herein support an efficient description of a sequence-based polar code that may be used to determine the bit locations of information bits in a polar code.

Specifically, bit-channels of a polar code are recursively partitioned for one or more stages of polarization of the polar code, and information bits are assigned to different partitions based on a binary partition assignment vector associated with each stage of polarization. Using these techniques, the number of bits used to describe the bit locations of the information bits (i.e., the sum of the number of bits included in each binary partition assignment vector at each stage of polarization) may be low when compared to the number of bits used to describe the bit locations of the information bits using conventional techniques.

Aspects of the disclosure introduced above are described below in the context of a wireless communications system. Examples of processes and signaling exchanges that support a sequence-based polar code description are then described. Aspects of the disclosure are further illustrated by and described with reference to apparatus diagrams, system diagrams, and flowcharts that relate to a sequence-based polar code description.

<FIG> illustrates an example of a wireless communications system <NUM> that supports a sequence-based polar code description in accordance with various aspects of the present disclosure. The wireless communications system <NUM> includes base stations <NUM>, UEs <NUM>, and a core network <NUM>. In some examples, the wireless communications system <NUM> may be a Long Term Evolution (LTE) network, LTE-Advanced (LTE-A) network, or a New Radio (NR) network. In some cases, wireless communications system <NUM> may support enhanced broadband communications, ultra-reliable (i.e., mission critical) communications, low latency communications, and communications with low-cost and low-complexity devices.

Each base station <NUM> may provide communication coverage for a respective geographic coverage area <NUM>. Control information and data may be multiplexed on an uplink channel or downlink channel according to various techniques. Control information and data may be multiplexed on a downlink channel, for example, using time division multiplexing (TDM) techniques, frequency division multiplexing (FDM) techniques, or hybrid TDM-FDM techniques. In some examples, the control information transmitted during a transmission time interval (TTI) of a downlink channel may be distributed between different control regions in a cascaded manner (e.g., between a common control region and one or more UE-specific control regions).

A UE <NUM> may also be referred to as a mobile station, a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communications device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a user agent, a mobile client, a client, or some other suitable terminology. A UE <NUM> may be a cellular phone, a personal digital assistant (PDA), a wireless modem, a wireless communication device, a handheld device, a tablet computer, a laptop computer, a cordless phone, a personal electronic device, a handheld device, a personal computer, a wireless local loop (WLL) station, an Internet of Things (IoT) device, an Internet of Everything (IoE) device, a machine type communication (MTC) device, an appliance, an automobile, or the like.

The core network <NUM> may provide user authentication, access authorization, tracking, IP connectivity, and other access, routing, or mobility functions. At least some of the network devices, such as base station <NUM>, may include subcomponents such as an access network entity, which may be an example of an access node controller (ANC). Each access network entity may communicate with a number of UEs <NUM> through a number of other access network transmission entities, each of which may be an example of a smart radio head, or a transmission/reception point (TRP).

A wireless device (e.g., a base station <NUM> or a UE <NUM>) encodes a set of information bits using a polar code for a transmission to another wireless device (e.g., a base station <NUM> or a UE <NUM>). Wireless devices in wireless communications system <NUM> may support efficient techniques for determining a set of bit locations of a polar code at which to load information bits (e.g., for encoding) or at which to retrieve information bits (e.g., for decoding). Specifically, a transmitting device determines bit locations at which to load information bits and a receiving device determines bit locations at which to retrieve information bits. The bit locations is based on partitioning bit-channels of a polar code at different stages of polarization and assigning information bits to different partitions at each stage of polarization based on a binary partition assignment vector associated with the stage of polarization. Once the information bits are assigned to partitions of a certain size (e.g., <NUM> bit-channels), the information bits may be mapped to specific bit-channels based on a fixed sequence.

<FIG> illustrates an example of a device <NUM> that supports a sequence-based polar code description in accordance with various aspects of the present disclosure. Device <NUM> may include memory <NUM>, encoder/decoder <NUM>, and transmitter/receiver <NUM>. Bus <NUM> may connect memory <NUM> and encoder/decoder <NUM>, and bus <NUM> may connect encoder/decoder <NUM> and transmitter/receiver <NUM>. In some instances, device <NUM> may have data stored in memory <NUM> to be transmitted to another device, such as a UE <NUM> or a base station <NUM>. To initiate data transmission, device <NUM> may retrieve the data, including information bits, from memory <NUM> for the transmission. The information bits included in memory <NUM> may be passed on to encoder/decoder <NUM> via bus <NUM>. The number of information bits may be represented as a value K, as shown.

Encoder <NUM> may encode the K information bits and output a codeword having a length N, where K<N. Parity bits may be used in some forms of outer codes to provide redundancy to protect the information bits, and frozen bits may be denoted by a given value (<NUM>, <NUM>, etc.) known to both the encoder and the decoder (i.e., the encoder encoding information bits at a transmitter, and the decoder decoding the codeword received at a receiver). From a transmitting device perspective, device <NUM> may encode information bits to produce a codeword, and the codeword may be transmitted via transmitter <NUM>. From a receiving device perspective, device <NUM> may receive encoded data (e.g., a codeword) via receiver <NUM> and may decode the encoded data using decoder <NUM> to obtain the information bits.

As mentioned above, device <NUM> may generate a codeword of length N and dimensionality K (corresponding to the number of information bits) using a polar code. A polar code is an example of a linear block error correcting code has been shown to asymptotically approach the theoretical channel capacity as the code length increases. A polar code may transform unpolarized bit-channels using multiple polarization stages into polarized bit-channels (e.g., channel instances or sub-channels) that may each be associated with a reliability metric. A reliability metric of a polarized bit-channel may approximate the ability of the polarized bit-channel to successfully convey an information bit to a receiver. Each polarized bit-channel may then be loaded with an information bit or non-information bit (e.g., frozen bit or parity bit) for a transmission based on the reliability metrics of different polarized bit-channels (or an approximation of the reliability metrics of different polarized bit-channels). According to various aspects, reliability metrics may be determined based on a recursive partitioning of bit locations (e.g., channel instances or sub-channels) of the polar code, with assignment of information bits to sub-partitions at each polarization stage based on a partition assignment bit vector for the given stage.

<FIG> illustrates an example of a polar coding scheme <NUM> that implements a recursive partitioning of bit locations to allow a device to determine reliability metrics of bit-channels in accordance with various aspects of the present disclosure. In a first polarization stage <NUM>-a, a set of unpolarized bit-channels may have polarization operations (e.g., single parity check or repetition operations) applied, and the resulting polarized bit-channels may each be associated with a reliability metric determined based on the reliability metric (or mutual information) of the unpolarized bit-channels. The polarized bit-channels may then be partitioned into sectors or groups based on the determined reliability metrics of the different polarized bit-channels. For example, the bit-channels corresponding to the single parity check operation may be partitioned into a first, lower reliability group, while the bit-channels corresponding to a repetition operation may be partitioned into a second, higher reliability group. The polarization process may continue recursively through a second stage of polarization <NUM>-b until each partition reaches a given size <NUM> at a third stage of polarization <NUM>-c.

A transmitting device identifies a number of information bits for a transmission (e.g., of an information bit vector), and the transmitting device may allocate or distribute the information bits to different groups of polarized bit-channels during the recursive partitioning based on a capacity of the different groups. Since the capacity of the different groups may be based on the reliability metric of different polarized bit-channels, subsets of the information bits may be distributed or allocated to different groups of polarized channels based on the reliability metrics associated with the different groups of polarized channels. The information bits may then be assigned to specific polarized bit-channels within a group based on a polarization metric (e.g., polarization weight, density evolution, etc.). Assigning information bits within each group may be based on a predetermined ranking of bit-channels within the groups. As such, the information bits may be loaded on the polarized bit-channels associated with the highest reliability metrics (or an approximation of the highest reliability metrics), and the remaining bits (e.g., parity bits and frozen bits) may be loaded on the remaining polarized bit-channels.

In some aspects, it may be appropriate to describe the bit locations of information bits in a polar code such that a device may be able to encode or decode a codeword based on the bit locations of the information bits. In some cases, the number of possible bit locations for information bits in a polar code may correspond to the number of bits generated by the polar code (i.e., N bits) and it may be appropriate to describe the bit locations for each value of N generated by the polar code. Thus, in some examples, the bit locations of each coded bit may be described using log<NUM> N bits, and the bit locations of all N bits generated by the polar code may be described using N * log<NUM> N bits. However, these techniques may be deficient since the number of bits used to describe the bit locations of all bits generated by the polar code may be high.

In other cases (e.g., as described with reference to <FIG>), a device may map coded bits of a polar code to different groups of bit-channels of a certain size 'S' (e.g., <NUM> bit-channels at a third stage of polarization <NUM>-c). The coded bits may then be mapped to bit-channels in a group using a fixed sequence that is based on a polarization metric (e.g., polarization weight, density evolution, etc.). The fixed sequence may be described using S * log<NUM> S bits. Additionally, the group that includes each coded bit of the polar code may be described using <MAT>, and the groups that include all bits of the polar code may be described using <MAT>. Thus, the number of bits used to describe the bit locations of all bits in the polar code may be equal to <MAT>. Although using fewer bits than using an explicit ordering of bit-channels, these techniques may also be deficient since the number of bits used to describe the bit locations of all bits generated by the polar code may still be relatively high.

As described herein, the bit locations for information bits for a polar code used to encode a codeword to be transmitted or decode a received codeword may be efficiently described using recursive partitioning and binary partition assignment vectors. Specifically, bit-channels for one or more stages of polarization are recursively partitioned, and the information bits for each stage of polarization are assigned to sub-partitions based on a binary partition assignment vector. Each bit of the binary partition assignment vector determines that in information bit, if present for the partition, is assigned to a first sub-partition (e.g., higher reliability partition), or a second sub-partition (lower reliability partition). As an example, for an information bit of the K information bits in <FIG>, the wireless device may determine that a binary partition assignment vector at stage <NUM>-a indicates that the information bit is loaded onto a bit-channel in a lower group of bit-channels (K1). The wireless device may then partition the bit-channels of the K1 information bits (including the information bit) and determine that a binary partition assignment vector at stage <NUM>-b indicates that the information bit is loaded onto a bit-channel in a lower group of bit-channels (K11).

At the third stage of polarization <NUM>-c, the recursive partitioning of bit-channels may terminate since each group of bit-channels at the third stage of polarization <NUM>-c may include a certain number of bit-channels 'S. ' The number of information bits that have propagated to each group may then be assigned to a specific bit-channel of the group based on a fixed sequence. Using these techniques, the bit locations of each coded bit of a polar code may be described using N bits at stage <NUM>-a and N/<NUM> bits at stage <NUM>-b. Then, at stage <NUM>-c, the bit locations of each coded bit may be based on the fixed sequence which may be described using S * log<NUM> S bits. Thus, the number of bits used to describe the bit locations (or the bit sequence) of all bits in the polar code may be equal to S * log<NUM> S + N + N/<NUM> bits, which may be less than the number of bits used to describe the bit locations of all bits in the polar code using the other conventional techniques described above. The technique can be extended as additional stages are present in the polar code to support higher values of N. As can be understood, the number of bits used for any given value of N will be given by S * log<NUM> S plus the sequence <MAT>, which approaches the limit of <NUM>N as N increases. Thus, the upper bound for describing the locations for information bits of the polar code having any of multiple code lengths satisfying <NUM>m where m is an integer, up to and including N, is given by S * log<NUM> S + <NUM>N.

<FIG> illustrates an example diagram <NUM> of a recursive partitioning of bit-channels for different stages of polarization in accordance with various aspects of the present disclosure. In some aspects of <FIG>, a wireless device may encode a set of information bits (e.g., K information bits), where K may be less than or equal to the length of the polar code N. In some examples, bit locations of the information bits may be determined based on the binary partition assignment vectors <NUM>, <NUM>, and <NUM> to either encode a codeword to be transmitted or decode a received codeword.

In the example of <FIG>, the wireless device may generate N=<NUM> coded bits for a transmission to another wireless device over a wireless channel. At a first stage of polarization <NUM>-a, the unpolarized bit-channels <NUM> may be partitioned into two sub-partitions <NUM> of bit-channels. The wireless device may then use the binary partition assignment vector <NUM> to determine how many of the information bits to assign to a lower sub-partition of bit-channels (e.g., associated with a higher reliability) or an upper sub-partition of bit-channels (e.g., associated with a lower reliability).

As an example, the binary partition assignment vectors may be used to determine bit-channels for information bits where K=<NUM>. Starting from a first bit position (e.g., the bottom in <FIG>) of binary partition assignment vector <NUM>, the bit values of a portion of the binary partition assignment vector <NUM> may be used to determine how many of the eight (<NUM>) information bits are to be allocated to the lower sub-partition and the upper sub-partition. In the illustrated example, a bit value of '<NUM>' in a binary partition assignment vector indicates that an information bit is to be assigned to the lower sub-partition while a bit value of '<NUM>' in the binary partition assignment vector indicates that an information bit is to be assigned to the upper sub-partition. Thus, six (<NUM>) of the information bits may be allocated to the lower sub-partition <NUM>-a and two (<NUM>) of the information bits may be allocated to the upper sub-partition <NUM>-b.

At the second stage of polarization <NUM>-b, each of the two (<NUM>) partitions <NUM> of bit-channels may be partitioned into sub-partitions <NUM> of bit-channels. The binary partition assignment vector <NUM> may be used in the same way that binary partition assignment vector <NUM> was used at stage <NUM>-a. Specifically, the binary partition assignment vector <NUM> may be used to assign the six (<NUM>) bits assigned to the lower partition <NUM>-a at the second stage of polarization to the lower sub-partition <NUM>-a or upper sub-partition <NUM>-b, and the second binary partition assignment vector <NUM> may also be used to assign the two (<NUM>) bits assigned to the upper partition <NUM>-b to the lower sub-partition <NUM>-c or upper sub-partition <NUM>-d.

At the third stage of polarization <NUM>-c, the wireless device may repeat the process of partitioning and assigning bits (e.g., information bits) to partitions based on the binary partition assignment vector <NUM>. After this stage, the wireless device may determine that the size of the groups of bit-channels (i.e., at stage <NUM>-d) include a predetermined number of bit-channels (e.g., two (<NUM>) in the example of <FIG>), and the wireless device may terminate the process of recursively partitioning the bit-channels at this stage. The wireless device may then use a fixed sequence to determine the mapping of the information bits to specific bit-channels within each group.

As each sub-partition at a given stage of polarization <NUM> includes the same number of bits, each binary partition assignment vector may include an equal number of ones and zeros such that if, for a given stage, a partition is assigned to a number of information bits matching the partition length, each information bit is assigned to a sub-partition. The example provided is simplified for ease of illustration and the techniques described herein may generally be applied to cases where the codeword length N is above a specific threshold (e.g., <NUM>, <NUM>, etc.). In such examples when the codeword length N is larger, the size of the group of bit-channels at which the recursive partitioning is terminated may also be larger (e.g., <NUM> bit-channels) to allow for improved performance of the polar code.

Accordingly, using these techniques the location of the information bits (e.g., the bit-channels in the U-domain) may be described using <MAT>. For example, where N = <NUM> and S = <NUM>, the number of bits for describing the information bit locations using recursive partitioning and binary partition assignment is <NUM> bits. Notably, this supports polar codes of N ∈ {<NUM>, <NUM>, <NUM>, <NUM>}. Furthermore, to extend this polar code description to support N ∈ {<NUM>, <NUM>, <NUM>, <NUM>, <NUM>}, only another <NUM> bits are needed. These techniques may be preferred since, as described above, the number of bits used to describe the location of the information bits using conventional techniques may be either N * log<NUM> N or <MAT>. Thus, in the example described above for N = <NUM> and S = <NUM>, the location of the information bits may be described using either <NUM> bits or <NUM> bits respectively based on the conventional techniques, each of which is significantly greater than the <NUM> bits used to describe the same sequence using the techniques described herein. Furthermore, in the case of the conventional description of an order of bit locations, separate descriptions may be needed for different values of N.

In some examples, shortening (e.g., known-bit puncturing) may be used for rate matching purposes. In that instance, locations of shortened bits in the binary partition assignment vector are skipped, and the information bit counter used to determine how many information bits have been assigned using the binary partition assignment vector is not incremented for the shortened bit. The corresponding bit-channels for shortened bits are then loaded with known bit values (e.g., treated as frozen bits).

In the example of <FIG>, the wireless device may generate N=<NUM> coded bits for a transmission to another wireless device over a wireless channel. In this example, however, the bit length of the binary partition assignment vector at the first stage of polarization (e.g., <NUM>) may be shorter than the length of the polar code (e.g., <NUM>). Nevertheless, the binary partition assignment vector may be used to assign each of the coded bits to bit-channel partitions using the techniques described herein. In particular, each of the bits in the binary partition assignment vector may be used to assign multiple coded bits (e.g., <NUM> in this example) to bit-channel partitions. The use of a binary partition assignment vector with a shorter length than the polar code for assigning coded bits to bit-channels may reduce the number of bits used to assign coded bits to bit-channels of a polar code, with a corresponding loss in granularity of the bit-channel assignment at one or more stages of polarization.

At a first stage of polarization <NUM>-a, the unpolarized bit-channels <NUM> may be partitioned into two sub-partitions <NUM> of bit-channels. The wireless device may then use the binary partition assignment vector <NUM> to determine how many of the information bits to assign to a lower sub-partition of bit-channels (e.g., associated with a higher reliability) or an upper sub-partition of bit-channels (e.g., associated with a lower reliability).

As an example, the binary partition assignment vectors may be used to determine bit-channels for information bits where K=<NUM>. Starting from a first bit position (e.g., the bottom in <FIG>) of binary partition assignment vector <NUM>, the bit values of a portion of the binary partition assignment vector <NUM> may be used to determine how many of the eight (<NUM>) information bits are to be allocated to the lower sub-partition and the upper sub-partition. In the illustrated example, a bit value of '<NUM>' in a binary partition assignment vector indicates that two information bits are to be assigned to the lower sub-partition while a bit value of '<NUM>' in the binary partition assignment vector indicates that two information bits are to be assigned to an upper sub-partition. Thus, six (<NUM>) of the information bits may be allocated to the lower sub-partition <NUM>-a and two (<NUM>) of the information bits may be allocated to the upper sub-partition <NUM>-b.

At the second stage of polarization <NUM>-b, each of the two (<NUM>) partitions <NUM> of bit-channels may be partitioned into sub-partitions <NUM> of bit-channels. Because the binary partition assignment vector may include a same number of bits as the number of bits to be assigned to bit-channel partitions at stage <NUM>-b, each of the bits in the binary partition assignment vector may be used assign one bit to a bit-channel partition. In particular, the binary partition assignment vector <NUM> may be used to assign the six (<NUM>) bits assigned to the lower partition <NUM>-a at the second stage of polarization to the lower sub-partition <NUM>-a or upper sub-partition <NUM>-b, and the second binary partition assignment vector <NUM> may also be used to assign the two (<NUM>) bits assigned to the upper partition <NUM>-b to the lower sub-partition <NUM>-c or upper sub-partition <NUM>-d.

Accordingly, using these techniques, the location of the information bits (e.g., the bit-channels in the U-domain) may be described using even less bits than the techniques described with reference to <FIG>. In particular, the number of bits used to assign coded bits to bit-channels at one or more stages of polarization may be reduced (e.g., by one half in the example described above). Although the examples described above discuss assigning two coded bits to a respective partition based on the bit value of each bit in the binary partition assignment vector, it is to be understood that each bit in the binary partition assignment vector may be used to assign a different number of coded bits (e.g., <NUM>) to respective partitions.

<FIG> illustrates an example scheme <NUM> used to generate binary partition assignment vectors from a master binary partition assignment vector. The techniques described with reference to <FIG> and <FIG> discuss the use of a binary partition assignment vector at each stage of polarization to assign bits at the respective stage of polarization to bit-channel partitions. Although these techniques may reduce the number of bits used to describe the bit locations (or bit sequence) of coded bits generated by a polar code (e.g., when compared to conventional techniques), the techniques described with reference to <FIG> may further reduce the number of bits used to describe the bit locations (or bit sequence) of coded bits generated by a polar code.

In particular, as mentioned above, a binary partition assignment vector to be used to assign coded bits to bit-channel partitions at a particular stage of polarization is derived (e.g., indirectly or directly) from a master binary partition assignment vector. The master binary partition assignment vector may refer to a single binary partition assignment vector used to generate binary partition assignment vectors for different stages of polarization. Because the binary partition assignment vectors for different stages of polarization may be derived from the master binary partition assignment vector, the number of bits used to describe the bit locations (or bit sequence) of coded bits generated by a polar code may be reduced (i.e., to the bit length of the master binary partition assignment vector). In the example of <FIG>, the master binary partition assignment vector <NUM> may be used to derive the binary partition assignment vector <NUM>. The binary partition assignment vector <NUM> is determined by calculating a cumulative sum of bits in the master binary partition assignment vector <NUM> to generate a set of values of the cumulative sum <NUM>. The set of values of the cumulative sum may then be grouped into multiple groups each including two values of the cumulative sum. A bit value is then be assigned to each of the groups based on the values of the cumulative sum in each group.

Ones are assigned to groups including a first occurrence of a multiple of the size of the groups and zeros may be assigned to other groups. In this example, because each group may include two values of the cumulative sum, ones may be assigned to groups including a first occurrence of a multiple of two and zeros may be assigned to other groups. Thus, a zero may be assigned to a first group <NUM>-a, a zero may be assigned to a second group <NUM>-b, a one may be assigned to a third group <NUM>-c (e.g., because group <NUM>-c includes the first occurrence of a two), a zero may be assigned to a fourth group <NUM>-d, a one may be assigned to a fifth group <NUM>-e (e.g., because group <NUM>-e includes the first occurrence of a four), a zero may be assigned to a sixth group <NUM>-f, a one may be assigned to a seventh group <NUM>-g (e.g., because group <NUM>-g includes the first occurrence of a six), and a one may be assigned to a eight group <NUM>-h (e.g., because group <NUM>-h includes the first occurrence of an eight).

Although the techniques described above discuss deriving a binary partition assignment vector directly from a master binary partition assignment vector, binary partition assignment vectors at a certain stage of polarization may also be derived from binary partition assignment vectors of a previous stage of polarization using the techniques described above (e.g., where the binary partition assignment vector of the previous stage of polarization is derived directly or indirectly from a master binary partition assignment vector). Further, although the techniques described above discuss deriving a binary partition assignment vector that is half the size of the master binary partition assignment vector (or a previous binary partition assignment vector), it is to be understood that binary partition assignment vectors of different lengths may be derived from another binary partition assignment vector. For example, to derive a binary partition assignment vector of length N/X from a binary partition assignment vector of length N, the values of the cumulative sum may be grouped into groups of size X. As such, ones may be assigned to groups including a first occurrence of a value of the cumulative sum that is a multiple of X and zeros may be assigned to other groups.

The above techniques may be implemented by a UE or a base station configured to encode a codeword using a polar code. That is, the UE or the base station may derive a binary partition assignment vector to use to assign bits to bit-channel partitions at a particular stage of polarization based on a master binary partition assignment vector <NUM> or another binary partition assignment vector using the techniques described above. In such cases, because a binary partition assignment vector may be derived from a single master binary partition assignment vector, the UE or the base station may buffer only the master binary partition assignment vector (e.g., rather than multiple binary partition assignment vectors). Further, because the accumulation of certain bit values in a binary partition assignment vector may correspond to the reliability of bit-channels in a polar code, a shorter binary partition assignment vector derived from a longer binary partition assignment vector using the techniques described above may accurately represent the reliability of bit-channels in a polar code.

As can be understood, the techniques for applying a master binary partition assignment vector described with reference to <FIG> can be applied to the techniques described for <FIG>. For example, a master binary partition assignment vector that is shorter than the polar code length can be used for one or more stages of polarization having a partition length longer than the master binary partition assignment vector, and each binary partition assignment vector used for additional stages of polarization having a partition length shorter than the master binary partition assignment vector can be derived from the master binary partition assignment vector either directly, or indirectly via additional intermediate binary partition assignment vectors.

<FIG> shows a block diagram <NUM> of a wireless device <NUM> that supports a sequence-based polar code description in accordance with various aspects of the present disclosure. Wireless device <NUM> may be an example of aspects of a UE <NUM> or base station <NUM> as described herein. Wireless device <NUM> may include receiver <NUM>, communications manager <NUM>, and transmitter <NUM>. Wireless device <NUM> may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses).

Receiver <NUM> may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to sequence-based polar code description, etc.). Information may be passed on to other components of the device, for example, via link <NUM>. The receiver <NUM> may be an example of aspects of the transceiver <NUM> or the transceiver <NUM> described with reference to <FIG> and <FIG>. The receiver <NUM> may utilize a single antenna or a set of antennas.

In some cases, transmitter <NUM> may be in communication with communications manager <NUM> via link <NUM>. For example, the transmitter <NUM> may be an example of aspects of the transceiver <NUM> or the transceiver <NUM> described with reference to <FIG> and <FIG>.

Communications manager <NUM> may be an example of aspects of the communications manager <NUM>, the communications manager <NUM>, or the communications manager <NUM> described with reference to <FIG>, <FIG>, and <FIG>. Communications manager <NUM> and/or at least some of its various sub-components may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions of the communications manager <NUM> and/or at least some of its various sub-components may be executed by a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described in the present disclosure.

The communications manager <NUM> and/or at least some of its various sub-components may be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations by one or more physical devices. In some examples, communications manager <NUM> and/or at least some of its various sub-components may be a separate and distinct component in accordance with various aspects of the present disclosure. In other examples, communications manager <NUM> and/or at least some of its various sub-components may be combined with one or more other hardware components, including but not limited to an I/O component, a transceiver, a network server, another computing device, one or more other components described in the present disclosure, or a combination thereof in accordance with various aspects of the present disclosure.

Receiver <NUM> may receive a codeword over a wireless channel, where the codeword is based on a set of information bits encoded using a polar code, and receiver <NUM> may pass the codeword to communications manager <NUM> via link <NUM>. Communications manager <NUM> may identify a set of bit locations of the polar code for the set of information bits, where the set of bit locations is determined based on a partitioning of bit-channels for each stage of a plurality of stages of polarization of the polar code and assigning information bits of the each stage of polarization to partitions based on a master binary partition assignment vector and decode the received codeword according to the polar code to obtain an information bit vector at the set of bit locations.

The communications manager <NUM> may also encode a codeword using a polar code for a transmission over a wireless channel, where the codeword includes an information bit vector including a set of information bits and identify a set of bit locations of the polar code for the set of information bits, where the set of bit locations is determined based on a partitioning of bit-channels for each stage of a plurality of stages of polarization of the polar code and assigning information bits of the each stage of polarization to partitions based on a master binary partition assignment vector. Communications manager <NUM> may then pass the encoded codeword to transmitter <NUM> via link <NUM>, and transmitter <NUM> may transmit the encoded codeword over the wireless channel according to the polar code based on the set of bit locations.

<FIG> shows a block diagram <NUM> of a wireless device <NUM> that supports sequence-based polar code description in accordance with various aspects of the present disclosure. Wireless device <NUM> may be an example of aspects of a wireless device <NUM> or a UE <NUM> or base station <NUM> as described with reference to <FIG>. Wireless device <NUM> may include receiver <NUM>, communications manager <NUM>, and transmitter <NUM>. Wireless device <NUM> may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses).

Communications manager <NUM> may be an example of aspects of the communications manager <NUM>, communications manager <NUM>, or communications manager <NUM> described with reference to <FIG>, <FIG>, and <FIG>. Communications manager <NUM> may include information bit location identifier <NUM>, decoder <NUM>, and encoder <NUM>.

In some aspects, receiver <NUM> may receive a codeword over a wireless channel, where the codeword is based on a set of information bits encoded using a polar code, and receiver <NUM> may pass the codeword to information bit location identifier via link <NUM>. Information bit location identifier <NUM> may identify a set of bit locations of the polar code for the set of information bits, where the set of bit locations is determined based on a partitioning of bit-channels for each stage of a plurality of stages of polarization of the polar code and assigning information bits of the each stage of polarization to partitions based on a master binary partition assignment vector. Information bit location identifier <NUM> may then pass the information bit locations <NUM>-a of the set of information bits to decoder <NUM>, and decoder <NUM> may decode the received codeword according to the polar code to obtain an information bit vector at the set of bit locations.

In other aspects, encoder <NUM> may encode a codeword using a polar code for a transmission over a wireless channel, where the codeword includes an information bit vector including a set of information bits, and encoder <NUM> may pass the information bit locations <NUM>-b of the set of information bits to information bit location identifier <NUM>. Information bit location identifier <NUM> may identify a set of bit locations of the polar code for the set of information bits, where the set of bit locations is determined based on a partitioning of bit-channels for each stage of a plurality of stages of polarization of the polar code and assigning information bits of the each stage of polarization to partitions based on a master binary partition assignment vector. Information bit location identifier <NUM> may then pass the encoded codeword to transmitter <NUM> via link <NUM>, and transmitter <NUM> may transmit the encoded codeword over the wireless channel according to the polar code based on the set of bit locations.

The assignment of the information bits for the each stage includes recursively partitioning each partition for the each stage into sub-partitions and applying a respective binary partition assignment vector for the each stage to assign a number of information bits for the each partition of the each stage to the sub-partitions. The respective binary partition assignment vector for the each stage of polarization is derived from the master binary partition assignment vector or the respective binary partition assignment vector associated with a previous stage of polarization.

The respective binary partition assignment vector for the each stage of polarization is determined based at least in part on calculating a cumulative sum of bits in the master binary partition assignment vector or the respective binary partition assignment vector associated with the previous stage of polarization, grouping values of the cumulative sum into two or more groups, and assigning a bit value to each group based at least in part on the values of the cumulative sum in each group.

In some cases, the assigning the bit value to each group based at least in part on the values of the cumulative sum in each group comprises assigning a one to groups comprising a first occurrence of a multiple of a size of the groups and a zero to other groups. In some cases, a set of bit values of the resulting respective binary partition assignment vector for the each stage of polarization corresponds to the bit values assigned to the groups. In some cases, the size of the groups corresponds to a size of the resulting respective binary partition assignment vector for the each stage of polarization.

In some cases, a set of bit values of the respective binary partition assignment vector for the each stage of polarization is based on a size of the each partition for the each stage. In some cases, a size of the respective binary partition assignment vector for the each stage is half of the respective binary partition assignment vector for a previous stage of the recursive partitioning.

In some cases, the recursive partitioning of bit-channels for the set of stages of polarization of the polar code is terminated when each partition at a given stage of polarization includes a predetermined number of bit-channels. In some cases, the assignment of information bits to bit-channels within each partition at the given stage of polarization is based on a fixed sequence. In some cases, the fixed sequence is derived from a polarization weight, a generator weight, a density evolution, a mutual information evaluation, an extrinsic information transfer chart based evaluation, or a combination thereof. In some cases, the information bits of the each stage of polarization are assigned to a first partition or a second partition based on ordered bit values of the master binary partition assignment vector. In some cases, a bit length of the master binary assignment vector is shorter than a length of the polar code.

<FIG> shows a diagram of a system <NUM> including a device <NUM> that supports sequence-based polar code description in accordance with various aspects of the present disclosure. Device <NUM> may be an example of or include the components of wireless device <NUM>, wireless device <NUM>, or a UE <NUM> as described above, e.g., with reference to <FIG> and <FIG>. Device <NUM> may include components for bi-directional voice and data communications including components for transmitting and receiving communications, including UE communications manager <NUM>, processor <NUM>, memory <NUM>, software <NUM>, transceiver <NUM>, antenna <NUM>, and I/O controller <NUM>. These components may be in electronic communication via one or more buses (e.g., bus <NUM>). Device <NUM> may communicate wirelessly with one or more base stations <NUM>.

Processor <NUM> may include an intelligent hardware device, (e.g., a general-purpose processor, a DSP, a central processing unit (CPU), a microcontroller, an ASIC, an FPGA, a programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof). In some cases, processor <NUM> may be configured to operate a memory array using a memory controller. In other cases, a memory controller may be integrated into processor <NUM>. Processor <NUM> may be configured to execute computer-readable instructions stored in a memory to perform various functions (e.g., functions or tasks supporting sequence-based polar code description).

Software <NUM> may include code to implement aspects of the present disclosure, including code to support sequence-based polar code description. Software <NUM> may be stored in a non-transitory computer-readable medium such as system memory or other memory. In some cases, the software <NUM> may not be directly executable by the processor but may cause a computer (e.g., when compiled and executed) to perform functions described herein.

However, in some cases, the device may have more than one antenna <NUM>, which may be capable of concurrently transmitting or receiving multiple wireless transmissions.

<FIG> shows a diagram of a system <NUM> including a device <NUM> that supports a sequence-based polar code description in accordance with various aspects of the present disclosure. Device <NUM> may be an example of or include the components of wireless device <NUM>, wireless device <NUM>, or a base station <NUM> as described above, e.g., with reference to <FIG>, <FIG>, and <FIG>. Device <NUM> may include components for bi-directional voice and data communications including components for transmitting and receiving communications, including base station communications manager <NUM>, processor <NUM>, memory <NUM>, software <NUM>, transceiver <NUM>, antenna <NUM>, network communications manager <NUM>, and inter-station communications manager <NUM>. These components may be in electronic communication via one or more buses (e.g., bus <NUM>). Device <NUM> may communicate wirelessly with one or more UEs <NUM>.

Processor <NUM> may include an intelligent hardware device, (e.g., a general-purpose processor, a DSP, a CPU, a microcontroller, an ASIC, an FPGA, a programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof). In some cases, processor <NUM> may be configured to operate a memory array using a memory controller. In other cases, a memory controller may be integrated into processor <NUM>. Processor <NUM> may be configured to execute computer-readable instructions stored in a memory to perform various functions (e.g., functions or tasks supporting sequence-based polar code description).

Inter-station communications manager <NUM> may manage communications with other base station <NUM>, and may include a controller or scheduler for controlling communications with UEs <NUM> in cooperation with other base stations <NUM>. In some examples, inter-station communications manager <NUM> may provide an X2 or Xn interface within LTE/LTE-A or NR wireless communication networks to provide communication between base stations <NUM>.

<FIG> shows a flowchart illustrating a method <NUM> that supports a sequence-based polar code description in accordance with various aspects of the present disclosure. The operations of method <NUM> may be implemented by a UE <NUM> or base station <NUM> or its components as described herein. For example, the operations of method <NUM> may be performed by a communications manager as described with reference to <FIG> and <FIG>. In some examples, a UE <NUM> or base station <NUM> may execute a set of codes to control the functional elements of the device to perform the functions described below. Additionally or alternatively, the UE <NUM> or base station <NUM> may perform aspects of the functions described below using special-purpose hardware.

At block <NUM> the UE <NUM> or base station <NUM> may receive a codeword over a wireless channel, where the codeword is based at least in part on a plurality of information bits encoded using a polar code. In some cases, the codeword may also be based on a plurality of frozen bits, and the UE <NUM> or base station <NUM> may use the frozen bits to, for example, detect errors during decoding. The values of the frozen bits may be denoted by a given value (<NUM>, <NUM>, etc.) known to both the encoder (e.g., a transmitting device) and the decoder (e.g., the UE <NUM> or base station <NUM>). The operations of block <NUM> may be performed according to the methods described herein. In certain examples, aspects of the operations of block <NUM> may be performed by a receiver as described with reference to <FIG> and <FIG>.

At block <NUM> the UE <NUM> or base station <NUM> may identify a set of bit locations of the polar code for the plurality of information bits, wherein the set of bit locations is determined based at least in part on a partitioning of bit-channels for each stage of a plurality of stages of polarization of the polar code and assigning information bits of the each stage of polarization to partitions based at least in part on a master binary partition assignment vector. The operations of block <NUM> may be performed according to the methods described herein. In certain examples, aspects of the operations of block <NUM> may be performed by an information bit location identifier as described with reference to <FIG> and <FIG>.

At block <NUM> the UE <NUM> or base station <NUM> may decode the received codeword according to the polar code to obtain an information bit vector at the set of bit locations. Because the bit locations (or the bit sequence) may be identified based on a single master binary partition assignment vector for each stage of polarization, a few bits may be used to describe the bit locations in the polar code (e.g., relative to conventional techniques) to allow the UE <NUM> or base station <NUM> to retrieve the information bits. The operations of block <NUM> may be performed according to the methods described herein. In certain examples, aspects of the operations of block <NUM> may be performed by a decoder as described with reference to <FIG> and <FIG>.

At block <NUM> the UE <NUM> or base station <NUM> may identify a set of bit locations of a polar code for a plurality of information bits. The set of bit locations may be determined using a partitioning of bit-channels for at least one stage of polarization of the polar code and assigning information bits of the at least one stage of polarization to partitions based at least in part on a respective binary partition assignment vector. The respective binary partition assignment vector may be used to determine how many of the information bits of a given stage of polarization to assign to a lower sub-partition of bit-channels (e.g., associated with a higher reliability) or an upper sub-partition of bit-channels (e.g., associated with a lower reliability). The respective binary partition assignment vectors may be derived (e.g., directly or indirectly) from a master binary partition assignment vector, which may be larger or smaller than a length of the polar code. Because the bit locations (or the bit sequence) may be identified based on a single master binary partition assignment vector for each stage of polarization, the number of bits used to describe the bit locations in the polar code may be less than in conventional techniques. The size of the binary partition assignment vector for a given stage may be half of the size of the binary partition assignment vector for a previous stage of the recursive partitioning. The recursive partitioning of bit-channels may terminate when each group of bit-channels at a stage of polarization includes a certain number of bit-channels, or after a certain number of stages. Once the recursive partitioning is terminated, a fixed sequence may be used to assign the number of information bits for a given partition to bit-channels of the partition. The fixed sequence may be derived from a polarization weight, a generator weight, a density evolution, a mutual information evaluation, or an extrinsic information transfer chart based evaluation. The operations of block <NUM> may be performed according to the methods described herein. In certain examples, aspects of the operations of block <NUM> may be performed by an information bit location identifier as described with reference to <FIG> and <FIG>.

At block <NUM> the UE <NUM> or base station <NUM> may encode the plurality of information bits using the identified set of bit locations of the polar code to obtain a codeword for a transmission over a wireless channel. In some cases, the encoding applies frozen bits to other bit locations of the polar code. A receiving UE or base station may also assign the other bit locations to frozen bits during decoding (e.g., in an SCL process). The values of the frozen bits may be denoted by a given value (<NUM>, <NUM>, etc.) known to both the encoder (e.g., the UE <NUM> or base station <NUM>) and the decoder (e.g., a receiving device). The operations of block <NUM> may be performed according to the methods described herein. In certain examples, aspects of the operations of block <NUM> may be performed by a encoder as described with reference to <FIG> and <FIG>.

At block <NUM> the UE <NUM> or base station <NUM> may transmit the encoded codeword over the wireless channel. The operations of block <NUM> may be performed according to the methods described herein. In certain examples, aspects of the operations of block <NUM> may be performed by a transmitter as described with reference to <FIG> and <FIG>.

The terms "system" and "network" are often used interchangeably.

In LTE/LTE-A networks, including such networks described herein, the term evolved node B (eNB) may be generally used to describe the base stations. The wireless communications system or systems described herein may include a heterogeneous LTE/LTE-A or NR network in which different types of eNBs provide coverage for various geographical regions. For example, each eNB, next generation NodeB (gNB), or base station may provide communication coverage for a macro cell, a small cell, or other types of cell. The term "cell" may be used to describe a base station, a carrier or component carrier associated with a base station, or a coverage area (e.g., sector, etc.) of a carrier or base station, depending on context.

Base stations may include or may be referred to by those skilled in the art as a base transceiver station, a radio base station, an access point, a radio transceiver, a NodeB, eNB, gNB, Home NodeB, a Home eNodeB, or some other suitable terminology. The geographic coverage area for a base station may be divided into sectors making up only a portion of the coverage area. The wireless communications system or systems described herein may include base stations of different types (e.g., macro or small cell base stations). The UEs described herein may be able to communicate with various types of base stations and network equipment including macro eNBs, small cell eNBs, gNBs, relay base stations, and the like. There may be overlapping geographic coverage areas for different technologies.

Each communication link described herein-including, for example, wireless communications system <NUM> of <FIG>-may include one or more carriers, where each carrier may be a signal made up of multiple sub-carriers (e.g., waveform signals of different frequencies).

Claim 1:
A method for wireless communication, comprising:
receiving (<NUM>) a codeword over a wireless channel, wherein the codeword is based at least in part on a plurality of information bits encoded using a polar code;
identifying (<NUM>) a set of bit locations of the polar code for the plurality of information bits, wherein the set of bit locations is determined based at least in part on a partitioning of bit-channels for each stage of a plurality of stages of polarization of the polar code, wherein information bits are assigned at each stage of polarization to partitions based at least in part on a first binary partition assignment vector, wherein the assignment of the information bits for each stage comprises recursively partitioning each partition for each stage into sub-partitions and applying a respective binary partition assignment vector for each stage to assign a number of information bits for each partition of each stage to the sub-partitions; and
decoding (<NUM>) the received codeword according to the polar code to obtain an information bit vector at the set of bit locations, characterized in that:
the first binary partition assignment vector is a master binary partition assignment vector (<NUM>);
the respective binary partition assignment vector for each stage of polarization is derived from the master binary partition assignment vector (<NUM>) directly; or indirectly through the respective binary partition assignment vector associated with a previous stage of polarization; and
the respective binary partition assignment vector for each stage of polarization is determined based at least in part on calculating a cumulative sum of bits in the master binary partition assignment vector (<NUM>) or the respective binary partition assignment vector associated with the previous stage of polarization, grouping values of the cumulative sum into two or more groups (<NUM>), and assigning a one to groups comprising a first occurrence of a multiple of a size of the groups and a zero to other groups.