Polar code (coding theory)

From HandWiki
Short description: Type of error correcting code

In information theory, a polar code is a linear block error-correcting code. The code construction is based on a multiple recursive concatenation of a short kernel code which transforms the physical channel into virtual outer channels. When the number of recursions becomes large, the virtual channels tend to either have high reliability or low reliability (in other words, they polarize or become sparse), and the data bits are allocated to the most reliable channels. It is the first code with an explicit construction to provably achieve the channel capacity for symmetric binary-input, discrete, memoryless channels (B-DMC) with polynomial dependence on the gap to capacity.[1] Notably, polar codes have modest encoding and decoding complexity O(n log n), which renders them attractive for many applications. Moreover, the encoding and decoding energy complexity of generalized polar codes can reach the fundamental lower bounds for energy consumption of two dimensional circuitry to within an O(nε polylog n) factor for any ε > 0.[2]

Industrial applications

Polar codes have some limitations when used in industrial applications. Primarily, the original design of the polar codes achieves capacity when block sizes are asymptotically large with a successive cancellation decoder. However, with the block sizes used in industry, the performance of the successive cancellation is poor compared to well-defined and implemented coding schemes such as low-density parity-check code (LDPC) and turbo code. Polar performance can be improved with successive cancellation list decoding, but its usability in real applications is still questionable due to very poor implementation efficiencies caused by the iterative approach.[3]

In October 2016, Huawei announced that it had achieved 27 Gbit/s in 5G field trial tests using polar codes for channel coding. The improvements have been introduced so that the channel performance has now almost closed the gap to the Shannon limit, which sets the bar for the maximum rate for a given bandwidth and a given noise level.[4]

In November 2016, 3GPP agreed to adopt polar codes for the eMBB (Enhanced Mobile Broadband) control channels for the 5G NR (New Radio) interface. At the same meeting, 3GPP agreed to use LDPC for the corresponding data channel.[5]

PAC code

In 2020, Arıkan introduced a novel polar coding method dubbed polarization-adjusted convolutional (PAC) codes. At short blocklengths, such codes outperform both convolutional codes and CRC-aided list decoding of conventional polar codes.[6][7]

References

  1. Arikan, E. (July 2009). "Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels". IEEE Transactions on Information Theory 55 (7): 3051–73. doi:10.1109/TIT.2009.2021379. 
  2. Blake, Christopher G. (2017). "Energy Consumption of Error Control Coding Circuits". https://tspace.library.utoronto.ca/bitstream/1807/78035/3/Blake_Christopher_G_201706_PhD_thesis.pdf. 
  3. Arikan, Erdal, et al. "Challenges and some new directions in channel coding." arXiv:1504.03916 (2015).
  4. "Huawei achieves 27Gbps 5G speeds with Polar Code". http://www.telecomasia.net/content/huawei-achieves-27gbps-5g-speeds-polar-code?section=TOP+STORIES&mkt_tok=eyJpIjoiTUdRMk5XWTBZVGhsWkdFNSIsInQiOiJcL2ppUWkzSWhzQURsWDR6QVNLRkhlTTBqM1U5NnNPVGtJcDRxSU9hZDFXTm5LdlNqRlwvS0pqVlZMeXYzSFRtOU1BaHIza2NWd3NnSXBqdkptQytDWXFqNWJudCtadnJkUXdZQXNSTGNUSGpvPSJ9. 
  5. "3GPP RAN1 meeting #87 final report". 3GPP. http://www.3gpp.org/ftp/tsg_ran/WG1_RL1/TSGR1_87/Report/Final_Minutes_report_RAN1%2387_v100.zip. Retrieved 31 August 2017. [|permanent dead link|dead link}}]
  6. Moradi, Mohsen, et al. "Performance and complexity of sequential decoding of PAC codes." arXiv:2012.04990 (2020).
  7. Yao, Hanwen; Fazeli, Arman; Vardy, Alexander (2021). "List Decoding of Arıkan's PAC Codes". Entropy 23 (7): 841. doi:10.3390/e23070841. PMID 34209050. Bibcode2021Entrp..23..841Y. 

External links