NR polar code 七- SCL(succesive cancellation list decoding)

前言

   

      SC 是一种贪心算法 ,最终只解码出一个,虽然在无限码长时可以通过SC译码达到香农容量。但是在有限码长时候,由于墨菲定律的缘故,跟CRC协作有问题,对于性能的改善并不是那么明显.

       SCL可以更好的跟CRC 协作,它生成一个列表,列表里面包括[1,2,4,8,16]msg.

      通过CRC校验后,正常会剩下一个校验通过,提高了CRC 校验成功的概率。虽然增加了复杂度,但是对通讯性能改善明显,这个没有数学上面的证明,只是一个工程实践。

目录:

  1. SC 译码和墨菲定律
  2. SCL(succesive cancellation  list decoding)
  3. DM(decision SC)& PM
  4. M = 4 的例子

一 SC 译码 和 墨菲定律

      

          针对k个信息bit:

          Polar解码后,需要进行CRC.因为CRC需要所有的bit位都要传输正确,99.9%正确也没有用,依然需要重传。

         SC编码是基于概率的,从u_1u_N正确传输的概率是越来越高的。

       n个编码全部传输正确的概率为p=p_1*p_2*p_3*...p_n

        则至少有一个出错的概率为err=1-p.

       举个例子:

      (N=10,K=400) 编码长度为1024,信息bit数 为400

           至少一个出错的概率 0.3449(BEC 信道)

         40%概率要重传,当然K设置少一点,可以提高CRC成功性,但是又会导致时隙资源利用率不高。

         这也是modem 普遍性问题,需要总体评估,场景复杂,往往一个问题解决了,会带来更复杂的问题。 比如前面讲过的OFDM,里面的GI,CP怎么算,弄不好表现会更差。

         SC提出来后,很多年以后有人提出了用SCL解决,List decoding 历史非常悠久,并不是什么新东西。只是二者结合后发现了实践效果更好。

           


二  SCL(succesive cancellation  list decoding)

       3.1 简介

           一直到现在我们都是基于二进制树方法去阐述polar,土耳其毕尔肯大学Erdal Arikan教授

原著是基于信息论以及矩阵去讨论其核心思想的。 这种方法也叫SSCL,SSC(simplified SCL)

简化版的SCL,实现的功能原理都是一样的,只是阐述的方法角度不一样。

         SCL 并没有严格的数学证明它是一定有效,可以通过计算机风险理论去理解,

 原来的SC译码,最终只译码出一个最大可能性的结果msg.

 通过SCL可以给出[1,2,4,16] 种msg列表,经过CRC 后正常会剩下一个,针对其它情况可以基于PM从中选择惩罚因子和最小的。

   3.2  方案流程

            

         

            第一步: add CRC

                           这个是物理层干的事,跟Polar无关。

             要发送一个TB,假设长度为A个bits,经过CRC 后,变成一个

             长度为K bits的信息

                            实际需要发送的msg为k bits

           

             第二步 Polar

                           不可靠信道传输 N-K 个冻结bit,固定为0

                           在可靠信道上传输K个bit 

             第三步 输出codeword

                           此刻输出一个codeword 为实际值

             第四步: BPSK AWGN 后传输

             第五步:接收方对收到的数据进行SC List Decoder

                           \begin{bmatrix} msg1\\ msg2 \\ msg3 \\ msg4 \end{bmatrix} 

                       SC decoder后,只会输出一个最大概率的msg

                        list Decoder 会输出[4,8,16]个msg.每个msg都是

                        原始发送数据的一个预测值

              第六步: CRC

                     物理层的收到的msg List 进行estimate.

                     正常会有三种情况:

                      1: 只有一个通过CRC校验,保留

                      2: 一个不通过CRC 校验,重传

                      3: 一个以上通过,通过PM策略,选择一个惩罚因子和最小的。

                            实际场景中第3种, 极少遇到概率低于百万分之一(跟CRC长度有关系)

 


三  DM(decision SC)& PM

    

 

          原有的SC方案,解码第i个bit时,基于L(u)只会给出一个结果,要么是0,要么是1.

          SCL 方案,

          针对消息bit:

           解码第i个bit时候,同时给出2个结果。

           如果L(u_i)\geq 0:

                    \hat{u_i}=0,DM_i=0 ,DM 决策惩罚因子.此刻为0

                    \hat{u_i}=1,DM_i=|L(u_i)|,因为此刻跟belief 做出的相反的决定,所以以belief 的绝对值作为惩罚因子

            如果L(u_i)<0:

                     \hat{u_i}=1,DM_i=0

                      \hat{u_i}=1,DM_i=|L(u_i)|      因为此刻跟belief 做出的相反的决定,所以以belief 的绝对值 作为惩罚因子

        针对冻结bit

                  此刻只会做出一个decision, 但是如果L(u_i)<0,依然要

加上此刻的DM_i(0)=|L(u_i)|

 

  PM(path Metric)

              我们把解码出的bit 的 DM加起来就是这条路径的PM,这个值越小。说明可信度越高。


四   M = 4 的例子

        4.1  基本结构,基于PM,DM 的分裂过程

 

  先解码u_1,给出两个路径,每个路径上有2个惩罚因子:   

   DM_1(0):      判决为0,给出的惩罚因子

  DM_1(1):       判决为1,给出的惩罚因子

  再基于上面的两个路径,再做出DM,此刻就有了4条路径,

           size of PM=4

  4.2 剪枝

   当我们连续解码到第3个bit时候,就有了8个路径,这个时候要基于PM做一个排序,

保留最低的4个,剪掉惩罚因子和最高的4个。

   后面的流程也是如此

 

 

      

      

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值