本发明涉及信道编码领域,具体涉及一种非递归的sc译码似然比确定方法及装置。
背景技术:
sc(successivecancellation)是极化码(polarcode)的第一个也是目前应用最为广泛的译码算法。极化码具有香农限可达的纠错性能。与ldpc相比,不但具有更好的纠错性能,并且具有更低的编译码复杂度。极化码目前在信道编码领域与量子密钥分发(quantumkeydistribution,qkd)领域均有广泛的应用。
在传输消息之前,通信双方首先需要确定期望的信道传输码率,记为r。由香农定理,为了可靠传输需满足r≤i(w)。然后通信双方需要根据信道挑选方法从n个极化信道中挑选出nr个使得信道wn的可靠性尽可能地高,记k=nr。这些被选中的极化信道的序号称为信息位,未被选中的极化信道的序号被称为冻结位。记信息位的集合为i,冻结位的集合可记为ic,最后,通信双方需要约定冻结位上填充的比特值,记为
发送方通过极化码编码操作将
sc译码器按式(1)依次计算
其中
公式(2)可通过递归公式(3)与(4)计算,
其中
g(a,b,s)=a1-2s·b.(6)
现有的基于软件平台实现的sc译码算法均采用递归的方式实现,例如文献[1-3]。sc译码算法的递归实现来源于sc译码器的递归树形表示。图1给出了n=8时sc译码器的递归树形表示,其中节点mk表示第n/2k层的2k个似然比计算单元,
图2示例了非根非叶子节点数据处理的一般过程。节点mk接收父节点mk+1的似然比
传递给右子结点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的可靠性尽可能地高,最后,通信双方需要约定冻结位上填充的比特值;
发送方通过极化码编码操作将
第i个极化信道的输入为ui,比特ui的估计值
当计算
当计算
gj表示使用公式g计算第j层的似然比
g(a,b,s)=a1-2s·b.
ki为估计
本发明的有益效果为:
与现有技术相比,本发明提出的技术方案将递归函数调用次数减少为0次,将空间复杂度降为o(n)。递归函数调用次数的减少提高了sc译码算法的译码速度。为了说明这一效果,我们比较非递归的sc译码算法、递归的sc译码算法、以及文献[4]中部分递归展开(m3节点)的sc译码算法的译码速度性能。本发明的递归函数调用次数为0次,部分递归展开的sc译码算法的次数为
图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为sc译码器速度对比图;
图4为非递归的sc译码算法与部分递归展开的sc译码算法的译码速度与递归的sc译码算法的译码速度的比值对比图。
具体实施方式
具体实施方式一:本实施方式提供一种非递归的sc译码似然比确定方法,所述方法在传输信息之前,通信双方首先需要确定期望的信道传输码率,然后通信双方需要根据信道挑选方法从n个极化信道中挑选出nr个使得信道wn的可靠性尽可能地高,最后,通信双方需要约定冻结位上填充的比特值;
发送方通过极化码编码操作将
第i个极化信道的输入为ui,比特ui的估计值
sc译码算法中包含两种类型数据的计算:一是似然比的计算;二是部分和的计算。所以非递归的sc译码算法应该解决似然比与部分和的非递归计算问题。而本发明主要针对似然比的计算进行改进。
似然比计算的主要指导思想是最大化共享似然比。由递归公式(3)与(4),第n层的似然比,
换句话说,译码调度包括以下两个部分:
part1决定zi的值,即决定似然比递归计算的深度;
在sc译码中,当计算
part2决定计算第n/2k(0≤k<zi)层的似然比时应该使用哪个计算公式(f还是g)。
现有的方法大多数通过计算
详细的方案原理如下:
定义1(共享因子)对任意给定的整数1≤i≤n,它的共享因子记为zi,定义为整数i-1二进制展开后末尾连续0的个数。特别地,当i=1时,zi=n-1。即
则,可将i写成
从而
由式(11)可知,当i=1时,对任意的(0≤k≤zi),
也就是说,当i=1时,第n/2k(0≤k<zi)层的似然比的计算公式为f;当2≤i≤n时,第
因此,似然比的非递归计算算法为:当计算
公式f具体为:
gj表示使用公式g计算第j层的似然比
g(a,b,s)=a1-2s·b.
ki为估计
具体实施方式二:本实施方式与具体实施方式一不同的是:
计算f2,f4,…,fn以及
为了降低空间复杂度,我们在非递归的sc译码算法中对似然比与部分和采用时分复用存储。对于似然比,由于每次仅输入或输出一个节点的似然比,因此似然比的时分复用存储不会存在访问冲突。
综合具体实施方式一和二可以看出,本发明通过采用非递归的方式实现sc译码算法,将递归函数调用次数降为0次,提高了译码速率。此外通过对似然比与部分和采用时分复用的存储方式,将算法空间复杂度降为o(n)。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式提供一种非递归的sc译码似然比确定装置,所述装置是基于sc译码算法实现的,在传输信息之前,通信双方首先需要确定期望的信道传输码率,然后通信双方需要根据信道挑选方法从n个极化信道中挑选出nr个使得信道wn的可靠性尽可能地高,最后,通信双方需要约定冻结位上填充的比特值。
发送方通过极化码编码操作将
第i个极化信道的输入为ui,比特ui的估计值
本实施方式的装置包括:
第一计算模块,用于当i=1,即需要计算
第二计算模块,用于当2≤i≤n,即需要计算
gj表示使用公式g计算第j层的似然比
g(a,b,s)=a1-2s·b.
ki为估计
本实施方式与具体实施方式一对应相同,本实施方式中不再详细描述。
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:计算f2,f4,…,fn以及
其它步骤及参数与具体实施方式一至三之一相同。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。