WO2018184159A1 - Cyclic redundancy check (crc) attachments for early termination of polar codes - Google Patents
Cyclic redundancy check (crc) attachments for early termination of polar codes Download PDFInfo
- Publication number
- WO2018184159A1 WO2018184159A1 PCT/CN2017/079526 CN2017079526W WO2018184159A1 WO 2018184159 A1 WO2018184159 A1 WO 2018184159A1 CN 2017079526 W CN2017079526 W CN 2017079526W WO 2018184159 A1 WO2018184159 A1 WO 2018184159A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- crc
- bits
- information bits
- polar codes
- decoding
- 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.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
- H04L1/0065—Serial concatenated codes
Definitions
- the technology discussed below generally relates to wireless communications and, more particularly, to a method and apparatuses for improving performance of Polar codes.
- an output sequence of bits from an error correcting code can be mapped onto a sequence of complex modulation symbols. These symbols can be then used to create a waveform suitable for transmission across a wireless channel.
- decoding performance on the receiver side can be a limiting factor to achievable data rates.
- Data coding remains important to continued wireless communication enhancement.
- Certain aspects of the present disclosure provide techniques and apparatuses for improving wireless communications, and, more particularly, to a method and apparatuses for improving performance of Polar codes.
- Certain aspects provide a method for wireless communications.
- the method generally includes obtaining information bits, generating first cyclic redundancy check (CRC) bits based on the information bits, generating second CRC bits based on at least one of the information bits or the first CRC bits, generating polar codes based on the concatenation of the information bits with the first and second CRC bits, and transmitting a signal based on the polar codes.
- CRC cyclic redundancy check
- the method generally includes receiving polar codes generated based on information bits, first cyclic redundancy check (CRC) bits, and second CRC bits, decoding at least one of the first or second CRC bits of the polar codes to generate a set of decoding paths, performing a first CRC check based on the at least one first or second CRC bits for each of the decoding paths, and terminating decoding operations if the CRC check fails for all the decoding paths, or decoding the information bits of the polar codes for one or more of the decoding paths if the CRC check passed for the one or more decoding paths.
- CRC cyclic redundancy check
- Certain aspects provide a method for wireless communications.
- the method generally includes obtaining information bits, generating first cyclic redundancy check (CRC) bits based on a first subset of the information bits, generating second CRC bits based on a second subset of the information bits, generating polar codes based on a concatenation of the information bits with the first and second CRC bits, and transmitting a signal based on the polar codes.
- CRC cyclic redundancy check
- the method generally includes receiving polar codes generated based on information bits, first cyclic redundancy check (CRC) bits, and second CRC bits, decoding at least one of a first subset of the information bits or second CRC bits of the polar codes to generate a set of decoding paths, performing a CRC check based on the at least one first subset of information bits or second CRC bits for each of the decoding paths, and terminating decoding operations if the CRC check fails for all the decoding paths, or decoding the second subset of information bits of the polar codes for one or more of the decoding paths if the CRC check passed for the one or more decoding paths.
- CRC cyclic redundancy check
- FIG. 1 illustrates an example wireless communication system in accordance with certain aspects of the present disclosure.
- FIG. 2 illustrates a block diagram of an access point and a user terminal in accordance with certain aspects of the present disclosure.
- FIG. 3 illustrates a block diagram of an example wireless device in accordance with certain aspects of the present disclosure.
- FIG. 4 is a simplified block diagram illustrating a decoder, in accordance with certain aspects of the present disclosure.
- FIG. 5 is a simplified block diagram illustrating a decoder, in accordance with certain aspects of the present disclosure.
- FIG. 6 is block diagram illustrating channel polarization, in accordance with certain aspects of the present disclosure.
- FIG. 7 illustrates an example structure of a cyclic redundancy check (CRC) -aided (CA) polar coding scheme, in accordance with certain aspects of the present disclosure.
- CRC cyclic redundancy check
- CA -aided
- FIG. 8 illustrates an example decoder structure, in accordance with certain aspects of the present disclosure.
- FIG. 9 illustrates example encoding operations for wireless communication, in accordance with certain aspects of the present disclosure.
- FIG. 10 illustrates example decoding operations for wireless communication, in accordance with certain aspects of the present disclosure.
- FIG. 11 is a block diagram illustrating CRC attachment operations, in accordance with certain aspects of the present disclosure.
- FIG. 12 is a block diagram illustrating decoding operations, in accordance with certain aspects of the present disclosure.
- FIG. 13 is a block diagram illustrating CRC attachment operations, in accordance with certain aspects of the present disclosure.
- the techniques described herein may be used for various wireless communication networks such as Orthogonal Frequency Division Multiplexing (OFDM) networks, Time Division Multiple Access (TDMA) networks, Frequency Division Multiple Access (FDMA) networks, Orthogonal FDMA (OFDMA) networks, Single-Carrier FDMA (SC-FDMA) networks, Code Division Multiple Access (CDMA) networks, etc.
- OFDM Orthogonal Frequency Division Multiplexing
- TDMA Time Division Multiple Access
- FDMA Frequency Division Multiple Access
- OFDMA Orthogonal FDMA
- SC-FDMA Single-Carrier FDMA
- CDMA Code Division Multiple Access
- a CDMA network may implement a radio technology such as Universal Terrestrial Radio Access (UTRA) , CDMA2000, etc.
- UTRA includes Wideband-CDMA (W-CDMA) and Low Chip Rate (LCR) .
- CDMA2000 covers IS-2000, IS-95 and IS-856 standards.
- a TDMA network may implement a radio technology such as Global System for Mobile Communications (GSM) .
- GSM Global System for Mobile Communications
- An OFDMA network may implement a radio technology such as Evolved UTRA (E-UTRA) , IEEE 802.11, IEEE 802.16 (e.g., WiMAX (Worldwide Interoperability for Microwave Access) ) , IEEE 802.20, etc.
- E-UTRA Evolved UTRA
- IEEE 802.11, IEEE 802.16 e.g., WiMAX (Worldwide Interoperability for Microwave Access)
- UMTS Universal Mobile Telecommunication System
- LTE Long Term Evolution
- LTE-A Long Term Evolution Advanced
- UTRA, E-UTRA, GSM, UMTS and LTE are described in documents from an organization named “3rd Generation Partnership Project” (3GPP) .
- CDMA2000 is described in documents from an organization named “3rd Generation Partnership Project 2” (3GPP2) .
- CDMA2000 is described in documents from an organization named “3rd Generation Partnership Project 2” (3GPP2) .
- 3GPP2 3rd Generation Partnership Project 2
- 3GPP2 3rd Generation Partnership Project 2
- a node comprises a wireless node.
- Such wireless node may provide, for example, connectivity for or to a network (e.g., a wide area network such as the Internet or a cellular network) via a wired or wireless communication link.
- a wireless node implemented in accordance with the teachings herein may comprise an access point or an access terminal.
- An access point may comprise, be implemented as, or known as NodeB, Radio Network Controller ( “RNC” ) , eNodeB, Base Station Controller ( “BSC” ) , Base Transceiver Station ( “BTS” ) , Base Station ( “BS” ) , Transceiver Function ( “TF” ) , Radio Router, Radio Transceiver, Basic Service Set ( “BSS” ) , Extended Service Set ( “ESS” ) , Radio Base Station ( “RBS” ) , or some other terminology.
- RNC Radio Network Controller
- BSC Base Station Controller
- BTS Base Transceiver Station
- BS Base Station
- Transceiver Function “TF”
- Radio Router Radio Transceiver
- Basic Service Set “BSS”
- ESS Extended Service Set
- RBS Radio Base Station
- RBS Radio Base Station
- An access terminal may comprise, be implemented as, or known as an access terminal, a subscriber station, a subscriber unit, a mobile station, a remote station, a remote terminal, a user terminal, a user agent, a user device, user equipment, a user station, or some other terminology.
- an access terminal may comprise a cellular telephone, a cordless telephone, a Session Initiation Protocol ( “SIP” ) phone, a wireless local loop ( “WLL” ) station, a personal digital assistant ( “PDA” ) , a handheld device having wireless connection capability, a Station ( “STA” ) , or some other suitable processing device connected to a wireless modem.
- SIP Session Initiation Protocol
- WLL wireless local loop
- PDA personal digital assistant
- a phone e.g., a cellular phone or smart phone
- a computer e.g., a laptop
- a portable communication device e.g., a portable computing device (e.g., a personal data assistant)
- a tablet e.g., an entertainment device (e.g., a music or video device, or a satellite radio)
- a television display e.g., a flip-cam, a security video camera, a digital video recorder (DVR) , a global positioning system device, a sensor/industrial equipment, a medical device, an automobile/vehicle, a human implantable device, wearables, or any other suitable device that is configured to communicate via a wireless or wired medium.
- DVR digital video recorder
- the wireless communication system from FIG. 1 may be a wireless mobile broadband system based on Orthogonal Frequency Division Multiplexing (OFDM) .
- An access point 100 may include multiple antenna groups, one group including antennas 104 and 106, another group including antennas 108 and 110, and an additional group including antennas 112 and 114. In FIG. 1, only two antennas are shown for each antenna group, however, more or fewer antennas may be utilized for each antenna group.
- Access terminal 116 may be in communication with antennas 112 and 114, where antennas 112 and 114 transmit information to access terminal 116 over forward link 120 and receive information from access terminal 116 over reverse link 118.
- Access terminal 122 may be in communication with antennas 106 and 108, where antennas 106 and 108 transmit information to access terminal 122 over forward link 126 and receive information from access terminal 122 over reverse link 124.
- communication links 118, 120, 124 and 126 may use different frequency for communication. For example, forward link 120 may use a different frequency then that used by reverse link 118.
- Each group of antennas and/or the area in which they are designed to communicate is often referred to as a sector of the access point.
- each antenna group may be designed to communicate to access terminals in a sector of the areas covered by access point 100.
- the transmitting antennas of access point 100 may utilize beamforming in order to improve the signal-to-noise ratio of forward links for the different access terminals 116 and 122. Also, an access point using beamforming to transmit to access terminals scattered randomly through its coverage causes less interference to access terminals in neighboring cells than an access point transmitting through a single antenna to all its access terminals.
- FIG. 2 illustrates a block diagram of an aspect of a transmitter system 210 (e.g., also known as the access point) and a receiver system 250 (e.g., also known as the access terminal) in a wireless communications system, for example, a MIMO system 200.
- a transmitter system 210 e.g., also known as the access point
- a receiver system 250 e.g., also known as the access terminal
- traffic data for a number of data streams is provided from a data source 212 to a transmit (TX) data processor 214.
- TX transmit
- each data stream may be transmitted over a respective transmit antenna.
- TX data processor 214 formats, codes, and interleaves the traffic data for each data stream based on a particular coding scheme selected for that data stream to provide coded data.
- the coded data for each data stream may be multiplexed with pilot data using OFDM techniques.
- the pilot data is typically a known data pattern that is processed in a known manner and may be used at the receiver system to estimate the channel response.
- the multiplexed pilot and coded data for each data stream is then modulated (i.e., symbol mapped) based on a particular modulation scheme (e.g., BPSK, QPSK, m-QPSK, or m-QAM) selected for that data stream to provide modulation symbols.
- the data rate, coding, and modulation for each data stream may be determined by instructions performed by processor 230.
- TX MIMO processor 220 may further process the modulation symbols (e.g., for OFDM) .
- TX MIMO processor 220 then provides N T modulation symbol streams to N T transmitters (TMTR) 222a through 222t.
- TMTR T transmitters
- TX MIMO processor 220 applies beamforming weights to the symbols of the data streams and to the antenna from which the symbol is being transmitted.
- Each transmitter 222 receives and processes a respective symbol stream to provide one or more analog signals, and further conditions (e.g., amplifies, filters, and upconverts) the analog signals to provide a modulated signal suitable for transmission over the MIMO channel.
- N T modulated signals from transmitters 222a through 222t are then transmitted from N T antennas 224a through 224t, respectively.
- the transmitted modulated signals may be received by N R antennas 252a through 252r and the received signal from each antenna 252 may be provided to a respective receiver (RCVR) 254a through 254r.
- Each receiver 254 may condition (e.g., filters, amplifies, and downconverts) a respective received signal, digitize the conditioned signal to provide samples, and further process the samples to provide a corresponding “received” symbol stream.
- An RX data processor 260 then receives and processes the N R received symbol streams from N R receivers 254 based on a particular receiver processing technique to provide N T “detected” symbol streams.
- the RX data processor 260 then demodulates, deinterleaves, and decodes each detected symbol stream to recover the traffic data for the data stream.
- the processing by RX data processor 260 may be complementary to that performed by TX MIMO processor 220 and TX data processor 214 at transmitter system 210.
- a processor 270 periodically determines which pre-coding matrix to use.
- Processor 270 formulates a reverse link message comprising a matrix index portion and a rank value portion.
- the reverse link message may comprise various types of information regarding the communication link and/or the received data stream.
- the reverse link message is then processed by a TX data processor 238, which also receives traffic data for a number of data streams from a data source 236, modulated by a modulator 280, conditioned by transmitters 254a through 254r, and transmitted back to transmitter system 210.
- the modulated signals from receiver system 250 are received by antennas 224, conditioned by receivers 222, demodulated by a demodulator 240, and processed by a RX data processor 242 to extract the reserve link message transmitted by the receiver system 250.
- Processor 230 determines which pre-coding matrix to use for determining the beamforming weights, and then processes the extracted message.
- FIG. 3 illustrates various components that may be utilized in a wireless device 302 that may be employed within the wireless communication system from FIG. 1.
- the wireless device 302 is an example of a device that may be configured to implement the various methods described herein.
- the wireless device 302 may be an access point 100 from FIG. 1 or any of access terminals 116, 122.
- the wireless device 302 may include a processor 304 which controls operation of the wireless device 302.
- the processor 304 may also be referred to as a central processing unit (CPU) .
- Memory 306 which may include both read-only memory (ROM) and random access memory (RAM) , provides instructions and data to the processor 304.
- a portion of the memory 306 may also include non-volatile random access memory (NVRAM) .
- the processor 304 typically performs logical and arithmetic operations based on program instructions stored within the memory 306.
- the instructions in the memory 306 may be executable to implement the methods described herein.
- the wireless device 302 may also include a housing 308 that may include a transmitter 310 and a receiver 312 to allow transmission and reception of data between the wireless device 302 and a remote location.
- the transmitter 310 and receiver 312 may be combined into a transceiver 314.
- a single or a plurality of transmit antennas 316 may be attached to the housing 308 and electrically coupled to the transceiver 314.
- the wireless device 302 may also include (not shown) multiple transmitters, multiple receivers, and multiple transceivers.
- the wireless device 302 may also include a signal detector 318 that may be used in an effort to detect and quantify the level of signals received by the transceiver 314.
- the signal detector 318 may detect such signals as total energy, energy per subcarrier per symbol, power spectral density and other signals.
- the wireless device 302 may also include a digital signal processor (DSP) 320 for use in processing signals.
- DSP digital signal processor
- the wireless device may also include an encoder 322 for use in encoding signals for transmission (e.g., by implementing operations 900) and a decoder 324 for use in decoding received signals (e.g., by implementing operations 1000) .
- the various components of the wireless device 302 may be coupled together by a bus system 326, which may include a power bus, a control signal bus, and a status signal bus in addition to a data bus.
- the processor 304 may be configured to access instructions stored in the memory 306 to perform connectionless access, in accordance with aspects of the present disclosure discussed below.
- FIG. 4 is a simplified block diagram illustrating an encoder, in accordance with certain aspects of the present disclosure.
- FIG. 4 illustrates a portion of a radio frequency (RF) modem 404 that may be configured to provide an encoded message for wireless transmission.
- RF radio frequency
- an encoder 406 in a base station e.g., access point 100 and/or transmitter system 210) (or an access terminal on the reverse path) receives a message 402 for transmission.
- the message 402 may contain data and/or encoded voice or other content directed to the receiving device.
- the encoder 406 encodes the message using a suitable modulation and coding scheme (MCS) , typically selected based on a configuration defined by the access point100/transmitter system 210 or another network entity.
- MCS modulation and coding scheme
- the encoder 406 may encode the message using techniques described below (e.g., by implementing operations 900 described below) .
- An encoded bitstream 408 produced by the encoder 406 may then be provided to a mapper 410 that generates a sequence of Tx symbols 412 that are modulated, amplified and otherwise processed by Tx chain 414 to produce an RF signal 416 for transmission through antenna 418.
- FIG. 5 is a simplified block diagram illustrating a decoder, in accordance with certain aspects of the present disclosure.
- FIG. 5 illustrates a portion of a RF modem 510 that may be configured to receive and decode a wirelessly transmitted signal including an encoded message (e.g., a message encoded using a polar code as described below) .
- the modem 510 receiving the signal may reside at the access terminal, at the base station, or at any other suitable apparatus or means for carrying out the described functions.
- An antenna 502 provides an RF signal 416 (i.e., the RF signal produced in FIG. 4) to an access terminal (e.g., access terminal 116, 122, and/or 250) .
- An RF chain 506 processes and demodulates the RF signal 416 and may provide a sequence of symbols 508 to a demapper 512, which produces a bitstream 514 representative of the encoded message.
- a decoder 516 may then be used to decode m-bit information strings from a bitstream that has been encoded using a coding scheme (e.g., a Polar code) .
- the decoder 516 may comprise a Viterbi decoder, an algebraic decoder, a butterfly decoder, or another suitable decoder.
- a Viterbi decoder employs the well-known Viterbi algorithm to find the most likely sequence of signaling states (the Viterbi path) that corresponds to a received bitstream 514.
- the bitstream 514 may be decoded based on a statistical analysis of LLRs calculated for the bitstream 514.
- a Viterbi decoder may compare and select the correct Viterbi path that defines a sequence of signaling states using a likelihood ratio test to generate LLRs from the bitstream 514.
- Likelihood ratios can be used to statistically compare the fit of a plurality of candidate Viterbi paths using a likelihood ratio test that compares the logarithm of a likelihood ratio for each candidate Viterbi path (i.e. the LLR) to determine which path is more likely to account for the sequence of symbols that produced the bitstream 514.
- the decoder 516 may then decode the bitstream 514 based on the LLRs to determine the message 518 containing data and/or encoded voice or other content transmitted from the base station (e.g., access point 100 and/or transmitter system 210) .
- the decoder may decode the bitstream 514 in accordance with aspects of the present disclosure presented below (e.g., by implementing operation 1000 described below) .
- FIG. 6 is block diagram 600 illustrating channel polarization, in accordance with certain aspects of the present disclosure.
- the channel polarization may be carried out by transforming a pair of identical binary-input channels into two distinct channels of different qualities, e.g., one better and one worse than the original binary-input channel.
- channel W- e.g., the “bad” channel
- the information bits may be transmitted over the “good” channel and known “frozen” bits may be transmitted over the “bad” channel.
- FIG. 7 illustrates an example structure 700 of a cyclic redundancy check (CRC) -aided (CA) polar coding scheme, in accordance with certain aspects of the present disclosure.
- CRC cyclic redundancy check
- CA cyclic -aided
- K information bits are firstly appended by CRC to form a sequence with K+J+J’bits, where the CRC sequence (J+J’) is generated based on the K information bits and used for checking the integrity of the K information bits.
- FIG. 8 illustrates an example decoder structure 800, in accordance with certain aspects of the present disclosure.
- the list decoder of polar codes outputs L paths. As illustrated, each path may be checked by CRC (e.g., based on the CRC bits J+J’) . The path with correct CRC check will be selected for the decoding output which is also referred to as a CRC aided successive cancelation list (CA-SCL) decoder.
- CRC CRC aided successive cancelation list
- the CRC bits are generated based on all K information bits. Therefore, CRC checking can only be performed after the decoding of all the information bits and CRC bits. This means that the decoder cannot early terminate during the decoding.
- the decoder cannot early terminate during the decoding.
- the ability of early termination is helpful to reduce the decoding power and reduce the decoding calculations, and thus, is preferable for control channel code design.
- Polar codes are the first provably capacity-achieving coding scheme with almost linear (in block length) encoding and decoding complexity. Polar codes are widely considered as a candidate for error-correction in the next-generation wireless systems. Polar codes have many desirable properties such as deterministic construction (e.g., based on a fast Hadamard transform) , low and predictable error floors, and simple successive-cancellation list (SCL) based decoding.
- deterministic construction e.g., based on a fast Hadamard transform
- SCL successive-cancellation list
- aspects of the present disclosure provide a CRC attachment for CA-polar schemes that enables early termination of the decoding, saving power.
- CRC bits J+J’
- a concatenation of two CRC encoders may be used.
- the first J CRC bits may be generated based on K information bits by using a first CRC encoder, then the J CRC bits may be used as the input to a second CRC encoder to generate additional J’CRC bits.
- the J+J’CRC bits and the K information bits are mapped in a decoding order, e.g., the J+J’CRC bits decoded firstly before K information bits.
- the second J’CRC bits may be used for error detection for early termination and the first J CRC bits may be used for both error detection and error correction if CA-SCL decoder is used.
- FIG. 9 illustrates example operations 900 for wireless communication, in accordance with certain aspects of the present disclosure.
- operations 900 may be performed by a base station (BS) (e.g., access point 100/transmitter system 210) .
- BS base station
- UE user equipment
- FIG. 9 illustrates example operations 900 for wireless communication, in accordance with certain aspects of the present disclosure.
- operations 900 may be performed by a base station (BS) (e.g., access point 100/transmitter system 210) .
- BS base station
- UE user equipment
- aspects can be used by devices capable of acting like both UEs/BSs in a hybrid fashion as well as in virtual settings (such as SDN/NFV scenarios) .
- Operations 900 begin at block 902, by obtaining information bits, and at block 904, by generating first cyclic redundancy check (CRC) bits based on the information bits.
- CRC cyclic redundancy check
- second CRC bits are generated based on at least one of the information bits or the first CRC bits
- polar codes are generated based on the concatenation of the information bits with the first and second CRC bits.
- a signal is transmitted based on the polar codes.
- FIG. 10 illustrates example operations 1000 for wireless communication, in accordance with certain aspects of the present disclosure.
- Operations 1000 may be performed, for example, by a user equipment (UE) (e.g., access terminal 116/receiver system 250) .
- UE user equipment
- FIG. 10 illustrates example operations 1000 for wireless communication, in accordance with certain aspects of the present disclosure.
- Operations 1000 may be performed, for example, by a user equipment (UE) (e.g., access terminal 116/receiver system 250) .
- UE user equipment
- base station e.g., access point 100
- aspects can be used by devices capable of acting like both UEs/BSs in a hybrid fashion as well as in virtual settings (such as SDN/NFV scenarios) .
- Operations 1000 begin at block 1002, by receiving polar codes generated based on information bits, first cyclic redundancy check (CRC) bits, and second CRC bits, and at block 1004, by decoding at least one of the first or second CRC bits of the polar codes to generate a set of decoding paths.
- CRC cyclic redundancy check
- a first CRC check is performed based on the at least one first or second CRC bits for each of the decoding paths.
- the operations 1000 continue by terminating decoding operations if the CRC check fails for all the decoding paths, or decoding the information bits of the polar codes for one or more of the decoding paths if the CRC check passed for the one or more decoding paths.
- FIG. 11 is a block diagram 1100 illustrating example CRC attachment operations, in accordance with certain aspects of the present disclosure.
- K information bits are received by a first CRC encoder that generates first CRC bits J.
- the J CRC bits are provided to a second CRC encoder that generates second CRC bits J’based on the CRC bits J.
- the K information bits, first CRC bits J, and second CRC bits J’a re then concatenated using a parallel-to-serial (P/S) converter to generate K+J+J’bits, based on which polar codes are generated using a polar code generator and assigning J+J’CRC bits with lower indices as compared to K information bits.
- P/S parallel-to-serial
- FIG. 12 is a block diagram 1200 illustrating decoding operations, in accordance with certain aspects of the present disclosure.
- the J+J’CRC bits are decoded first by using a successive cancelation list (SCL) decoder to generate a plurality of decoding paths (List 1 to List L) .
- SCL successive cancelation list
- a CRC check is performed for each of the decoding paths based on the J’CRC bits. If all the paths fail the CRC check, the decoding process will be terminated. Otherwise, the decoding will continue for decoding K information bits. For example, another SCL decoder may be used to decode the K information bits and generate another plurality of decoding paths.
- Another CRC check is performed for each of the decoding paths based on the J bits CRC to select a final path, as illustrated.
- K information bits only the path that passed the CRC check will be considered for the second SCL decoder. In such case, the paths that failed CRC will be pruned.
- FIG. 13 is a block diagram 1300 illustrating another example of CRC attachment operations, in accordance with certain aspects of the present disclosure.
- the K information bits are split into two subsets of information bits K 1 and K 2 by a serial-to-parallel (S/P) converter.
- the information bits K 1 are provided to a first CRC encoder, based on which CRC bits J’a re generated, and the information bits K 2 are provided to a second CRC encoder based on which CRC bits J are generated.
- the K information bits, first CRC bits J, and second CRC bits J’a then concatenated using a P/S converter to generate K+J+J’bits, based on which polar codes are generated using a polar code generator.
- the K 1 information bits and the J’CRC bits may be decoded first to generate a plurality of decoding paths, each of which may CRC checked based on the J’CRC bits.
- the K 1 information bits and the J’CRC bits may be assigned lower indices as compared to the K 2 bits and the J CRC bits. If all the decoding paths fail the CRC check, the decoding operations are terminated. Otherwise, decoding will continue with the paths that passed the CRC check.
- the K 2 information bits and the J CRC bits may be decoded to generate another plurality of decoding paths which are CRC checked based on the J CRC bits to select a final path.
- the CRC attachment can be implemented by using a shifter register with less implementation complexity.
- a similar block error rate (BLER) and FAR performance can obtained as compared to CA-Polar with the same number of CRC bits but with reduced implementation complexity, e.g., no additional efforts for permutation of CRC generator matrix.
- the techniques provided herein also provide improved early termination performance because if early termination is activated, there is savings of power by skipping decoding of information bits.
- the various operations of methods described above may be performed by any suitable means capable of performing the corresponding functions.
- the means may include various hardware and/or software component (s) and/or module (s) , including, but not limited to a circuit, an application specific integrated circuit (ASIC) , or processor.
- ASIC application specific integrated circuit
- means for transmitting may comprise a transmitter (e.g., the transmitter 222) and/or an antenna (s) 224 of the access point 210 illustrated in FIG. 2, the transmitter 254 and/or the antenna 252 of the access terminal 250 illustrated in FIG. 2, the transmitter 310 and/or antenna (s) 316 depicted in FIG. 3, and/or the antenna 418 illustrated in FIG. 4.
- Means for receiving may comprise a receiver (e.g., the receiver 222) and/or an antenna (s) 224 of the access terminal 250 illustrated in FIG. 2, the receiver 312 and/or antenna (s) 316 depicted in FIG. 3, and/or the antenna 502 illustrated in FIG. 5.
- Means for generating, means for determining, means for inserting, means for encoding, means for decoding, means for verifying, means for maintaining, and/or means for keeping may comprise a processing system, which may include one or more processors, such as the RX data processor 242, the TX data processor 214, and/or the processor 230 of the access point 210 illustrated in FIG. 2, the RX data processor 260, the TX data processor 238, and/or the processor 270 of the access terminal 250 illustrated in FIG. 2, the processor 304 and/or the DSP 320 portrayed in FIG. 3, the encoder 406 illustrated in FIG. 4, and/or the decoder 516 illustrated in FIG. 5.
- processors such as the RX data processor 242, the TX data processor 214, and/or the processor 230 of the access point 210 illustrated in FIG. 2, the RX data processor 260, the TX data processor 238, and/or the processor 270 of the access terminal 250 illustrated in FIG. 2, the processor 304 and/or the DSP 320 portrayed in FIG
- determining encompasses a wide variety of actions. For example, “determining” may include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure) , ascertaining and the like. Also, “determining” may include receiving (e.g., receiving information) , accessing (e.g., accessing data in a memory) and the like. Also, “determining” may include resolving, selecting, choosing, establishing and the like.
- the term receiver may refer to an RF receiver (e.g., of an RF front end) or an interface (e.g., of a processor) for receiving structures processed by an RF front end (e.g., via a bus) .
- the term transmitter may refer to an RF transmitter of an RF front end or an interface (e.g., of a processor) for outputting structures to an RF front end for transmission (e.g., via a bus) .
- a phrase referring to “at least one of” a list of items refers to any combination of those items, including single members.
- “at least one of: a, b, or c” is intended to cover: a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination with multiples of the same element (e.g., a-a, a-a-a, a-a-b, a-a-c, a-b-b, a c c, b-b, b-b-b, b-b-c, c-c, and c-c-c or any other ordering of a, b, and c) .
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- PLD programmable logic device
- a general-purpose processor may be a microprocessor, but in the alternative, the processor may be any commercially available processor, controller, microcontroller, or state machine.
- a processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
- a software module may reside in any form of storage medium that is known in the art. Some examples of storage media that may be used include random access memory (RAM) , read only memory (ROM) , flash memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM and so forth.
- RAM random access memory
- ROM read only memory
- flash memory EPROM memory
- EEPROM memory EEPROM memory
- registers a hard disk, a removable disk, a CD-ROM and so forth.
- a software module may comprise a single instruction, or many instructions, and may be distributed over several different code segments, among different programs, and across multiple storage media.
- a storage medium may be coupled to a processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
- the methods disclosed herein comprise one or more steps or actions for achieving the described method.
- the method steps and/or actions may be interchanged with one another without departing from the scope of the claims.
- the order and/or use of specific steps and/or actions may be modified without departing from the scope of the claims.
- an example hardware configuration may comprise a processing system in a wireless node.
- the processing system may be implemented with a bus architecture.
- the bus may include any number of interconnecting buses and bridges depending on the specific application of the processing system and the overall design constraints.
- the bus may link together various circuits including a processor, machine-readable media, and a bus interface.
- the bus interface may be used to connect a network adapter, among other things, to the processing system via the bus.
- the network adapter may be used to implement the signal processing functions of the PHY layer.
- a user interface e.g., keypad, display, mouse, joystick, etc.
- the bus may also link various other circuits such as timing sources, peripherals, voltage regulators, power management circuits, and the like, which are well known in the art, and therefore, will not be described any further.
- the processor may be responsible for managing the bus and general processing, including the execution of software stored on the machine-readable media.
- the processor may be implemented with one or more general-purpose and/or special-purpose processors. Examples include microprocessors, microcontrollers, DSP processors, and other circuitry that can execute software.
- Software shall be construed broadly to mean instructions, data, or any combination thereof, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
- Machine-readable media may include, by way of example, RAM (Random Access Memory) , flash memory, ROM (Read Only Memory) , PROM (Programmable Read-Only Memory) , EPROM (Erasable Programmable Read-Only Memory) , EEPROM (Electrically Erasable Programmable Read-Only Memory) , registers, magnetic disks, optical disks, hard drives, or any other suitable storage medium, or any combination thereof.
- the machine-readable media may be embodied in a computer-program product.
- the computer-program product may comprise packaging materials.
- the machine-readable media may be part of the processing system separate from the processor.
- the machine-readable media, or any portion thereof may be external to the processing system.
- the machine-readable media may include a transmission line, a carrier wave modulated by data, and/or a computer product separate from the wireless node, all which may be accessed by the processor through the bus interface.
- the machine-readable media, or any portion thereof may be integrated into the processor, such as the case may be with cache and/or general register files.
- the processing system may be configured as a general-purpose processing system with one or more microprocessors providing the processor functionality and external memory providing at least a portion of the machine-readable media, all linked together with other supporting circuitry through an external bus architecture.
- the processing system may be implemented with an ASIC (Application Specific Integrated Circuit) with the processor, the bus interface, the user interface in the case of an access terminal) , supporting circuitry, and at least a portion of the machine-readable media integrated into a single chip, or with one or more FPGAs (Field Programmable Gate Arrays) , PLDs (Programmable Logic Devices) , controllers, state machines, gated logic, discrete hardware components, or any other suitable circuitry, or any combination of circuits that can perform the various functionality described throughout this disclosure.
- FPGAs Field Programmable Gate Arrays
- PLDs Programmable Logic Devices
- the machine-readable media may comprise a number of software modules.
- the software modules include instructions that, when executed by the processor, cause the processing system to perform various functions.
- the software modules may include a transmission module and a receiving module.
- Each software module may reside in a single storage device or be distributed across multiple storage devices.
- a software module may be loaded into RAM from a hard drive when a triggering event occurs.
- the processor may load some of the instructions into cache to increase access speed.
- One or more cache lines may then be loaded into a general register file for execution by the processor.
- Computer-readable media include both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another.
- a storage medium may be any available medium that can be accessed by a computer.
- such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
- any connection is properly termed a computer-readable medium.
- Disk and disc include compact disc (CD) , laser disc, optical disc, digital versatile disc (DVD) , floppy disk, and disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers.
- computer-readable media may comprise non-transitory computer-readable media (e.g., tangible media) .
- computer-readable media may comprise transitory computer-readable media (e.g., a signal) . Combinations of the above should also be included within the scope of computer-readable media.
- certain aspects may comprise a computer program product for performing the operations presented herein.
- a computer program product may comprise a computer-readable medium having instructions stored (and/or encoded) thereon, the instructions being executable by one or more processors to perform the operations described herein.
- the computer program product may include packaging material.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Certain aspects of the present disclosure relate to techniques and apparatus for improving performance of Polar codes. An exemplary method generally includes obtaining information bits, generating first cyclic redundancy check (CRC) bits based on the information bits, generating second CRC bits based on at least one of the information bits or the first CRC bits, generating polar codes based on the concatenation of the information bits with the first and second CRC bits, and transmitting a signal based on the polar codes.
Description
The technology discussed below generally relates to wireless communications and, more particularly, to a method and apparatuses for improving performance of Polar codes.
INTRODUCTION
In a transmitter of all modern wireless communication links, an output sequence of bits from an error correcting code can be mapped onto a sequence of complex modulation symbols. These symbols can be then used to create a waveform suitable for transmission across a wireless channel. As data rates increase, decoding performance on the receiver side can be a limiting factor to achievable data rates. Data coding remains important to continued wireless communication enhancement.
BRIEF SUMMARY
Certain aspects of the present disclosure provide techniques and apparatuses for improving wireless communications, and, more particularly, to a method and apparatuses for improving performance of Polar codes.
The following summarizes some aspects of the present disclosure to provide a basic understanding of the discussed technology. This summary is not an extensive overview of all contemplated features of the disclosure, and is intended neither to identify key or critical elements of all aspects of the disclosure nor to delineate the scope of any or all aspects of the disclosure. Its sole purpose is to present some concepts of one or more aspects of the disclosure in summary form as a prelude to the more detailed description that is presented later.
Certain aspects provide a method for wireless communications. The method generally includes obtaining information bits, generating first cyclic redundancy check (CRC) bits based on the information bits, generating second CRC bits based on at least one of the information bits or the first CRC bits, generating polar codes based on the concatenation of the information bits with the first and second CRC bits, and transmitting a signal based on the polar codes.
Certain aspects provide a method for wireless communications. The method generally includes receiving polar codes generated based on information bits, first cyclic redundancy check (CRC) bits, and second CRC bits, decoding at least one of the first or second CRC bits of the polar codes to generate a set of decoding paths, performing a first CRC check based on the at least one first or second CRC bits for each of the decoding paths, and terminating decoding operations if the CRC check fails for all the decoding paths, or decoding the information bits of the polar codes for one or more of the decoding paths if the CRC check passed for the one or more decoding paths.
Certain aspects provide a method for wireless communications. The method generally includes obtaining information bits, generating first cyclic redundancy check (CRC) bits based on a first subset of the information bits, generating second CRC bits based on a second subset of the information bits, generating polar codes based on a concatenation of the information bits with the first and second CRC bits, and transmitting a signal based on the polar codes.
Certain aspects provide a method for wireless communications. The method generally includes receiving polar codes generated based on information bits, first cyclic redundancy check (CRC) bits, and second CRC bits, decoding at least one of a first subset of the information bits or second CRC bits of the polar codes to generate a set of decoding paths, performing a CRC check based on the at least one first subset of information bits or second CRC bits for each of the decoding paths, and terminating decoding operations if the CRC check fails for all the decoding paths, or decoding the second subset of information bits of the polar codes for one or more of the decoding paths if the CRC check passed for the one or more decoding paths.
The techniques may be embodied in methods, apparatuses, and computer program products. Other aspects, features, and embodiments of the present invention will become apparent to those of ordinary skill in the art, upon reviewing the following description of specific, exemplary embodiments of the present invention in conjunction with the accompanying figures. While features of the present invention may be discussed relative to certain embodiments and figures below, all embodiments of the present invention can include one or more of the advantageous features discussed herein. In other words, while one or more embodiments may be discussed as having certain advantageous features, one or more of such features may also be used in
accordance with the various embodiments of the invention discussed herein. In similar fashion, while exemplary embodiments may be discussed below as device, system, or method embodiments it should be understood that such exemplary embodiments can be implemented in various devices, systems, and methods.
So that the manner in which the above-recited features of the present disclosure can be understood in detail, a more particular description, briefly summarized above, may be had by reference to aspects, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only certain typical aspects of this disclosure and are therefore not to be considered limiting of its scope, for the description may admit to other equally effective aspects.
FIG. 1 illustrates an example wireless communication system in accordance with certain aspects of the present disclosure.
FIG. 2 illustrates a block diagram of an access point and a user terminal in accordance with certain aspects of the present disclosure.
FIG. 3 illustrates a block diagram of an example wireless device in accordance with certain aspects of the present disclosure.
FIG. 4 is a simplified block diagram illustrating a decoder, in accordance with certain aspects of the present disclosure.
FIG. 5 is a simplified block diagram illustrating a decoder, in accordance with certain aspects of the present disclosure.
FIG. 6 is block diagram illustrating channel polarization, in accordance with certain aspects of the present disclosure.
FIG. 7 illustrates an example structure of a cyclic redundancy check (CRC) -aided (CA) polar coding scheme, in accordance with certain aspects of the present disclosure.
FIG. 8 illustrates an example decoder structure, in accordance with certain aspects of the present disclosure.
FIG. 9 illustrates example encoding operations for wireless communication, in accordance with certain aspects of the present disclosure.
FIG. 10 illustrates example decoding operations for wireless communication, in accordance with certain aspects of the present disclosure.
FIG. 11 is a block diagram illustrating CRC attachment operations, in accordance with certain aspects of the present disclosure.
FIG. 12 is a block diagram illustrating decoding operations, in accordance with certain aspects of the present disclosure.
FIG. 13 is a block diagram illustrating CRC attachment operations, in accordance with certain aspects of the present disclosure.
Various aspects of the disclosure are described more fully hereinafter with reference to the accompanying drawings. This disclosure may, however, be embodied in many different forms and should not be construed as limited to any specific structure or function presented throughout this disclosure. Rather, these aspects are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. Based on the teachings herein one skilled in the art should appreciate that the scope of the disclosure is intended to cover any aspect of the disclosure disclosed herein, whether implemented independently of or combined with any other aspect of the disclosure. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects set forth herein. In addition, the scope of the disclosure is intended to cover such an apparatus or method which is practiced using other structure, functionality, or structure and functionality in addition to or other than the various aspects of the disclosure set forth herein. It should be understood that any aspect of the disclosure disclosed herein may be embodied by one or more elements of a claim.
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration. ” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.
Although particular aspects are described herein, many variations and permutations of these aspects fall within the scope of the disclosure. Although some benefits and advantages of the preferred aspects are mentioned, the scope of the disclosure is not intended to be limited to particular benefits, uses, or objectives. Rather, aspects of the disclosure are intended to be broadly applicable to different wireless technologies, system configurations, networks, and transmission protocols, some of which are illustrated by way of example in the figures and in the following description of the preferred aspects. The detailed description and drawings are merely illustrative of the disclosure rather than limiting, the scope of the disclosure being defined by the appended claims and equivalents thereof.
AN EXAMPLE WIRELESS COMMUNICATION SYSTEM
The techniques described herein may be used for various wireless communication networks such as Orthogonal Frequency Division Multiplexing (OFDM) networks, Time Division Multiple Access (TDMA) networks, Frequency Division Multiple Access (FDMA) networks, Orthogonal FDMA (OFDMA) networks, Single-Carrier FDMA (SC-FDMA) networks, Code Division Multiple Access (CDMA) networks, etc. The terms “networks” and “systems” are often used interchangeably. A CDMA network may implement a radio technology such as Universal Terrestrial Radio Access (UTRA) , CDMA2000, etc. UTRA includes Wideband-CDMA (W-CDMA) and Low Chip Rate (LCR) . CDMA2000 covers IS-2000, IS-95 and IS-856 standards. A TDMA network may implement a radio technology such as Global System for Mobile Communications (GSM) . An OFDMA network may implement a radio technology such as Evolved UTRA (E-UTRA) , IEEE 802.11, IEEE 802.16 (e.g., WiMAX (Worldwide Interoperability for Microwave Access) ) , IEEE 802.20, etc. UTRA, E-UTRA, and GSM are part of Universal Mobile Telecommunication System (UMTS) . Long Term Evolution (LTE) and Long Term Evolution Advanced (LTE-A) are upcoming releases of UMTS that use E-UTRA. UTRA, E-UTRA, GSM, UMTS and LTE are described in documents from an organization named “3rd Generation Partnership Project” (3GPP) . CDMA2000 is described in documents from an organization named “3rd Generation Partnership Project 2” (3GPP2) . CDMA2000 is described in documents from an organization named “3rd Generation Partnership Project 2” (3GPP2) . These various radio technologies and standards are known in the
art. For clarity, certain aspects of the techniques are described below for LTE and LTE-A.
The teachings herein may be incorporated into (e.g., implemented within or performed by) a variety of wired or wireless apparatuses (e.g., nodes) . In some aspects a node comprises a wireless node. Such wireless node may provide, for example, connectivity for or to a network (e.g., a wide area network such as the Internet or a cellular network) via a wired or wireless communication link. In some aspects, a wireless node implemented in accordance with the teachings herein may comprise an access point or an access terminal.
An access point ( “AP” ) may comprise, be implemented as, or known as NodeB, Radio Network Controller ( “RNC” ) , eNodeB, Base Station Controller ( “BSC” ) , Base Transceiver Station ( “BTS” ) , Base Station ( “BS” ) , Transceiver Function ( “TF” ) , Radio Router, Radio Transceiver, Basic Service Set ( “BSS” ) , Extended Service Set ( “ESS” ) , Radio Base Station ( “RBS” ) , or some other terminology. In some implementations an access point may comprise a set top box kiosk, a media center, or any other suitable device that is configured to communicate via a wireless or wired medium.
An access terminal ( “AT” ) may comprise, be implemented as, or known as an access terminal, a subscriber station, a subscriber unit, a mobile station, a remote station, a remote terminal, a user terminal, a user agent, a user device, user equipment, a user station, or some other terminology. In some implementations an access terminal may comprise a cellular telephone, a cordless telephone, a Session Initiation Protocol ( “SIP” ) phone, a wireless local loop ( “WLL” ) station, a personal digital assistant ( “PDA” ) , a handheld device having wireless connection capability, a Station ( “STA” ) , or some other suitable processing device connected to a wireless modem. Accordingly, one or more aspects taught herein may be incorporated into a phone (e.g., a cellular phone or smart phone) , a computer (e.g., a laptop) , a portable communication device, a portable computing device (e.g., a personal data assistant) , a tablet, an entertainment device (e.g., a music or video device, or a satellite radio) , a television display, a flip-cam, a security video camera, a digital video recorder (DVR) , a global positioning system device, a sensor/industrial equipment, a medical device, an automobile/vehicle, a
human implantable device, wearables, or any other suitable device that is configured to communicate via a wireless or wired medium.
Referring to FIG. 1, a multiple access wireless communication system according to one aspect is illustrated. In an aspect of the present disclosure, the wireless communication system from FIG. 1 may be a wireless mobile broadband system based on Orthogonal Frequency Division Multiplexing (OFDM) . An access point 100 (AP) may include multiple antenna groups, one group including antennas 104 and 106, another group including antennas 108 and 110, and an additional group including antennas 112 and 114. In FIG. 1, only two antennas are shown for each antenna group, however, more or fewer antennas may be utilized for each antenna group. Access terminal 116 (AT) may be in communication with antennas 112 and 114, where antennas 112 and 114 transmit information to access terminal 116 over forward link 120 and receive information from access terminal 116 over reverse link 118. Access terminal 122 may be in communication with antennas 106 and 108, where antennas 106 and 108 transmit information to access terminal 122 over forward link 126 and receive information from access terminal 122 over reverse link 124. In a FDD system, communication links 118, 120, 124 and 126 may use different frequency for communication. For example, forward link 120 may use a different frequency then that used by reverse link 118.
Each group of antennas and/or the area in which they are designed to communicate is often referred to as a sector of the access point. In one aspect of the present disclosure each antenna group may be designed to communicate to access terminals in a sector of the areas covered by access point 100.
In communication over forward links 120 and 126, the transmitting antennas of access point 100 may utilize beamforming in order to improve the signal-to-noise ratio of forward links for the different access terminals 116 and 122. Also, an access point using beamforming to transmit to access terminals scattered randomly through its coverage causes less interference to access terminals in neighboring cells than an access point transmitting through a single antenna to all its access terminals.
FIG. 2 illustrates a block diagram of an aspect of a transmitter system 210 (e.g., also known as the access point) and a receiver system 250 (e.g., also known as the
access terminal) in a wireless communications system, for example, a MIMO system 200. At the transmitter system 210, traffic data for a number of data streams is provided from a data source 212 to a transmit (TX) data processor 214.
In one aspect of the present disclosure, each data stream may be transmitted over a respective transmit antenna. TX data processor 214 formats, codes, and interleaves the traffic data for each data stream based on a particular coding scheme selected for that data stream to provide coded data.
The coded data for each data stream may be multiplexed with pilot data using OFDM techniques. The pilot data is typically a known data pattern that is processed in a known manner and may be used at the receiver system to estimate the channel response. The multiplexed pilot and coded data for each data stream is then modulated (i.e., symbol mapped) based on a particular modulation scheme (e.g., BPSK, QPSK, m-QPSK, or m-QAM) selected for that data stream to provide modulation symbols. The data rate, coding, and modulation for each data stream may be determined by instructions performed by processor 230.
The modulation symbols for all data streams are then provided to a TX MIMO processor 220, which may further process the modulation symbols (e.g., for OFDM) . TX MIMO processor 220 then provides NT modulation symbol streams to NT transmitters (TMTR) 222a through 222t. In certain aspects of the present disclosure, TX MIMO processor 220 applies beamforming weights to the symbols of the data streams and to the antenna from which the symbol is being transmitted.
Each transmitter 222 receives and processes a respective symbol stream to provide one or more analog signals, and further conditions (e.g., amplifies, filters, and upconverts) the analog signals to provide a modulated signal suitable for transmission over the MIMO channel. NT modulated signals from transmitters 222a through 222t are then transmitted from NT antennas 224a through 224t, respectively.
At receiver system 250, the transmitted modulated signals may be received by NR antennas 252a through 252r and the received signal from each antenna 252 may be provided to a respective receiver (RCVR) 254a through 254r. Each receiver 254 may condition (e.g., filters, amplifies, and downconverts) a respective received signal,
digitize the conditioned signal to provide samples, and further process the samples to provide a corresponding “received” symbol stream.
An RX data processor 260 then receives and processes the NR received symbol streams from NR receivers 254 based on a particular receiver processing technique to provide NT “detected” symbol streams. The RX data processor 260 then demodulates, deinterleaves, and decodes each detected symbol stream to recover the traffic data for the data stream. The processing by RX data processor 260 may be complementary to that performed by TX MIMO processor 220 and TX data processor 214 at transmitter system 210.
A processor 270 periodically determines which pre-coding matrix to use. Processor 270 formulates a reverse link message comprising a matrix index portion and a rank value portion. The reverse link message may comprise various types of information regarding the communication link and/or the received data stream. The reverse link message is then processed by a TX data processor 238, which also receives traffic data for a number of data streams from a data source 236, modulated by a modulator 280, conditioned by transmitters 254a through 254r, and transmitted back to transmitter system 210.
At transmitter system 210, the modulated signals from receiver system 250 are received by antennas 224, conditioned by receivers 222, demodulated by a demodulator 240, and processed by a RX data processor 242 to extract the reserve link message transmitted by the receiver system 250. Processor 230 then determines which pre-coding matrix to use for determining the beamforming weights, and then processes the extracted message.
FIG. 3 illustrates various components that may be utilized in a wireless device 302 that may be employed within the wireless communication system from FIG. 1. The wireless device 302 is an example of a device that may be configured to implement the various methods described herein. The wireless device 302 may be an access point 100 from FIG. 1 or any of access terminals 116, 122.
The wireless device 302 may include a processor 304 which controls operation of the wireless device 302. The processor 304 may also be referred to as a central processing unit (CPU) . Memory 306, which may include both read-only
memory (ROM) and random access memory (RAM) , provides instructions and data to the processor 304. A portion of the memory 306 may also include non-volatile random access memory (NVRAM) . The processor 304 typically performs logical and arithmetic operations based on program instructions stored within the memory 306. The instructions in the memory 306 may be executable to implement the methods described herein.
The wireless device 302 may also include a housing 308 that may include a transmitter 310 and a receiver 312 to allow transmission and reception of data between the wireless device 302 and a remote location. The transmitter 310 and receiver 312 may be combined into a transceiver 314. A single or a plurality of transmit antennas 316 may be attached to the housing 308 and electrically coupled to the transceiver 314. The wireless device 302 may also include (not shown) multiple transmitters, multiple receivers, and multiple transceivers.
The wireless device 302 may also include a signal detector 318 that may be used in an effort to detect and quantify the level of signals received by the transceiver 314. The signal detector 318 may detect such signals as total energy, energy per subcarrier per symbol, power spectral density and other signals. The wireless device 302 may also include a digital signal processor (DSP) 320 for use in processing signals.
Additionally, the wireless device may also include an encoder 322 for use in encoding signals for transmission (e.g., by implementing operations 900) and a decoder 324 for use in decoding received signals (e.g., by implementing operations 1000) .
The various components of the wireless device 302 may be coupled together by a bus system 326, which may include a power bus, a control signal bus, and a status signal bus in addition to a data bus. The processor 304 may be configured to access instructions stored in the memory 306 to perform connectionless access, in accordance with aspects of the present disclosure discussed below.
FIG. 4 is a simplified block diagram illustrating an encoder, in accordance with certain aspects of the present disclosure. FIG. 4 illustrates a portion of a radio frequency (RF) modem 404 that may be configured to provide an encoded message for wireless transmission. In one example, an encoder 406 in a base station (e.g., access point 100 and/or transmitter system 210) (or an access terminal on the reverse path)
receives a message 402 for transmission. The message 402 may contain data and/or encoded voice or other content directed to the receiving device. The encoder 406 encodes the message using a suitable modulation and coding scheme (MCS) , typically selected based on a configuration defined by the access point100/transmitter system 210 or another network entity. In some cases, the encoder 406 may encode the message using techniques described below (e.g., by implementing operations 900 described below) . An encoded bitstream 408 produced by the encoder 406 may then be provided to a mapper 410 that generates a sequence of Tx symbols 412 that are modulated, amplified and otherwise processed by Tx chain 414 to produce an RF signal 416 for transmission through antenna 418.
FIG. 5 is a simplified block diagram illustrating a decoder, in accordance with certain aspects of the present disclosure. FIG. 5 illustrates a portion of a RF modem 510 that may be configured to receive and decode a wirelessly transmitted signal including an encoded message (e.g., a message encoded using a polar code as described below) . In various examples, the modem 510 receiving the signal may reside at the access terminal, at the base station, or at any other suitable apparatus or means for carrying out the described functions. An antenna 502 provides an RF signal 416 (i.e., the RF signal produced in FIG. 4) to an access terminal (e.g., access terminal 116, 122, and/or 250) . An RF chain 506 processes and demodulates the RF signal 416 and may provide a sequence of symbols 508 to a demapper 512, which produces a bitstream 514 representative of the encoded message.
A decoder 516 may then be used to decode m-bit information strings from a bitstream that has been encoded using a coding scheme (e.g., a Polar code) . The decoder 516 may comprise a Viterbi decoder, an algebraic decoder, a butterfly decoder, or another suitable decoder. In one example, a Viterbi decoder employs the well-known Viterbi algorithm to find the most likely sequence of signaling states (the Viterbi path) that corresponds to a received bitstream 514. The bitstream 514 may be decoded based on a statistical analysis of LLRs calculated for the bitstream 514. In one example, a Viterbi decoder may compare and select the correct Viterbi path that defines a sequence of signaling states using a likelihood ratio test to generate LLRs from the bitstream 514. Likelihood ratios can be used to statistically compare the fit of a plurality of candidate Viterbi paths using a likelihood ratio test that compares the logarithm of a likelihood
ratio for each candidate Viterbi path (i.e. the LLR) to determine which path is more likely to account for the sequence of symbols that produced the bitstream 514. The decoder 516 may then decode the bitstream 514 based on the LLRs to determine the message 518 containing data and/or encoded voice or other content transmitted from the base station (e.g., access point 100 and/or transmitter system 210) . The decoder may decode the bitstream 514 in accordance with aspects of the present disclosure presented below (e.g., by implementing operation 1000 described below) .
FIG. 6 is block diagram 600 illustrating channel polarization, in accordance with certain aspects of the present disclosure. For a 2-input case, the channel polarization may be carried out by transforming a pair of identical binary-input channels into two distinct channels of different qualities, e.g., one better and one worse than the original binary-input channel. For example, channel W- (e.g., the “bad” channel) may receive an input u0 and have outputs y0 and y1, wherewith an erasure probability of ε- = 1- (1-ε) 2 = 2ε-ε2. Moreover, channel W+ (e.g., the good channel) may have an input u1 and outputs y0, y1, and u0, wherewith an erasure probability of ε+ = ε2. The above operation can be performed recursively such that a set of N = 2n “bit-channels” of varying qualities are obtained. Thus, the information bits may be transmitted over the “good” channel and known “frozen” bits may be transmitted over the “bad” channel.
FIG. 7 illustrates an example structure 700 of a cyclic redundancy check (CRC) -aided (CA) polar coding scheme, in accordance with certain aspects of the present disclosure. As illustrated, K information bits are firstly appended by CRC to form a sequence with K+J+J’bits, where the CRC sequence (J+J’) is generated based on the K information bits and used for checking the integrity of the K information bits. K’=K+J+J’bits are used as the information input corresponding to the K’ “best” indices of the basic polar codes. When decoding, the CRC bits are used for both error detection and error correction. Therefore, a longer CRC (e.g., J+J’=19 for list size of 8 and target FAR of 10-5) may be used to reduce the FAR caused by the list decoding of Polar codes.
FIG. 8 illustrates an example decoder structure 800, in accordance with certain aspects of the present disclosure. The list decoder of polar codes outputs L paths. As illustrated, each path may be checked by CRC (e.g., based on the CRC bits
J+J’) . The path with correct CRC check will be selected for the decoding output which is also referred to as a CRC aided successive cancelation list (CA-SCL) decoder.
For CA-polar schemas described above, the CRC bits are generated based on all K information bits. Therefore, CRC checking can only be performed after the decoding of all the information bits and CRC bits. This means that the decoder cannot early terminate during the decoding. For the blind detection of the downlink (DL) control channel such as a physical downlink control channel (PDCCH) , the ability of early termination is helpful to reduce the decoding power and reduce the decoding calculations, and thus, is preferable for control channel code design.
EXAMPLE TWO-STAGE CYCLIC REDUNDANCY CHECK (CRC) ATTACHMENT FOR EARLY TERMINATION OF POLAR CODES
Polar codes are the first provably capacity-achieving coding scheme with almost linear (in block length) encoding and decoding complexity. Polar codes are widely considered as a candidate for error-correction in the next-generation wireless systems. Polar codes have many desirable properties such as deterministic construction (e.g., based on a fast Hadamard transform) , low and predictable error floors, and simple successive-cancellation list (SCL) based decoding.
Aspects of the present disclosure provide a CRC attachment for CA-polar schemes that enables early termination of the decoding, saving power. For example, to generate CRC bits (J+J’) a concatenation of two CRC encoders may be used. The first J CRC bits may be generated based on K information bits by using a first CRC encoder, then the J CRC bits may be used as the input to a second CRC encoder to generate additional J’CRC bits. Then K’=K+J+J’bits are input to a basic Polar code generator corresponding to the K’ “best” indices of the basic Polar codes where J+J’CRC bits have lower indices than that of K information bits. In other words, the J+J’CRC bits and the K information bits are mapped in a decoding order, e.g., the J+J’CRC bits decoded firstly before K information bits. The second J’CRC bits may be used for error detection for early termination and the first J CRC bits may be used for both error detection and error correction if CA-SCL decoder is used.
FIG. 9 illustrates example operations 900 for wireless communication, in accordance with certain aspects of the present disclosure. According to certain aspects,
operations 900 may be performed by a base station (BS) (e.g., access point 100/transmitter system 210) . It should be noted that, while operations 900 are described as being performed by a base station, operations 900 could also be performed by a user equipment (UE) (access terminal 116) . In other scenarios, aspects can be used by devices capable of acting like both UEs/BSs in a hybrid fashion as well as in virtual settings (such as SDN/NFV scenarios) .
FIG. 10 illustrates example operations 1000 for wireless communication, in accordance with certain aspects of the present disclosure. Operations 1000 may be performed, for example, by a user equipment (UE) (e.g., access terminal 116/receiver system 250) . It should be noted that, while operations 1000 are described as being performed by a UE, operations 1000 could also be performed by a base station (e.g., access point 100) . In other scenarios, aspects can be used by devices capable of acting like both UEs/BSs in a hybrid fashion as well as in virtual settings (such as SDN/NFV scenarios) .
FIG. 11 is a block diagram 1100 illustrating example CRC attachment operations, in accordance with certain aspects of the present disclosure. As illustrated,
K information bits are received by a first CRC encoder that generates first CRC bits J. The J CRC bits are provided to a second CRC encoder that generates second CRC bits J’based on the CRC bits J. The K information bits, first CRC bits J, and second CRC bits J’a re then concatenated using a parallel-to-serial (P/S) converter to generate K+J+J’bits, based on which polar codes are generated using a polar code generator and assigning J+J’CRC bits with lower indices as compared to K information bits.
FIG. 12 is a block diagram 1200 illustrating decoding operations, in accordance with certain aspects of the present disclosure. Due to the assigned lower indices of the J+J’CRC bits, the J+J’CRC bits are decoded first by using a successive cancelation list (SCL) decoder to generate a plurality of decoding paths (List 1 to List L) . A CRC check is performed for each of the decoding paths based on the J’CRC bits. If all the paths fail the CRC check, the decoding process will be terminated. Otherwise, the decoding will continue for decoding K information bits. For example, another SCL decoder may be used to decode the K information bits and generate another plurality of decoding paths. Another CRC check is performed for each of the decoding paths based on the J bits CRC to select a final path, as illustrated. Alternatively, for decoding K information bits only the path that passed the CRC check will be considered for the second SCL decoder. In such case, the paths that failed CRC will be pruned.
FIG. 13 is a block diagram 1300 illustrating another example of CRC attachment operations, in accordance with certain aspects of the present disclosure. In this case, the K information bits are split into two subsets of information bits K1 and K2 by a serial-to-parallel (S/P) converter. The information bits K1 are provided to a first CRC encoder, based on which CRC bits J’a re generated, and the information bits K2 are provided to a second CRC encoder based on which CRC bits J are generated. The K information bits, first CRC bits J, and second CRC bits J’a re then concatenated using a P/S converter to generate K+J+J’bits, based on which polar codes are generated using a polar code generator. For the decoding operations, the K1 information bits and the J’CRC bits may be decoded first to generate a plurality of decoding paths, each of which may CRC checked based on the J’CRC bits. For example, the K1 information bits and the J’CRC bits may be assigned lower indices as compared to the K2 bits and the J CRC bits. If all the decoding paths fail the CRC check, the decoding operations are terminated. Otherwise, decoding will continue with the paths that passed the CRC
check. For example, the K2 information bits and the J CRC bits may be decoded to generate another plurality of decoding paths which are CRC checked based on the J CRC bits to select a final path.
Aspects of the present disclosure provide several advantages. For example, the CRC attachment can be implemented by using a shifter register with less implementation complexity. Moreover, a similar block error rate (BLER) and FAR performance can obtained as compared to CA-Polar with the same number of CRC bits but with reduced implementation complexity, e.g., no additional efforts for permutation of CRC generator matrix. The techniques provided herein also provide improved early termination performance because if early termination is activated, there is savings of power by skipping decoding of information bits. In addition, aspects of the present disclosure provide a high early termination ratio (e.g., about 69%) for noise input to the decoder and about 50%for unwanted signal input (e.g., assuming J+J’=16 and list size = 8 in the simulation) .
The various operations of methods described above may be performed by any suitable means capable of performing the corresponding functions. The means may include various hardware and/or software component (s) and/or module (s) , including, but not limited to a circuit, an application specific integrated circuit (ASIC) , or processor. Generally, where there are operations illustrated in figures, those operations may have corresponding counterpart means-plus-function components with similar numbering.
For example, means for transmitting may comprise a transmitter (e.g., the transmitter 222) and/or an antenna (s) 224 of the access point 210 illustrated in FIG. 2, the transmitter 254 and/or the antenna 252 of the access terminal 250 illustrated in FIG. 2, the transmitter 310 and/or antenna (s) 316 depicted in FIG. 3, and/or the antenna 418 illustrated in FIG. 4. Means for receiving may comprise a receiver (e.g., the receiver 222) and/or an antenna (s) 224 of the access terminal 250 illustrated in FIG. 2, the receiver 312 and/or antenna (s) 316 depicted in FIG. 3, and/or the antenna 502 illustrated in FIG. 5. Means for generating, means for determining, means for inserting, means for encoding, means for decoding, means for verifying, means for maintaining, and/or means for keeping may comprise a processing system, which may include one or more processors, such as the RX data processor 242, the TX data processor 214, and/or
the processor 230 of the access point 210 illustrated in FIG. 2, the RX data processor 260, the TX data processor 238, and/or the processor 270 of the access terminal 250 illustrated in FIG. 2, the processor 304 and/or the DSP 320 portrayed in FIG. 3, the encoder 406 illustrated in FIG. 4, and/or the decoder 516 illustrated in FIG. 5.
As used herein, the term “determining” encompasses a wide variety of actions. For example, “determining” may include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure) , ascertaining and the like. Also, “determining” may include receiving (e.g., receiving information) , accessing (e.g., accessing data in a memory) and the like. Also, “determining” may include resolving, selecting, choosing, establishing and the like.
As used herein, the term receiver may refer to an RF receiver (e.g., of an RF front end) or an interface (e.g., of a processor) for receiving structures processed by an RF front end (e.g., via a bus) . Similarly, the term transmitter may refer to an RF transmitter of an RF front end or an interface (e.g., of a processor) for outputting structures to an RF front end for transmission (e.g., via a bus) .
As used herein, a phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover: a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination with multiples of the same element (e.g., a-a, a-a-a, a-a-b, a-a-c, a-b-b, a c c, b-b, b-b-b, b-b-c, c-c, and c-c-c or any other ordering of a, b, and c) .
The various illustrative logical blocks, modules and circuits described in connection with the present disclosure may be implemented or performed with a general purpose processor, a digital signal processor (DSP) , an application specific integrated circuit (ASIC) , a field programmable gate array (FPGA) or other programmable logic device (PLD) , discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any commercially available processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The steps of a method or algorithm described in connection with the present disclosure may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in any form of storage medium that is known in the art. Some examples of storage media that may be used include random access memory (RAM) , read only memory (ROM) , flash memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM and so forth. A software module may comprise a single instruction, or many instructions, and may be distributed over several different code segments, among different programs, and across multiple storage media. A storage medium may be coupled to a processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
The methods disclosed herein comprise one or more steps or actions for achieving the described method. The method steps and/or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and/or use of specific steps and/or actions may be modified without departing from the scope of the claims.
The functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in hardware, an example hardware configuration may comprise a processing system in a wireless node. The processing system may be implemented with a bus architecture. The bus may include any number of interconnecting buses and bridges depending on the specific application of the processing system and the overall design constraints. The bus may link together various circuits including a processor, machine-readable media, and a bus interface. The bus interface may be used to connect a network adapter, among other things, to the processing system via the bus. The network adapter may be used to implement the signal processing functions of the PHY layer. In the case of a user terminal 122 (see FIG. 1) , a user interface (e.g., keypad, display, mouse, joystick, etc. ) may also be connected to the bus. The bus may also link various other circuits such as timing sources, peripherals, voltage regulators, power management circuits, and the like, which are well known in the art, and therefore, will not be described any further.
The processor may be responsible for managing the bus and general processing, including the execution of software stored on the machine-readable media. The processor may be implemented with one or more general-purpose and/or special-purpose processors. Examples include microprocessors, microcontrollers, DSP processors, and other circuitry that can execute software. Software shall be construed broadly to mean instructions, data, or any combination thereof, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. Machine-readable media may include, by way of example, RAM (Random Access Memory) , flash memory, ROM (Read Only Memory) , PROM (Programmable Read-Only Memory) , EPROM (Erasable Programmable Read-Only Memory) , EEPROM (Electrically Erasable Programmable Read-Only Memory) , registers, magnetic disks, optical disks, hard drives, or any other suitable storage medium, or any combination thereof. The machine-readable media may be embodied in a computer-program product. The computer-program product may comprise packaging materials.
In a hardware implementation, the machine-readable media may be part of the processing system separate from the processor. However, as those skilled in the art will readily appreciate, the machine-readable media, or any portion thereof, may be external to the processing system. By way of example, the machine-readable media may include a transmission line, a carrier wave modulated by data, and/or a computer product separate from the wireless node, all which may be accessed by the processor through the bus interface. Alternatively, or in addition, the machine-readable media, or any portion thereof, may be integrated into the processor, such as the case may be with cache and/or general register files.
The processing system may be configured as a general-purpose processing system with one or more microprocessors providing the processor functionality and external memory providing at least a portion of the machine-readable media, all linked together with other supporting circuitry through an external bus architecture. Alternatively, the processing system may be implemented with an ASIC (Application Specific Integrated Circuit) with the processor, the bus interface, the user interface in the case of an access terminal) , supporting circuitry, and at least a portion of the machine-readable media integrated into a single chip, or with one or more FPGAs (Field Programmable Gate Arrays) , PLDs (Programmable Logic Devices) , controllers, state
machines, gated logic, discrete hardware components, or any other suitable circuitry, or any combination of circuits that can perform the various functionality described throughout this disclosure. Those skilled in the art will recognize how best to implement the described functionality for the processing system depending on the particular application and the overall design constraints imposed on the overall system.
The machine-readable media may comprise a number of software modules. The software modules include instructions that, when executed by the processor, cause the processing system to perform various functions. The software modules may include a transmission module and a receiving module. Each software module may reside in a single storage device or be distributed across multiple storage devices. By way of example, a software module may be loaded into RAM from a hard drive when a triggering event occurs. During execution of the software module, the processor may load some of the instructions into cache to increase access speed. One or more cache lines may then be loaded into a general register file for execution by the processor. When referring to the functionality of a software module below, it will be understood that such functionality is implemented by the processor when executing instructions from that software module.
If implemented in software, the functions may be stored or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media include both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage medium may be any available medium that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL) , or wireless technologies such as infrared (IR) , radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of
medium. Disk and disc, as used herein, include compact disc (CD) , laser disc, optical disc, digital versatile disc (DVD) , floppy disk, anddisc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Thus, in some aspects computer-readable media may comprise non-transitory computer-readable media (e.g., tangible media) . In addition, for other aspects computer-readable media may comprise transitory computer-readable media (e.g., a signal) . Combinations of the above should also be included within the scope of computer-readable media.
Thus, certain aspects may comprise a computer program product for performing the operations presented herein. For example, such a computer program product may comprise a computer-readable medium having instructions stored (and/or encoded) thereon, the instructions being executable by one or more processors to perform the operations described herein. For certain aspects, the computer program product may include packaging material.
Further, it should be appreciated that modules and/or other appropriate means for performing the methods and techniques described herein can be downloaded and/or otherwise obtained by a user terminal and/or base station as applicable. For example, such a device can be coupled to a server to facilitate the transfer of means for performing the methods described herein. Alternatively, various methods described herein can be provided via storage means (e.g., RAM, ROM, a physical storage medium such as a compact disc (CD) or floppy disk, etc. ) , such that a user terminal and/or base station can obtain the various methods upon coupling or providing the storage means to the device. Moreover, any other suitable technique for providing the methods and techniques described herein to a device can be utilized.
It is to be understood that the claims are not limited to the precise configuration and components illustrated above. Various modifications, changes and variations may be made in the arrangement, operation and details of the methods and apparatus described above without departing from the scope of the claims.
WHAT IS CLAIMED IS:
Claims (14)
- A method for wireless communication, comprising:obtaining information bits;generating first cyclic redundancy check (CRC) bits based on the information bits;generating second CRC bits based on at least one of the information bits or the first CRC bits;generating polar codes based on a concatenation of the information bits with the first and second CRC bits; andtransmitting a signal based on the polar codes.
- The method of claim 1, wherein:the second set of CRC bits are generated based on the first set of CRC bits.
- The method of claim 2, wherein the first CRC bits and the second CRC bits correspond to lower indices of the polar codes as compared to the information bits.
- The method of claim 1, wherein:the first CRC bits are generated based on a first subset of the information bits; andthe second CRC bits are generated based on a second subset of the information bits.
- The method of claim 4, wherein the second subset of the information bits and the second CRC bits correspond to lower indices of the polar codes as compared to the first set of information bits and the first CRC bits.
- The method of claim 1, wherein:the first CRC bits are to be used for error detection and error correction; andthe second CRC bits are to be used for error detection.
- The method of claim 1, further comprising rate matching the polar codes, wherein transmitting the signal based on the polar codes comprises transmitting the signal based on the rate matched polar codes.
- A method for wireless communication, comprising:receiving polar codes generated based on information bits, first cyclic redundancy check (CRC) bits, and second CRC bits;decoding at least one of the first or second CRC bits of the polar codes to generate a set of decoding paths;performing a first CRC check based on the at least one first or second CRC bits for each of the decoding paths; andterminating decoding operations if the CRC check fails for all the decoding paths, or decoding the information bits of the polar codes for one or more of the decoding paths if the CRC check passed for the one or more decoding paths.
- The method of claim 8, wherein:the second CRC bits are generated based on the first CRC bits; andperforming the first CRC check comprises performing a CRC check of the first CRC bits based on the second CRC bits.
- The method of claim 9, further comprising:performing, for each of the one or more decoding paths, a second CRC check for the information bits based on the first CRC bits.
- The method of claim 8, wherein the first CRC bits and the second CRC bits correspond to lower indices of the polar codes as compared to the information bits.
- The method of claim 8, further comprising decoding a first subset of the information bits, wherein the first CRC check is performed for the first subset of information bits based on the second CRC bits.
- The method of claim 12, wherein decoding the information bits comprises decoding a second subset of the information bits, the method further comprising performing, for each of the one or more decoding paths, a second CRC check for the second subset of information bits based on the first CRC bits.
- The method of claim 13, wherein the first subset of the information bits and the second CRC bits correspond to lower indices of the polar codes as compared to the second subset of the information bits and the first CRC bits.
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2017/079526 WO2018184159A1 (en) | 2017-04-06 | 2017-04-06 | Cyclic redundancy check (crc) attachments for early termination of polar codes |
| TW107111210A TWI766976B (en) | 2017-04-01 | 2018-03-30 | Communication system and method having polar coding with two concatenated cyclic redundancy check codes |
| CN201880021097.0A CN110495122B (en) | 2017-04-01 | 2018-03-30 | Communication system and method having polarity encoding with two concatenated cyclic redundancy check codes |
| PCT/CN2018/081416 WO2018177427A1 (en) | 2017-04-01 | 2018-03-30 | Communication system and method having polar coding with two concatenated cyclic redundancy check codes |
| EP18777082.1A EP3607689B1 (en) | 2017-04-01 | 2018-03-30 | Communication system and method having polar coding with two concatenated cyclic redundancy check codes |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2017/079526 WO2018184159A1 (en) | 2017-04-06 | 2017-04-06 | Cyclic redundancy check (crc) attachments for early termination of polar codes |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018184159A1 true WO2018184159A1 (en) | 2018-10-11 |
Family
ID=63712990
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2017/079526 Ceased WO2018184159A1 (en) | 2017-04-01 | 2017-04-06 | Cyclic redundancy check (crc) attachments for early termination of polar codes |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2018184159A1 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013107140A1 (en) * | 2012-01-20 | 2013-07-25 | 华为技术有限公司 | Decoding method and decoding apparatus for polar code concatenated with cyclic redundancy check |
| CN105337696A (en) * | 2015-10-08 | 2016-02-17 | 东南大学 | Polarization decoding method based on subsection CRC |
| US20160079999A1 (en) * | 2013-05-31 | 2016-03-17 | Huawei Technologies Co., Ltd. | Coding method and coding device |
-
2017
- 2017-04-06 WO PCT/CN2017/079526 patent/WO2018184159A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013107140A1 (en) * | 2012-01-20 | 2013-07-25 | 华为技术有限公司 | Decoding method and decoding apparatus for polar code concatenated with cyclic redundancy check |
| US20160079999A1 (en) * | 2013-05-31 | 2016-03-17 | Huawei Technologies Co., Ltd. | Coding method and coding device |
| CN105337696A (en) * | 2015-10-08 | 2016-02-17 | 东南大学 | Polarization decoding method based on subsection CRC |
Non-Patent Citations (2)
| Title |
|---|
| "Polar code design", R1-1700386, 3GPP TSG RAN WG1 AD HOC, 20 January 2017 (2017-01-20), pages 1 - 8, XP051207923 * |
| YU , QINGPING ET AL.: "Hybrid Parity-check and CRC Aided SCL Decoding for Polar codes", 2016 IEEE INTERNATIONAL CONFERENCE ON INTERNET OF THINGS (ITHINGS) AND IEEE GREEN COMPUTING AND COMMUNICATIONS (GREEN COM) AND IEEE CYBER, PHYSICAL AND SOCIAL COMPUTING (CPSCOM) AND IEEE SMART DATA (SMARTDATA, 31 December 2016 (2016-12-31), pages 711 - 716, XP033093024 * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU2019216723B2 (en) | Enhanced polar code constructions by strategic placement of crc bits | |
| CA3021667C (en) | Encoding and decoding of control signaling with sectional redundancy check | |
| US20200322085A1 (en) | Generalized polar code construction | |
| CA3026317C (en) | Design of hybrid automatic repeat request (harq) feedback bits for polar codes | |
| US10425108B2 (en) | Tailless convolutional codes | |
| JP7371077B2 (en) | Coding and decoding of control signaling with section-based redundancy checking | |
| WO2018184159A1 (en) | Cyclic redundancy check (crc) attachments for early termination of polar codes |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17904479 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 17904479 Country of ref document: EP Kind code of ref document: A1 |