Arikan原版论文学习总结
1、内容目录
- 开篇1-内容介绍&参考文献
- 概述2-什么是极化码?
- 原理3-Arikan原版论文学习总结
- 编码算法4-巴氏参数、GA算法以及matlab仿真
- 译码算法5-SC算法及matlab仿真
- 译码算法6-SCL、CA-SCL及matlab仿真
2、极化码定义
关于信道极化及极化码的定义最初是在Arikan教授的原创性论文中提出,本节内容也是基于他的论文所写的。通过阅读本篇文章,大家可以掌握信道极化的原理,极化码如何定义以及如何度量信道可靠性。有问题欢迎留言交流啊!
2.1、记号表示
W:X→Y 表示一个通用二进制输入离散无记忆信道B-DMC(Binary-Discrete Memoryless Channel),其中数组X表示输入向量,数组Y表示输出向量;
W(y | x) 表示信道转移概率,其中x∈X,y∈Y。数组X的元素在{0,1}中取值,数组Y以及转移概率的取值则是任意的。
W
N
W^N
WN 表示由N个彼此独立但相同的W信道所组成的DMC信道,对应:
W
N
W^N
WN:
X
N
X^N
XN→
Y
N
Y^N
YN,该信道转移概率表示为:
2.2、信道度量参数
这里有两个十分重要的参数需要学习和掌握:
1、对称容量(信道容量):
该参数表示当信道进行可靠传输时可达到的最大传输速率;当I(W)值越大,表示信道传输效果越好,信道越可靠;反之,信道越不可靠。
2、巴氏参数(Bhattacharyya parameter):
该参数表示信道的信息接受错误概率的上界,也即错误概率的最大值。很容易理解,当Z(W)值越小的时候,代表信道传输效果越好,信道越可靠;反之,信道越不可靠。
2.3、生成矩阵
生成矩阵是极化码编码很重要的组成部分。极化码的数学计算基于一个核矩阵的极化效应,极化效应通过克罗内克积(Kronecker)来产生(如果对Kronecker不了解的话,可百度查询,这里不对其进行介绍)。不同的核矩阵会有不同的极化速率和极化效果,在Arikan的原创论文中,他选择了矩阵
G
2
G_2
G2=
[
1
0
1
1
]
\begin{bmatrix} 1&0\\ 1&1\end{bmatrix}
[1101] 作为核矩阵。对于一个长度为 N=
2
n
2^n
2n的极化码来说,其对应的生成矩阵表示为
该式子右边表示n个
G
2
G_2
G2矩阵依次进行Kronecker积之后再进行奇偶置换操作,
B
N
B_N
BN表示一个排列矩阵,通过将下标的二进制表示进行位翻转操作实现奇偶置换操作,下节会进行介绍。
2.4、信道极化现象
信道极化现象说的就是当我们输入的信息比特码长趋于无穷大的时候,信道产生极化现象,使得一部分信道,其信道容量趋于“1”,达到“无噪信道”,可进行可靠传输;一部分信道其信道容量趋于“0”,变成“全噪信道”,不能进行可靠传输。我们选择这些“无噪信道”传输我们发送的信息比特,用“全噪信道”发送一些收发双方都已知的冻结比特或者辅助信息比特,以此高效地利用信道传输我们的信息,提高性能。
信道极化现象分为信道合并和信道分裂两步。下面对这两个过程进行详细描述
一、信道合并
信道合并过程就是通过递归方法,将N个相互独立且相同的信道W合并为信道
W
N
W_N
WN的过程。已知极化码的长度为N=
2
n
2^n
2n,下面是递归过程(下列图中和算式中一个圆里面有个加号,该符号表示模2加法运算):
1、n=0时,N=1,此时
W
1
W_1
W1=W;
2、n=1时,N=2,此时将两个B-DMC合并,合并过程如下图所示:
合并后得到矢量信道
W
2
W_2
W2:
X
2
X^2
X2→
Y
2
Y^2
Y2,对应转移概率为
上式又可以表示为
3、n=2时,N=4,此时将两个信道
W
2
W_2
W2合并,合并过程如下图所示
上图中的
R
4
R_4
R4表示奇偶置换操作,例如当输入序列为(
s
1
s_1
s1,
s
2
s_2
s2,
s
3
s_3
s3,
s
4
s_4
s4)时,通过奇偶置换得到序列(
s
1
s_1
s1,
s
3
s_3
s3,
s
2
s_2
s2,
s
4
s_4
s4)。
合并后得到信道矢量
W
4
W_4
W4:
X
4
X^4
X4→
Y
4
Y^4
Y4,对应的信道转移概率为
上式又可以写为
其中,
G
4
G_4
G4就表示长度为4的极化码的生成矩阵
…
4、如此递归合并,直到极化码的长度为N时,此时合并两个矢量信道
W
N
/
2
W_ {N/2}
WN/2,合并过程如下图所示
合并后得到矢量信道
W
N
W_N
WN:
X
N
X^N
XN→
Y
N
Y^N
YN,其信道转移概率表示为
生成矩阵如前面定义计算得到。
二、 信道分裂
信道分裂的原理蕴含在极化码译码的算法原理当中,下面进行简要介绍,详细操作过程将会在译码算法那一章进行介绍。
当通过上一节信道合并以后得到矢量信道
W
N
W_N
WN,之后对该矢量信道进行分裂,得到N个相互独立的二进制输入位信道,这些信道是并列的,同时传输比特信息。该信道表示为
W
N
i
W_N^i
WNi:X→
Y
N
Y^N
YNx
X
i
−
1
X^{i-1}
Xi−1,1≤ i ≤N,其转移概率表示为
其中(
y
1
N
y_1^N
y1N,
u
1
i
−
1
u_1^{i-1}
u1i−1)表示位信道
W
N
i
W_N^i
WNi的输出,
u
i
u_i
ui表示它的输入。
为了对位通道有更加直观的理解,引入一个被称为精灵辅助的连续相消译码器,其译码原理是:当我们要判决元素
u
i
u_i
ui时,需要结合得到的接收信号值
y
1
N
y_1^N
y1N和前面 i-1 个位信道的输入
u
1
i
−
1
u_1^{i-1}
u1i−1(在这里我们假设前面的输入
u
1
i
−
1
u_1^{i-1}
u1i−1都是判决正确的)。
3、总结
在本章中,我已经尽可能用比较通俗易懂的表达方式去为大家介绍极化码的相关定义和原理,我用一种我在学习这一节知识点时的理解顺序进行了排版,希望也能让大家更好的理解。相信通过这一节,大家已经学懂了极化码是怎么一回事,在下一节,我将会为大家介绍极化码的构造方式和算法原理,极化码的编码过程。如果有不懂或者错误的地方,欢迎大家批评指正。
最后,新人博主写帖子不易,如果你觉得对你有帮助,多多点赞分享关注打赏,给我更多创作动力。祝大家都能有所学,有所获,加油!