# Polar code (coding theory)

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), and the data bits are allocated to the most reliable channels. Polar codes were described by Erdal Arıkan in 2009.[1] There is work suggesting this is equivalent to an earlier optimised code for bitwise multistage decoding,[2] a code originally described by Norbert Stolte.[3][4] 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. Notably, polar codes have modest encoding and decoding complexity ${\displaystyle 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 ${\displaystyle O(n^{\epsilon }polylog(n))}$ factor for any ${\displaystyle \epsilon >0}$.[5]

## Simulating Polar Codes

One can implement a simulation environment of polar codes in any programming language such as MATLAB, C++ etc.

It typically involves modelling an encoder, a decoder, a channel (such as AWGN, BSC, BEC), and a code-construction module.

An example MATLAB implementation is available,[6] including a series of introductory video tutorials.

The equivalence between Stolte's and Arikan's methods for construction and decoding of Polar codes has been verified by simulations.[2]

## Industrial Applications

There are many aspects that polar codes should investigate further before considering for industry applications. Especially, the original design of the polar codes achieves capacity when block sizes are asymptotically large with successive cancellation decoder. However, in block sizes that industry applications are operating, the performance of the successive cancellation is poor compared to the well-defined and implemented coding schemes such as LDPC and Turbo. Polar performance can be improved with successive cancellation list decoding, but, their usability in real applications still questionable due to very poor implementation efficiencies.[7]

In October 2016 Huawei announced that it had achieved 27Gbps in 5G field trial tests using the 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.[8]

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.[9]

• Category:Capacity-achieving codes
• Category:Capacity-approaching codes

## 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. arXiv:0807.3917. doi:10.1109/TIT.2009.2021379.
2. El-Khamy, M.; et al. (June 2016). "Binary polar codes are optimised codes for bitwise multistage decoding". Electronics Letters. 52 (13): 1130–1132. arXiv:1604.03612. doi:10.1049/el.2016.0837.
3. Stolte, N. (January 2002). "Chapter 6.1: Optimierte Konstruktion für bitwise Mehrstufendecodierung". Rekursive Codes mit der Plotkin-Konstruktion und ihre Decodierung (Ph.D. dissertation, Technische Universität Darmstadt).
4. "Recursive Codes with the Plotkin-Construction and Their Decoding". English translation of Ph.D. dissertation, Technische Universität Darmstadt. doi:10.13140/RG.2.1.1036.6803. Retrieved 12 June 2018.
5. Blake, Christopher G. (2017). "Energy Consumption of Error Control Coding Circuits" (PDF). University of Toronto. Retrieved 2019-10-18.
6. "www.polarcodes.com". Resources on Polar Codes.
7. Arikan, Erdal, et al. "Challenges and some new directions in channel coding." arXiv:1504.03916 (2015).
8. "Huawei achieves 27Gbps 5G speeds with Polar Code". Retrieved 2016-10-10.
9. "3GPP RAN1 meeting #87 final report". 3GPP. Retrieved 31 August 2017.