WO2018201409A1 - Coding apparatus for polar codes - Google Patents
Coding apparatus for polar codes Download PDFInfo
- 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
Links
- 241000169170 Boreogadus saida Species 0.000 title description 20
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000001514 detection method Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 10
- 101150060512 SPATA6 gene Proteins 0.000 claims description 9
- 125000004122 cyclic group Chemical group 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 230000010287 polarization Effects 0.000 description 4
- 238000013138 pruning Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 102100040255 Tubulin-specific chaperone C Human genes 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 108010093459 tubulin-specific chaperone C Proteins 0.000 description 2
- 101150069124 RAN1 gene Proteins 0.000 description 1
- 101100355633 Salmo salar ran gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/033—Theoretical methods to calculate these checking codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
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
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
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.
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
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
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)
- Apparatus, comprisingfirst 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, whereinthe 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 apparatus according to claim 1, whereinthe 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.
- The apparatus according to any of claims 1 to 2, further comprisingsecond 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; whereinthe 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.
- The apparatus according to claim 3, whereinthe 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.
- The apparatus according to any of claims 3 and 4, whereinthe 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.
- The apparatus according to any of claims 3 to 5, whereinthe 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.
- The apparatus according to any of claims 3 to 6, whereinthe second segment comprises plural sub-segments; andthe 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.
- The apparatus according to any of claims 1 to 7, whereinthe 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.
- The apparatus according to any of claims 1 to 8, whereinthe 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.
- Apparatus, comprisingdecoding 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, whereineach 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.
- The apparatus according to claim 10, whereinthe 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.
- The apparatus according to any of claims 10 to 11, further comprisingsecond 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.
- The apparatus according to claim 12, whereinrespective 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.
- The apparatus according to any of claims 12 and 13, whereinthe 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.
- The apparatus according to claim 14, whereinat least one of the at least one predefined bits of the first segment is at a respective one of the first check bit positions.
- The apparatus according to any of claims 12 to 15, whereinthe 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.
- The apparatus according to any of claims 10 to 16, whereinthe first check bit positions are distributed along the bits of the first segment.
- The apparatus according to any of claims 10 to 17, whereinthe 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.
- 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.
- Method, comprisinggenerating 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, whereinthe 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.
- The method according to claim 20, whereinat 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.
- The method according to any of claims 20 to 21, further comprisinggenerating a second set of one or more check bits based on at least a subset of the information bits of the second segment; whereinthe 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.
- The method according to claim 22, whereinthe 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.
- The method according to any of claims 22 and 23, whereinthe 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.
- The method according to any of claims 22 to 24, whereinthe 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.
- The method according to any of claims 22 to 25, whereinthe second segment comprises plural sub-segments; anda 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.
- The method according to any of claims 20 to 26, whereineach 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.
- The method according to any of claims 20 to 27, whereinthe check bits of the first set are generated by at least one of a cyclic redundancy check, a parity check, and a hash sequence.
- Method, comprisingperforming 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, whereineach 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 method according to claim 29, whereinthe 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.
- The method according to any of claims 29 to 30, further comprisingcalculating 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.
- The method according to claim 31, whereinrespective 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.
- The method according to any of claims 31 and 32, whereinthe 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.
- The method according to claim 33, whereinat least one of the at least one predefined bits of the first segment is at a respective one of the first check bit positions.
- The method according to any of claims 31 to 34, whereinthe 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.
- The method according to any of claims 29 to 35, whereinthe first check bit positions are distributed along the bits of the first segment.
- The method according to any of claims 29 to 36, whereinthe 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.
- 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.
- 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.
- The computer program product according to claim 39, embodied as a computer-readable medium or directly loadable into a computer.
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)
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)
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)
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 |
-
2017
- 2017-05-04 CN CN201780090381.9A patent/CN110582955B/en active Active
- 2017-05-04 WO PCT/CN2017/083101 patent/WO2018201409A1/en active Application Filing
Patent Citations (3)
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)
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 |