第九章 polar码 - ustcstaff.ustc.edu.cn/~wyzhou/chapter9.pdf · 2017-05-09 · polar码简介...
TRANSCRIPT
第九章 Polar码
本章内容
Polar码简介
信道极化
Polar码的编码
Polar码的译码
2
Polar码简介
Polar码是由土耳其Bilkent大学教授Erdal Arikan于
2007年基于信道极化理论提出的一种线性信道编码方法
,该码字是唯一能够从理论上达到香农限的编码方法,并
具有较低的编译码复杂度,当码长为N时,复杂度为
O(NlogN)。Polar码的核心思想就是信道极化理论,
不同的信道对于的极化方法也有区别。
3
Polar码的理论基础就是信道极化,它包括信道合并和信
道分解两部分。当合并信道的数目趋于无穷大时,则会出
现极化现象:一部分信道将趋于无噪信道,另外一部分则
趋于全噪信道,这种现象就是信道极化。无噪信道的传输
速率会达到信道容量I(W),而全噪信道的传输速率趋于
0。Polar码的编码策略正是应用了这种现象的特性,利
用无噪信道传输用户的有用信息,全噪信道传输约定的信
息或者不传信息。
基于信道极化理论提出的极化码,是第一类被证明在码长
无限长时、采用逐次消除译码算法可严格达到二元对称信
道容量的信道编码方案。
4
BSC和BEC信道
5
0 0
1 1
p
1-p
1-p
p
0 0
1 1
p
1-p
1-p
pE
1 1
2 2 2( ) 0 0
( | )max ( , ) ( ) ( | ) log 1 log ( ) (1 ) log (1 )
( )i j
j i jp x j i i
p y xC I X Y p x p y x p p p p
p y= =
= = = + + − −∑∑
1 1
2( ) 0 0
( | )max ( , ) ( ) ( | ) log 1
( )i j
j i jp x j i i
p y xC I X Y p x p y x p
p y= =
= = = −∑∑
二进制离散无记忆信道(BDMC)有两个主要的信道参
数:信道容量和Bhattacharyya参数。
给定一个BDMC信道W:XY,X和Y为输入和输出,令
P(Y|X)为信道转移概率,其中X∈{0,1}。对于信道W,信道容量I(W)和Bhattacharyya参数Z(W)(简记为
Z参数)分别为:
6
1 ( | )( ) ( | ) log 1 12 ( | 0 ) ( |1)2 2
y Y x X
P y xI W P y xP y P y∈ ∈
=+
∑∑
( ) ( | 0 )( |1)y Y
Z W P y P y∈
=∑
这两个参数分别用于速率和可靠性的衡量。I(W)是等概信
源通过信道W可靠传输的最高速率。巴氏参数Z(W)是信
道使用一次最大似然判决错误概率的上限。I(W)和Z(W)的取值范围都为 [0,1],当 I(W)≈1时,Z(W)=0;Z(W)≈1时,I(W)=0。
信道极化过程信道极化过程包括信道合并和信道分解。将N个BDMC信道
W通过线性变换合并成WN,然后再将WN拆分为相关的信
道 ,就是信道极化现象的具体实现过程。信道
极化是当信道容量I(W)在N趋于无穷时,一部分的信道容
量接近1,而另一部分的信道容量趋于0,这样可以在完美
信道上发送信息比特,在噪声信道上发送休眠比特(一般为
0)。
7
(i)N{W :1 }i N≤ ≤
W
W
W
WN
(1)NW
(2)NW
( )NNW
信道合并 信道分解
Original channels(uniform)
Splitting channels(polarized)
.
.
.
.
.
.
信道合并
信道合并是对N个独立的二进制离散信道W使用递归方式
生成信道WN:XNYN,其中N=2n,n≥0。递归从第
0级(n=0)开始,这一级只有一个W,定义W1=W。递
归的第1级(n=1)是合并两个独立的W1,得到W2:
X2Y2,W2的转移概率为:
W2(y1,y2|u1,u2)=W(y1|u1⊕u2)W(y2|u2)
8
W
u2 W
u1 x1
x2
y1
y2
W2
1 2 1 2
1 2 2
1 0[ , ] [ , ]
1 1[ , ]
x x u u
u u G
=
=
n=2时有W4:x4y4,这时它是由两个n=1的W2:
x2y2信道复合而成,转移概率为
9
W
u2 W
u1 x1
x2
y1
y3
W2
W
W
x3
x4
W2
u3
u4
R4
y2
y4
W4
( ) ( ) ( )( ) ( ) ( ) ( )( )
4 4 2 44 1 1 2 1 1 2 3 4 2 3 2 4
1 1 2 3 4 2 3 4 3 2 4 4 4
4 4 41 1 4
| | , | ,
| | | |
|
W y u W y u u u u W y u u
W y u u u u W y u u W y u u W y u
W y u G
= ⊕ ⊕
= ⊕ ⊕ ⊕ ⊕ ⊕
=
1 2 3 4 1 2 3 4
1 2 3 4 4
1 0 0 01 0 1 0
[ , , , ] [ , , , ]1 1 0 01 1 1 1
[ , , , ]
x x x x u u u u
u u u u G
=
=
( ) ( )1 1 1| |NN N N
i iiW y x W y x
==∏
( ) ( )1 1 1 1| |N N N N NN NW y x W y u G=
推广到一般情况,信道转移概率为:
其中
10
u2
u1
RN
uN/2-1
WN
s1
s2
sN/2-1
sN/2uN/2
uN
uN-1
uN/2+1
sN-1
sN
sN/2+1
sN/2+2uN/2+2
WN/2
WN/2
v1
v2
vN/2-1
vN/2
vN/2+1
vN/2+2
vN-1
vN
( ) ( )1 1 1 1| |N N N N NN NW y x W y u G=
nN NG B F⊗=
1 01 1
F =
( )2 / 2N N NB R I B= ⊗
例如: ( )2 24 4 4 2 2G B F R I B F⊗ ⊗= = ⊗
B4是一个比特翻转向量,即
(a00,a01,a10,a11)(a00,a10,a01,a11),R4是一个排
列运算,即实现将奇数位放
在前面,偶数位放在后面,
如(1,2,3,4)(1,3,2,4)
N=4时,
N=8时,
11
1 0 0 01 0 1 01 1 0 01 1 1 1
NG
=
1 0 0 0 0 0 0 01 0 0 0 1 0 0 01 1 0 0 0 0 0 01 1 0 0 1 1 0 01 0 1 0 0 0 0 01 0 1 0 1 0 1 01 1 1 1 0 0 0 01 1 1 1 1 1 1 1
NG
=
信道分解
N个独立BDMC合并而成的信道WN,经过信道分解为相
关的信道{ },且整个系统的信道容量不变
。Arikan给出的信道分解方法:假定一个译码过程,如
果已经按照顺序译出了信息 中的 ,并且假定 译
码过程中没有发生错误,那么此时新的信道实际上已经成
为了一个概率信道,即已经知道了信道接收的数据 ,
又有了前i-1次的译码结果 ,此时的信道转移概率
Arikan定义为:
12
1Nu 1
1iu − 1
1iu −
1Ny
11iu −
( ) 1: , 1i N iNW x y x i N−→ × ≤ ≤
( ) ( )1
( ) 11 1 1 11
1, | |2N N i
i
i N i i N iN NN
u X
W y u u W y u−
+
−−
∈∑
( ) :1iNW i N≤ ≤
13
u2
u1
u3
u4
u8
u7
u5
u6
x2
x1
x3
x4
x8
x7
x5
x6
W
W
W
W
W
W
W
W
y2
y1
y3
y4
y8
y7
y5
y6
18W()
28W()
38W()
48W()
58W()
68W()
78W()
88W()
81y
81 1,y u
8 21 1,y u
8 31 1,y u
8 41 1,y u
8 51 1,y u
8 61 1,y u
8 71 1,y u
u2
u1
u3
u4
u8
u7
u5
u6
将8个独立的合并而成的信道
将合并而成的信道分解为8个相互关联的子信道
上式的计算复杂度是指数型的,对于一般的短码是OK的
,但是对于码长比较长时极化作用才明显的极化码来说,
直接计算不适用,需要将上式写成迭代形式,即需要计算
概率对( )只需要转而计算( ),这
样就是线性复杂度。
14
2 1 22 2,i i
N NW W−,i i
N NW W
( ) ( ) ( )2
(2 1) 2 2 2 ( ) 2 2 2 2 ( ) 2 2 22 1 1 2 1 1 1, 1, 2 1 2 1 1, 2
1, | , | , |2
i
i N i i N i i i N iN i N o e i i N N e i
uW y u u W y u u u u W y u u− − − − −
− − += ⊕ ⊕ ⋅∑
( ) ( ) ( )(2 ) 2 2 1 ( ) 2 2 2 2 ( ) 2 2 22 1 1 2 1 1, 1, 2 1 2 1 1, 2
1, | , | , |2
i N i i N i i i N iN i N o e i i N N e iW y u u W y u u u u W y u u− − − −
− += ⊕ ⊕ ⋅
15
该图是从右往左迭代
信道极化
从信道合并与信道分解的过程中,信道会产生一些特殊的
性质,即导致一部分的信道容量 趋于1,而另一部
分的信道容量 趋于0,这就是信道极化现象。
当信道是错误概率为0.5的BEC、N=28和220时,信道
极化现象如下图。N=28时,信道容量为0和1所占的比
例都大约为39%,当N=220时,0和1都大约为49%,即编码块长度N增大时,信道极化越明显。
16
( )( )iNI W
( )( )iNI W
极化码编码
利用极化现象构造一种接近于对称信道容量I(W)的编码
,称为极化码编码,核心就是利用分解后的信道 来
发送数据,这些信道的错误概率接近于0。
极化码是一种线性分组码,编码过程主要依赖于生成矩阵
的构造和信息位的选取。对于N≥2,有
其中G1=I1,矩阵
由于 ,从而
17
( )iNW
( ) ( )/ 2 2 / 2N N N NG I F R I G= ⊗ ⊗
1 01 1
F =
( ) ( )/ 2 / 2=N N N NI F R R F I⊗ ⊗
( )( ) ( )/ 2 2 / 2 / 2N N N N N NG R F I I G R F G= ⊗ ⊗ = ⊗
则 ,带入GN,有
上式中运用到 ,其中A=I2,
B=RN/2,C=F, ,这样可得到
式中 ,可简写为
,是一个排列运算矩阵,称为比特翻转
运算。
18
nN NG B F⊗=
( )/ 2 / 2 / 4N N NG R F G= ⊗
( )( )( ) ( )( )2/ 2 / 4 2 / 2 / 4=N N N N N N NG R F R F G R I R F G⊗= ⊗ ⊗ ⊗ ⊗
/ 4ND F G= ⊗
( ) ( ) ( )( )AC BD A B C D⊗ = ⊗ ⊗
( )( ) ( )2 / 2 4 / 4 / 2 2N N N N NB R I R I R I R⊗ ⊗ ⊗
( )2 / 2=N N NB R I B⊗
极化码编码又称为GN-陪集编码,其块长度N严格定义为
2的幂次方,即N=2n,
将所要传送的信息比特放在特定的比特位置上,这样才会
有比较可靠的传输,对于任意一个{1,…,N}的子集A,
则A的补集为Ac,即 ,其
中GN(A)定义为GN的子矩阵,根据集合A来选取GN(A)
的行, GN(A)的陪集即为GN(Ac),根据集合A的补集来
选取GN(Ac)的行, GN-陪集编码就是根据选取具体的
GN的行来进行编码构造。如果给定A和 ,将uA作为
一个自由变量,就可以得到从源码块uA到码字 的映
射。
19
1 1N N
Nx u G=
( ) ( )1 1 cN N c
N A N NAx u G u G A u G A= = ⊕
cAu
1Nx
GN-陪集编码被定义为一个参数向量(N,K,A, )
,A为集合{1,…,N}的子集,K是编码的维数,同时决
定了A集合内变量的个数, 为休眠比特(一般情况为
0),编码速率为K/N。
比如,给定一个参数向量(8,4,{4,6,7,8},(1,1,0,0))
,则对应的编码为
20
cAu
cAu
( ) ( )
8 81 1 8
4 6 7 7
1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 01 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0
, , , 1,1,0,01 1 1 1 0 0 0 0 1 1 0 0 0 0 0 01 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0
x u G
u u u u
=
= +
极化码的信息位选取:主要有Monte-Carlo法、BEC方
法以及密度进化方法。
极化码的译码基本方法主要有:连续消除(SuccessiveCancellation, SC) 译 码 、 置 信 传 播 (BeliefPropagation, BP) 译 码 、 线 性 规 划 (LinearProgramming, LP) 译 码 、 基 于 SC 列 表
(Successive Cancellation List, SCL)译码、最大
似然(Maximum Likelihood, ML)译码等。
21