US10911062B2 - Apparatus and method for multilevel coding (MLC) with binary alphabet polar codes - Google Patents

Apparatus and method for multilevel coding (MLC) with binary alphabet polar codes Download PDF

Info

Publication number
US10911062B2
US10911062B2 US16/583,944 US201916583944A US10911062B2 US 10911062 B2 US10911062 B2 US 10911062B2 US 201916583944 A US201916583944 A US 201916583944A US 10911062 B2 US10911062 B2 US 10911062B2
Authority
US
United States
Prior art keywords
bits
bit
symbols
bit level
symbol mapping
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
US16/583,944
Other versions
US20200021307A1 (en
Inventor
Corina Ioana Ionita
Jun Chul Roh
Mohamed F. Mansour
Srinath Hosur
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Priority to US16/583,944 priority Critical patent/US10911062B2/en
Publication of US20200021307A1 publication Critical patent/US20200021307A1/en
Application granted granted Critical
Publication of US10911062B2 publication Critical patent/US10911062B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/16Conversion to or from representation by pulses the pulses having three levels
    • H03M5/18Conversion to or from representation by pulses the pulses having three levels two levels being symmetrical with respect to the third level, i.e. balanced bipolar ternary code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/32Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
    • H04L27/34Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
    • H04L27/36Modulator circuits; Transmitter circuits
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/251Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with block coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • H04L1/0058Block-coded modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4917Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/32Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
    • H04L27/34Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
    • H04L27/36Modulator circuits; Transmitter circuits
    • H04L27/362Modulation using more than one carrier, e.g. with quadrature carriers, separately amplitude modulated
    • H04L27/364Arrangements for overcoming imperfections in the modulator, e.g. quadrature error or unbalanced I and Q levels
    • 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/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
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] codes

Definitions

  • This disclosure is generally directed to communication systems. More specifically, this disclosure is directed to an apparatus and method for multilevel coding (MLC) with binary alphabet polar codes.
  • MLC multilevel coding
  • Polar codes are used to encode data bits into encoded data bits that are then mapped into symbols for transmission.
  • Polar codes can be used to achieve capacity of binary-input memoryless symmetric channels, meaning the polar codes allow the full capacity of a channel to be utilized. Polar codes allow this to be achieved using low-complexity encoding and decoding algorithms.
  • M-ary quadrature amplitude modulation M-QAM
  • M-QAM M-ary quadrature amplitude modulation
  • This disclosure provides an apparatus and method for multilevel coding (MLC) with binary alphabet polar codes.
  • MLC multilevel coding
  • a method in a first embodiment, includes receiving multiple bits to be transmitted. The method also includes applying a first binary alphabet polar code to a first subset of the multiple bits to generate first encoded bits. The first encoded bits are associated with a first bit level of a multilevel coding scheme. The method further includes generating one or more symbols using the first encoded bits and bits associated with a second bit level of the multilevel coding scheme. The first binary alphabet polar code is associated with a first coding rate.
  • a first encoder is configured to (i) receive multiple bits to be transmitted and (ii) apply a first binary alphabet polar code to a first subset of the multiple bits to generate first encoded bits.
  • the first encoded bits are associated with a first bit level of a multilevel coding scheme.
  • the apparatus also includes a symbol generator configured to map the first encoded bits and bits associated with a second bit level of the multilevel coding scheme to one or more symbols for transmission.
  • the first binary alphabet polar code is associated with a first coding rate.
  • a method in a third embodiment, includes applying a first binary alphabet polar code to first decoding information associated with one or more symbols to generate first decoded bits.
  • the first decoding information is associated with a first bit level of a multilevel coding scheme.
  • the method also includes outputting the first decoded bits and bits associated with a second bit level of the multilevel coding scheme.
  • the first binary alphabet polar code is associated with a first coding rate.
  • an apparatus in a fourth embodiment, includes a first decoder configured to apply a first binary alphabet polar code to first decoding information associated with one or more symbols to generate first decoded bits.
  • the first decoding information is associated with a first bit level of a multilevel coding scheme, and the multilevel coding scheme has a second bit level.
  • the first binary alphabet polar code is associated with a first coding rate.
  • a method in a fifth embodiment, includes identifying a target error rate associated with a multilevel coding scheme, where the multilevel coding scheme has multiple bit levels. The method also includes identifying an effective signal-to-noise ratio (SNR) at each of the bit levels, where the effective SNR is based on a symbol mapping rule used to map bits into symbols. The method further includes identifying a code rate at each bit level using the target error rate and the SNR at that bit level. In addition, the method includes selecting, at one or more of the bit levels, at least one polar code having at least one of the identified code rates so that an overall error rate of each bit level is substantially equal.
  • SNR signal-to-noise ratio
  • FIGS. 1A and 1B illustrate example systems that use multilevel coding (MLC) with binary alphabet polar codes in accordance with this disclosure
  • FIGS. 2 through 7 illustrate example encoding and decoding schemes supporting MLC with binary alphabet polar codes in accordance with this disclosure
  • FIGS. 8A and 8B illustrate example methods for using MLC with binary alphabet polar codes in accordance with this disclosure
  • FIG. 9 illustrates an example method for designing an MLC coding scheme with binary alphabet polar codes in accordance with this disclosure.
  • FIG. 10 illustrates an example device supporting the design of an MLC coding scheme with binary alphabet polar codes in accordance with this disclosure.
  • FIGS. 1A through 10 discussed below, and the various embodiments used to describe the principles of the present invention in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the invention. Those skilled in the art will understand that the principles of the present invention may be implemented in any suitable manner and in any type of suitably arranged device or system.
  • FIGS. 1A and 1B illustrate example systems that use multilevel coding (MLC) with binary alphabet polar codes in accordance with this disclosure.
  • MLC multilevel coding
  • FIGS. 1A and 1B are for illustration only.
  • the techniques described in this patent document could be used to support wireless or other communications that use MLC with higher-order modulation (such as M-ary quadrature amplitude modulation) and binary alphabet polar codes between or with any suitable devices or systems.
  • a system 100 includes base stations 102 - 104 .
  • Each base station 102 - 104 shown in FIG. 1A generally denotes an infrastructure component that provides wireless service to one or more wireless devices.
  • Other types of infrastructure components that are encompassed by the phrase “base station” include enhanced Node Bs (eNBs) and access points.
  • eNBs enhanced Node Bs
  • a base station can communicate with any number of wireless devices, each of which generally denotes a device that receives wireless service from at least one infrastructure component.
  • Other types of devices that are encompassed by the phrase “wireless device” include mobile stations, user equipment, wireless terminals, or other fixed or mobile devices.
  • the base stations 102 - 104 could communicate using any suitable protocol(s) supporting the use of polar codes.
  • each base station 102 - 104 includes at least one processing device 106 and at least one memory 108 .
  • the at least one processing device 106 executes logic in order to control the overall operation of the base station 102 - 104 and to support communications with wireless devices.
  • the exact operations of the processing device(s) 106 can vary depending on, for example, the protocol(s) supported by the base stations 102 - 104 .
  • Each processing device 106 includes any suitable processing or control device, such as a microprocessor, microcontroller, digital signal processor (DSP), field programmable gate array (FPGA), application specific integrated circuit (ASIC), or discrete logic devices.
  • DSP digital signal processor
  • FPGA field programmable gate array
  • ASIC application specific integrated circuit
  • the at least one memory 108 stores instructions and data used, generated, or collected by the base station 102 - 104 .
  • Each memory 108 includes any suitable volatile or non-volatile storage and retrieval device, such as a random access memory (RAM) or a Flash or other read-only memory (ROM).
  • RAM random access memory
  • ROM read-only memory
  • Each base station 102 - 104 also includes multiple communication transceivers 110 a - 110 n , each of which (if implemented to support wireless communications) may be coupled to at least one of multiple antennas 112 a - 112 n .
  • Each communication transceiver 110 a - 110 n supports communications with other devices, such as portable or other wireless devices.
  • Each communication transceiver 110 a - 110 n includes any suitable structure supporting communications over one or more wired or wireless communication channels.
  • each communication transceiver 110 a - 110 n can include transmit circuitry that facilitates the transmission of signals from the communication transceiver and receive circuitry that facilitates the processing of signals received by the communication transceiver.
  • Each antenna 112 a - 112 n represents any suitable structure for transmitting and receiving communication signals, such as a radio frequency (RF) antenna. Note that while each communication transceiver 110 a - 110 n is shown here as having its own antenna 112 a - 112 n , multiple communication transceivers could share one or more common antennas, or each communication transceiver could have multiple antennas.
  • RF radio frequency
  • a backhaul interface 114 supports communications between the base stations 102 - 104 themselves or between a base station 102 - 104 and other component(s) via a backhaul network.
  • the backhaul interface 114 could allow the base stations 102 - 104 to communicate with one another.
  • the backhaul interface 114 includes any suitable structure for facilitating communications over a backhaul network, such as a microwave communications unit or an optical fiber interface.
  • FIG. 1B illustrates an example system having a point-to-point transmitter 150 and receiver 160 .
  • the transmitter 150 and the receiver 160 could be used in the base stations 102 - 104 of FIG. 1A (such as in or with the processors 106 , communication transceivers 110 a - 110 n , or backhaul interfaces 114 ) or in any other suitable devices.
  • the transmitter 150 includes a forward error correction (FEC) encoder 152 , a symbol mapper 154 , an analog front end 156 , and at least one antenna 158 .
  • the FEC encoder 152 receives information bits and generates encoded bits, such as by using MLC with binary alphabet polar codes as described below.
  • the symbol mapper 154 maps the encoded bits into transmit symbols, which the analog front end 156 transmits wirelessly via the antenna(s) 158 .
  • the receiver 160 includes at least one antenna 162 , an analog front end 164 , an equalizer 166 , a symbol demapper or soft slicer 168 , and an FEC decoder 170 .
  • the analog front end 164 receives symbols transmitted from the transmitter 150 via the antenna(s) 162 and provides the received symbols to the equalizer 166 .
  • the equalizer 166 pre-processes the received symbols, and the equalized symbols are used to generate log-likelihood ratio (LLR) values by the symbol demapper or soft slicer 168 .
  • the LLR values are used by the FEC decoder 170 to generate decoded information bits. Ideally, the decoded information bits from the FEC decoder 170 match the information bits provided to the FEC encoder 152 .
  • Communications from a transmitter to a receiver can occur using various modulation techniques, such as binary modulation or M-QAM.
  • Higher-order modulation techniques are often desirable because they allow systems to achieve very high levels of spectral efficiency.
  • standard techniques for polar code design are not generally applicable to systems using higher-order modulation techniques.
  • This disclosure describes techniques that support the use of MLC with binary alphabet polar codes, including for use in systems that use higher-order modulation techniques such as M-ary QAM.
  • the design of a specific polar code is equivalent to determining a set of “frozen bits” in an input vector.
  • a “frozen bit” denotes a bit whose value is fixed in both the input vector to a polar encoder and in an output vector from a polar decoder.
  • the remaining bits in the input and output vectors are called “information bits” and can be used to transport data over a wireless or other channel.
  • Some conventional approaches use a set of information bits and frozen bits obtained from Monte Carlo simulations that are run for binary input polar codes or that are optimized for cases when a binary erasure channel (BEC) is used.
  • BEC binary erasure channel
  • Early work in polar code design focused on binary channels where the outputs of an encoder are subject to the same binary input channel, meaning bits at the output of the encoder experience the same channel before a decoder. Extending polar codes to higher-order constellations may be necessary for deployment in practical communication systems, which usually use higher-order modulation for better spectral efficiency. Further, binary codes are usually used in practice, and the mapping to higher-order constellations is typically done after the encoder (rather than using non-binary codes).
  • a multilevel coding approach uses one or more binary alphabet polar codes (each possibly with a different code parameter or configuration such as code rate or frozen bit locations) with one or more wireless or other communication channels, such as one or more AWGN channels.
  • binary alphabet polar codes each possibly with a different code parameter or configuration such as code rate or frozen bit locations
  • wireless or other communication channels such as one or more AWGN channels.
  • one or more channels can be partitioned into m bit levels (also called “bit channels”), which are typically identified based on the bit position of the symbol word (symbol mapper input). Different bit levels have different signal-to-noise ratio (SNR) properties.
  • SNR signal-to-noise ratio
  • the bits in each bit level experience the same communication channel with the same effective SNR, so the code design problem is reduced to the design of one or more binary codes with suitable code rate(s).
  • the rate of a polar code for a particular bit channel can be selected using knowledge of the Euclidian distance for a bit level in a corresponding multilevel pulse amplitude modulation (M-PAM) scheme, assuming bits in lower bit levels are decoded correctly and known.
  • M-PAM multilevel pulse amplitude modulation
  • the overall error rate (such as the bit error rate or “BER”) for a polar code is substantially characterized or determined by the required rate of the code at a given channel SNR.
  • polarization parameters obtained for true equivalent bit channels can be used when selecting the rates for the polar codes.
  • Many conventional approaches that use MLC with polar codes use polarization parameters optimized with a binary input alphabet for a simple channel (such as a binary erasure channel).
  • polarization parameters optimized with a binary input alphabet for a simple channel such as a binary erasure channel.
  • different polarization parameters can be used for different channels that are “seen” by the different bit levels.
  • a decoder can be applied at each bit level, such as by using successive cancellation (SC) decoders starting with the least significant bit (LSB).
  • SC successive cancellation
  • binary alphabet polar codes can allow for the use of low-complexity encoding and decoding techniques, which can substantially reduce the complexity of the overall multilevel coding technique.
  • the use of polar codes can provide large performance improvements when used with multilevel coding techniques compared to approaches that use a single level of coding.
  • MLC provides better performance than a single binary input alphabet mapped to a higher-order modulation.
  • polar codes do not have an error floor, which means they can be used in various applications that require higher-order modulations and very low error performance. Note that these benefits are unique because they can be obtained using one or more AWGN channels, while many conventional approaches that use MLC with polar codes derive results for binary erasure channels only.
  • each binary polar code corresponds to one bit in a bit-to-symbol mapping for each of the in-phase (I) and quadrature (Q) directions.
  • a binary polar code corresponds to more than one bit in a bit-to-symbol mapping for each of the I and Q directions.
  • FIGS. 1A and 1B illustrate examples of systems that use MLC with binary alphabet polar codes
  • various changes may be made to FIGS. 1A and 1B .
  • MLC with binary alphabet polar codes could be used in any other suitable system.
  • infrastructure components, networks, transmitters, and receivers come in a wide variety of designs and configurations, and FIGS. 1A and 1B do not limit the scope of this disclosure to any particular infrastructure component, network, transmitter, or receiver.
  • FIGS. 2 through 7 illustrate example encoding and decoding schemes supporting MLC with binary alphabet polar codes in accordance with this disclosure.
  • the encoding and decoding schemes could, for example, be used by the base stations 102 - 104 or by the transmitter 150 and receiver 160 to communicate over one or more wireless or other communication channels.
  • the encoding and decoding schemes could be used with any other suitable devices and in any other suitable systems.
  • FIGS. 2 and 3 illustrate a first example implementation of a coding scheme in which each of multiple binary polar codes corresponds to one bit in each of the I and Q directions.
  • FIG. 2 illustrates an example symbol mapping 200 , which can be used with 16-QAM modulation.
  • Each of the I and Q directions independently uses the same mapping as 4-PAM, where (b 1 b 0 ) denotes the bit mapping to a symbol, with b 1 and b 0 representing the most significant bit (MSB) and the least significant bit (LSB), respectively.
  • MSB most significant bit
  • LSB least significant bit
  • d b0 represents the minimum Euclidian distance for b 0
  • d b1 represents the minimum Euclidian distance for b 1 (assuming that the bit value for b 0 is correctly decoded and known at the receiver before making a decision for b 1 ).
  • the bit value for b 0 is determined, and the decoded bit value for b 0 is used to decode the bit value for b 1 .
  • FIG. 3 An encoding and decoding system 300 that supports this symbol mapping 200 is shown in FIG. 3 .
  • input vectors u 1 N 302 a - 302 b (each containing N bits) are respectively provided to polar encoders 304 a - 304 b .
  • the polar encoders 304 a - 304 b use the input vectors 302 a - 302 b and different polar codes to generate codewords x 1 N 306 a - 306 b , respectively, which represent encoded vectors (each containing N bits).
  • each polar code includes a set of frozen bits with the remaining bits being information bits.
  • the code rate R 1 for the first polar code used by the polar encoder 304 a is expressed as K 1 /N
  • code rate R 2 for the second polar code used by the polar encoder 304 b is expressed as K 2 /N (where K 1 and K 2 denote the number of information bits for the polar codes).
  • the K 1 or K 2 value cannot be increased, which acts as a limit to the code rate for the given channel condition.
  • N s denotes the number of QAM symbols that carry 2N encoded bits and can equal N/2.
  • the codewords 306 a - 306 b are provided to a symbol mapper 308 , which generates a series of transmit symbols 310 .
  • Each polar encoder 304 a - 304 b includes any suitable structure for generating codewords using a binary alphabet polar code.
  • the symbol mapper 308 includes any suitable structure for mapping codewords to symbols.
  • the symbols 310 are transmitted over at least one communication channel 312 , which suffers from noise.
  • Each channel 312 could represent any suitable communication channel, such as a wireless or fiber optic channel.
  • each channel 312 could be estimated as an AWGN channel.
  • the symbols 310 are received as symbols y 1 Ns 314 .
  • LLR calculators 316 a - 316 b compute LLR values for different portions of the received symbols 314 to generate blocks 318 a - 318 b of LLR values.
  • Polar decoders 320 a - 320 b decode the received symbols 314 using the LLR blocks 318 a - 318 b and the polar codes to generate output vectors û 1 N 322 a - 322 b .
  • the output vectors 322 a - 322 b match the input vectors 302 a - 302 b .
  • the output vectors 322 a - 322 b could be provided to any suitable destination(s), such as to a common destination or to multiple destinations via de-multiplexing.
  • Each of the polar decoders 320 a - 320 b can support successive cancellation and use feedback in the form of at least some of the bits (such as the least significant bits) from one or more prior output vectors 322 a - 322 b when decoding one or more current LLR blocks 318 a - 318 b .
  • Each LLR calculator 316 a - 316 b includes any suitable structure for computing LLR values.
  • Each polar decoder 320 a - 320 b includes any suitable structure for generating decoded bits using LLR values and a polar code.
  • each frozen bit 324 a - 324 b , 326 a - 326 b denotes a bit whose value is fixed (either to a “1” or a “0”) in both the input vector to a polar encoder and in the output vector from a polar decoder.
  • the remaining bits in the input vectors 302 a - 302 b and the output vectors 322 a - 322 b represent information bits and are used to transport data.
  • the LLR calculators 316 a - 316 b operate sequentially on the received symbols 314 , meaning the LLR calculator 316 b (on a second bit level) generates LLR values using decoded outputs from the polar decoder 320 a (on a first bit level). For example, in response to receiving a set of symbols 314 , the LLR calculator 316 a can output channel LLR blocks 318 a (such as column vectors of length N) to the polar decoder 320 a . The LLR calculator 316 b uses a new output vector û 1 N 322 a from the polar decoder 320 a to generate LLR blocks 318 b at a second bit level.
  • the MLC scheme for 16-QAM employs two binary polar codes.
  • the polar encoder 304 a and the polar decoder 320 a support a first polar code with a binary alphabet for the first bit level, with one bit (b 0I ) in the I direction and one bit (b 0Q ) in the Q direction.
  • the polar encoder 304 b and the polar decoder 320 b support a second polar code with a binary alphabet for the second bit level, with one bit (b 1I ) in the I direction and one bit (b 1Q ) in the Q direction.
  • any lower decoded bits are used, meaning the second information bit is decoded using the decoded value of the first information bit, the third information bit is decoded using the decoded values of the first and second information bits, and this process can be repeated until all bits are decoded.
  • other forms of decoding could be used, such as list decoding or belief-propagation decoding.
  • this approach can be easily extended to support higher-order modulation techniques. An example of this is shown in FIGS. 4 and 5 , where this approach has been extended to support 64-QAM modulation.
  • FIGS. 4 and 5 illustrate a second example implementation of a coding scheme with three bit levels, where different bit levels may be associated with different polar coding schemes.
  • FIG. 4 illustrates an example symbol mapping 400 , which can be used with 64-QAM modulation. Each of the I and Q directions independently uses the same mapping as 8-PAM, where (b 2 b 1 b 0 ) denotes the bit mapping to a symbol, with b 2 and b 0 representing the MSB and LSB, respectively.
  • 8-PAM maps the bit mapping to a symbol
  • FIG. 1 b 1 0 denotes the bit mapping to a symbol
  • b 2 and b 0 representing the MSB and LSB
  • d b0 represents the minimum Euclidian distance for b 0
  • d b1 represents the minimum Euclidian distance for b 1 (assuming that the bit value for b 0 is correctly decoded and known at the receiver before making a decision for b 1
  • d b2 represents the minimum Euclidian distance for b 2 (assuming that the bit values for b 0 and b 1 are correctly decoded and known at the receiver before making a decision for b 2 ).
  • bit value for b 0 is determined, the decoded bit value for b 0 is used to decode the bit value for b 1 , and the decoded bit values for b 0 and b 1 are used to decode the bit value for b 2 .
  • FIG. 5 An encoding and decoding system 500 that supports this symbol mapping 400 is shown in FIG. 5 .
  • 64-QAM For higher-order modulations such as 64-QAM, one approach is to encode lower bit levels while leaving the MSB uncoded.
  • FIG. 5 An example of this is shown in FIG. 5 , where input vectors u 1 N 502 a - 502 b (each containing N bits) are respectively provided to polar encoders 504 a - 504 b , while input vectors u 1 N 502 c (each containing N bits) could remain uncoded.
  • the input vectors 502 c could be encoded using an encoder 504 c .
  • the encoder 504 c could support any suitable code, such as a Bose, Chaudhuri and Hocquenghem (BCH) code to provide a certain level of error protection or a different polar code.
  • BCH Hocquenghem
  • the polar encoders 504 a - 504 b use the input vectors 502 a - 502 b and different polar codes to generate codewords x 1 N 506 a - 506 b , respectively.
  • Codewords x 1 N 506 c contain either the uncoded input vectors 502 c or the outputs of the encoder 504 c .
  • the codewords 506 a - 506 c are provided to a symbol mapper 508 , which generates a series of transmit symbols 510 .
  • the symbols 510 are transmitted over at least one communication channel 512 , which suffers from noise.
  • Received symbols y 1 Ns 514 are obtained over the channel(s) 512 , and LLR calculators 516 a - 516 c use the received symbols 514 to generate LLR blocks 518 a - 518 c .
  • Polar decoders 520 a - 520 b decode portions of the received symbols 514 using the LLR blocks 518 a - 518 b and the polar codes to generate output vectors 522 a - 522 b .
  • a third decoder 520 c decodes other portions of the received symbols 514 using the LLR blocks 518 c to generate output vectors 522 c .
  • the decoder 520 c could represent any suitable decoder, such as a maximum likelihood (ML) or other hard decoder (when the input vectors 502 c are uncoded) or a BCH, polar, or other decoder (when the input vectors 502 c are coded).
  • ML maximum likelihood
  • BCH BCH
  • polar polar
  • the LLR calculators 516 a - 516 c again operate sequentially on the received symbols 514 .
  • the LLR calculator 516 a can output channel LLR blocks 518 a (such as column vectors of length N) to the polar decoder 520 a .
  • the LLR calculator 516 b uses a new output vector û 1 N 522 a from the polar decoder 520 a to output channel LLR blocks 518 b to the polar decoder 520 b .
  • the LLR calculator 516 c uses the new output vectors û 1 N 522 a - 522 b from the polar decoders 520 a - 520 b to output channel LLR blocks 518 c to the decoder 520 c . Note again, however, that other forms of decoding could be used, such as list decoding or belief-propagation decoding.
  • FIGS. 6 and 7 illustrate an example implementation of a coding scheme in which one binary polar code may correspond to multiple bits for each of the I and Q directions.
  • FIG. 6 illustrates an example symbol mapping 600 , which can be used with 64-QAM modulation.
  • Each of the I and Q directions independently uses the same Gray mapping, where (b 2 b 1 b 0 ) denotes the bit mapping to a symbol, with b 2 and b 0 representing the MSB and LSB, respectively.
  • the Gray mapping is applied only to the two least significant bits (b 1 and b 0 ) in this example, not across all eight constellation points in FIG. 6 .
  • This scheme allows large Euclidian distances for b 2 (MSB) with knowledge of correctly-decoded bits for b 1 and b 0 .
  • the two least significant bits are protected with the polar code.
  • FIG. 7 An encoding and decoding system 700 that supports this symbol mapping 600 is shown in FIG. 7 .
  • the encoding and decoding system 700 represents one example of a practical scheme for applying polar codes to MLC with higher-order modulation and the symbol mapping of FIG. 6 .
  • input vectors 702 a - 702 b are received, where the input vectors 702 a contain twice the number of bits (2N) as the input vectors 702 b (N).
  • K 1 would equal 2N minus the number of frozen bits.
  • the input vectors 702 a are provided to a polar encoder 704 a , which uses the input vectors 702 a and a polar code to generate codewords 706 a that are mapped to the two LSBs on each of the I and Q directions (b 0I , b 0Q , b 1I , and b 1Q ).
  • the input vectors 702 b may remain uncoded or be subjected to coding using an encoder 704 b , such as a BCH encoder or another polar encoder with a high code rate.
  • the uncoded or encoded input vectors 702 b represent codewords 706 b .
  • the codewords 706 a - 706 b are provided to a symbol mapper 708 , which generates a series of transmit symbols 710 .
  • the symbols 710 are transmitted over at least one communication channel 712 , which suffers from noise.
  • Received symbols 714 are used by LLR calculators 716 a - 716 b to generate LLR blocks 718 a (for b 0I , b 0Q , b 1I , and b 1Q ) and LLR blocks 718 b (for b 2I and b 2Q ).
  • a polar decoder 720 a decodes the LLR blocks 718 a using the polar code to generate output vectors 722 a
  • a decoder 720 b (such as an ML, BCH, or polar decoder) decodes the LLR blocks 718 b into output vectors 722 b.
  • the symbols 710 can be grouped into blocks of size N s .
  • each symbol uses three bits in the I direction and three bits in the Q direction.
  • input vectors 702 a of 2N bits each are encoded using the polar encoder 704 a with the polar code, and the resulting blocks of 2N bits are multiplexed to the I and Q dimensions for the 64-QAM symbols.
  • the third bit level positions of the I and Q dimensions for the 64-QAM symbols come from the input vectors 702 b or the outputs of the encoder 704 b , which have a length of size N. Since a Gray coding is used, the LLR values are computed according to the different mapping. Two or more bits can be decoded together at bit levels where Gray mapping is used.
  • FIG. 7 shows the polar encoder 704 a handling the b 0 and b 1 bits and the encoder 704 b optionally handling the b 2 bits.
  • FIG. 7 shows the polar decoder 720 a handling the b 0 and b 1 bits and the decoder 720 b handling the b 2 bits.
  • These bit assignments are for illustration only, and other embodiments could be used.
  • the polar encoder 704 a could handle the b 0 bits, while the encoder 704 b handles the b 1 and b 2 bits.
  • the polar decoder 720 a would handle the b 0 bits, and the decoder 720 b would handle the b 1 and b 2 bits.
  • a polar code can be characterized by a set of parameters such as (N, K, A, u Ac ).
  • N denotes the output block size in bits
  • K denotes the input information size in bits
  • A denotes the set of indices of the information bits (which is complemented by Ac that contains the indices of the frozen bits)
  • u Ac denotes the values of the frozen bits.
  • the code rate can be given by the ratio of K/N, while the set of frozen bits and their value are denoted by the vector u Ac of length N ⁇ K.
  • s k denotes the k th M-QAM symbol sent over the physical channel
  • n k denotes the complex AWGN CN(0, ⁇ 2 ) with zero mean and ⁇ 2 variance
  • N s denotes the number of symbols to transmit a code block.
  • K 1 the number of information bits for the polar code on the first bit level and N is the code block length
  • K 2 K 2 /N of the polar code applied to the second bit level (where K 2 is the number of information bits for the polar code on the second bit level).
  • mLLR ⁇ ( W N ( i ) ) ⁇ + ⁇ LLR ⁇ ( W N ( i ) ) ⁇ , if ⁇ ⁇ correct ⁇ ⁇ decision ⁇ ⁇ was ⁇ ⁇ made - ⁇ LLR ⁇ ( W N ( i ) ) ⁇ , if ⁇ ⁇ wrong ⁇ ⁇ decision ⁇ ⁇ was ⁇ ⁇ made ( 4 )
  • the log-likelihood ratio is defined as:
  • the mean and variance of the mLLR values can be calculated, and a Gaussian probability density function (PDF) can be constructed with the same mean and variance. This can be done using only second-order statistic information (mean and variance). Second, the effective channel is selected that has ⁇ (i) ( ⁇ ) ⁇ 0, and its code rate can be expressed as:
  • the following procedure can be used to select the polar codes for use in an MLC scheme.
  • a rate design rule is based on keeping substantially the same frame error rate (FER) for each bit level.
  • the set of frozen bits (equivalent to choosing the coding rate R) is selected for each polar code so that substantially the same FER is achieved at the effective SNR experienced at each bit level, which can be determined by the corresponding Euclidean distance of neighboring constellation points in the symbol mapping that is being used.
  • a receiver (such as the receiver 160 in FIG. 1B ) can use a multistage decoding strategy, which could be viewed as a higher-level extension of the successive cancellation algorithm where there is progressive decoding of bit levels rather than individual bits.
  • the bits at the first bit level (in both I and Q directions) are decoded first. These decoded bits are used to remove constellation points that have different bit assignments before computing the input LLRs for the bits of the second bit level, and the same process can be repeated with the higher bit levels. This increases the effective SNR at each bit level.
  • the design of MLC polar coding in this approach involves two main operations, namely (i) identifying the code rate at each bit level and (ii) designing polar codes with different rates for a given operating SNR point (which is equivalent to choosing the set of frozen bits).
  • the binary mapping of 8-PAM is defined by b 0I and b 0Q for the I and Q components, respectively.
  • the rate design rule defined above states that, for a specific FER of the overall system, imposing substantially the same P f (j) for each bit level's polar code induces different rates R j because of the different SNR ⁇ j experienced by each bit level j.
  • the overall code design problem is therefore reduced to the design of multiple polar codes at different SNRs, and the procedure described below can be used to design the polar codes.
  • the target frame error rate for each bit level is P F ( ⁇ )/q, and the code rates are chosen according to the effective SNR for each bit level.
  • the rate R j and the corresponding set of unfrozen bits can be determined as follows.
  • a polar code can be designed for a given operating SNR and FER point using the mLLR values from Equation (4). Using, for example, Monte Carlo simulations, the first two moments of the mLLR values (the mean m i and the standard deviation ⁇ i ) can be determined.
  • An SC decoder with a random set of information bits can be used for which, at each equivalent bit channel, all previously decoded bits are assumed to be known.
  • an SC decoder is optional and that other decoder realizations could be used, such as a list decoder or a belief-propagation decoder.
  • the assumption that a channel is an AWGN channel is for illustration only, and other channel types could be used.
  • the probability of error of the equivalent bit channels can be directly evaluated.
  • the Gaussian approximation of a PDF can be calculated using the first two moments. This approximation is adequately accurate for highly-positive polarized equivalent bit channels.
  • the probability of bit error at the i th equivalent bit channel (assuming all other previous bits are decoded properly) can be expressed as:
  • the indices of the information bits A are chosen to correspond to the equivalent bits with the smallest values of ⁇ i ⁇ .
  • the frame error probability P F can then be calculated as:
  • ⁇ i ⁇ are functions of the channel SNR ⁇ , but their order tends to be insensitive to small changes in the SNR as the SNR increases. This can be important in practical communication systems since the operating region (the waterfall region of the SNR/BER curve) for a given code rate is typically within 1-2 dB and it may be necessary to have consistent ordering for that range.
  • a single list can be stored that contains the universal ordering of the equivalent bit channels within a certain SNR range.
  • a distinct list can be used for each modulation order.
  • the indices of the bits at the top of the list can be assigned as frozen bits.
  • the number of frozen bits (which corresponds to the code rate) can be determined by the SNR.
  • MCS modulation and coding scheme
  • the above design procedure could be combined with any modulation scheme, where the modulation and the corresponding LLR calculation of the individual bits within each symbol are considered part of the underlying channel.
  • /N for a frame error rate P F could be computed analytically. For a given P F , the maximum code rate can correspond to a value calculated as follows:
  • One advantage of the proposed solution described above is the use of “true” polarization parameters for choosing the sets of frozen bits and information bits. This can be particularly useful, for example, when more than one communication channel is used for physical transmission.
  • One limiting constraint of conventional polar codes is that the same physical channel is to be used for each equivalent bit channel.
  • two or more channels can still provide polarization to the equivalent channels when the initial G 2 matrix is used as the base for the generator matrix. This means that the equivalent channels with the highest polarization levels can be used for transmitting the information bits, instead of some mismatched sets that are optimized for different system properties.
  • symbol mapping rules (such as the ones shown in FIGS. 2, 4 , and 6 ) can introduce a desired property, such as increasing minimum Euclidian distance when moving to higher bit-levels. Gray mapping-based symbol mappings typical do not give such a desired property.
  • the components shown in FIGS. 3, 5, and 7 could be implemented in any suitable manner.
  • the components shown in FIGS. 3, 5, and 7 could be implemented using only hardware components or a combination of hardware and software/firmware instructions.
  • the components shown in FIGS. 3, 5, and 7 could be implemented using one or more FPGAs, ASICs, or other hardware-only components.
  • the components shown in FIGS. 3, 5, and 7 could also be implemented using one or more processing devices that execute software/firmware instructions for performing the described functions.
  • a combination of approaches could also be used, such as when some components are implemented using only hardware and other components are implemented using one or more processing devices that execute software/firmware instructions.
  • FIGS. 2 through 7 illustrate examples of encoding and decoding schemes supporting MLC with binary alphabet polar codes
  • various changes may be made to FIGS. 2 through 7 .
  • this disclosure is not limited to the use of two polar codes at two bit levels of an MLC scheme.
  • Two or more binary alphabet polar codes can be used at two or more bit levels of an MLC scheme.
  • FIGS. 8A and 8B illustrate example methods for using MLC with binary alphabet polar codes in accordance with this disclosure.
  • FIG. 8A illustrates an example method 800 that could be used by an encoder supporting MLC
  • FIG. 8B illustrates an example method 850 that could be used by a decoder supporting MLC.
  • These methods 800 and 850 could, for example, be used by the base stations 102 - 104 or by the transmitter 150 and receiver 160 to communicate over one or more wireless or other communication channels.
  • the methods 800 and 850 could be used with any other suitable devices and in any other suitable systems.
  • data bits to be transmitted are received at step 802 .
  • One or more polar codes are applied to one or more subsets of the bits to generate codewords at step 804 .
  • Symbols are generated using the codewords at step 806 .
  • the symbols are transmitted over one or more communication channels at step 808 . This could include, for example, transmitting the symbols over one or more AWGN channels.
  • symbols transmitted over one or more communication channels are received at step 852 .
  • Different sets of decoding information are extracted from the received symbols at step 854 .
  • the LLR calculators can operate sequentially such that the LLR calculator on one bit level generates LLR values using decoded outputs from the decoder on at least one earlier bit level.
  • One or more polar codes are applied to one or more of the different sets of decoding information to generate decoded bits at step 856 .
  • the coding rate(s) of the polar code(s) allow(s) the different bit levels to have substantially similar error rates. Note that some bits (such as most significant bits at an additional bit level) could be decoded in other ways (such as by using an ML or BCH decoder).
  • the decoded data bits at the bit different bit levels are output at step 858 .
  • FIGS. 8A and 8B illustrate examples of methods for using MLC with binary alphabet polar codes
  • various changes may be made to FIGS. 8A and 8B .
  • steps in each figure could overlap, occur in parallel, or occur any number of times.
  • FIG. 9 illustrates an example method 900 for designing an MLC coding scheme with binary alphabet polar codes in accordance with this disclosure.
  • the method 900 could, for example, be performed offline one or more times prior to creating an encoding or decoding design.
  • a target error rate is identified at step 902 .
  • This could include, for example, identifying a desired target FER for communications.
  • the desired target FER could be based on the specific application or any other suitable criteria.
  • An effective SNR at each of multiple bit levels associated with a particular symbol mapping rule is identified at step 904 .
  • the symbol mapping rule may be designed to have a property that provides increased Euclidian distance as one goes to higher bit levels in MLC with knowledge of correctly-decoded bits for earlier bit level(s).
  • the symbol mappings could provide a known increase to the effective SNR at each bit level, such as by 6 dB or 12 dB.
  • the code rate at each bit level is determined using the target error rate and the SNR at that bit level at step 906 , and the polar codes are designed with the identified code rates at step 908 .
  • This could also include using the mLLR values from Equation (4), determining their mean m i and standard deviation ⁇ i , constructing Gaussian PDFs using these values, estimating error rates using the PDFs, and selecting the bit locations with the worst error rates as the frozen bits.
  • FIG. 9 illustrates one example of a method 900 for designing an MLC coding scheme with binary alphabet polar codes
  • various changes may be made to FIG. 9 .
  • steps in FIG. 9 could overlap, occur in parallel, occur in a different order, or occur any number of times.
  • multiple polar codes are designed in FIG. 9
  • a single polar code could be designed, such as for use in the system 700 of FIG. 7 .
  • FIG. 10 illustrates an example device 1000 supporting the design of an MLC coding scheme with binary alphabet polar codes in accordance with this disclosure.
  • the device 1000 could, for example, be used to implement the method 900 shown in FIG. 9 in order to design an MLC coding scheme with binary alphabet polar codes. Note, however, that the method 900 could be performed using other devices.
  • the device 1000 includes a bus system 1002 .
  • the bus system 1002 is configured to support communication between at least one processing device 1004 , at least one storage device 1006 , at least one communications unit 1008 , and at least one input/output (I/O) unit 1010 .
  • I/O input/output
  • the processing device 1004 is configured to execute instructions that can be loaded into a memory 1012 .
  • the device 1000 can include any suitable number(s) and type(s) of processing devices 1004 in any suitable arrangement.
  • Example processing devices 1004 can include microprocessors, microcontrollers, digital signal processors, field programmable gate arrays, application specific integrated circuits, and discrete circuitry.
  • the processing device(s) 1004 can be configured to execute processes and programs resident in the memory 1012 .
  • the memory 1012 and a persistent storage 1014 can represent any structure(s) capable of storing and facilitating retrieval of information (such as data, program code, or other suitable information on a temporary or permanent basis).
  • the memory 1012 can represent a random access memory or any other suitable volatile or non-volatile storage device(s).
  • the persistent storage 1014 can contain one or more components or devices supporting longer-term storage of data, such as a read-only memory, hard drive, Flash memory, or optical disc.
  • the communications unit 1008 is configured to support communications with other systems or devices.
  • the communications unit 1008 can include a network interface card or a wireless transceiver facilitating communications over a network.
  • the communications unit 1008 can be configured to support communications through any suitable physical or wireless communication link(s).
  • the I/O unit 1010 is configured to allow for input and output of data.
  • the I/O unit 1010 can be configured to provide a connection for user input through a keyboard, mouse, keypad, touchscreen, or other suitable input device.
  • the I/O unit 1010 can also be configured to send output to a display, printer, or other suitable output device.
  • FIG. 10 illustrates one example of a device 1000 supporting the design of an MLC coding scheme with binary alphabet polar codes
  • various changes may be made to FIG. 10 .
  • various components in FIG. 10 could be combined, further subdivided, or omitted and additional components could be added according to particular needs.
  • computing devices can come in a wide variety of configurations, from servers to desktop or laptop computers to portable devices such as mobile smartphones.
  • FIG. 10 does not limit this disclosure to any particular computing device.
  • various functions described in this patent document are implemented or supported by a computer program that is formed from computer readable program code and that is embodied in a computer readable medium.
  • computer readable program code includes any type of computer code, including source code, object code, and executable code.
  • computer readable medium includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory.
  • ROM read only memory
  • RAM random access memory
  • CD compact disc
  • DVD digital video disc
  • a “non-transitory” computer readable medium excludes wired, wireless, optical, or other communication links that transport transitory electrical or other signals.
  • a non-transitory computer readable medium includes media where data can be permanently stored and media where data can be stored and later overwritten, such as a rewritable optical disc or an erasable memory device.
  • application and “program” refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or a portion thereof adapted for implementation in a suitable computer code (including source code, object code, or executable code).
  • suitable computer code including source code, object code, or executable code.
  • the term “or” is inclusive, meaning and/or.
  • phrases “associated with,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, have a relationship to or with, or the like.
  • the phrase “at least one of,” when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed. For example, “at least one of: A, B, and C” includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A and B and C.

Abstract

A method includes receiving multiple bits to be transmitted. The method also includes applying a first binary alphabet polar code to a first subset of the multiple bits to generate first encoded bits. The first encoded bits are associated with a first bit level of a multilevel coding scheme. The method further includes generating one or more symbols using the first encoded bits and bits associated with a second bit level of the multilevel coding scheme. The first binary alphabet polar code is associated with a first coding rate. In addition, the method could include applying a second binary alphabet polar code to a second subset of the multiple bits to generate second encoded bits. The second encoded bits are associated with the second bit level. The second binary alphabet polar code is associated with a second coding rate such that the bit levels have substantially equal error rates.

Description

CROSS-REFERENCE TO RELATED APPLICATION AND PRIORITY CLAIM
This application is a continuation application of U.S. patent application Ser. No. 16/152,754, which is a divisional of U.S. patent application Ser. No. 14/503,547, filed Oct. 1, 2014, which also claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Patent Application No. 61/885,351 filed on Oct. 1, 2013. This provisional patent application is hereby incorporated by reference in its entirety.
TECHNICAL FIELD
This disclosure is generally directed to communication systems. More specifically, this disclosure is directed to an apparatus and method for multilevel coding (MLC) with binary alphabet polar codes.
BACKGROUND
Many modern wireless and other communication systems encode digital data for transmission over communication paths. One type of coding mechanism involves the use of polar codes, which are used to encode data bits into encoded data bits that are then mapped into symbols for transmission. Polar codes can be used to achieve capacity of binary-input memoryless symmetric channels, meaning the polar codes allow the full capacity of a channel to be utilized. Polar codes allow this to be achieved using low-complexity encoding and decoding algorithms.
Recently, various attempts have been made to use communication channels more efficiently based on higher-order modulation techniques, such as M-ary quadrature amplitude modulation (M-QAM). The phrase “M-ary” modulation generally refers to modulation where there are M constellation points so that one symbol carries log2(M) bits.
Extending the use of polar codes to systems that use higher-order modulation techniques is not a simple task. For example, output bits from a binary polar code often experience different effective channels because of their mapping to higher-order symbols. As a result, standard techniques for polar code design are not generally applicable to systems using higher-order modulation techniques.
SUMMARY
This disclosure provides an apparatus and method for multilevel coding (MLC) with binary alphabet polar codes.
In a first embodiment, a method includes receiving multiple bits to be transmitted. The method also includes applying a first binary alphabet polar code to a first subset of the multiple bits to generate first encoded bits. The first encoded bits are associated with a first bit level of a multilevel coding scheme. The method further includes generating one or more symbols using the first encoded bits and bits associated with a second bit level of the multilevel coding scheme. The first binary alphabet polar code is associated with a first coding rate.
In a second embodiment, a first encoder is configured to (i) receive multiple bits to be transmitted and (ii) apply a first binary alphabet polar code to a first subset of the multiple bits to generate first encoded bits. The first encoded bits are associated with a first bit level of a multilevel coding scheme. The apparatus also includes a symbol generator configured to map the first encoded bits and bits associated with a second bit level of the multilevel coding scheme to one or more symbols for transmission. The first binary alphabet polar code is associated with a first coding rate.
In a third embodiment, a method includes applying a first binary alphabet polar code to first decoding information associated with one or more symbols to generate first decoded bits. The first decoding information is associated with a first bit level of a multilevel coding scheme. The method also includes outputting the first decoded bits and bits associated with a second bit level of the multilevel coding scheme. The first binary alphabet polar code is associated with a first coding rate.
In a fourth embodiment, an apparatus includes a first decoder configured to apply a first binary alphabet polar code to first decoding information associated with one or more symbols to generate first decoded bits. The first decoding information is associated with a first bit level of a multilevel coding scheme, and the multilevel coding scheme has a second bit level. The first binary alphabet polar code is associated with a first coding rate.
In a fifth embodiment, a method includes identifying a target error rate associated with a multilevel coding scheme, where the multilevel coding scheme has multiple bit levels. The method also includes identifying an effective signal-to-noise ratio (SNR) at each of the bit levels, where the effective SNR is based on a symbol mapping rule used to map bits into symbols. The method further includes identifying a code rate at each bit level using the target error rate and the SNR at that bit level. In addition, the method includes selecting, at one or more of the bit levels, at least one polar code having at least one of the identified code rates so that an overall error rate of each bit level is substantially equal.
Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of this disclosure and its features, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:
FIGS. 1A and 1B illustrate example systems that use multilevel coding (MLC) with binary alphabet polar codes in accordance with this disclosure;
FIGS. 2 through 7 illustrate example encoding and decoding schemes supporting MLC with binary alphabet polar codes in accordance with this disclosure;
FIGS. 8A and 8B illustrate example methods for using MLC with binary alphabet polar codes in accordance with this disclosure;
FIG. 9 illustrates an example method for designing an MLC coding scheme with binary alphabet polar codes in accordance with this disclosure; and
FIG. 10 illustrates an example device supporting the design of an MLC coding scheme with binary alphabet polar codes in accordance with this disclosure.
DETAILED DESCRIPTION
FIGS. 1A through 10, discussed below, and the various embodiments used to describe the principles of the present invention in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the invention. Those skilled in the art will understand that the principles of the present invention may be implemented in any suitable manner and in any type of suitably arranged device or system.
FIGS. 1A and 1B illustrate example systems that use multilevel coding (MLC) with binary alphabet polar codes in accordance with this disclosure. The systems shown in FIGS. 1A and 1B are for illustration only. The techniques described in this patent document could be used to support wireless or other communications that use MLC with higher-order modulation (such as M-ary quadrature amplitude modulation) and binary alphabet polar codes between or with any suitable devices or systems.
As shown in FIG. 1A, a system 100 includes base stations 102-104. Each base station 102-104 shown in FIG. 1A generally denotes an infrastructure component that provides wireless service to one or more wireless devices. Other types of infrastructure components that are encompassed by the phrase “base station” include enhanced Node Bs (eNBs) and access points. Similarly, a base station can communicate with any number of wireless devices, each of which generally denotes a device that receives wireless service from at least one infrastructure component. Other types of devices that are encompassed by the phrase “wireless device” include mobile stations, user equipment, wireless terminals, or other fixed or mobile devices. The base stations 102-104 could communicate using any suitable protocol(s) supporting the use of polar codes.
As shown in FIG. 1A, each base station 102-104 includes at least one processing device 106 and at least one memory 108. The at least one processing device 106 executes logic in order to control the overall operation of the base station 102-104 and to support communications with wireless devices. The exact operations of the processing device(s) 106 can vary depending on, for example, the protocol(s) supported by the base stations 102-104. Each processing device 106 includes any suitable processing or control device, such as a microprocessor, microcontroller, digital signal processor (DSP), field programmable gate array (FPGA), application specific integrated circuit (ASIC), or discrete logic devices. The at least one memory 108 stores instructions and data used, generated, or collected by the base station 102-104. Each memory 108 includes any suitable volatile or non-volatile storage and retrieval device, such as a random access memory (RAM) or a Flash or other read-only memory (ROM).
Each base station 102-104 also includes multiple communication transceivers 110 a-110 n, each of which (if implemented to support wireless communications) may be coupled to at least one of multiple antennas 112 a-112 n. Each communication transceiver 110 a-110 n supports communications with other devices, such as portable or other wireless devices. Each communication transceiver 110 a-110 n includes any suitable structure supporting communications over one or more wired or wireless communication channels. For example, each communication transceiver 110 a-110 n can include transmit circuitry that facilitates the transmission of signals from the communication transceiver and receive circuitry that facilitates the processing of signals received by the communication transceiver. Each antenna 112 a-112 n represents any suitable structure for transmitting and receiving communication signals, such as a radio frequency (RF) antenna. Note that while each communication transceiver 110 a-110 n is shown here as having its own antenna 112 a-112 n, multiple communication transceivers could share one or more common antennas, or each communication transceiver could have multiple antennas.
A backhaul interface 114 supports communications between the base stations 102-104 themselves or between a base station 102-104 and other component(s) via a backhaul network. For example, the backhaul interface 114 could allow the base stations 102-104 to communicate with one another. The backhaul interface 114 includes any suitable structure for facilitating communications over a backhaul network, such as a microwave communications unit or an optical fiber interface.
FIG. 1B illustrates an example system having a point-to-point transmitter 150 and receiver 160. The transmitter 150 and the receiver 160 could be used in the base stations 102-104 of FIG. 1A (such as in or with the processors 106, communication transceivers 110 a-110 n, or backhaul interfaces 114) or in any other suitable devices. As shown in FIG. 1B, the transmitter 150 includes a forward error correction (FEC) encoder 152, a symbol mapper 154, an analog front end 156, and at least one antenna 158. The FEC encoder 152 receives information bits and generates encoded bits, such as by using MLC with binary alphabet polar codes as described below. The symbol mapper 154 maps the encoded bits into transmit symbols, which the analog front end 156 transmits wirelessly via the antenna(s) 158.
The receiver 160 includes at least one antenna 162, an analog front end 164, an equalizer 166, a symbol demapper or soft slicer 168, and an FEC decoder 170. The analog front end 164 receives symbols transmitted from the transmitter 150 via the antenna(s) 162 and provides the received symbols to the equalizer 166. The equalizer 166 pre-processes the received symbols, and the equalized symbols are used to generate log-likelihood ratio (LLR) values by the symbol demapper or soft slicer 168. The LLR values are used by the FEC decoder 170 to generate decoded information bits. Ideally, the decoded information bits from the FEC decoder 170 match the information bits provided to the FEC encoder 152.
Communications from a transmitter to a receiver can occur using various modulation techniques, such as binary modulation or M-QAM. Higher-order modulation techniques are often desirable because they allow systems to achieve very high levels of spectral efficiency. However, as noted above, standard techniques for polar code design are not generally applicable to systems using higher-order modulation techniques.
This disclosure describes techniques that support the use of MLC with binary alphabet polar codes, including for use in systems that use higher-order modulation techniques such as M-ary QAM. The design of a specific polar code is equivalent to determining a set of “frozen bits” in an input vector. A “frozen bit” denotes a bit whose value is fixed in both the input vector to a polar encoder and in an output vector from a polar decoder. The remaining bits in the input and output vectors are called “information bits” and can be used to transport data over a wireless or other channel.
Some conventional approaches use a set of information bits and frozen bits obtained from Monte Carlo simulations that are run for binary input polar codes or that are optimized for cases when a binary erasure channel (BEC) is used. Early work in polar code design focused on binary channels where the outputs of an encoder are subject to the same binary input channel, meaning bits at the output of the encoder experience the same channel before a decoder. Extending polar codes to higher-order constellations may be necessary for deployment in practical communication systems, which usually use higher-order modulation for better spectral efficiency. Further, binary codes are usually used in practice, and the mapping to higher-order constellations is typically done after the encoder (rather than using non-binary codes). Although the capacity-achieving property of polar codes has been extended to M-ary input alphabets, the combination of (i) binary polar codes and higher-order modulations and (ii) specific designs for QAM modulations in the presence of additive white Gaussian noise (AWGN) has not been fully investigated. The main difficulty in this case is that the output bits from a binary polar encoder experience different effective channels because of their mapping to higher-order symbols. Therefore, standard techniques for polar code design in general are not applicable.
As described in more detail below, this patent document enables the use of binary polar codes with higher-order modulations. A multilevel coding approach uses one or more binary alphabet polar codes (each possibly with a different code parameter or configuration such as code rate or frozen bit locations) with one or more wireless or other communication channels, such as one or more AWGN channels. For example, with a special symbol mapping rule (such as those shown in FIGS. 2, 4, and 6 described below), one or more channels can be partitioned into m bit levels (also called “bit channels”), which are typically identified based on the bit position of the symbol word (symbol mapper input). Different bit levels have different signal-to-noise ratio (SNR) properties. The bits in each bit level experience the same communication channel with the same effective SNR, so the code design problem is reduced to the design of one or more binary codes with suitable code rate(s). The rate of a polar code for a particular bit channel can be selected using knowledge of the Euclidian distance for a bit level in a corresponding multilevel pulse amplitude modulation (M-PAM) scheme, assuming bits in lower bit levels are decoded correctly and known. Thus, the overall error rate (such as the bit error rate or “BER”) for a polar code is substantially characterized or determined by the required rate of the code at a given channel SNR.
Moreover, polarization parameters obtained for true equivalent bit channels can be used when selecting the rates for the polar codes. Many conventional approaches that use MLC with polar codes use polarization parameters optimized with a binary input alphabet for a simple channel (such as a binary erasure channel). In accordance with this disclosure, for higher-order modulation in an AWGN channel, different polarization parameters can be used for different channels that are “seen” by the different bit levels.
Once the rate of each polar code is identified, data is transmitted over at least one wireless or other channel as symbols created using the polar code(s). At a receiver, a decoder can be applied at each bit level, such as by using successive cancellation (SC) decoders starting with the least significant bit (LSB).
Various benefits can be obtained using this approach, although the specific benefits depend on the particular implementation. For example, binary alphabet polar codes can allow for the use of low-complexity encoding and decoding techniques, which can substantially reduce the complexity of the overall multilevel coding technique. Also, the use of polar codes can provide large performance improvements when used with multilevel coding techniques compared to approaches that use a single level of coding. When the code rates for all bit channels are optimized, MLC provides better performance than a single binary input alphabet mapped to a higher-order modulation. In addition, it has been shown that polar codes do not have an error floor, which means they can be used in various applications that require higher-order modulations and very low error performance. Note that these benefits are unique because they can be obtained using one or more AWGN channels, while many conventional approaches that use MLC with polar codes derive results for binary erasure channels only.
Additional details regarding the use of MLC with binary alphabet polar codes are provided below. In the discussion below, two general schemes are described as being used to support MLC with binary alphabet polar codes. In a first MLC scheme (such as is shown in FIGS. 2 through 5), each binary polar code corresponds to one bit in a bit-to-symbol mapping for each of the in-phase (I) and quadrature (Q) directions. In a second MLC scheme (such as is shown in FIGS. 6 and 7), a binary polar code corresponds to more than one bit in a bit-to-symbol mapping for each of the I and Q directions.
Although FIGS. 1A and 1B illustrate examples of systems that use MLC with binary alphabet polar codes, various changes may be made to FIGS. 1A and 1B. For example, MLC with binary alphabet polar codes could be used in any other suitable system. Moreover, infrastructure components, networks, transmitters, and receivers come in a wide variety of designs and configurations, and FIGS. 1A and 1B do not limit the scope of this disclosure to any particular infrastructure component, network, transmitter, or receiver.
FIGS. 2 through 7 illustrate example encoding and decoding schemes supporting MLC with binary alphabet polar codes in accordance with this disclosure. The encoding and decoding schemes could, for example, be used by the base stations 102-104 or by the transmitter 150 and receiver 160 to communicate over one or more wireless or other communication channels. However, the encoding and decoding schemes could be used with any other suitable devices and in any other suitable systems.
FIGS. 2 and 3 illustrate a first example implementation of a coding scheme in which each of multiple binary polar codes corresponds to one bit in each of the I and Q directions. FIG. 2 illustrates an example symbol mapping 200, which can be used with 16-QAM modulation. Each of the I and Q directions independently uses the same mapping as 4-PAM, where (b1 b0) denotes the bit mapping to a symbol, with b1 and b0 representing the most significant bit (MSB) and the least significant bit (LSB), respectively. In FIG. 2, db0 represents the minimum Euclidian distance for b0, and db1 represents the minimum Euclidian distance for b1 (assuming that the bit value for b0 is correctly decoded and known at the receiver before making a decision for b1). In other words, during decoding, the bit value for b0 is determined, and the decoded bit value for b0 is used to decode the bit value for b1.
An encoding and decoding system 300 that supports this symbol mapping 200 is shown in FIG. 3. As shown in FIG. 3, input vectors u1 N 302 a-302 b (each containing N bits) are respectively provided to polar encoders 304 a-304 b. The polar encoders 304 a-304 b use the input vectors 302 a-302 b and different polar codes to generate codewords x1 N 306 a-306 b, respectively, which represent encoded vectors (each containing N bits). As described in more detail below, each polar code includes a set of frozen bits with the remaining bits being information bits. The code rate R1 for the first polar code used by the polar encoder 304 a is expressed as K1/N, and code rate R2 for the second polar code used by the polar encoder 304 b is expressed as K2/N (where K1 and K2 denote the number of information bits for the polar codes). The overall code rate R can be calculated as (K1+K2)/2N=(R1+R2)/2. At a given channel condition (such as a given SNR), the K1 or K2 value cannot be increased, which acts as a limit to the code rate for the given channel condition. In the discussion below, Ns denotes the number of QAM symbols that carry 2N encoded bits and can equal N/2. The codewords 306 a-306 b are provided to a symbol mapper 308, which generates a series of transmit symbols 310. Each polar encoder 304 a-304 b includes any suitable structure for generating codewords using a binary alphabet polar code. The symbol mapper 308 includes any suitable structure for mapping codewords to symbols.
The symbols 310 are transmitted over at least one communication channel 312, which suffers from noise. Each channel 312 could represent any suitable communication channel, such as a wireless or fiber optic channel. In some embodiments, each channel 312 could be estimated as an AWGN channel.
The symbols 310, as transported over the channel(s) 312 and affected by noise, are received as symbols y 1 Ns 314. LLR calculators 316 a-316 b compute LLR values for different portions of the received symbols 314 to generate blocks 318 a-318 b of LLR values. Polar decoders 320 a-320 b decode the received symbols 314 using the LLR blocks 318 a-318 b and the polar codes to generate output vectors û1 N 322 a-322 b. Ideally, the output vectors 322 a-322 b match the input vectors 302 a-302 b. The output vectors 322 a-322 b could be provided to any suitable destination(s), such as to a common destination or to multiple destinations via de-multiplexing. Each of the polar decoders 320 a-320 b can support successive cancellation and use feedback in the form of at least some of the bits (such as the least significant bits) from one or more prior output vectors 322 a-322 b when decoding one or more current LLR blocks 318 a-318 b. Each LLR calculator 316 a-316 b includes any suitable structure for computing LLR values. Each polar decoder 320 a-320 b includes any suitable structure for generating decoded bits using LLR values and a polar code.
There are various “frozen” bits 324 a-324 b contained in the input vectors 302 a-302 b and corresponding “frozen” bits 326 a-326 b contained in the output vectors 322 a-322 b. As noted above, each frozen bit 324 a-324 b, 326 a-326 b denotes a bit whose value is fixed (either to a “1” or a “0”) in both the input vector to a polar encoder and in the output vector from a polar decoder. The remaining bits in the input vectors 302 a-302 b and the output vectors 322 a-322 b represent information bits and are used to transport data.
To support multilevel coding, the LLR calculators 316 a-316 b operate sequentially on the received symbols 314, meaning the LLR calculator 316 b (on a second bit level) generates LLR values using decoded outputs from the polar decoder 320 a (on a first bit level). For example, in response to receiving a set of symbols 314, the LLR calculator 316 a can output channel LLR blocks 318 a (such as column vectors of length N) to the polar decoder 320 a. The LLR calculator 316 b uses a new output vector û1 N 322 a from the polar decoder 320 a to generate LLR blocks 318 b at a second bit level.
In the example shown in FIG. 3, the MLC scheme for 16-QAM employs two binary polar codes. The polar encoder 304 a and the polar decoder 320 a support a first polar code with a binary alphabet for the first bit level, with one bit (b0I) in the I direction and one bit (b0Q) in the Q direction. The polar encoder 304 b and the polar decoder 320 b support a second polar code with a binary alphabet for the second bit level, with one bit (b1I) in the I direction and one bit (b1Q) in the Q direction. Here, when decoding an ith information bit, any lower decoded bits are used, meaning the second information bit is decoded using the decoded value of the first information bit, the third information bit is decoded using the decoded values of the first and second information bits, and this process can be repeated until all bits are decoded. Note, however, that other forms of decoding could be used, such as list decoding or belief-propagation decoding. Moreover, note that this approach can be easily extended to support higher-order modulation techniques. An example of this is shown in FIGS. 4 and 5, where this approach has been extended to support 64-QAM modulation.
FIGS. 4 and 5 illustrate a second example implementation of a coding scheme with three bit levels, where different bit levels may be associated with different polar coding schemes. FIG. 4 illustrates an example symbol mapping 400, which can be used with 64-QAM modulation. Each of the I and Q directions independently uses the same mapping as 8-PAM, where (b2 b1 b0) denotes the bit mapping to a symbol, with b2 and b0 representing the MSB and LSB, respectively. In FIG. 4, db0 represents the minimum Euclidian distance for b0, db1 represents the minimum Euclidian distance for b1 (assuming that the bit value for b0 is correctly decoded and known at the receiver before making a decision for b1), and db2 represents the minimum Euclidian distance for b2 (assuming that the bit values for b0 and b1 are correctly decoded and known at the receiver before making a decision for b2). In other words, during decoding, the bit value for b0 is determined, the decoded bit value for b0 is used to decode the bit value for b1, and the decoded bit values for b0 and b1 are used to decode the bit value for b2.
An encoding and decoding system 500 that supports this symbol mapping 400 is shown in FIG. 5. For higher-order modulations such as 64-QAM, one approach is to encode lower bit levels while leaving the MSB uncoded. An example of this is shown in FIG. 5, where input vectors u1 N 502 a-502 b (each containing N bits) are respectively provided to polar encoders 504 a-504 b, while input vectors u1 N 502 c (each containing N bits) could remain uncoded. Alternatively, the input vectors 502 c could be encoded using an encoder 504 c. The encoder 504 c could support any suitable code, such as a Bose, Chaudhuri and Hocquenghem (BCH) code to provide a certain level of error protection or a different polar code.
The polar encoders 504 a-504 b use the input vectors 502 a-502 b and different polar codes to generate codewords x1 N 506 a-506 b, respectively. Codewords x1 N 506 c contain either the uncoded input vectors 502 c or the outputs of the encoder 504 c. The codewords 506 a-506 c are provided to a symbol mapper 508, which generates a series of transmit symbols 510. The symbols 510 are transmitted over at least one communication channel 512, which suffers from noise.
Received symbols y 1 Ns 514 are obtained over the channel(s) 512, and LLR calculators 516 a-516 c use the received symbols 514 to generate LLR blocks 518 a-518 c. Polar decoders 520 a-520 b decode portions of the received symbols 514 using the LLR blocks 518 a-518 b and the polar codes to generate output vectors 522 a-522 b. A third decoder 520 c decodes other portions of the received symbols 514 using the LLR blocks 518 c to generate output vectors 522 c. The decoder 520 c could represent any suitable decoder, such as a maximum likelihood (ML) or other hard decoder (when the input vectors 502 c are uncoded) or a BCH, polar, or other decoder (when the input vectors 502 c are coded).
To support multilevel coding, the LLR calculators 516 a-516 c again operate sequentially on the received symbols 514. For example, in response to receiving a set of symbols 514, the LLR calculator 516 a can output channel LLR blocks 518 a (such as column vectors of length N) to the polar decoder 520 a. The LLR calculator 516 b uses a new output vector û1 N 522 a from the polar decoder 520 a to output channel LLR blocks 518 b to the polar decoder 520 b. The LLR calculator 516 c uses the new output vectors û1 N 522 a-522 b from the polar decoders 520 a-520 b to output channel LLR blocks 518 c to the decoder 520 c. Note again, however, that other forms of decoding could be used, such as list decoding or belief-propagation decoding.
FIGS. 6 and 7 illustrate an example implementation of a coding scheme in which one binary polar code may correspond to multiple bits for each of the I and Q directions. FIG. 6 illustrates an example symbol mapping 600, which can be used with 64-QAM modulation. Each of the I and Q directions independently uses the same Gray mapping, where (b2 b1 b0) denotes the bit mapping to a symbol, with b2 and b0 representing the MSB and LSB, respectively. Note that the Gray mapping is applied only to the two least significant bits (b1 and b0) in this example, not across all eight constellation points in FIG. 6. This scheme allows large Euclidian distances for b2 (MSB) with knowledge of correctly-decoded bits for b1 and b0. In this embodiment, the two least significant bits are protected with the polar code.
An encoding and decoding system 700 that supports this symbol mapping 600 is shown in FIG. 7. The encoding and decoding system 700 represents one example of a practical scheme for applying polar codes to MLC with higher-order modulation and the symbol mapping of FIG. 6. As shown in FIG. 7, input vectors 702 a-702 b are received, where the input vectors 702 a contain twice the number of bits (2N) as the input vectors 702 b (N). In the input vectors 702 a, K1 would equal 2N minus the number of frozen bits. The input vectors 702 a are provided to a polar encoder 704 a, which uses the input vectors 702 a and a polar code to generate codewords 706 a that are mapped to the two LSBs on each of the I and Q directions (b0I, b0Q, b1I, and b1Q).
The input vectors 702 b may remain uncoded or be subjected to coding using an encoder 704 b, such as a BCH encoder or another polar encoder with a high code rate. The uncoded or encoded input vectors 702 b represent codewords 706 b. The codewords 706 a-706 b are provided to a symbol mapper 708, which generates a series of transmit symbols 710. The symbols 710 are transmitted over at least one communication channel 712, which suffers from noise. Received symbols 714 are used by LLR calculators 716 a-716 b to generate LLR blocks 718 a (for b0I, b0Q, b1I, and b1Q) and LLR blocks 718 b (for b2I and b2Q). A polar decoder 720 a decodes the LLR blocks 718 a using the polar code to generate output vectors 722 a, while a decoder 720 b (such as an ML, BCH, or polar decoder) decodes the LLR blocks 718 b into output vectors 722 b.
In the approach shown in FIG. 7, the symbols 710 can be grouped into blocks of size Ns. For 64-QAM, each symbol uses three bits in the I direction and three bits in the Q direction. Thus, input vectors 702 a of 2N bits each are encoded using the polar encoder 704 a with the polar code, and the resulting blocks of 2N bits are multiplexed to the I and Q dimensions for the 64-QAM symbols. The third bit level positions of the I and Q dimensions for the 64-QAM symbols come from the input vectors 702 b or the outputs of the encoder 704 b, which have a length of size N. Since a Gray coding is used, the LLR values are computed according to the different mapping. Two or more bits can be decoded together at bit levels where Gray mapping is used.
Note that FIG. 7 shows the polar encoder 704 a handling the b0 and b1 bits and the encoder 704 b optionally handling the b2 bits. Similarly, FIG. 7 shows the polar decoder 720 a handling the b0 and b1 bits and the decoder 720 b handling the b2 bits. These bit assignments are for illustration only, and other embodiments could be used. For instance, the polar encoder 704 a could handle the b0 bits, while the encoder 704 b handles the b1 and b2 bits. In those embodiments, the polar decoder 720 a would handle the b0 bits, and the decoder 720 b would handle the b1 and b2 bits.
In general, with respect to any of the embodiments shown in FIGS. 2 through 7, a polar code can be characterized by a set of parameters such as (N, K, A, uAc). Here, N denotes the output block size in bits, K denotes the input information size in bits, A denotes the set of indices of the information bits (which is complemented by Ac that contains the indices of the frozen bits), and uAc denotes the values of the frozen bits. A standard generator matrix GN can be used for the encoding, such as:
G N =B N G 2 ⊗n  (1)
where BN is a bit reversal-based permutation matrix, and G2 ⊗n denotes the Kronecker product of
G 2 = [ 1 0 1 1 ] .
The polar code can have a length of N=2n, with K denoting the dimension of the set of information bits |A|. With the generator matrix defined in Equation (1), the encoding can be described by:
x 1 N =u 1 N G N  (2)
where u1 N is a row vector of length N of uncoded bits, and x1 N denotes a codeword (encoded bits) of length N. The code rate can be given by the ratio of K/N, while the set of frozen bits and their value are denoted by the vector uAc of length N−K.
There are various challenges encountered in the construction of polar codes, such as when higher-order modulation symbols are sent over an AWGN channel. When M-QAM symbols are used, this can be described as:
y k =s k +n k ,k=1,2, . . . ,N s  (3)
where sk denotes the kth M-QAM symbol sent over the physical channel, nk denotes the complex AWGN CN(0, σ2) with zero mean and σ2 variance, and Ns denotes the number of symbols to transmit a code block.
By using a specially-designed symbol mapping rule (such as one shown in FIG. 2, 4, or 6), due to different Euclidean distances between symbols with 0 or 1 on bit levels from the bit-to-symbol mapping, different polar codes have different properties. For example, the second bit level is better protected than the first bit level, so the effective SNR on the first bit level is lower than the SNR on the second bit level. As a result, the code rate R1=K1/N (where K1 is the number of information bits for the polar code on the first bit level and N is the code block length) is desired to be smaller than the code rate R2=K2/N of the polar code applied to the second bit level (where K2 is the number of information bits for the polar code on the second bit level). One challenge in designing such polar codes involves choosing the appropriate code rates such that the error rates of the polar codes at different bit levels are similar or equal (such as within a threshold amount of one another).
The following represents an example technique for optimizing the code rates for the polar codes at different bit levels, although other techniques could be used. In one technique, rather than using the typical construction process of running Monte Carlo simulations to obtain polarization parameters for each SNR evaluation, one ordered set of equivalent channel indexes WN (i)(ui|y1 N1 i−1) can be used, where the ordered set is obtained from the SNR value affecting each bit level. The WN (i)(ui|y1 N1 i−1) notation used for the equivalent channel indexes above is described in Arikan, “Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels,” IEEE Transactions on Information Theory, vol. 55, pp. 3051-3073, July 2009. For example, this can be done by analyzing the tail threshold value of probability density functions of vectors containing modified log likelihood ratios mLLR(WN (i)), which can be defined as:
mLLR ( W N ( i ) ) = { + LLR ( W N ( i ) ) , if correct decision was made - LLR ( W N ( i ) ) , if wrong decision was made ( 4 )
The log-likelihood ratio is defined as:
LLR ( W N ( i ) ) = log ( W N ( i ) ( Y 1 N , U 1 i - 1 | U i = 0 ) W N ( i ) ( Y 1 N , U 1 i - 1 | U i = 0 ) ) ( 5 )
For a given channel SNR, a BER estimation can be determined using the mLLR values as follows. First, from a large set of mLLR data for binary modulation channels (such as data obtained from simulation), calculate a threshold τ(i)(β) for a target probability of error β. For instance, denoting the distribution of mLLR data as f(i)(x), the threshold τ(i)(β) can be calculated as:
τ (i) (β) f (i)(x)dx=β  (6)
In other embodiments, the mean and variance of the mLLR values can be calculated, and a Gaussian probability density function (PDF) can be constructed with the same mean and variance. This can be done using only second-order statistic information (mean and variance). Second, the effective channel is selected that has τ(i)(β)<0, and its code rate can be expressed as:
R = 1 - 1 N i = 1 N I { τ ( i ) ( β ) > 0 } ( 7 )
where the indicator function I{τ(i)(β)>0} equals one when τ(i)(β)>0 and zero otherwise. This approach can be used to identify the optimal code rate for MLC by selecting the individual bit levels' code rates so that the error rates of the bit levels are approximately equal. An example of this can be expressed as:
P b (1) ≈P b (2) ≈ . . . ≈P b (q)≈constant target error rate (βtarget)  (8)
where Pb (1) is the bit error rate for the ith level in the q-level MLC.
In particular embodiments, the following procedure can be used to select the polar codes for use in an MLC scheme. In the following, a rate design rule is based on keeping substantially the same frame error rate (FER) for each bit level. The set of frozen bits (equivalent to choosing the coding rate R) is selected for each polar code so that substantially the same FER is achieved at the effective SNR experienced at each bit level, which can be determined by the corresponding Euclidean distance of neighboring constellation points in the symbol mapping that is being used.
A receiver (such as the receiver 160 in FIG. 1B) can use a multistage decoding strategy, which could be viewed as a higher-level extension of the successive cancellation algorithm where there is progressive decoding of bit levels rather than individual bits. At the decoder, the bits at the first bit level (in both I and Q directions) are decoded first. These decoded bits are used to remove constellation points that have different bit assignments before computing the input LLRs for the bits of the second bit level, and the same process can be repeated with the higher bit levels. This increases the effective SNR at each bit level. The design of MLC polar coding in this approach involves two main operations, namely (i) identifying the code rate at each bit level and (ii) designing polar codes with different rates for a given operating SNR point (which is equivalent to choosing the set of frozen bits).
Consider an MLC configuration with a 22q-ary digital modulation scheme. Let {Kj:j=0, q−1} denote the set of information bits at each bit level, which gives the set of code rates {RJ:j=0, . . . , q−1} of the binary input alphabet polar codes of length N used at each bit level. Note that coding across the I and Q axes is symmetric. Let pf (j)(γ) denote the probability of a frame error at the jth bit level (where j=0 for the LSB) at a channel SNR of γ dB. If a specially-designed symbol mapping rule (such as in FIG. 2, 4, or 6) is used, the minimum distance between adjacent constellation points is doubled with increased bit levels (assuming all bits at the previous bit level are decoded correctly). For the embodiments in FIGS. 2 through 5, this could be viewed as increasing the effective SNR at each bit level by 6 dB such that the effective SNR γj at the jth bit level is:
γj (dB)=γ+6j  (9)
For the embodiments in FIGS. 6 and 7, this can be expressed as:
γ2 (dB)=γ1+12  (10)
The set of code rates {Rj} can be chosen such that the same FER Pf (j)j) of the corresponding polar code is obtained (or at least in the same range) among all bit levels, which can be expressed as:
P f (j)j)≈ P F ,j=0, . . . ,q−1  (11)
where q is the number of bit levels per I/Q direction and P F is the target FER that is minimized for the operating SNR. As an example, for 64-QAM, 8-PAM is used for both the I and Q components of the signal, and q=3. For the first bit level, the binary mapping of 8-PAM is defined by b0I and b0Q for the I and Q components, respectively. The rate design rule defined above states that, for a specific FER of the overall system, imposing substantially the same Pf (j) for each bit level's polar code induces different rates Rj because of the different SNR γj experienced by each bit level j. The overall code design problem is therefore reduced to the design of multiple polar codes at different SNRs, and the procedure described below can be used to design the polar codes.
A successive cancellation decoder can be used to decode the polar code at each bit level. Therefore, using the procedure from above, it is straightforward to show that the overall frame error rate PF(γ) for the MLC configuration is:
P F ( γ ) j = 0 q - 1 P f ( j ) ( γ + 6 j ) ( 12 )
Solving Equation (12) for the different code rates uses an explicit relation between the code rate and the frame error rate at all SNR values, which may not be available in general. Therefore, a pragmatic approach can be used that exploits the fact that the performance is in general characterized by the weakest Pf (j). Therefore, to maximize the MLC efficiency for a given target for PF(γ), the code rates for the various bit levels can be selected such that:
P f (0)(γ)≈P f (1)(γ+6)≈P f (2)(γ+12)≈ . . .   (13)
In this case, the target frame error rate for each bit level is PF(γ)/q, and the code rates are chosen according to the effective SNR for each bit level.
By identifying the operating SNR and FER of each bit level j, the rate Rj and the corresponding set of unfrozen bits can be determined as follows. With this design, the low complexity of the encoder and decoder of binary input alphabet polar codes is maintained while increasing spectral efficiency through sending M-QAM symbols over a channel. A polar code can be designed for a given operating SNR and FER point using the mLLR values from Equation (4). Using, for example, Monte Carlo simulations, the first two moments of the mLLR values (the mean mi and the standard deviation σi) can be determined. An SC decoder with a random set of information bits can be used for which, at each equivalent bit channel, all previously decoded bits are assumed to be known. Note that the use of an SC decoder is optional and that other decoder realizations could be used, such as a list decoder or a belief-propagation decoder. Furthermore, the assumption that a channel is an AWGN channel is for illustration only, and other channel types could be used. If the PDF of the mLLR values is known, the probability of error of the equivalent bit channels can be directly evaluated. For example, the Gaussian approximation of a PDF can be calculated using the first two moments. This approximation is adequately accurate for highly-positive polarized equivalent bit channels. With a Gaussian approximation, the probability of bit error at the ith equivalent bit channel (assuming all other previous bits are decoded properly) can be expressed as:
β i = Q ( m i / σ i ) where : ( 14 ) Q ( x ) = Δ 1 2 π x exp ( - x 2 / 2 ) ( 15 )
After computing βi for all input bit locations, the indices of the information bits A are chosen to correspond to the equivalent bits with the smallest values of {βi}. The frame error probability PF can then be calculated as:
P F = 1 - i A ( 1 - β i ) i A β i ( 16 )
In general, {βi} are functions of the channel SNR γ, but their order tends to be insensitive to small changes in the SNR as the SNR increases. This can be important in practical communication systems since the operating region (the waterfall region of the SNR/BER curve) for a given code rate is typically within 1-2 dB and it may be necessary to have consistent ordering for that range.
Thus, for example, in a practical communication system that uses adaptive modulation, a single list can be stored that contains the universal ordering of the equivalent bit channels within a certain SNR range. A distinct list can be used for each modulation order. In each list, the indices of the bits at the top of the list can be assigned as frozen bits. The number of frozen bits (which corresponds to the code rate) can be determined by the SNR. This arrangement significantly simplifies the mechanism of designing the modulation and coding scheme (MCS) of a system. The above design procedure could be combined with any modulation scheme, where the modulation and the corresponding LLR calculation of the individual bits within each symbol are considered part of the underlying channel. With the above parameterization, the code rate |A|/N for a frame error rate P F could be computed analytically. For a given P F, the maximum code rate can correspond to a value calculated as follows:
max A such that i A β i P _ F ( 17 )
where it is assumed that the indices in A are sorted in ascending order of βi.
One advantage of the proposed solution described above is the use of “true” polarization parameters for choosing the sets of frozen bits and information bits. This can be particularly useful, for example, when more than one communication channel is used for physical transmission. One limiting constraint of conventional polar codes is that the same physical channel is to be used for each equivalent bit channel. However, two or more channels can still provide polarization to the equivalent channels when the initial G2 matrix is used as the base for the generator matrix. This means that the equivalent channels with the highest polarization levels can be used for transmitting the information bits, instead of some mismatched sets that are optimized for different system properties.
Note that the symbol mapping rules (such as the ones shown in FIGS. 2, 4, and 6) can introduce a desired property, such as increasing minimum Euclidian distance when moving to higher bit-levels. Gray mapping-based symbol mappings typical do not give such a desired property.
The components shown in FIGS. 3, 5, and 7 could be implemented in any suitable manner. For example, the components shown in FIGS. 3, 5, and 7 could be implemented using only hardware components or a combination of hardware and software/firmware instructions. As particular examples, the components shown in FIGS. 3, 5, and 7 could be implemented using one or more FPGAs, ASICs, or other hardware-only components. The components shown in FIGS. 3, 5, and 7 could also be implemented using one or more processing devices that execute software/firmware instructions for performing the described functions. A combination of approaches could also be used, such as when some components are implemented using only hardware and other components are implemented using one or more processing devices that execute software/firmware instructions.
Although FIGS. 2 through 7 illustrate examples of encoding and decoding schemes supporting MLC with binary alphabet polar codes, various changes may be made to FIGS. 2 through 7. For example, this disclosure is not limited to the use of two polar codes at two bit levels of an MLC scheme. Two or more binary alphabet polar codes can be used at two or more bit levels of an MLC scheme.
FIGS. 8A and 8B illustrate example methods for using MLC with binary alphabet polar codes in accordance with this disclosure. In particular, FIG. 8A illustrates an example method 800 that could be used by an encoder supporting MLC, and FIG. 8B illustrates an example method 850 that could be used by a decoder supporting MLC. These methods 800 and 850 could, for example, be used by the base stations 102-104 or by the transmitter 150 and receiver 160 to communicate over one or more wireless or other communication channels. However, the methods 800 and 850 could be used with any other suitable devices and in any other suitable systems.
As shown in FIG. 8A, data bits to be transmitted are received at step 802. This could include, for example, receiving one or more input vectors 302 a-302 b, 502 a-502 c, 702 a-702 b containing data bits to be transmitted. One or more polar codes are applied to one or more subsets of the bits to generate codewords at step 804. This could include, for example, the polar encoders 304 a-304 b, 504 a-504 b applying different polar codes to different input vectors 302 a-302 b, 502 a-502 b. This could also include the polar encoder 704 a applying a polar code to the input vectors 702 a. Note that some bits, such as most significant bits, may or may not be encoded during the generation of the codewords.
Symbols are generated using the codewords at step 806. This could include, for example, the symbol mapper 308, 508, 708 mapping the codewords to different QAM symbols based on an appropriate symbol mapping, such as the symbol mapping 200, 400, or 600. The symbols are transmitted over one or more communication channels at step 808. This could include, for example, transmitting the symbols over one or more AWGN channels.
As shown in FIG. 8B, symbols transmitted over one or more communication channels are received at step 852. This could include, for example, receiving the symbols over one or more AWGN channels. Different sets of decoding information are extracted from the received symbols at step 854. This could include, for example, the LLR calculators 316 a-316 b, 516 a-516 c, 716 a-716 b identifying LLR values using the received symbols. The LLR calculators can operate sequentially such that the LLR calculator on one bit level generates LLR values using decoded outputs from the decoder on at least one earlier bit level.
One or more polar codes are applied to one or more of the different sets of decoding information to generate decoded bits at step 856. This could include, for example, the polar decoders 320 a-320 b, 520 a-520 b applying different polar codes to different LLR blocks 318 a-318 b, 518 a-518 b at different bit levels. This could also include the polar decoder 720 a applying a polar code to the LLR blocks 718 a. In either case, the coding rate(s) of the polar code(s) allow(s) the different bit levels to have substantially similar error rates. Note that some bits (such as most significant bits at an additional bit level) could be decoded in other ways (such as by using an ML or BCH decoder). The decoded data bits at the bit different bit levels are output at step 858.
Although FIGS. 8A and 8B illustrate examples of methods for using MLC with binary alphabet polar codes, various changes may be made to FIGS. 8A and 8B. For example, while shown as a series of steps, various steps in each figure could overlap, occur in parallel, or occur any number of times.
FIG. 9 illustrates an example method 900 for designing an MLC coding scheme with binary alphabet polar codes in accordance with this disclosure. The method 900 could, for example, be performed offline one or more times prior to creating an encoding or decoding design.
As shown in FIG. 9, a target error rate is identified at step 902. This could include, for example, identifying a desired target FER for communications. The desired target FER could be based on the specific application or any other suitable criteria. An effective SNR at each of multiple bit levels associated with a particular symbol mapping rule is identified at step 904. As noted above, the symbol mapping rule may be designed to have a property that provides increased Euclidian distance as one goes to higher bit levels in MLC with knowledge of correctly-decoded bits for earlier bit level(s). For example, as noted above, the symbol mappings could provide a known increase to the effective SNR at each bit level, such as by 6 dB or 12 dB.
The code rate at each bit level is determined using the target error rate and the SNR at that bit level at step 906, and the polar codes are designed with the identified code rates at step 908. This could include, for example, selecting the code rates as described above so that the overall error rate of each polar code is substantially equivalent. This could also include using the mLLR values from Equation (4), determining their mean mi and standard deviation σi, constructing Gaussian PDFs using these values, estimating error rates using the PDFs, and selecting the bit locations with the worst error rates as the frozen bits.
Although FIG. 9 illustrates one example of a method 900 for designing an MLC coding scheme with binary alphabet polar codes, various changes may be made to FIG. 9. For example, while shown as a series of steps, various steps in FIG. 9 could overlap, occur in parallel, occur in a different order, or occur any number of times. Also, note that while multiple polar codes are designed in FIG. 9, a single polar code could be designed, such as for use in the system 700 of FIG. 7.
FIG. 10 illustrates an example device 1000 supporting the design of an MLC coding scheme with binary alphabet polar codes in accordance with this disclosure. The device 1000 could, for example, be used to implement the method 900 shown in FIG. 9 in order to design an MLC coding scheme with binary alphabet polar codes. Note, however, that the method 900 could be performed using other devices.
As shown in FIG. 10, the device 1000 includes a bus system 1002. The bus system 1002 is configured to support communication between at least one processing device 1004, at least one storage device 1006, at least one communications unit 1008, and at least one input/output (I/O) unit 1010.
The processing device 1004 is configured to execute instructions that can be loaded into a memory 1012. The device 1000 can include any suitable number(s) and type(s) of processing devices 1004 in any suitable arrangement. Example processing devices 1004 can include microprocessors, microcontrollers, digital signal processors, field programmable gate arrays, application specific integrated circuits, and discrete circuitry. The processing device(s) 1004 can be configured to execute processes and programs resident in the memory 1012.
The memory 1012 and a persistent storage 1014 can represent any structure(s) capable of storing and facilitating retrieval of information (such as data, program code, or other suitable information on a temporary or permanent basis). The memory 1012 can represent a random access memory or any other suitable volatile or non-volatile storage device(s). The persistent storage 1014 can contain one or more components or devices supporting longer-term storage of data, such as a read-only memory, hard drive, Flash memory, or optical disc.
The communications unit 1008 is configured to support communications with other systems or devices. For example, the communications unit 1008 can include a network interface card or a wireless transceiver facilitating communications over a network. The communications unit 1008 can be configured to support communications through any suitable physical or wireless communication link(s).
The I/O unit 1010 is configured to allow for input and output of data. For example, the I/O unit 1010 can be configured to provide a connection for user input through a keyboard, mouse, keypad, touchscreen, or other suitable input device. The I/O unit 1010 can also be configured to send output to a display, printer, or other suitable output device.
Although FIG. 10 illustrates one example of a device 1000 supporting the design of an MLC coding scheme with binary alphabet polar codes, various changes may be made to FIG. 10. For example, various components in FIG. 10 could be combined, further subdivided, or omitted and additional components could be added according to particular needs. In general, computing devices can come in a wide variety of configurations, from servers to desktop or laptop computers to portable devices such as mobile smartphones. FIG. 10 does not limit this disclosure to any particular computing device.
In some embodiments, various functions described in this patent document are implemented or supported by a computer program that is formed from computer readable program code and that is embodied in a computer readable medium. The phrase “computer readable program code” includes any type of computer code, including source code, object code, and executable code. The phrase “computer readable medium” includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory. A “non-transitory” computer readable medium excludes wired, wireless, optical, or other communication links that transport transitory electrical or other signals. A non-transitory computer readable medium includes media where data can be permanently stored and media where data can be stored and later overwritten, such as a rewritable optical disc or an erasable memory device.
It may be advantageous to set forth definitions of certain words and phrases used throughout this patent document. The terms “application” and “program” refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or a portion thereof adapted for implementation in a suitable computer code (including source code, object code, or executable code). The terms “transmit,” “receive,” and “communicate,” as well as derivatives thereof, encompasses both direct and indirect communication. The terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation. The term “or” is inclusive, meaning and/or. The phrase “associated with,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, have a relationship to or with, or the like. The phrase “at least one of,” when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed. For example, “at least one of: A, B, and C” includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A and B and C.
While this disclosure has described certain embodiments and generally associated methods, alterations and permutations of these embodiments and methods will be apparent to those skilled in the art. Accordingly, the above description of example embodiments does not define or constrain this disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of this disclosure, as defined by the following claims.

Claims (19)

What is claimed is:
1. A method comprising:
applying, by at least one processing device of a wireless device, a first binary alphabet polar code associated with a first coding rate to a first subset of data bits in a data word, to produce first encoded bits, the first encoded bits associated with a first bit level of a multilevel coding scheme;
generating, by the at least one processing device according to a symbol mapping of bits to symbols, one or more symbols using the first encoded bits and bits associated with a second bit level of the multilevel coding scheme and derived from a second subset of data bits in the data word; and
transmitting, by at least one antenna of the wireless device, the one or more symbols;
wherein a minimum Euclidian distance in the symbol mapping for the first bit level is smaller than the minimum Euclidian distance in the symbol mapping for the second bit level assuming knowledge of bit values at the first bit level;
and wherein the bits associated with the second bit level and derived from a second subset of data bits in the data word are either uncoded or encoded at a second coding rate higher than the first coding rate.
2. The method of claim 1, further comprising applying a second binary alphabet polar code associated with the second coding rate to the second subset of the data bits, to produce second encoded bits, the second encoded bits associated with the second bit level of the multilevel coding scheme;
and wherein the bits associated with the second bit level used in the generating of one or more symbols comprise the second encoded bits.
3. The method of claim 2, wherein the first and second coding rates are selected such that the first and second bit levels have substantially equal error rates.
4. The method of claim 1, wherein:
the first bit level represents one or more least significant bits of the one or more symbols; and
the second bit level represents one or more other bits of the one or more symbols.
5. The method of claim 1, wherein the first binary alphabet polar code corresponds to one bit in a bit-to-symbol mapping for an in-phase (I) direction and one bit in the bit-to-symbol mapping for a quadrature (Q) direction.
6. The method of claim 1, wherein the first binary alphabet polar code corresponds to multiple bits in a bit-to-symbol mapping for an in-phase (I) direction and multiple bits in the bit-to-symbol mapping for a quadrature (Q) direction.
7. The method of claim 1, wherein the symbol mapping provides an increasing Euclidian distance between symbols having a common value at a specific bit position as bit level increases.
8. A wireless device, comprising:
a polar encoder configured to apply a first binary alphabet polar code associated with a first coding rate to a first subset of data bits in a data word, to produce first encoded bits, the first encoded bits associated with a first bit level of a multilevel coding scheme;
a symbol mapper coupled to the polar encoder, the symbol mapper configured to map the first encoded bits and bits associated with a second bit level of the multilevel coding scheme and derived from a second subset of data bits in the data word to one or more symbols according to a symbol mapping of bits to symbols; and
an antenna coupled to the symbol mapper, the antenna configured to transmit the one or more symbols;
wherein a minimum Euclidian distance in the symbol mapping for the first bit level is smaller than the minimum Euclidian distance in the symbol mapping for the second bit level assuming knowledge of bit values at the first bit level;
and wherein the bits associated with the second bit level and derived from a second subset of data bits in the data word are either uncoded or encoded at a second coding rate higher than the first coding rate.
9. The wireless device of claim 8, further comprising a polar second encoder configured to apply a second binary alphabet polar code associated with the second coding rate to the second subset of the data bits to generate second encoded bits, the second encoded bits associated with the second bit level of the multilevel coding scheme;
and wherein the symbol mapper uses the first encoded bits and the second encoded bits.
10. The wireless device of claim 9, wherein the first and second coding rates are selected such that the first and second bit levels have substantially equal error rates.
11. The wireless device of claim 8, wherein:
the first bit level represents one or more least significant bits of the one or more symbols; and
the second bit level represents one or more other bits of the one or more symbols.
12. The wireless device of claim 8, wherein the first binary alphabet polar code corresponds to one bit in a bit-to-symbol mapping for an in-phase (I) direction and one bit in the bit-to-symbol mapping for a quadrature (Q) direction.
13. The wireless device of claim 8, wherein the first binary alphabet polar code corresponds to multiple bits in a bit-to-symbol mapping for an in-phase (I) direction and multiple bits in the bit-to-symbol mapping for a quadrature (Q) direction.
14. The wireless device of claim 8, wherein the symbol mapping provides an increasing Euclidian distance between symbols having a common value at a specific bit position as bit level increases.
15. A method comprising:
receiving, by an antenna of a wireless device, one or more symbols in a symbol mapping;
applying, by at least one processing device of the wireless device, a first binary alphabet polar code associated with a first coding rate to first decoding information associated with the one or more symbols, to produce first decoded bits, the first decoding information associated with a first bit level of a multilevel coding scheme;
then applying a second decoding scheme associated with a second coding rate higher than the first coding rate to second decoding information associated with the one or more symbols to generate second decoded bits, the second decoding information associated with a second bit level; and
outputting the first decoded bits and the second decoded bits;
wherein the first bit level has a minimum Euclidian distance in the symbol mapping that is smaller than the minimum Euclidian distance in the symbol mapping for the second bit level assuming correct decoding of the first decoded bits.
16. The method of claim 15, wherein the step of applying a second decoding scheme comprises applying a second binary alphabet polar code associated with the second coding rate to second decoding information associated with the one or more symbols to generate the second decoded bits.
17. The method of claim 16, wherein the first and second coding rates are selected such that the first and second bit levels have substantially equal error rates.
18. The method of claim 17, further comprising calculating log-likelihood ratio (LLR) values associated with the bit levels using the one or more symbols to generate the first and second decoding information, wherein the LLR values associated with the second bit level are calculated using the first decoded bits.
19. The method of claim 16, further comprising applying a third decoding scheme to third decoding information associated with the one or more symbols to generate third decoded bits, the third decoding information associated with a third bit level, that third bit level having a minimum Euclidian distance in the symbol mapping that is greater than the minimum Euclidian distance in the symbol mapping for the second bit level assuming correct decoding of the first and second decoded bits.
US16/583,944 2013-10-01 2019-09-26 Apparatus and method for multilevel coding (MLC) with binary alphabet polar codes Active US10911062B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/583,944 US10911062B2 (en) 2013-10-01 2019-09-26 Apparatus and method for multilevel coding (MLC) with binary alphabet polar codes

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361885351P 2013-10-01 2013-10-01
US14/503,547 US10135460B2 (en) 2013-10-01 2014-10-01 Apparatus and method for multilevel coding (MLC) with binary alphabet polar codes
US16/152,754 US10469099B2 (en) 2013-10-01 2018-10-05 Apparatus and method for multilevel coding (MLC) with binary alphabet polar codes
US16/583,944 US10911062B2 (en) 2013-10-01 2019-09-26 Apparatus and method for multilevel coding (MLC) with binary alphabet polar codes

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US16/152,754 Continuation US10469099B2 (en) 2013-10-01 2018-10-05 Apparatus and method for multilevel coding (MLC) with binary alphabet polar codes

Publications (2)

Publication Number Publication Date
US20200021307A1 US20200021307A1 (en) 2020-01-16
US10911062B2 true US10911062B2 (en) 2021-02-02

Family

ID=59273057

Family Applications (3)

Application Number Title Priority Date Filing Date
US14/503,547 Active 2035-10-05 US10135460B2 (en) 2013-10-01 2014-10-01 Apparatus and method for multilevel coding (MLC) with binary alphabet polar codes
US16/152,754 Active US10469099B2 (en) 2013-10-01 2018-10-05 Apparatus and method for multilevel coding (MLC) with binary alphabet polar codes
US16/583,944 Active US10911062B2 (en) 2013-10-01 2019-09-26 Apparatus and method for multilevel coding (MLC) with binary alphabet polar codes

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US14/503,547 Active 2035-10-05 US10135460B2 (en) 2013-10-01 2014-10-01 Apparatus and method for multilevel coding (MLC) with binary alphabet polar codes
US16/152,754 Active US10469099B2 (en) 2013-10-01 2018-10-05 Apparatus and method for multilevel coding (MLC) with binary alphabet polar codes

Country Status (1)

Country Link
US (3) US10135460B2 (en)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10193578B2 (en) * 2014-07-10 2019-01-29 The Royal Institution For The Advancement Of Learning / Mcgill University Flexible polar encoders and decoders
JP6481913B2 (en) * 2015-01-26 2019-03-13 華為技術有限公司Huawei Technologies Co.,Ltd. Polar code generation method and apparatus
US9479291B2 (en) * 2015-02-13 2016-10-25 Samsung Electronics Co., Ltd. Apparatus and method of constructing polar code
CN108900283B (en) * 2015-03-10 2019-09-20 华为技术有限公司 Transmit the method and communication equipment of information
US10527663B2 (en) * 2015-03-12 2020-01-07 Texas Instruments Incorporated Kalman filter for phase noise tracking
WO2016154968A1 (en) * 2015-04-01 2016-10-06 华为技术有限公司 Encoding method, apparatus, base station and user equipment
CN106899379B (en) * 2015-12-18 2020-01-17 华为技术有限公司 Method and communication device for processing polarization code
TWI629872B (en) * 2016-02-03 2018-07-11 旺宏電子股份有限公司 Method and device for adjusting the code length of extended polar codes
WO2017185213A1 (en) * 2016-04-25 2017-11-02 华为技术有限公司 Encoding method and encoding device
US10728080B2 (en) 2016-05-20 2020-07-28 Qualcomm Incorporated Polar codes and modulation mappings
US10567011B2 (en) * 2016-06-17 2020-02-18 Huawei Technologies Co., Ltd. Systems and methods for piece-wise rate matching when using polar codes
CN109075803B (en) * 2016-07-27 2020-11-06 华为技术有限公司 Polar code encoding with puncturing, shortening and extension
CN109417435B (en) * 2016-07-29 2020-08-14 华为技术有限公司 Encoding device and method and corresponding decoding device and method
US10333560B2 (en) * 2016-08-12 2019-06-25 Telefonaktiebolaget Lm Ericsson (Publ) Soft decoding of rate-compatible polar codes
KR102118328B1 (en) * 2016-08-12 2020-06-03 후아웨이 테크놀러지 컴퍼니 리미티드 Coding and decoding of polar codes extended to a length not equal to 2
US10320428B2 (en) * 2016-08-15 2019-06-11 Qualcomm Incorporated Outputting of codeword bits for transmission prior to loading all input bits
KR20180021324A (en) * 2016-08-19 2018-03-02 삼성전자주식회사 Storage device and operating method thereof
US10447435B2 (en) * 2016-08-19 2019-10-15 Huawei Technologies Co., Ltd. Reduced-stage polar decoding
KR102570005B1 (en) * 2016-08-22 2023-08-23 삼성전자주식회사 Apparatus and method for signaling control information regarding transmission scheme in wireless communication system
CN107800511B (en) * 2016-09-05 2021-11-12 中兴通讯股份有限公司 Mapping method and device for multi-level coding modulation system
KR20180027808A (en) * 2016-09-07 2018-03-15 에스케이하이닉스 주식회사 Memory controller, semiconductor memory system and operating method thereof
WO2018083647A1 (en) * 2016-11-03 2018-05-11 Telefonaktiebolaget Lm Ericsson (Publ) Systems and methods for rate-compatible polar codes for general channels
CN108574560B (en) * 2017-03-13 2020-07-24 华为技术有限公司 Encoding method, decoding method, device and equipment
WO2018192514A1 (en) * 2017-04-20 2018-10-25 Qualcomm Incorporated Dynamic frozen bits and error detection for polar codes
CN108737021B (en) * 2017-04-25 2021-12-10 华为技术有限公司 Polar code transmission method and device
CN108809482B (en) * 2017-04-28 2023-09-01 华为技术有限公司 Rate matching method and device for Polar codes
WO2018201404A1 (en) * 2017-05-04 2018-11-08 Qualcomm Incorporated Polar codes for uplink control information
CN110546888B (en) 2017-05-12 2021-11-19 华为技术有限公司 Method and apparatus for transmission and reception using polar codes
JP7026698B2 (en) * 2017-05-15 2022-02-28 クアルコム,インコーポレイテッド Early termination of sequential removal list decryption
CN108933643B (en) * 2017-05-24 2021-06-15 华为技术有限公司 Coding and decoding method and device
US10623138B2 (en) * 2017-06-02 2020-04-14 Qualcomm Incorporated Sequence-based polar code description
US10432357B2 (en) * 2017-06-02 2019-10-01 Qualcomm Incorporated Sequence-based polar code description
WO2019036867A1 (en) * 2017-08-21 2019-02-28 Qualcomm Incorporated Rate-matching techniques for polar codes
WO2019047206A1 (en) 2017-09-11 2019-03-14 Qualcomm Incorporated Physical broadcast channel design for polar codes
KR102426047B1 (en) * 2017-11-06 2022-07-26 삼성전자주식회사 Device and method for decoding polar code
TW201924294A (en) * 2017-11-16 2019-06-16 財團法人資訊工業策進會 Baseband processing apparatus and baseband processing method based on orthogonal frequency-division multiplexing
US10594523B2 (en) * 2017-12-22 2020-03-17 Tetra Semiconductor Ag Decoder circuit for a broadband pulse amplitude modulation signal
WO2019191944A1 (en) 2018-04-04 2019-10-10 Qualcomm Incorporated Polar coded harq scheme over time-varying channel
CN109004940B (en) * 2018-07-17 2021-12-28 浙江师范大学 Polarization code construction method and system based on Monte Carlo
WO2020132780A1 (en) * 2018-12-24 2020-07-02 Nokia Shanghai Bell Co., Ltd. Optimized link adaption
CN111817995B (en) * 2019-04-11 2021-12-28 华为技术有限公司 Method for non-coherent transmission of data
CN112019298B (en) * 2019-05-31 2021-11-19 华为技术有限公司 Coding modulation method, demodulation decoding method, device and equipment
EP3813278B1 (en) * 2019-10-22 2023-03-01 Mitsubishi Electric R&D Centre Europe B.V. Multilevel polar-coded modulation transmitting and receiving methods and devices
CN111030704B (en) * 2019-12-31 2021-07-27 华中科技大学 Polarization code-based synchronization-free communication method, device and system
CN115088194A (en) * 2020-02-21 2022-09-20 三菱电机株式会社 Error correction encoding device, error correction encoding method, error correction device, error correction method, communication method, optical communication system, and soft-decision error correction frame data structure
CN113364471B (en) * 2020-03-05 2024-04-12 华为技术有限公司 Decoding system, decoding controller and decoding control method
US11374704B2 (en) * 2020-05-07 2022-06-28 Cisco Technology, Inc. Mapping bit positions using predicted error values
CN113949453B (en) * 2020-07-15 2023-04-11 华为技术有限公司 Modulation coding and demodulation decoding method, device, equipment and communication system
CN114257332A (en) * 2020-09-23 2022-03-29 华为技术有限公司 Data processing method, communication device and communication equipment
US11515964B2 (en) * 2021-01-29 2022-11-29 Huawei Technologies Co., Ltd. Systems and methods for using not perfectly polarized bit channels in parallel polar codes
US11533126B1 (en) * 2021-08-20 2022-12-20 Cisco Technology, Inc. Soft-output Viterbi equalizer for non-binary modulation
US20230361788A1 (en) * 2022-05-04 2023-11-09 Qualcomm Incorporated Polarization adjusted channel coding design for complexity reduction
CN116137558A (en) * 2023-02-23 2023-05-19 广西大学 Multi-Polar code construction and self-adaptive channel selection method

Citations (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150381A (en) 1989-02-16 1992-09-22 Codex Corporation Trellis shaping for modulation systems
US5195107A (en) 1990-12-11 1993-03-16 At&T Bell Laboratories Technique for compensating for intersymbol interference
US5214672A (en) 1990-04-06 1993-05-25 Codex Corporation Trellis precoding for fractional bits/baud
US5233630A (en) 1991-05-03 1993-08-03 Qualcomm Incorporated Method and apparatus for resolving phase ambiguities in trellis coded modulated data
US5844922A (en) 1993-02-22 1998-12-01 Qualcomm Incorporated High rate trellis coding and decoding method and apparatus
US5848102A (en) 1993-06-04 1998-12-08 Qualcomm Incorporated Method and apparatus for encoding/decoding QAM trellis coded data
US6118826A (en) 1996-09-09 2000-09-12 Qualcomm Incorporated Method and apparatus for encoding/decoding QAM trellis coded data
US6216654B1 (en) 1999-08-27 2001-04-17 Daimlerchrysler Corporation Phase changing device
US20020106004A1 (en) 2000-11-15 2002-08-08 Tan Alfred Keng Tiong Method and apparatus for non-linear code-division multiple access technology
US6456666B1 (en) 1999-07-29 2002-09-24 Agere Systems Guardian Corp. Signal encoding for transmission of multiple digital signals over single physical medium
US20020150167A1 (en) * 2001-02-17 2002-10-17 Victor Demjanenko Methods and apparatus for configurable or assymetric forward error correction
US6707857B1 (en) 2000-07-14 2004-03-16 Ericsson Inc. Reference signal pre-distortion for transmitter with frequency synthesizer based phase encoding
US20060029145A1 (en) * 2004-04-26 2006-02-09 Sridhar Rajagopal Method and apparatus for encoding interleaving and mapping data to facilitate GBPS data rates in wireless systems
US20060140302A1 (en) 2002-10-01 2006-06-29 Bruno Jahan Reception of a signal modulated according to a multilevel coding technique
US7073116B1 (en) 1999-11-23 2006-07-04 Thomson Licensing Error detection/correction coding for hierarchical QAM transmission systems
US7180955B2 (en) 2000-08-22 2007-02-20 Texas Instruments Incorporated Parallel concatenated trellis-coded modulation with asymmetric signal mapping
US20080095121A1 (en) * 2002-05-14 2008-04-24 Shattil Steve J Carrier interferometry networks
US20080200114A1 (en) * 2005-06-14 2008-08-21 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Terrestrial Transmitting Station for Transmitting a Terrestrial Broadcast Signal, Satellite-Aided Broadcast System and Receiver for a Satellite-Aided Broadcast System
US20080279287A1 (en) * 2005-02-22 2008-11-13 Tadashi Asahina Code Type Transmitting Device and Code Type Receiving Device
US7458009B2 (en) 2003-10-14 2008-11-25 Samsung Electronics Co., Ltd. Method for encoding low-density parity check code
US20080320362A1 (en) 2004-12-29 2008-12-25 Felix Aleksandrovich Taubin Multilevel Low Density Parity-Check Coded Modulation
US20090135946A1 (en) * 2007-11-26 2009-05-28 Eric Morgan Dowling Tiled-building-block trellis decoders
US20100050048A1 (en) * 2008-08-20 2010-02-25 Nec Laboratories America, Inc. Mitigation of fiber nonlinearities in multilevel coded-modulation schemes
US20110182345A1 (en) * 2008-10-03 2011-07-28 Jing Lei Method and apparatus for adapting a bit interleaver to ldpc codes and modulations under awgn channel conditions using binary erasure surrogate channels
US7992070B2 (en) * 2006-12-27 2011-08-02 Nec Laboratories America, Inc. Bit-interleaved LDPC-coded modulation for high-speed optical transmission
US8347186B1 (en) * 2012-04-19 2013-01-01 Polaran Yazilim Bilisim Danismanlik Ithalat Ihracat Sanayi Ticaret Limited Sirketi Method and system for error correction in transmitting data using low complexity systematic encoder
US20130117344A1 (en) 2011-11-08 2013-05-09 Warren GROSS Methods and Systems for Decoding Polar Codes
US20140040214A1 (en) 2012-07-31 2014-02-06 Empire Technology Development Llc Entropy Coding and Decoding Using Polar Codes
US20140129896A1 (en) 2012-11-08 2014-05-08 Micron Technology, Inc. Error correction methods and apparatuses using first and second decoders
US20140153625A1 (en) 2012-12-03 2014-06-05 Digital PowerRadio, LLC Systems and Methods for Advanced Iterative Decoding and Channel Estimation of Concatenated Coding Systems
US20140169492A1 (en) 2012-12-18 2014-06-19 Samsung Electronics Co., Ltd. Communication system with compund coding mechanism and method of operation thereof
US20140173376A1 (en) * 2012-12-14 2014-06-19 Sungkyunkwan University Research & Business Foundation Encoding method and apparatus using crc code and polar code
US20140177740A1 (en) 2012-10-10 2014-06-26 Texas Instruments Incorporated Hexagonal constellations and decoding same in digital communication systems
US8787477B2 (en) 2012-09-18 2014-07-22 Texas Instruments Incorporated Methods for assigning codewoods to points in hexagonal constellations in digital communication systems
US20140208183A1 (en) 2013-01-23 2014-07-24 Samsung Electronics Co., Ltd. Method and system for encoding and decoding data using concatenated polar codes
US20140331083A1 (en) 2012-12-29 2014-11-06 Emc Corporation Polar codes for efficient encoding and decoding in redundant disk arrays
US8952834B1 (en) 2013-02-26 2015-02-10 Kandou Labs, S.A. Methods and systems for low weight coding
US20150077277A1 (en) 2013-09-16 2015-03-19 Lsi Corporation Reduced polar codes
US20150078486A1 (en) 2012-05-25 2015-03-19 Huawei Technologies Co., Ltd. Code modulation and demodulation method and apparatus for high order modulation
US20150103947A1 (en) 2012-06-29 2015-04-16 Huawei Technologies Co., Ltd. Encoding method and device
US20150222295A1 (en) 2012-10-17 2015-08-06 Huawei Technologies Co., Ltd. Encoding/decoding method, device, and system
US9246735B2 (en) * 2013-04-16 2016-01-26 Infinera Corporation Equalizing a signal modulated using a 5QAM modulation format
US20170331589A1 (en) * 2016-05-12 2017-11-16 Samsung Electronics Co., Ltd. Scheme for communication using integer-forcing scheme in wireless communication system

Patent Citations (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150381A (en) 1989-02-16 1992-09-22 Codex Corporation Trellis shaping for modulation systems
US5214672A (en) 1990-04-06 1993-05-25 Codex Corporation Trellis precoding for fractional bits/baud
US5195107A (en) 1990-12-11 1993-03-16 At&T Bell Laboratories Technique for compensating for intersymbol interference
US5233630A (en) 1991-05-03 1993-08-03 Qualcomm Incorporated Method and apparatus for resolving phase ambiguities in trellis coded modulated data
US5844922A (en) 1993-02-22 1998-12-01 Qualcomm Incorporated High rate trellis coding and decoding method and apparatus
US5848102A (en) 1993-06-04 1998-12-08 Qualcomm Incorporated Method and apparatus for encoding/decoding QAM trellis coded data
US6118826A (en) 1996-09-09 2000-09-12 Qualcomm Incorporated Method and apparatus for encoding/decoding QAM trellis coded data
US6456666B1 (en) 1999-07-29 2002-09-24 Agere Systems Guardian Corp. Signal encoding for transmission of multiple digital signals over single physical medium
US6216654B1 (en) 1999-08-27 2001-04-17 Daimlerchrysler Corporation Phase changing device
US7073116B1 (en) 1999-11-23 2006-07-04 Thomson Licensing Error detection/correction coding for hierarchical QAM transmission systems
US6707857B1 (en) 2000-07-14 2004-03-16 Ericsson Inc. Reference signal pre-distortion for transmitter with frequency synthesizer based phase encoding
US7180955B2 (en) 2000-08-22 2007-02-20 Texas Instruments Incorporated Parallel concatenated trellis-coded modulation with asymmetric signal mapping
US20020106004A1 (en) 2000-11-15 2002-08-08 Tan Alfred Keng Tiong Method and apparatus for non-linear code-division multiple access technology
US20020150167A1 (en) * 2001-02-17 2002-10-17 Victor Demjanenko Methods and apparatus for configurable or assymetric forward error correction
US20080095121A1 (en) * 2002-05-14 2008-04-24 Shattil Steve J Carrier interferometry networks
US20060140302A1 (en) 2002-10-01 2006-06-29 Bruno Jahan Reception of a signal modulated according to a multilevel coding technique
US7458009B2 (en) 2003-10-14 2008-11-25 Samsung Electronics Co., Ltd. Method for encoding low-density parity check code
US20060029145A1 (en) * 2004-04-26 2006-02-09 Sridhar Rajagopal Method and apparatus for encoding interleaving and mapping data to facilitate GBPS data rates in wireless systems
US20080320362A1 (en) 2004-12-29 2008-12-25 Felix Aleksandrovich Taubin Multilevel Low Density Parity-Check Coded Modulation
US20080279287A1 (en) * 2005-02-22 2008-11-13 Tadashi Asahina Code Type Transmitting Device and Code Type Receiving Device
US20080200114A1 (en) * 2005-06-14 2008-08-21 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Terrestrial Transmitting Station for Transmitting a Terrestrial Broadcast Signal, Satellite-Aided Broadcast System and Receiver for a Satellite-Aided Broadcast System
US7992070B2 (en) * 2006-12-27 2011-08-02 Nec Laboratories America, Inc. Bit-interleaved LDPC-coded modulation for high-speed optical transmission
US20090135946A1 (en) * 2007-11-26 2009-05-28 Eric Morgan Dowling Tiled-building-block trellis decoders
US20100050048A1 (en) * 2008-08-20 2010-02-25 Nec Laboratories America, Inc. Mitigation of fiber nonlinearities in multilevel coded-modulation schemes
US20110182345A1 (en) * 2008-10-03 2011-07-28 Jing Lei Method and apparatus for adapting a bit interleaver to ldpc codes and modulations under awgn channel conditions using binary erasure surrogate channels
US20130117344A1 (en) 2011-11-08 2013-05-09 Warren GROSS Methods and Systems for Decoding Polar Codes
US8347186B1 (en) * 2012-04-19 2013-01-01 Polaran Yazilim Bilisim Danismanlik Ithalat Ihracat Sanayi Ticaret Limited Sirketi Method and system for error correction in transmitting data using low complexity systematic encoder
US20150078486A1 (en) 2012-05-25 2015-03-19 Huawei Technologies Co., Ltd. Code modulation and demodulation method and apparatus for high order modulation
US20150103947A1 (en) 2012-06-29 2015-04-16 Huawei Technologies Co., Ltd. Encoding method and device
US20140040214A1 (en) 2012-07-31 2014-02-06 Empire Technology Development Llc Entropy Coding and Decoding Using Polar Codes
US8787477B2 (en) 2012-09-18 2014-07-22 Texas Instruments Incorporated Methods for assigning codewoods to points in hexagonal constellations in digital communication systems
US20140177740A1 (en) 2012-10-10 2014-06-26 Texas Instruments Incorporated Hexagonal constellations and decoding same in digital communication systems
US20150222295A1 (en) 2012-10-17 2015-08-06 Huawei Technologies Co., Ltd. Encoding/decoding method, device, and system
US20140129896A1 (en) 2012-11-08 2014-05-08 Micron Technology, Inc. Error correction methods and apparatuses using first and second decoders
US20140153625A1 (en) 2012-12-03 2014-06-05 Digital PowerRadio, LLC Systems and Methods for Advanced Iterative Decoding and Channel Estimation of Concatenated Coding Systems
US20140173376A1 (en) * 2012-12-14 2014-06-19 Sungkyunkwan University Research & Business Foundation Encoding method and apparatus using crc code and polar code
US20140169492A1 (en) 2012-12-18 2014-06-19 Samsung Electronics Co., Ltd. Communication system with compund coding mechanism and method of operation thereof
US20140331083A1 (en) 2012-12-29 2014-11-06 Emc Corporation Polar codes for efficient encoding and decoding in redundant disk arrays
US20140208183A1 (en) 2013-01-23 2014-07-24 Samsung Electronics Co., Ltd. Method and system for encoding and decoding data using concatenated polar codes
US8952834B1 (en) 2013-02-26 2015-02-10 Kandou Labs, S.A. Methods and systems for low weight coding
US9246735B2 (en) * 2013-04-16 2016-01-26 Infinera Corporation Equalizing a signal modulated using a 5QAM modulation format
US20150077277A1 (en) 2013-09-16 2015-03-19 Lsi Corporation Reduced polar codes
US20170331589A1 (en) * 2016-05-12 2017-11-16 Samsung Electronics Co., Ltd. Scheme for communication using integer-forcing scheme in wireless communication system

Non-Patent Citations (25)

* Cited by examiner, † Cited by third party
Title
"3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA); Multiplexing and Channel Coding"; 3GPP TS 36.212; Release 9.2.0; Jun. 2010; 61 pages.
Arikan, E.; "Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels"; IEEE Transactions on Information Theory; vol. 55; Jul. 2009; 23 pages.
Arikan, E.; "Channel Polarization: A Method for Constructing Capacity—Achieving Codes for Symmetric Binary-Input Memoryless Channels"; IEEE Transactions on Information Theory; vol. 55; Jul. 2009; 23 pages.
Arikan, et al.; "On the Rate of Channel Polarization"; IEEE International Symposium on Information Theory; No. 2; Jun. 2009; 5 pages.
Goldsmith, et al. "Adaptive Coded Modulation for Fading Channels"; IEEE Transactions on Communications; vol. 46; May 1998; 8 pages.
Hassani, et al.; "Rate-Dependent Analysis of the Asymptotic Behavior of Channel Polarization"; IEEE Transactions on Information Theory; vol. 59; Apr. 2013; 10 pages.
Ionita, et al.; U.S. Appl. No. 14/503,513; "Apparatus and Method for Supporting Polar Code DEsigns", filed Oct. 1, 2014; 36 pages.
Korada, et al.; "Polar Codes: Characterization of Exponent, Bounds, and Constructions"; IEEE Transactions on Information Theory; vol. 56; Dec. 2010; 12 pages.
Kumar, et al. "A GPU Implementation of Belief Propagation Decoder for Polar Codes"; Signals, Systems and Computers (ASILOMAR); Conference Record of the Forty Sixth Asilomar Conference; 2012; 5 pages.
Leroux, et al.; "A Semi-Parallel Successive-Cancellation Decoder for Polar Codes"; IEEE Transactions on Signal Processing; vol. 61; Jan. 2013; 11 pages.
Mansour, et al.; U.S. Appl. No. 14/502,011; "Apparatus and Method for Multilevel Coding in Communication Systems", filed Sep. 30, 2014; 43 pages.
Miller, et al.; "End-to-End Communication Test on Variable Length Packet Structures Utilizing AOS Testbed"; Third International Symposium on Space Mission Operations and Ground Data Systems; Nov. 1994; 9 pages.
Mori, et al.; "Performance and Construction of Polar Codes on Symmetric Binary-Input Memoryless Channels"; IEEE International Symposium on Information Theory; IEEE; Jun. 2009; 5 pages.
Mori, et al.; "Performance of Polar Codes with the Construction Using Density Evolution"; IEEE Communications Letters; vol. 13; Jul. 2009; 3 pages.
Prodan, et al.; "Forward Error Correction Proposal for EPOC Phy Layer"; printed from http://www.ieee802.orgl31bnlpubliclsept121prodan_01 b_0912.pdf; Broad com; IEEE 802.3bn EPoC; Sep. 2012; 13 pages.
Prosecution History, U.S. Appl. No. 14/503,547, filed Oct. 1, 2014, 772 pages.
Prosecution History, U.S. Appl. No. 16/152,754, filed Oct. 5, 2014, 456 pages.
Sasoglu, E.; "An Entropy Inequality for q-ary Random Variables and its Application to Channel Polarization"; IEEE Initernational Symposium on Information Theory; IEEE; Jun. 2010; 4 pages.
Sasoglu, E.; "Polar Codes for Discrete Alphabets"; IEEE Iinternational Symposium on Information Theory Proceedings; vol. 1; Jul. 2012; 5 pages.
Sasoglu, et al.; "Polarization for Arbitrary Discrete Memoryless Channels"; IEEE Information Theory Workshop; vol. 2; 2009; 5 pages.
Seidl, et al.; "Polar-Coded Modulation"; printed from http://arxiv.org/abs/ 1302.2855v1; Feb. 2013; 11 pages.
Shin, et al.; "Mapping Selection and Code Construction for 2m-ary Polar-Coded Modulation"; IEEE Communications Letters; vol. 16; Jun. 2012; 4 pages.
Tal, et al.; "How to Construct Polar Codes"; printed from http://arxiv.org/abs/ 1105.6164; May 2011; 21 pages.
Tal, et al.; "List Decoding of Polar Codes"; Information Theory Proceedings (ISIT); IEEE International Sumposium; 2011; 11 pages.
Wachsmann, et al.; "Multilevel Codes: Theoretical Concepts and Practical Design Rules"; IEEE Transactions on Information Theory; vol. 45; Jul. 1999; 31 pages.

Also Published As

Publication number Publication date
US20150091742A1 (en) 2015-04-02
US20190044530A1 (en) 2019-02-07
US10135460B2 (en) 2018-11-20
US20200021307A1 (en) 2020-01-16
US10469099B2 (en) 2019-11-05

Similar Documents

Publication Publication Date Title
US10911062B2 (en) Apparatus and method for multilevel coding (MLC) with binary alphabet polar codes
US9467164B2 (en) Apparatus and method for supporting polar code designs
CN107251439B (en) Method and AMC controller for adaptive modulation and coding of AMC
JP5513377B2 (en) Design methodology, method and apparatus for transmitting signals in a capacity optimized constellation
US9246510B2 (en) Apparatus and method for multilevel coding in communication systems
US10623142B2 (en) Method for determining an encoding scheme and symbol mapping
KR100574306B1 (en) Method and system for decoding low density parity checkldpc codes
CN107919944B (en) Method and apparatus for generating optimized coded modulation
JP6753931B2 (en) Methods for optical receivers, optical transmitters and optical receivers
US20220263694A1 (en) Apparatus for multi-level encoding
CN111480324B (en) Device and method for detecting mutually interfering information flows
CN113508542B (en) Transmitter using PSCM scheme and transmission method
US11522635B2 (en) Device and method for transmitting data by using multilevel coding, and communication system
Yazdani et al. Reliable communication over non-binary insertion/deletion channels
EP3404856B1 (en) Method of and apparatus for modulating an optical carrier
JP5287711B2 (en) Demodulation method
US20140301509A1 (en) Systems and methods for channel quality indicator (cqi) selection for non-deterministic receivers
CN112003626B (en) LDPC decoding method, system and medium based on navigation message known bits
US20220038117A1 (en) Device and method for transmitting data by using multilevel coding, and communication system
Ibrahimov Investigation of Noise Immunity Telecommunication Systems According to the Criterion Energy Efficiency
WO2008072604A1 (en) Decoder for performing error correction decoding by repeated decoding method
CN117981228A (en) System and method for multidimensional multi-level forward error correction encoding and decoding
Ma et al. Accessible capacity of secondary users

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE