信道编码——极化码Matlab编译码实现与性能分析及信道极化现象仿真

目录

第四篇博客感言

极化码编译码原理

Matlab源码和运行结果

源码

结果

第一部分

第二部分

待解决的问题


第四篇博客感言

“伟大的发现总是罕见的。”

——Erdal Arikan

极化码最早在2009年由土耳其教授Erdal Arikan在其论文《Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels》中提出,被证明达到了香农极限,在3GPP会议上被规定和LDPC码共同作为5G编码技术的标准,这或许是21世纪信息论最大的发展之一。此前逼近香农极限的两个编码分别是LDPC码和Turbo码,有关Turbo码已经在上一篇博客中做了介绍,点击这里查看

这篇大作的原文链接如下,值得拜读。

《Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels》icon-default.png?t=N7T8https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5075875

但是这篇论文比较理论,证明过程也较多。为了深入浅出地理解极化码原理,我参考了B站UP老奇好好奇的硬核科普视频。简单来说,极化码构造的核心是通过信道极化(channel polarization)处理,在编码侧采用方法使各个子信道呈现出不同的可靠性,当码长持续增加时,部分信道将趋向于容量近于1的完美信道(无误码),另一部分信道趋向于容量接近于0的纯噪声信道,选择在容量接近于1的信道上直接传输信息以逼近信道容量。在解码端,极化后的信道可用简单的逐次干扰抵消解码的方法,以较低的复杂度获得与最大似然解码相近的性能。

《【老奇】5G,华为,土耳其——我花了两个月,搞懂了5G背后的秘密》icon-default.png?t=N7T8https://www.bilibili.com/video/BV1fq4y1g7hq/?spm_id_from=333.337.search-card.all.click&vd_source=0bf420ec103e2655802c91ca57c19f0f


极化码编译码原理

Arikan教授研究的信道是binary-input discrete memoryless channel(B-DMC),即二进制离散无记忆信道,为了便于理解极化码的原理,我们考虑B-DMC的特殊情况BEC,即二进制删除信道,其信道模型如下图所示。发送端发送0或1,有p_{e}的概率被删除,即接收端什么也收不到,这里我们假定p_{e}为0.5。

可以证明其信道容量等于互信息的最大值,就等于信息正确接收的概率, 等于1 - p_{e},用公式表示为:

C=max(I(X;Y)))=1-p_{e}

那么如何才能使得信道容量C尽可能大呢?如下图所示,Arikan提出,将信息序列作为u2,u1为已知确定序列,将u1和u2异或作为x1输入一BEC信道W得到y1,u2直接作为x2输入同一BEC信道W得到y2,根据异或规则,我们有以下几个式子:

u1\bigoplus u2=x1

u2=x2

x1\bigoplus u2=u1

x1=y1

u2=x2=y2

则我们可以得到:

u1=y1\bigoplus y2

u2=u1\bigoplus x1=u1\bigoplus y1 

u2=y2 

这里假设u1未知,实际已知。

那么对于u1来说,显然我们可以第一个式子得到u1。那么有多大概率正确得到u1呢? 对于删除概率为p_{e}的二进制删除信道,正确还原u1的概率等于y1和y2均未被删除的概率,即为:

(1-p_{e})*(1-p_{e})=(1-p_{e})^{2}

我们假设u1经过了一个新的信道,定义为W^{-},那么 W^{-}这一二进制删除信道的删除概率为:

1-(1-p_{e})^{2}

代入p_{e}=0.5,则W^{-}的删除概率为0.75。

而对于u2来说,由于u1事先已知,则当且仅当y1与y2都被删除时无法正确还原u2。同样假设u2经过了一个新信道W^{+},那么其删除概率为:

(1-p_{e})^{2}

代入p_{e}=0.5,则W^{+}的删除概率为0.25。

可以看到,最开始的的一个信道W被分成了两个信道W^{-}W^{+},并且一个信道较好一个信道较差,这是牺牲了一个信道的性能而提升了另一个信道,这就是信道极化。那么不断增加被牺牲的信道数目,如下图所示,可以证明,信道W_{N}^{+}的删除概率最终会达到0,在N=8时,对于p_{e}=0.5删除概率已经达到0.0039。

Arikan教授证明了,当信道足够多时,使用这种方式传输信息,可以将信道分为完全没有噪声的好信道和完全丢失的差信道,前者传输成功率为1,后者为0,如下图所示,并且好信道容量占总信道容量的比例为p_{e},即香农极限。那么将有效信息全部通过好信道传输,差信道不传输(即好信道以速率1发送差信道以速率0发送),信息就能100%无差错传输,整个通信的信道容量就能达到香农极限。以上这个过程,就是极化码。


Matlab源码和运行结果

源码

https://withbreeze.lanzouv.com/icAdl22t2bre

密码:1ot5

结果

代码实现总共分为两个部分:

第一部分

detailed部分是对极化码的具体实现方法。

仿真结果如下图所示:

第二部分

channel_polarization部分仿真了信道极化现象,如下图所示:


待解决的问题

大部分仿真代码由组员从github上获取,极化码的具体编译码算法我还搞得不是很懂,继续学习中......


欢迎交流讨论。

  • 35
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值