极化码小结(1)
一个暑假过去了,身心懈怠,知识荒疏,为了方便接下类的研究工作。这里对已经掌握的极化码知识做一个简单的小结。
Chapter1 极化码简介:
极化码建立在信道极化这一现象之上。
信道极化现象来自于信道合并与信道分裂这两种信道操作。
信道合并:
将N个独立信道W通过变换使之变为一个具有“集体意义”的信道WN,这里“集体意义”的产生来源于变换,而变换遵循固定的规则。
首先,变换是一个递归过程。对于N(N=2n)个独立信道W,想要将其变为一个具有“集体意义”的信道WN需要进行n次信道操作,每次信道操作都将N个信道变为N/2个小型的信道集合体,这样通过递归N-->N/2-->N/4-->……-->4-->2-->1就可以实现N个信道的合并。
每次信道操作又分为两个部分:
- 对信道输入向量的运算。譬如在B-DMC信道中,输入向量服从等概率分布,我们假设输入向量为。对它进行的操作为。
置换操作。对于上一步得到的向量,通过置换操作使其变为。
图解:
对于一个单独的信道W:X—>Y 来说,它的信道转移概率为W(Y|X)。对于具有“集合意义”的WN来说,它的转移概率为。上述两步变换操作可以用生成矩阵GN来代替,运算关系为 ,于是转移概率变为。这里的向量x跟上面说的v是一个道理, 就不用mathtype编辑公式了,直接截的图。
这里我们关注转移概率公式的一个细节。公式左边是WN,指代一个由N个独立信道合并得到的“信道集合体”。右边是WN,指代N个排列在一起但是相互独立的信道。公式左边我们很好理解,我们完全可以将这个集合体看作一个单独信道,(y1~yN)是它的输出,(u1~uN)是它的输入。但是我们如何理解公式右边呢?WN究竟是表征的是一种怎样的运算呢?是W的N次乘方吗?
答案是,WN代表的是乘积运算,表示N个信道的转移概率W相乘。但是它又不仅仅是相乘,当我们把WN拆开成N个因子相乘的形式来写的时候,我们必须考虑到生成矩阵在其中所起到的线性变换作用。以W2和W4为例我们来具体解释一下:
这是W2的展开式,我们看到,展开时u1和u2先是根据生成矩阵进行了线性变换,然后才相乘。W4同理:
可见,信道合并并未在物理层面上真正的将互不干涉的信道进行了合并,而是通过数学的方法使这些信道产生千丝万缕的联系,形成一个具有某种“集合意义”的信道集合体。因此,下面我们再进行信道分裂的时候也并不是像吃奥利奥一样把两个信道掰开,实际上这些信道一直都是有机的结合在一起,它们本身在集体中就保持着自身的完整属性,信道分裂只是提取出信道在“集体”中的个体特性。而正如我们将发现的那样,这个集体中的个体特性与之前的个体特性已经大为不同,这种不同的宏观表现就是就是信道极化现象。
信道分裂:
所谓信道分裂,其实就是在上述形成的集合体中观察单个信道的属性(主要观察转移概率)。
对于信道集合体中的单个信道来说,它的转移概率通过以下定义来求得:
这是一个定义式。从这个式子我们看到,由于原本独立的信道与其他信道有机的结合在了一起,当我们再次观察每个信道时,它们的转移概率将受到其他信道的影响。由于信道合并是一个递归过程,信道分裂作为信道合并的“逆过程”,不可避免的也是一个递归过程。
文献《极化码编码与译码算法研究》(作者:王继伟)中指出,对于上式计算分裂信道的转移概率,其算法复杂度随码长增加呈指数型增加。而将定义式写成如下的迭代式能够使算法具有线性复杂度:
这个公式是通过归纳法得到的。
如何理解上面的定义式?为什么要这么定义?
下面的递推公式的证明在Arikan的论文《Channel Polarization:……》第20页的附录(appendix / section-B)给出,如何理解这个递推公式?如何理解递推公式的推导过程?
上面这两个问题我无法回答,看官如果有同样的疑问或者有问题的答案请移步讨论区,发表您的见解。
从信道的合并与分裂的描述中我们可以隐约发现 ,信道合并与极化码的编码在形式上非常相似,而信道分裂与极化码的解码在形式上非常相似。
根据我们对信道合并与分裂的观察,在极化码的仿真体系中:为了完成极化码编码,工作的重点放在生成矩阵的构造;而信道分裂的特殊定义又指明了极化码的译码应该采用串行译码的方式。此外,信道极化现象展示了极化码的宏观特性 ,通过分析极化现象中的特定参数,我们可以确定极化码编码过程中的信息位选取方案。
信道极化:
信道极化是信道合并与信道分裂两种信道操作的结果。在上述两种操作下,原本相同的N个W信道产生了极化现象,其中一部分信道的信道容量趋近于1,另一部分信道的信道容量趋近于0。
这是一个非常特别的现象,因为我们可以利用这种极端的情况,通过在信道容量趋近于1的一部分信道传输有用信息,而在另一部分信道上传递无用信息(即信息量为0的信息),实现对香农限的逼近。
这里是我曾经编写的对信道极化现象进行仿真的matlab代码和结果图,有兴趣的读者可以看一下:
理论依据主要是这个公式:
当然不仅仅是这个公式,具体内容请移步论文《channel polarization……》的第【I-B-3) 】节。
因此,基于上面的阐述,我们说极化码建立在信道极化理论的基础上。
极化码的特点:
极化码的特点大家都耳熟能详了,归纳起来主要有两点:
- 可以到达香农限;
什么是香农限?如何到达香农限?到达香农限有什么意义?
香农第二定理(有噪信道编码定理)指出:当信道的信息传输率不超过信道容量时(R≤C),采用合适的信道编码方法可以实现任意低的传输差错。
香农第二定理通俗来说就是,在R不大于C的情况下,存在一种能够实现信息的绝对可靠传输的编码方案。而所谓香农限就是同时满足绝对可靠、R逼近C的理想情况。香农第二定理并没有告诉我们如何进行信道编码,但是它指导着我们去寻找更加符合这种理想状态的编码方案,从turbo码到LDPC码,越来越逼近这一理想,而极化码的出现,在理论上实现了这一理想。
这种理想的编码方案使我们能够在一个噪声信道中以理论上最小的差错率和最快的速度进行信息传输。
- 复杂度低;
根据Arikan的论文《channel polarization……》中的计算和描述,使用递推方法进行编码和译码的极化码的编码、译码复杂度均为O(NlogN)。这是一个线性复杂度,相对来说其复杂度比较低。复杂度的计算具体位置在论文的VII-C,VIII-A两节。笔者水平有限,无法理解并阐述清楚,感兴趣者请移步论文。
以上就是对极化码的简单介绍,与之前实践性非常强的仿真系列不同,这一章重在理论。
笔者水平有限,欢迎各位在评论区提出指导和意见。