SCIENCE CHINA Information Sciences, Volume 62 , Issue 8 : 080303(2019) https://doi.org/10.1007/s11432-019-9905-7

Partial CRC-aided decoding of 5G-NR short codes using reliability information

More info
  • ReceivedMar 5, 2019
  • AcceptedMay 23, 2019
  • PublishedJul 11, 2019



This work was supported in part by National Natural Science Foundation of China (Grant No. 61771133) and in part by National Science Technology Projects of China (Grant No. 2018ZX03001002).


[1] 3GPP. TS 38.212 multiplexing and channel coding. V15.4.0. https://www.3gpp.org/ftp/Specs/archive/38 series/38.212/. Google Scholar

[2] Van Wonterghem J, Alloum A, Boutros J J. On short-length error-correcting codes for 5G-NR. Ad Hoc Networks, 2018, 79: 53-62 CrossRef Google Scholar

[3] Prayogo G K, Putra R, Prasetyo A H, et al. Evaluation of LDPC Code and Polar Code Coding Scheme in 5G Technology Massive Machine Type Communication. In: Proceedings of the 10th International Conference on Information Technology and Electrical Engineering (ICITEE), 2018. 170--174. Google Scholar

[4] Xu Q Y, Pan Z W, Liu N. A low-latency list decoder for polar codes. Sci China Inf Sci, 2018, 61: 102302 CrossRef Google Scholar

[5] Wei L. Several Properties of Short LDPC Codes. IEEE Trans Commun, 2004, 52: 721-727 CrossRef Google Scholar

[6] Tal I, Vardy A. List decoding of polar codes. In: Proceedings of IEEE International Symposium on Information Theory Proceedings, 2011. 1--5. Google Scholar

[7] Yu Y, Pan Z W, Tan X. A latency-reduced successive cancellation list decoder for polar codes. Sci China Inf Sci, 2019, 62: 29302 CrossRef Google Scholar

[8] Fossorier M P C. Iterative reliability-based decoding of low-density parity check codes. IEEE J Sel Areas Commun, 2001, 19: 908-917 CrossRef Google Scholar

[9] Wu D, Li Y, Guo X. Ordered Statistic Decoding for Short Polar Codes. IEEE Commun Lett, 2016, 20: 1064-1067 CrossRef Google Scholar

[10] Jiang M, Zhao C M, Xu E Y. Reliability-Based Iterative Decoding of LDPC Codes Using Likelihood Accumulation. IEEE Commun Lett, 2007, 11: 677-679 CrossRef Google Scholar

[11] Zhu L, Jiang M, Wu C. An improved decoding of tail-biting convolutional codes for LTE systems. In: Proceedings of International Conference on Wireless Communications & Signal Processing, 2013. 1--4. Google Scholar

[12] Prevost R, Coulon M, Bonacci D, et al. Partial CRC-assisted error correction of AIS signals received by satellite. In: Proceedings of IEEE International Conference on Acoustics, Speech and Signal Processing, 2014. 1951--1955. Google Scholar

[13] Piao J, Dai J, Niu K. CRC-Aided Sphere Decoding for Short Polar Codes. IEEE Commun Lett, 2019, 23: 210-213 CrossRef Google Scholar

[14] Yu Y R, Pan Z W, Liu N. Sphere decoder for polar codes concatenated with cyclic redundancy check. Sci China Inf Sci, 2019, 62: 82303 CrossRef Google Scholar

[15] Arikan E. Systematic Polar Coding. IEEE Commun Lett, 2011, 15: 860-862 CrossRef Google Scholar

[16] Wolf J K, Michelson A M, Levesque A H. On the Probability of Undetected Error for Linear Block Codes. IEEE Trans Commun, 1982, 30: 317-325 CrossRef Google Scholar

[17] Pyndiah R M. Near-optimum decoding of product codes: block turbo codes. IEEE Trans Commun, 2002, 46: 1003-1010. Google Scholar

[18] Sybis M, Wesolowski K, Jayasinghe K, et al. Channel Coding for Ultra-Reliable Low-Latency Communication in 5G Systems. In: Proceedings of 2016 IEEE 84th Vehicular Technology Conference (VTC-Fall), 2016. 1--5. Google Scholar

  • Figure 1

    (Color online) The systematic structure of CRC-LDPC/polar codes. (a) CRC-LDPC codes; (b) CRC-polar codes.

  • Table 1   Complexity comparison of different algorithms for polar codes
    AlgorithmEquivalent addition numbers
    CASCL $\zeta_{s}=~L\cdot~N\cdot~\log_{2}{N}~+~K\cdot~L\cdot~\log_{2}{2L}~$
    Proposed $\zeta_{p}=\zeta_{s}+R_{f}\cdot~\zeta_{o}~$

    Algorithm 1 OSD algorithm with partial CRC aided

    Require:reliability information $~{\boldsymbol{R}}~$, input data of receiver $~{\boldsymbol{Y}}~$, union generator matrix $~{{\hat{\boldsymbol~G}}}_{I}~$;

    Output: optimal codeword ${\boldsymbol{C}}_{\rm~op}$, CRC decision;

    Sort the absolute value of $~{\boldsymbol{R}}~$ in descending order, get $~\pi_{1}({\boldsymbol{R}})~$;

    Swap the corresponding column of $~{{\hat{\boldsymbol~G}}}_{I}~$, get $\pi_{1}({{\hat{\boldsymbol~G}}}_{I})$;

    Do Gaussian elimination (GE) on $\pi_{1}({{\hat{\boldsymbol~G}}}_{I})$, make additional column swaps $\pi_{2}$ when there is all-zero column, get systematic matrix ${{\tilde{\boldsymbol~G}}}_{I}={\rm{GE}}(\pi_{2}(\pi_{1}({{\hat{\boldsymbol~G}}}_{I})))$;

    Do hard decision on $~{\boldsymbol{R}}~$, get codeword ${\boldsymbol{C}}$;

    Make corresponding two swaps on ${\boldsymbol{C}}$, get $\tilde{\boldsymbol{C}}=\pi_{2}(\pi_{1}(\boldsymbol{C}))$;

    Do order-$i$ flipping on the basis of $\tilde{\boldsymbol{C}}$, get a code set ${\mathcal{C}_{f}}=\{{\boldsymbol{C}}_{f,j},~j=1,2,\ldots,\binom{\hat{A}}{i}\}$;

    for $j=1,2,\ldots,\binom{\hat{A}}{i}$


    Calculate Euclidean distance between $~{\boldsymbol{Y}}_{f,j}~$ and $~{\boldsymbol{Y}}~$;

    end for

    Find $~{\boldsymbol{Y}}_{f,j}~$ with minimum Euclidean distance and the corresponding codeword $~{\boldsymbol{C}}_{f,j}~=~{\tilde{\boldsymbol{C}}}_{\rm~op}~$;

    Recover the codeword in original sequence ${\boldsymbol{C}}_{\rm~op}=\pi_{1}^{-1}(\pi_{2}^{-1}({\tilde{\boldsymbol{C}}}_{\rm~op}))~$;

    Do CRC testing on ${\boldsymbol{C}}_{\rm~op}$ and make a final decision if ${\boldsymbol{C}}_{\rm~op}$ is a correct codeword.