Polarization and Polar Codes
Despite remarkable advances in the algebraic and iterative codes used in modern communication systems, finding codes that operate at rates close to capacity; have low computational complexity; and have provable reliability guarantees was an elusive goal until recently. Polar Codes have all of these desirable properties. The design philosophy of polar codes is fundamentally different from those of both algebraic codes and iterative codes. The technique underlying polar codes is `channel polarization': creating extremal channels those that are either noiseless or useless from mediocre ones. Polarization and Polar Codes: A Tutorial is the first in-depth tutorial on this exciting new technique that promises to offer major improvements in digital communications systems. The tutorial is clearly written and is accessible for all researchers and engineers who want to understand the fundamental concepts used in polar codes. A whole chapter is devoted to demonstrating how polar codes prove reliability using low-complexity. Generalizations of the theory are then discussed that show how discrete memoryless processes of arbitrary alphabet sizes, not just binary ones, can be polarized by recursive transforms; how stronger codes can be obtained by combining more than two random variables in each recursion of a polarizing construction; and how polar coding theorems can be used in multi-user settings.