Patent Description:
Wireless communication systems are widely deployed to provide various types of communication content such as voice, video, packet data, messaging, broadcast, and so on. 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.

A wireless multiple-access communication system may include a number of base stations, each simultaneously supporting communication for multiple communication devices, otherwise known as user equipment (UEs). In a Long-Term Evolution (LTE) or LTE-Advanced (LTE-A) network, a set of one or more base stations may define an eNodeB (eNB). In a next generation, new radio (NR), 3GPP <NUM>, or millimeter wave (mmW) network, a base station may take the form of a smart radio head (RH) in combination with an access node controller (ANC), with a set of smart radio heads in communication with an ANC defining a gNodeB (gNB). A base station may communicate with a UE on downlink channels (e.g., for transmissions from the base station to the UE) and uplink channels (e.g., for transmissions from the UE to the base station).

Transmissions between wireless devices (e.g., base stations and UEs) may be encoded. In some cases, the encoding may include polar code encoding. Relatedly, polar codes are described in document <NPL> as well as in document <NPL>. Furthermore, document 3GPP R1-<NUM> describes polar code design, document 3GPP R1-<NUM> describes polar code design features for control channels, and document 3GPP R1-<NUM> describes encoding and decoding of polar codes.

In some cases, a codeword encoded using a polar code may be punctured. For example, to achieve a given code rate with an encoder having lengths determined by a power function (e.g., <NUM>N), more bits may be generated from encoding than are transmitted for the given code rate. A punctured bit may be a bit for which no information is transmitted (e.g., the bit is skipped), or a bit that is used for another purpose (e.g., transmission of a reference signal, etc.). Puncturing may include, for example, shortening puncturing (or known bit puncturing), in which a set of most significant bits (MSBs) or later-generated bits of a codeword are punctured, and block puncturing (or unknown bit puncturing), in which a set of least significant bits (LSBs) or earlier-generated bits of a codeword are punctured. The present disclosure describes techniques for decoding a codeword that is encoded using a polar code and has a set of punctured bit locations. Embodiments and aspects that do not fall within the scope of the claims are merely examples used for explanation of the invention. Wording such as "may" and "for example" used in the description in conjunction with features of the independent claims should not be interpreted to mean that those features are merely optional.

Each of the figures is provided for the purpose of illustration and description only, and not as a definition of the limits of the claims.

A further understanding of the nature and advantages of the present invention may be realized by reference to the following drawings.

Techniques are described for calculating polarization weights for a punctured polar code. The calculated polarization weights are used to identify a set of information bit locations of the polar code. According to the invention, the polarization weights may be calculated in accordance with a polarization weight method for ranking polarized bit locations of a polar code. The polarization weights may then be scaled based on a number of repetition operations (e.g., G operations), per polarization stage of the polar code, that are determined to be nulled. A repetition operation is determined to be nulled because it is affected by the puncturing of the polar code and produces an output log-likelihood ratio (LLR) that provides no further information about the identity of a bit. For example, a nulled LLR does not indicate whether a bit is more likely or less likely to be a logic <NUM> or a logic <NUM>.

Changes may be made in the function and arrangement of elements discussed without departing from the scope of the claims.

Aspects of the disclosure are initially described in the context of a wireless communication system. Aspects of the disclosure are further illustrated by and described with reference to apparatus diagrams, system diagrams, and flowcharts that relate to polarization weight calculation for punctured polar codes.

<FIG> illustrates an example of a wireless communication system <NUM>, in accordance with various aspects of the present disclosure. The wireless communication system <NUM> includes base stations <NUM>, UEs <NUM>, and a core network <NUM>. In some examples, the wireless communication system <NUM> may be an LTE (or LTE-Advanced) network, or an NR network. In some cases, the wireless communication 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.

The base stations <NUM> may wirelessly communicate with UEs <NUM> via one or more base station antennas. Each base station <NUM> may provide communication coverage for a respective geographic coverage area <NUM>. The communication links <NUM> shown in wireless communication system <NUM> may include uplinks, from a UE <NUM> to a base station <NUM>, or downlinks, from a base station <NUM> to a UE <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.

The UEs <NUM> may be dispersed throughout the wireless communication system <NUM>, and each UE <NUM> may be stationary or mobile. 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 communication 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 also 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.

Some UEs <NUM>, such as MTC or IOT devices, may be low cost or low complexity devices, and may provide for automated communication between machines, i.e., Machine-to-Machine (M2M) communication.

In some cases, an MTC device may operate using half-duplex (one-way) communications at a reduced peak rate. MTC devices may also be configured to enter a power saving "deep sleep" mode when not engaging in active communications. In some cases, MTC or IoT devices may be designed to support mission critical functions and wireless communication system may be configured to provide ultra-reliable communications for these functions.

The base stations <NUM> may communicate with the core network <NUM> and with one another. The base stations <NUM> may communicate with one another over backhaul links <NUM> (e.g., X2, etc.) either directly or indirectly (e.g., through core network <NUM>). The base stations <NUM> may perform radio configuration and scheduling for communication with UEs <NUM>, or may operate under the control of a base station controller (not shown).

The core network <NUM> may be an evolved packet core (EPC), which may include at least one mobility management entity (MME), at least one serving gateway (S-GW), and at least one Packet Data Network (PDN) Gateway (P-GW). All user internet protocol (IP) packets may be transferred through the S-GW, which itself may be connected to the P-GW. The operators IP services may include the Internet, the Intranet, an IP Multimedia Subsystem (IMS), and a Packet-Switched Streaming Service (PSS).

The wireless communication system <NUM> may operate in an ultra high frequency (UHF) frequency region using frequency bands from <NUM> to <NUM> (<NUM>), although in some cases WLAN networks may use frequencies as high as <NUM>. This region may also be known as the decimeter band, since the wavelengths range from approximately one decimeter to one meter in length. UHF waves may propagate mainly by line of sight, and may be blocked by buildings and environmental features. However, the waves may penetrate walls sufficiently to provide service to UEs <NUM> located indoors. Transmission of UHF waves is characterized by smaller antennas and shorter range (e.g., less than <NUM>) compared to transmission using the smaller frequencies (and longer waves) of the high frequency (HF) or very high frequency (VHF) portion of the spectrum. In some cases, wireless communication system <NUM> may also utilize extremely high frequency (EHF) portions of the spectrum (e.g., from <NUM> to <NUM>). This region may also be known as the millimeter band, since the wavelengths range from approximately one millimeter to one centimeter in length. Thus, EHF antennas may be even smaller and more closely spaced than UHF antennas. In some cases, this may facilitate use of antenna arrays within a UE <NUM> (e.g., for directional beamforming). However, EHF transmissions may be subject to even greater atmospheric attenuation and shorter range than UHF transmissions.

Thus, the wireless communication system <NUM> may support millimeter wave (mmW) communications between UEs <NUM> and base stations <NUM>. Devices operating in mmW or EHF bands may have multiple antennas to allow beamforming. That is, a base station <NUM> may use multiple antennas or antenna arrays to conduct beamforming operations for directional communications with a UE <NUM>. Beamforming (which may also be referred to as spatial filtering or directional transmission) is a signal processing technique that may be used at a transmitter (e.g., a base station <NUM>) to shape and/or steer an overall antenna beam in the direction of a target receiver (e.g., a UE <NUM>). This may be achieved by combining elements in an antenna array in such a way that transmitted signals at particular angles experience constructive interference while others experience destructive interference.

Multiple-input multiple-output (MIMO) wireless communication systems use a transmission scheme between a transmitter (e.g., a base station <NUM>) and a receiver (e.g., a UE <NUM>), where both transmitter and receiver are equipped with multiple antennas. Some portions of wireless communication system <NUM> may use beamforming. For example, base station <NUM> may have an antenna array with a number of rows and columns of antenna ports that the base station <NUM> may use for beamforming in its communication with UE <NUM>. Signals may be transmitted multiple times in different directions (e.g., each transmission may be beamformed differently). A mmW receiver (e.g., a UE <NUM>) may try multiple beams (e.g., antenna subarrays) while receiving the synchronization signals.

In some cases, the antennas of a base station <NUM> or UE <NUM> may be located within one or more antenna arrays, which may support beamforming or MIMO operation. One or more base station antennas or antenna arrays may be collocated at an antenna assembly, such as an antenna tower. A base station <NUM> may multiple use antennas or antenna arrays to conduct beamforming operations for directional communications with a UE <NUM>.

In some cases, the wireless communication system <NUM> may be a packet. -based network that operates according to a layered protocol stack. The MAC layer may also use Hybrid ARQ (HARQ) to provide retransmission at the MAC layer to improve link efficiency. In the control plane, the Radio Resource Control (RRC) protocol layer may provide establishment, configuration, and maintenance of an RRC connection between a UE <NUM> and a core network <NUM> supporting radio bearers for user plane data.

Time intervals in LTE or NR may be expressed in multiples of a basic time unit (which may be a sampling period of Ts= <NUM>/<NUM>,<NUM>,<NUM> seconds). Time resources may be organized according to radio frames of length of <NUM> (Tf = 307200Ts), which may be identified by a system frame number (SFN) ranging from <NUM> to <NUM>. Each frame may include ten <NUM> subframes numbered from <NUM> to <NUM>. A subframe may be further divided into two <NUM> slots, each of which contains <NUM> or <NUM> modulation symbol periods (depending on the length of the cyclic prefix prepended to each symbol). Excluding the cyclic prefix, each symbol contains <NUM> sample periods. In some cases the subframe may be the smallest scheduling unit, also known as a TTI. In other cases, a TTI may be shorter than a subframe or may be dynamically selected (e.g., in short TTI bursts or in selected component carriers using short TTIs).

A resource element may consist of one symbol period and one subcarrier (e.g., a <NUM> frequency range). A resource block may contain <NUM> consecutive subcarriers in the frequency domain and, for a normal cyclic prefix in each OFDM symbol, <NUM> consecutive OFDM symbols in the time domain (<NUM> slot), or <NUM> resource elements. The number of bits carried by each resource element may depend on the modulation scheme (the configuration of symbols that may be selected during each symbol period). Thus, the more resource blocks that a UE receives and the higher the modulation scheme, the higher the data rate may be.

In some cases, the wireless communication system <NUM> may utilize enhanced component carriers (eCCs). An eCC may be characterized by one or more features including: wider bandwidth, shorter symbol duration, shorter TTIs, and modified control channel configuration. An eCC may also be configured for use in unlicensed spectrum or shared spectrum (where more than one operator is allowed to use the spectrum). An eCC characterized by wide bandwidth may include one or more segments that may be utilized by UEs <NUM> that are not capable of monitoring the whole bandwidth or prefer to use a limited bandwidth (e.g., to conserve power).

A shorter symbol duration may be associated with increased subcarrier spacing. A TTI in an eCC may consist of one or multiple symbols. In some cases, the TTI duration (that is, the number of symbols in a TTI) may be variable. A device, such as a UE <NUM> or base station <NUM>, utilizing eCCs may transmit wideband signals (e.g., <NUM>, <NUM>, <NUM>, <NUM>, etc.) at reduced symbol durations (e.g., <NUM> microseconds).

In some cases, the wireless communication system <NUM> may utilize both licensed and unlicensed radio frequency spectrum bands. For example, the wireless communication system <NUM> may employ LTE License Assisted Access (LTE-LAA) or LTE Unlicensed (LTE U) radio access technology or NR technology in an unlicensed band such as the <NUM> Industrial, Scientific, and Medical (ISM) band. When operating in unlicensed radio frequency spectrum bands, wireless devices such as base stations <NUM> and UEs <NUM> may employ listen-before-talk (LBT) procedures to ensure the channel is clear before transmitting data. In some cases, operations in unlicensed bands may be based at least in part on a CA configuration in conjunction with CCs operating in a licensed band. Operations in unlicensed spectrum may include downlink transmissions, uplink transmissions, or both. Duplexing in unlicensed spectrum may be based at least in part on frequency division duplexing (FDD), time division duplexing (TDD) or a combination of both.

In some examples, one or more of the base stations <NUM> or UEs <NUM> may transmit and/or receive codewords that are encoded/decoded using a polar code.

<FIG> illustrates an example of a device <NUM> for channel encoding and decoding, in accordance with various aspects of the present disclosure. The device <NUM> may be an example of aspects of any wireless device that performs an encoding or decoding operation (e.g., any wireless device operating within the wireless communication system <NUM>). In some examples, the device <NUM> may be an example of aspects of a UE <NUM> or base station <NUM> described with reference to <FIG>.

As shown, the device <NUM> may include a memory <NUM>, an encoder/decoder <NUM>, and a transmitter/receiver <NUM>. The bus <NUM> may connect the memory <NUM> to the encoder/decoder <NUM>. The bus <NUM> may also connect the encoder/decoder <NUM> to the transmitter/receiver <NUM>. In some instances, the device <NUM> may have data stored in the memory <NUM>, which data is to be transmitted to another device, such as a UE <NUM> or a base station <NUM>. To initiate the transmission process, the device <NUM> may retrieve (e.g., from the memory <NUM>) the data for transmission. The data may include a number of information bits provided from the memory <NUM> to the encoder/decoder <NUM> via the bus <NUM>. The number of information bits may be represented as a value 'K,' as shown. The encoder/decoder <NUM> may encode the number of information bits and output a codeword having a length N which may be different than or the same as K. The bits that are not allocated as information bits (i.e., N - K bits) may be parity bits or frozen bits. Parity bits may be used in parity check (PC) polar coding techniques and frozen bits may be bits of a given value (<NUM>, <NUM>, etc.) known to both the encoder and the decoder. From a receiving device perspective, the device <NUM> may receive encoded data (e.g., a codeword) via the transmitter/receiver <NUM> and decode the encoded data using the encoder/decoder <NUM> to obtain the transmitted information bits.

In some examples, the method for encoding data transmissions by the encoder/decoder <NUM> may involve generating a polar code of length N and dimension 'K' (corresponding to the number of information bits). A polar code is an example of a linear block error correcting code and is the first coding technique to provably achieve Shannon (e.g., maximum) channel capacity. The encoder portion of the encoder/decoder <NUM> may include multiple polarized bit-channels (e.g., multiple channel instances or encoding branches) that are each loaded with a bit to be encoded. Bits to be encoded may include information bits and non-information bits. Reliability metrics may be calculated based at least in part on bit locations of the encoder/decoder <NUM>. For example, the probability that a bit loaded into a given bit location of an encoder operated at a transmitting device will be successfully decoded and output at a given bit location of a decoder operated at a receiving device may be calculated. This probability may be referred to as a reliability metric and may be associated with the given bit location. In some cases, the bit locations may be ranked (sorted) based at least in part on the determined reliability metrics (e.g., in order of decreasing or increasing reliability) and all or a portion of the bit locations may be assigned a given bit type (e.g., parity bit, information bit, frozen bit, etc.). For a given dimension K, the K most reliable bit locations may be assigned to information bits, and the remaining bits may be assigned to frozen bits or parity bits.

The encoder/decoder <NUM> may use a number of encoding techniques to encode the data for transmission such as linear block encoding, polar code encoding, PC polar code encoding, Reed-Muller (RM) encoding, polar code RM encoding, and the like, which may introduce redundancy into the encoded output. This redundancy may increase the overall probability that the number of information bits will be successfully decoded upon reception.

<FIG> shows an example diagram of a polar code encoder <NUM>, in accordance with various aspects of the present disclosure. The polar code encoder <NUM> may be included in a transmitter, such as a transmitter included in one of the UEs <NUM> or base stations <NUM> described with reference to <FIG>. The polar code encoder <NUM> may be an example of aspects of the encoder/decoder <NUM> described with reference to <FIG>.

The encoder <NUM> may receive an input vector, U, including a set of bits (e.g., U0, U1, U2, U3, U4, U5, U6, and U7) including information bits, frozen bits, and/or parity bits. The set of bits may be encoded in a codeword Z using a polar code encoding algorithm implemented by the encoder <NUM>. The polar code encoding algorithm may be implemented by a plurality of operations, including, for example, exclusive OR (XOR) operations <NUM> performed where the upper ends of vertical arrow segments intersect horizontal arrow segments, and repetition operations <NUM> performed where the lower ends of vertical arrow segments intersect horizontal arrow segments. Each XOR operation <NUM> or repetition operation <NUM> may generate an output <NUM>. The XOR operations <NUM> and repetition operations <NUM> may be performed on a number of interconnected bit-channels <NUM>, that generate a codeword Z. The codeword Z includes a set of bits (e.g., Z0, Z1, Z2, Z3, Z4, Z5, Z6, and Z7) that may be transmitted over a physical channel. Codeword Y illustrates the effect of bit-reversal of the polar encoder <NUM>. Codeword Y includes bits Y0, Y1, Y2, Y3, Y4, Y5, Y6, and Y7. The bits of the codeword Y may be in a bit-reversed order compared to the bits of the codeword Z. The transmitter may transmit codeword Z (non-bit-reversed) or codword Y (bit--reversed).

In some cases, the codewords Y or Z may be punctured in accordance with non-shortening puncturing before transmission. Block puncturing (or unknown bit puncturing) is one form of non-shortening puncturing, and involves skipping transmission of a set of LSBs of the codeword Z. The set of LSBs that are block punctured are bits of the codeword Z that are dependent on the computation of other bits of the codeword Z. Another form of non-shortening puncture may include puncturing a non-contiguous set of bits of the codeword Z. In contrast to a non-shortening puncture, a shortening puncture (or known bit puncturing) of the codeword Z may include <NUM>) a zeroing of a set of MSBs of the codeword Z and corresponding locations in U with the same indices, or <NUM>) a zeroing of a set of MSBs of the codeword Y and corresponding locations in U with the indices that are bit-reversed compared to the bit locations zeroed in codeword Y. In some examples, zeroing may be equivalent to any known bit value (e.g., a logic <NUM> or a logic <NUM>).

As shown in <FIG>, the block puncture of a set of <NUM> LSBs of codeword Z results in a puncture of a non-contiguous set of bits in codeword Y, which set of bits in codeword Y includes bits that are in a bit-reversed order compared to the bits of codeword Z. The schemes described in the present disclosure may be applied in the context of a block puncture (as shown in <FIG>), or in the context of other non-shortening punctures (e.g., in the context of a non-shortening puncture that punctures a non-contiguous set of bits in codeword Z).

<FIG> shows an example of a polar code decoder <NUM>, in accordance with various aspects of the present disclosure. The polar code decoder <NUM> may be included in a receiver, such as a receiver included in one of the UEs <NUM> or base stations <NUM> described with reference to <FIG>. The polar code decoder <NUM> may be an example of aspects of the encoder/decoder <NUM> described with reference to <FIG>. By way of example, the polar code decoder <NUM> is a <NUM>-bit decoder.

The decoder <NUM> may receive a plurality of LLRs associated with a plurality of bits of a received codeword (e.g., a <NUM>-bit codeword). The bits of the received codeword may be encoded using a polar code. The plurality of LLRs may be received at a plurality of unpolarized bit locations <NUM> of a plurality of interconnected bit-channels <NUM> of the decoder <NUM>. The plurality of LLRs may be transformed into an output vector, at a plurality of polarized bit locations <NUM> of the bit-channels <NUM>, by a plurality of operations performed on the bit-channels <NUM>. The operations may include a number of single parity check (SPC) operations (e.g., F operations) and a number of repetition operations (e.g., G operations). The blocks labeled F and G represent the outputs of such operations, with each F operation being performed where the upper end of a vertical arrow segment intersects a horizontal arrow segment, and with each G operation being performed where the lower end of a vertical arrow segment intersects a horizontal arrow segment.

By way of example, the decoder <NUM> is shown to perform one F operation and one G operation in a single polarization stage (i.e., a Stage <NUM>, or sometimes referred to as Layer <NUM>). Each F operation may receive an operand LLR_a (associated with a less significant bit position or XOR'd bit position) and an operand LLR_b (associated with a more significant bit position or non-XOR'd bit position) and perform the polar code LLR operation: <MAT>.

Each G operation may receive an operand LLR_a and an operand LLR_b and perform the polar code LLR operation: <MAT> where the b which may be <NUM> or <NUM> is indicated in <FIG>.

Because of the construction of the decoder <NUM> (e.g., a successive cancellation construction), each of the bit-channels <NUM> may be associated with a same capacity at the unpolarized bit locations <NUM>, and with a different capacity at the polarized bit locations <NUM>. Thus, the bit-channels <NUM> may not be ranked based on their respective capacities at the unpolarized bit locations <NUM>, and may be assigned equal weights W based on their capacities at the unpolarized bit locations <NUM>, but may be ranked based on their respective capacities at the polarized bit locations <NUM>, and may be assigned respective weights W+ and 'V- based on their capacities at the polarized bit locations <NUM> (e.g., with W+ being the highest weight). The capacity or weight of a bit-channel (or bit location) may indicate the error probability associated with a bit at the bit location. Thus, the error probability associated with each of the unpolarized bit locations <NUM> may be the same, but the error probabilities associated with the polarized bit locations <NUM> differ. In the <NUM>-bit decoder example shown in <FIG>, one of the polarized bit locations <NUM> is associated with a bit-channel <NUM> having a weight of W+ and a lower error probability, and the other polarized bit location <NUM> is associated with a bit-channel <NUM> having a weight of W- and a higher error probability. Typically, an information bit would be transmitted/received on a bit-channel, and at a polarized bit location <NUM>, associated with a highest weight; and a frozen bit would typically be transmitted/received on a bit--channel, and at a polarized bit location <NUM>, associated with a lowest weight.

In general, the following relationships between the unpolarized bit locations <NUM> and polarized bit locations <NUM> apply: <MAT>.

The decoder <NUM> may receive a plurality of LLRs associated with a plurality of bits of a received codeword (e.g., a <NUM>-bit codeword), similarly to the decoder <NUM>. The bits of the received codeword may be encoded using a polar code. The plurality of LLRs may be received at a plurality of unpolarized bit locations <NUM> of a plurality of interconnected bit-channels <NUM> of the decoder <NUM>. The plurality of LLRs may be transformed into an output vector, at a plurality of polarized bit locations <NUM> of the bit-channels <NUM>, by a plurality of operations performed on the bit-channels <NUM>. The operations may include a number of SPC operations (e.g., F operations) and a number of repetition operations or nulled repetition operations (e.g., G operations). The blocks labeled F and G represent the outputs of such operations, with each F operation being performed where the upper end of a vertical arrow segment intersects a horizontal arrow segment, and with each G operation being performed where the lower end of a vertical arrow segment intersects a horizontal arrow segment. By way of example, the decoder <NUM> is shown to perform four F operations and four G operations, distributed amongst two polarization stages (i.e., a Stage <NUM> and a Stage <NUM>). Each F operation and G operation may be implemented as described with reference to <FIG>.

Because of the construction of the decoder <NUM> (i.e., a successive cancellation construction), each of the bit-channels <NUM> may be associated with a same capacity at the unpolarized bit locations <NUM>, and with a different capacity at the polarized bit locations <NUM>. In the <NUM>-bit decoder example shown in <FIG>, a first two bit-channels <NUM> may be identified as lower capacity and assigned a lower weight (W-) after performing Stage <NUM> operations, and a second two bit-channels <NUM> may be identified as higher capacity and assigned a higher weight (W+) after performing Stage <NUM> operations. After performing Stage <NUM> operations, one of the bit-channels <NUM> may be identified as a lowest capacity bit-channel <NUM> and assigned a lowest weight (W--), and one bit-channel <NUM> may be identified as a highest capacity bit-channel <NUM> and assigned a highest weight (W++). However, it is unknown which of the two remaining bit-channels <NUM> has the highest capacity (e.g., the weights W+- and W-+ may be arbitrary with respect to one another and cannot be deterministically ranked). In order to determine the locations of all information bits, frozen bits, and parity bits (if any), all of the polarized bit locations <NUM> may need to be ranked with respect to all other polarized bit locations <NUM>.

<FIG> shows an example of a polar code decoder <NUM>, in accordance with various aspects of the present disclosure. The polar code decoder <NUM> may be included in a receiver, such as a receiver included in one of the UEs <NUM> or base stations <NUM> described with reference to <FIG>. The polar code decoder <NUM> may be an example of aspects of the encoder/decoder <NUM> described with reference to <FIG>. By way of example, the polar code decoder <NUM> is an <NUM>-bit decoder.

The decoder <NUM> may receive a plurality of LLRs associated with a plurality of bits of a received codeword (e.g., an <NUM>-bit codeword Y), similarly to the decoders <NUM> and <NUM>. The bits of the received codeword may be encoded using a polar code. The plurality of LLRs may be received at a plurality of unpolarized bit locations <NUM> of a plurality of interconnected bit-channels <NUM> of the decoder <NUM>. The plurality of LLRs may be transformed into an output vector, U, at a plurality of polarized bit locations <NUM> of the bit-channels <NUM>, by a plurality of operations performed on the bit-channels <NUM>. The operations may include a number of SPC operations (e.g., F operations) and a number of repetition operations (e.g., G operations). The blocks labeled F and G represent the outputs of such operations, with each F operation being performed where the upper end of a vertical arrow segment intersects a horizontal arrow segment, and with each G operation being performed where the lower end of a vertical arrow segment intersects a horizontal arrow segment. By way of example, the decoder <NUM> is shown to perform twelve F operations and twelve G operations, distributed amongst three polarization stages (i.e., a Stage <NUM>, a Stage <NUM>, and a Stage <NUM>). Each F operation and G operation may be implemented as described with reference to <FIG>.

Because of the construction of the decoder <NUM> (i.e., a successive cancellation construction), each of the bit-channels <NUM> may be associated with a same capacity at the unpolarized bit locations <NUM>, and with a different capacity at the polarized bit locations <NUM>. Because all polarized bit locations <NUM> may need to be ranked with respect to all other polarized bit locations <NUM> to determine the locations of all information bits, frozen bits, and parity bits (if any) at the polarized bit locations <NUM>, and because the operation of the decoder <NUM> alone may not be sufficient to rank all of the polarized bit locations <NUM> with respect to all other polarized bit locations <NUM>, the polarized bit locations <NUM> may be ranked using a polarization weight method.

In accordance with the polarization weight method, a polarization weight, Wi, of a bit-channel i <NUM> associated with a polarized bit location, Ui, may be defined as: <MAT> where i is a bit-channel index, binary(Bm-<NUM>Bm-<NUM>. B<NUM>) is the binary representation of i, j is a stage index (or stage_id or layer_id), m is the total number of stages in a polar code (or in the decoder <NUM>) which is the log2 of the block size, Bj is the jth bit from the LSB, and weight(j) is a polarization stage weight (sometimes referred to as a polarization layer weight) associated with stage j. The value of weight(j) may be determined as: <MAT>.

For the decoder <NUM>, the binary bit-channel index i may be expressed as binary(B<NUM>B<NUM>B<NUM>). A bit-channel includes a G operation in each stage j of a bit-channel for which Bj = <NUM>. Thus, the quantity Bj × weight(j) evaluates to <NUM> for each stage j of a bit-channel that includes an F operation, and to weight(j) for each stage j of a bit-channel that includes a G operation. Given respective weights for Stage <NUM>, Stage <NUM>, and Stage <NUM> of Weight(<NUM>), Weight(<NUM>), and Weight(<NUM>), the polarization weights, Wi, of the bit-channels i <NUM> associated with the polarized bit locations, Ui, are shown in <FIG>. The polarization weight of the bit-channel <NUM> associated with polarized bit location U<NUM>, for example, is: <MAT>.

Given the polarization weights associated with bit-channels <NUM>, a set of information bit locations of a polar code may be determined, and a codeword may be processed using the polar code decoder <NUM> to obtain an information bit vector at the set of information bit locations.

<FIG> illustrates the polar code decoder <NUM> described with reference to <FIG> when receiving a codeword Y including a set of punctured bit locations, in accordance with various aspects of the present disclosure. By way of example, the codeword is punctured according to a block puncturing, and the set of punctured bit locations includes the two LSBs of the naturally-ordered codeword Z corresponding to the codeword Y. Given the punctured bit locations (i.e., unpolarized bit locations Y0 and Y4), which punctured bit locations may contain no information (e.g., an indeterminate LLR), the ranking of bit-channels and polarized bit locations <NUM> provided by the polarization weights determined with reference to <FIG> may not be valid. <FIG> therefore describe a modified polarization weight method.

<FIG> illustrates the polar code decoder <NUM> described with reference to <FIG> when receiving a codeword Y including a set of punctured bit locations, in accordance with various aspects of the present disclosure. <FIG> and further illustrates nulled repetition operations determined based at least in part on the set of punctured bit locations. By way of example, the codeword is punctured according to a block puncturing, and the set of punctured bit locations includes the two LSBs of the naturally-ordered codeword Z corresponding to the codeword Y, as described with reference to <FIG>.

In accordance with the modified polarization weight method, nulled repetition operations may be determined based at least in part on the set of punctured bit locations. In some examples, nulled repetition operations may be determined based at least in part on the following rules: <NUM>) an F operation propagates a <NUM> (i.e., a LLR that provides no further information about the identity of a bit) if one of the operands of the function is <NUM>, and <NUM>) a G operation propagates a <NUM> if both of the operands of the function is <NUM>. Thus, <MAT> <MAT> <MAT> where a and b are respective less significant bit and more significant bit inputs to the F and G operations. Thus, to determine nulled repetition operations from the punctured bit locations, the stages may be back-tracked according to these rules. Given these rules, and based at least in part on the puncture of unpolarized bit locations Y0 and Y4, all of the operations in the bit-channel <NUM> associated with polarized bit location U0 are determined to be inactive; the Stage <NUM> and Stage <NUM> operations in the bit-channel <NUM> associated with polarized bit location U1 are determined to be inactive; and the Stage <NUM> operation associated with the bit channel <NUM> associated with the polarized bit location U2 is determined to be inactive.

Across all bit-channels <NUM>, the inactive operations include one nulled repetition operation in Stage <NUM>, and no nulled repetition operations in Stage <NUM> or Stage <NUM>. Thus, only <NUM>/<NUM> of the G operations in Stage <NUM> are active, and all of the G operations in Stage <NUM> and Stage <NUM> are active.

<FIG> illustrates the polar code decoder <NUM> described with reference to <FIG> when receiving a codeword Y including a set of punctured bit locations, in accordance with various aspects of the present disclosure. <FIG> further illustrates nulled repetition operations determined based at least in part on the set of punctured bit locations, and polarization weights determined as a function of the nulled repetition operations. By way of example, the codeword is punctured according to a block puncturing, and the set of punctured bit locations includes the two LSBs of the naturally-ordered codeword Z corresponding to the codeword Y, as described with reference to <FIG> and <FIG>.

In accordance with the modified polarization weight method, a polarization weight, Wi of a bit-channel i <NUM> associated with a polarized bit location, Ui, may be defined as: <MAT> where α is a polarization weight factor based at least in part on a total number of G operations for a stage j and a number of nulled repetition operations for the stage j. In some examples, α may be determined as a ratio of active (i.e., non-nulled) repetition operations in a stage j to the total number of G operations (including active repetition operations and nulled repetition operations) in a stage j, or based at least in part on the example shown in <FIG> and <FIG>, α = <NUM>/<NUM> for Stage <NUM>, α = <NUM> for Stage <NUM>, and α = <NUM> for Stage <NUM>. In some cases, a set of active repetition operations may be classified to be nulled or not active. In some examples, the value of weight(j, α) may be determined by scaling weight(j) by α. For example, weiglit(j, α) may be determined as: <MAT>.

The polarization weight of each bit-channel <NUM> may be determined by the polarization weight, Wi as given above, where Bj is <NUM> for an active repetition operation in stage j, and <NUM> for an nulled repetition operation in stage j. Thus, the polarization weight of the bit-channel <NUM> associated with polarized bit location U<NUM> is <NUM> while the polarization weight of the bit-channel <NUM> associated with polarized bit location U<NUM>, for example, is: <MAT>.

Given the polarization weights associated with bit-channels <NUM>, a set of information bit locations of a polar code may be determined, and a codeword may be processed using the polar code decoder <NUM> to obtain an information bit vector at the set of information bit locations. Although described with respect to a polar code decoder <NUM>, a polar code encoder may perform similar operations to determine bit locations for information bits in an encoding process.

<FIG> shows a second example of the modified polarization weight method described with reference to <FIG> and <FIG>.

<FIG> illustrates the polar code decoder <NUM> described with reference to <FIG> when receiving a codeword Y including a set of punctured bit locations, in accordance with various aspects of the present disclosure. <FIG> further illustrates nulled repetition operations determined based at least in part on the set of punctured bit locations, and polarization weights determined as a function of the nulled repetition operations. The polar code decoder <NUM> may be included in a receiver, such as a receiver included in one of the UEs <NUM> or base stations <NUM> described with reference to <FIG>. The polar code decoder <NUM> may be an example of aspects of the encoder/decoder <NUM> described with reference to <FIG>. By way of example, the polar code decoder <NUM> is an <NUM>-bit decoder.

The decoder <NUM> may receive a plurality of LLRs associated with a plurality of bits of a received codeword (e.g., an <NUM>-bit codeword Y), similarly to the decoders <NUM>, <NUM>, and <NUM>. The bits of the received codeword may be encoded using a polar code. The plurality of LLRs may be received at a plurality of unpolarized bit locations <NUM> of a plurality of interconnected bit-channels <NUM> of the decoder <NUM>. The plurality of LLRs may be transformed into an output vector, U, at a plurality of polarized bit locations <NUM> of the bit-channels <NUM>, by a plurality of operations performed on the bit-channels <NUM>. The operations may include a number of SPC operations (e.g., F operations) and a number of repetition operations (e.g., G operations). The blocks labeled F and G represent the outputs of such operations, with each F operation being performed where the upper end of a vertical arrow segment intersects a horizontal arrow segment, and with each G operation being performed where the lower end of a vertical arrow segment intersects a horizontal arrow segment. By way of example, the decoder <NUM> is shown to perform twelve F operations and twelve G operations, distributed amongst three stages (i.e., a Stage <NUM>, a Stage <NUM>, and a Stage <NUM>). Each F operation and G operation may be implemented as described with reference to <FIG>.

The codeword Y received by the decoder <NUM> may be punctured according to a block puncturing, with the set of punctured bit locations including the three LSBs of the naturally-ordered codeword Z corresponding to the codeword Y. In accordance with the modified polarization weight method described with reference to <FIG> and <FIG>, nulled repetition operations may be determined based at least in part on the set of punctured bit locations, as described for example with reference to <FIG>. Based at least in part on the puncture of unpolarized bit locations Y0, Y2, and Y4, all of the operations in the bit-channels <NUM> associated with polarized bit locations U0, U1, and U2 are determined to be inactive.

Across all bit-channels <NUM>, the inactive operations include one nulled repetition operation in Stage <NUM>, one nulled repetition operation in Stage <NUM>, and no nulled repetition operations in Stage <NUM>. Thus, only <NUM>/<NUM> of the G operations in Stage <NUM> and Stage <NUM> are active, and all of the G operations in Stage <NUM> are active.

In further accordance with the modified polarization weight method, a polarization weight, Wi, of a bit-channel i <NUM> associated with a polarized bit location, Ui, may be defined as: <MAT>.

In some examples, α may be determined as a ratio of active repetition operations in a stage j to the total number of G operations in a stage j, or based at least in part on the example shown in <FIG>, α = <NUM>/<NUM> for Stage <NUM>, α = <NUM>/<NUM> for Stage <NUM>, and α = <NUM> for Stage <NUM>. Thus, the polarization weight of the bit-channel <NUM> associated with polarized bit location U<NUM>, for example, is: <MAT>.

<FIG> shows a block diagram <NUM> of a wireless device <NUM>, in accordance with various aspects of the present disclosure. The wireless device <NUM> may be an example of aspects of a UE <NUM> or base station <NUM> described with reference to <FIG>. The wireless device <NUM> may include a receiver <NUM>, a wireless communication manager <NUM>, and a transmitter <NUM>. The 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).

The receiver <NUM> may receive signaling via an antenna. In some examples, the signaling may be encoded in one or more codewords using a polar code. The receiver may process the signaling (e.g., downconversion, filtering, analog-to-digital conversion, baseband processing) and may pass the processed signaling on to other components of the wireless device <NUM>. The receiver <NUM> may include a single antenna or a set of antennas.

The wireless communication 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 wireless communication 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), an field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof.

The wireless communication 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, the wireless communication 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, the wireless communication 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. The wireless communication manager <NUM> may be an example of aspects of the UE wireless communication manager <NUM> or base station wireless communication manager <NUM> described with reference to <FIG> or <FIG>.

The wireless communication manager <NUM> may identify a set of punctured bit locations in a received codeword. The received codeword may be encoded using a polar code. The wireless communication manager <NUM> may also identify a set of information bit locations of the polar code, with the set of information bit locations being determined based at least in part on polarization weights per polarized bit-channel of a polar code decoder that are a function of nulled repetition operations per polarization stage of the polar code identified based at least in part on the set of punctured bit locations. The wireless communication manager <NUM> may further process the received codeword using the polar code decoder to obtain an information bit vector at the set of information bit locations.

The transmitter <NUM> may transmit signals generated by other components of the wireless device <NUM>. In some examples, the transmitter <NUM> may be collocated with the receiver <NUM> in a transceiver. For example, the transmitter <NUM> and receiver <NUM> may be an example of aspects of the transceiver <NUM> or <NUM> described with reference to <FIG> or <FIG>. The transmitter <NUM> may include a single antenna or a set of antennas.

<FIG> shows a block diagram <NUM> of a wireless device <NUM>, in accordance with various aspects of the present disclosure. The wireless device <NUM> may be an example of aspects of a wireless device, UE, or base station described with reference to <FIG> and <FIG>. The wireless device <NUM> may include a receiver <NUM>, a wireless communication manager <NUM>, and a transmitter <NUM>. The 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).

The receiver <NUM> may receive signaling via an antenna. The receiver <NUM> may an example of the receiver <NUM> of <FIG>.

The wireless communication manager <NUM> may include a punctured bit identifier <NUM>, an information bit location identifier <NUM>, and a polar code decoder <NUM>. The wireless communication manager <NUM> may be an example of aspects of the wireless communication manager <NUM>, <NUM>, or <NUM> described with reference to <FIG>, <FIG>, or <FIG>.

The punctured bit identifier <NUM> may be used to identify a set of punctured bit locations in a received codeword. The received codeword may be encoded using a polar code.

The information bit location identifier <NUM> may be used to identify a set of information bit locations of the polar code. The set of information bit locations may be determined based at least in part on polarization weights per polarized bit-channel of a polar code decoder that are a function of nulled repetition operations per polarization stage of the polar code identified based at least in part on the set of punctured bit locations.

The polar code decoder <NUM> may be used to process the received codeword using the polar code decoder to obtain an information bit vector at the set of information bit locations. In some examples, the polar code decoder may be a natural bit order polar decoder or a bit-reversed order polar code decoder.

<FIG> shows a block diagram <NUM> of a wireless communication manager <NUM>, in accordance with various aspects of the present disclosure. The wireless communication manager <NUM> may be an example of aspects of a wireless communication manager described with reference to <FIG>, <FIG>, <FIG>, or <FIG>. The wireless communication manager <NUM> may include a punctured bit identifier <NUM>, an information bit location identifier <NUM>, and a polar code decoder <NUM>. The information bit location identifier <NUM> may include an nulled repetition operation determiner <NUM> and a polarization weight determiner <NUM>. Each of these components may communicate, directly or indirectly, with one another (e.g., via one or more buses).

The information bit location identifier <NUM> may be used to identify a set of information bit locations of the polar code. The set of information bit locations may be determined based at least in part on polarization weights per polarized bit-channel of a polar code decoder that are a function of nulled repetition operations per polarization stage of the polar code identified based at least in part on the set of punctured bit locations. For example, the set of information bit locations may be determined based at least in part on a ranking of the polarization weights per polarized bit-channel of the polar code decoder.

The nulled repetition operation determiner <NUM> may be used to determine, based at least in part on the set of punctured bit locations, respective numbers of the nulled repetition operations per polarization stage of the polar code.

The polarization weight determiner <NUM> may be used to determine, based at least in part on the respective numbers of the nulled repetition operations per polarization stage, the polarization weights per polarized bit-channel of the polar code decoder. In some examples, the polarization weight determiner <NUM> may be used to identify, for each polarization stage having one or more nulled repetition operations, a polarization weight factor based at least in part on a total number of repetition operations (e.g., a number of the active repetition operations plus the nulled repetition operations) for the each polarization stage and a respective number of the nulled repetition operations for the each polarization stage. In some examples, the polarization weight factor for a polarization stage may be based at least in part on a ratio of active repetition operations in the polarization stage to the total number of repetition operations in the polarization stage. In some examples, the polarization weight determiner <NUM> may also be used to generate a polarization weight for each of the polarized bit-channels by combining a set of polarization stage weights associated with each active repetition operation of the each of the polarized bit-channels. Each polarization stage weight of the set of polarization stage weights may be based at least in part on the polarization weight factor for a corresponding polarization stage. In some examples, the set of polarization stage weights may be determined by the polarization stage weight associated with the each active repetition operation scaled by the polarization weight factor for the corresponding polarization stage of the each active repetition operation.

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

The 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, the processor <NUM> may be configured to operate a memory array using a memory controller. In other cases, a memory controller may be integrated into the processor <NUM>. The processor <NUM> may be configured to execute computer-readable instructions stored in a memory to perform various functions (e.g., functions or tasks supporting polar code encoding/decoding, etc.).

The memory <NUM> may include random access memory (RAM) and read only memory (ROM).

The software <NUM> may include code to implement aspects of the present disclosure, including code to support polar code encoding/decoding, etc. The 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.

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

The I/O controller <NUM> may also manage peripherals that are not integrated into the device <NUM>. In some cases, a user may interact with the device <NUM> via the I/O controller <NUM>, or via hardware components controlled by the I/O controller <NUM>.

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

The 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, the processor <NUM> may be configured to operate a memory array using a memory controller. In other cases, a memory controller may be integrated into the processor <NUM>. The processor <NUM> may be configured to execute computer-readable instructions stored in a memory to perform various functions (e.g., functions or tasks supporting polar code encoding/decoding, etc.).

The memory <NUM> may include RAM and ROM.

In some cases, the base station <NUM> may include a single antenna <NUM>. However, in some cases the base station <NUM> may have more than one antenna <NUM>, which may be capable of concurrently transmitting or receiving multiple wireless transmissions.

The network communication manager <NUM> may manage communications with the core network (e.g., via one or more wired backhaul links). For example, the network communication manager <NUM> may manage the transfer of data communications for client devices, such as one or more UEs <NUM> or <NUM>-a.

The base station communication manager <NUM> may manage communications with other base stations <NUM>-a and <NUM>-b, and may include a controller or scheduler for controlling communications with UEs <NUM> and <NUM>-a in cooperation with other base stations <NUM>-a and <NUM>-b. For example, the base station communication manager <NUM> may coordinate scheduling for transmissions to UEs <NUM> and <NUM>-a for various interference mitigation techniques such as beamforming or joint transmission. In some examples, the base station communication manager <NUM> may provide an X2 interface within an Long Term Evolution (LTE)/LTE-A wireless communication network technology to provide communication between base stations <NUM>, <NUM>-a and <NUM>-b.

<FIG> shows a flowchart illustrating a method <NUM> of wireless communication, in accordance with various aspects of the present disclosure. The operations of the method <NUM> may be performed by a wireless device (e.g., a UE or a base station) or its components, as described herein. For example, the operations of the method <NUM> may be performed by a wireless communication manager, as described with reference to <FIG>. In some examples, a wireless device may execute a set of codes to control the functional elements of the wireless device to perform the functions described below. Additionally or alternatively, the wireless device may perform aspects of the functions described below using special-purpose hardware.

At block <NUM>, a wireless device may identify a set of punctured bit locations in a received codeword. The received codeword may be encoded using a polar code. The operation(s) of block <NUM> may be performed according to the techniques described with reference to <FIG>. In certain examples, aspects of the operation(s) of block <NUM> may be performed using a punctured bit identifier, as described with reference to <FIG> and <FIG>.

At block <NUM>, the wireless device may identify a set of information bit locations of the polar code. The set of information bit locations may be determined based at least in part on polarization weights per polarized bit-channel of a polar code decoder that are a function of nulled repetition operations per polarization stage of the polar code identified based at least in part on the set of punctured bit locations. The operation(s) of block <NUM> may be performed according to the techniques described with reference to <FIG>. In certain examples, aspects of the operation(s) of block <NUM> may be performed using an information bit location identifier, as described with reference to <FIG> and <FIG>.

At block <NUM>, the wireless device may process the received codeword using the polar code decoder to obtain an information bit vector at the set of information bit locations. In some examples, the polar code decoder may be a natural bit order polar decoder or a bit-reversed order polar code decoder. The operation(s) of block <NUM> may be performed according to the techniques described with reference to <FIG>. In certain examples, aspects of the operation(s) of block <NUM> may be performed using a polar code decoder, as described with reference to <FIG> and <FIG>.

At blocks <NUM>, <NUM>, and <NUM>, the wireless device may identify a set of information bit locations of the polar code. The set of information bit locations may be determined based at least in part on polarization weights per polarized bit-channel of a polar code decoder that are a function of nulled repetition operations per polarization stage of the polar code identified based at least in part on the set of punctured bit locations.

At block <NUM>, the wireless device may determine, based at least in part on the set of punctured bit locations, respective numbers of the nulled repetition operations per polarization stage of the polar code. The operation(s) of block <NUM> may be performed according to the techniques described with reference to <FIG>. In certain examples, aspects of the operation(s) of block <NUM> may be performed using an information bit location identifier, as described with reference to <FIG> and <FIG>, or an nulled repetition operation determiner, as described with reference to <FIG>.

At block <NUM>, the wireless device may determine, based at least in part on the respective numbers of the nulled repetition operations per polarization stage, the polarization weights per polarized bit-channel of the polar code decoder. The operation(s) of block <NUM> may be performed according to the techniques described with reference to <FIG>. In certain examples, aspects of the operation(s) of block <NUM> may be performed using an information bit location identifier, as described with reference to <FIG> and <FIG>, or a polarization weight determiner, as described with reference to <FIG>.

At block <NUM>, the wireless device may determine the set of information bit locations based at least in part on a ranking of the polarization weights per polarized bit-channel of the polar code decoder. The operation(s) of block <NUM> may be performed according to the techniques described with reference to <FIG>. In certain examples, aspects of the operation(s) of block <NUM> may be performed using an information bit location identifier, as described with reference to <FIG> and <FIG>.

<FIG> shows a flowchart illustrating a method <NUM> of wireless communication, in accordance with the invention. The operations of the method <NUM> may be performed by a wireless device (e.g., a UE or a base station) or its components, as described herein. For example, the operations of the method <NUM> may be performed by a wireless communication manager, as described with reference to <FIG>. In some examples, a wireless device may execute a set of codes to control the functional elements of the wireless device to perform the functions described below. Additionally or alternatively, the wireless device may perform aspects of the functions described below using special-purpose hardware.

At block <NUM>, a wireless device identifies a set of punctured bit locations in a received codeword. The received codeword is encoded using a polar code. The operation(s) of block <NUM> may be performed according to the techniques described with reference to <FIG>. In certain examples, aspects of the operation(s) of block <NUM> may be performed using a punctured bit identifier, as described with reference to <FIG> and <FIG>.

At blocks <NUM>, <NUM>, and <NUM>, the wireless device identifies a set of information bit locations of the polar code. The set of information bit locations is determined based at least in part on polarization weights per polarized bit-channel of a polar code decoder that are a function of nulled repetition operations per polarization stage of the polar code identified based at least in part on the set of punctured bit locations.

At block <NUM>, the wireless device determines, based at least in part on the set of punctured bit locations, respective numbers of the nulled repetition operations per polarization stage of the polar code. The operation(s) of block <NUM> may be performed according to the techniques described with reference to <FIG>. In certain examples, aspects of the operation(s) of block <NUM> may be performed using an information bit location identifier, as described with reference to <FIG> and <FIG>, or an nulled repetition operation determiner, as described with reference to <FIG>.

At blocks <NUM> and <NUM>, the wireless device determines, based at least in part on the respective numbers of the nulled repetition operations per polarization stage, the polarization weights per polarized bit-channel of the polar code decoder.

At block <NUM>, the wireless device identifies, for each polarization stage having one or more nulled repetition operations, a polarization weight factor based at least in part on a total number of repetition operations for the each polarization stage (e.g., a number of the active repetition operations plus the nulled repetition operations) and a respective number of the nulled repetition operations for the each polarization stage. In some examples, the polarization weight factor for a polarization stage may be based at least in part on a ratio of active repetition operations in the polarization stage to the total number of repetition operations in the polarization stage. The operation(s) of block <NUM> may be performed according to the techniques described with reference to <FIG>. In certain examples, aspects of the operation(s) of block <NUM> may be performed using an information bit location identifier, as described with reference to <FIG> and <FIG>, or a polarization weight determiner, as described with reference to <FIG>.

At block <NUM>, the wireless device generates a polarization weight for each of the polarized bit-channels by combining a set of polarization stage weights associated with each active repetition operation of the each of the polarized bit-channels. Each polarization stage weight of the set of polarization stage weights is based at least in part on the polarization weight factor for a corresponding polarization stage. In some examples, the set of polarization stage weights may be determined by the polarization stage weight associated with the each active repetition operation scaled by the polarization weight factor for the corresponding polarization stage of the each active repetition operation. The operation(s) of block <NUM> may be performed according to the techniques described with reference to <FIG>. In certain examples, aspects of the operation(s) of block <NUM> may be performed using an information bit location identifier, as described with reference to <FIG> and <FIG>, or a polarization weight determiner, as described with reference to <FIG>.

At block <NUM>, the wireless device determines the set of information bit locations based at least in part on a ranking of the polarization weights per polarized bit-channel of the polar code decoder. The operation(s) of block <NUM> may be performed according to the techniques described with reference to <FIG>. In certain examples, aspects of the operation(s) of block <NUM> may be performed using an information bit location identifier, as described with reference to <FIG> and <FIG>.

At block <NUM>, the wireless device processes the received codeword using the polar code decoder to obtain an information bit vector at the set of information bit locations. In some examples, the polar code decoder may be a natural bit order polar decoder or a bit-reversed order polar code decoder. The operation(s) of block <NUM> may be performed according to the techniques described with reference to <FIG>. In certain examples, aspects of the operation(s) of block <NUM> may be performed using a polar code decoder, as described with reference to <FIG> and <FIG>.

Techniques described herein may be used for various wireless communication systems such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal frequency division multiple access (OFDMA), single carrier frequency division multiple access (SC-FDMA), and other systems. The terms "system" and "network" are often used interchangeably. A code division multiple access (CDMA) system may implement a radio technology such as CDMA2000, Universal Terrestrial Radio Access (UTRA), etc. CDMA2000 covers IS-<NUM>, IS-<NUM>, and IS-<NUM> standards. A time division multiple access (TDMA) system may implement a radio technology such as Global System for Mobile Communications (GSM).

An orthogonal frequency division multiple access (OFDMA) system may implement a radio technology such as Ultra Mobile Broadband (UMB), Evolved UTRA (E-UTRA), Institute of Electrical and Electronics Engineers (IEEE) <NUM> (Wi-Fi), IEEE <NUM> (WiMAX), IEEE <NUM>, Flash-OFDM, etc. UTRA and E-UTRA are part of Universal Mobile Telecommunication system (UMTS). 3GPP Long Term Evolution (LTE) and LTE-Advanced (LTE-A) are releases of Universal Mobile Telecommunication system (UMTS) that use E-UTRA. UTRA, E-UTRA, UMTS, LTE, LTE-A, NR, and Global System for Mobile communications (GSM) are described in documents from the organization named "3rd Generation Partnership Project" (3GPP). While aspects an LTE or an NR system may be described for purposes of example, and LTE or NR terminology may be used in much of the description, the techniques described herein are applicable beyond LTE or NR applications.

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 communication 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, 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, eNodeB (eNB), next generation NodeB (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 communication 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.

The wireless communication system or systems described herein may support synchronous or asynchronous operation.

Each communication link described herein - including, for example, wireless communication 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).

Also, 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 a disjunctive list such that, for example, a list of "at least one of A, B, or C" means A or B or C or AB or AC or BC or ABC (i.e., A and B and C).

By way of example, and not limitation, non-transitory computer-readable media may comprise RAM, ROM, electrically erasable programmable read only memory (EEPROM), compact disk (CD) ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to carry or store desired program code means in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. 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, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave are included in the definition of medium.

Claim 1:
A method of wireless communication, comprising:
identifying (<NUM>, <NUM>) a set of punctured bit locations in a received codeword,
the received codeword being encoded using a polar code;
identifying (<NUM>) a set of information bit locations of the polar code,
wherein the identifying (<NUM>) the set of information bit locations comprises:
determining (<NUM>, <NUM>) based at least in part on the set of punctured bit locations, respective numbers of nulled repetition operations per polarization stage of the polar code, wherein a nulled repetition operation produces an output log-likelihood ratio, LLR, that provides no further information about the identity of a bit,
determining (<NUM>), based at least in part on the respective numbers of the nulled repetition operations per polarization stage,
polarization weights per polarized bit-channel of the polar code decoder, wherein the determining (<NUM>) the polarization weights per polarized bit-channel comprises:
identifying (<NUM>), for each polarization stage having one or more nulled repetition operations, the polarization weight factor based at least in part on the total number of repetition operations for each polarization stage and a respective number of the nulled repetition operations for each polarization stage, and
generating (<NUM>) a polarization weight for each polarized bit-channel of the polarized bit-channels by combining a set of polarization stage weights associated with each active repetition operation of each polarized bit-channel of the polarized bit-channels, wherein each polarization stage weight of the set of polarization stage weights is based at least in part on the polarization weight factor for a corresponding polarization stage,
determining (<NUM>, <NUM>) the set of information bit locations based at least in part on a ranking of the polarization weights per polarized bit-channel of the polar code decoder; and
processing (<NUM>, <NUM>) the received codeword using the polar code decoder to obtain an information bit vector at the set of information bit locations.