WO2018201409A1 - Coding apparatus for polar codes - Google Patents

Coding apparatus for polar codes Download PDF

Info

Publication number
WO2018201409A1
WO2018201409A1 PCT/CN2017/083101 CN2017083101W WO2018201409A1 WO 2018201409 A1 WO2018201409 A1 WO 2018201409A1 CN 2017083101 W CN2017083101 W CN 2017083101W WO 2018201409 A1 WO2018201409 A1 WO 2018201409A1
Authority
WO
WIPO (PCT)
Prior art keywords
bits
segment
check
information
code block
Prior art date
Application number
PCT/CN2017/083101
Other languages
French (fr)
Inventor
Jie Chen
Yu Chen
Dongyang DU
Keeth Saliya JAYASINGHE
Jun Tan
Original Assignee
Nokia Technologies Oy
Alcatel-Lucent Shanghai Bell Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Technologies Oy, Alcatel-Lucent Shanghai Bell Co., Ltd. filed Critical Nokia Technologies Oy
Priority to PCT/CN2017/083101 priority Critical patent/WO2018201409A1/en
Priority to CN201780090381.9A priority patent/CN110582955B/en
Publication of WO2018201409A1 publication Critical patent/WO2018201409A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit

Definitions

  • the present invention relates to an apparatus, a method, and a computer program product related to coding, in particular to polar coding.
  • Polar code is a new and promising channel coding scheme to approach communication channel capacity, which is a linear block code developed by Erdal Arikan [1] . It is the first channel code with an explicit construction to achieve the capacity of symmetric binary-input, discrete, memoryless channels (BI-DMCs) . With the help of list decoders [2] , polar codes have comparable and sometimes even better performance compared to the state-of-the-art codes like LDPC and turbo codes, meanwhile the decoding complexity of polar codes is as low as O (LN log N) . Here N is the encoded block length and L is the list size. These features make polar codes very attractive for many applications, like digital communications and storage. Polar codes are under investigation in the 3GPP 5G channel coding study item for potential 5G applications [4] . The agreed working assumption is that polar codes will be used for eMBB control channels.
  • Polar codes are based on the concept of polarization [1] .
  • the basic building block in polar codes can be depicted as shown in Fig. 1, taken from [1] .
  • u i refer to the input bits of the encoder
  • y i refer to the output/encoded bits of the encoder. It can be shown that in this configuration, the mutual information I (U 1 ; Y 1 , Y 2 ) decreases compared to the pre-polarized pair I (U 1 ; Y 1 ) , while I (U 2 ; Y 1 , Y 2 , U 1 ) increases compared to I (U 2 ; Y 2 ) . In this way, one channel is degraded and the other one is upgraded.
  • Fig. 2 (taken from [1] ) characterizes a length-4 polar code.
  • polar codes are used to choose the error-free channels to transmit information bits and force the value of the bits transmitted in the zero-capacity channels to be some known value, e.g., 0. These bits are called frozen bits in the literature.
  • K 2 with (u 3 , u 4 ) as information bits, and (u 1 , u 2 ) as frozen bits.
  • a polar code of rate 1/2 is constructed.
  • ⁇ J CRC bits are provided (which may be used for error detection and may also be used to assist decoding and potentially for early termination)
  • - J may be different in DL and UL
  • - J may depend on the payload size in the UL (0 not precluded)
  • J’assistance bits are provided in reliable locations (which may be used to assist decoding and potentially for early termination)
  • n FAR 16 (at least for eMBB-related DCI)
  • n FAR 8 or 16 (at least for eMBB-related UCI; note that this applies for UL cases with CRC)
  • the J’ (and J”if any) bits may be CRC and/or PC and/or hash bits (downscope if possible)
  • CA-Polar CRC aided polar codes
  • an apparatus comprising first generating means configured to generate a first set of one or more check bits based on one or more information bits of a first segment of an information block of K information bits; constructing means configured to construct a code block comprising the K information bits of the information block and the first set of check bits; encoding means configured to perform polar encoding of the code block, wherein the first generating means is configured to generate the first set of check bits without taking into account any of the one or more information bits of a second segment of the information block; each of the information bits of the first segment is different from each of the information bits of the second segment; the constructing means is configured to distribute each of the information bits of the first segment in the code block on less reliable bit positions for the polar encoding than each of the information bits of the second segment.
  • the constructing means may be adapted to distribute at least one of the check bits of the first set of check bits along the information bits of the first segment if a reliability of the bit positions of the code block for the encoding increases monotonically from a first bit position to a last bit position of the code block.
  • the apparatus may further comprise second generating means configured to generate a second set of one or more check bits based on at least a subset of the information bits of the second segment; wherein the constructing means may be configured to construct the code block such that it comprises the K information bits, the first set of check bits, and the second set of check bits.
  • the constructing means may be configured to distribute the information bits of the first segment and the first set of check bits on less reliable bit positions for the polar encoding than the second set of check bits.
  • the second generating means may be configured to generate the second set of check bits based on at least the subset of the information bits of the second segment and at least one of the information bits of the first segment.
  • the second generating means may be configured to generate the second set of check bits based on at least the subset of the information bits of the second segment and at least one of the check bits of the first set of check bits.
  • the second segment may comprise plural sub-segments; and the second generating means may be configured to generate a respective subset of the second set of check bits based on the information bits of one of the sub-segments without taking into account the information bits of the others of the sub-segments.
  • the constructing means may be configured to distribute each of the check bits of the first set in the code block on less reliable bit positions for the polar encoding than each of the information bits of the second segment.
  • the first generating means may be configured to generate the check bits of the first set by at least one of a cyclic redundancy check, a parity check, and a hash sequence.
  • an apparatus comprising decoding means configured to perform a polar decoding of a first segment comprising bits of a received encoded code block, first calculating means adapted to calculate a first set of one or more check bits based on a predefined subset of the bits of the first segment without taking into account any bits of a second segment of the received encoded code block; first checking means configured to check if the first set of check bits are equal to one or more bits at respective predefined first check bit positions; deciding means configured to decide on handling of the bits of at least the second segment based on the result of the checking, wherein each of the bits of the second segment is different from each of the bits of the first segment; respective positions of all the bits of the first segment in the code block are less reliable for the polar decoding than respective positions of all the bits of the second segment.
  • the check bits of the first set of check bits may be distributed along the bits of the subset of the first segment if a reliability of the bit positions of the code block for the polar decoding increases monotonically from a first bit position to a last bit position of the code block.
  • the apparatus may further comprise second calculating means configured to calculate a second set of one or more check bits based on a predefined subset of the bits of the second segment; second checking means configured to check if the second set of check bits is equal to one or more bits of the second segment at respective predefined second check bit positions.
  • Respective positions of all the bits of the first segment in the code block may be less reliable for the polar decoding than the predefined second check bit positions.
  • the second calculating means may be configured to calculate the second set of check bits based on the predefined subset of the second segment and at least one predefined bit of the first segment.
  • At least one of the at least one predefined bits of the first segment may be at a respective one of the first check bit positions.
  • the second segment may comprise plural sub-segments; the second calculating means may be configured to calculate a respective subset of the second set of check bits based on the bits of one of the sub-segments without taking into account the bits of the others of the sub-segments.
  • the first check bit positions may be distributed along the bits of the first segment.
  • the first calculating means may be configured to calculate the first set of one or more check bits by at least one of a cyclic redundancy check, a parity check, and a hash sequence.
  • the handling of the second segment may comprise at least one of detection and decoding.
  • a method comprising generating a first set of one or more check bits based on one or more information bits of a first segment of an information block of K information bits; constructing a code block comprising the K information bits of the information block and the first set of check bits; performing polar encoding of the code block, wherein the first set of check bits are generated without taking into account any of the one or more information bits of a second segment of the information block; each of the information bits of the first segment is different from each of the information bits of the second segment; each of the information bits of the first segment is distributed in the code block on less reliable bit positions for the polar encoding than each of the information bits of the second segment.
  • At least one of the check bits of the first set of check bits may be distributed along the information bits of the first segment if a reliability of the bit positions of the code block for the encoding increases monotonically from a first bit position to a last bit position of the code block.
  • the method may further comprise generating a second set of one or more check bits based on at least a subset of the information bits of the second segment; wherein the code block may be constructed such that it comprises the K information bits, the first set of check bits, and the second set of check bits.
  • the information bits of the first segment and the first set of check bits may be distributed on less reliable bit positions for the polar encoding than the second set of check bits.
  • the second set of check bits may be generated based on at least the subset of the information bits of the second segment and at least one of the information bits of the first segment.
  • the second set of check bits may be generated based on at least the subset of the information bits of the second segment and at least one of the check bits of the first set of check bits.
  • the second segment may comprise plural sub-segments; and a respective subset of the second set of check bits may be generated based on the information bits of one of the sub-segments without taking into account the information bits of the others of the sub-segments.
  • Each of the check bits of the first set may be distributed in the code block on less reliable bit positions for the polar encoding than each of the information bits of the second segment.
  • the check bits of the first set may be generated by at least one of a cyclic redundancy check, a parity check, and a hash sequence.
  • a method comprising performing a polar decoding of a first segment comprising bits of a received encoded code block, calculating a first set of one or more check bits based on a predefined subset of the bits of the first segment without taking into account any bits of a second segment of the received encoded code block; checking if the first set of check bits are equal to one or more bits at respective predefined first check bit positions; deciding on handling of the bits of at least the second segment based on the result of the checking, wherein each of the bits of the second segment is different from each of the bits of the first segment; respective positions of all the bits of the first segment in the code block are less reliable for the polar decoding than respective positions of all the bits of the second segment.
  • the check bits of the first set of check bits may be distributed along the bits of the subset of the first segment if a reliability of the bit positions of the code block for the polar decoding increases monotonically from a first bit position to a last bit position of the code block.
  • the method may further comprise calculating a second set of one or more check bits based on a predefined subset of the bits of the second segment; checking if the second set of check bits is equal to one or more bits of the second segment at respective predefined second check bit positions.
  • Respective positions of all the bits of the first segment in the code block may be less reliable for the polar decoding than the predefined second check bit positions.
  • the second set of check bits may be calculated based on the predefined subset of the second segment and at least one predefined bit of the first segment.
  • At least one of the at least one predefined bits of the first segment may be at a respective one of the first check bit positions.
  • the second segment may comprise plural sub-segments; a respective subset of the second set of check bits may be calculated based on the bits of one of the sub-segments without taking into account the bits of the others of the sub-segments.
  • the first check bit positions may be distributed along the bits of the first segment.
  • the first set of one or more check bits may be calculated by at least one of a cyclic redundancy check, a parity check, and a hash sequence.
  • the handling of the second segment may comprise at least one of detection and decoding.
  • Each of the methods of the third and fourth aspects may be a method of polar encoding.
  • a computer program product comprising a set of instructions which, when executed on an apparatus, is configured to cause the apparatus to carry out the method according to any of the third and fourth aspects.
  • the computer program product may be embodied as a computer-readable medium or directly loadable into a computer.
  • a relationship between the check bits in the first segment and in the second segment may be exploited.
  • nested CRC polynomials [7] may be considered.
  • Fig. 1 shows a basic building block of polar codes
  • Fig. 2 shows an encoding graph of a length-4 polar code
  • Fig. 3 shows an encoding graph of a length-N polar code
  • Fig. 4 shows segmentation of information bits according to some embodiments of the invention
  • Fig. 5 shows the generation of two sets of check bits according to some embodiments of the invention
  • Fig. 6 shows embedding the two sets of check bits into the code block according to some embodiments of the invention
  • Fig. 7 shows an apparatus according to an embodiment of the invention
  • Fig. 8 shows a method according to an embodiment of the invention
  • Fig. 9 shows an apparatus according to an embodiment of the invention.
  • Fig. 10 shows a method according to an embodiment of the invention.
  • Fig. 11 shows an apparatus according to an embodiment of the invention.
  • the apparatus is configured to perform the corresponding method, although in some cases only the apparatus or only the method are described.
  • the options of early termination occur much later in the successive cancelation decoding process.
  • the main reason for that is that the first CRC bit generally depends on 1/3 of information bits of the (control) payload. Therefore, decoder has to wait long to check the first CRC bit, and the early termination benefits may not be significant.
  • Highest reliable bit positions of polar codes typically do not experience as many errors as the reliable positions which are near to the unreliable locations. Protecting highest reliable bits with CRC may not be that critical compared to having additional protection for the lower end of the reliable locations. Therefore, efficient method of CRC generation is desirable for polar codes.
  • a new multi-segment structure is provided to do polar encoding/decoding.
  • the new multi-segment structure is simple in implementation and provides solutions to the problems mentioned above. Moreover, the solution is flexible in terms of achieving the trade-off between decoding performance and false-positive detection performance.
  • the enhanced polar code design may include generating of check bits based on a single or multiple segments for better polar decoding performance.
  • the present description relates mainly to two segments as an example of multiple segments. Some embodiments of this invention may be regarded as an enhancement to the distributed CRC scheme of [6] .
  • Polar encoding and decoding relies on information block segmentation to generate a first set of CRC bits.
  • the input bits to the polar encoder are divided into two or more segments. Some check bits are calculated based on the first segment without taking into account the second (and potential further) segments, and then these check bits may be embedded into the first segment, or close to the first segment, or anywhere else in the code block. Then another set of check bits may be calculated based on the second segment. The other set of check bits may be calculated based on the entire information block, i.e., the first and the second segments and potentially further segments. The check bit calculation for the second set of check bits may even be based on the first set of check bits.
  • the segmentation of the information block is only applicable to CRC generation and not to the polar encoding and decoding.
  • Polar encoding/decoding sees the code block as a single block comprising the entire information block (all segments of the information block) .
  • the CRC bits calculated based of the first information block segment may be distributed along the first information block segment.
  • the first information block segment with the first set of check bits (if the first set of check bits are distributed along the first information block segment) may be placed at the lower end of the reliable bit positions.
  • the first information block segment may be interleaved to facilitate early termination and tree pruning by placing associated information bits and relevant CRC bit at successive bit positions of the reliable locations.
  • the second set of CRC bits, calculated based on at least the second segment (e.g. based on the full information block) may be distributed in two ways in the code block:
  • a CRC bit is distributed along a segment includes distributing the CRC bits interleaved between the information bits of the respective segment of the information block, but also distributing the CRC bits at positions directly in front of or behind the respective segment, i.e. without an information bit of another segment or a CRC bit of another set of CRC bits between the first (last) information bit of the segment and the respective CRC bit.
  • Plural CRC bits of one set may be placed directly in front of or behind the information bits of a segment.
  • the information bits of the first segment and the CRC bits of the first set take the lower end of reliable bit positions at the polar encoding.
  • the remaining information bits which are not used for generating the first set of CRC bits may be placed at the highest reliable bit positions at the polar encoding.
  • a second set of CRC bits with less CRC bits than the first set may be sufficient to detect the errors of the full information block.
  • CRC bits are generated based on the first segment of information bits only but not based on the second (or further) segment of information bits. Namely, in such embodiments, it is assumed that the information bits of the second segment are error-free such that CRC bits are not needed to protect these information bits.
  • the number of information block segments may be more than two.
  • the first segment may be prepended, appended, or interleaved with a first set of check bits, which is based on the first segment.
  • Each of the subsequent segments may be prepended/appended/interleaved with a respective set of check bits, which is based on the corresponding segment.
  • the respective set of check bits may be based on the corresponding segment only, or it may be based on the information block from the first segment to the corresponding segment.
  • the information block may be considered as an information block comprising two segments, namely the first segment and a second segment made up of plural sub-segments.
  • each of the sub-segments corresponds to a respective one of the segments other than the first segment in the former concept of an information block having more than two segments.
  • the decoding process may have two stages:
  • the decoding starts with the first segment, which would only utilize the first set of check bits to decide which paths should be kept in the list. Early termination may also trigger when CRC bit fails for all paths.
  • the decoding approach can be easily extended to the example with more than two segments.
  • decoding may not check CRC bits at the intermediate stages of decoding but treat them as information bits. After decoding the full information block, a CRC check may be performed for all the paths (or a limited number of paths) to select the correctly decoded path. De-interleaving steps can be carried out prior to checking CRC bits for the decoded information block.
  • ⁇ CRC bits may be distributed separately for different segments within the information block. Some embodiments of this invention may place the CRC bits at much earlier positions than in a case where the distributed CRC scheme [6] is used. This may improve the decoding performance and early termination possibilities.
  • Some embodiments of this invention may have a simple structure for implementation.
  • Some embodiments of the invention provide flexibility in terms of achieving a trade-off between decoding performance and false-positive detection performance by adjusting the number of check bits for decoding and/or detection;
  • a relationship between the check bits in the first segment and in the second segment may be exploited.
  • nested CRC polynomials [7] could be considered if the check bits in the second segment are based on the check bits of the first segment, too.
  • ⁇ u 0 ,...,u K-1 are the information bits to be encoded.
  • ⁇ K is the total number of information bits.
  • the first set of check bits are calculated based on (at least a part of) the bits in the first segment only, and the second set of check bits are calculated based on the bits in the entire information block.
  • the second set of check bits may be based on the second segment only. This may be considered as a special case where the calculation is based on the entire block, but the bits in the first segment are merely ignored. In some embodiment, only a part of the information bits of the first segment may be used to calculate the second set of check bits.
  • the input to the calculation of the second set of check bits may contain or not contain the first set of check bits.
  • the second set of check bits may be calculated on a part of the check bits of the first set.
  • the checking relationship (i.e. the relationship between the check bits and the information bits on which the check bits are based) is illustrated in Fig. 5.
  • the second set of check bits is calculated based also on the first set of check bits.
  • the check bits are embedded into the original information block, which is depicted in Fig. 6.
  • the check bits of the second set could be anywhere in the resulting code block.
  • One way of placing the check bits is to put them at the end of the corresponding segment, as shown in Fig. 6. However, this is not mandatory.
  • the positions of the check bits in Fig. 6 are for illustration purposes only.
  • segment sizes may depend on the overall decoding performance with the embedded check bits. It may also depend on the underlying check bit calculation methods. For example, if the distributed CRC method [6] is used, then the first segment size may not be large because otherwise it would make early placing of the CRC bits difficult.
  • the dividing of the information block into segments may be predefined and, thus, known to both sender and receiver.
  • the segmentation may depend e.g. on the decoding performance.
  • the receiver may adapt the number of information bits per segment and/or the number of CRC bits per CRC bit set and inform the sender thereof, e.g. by control signalling.
  • the receiver may inform the sender on the channel quality, which then adapts the number of information bits per segment and/or the number of CRC bits per CRC bit set and informs the receiver on the new setting.
  • One embodiment of this invention may comprise the following steps:
  • One may use the check bits in the first segment and part of the check bits in the second segment to do decoding, and use only the remaining check bits in the second segment to do detection;
  • the decoding algorithm may be:
  • a major benefit of some embodiments of the invention is that they make the CRC bit distributing easier because the check bits generated based on the first segment only protect a part of the input information block, and thus the distributed CRC bits could be placed to much earlier positions compared to the approach in [6] .
  • the bits in the first segment generally suffer higher decoding error probability compared to the bits in the second segment, and thus putting the check bits at early stages might help the early detection of these errors.
  • the overall generator matrix of the CRC bits may be summarized as
  • the overall generator matrix of the CRC bits may be summarized as
  • Fig. 7 shows an apparatus according to an embodiment of the invention.
  • the apparatus may be an encoding unit of an eNodeB or a UE or an element thereof.
  • Fig. 8 shows a method according to an embodiment of the invention.
  • the apparatus according to Fig. 7 may perform the method of Fig. 8 but is not limited to this method.
  • the method of Fig. 7 may be performed by the apparatus of Fig. 8 but is not limited to being performed by this apparatus.
  • the apparatus comprises generating means 10, constructing means 20, and encoding means 30.
  • Each of the generating means 10, constructing means 20, and encoding means 30 may be a generator, constructor, and encoder, respectively.
  • Each of the generating means 10, constructing means 20, and encoding means 30 may be a generating processor, constructing processor, and encoding processor, respectively.
  • the generating means 10 generates a set of one or more check bits based on one or more information bits of a first segment of an information block of K information bits (S10) . Therein, the generating means 10 generates the first set of check bits without taking into account any of the one or more information bits of a second segment of the information block.
  • the first segment and the second segment are disjoint from each other, i.e., each of the information bits of the first segment is different from each of the information bits of the second segment.
  • the polar encoding for which the reliability is judged is the polar encoding performed by the encoding means 30.
  • the constructing means 20 may distribute the check bits of the set along the information bits of the first segment on less reliable positions than the information bits of the second segment.
  • the encoding means 30 performs the polar encoding of the code block constructed by the constructing means 20 (S30) .
  • Fig. 9 shows an apparatus according to an embodiment of the invention.
  • the apparatus may be a decoding unit of an eNodeB or a UE or an element thereof.
  • Fig. 10 shows a method according to an embodiment of the invention.
  • the apparatus according to Fig. 9 may perform the method of Fig. 10 but is not limited to this method.
  • the method of Fig. 9 may be performed by the apparatus of Fig. 10 but is not limited to being performed by this apparatus.
  • the apparatus comprises decoding means 110, calculating means 120, checking means 130, and deciding means 140.
  • Each of the decoding means 110, calculating means 120, checking means 130, and deciding means 140 may be a decoder, calculator, checker, and decider, respectively.
  • Each of the decoding means 110, calculating means 120, checking means 130, and deciding means 140 may be a decoding processor, calculating processor, checking processor, and deciding processor, respectively.
  • the decoding means 110 polar decodes a first segment comprising bits of a received encoded code block (S110) .
  • the calculating means 120 calculate a set of one or more check bits based on a predefined subset of the bits of the first segment (S120) . Therein, the calculating means 120 does not take into account any bits of a second segment of the received encoded code block.
  • the first segment and the second segment are disjoint from each other, i.e., each of the information bits of the first segment is different from each of the information bits of the second segment.
  • the predefined subset does not comprise the check bits of the first segment received at predefined check bit positions.
  • the respective positions of all the bits of the first segment in the code block are less reliable for the polar decoding than respective positions of all the bits of the second segment. The reliability is judged for the polar decoding performed by the decoding means 110.
  • the checking means 130 checks if the set of check bits are equal to one or more bits at respective predefined check bit positions (S130) .
  • the one or more bits may be distributed along the information bits of the first segment.
  • the deciding means 140 decides on handling of the bits of at least the second segment (S140) .
  • the handling of the second segment may comprise at least one of detection and decoding.
  • the decision may be applied not only on the second segment but on the first segment, too.
  • Fig. 11 shows an apparatus according to an embodiment of the invention.
  • the apparatus comprises at least one processor 410, at least one memory 420 including computer program code, and the at least one processor 410, with the at least one memory 420 and the computer program code, being arranged to cause the apparatus to at least perform at least one of the methods according to Figs. 8 and 10.
  • Some embodiments of the invention may be employed in 3GPP devices, e.g. in the encoding unit and/or decoding unit thereof.
  • embodiments of the invention are not limited to 3GPP devices. They may be employed in any kind of devices where polar coding is employed.
  • CRC bits are described with check bits.
  • some embodiments may use another error detection code than CRC.
  • any systematic code such as check sum, parity check, CRC check, zigzag code etc. may be used.
  • One piece of information may be transmitted in one or plural messages from one entity to another entity. Each of these messages may comprise further (different) pieces of information.
  • Names of network elements, protocols, and methods are based on current standards. In other versions or other technologies, the names of these network elements and/or protocols and/or methods may be different, as long as they provide a corresponding functionality.
  • each of the entities described in the present description may be based on a different hardware, or some or all of the entities may be based on the same hardware. It does not necessarily mean that they are based on different software. That is, each of the entities described in the present description may be based on different software, or some or all of the entities may be based on the same software.
  • Each of the entities described in the present description may be embodied in the cloud.
  • example embodiments of the present invention provide, for example, a base station such as a eNodeB, or a component such as a TX path or an encoding unit or a RX path or a decoding unit thereof, or a terminal such as a User Equipment or a MTC device, or a component such as a TX path or an encoding unit or a RX path or a decoding unit thereof, an apparatus embodying the same, a method for controlling and/or operating the same, and computer program (s) controlling and/or operating the same as well as mediums carrying such computer program (s) and forming computer program product (s) .
  • a base station such as a eNodeB
  • a component such as a TX path or an encoding unit or a RX path or a decoding unit thereof
  • a terminal such as a User Equipment or a MTC device
  • a component such as a TX path or an encoding unit or a RX path or a decoding unit thereof
  • Implementations of any of the above described blocks, apparatuses, systems, techniques or methods include, as non-limiting examples, implementations as hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.

Landscapes

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

Abstract

It is provided a method, comprising generating a first set of one or more check bits based on one or more information bits of a first segment of an information block of K information bits; constructing a code block comprising the K information bits of the information block and the first set of check bits; performing polar encoding of the code block, wherein the first set of check bits are generated without taking into account any of the one or more information bits of a second segment of the information block;; each of the information bits of the first segment is different from each of the information bits of the second segment;; each of the information bits of the first segment is distributed in the code block on less reliable bit positions for the polar encoding than each of the information bits of the second segment.

Description

CODING APPARATUS FOR POLAR CODES Field of the invention
The present invention relates to an apparatus, a method, and a computer program product related to coding, in particular to polar coding.
Abbreviations
3GPP         3rd Generation Partnership Project
5G           5th Generation
BER          Bit Error Rate
BLER         Block Error Ratio
CRC          Cyclic Redundancy Check
DCI          Downlink Control Information
DL           Downlink
eMBB         Enhanced Mobile Broadband
FAR          False Alarm Rate
LDPC         Low Density Parity Check
mMTC         Massive MTC
MTC          Machine-type Communication
NR           New Radio
PC           Polar Coding
QPSK         Quadrature Phase Shift Keying
RAN          Radio Access Network
RRC          Radio Resource Control
RX           Receive /Reception
TBCC         Tail-biting Convolution Code
TX           Transmit /Transmission
UCI          Upiink Control Information
UL           Uplink
XOR          Exclusive OR
Background of the invention
Polar code is a new and promising channel coding scheme to approach communication channel capacity, which is a linear block code developed by Erdal Arikan [1] . It is the first  channel code with an explicit construction to achieve the capacity of symmetric binary-input, discrete, memoryless channels (BI-DMCs) . With the help of list decoders [2] , polar codes have comparable and sometimes even better performance compared to the state-of-the-art codes like LDPC and turbo codes, meanwhile the decoding complexity of polar codes is as low as O (LN log N) . Here N is the encoded block length and L is the list size. These features make polar codes very attractive for many applications, like digital communications and storage. Polar codes are under investigation in the 3GPP 5G channel coding study item for potential 5G applications [4] . The agreed working assumption is that polar codes will be used for eMBB control channels.
A brief overview on polar codes is provided in this section. This overview provides background introduction for the detailed discussion on the proposed scheme for polar codes.
Polar codes are based on the concept of polarization [1] . The basic building block in polar codes can be depicted as shown in Fig. 1, taken from [1] .
In Fig. 1, ui refer to the input bits of the encoder, and yi refer to the output/encoded bits of the encoder. It can be shown that in this configuration, the mutual information I (U1; Y1, Y2) decreases compared to the pre-polarized pair I (U1; Y1) , while I (U2; Y1, Y2, U1) increases compared to I (U2; Y2) . In this way, one channel is degraded and the other one is upgraded.
By systematically replicating and stacking such basic blocks, longer polar codes can be constructed. For example, Fig. 2 (taken from [1] ) characterizes a length-4 polar code.
As the number of layers grows, the channels are kept being degraded and upgraded. In other words, the polarization effect becomes more and more visible. Eventually, some channels would have zero capacity and the others would become error-free. The idea of polar codes is to choose the error-free channels to transmit information bits and force the value of the bits transmitted in the zero-capacity channels to be some known value, e.g., 0. These bits are called frozen bits in the literature.
By choosing the K best channels out of the total N polarized channels, one gets a rate K/N polar code. In the example shown in Fig. 2, one may pick K = 2 with (u3, u4) as information bits, and (u1, u2) as frozen bits. In effect, a polar code of rate 1/2 is constructed.
In 3GPP, the use of the polar coding graph shown in Fig. 3 is agreed, which is equivalent to the classical coding graph of [1] shown in Fig. 2. Hence, it is shown here for convenience.
The following is agreed in 3GPP NR for control channels [3] :
Agreement:
● J CRC bits are provided (which may be used for error detection and may also be used to assist decoding and potentially for early termination)
- J may be different in DL and UL
- J may depend on the payload size in the UL (0 not precluded)
● In addition, J’assistance bits are provided in reliable locations (which may be used to assist decoding and potentially for early termination)
● J + J’<= the number of bits required to satisfy the FAR target (nFAR) +6
- Working assumption:
● For DL, nFAR = 16 (at least for eMBB-related DCI)
● For UL, nFAR = 8 or 16 (at least for eMBB-related UCI; note that this applies for UL cases with CRC)
● J’>0
● Working assumption: J”<=2 additional assistance bits are provided in unreliable locations (which may be used to assist decoding and potentially for early termination) 
- Can be revisited in RAN1#89 if significant benefit is shown from a larger value of J”without undue complexity -companies are encouraged to additionally evaluate J”=8
● The J’ (and J”if any) bits may be CRC and/or PC and/or hash bits (downscope if possible)
● Placement of the J, J’(and J”if any) assistance bits is for further study after the study of early termination techniques
- Appended?
- Distributed?
● evenly?
● unevenly?
It can be seen from the agreement that beyond the classical (basic) polar codes, an enhanced polar code design needs to be adopted for 3GPP NR. More importantly, all polar code constructions contain some amount of CRC bits, which can be used for error correction and detection. Also, distributing CRC bits along the control payload has been identified as a potential solution for providing early termination of polar decoding.
Some variants of classical polar codes have been proposed:
● CRC aided polar codes (CA-Polar) [2] , which appends several CRC bits to the information block and uses the CRC bits to select the best path form the decoding list;
● Parity Check (PC) -Polar [5] , which inserts parity bits into the information block and uses tree-pruning to do list decoding; and
● Distributed CRC [6] , which distributes CRC bits into the information block. It can support both CRC-check based and tree-pruning based list decoding.
References
[1] E. Arikan, “Channel polarization: A method for constructing capacity achieving codes for symmetric binary-input memoryless channels, ” IEEE Trans. Inf. Theory, vol. 55, no. 7, pp. 3051-3073, Jul. 2009.
[2] I. Tal and A. Vardy, “List decoding of polar codes, ” IEEE Trans. Inf. Theory, vol. 61, no. 5, pp. 2213-2226, May 2015.
[3] Meeting Report of 3GPP TSG RAN WG1 #88
[4] Meeting Report of 3GPP TSG RAN WG1 #87
[5] R1-1608862, “Polar code construction for NR, ” Huawei, HiSilicon, Lisbon, Portugal, Oct. 2016.
[6] R1-1701033, “Polar codes design for UL control, ” Nokia, Alcatel-Lucent Shanghai Bell
[7] F. Schiller and T. Mattes, ″Analysis of nested CRC with additional net data by means of stochastic automata for safety-critical communication, ″2008 IEEE International Workshop on Factory Communication Systems, Dresden, 2008, pp. 295-304.
Summary of the invention
It is an object of the present invention to improve the prior art.
According to a first aspect of the invention, there is provided an apparatus, comprising first generating means configured to generate a first set of one or more check bits based on one or more information bits of a first segment of an information block of K information bits; constructing means configured to construct a code block comprising the K information bits of the information block and the first set of check bits; encoding means configured to perform polar encoding of the code block, wherein the first generating means is configured to generate the first set of check bits without taking into account any of the one or more information bits of a second segment of the information block; each of the information bits of the first segment is different from each of the information bits of the second segment; the constructing means is configured to distribute each of the information bits of the first segment in the code block on less reliable bit positions for the polar encoding than each of the information bits of the second segment.
The constructing means may be adapted to distribute at least one of the check bits of the first set of check bits along the information bits of the first segment if a reliability of the bit positions of the code block for the encoding increases monotonically from a first bit position to a last bit position of the code block.
The apparatus may further comprise second generating means configured to generate a second set of one or more check bits based on at least a subset of the information bits of the second segment; wherein the constructing means may be configured to construct the code block such that it comprises the K information bits, the first set of check bits, and the second set of check bits.
The constructing means may be configured to distribute the information bits of the first segment and the first set of check bits on less reliable bit positions for the polar encoding than the second set of check bits.
The second generating means may be configured to generate the second set of check bits based on at least the subset of the information bits of the second segment and at least one of the information bits of the first segment.
The second generating means may be configured to generate the second set of check bits based on at least the subset of the information bits of the second segment and at least one of the check bits of the first set of check bits.
The second segment may comprise plural sub-segments; and the second generating means may be configured to generate a respective subset of the second set of check bits based on the information bits of one of the sub-segments without taking into account the information bits of the others of the sub-segments.
The constructing means may be configured to distribute each of the check bits of the first set in the code block on less reliable bit positions for the polar encoding than each of the information bits of the second segment.
The first generating means may be configured to generate the check bits of the first set by at least one of a cyclic redundancy check, a parity check, and a hash sequence.
According to a second aspect of the invention, there is provided an apparatus, comprising decoding means configured to perform a polar decoding of a first segment comprising bits of a received encoded code block, first calculating means adapted to calculate a first set of one or more check bits based on a predefined subset of the bits of the first segment without taking into account any bits of a second segment of the received encoded code block; first checking means configured to check if the first set of check bits are equal to one or more bits at respective predefined first check bit positions; deciding means configured to decide on handling of the bits of at least the second segment based on the result of the checking, wherein each of the bits of the second segment is different from each of the bits of the first segment; respective positions of all the bits of the first segment in the code block are less reliable for the polar decoding than respective positions of all the bits of the second segment.
The check bits of the first set of check bits may be distributed along the bits of the subset of the first segment if a reliability of the bit positions of the code block for the polar decoding increases monotonically from a first bit position to a last bit position of the code block.
The apparatus may further comprise second calculating means configured to calculate a second set of one or more check bits based on a predefined subset of the bits of the second segment; second checking means configured to check if the second set of check bits is equal to one or more bits of the second segment at respective predefined second check bit positions.
Respective positions of all the bits of the first segment in the code block may be less reliable for the polar decoding than the predefined second check bit positions.
The second calculating means may be configured to calculate the second set of check bits based on the predefined subset of the second segment and at least one predefined bit of the first segment.
At least one of the at least one predefined bits of the first segment may be at a respective one of the first check bit positions.
The second segment may comprise plural sub-segments; the second calculating means may be configured to calculate a respective subset of the second set of check bits based on the bits of one of the sub-segments without taking into account the bits of the others of the sub-segments.
The first check bit positions may be distributed along the bits of the first segment.
The first calculating means may be configured to calculate the first set of one or more check bits by at least one of a cyclic redundancy check, a parity check, and a hash sequence.
The handling of the second segment may comprise at least one of detection and decoding.
According to a third aspect of the invention, there is provided a method, comprising generating a first set of one or more check bits based on one or more information bits of a first segment of an information block of K information bits; constructing a code block comprising the K information bits of the information block and the first set of check bits; performing polar encoding of the code block, wherein the first set of check bits are generated without taking into account any of the one or more information bits of a second segment of the information block; each of the information bits of the first segment is different from each of the information bits of the second segment; each of the information bits of the first segment is distributed in the code block on less reliable bit positions for the polar encoding than each of the information bits of the second segment.
At least one of the check bits of the first set of check bits may be distributed along the information bits of the first segment if a reliability of the bit positions of the code block for  the encoding increases monotonically from a first bit position to a last bit position of the code block.
The method may further comprise generating a second set of one or more check bits based on at least a subset of the information bits of the second segment; wherein the code block may be constructed such that it comprises the K information bits, the first set of check bits, and the second set of check bits.
The information bits of the first segment and the first set of check bits may be distributed on less reliable bit positions for the polar encoding than the second set of check bits.
The second set of check bits may be generated based on at least the subset of the information bits of the second segment and at least one of the information bits of the first segment.
The second set of check bits may be generated based on at least the subset of the information bits of the second segment and at least one of the check bits of the first set of check bits.
The second segment may comprise plural sub-segments; and a respective subset of the second set of check bits may be generated based on the information bits of one of the sub-segments without taking into account the information bits of the others of the sub-segments.
Each of the check bits of the first set may be distributed in the code block on less reliable bit positions for the polar encoding than each of the information bits of the second segment.
The check bits of the first set may be generated by at least one of a cyclic redundancy check, a parity check, and a hash sequence.
According to a fourth aspect of the invention, there is provided a method, comprising performing a polar decoding of a first segment comprising bits of a received encoded code block, calculating a first set of one or more check bits based on a predefined subset of the bits of the first segment without taking into account any bits of a second segment of the received encoded code block; checking if the first set of check bits are equal to one or more bits at respective predefined first check bit positions; deciding on handling of the bits  of at least the second segment based on the result of the checking, wherein each of the bits of the second segment is different from each of the bits of the first segment; respective positions of all the bits of the first segment in the code block are less reliable for the polar decoding than respective positions of all the bits of the second segment.
The check bits of the first set of check bits may be distributed along the bits of the subset of the first segment if a reliability of the bit positions of the code block for the polar decoding increases monotonically from a first bit position to a last bit position of the code block.
The method may further comprise calculating a second set of one or more check bits based on a predefined subset of the bits of the second segment; checking if the second set of check bits is equal to one or more bits of the second segment at respective predefined second check bit positions.
Respective positions of all the bits of the first segment in the code block may be less reliable for the polar decoding than the predefined second check bit positions.
The second set of check bits may be calculated based on the predefined subset of the second segment and at least one predefined bit of the first segment.
At least one of the at least one predefined bits of the first segment may be at a respective one of the first check bit positions.
The second segment may comprise plural sub-segments; a respective subset of the second set of check bits may be calculated based on the bits of one of the sub-segments without taking into account the bits of the others of the sub-segments.
The first check bit positions may be distributed along the bits of the first segment.
The first set of one or more check bits may be calculated by at least one of a cyclic redundancy check, a parity check, and a hash sequence.
The handling of the second segment may comprise at least one of detection and decoding.
Each of the methods of the third and fourth aspects may be a method of polar encoding.
According to a fifth aspect of the invention, there is provided a computer program product comprising a set of instructions which, when executed on an apparatus, is configured to cause the apparatus to carry out the method according to any of the third and fourth aspects. The computer program product may be embodied as a computer-readable medium or directly loadable into a computer.
According to some embodiments of the invention, at least one of the following advantages may be achieved:
● Decoding performance and/or early termination possibilities are improved;
● Difference of polarization weights in the reliable positions of a polar code is taken into account;
● simple structure for implementation;
● flexibility in terms of achieving a trade-off between decoding performance and false-positive detection performance;
● a relationship between the check bits in the first segment and in the second segment may be exploited. E.g., nested CRC polynomials [7] may be considered.
It is to be understood that any of the above modifications can be applied singly or in combination to the respective aspects to which they refer, unless they are explicitly stated as excluding alternatives.
Brief description of the drawings
Further details, features, objects, and advantages are apparent from the following detailed description of the preferred embodiments of the present invention which is to be taken in conjunction with the appended drawings, wherein:
Fig. 1 shows a basic building block of polar codes;
Fig. 2 shows an encoding graph of a length-4 polar code;
Fig. 3 shows an encoding graph of a length-N polar code;
Fig. 4 shows segmentation of information bits according to some embodiments of the invention;
Fig. 5 shows the generation of two sets of check bits according to some embodiments of the invention;
Fig. 6 shows embedding the two sets of check bits into the code block according to some embodiments of the invention;
Fig. 7 shows an apparatus according to an embodiment of the invention;
Fig. 8 shows a method according to an embodiment of the invention;
Fig. 9 shows an apparatus according to an embodiment of the invention;
Fig. 10 shows a method according to an embodiment of the invention; and
Fig. 11 shows an apparatus according to an embodiment of the invention.
Detailed description of certain embodiments
Herein below, certain embodiments of the present invention are described in detail with reference to the accompanying drawings, wherein the features of the embodiments can be freely combined with each other unless otherwise described. However, it is to be expressly understood that the description of certain embodiments is given by way of example only, and that it is by no way intended to be understood as limiting the invention to the disclosed details.
Moreover, it is to be understood that the apparatus is configured to perform the corresponding method, although in some cases only the apparatus or only the method are described.
In view of the agreement for 3GPP NR, the inventors see the following concerns with respect to the traditional CRC distribution methods:
● When the full information block is used for CRC generation, the options of early termination occur much later in the successive cancelation decoding process. The main reason for that is that the first CRC bit generally depends on 1/3 of information bits of the (control) payload. Therefore, decoder has to wait long to check the first CRC bit, and the early termination benefits may not be significant.
● One may expect a larger number of CRC bits with polar codes than with conventional LTE TBCC codes due to larger list sizes required for the polar decoding. The most reliable bit positions of the polar code block are occupied by both information bits and CRC bits. For example, the limitation in the above agreement (J + J’ <= the number of bits required to satisfy the FAR target (nFAR) + 6) was made mainly to limit this kind of CRC overhead in the reliable bit positions of a polar code.
● Highest reliable bit positions of polar codes typically do not experience as many errors as the reliable positions which are near to the unreliable locations. Protecting highest reliable bits with CRC may not be that critical compared to  having additional protection for the lower end of the reliable locations. Therefore, efficient method of CRC generation is desirable for polar codes.
According to some embodiments of the invention, a new multi-segment structure is provided to do polar encoding/decoding. The new multi-segment structure is simple in implementation and provides solutions to the problems mentioned above. Moreover, the solution is flexible in terms of achieving the trade-off between decoding performance and false-positive detection performance. The enhanced polar code design according to some embodiments of the invention may include generating of check bits based on a single or multiple segments for better polar decoding performance. The present description relates mainly to two segments as an example of multiple segments. Some embodiments of this invention may be regarded as an enhancement to the distributed CRC scheme of [6] .
Polar encoding and decoding according to some embodiments of the invention relies on information block segmentation to generate a first set of CRC bits. The input bits to the polar encoder are divided into two or more segments. Some check bits are calculated based on the first segment without taking into account the second (and potential further) segments, and then these check bits may be embedded into the first segment, or close to the first segment, or anywhere else in the code block. Then another set of check bits may be calculated based on the second segment. The other set of check bits may be calculated based on the entire information block, i.e., the first and the second segments and potentially further segments. The check bit calculation for the second set of check bits may even be based on the first set of check bits.
The segmentation of the information block is only applicable to CRC generation and not to the polar encoding and decoding. Polar encoding/decoding sees the code block as a single block comprising the entire information block (all segments of the information block) .
The CRC bits calculated based of the first information block segment may be distributed along the first information block segment. The first information block segment with the first set of check bits (if the first set of check bits are distributed along the first information block segment) may be placed at the lower end of the reliable bit positions. The first information block segment may be interleaved to facilitate early termination and tree pruning by placing associated information bits and relevant CRC bit at successive  bit positions of the reliable locations. The second set of CRC bits, calculated based on at least the second segment (e.g. based on the full information block) may be distributed in two ways in the code block:
1. Along the first and second segment of information blocks.
2. Only along the second information block segment.
The term “a CRC bit is distributed along a segment” includes distributing the CRC bits interleaved between the information bits of the respective segment of the information block, but also distributing the CRC bits at positions directly in front of or behind the respective segment, i.e. without an information bit of another segment or a CRC bit of another set of CRC bits between the first (last) information bit of the segment and the respective CRC bit. Plural CRC bits of one set may be placed directly in front of or behind the information bits of a segment.
In some embodiments, the first set of CRC bits may be generated based on a large portion of the information block (= first segment) , where the number of the CRC bits of the first set may be (much) larger than the second set of CRC. The information bits of the first segment and the CRC bits of the first set take the lower end of reliable bit positions at the polar encoding. The remaining information bits which are not used for generating the first set of CRC bits may be placed at the highest reliable bit positions at the polar encoding. In such an embodiment, a second set of CRC bits with less CRC bits than the first set may be sufficient to detect the errors of the full information block.
In a variant of such embodiments, CRC bits are generated based on the first segment of information bits only but not based on the second (or further) segment of information bits. Namely, in such embodiments, it is assumed that the information bits of the second segment are error-free such that CRC bits are not needed to protect these information bits.
In some embodiments, the number of information block segments may be more than two. The first segment may be prepended, appended, or interleaved with a first set of check bits, which is based on the first segment. Each of the subsequent segments may be prepended/appended/interleaved with a respective set of check bits, which is based on the corresponding segment. For example, the respective set of check bits may be based on the corresponding segment only, or it may be based on the information block from the first segment to the corresponding segment.
If the information block comprises more than two segments, conceptually, the information block may be considered as an information block comprising two segments, namely the first segment and a second segment made up of plural sub-segments. In this concept, each of the sub-segments corresponds to a respective one of the segments other than the first segment in the former concept of an information block having more than two segments.
For the two-segment case, the decoding process may have two stages:
1. The decoding starts with the first segment, which would only utilize the first set of check bits to decide which paths should be kept in the list. Early termination may also trigger when CRC bit fails for all paths.
2. Then the second segment is decoded, which could utilize both the first and second sets of check bits to do list decoding.
The decoding approach can be easily extended to the example with more than two segments.
In another embodiment, decoding may not check CRC bits at the intermediate stages of decoding but treat them as information bits. After decoding the full information block, a CRC check may be performed for all the paths (or a limited number of paths) to select the correctly decoded path. De-interleaving steps can be carried out prior to checking CRC bits for the decoded information block.
Some differences between some embodiments of this invention and the prior art are:
● CRC generation happens in two-steps for the same information block.
● CRC bits may be distributed separately for different segments within the information block. Some embodiments of this invention may place the CRC bits at much earlier positions than in a case where the distributed CRC scheme [6] is used. This may improve the decoding performance and early termination possibilities.
● The difference of polarization weights in the reliable positions of a polar code is considered when dividing CRC overhead among first and second segments of the information block.
● Some embodiments of this invention may have a simple structure for implementation.
● Some embodiments of the invention provide flexibility in terms of achieving a trade-off  between  decoding  performance  and  false-positive  detection performance by adjusting the number of check bits for decoding and/or detection; and
● A relationship between the check bits in the first segment and in the second segment may be exploited. For example, nested CRC polynomials [7] could be considered if the check bits in the second segment are based on the check bits of the first segment, too.
In the following, an embodiment of the invention is explained at greater detail, wherein the information block is divided into two segments, as shown in Fig. 4. Therein:
● u0,...,uK-1 are the information bits to be encoded; and
● K is the total number of information bits.
The first set of check bits are calculated based on (at least a part of) the bits in the first segment only, and the second set of check bits are calculated based on the bits in the entire information block.
While in the present embodiment the calculation of the second set of check bits is based on the entire information block (also named input block) , in other embodiments the second set of check bits may be based on the second segment only. This may be considered as a special case where the calculation is based on the entire block, but the bits in the first segment are merely ignored. In some embodiment, only a part of the information bits of the first segment may be used to calculate the second set of check bits.
In some embodiments, the input to the calculation of the second set of check bits may contain or not contain the first set of check bits. In some embodiments, the second set of check bits may be calculated on a part of the check bits of the first set.
The checking relationship (i.e. the relationship between the check bits and the information bits on which the check bits are based) is illustrated in Fig. 5. In this example, the second set of check bits is calculated based also on the first set of check bits.
After the check bit calculation is done, in this embodiment, the check bits are embedded into the original information block, which is depicted in Fig. 6.
In principle, the check bits of the second set could be anywhere in the resulting code block. One way of placing the check bits is to put them at the end of the corresponding segment, as shown in Fig. 6. However, this is not mandatory. The positions of the check bits in Fig. 6 are for illustration purposes only.
The choice of the segment sizes may depend on the overall decoding performance with the embedded check bits. It may also depend on the underlying check bit calculation methods. For example, if the distributed CRC method [6] is used, then the first segment size may not be large because otherwise it would make early placing of the CRC bits difficult.
Hence, in some embodiments of the invention, the dividing of the information block into segments may be predefined and, thus, known to both sender and receiver. In some embodiments, the segmentation may depend e.g. on the decoding performance. In these cases, the receiver may adapt the number of information bits per segment and/or the number of CRC bits per CRC bit set and inform the sender thereof, e.g. by control signalling. Alternatively, the receiver may inform the sender on the channel quality, which then adapts the number of information bits per segment and/or the number of CRC bits per CRC bit set and informs the receiver on the new setting.
One embodiment of this invention may comprise the following steps:
● Use CRC check for both sets of check bits.
● Distribute the resulted CRC bits.
● Multiple ways of utilizing the check bits are possible. Some possibilities are listed here:
○ One may use only the check bits in the first segment to do decoding, and use only the check bits in the second segment to do detection; or
○ One may use the check bits in both segments to do decoding and detection; or
○ One may use the check bits in the first segment and part of the check bits in the second segment to do decoding, and use only the remaining check bits in the second segment to do detection; and
○ Other trade-offs with respect to the number of bits used for decoding and detection are possible.
● The decoding algorithm may be:
○ Conventional CRC-aided list decoding; or
○ Tree-pruning based list decoding.
A major benefit of some embodiments of the invention is that they make the CRC bit distributing easier because the check bits generated based on the first segment only protect a part of the input information block, and thus the distributed CRC bits could be placed to much earlier positions compared to the approach in [6] . In theory, the bits in the first segment generally suffer higher decoding error probability compared to the bits in the second segment, and thus putting the check bits at early stages might help the early detection of these errors.
In this embodiment, the overall generator matrix of the CRC bits may be summarized as
Figure PCTCN2017083101-appb-000001
where I is a diagonal matrix, O is a zero matrix, and A , B, C are the resulted CRC check sub-matrices. With this observation, the invention could be further improved by carefully deciding appropriate CRC polynomials [7] to be used.
In another embodiment, when three segments are used, the overall generator matrix of the CRC bits may be summarized as
Figure PCTCN2017083101-appb-000002
Fig. 7 shows an apparatus according to an embodiment of the invention. The apparatus may be an encoding unit of an eNodeB or a UE or an element thereof. Fig. 8 shows a method according to an embodiment of the invention. The apparatus according to Fig. 7 may perform the method of Fig. 8 but is not limited to this method. The method of Fig. 7  may be performed by the apparatus of Fig. 8 but is not limited to being performed by this apparatus.
The apparatus comprises generating means 10, constructing means 20, and encoding means 30. Each of the generating means 10, constructing means 20, and encoding means 30 may be a generator, constructor, and encoder, respectively. Each of the generating means 10, constructing means 20, and encoding means 30 may be a generating processor, constructing processor, and encoding processor, respectively.
The generating means 10 generates a set of one or more check bits based on one or more information bits of a first segment of an information block of K information bits (S10) . Therein, the generating means 10 generates the first set of check bits without taking into account any of the one or more information bits of a second segment of the information block. The first segment and the second segment are disjoint from each other, i.e., each of the information bits of the first segment is different from each of the information bits of the second segment.
The constructing means 20 constructs a code block comprising all the information bits (=K information bits) of the information block and the set of check bits (S20) . Therein, the constructing means 20 distributes each of the information bits of the first segment in the code block on less reliable bit positions for a polar encoding than each of the information bits of the second segment. The polar encoding for which the reliability is judged is the polar encoding performed by the encoding means 30. The constructing means 20 may distribute the check bits of the set along the information bits of the first segment on less reliable positions than the information bits of the second segment.
The encoding means 30 performs the polar encoding of the code block constructed by the constructing means 20 (S30) .
Fig. 9 shows an apparatus according to an embodiment of the invention. The apparatus may be a decoding unit of an eNodeB or a UE or an element thereof. Fig. 10 shows a method according to an embodiment of the invention. The apparatus according to Fig. 9 may perform the method of Fig. 10 but is not limited to this method. The method of Fig. 9 may be performed by the apparatus of Fig. 10 but is not limited to being performed by this apparatus.
The apparatus comprises decoding means 110, calculating means 120, checking means 130, and deciding means 140. Each of the decoding means 110, calculating means 120, checking means 130, and deciding means 140 may be a decoder, calculator, checker, and decider, respectively. Each of the decoding means 110, calculating means 120, checking means 130, and deciding means 140 may be a decoding processor, calculating processor, checking processor, and deciding processor, respectively.
The decoding means 110 polar decodes a first segment comprising bits of a received encoded code block (S110) .
The calculating means 120 calculate a set of one or more check bits based on a predefined subset of the bits of the first segment (S120) . Therein, the calculating means 120 does not take into account any bits of a second segment of the received encoded code block. The first segment and the second segment are disjoint from each other, i.e., each of the information bits of the first segment is different from each of the information bits of the second segment. The predefined subset does not comprise the check bits of the first segment received at predefined check bit positions. The respective positions of all the bits of the first segment in the code block are less reliable for the polar decoding than respective positions of all the bits of the second segment. The reliability is judged for the polar decoding performed by the decoding means 110.
The checking means 130 checks if the set of check bits are equal to one or more bits at respective predefined check bit positions (S130) . The one or more bits may be distributed along the information bits of the first segment.
Based on the result of the checking in S130, the deciding means 140 decides on handling of the bits of at least the second segment (S140) . For example, the handling of the second segment may comprise at least one of detection and decoding. The decision may be applied not only on the second segment but on the first segment, too.
Fig. 11 shows an apparatus according to an embodiment of the invention. The apparatus comprises at least one processor 410, at least one memory 420 including computer program code, and the at least one processor 410, with the at least one memory 420 and the computer program code, being arranged to cause the apparatus to at least perform at least one of the methods according to Figs. 8 and 10.
Some embodiments of the invention may be employed in 3GPP devices, e.g. in the encoding unit and/or decoding unit thereof. However, embodiments of the invention are not limited to 3GPP devices. They may be employed in any kind of devices where polar coding is employed.
Some embodiments of the invention are described with CRC bits as check bits. However, some embodiments may use another error detection code than CRC. For example, any systematic code such as check sum, parity check, CRC check, zigzag code etc. may be used.
One piece of information may be transmitted in one or plural messages from one entity to another entity. Each of these messages may comprise further (different) pieces of information.
Names of network elements, protocols, and methods are based on current standards. In other versions or other technologies, the names of these network elements and/or protocols and/or methods may be different, as long as they provide a corresponding functionality.
The format of the messages and information elements is not limited the those shown in some of the figures. These formats are to be seen as examples only.
If not otherwise stated or otherwise made clear from the context, the statement that two entities are different means that they perform different functions. It does not necessarily mean that they are based on different hardware. That is, each of the entities described in the present description may be based on a different hardware, or some or all of the entities may be based on the same hardware. It does not necessarily mean that they are based on different software. That is, each of the entities described in the present description may be based on different software, or some or all of the entities may be based on the same software. Each of the entities described in the present description may be embodied in the cloud.
According to the above description, it should thus be apparent that example embodiments of the present invention provide, for example, a base station such as a eNodeB, or a component such as a TX path or an encoding unit or a RX path or a decoding unit thereof, or a terminal such as a User Equipment or a MTC device, or a component such as a TX path or an encoding unit or a RX path or a decoding unit thereof, an apparatus embodying  the same, a method for controlling and/or operating the same, and computer program (s) controlling and/or operating the same as well as mediums carrying such computer program (s) and forming computer program product (s) .
Implementations of any of the above described blocks, apparatuses, systems, techniques or methods include, as non-limiting examples, implementations as hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
It is to be understood that what is described above is what is presently considered the preferred embodiments of the present invention. However, it should be noted that the description of the preferred embodiments is given by way of example only and that various modifications may be made without departing from the scope of the invention as defined by the appended claims.

Claims (40)

  1. Apparatus, comprising
    first generating means configured to generate a first set of one or more check bits based on one or more information bits of a first segment of an information block of K information bits;
    constructing means configured to construct a code block comprising the K information bits of the information block and the first set of check bits;
    encoding means configured to perform polar encoding of the code block, wherein
    the first generating means is configured to generate the first set of check bits without taking into account any of the one or more information bits of a second segment of the information block;
    each of the information bits of the first segment is different from each of the information bits of the second segment;
    the constructing means is configured to distribute each of the information bits of the first segment in the code block on less reliable bit positions for the polar encoding than each of the information bits of the second segment.
  2. The apparatus according to claim 1, wherein
    the constructing means is adapted to distribute at least one of the check bits of the first set of check bits along the information bits of the first segment if a reliability of the bit positions of the code block for the encoding increases monotonically from a first bit position to a last bit position of the code block.
  3. The apparatus according to any of claims 1 to 2, further comprising
    second generating means configured to generate a second set of one or more check bits based on at least a subset of the information bits of the second segment; wherein
    the constructing means is configured to construct the code block such that it comprises the K information bits, the first set of check bits, and the second set of check bits.
  4. The apparatus according to claim 3, wherein
    the constructing means is configured to distribute the information bits of the first segment and the first set of check bits on less reliable bit positions for the polar encoding than the second set of check bits.
  5. The apparatus according to any of claims 3 and 4, wherein
    the second generating means is configured to generate the second set of check bits based on at least the subset of the information bits of the second segment and at least one of the information bits of the first segment.
  6. The apparatus according to any of claims 3 to 5, wherein
    the second generating means is configured to generate the second set of check bits based on at least the subset of the information bits of the second segment and at least one of the check bits of the first set of check bits.
  7. The apparatus according to any of claims 3 to 6, wherein
    the second segment comprises plural sub-segments; and
    the second generating means is configured to generate a respective subset of the second set of check bits based on the information bits of one of the sub-segments without taking into account the information bits of the others of the sub-segments.
  8. The apparatus according to any of claims 1 to 7, wherein
    the constructing means is configured to distribute each of the check bits of the first set in the code block on less reliable bit positions for the polar encoding than each of the information bits of the second segment.
  9. The apparatus according to any of claims 1 to 8, wherein
    the first generating means is configured to generate the check bits of the first set by at least one of a cyclic redundancy check, a parity check, and a hash sequence.
  10. Apparatus, comprising
    decoding means configured to perform a polar decoding of a first segment comprising bits of a received encoded code block,
    first calculating means adapted to calculate a first set of one or more check bits based on a predefined subset of the bits of the first segment without taking into account any bits of a second segment of the received encoded code block;
    first checking means configured to check if the first set of check bits are equal to one or more bits at respective predefined first check bit positions;
    deciding means configured to decide on handling of the bits of at least the second segment based on the result of the checking, wherein
    each of the bits of the second segment is different from each of the bits of the firstsegment;
    respective positions of all the bits of the first segment in the code block are less reliable for the polar decoding than respective positions of all the bits of the second segment.
  11. The apparatus according to claim 10, wherein
    the check bits of the first set of check bits are distributed along the bits of the subset of the first segment if a reliability of the bit positions of the code block for the polar decoding increases monotonically from a first bit position to a last bit position of the code block.
  12. The apparatus according to any of claims 10 to 11, further comprising
    second calculating means configured to calculate a second set of one or more check bits based on a predefined subset of the bits of the second segment;
    second checking means configured to check if the second set of check bits is equal to one or more bits of the second segment at respective predefined second check bit positions.
  13. The apparatus according to claim 12, wherein
    respective positions of all the bits of the first segment in the code block are less reliable for the polar decoding than the predefined second check bit positions.
  14. The apparatus according to any of claims 12 and 13, wherein
    the second calculating means is configured to calculate the second set of check bits based on the predefined subset of the second segment and at least one predefined bit of the first segment.
  15. The apparatus according to claim 14, wherein
    at least one of the at least one predefined bits of the first segment is at a respective one of the first check bit positions.
  16. The apparatus according to any of claims 12 to 15, wherein
    the second segment comprises plural sub-segments;
    the second calculating means is configured to calculate a respective subset of the second set of check bits based on the bits of one of the sub-segments without taking into account the bits of the others of the sub-segments.
  17. The apparatus according to any of claims 10 to 16, wherein
    the first check bit positions are distributed along the bits of the first segment.
  18. The apparatus according to any of claims 10 to 17, wherein
    the first calculating means is configured to calculate the first set of one or more check bits by at least one of a cyclic redundancy check, a parity check, and a hash sequence.
  19. The apparatus according to any of claims 10 to 18, wherein the handling of the second segment comprises at least one of detection and decoding.
  20. Method, comprising
    generating a first set of one or more check bits based on one or more information bits of a first segment of an information block of K information bits;
    constructing a code block comprising the K information bits of the information block and the first set of check bits;
    performing polar encoding of the code block, wherein
    the first set of check bits are generated without taking into account any of the one or more information bits of a second segment of the information block;
    each of the information bits of the first segment is different from each of the information bits of the second segment;
    each of the information bits of the first segment is distributed in the code block on less reliable bit positions for the polar encoding than each of the information bits of the second segment.
  21. The method according to claim 20, wherein
    at least one of the check bits of the first set of check bits is distributed along the information bits of the first segment if a reliability of the bit positions of the code block for the encoding increases monotonically from a first bit position to a last bit position of the code block.
  22. The method according to any of claims 20 to 21, further comprising
    generating a second set of one or more check bits based on at least a subset of the information bits of the second segment; wherein
    the code block is constructed such that it comprises the K information bits, the first set of check bits, and the second set of check bits.
  23. The method according to claim 22, wherein
    the information bits of the first segment and the first set of check bits are distributed on less reliable bit positions for the polar encoding than the second set of check bits.
  24. The method according to any of claims 22 and 23, wherein
    the second set of check bits is generated based on at least the subset of the information bits of the second segment and at least one of the information bits of the first segment.
  25. The method according to any of claims 22 to 24, wherein
    the second set of check bits is generated based on at least the subset of the information bits of the second segment and at least one of the check bits of the first set of check bits.
  26. The method according to any of claims 22 to 25, wherein
    the second segment comprises plural sub-segments; and
    a respective subset of the second set of check bits is generated based on the information bits of one of the sub-segments without taking into account the information bits of the others of the sub-segments.
  27. The method according to any of claims 20 to 26, wherein
    each of the check bits of the first set is distributed in the code block on less reliable bit positions for the polar encoding than each of the information bits of the second segment.
  28. The method according to any of claims 20 to 27, wherein
    the check bits of the first set are generated by at least one of a cyclic redundancy check, a parity check, and a hash sequence.
  29. Method, comprising
    performing a polar decoding of a first segment comprising bits of a received encoded code block,
    calculating a first set of one or more check bits based on a predefined subset of the bits of the first segment without taking into account any bits of a second segment of the received encoded code block;
    checking if the first set of check bits are equal to one or more bits at respective predefined first check bit positions;
    deciding on handling of the bits of at least the second segment based on the result of the checking, wherein
    each of the bits of the second segment is different from each of the bits of the first segment;
    respective positions of all the bits of the first segment in the code block are less reliable for the polar decoding than respective positions of all the bits of the second segment.
  30. The method according to claim 29, wherein
    the check bits of the first set of check bits are distributed along the bits of the subset of the first segment if a reliability of the bit positions of the code block for the polar decoding increases monotonically from a first bit position to a last bit position of the code block.
  31. The method according to any of claims 29 to 30, further comprising
    calculating a second set of one or more check bits based on a predefined subset of the bits of the second segment;
    checking if the second set of check bits is equal to one or more bits of the second segment at respective predefined second check bit positions.
  32. The method according to claim 31, wherein
    respective positions of all the bits of the first segment in the code block are less reliable for the polar decoding than the predefined second check bit positions.
  33. The method according to any of claims 31 and 32, wherein
    the second set of check bits are calculated based on the predefined subset of the second segment and at least one predefined bit of the first segment.
  34. The method according to claim 33, wherein
    at least one of the at least one predefined bits of the first segment is at a respective one of the first check bit positions.
  35. The method according to any of claims 31 to 34, wherein
    the second segment comprises plural sub-segments;
    a respective subset of the second set of check bits is calculated based on the bits of one of the sub-segments without taking into account the bits of the others of the sub-segments.
  36. The method according to any of claims 29 to 35, wherein
    the first check bit positions are distributed along the bits of the first segment.
  37. The method according to any of claims 29 to 36, wherein
    the first set of one or more check bits are calculated by at least one of a cyclic redundancy check, a parity check, and a hash sequence.
  38. The method according to any of claims 29 to 37, wherein the handling of the second segment comprises at least one of detection and decoding.
  39. A computer program product comprising a set of instructions which, when executed on an apparatus, is configured to cause the apparatus to carry out the method according to any of claims 20 to 38.
  40. The computer program product according to claim 39, embodied as a computer-readable medium or directly loadable into a computer.
PCT/CN2017/083101 2017-05-04 2017-05-04 Coding apparatus for polar codes WO2018201409A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2017/083101 WO2018201409A1 (en) 2017-05-04 2017-05-04 Coding apparatus for polar codes
CN201780090381.9A CN110582955B (en) 2017-05-04 2017-05-04 Coding device for polarization code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/083101 WO2018201409A1 (en) 2017-05-04 2017-05-04 Coding apparatus for polar codes

Publications (1)

Publication Number Publication Date
WO2018201409A1 true WO2018201409A1 (en) 2018-11-08

Family

ID=64016874

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/083101 WO2018201409A1 (en) 2017-05-04 2017-05-04 Coding apparatus for polar codes

Country Status (2)

Country Link
CN (1) CN110582955B (en)
WO (1) WO2018201409A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180198555A1 (en) * 2017-01-09 2018-07-12 Mediatek Inc. Broadcast Channel Enhancement with Polar Code
EP3516808A4 (en) * 2016-09-30 2019-10-09 Huawei Technologies Co., Ltd. Method and device for parallel polar code encoding/decoding
US10491326B2 (en) 2016-09-15 2019-11-26 Huawei Technologies Co., Ltd. Method and apparatus for encoding data using a polar code

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140173376A1 (en) * 2012-12-14 2014-06-19 Sungkyunkwan University Research & Business Foundation Encoding method and apparatus using crc code and polar code
CN106452460A (en) * 2016-09-21 2017-02-22 华中科技大学 Polar code-repeat code cascade error correction coding method
WO2017054164A1 (en) * 2015-09-30 2017-04-06 华为技术有限公司 Polar code encoding and decoding method, and device for same

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1500198A2 (en) * 2002-04-18 2005-01-26 Koninklijke Philips Electronics N.V. Signal, storage medium, method and device for encoding, method and device for decoding
US9043667B2 (en) * 2011-11-04 2015-05-26 Blackberry Limited Method and system for up-link HARQ-ACK and CSI transmission
CN103516476B (en) * 2012-06-29 2016-12-21 华为技术有限公司 Coded method and equipment
CN108650057B (en) * 2012-10-17 2023-10-13 华为技术有限公司 Coding and decoding method, device and system
CN105227189B (en) * 2015-09-24 2019-01-01 电子科技大学 It is segmented the polarization code coding/decoding method of CRC auxiliary
CN105337696B (en) * 2015-10-08 2018-03-30 东南大学 Polarization coding/decoding method based on segmentation CRC check
CN105933010B (en) * 2016-04-15 2019-05-14 华南理工大学 A kind of low complex degree polarization code decoding SCL method based on segmentation verification auxiliary
CN106230555B (en) * 2016-07-29 2019-02-19 西安电子科技大学 The stages cycle redundancy check method of polarization code

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140173376A1 (en) * 2012-12-14 2014-06-19 Sungkyunkwan University Research & Business Foundation Encoding method and apparatus using crc code and polar code
WO2017054164A1 (en) * 2015-09-30 2017-04-06 华为技术有限公司 Polar code encoding and decoding method, and device for same
CN106452460A (en) * 2016-09-21 2017-02-22 华中科技大学 Polar code-repeat code cascade error correction coding method

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10491326B2 (en) 2016-09-15 2019-11-26 Huawei Technologies Co., Ltd. Method and apparatus for encoding data using a polar code
US10637607B2 (en) 2016-09-15 2020-04-28 Huawei Technologies Co., Ltd. Method and apparatus for encoding data using a polar code
US10644829B2 (en) 2016-09-15 2020-05-05 Huawei Technologies Co., Ltd. Method and apparatus for encoding data using a polar code
US10700808B2 (en) 2016-09-15 2020-06-30 Huawei Technologies Co., Ltd. Method and apparatus for encoding data using a polar code
US11374682B2 (en) 2016-09-15 2022-06-28 Huawei Technologies Co., Ltd. Method and apparatus for encoding data using a polar code
US11509414B2 (en) 2016-09-15 2022-11-22 Huawei Technologies, Co., Ltd. Method and apparatus for encoding data using a polar code
US11923973B2 (en) 2016-09-15 2024-03-05 Huawei Technologies Co., Ltd. Method and apparatus for encoding data using a polar code
EP3516808A4 (en) * 2016-09-30 2019-10-09 Huawei Technologies Co., Ltd. Method and device for parallel polar code encoding/decoding
US10484130B2 (en) 2016-09-30 2019-11-19 Huawei Technologies Co., Ltd. Method and device for parallel polar code encoding/decoding
US20180198555A1 (en) * 2017-01-09 2018-07-12 Mediatek Inc. Broadcast Channel Enhancement with Polar Code
US10498481B2 (en) * 2017-01-09 2019-12-03 Mediatek Inc. Broadcast channel enhancement with polar code

Also Published As

Publication number Publication date
CN110582955B (en) 2022-07-19
CN110582955A (en) 2019-12-17

Similar Documents

Publication Publication Date Title
US10644836B2 (en) Enhanced polar code constructions by strategic placement of CRC bits
EP3584972B1 (en) Polar code encoding method and apparatus
EP3550749B1 (en) Information processing method, device and communication system
CN109075799B (en) Coding and decoding method and device for Polar codes
CN110289933B (en) Communication method, communication device and system
WO2018049951A1 (en) Information transmission method, sending end device and receiving end device
EP3457586B1 (en) Method and apparatus for conveying antenna configuration information via masking
WO2018137518A1 (en) Data transmission method and apparatus
US10498496B2 (en) Retransmission technique
WO2019024594A1 (en) Methods, apparatuses and devices for coding and decoding polarization code
WO2018201409A1 (en) Coding apparatus for polar codes
WO2018127139A1 (en) Control information transmission method and apparatus
CN107888331A (en) Data transmission method for uplink, device and information source
KR20210006807A (en) Apparatus and method to transmit and receive signal in communication system
JP2021503784A (en) Methods and Devices, Storage Media and Processors for Encrypting Channel State Information
WO2018098691A1 (en) Control channel generation method, control channel detection method, and related apparatus
US20180212630A1 (en) Encoder device, decoder device, and methods thereof
US20190268106A1 (en) Encoding system for incremental redundancy for hybrid arq for wireless networks
CN108322285B (en) Data sending method, receiving method and device
US20200186170A1 (en) Distributed CRC-Assisted Polar Code Construction
WO2018184493A1 (en) Data encoding and decoding method and device
CN111052614B (en) Message processing and corresponding device
CN109997384B (en) Receiver identification for fifth generation communications
WO2018201377A1 (en) A unified error correction and error detection code generator

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: 17908553

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: 17908553

Country of ref document: EP

Kind code of ref document: A1