一种非递归的SC译码部分和确定方法及装置与流程

文档序号:14185683
本发明涉及信道编码领域,具体涉及一种非递归的SC译码部分和确定方法及装置。
背景技术
::SC(SuccessiveCancellation)是极化码(PolarCode)的第一个也是目前应用最为广泛的译码算法。极化码具有香农限可达的纠错性能。与LDPC相比,不但具有更好的纠错性能,并且具有更低的编译码复杂度。极化码目前在信道编码领域与量子密钥分发(QuantumKeyDistribution,QKD)领域均有广泛的应用。在传输消息之前,通信双方首先需要确定期望的信道传输码率,记为R。由香农定理,为了可靠传输需满足R≤I(W)。然后通信双方需要根据信道挑选方法从N个极化信道中挑选出NR个使得信道WN的可靠性尽可能地高,记K=NR。这些被选中的极化信道的序号称为信息位,未被选中的极化信道的序号被称为冻结位。记信息位的集合为I,冻结位的集合可记为Ic,最后,通信双方需要约定冻结位上填充的比特值,记为因此极化码可由四元组表示。发送方通过极化码编码操作将编码为后,通过信道W经由N次发送给接收方,设接收方接收到的比特串为该过程也可以看作在组合信道WN上输入消息为输出消息为的传输过程。接收方需要根据以及四元组信息估计的值,记为组合信道WN由N个极化信道组成,第i个极化信道的输入为ui,输出为与因此比特ui的估计值可根据与部分估计序列计算。由于的计算依赖于SC译码算法需要对逐个进行译码判决。SC译码器按式(1)依次计算比特的值,其中为似然比(LikelihoodRatio,LR),定义为公式(2)可通过递归公式(3)与(4)计算,其中g(a,b,s)=a1-2s·b(6)现有的基于软件平台实现的SC译码算法均采用递归的方式实现,例如文献[1-3]。SC译码算法的递归实现来源于SC译码器的递归树形表示。图1给出了N=8时SC译码器的递归树形表示,其中节点Mk表示第N/2k层的2k个似然比计算单元,表示第N/2k层,第i个似然比;表示第N/2k层,第a个似然比到第b个似然比的b-a+1个似然比;表示第N/2k层,第i个部分和,表示其估计值;表示第N/2k层,第a个部分和到第b个部分和的b-a+1个部分和,表示其估计值。每个非根非叶子节点以其父节点输出的似然比为输入,利用式(5)中的函数f或式(6)中的函数g对这些似然比进行处理并输出给左右子节点,对左右子节点返回的部分和进行处理得到部分和并输出给父节点。根节点M3以信道似然比为输入,经过处理输出给左右子节点M2,但是并不对左右子节点返回的部分和进行处理;叶子节点M0对输入的似然比按式(1)进行译码判决得到估计比特并返回部分和图2示例了非根非叶子节点数据处理的一般过程。节点Mk接收父节点Mk+1的似然比并将其经过处理传递给左右子节点。传递给左子结点Mk-1的似然比为传递给右子结点Mk-1的似然比为其中为左子结点返回的部分和,a=j·2k+1,节点Mk按式(9)与式(10)处理左右子节点返回的部分和得到部分和并输出给父节点Mk+1。上述的递归过程直至叶子节点M0处结束。这种递归的实现方式总共需要2N-2次函数调用,空间复杂度为O(Nlog2N)。文献[4]为了减少函数调用成本,对递归的SC译码算法进行了部分递归展开。具体来说是对节点M3进行了递归展开处理。此时,该算法的函数递归调用次数为N/4-2,空间复杂度仍为O(Nlog2N)。综上,文献[1-3]中算法的缺点在于递归函数调用次数太多,为2N-2次。文献[4]虽然通过递归展开减少了递归函数调用次数,但是其仍为N/4-2。当N很大时,这些文献中的算法的递归函数调用次数太大。在实际应用中,极化码的帧长N一般为220。此外文献[1-4]中算法的空间复杂度均为O(Nlog2N),比较高。技术实现要素:本发明的目的是为了解决现有的递归的SC译码算法调用递归函数的次数太多,空间复杂度比较高,进而导致通信过程中运算时间过长、占用存储空间过大的缺点,而提出一种非递归的SC译码部分和确定方法及装置。一种非递归的SC译码部分和确定方法,所述方法在传输信息之前,通信双方首先需要确定期望的信道传输码率,然后通信双方需要根据信道挑选方法从N个极化信道中挑选出NR个使得信道WN的可靠性尽可能地高,最后,通信双方需要约定冻结位上填充的比特值;发送方通过极化码编码操作将编码为后,通过信道W经由N次发送给接收方,设接收方接收到的比特串为该过程也可以看作在组合信道WN上输入消息为输出消息为的传输过程;接收方需要根据以及四元组信息估计的值,记为组合信道WN由N个极化信道组成,第i个极化信道的输入为ui,输出为与因此比特ui的估计值可根据与部分估计序列计算。由于的计算依赖于SC译码算法需要对逐个进行译码判决;第i个极化信道的输入为ui,比特ui的估计值根据与部分估计序列计算,设已经估计完成,为待估计量,则所述方法的特征在于,包括如下步骤:步骤一、将与对应的M0节点的部分和进行输出;其中M0节点表示以为根节点的子树的叶子节点;ki为估计时似然比计算的最大递归深度;步骤二、定义α=i-2k,k=1;步骤三、执行如下运算共2k-1次,用于计算节点Mk的部分和,其中的等号表示赋值运算:步骤四、使k的值加1,重复执行步骤三,直至k=ki;步骤五;输出本发明还包括一种非递归的SC译码部分和确定装置,所述装置是基于SC译码算法实现的,在传输信息之前,通信双方首先需要确定期望的信道传输码率,然后通信双方需要根据信道挑选方法从N个极化信道中挑选出NR个使得信道WN的可靠性尽可能地高,最后,通信双方需要约定冻结位上填充的比特值;发送方通过极化码编码操作将编码为后,通过信道W经由N次发送给接收方,设接收方接收到的比特串为该过程也可以看作在组合信道WN上输入消息为输出消息为的传输过程;接收方需要根据以及四元组信息(N,K,I,uIc),估计的值,记为组合信道WN由N个极化信道组成,第i个极化信道的输入为ui,输出为与因此比特ui的估计值可根据与部分估计序列计算。由于的计算依赖于SC译码算法需要对逐个进行译码判决;第i个极化信道的输入为ui,比特ui的估计值根据与部分估计序列计算,设已经估计完成,为待估计量,则所述方法的特征在于,包括如下步骤:第一部分和输出单元,用于将与对应的M0节点的部分和进行输出;其中M0节点表示以为根节点的子树的叶子节点;ki为估计时似然比计算的最大递归深度;变量初始化单元,用于进行如下变量的初始化α=i-2k,k=1;部分和计算单元,用于执行如下运算共2k-1次,用于计算节点Mk的部分和,其中的等号表示赋值运算:循环控制单元,用于使k的值加1,并使部分和计算单元重复运算,直至k=ki;第二部分和输出单元;输出本发明的有益效果为:与现有技术相比,本发明提出的技术方案将递归函数调用次数减少为0次,将空间复杂度降为O(N)。递归函数调用次数的减少提高了SC译码算法的译码速度。为了说明这一效果,我们比较非递归的SC译码算法、递归的SC译码算法、以及文献[4]中部分递归展开(M3节点)的SC译码算法的译码速度性能。本发明的递归函数调用次数为0次,部分递归展开的SC译码算法的次数为递归的SC译码算法的函数调用次数为测试环境为:IntelXeonCPUE31225,主频为3.10GHz。每个数据点均为100组测试的平均值。图3列出了三种比较算法的译码速度性能。从图中可以看出非递归的SC译码算法的速度最快,部分递归展开的SC译码算法次之,递归的SC译码算法最差。图4列出了非递归SC译码算法与部分递归展开的SC译码算法的译码速度与递归的SC译码算法的译码速度的比值,可以看出,非递归SC译码算法的译码速度是递归SC译码算法的2.2~3.3倍,部分展开的SC译码算法的译码速度是递归SC译码算法的1.6~2.2倍。附图说明图1为N=8时的SC译码器的递归树形表示的结构示意图;图2为SC译码器的递归树的节点Mk数据处理示意图;图3为具体实施方式一的部分和的非递归计算的示意图;图4为具体实施方式三的采用时分复用技术的SC递归树示意图;图5为SC译码器速度对比图;图6为非递归的SC译码算法与部分递归展开的SC译码算法的译码速度与递归的SC译码算法的译码速度的比值对比图。具体实施方式具体实施方式一:本实施方式提供一种非递归的SC译码部分和确定方法,所述方法在传输信息之前,通信双方首先需要确定期望的信道传输码率,然后通信双方需要根据信道挑选方法从N个极化信道中挑选出NR个使得信道WN的可靠性尽可能地高,最后,通信双方需要约定冻结位上填充的比特值;发送方通过极化码编码操作将编码为后,通过信道W经由N次发送给接收方,设接收方接收到的比特串为该过程也可以看作在组合信道WN上输入消息为输出消息为的传输过程;接收方需要根据以及四元组信息(N,K,I,uIc),估计的值,记为组合信道WN由N个极化信道组成,第i个极化信道的输入为ui,输出为与因此比特ui的估计值能够根据与部分估计序列计算;由于的计算依赖于SC译码算法需要对逐个进行译码判决;第i个极化信道的输入为ui,比特ui的估计值根据与部分估计序列计算。SC译码算法中包含两种类型数据的计算:一是似然比的计算;二是部分和的计算。而本发明主要针对部分和的计算进行改进。假设已经估计完成。对于的估计,我们需要依次计算图3中紫色点虚线标记的似然比,其中仅有似然比的计算需要用到函数g与部分和而其他似然比的计算均使用函数f。部分和由以为根节点的子树决定,其中一部分部分和在估计时已经计算(图中蓝色虚线标记),因此不需要重新计算。我们仅需要计算该子树最右侧边对应的部分和(图中红色实线标记),即与有关的部分和。通过以对应的M0为起点,沿着最右侧边逐级往上直至节点我们可以实现部分和的非递归计算。如算法2所示:上述算法可以表述为:步骤一、将与对应的M0节点的部分和进行输出;其中M0节点表示以为根节点的子树的叶子节点;ki为估计时似然比计算的最大递归深度;步骤二、定义α=i-2k,k=1;步骤三、执行如下运算共2k-1次,用于计算节点Mk的部分和,其中的等号表示赋值运算:步骤四、使k的值加1,重复执行步骤三,直至k=ki+1;步骤五;输出具体实施方式二:本实施方式与具体实施方式一不同的是:估计的具体方法为:当计算时,依次计算f2,f4,…,fN;当计算时,依次计算其中fj表示使用公式f计算第j层的似然比公式f具体为:gj表示使用公式g计算第j层的似然比公式g具体为:g(a,b,s)=a1-2s·bki为估计时似然比计算的最大递归深度;2≤i≤N。即得到似然比的方法有很多,可以使用本实施方式中的似然比计算方式,本实施方式的好处是,计算似然比也使用非递归的方式,算法的时间、空间效率都更高。其它步骤及参数与具体实施方式一相同。具体实施方式三:本实施方式与具体实施方式一或二不同的是:当计算完Mk节点的左子节点部分和时,将左子节点部分和存储在应当存储Mk部分和的存储空间内,当计算完Mk右子节点的部分和时,将Mk右子节点的部分和存储在Mk左子节点的存储空间内,当通过Mk左子节点部分和以及Mk右子节点部分和计算完Mk的部分和时,将存储在右子节点的存储空间内。具体而言,为了降低空间复杂度,我们在非递归的SC译码算法中对似然比与部分和采用时分复用存储。对于似然比,由于每次仅输入或输出一个节点的似然比,因此似然比的时分复用存储不会存在访问冲突。而对于部分和,左右子节点的部分和同时在式(9)的右边,这意味着左右子节点的部分和必须同时可用,因而时分复用将造成数据覆盖。以图2进行说明,考虑到部分和仅当左子节点与右子节点均返回部分和时才会被使用,并且总是左子节点的部分和先输出,然后用于计算输入到右子节点的似然比,右子节点才返回其部分和因此当左子节点返回部分和时,我们可以将其存储在中,这样右子节点可以复用左子节点的部分和存储单元,当右子节点返回部分和时再更新的值。这一处理过程本质上是将式(9)拆分成式(13)与式(14)的过程。通过时分复用存储,似然比与部分和的空间复杂度均为O(N)。如图4所示。其它步骤及参数与具体实施方式一或二相同。具体实施方式四:本实施方式提供一种非递归的SC译码部分和确定装置,所述装置是基于SC译码算法实现的,在传输信息之前,通信双方首先需要确定期望的信道传输码率,然后通信双方需要根据信道挑选方法从N个极化信道中挑选出NR个使得信道WN的可靠性尽可能地高,最后,通信双方需要约定冻结位上填充的比特值;发送方通过极化码编码操作将编码为后,通过信道W经由N次发送给接收方,设接收方接收到的比特串为该过程也可以看作在组合信道WN上输入消息为输出消息为的传输过程;接收方需要根据以及四元组信息(N,K,I,uIc),估计的值,记为组合信道WN由N个极化信道组成,第i个极化信道的输入为ui,输出为与因此比特ui的估计值可根据与部分估计序列计算。由于的计算依赖于SC译码算法需要对逐个进行译码判决;第i个极化信道的输入为ui,比特ui的估计值根据与部分估计序列计算,设已经估计完成,为待估计量,则所述方法的特征在于,包括如下步骤:第一部分和输出单元,用于将与对应的M0节点的部分和进行输出;其中M0节点表示以为根节点的子树的叶子节点;ki为估计时似然比计算的最大递归深度;变量初始化单元,用于进行如下变量的初始化α=i-2k,k=1;部分和计算单元,用于执行如下运算共2k-1次,用于计算节点Mk的部分和,其中的等号表示赋值运算:循环控制单元,用于使k的值加1,并使部分和计算单元重复运算,直至k=ki+1;第二部分和输出单元;输出本实施方式是具体实施方式一对应的软件装置,此处不再对原理做详细阐述。具体实施方式五:本实施方式与具体实施方式四不同的是:非递归的SC译码部分和确定装置还包括:第一存储分配单元,用于当计算完Mk节点的左子节点部分和时,将左子节点部分和存储在应当存储Mk部分和的存储空间内;第二存储分配单元,用于当计算完Mk右子节点的部分和时,将Mk右子节点的部分和存储在Mk左子节点的存储空间内;第三存储分配单元,用于当通过Mk左子节点部分和以及Mk右子节点部分和计算完Mk的部分和时,将存储在右子节点的存储空间内。本实施方式是具体实施方式三对应的软件装置,此处不再对原理做详细阐述。其它步骤及参数与具体实施方式四相同。本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。相关文献[1]GiardP,SarkisG,ThibeaultC,etal.Fastsoftwarepolardecoders[C].Acoustics,SpeechandSignalProcessing(ICASSP),2014IEEEInternationalConferenceon,2014:7555–7559.[2]GiardP,SarkisG,LerouxC,etal.Low-latencysoftwarepolardecoders[J].arXivpreprintarXiv:1504.00353,2015.[3]CassagneA,LeGalB,LerouxC,etal.AnEfficient,PortableandGenericLibraryforSuccessiveCancellationDecodingofPolarCodes[C].The28thInternationalWorkshoponLanguagesandCompilersforParallelComputing(LCPC2015).,2015.[4]LeGalB,LerouxC,JegoC.Multi-Gb/sSoftwareDecodingofPolarCodes[J].SignalProcessing,IEEETransactionson,2015,63(2):349-359.[5]LeouxC,RaymondAJ,SarkisG,etal.ASemi-ParallelSuccessive-CancellationDecoderforPolarCodes[J].SignalProcessing,IEEETransactionson,2013,61(2):289-299.当前第1页1 2 3 当前第1页1 2 3 
再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1