Polar码快速入门

本科生在学习极化码时,并不是件简单的事情。网上极化码的资料很少,而且基本上都是较难的论文。这篇文章是用来帮你快速入门极化码。

Polar码背景

2015 年,国际电信联盟无线通信部(International Telecommunication Union-Radio Communications Sector,ITU-R)明确了未来 5G三大典型应用场景,分别为:

  1. 增强型移动宽带(enhanced mobile broadband,eMBB)场景。要求支持更高的传输速率(峰值速率:上行链路达到 10 Gbit/s,下行链路达到 20 Gbit/s)、更高的频谱效率(峰值频谱效率:上行链路达到12 bit/(s·Hz),下行链路达到 30 bit/(s·Hz))等。

  2. 大规模机器类通信(massive machine type communication,mMTC)。要求支持更大连接数密度(\(1×10^6\)个连接\(/km^2\))、更低能耗(终端电池使用寿命达到 15 年);

  3. 场景和超高可靠性低时延通信(ultra-reliable and low latency communication,uRLLC)场景。要求支持更低的时延(上下行链路时延 0.5 ms,即端到端时延低于 1 ms)、更高的可靠度(达到 99.9999%,即 1 ms 内的误帧率低于\(10^{-6}\))、更低的错误平层等。

而4G 中采用的信道编码方案 Turbo 码因在可靠性(Turbo 码存在译码错误平层)、编译码复杂度、译码吞吐量和编码效率等方面难以有效满足 5G 场景下的各种性能要求。亟需为 5G 新空口(new radio,NR)设计更加先进高效的信道编码方案,以尽可能小的业务开销实现信息快速可靠传输。

目前,国内外研究机构已针对 5G 信道编码技术开展了大量研究,并已达成部分共识。Polar 码因其理论证明可达到香农极限,且具有可实用的线性复杂度编译码能力而受到业界重视,成为5G NR信道编码方案的强有力候选者。在 2016 年 11 月召开的 3GPP RAN1#87 次会议上确定eMBB场景的 5G 短码块信道编码方案采用 Polar 码作为控制信道编码方案。

Polar码概述

2008 年,土耳其毕尔肯大学 Arikan 教授在国际信息论(International Symposium on Information Theory,ISIT)会议上首次提出信道极化(channel polarization)的概念。Polar码的核心思想是信道极化,不同的信道对于极化方法也有区别。

2009 年,Arikan教授在中对信道极化进行更为详细的阐述,并基于信道极化思想提出一种新型信道编码方法,即 Polar 码。 Arikan 分析了 Polar 码的极化现象,并给出 Polar 码在二元删除信道(binary erasure channel,BEC)中的具体构造方法以及编译码过程。

考虑到 Arikan E 给出的 Polar 码构造方法仅适用于 BEC 信道,具有较大的局限性,Mori 和 Tanaka 等人借鉴低密度奇偶校验(low-density parity-check,LDPC)码的构造方法,提出采用密度进化(density evolution,DE)方式构造 Polar 码,以适用于任意二进制离散无记忆信道(binary discrete memoryless channel,B-DMC)。我们这节课主要研究对象就是B-DMC

我们这节课主要讲述:

  1. 信道极化:信道合并和分解
  2. Polar码的编码方式
  3. Polar码的译码方式(简略)

信道极化

信道极化:包括信道合并和信道分解。

当合并信道的数目趋于无穷大时,一部分信道将趋于无噪信道,另外一部分则趋于全噪信道,这种现象就是信道极化。

无噪信道的传输速率会达到信道容量\(I(W)\),而全噪信道的传输速率趋于0。Polar码的编码策略正是应用了这种现象的特性,利用无噪信道传输用户的有用信息,全噪信道传输约定的信息或者不传信息。

规定:

对任意\(N=2^n(n \geqslant 0)\)个独立的B-DMC信道\(W\),使用递归的方式,合并成\(W_N\);然后再将\(W_N\)拆分为相关的信道\(\left \{ W_N^{(i)}: 1\leqslant i \leqslant N \right \}\),就是信道极化现象的具体实现过程。

我们总结一下:
原先有N个性质相同的B-DMC信道,现在通过信道合并--信道分解的形式,得到了\(W_N^{(1)} \rightarrow W_N^{(N)}\)新的N个信道,这N个信道中,就有无噪和全噪信道,然后我们就能利用这N个不同性质的信道进行信息传输。

信道合并

B-DMC信道: \(W: X \rightarrow Y\),其中,\(x=(x_1, x_2 \cdots)\)表示输入向量集合,\(y=(y_1, y_2 \cdots)\)表示输出向量集合。转移概率记为:\(W (y|x),x \in X,y \in Y\)。

信道合并:对N个互相独立的B-DMC信道\(W\)合并,生成信道\(W_N\),记作:\(W_N : X^N \rightarrow Y^N\)。其中,\(X^N=(x_1, x_2 \cdots x_N)\)表示输入序列,\(Y^N=(y_1, y_2 \cdots y_N)\)表示输出序列。信道的转移概率为\(W^N(y_1^N | x_1^N) = \prod_{i=1}^N W(y_i | x_i)\)。

下面,我们研究N值不同时,信道合并的具体过程。

(1)N = 1 时,\(W_1 = W\),不用进行信道合并;

(2)N = 2时,\(W_2: X^2 \rightarrow Y^2\)。两个信道\(W\)组合成了\(W_2\),也就是红筐所示的部分。具体组合方式如下:

这种由"\(\oplus\)"和走线构成的图成为长度为N的极化码的编码图,表示这张图的矩阵被称为生成矩阵\(G_N\),比如当N=2时,\(G_2=F=\begin{bmatrix} 1 & 0 \\ 1 & 1\end{bmatrix}\)。\(F\)也被称为核心矩阵。

\((u_1, u_2)\)为信源序列,也成为信源比特;\((x_1, x_2)\)为输入的编码序列,即码字比特;\((y_1, y_2)\)为输出序列。

从上图中,我们可以写出输入序列的表达式:\(x_1=u_1\oplus u_2, x_2 = u_2\)

我们也能看出,这个是个积信道。转移概率为:\(W_2(y_1, y_2 | u_1, u_2) = W(y_1|u_1 \oplus u_2) W(y_2 | u_2)\)

(3)N=4时,具体组合方式如下

如上图所示,\((W_2^{(1)}, W_2^{(1)}) \rightarrow (W_4^{(1)}, W_4^{(2)}), (W_2^{(2)}, W_2^{(2)}) \rightarrow (W_4^{(3)}, W_4^{(4)})\)

转移概率为\(W_4(y_1^4 | x_1^4) = W_2(y_1, y_2| u_1 \oplus u_2, u_3 \oplus u_4)W_2(y_3, y_4|u_2, u_4)\)。

信源比特和码字比特的关系:\(u_1^4 \rightarrow x_1^4\)的映射关系表达式为:\(x_1^4 = u_1^4G_4, G_4=\begin{bmatrix} 1 & 0 & 0 & 0 \\ 1 & 0 & 1 & 0 \\ 1 & 1 & 0 & 0 \\ 1 & 1 & 1 & 1 \end{bmatrix}\)。

这个生成矩阵是怎么来的?直观上来说,可以把上面的式子进行矩阵运算(加法为模2加法),可得\((x_1, x_2, x_3, x_4)=(u_1 \oplus u_2\oplus u_3\oplus u_4, u_3 \oplus u_4, u_2 \oplus u_4, u_4)\)这个结果就是图表反应的结果。如果从数学上来说,见下面一般情况的N的分析。

所以,组合信道\(W_4\)和原始信道\(W^4\)之间的转移概率可表示为:\(W_4(y_1^4 | x_1^4) = W^4(y_1^4|u_1^4G_4)\)

(4)将上述结论类比到任意N,两个独立信道 \(W_{\frac {N}{2}}\) 可以通过信道组合转换成原道\(W_{N}\)。

可以参考下图理解一下这个规律:长度为N的极化码编码图的最左列是竖着排列的\(N/2\)个长度为2的极化码的编码图,所以这\(N/2\)个长度为2的极化码的第一个码字比特\((u_1 \oplus u_2, u_3 \oplus u_4 \cdots u_{N-1} \oplus u_N)\)被置换到上一半(红框表示部分),而第二个码字比特被置换到下一半(绿框表示部分)。

\(u_1^N \rightarrow x_1^N\)可表示为\(x_1^N=u_1^NG_N\)。

\(G_N = B_NF^{\otimes n}\)为N阶生成矩阵。

其中,\(B_N\)为N阶比特反转矩阵,实现倒位功能。\(B_N=R_N(I_2 \otimes B_{N/2})\),\(I_2 = F^2\),\(R_N\)是个排列运算矩阵。

核心矩阵\(F=\begin{bmatrix} 1 & 0 \\ 1 & 1 \end{bmatrix}\),\(F^{\otimes n}\)为矩阵F的n阶克罗内克积。

  1. 排列运算矩阵\(R_N\)。举例来说:\((a_1, a_2, \cdots, a_N)R_N = (a_1, a_3,a_5,\cdots,a_{N-1},a_2,a_4,\cdots,a_N)\)。
    比如N=4时,\(R_N=\begin{bmatrix} 1 & 0 &0&0 \\ 0&0&1&0 \\ 0&1&0&0 \\ 0&0&0&1\end{bmatrix}\)。也就是在每列的1,3,……,2,4……对应位置为1,其余为0
  1. 克罗内克积。比如\(A=\begin{bmatrix} 1 & 2 \\ 3&4 \end{bmatrix}, A \otimes F=\begin{bmatrix} 1F & 2F \\ 3F&4F\end{bmatrix}\),然后在对应位置展开即可。

如果感兴趣,用上面这些公式可以验证一下N=4时的生成矩阵。

组合信道和原始信道的转移概率为:\(W_N(y_1^N|u_1^N) = W^N(y_1^N | u_1^N G_N)\)

信道分解

信道分解过程是将组合信道\(W_N\)分裂成N个二进制输入比特信道\(W_N^{(i)}\)的过程。

我们先以N=2时为例。组合信道\(W_2\)分裂为\(W_2^{(1)}, W_2^{(2)}\),即极化过程:\((W,W) \rightarrow (W_2^{(1)}, W_2^{(2)})\)。

(1)传输信源序列\(u_1\)的极化信道\(W_2^{(1)}(y_1, y_2 | u_1)\)的转移概率为:

\(W_2^{(1)}(y_1, y_2 | u_1) = P(y_1, y_2, u_1)/P(u_1)=\cdots = \frac {1} {2} \Sigma_{u_2}W(y_1|u_1 \oplus u_2)W(y_1 | u_2)\)

(2)传输信源序列\(u_2\)的极化信道\(W_2^{(2)}(y_1, y_2, u_1 | u_2)\)的转移概率为:

\(W_2^{(2)}(y_1, y_2, u_1 | u_2) = P(y_1, y_2, u_1, u_2)/P(u_2) = \cdots = \frac {1} {2} W(y_1|u_1 \oplus u_2)W(y_1 | u_2)\)

上面的推导中省略了很多步骤。我们只需要了解结论,有兴趣的同学课下可以来找我要具体的过程。

那么,我们分解出的两个信道能满足极化信道的要求吗?接下来我们可以验证一下极化信道的特性。

由转移概率,我们可得\(I(Y_1Y_2;U_1)+I(Y_1Y_2U_1;U_2)=2I(X_1;Y_1)=2I(W)\),其中\(I(W)\)表示信道\(W\)的互信息。这个式子表达的意思是:信道\(W\)的两次复用所能传递的信息等于极化信道\(W_2^{(1)}\)和\(W_2^{(2)}\)所能传递的信息的和,极化信道不会损失信息传输的能力。

\(I(Y_1Y_2;U_1) \leqslant I(Y_1Y_2U_1;U_2)\),即\(W_2^{(2)}\)比\(W_2^{(1)}\)的传信能力大,也就是\(W_2^{(2)}\)比\(W_2^{(1)}\)有更大的容量,当码长趋于无穷时,计划信道的容量非0即1。这里具体的证明我们不再展开,通过两者的大小比较有个直观的认识即可。

推广到N,我们定义极化信道表达式为\(W_N^{(i)}(\mathbf{y_1^N, u_1^{i-1}} | u_i)\),表示输入为\(u_i\),输出是\(\mathbf{y_1^N, u_1^{i-1}}\),也就是极化信道\(W_N^{(i)}\)能观察到W的输出\(\mathbf{y_1^N}\)和比特值\((u_1, u_2,\cdots,u_{i-1})\)。这是因为极化码使用串行抵消译码,从\(u_1\)开始逐一估计信源比特,直到\(u_N\),所以在译码\(u_i\)时,\((u_1, u_2,\cdots,u_{i-1})\)的值都已经获得,被当作译码\(u_i\)所需要的反馈

(二)Polar编码

根据信道极化现象,可将原本相互独立的N 个原始信道转化为 N 个信道容量不等的比特信
道。当 N 趋于无穷大时,一部分信道的容量趋于0,而另一部分信道的容量趋于 1。

假设 K 个信道的容量趋于 1,N-K 个信道的容量趋于 0,可选择 K 个容量趋近于 1 的信道传输信息比特,选择 N-K 个容量趋近于 0 的信道传输冻结比特,即固定比特,从而实现由 K 个信息比特到 N 个编码比特的一一对应关系,也即实现码率为 K/N 的Polar 码的编码过程。

具体编码方式可表示为\(x_1^N=u_1^NG_N\)。生成矩阵如何计算等问题在上面已经说过了。

Polar 码可由参数\((N,K A,u_{A^c})\)的陪集\(G_N\) 码定义。

\(N=2^n\)为码长;

K为信息比特个数,也就是无噪信道数;

A 为信息比特位置集合,A 中元素个数等于 K;

\(A^c\)为补集,也就是全噪信道的集合;

\(u_{A^c}\)为冻结比特所对应的序列,在\(A^c\)上传输的序列。由于冻结比特所在的信道特性极差,在信息传输过程中一般固定设为 0。

由于上述编码中的生成矩阵\(G_N\)中存在比特反转矩阵\(B_N\),故该编码方式也称为比特反转编码

在 3GPP 中已确定 Polar 码采用无比特反转编码,并把采用该编码方式得到的 Polar 码称为“基本Polar 码”,其生成矩阵为\(G_N = F^{\otimes n}\)

(三)Polar译码

极化码的译码基本方法主要有:连续消除(Successive Cancellation, SC) 译 码 、 置 信 传 播 (Belief Propagation, BP) 译 码 、 线 性 规 划 (Linear Programming, LP) 译 码 、 基 于 SC 列 表 (Successive Cancellation List, SCL)译码、最大似然(Maximum Likelihood, ML)译码等。

参考文献:《极化码讲义》-于永润编写。下载链接

ch9-极化码。http://staff.ustc.edu.cn/~wyzhou/chapter9.pdf

《面向 5G 新空口技术的 Polar 码标准化研究进展》:谢德胜、柴蓉等;重庆邮电大学移动通信重点实验室;2018−08−10

Polar码快速入门相关推荐

  1. MiniO纠删码快速入门

    MiniO纠删码快速入门 Minio使用纠删码erasure code和校验和checksum来保护数据免受硬件故障和无声数据损坏. 即便您丢失一半数量(N/2)的硬盘,您仍然可以恢复数据. 什么是纠 ...

  2. QR Code生成二维码快速入门

    1.QR Code的介绍 QR Code,是由Denso公司于1994年9月研制的一种矩阵二维码符号,它具有一维条码及其它二维条码所具有的信息容量大.可靠性高.可表示汉字及图象多种文字信息.保密防伪性 ...

  3. 分布式MinIO快速入门 ​​​​​​​

    分布式MinIO快速入门 分布式Minio可以让你将多块硬盘(甚至在不同的机器上)组成一个对象存储服务.由于硬盘分布在不同的节点上,分布式Minio避免了单点故障. 分布式Minio有什么好处? 在大 ...

  4. HotSpot源码(一):Docker与虚拟机的区别,class字节码解析,linux内核源码下载地址,Yacc与Lex快速入门

    Docker是虚拟机吗? Docker是用来隔离的,使用的是隔离的namespace,使用OS提供的接口进行应用程序之间的资源隔离,不是虚拟机.再加上它自己特殊的文件系统,一层一层叠加.他只不过是一个 ...

  5. rdkafka线程过多_Kafka快速入门(十一)——RdKafka源码分析

    Kafka快速入门(十一)--RdKafka源码分析 一.RdKafka C源码分析 1.Kafka OP队列 RdKafka将与Kafka Broke的交互.内部实现的操作都封装成Operator结 ...

  6. openGauss数据库源码解析系列文章——openGauss开发快速入门(二)

    在上一篇openGauss数据库源码解析系列文章--openGauss开发快速入门(上)中,我们介绍了openGauss的安装部署方法,本篇将具体介绍openGauss基本使用. 二. openGau ...

  7. (上)小程序从0快速入门到实战项目打造个性简历,让你轻松脱颖而出吸引面试官眼球(附源码)

    前言 分享之前我们先来认识一下小程序,官方定义的微信小程序是一种新的开放能力,开发者可以快速地开发一个小程序.更是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体 ...

  8. 带你快速入门AXI4总线--AXI4-Full篇(3)----XILINX AXI4-Full接口IP源码仿真分析(Master接口)

    写在前面 接slave接口篇,本文继续打包一个AXI4-Full-Master接口的IP,学习下源码,再仿真看看波形. 带你快速入门AXI4总线--AXI4-Full篇(2)----XILINX AX ...

  9. 0基础快速入门CSS技术栈(4)—图解详细阐述CSS的复合选择器、标签显示模式、行高、CSS背景,及最为重要的CSS三大特性附带权重计算笔试题(附详细案例源码解析过程)

    文章目录 1. 0基础快速入门CSS技术栈(4) 2. 重点提炼 3. CSS复合选择器 3.1 后代选择器(重点) 3.1.1 example01 3.2 子元素选择器 3.2.1 exmaple0 ...

最新文章

  1. 干货丨大牛带你走向机器学习“正道”:小朋友才迷信算法,大人们更重视工程实践
  2. CodeForces 1204 (#581 div 2)
  3. 十大最酷云计算应用程序创业企业
  4. [Linux/Ubuntu] vi/vim 使用方法讲解
  5. 简述linux中的passwd结构,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  6. web 3d 资源库大全
  7. 【产品志】华硕 ARUA 的 ARGB 方案
  8. Windows10+Caffe+CUDA7.5+VS2013环境配置
  9. html与css笔记(旧)
  10. Html中style标签是做什么的
  11. 编程实现库函数strcat
  12. 概率论与数理统计,基础知识、公式、定理、概念(一)
  13. 自然语言处理NLP星空智能对话机器人系列:NLP on Transformers 101 第16章:Kaggle BERT比赛CommonLit Readability Prize赛题解析
  14. php源码怎样修改logo,dedecms网站改logo怎么操作
  15. 第五章——大数定律和中心极限定理
  16. codeforces(D2. Coffee and Coursework (Hard Version))二分答案
  17. Windows下Bonobo.Git.Server服务器的搭建
  18. android edittext失去焦点,Android 点击EditText外部区域失去焦点的方法
  19. 亚马逊海外购 “真黑五”全球狂欢 推出“巅峰6天”钜惠风暴
  20. Obsevability:安全的 APM 服务器访问

热门文章

  1. Procmon 结果列代码及其含义Detail 列使用的文件属性代码
  2. 阿里为何不允许用Executors创建线程池?
  3. 分享一些Python导图与速查表
  4. TensorFlow练手项目二:基于循环神经网络(RNN)的古诗生成器
  5. 解决win2008远程桌面授权过期的方法
  6. win 2008 R2远程桌面授权
  7. P4编程环境安装(ubuntu16.04,p4c+bmv2+mininet+PI+tutorial)
  8. 1089 狼人杀-简单版(C语言实现)
  9. 转发-【分享】思科无线控制器HA模式升级
  10. html怎么设置页脚注释,Word写论文时怎么插入页脚注释?