Patent Description:
In some examples, 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 LTE or LTE-A network, a set of one or more base stations may define an e NodeB (eNB). In other examples (e.g., in a next generation or <NUM> network), a wireless multiple access communication system may include a number of distributed units (DUs) (e.g., edge units (EUs), edge nodes (ENs), radio heads (RHs), smart radio heads (SRHs), transmission reception points (TRPs), etc.) in communication with a number of central units (CUs) (e.g., central nodes (CNs), access node controllers (ANCs), etc.), where a set of one or more distributed units, in communication with a central unit, may define an access node (e.g., a new radio base station (NR BS), a new radio node-B (NR NB), a network node, <NUM> NB, gNB, etc.). A base station or DU may communicate with a set of UEs on downlink channels (e.g., for transmissions from a base station or to a UE) and uplink channels (e.g., for transmissions from a UE to a base station or distributed unit).

<NPL> relates to a rate-matching scheme for control channels. <NPL>, relates to a fractally enhanced kernel polar construction for NR control channels.

After considering this discussion, and particularly after reading the section entitled "Detailed Description" one will understand how the features of this disclosure provide advantages that include improved communications in a wireless network.

The invention concerns a method, an apparatus, and a computer readable medium as defined in the claims. Numerous aspects thereof are provided in the following description.

Aspects of the present disclosure provide apparatus, methods, processing systems, and computer readable mediums for adjusting a number of encoded bits, M, in block puncturing and/or shortening calculations for encoding data for transmission. The disclosed techniques may improve performance of successive cancellation decoders in decoding transmissions made using polar codes.

NR may include Enhanced mobile broadband (eMBB) services targeting wide bandwidth (e.g. <NUM> and wider) communications, millimeter wave (mmW) services targeting high carrier frequency (e.g., <NUM> and higher) communications, massive machine-type communications (mMTC) services targeting non-backward compatible machine-type communications (MTC) techniques, and mission critical services targeting ultra reliable low latency communications (URLLC).

Aspects of the present disclosure relate to a rate-matching scheme for control channels using polar codes. Rate matching is a process whereby the number of bits to be transmitted is matched to the available bandwidth of the number of bits allowed to be transmitted. In certain instances the amount of data to be transmitted is less than the available bandwidth, in which case all the data to be transmitted (and one or more copies of the data) will be transmitted (a technique called repetition). In other instances the amount of data to be transmitted exceeds the available bandwidth, in which case a certain portion of the data to be transmitted will be omitted from the transmission (a technique called puncturing).

In NR, polar codes may be used to encode a stream of bits for transmission. However, in some cases, using a traditional rate matching scheme (e.g., for TBCC codes) may lead to performance loss when used with polar codes. Thus, aspects of the present disclosure propose an efficient rate-matching scheme to be used to rate-match a stream of bits encoded using a polar code.

Although particular aspects are described herein, many variations and permutations of these aspects fall within the scope of the disclosure. Although some benefits and advantages of the preferred aspects are mentioned, the scope of the disclosure is not intended to be limited to particular benefits, uses, or objectives. Rather, aspects of the disclosure are intended to be broadly applicable to different wireless technologies, system configurations, networks, and transmission protocols, some of which are illustrated by way of example in the figures and in the following description of the preferred aspects. The detailed description and drawings are merely illustrative of the disclosure rather than limiting, the scope of the disclosure being defined by the appended claims and equivalents thereof.

The techniques described herein may be used for various wireless communication networks such as CDMA, TDMA, FDMA, OFDMA, SC-FDMA and other networks. A CDMA network may implement a radio technology such as universal terrestrial radio access (UTRA), cdma2000, etc. UTRA includes wideband CDMA (WCDMA), time division synchronous CDMA (TD-SCDMA), and other variants of CDMA. A TDMA network may implement a radio technology such as global system for mobile communications (GSM). An OFDMA network may implement a radio technology such as evolved UTRA (E-UTRA), ultra mobile broadband (UMB), 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), in both frequency division duplex (FDD) and time division duplex (TDD), are new releases of UMTS that use E-UTRA, which employs OFDMA on the downlink and SC-FDMA on the uplink. The techniques described herein may be used for the wireless networks and radio technologies mentioned above as well as other wireless networks and radio technologies, such as a <NUM> next-generation or NR network.

<FIG> illustrates an example wireless network <NUM>, such as a new radio (NR) or <NUM> network, in which aspects of the present disclosure may be performed, for example, for improving device discovery in a multi-slice network. In some cases, the network <NUM> may be a multi-slice network, each slice defines as a composition of adequately configured network functions, network applications, and underlying cloud infrastructures that are bundled together to meet the requirement of a specific use case or business model.

As illustrated in <FIG>, the wireless network <NUM> may include a number of BSs <NUM> and other network entities. A BS may be a station that communicates with UEs. Each BS <NUM> may provide communication coverage for a particular geographic area. In 3GPP, the term "cell" can refer to a coverage area of a Node B and/or a Node B subsystem serving this coverage area, depending on the context in which the term is used. In NR systems, the term "cell" and eNB, Node B, <NUM> NB, AP, NR BS, NR BS, BS, or TRP may be interchangeable. In some examples, a cell may not necessarily be stationary, and the geographic area of the cell may move according to the location of a mobile base station. In some examples, the base stations may be interconnected to one another and/or to one or more other base stations or network nodes (not shown) in the wireless network <NUM> through various types of backhaul interfaces such as a direct physical connection, a virtual network, or the like using any suitable transport network.

In some cases, NR or <NUM> RAT networks may be deployed, employing a multi-slice network architecture.

The BSs <NUM> may also communicate with one another, e.g., directly or indirectly via wireless or wireline backhaul.

A UE may also be referred to as a mobile station, a terminal, an access terminal, a subscriber unit, a station, a Customer Premises Equipment (CPE), a cellular phone, a smart phone, a personal digital assistant (PDA), a wireless modem, a wireless communication device, a handheld device, a laptop computer, a cordless phone, a wireless local loop (WLL) station, a tablet, a camera, a gaming device, a netbook, a smartbook, an ultrabook, a medical device or medical equipment, a biometric sensor/device, a wearable device such as a smart watch, smart clothing, smart glasses, a smart wrist band, smart jewelry (e.g., a smart ring, a smart bracelet, etc.), an entertainment device (e.g., a music device, a video device, a satellite radio, etc.), a vehicular component or sensor, a smart meter/sensor, industrial manufacturing equipment, a global positioning system device, or any other suitable device that is configured to communicate via a wireless or wired medium. Some UEs may be considered evolved or machine-type communication (MTC) devices or evolved MTC (eMTC) devices. Some UEs may be considered Internet-of-Things (IoT) devices.

For example, the spacing of the subcarriers may be <NUM> and the minimum resource allocation (called a 'resource block') may be <NUM> subcarriers (or <NUM>). Consequently, the nominal FFT size may be equal to <NUM>, <NUM>, <NUM>, <NUM> or <NUM> for system bandwidth of <NUM>, <NUM>, <NUM>, <NUM> or <NUM> megahertz (MHz), respectively. For example, a subband may cover <NUM> (i.e., <NUM> resource blocks), and there may be <NUM>, <NUM>, <NUM>, <NUM> or <NUM> subbands for system bandwidth of <NUM>, <NUM>, <NUM>, <NUM> or <NUM>, respectively.

While aspects of the examples described herein may be associated with LTE technologies, aspects of the present disclosure may be applicable with other wireless communications systems, such as NR/<NUM>.

A single component carrier bandwidth of <NUM> may be supported. NR resource blocks may span <NUM> sub-carriers with a subcarrier bandwidth of <NUM> over a <NUM> duration. Each radio frame may consist of <NUM> subframes with a length of <NUM>. Consequently, each subframe may have a length of <NUM>. Each subframe may indicate a link direction (i.e., DL or UL) for data transmission and the link direction for each subframe may be dynamically switched. Each subframe may include DL/UL data as well as DL/UL control data. UL and DL subframes for NR may be as described in more detail below with reference to <FIG>. Alternatively, NR may support a different air interface, other than an OFDM-based. NR networks may include entities such CUs and/or DUs.

As noted above, a RAN may include a CU and DUs. A NR BS (e.g., gNB, <NUM> Node B, Node B, transmission reception point (TRP), access point (AP)) may correspond to one or multiple BSs. NR cells can be configured as access cell (ACells) or data only cells (DCells). For example, the RAN (e.g., a central unit or distributed unit) can configure the cells. DCells may be cells used for carrier aggregation or dual connectivity, but not used for initial access, cell selection/reselection, or handover. In some cases DCells may not transmit synchronization signals-in some case cases DCells may transmit SS. NR BSs may transmit downlink signals to UEs indicating the cell type. Based on the cell type indication, the UE may communicate with the NR BS. For example, the UE may determine NR BSs to consider for cell selection, access, handover, and/or measurement based on the indicated cell type.

According to aspects, no inter-TRP interface may be needed or present.

<FIG> illustrates example components of the BS <NUM> and UE <NUM> illustrated in <FIG>, which may be used to implement aspects of the present disclosure. As described above, the BS may include a TRP. One or more components of the BS <NUM> and UE <NUM> may be used to practice aspects of the present disclosure. For example, antennas <NUM>, modulator/demodulators <NUM>, TX MIMO processor <NUM>, receive processor <NUM>, transmit processor <NUM>, and/or controller/processor <NUM> of the UE <NUM> and/or antennas <NUM>, modulator/demodulators <NUM>, TX MIMO processor <NUM>, transmit processor <NUM>, receive processor <NUM>, and/or controller/processor <NUM> of the BS <NUM> may be used to perform the operations described herein and illustrated with reference to <FIG>.

According to aspects, for a restricted association scenario, the base station <NUM> may be the macro BS 110c in <FIG>, and the UE <NUM> may be the UE 120y.

At the base station <NUM>, a transmit processor <NUM> may receive data from a data source <NUM> and control information from a controller/processor <NUM>. The control information may be for the Physical Broadcast Channel (PBCH), Physical Control Format Indicator Channel (PCFICH), Physical Hybrid ARQ Indicator Channel (PHICH), Physical Downlink Control Channel (PDCCH), etc. The data may be for the Physical Downlink Shared Channel (PDSCH), etc. The processor <NUM> may process (e.g., encode and symbol map) the data and control information to obtain data symbols and control symbols, respectively. The processor <NUM> may also generate reference symbols, e.g., for the PSS, SSS, and cell-specific reference signal.

The processor <NUM> and/or other processors and modules at the base station <NUM> may perform or direct, e.g., the execution of the functional blocks illustrated in <FIG>, and/or other processes for the techniques described herein. The processor <NUM> and/or other processors and modules at the UE <NUM> may also perform or direct, e.g., the execution of the functional blocks illustrated in <FIG>, and/or other processes for the techniques described herein. The memories <NUM> and <NUM> may store data and program codes for the BS <NUM> and the UE <NUM>, respectively.

The illustrated communications protocol stacks may be implemented by devices operating in a <NUM> system (e.g., a system that supports uplink-based mobility).

In the second option, the RRC layer <NUM>-<NUM>, the PDCP layer <NUM>, the RLC layer <NUM>, the MAC layer <NUM>, and the PHY layer <NUM> may each be implemented by the AN.

Regardless of whether a network access device implements part or all of a protocol stack, a UE may implement an entire protocol stack <NUM>-c (e.g., the RRC layer <NUM>, the PDCP layer <NUM>, the RLC layer <NUM>, the MAC layer <NUM>, and the PHY layer <NUM>).

<FIG> is a schematic diagram <NUM> that illustrates various components that may be utilized in a wireless communications device <NUM> that may be employed within the wireless communication system from <FIG>. The wireless communications device <NUM> is an example of a device that may be configured to implement the various methods described herein. The wireless communications device <NUM> may be BS <NUM> from <FIG> or any of user equipments <NUM>.

The wireless communications device <NUM> may include a processor <NUM> which controls operation of the wireless communications device <NUM>. The processor <NUM> may also be referred to as a central processing unit (CPU). Memory <NUM>, which may include both read-only memory (ROM) and random access memory (RAM), provides instructions and data to the processor <NUM>. A portion of the memory <NUM> may also include non-volatile random access memory (NVRAM). The instructions in the memory <NUM> may be executable to implement the methods described herein.

The wireless communications device <NUM> may also include a housing <NUM> that may include a transmitter <NUM> and a receiver <NUM> to allow transmission and reception of data between the wireless device <NUM> and a remote location. The transmitter <NUM> and receiver <NUM> may be combined into a transceiver <NUM>. A single or a plurality of transmit antennas <NUM> may be attached to the housing <NUM> and electrically coupled to the transceiver <NUM>. The wireless communications device <NUM> may also include (not shown) multiple transmitters, multiple receivers, and multiple transceivers.

The wireless communications device <NUM> may also include a signal detector <NUM> that may be used in an effort to detect and quantify the level of signals received by the transceiver <NUM>. The signal detector <NUM> may detect such signals as total energy, energy per subcarrier per symbol, power spectral density and other signals. The wireless communications device <NUM> may also include a digital signal processor (DSP) <NUM> for use in processing signals.

Additionally, the wireless communications device <NUM> may also include an encoder <NUM> for use in encoding signals for transmission. The encoder may also store the encoded signals in a circular buffer (not shown) and perform rate matching on the encoded signals (e.g., by implementing operations <NUM>, shown in <FIG>). Further, the wireless communication device <NUM> may include a decoder <NUM> for use in decoding received signals.

The various components of the wireless communications device <NUM> may be coupled together by a bus system <NUM>, which may include a power bus, a control signal bus, and a status signal bus in addition to a data bus. The processor <NUM> may be configured to access instructions stored in the memory <NUM> to perform connectionless access, in accordance with aspects of the present disclosure discussed below.

<FIG> is a simplified block diagram illustrating a portion <NUM> of a wireless device, in accordance with certain aspects of the present disclosure. The portion includes a radio frequency (RF) modem <NUM> that may be configured to provide an encoded message for wireless transmission (e.g., using polar codes described below). In one example, an encoder <NUM> in a wireless device (e.g., BS <NUM> or a UE <NUM>) receives a message <NUM> for transmission. The message <NUM> may contain data and/or encoded voice or other content directed to the receiving device. The encoder <NUM> encodes the message using a suitable modulation and coding scheme (MCS), typically selected based on a configuration defined by the BS <NUM> or another network entity. The encoded bitstream <NUM> may then be stored in circular buffer and rate-matching may be performed on the stored encoded bitstream, for example, according to aspects of the present disclosure described in more detail below. After the encoded bitstream <NUM> is rate-matched, the encoded bitstream <NUM> may then be provided to a mapper <NUM> that generates a sequence of TX symbols <NUM> that are modulated, amplified and otherwise processed by TX chain <NUM> to produce an RF signal <NUM> for transmission through one or more antennas <NUM>.

<FIG> is a simplified block diagram illustrating a portion <NUM> of a wireless device, in accordance with certain aspects of the present disclosure. The portion includes an RF modem <NUM> that may be configured to receive and decode a wirelessly transmitted signal including an encoded message (e.g., a message encoded using a polar code as described below). In various examples, the modem <NUM> receiving the signal may reside at a user equipment, at a base station, or at any other suitable apparatus or means for carrying out the described functions. One or more antennas <NUM> provides an RF signal <NUM> (i.e., the RF signal produced in <FIG>) to an access terminal (e.g., UE <NUM>). An RX chain <NUM> processes and demodulates the RF signal <NUM> and may provide a sequence of symbols <NUM> to a demapper <NUM>, which produces a bitstream <NUM> representative of the encoded message.

A decoder <NUM> may then be used to decode m-bit information strings from a bitstream that has been encoded using a coding scheme (e.g., a Polar code). The decoder <NUM> may comprise a Viterbi decoder, an algebraic decoder, a butterfly decoder, or another suitable decoder. In one example, a Viterbi decoder employs the well-known Viterbi algorithm to find the most likely sequence of signaling states (the Viterbi path) that corresponds to a received bitstream <NUM>. The bitstream <NUM> may be decoded based on a statistical analysis of LLRs calculated for the bitstream <NUM>. In one example, a Viterbi decoder may compare and select the correct Viterbi path that defines a sequence of signaling states using a likelihood ratio test to generate LLRs from the bitstream <NUM>. Likelihood ratios can be used to statistically compare the fit of a plurality of candidate Viterbi paths using a likelihood ratio test that compares the logarithm of a likelihood ratio for each candidate Viterbi path (i.e. the LLR) to determine which path is more likely to account for the sequence of symbols that produced the bitstream <NUM>. The decoder <NUM> may then decode the bitstream <NUM> based on the LLRs to determine the message <NUM> containing data and/or encoded voice or other content transmitted from the base station (e.g., BS <NUM>).

<FIG> is a diagram <NUM> showing an example of a DL-centric subframe, which may be used by one or more devices (e.g., BS <NUM> and/or UE <NUM>) to communicate in the wireless network <NUM>.

The DL-centric subframe may also include a common UL portion <NUM>. The common UL portion <NUM> may sometimes be referred to as an UL burst, a common UL burst, and/or various other suitable terms. The common UL portion <NUM> may include feedback information corresponding to various other portions of the DL-centric subframe. For example, the common UL portion <NUM> may include feedback information corresponding to the control portion <NUM>. Non-limiting examples of feedback information may include an ACK signal, a NACK signal, a HARQ indicator, and/or various other suitable types of information. The common UL portion <NUM> may include additional or alternative information, such as information pertaining to random access channel (RACH) procedures, scheduling requests (SRs), and various other suitable types of information. As illustrated in <FIG>, the end of the DL data portion <NUM> may be separated in time from the beginning of the common UL portion <NUM>. One of ordinary skill in the art will understand that the foregoing is merely one example of a DL-centric subframe and alternative structures having similar features may exist without necessarily deviating from the aspects described herein.

<FIG> is a diagram <NUM> showing an example of an UL-centric subframe, which may be used by one or more devices (e.g., BS <NUM> and/or UE <NUM>) to communicate in the wireless network <NUM>. The UL-centric subframe may include a control portion <NUM>. The control portion <NUM> may exist in the initial or beginning portion of the UL-centric subframe. The control portion <NUM> in <FIG> may be similar to the control portion described above with reference to <FIG>. The UL-centric subframe may also include an UL data portion <NUM>. The UL data portion <NUM> may sometimes be referred to as the payload of the UL-centric subframe. The UL portion may refer to the communication resources utilized to communicate UL data from the subordinate entity (e.g., UE) to the scheduling entity (e.g., UE or BS). In some configurations, the control portion <NUM> may be a physical DL control channel (PDCCH).

As illustrated in <FIG>, the end of the control portion <NUM> may be separated in time from the beginning of the UL data portion <NUM>. The UL-centric subframe may also include a common UL portion <NUM>. The common UL portion <NUM> in <FIG> may be similar to the common UL portion <NUM> described above with reference to <FIG>. The common UL portion <NUM> may additional or alternative include information pertaining to channel quality indicator (CQI), sounding reference signals (SRSs), and various other suitable types of information. One of ordinary skill in the art will understand that the foregoing is merely one example of an UL-centric subframe and alternative structures having similar features may exist without necessarily deviating from the aspects described herein.

As noted above, polar codes may be used to encode a stream of bits for transmission. Polar codes are the first provably capacity-achieving coding scheme with almost linear (in block length) encoding and decoding complexity. Polar codes are widely considered as a candidate for error-correction in the next-generation wireless systems. Polar codes have many desirable properties, such as deterministic construction (e.g., based on a fast Hadamard transform), very low and predictable error floors, and simple successive-cancellation (SC) based decoding.

Polar codes are linear block codes of length N=<NUM>n, where their generator matrix is constructed using the nth Kronecker power of the matrix, <MAT>, denoted by Gn, also referred to as a Hadamard matrix of order n. For example, Equation (<NUM>) shows the resulting generator matrix for n=<NUM>.

According to certain aspects of the present disclosure, a codeword may be generated (e.g., by a BS) by using the generator matrix to encode a number of input bits (e.g., information bits). For example, given a number of input bits u=(u<NUM>, u<NUM>,. , uN-<NUM>), a resulting codeword vector x=(x<NUM>, x<NUM>,. , xN-<NUM>) may be generated by encoding the input bits using the generator matrix G. This resulting codeword may then be rate matched (e.g., using techniques described herein) and transmitted by a base station over a wireless medium and received by a UE.

When the received vectors are decoded (e.g., by the UE) using a successive-cancellation (SC) decoder (e.g., decoder <NUM>), every estimated bit, ûi, has a predetermined error probability given that bits u<NUM>i-<NUM> were correctly decoded, that tends towards either <NUM> or <NUM>. Moreover, the proportion of estimated bits with a low error probability tends towards the capacity of the underlying channel. Polar codes exploit a phenomenon called channel polarization by using the most reliable K bits to transmit information, while setting, or freezing, the remaining (N-K) bits to a predetermined value, such as <NUM>, as explained below.

For very large N, polar codes transform the channel into N parallel "virtual" channels for the N information bits. If C is a proportion representing the capacity of the channel, then there are almost N*C channels which are completely noise free and there are N*(<NUM> - C) channels which are completely noisy. The basic polar coding scheme then involves freezing (i.e., not transmitting) the information bits to be sent along the completely noisy channel and sending information only along the perfect channels. For small-to-medium N, this polarization may not be complete in the sense that there could be several channels which are neither completely useless nor completely noise-free (i.e., channels that are in transition). Depending on the rate of transmission, these channels in transition are either frozen or are used for transmission.

In previously known wireless communications techniques using polar codes, information allocation (i.e., allocation of information or data bits to portions of a codeword) adjustment for block rate matching may be performed. A sequence designed for a mother code-size, N = <NUM>^m, is still used, but bits of the codeword corresponding to punctured or shortened bits are not selected as information bits. In addition, information bit allocation may be adjusted as shown in <FIG>:.

<FIG> illustrates an information allocation adjustment (IAA) scheme <NUM>, according to previously known techniques. The number of information bits <NUM> allocated to an upper part <NUM> and a lower part <NUM> of a code <NUM> may be further adjusted according to the following algorithms. A generator algorithm may then be used to generate the codeword. An algorithm for block puncturing may be: <MAT> and <MAT> where a coding rate R = K/M. Similarly, an algorithm for block shortening may be: <MAT> and <MAT> where the coding rate R = K/M.

Ideally, the above described procedure can operate recursively (i.e., adjust information bit allocation in multiple iterations), but this recursive operation may be costly in terms of complexity of the scheme and hence, complexity of a transmitting device configured to perform the procedure recursively. One stage bit allocation (<NUM>-stage IAA) is typically preferred in practice, but may face large performance losses, especially when codewords are received using successive cancellation (SC) decoding. In <NUM>-stage IAA, information bits are adjusted only once, that is, the procedure in <NUM>-stage IAA is to derive K, K+ over the upper and lower N/<NUM> bits, respectively, based on K information bits and M coded bits.

It may be very hard to precisely allocate information bits in one stage allocation (i.e., <NUM>-stage IAA), especially to the upper part of the code, when M is slightly larger than N/<NUM>. This difficulty may be due to the slow polarization speed of the code with the heavy puncturing associated with M being slightly larger than N/<NUM>. SC decoding is very sensitive to even one bit being improperly allocated.

In previously known techniques, when encoding with block puncturing or shortening with <NUM> stage K- K+ allocation (i.e., <NUM>-stage IAA), there are frequently performance issues (e.g., spikes) on successive cancellation decoding with a list size of <NUM>. The inherent issue is typically due to heavily-punctured polar code subblock(s), which slows the polarization speed and worsens the information bits allocated on the heavily-punctured subblock(s), e.g., when M is just slightly above N/<NUM>, which means heavy puncturing is seen on the first N/<NUM> subblock, or when M is just slightly above N*<NUM>/<NUM>, which means heavy puncturing is seen on the first N/<NUM> subblock.

<FIG> shows exemplary schemes <NUM> and <NUM> of information bit allocation with improper bit allocation associated with heavy puncturing of M, according to previously known techniques. In exemplary scheme <NUM>, the number of coded bits M=<NUM>, the mother code-size N=<NUM>, the number of information bits K=<NUM>, and the coding rate R=<NUM>. Because M (i.e., <NUM>) is slightly more than ¾ x N (i.e., ¾ x <NUM> = <NUM>), there is heavy puncturing and improper bit allocation, as indicated at <NUM>. In exemplary scheme <NUM>, the number of coded bits M =<NUM>, the mother code-size N =<NUM>, the number of information bits K=<NUM>, and the coding rate R=<NUM>. As in the exemplary scheme <NUM>, because M (i.e., <NUM>) is slightly more than ¾ x N (i.e., ¾ x <NUM> = <NUM>), there is heavy puncturing and improper bit allocation, as indicated at <NUM>.

According to aspects of the present disclosure, adjustment of M in block puncturing and/or shortening calculations may mitigate and/or resolve the above described issue. Adjustment of M, as described herein, may allow a transmitter to avoid selecting the heavily-punctured subblocks for information bits, thus removing or reducing the effects of worse bit allocation using previously known techniques.

<FIG> is a graph <NUM> illustrating successive cancellation (SC) decoding performance of block punctured codes by comparing signal to noise ratios (SNR) at block error rates (BLER) of <NUM> with various numbers of information bits (K) encoded in polar codes. The curve <NUM> shows the performance of SC decoding of a transmission using a theoretical optimal Gaussian averaging (GA) code using a coding rate of <NUM>, while the curve <NUM> shows the performance of SC decoding of a transmission using <NUM>-stage IAA and a polarization weighted (PW) sequence for code construction using a coding rate of <NUM>. Spikes at <NUM> and <NUM> illustrate degradations of the performance of the <NUM>-stage IAA PW code versus the theoretical optimal code. The curve <NUM> shows the performance of SC decoding of a transmission using a theoretical optimal Gaussian averaging (GA) code using a coding rate of <NUM>, while the curve <NUM> shows the performance of SC decoding of a transmission using <NUM>-stage IAA and a polarization weighted (PW) sequence for code construction using a coding rate of <NUM>. Spikes at <NUM> and <NUM> illustrate degradations of the performance of the <NUM>-stage TAA PW code versus the theoretical optimal code. Similarly, curves at <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> show the performances using coding rates of <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>.

According to the invention, a new parameter, Madj, instead of M, is applied in block puncturing code construction with <NUM>-stage IAA. Using Madj as described herein in block puncturing code construction may improve the performance of successive cancellation decoding of the transmitted codeword.

<FIG> is a flow diagram of an algorithm <NUM> for determining Madj for in block puncturing code construction with <NUM>-stage IAA, according to the invention. The algorithm may be used to iteratively calculate Madj, and has <NUM> rules for ending the iteration (i.e., <NUM> stopping rules) and determining the final value of Madj to be used in <NUM>-stage IAA. The algorithm uses two additional parameters, α and β, as well as temporary parameters M' and N'. A processor performing the algorithm begins at block <NUM> with setting Madj to zero and setting two temporary parameters, M' and N', to initial values of M and N, respectively. At block <NUM>, the processor performing the algorithm determines if M' is less than half of N' (N'/<NUM>), and if M' is less than half of N', then the processor sets a new N' equal to the previous N'/<NUM>, as shown at <NUM>, and proceeds to return to block <NUM>. The processor continues setting new values for N' (i.e., equal to the previous value of N'/<NUM>) until M' is no longer less than N'/<NUM>, and then proceeds to block <NUM>. At block <NUM>, the processor performing the algorithm determines if Madj is greater than αM, and if Madj is greater than αM, the processor proceeds to block <NUM>, sets a new Madj equal to the previous Madj + N'/<NUM>, and ceases executing the algorithm, i.e., reaches the end at <NUM>. Thus, one of the two rules for ending the iterating process is to end iteration when Madj is greater than αM. If the processor performing the algorithm determines that Madj is not greater than αM, then the processor proceeds to block <NUM>. In block <NUM>, the processor determines if M' is less than (<NUM> + β) x N'/<NUM>, and, if M' is less than (<NUM> + β) x N'/<NUM>, the processor ceases executing the algorithm, i.e., reaches the end at <NUM>. Thus, another of the two rules for ending the iterating process is to end iteration when M' is less than (<NUM> + β) x N'/<NUM>. If the processor determines that M' is not less than (<NUM> + β) x N'/<NUM>, then the processor proceeds to block <NUM>. At block <NUM>, the processor sets a new Madj equal to the previous Madj + N'/<NUM>, sets a new M' equal to the previous M' - N'/<NUM>, sets a new N' equal to the previous N'/<NUM>, and returns to block <NUM>. When the processor reaches the end at <NUM>, the last calculated Madj is the value to be used for the <NUM>-stage IAA.

According to aspects of the present disclosure, M' and N' are temporary values updated per iteration in the above described algorithm for calculating Madj.

In aspects of the present disclosure, the iterating process is ended when Madj. is greater than αM. α is related to an expected number of iterations, in that α may be equal to the sum from i=<NUM> to the number of iterations of <NUM>-i. For example, if α=<NUM>=<NUM>-<NUM> + <NUM>-<NUM> + <NUM>-<NUM> + <NUM>-<NUM>, then at most <NUM> iterations are expected to calculate Madj.

According to aspects of the present disclosure, the iterating process is ended when M' is just slightly larger than N'/<NUM>, that is, the iteration process ends when M'<(<NUM> + β) x N'/<NUM>.

<FIG> is a set of schematic diagrams of an exemplary process <NUM> illustrating IAA enhancement, according to aspects of the present disclosure. In the exemplary process, <NUM> information bits (i.e., K=<NUM>) are encoded with a coding rate of <NUM> (i.e., R=<NUM>') to form <NUM> encoded bits (i.e., M=<NUM>) in a polar code with mother code-size of <NUM> (i.e., N=<NUM>). In the exemplary process α=<NUM> and β=<NUM>. In the exemplary process, Madj. is initially set to zero, M' is initially set to <NUM>, and N' is initially set to <NUM>, as shown at <NUM> and similar to block <NUM> as described in <FIG>, above. It may be noted that with these initial values, M'=<NUM> is not less than N'/<NUM>=<NUM>, Madj=<NUM> is not greater than αM=<NUM>, and M'=<NUM> is not less than (<NUM>+β) x N'/<NUM> = <NUM>. In the first iteration, Madj. is set to the previous Madj + N'/<NUM> (i.e., <NUM> + <NUM>/<NUM> = <NUM>), a new M' is set equal to the previous M' - N'/<NUM> (i.e., <NUM> - <NUM>/<NUM> = <NUM>), and a new N' is set equal to the previous N'/<NUM> (i.e., <NUM>/<NUM> = <NUM>), as shown at <NUM> and similar to block <NUM> as described in <FIG>, above. It may be noted that with these values, M'=<NUM> is not less than N'/<NUM> = <NUM>, Madj=<NUM> is not greater than αM =. <NUM> x <NUM> = <NUM>, and M'=<NUM> is less than (<NUM>+β) x N'/<NUM> = <NUM>. Because M' is less than (<NUM>+β) x N'/<NUM>, the process is terminated, as shown at <NUM> and similar to blocks <NUM> and <NUM> as described in <FIG>, above. The final value of Madj=<NUM> is then used in the <NUM>-stage IAA.

<FIG> is a graph <NUM> illustrating successive cancellation (SC) decoding performance of block punctured codes by comparing signal to noise ratios (SNR) at block error rates (BLER) of <NUM> with various numbers of information bits (K) encoded in polar codes. The curve <NUM> shows the performance of SC decoding of a transmission using a theoretical optimal Gaussian averaging (GA) code using a coding rate of <NUM>, while the curve <NUM> shows the performance of SC decoding of a transmission using <NUM>-stage IAA and a polarization weighted (PW) sequence for code construction using a coding rate of <NUM>. The curve <NUM> shows the performance of SC decoding of a transmission using <NUM>-stage IAA with an adjustment to M, according to aspects of the present disclosure. The curve <NUM> shows the performance of SC decoding of a transmission using a theoretical optimal Gaussian averaging (GA) code using a coding rate of <NUM>, while the curve <NUM> shows the performance of SC decoding of a transmission using <NUM>-stage IAA and a polarization weighted (PW) sequence for code construction using a coding rate of <NUM>. The curve <NUM> shows the performance of SC decoding of a transmission using <NUM>-stage IAA with an adjustment to M, according to aspects of the present disclosure. The spikes at <NUM> and at other locations illustrate degradations of the performance of the <NUM>-stage IAA PW code versus the theoretical optimal code. Similarly, curves at <NUM>, <NUM>, and <NUM> show the performances using coding rates of <NUM>, <NUM>, and <NUM>.

As illustrated, in <FIG>, use of adjusted M with block puncturing codes and <NUM>-stage IAA results in near-GA performance, for α=<NUM> and β=<NUM>. That is, almost no spikes are observed for rates ≤ <NUM>.

<FIG> illustrates example operations <NUM> for wireless communications, according to aspects of the present disclosure. Operations <NUM> may be performed by a wireless communications device, such as base station <NUM> (shown in <FIG>), user equipment <NUM> (also shown in <FIG>), and/or wireless communications device <NUM> (shown in <FIG>).

Operations <NUM> begin at block <NUM> with the wireless communications device iteratively determining a parameter, Madj, for construction of a polar code of size N for use in encoding K information bits, based on: at least two parameters, α and β, related to how many iterations to use in determining Madj, and a number of encoded bits, M. For example, UE <NUM>, shown in <FIG>, iteratively, e.g., as shown above with reference to <FIG>, determines a parameter, Madj, for construction of a polar code of size N for use in encoding K information bits, based on: at least two parameters, α and β, related to how many iterations to use in determining Madj, and a number of encoded bits, M.

At block <NUM>, operations <NUM> continue with the wireless communications device adjusting an information bit allocation of the K information bits to an upper part and a lower part of the polar code based on Madj. Continuing the example from above, the UE <NUM> adjusts an information bit allocation of the K information bits (mentioned in block <NUM>) to an upper part and a lower part of the polar code based on Madj (i.e., the value of Madj iteratively determined in block <NUM>).

Operations <NUM> continue at block <NUM> with the wireless communications device transmitting a codeword via a wireless medium, wherein the codeword is generated using the polar code and the K information bits according to the allocation. Continuing the example from above, the UE <NUM> transmits a codeword via a wireless medium, wherein the codeword is generated using the polar code and the K information bits (mentioned in block <NUM>) according to the allocation (i.e., the adjusted information bit allocation from block <NUM>) to the upper part and the upper part.

In some cases, rather than actually transmitting a frame, a device may have an interface to output a frame for transmission. For example, a processor may output a frame, via a bus interface, to an RF front end for transmission. Similarly, rather than actually receiving a frame, a device may have an interface to obtain a frame received from another device. For example, a processor may obtain (or receive) a frame, via a bus interface, from an RF front end for transmission.

For example, means for transmitting, means for receiving, means for determining, means for performing (e.g., rate-matching), means for encoding, means for, puncturing, means for repeating, means for shortening, and/or means for generating may comprise one or more processors or antennas at the BS <NUM> or UE <NUM>, such as the transmit processor <NUM>, controller/processor <NUM>, receive processor <NUM>, or antennas <NUM> at the BS <NUM> and/or the transmit processor <NUM>, controller/processor <NUM>, receive processor <NUM>, or antennas <NUM> at the UE <NUM>.

Claim 1:
A method (<NUM>) for wireless communications, comprising:
iteratively determining (<NUM>) a parameter, Madj, for construction of a polar code of size N for use in encoding K information bits, based on:
at least two parameters, α and β, related to how many iterations to use in determining Madj, and
a number of encoded bits, M;
wherein iteratively determining Madj comprises executing an algorithm comprising:
setting M'=M;
setting N'=N;
setting Madj=<NUM>;
determining (<NUM>) if M' is less than N'/<NUM>;
when M' is less than N'/<NUM>, setting (<NUM>) a new N' equal to the previous N'/<NUM> in an iterative or recursive manner, until M' is greater than or equal to the new N'/<NUM>;
when M' is greater than or equal to N'/<NUM>:
determining (<NUM>) if Madj is greater than αM;
when Madj is greater than αM:
setting (<NUM>) a new Madj equal to the previous Madj + N'/<NUM> and
ceasing (<NUM>) execution of the algorithm;
when Madj is less than or equal to αM:
determining (<NUM>) if M' is less than (<NUM>+β) * (N'/<NUM>);
when M' is less than (<NUM>+β) * (N'/<NUM>):
ceasing (<NUM>) executing the algorithm; and
when M' is greater than or equal to (<NUM>+β) * (N'/<NUM>):
setting (<NUM>) a new Madj equal to the previous Madj+N'/<NUM>,
setting (<NUM>) a new M' equal to the previous M'-N'/<NUM>,
setting (<NUM>) a new N' equal to the previous N'/<NUM>, and
continuing the algorithm from the determining (<NUM>) if M' is less than N'/<NUM> step,
adjusting (<NUM>) an information bit allocation of the K information bits to an upper part and a lower part of the polar code based on Madj instead of M, and generating a codeword using the polar code and the K information bits according to the adjusted information bit allocation, wherein the generated codeword consists in the M encoded bits, which are obtained by block puncturing or block shortening, wherein the information bit allocation is a one-stage bit allocation; and
transmitting (<NUM>) the generated codeword via a wireless medium.