转载-极化码系列(4)-编码之极化信道可靠性估计
前言
由Arikan发明的Polar Code的经典编码算法已经在第二节基本阐述完毕,第三节则是对前文的举例。在编码实例中,有两个前提假设:
1.假设采用二进制删除信道
2.假设采用巴氏参数来评估各分裂子信道的可靠性。
Arikan在讨论信道极化时,采用的是B-DMC(二进制离散无记忆信道),然而在构造极化码时需要使用的计算巴氏参数Z(W)Z(W)Z(W)方法的适用范围是BEC信道。又因为BEC是B-DMC的子集。因此在Polar Code编码时只能回落到BEC上来构造。
注意:当信道不是BEC信道时,比如二进制对称信道(BSC)信道或二进制高斯白噪声信道(BAWGNC),则超出了Z(W)Z(W)Z(W)的适用范围,原因是各个分裂信道的Z(W)Z(W)Z(W)的数值无法精确得到。
为了更精确的估计信道极化中各分裂子信道的可靠性,Mori等人提出了密度进化(Density Evolution,DE)的构造方法。该方法使用与所有类型的B-DMC。
定义错误概率:
对信道WWW的NNN个独立时隙上进行信道极化以后,得到极化信道Z(WN(i))Z(W_N^{(i)})Z(WN(i)),其中i=1,2,...,Ni=1,2,...,Ni=1,2,...,N。令事件AiA_iAi表示序号为iii的极化信道WN(i)W_N^{(i)}WN(i)所承载的比特经过传输后发生错误,即
Ai={uiN,y1N:WN(i)(y1N,u1i−1∣ui)<WN(i)(y1N,u1i−1∣ui⊕1)}A_i=\{u_i^N,y_1^N:W_N^{(i)}(y_1^N,u_1^{i-1}|u_i)<W_N^{(i)}(y_1^N,u_1^{i-1}|u_i\oplus 1)\}Ai={uiN,y1N:WN(i)(y1N,u1i−1∣ui)<WN(i)(y1N,u1i−1∣ui⊕1)}
则极化信道WN(i)W_N^{(i)}WN(i)的错误概率为P(Ai)P(A_i)P(Ai)。
注解:关于事件AiA_iAi的定义,后续会有文章专门作解释。
密度进化(DE)
类似于LDPC码等信道编码,信道极化也可以使用Tanner图的结构来表示。下图给了一个N=8N=8N=8的例子,图中圆圈表示表示变量节点,每一个变量节点代表一个比特,同时也存储了该比特取值为0或1时的概率;而方框则表示校验节点,表示与之相连的各变量节点比特值的校验和为0。
由于变量节点的比特值仅可能有0或1两种取值,因此,存储与变量节点的消息往往用对数似然比(LLR)值来表示。
LN(i)=ln(WN(i)WN(i)(y1N,u^1(i−1)∣0)WN(i)(y1N,u^1(i−1)∣1))L_N^{(i)}=ln(W_N^{{(i)}} \frac{W_N^{(i)}(y_1^N,\hat{u}_1^{(i-1)}|0)}{W_N^{(i)}(y_1^N,\hat{u}_1^{(i-1)}|1)})LN(i)=ln(WN(i)WN(i)(y1N,u^1(i−1)∣1)WN(i)(y1N,u^1(i−1)∣0))
根据《Polar Code(2)编码原理》中的递归式WN(2i−1)(y1N,u12i−2∣u2i−1)W_N^{(2i-1)}(y_1^N,u_1^{2i-2}|u_{2i-1})WN(2i−1)(y1N,u12i−2∣u2i−1)与式WN(2i)(y1N,u12i−1∣u2i)W_N^{(2i)}(y_1^N,u_1^{2i-1}|u_{2i})WN(2i)(y1N,u12i−1∣u2i),Tanner图中各个变量节点的LLR值可以递归地计算得到:
LN(i)(y1N,u^1(2i−2))=2tanh−1(tanh(LN/2(i)(y1N/2,u^1,o2i−2⊕u^1,e2i−2)2))⋅tanh(LN/2(i)(yN/2+1N,u^1,e2i−2)2)L_N^{(i)}(y_1^N,\hat{u}_1^{(2i-2)})=2tanh^{-1}(tanh(\frac{L_{N/2}^{(i)}(y_1^{N/2},\hat{u}_{1,o}^{2i-2}\oplus\hat{u}_{1,e}^{2i-2})}{2})) \\ \cdot tanh(\frac{L_{N/2}^{(i)}(y_{N/2+1}^N,\hat{u}_{1,e}^{2i-2})}{2})LN(i)(y1N,u^1(2i−2))=2tanh−1(tanh(2LN/2(i)(y1N/2,u^1,o2i−2⊕u^1,e2i−2)))⋅tanh(2LN/2(i)(yN/2+1N,u^1,e2i−2))
LN(2i)(y1N,u^12i−1)=LN/22i−1(yN/2+1N,u^1,e2i−2)+(−1)u^2i−1⋅LN/22i−1(y1N/2,u^1,o2i−2⊕u^1,e2i−2)L_N^{(2i)}(y_1^N,\hat{u}_1^{2i-1})=L_{N/2}^{2i-1}(y_{N/2+1}^{N},\hat{u}_{1,e}^{2i-2})+(-1)^{\hat{u}_{2i-1}}\cdot L_{N/2}^{2i-1}(y_1^{N/2},\hat{u}_{1,o}^{2i-2}\oplus \hat{u}_{1,e}^{2i-2})LN(2i)(y1N,u^12i−1)=LN/22i−1(yN/2+1N,u^1,e2i−2)+(−1)u^2i−1⋅LN/22i−1(y1N/2,u^1,o2i−2⊕u^1,e2i−2)
若最终得到的LN(i)=(y1N,u^1i−1)≥0,则判决为u^i=0L_N^{(i)}=(y_1^N,\hat{u}_1^{i-1})\ge 0,则判决为\hat{u}_i=0LN(i)=(y1N,u^1i−1)≥0,则判决为u^i=0;否则,则判决为u^i=1\hat{u}_i=1u^i=1。
将某一个变量节点的LLR视为一个随机变量,用a(z)a(z)a(z)来表示该随机变量的概率密度函数(PDF)。由于信道满足对称性,可以假设发送的比特为全0,从而该变量节点的比特判决值错误的概率为:
Pe=∫−∞0a(z)dzP_e= \int _{-\infty}^{0}a(z)dz Pe=∫−∞0a(z)dz
在对第iii个信道进行可靠性估计时,如上图中加粗线条所示,以比特uiu_iui对应的节点为根节点,逐层扩散,直至最右侧一列变量节点,构成译码树。
用awa_waw表示信道输入到最右侧一列变量节点的LLR值的PDF;用aN(i)a_N^{(i)}aN(i)表示LN(i)(y1N,u^1(i−1))L_N^{(i)}(y_1^N,\hat{u}_1^{(i-1)})LN(i)(y1N,u^1(i−1))值的PDF。根据密度进化理论以及式(2)和式(3),假设发送的是全零比特序列,在u1i−1u_1^{i-1}u1i−1值已知条件下,序号为iii的极化信道LLR值可以递归的计算如下:
a2N(2i−1)=aN(i)⊙aN(i)\mathbf{a}_{2N}^{\left( 2i-1 \right)}=\mathbf{a}_{N}^{\left( i \right)}\odot \mathbf{a}_{N}^{\left( i \right)}a2N(2i−1)=aN(i)⊙aN(i)
a2N(2i)=aN(i)∗aN(i)\mathbf{a}_{2N}^{\left( 2i \right)}=\mathbf{a}_{N}^{\left( i \right)}*\mathbf{a}_{N}^{\left( i \right)}a2N(2i)=aN(i)∗aN(i)
a1(1)=aw\mathbf{a}_{1}^{\left( 1 \right)}\text{=}{\mathbf{a}_{w}}a1(1)=aw
其中,运算符⊙\odot⊙,∗*∗分别表示校验节点与变量节点上的卷积操作。通过概率密度函数aN(i)a_N^{(i)}aN(i)与式(4)可以得到各个极化信道WN(i)W_N^{(i)}WN(i)的可靠性度量值P(Ai)P(A_i)P(Ai)。
高斯近似(GA)
通过密度进化,对极化信道WN(i)W_N^{(i)}WN(i)的可靠度度量P(Ai)P(A_i)P(Ai)进行计算,可以适用于任意类型的B-DMC信道。然而,在实际算法实现时,需要维护一个高维的向量以存储量化过后的概率密度函数aN(i)\mathbf{a_{N}^{(i)}}aN(i)。为保证计算结果的精确,该向量的维度常取到10610^6106,对如此高维的向量进行式(5)和式(6)的卷积操作,计算复杂度非常高。
大多数研究场景下,信道编码的传输信道模型均为BAWGNC信道。在BAWGNC信道下,可以将密度进化中的LLR值的概率密度函数用一族方差为均值2倍的高斯分布来近似,从而简化成了对一维均值的计算,大大降低计算量,这种对DE的简化计算即为高斯近似(Gaussian Approximation,GA)。
对噪声方差为σ2\sigma ^2σ2的BAWGNC信道,调制方式为BPSK,若从信道获取的接收信号为yyy。
y=−2x+1+zy=-2x+1+zy=−2x+1+z
注解:这里存在疑问,个人理解BPSK应该是y=2x−1+zy=2x-1+zy=2x−1+z。
其中发送比特x∈{0,1}x\in \{0,1\}x∈{0,1},z∼N(0,σ2)z\sim N\left( 0,{\sigma ^{2}} \right)z∼N(0,σ2)。
假设发送比特为全零序列,则对应的LLR值为:
LLR(y)=lnp(y∣x=0)p(y∣x=1)=2σ2yLLR\left( y \right)=\ln \frac{p\left( y|x=0 \right)}{p\left( y|x=1 \right)}=\frac{2}{\sigma ^{2}}y LLR(y)=lnp(y∣x=1)p(y∣x=0)=σ22y
其中y∼N(1,σ2)y\sim N\left( 1,{\sigma ^{2}} \right)y∼N(1,σ2)。因此,式(9)中的LLR值符合均值为2σ2\frac{2}{\sigma^2}σ22,方差为4σ2\frac{4}{\sigma^2}σ24的高斯分布。根据已有的高斯近似理论,若输入的消息aN/2(i)\mathbf{a}_{N/{2}\;}^{\left( i \right)}aN/2(i)服从独立的高斯分布,对式(6)所示的变量节点上操作,则其输出aN(i)\mathbf{a}_{N}^{\left( i \right)}aN(i)也服从高斯分布;对式(5)所示的变量节点上的操作,其输出aN(2i−1)\mathbf{a}_{N}^{\left( 2i-1 \right)}aN(2i−1)也非常接近高斯分布。由于高斯分布可以由其均值和方差决定,因此在概率密度函数的计算过程中值需要考虑均值和方差,但必须满足密度进化的对称条件。
如果用f(z)f(z)f(z)表示LLR的概率密度,则对称条件表示为f(z)=f(−z)ezf(z)=f(-z)e^zf(z)=f(−z)ez。对于均值为mmm,方差为σ2\sigma^2σ2的高斯分布,该对称条件可以简化为σ2=2m\sigma^2=2mσ2=2m。因此,在高斯近似中仅需要考虑一维的变量,即均值mmm。设aN(i)\mathbf{a}_{N}^{\left( i \right)}aN(i)可以用N(mN(i),2mN(i))N\left( m_{N}^{\left( i \right)},2m_{N}^{\left( i \right)} \right)N(mN(i),2mN(i))表示,则式(5)、式(6)和式(7)中所示的LLR计算过程可以用高斯近似成为m2N(2i)=φ−1(1−[1−φ(mN(i))]2)m_{2N}^{\left( 2i \right)}={ {\varphi }^{-1}}\left( 1-{ {\left[ 1-\varphi \left( m_{N}^{\left( i \right)} \right) \right]}^{2}} \right)m2N(2i)=φ−1(1−[1−φ(mN(i))]2)
m2N(2i)=2mN(i)m_{2N}^{\left( 2i \right)}=2m_{N}^{\left( i \right)}m2N(2i)=2mN(i)
m1(1)=2/σ2m_{1}^{\left( 1 \right)}={2}/{ { {\sigma }^{2}}}\;m1(1)=2/σ2
其中函数
φ(x)={1−14πx∫−∞∞tanhu2⋅exp(−(u−x)24x)du,x>01,x=0\varphi \left( x \right)=\left\{ \begin{matrix} 1-\frac{1}{\sqrt{4\pi x}}\int_{-\infty }^{\infty }{\tanh \frac{u}{2}\cdot \exp \left( -\frac{ { {\left( u-x \right)}^{2}}}{4x} \right)du,x>0} \\ 1\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,x=0 \\ \end{matrix} \right.φ(x)={1−4πx1∫−∞∞tanh2u⋅exp(−4x(u−x)2)du,x>01 ,x=0
φ(x)\varphi \left( x \right)φ(x)在[0,∞)[0,\infty)[0,∞)上连续单调递减,φ(0)=1\varphi \left( 0 \right)\text{=}1φ(0)=1,φ(∞)=0\varphi \left( \infty \right)\text{=0}φ(∞)=0,其反函数用φ−1(x){ {\varphi }^{-1}}\left( x \right)φ−1(x)表示。一般情况下,函数φ(x){ {\varphi }}\left( x \right)φ(x)可以用如下的近似计算φ(x)={πx(1−107x)exp(−x4),x≥10exp(−0.4527x0.86+0.0218),0<x<10\varphi \left( x \right)=\left\{ \begin{matrix} \sqrt{\frac{\pi }{x}}\left( 1-\frac{10}{7x} \right)\exp \left( -\frac{x}{4} \right),x\ge 10 \\ \exp \left( -0.4527{ {x}^{0.86}}+0.0218 \right),0<x<10 \\ \end{matrix} \right.φ(x)={xπ(1−7x10)exp(−4x),x≥10exp(−0.4527x0.86+0.0218),0<x<10
在得到mN(i)m_N^{(i)}mN(i)后,各极化信道WN(i)W_N^{(i)}WN(i)在发送全零时对应的接收信号LLR值服从分布N(mN(i),2mN(i))N\left( m_{N}^{\left( i \right)},2m_{N}^{\left( i \right)} \right)N(mN(i),2mN(i)),于是可靠度量N(mN(i),2mN(i))N\left( m_{N}^{\left( i \right)},2m_{N}^{\left( i \right)} \right)N(mN(i),2mN(i))即可计算如下P(Ai)=∫−∞012πmN(i)⋅exp(−(x−mN(i))24mN(i))dxP\left( { {A}_{i}} \right)\text{=}\int\limits_{-\infty }^{0}{\frac{1}{2\sqrt{\pi m_{N}^{\left( i \right)}}}\cdot \exp \left( \frac{-{ {\left( x-m_{N}^{\left( i \right)} \right)}^{2}}}{4m_{N}^{\left( i \right)}} \right)}dxP(Ai)=−∞∫02πmN(i)1⋅exp⎝⎜⎛4mN(i)−(x−mN(i))2⎠⎟⎞dx
总结
巴氏参数、密度进化和高斯近似法都是计算各分裂子信道错误概率P(Ai)P(A_i)P(Ai)的方法,不同的方法有各自的适用范围。巴氏参数仅适用于BEC信道,密度进化法适用于所有类型的B-DMC,而高斯近似法适用于更加实际的BAWGNC。
最后
构造极化码的第一步信道可靠性估计是最关键的,本文讲了三种估计方法,分别是巴氏参数(仅适用于BEC)、密度进化(复杂度很高)和高斯近似(最贴近实际的信道)。
此CSDN上的文章基本为全文摘录,修改部分主要是基于自己的理解,仅供读者参考。
本文作者: Marshall
本文链接: https://marshallcomm.cn/2017/03/05/polar-code-3-encoding-example/
转载-极化码系列(4)-编码之极化信道可靠性估计相关推荐
- 转载-极化码系列(3)-极化码的编码实例
前言 在<Polar Code(2)编码原理>中详细阐述了Polar Code的编码原理.为了更好的理解编码的过程,本文将给出一个编码实例. 设码长 N = 8 N=8 N=8,信息比特数 ...
- 基于极化码(Polar Code)的加密
一. 历史背景 香农曾提出,在任何信道上,可信通信的要求如下: 上式子中R代表码率,C代表信道容量.其中码率的计算公式如下: 上式子中K代表码字长度,N代表总长度.Erdal Arikan第一个发现能 ...
- 极化码的matlab仿真(2)——编码
第二篇我们来介绍一下极化码的编码. 首先为了方便进行编码,我们需要进行数组的定义 signal = randi([0,1],1,ST); %信息位比特,随机二进制数 frozen = zeros(1, ...
- 极化码:极化码的单项式码(Monomial Codes)表示
极化码可以看做单项式码(monomial codes) 对于一个码长为N=2nN = 2^nN=2n的极化码,生成矩阵为 G=Fn.{\bf G} = {\bf F}^n.G=Fn.极化码的极化子信道 ...
- 5G极化码之父造访华为 任正非称将持续基础研究投入
今日下午,被业界誉为"Polar码(极化码)之父"的土耳其毕尔肯大学Erdal Arikan教授参观华为总部,华为创始人任正非与其进行交流. 任正非对Erdal Arikan的来访 ...
- 极化码:基于单项式码的极化码部分序(Partial Order)表示
前言 极化码:极化码的单项式码(Monomial Codes)表示 正文 极化码的部分序(Partial Order)表示极化子信道的固定可靠度排序顺序. 给定极化子信道单项式 f=x0a0x1a1⋯ ...
- matlab画极化码,极化码的matlab仿真(1)——参数设置
根据老师的安排,对于极化码的了解从仿真开始. 仿真的手段有很多种.可以利用C,C++,matlab等进行仿真的实现.其中matlab由于具有强大的函数库,和壮观的矩阵运算能力,被(我们老师课题组)看中 ...
- 美工一流的个人网站源码系列(2),不漂亮你可以不下载!
美工一流的个人网站源码系列(2),不漂亮你可以不下载! 后台用户名和密码都是admin 下载地址: [url]http://down.599cn.com/599cndown/aspdown/soft2 ...
- Ioc容器beanDefinition-Spring 源码系列(1)
Ioc容器beanDefinition-Spring 源码系列(1) 目录: Ioc容器beanDefinition-Spring 源码(1) Ioc容器依赖注入-Spring 源码(2) Ioc容器 ...
最新文章
- 人工智能不再是未来,机器学习靠什么来实现?
- centos 安装java web_centos6.9 安装JAVA-WEB环境
- HDU1506 Largest Rectangle in a Histogram(算竞进阶习题)
- debian下安装LNMP(三)
- 数据中心用多模光纤技术及发展趋势
- Delphi RTC
- 主机无法连接虚拟机中的redis服务
- C++之extern和string的find函数和substr函数和data()函数使用总结
- androidstudio打包apk 文件_Android 打包生成APK文件时报lintOptions配置错误
- python从url获取pdf文件并保存在本地
- 卷积神经网络中的全连接层
- autofs rhel7
- 卡西欧计算机开机键,卡西欧手表怎么开机
- laravel框架的whereIn条件或者where条件里面的in条件怎么写
- 电脑突然没有网络,发现电脑无法打开WiFi列表,打开设备管理器,发现intel(R)wireless-ac 9462感叹号
- Visual Studio 2013 - 高亮设置括号匹配 (方括号)
- 吉林大学珠海学院计算机录取分数线,吉林大学珠海学院录取分数线2021是多少分(附历年录取分数线)...
- 怀旧服服务器荣誉系统是啥,快人一步 争做大元帅 《魔兽世界》怀旧服荣誉系统浅析...
- 如何选择PMP、IPMP、CPMP?
- Google原生机pixel 刷机Root