一个暑假过去了,身心懈怠,知识荒疏,为了方便接下类的研究工做。这里对已经掌握的极化码知识作一个简单的小结。算法
Chapter1 极化码简介:app
极化码创建在信道极化这一现象之上。编码
信道极化现象来自于信道合并与信道分裂这两种信道操做。spa
信道合并:blog
将N个独立信道W经过变换使之变为一个具备“集体意义”的信道WN,这里“集体意义”的产生来源于变换,而变换遵循固定的规则。递归
首先,变换是一个递归过程。对于N(N=2n)个独立信道W,想要将其变为一个具备“集体意义”的信道WN须要进行n次信道操做,每次信道操做都将N个信道变为N/2个小型的信道集合体,这样经过递归N-->N/2-->N/4-->……-->4-->2-->1就能够实现N个信道的合并。数学
每次信道操做又分为两个部分:io
- 对信道输入向量的运算。譬如在B-DMC信道中,输入向量服从等几率分布,咱们假设输入向量为
。对它进行的操做为
。
置换操做。对于上一步获得的向量
,经过置换操做使其变为
。基础
图解:channel
对于一个单独的信道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两节。笔者水平有限,没法理解并阐述清楚,感兴趣者请移步论文。
以上就是对极化码的简单介绍,与以前实践性很是强的仿真系列不一样,这一章重在理论。
笔者水平有限,欢迎各位在评论区提出指导和意见。