极化码简单原理

极化码简单原理

极化码简单原理

极化码(Polar Codes)是一种基于信道极化的编码技术,由土耳其教授Erdal Arikan在2007年首次提出。这种编码方式利用了信道极化的现象,即在给定的二进制输入对称离散无记忆信道下,通过递归的方式构造出两种类型的子信道:一种是无噪声的“好”信道,另一种是噪声非常大的“坏”信道。极化码通过对信息比特进行选择性传输,仅在那些“好”信道上发送有用信息,而在“坏”信道上发送固定值(通常是零),从而实现高效的通信。

一、信道极化

信道极化是极化码的核心概念。简单来说,就是将一个原始的物理信道分割成多个子信道,这些子信道在性能上呈现出两极分化的趋势:一部分子信道的容量趋于1(即无噪声),而另一部分子信道的容量趋于0(即完全噪声)。这种极化现象是通过递归地应用特定的变换矩阵来实现的。

二、编码过程

  1. 选择冻结位:首先,根据信道极化的结果,确定哪些子信道是“好”的,哪些是“坏”的。然后,将“坏”的子信道对应的比特位置标记为冻结位,这些位置上在编码时将始终填充固定的值(如0)。

  2. 生成器矩阵:极化码的生成器矩阵是基于Kronecker积(也称为张量积)构建的。这个矩阵用于将原始的信息比特映射到编码后的比特序列中。

  3. 信息比特与冻结比特的组合:将待传输的信息比特放置在选定的“好”子信道对应的位置上,而将冻结比特(通常为0)放置在其余位置上。然后,将这些比特按照生成器矩阵的规则进行线性组合,得到编码后的比特序列。

三、解码过程

极化码的解码通常使用成功概率较高的SC(Successive Cancellation,连续消除)算法或其改进版本,如SCL(Successive Cancellation List,连续消除列表)算法和SCA(Successive Cancellation with Aiding,辅助连续消除)算法等。

  1. SC算法:这是一种顺序解码方法,它逐个比特地进行判决。对于每个比特,解码器都会基于之前已经判决的比特以及接收到的信号来估计当前比特的值。这种方法简单易行,但在某些情况下可能性能不佳。

  2. SCL算法:为了改善SC算法的性能,SCL算法引入了列表的概念。它在解码过程中维护了一个包含多个候选路径的列表,并在每一步都保留最有可能的L个路径(L是一个预设的参数)。最后,从列表中选出最优的路径作为最终的解码结果。

  3. 其他改进算法:除了SC和SCL之外,还有许多其他的改进算法被提出来以提高极化码的解码性能和效率。

综上所述,极化码利用信道极化的特性实现了高效的数据传输。通过精心设计的编码和解码过程,极化码能够在保持较低复杂度的同时提供接近香农极限的性能表现。这使得极化码在现代通信系统中具有广泛的应用前景和价值。