WO2018059066A1 - Encoding and decoding techniques - Google Patents

Encoding and decoding techniques Download PDF

Info

Publication number
WO2018059066A1
WO2018059066A1 PCT/CN2017/092459 CN2017092459W WO2018059066A1 WO 2018059066 A1 WO2018059066 A1 WO 2018059066A1 CN 2017092459 W CN2017092459 W CN 2017092459W WO 2018059066 A1 WO2018059066 A1 WO 2018059066A1
Authority
WO
WIPO (PCT)
Prior art keywords
bits
subset
transmission
decoding
information
Prior art date
Application number
PCT/CN2017/092459
Other languages
French (fr)
Inventor
Changlong Xu
Shrinivas KUDEKAR
Thomas Richardson
Joseph Binamira Soriaga
Original Assignee
Qualcomm Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Incorporated filed Critical Qualcomm Incorporated
Priority to AU2017333145A priority Critical patent/AU2017333145B2/en
Priority to CN201780058870.6A priority patent/CN109792335B/en
Priority to BR112019005918A priority patent/BR112019005918A2/en
Priority to US16/336,213 priority patent/US11211946B2/en
Priority to EP17854520.8A priority patent/EP3520274A4/en
Priority to TW106131514A priority patent/TWI749063B/en
Publication of WO2018059066A1 publication Critical patent/WO2018059066A1/en
Priority to US17/522,693 priority patent/US20220069841A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/095Error detection codes other than CRC and single parity bit codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1816Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of the same, encoded, message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1845Combining techniques, e.g. code combining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1819Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy

Definitions

  • Various aspects described herein relate to communication, and more particularly but not exclusively, to encoding information and decoding information.
  • a wireless communication system may use error correcting codes to facilitate reliable transmission of digital messages over noisy channels.
  • a block code is one type of error correcting code.
  • an information message or sequence is split up into blocks, and an encoder at the transmitting device mathematically adds redundancy to the information message. Exploitation of this redundancy in the encoded information message improves the reliability of the message, enabling correction for bit errors that may occur due to the noise. That is, a decoder at the receiving device can take advantage of the redundancy to reliably recover the information message even though bit errors may occur, in part, due to the addition of noise by the channel.
  • error correcting block codes include Hamming codes, Bose-Chaudhuri-Hocquenghem (BCH) codes, and turbo codes among others.
  • BCH Bose-Chaudhuri-Hocquenghem
  • turbo codes among others.
  • Many existing wireless communication networks utilize such block codes, such as 3GPP LTE networks, which utilize turbo codes, and IEEE 802.11n Wi-Fi networks.
  • a retransmission scheme such as a hybrid automatic repeat request (HARQ) scheme may be used.
  • HARQ hybrid automatic repeat request
  • coded blocks are retransmitted if the first transmission is not decoded correctly.
  • several retransmissions may be needed to achieve a desired level of communication performance.
  • the overhead associated with a HARQ scheme may be relatively high. Accordingly, there is a need for error correction techniques that can provide a high level of performance (e.g., with low overhead) .
  • the disclosure provides an apparatus configured for communication that includes a memory and a processor coupled to the memory.
  • the processor and the memory are configured to: decode a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and a second subset of bits; receive a second transmission associated with the first transmission, the second transmission including a second set of bits without cyclic redundancy check (CRC) information, and the second set of bits corresponding to the second subset of bits; decode the second set of bits; and decode the first set of bits using the decoded second set of bits.
  • CRC cyclic redundancy check
  • Another aspect of the disclosure provides a method for communication including: decoding a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and a second subset of bits; receiving a second transmission associated with the first transmission, the second transmission including a second set of bits without cyclic redundancy check (CRC) information, and the second set of bits corresponding to the second subset of bits; decoding the second set of bits; and decoding the first set of bits using the decoded second set of bits.
  • CRC cyclic redundancy check
  • the apparatus including: means for decoding a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and a second subset of bits; and means for receiving a second transmission associated with the first transmission, the second transmission including a second set of bits without cyclic redundancy check (CRC) information, and the second set of bits corresponding to the second subset of bits, wherein the means for decoding is configured to decode the second set of bits and to further decode the first set of bits using the decoded second set of bits.
  • CRC cyclic redundancy check
  • Another aspect of the disclosure provides a non-transitory computer-readable medium storing computer-executable code, including code to: decode a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and a second subset of bits; receive a second transmission associated with the first transmission, the second transmission including a second set of bits without cyclic redundancy check (CRC) information, and the second set of bits corresponding to the second subset of bits; decode the second set of bits; and decode the first set of bits using the decoded second set of bits.
  • CRC cyclic redundancy check
  • the disclosure provides an apparatus configured for communication that includes a memory and a processor coupled to the memory.
  • the processor and the memory are configured to: decode a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and to a second subset of bits that includes cyclic redundancy check (CRC) information; receive a second transmission associated with the first transmission, the second transmission including a second set of bits with the CRC information, and the second set of bits corresponding to the second subset of bits; decode the second set of bits; and decode the first set of bits using the decoded second set of bits.
  • CRC cyclic redundancy check
  • Another aspect of the disclosure provides a method for communication including: decoding a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and to a second subset of bits that includes cyclic redundancy check (CRC) information; receiving a second transmission associated with the first transmission, the second transmission including a second set of bits with the CRC information, and the second set of bits corresponding to the second subset of bits; decoding the second set of bits; and decoding the first set of bits using the decoded second set of bits.
  • CRC cyclic redundancy check
  • the apparatus including: means for decoding a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and to a second subset of bits that includes cyclic redundancy check (CRC) information; and means for receiving a second transmission associated with the first transmission, the second transmission including a second set of bits with the CRC information, and the second set of bits corresponding to the second subset of bits, wherein the means for decoding is configured to decode the second set of bits and to further decode the first set of bits using the decoded second set of bits.
  • CRC cyclic redundancy check
  • Another aspect of the disclosure provides a non-transitory computer-readable medium storing computer-executable code, including code to: decode a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and to a second subset of bits that includes cyclic redundancy check (CRC) information; receive a second transmission associated with the first transmission, the second transmission including a second set of bits with the CRC information, and the second set of bits corresponding to the second subset of bits; decode the second set of bits; and decode the first set of bits using the decoded second set of bits.
  • CRC cyclic redundancy check
  • the disclosure provides an apparatus configured for communication that includes a memory and a processor coupled to the memory.
  • the processor and the memory are configured to: encode a first set of bits to provide a first subset of bits including first cyclic redundancy check (CRC) information and a second subset of bits including second CRC information; transmit the encoded first set of bits; determining that a second transmission is needed; encode the second subset of bits to provide a second set of bits including the second CRC information; and transmit the second set of bits.
  • CRC cyclic redundancy check
  • Another aspect of the disclosure provides a method for communication including: encoding a first set of bits to provide a first subset of bits including first cyclic redundancy check (CRC) information and a second subset of bits including second CRC information; transmitting the encoded first set of bits; determining that a second transmission is needed; encoding the second subset of bits to provide a second set of bits including the second CRC information; and transmitting the second set of bits.
  • CRC cyclic redundancy check
  • the apparatus including: means for encoding a first set of bits to provide a first subset of bits including first cyclic redundancy check (CRC) information and a second subset of bits including second CRC information; means for transmitting the encoded first set of bits; and means for determining that a second transmission is needed, wherein the means for encoding is configured to encode the second subset of bits to provide a second set of bits including the second CRC information, and wherein the means for transmitting is configured to transmit the second set of bits.
  • CRC cyclic redundancy check
  • Another aspect of the disclosure provides a non-transitory computer-readable medium storing computer-executable code, including code to: encode a first set of bits to provide a first subset of bits including first cyclic redundancy check (CRC) information and a second subset of bits including second CRC information; transmit the encoded first set of bits; determining that a second transmission is needed; encode the second subset of bits to provide a second set of bits including the second CRC information; and transmit the second set of bits.
  • CRC cyclic redundancy check
  • FIG. 1 is a block diagram of an example communication system in which aspects of the disclosure may be used.
  • FIG. 2 is a block diagram of example communication devices in which aspects of the disclosure may be used.
  • FIG. 3 is a conceptual diagram illustrating an example of encoding based on Polar codes.
  • FIG. 4 is a diagram of an example hybrid automatic repeat request (HARQ) technique for Polar codes.
  • HARQ hybrid automatic repeat request
  • FIG. 5 is a diagram of an example structure of a CRC-aided SCL decoder.
  • FIG. 6 is a diagram of an example of list decoding using single CRC for Polar codes with HARQ in accordance with some aspects of the disclosure.
  • FIG. 7 is a diagram of an example of list decoding using single CRC for systematic Polar codes with HARQ in accordance with some aspects of the disclosure.
  • FIG. 8 is a diagram of an example of list decoding using split CRC for Polar codes with HARQ in accordance with some aspects of the disclosure.
  • FIG. 9 is a diagram of an example of Polar encoding using split CRC with HARQ in accordance with some aspects of the disclosure.
  • FIG. 10 is a block diagram illustrating an example hardware implementation for an apparatus (e.g., an electronic device) that can support decoding in accordance with some aspects of the disclosure.
  • an apparatus e.g., an electronic device
  • FIG. 11 is a flowchart illustrating an example of a decoding process in accordance with some aspects of the disclosure.
  • FIG. 12 is a flowchart illustrating another example of a decoding process in accordance with some aspects of the disclosure.
  • FIG. 13 is a flowchart illustrating an example of decoding operations in accordance with some aspects of the disclosure.
  • FIG. 14 is a flowchart illustrating another example of decoding operations in accordance with some aspects of the disclosure.
  • FIG. 15 is a block diagram illustrating an example hardware implementation for an apparatus (e.g., an electronic device) that can support encoding in accordance with some aspects of the disclosure.
  • an apparatus e.g., an electronic device
  • FIG. 16 is a flowchart illustrating an example of an encoding process in accordance with some aspects of the disclosure.
  • FIG. 17 is a block diagram of example encoder and decoder devices in accordance with some aspects of the disclosure.
  • the disclosure relates to decoding for Polar codes with HARQ. For example, if a transmitter’s first transmission fails, the transmitter retransmits information bits associated with a lower quality channel. The receiver decodes this information using an SC list (SCL) decoder. For example, the receiver may use the retransmitted decoded bits to decode the signal received in the first transmission by substituting the retransmitted bits for the original corresponding (low quality channel) bits. As another example, soft-combining of the decoded retransmitted bits and the original corresponding (low quality channel) bits may be used to decode the signal received in the first transmission.
  • SCL SC list
  • cyclic redundancy check (CRC) bits may be used, not used, or split (e.g., equally) between the first transmission and the second transmission.
  • CRC cyclic redundancy check
  • the disclosed techniques for list decoding of Polar codes with HARQ may improve communication performance and reduce the CRC overhead.
  • the 3rd Generation Partnership Project (3GPP) is a standards body that defines several wireless communication standards for networks involving the evolved packet system (EPS) , frequently referred to as long-term evolution (LTE) networks.
  • EPS evolved packet system
  • LTE long-term evolution
  • Evolved versions of the LTE network such as a fifth-generation (5G) network, may provide for many different types of services or applications, including but not limited to web browsing, video streaming, VoIP, mission critical applications, multi-hop networks, remote operations with real-time feedback (e.g., tele-surgery) , etc.
  • 5G fifth-generation
  • teachings herein can be implemented according to various network technologies including, without limitation, 5G technology, fourth generation (4G) technology, third generation (3G) technology, and other network architectures. Also, the techniques described herein may be used for a downlink, an uplink, a peer-to-peer link, or some other type of link.
  • FIG. 1 illustrates an example of a wireless communication system 100 where a user equipment (UE) can communicate with other devices via wireless communication signaling.
  • a first UE 102 and a second UE 104 may communicate with a transmit receive point (TRP) 106 using wireless communication resources managed by the TRP 106 and/or other network components (e.g., a core network 108, an internet service provider (ISP) 110, peer devices, and so on) .
  • TRP transmit receive point
  • ISP internet service provider
  • one or more of the components of the system 100 may communicate with each other directedly via a device-to-device (D2D) link 112 or some other similar type of direct link.
  • D2D device-to-device
  • Communication of information between two or more of the components of the system 100 may involve encoding the information.
  • the TRP 106 may encode data or control information that the TRP 106 sends to the UE 102 or the UE 104.
  • the UE 102 may encode data or control information that the UE 102 sends to the TRP 106 or the UE 104.
  • the encoding may involve block coding such as Polar coding.
  • one or more of the UE 102, the UE 104, the TRP 106, or some other component of the system 100 may include an encoder and/or decoder 114 that may, for example, optionally include CRC from a first transmission in a second transmission and/or decode a first transmission based on a second transmission.
  • UEs may be cellular devices, Internet of Things (IoT) devices, cellular IoT (CIoT) devices, LTE wireless cellular devices, machine-type communication (MTC) cellular devices, smart alarms, remote sensors, smart phones, mobile phones, smart meters, personal digital assistants (PDAs) , personal computers, mesh nodes, and tablet computers.
  • IoT Internet of Things
  • CCIoT cellular IoT
  • MTC machine-type communication
  • smart alarms remote sensors
  • smart phones smart phones
  • mobile phones smart meters
  • PDAs personal digital assistants
  • mesh nodes and tablet computers.
  • a TRP may refer to a physical entity that incorporates radio head functionality for a particular physical cell.
  • the TRP may include 5G new radio (NR) functionality with an air interface based on orthogonal frequency division multiplexing (OFDM) .
  • NR may support, for example and without limitation, enhanced mobile broadband (eMBB) , mission-critical services, and wide-scale deployment of IoT devices.
  • eMBB enhanced mobile broadband
  • TRP may be similar in one or more aspects to (or incorporated into) the functionality of a CIoT base station (C-BS) , a NodeB, an evolved NodeB (eNodeB) , radio access network (RAN) access node, a radio network controller (RNC) , a base station (BS) , a radio base station (RBS) , a base station controller (BSC) , a base transceiver station (BTS) , a transceiver function (TF) , a radio transceiver, a radio router, a basic service set (BSS) , an extended service set (ESS) , a macro cell, a macro node, a Home eNB (HeNB) , a femto cell, a femto node, a pico node, or some other suitable entity.
  • a TRP may be referred to
  • D2D links may include, without limitation, machine-to-machine (M2M) links, MTC links, vehicle-to-vehicle (V2V) links, and vehicle-to-anything (V2X) links.
  • M2M machine-to-machine
  • V2V vehicle-to-vehicle
  • V2X vehicle-to-anything
  • Network-to-device links may include, without limitation, uplinks (or reverse links) , downlinks (or forward links) , and vehicle-to-network (V2N) links.
  • FIG. 2 is a schematic illustration of a wireless communication system 200 that includes a first wireless communication device 202 and a second wireless communication device 204 that may use the teachings herein.
  • the first wireless communication device 202 or the second wireless communication device 204 may correspond to the UE 102, the UE 104, the TRP 106, or some other component of FIG. 1.
  • the first wireless communication device 202 transmits a message over a communication channel 206 (e.g., a wireless channel) to the second wireless communication device 204.
  • a communication channel 206 e.g., a wireless channel
  • One issue in such a scheme that may be addressed to reliably communicate the message is to take into account noise 208 introduced in the communication channel 206.
  • Block codes or error correcting codes are frequently used to provide reliable transmission of messages over noisy channels.
  • an information message or sequence from an information source 210 at the first (transmitting) wireless communication device 202 is split up into blocks, each block having a length of K bits.
  • An encoder 212 mathematically adds redundancy to the information message, resulting in codewords having a length of N, where N > K.
  • Exploitation of this redundancy in the encoded information message is a key to reliably receiving the transmitted message at the second (receiving) wireless communication device 204, whereby the redundancy enables correction for bit errors that may occur due to the noise 208 imparted on the transmitted message. That is, a decoder 214 at the second (receiving) wireless communication device 204 can take advantage of the redundancy to reliably recover the information message provided to an information sink 216 even though bit errors may occur, in part, due to the addition of the noise 208 in the channel 206.
  • error correcting block codes are known to those of ordinary skill in the art, including Hamming codes, Bose-Chaudhuri-Hocquenghem (BCH) codes, and turbo codes, among others.
  • BCH Bose-Chaudhuri-Hocquenghem
  • turbo codes among others.
  • Some existing wireless communication networks utilize such block codes.
  • 3GPP LTE networks may use turbo codes.
  • Polar codes a new category of block codes, called Polar codes, presents a potential opportunity for reliable and efficient information transfer with improved performance relative to other codes.
  • the encoder 212 may include a module for encoding a message for a first transmission 218, where the message may include cyclic redundancy check (CRC) information.
  • CRC cyclic redundancy check
  • a transmitter (not shown) of the first wireless communication device 202 sends the first transmission to the second wireless communication device 204.
  • a receiver (not shown) of the second wireless communication device 204 receives the first transmission. If the decoder 214 (e.g., a module for decoding the first transmission 222) is not able to correctly decode the first transmission, the second wireless communication device 204 may send NAK feedback (not shown) to the first wireless communication device 202.
  • the decoder 214 e.g., a module for decoding the first transmission 222
  • NAK feedback not shown
  • the encoder 212 may encode a message for a second transmission (which may be referred to as a retransmission) , where the message optionally includes at least a portion of the CRC information for the first transmission.
  • the encoder 212 includes a module for encoding a message for a second transmission 220.
  • the first wireless communication device 202 then sends the second transmission to the second wireless communication device 204.
  • the decoder 214 also includes a module for decoding the second transmission 224.
  • the decoding e.g., list decoding
  • the decoding for the first transmission may be based on the result of the decoding (e.g., list decoding) for the second transmission.
  • the decoding for the first transmission may use one or more candidate vectors generated by the decoding for the second transmission.
  • FIGs. 3 and 4 several aspects of Polar codes and HARQ schemes will be described in more detail. It should be appreciated that these examples are presented for purposes of explanation and that the teachings herein may be applicable to other types of coding and retransmission schemes.
  • Polar codes are linear block error correcting codes where channel polarization is generated with a recursive algorithm that defines polar codes.
  • Polar codes are the first explicit codes that achieve the channel capacity of symmetric binary-input discrete memoryless channels. That is, polar codes achieve the channel capacity (the Shannon limit) or the theoretical upper bound on the amount of error-free information that can be transmitted on a discrete memoryless channel of a given bandwidth in the presence of noise. This capacity can be achieved with a simple successive cancellation (SC) decoder.
  • SC successive cancellation
  • a typical encoder structure 300 of Polar codes is depicted in FIG. 3.
  • the Polar code sub-channels are allocated into two subsets, best sub-channels and worst sub-channels, based on the corresponding error probability associated with each sub-channel.
  • the information bits 302 are then put on the best sub-channels while frozen bits 304 (with zero values) are put on the worst sub-channels.
  • a bit-reversal permutation 306 is used to provide the output bits of the decoder in a desired sequence.
  • the encoding is performed after multiplying by a Hadamard matrix 308.
  • the generator matrices of Polar codes are made up of the rows of a Hadamard matrix.
  • the rows corresponding to low error probabilities of an SC decoder are selected for information bits while the remaining rows are for frozen bits.
  • the Polar codes are one type of block codes (N, K) , where N is the codeword length and K is the number of information bits.
  • N is the codeword length
  • K is the number of information bits.
  • the codeword length N is a power-of-two (e.g., 256, 512, 1024, etc. ) because the original construction of a polarizing matrix is based on the Kronecker product of
  • HARQ incremental redundancy (HARQ-IR) schemes are widely used in wireless communication systems to improve transmission efficiency.
  • HARQ-IR HARQ incremental redundancy
  • the coded blocks will be retransmitted if the first transmission is not decoded correctly.
  • the maximum number of transmissions in a typical application is 4. However, some applications may use a different retransmission limit.
  • FIG. 4 An example of a HARQ-IR scheme 400 for Polar codes is depicted in FIG. 4. For simplification, only a first transmission and a second transmission (aretransmission) are shown. In the ⁇ domain 402 of the first transmission, the information bits are allocated into two sub-blocks denoted as A and B. The F block is for frozen bits with a value of zero. After bit-reversal permutation and encoding, a coded block in the X domain is obtained. If the first transmission (1TX) 404 is decoded correctly at the receiver, the transmission ends.
  • the transmitter will generate a new codeword in the ⁇ domain 406 with B information bits. After bit-reversal permutation and encoding, the transmitter invokes a second transmission (2TX) 408 to send a corresponding coded block in the X2 domain. If the receiver does not decode the B information for the second transmission (2TX) 408 correctly, a third transmission may be invoked, and so on.
  • the B information in the second transmission (2TX) 408 is decoded correctly by the receiver, the B information in first transmission will be set as frozen bits and the A information in first transmission will be decoded accordingly. In this case, this is equivalent to obtaining the low rate for the A information in the first transmission.
  • the algorithm of FIG. 4 may be equivalent to existing (e.g., non-Polar coding) HARQ-IR schemes in terms of coding gain.
  • the equivalent coding rate after two transmissions is half of the first transmission with a block size of the first transmission.
  • FIG. 5 depicts an example structure 500 of a CRC-aided SCL (CA-SCL) decoder.
  • CA-SCL CRC-aided SCL
  • FIG. 5 depicts an example structure 500 of a CRC-aided SCL (CA-SCL) decoder.
  • CA-SCL CRC-aided SCL
  • FIG. 5 depicts an example structure 500 of a CRC-aided SCL (CA-SCL) decoder.
  • a list size of 4 is assumed and all bits are unfrozen. Other configurations (e.g., different list sizes) could be used in other implementations.
  • the path structure 502 of FIG. 5 there are at most 4 nodes with paths that continue downward at each level.
  • the first unfrozen bit can be either 0 or 1 and two paths are obtained.
  • the second unfrozen bit can be either 0 or 1 and two paths are generated for each.
  • the 8 paths are pruned into the 4 most promising paths since the list size is set to 4.
  • the 4 active paths will continue to double to 8 paths and the 8 paths will be pruned to the 4 best paths again.
  • the 4 candidate paths 506 will be sorted 508 and the best path will be selected 510 as a decision for the SCL algorithm.
  • CRC pruning 512 can be used whereby CRC is used to check the candidate paths, and the path with CRC passing will be selected 514. In this algorithm of CA-SCL, CRC may be checked from the best candidate paths to the worse candidate paths.
  • the disclosure relates in some aspects to a decoding algorithm that uses list decoding for Polar codes with HARQ.
  • Three techniques are described. The first two techniques are for single CRC while the third technique is for split CRC.
  • the following describes a scenario with the maximum number of transmissions equal to 2. It should be appreciated, however, that the techniques taught herein are applicable to different numbers of transmissions (e.g., 3, 4, or more) .
  • FIG. 6 An example decoder 600 using single CRC for Polar codes with HARQ is depicted in FIG. 6.
  • the bits of a first received transmission (1TX) include a first subset of bits A 602, a second subset of bits B 604, frozen bits F 606, and CRC bits 608.
  • the bits of a received second transmission (2TX) include the second subset of bits B 604’a nd frozen bits F 610.
  • the CRC bits 608 are included in the first transmission (1TX) but not in the second transmission (2TX) to reduce the CRC overhead.
  • the decoder 600 uses a CRC-aided SCL decoding algorithm 612. If the result is not correct, a second transmission (e.g., a retransmission) will be initiated (e.g., via a HARQ process) . In this case, a transmitter (not shown in FIG. 6) will encode and transmit the information bits of block B for the second transmission (received at the decoder 600 as block B 604’ ) .
  • the decoder 600 uses SCL decoding 614 to decode the received signal for the second transmission.
  • the output L candidate vectors 616 for the bits of block B 604’ are then provided to the decoding algorithm 612 for final decoding of the signal received in the first transmission.
  • the bits of block B 604 for the first transmission may be initialized with 618 (e.g., replaced with) the list of L candidate vectors 616 from the second transmission.
  • CRC may be applied for pruning 620 the candidate paths obtained in the SCL decoder. Via this process, the bits of block A may be recovered such that the signal received in the first transmission is thereby decoded.
  • FIG. 7 An example decoder 700 that uses single CRC for systematic Polar codes with HARQ is depicted in FIG. 7.
  • the bits of a first received transmission (1TX) include a first subset of bits A 702, a second subset of bits B 704, frozen bits F 706, and CRC bits 708.
  • the bits of a received second transmission (2TX) include the second subset of bits B 704’a nd frozen bits F 710.
  • the CRC bits 708 are included in the first transmission (1TX) but not in the second transmission (2TX) to reduce the CRC overhead.
  • the decoder 700 uses a CRC-aided SCL decoding algorithm 712. If the result is not correct, a second transmission (e.g., a retransmission) will be initiated (e.g., via a HARQ process) . In this case, a transmitter (not shown in FIG. 7) will encode and transmit the information bits of block B for the second transmission (received at the decoder 700 as block B 704’ ) .
  • the decoder 700 can use soft-combining 722 of the log-likelihood ratio (LLR) of the bits in block B of both the first transmission (block B 704) and the second transmission (block B 704’ ) .
  • the decoder 700 uses SCL decoding 714 to decode the combined received signal for the second transmission (after the soft-combining) .
  • the performance of the SCL decoding 714 may thus be improved by the soft-combining.
  • the output L candidate vectors 716 for the bits in B are then provided to the decoding algorithm 712 for final decoding of the signal received in the first transmission. For example, each bit in B in the first transmission may be initialized 718 with the L candidate list from the second transmission. For each candidate vector, CRC will be applied for pruning 720 the candidate paths obtained in the SCL decoder. Via this process, the bits of block A may be recovered such that the signal received in the first transmission is thereby decoded.
  • LLR log-likelihood ratio
  • FIG. 8 An example decoder 800 that uses split CRC for Polar codes with HARQ is depicted in FIG. 8.
  • CRC bits are split (e.g., equally) between a first subset of bits A 802 and a second subset of bits B 804.
  • the bits of a first received transmission (1TX) include the first subset of bits A 802, the second subset of bits B 804, frozen bits F 806, CRC1 808A of the first subset of bits A 802, and CRC2 808B of the second subset of bits B 804.
  • the decoder 800 applies a CRC-aided SCL decoding algorithm 812 that uses CRC1 808A and CRC2 808B.
  • the transmitter (not shown in FIG. 8) will encode and transmit the information bits of block B (received at the decoder 800 as block B 804’ ) . Because the bits of CRC2 are included in the second transmission in this case (received at the decoder 800 as CRC2 808B’ ) , CRC2 bits can be used to prune 816 the candidate paths from the SCL decoding algorithm 814 for the second transmission. If no candidate path passes the CRC2 check, the best path will be selected as the hard decision 818 for block B. This path will then be provided to the decoding algorithm 812 for final decoding of the signal received in first transmission.
  • the bits in B in the first transmission will be taken as frozen bits 820 when the received signal in first transmission is decoded.
  • the CRC1 will be applied for pruning the candidate paths 822 obtained in SCL decoder for the first transmission. Via this process, the bits of block A may be recovered such that the signal received in the first transmission is thereby decoded.
  • FIG. 9 depicts an example encoder 900 that uses HARQ with Polar Codes in accordance with the teachings herein.
  • the encoder 900 may be used to provide the encoded information used by the decoder 800 of FIG. 8.
  • the information bits are denoted as D and the frozen bits with a value of zero are denoted as F.
  • the block D in FIG. 9 may generally correspond to the A and B blocks of FIG. 4.
  • Systematic Polar encoding 904 of these bits creates a so-called mother code 906 that includes a block denoted as D (encoded data) and a block denoted as P 908 (encoded parity check bits) .
  • the mother code 906 is a systematic Polar code in this example.
  • Coding and CRC 908 are then applied to provide a set of bits for a first transmission 910. Based on the selected coding rate, some of the bits of the mother code 906 are punctured. The resulting first transmission 910 thus corresponds to the first transmission (1TX) described in FIG. 8.
  • a second transmission (e.g., a retransmission) is invoked. Coding and CRC 916 are then applied to the bits of block B from the first transmission 914 to provide a set of encoded bits for the second transmission 918 (e.g., a retransmission) .
  • FIG. 10 is an illustration of an apparatus 1000 that may provide decoding according to one or more aspects of the disclosure.
  • the apparatus 1000 could embody or be implemented within a UE, a TRP, a gNB, a base station, or some other type of device that uses decoding.
  • the apparatus 1000 could embody or be implemented within an access terminal, an access point, or some other type of device.
  • the apparatus 1000 could embody or be implemented within a mobile phone, a smart phone, a tablet, a portable computer, a server, a network entity, a personal computer, a sensor, an alarm, a vehicle, a machine, an entertainment device, a medical device, or any other electronic device having circuitry.
  • the apparatus 1000 includes a communication interface 1002 (e.g., at least one transceiver) , a storage medium 1004, a user interface 1006, a memory device 1008, and a processing circuit 1010 (e.g., at least one processor) . These components can be coupled to and/or placed in electrical communication with one another via a signaling bus or other suitable component, represented generally by the connection lines in FIG. 10.
  • the signaling bus may include any number of interconnecting buses and bridges depending on the specific application of the processing circuit 1010 and the overall design constraints.
  • the signaling bus links together various circuits such that each of the communication interface 1002, the storage medium 1004, the user interface 1006, and the memory device 1008 are coupled to and/or in electrical communication with the processing circuit 1010.
  • the signaling bus may also link various other circuits (not shown) such as timing sources, peripherals, voltage regulators, and power management circuits, which are well known in the art, and therefore, will not be described any further.
  • the communication interface 1002 may be adapted to facilitate wireless communication of the apparatus 1000.
  • the communication interface 1002 may include circuitry and/or programming adapted to facilitate the communication of information bi-directionally with respect to one or more communication devices in a network.
  • the communication interface 1002 may be coupled to one or more antennas 1012 for wireless communication within a wireless communication system.
  • the communication interface 1002 may be configured for wire-based communication.
  • the communication interface 1002 could be a bus interface, a send/receive interface, or some other type of signal interface including drivers, buffers, or other circuitry for outputting and/or obtaining signals (e.g., outputting signal from and/or receiving signals into an integrated circuit) .
  • the communication interface 1002 can be configured with one or more standalone receivers and/or transmitters, as well as one or more transceivers.
  • the communication interface 1002 includes a transmitter 1014 and a receiver 1016.
  • the memory device 1008 may represent one or more memory devices. As indicated, the memory device 1008 may maintain coding-related information 1018 along with other information used by the apparatus 1000. In some implementations, the memory device 1008 and the storage medium 1004 are implemented as a common memory component. The memory device 1008 may also be used for storing data that is manipulated by the processing circuit 1010 or some other component of the apparatus 1000.
  • the storage medium 1004 may represent one or more computer-readable, machine-readable, and/or processor-readable devices for storing programming, such as processor executable code or instructions (e.g., software, firmware) , electronic data, databases, or other digital information.
  • the storage medium 1004 may also be used for storing data that is manipulated by the processing circuit 1010 when executing programming.
  • the storage medium 1004 may be any available media that can be accessed by a general purpose or special purpose processor, including portable or fixed storage devices, optical storage devices, and various other mediums capable of storing, containing or carrying programming.
  • the storage medium 1004 may include a magnetic storage device (e.g., hard disk, floppy disk, magnetic strip) , an optical disk (e.g., a compact disc (CD) or a digital versatile disc (DVD) ) , a smart card, a flash memory device (e.g., a card, a stick, or a key drive) , a random access memory (RAM) , a read only memory (ROM) , a programmable ROM (PROM) , an erasable PROM (EPROM) , an electrically erasable PROM (EEPROM) , a register, a removable disk, and any other suitable medium for storing software and/or instructions that may be accessed and read by a computer.
  • a magnetic storage device e.g., hard disk, floppy disk, magnetic strip
  • an optical disk e.g., a compact disc (CD) or a digital versatile disc (DVD)
  • a smart card e.g., a compact
  • the storage medium 1004 may be embodied in an article of manufacture (e.g., a computer program product) .
  • a computer program product may include a computer-readable medium in packaging materials.
  • the storage medium 1004 may be a non-transitory (e.g., tangible) storage medium.
  • the storage medium 1004 may be coupled to the processing circuit 1010 such that the processing circuit 1010 can read information from, and write information to, the storage medium 1004. That is, the storage medium 1004 can be coupled to the processing circuit 1010 so that the storage medium 1004 is at least accessible by the processing circuit 1010, including examples where at least one storage medium is integral to the processing circuit 1010 and/or examples where at least one storage medium is separate from the processing circuit 1010 (e.g., resident in the apparatus 1000, external to the apparatus 1000, distributed across multiple entities, etc. ) .
  • the storage medium 1004 may include operations configured for regulating operations at one or more hardware blocks of the processing circuit 1010, as well as to utilize the communication interface 1002 for wireless communication utilizing their respective communication protocols.
  • the storage medium 1004 may be a non-transitory computer-readable medium storing computer-executable code, including code to perform operations as described herein.
  • the processing circuit 1010 is generally adapted for processing, including the execution of such programming stored on the storage medium 1004.
  • code or “programming” shall be construed broadly to include without limitation instructions, instruction sets, data, code, code segments, program code, programs, programming, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
  • the processing circuit 1010 is arranged to obtain, process and/or send data, control data access and storage, issue commands, and control other desired operations.
  • the processing circuit 1010 may include circuitry configured to implement desired programming provided by appropriate media in at least one example.
  • the processing circuit 1010 may be implemented as one or more processors, one or more controllers, and/or other structure configured to execute executable programming.
  • Examples of the processing circuit 1010 may include a general purpose processor, a digital signal processor (DSP) , an application specific integrated circuit (ASIC) , a field programmable gate array (FPGA) or other programmable logic component, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • a general purpose processor may include a microprocessor, as well as any conventional processor, controller, microcontroller, or state machine.
  • the processing circuit 1010 may also be implemented as a combination of computing components, such as a combination of a DSP and a microprocessor, a number of microprocessors, one or more microprocessors in conjunction with a DSP core, an ASIC and a microprocessor, or any other number of varying configurations. These examples of the processing circuit 1010 are for illustration and other suitable configurations within the scope of the disclosure are also contemplated.
  • the processing circuit 1010 may be adapted to perform any or all of the features, processes, functions, operations and/or routines for any or all of the apparatuses described herein.
  • the processing circuit 1010 may be configured to perform any of the steps, functions, and/or processes described with respect to FIGs. 1 -9 and 11 -14.
  • the term “adapted” in relation to the processing circuit 1010 may refer to the processing circuit 1010 being one or more of configured, used, implemented, and/or programmed to perform a particular process, function, operation and/or routine according to various features described herein.
  • the processing circuit 1010 may be a specialized processor, such as an application specific integrated circuit (ASIC) that serves as a means for (e.g., structure for) carrying out any one of the operations described in conjunction with 1 -9 and 11 -14.
  • ASIC application specific integrated circuit
  • the processing circuit 1010 may serve as one example of a means for transmitting and/or a means for receiving.
  • the processing circuit 1010 may provide and/or incorporate the functionality of the second wireless communication device 204 (e.g., the decoder 214) of FIG. 2 or the decoder 1704 of FIG. 17.
  • the processing circuit 1010 may include one or more of a circuit/module for decoding 1020, a circuit/module for receiving 1022, a circuit/module for communicating 1024, a circuit/module for soft-combining 1026, or a circuit/module for pruning 1028.
  • the circuit/module for decoding 1020, the circuit/module for receiving 1022, the circuit/module for communicating 1024, the circuit/module for soft-combining 1026, or the circuit/module for pruning 1028 may provide and/or incorporate, at least in part, the functionality described above for the second wireless communication device 204 (e.g., the decoder 214) of FIG. 2 or the decoder 1704 of FIG. 17.
  • programming stored by the storage medium 1004 when executed by the processing circuit 1010, causes the processing circuit 1010 to perform one or more of the various functions and/or process operations described herein.
  • the programming may cause the processing circuit 1010 to perform the various functions, steps, and/or processes described herein with respect to FIGs. 1 -9 and 11 -14.
  • the storage medium 1004 may include one or more of code for decoding 1030, code for receiving 1032, code for communicating 1034, code for soft-combining 1036, or code for pruning 1038.
  • the code for decoding 1030, the code for receiving 1032, the code for communicating 1034, the code for soft-combining 1036, or the code for pruning 1038 may be executed or otherwise used to provide the functionality described herein for the circuit/module for decoding 1020, the circuit/module for receiving 1022, the circuit/module for communicating 1024, the circuit/module for soft-combining 1026, or the circuit/module for pruning 1028.
  • the circuit/module for decoding 1020 may include circuitry and/or programming (e.g., code for decoding 1030 stored on the storage medium 1004) adapted to perform several functions relating to, for example, decoding information.
  • the circuit/module for decoding 1020 e.g., a means for decoding
  • the circuit/module for decoding 1020 may execute a decoding algorithm. For example, the circuit/module for decoding 1020 may perform a list decoding algorithm. In some aspects, the circuit/module for decoding 1020 may perform the encoding operations described herein conjunction with FIGs. 1 -9. The circuit/module for decoding 1020 may then output the resulting decoded information (e.g., to the circuit/module for pruning 1028, the memory device 1008, the communication interface 1002, or some other component) or use the results internally.
  • the circuit/module for decoding 1020 may execute a decoding algorithm. For example, the circuit/module for decoding 1020 may perform a list decoding algorithm. In some aspects, the circuit/module for decoding 1020 may perform the encoding operations described herein conjunction with FIGs. 1 -9. The circuit/module for decoding 1020 may then output the resulting decoded information (e.g., to the circuit/module for pruning 1028, the memory device 1008, the communication interface 1002, or
  • the circuit/module for receiving 1022 may include circuitry and/or programming (e.g., code for receiving 1032 stored on the storage medium 1004) adapted to perform several functions relating to, for example, receiving information.
  • the circuit/module for receiving 1022 may obtain information (e.g., from the communication interface 1002, the memory device, or some other component of the apparatus 1000) and process (e.g., decode) the information.
  • the circuit/module for receiving 1022 may receive information directly from a device that transmitted the information. In either case, the circuit/module for receiving 1022 may output the obtained information to another component of the apparatus 1000 (e.g., the circuit/module for decoding 1020, the memory device 1008, or some other component) .
  • the circuit/module for receiving 1022 may take various forms.
  • the circuit/module for receiving 1022 may correspond to,for example, an interface (e.g., a bus interface, a /receive interface, or some other type of signal interface) , a communication device, a transceiver, a receiver, or some other similar component as discussed herein.
  • the communication interface 1002 includes the circuit/module for receiving 1022 and/or the code for receiving 1032.
  • the circuit/module for receiving 1022 and/or the code for receiving 1032 is configured to control the communication interface 1002 (e.g., a transceiver or a receiver) to receive information.
  • the circuit/module for communicating 1024 may include circuitry and/or programming (e.g., code for communicating 1034 stored on the storage medium 1004) adapted to perform several functions relating to, for example, communicating information.
  • the communication involves receiving the information.
  • the communication involves sending (e.g., transmitting) the information.
  • the circuit/module for communicating 1024 receives information (e.g., from the communication interface 1002, the receiver 1016, the memory device 1008, some other component of the apparatus 1000, or some other device) , processes (e.g., decodes) the information, and outputs the information to another component of the apparatus 1000 (e.g., the circuit/module for decoding 1020, the memory device 1008, or some other component) .
  • the communicating involves the circuit/module for communicating 1024 receiving information directly from a device that transmitted the information (e.g., via radio frequency signaling or some other type of signaling suitable for the applicable communication medium) .
  • the circuit/module for communicating 1024 obtains information (e.g., from the memory device 1008 or some other component of the apparatus 1000) , processes (e.g., encodes for transmission) the information, and outputs the processed information.
  • the communicating involves sending the information to another component of the apparatus 1000 (e.g., the transmitter 1014, the communication interface 1002, or some other component) that will transmit the information to another device.
  • the communicating involves the circuit/module for communicating 1024 transmitting the information directly to another device (e.g., the ultimate destination) via radio frequency signaling or some other type of signaling suitable for the applicable communication medium.
  • the circuit/module for communicating 1024 may take various forms.
  • the circuit/module for communicating 1024 may correspond to, for example, an interface (e.g., a bus interface, a send/receive interface, or some other type of signal interface) , a communication device, a transceiver, a transmitter, a receiver, or some other similar component as discussed herein.
  • the communication interface 1002 includes the circuit/module for communicating 1024 and/or the code for communicating 1034.
  • the circuit/module for communicating 1024 and/or the code for communicating 1034 is configured to control the communication interface 1002 (e.g., a transceiver, a receiver, or a transmitter) to communicate the information.
  • the circuit/module for soft-combining 1026 may include circuitry and/or programming (e.g., code for soft-combining 1036 stored on the storage medium 1004) adapted to perform several functions relating to, for example, soft-combining information.
  • the circuit/module for soft-combining 1026 e.g., a means for soft-combining
  • the circuit/module for soft-combining 1026 may execute a soft-combining algorithm. For example, the circuit/module for soft-combining 1026 may perform the soft-combining operations described herein conjunction with FIGs. 1 -9. The circuit/module for soft-combining 1026 may then output the resulting information (e.g., to the circuit/module for decoding 1020, the memory device 1008, the communication interface 1002, or some other component) .
  • the circuit/module for pruning 1028 may include circuitry and/or programming (e.g., code for pruning 1038 stored on the storage medium 1004) adapted to perform several functions relating to, for example, soft-combining information.
  • the circuit/module for pruning 1028 e.g., a means for pruning
  • the circuit/module for pruning 1028 may execute a pruning algorithm. For example, the circuit/module for pruning 1028 may perform the pruning operations described herein conjunction with FIGs. 1 -9. The circuit/module for pruning 1028 may then output the resulting information (e.g., to the circuit/module for decoding 1020, the memory device 1008, the communication interface 1002, or some other component) .
  • FIG. 11 illustrates a process 1100 for communication in accordance with some aspects of the disclosure.
  • the process 1100 may take place within a processing circuit (e.g., the processing circuit 1010 of FIG. 10) , which may be located in an access terminal, a base station, or some other suitable apparatus (e.g., that includes a decoder) .
  • a processing circuit e.g., the processing circuit 1010 of FIG. 10
  • the process 1100 may be implemented by any suitable apparatus capable of supporting signaling-related operations.
  • an apparatus decodes a first set of bits from a first transmission.
  • the first set of bits may correspond to a first subset of bits and a second subset of bits.
  • the bits may be Polar coded bits.
  • the bits may be systematic Polar coded bits.
  • the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1102.
  • the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1102.
  • the apparatus receives a second transmission associated with the first transmission, the second transmission including a second set of bits without cyclic redundancy check (CRC) information, and the second set of bits corresponding to the second subset of bits.
  • CRC cyclic redundancy check
  • the circuit/module for receiving 1022 of FIG. 10 performs the operations of block 1104.
  • the code for receiving 1032 of FIG. 10 is executed to perform the operations of block 1104.
  • the apparatus decodes the second set of bits.
  • the bits may take different forms in different implementations.
  • the first set of bits and the second set of bits may be systematic coded bits.
  • the first set of bits and the second set of bits may be Polar coded bits.
  • the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1106.
  • the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1106.
  • the apparatus decodes the first set of bits using the decoded second set of bits.
  • the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1108.
  • the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1108.
  • the decoding may take different forms in different implementations.
  • the decoding may include list decoding.
  • the decoding of the first set of bits may involve decoding the second subset of bits; and the decoding of the first set of bits using the decoded second set of bits may include using candidate vectors from the decoding of the second set of bits instead of candidate vectors from the decoding of the second subset of bits.
  • the decoding of the first set of bits may involve generating a decoded second subset of bits; the decoding of the second set of bits may involve generating a decoded second set of bits; and the decoding of the first set of bits using the decoded second set of bits may include: soft-combining the decoded second subset of bits and the decoded second set of bits to generate soft-combined bits, and recovering the first set of bits based on the soft-combined bits.
  • the soft-combining may include generating candidate vectors; and the decoding of the first set of bits using the decoded second set of bits may be based on the candidate vectors.
  • a process may include any combination of the aspects described above.
  • FIG. 12 illustrates a process 1200 for communication in accordance with some aspects of the disclosure.
  • the process 1200 may take place within a processing circuit (e.g., the processing circuit 1010 of FIG. 10) , which may be located in an access terminal, a base station, or some other suitable apparatus (e.g., that includes a decoder) .
  • a processing circuit e.g., the processing circuit 1010 of FIG. 10
  • the process 1200 may be implemented by any suitable apparatus capable of supporting signaling-related operations.
  • an apparatus decodes a first set of bits from a first transmission.
  • the first set of bits may correspond to a first subset of bits and to a second subset of bits that includes cyclic redundancy check (CRC) information.
  • the bits may be Polar coded bits.
  • the bits may be systematic Polar coded bits.
  • the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1202.
  • the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1202.
  • the apparatus receives a second transmission associated with the first transmission, the second transmission including a second set of bits with the cyclic redundancy check (CRC) information, and the second set of bits corresponding to the second subset of bits.
  • CRC cyclic redundancy check
  • the first subset of bits may include other CRC information; and the CRC information of the second subset of bits may be independent of the other CRC information of the first subset of bits.
  • the circuit/module for receiving 1022 of FIG. 10 performs the operations of block 1204. In some implementations, the code for receiving 1032 of FIG. 10 is executed to perform the operations of block 1204.
  • the apparatus decodes the second set of bits.
  • the bits may take different forms in different implementations.
  • the first set of bits and the second set of bits may be systematic coded bits.
  • the first set of bits and the second set of bits may be Polar coded bits.
  • the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1206.
  • the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1206.
  • the apparatus decodes the first set of bits using the decoded second set of bits.
  • the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1208.
  • the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1208.
  • the decoding may take different forms in different implementations.
  • the decoding may include list decoding.
  • the decoding of the first set of bits using the decoded second set of bits may include: pruning candidate vectors from the decoding of the second set of bits through use of the CRC information; and recovering the first set of bits based on the pruned candidate vectors.
  • a process may include any combination of the aspects described above.
  • FIG. 13 illustrates a process 1300 for communication in accordance with some aspects of the disclosure.
  • One or more aspects of the process 1300 may be used in conjunction with (e.g., in addition to or as part of) the process 1100 of FIG. 11 and/or the process 1200 of FIG. 12.
  • the process 1300 may take place within a processing circuit (e.g., the processing circuit 1010 of FIG. 10) , which may be located in an access terminal, a base station, or some other suitable apparatus (e.g., that includes a decoder) .
  • the process 1300 may be implemented by any suitable apparatus capable of supporting signaling-related operations.
  • an apparatus receives a first transmission including a first set of bits, the first set of bits including a first subset of bits and a second subset of bits.
  • the circuit/module for receiving 1022 of FIG. 10 performs the operations of block 1302.
  • the code for receiving 1032 of FIG. 10 is executed to perform the operations of block 1302.
  • the apparatus decodes the first set of bits.
  • the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1304.
  • the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1304.
  • the apparatus receives a second transmission including a second set of bits.
  • the circuit/module for receiving 1022 of FIG. 10 performs the operations of block 1306. In some implementations, the code for receiving 1032 of FIG. 10 is executed to perform the operations of block 1306.
  • the apparatus decodes the second set of bits.
  • the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1308.
  • the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1308.
  • the apparatus soft-combines the decoded second subset of bits and the decoded second set of bits to generate soft-combined bits.
  • the circuit/module for soft-combining 1026 of FIG. 10 performs the operations of block 1310.
  • the code for soft-combining 1036 of FIG. 10 is executed to perform the operations of block 1310.
  • the apparatus decodes the first set of bits using the soft-combined bits.
  • the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1312.
  • the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1312.
  • a process may include any combination of the aspects described above.
  • FIG. 14 illustrates a process 1400 for communication in accordance with some aspects of the disclosure.
  • One or more aspects of the process 1400 may be used in conjunction with (e.g., in addition to or as part of) the process 1100 of FIG. 11 and/or the process 1200 of FIG. 12.
  • the process 1400 may take place within a processing circuit (e.g., the processing circuit 1010 of FIG. 10) , which may be located in an access terminal, a base station, or some other suitable apparatus (e.g., that includes a decoder) .
  • the process 1400 may be implemented by any suitable apparatus capable of supporting signaling-related operations.
  • an apparatus receives a first transmission including a first set of bits, the first set of bits including a first subset of bits and a second subset of bits that includes CRC information.
  • the circuit/module for receiving 1022 of FIG. 10 performs the operations of block 1402.
  • the code for receiving 1032 of FIG. 10 is executed to perform the operations of block 1402.
  • the apparatus decodes the first set of bits.
  • the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1404.
  • the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1404.
  • the apparatus receives a second transmission including a second set of bits that includes the CRC information.
  • the circuit/module for receiving 1022 of FIG. 10 performs the operations of block 1406. In some implementations, the code for receiving 1032 of FIG. 10 is executed to perform the operations of block 1406.
  • the apparatus decodes the second set of bits.
  • the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1408.
  • the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1408.
  • the apparatus prunes candidate vectors from the decoding of the second set of bits through use of the CRC information.
  • circuit/module for pruning 1028 of FIG. 10 performs the operations of block 1410.
  • the code for pruning 1038 of FIG. 10 is executed to perform the operations of block 1410.
  • the apparatus decodes the first set of bits using the pruned candidate vectors.
  • the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1412.
  • the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1412.
  • a process may include any combination of the aspects described above.
  • FIG. 15 illustrates a block diagram of an example hardware implementation of an apparatus 1500 configured to provide encoding according to one or more aspects of the disclosure.
  • the apparatus 1500 could embody or be implemented within a UE, a TRP, a gNB, a base station, or some other type of device that supports encoding as taught herein.
  • the apparatus 1500 could embody or be implemented within an access terminal, an access point, or some other type of device.
  • the apparatus 1500 could embody or be implemented within a mobile phone, a smart phone, a tablet, a portable computer, a server, a network entity, a personal computer, a sensor, an alarm, a vehicle, a machine, an entertainment device, a medical device, or any other electronic device having circuitry.
  • the apparatus 1500 includes a communication interface (e.g., at least one transceiver) 1502, a storage medium 1504, a user interface 1506, a memory device 1508 (e.g., storing coding information 1518) , and a processing circuit (e.g., at least one processor) 1510.
  • the user interface 1506 may include one or more of: a keypad, a display, a speaker, a microphone, a touchscreen display, of some other circuitry for receiving an input from or sending an output to a user.
  • the communication interface 1502 may be coupled to one or more antennas 1512, and may include a transmitter 1514 and a receiver 1516. In general, the components of FIG. 15 may be similar to corresponding components of the apparatus 1000 of FIG. 10.
  • the processing circuit 1510 may be adapted to perform any or all of the features, processes, functions, operations and/or routines for any or all of the apparatuses described herein.
  • the processing circuit 1510 may be configured to perform any of the steps, functions, and/or processes described with respect to FIGs. 1 -9 and 16.
  • the term “adapted” in relation to the processing circuit 1510 may refer to the processing circuit 1510 being one or more of configured, used, implemented, and/or programmed to perform a particular process, function, operation and/or routine according to various features described herein.
  • the processing circuit 1510 may be a specialized processor, such as an application-specific integrated circuit (ASIC) that serves as a means for (e.g., structure for) carrying out any one of the operations described in conjunction with FIGs. 1 -9 and 16.
  • ASIC application-specific integrated circuit
  • the processing circuit 1510 serves as one example of a means for transmitting and/or a means for receiving.
  • the processing circuit 1510 may provide and/or incorporate the functionality of the first wireless communication device 202 (e.g., the encoder 212) of FIG. 2 or the encoder 1702 of FIG. 17.
  • the processing circuit 1510 may include one or more of a circuit/module for encoding 1520, a circuit/module for transmitting 1522, a circuit/module for determining 1524, or a circuit/module for generating CRC information 1526.
  • the circuit/module for encoding 1520, the circuit/module for transmitting 1522, the circuit/module for determining 1524, or the circuit/module for generating CRC information 1526 may provide and/or incorporate, at least in part, the functionality described above for the first wireless communication device 152 (e.g., the encoder 212) of FIG. 2 or the encoder 1702 of FIG. 17.
  • programming stored by the storage medium 1504 when executed by the processing circuit 1510, causes the processing circuit 1510 to perform one or more of the various functions and/or process operations described herein.
  • the programming may cause the processing circuit 1510 to perform the various functions, steps, and/or processes described herein with respect to FIGs. 1 -9 and 16 in various implementations.
  • the storage medium 1504 may include one or more of code for encoding 1530, code for transmitting 1532, code for determining 1534, or code for generating CRC information 1536.
  • the code for encoding 1530, the code for transmitting 1532, the code for determining 1534, or the code for generating CRC information 1536 may be executed or otherwise used to provide the functionality described herein for the circuit/module for encoding 1520, the circuit/module for transmitting 1522, the circuit/module for determining 1524, or the circuit/module for generating CRC information 1526.
  • the circuit/module for encoding 1520 may include circuitry and/or programming (e.g., code for encoding 1530 stored on the storage medium 1504) adapted to perform several functions relating to, for example, encoding information.
  • the circuit/module for encoding 1520 e.g., a means for encoding
  • the circuit/module for encoding 1520 may execute an encoding algorithm.
  • the circuit/module for encoding 1520 may perform a block coding algorithm or a Polar coding algorithm.
  • the circuit/module for encoding 1520 may perform the encoding operations described herein conjunction with FIGs. 1 -9.
  • the circuit/module for encoding 1520 then outputs the resulting encoded information (e.g., to the circuit/module for transmitting 1522, the memory device 1508, the communication interface 1502, or some other component) .
  • the circuit/module for transmitting 1522 may include circuitry and/or programming (e.g., code for transmitting 1532 stored on the storage medium 1504) adapted to perform several functions relating to, for example, transmitting (e.g., sending) information.
  • the circuit/module for transmitting 1522 may obtain information (e.g., from the circuit/module for encoding 1520, the memory device 1508, or some other component of the apparatus 1500) and process the information (e.g., encode the information for transmission) .
  • the circuit/module for transmitting 1522 sends the information to another component (e.g., the transmitter 1514, the communication interface 1502, or some other component) that will send the information to another device.
  • the circuit/module for transmitting 1522 transmits the information directly to another device (e.g., the ultimate destination) via radio frequency signaling or some other type of signaling suitable for the applicable communication medium.
  • the circuit/module for transmitting 1522 may take various forms.
  • the circuit/module for transmitting 1522 may correspond to, for example, a processing circuit as discussed herein.
  • the circuit/module for transmitting 1522 may correspond to, for example, an interface (e.g., a bus interface, a send interface, or some other type of signal interface) , a communication device, a transceiver, a transmitter, or some other similar component as discussed herein.
  • the communication interface 1502 includes the circuit/module for transmitting 1522 and/or the code for transmitting 1532.
  • the circuit/module for transmitting 1522 and/or the code for transmitting 1532 is configured to control the communication interface 1502 (e.g., a transceiver or a transmitter) to transmit information.
  • the circuit/module for determining 1524 may include circuitry and/or programming (e.g., code for determining 1534 stored on the storage medium 1504) adapted to perform several functions relating to, for example, determining whether to perform a second transmission.
  • the circuit/module for determining 1524 e.g., a means for determining
  • the circuit/module for determining 1524 may obtain feedback information. For example, the circuit/module for determining 1524 may obtain an ACK or NAK (e.g., from the communication interface 1502, the memory device 1508, or some other component of the apparatus 1500) . The circuit/module for determining 1524 may elect to retransmit if the feedback is a NAK or some other similar value. The circuit/module for determining 1524 may then output an indication of the determination (e.g., to the circuit/module for transmitting 1522, the memory device 1508, or some other component) .
  • an ACK or NAK e.g., from the communication interface 1502, the memory device 1508, or some other component of the apparatus 1500
  • the circuit/module for determining 1524 may elect to retransmit if the feedback is a NAK or some other similar value.
  • the circuit/module for determining 1524 may then output an indication of the determination (e.g., to the circuit/module for transmitting 1522, the memory device 1508,
  • the circuit/module for generating CRC information 1526 may include circuitry and/or programming (e.g., code for generating CRC information 1536 stored on the storage medium 1504) adapted to perform several functions relating to, for example, generating CRC information for different subsets of bits.
  • the circuit/module for generating CRC information 1526 e.g., a means for generating
  • the circuit/module for generating CRC information 1526 may perform a CRC algorithm based on obtained input information.
  • the circuit/module for generating CRC information 1526 then outputs the resulting CRC (e.g., to the circuit/module for encoding 1520, the memory device 1508, the communication interface 1502, or some other component) .
  • FIG. 16 illustrates a process 1600 for communication in accordance with some aspects of the disclosure.
  • the process 1600 may take place within a processing circuit (e.g., the processing circuit 1510 of FIG. 15) , which may be located in an access terminal, a base station, or some other suitable apparatus (e.g., that includes an encoder) .
  • a processing circuit e.g., the processing circuit 1510 of FIG. 15
  • the process 1600 may be implemented by any suitable apparatus capable of supporting signaling-related operations.
  • an apparatus encodes a first set of bits, wherein the first set of bits corresponds to a first subset of bits including first CRC information and a second subset of bits including second CRC information.
  • the encoding of the first set of bits may include Polar coding.
  • the encoding of the first set of bits may include systematic encoding.
  • the first CRC information may be independent of the second CRC information.
  • the circuit/module for encoding 1520 of FIG. 15 performs the operations of block 1602.
  • the code for encoding 1530 of FIG. 15 is executed to perform the operations of block 1602.
  • the apparatus transmits the encoded first set of bits.
  • the circuit/module for transmitting 1522 of FIG. 15 performs the operations of block 1604. In some implementations, the code for transmitting 1532 of FIG. 15 is executed to perform the operations of block 1604.
  • the apparatus determines that a second transmission is needed.
  • the circuit/module for determining 1524 of FIG. 15 performs the operations of block 1606. In some implementations, the code for determining 1534 of FIG. 15 is executed to perform the operations of block 1606.
  • the apparatus encodes a second set of bits including the second CRC information, wherein the second set of bits corresponds to the second subset of bits.
  • the circuit/module for encoding 1520 of FIG. 15 performs the operations of block 1608. In some implementations, the code for encoding 1530 of FIG. 15 is executed to perform the operations of block 1608.
  • the apparatus transmits the encoded second set of bits.
  • the circuit/module for transmitting 1522 of FIG. 15 performs the operations of block 1610. In some implementations, the code for transmitting 1532 of FIG. 15 is executed to perform the operations of block 1610.
  • a process may include any combination of the aspects described above.
  • FIG. 17 illustrates an example encoder 1702 and an example decoder 1704 constructed in accordance with the teachings herein.
  • the encoder 1702 and the decoder 1704 may correspond to the encoder 212 and the decoder 214 of FIG. 2, respectively.
  • the encoder 1702 encodes data 1706 to generate encoded data 1708.
  • the encoder 1702 may include a module for Polar coding optionally including CRC from a first transmission in a second transmission 1710.
  • the decoder 1704 decodes the encoded data 1708 (e.g., after transmission over a communication channel, not shown) to provide recovered data 1712.
  • the decoder 1704 may include a module for decoding a first transmission based on a second transmission 1714.
  • the encoder 1702 may include an interface 1716, an interface 1718, or both.
  • Such an interface may include, for example, an interface bus, bus drivers, bus receivers, other suitable circuitry, or a combination thereof.
  • the interface 1716 may include receiver devices, buffers, or other circuitry for receiving a signal.
  • the interface 1718 may include output devices, drivers, or other circuitry for sending a signal.
  • the interfaces 1716 and 1718 may be configured to interface one or more other components of the encoder 1702 (other components not shown in FIG. 17) .
  • the decoder 1704 may include an interface 1720, an interface 1722, or both.
  • Such an interface may include, for example, an interface bus, bus drivers, bus receivers, other suitable circuitry, or a combination thereof.
  • the interface 1720 may include receiver devices, buffers, or other circuitry for receiving a signal.
  • the interface 1722 may include output devices, drivers, or other circuitry for sending a signal.
  • the interfaces 1720 and 1722 may be configured to interface one or more other components of the decoder 1704 (other components not shown in FIG. 17) .
  • the encoder 1702 and the decoder 1704 may take different forms in different implementations.
  • the encoder 1702 and/or the decoder 1704 may be an integrated circuit.
  • the encoder 1702 and/or the decoder 1704 may be included in an integrated circuit that includes other circuitry (e.g., a processor and related circuitry) .
  • CPUs central processing units
  • GPUs graphic processing units
  • DSPs digital signal processors
  • ASICs application specific integrated circuits
  • FPGAs field programmable gate arrays
  • One or more of the components, steps, features and/or functions illustrated in above may be rearranged and/or combined into a single component, step, feature or function or embodied in several components, steps, or functions. Additional elements, components, steps, and/or functions may also be added without departing from novel features disclosed herein.
  • the apparatus, devices, and/or components illustrated above may be configured to perform one or more of the methods, features, or steps described herein.
  • the novel algorithms described herein may also be efficiently implemented in software and/or embedded in hardware.
  • a software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
  • An example of a storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
  • any reference to an element herein using a designation such as “first, ” “second, ” and so forth does not generally limit the quantity or order of those elements. Rather, these designations may be used herein as a convenient method of distinguishing between two or more elements or instances of an element. Thus, a reference to first and second elements does not mean that only two elements may be used there or that the first element must precede the second element in some manner. Also, unless stated otherwise a set of elements may comprise one or more elements.
  • terminology of the form “at least one of a, b, or c” or “a, b, or c, or any combination thereof” used in the description or the claims means “aor b or c or any combination of these elements.
  • this terminology may include a, or b, or c, or a and b, or a and c, or a and b and c, or 2a, or 2b, or 2c, or 2a and b, and so on.
  • determining encompasses a wide variety of actions. For example, “determining” may include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure) , ascertaining, and the like. Also, “determining” may include receiving (e.g., receiving information) , accessing (e.g., accessing data in a memory) , and the like. Also, “determining” may include resolving, selecting, choosing, establishing, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)

Abstract

Various aspects of the disclosure relate to encoding information and decoding information. In some aspects, the disclosure relates to an encoder and a decoder for Polar codes with HARQ. If a first transmission of the encoder fails, information bits associated with a lower quality channel may be retransmitted. At the decoder, the resulting decoded retransmitted bits may be used to decode the first transmission by substituting the retransmitted bits for the original corresponding (low quality channel) bits. In some aspects, to decode the first transmission, soft-combining is applied to the decoded retransmitted bits and the original corresponding (low quality channel) bits. In some aspects, CRC bits for a first transmission may be split between a first subset of bits and a second subset of bits. In this case, the second subset of bits and the associated CRC bits may be used for a second transmission (e.g., a retransmission).

Description

ENCODING AND DECODING TECHNIQUES
CROSS-REFERENCE TO RELATED APPLICATION (S)
This application claims priority to and the benefit of Patent Cooperation Treaty application number PCT/CN2016/100311 filed on September 27, 2016, the entire content of which is incorporated herein by reference.
INTRODUCTION
Various aspects described herein relate to communication, and more particularly but not exclusively, to encoding information and decoding information.
A wireless communication system may use error correcting codes to facilitate reliable transmission of digital messages over noisy channels. A block code is one type of error correcting code. In a typical block code, an information message or sequence is split up into blocks, and an encoder at the transmitting device mathematically adds redundancy to the information message. Exploitation of this redundancy in the encoded information message improves the reliability of the message, enabling correction for bit errors that may occur due to the noise. That is, a decoder at the receiving device can take advantage of the redundancy to reliably recover the information message even though bit errors may occur, in part, due to the addition of noise by the channel. Examples of error correcting block codes include Hamming codes, Bose-Chaudhuri-Hocquenghem (BCH) codes, and turbo codes among others. Many existing wireless communication networks utilize such block codes, such as 3GPP LTE networks, which utilize turbo codes, and IEEE 802.11n Wi-Fi networks. 
To further improve communication performance (e.g., in wireless communication systems) , a retransmission scheme such a hybrid automatic repeat request (HARQ) scheme may be used. In a HARQ scheme, coded blocks are retransmitted if the first transmission is not decoded correctly. In some cases, several retransmissions may be needed to achieve a desired level of communication performance. As a result, the overhead associated with a HARQ scheme may be relatively high. Accordingly, there is a need for error correction techniques that can provide a high level of performance (e.g., with low overhead) .
SUMMARY
The following presents a simplified summary of some aspects of the disclosure to provide a basic understanding of such aspects. This summary is not an extensive  overview of all contemplated features of the disclosure, and is intended neither to identify key or critical elements of all aspects of the disclosure nor to delineate the scope of any or all aspects of the disclosure. Its sole purpose is to present various concepts of some aspects of the disclosure in a simplified form as a prelude to the more detailed description that is presented later.
In one aspect, the disclosure provides an apparatus configured for communication that includes a memory and a processor coupled to the memory. The processor and the memory are configured to: decode a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and a second subset of bits; receive a second transmission associated with the first transmission, the second transmission including a second set of bits without cyclic redundancy check (CRC) information, and the second set of bits corresponding to the second subset of bits; decode the second set of bits; and decode the first set of bits using the decoded second set of bits.
Another aspect of the disclosure provides a method for communication including: decoding a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and a second subset of bits; receiving a second transmission associated with the first transmission, the second transmission including a second set of bits without cyclic redundancy check (CRC) information, and the second set of bits corresponding to the second subset of bits; decoding the second set of bits; and decoding the first set of bits using the decoded second set of bits.
Another aspect of the disclosure provides an apparatus configured for communication. The apparatus including: means for decoding a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and a second subset of bits; and means for receiving a second transmission associated with the first transmission, the second transmission including a second set of bits without cyclic redundancy check (CRC) information, and the second set of bits corresponding to the second subset of bits, wherein the means for decoding is configured to decode the second set of bits and to further decode the first set of bits using the decoded second set of bits.
Another aspect of the disclosure provides a non-transitory computer-readable medium storing computer-executable code, including code to: decode a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and a second subset of bits; receive a second transmission associated with the first  transmission, the second transmission including a second set of bits without cyclic redundancy check (CRC) information, and the second set of bits corresponding to the second subset of bits; decode the second set of bits; and decode the first set of bits using the decoded second set of bits.
In one aspect, the disclosure provides an apparatus configured for communication that includes a memory and a processor coupled to the memory. The processor and the memory are configured to: decode a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and to a second subset of bits that includes cyclic redundancy check (CRC) information; receive a second transmission associated with the first transmission, the second transmission including a second set of bits with the CRC information, and the second set of bits corresponding to the second subset of bits; decode the second set of bits; and decode the first set of bits using the decoded second set of bits.
Another aspect of the disclosure provides a method for communication including: decoding a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and to a second subset of bits that includes cyclic redundancy check (CRC) information; receiving a second transmission associated with the first transmission, the second transmission including a second set of bits with the CRC information, and the second set of bits corresponding to the second subset of bits; decoding the second set of bits; and decoding the first set of bits using the decoded second set of bits.
Another aspect of the disclosure provides an apparatus configured for communication. The apparatus including: means for decoding a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and to a second subset of bits that includes cyclic redundancy check (CRC) information; and means for receiving a second transmission associated with the first transmission, the second transmission including a second set of bits with the CRC information, and the second set of bits corresponding to the second subset of bits, wherein the means for decoding is configured to decode the second set of bits and to further decode the first set of bits using the decoded second set of bits.
Another aspect of the disclosure provides a non-transitory computer-readable medium storing computer-executable code, including code to: decode a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and to a second subset of bits that includes cyclic redundancy check (CRC) information;  receive a second transmission associated with the first transmission, the second transmission including a second set of bits with the CRC information, and the second set of bits corresponding to the second subset of bits; decode the second set of bits; and decode the first set of bits using the decoded second set of bits.
In one aspect, the disclosure provides an apparatus configured for communication that includes a memory and a processor coupled to the memory. The processor and the memory are configured to: encode a first set of bits to provide a first subset of bits including first cyclic redundancy check (CRC) information and a second subset of bits including second CRC information; transmit the encoded first set of bits; determining that a second transmission is needed; encode the second subset of bits to provide a second set of bits including the second CRC information; and transmit the second set of bits.
Another aspect of the disclosure provides a method for communication including: encoding a first set of bits to provide a first subset of bits including first cyclic redundancy check (CRC) information and a second subset of bits including second CRC information; transmitting the encoded first set of bits; determining that a second transmission is needed; encoding the second subset of bits to provide a second set of bits including the second CRC information; and transmitting the second set of bits.
Another aspect of the disclosure provides an apparatus configured for communication. The apparatus including: means for encoding a first set of bits to provide a first subset of bits including first cyclic redundancy check (CRC) information and a second subset of bits including second CRC information; means for transmitting the encoded first set of bits; and means for determining that a second transmission is needed, wherein the means for encoding is configured to encode the second subset of bits to provide a second set of bits including the second CRC information, and wherein the means for transmitting is configured to transmit the second set of bits.
Another aspect of the disclosure provides a non-transitory computer-readable medium storing computer-executable code, including code to: encode a first set of bits to provide a first subset of bits including first cyclic redundancy check (CRC) information and a second subset of bits including second CRC information; transmit the encoded first set of bits; determining that a second transmission is needed; encode the second subset of bits to provide a second set of bits including the second CRC information; and transmit the second set of bits.
These and other aspects of the disclosure will become more fully understood upon a review of the detailed description, which follows. Other aspects, features, and implementations of the disclosure will become apparent to those of ordinary skill in the art, upon reviewing the following description of specific implementations of the disclosure in conjunction with the accompanying figures. While features of the disclosure may be discussed relative to certain implementations and figures below, all implementations of the disclosure can include one or more of the advantageous features discussed herein. In other words, while one or more implementations may be discussed as having certain advantageous features, one or more of such features may also be used in accordance with the various implementations of the disclosure discussed herein. In similar fashion, while certain implementations may be discussed below as device, system, or method implementations it should be understood that such implementations can be implemented in various devices, systems, and methods.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings are presented to aid in the description of aspects of the disclosure and are provided solely for illustration of the aspects and not limitations thereof.
FIG. 1 is a block diagram of an example communication system in which aspects of the disclosure may be used.
FIG. 2 is a block diagram of example communication devices in which aspects of the disclosure may be used.
FIG. 3 is a conceptual diagram illustrating an example of encoding based on Polar codes.
FIG. 4 is a diagram of an example hybrid automatic repeat request (HARQ) technique for Polar codes.
FIG. 5 is a diagram of an example structure of a CRC-aided SCL decoder.
FIG. 6 is a diagram of an example of list decoding using single CRC for Polar codes with HARQ in accordance with some aspects of the disclosure.
FIG. 7 is a diagram of an example of list decoding using single CRC for systematic Polar codes with HARQ in accordance with some aspects of the disclosure.
FIG. 8 is a diagram of an example of list decoding using split CRC for Polar codes with HARQ in accordance with some aspects of the disclosure.
FIG. 9 is a diagram of an example of Polar encoding using split CRC with HARQ in accordance with some aspects of the disclosure.
FIG. 10 is a block diagram illustrating an example hardware implementation for an apparatus (e.g., an electronic device) that can support decoding in accordance with some aspects of the disclosure.
FIG. 11 is a flowchart illustrating an example of a decoding process in accordance with some aspects of the disclosure.
FIG. 12 is a flowchart illustrating another example of a decoding process in accordance with some aspects of the disclosure.
FIG. 13 is a flowchart illustrating an example of decoding operations in accordance with some aspects of the disclosure.
FIG. 14 is a flowchart illustrating another example of decoding operations in accordance with some aspects of the disclosure.
FIG. 15 is a block diagram illustrating an example hardware implementation for an apparatus (e.g., an electronic device) that can support encoding in accordance with some aspects of the disclosure.
FIG. 16 is a flowchart illustrating an example of an encoding process in accordance with some aspects of the disclosure.
FIG. 17 is a block diagram of example encoder and decoder devices in accordance with some aspects of the disclosure.
DETAILED DESCRIPTION
Various aspects of the disclosure relate to encoding and decoding techniques. In some aspects, the disclosure relates to decoding for Polar codes with HARQ. For example, if a transmitter’s first transmission fails, the transmitter retransmits information bits associated with a lower quality channel. The receiver decodes this information using an SC list (SCL) decoder. For example, the receiver may use the retransmitted decoded bits to decode the signal received in the first transmission by substituting the retransmitted bits for the original corresponding (low quality channel) bits. As another example, soft-combining of the decoded retransmitted bits and the original corresponding (low quality channel) bits may be used to decode the signal received in the first transmission. In various implementations, cyclic redundancy check (CRC) bits may be used, not used, or split (e.g., equally) between the first transmission and the second transmission. In some aspects, the disclosed techniques for list decoding  of Polar codes with HARQ may improve communication performance and reduce the CRC overhead.
The detailed description set forth below in connection with the appended drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. Moreover, alternate configurations may be devised without departing from the scope of the disclosure. Additionally, well-known elements will not be described in detail or will be omitted so as not to obscure the relevant details of the disclosure.
The various concepts presented throughout this disclosure may be implemented across a broad variety of telecommunication systems, network architectures, and communication standards. For example, the 3rd Generation Partnership Project (3GPP) is a standards body that defines several wireless communication standards for networks involving the evolved packet system (EPS) , frequently referred to as long-term evolution (LTE) networks. Evolved versions of the LTE network, such as a fifth-generation (5G) network, may provide for many different types of services or applications, including but not limited to web browsing, video streaming, VoIP, mission critical applications, multi-hop networks, remote operations with real-time feedback (e.g., tele-surgery) , etc. Thus, the teachings herein can be implemented according to various network technologies including, without limitation, 5G technology, fourth generation (4G) technology, third generation (3G) technology, and other network architectures. Also, the techniques described herein may be used for a downlink, an uplink, a peer-to-peer link, or some other type of link.
The actual telecommunication standard, network architecture, and/or communication standard used will depend on the specific application and the overall design constraints imposed on the system. For purposes of illustration, the following may describe various aspects in the context of a 5G system and/or an LTE system. It should be appreciated, however, that the teachings herein may be used in other systems as well. Thus, references to functionality in the context of 5G and/or LTE terminology should be understood to be equally applicable to other types of technology, networks, components, signaling, and so on.
Example Communication System
FIG. 1 illustrates an example of a wireless communication system 100 where a user equipment (UE) can communicate with other devices via wireless communication signaling. For example, a first UE 102 and a second UE 104 may communicate with a transmit receive point (TRP) 106 using wireless communication resources managed by the TRP 106 and/or other network components (e.g., a core network 108, an internet service provider (ISP) 110, peer devices, and so on) . In some implementations, one or more of the components of the system 100 may communicate with each other directedly via a device-to-device (D2D) link 112 or some other similar type of direct link.
Communication of information between two or more of the components of the system 100 may involve encoding the information. For example, the TRP 106 may encode data or control information that the TRP 106 sends to the UE 102 or the UE 104. As another example, the UE 102 may encode data or control information that the UE 102 sends to the TRP 106 or the UE 104. The encoding may involve block coding such as Polar coding. In accordance with the teachings herein, one or more of the UE 102, the UE 104, the TRP 106, or some other component of the system 100 may include an encoder and/or decoder 114 that may, for example, optionally include CRC from a first transmission in a second transmission and/or decode a first transmission based on a second transmission.
The components and links of the wireless communication system 100 may take different forms in different implementations. For example, and without limitation, UEs may be cellular devices, Internet of Things (IoT) devices, cellular IoT (CIoT) devices, LTE wireless cellular devices, machine-type communication (MTC) cellular devices, smart alarms, remote sensors, smart phones, mobile phones, smart meters, personal digital assistants (PDAs) , personal computers, mesh nodes, and tablet computers.
In some aspects, a TRP may refer to a physical entity that incorporates radio head functionality for a particular physical cell. In some aspects, the TRP may include 5G new radio (NR) functionality with an air interface based on orthogonal frequency division multiplexing (OFDM) . NR may support, for example and without limitation, enhanced mobile broadband (eMBB) , mission-critical services, and wide-scale deployment of IoT devices. The functionality of a TRP may be similar in one or more aspects to (or incorporated into) the functionality of a CIoT base station (C-BS) , a NodeB, an evolved NodeB (eNodeB) , radio access network (RAN) access node, a radio network controller (RNC) , a base station (BS) , a radio base station (RBS) , a base station  controller (BSC) , a base transceiver station (BTS) , a transceiver function (TF) , a radio transceiver, a radio router, a basic service set (BSS) , an extended service set (ESS) , a macro cell, a macro node, a Home eNB (HeNB) , a femto cell, a femto node, a pico node, or some other suitable entity. In different scenarios (e.g., NR, LTE, etc. ) , a TRP may be referred to as a gNodeB (gNB) , an eNB, a base station, or referenced using other terminology.
Various types of network-to-device links and D2D links may be supported in the wireless communication system 100. For example, D2D links may include, without limitation, machine-to-machine (M2M) links, MTC links, vehicle-to-vehicle (V2V) links, and vehicle-to-anything (V2X) links. Network-to-device links may include, without limitation, uplinks (or reverse links) , downlinks (or forward links) , and vehicle-to-network (V2N) links.
Example Communication Components
FIG. 2 is a schematic illustration of a wireless communication system 200 that includes a first wireless communication device 202 and a second wireless communication device 204 that may use the teachings herein. In some implementations, the first wireless communication device 202 or the second wireless communication device 204 may correspond to the UE 102, the UE 104, the TRP 106, or some other component of FIG. 1.
In the illustrated example, the first wireless communication device 202 transmits a message over a communication channel 206 (e.g., a wireless channel) to the second wireless communication device 204. One issue in such a scheme that may be addressed to reliably communicate the message is to take into account noise 208 introduced in the communication channel 206.
Block codes or error correcting codes are frequently used to provide reliable transmission of messages over noisy channels. In a typical block code, an information message or sequence from an information source 210 at the first (transmitting) wireless communication device 202 is split up into blocks, each block having a length of K bits. An encoder 212 mathematically adds redundancy to the information message, resulting in codewords having a length of N, where N > K. Here, the code rate R is the ratio between the message length and the block length (i.e., R = K /N) . Exploitation of this redundancy in the encoded information message is a key to reliably receiving the transmitted message at the second (receiving) wireless communication device 204,  whereby the redundancy enables correction for bit errors that may occur due to the noise 208 imparted on the transmitted message. That is, a decoder 214 at the second (receiving) wireless communication device 204 can take advantage of the redundancy to reliably recover the information message provided to an information sink 216 even though bit errors may occur, in part, due to the addition of the noise 208 in the channel 206.
Many examples of such error correcting block codes are known to those of ordinary skill in the art, including Hamming codes, Bose-Chaudhuri-Hocquenghem (BCH) codes, and turbo codes, among others. Some existing wireless communication networks utilize such block codes. For example, 3GPP LTE networks may use turbo codes. However, for future networks, a new category of block codes, called Polar codes, presents a potential opportunity for reliable and efficient information transfer with improved performance relative to other codes.
The disclosure relates in some aspects, to the use of hybrid automatic repeat request (HARQ) with Polar codes (described below) . For example, the encoder 212 may include a module for encoding a message for a first transmission 218, where the message may include cyclic redundancy check (CRC) information. A transmitter (not shown) of the first wireless communication device 202 sends the first transmission to the second wireless communication device 204.
A receiver (not shown) of the second wireless communication device 204 receives the first transmission. If the decoder 214 (e.g., a module for decoding the first transmission 222) is not able to correctly decode the first transmission, the second wireless communication device 204 may send NAK feedback (not shown) to the first wireless communication device 202.
In response to NAK feedback, the encoder 212 may encode a message for a second transmission (which may be referred to as a retransmission) , where the message optionally includes at least a portion of the CRC information for the first transmission. To this end, the encoder 212 includes a module for encoding a message for a second transmission 220. The first wireless communication device 202 then sends the second transmission to the second wireless communication device 204.
The decoder 214 also includes a module for decoding the second transmission 224. In some aspects, the decoding (e.g., list decoding) for the first transmission (performed by the module for decoding the first transmission 222) may be based on the result of the decoding (e.g., list decoding) for the second transmission. For example, the  decoding for the first transmission may use one or more candidate vectors generated by the decoding for the second transmission.
Turning now to FIGs. 3 and 4, several aspects of Polar codes and HARQ schemes will be described in more detail. It should be appreciated that these examples are presented for purposes of explanation and that the teachings herein may be applicable to other types of coding and retransmission schemes.
Polar Codes
Polar codes are linear block error correcting codes where channel polarization is generated with a recursive algorithm that defines polar codes. Polar codes are the first explicit codes that achieve the channel capacity of symmetric binary-input discrete memoryless channels. That is, polar codes achieve the channel capacity (the Shannon limit) or the theoretical upper bound on the amount of error-free information that can be transmitted on a discrete memoryless channel of a given bandwidth in the presence of noise. This capacity can be achieved with a simple successive cancellation (SC) decoder.
typical encoder structure 300 of Polar codes is depicted in FIG. 3. The Polar code sub-channels are allocated into two subsets, best sub-channels and worst sub-channels, based on the corresponding error probability associated with each sub-channel. The information bits 302 are then put on the best sub-channels while frozen bits 304 (with zero values) are put on the worst sub-channels. A bit-reversal permutation 306 is used to provide the output bits of the decoder in a desired sequence. The encoding is performed after multiplying by a Hadamard matrix 308. The generator matrices of Polar codes are made up of the rows of a Hadamard matrix. The rows corresponding to low error probabilities of an SC decoder are selected for information bits while the remaining rows are for frozen bits.
It may thus be seen that the Polar codes are one type of block codes (N, K) , where N is the codeword length and K is the number of information bits. With polar codes, the codeword length N is a power-of-two (e.g., 256, 512, 1024, etc. ) because the original construction of a polarizing matrix is based on the Kronecker product of 
Figure PCTCN2017092459-appb-000001
HARQ
HARQ incremental redundancy (HARQ-IR) schemes are widely used in wireless communication systems to improve transmission efficiency. In a HARQ scheme, the coded blocks will be retransmitted if the first transmission is not decoded correctly. The maximum number of transmissions in a typical application is 4. However, some applications may use a different retransmission limit.
An example of a HARQ-IR scheme 400 for Polar codes is depicted in FIG. 4. For simplification, only a first transmission and a second transmission (aretransmission) are shown. In the μ domain 402 of the first transmission, the information bits are allocated into two sub-blocks denoted as A and B. The F block is for frozen bits with a value of zero. After bit-reversal permutation and encoding, a coded block in the X domain is obtained. If the first transmission (1TX) 404 is decoded correctly at the receiver, the transmission ends.
However, if the first transmission (1TX) 404 is not decoded correctly, the transmitter will generate a new codeword in the μ domain 406 with B information bits. After bit-reversal permutation and encoding, the transmitter invokes a second transmission (2TX) 408 to send a corresponding coded block in the X2 domain. If the receiver does not decode the B information for the second transmission (2TX) 408 correctly, a third transmission may be invoked, and so on.
If the B information in the second transmission (2TX) 408 is decoded correctly by the receiver, the B information in first transmission will be set as frozen bits and the A information in first transmission will be decoded accordingly. In this case, this is equivalent to obtaining the low rate for the A information in the first transmission.
From a performance standpoint, the algorithm of FIG. 4 may be equivalent to existing (e.g., non-Polar coding) HARQ-IR schemes in terms of coding gain. In FIG. 4, the equivalent coding rate after two transmissions is half of the first transmission with a block size of the first transmission.
CA-SCL Decoding
FIG. 5 depicts an example structure 500 of a CRC-aided SCL (CA-SCL) decoder. For simplification, a list size of 4 is assumed and all bits are unfrozen. Other configurations (e.g., different list sizes) could be used in other implementations. In the path structure 502 of FIG. 5, there are at most 4 nodes with paths that continue downward at each level. At the initial stage, the first unfrozen bit can be either 0 or 1  and two paths are obtained. Then, the second unfrozen bit can be either 0 or 1 and two paths are generated for each. Thus, there are a total of 4 paths and, since there are not more than 4 paths, it is not necessary to prune the paths. However, there are 8 decoding paths 504 for the third unfrozen bits. Thus, the 8 paths are pruned into the 4 most promising paths since the list size is set to 4. For the following unfrozen bits, the 4 active paths will continue to double to 8 paths and the 8 paths will be pruned to the 4 best paths again. In this way, there are only 4 active paths 506 which are kept to the last unfrozen bits. Finally, the 4 candidate paths 506 will be sorted 508 and the best path will be selected 510 as a decision for the SCL algorithm. To further improve the performance, CRC pruning 512 can be used whereby CRC is used to check the candidate paths, and the path with CRC passing will be selected 514. In this algorithm of CA-SCL, CRC may be checked from the best candidate paths to the worse candidate paths.
List Decoding for Polar Codes with HARQ
The disclosure relates in some aspects to a decoding algorithm that uses list decoding for Polar codes with HARQ. Three techniques are described. The first two techniques are for single CRC while the third technique is for split CRC. For simplification, the following describes a scenario with the maximum number of transmissions equal to 2. It should be appreciated, however, that the techniques taught herein are applicable to different numbers of transmissions (e.g., 3, 4, or more) .
List Decoding Using Single CRC for Polar Codes with HARQ
An example decoder 600 using single CRC for Polar codes with HARQ is depicted in FIG. 6. In the decoder 600, the bits of a first received transmission (1TX) include a first subset of bits A 602, a second subset of bits B 604, frozen bits F 606, and CRC bits 608. The bits of a received second transmission (2TX) include the second subset of bits B 604’a nd frozen bits F 610. The CRC bits 608 are included in the first transmission (1TX) but not in the second transmission (2TX) to reduce the CRC overhead.
To decode the first transmission, the decoder 600 uses a CRC-aided SCL decoding algorithm 612. If the result is not correct, a second transmission (e.g., a retransmission) will be initiated (e.g., via a HARQ process) . In this case, a transmitter  (not shown in FIG. 6) will encode and transmit the information bits of block B for the second transmission (received at the decoder 600 as block B 604’ ) . 
The decoder 600 uses SCL decoding 614 to decode the received signal for the second transmission. The output L candidate vectors 616 for the bits of block B 604’ are then provided to the decoding algorithm 612 for final decoding of the signal received in the first transmission. For example, the bits of block B 604 for the first transmission may be initialized with 618 (e.g., replaced with) the list of L candidate vectors 616 from the second transmission. For each candidate vector, CRC may be applied for pruning 620 the candidate paths obtained in the SCL decoder. Via this process, the bits of block A may be recovered such that the signal received in the first transmission is thereby decoded. 
List Decoding Using Single CRC for Systematic Polar Codes with HARQ
An example decoder 700 that uses single CRC for systematic Polar codes with HARQ is depicted in FIG. 7. In the decoder 700, the bits of a first received transmission (1TX) include a first subset of bits A 702, a second subset of bits B 704, frozen bits F 706, and CRC bits 708. The bits of a received second transmission (2TX) include the second subset of bits B 704’a nd frozen bits F 710. The CRC bits 708 are included in the first transmission (1TX) but not in the second transmission (2TX) to reduce the CRC overhead.
To decode the first transmission, the decoder 700 uses a CRC-aided SCL decoding algorithm 712. If the result is not correct, a second transmission (e.g., a retransmission) will be initiated (e.g., via a HARQ process) . In this case, a transmitter (not shown in FIG. 7) will encode and transmit the information bits of block B for the second transmission (received at the decoder 700 as block B 704’ ) . 
Because a systematic code is generated in both the first transmission and the second transmission, the decoder 700 can use soft-combining 722 of the log-likelihood ratio (LLR) of the bits in block B of both the first transmission (block B 704) and the second transmission (block B 704’ ) . The decoder 700 uses SCL decoding 714 to decode the combined received signal for the second transmission (after the soft-combining) . The performance of the SCL decoding 714 may thus be improved by the soft-combining. The output L candidate vectors 716 for the bits in B are then provided to the decoding algorithm 712 for final decoding of the signal received in the first transmission. For example, each bit in B in the first transmission may be initialized 718  with the L candidate list from the second transmission. For each candidate vector, CRC will be applied for pruning 720 the candidate paths obtained in the SCL decoder. Via this process, the bits of block A may be recovered such that the signal received in the first transmission is thereby decoded.
List Decoding Using Split CRC for Polar Codes with HARQ
An example decoder 800 that uses split CRC for Polar codes with HARQ is depicted in FIG. 8. In this case, CRC bits are split (e.g., equally) between a first subset of bits A 802 and a second subset of bits B 804. Thus, in the decoder 800, the bits of a first received transmission (1TX) include the first subset of bits A 802, the second subset of bits B 804, frozen bits F 806, CRC1 808A of the first subset of bits A 802, and CRC2 808B of the second subset of bits B 804. For the first transmission, the decoder 800 applies a CRC-aided SCL decoding algorithm 812 that uses CRC1 808A and CRC2 808B. If the result is not correct, the second transmission will be requested (e.g., via a HARQ process) . Consequently, the transmitter (not shown in FIG. 8) will encode and transmit the information bits of block B (received at the decoder 800 as block B 804’ ) . Because the bits of CRC2 are included in the second transmission in this case (received at the decoder 800 as CRC2 808B’ ) , CRC2 bits can be used to prune 816 the candidate paths from the SCL decoding algorithm 814 for the second transmission. If no candidate path passes the CRC2 check, the best path will be selected as the hard decision 818 for block B. This path will then be provided to the decoding algorithm 812 for final decoding of the signal received in first transmission. In this case, the bits in B in the first transmission will be taken as frozen bits 820 when the received signal in first transmission is decoded. In addition, the CRC1 will be applied for pruning the candidate paths 822 obtained in SCL decoder for the first transmission. Via this process, the bits of block A may be recovered such that the signal received in the first transmission is thereby decoded.
Example Encoder
FIG. 9 depicts an example encoder 900 that uses HARQ with Polar Codes in accordance with the teachings herein. In some aspects, the encoder 900 may be used to provide the encoded information used by the decoder 800 of FIG. 8. In the μ domain 902, the information bits are denoted as D and the frozen bits with a value of zero are denoted as F. Thus, the block D in FIG. 9 may generally correspond to the A and B  blocks of FIG. 4. Systematic Polar encoding 904 of these bits creates a so-called mother code 906 that includes a block denoted as D (encoded data) and a block denoted as P 908 (encoded parity check bits) . Thus, the mother code 906 is a systematic Polar code in this example. Coding and CRC 908 are then applied to provide a set of bits for a first transmission 910. Based on the selected coding rate, some of the bits of the mother code 906 are punctured. The resulting first transmission 910 thus corresponds to the first transmission (1TX) described in FIG. 8.
If the decoder (e.g., the decoder 800 of FIG. 8) does not successfully decode the first transmission 910 (e.g., a NAK 912 is received at the encoder 900) , a second transmission (e.g., a retransmission) is invoked. Coding and CRC 916 are then applied to the bits of block B from the first transmission 914 to provide a set of encoded bits for the second transmission 918 (e.g., a retransmission) .
First Example Apparatus
FIG. 10 is an illustration of an apparatus 1000 that may provide decoding according to one or more aspects of the disclosure. The apparatus 1000 could embody or be implemented within a UE, a TRP, a gNB, a base station, or some other type of device that uses decoding. In various implementations, the apparatus 1000 could embody or be implemented within an access terminal, an access point, or some other type of device. In various implementations, the apparatus 1000 could embody or be implemented within a mobile phone, a smart phone, a tablet, a portable computer, a server, a network entity, a personal computer, a sensor, an alarm, a vehicle, a machine, an entertainment device, a medical device, or any other electronic device having circuitry.
The apparatus 1000 includes a communication interface 1002 (e.g., at least one transceiver) , a storage medium 1004, a user interface 1006, a memory device 1008, and a processing circuit 1010 (e.g., at least one processor) . These components can be coupled to and/or placed in electrical communication with one another via a signaling bus or other suitable component, represented generally by the connection lines in FIG. 10. The signaling bus may include any number of interconnecting buses and bridges depending on the specific application of the processing circuit 1010 and the overall design constraints. The signaling bus links together various circuits such that each of the communication interface 1002, the storage medium 1004, the user interface 1006, and the memory device 1008 are coupled to and/or in electrical communication with the  processing circuit 1010. The signaling bus may also link various other circuits (not shown) such as timing sources, peripherals, voltage regulators, and power management circuits, which are well known in the art, and therefore, will not be described any further. 
The communication interface 1002 may be adapted to facilitate wireless communication of the apparatus 1000. For example, the communication interface 1002 may include circuitry and/or programming adapted to facilitate the communication of information bi-directionally with respect to one or more communication devices in a network. Thus, in some implementations, the communication interface 1002 may be coupled to one or more antennas 1012 for wireless communication within a wireless communication system. In some implementations, the communication interface 1002 may be configured for wire-based communication. For example, the communication interface 1002 could be a bus interface, a send/receive interface, or some other type of signal interface including drivers, buffers, or other circuitry for outputting and/or obtaining signals (e.g., outputting signal from and/or receiving signals into an integrated circuit) . The communication interface 1002 can be configured with one or more standalone receivers and/or transmitters, as well as one or more transceivers. In the illustrated example, the communication interface 1002 includes a transmitter 1014 and a receiver 1016.
The memory device 1008 may represent one or more memory devices. As indicated, the memory device 1008 may maintain coding-related information 1018 along with other information used by the apparatus 1000. In some implementations, the memory device 1008 and the storage medium 1004 are implemented as a common memory component. The memory device 1008 may also be used for storing data that is manipulated by the processing circuit 1010 or some other component of the apparatus 1000.
The storage medium 1004 may represent one or more computer-readable, machine-readable, and/or processor-readable devices for storing programming, such as processor executable code or instructions (e.g., software, firmware) , electronic data, databases, or other digital information. The storage medium 1004 may also be used for storing data that is manipulated by the processing circuit 1010 when executing programming. The storage medium 1004 may be any available media that can be accessed by a general purpose or special purpose processor, including portable or fixed  storage devices, optical storage devices, and various other mediums capable of storing, containing or carrying programming.
By way of example and not limitation, the storage medium 1004 may include a magnetic storage device (e.g., hard disk, floppy disk, magnetic strip) , an optical disk (e.g., a compact disc (CD) or a digital versatile disc (DVD) ) , a smart card, a flash memory device (e.g., a card, a stick, or a key drive) , a random access memory (RAM) , a read only memory (ROM) , a programmable ROM (PROM) , an erasable PROM (EPROM) , an electrically erasable PROM (EEPROM) , a register, a removable disk, and any other suitable medium for storing software and/or instructions that may be accessed and read by a computer. The storage medium 1004 may be embodied in an article of manufacture (e.g., a computer program product) . By way of example, a computer program product may include a computer-readable medium in packaging materials. In view of the above, in some implementations, the storage medium 1004 may be a non-transitory (e.g., tangible) storage medium.
The storage medium 1004 may be coupled to the processing circuit 1010 such that the processing circuit 1010 can read information from, and write information to, the storage medium 1004. That is, the storage medium 1004 can be coupled to the processing circuit 1010 so that the storage medium 1004 is at least accessible by the processing circuit 1010, including examples where at least one storage medium is integral to the processing circuit 1010 and/or examples where at least one storage medium is separate from the processing circuit 1010 (e.g., resident in the apparatus 1000, external to the apparatus 1000, distributed across multiple entities, etc. ) .
Programming stored by the storage medium 1004, when executed by the processing circuit 1010, causes the processing circuit 1010 to perform one or more of the various functions and/or process operations described herein. For example, the storage medium 1004 may include operations configured for regulating operations at one or more hardware blocks of the processing circuit 1010, as well as to utilize the communication interface 1002 for wireless communication utilizing their respective communication protocols. In some aspects, the storage medium 1004 may be a non-transitory computer-readable medium storing computer-executable code, including code to perform operations as described herein.
The processing circuit 1010 is generally adapted for processing, including the execution of such programming stored on the storage medium 1004. As used herein, the terms “code” or “programming” shall be construed broadly to include without  limitation instructions, instruction sets, data, code, code segments, program code, programs, programming, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
The processing circuit 1010 is arranged to obtain, process and/or send data, control data access and storage, issue commands, and control other desired operations. The processing circuit 1010 may include circuitry configured to implement desired programming provided by appropriate media in at least one example. For example, the processing circuit 1010 may be implemented as one or more processors, one or more controllers, and/or other structure configured to execute executable programming. Examples of the processing circuit 1010 may include a general purpose processor, a digital signal processor (DSP) , an application specific integrated circuit (ASIC) , a field programmable gate array (FPGA) or other programmable logic component, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may include a microprocessor, as well as any conventional processor, controller, microcontroller, or state machine. The processing circuit 1010 may also be implemented as a combination of computing components, such as a combination of a DSP and a microprocessor, a number of microprocessors, one or more microprocessors in conjunction with a DSP core, an ASIC and a microprocessor, or any other number of varying configurations. These examples of the processing circuit 1010 are for illustration and other suitable configurations within the scope of the disclosure are also contemplated.
According to one or more aspects of the disclosure, the processing circuit 1010 may be adapted to perform any or all of the features, processes, functions, operations and/or routines for any or all of the apparatuses described herein. For example, the processing circuit 1010 may be configured to perform any of the steps, functions, and/or processes described with respect to FIGs. 1 -9 and 11 -14. As used herein, the term “adapted” in relation to the processing circuit 1010 may refer to the processing circuit 1010 being one or more of configured, used, implemented, and/or programmed to perform a particular process, function, operation and/or routine according to various features described herein.
The processing circuit 1010 may be a specialized processor, such as an application specific integrated circuit (ASIC) that serves as a means for (e.g., structure for) carrying out any one of the operations described in conjunction with 1 -9 and 11 -14. The processing circuit 1010 may serve as one example of a means for transmitting and/or a means for receiving. In various implementations, the processing circuit 1010 may provide and/or incorporate the functionality of the second wireless communication device 204 (e.g., the decoder 214) of FIG. 2 or the decoder 1704 of FIG. 17.
According to at least one example of the apparatus 1000, the processing circuit 1010 may include one or more of a circuit/module for decoding 1020, a circuit/module for receiving 1022, a circuit/module for communicating 1024, a circuit/module for soft-combining 1026, or a circuit/module for pruning 1028. In various implementations, the circuit/module for decoding 1020, the circuit/module for receiving 1022, the circuit/module for communicating 1024, the circuit/module for soft-combining 1026, or the circuit/module for pruning 1028 may provide and/or incorporate, at least in part, the functionality described above for the second wireless communication device 204 (e.g., the decoder 214) of FIG. 2 or the decoder 1704 of FIG. 17.
As mentioned above, programming stored by the storage medium 1004, when executed by the processing circuit 1010, causes the processing circuit 1010 to perform one or more of the various functions and/or process operations described herein. For example, the programming may cause the processing circuit 1010 to perform the various functions, steps, and/or processes described herein with respect to FIGs. 1 -9 and 11 -14. As shown in FIG. 10, the storage medium 1004 may include one or more of code for decoding 1030, code for receiving 1032, code for communicating 1034, code for soft-combining 1036, or code for pruning 1038. In various implementations, the code for decoding 1030, the code for receiving 1032, the code for communicating 1034, the code for soft-combining 1036, or the code for pruning 1038 may be executed or otherwise used to provide the functionality described herein for the circuit/module for decoding 1020, the circuit/module for receiving 1022, the circuit/module for communicating 1024, the circuit/module for soft-combining 1026, or the circuit/module for pruning 1028.
The circuit/module for decoding 1020 may include circuitry and/or programming (e.g., code for decoding 1030 stored on the storage medium 1004) adapted to perform several functions relating to, for example, decoding information. In  some aspects, the circuit/module for decoding 1020 (e.g., a means for decoding) may correspond to, for example, a processing circuit.
In some aspects, the circuit/module for decoding 1020 may execute a decoding algorithm. For example, the circuit/module for decoding 1020 may perform a list decoding algorithm. In some aspects, the circuit/module for decoding 1020 may perform the encoding operations described herein conjunction with FIGs. 1 -9. The circuit/module for decoding 1020 may then output the resulting decoded information (e.g., to the circuit/module for pruning 1028, the memory device 1008, the communication interface 1002, or some other component) or use the results internally.
The circuit/module for receiving 1022 may include circuitry and/or programming (e.g., code for receiving 1032 stored on the storage medium 1004) adapted to perform several functions relating to, for example, receiving information. In some scenarios, the circuit/module for receiving 1022 may obtain information (e.g., from the communication interface 1002, the memory device, or some other component of the apparatus 1000) and process (e.g., decode) the information. In some scenarios (e.g., if the circuit/module for receiving 1022 is or includes an RF receiver) , the circuit/module for receiving 1022 may receive information directly from a device that transmitted the information. In either case, the circuit/module for receiving 1022 may output the obtained information to another component of the apparatus 1000 (e.g., the circuit/module for decoding 1020, the memory device 1008, or some other component) .
The circuit/module for receiving 1022 (e.g., a means for receiving) may take various forms. In some aspects, the circuit/module for receiving 1022 may correspond to,for example, an interface (e.g., a bus interface, a /receive interface, or some other type of signal interface) , a communication device, a transceiver, a receiver, or some other similar component as discussed herein. In some implementations, the communication interface 1002 includes the circuit/module for receiving 1022 and/or the code for receiving 1032. In some implementations, the circuit/module for receiving 1022 and/or the code for receiving 1032 is configured to control the communication interface 1002 (e.g., a transceiver or a receiver) to receive information.
The circuit/module for communicating 1024 may include circuitry and/or programming (e.g., code for communicating 1034 stored on the storage medium 1004) adapted to perform several functions relating to, for example, communicating information. In some implementations, the communication involves receiving the  information. In some implementations, the communication involves sending (e.g., transmitting) the information.
In some implementations where the communicating involves receiving information, the circuit/module for communicating 1024 receives information (e.g., from the communication interface 1002, the receiver 1016, the memory device 1008, some other component of the apparatus 1000, or some other device) , processes (e.g., decodes) the information, and outputs the information to another component of the apparatus 1000 (e.g., the circuit/module for decoding 1020, the memory device 1008, or some other component) . In some scenarios (e.g., if the circuit/module for communicating 1024 includes a receiver) , the communicating involves the circuit/module for communicating 1024 receiving information directly from a device that transmitted the information (e.g., via radio frequency signaling or some other type of signaling suitable for the applicable communication medium) .
In some implementations where the communicating involves sending information, the circuit/module for communicating 1024 obtains information (e.g., from the memory device 1008 or some other component of the apparatus 1000) , processes (e.g., encodes for transmission) the information, and outputs the processed information. In some scenarios, the communicating involves sending the information to another component of the apparatus 1000 (e.g., the transmitter 1014, the communication interface 1002, or some other component) that will transmit the information to another device. In some scenarios (e.g., if the circuit/module for communicating 1024 includes a transmitter) , the communicating involves the circuit/module for communicating 1024 transmitting the information directly to another device (e.g., the ultimate destination) via radio frequency signaling or some other type of signaling suitable for the applicable communication medium.
The circuit/module for communicating 1024 (e.g., a means for communicating) may take various forms. In some aspects, the circuit/module for communicating 1024 may correspond to, for example, an interface (e.g., a bus interface, a send/receive interface, or some other type of signal interface) , a communication device, a transceiver, a transmitter, a receiver, or some other similar component as discussed herein. In some implementations, the communication interface 1002 includes the circuit/module for communicating 1024 and/or the code for communicating 1034. In some implementations, the circuit/module for communicating 1024 and/or the code for  communicating 1034 is configured to control the communication interface 1002 (e.g., a transceiver, a receiver, or a transmitter) to communicate the information.
The circuit/module for soft-combining 1026 may include circuitry and/or programming (e.g., code for soft-combining 1036 stored on the storage medium 1004) adapted to perform several functions relating to, for example, soft-combining information. In some aspects, the circuit/module for soft-combining 1026 (e.g., a means for soft-combining) may correspond to, for example, a processing circuit.
In some aspects, the circuit/module for soft-combining 1026 may execute a soft-combining algorithm. For example, the circuit/module for soft-combining 1026 may perform the soft-combining operations described herein conjunction with FIGs. 1 -9. The circuit/module for soft-combining 1026 may then output the resulting information (e.g., to the circuit/module for decoding 1020, the memory device 1008, the communication interface 1002, or some other component) .
The circuit/module for pruning 1028 may include circuitry and/or programming (e.g., code for pruning 1038 stored on the storage medium 1004) adapted to perform several functions relating to, for example, soft-combining information. In some aspects, the circuit/module for pruning 1028 (e.g., a means for pruning) may correspond to, for example, a processing circuit.
In some aspects, the circuit/module for pruning 1028 may execute a pruning algorithm. For example, the circuit/module for pruning 1028 may perform the pruning operations described herein conjunction with FIGs. 1 -9. The circuit/module for pruning 1028 may then output the resulting information (e.g., to the circuit/module for decoding 1020, the memory device 1008, the communication interface 1002, or some other component) .
First Example Process
FIG. 11 illustrates a process 1100 for communication in accordance with some aspects of the disclosure. The process 1100 may take place within a processing circuit (e.g., the processing circuit 1010 of FIG. 10) , which may be located in an access terminal, a base station, or some other suitable apparatus (e.g., that includes a decoder) . Of course, in various aspects within the scope of the disclosure, the process 1100 may be implemented by any suitable apparatus capable of supporting signaling-related operations.
At block 1102, an apparatus (e.g., a device that includes a decoder) decodes a first set of bits from a first transmission. In some aspects, the first set of bits may correspond to a first subset of bits and a second subset of bits. In some aspects, the bits may be Polar coded bits. In some aspects, the bits may be systematic Polar coded bits.
In some implementations, the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1102. In some implementations, the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1102.
At block 1104, the apparatus receives a second transmission associated with the first transmission, the second transmission including a second set of bits without cyclic redundancy check (CRC) information, and the second set of bits corresponding to the second subset of bits.
In some implementations, the circuit/module for receiving 1022 of FIG. 10 performs the operations of block 1104. In some implementations, the code for receiving 1032 of FIG. 10 is executed to perform the operations of block 1104.
At block 1106, the apparatus decodes the second set of bits. The bits may take different forms in different implementations. In some aspects, the first set of bits and the second set of bits may be systematic coded bits. In some aspects, the first set of bits and the second set of bits may be Polar coded bits.
In some implementations, the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1106. In some implementations, the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1106.
At block 1108, the apparatus decodes the first set of bits using the decoded second set of bits.
In some implementations, the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1108. In some implementations, the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1108.
The decoding may take different forms in different implementations. In some aspects, the decoding may include list decoding.
In some aspects, the decoding of the first set of bits may involve decoding the second subset of bits; and the decoding of the first set of bits using the decoded second set of bits may include using candidate vectors from the decoding of the second set of bits instead of candidate vectors from the decoding of the second subset of bits.
In some aspects, the decoding of the first set of bits may involve generating a decoded second subset of bits; the decoding of the second set of bits may involve  generating a decoded second set of bits; and the decoding of the first set of bits using the decoded second set of bits may include: soft-combining the decoded second subset of bits and the decoded second set of bits to generate soft-combined bits, and recovering the first set of bits based on the soft-combined bits. In some aspects, the soft-combining may include generating candidate vectors; and the decoding of the first set of bits using the decoded second set of bits may be based on the candidate vectors.
In some aspects, a process may include any combination of the aspects described above.
Second Example Process
FIG. 12 illustrates a process 1200 for communication in accordance with some aspects of the disclosure. The process 1200 may take place within a processing circuit (e.g., the processing circuit 1010 of FIG. 10) , which may be located in an access terminal, a base station, or some other suitable apparatus (e.g., that includes a decoder) . Of course, in various aspects within the scope of the disclosure, the process 1200 may be implemented by any suitable apparatus capable of supporting signaling-related operations.
At block 1202, an apparatus (e.g., a device that includes a decoder) decodes a first set of bits from a first transmission. In some aspects, the first set of bits may correspond to a first subset of bits and to a second subset of bits that includes cyclic redundancy check (CRC) information. In some aspects, the bits may be Polar coded bits. In some aspects, the bits may be systematic Polar coded bits.
In some implementations, the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1202. In some implementations, the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1202.
At block 1204, the apparatus receives a second transmission associated with the first transmission, the second transmission including a second set of bits with the cyclic redundancy check (CRC) information, and the second set of bits corresponding to the second subset of bits.
In some aspects, the first subset of bits may include other CRC information; and the CRC information of the second subset of bits may be independent of the other CRC information of the first subset of bits.
In some implementations, the circuit/module for receiving 1022 of FIG. 10 performs the operations of block 1204. In some implementations, the code for receiving 1032 of FIG. 10 is executed to perform the operations of block 1204.
At block 1206, the apparatus decodes the second set of bits. The bits may take different forms in different implementations. In some aspects, the first set of bits and the second set of bits may be systematic coded bits. In some aspects, the first set of bits and the second set of bits may be Polar coded bits.
In some implementations, the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1206. In some implementations, the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1206.
At block 1208, the apparatus decodes the first set of bits using the decoded second set of bits.
In some implementations, the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1208. In some implementations, the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1208.
The decoding may take different forms in different implementations. In some aspects, the decoding may include list decoding.
In some aspects, the decoding of the first set of bits using the decoded second set of bits may include: pruning candidate vectors from the decoding of the second set of bits through use of the CRC information; and recovering the first set of bits based on the pruned candidate vectors.
In some aspects, a process may include any combination of the aspects described above.
Third Example Process
FIG. 13 illustrates a process 1300 for communication in accordance with some aspects of the disclosure. One or more aspects of the process 1300 may be used in conjunction with (e.g., in addition to or as part of) the process 1100 of FIG. 11 and/or the process 1200 of FIG. 12. The process 1300 may take place within a processing circuit (e.g., the processing circuit 1010 of FIG. 10) , which may be located in an access terminal, a base station, or some other suitable apparatus (e.g., that includes a decoder) . Of course, in various aspects within the scope of the disclosure, the process 1300 may be implemented by any suitable apparatus capable of supporting signaling-related operations.
At block 1302, an apparatus (e.g., a device that includes a decoder) receives a first transmission including a first set of bits, the first set of bits including a first subset of bits and a second subset of bits.
In some implementations, the circuit/module for receiving 1022 of FIG. 10 performs the operations of block 1302. In some implementations, the code for receiving 1032 of FIG. 10 is executed to perform the operations of block 1302.
At block 1304, the apparatus decodes the first set of bits.
In some implementations, the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1304. In some implementations, the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1304.
At block 1306, the apparatus receives a second transmission including a second set of bits.
In some implementations, the circuit/module for receiving 1022 of FIG. 10 performs the operations of block 1306. In some implementations, the code for receiving 1032 of FIG. 10 is executed to perform the operations of block 1306.
At block 1308, the apparatus decodes the second set of bits.
In some implementations, the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1308. In some implementations, the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1308.
At block 1310, the apparatus soft-combines the decoded second subset of bits and the decoded second set of bits to generate soft-combined bits.
In some implementations, the circuit/module for soft-combining 1026 of FIG. 10 performs the operations of block 1310. In some implementations, the code for soft-combining 1036 of FIG. 10 is executed to perform the operations of block 1310.
At block 1312, the apparatus decodes the first set of bits using the soft-combined bits.
In some implementations, the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1312. In some implementations, the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1312.
In some aspects, a process may include any combination of the aspects described above.
Fourth Example Process
FIG. 14 illustrates a process 1400 for communication in accordance with some aspects of the disclosure. One or more aspects of the process 1400 may be used in conjunction with (e.g., in addition to or as part of) the process 1100 of FIG. 11 and/or the process 1200 of FIG. 12. The process 1400 may take place within a processing circuit (e.g., the processing circuit 1010 of FIG. 10) , which may be located in an access terminal, a base station, or some other suitable apparatus (e.g., that includes a decoder) . Of course, in various aspects within the scope of the disclosure, the process 1400 may be implemented by any suitable apparatus capable of supporting signaling-related operations.
At block 1402, an apparatus (e.g., a device that includes a decoder) receives a first transmission including a first set of bits, the first set of bits including a first subset of bits and a second subset of bits that includes CRC information.
In some implementations, the circuit/module for receiving 1022 of FIG. 10 performs the operations of block 1402. In some implementations, the code for receiving 1032 of FIG. 10 is executed to perform the operations of block 1402.
At block 1404, the apparatus decodes the first set of bits.
In some implementations, the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1404. In some implementations, the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1404.
At block 1406, the apparatus receives a second transmission including a second set of bits that includes the CRC information.
In some implementations, the circuit/module for receiving 1022 of FIG. 10 performs the operations of block 1406. In some implementations, the code for receiving 1032 of FIG. 10 is executed to perform the operations of block 1406.
At block 1408, the apparatus decodes the second set of bits.
In some implementations, the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1408. In some implementations, the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1408.
At block 1410, the apparatus prunes candidate vectors from the decoding of the second set of bits through use of the CRC information.
In some implementations, the circuit/module for pruning 1028 of FIG. 10 performs the operations of block 1410. In some implementations, the code for pruning 1038 of FIG. 10 is executed to perform the operations of block 1410.
At block 1412, the apparatus decodes the first set of bits using the pruned candidate vectors.
In some implementations, the circuit/module for decoding 1020 of FIG. 10 performs the operations of block 1412. In some implementations, the code for decoding 1030 of FIG. 10 is executed to perform the operations of block 1412.
In some aspects, a process may include any combination of the aspects described above.
Second Example Apparatus
FIG. 15 illustrates a block diagram of an example hardware implementation of an apparatus 1500 configured to provide encoding according to one or more aspects of the disclosure. The apparatus 1500 could embody or be implemented within a UE, a TRP, a gNB, a base station, or some other type of device that supports encoding as taught herein. In various implementations, the apparatus 1500 could embody or be implemented within an access terminal, an access point, or some other type of device. In various implementations, the apparatus 1500 could embody or be implemented within a mobile phone, a smart phone, a tablet, a portable computer, a server, a network entity, a personal computer, a sensor, an alarm, a vehicle, a machine, an entertainment device, a medical device, or any other electronic device having circuitry.
The apparatus 1500 includes a communication interface (e.g., at least one transceiver) 1502, a storage medium 1504, a user interface 1506, a memory device 1508 (e.g., storing coding information 1518) , and a processing circuit (e.g., at least one processor) 1510. In various implementations, the user interface 1506 may include one or more of: a keypad, a display, a speaker, a microphone, a touchscreen display, of some other circuitry for receiving an input from or sending an output to a user. The communication interface 1502 may be coupled to one or more antennas 1512, and may include a transmitter 1514 and a receiver 1516. In general, the components of FIG. 15 may be similar to corresponding components of the apparatus 1000 of FIG. 10.
According to one or more aspects of the disclosure, the processing circuit 1510 may be adapted to perform any or all of the features, processes, functions, operations and/or routines for any or all of the apparatuses described herein. For example, the processing circuit 1510 may be configured to perform any of the steps, functions, and/or processes described with respect to FIGs. 1 -9 and 16. As used herein, the term “adapted” in relation to the processing circuit 1510 may refer to the processing circuit  1510 being one or more of configured, used, implemented, and/or programmed to perform a particular process, function, operation and/or routine according to various features described herein.
The processing circuit 1510 may be a specialized processor, such as an application-specific integrated circuit (ASIC) that serves as a means for (e.g., structure for) carrying out any one of the operations described in conjunction with FIGs. 1 -9 and 16. The processing circuit 1510 serves as one example of a means for transmitting and/or a means for receiving. In various implementations, the processing circuit 1510 may provide and/or incorporate the functionality of the first wireless communication device 202 (e.g., the encoder 212) of FIG. 2 or the encoder 1702 of FIG. 17.
According to at least one example of the apparatus 1500, the processing circuit 1510 may include one or more of a circuit/module for encoding 1520, a circuit/module for transmitting 1522, a circuit/module for determining 1524, or a circuit/module for generating CRC information 1526. In various implementations, the circuit/module for encoding 1520, the circuit/module for transmitting 1522, the circuit/module for determining 1524, or the circuit/module for generating CRC information 1526 may provide and/or incorporate, at least in part, the functionality described above for the first wireless communication device 152 (e.g., the encoder 212) of FIG. 2 or the encoder 1702 of FIG. 17.
As mentioned above, programming stored by the storage medium 1504, when executed by the processing circuit 1510, causes the processing circuit 1510 to perform one or more of the various functions and/or process operations described herein. For example, the programming may cause the processing circuit 1510 to perform the various functions, steps, and/or processes described herein with respect to FIGs. 1 -9 and 16 in various implementations. As shown in FIG. 15, the storage medium 1504 may include one or more of code for encoding 1530, code for transmitting 1532, code for determining 1534, or code for generating CRC information 1536. In various implementations, the code for encoding 1530, the code for transmitting 1532, the code for determining 1534, or the code for generating CRC information 1536 may be executed or otherwise used to provide the functionality described herein for the circuit/module for encoding 1520, the circuit/module for transmitting 1522, the circuit/module for determining 1524, or the circuit/module for generating CRC information 1526.
The circuit/module for encoding 1520 may include circuitry and/or programming (e.g., code for encoding 1530 stored on the storage medium 1504) adapted to perform several functions relating to, for example, encoding information. In some aspects, the circuit/module for encoding 1520 (e.g., a means for encoding) may correspond to, for example, a processing circuit.
In some aspects, the circuit/module for encoding 1520 may execute an encoding algorithm. For example, the circuit/module for encoding 1520 may perform a block coding algorithm or a Polar coding algorithm. In some aspects, the circuit/module for encoding 1520 may perform the encoding operations described herein conjunction with FIGs. 1 -9. The circuit/module for encoding 1520 then outputs the resulting encoded information (e.g., to the circuit/module for transmitting 1522, the memory device 1508, the communication interface 1502, or some other component) .
The circuit/module for transmitting 1522 may include circuitry and/or programming (e.g., code for transmitting 1532 stored on the storage medium 1504) adapted to perform several functions relating to, for example, transmitting (e.g., sending) information. In some implementations, the circuit/module for transmitting 1522 may obtain information (e.g., from the circuit/module for encoding 1520, the memory device 1508, or some other component of the apparatus 1500) and process the information (e.g., encode the information for transmission) . In some scenarios, the circuit/module for transmitting 1522 sends the information to another component (e.g., the transmitter 1514, the communication interface 1502, or some other component) that will send the information to another device. In some scenarios (e.g., if the circuit/module for transmitting 1522 includes a transmitter) , the circuit/module for transmitting 1522 transmits the information directly to another device (e.g., the ultimate destination) via radio frequency signaling or some other type of signaling suitable for the applicable communication medium.
The circuit/module for transmitting 1522 (e.g., a means for outputting, a means for sending, a means for transmitting, etc. ) may take various forms. In some aspects, the circuit/module for transmitting 1522 may correspond to, for example, a processing circuit as discussed herein. In some aspects, the circuit/module for transmitting 1522 may correspond to, for example, an interface (e.g., a bus interface, a send interface, or some other type of signal interface) , a communication device, a transceiver, a transmitter, or some other similar component as discussed herein. In some implementations, the communication interface 1502 includes the circuit/module for  transmitting 1522 and/or the code for transmitting 1532. In some implementations, the circuit/module for transmitting 1522 and/or the code for transmitting 1532 is configured to control the communication interface 1502 (e.g., a transceiver or a transmitter) to transmit information.
The circuit/module for determining 1524 may include circuitry and/or programming (e.g., code for determining 1534 stored on the storage medium 1504) adapted to perform several functions relating to, for example, determining whether to perform a second transmission. In some aspects, the circuit/module for determining 1524 (e.g., a means for determining) may correspond to, for example, a processing circuit.
In some scenarios, the circuit/module for determining 1524 may obtain feedback information. For example, the circuit/module for determining 1524 may obtain an ACK or NAK (e.g., from the communication interface 1502, the memory device 1508, or some other component of the apparatus 1500) . The circuit/module for determining 1524 may elect to retransmit if the feedback is a NAK or some other similar value. The circuit/module for determining 1524 may then output an indication of the determination (e.g., to the circuit/module for transmitting 1522, the memory device 1508, or some other component) .
The circuit/module for generating CRC information 1526 may include circuitry and/or programming (e.g., code for generating CRC information 1536 stored on the storage medium 1504) adapted to perform several functions relating to, for example, generating CRC information for different subsets of bits. In some aspects, the circuit/module for generating CRC information 1526 (e.g., a means for generating) may correspond to, for example, a processing circuit.
In some aspects, the circuit/module for generating CRC information 1526 may perform a CRC algorithm based on obtained input information. The circuit/module for generating CRC information 1526 then outputs the resulting CRC (e.g., to the circuit/module for encoding 1520, the memory device 1508, the communication interface 1502, or some other component) .
Fifth Example Process
FIG. 16 illustrates a process 1600 for communication in accordance with some aspects of the disclosure. The process 1600 may take place within a processing circuit (e.g., the processing circuit 1510 of FIG. 15) , which may be located in an access  terminal, a base station, or some other suitable apparatus (e.g., that includes an encoder) . Of course, in various aspects within the scope of the disclosure, the process 1600 may be implemented by any suitable apparatus capable of supporting signaling-related operations.
At block 1602, an apparatus (e.g., a device that includes an encoder) encodes a first set of bits, wherein the first set of bits corresponds to a first subset of bits including first CRC information and a second subset of bits including second CRC information. In some aspects, the encoding of the first set of bits may include Polar coding. In some aspects, the encoding of the first set of bits may include systematic encoding. In some aspects, the first CRC information may be independent of the second CRC information.
In some implementations, the circuit/module for encoding 1520 of FIG. 15 performs the operations of block 1602. In some implementations, the code for encoding 1530 of FIG. 15 is executed to perform the operations of block 1602.
At block 1604, the apparatus transmits the encoded first set of bits.
In some implementations, the circuit/module for transmitting 1522 of FIG. 15 performs the operations of block 1604. In some implementations, the code for transmitting 1532 of FIG. 15 is executed to perform the operations of block 1604.
At block 1606, the apparatus determines that a second transmission is needed.
In some implementations, the circuit/module for determining 1524 of FIG. 15 performs the operations of block 1606. In some implementations, the code for determining 1534 of FIG. 15 is executed to perform the operations of block 1606.
At block 1608, the apparatus encodes a second set of bits including the second CRC information, wherein the second set of bits corresponds to the second subset of bits.
In some implementations, the circuit/module for encoding 1520 of FIG. 15 performs the operations of block 1608. In some implementations, the code for encoding 1530 of FIG. 15 is executed to perform the operations of block 1608.
At block 1610, the apparatus transmits the encoded second set of bits.
In some implementations, the circuit/module for transmitting 1522 of FIG. 15 performs the operations of block 1610. In some implementations, the code for transmitting 1532 of FIG. 15 is executed to perform the operations of block 1610.
In some aspects, a process may include any combination of the aspects described above.
Example Encoder and Decoder
FIG. 17 illustrates an example encoder 1702 and an example decoder 1704 constructed in accordance with the teachings herein. In some aspects, the encoder 1702 and the decoder 1704 may correspond to the encoder 212 and the decoder 214 of FIG. 2, respectively.
The encoder 1702 encodes data 1706 to generate encoded data 1708. In accordance with the teachings herein, the encoder 1702 may include a module for Polar coding optionally including CRC from a first transmission in a second transmission 1710.
The decoder 1704 decodes the encoded data 1708 (e.g., after transmission over a communication channel, not shown) to provide recovered data 1712. In accordance with the teachings herein, the decoder 1704 may include a module for decoding a first transmission based on a second transmission 1714.
In some implementations, the encoder 1702 may include an interface 1716, an interface 1718, or both. Such an interface may include, for example, an interface bus, bus drivers, bus receivers, other suitable circuitry, or a combination thereof. For example, the interface 1716 may include receiver devices, buffers, or other circuitry for receiving a signal. As another example, the interface 1718 may include output devices, drivers, or other circuitry for sending a signal. In some implementations, the  interfaces  1716 and 1718 may be configured to interface one or more other components of the encoder 1702 (other components not shown in FIG. 17) .
In some implementations, the decoder 1704 may include an interface 1720, an interface 1722, or both. Such an interface may include, for example, an interface bus, bus drivers, bus receivers, other suitable circuitry, or a combination thereof. For example, the interface 1720 may include receiver devices, buffers, or other circuitry for receiving a signal. As another example, the interface 1722 may include output devices, drivers, or other circuitry for sending a signal. In some implementations, the interfaces 1720 and 1722 may be configured to interface one or more other components of the decoder 1704 (other components not shown in FIG. 17) .
The encoder 1702 and the decoder 1704 may take different forms in different implementations. In some cases, the encoder 1702 and/or the decoder 1704 may be an integrated circuit. In some cases, the encoder 1702 and/or the decoder 1704 may be included in an integrated circuit that includes other circuitry (e.g., a processor and related circuitry) .
Additional Aspects
The examples set forth herein are provided to illustrate certain concepts of the disclosure. Those of ordinary skill in the art will comprehend that these are merely illustrative in nature, and other examples may fall within the scope of the disclosure and the appended claims. Based on the teachings herein those skilled in the art should appreciate that an aspect disclosed herein may be implemented independently of any other aspects and that two or more of these aspects may be combined in various ways. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects set forth herein. In addition, such an apparatus may be implemented or such a method may be practiced using other structure, functionality, or structure and functionality in addition to or other than one or more of the aspects set forth herein.
As those skilled in the art will readily appreciate, various aspects described throughout this disclosure may be extended to any suitable telecommunication system, network architecture, and communication standard. By way of example, various aspects may be applied to wide area networks, peer-to-peer network, local area network, other suitable systems, or any combination thereof, including those described by yet-to-be defined standards.
Many aspects are described in terms of sequences of actions to be performed by, for example, elements of a computing device. It will be recognized that various actions described herein can be performed by specific circuits, for example, central processing units (CPUs) , graphic processing units (GPUs) , digital signal processors (DSPs) , application specific integrated circuits (ASICs) , field programmable gate arrays (FPGAs) , or various other types of general purpose or special purpose processors or circuits, by program instructions being executed by one or more processors, or by a combination of both. Additionally, these sequence of actions described herein can be considered to be embodied entirely within any form of computer readable storage medium having stored therein a corresponding set of computer instructions that upon execution would cause an associated processor to perform the functionality described herein. Thus, the various aspects of the disclosure may be embodied in a number of different forms, all of which have been contemplated to be within the scope of the claimed subject matter. In addition, for each of the aspects described herein, the  corresponding form of any such aspects may be described herein as, for example, “logic configured to” perform the described action.
Those of skill in the art will appreciate that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
Further, those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the aspects disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosure.
One or more of the components, steps, features and/or functions illustrated in above may be rearranged and/or combined into a single component, step, feature or function or embodied in several components, steps, or functions. Additional elements, components, steps, and/or functions may also be added without departing from novel features disclosed herein. The apparatus, devices, and/or components illustrated above may be configured to perform one or more of the methods, features, or steps described herein. The novel algorithms described herein may also be efficiently implemented in software and/or embedded in hardware.
It is to be understood that the specific order or hierarchy of steps in the methods disclosed is an illustration of example processes. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the methods may be rearranged. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented unless specifically recited therein.
The methods, sequences or algorithms described in connection with the aspects disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An example of a storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration. ” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects. Likewise, the term “aspects” does not require that all aspects include the discussed feature, advantage or mode of operation.
The terminology used herein is for the purpose of describing particular aspects only and is not intended to be limiting of the aspects. As used herein, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises, ” “comprising, ” “includes” or “including, ” when used herein, specify the presence of stated features, integers, steps, operations, elements, or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or groups thereof. Moreover, it is understood that the word “or” has the same meaning as the Boolean operator “OR, ” that is, it encompasses the possibilities of “either” and “both” and is not limited to “exclusive or” ( “XOR” ) , unless expressly stated otherwise. It is also understood that the symbol “/” between two adjacent words has the same meaning as “or” unless expressly stated otherwise. Moreover, phrases such as “connected to, ” “coupled to” or “in communication with” are not limited to direct connections unless expressly stated otherwise.
Any reference to an element herein using a designation such as “first, ” “second, ” and so forth does not generally limit the quantity or order of those elements. Rather, these designations may be used herein as a convenient method of distinguishing between two or more elements or instances of an element. Thus, a reference to first and second elements does not mean that only two elements may be used there or that the first element must precede the second element in some manner. Also, unless stated otherwise a set of elements may comprise one or more elements. In addition,  terminology of the form “at least one of a, b, or c” or “a, b, or c, or any combination thereof” used in the description or the claims means “aor b or c or any combination of these elements. ” For example, this terminology may include a, or b, or c, or a and b, or a and c, or a and b and c, or 2a, or 2b, or 2c, or 2a and b, and so on.
As used herein, the term “determining” encompasses a wide variety of actions. For example, “determining” may include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure) , ascertaining, and the like. Also, “determining” may include receiving (e.g., receiving information) , accessing (e.g., accessing data in a memory) , and the like. Also, “determining” may include resolving, selecting, choosing, establishing, and the like.
While the foregoing disclosure shows illustrative aspects, it should be noted that various changes and modifications could be made herein without departing from the scope of the appended claims. The functions, steps or actions of the method claims in accordance with aspects described herein need not be performed in any particular order unless expressly stated otherwise. Furthermore, although elements may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.

Claims (33)

  1. A method of communication, comprising:
    decoding a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and a second subset of bits;
    receiving a second transmission associated with the first transmission, the second transmission including a second set of bits without cyclic redundancy check (CRC) information, and the second set of bits corresponding to the second subset of bits;
    decoding the second set of bits; and
    decoding the first set of bits using the decoded second set of bits.
  2. The method of claim 1, wherein:
    the decoding of the first set of bits involves decoding the second subset of bits; and
    the decoding of the first set of bits using the decoded second set of bits comprises using candidate vectors from the decoding of the second set of bits instead of candidate vectors from the decoding of the second subset of bits.
  3. The method of claim 1, wherein:
    the decoding of the first set of bits involves generating a decoded second subset of bits; and
    the decoding of the first set of bits using the decoded second set of bits comprises:
    soft-combining the decoded second subset of bits and the decoded second set of bits to generate soft-combined bits, and
    recovering the first set of bits based on the soft-combined bits.
  4. The method of claim 3, wherein:
    the soft-combining comprises generating candidate vectors; and
    the decoding of the first set of bits using the decoded second set of bits is based on the candidate vectors.
  5. The method of claim 1, wherein the first set of bits and the second set of bits are systematic coded bits.
  6. The method of claim 1, wherein the first set of bits and the second set of bits are Polar coded bits.
  7. The method of claim 1, wherein the decoding comprises list decoding.
  8. An apparatus for communication comprising:
    a memory; and
    a processor coupled to the memory, the processor and the memory configured to:
    decode a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and a second subset of bits;
    receive a second transmission associated with the first transmission, the second transmission including a second set of bits without cyclic redundancy check (CRC) information, and the second set of bits corresponding to the second subset of bits;
    decode the second set of bits; and
    decode the first set of bits using the decoded second set of bits.
  9. The apparatus of claim 8, wherein:
    the decoding of the first set of bits involves decoding the second subset of bits; and
    the decoding of the first set of bits using the decoded second set of bits comprises using candidate vectors from the decoding of the second set of bits instead of candidate vectors from the decoding of the second subset of bits.
  10. The apparatus of claim 8, wherein:
    the decoding of the first set of bits involves generating a decoded second subset of bits; and
    the decoding of the first set of bits using the decoded second set of bits comprises:
    soft-combining the decoded second subset of bits and the decoded second set of bits to generate soft-combined bits, and
    recovering the first set of bits based on the soft-combined bits.
  11. The apparatus of claim 10, wherein:
    the soft-combining comprises generating candidate vectors; and
    the decoding of the first set of bits using the decoded second set of bits is based on the candidate vectors.
  12. An apparatus for communication comprising:
    means for decoding a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and a second subset of bits; and
    means for receiving a second transmission associated with the first transmission, the second transmission including a second set of bits without cyclic redundancy check (CRC) information, and the second set of bits corresponding to the second subset of bits,
    wherein the means for decoding is configured to decode the second set of bits and to further decode the first set of bits using the decoded second set of bits.
  13. A non-transitory computer-readable medium storing computer-executable code, including code to:
    decode a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and a second subset of bits;
    receive a second transmission associated with the first transmission, the second transmission including a second set of bits without cyclic redundancy check (CRC) information, and the second set of bits corresponding to the second subset of bits;
    decode the second set of bits; and
    decode the first set of bits using the decoded second set of bits.
  14. A method of communication, comprising:
    decoding a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and to a second subset of bits that includes cyclic redundancy check (CRC) information;
    receiving a second transmission associated with the first transmission, the second transmission including a second set of bits with the CRC information, and the second set of bits corresponding to the second subset of bits;
    decoding the second set of bits; and
    decoding the first set of bits using the decoded second set of bits.
  15. The method of claim 14, wherein the decoding of the first set of bits using the decoded second set of bits comprises:
    pruning candidate vectors from the decoding of the second set of bits through use of the CRC information; and
    recovering the first set of bits based on the pruned candidate vectors.
  16. The method of claim 14, wherein:
    the first subset of bits includes other CRC information; and
    the CRC information of the second subset of bits is independent of the other CRC information of the first subset of bits.
  17. The method of claim 14, wherein the first set of bits and the second set of bits are systematic coded bits.
  18. The method of claim 14, wherein the first set of bits and the second set of bits are Polar coded bits.
  19. The method of claim 14, wherein the decoding comprises list decoding.
  20. An apparatus for communication comprising:
    a memory; and
    a processor coupled to the memory, the processor and the memory configured to:
    decode a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and to a second subset of bits that includes cyclic redundancy check (CRC) information;
    receive a second transmission associated with the first transmission, the second transmission including a second set of bits with the CRC information, and the second set of bits corresponding to the second subset of bits;
    decode the second set of bits; and
    decode the first set of bits using the decoded second set of bits.
  21. The apparatus of claim 20, wherein the decoding of the first set of bits using the decoded second set of bits comprises:
    pruning candidate vectors from the decoding of the second set of bits through use of the CRC information; and
    recovering the first set of bits based on the pruned candidate vectors.
  22. The apparatus of claim 20, wherein:
    the first subset of bits includes other CRC information; and
    the CRC information of the second subset of bits is independent of the other CRC information of the first subset of bits.
  23. An apparatus for communication comprising:
    means for decoding a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and to a second subset of bits that includes cyclic redundancy check (CRC) information; and
    receiving a second transmission associated with the first transmission, the second transmission including a second set of bits with the CRC information, and the second set of bits corresponding to the second subset of bits,
    wherein the means for decoding is configured to decode the second set of bits and to further decode the first set of bits using the decoded second set of bits.
  24. A non-transitory computer-readable medium storing computer-executable code, including code to:
    decode a first set of bits from a first transmission, wherein the first set of bits corresponds to a first subset of bits and to a second subset of bits that includes cyclic redundancy check (CRC) information;
    receive a second transmission associated with the first transmission, the second transmission including a second set of bits with the CRC information, and the second set of bits corresponding to the second subset of bits;
    decode the second set of bits; and
    decode the first set of bits using the decoded second set of bits.
  25. A method of communication, comprising:
    encoding a first set of bits to provide a first subset of bits including first cyclic redundancy check (CRC) information and a second subset of bits including second CRC information;
    transmitting the encoded first set of bits;
    determining that a second transmission is needed;
    encoding the second subset of bits to provide a second set of bits including the second CRC information; and
    transmitting the second set of bits.
  26. The method of claim 25, wherein:
    the first CRC information is independent of the second CRC information.
  27. The method of claim 25, wherein the encoding of the first set of bits comprises Polar coding.
  28. The method of claim 25, wherein the encoding of the first set of bits comprises systematic coding.
  29. An apparatus for communication comprising:
    a memory; and
    a processor coupled to the memory, the processor and the memory configured to:
    encode a first set of bits to provide a first subset of bits including first cyclic redundancy check (CRC) information and a second subset of bits including second CRC information;
    transmit the encoded first set of bits;
    determine that a second transmission is needed;
    encode the second subset of bits to provide a second set of bits including the second CRC information; and
    transmit the second set of bits.
  30. The apparatus of claim 29, wherein:
    the first CRC information is independent of the second CRC information.
  31. The apparatus of claim 29, wherein the encoding of the first set of bits comprises Polar coding, systematic coding, or a combination thereof.
  32. An apparatus for communication comprising:
    means for encoding a first set of bits to provide a first subset of bits including first cyclic redundancy check (CRC) information and a second subset of bits including second CRC information;
    means for transmitting the encoded first set of bits; and
    means for determining that a second transmission is needed,
    wherein the means for encoding is configured to encode the second subset of bits to provide a second set of bits including the second CRC information, and
    wherein the means for transmitting is configured to transmit the second set of bits.
  33. A non-transitory computer-readable medium storing computer-executable code, including code to:
    encode a first set of bits to provide a first subset of bits including first cyclic redundancy check (CRC) information and a second subset of bits including second CRC information;
    transmit the encoded first set of bits;
    determine that a second transmission is needed;
    encode the second subset of bits to provide a second set of bits including the second CRC information; and
    transmit the second set of bits.
PCT/CN2017/092459 2016-09-27 2017-07-11 Encoding and decoding techniques WO2018059066A1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
AU2017333145A AU2017333145B2 (en) 2016-09-27 2017-07-11 Encoding and decoding techniques
CN201780058870.6A CN109792335B (en) 2016-09-27 2017-07-11 Method and apparatus for encoding and decoding
BR112019005918A BR112019005918A2 (en) 2016-09-27 2017-07-11 coding and decoding techniques
US16/336,213 US11211946B2 (en) 2016-09-27 2017-07-11 Encoding and decoding techniques
EP17854520.8A EP3520274A4 (en) 2016-09-27 2017-07-11 Encoding and decoding techniques
TW106131514A TWI749063B (en) 2016-09-27 2017-09-14 Encoding and decoding techniques
US17/522,693 US20220069841A1 (en) 2016-09-27 2021-11-09 Encoding and decoding techniques

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/CN2016/100311 WO2018058294A1 (en) 2016-09-27 2016-09-27 Harq techniques for polar codes
CNPCT/CN2016/100311 2016-09-27

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/336,213 A-371-Of-International US11211946B2 (en) 2016-09-27 2017-07-11 Encoding and decoding techniques
US17/522,693 Division US20220069841A1 (en) 2016-09-27 2021-11-09 Encoding and decoding techniques

Publications (1)

Publication Number Publication Date
WO2018059066A1 true WO2018059066A1 (en) 2018-04-05

Family

ID=61762522

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/CN2016/100311 WO2018058294A1 (en) 2016-09-27 2016-09-27 Harq techniques for polar codes
PCT/CN2017/092459 WO2018059066A1 (en) 2016-09-27 2017-07-11 Encoding and decoding techniques

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/100311 WO2018058294A1 (en) 2016-09-27 2016-09-27 Harq techniques for polar codes

Country Status (7)

Country Link
US (2) US11211946B2 (en)
EP (1) EP3520274A4 (en)
CN (1) CN109792335B (en)
AU (1) AU2017333145B2 (en)
BR (1) BR112019005918A2 (en)
TW (1) TWI749063B (en)
WO (2) WO2018058294A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110890938A (en) * 2018-09-10 2020-03-17 华为技术有限公司 Data transmission method and related equipment of channel coding scheme using Polar code
WO2020072106A1 (en) * 2018-10-01 2020-04-09 John Mezzalingua Associates, Llc D/B/A Jma Wireless Turbo decoder with reduced processing and minimal re-transmission

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018058352A1 (en) * 2016-09-28 2018-04-05 Qualcomm Incorporated Sub-channel mapping
CN110391868B (en) * 2018-04-18 2022-04-12 华为技术有限公司 Decoding method of polarized Polar code and communication equipment
WO2020045943A1 (en) * 2018-08-30 2020-03-05 엘지전자 주식회사 Method and device for performing channel coding on basis of polar coding in wireless communication system
US20230224092A1 (en) * 2022-01-07 2023-07-13 Qualcomm Incorporated Mirs re-transmission optimization for groupcast utilizing network coding

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1960235A (en) * 2005-11-03 2007-05-09 北京信威通信技术股份有限公司 Method of mixed automatic request of retransmission based on orthogonal frequency division multiplex
CN101340271A (en) * 2007-07-02 2009-01-07 株式会社Ntt都科摩 Hybrid automatic request retransmission method, transmitter, receiver and communication system
CN101499876A (en) * 2008-02-02 2009-08-05 夏普株式会社 Method and apparatus for adaptively executing CRC check in wireless link
JP2010057175A (en) * 2008-08-29 2010-03-11 Fujitsu Ltd Automatic retransmission control method, communicating system, and transmitting device and receiving device thereof
US20120254682A1 (en) 2005-12-30 2012-10-04 Lei Wan Method and arrangement for harq in wireless multi-carrier systems
US20150249977A1 (en) 2000-01-20 2015-09-03 Apple Inc. Hybrid ARQ Schemes with Soft Combining in Variable Rate Packet Data Applications

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5844918A (en) * 1995-11-28 1998-12-01 Sanyo Electric Co., Ltd. Digital transmission/receiving method, digital communications method, and data receiving apparatus
US6633865B1 (en) 1999-12-23 2003-10-14 Pmc-Sierra Limited Multithreaded address resolution system
US6633856B2 (en) 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6961888B2 (en) 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
CN102594501B (en) * 2004-02-07 2014-11-26 桥扬科技有限公司 Methods for multi-carrier communication systems with automatic repeat request (ARQ)
US7388848B2 (en) * 2004-03-26 2008-06-17 Spyder Navigations L.L.C. Method and apparatus for transport format signaling with HARQ
PL3358770T3 (en) * 2004-04-01 2020-07-13 Optis Wireless Technology, Llc Interference limitation for retransmissions
CN101034953B (en) * 2006-03-06 2010-06-23 诺基亚西门子通信系统技术(北京)有限公司 Method for carrying out data transmission using the low-density parity check code
US7941724B2 (en) * 2006-05-01 2011-05-10 Nokia Siemens Networks Oy Embedded retransmission scheme with cross-packet coding
JP4374015B2 (en) * 2006-11-30 2009-12-02 株式会社東芝 Data transmitting apparatus, data receiving apparatus, and data communication system
WO2009122307A2 (en) * 2008-03-31 2009-10-08 Marvell Israel ( Misl) Ltd. Method and apparatus for decoding
US8271842B2 (en) * 2008-06-13 2012-09-18 Qualcomm Incorporated Reducing harq retransmissions using peak power management techniques
US20110022916A1 (en) * 2009-07-24 2011-01-27 Prasanna Desai Method and system for saving power for packet re-transmission in an encrypted bluetooth low power link layer connection
EP2400685A1 (en) 2010-06-22 2011-12-28 HTC Corporation Method of handling a damage information-assisted hybrid arq scheme and related communication device
US9130748B2 (en) * 2012-02-25 2015-09-08 Telefonaktiebolaget L M Ericsson (Publ) Hybrid automatic repeat request with feedback dependent BIT selection
US8780694B2 (en) * 2012-02-25 2014-07-15 Telefonaktiebolaget Lm Ericsson (Publ) Hybrid ARQ with variable retransmission energy
US9226196B2 (en) * 2012-11-16 2015-12-29 Huawei Technologies Co., Ltd. Systems and methods for pilot signal and control data retransmission
US9204437B2 (en) * 2013-02-27 2015-12-01 Qualcomm Incorporated Methods and apparatus for conditional offload of one or more log-likelihood ratios (LLRs) or decoded bits
CN104038234B (en) * 2013-03-07 2017-09-29 华为技术有限公司 The interpretation method and decoder of polar code
CN103281166B (en) * 2013-05-15 2016-05-25 北京邮电大学 A kind of mixed automatic retransfer request transmission method based on polarization code
USRE49547E1 (en) * 2013-08-20 2023-06-06 Lg Electronics Inc. Method for transmitting data by using polar coding in wireless access system
CN105900365B (en) * 2014-03-31 2019-09-20 华为技术有限公司 Mixed automatic retransferring method and device, the wireless communication device of polarization code
EP3175574A4 (en) * 2014-08-01 2018-03-07 Intel IP Corporation Pdcch design for narrowband deployment
US10367621B2 (en) 2014-10-27 2019-07-30 Qualcomm Incorporated Fountain HARQ for reliable low latency communication
US9992004B2 (en) * 2015-02-03 2018-06-05 Qualcomm Incorporated Code block cluster level HARQ
KR102504550B1 (en) * 2015-12-28 2023-02-28 삼성전자주식회사 Apparatus and method for receiving signal in communication system supporting low density parity check code
CN105743621B (en) * 2016-02-02 2019-03-26 北京邮电大学 HARQ signal sending, receiving method and device based on polarization code
KR102461276B1 (en) * 2016-03-10 2022-10-31 삼성전자주식회사 Apparatus and method for receiving signal in communication system supporting low density parity check code
EP3340476A1 (en) * 2016-12-23 2018-06-27 Sequans Communications S.A. Error correction decoding with configurable parallelism
KR102562314B1 (en) * 2018-11-02 2023-08-01 삼성전자주식회사 Multiple input multiple output receiver for selecting candidate vector set and method of operation thereof
US10826529B2 (en) * 2019-01-31 2020-11-03 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Parallel LDPC decoder

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150249977A1 (en) 2000-01-20 2015-09-03 Apple Inc. Hybrid ARQ Schemes with Soft Combining in Variable Rate Packet Data Applications
CN1960235A (en) * 2005-11-03 2007-05-09 北京信威通信技术股份有限公司 Method of mixed automatic request of retransmission based on orthogonal frequency division multiplex
US20120254682A1 (en) 2005-12-30 2012-10-04 Lei Wan Method and arrangement for harq in wireless multi-carrier systems
CN101340271A (en) * 2007-07-02 2009-01-07 株式会社Ntt都科摩 Hybrid automatic request retransmission method, transmitter, receiver and communication system
CN101499876A (en) * 2008-02-02 2009-08-05 夏普株式会社 Method and apparatus for adaptively executing CRC check in wireless link
JP2010057175A (en) * 2008-08-29 2010-03-11 Fujitsu Ltd Automatic retransmission control method, communicating system, and transmitting device and receiving device thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3520274A4

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110890938A (en) * 2018-09-10 2020-03-17 华为技术有限公司 Data transmission method and related equipment of channel coding scheme using Polar code
CN110890938B (en) * 2018-09-10 2021-11-09 华为技术有限公司 Data transmission method and related equipment of channel coding scheme using Polar code
WO2020072106A1 (en) * 2018-10-01 2020-04-09 John Mezzalingua Associates, Llc D/B/A Jma Wireless Turbo decoder with reduced processing and minimal re-transmission

Also Published As

Publication number Publication date
TW201815075A (en) 2018-04-16
WO2018058294A1 (en) 2018-04-05
AU2017333145B2 (en) 2022-02-17
US20220069841A1 (en) 2022-03-03
EP3520274A1 (en) 2019-08-07
TWI749063B (en) 2021-12-11
CN109792335A (en) 2019-05-21
US11211946B2 (en) 2021-12-28
EP3520274A4 (en) 2020-08-26
US20200021309A1 (en) 2020-01-16
AU2017333145A1 (en) 2019-03-07
CN109792335B (en) 2021-10-01
BR112019005918A2 (en) 2019-06-18

Similar Documents

Publication Publication Date Title
US20220069841A1 (en) Encoding and decoding techniques
US10855405B2 (en) Retransmission techniques for encoded transmissions
US20210266100A1 (en) Puncturing and repetition for information encoding
US11973518B2 (en) Rate matching for block encoding
US11616598B2 (en) Puncturing and retransmission techniques for encoded transmissions
US11259280B2 (en) Sub-channel mapping

Legal Events

Date Code Title Description
DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17854520

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017333145

Country of ref document: AU

Date of ref document: 20170711

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112019005918

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2017854520

Country of ref document: EP

Effective date: 20190429

ENP Entry into the national phase

Ref document number: 112019005918

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20190326