5G全流程详解5:Polar译码

LR译码

       LR是likelihood ratio的缩写。由于编码矩阵是二元域矩阵,那么我们有{H}'=H,所以完全可以理解为译码为编码的逆过程。那么可以得到当编码输入数据长度为2时,译码过程如下图所示

LR(\hat{a})推导过程如下:

p(\hat{a}=0)=p(\hat{c}=0)p(\hat{d}=0)+p(\hat{c}=1)p(\hat{d}=1)

 p(\hat{a}=0)=p(\hat{c}=0)p(\hat{d}=1)+p(\hat{c}=1)p(\hat{d}=0)

LR(\hat{a})=\frac{p(\hat{a}=0)}{p(\hat{a}=1)}=\frac{p(\hat{c}=0)p(\hat{d}=0)+p(\hat{c}=1)p(\hat{d}=1)}{p(\hat{c}=0)p(\hat{d}=1)+p(\hat{c}=1)p(\hat{d}=0)}=\frac{1+\frac{p(\hat{c}=0)p(\hat{d}=0)}{p(\hat{c}=1)p(\hat{d}=1)}}{\frac{p(\hat{c}=0)}{p(\hat{c}=1)}+\frac{p(\hat{d}=0)}{p(\hat{d}=1)}}=\frac{1+LR(\hat{c})LR(\hat{d})}{LR(\hat{c})+LR(\hat{d})}

LR(\hat{b})推导过程如下:

if \hat{a}=0

P_{\hat{a}=0}(\hat{b}=0)=P(\hat{c}=0)P(\hat{d}=0)

P_{\hat{a}=0}(\hat{b}=1)=P(\hat{c}=1)P(\hat{d}=1)

LR_{\hat{a}=0}(\hat{b})=LR(\hat{c})LR(\hat{d})

if \hat{a}=1

P_{\hat{a}=1}(\hat{b}=0)=P(\hat{c}=1)P(\hat{d}=0)

P_{\hat{a}=1}(\hat{b}=1)=P(\hat{c}=0)P(\hat{d}=1)

LR_{\hat{a}=1}(\hat{b})=[LR(\hat{c})]^{-1}LR(\hat{d})

所以可以得到

LR(\hat{b})=[LR(\hat{c})]^{1-2\hat{a}}LR(\hat{d})

同理,当编码输入长度为4时,译码过程如下

进一步的,我们可以用二叉树的形式总结出极化码译码过程

我们可以看到,u1,u2,u3,u4的译码二叉树基本一致,除了输入u的不同。

我们可以引出g-node和f-node的概念

有u输入的,被称为g-node,没有u输入的,称为f-node。

那么如何确定每个节点有没有u输入以及u是多大呢?下面介绍一种利用生成矩阵产生u的方法

  • step 1

将M(前面译出的码元个数)写成二进制形式

M=\sum _i2^i=2^{i_1}+2^{i_2}+...+2^{i_k}=M_1+M_2+...+M_k

i表示被分配bit节点所在层数

  • step 2

将已解码bit向量u_{1}^{M}分成子向量\bar{v}_1,\bar{v}_2,...,\bar{v}_k,包含M_1,M_2,...,M_k个bit,如下图所示

  • step 3

按下面公式计算在第i_1,i_2,...,i_k层的node bits,G为生成矩阵

  • step 4

将node bits分配到相应节点,然后开始译码

下面举个例子来说明

当极化码code word长度N=8时,假设我们现在前5bit为[1 0 1 1 1],我们现在要译码第六个bit,我们开始尝试用上面方法来完成译码:

  • step 1

5=\sum _i2^i=2^{0}+2^{2}

  • step 2

\bar{v}_0为u5,\bar{v}_2为[u1,u2,u3,u4]

  • step3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值