什么是polar code极化码

  为了实现可靠的信号传输,编码学家在过去的半个多世纪提出多种纠错码技术如里所码(RS码)、卷积码,Turbo码等,并在各种通信系统中取得了广泛的应用。但是以往所有实用的编码方法都未能到香农于1948年所给出的信道传输的容量极限(也称为香农界)。2008年在国际信息论ISIT会议上,Arikan首次提出了信道极化的概念,基于该理论,他给出了人类已知的第一种能够被严格证明达到信道容量的信道编码方法,并命名为极化码(Polar Code)。Polar码具有明确而简单的编码及译码算法。通过信道编码学者的不断努力,当前Polar码所能达到的纠错性能超过目前广泛使用的Turbo码、LDPC码。

  极化码(polar code)是由土耳其毕尔肯大学(bilkent)Erdal Arikan教授于2008年首次提出,其论文从理论上第一次严格证明了在二进制输入对称离散无记忆信道下,极化码可以“达到”香农容量,并且有着低的编码和译码复杂度。从某种意义上说,极化码“理论上”解决了近60年来信息论和编码领域一直想要解决的问题。

  虽然极化码的理论很优美,但其实际性能从其刚出现时还不太理想(“理论上”是指当码长趋向于无穷时的性能;“实际”是指有限长度码长)。但近年来,极化码实际构造方法和列表连续消去译码算法(list successive cancellaTIon decoding)等技术的提出,极化码的整体性能在某些应用场景中取得了和当前最先进的信道编码技术Turbo码和低密度奇偶校验码(LDPC码)相同或更优的性能。

  在这里我们再谈谈arikan教授发明极化码时所提到的2*2矩阵为核的极化码的三大要点:(以下三点,或者是极化码在信道编码中最核心的创新。)

  1.上鞅收敛:构造了一个信道变换,如果不断递归这个变换并随机挑选变换结果的话,则变换结果的巴氏参数(Bhattacharya parameter)构成一个随机过程。arikan证明这个随机过程是一个上鞅,再利用上鞅中的随机变量序列a.s收敛和按期望收敛,证明收敛结果为一个二值随机变量。再证明这个二值随机变量为0的概率是二元离散对称无记忆信道容量I, 推断证明码长n无穷的时候可以挑出约nI个巴氏参数逼近0的无失真子信道,这就证明了信道极化是信道容量可达的。FoundaTIon and trends里面polar章节,有另外一种证明方法,初等一些。

  2.SC译码:有了好码还需要有好的译码算法。香农和Gallager都已经证明,大部分码都是好码,只缺好的,多项式复杂度的译码算法。arikan使用信道变换中的递归结构,先译“坏”信道的结果,甚至冻结“坏”信道的译码结果为0(降低码率),然后作为“好”信道译码的依据。复杂度是超线性的,非常Nice.

PolarCode的更多相关文章

  1. 小小知识点(二十六)关于5G发展的28个核心问题,来自华为内部的深度解读

    本文来自微信公众号“腾讯深网”(ID:qqshenwang),作者 马关夏.36氪经授权转载. 一.5G先进性与行业应用 1.5G到底是什么?和4G比有什么不一样? 从国际电信联盟(ITU)的定义来看 ...

  2. 5G时代,会有什么奇葩事儿?

    ​ 在3GPP RAN第187次会议关于5G短码方案的讨论中,中国华为推荐的PolarCode方案获得认可,成为5G控制信道eMBB场景编码的最终解决方案.坦白讲,笔者在读这个新闻的时候,手里备着一本 ...

随机推荐

  1. Mac下配置apache

    一.前言 今天遇到问题,怎么配置apache在Mac上,原来Mac自带apache,只需要自己开启配置一下就行了. 二.步骤: 1.修改apache的http_conf文件 打开finder前往/pr ...

  2. TG可能会用到的动态规划-简易自学

    最新更新 完整校订版见此 戳我阅读 以下为未核对不完整版本. 因版权原因,完整精校版不向所有公众开放. 请从您找到本博客的地址查找附带密码(比如简书分享了本网址,请您从简书分享页底部查询密码),感谢您 ...

  3. css固定背景图位置 实现屏幕滚动时 显示背景图不同区域

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  4. ByteArrayInputStream与ByteArrayOutputStream_操作数组的流

    import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOExceptio ...

  5. LeetCode - 排列相关题目

    1.获取全排列 https://leetcode.com/problems/permutations/submissions/ 按字典序输出: 这里用的是vector<int>,不是引用. ...

  6. day15 Python全局变量和局部变量

    在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 当全局变量与局部变量同名时: 在定义局部变量的子程序内,局部变 ...

  7. (转)Docker磁盘垃圾清理

    文章转自https://mp.weixin.qq.com/s/S8ZjGZF8oLC8c1JRnkE5yw?tdsourcetag=s_pctim_aiomsg 1.整体分析 对于Docker来说,存 ...

  8. 18核心的Intel i9将在2019年夏发布

    受工艺和架构限制,Intel HEDT发烧级桌面平台面对AMD早已经优势不再,但升级仍然在继续. 去年10月份,Intel一方面发布了第二代酷睿i9 X系列,仍然基于14nm Skylake-X架构, ...

  9. Qt发起Http/Https请求

    1. BurpSuite抓包 1.1 设置代理 burpsuite代理设置 浏览器代理设置(chrome),其他浏览器同理. 地址栏输入 chrome://settings/, 打开代理设置 设置代理 ...

  10. undefined == false 么

    今天碰到个问题,我需要去判断 undefined == false 会返回什么,想当然的以为会返回true,但是结果却返回的是false,这我就有点晕了,不是说undefined.null.0.NaN ...