一种译码方法与译码装置

未命名 07-29 阅读:107 评论:0


1.本发明涉及信道译码技术领域,尤其涉及一种译码方法与译码装置。


背景技术:

2.低密度奇偶校验码(ldpc)是于1962年被提出的一种基于奇偶校验矩阵的线性分组码,它具有良好的纠错性能并且可逼近香农极限。多进制和积译码方法(qspa)是最早提出的多进制ldpc译码方法,这种方法能够提供最优的译码性能,在相同的码率和码长的情况下,多进制ldpc码相较于二进制ldpc码在应对突发错误和连续错误时具有更好的性能,因而具有更高的可靠性,也更适用于高阶调制通信系统和高速率传输系统。但多进制ldpc译码方法的译码复杂度与伽罗华域阶数q的平方成正比,当q较大时,译码计算量将难以被接受,这导致其复杂度是限制它被广泛应用的主要因素,一直以来众多研究学者致力于寻找复杂度低,收敛速度快,易于硬件实现的多进制ldpc译码方法。
3.多进制ldpc译码方法按照节点的更新机制可以分为洪水译码和分层译码。洪水译码方法在一次迭代过程中只有对所有变量节点更新完以后才会对所有校验节点进行更新(反之亦然),目前广泛使用的译码方法,如扩展最小和(ems)方法、固定路径最小和(fms)方法等,都是洪水译码方法,这类方法在一次迭代过程中对所有信息只进行一次更新,因此迭代收敛性能较差,译码延时较高。
4.当多进制ldpc码的tanner图中出现环时,会破坏迭代译码方法的独立性假设,导致节点与节点之间外部消息传递的独立性降低并且传递的外部消息出现震荡,使得置信传播译码不能成功收敛到一个最优的译码结果。由于一般情况下tanner图中出现一定围长(girth)的环是不可避免的,因此有必要对现有方法进行改进来抑制外部消息的震荡。


技术实现要素:

5.鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的译码方法与译码装置。
6.第一方面,本发明提供了一种译码方法,包括:分层译码过程中,在当前迭带次数下对每一个分层进行层节点更新时,对当前层节点更新的上一个层节点更新的结果进行硬判决;
7.对所述硬判决的结果进行译码校验;
8.校验结果满足条件,则结束译码;
9.校验结果不满足条件,则利用所述当前迭带与上次迭带接收外信息的加权平均结果,完成所述当前层节点更新;
10.根据完成所述当前层节点更新的当前更新层数、所述当前迭带次数,判断结束译码或者进行所述当前层节点更新的下一个层节点更新。
11.可选的,所述利用所述当前迭带与上次迭带接收外信息的加权平均结果,进行所述当前层节点更新,包括:
12.将当前迭带与上次迭带接收置信度向量外信息代入加权平均公式,计算变量节点传给校验节点的第一置信度向量;
13.对所述第一置信度向量进行排序后截短,得到第二置信度向量;
14.利用所述第二置信度向量,计算所述校验节点传给所述变量节点的第三置信度向量;
15.将所述第三置信度向量扩展至与所述第一置信度向量长度相同,得到第四置信度向量;
16.利用所述第一置信度向量和所述第四置信度向量的和,更新所述变量节点的后验概率,完成所述层节点更新。
17.可选的,所述当前层节点更新,还包括:
18.通过设定的有限域定义与所述第一置信度向量对应的第一域元素向量;
19.对所述第一域元素向量进行排序后截短,得到与所述第二置信度向量对应的第二域元素向量;
20.利用与所述变量节点相连的置换节点来对所述第二域元素向量进行置换,得到第三域元素向量;
21.利用所述第三域元素向量,计算所述校验节点传给所述变量节点的第四域元素向量,所述第四域元素向量与所述第三置信度向量对应;
22.利用与所述校验节点相连的置换节点来对所述第四域元素向量进行逆置换,得到第五域元素向量;
23.将所述第五域元素向量扩展至与所述第一域元素向量长度相同,得到第六置信度向量,所述第六域元素向量与所述第四置信度向量对应。
24.可选的,所述对当前层节点更新的上一个层节点更新的结果进行硬判决,包括:
25.从上一个完成的所述当前层节点更新的结果中,根据所述变量节点的后验概率,从所述第六域元素向量中判决出与所述第四置信度向量对应的域元素符号,所述域元素符号的集合构成硬判决结果;
26.所述对所述硬判决的结果进行译码校验,包括:
27.利用校验矩阵对所述硬判决结果进行校验;
28.其中所述校验矩阵在所述设定的有限域下根据分层译码思想进行的分层。
29.可选的,根据所述当前层的层数、所述当前迭带次数,判断结束译码或者进行所述当前层节点更新的下一个层节点更新,包括:
30.如果所述当前更新层数不是最后一层,则在所述当前迭带次数下,对所述当前更新层数的下一个分层进行所述层节点更新;
31.如果所述当前更新层数是最后一层且所述当前迭代次数达到最大迭代数,则结束译码;
32.如果所述当前更新层数是最后一层且所述当前迭代次数未达到最大迭代数,则在所述当前迭带次数的下一个迭代次数下,对第一个分层进行所述层节点更新。
33.第二方面,提供一种译码装置,包括:
34.硬判决模块,用于在分层译码过程中,在当前迭带次数下对每一个分层进行层节点更新时,对当前层节点更新的上一个层节点更新的结果进行硬判决;
35.译码校验模块,用于对所述硬判决的结果进行译码校验;校验结果满足条件,则结束译码;
36.更新模块,用于校验结果不满足条件,则利用所述当前迭带与上次迭带接收外信息的加权平均结果,完成所述当前层节点更新;
37.控制模块,用于根据完成所述当前层节点更新的当前更新层数、所述当前迭带次数,判断结束译码或者进行所述当前层节点更新的下一个层节点更新。
38.可选的,所述更新模块,包括:
39.变量节点更新模块,用于将当前迭带与上次迭带接收置信度向量外信息代入加权平均公式,计算变量节点传给校验节点的第一置信度向量;对所述第一置信度向量进行排序后截短,得到第二置信度向量;
40.校验节点更新模块,用于利用所述第二置信度向量,计算所述校验节点传给所述变量节点的第三置信度向量;
41.扩展模块,用于将所述第三置信度向量扩展至与所述第一置信度向量长度相同,得到第四置信度向量;
42.后验概率更新模块,用于利用所述第一置信度向量和所述第四置信度向量的和,更新所述变量节点的后验概率,完成所述层节点更新。
43.可选的,通过设定的有限域定义与所述第一置信度向量对应的第一域元素向量,所述更新模块,还包括置换模块、逆置换模块;
44.所述变量节点更新模块,用于对所述第一域元素向量进行排序后截短,得到与所述第二置信度向量对应的第二域元素向量;
45.所述置换模块,用于利用与所述变量节点相连的置换节点来对所述第二域元素向量进行置换,得到第三域元素向量;
46.所述校验节点更新模块,用于利用所述第三域元素向量,计算所述校验节点传给所述变量节点的第四域元素向量,所述第四域元素向量与所述第三置信度向量对应;
47.所述逆置换模块,用于利用与所述校验节点相连的置换节点来对所述第四域元素向量进行逆置换,得到第五域元素向量;
48.所述扩展模块,还用于将所述第五域元素向量扩展至与所述第一域元素向量长度相同,得到第六置信度向量,所述第六域元素向量与所述第四置信度向量对应。
49.可选的,所述硬判决模块,用于从上一个完成的所述当前层节点更新的结果中,根据所述变量节点的后验概率,从所述第六域元素向量中判决出与所述第四置信度向量对应的域元素符号,所述域元素符号的集合构成硬判决结果;
50.所述译码校模块,用于利用校验矩阵对所述硬判决结果进行校验;
51.其中所述校验矩阵在所述设定的有限域下根据分层译码思想进行的分层;
52.可选的,所述控制模块,用于根据所述当前层的层数、所述当前迭带次数,进行以下判断:
53.如果所述当前更新层数不是最后一层,则在所述当前迭带次数下,对所述当前更新层数的下一个分层进行所述层节点更新;
54.如果所述当前更新层数是最后一层且所述当前迭代次数达到最大迭代数,则结束译码;
55.如果所述当前更新层数是最后一层且所述当前迭代次数未达到最大迭代数,则在所述当前迭带次数的下一个迭代次数下,对第一个分层进行所述层节点更新。
56.本发明实施例中提供的技术方案,至少具有如下技术效果或优点:
57.本发明实施例提供的译码方法与译码装置,一方面,采用分层译码策略,在执行每一个分层更新前,先对上一个分层更新的结果进行硬判决与译码校验,若译码正确,则提前终止译码,大大提升了译码方法的迭代收敛性能。另一方面,在分层译码过程中的变量节点更新阶段,利用当前迭代和上次迭代接收的外信息的加权平均结果来进行信息更新,变量节点对来自校验节点的经过置换后的信息进行扩展以后,再对信息中的置信度向量乘以加权因子,抑制了外信息的震荡,提高了误码率性能,相较于现有扩展最小和方法、固定路径最小和方法,本发明方法在译码误码率性能和迭代收敛性能方面都有明显的提升,有效地降低误码平层。
58.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
59.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
60.图1为本发明实施例中译码方法流程图;
61.图2为为本发明实施例中译码装置的模块图;
62.图3为本发明实施例中译码方法应用于ems方法曲线对比图一;
63.图4为本发明实施例中译码方法应用于ems方法曲线对比图二;
64.图5为本发明实施例中译码方法应用于fms方法曲线对比图一;
65.图6为本发明实施例中译码方法应用于fms方法曲线对比图二;
具体实施方式
66.下面将参照附图更详细地描述本公开的示例性实施例。
67.在附图中示出了根据本公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状以及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
68.在本公开的上下文中,当将一层/元件称作位于另一层/元件“上”时,该层/元件可以直接位于该另一层/元件上,或者它们之间可以存在居中层/元件。另外,如果在一种朝向中一层/元件位于另一层/元件“上”,那么当调转朝向时,该层/元件可以位于该另一层/元件“下”。在本公开的上下文中,相似或者相同的部件可能会用相同或者相似的标号来表示。
69.为了更好的理解上述技术方案,下面将结合具体的实施方式对上述技术方案进行详细说明,应当理解本公开内容实施例以及实施例中的具体特征是对本技术技术方案的详
细的说明,而不是对本技术技术方案的限定,在不冲突的情况下,本技术实施例以及实施例中的技术特征可以相互组合。
70.本实施例提供了一种译码方法,包括:
71.步骤s1,分层译码过程中,在当前迭带次数下对每一个分层进行层节点更新时,对当前层节点更新的上一个层节点更新的结果进行硬判决;
72.步骤s2,对所述硬判决的结果进行译码校验;校验结果满足条件,则结束译码;
73.步骤s3,校验结果不满足条件,则利用所述当前迭带与上次迭带接收外信息的加权平均结果,完成所述当前层节点更新;
74.步骤s4,根据完成所述当前层节点更新的当前更新层数、所述当前迭带次数,判断结束译码或者进行所述当前层节点更新的下一个层节点更新。
75.由于在进行每一个层节点更新时都会用到上一个层节点更新的结果,如果采用现有分层译码方法,在同一个迭带次数下对所有分层的层节点更新都完成以后才进行校验,则校验结果正确的分层的层节点更新结果被下一个层节点更新的过程进一步更新,导致在所有分层被更新完后,整个译码过程本来可以在更新某一中间层后提前终止,但由于层更新结果的过度更新而导致终止条件不满足,从而继续迭代译码,这种缺点对分层译码方法的迭代收敛性能存在负面影响。本发明方法在当前迭带次数下对一个分层的节点进行更新前,先对上一个层节点更新结果进行硬判决,对所述硬判决的结果进行译码校验,也就是说,本发明方法在当前迭带次数下对每一个分层的节点进行更新后都会进一次硬判决与译码校验,从而及时在条件满足的情况下提前终止译码,达到了通过改进传统分层译码的终止译码条件来进一步提升其迭代收敛性能的效果。
76.分层译码时设定迭带次数与分层的层数,分层译码包括在每一个迭带次数下,对每一个分层进行层节点更新。当前层节点更新,指的是对当前分层正在进的行节点更新,对应的上一个层节点更新指在当前层节点更新进行前刚完成的上一个层节点更新,对应的,下一个层节点更新指在当前层节点更新完成后即将进行的下一个层节点更新,也就是说,上一个层节点更新、当前层节点更新、下一个层节点更新是依次进行的三个层节点更新。完成在当前迭带次数下对每一个分层的节点更新,也就是完成了一次迭带。
77.本发明方法利用当前层在当前迭带次数下与上一个迭带次数下接收外信息的加权平均结果,对分层进行当前层节点更新,避免分层中节点与节点之间外部消息传递的独立性降低以及传递的外部消息出现震荡,从而提升误码率性能,降低误码平层。
78.下面结合图1详细介绍本实施例的译码方法,图1为本发明实施例中译码方法流程图。按照分层译码策略,在有限域下,将校验矩阵根据分层译码思想进行分层,然后执行分层译码操作。举例来讲,在gf(q)域下,将m
×
n的校验矩阵h根据分层译码思想进行分层。首先需要初始化各项参数,根据接收的信道码字序列y计算变量节点的后验概率向量l,公式如下:
79.y=(y0, y1,

,y
n-1
) (1)
80.yn=(y
n,0
,y
n,1
,

,y
n,r-1
) (2)
81.l=(l0,l1,

,l
n-1
) (3)
82.ln=(l
n,0
,l
n,1
,

,l
n,q-1
)
t (4)
[0083][0084]
其中y是从信道接收的码字序列,yn是每一个码字对应的向量表示,l是变量节点的后验概率,是由每个变量节点的后验概率向量所组成的矩阵,ln是第n个变量节点的所有q个域元素的后验概率所组成的向量,即第n个变量节点的后验概率向量,l
n,x
是第n个变量节点的第x个域元素的后验概率,n是接收的码字向量的长度,n是变量节点的索引,r=log
2 q,代表一个码字包含的比特数,q为有限域中元素的数量,t代表转置,x是l
n,x
对应的gf(q)域元素,y
n,b
为第n个码字向量表示中的第b位比特,δ
n,b
为第x个域元素向量表示中的第b位比特。
[0085]
执行步骤s1,分层译码过程中,在当前迭带次数下对每一个分层进行层节点更新时,对当前层节点更新的上一个层节点更新的结果进行硬判决。基于以上举例来讲,对于第k层的第i次迭代,在第1次迭带次数下对第1个分层进行当前层节点更新时,取i=1,k=1,由于不存在上一个层节点更新的结果,不能实现对上一个层节点更新的结果进行译码校验,因此利用初始化时接收的信道信息计算出的变量节点的后验概率l进行符号硬判决,公式如下:
[0086]
c=(c0,c1,

,c
n-1
) (6)
[0087]cn
=argmin
x∈gf(q)
(ln) (7)
[0088]
其中c是所有n个判决符号的集合,cn是第n个码字的判决结果。
[0089]
执行步骤s2,对所述硬判决的结果进行译码校验。基于以上举例来讲,利用校验矩阵h对所述硬判决结果进行校验,判断h
·ct
=0是否满足,若校验结果h
·ct
为全零向量,则译码正确并退出译码。
[0090]
校验结果不满足条件,则执行步骤s3,步骤s3中所述利用所述当前迭带与上次迭带接收外信息的加权平均结果,完成所述当前层节点更新,包括:
[0091]
步骤s301,将当前迭带与上次迭带接收置信度向量外信息代入加权平均公式,计算变量节点传给校验节点的第一置信度向量;通过设定的有限域定义与所述第一置信度向量对应的第一域元素向量。
[0092]
步骤s302,对所述第一置信度向量进行排序后截短,得到第二置信度向量;对所述第一域元素向量进行排序后截短,得到与所述第二置信度向量对应的第二域元素向量。
[0093]
步骤s303,利用与所述变量节点相连的置换节点来对所述第二域元素向量进行置换,得到第三域元素向量。
[0094]
步骤s304,利用所述第二置信度向量,计算所述校验节点传给所述变量节点的第三置信度向量;利用所述第三域元素向量,计算所述校验节点传给所述变量节点的第四域元素向量,所述第四域元素向量与所述第三置信度向量对应。
[0095]
步骤s305,利用与所述校验节点相连的置换节点来对所述第四域元素向量进行逆置换,得到第五域元素向量;
[0096]
步骤s306,将所述第三置信度向量扩展至与所述第一置信度向量长度相同,得到第四置信度向量;将所述第五域元素向量扩展至与所述第一域元素向量长度相同,得到第六置信度向量,所述第六域元素向量与所述第四置信度向量对应。
[0097]
步骤s307,利用所述第一置信度向量和所述第四置信度向量的和,更新所述变量
节点的后验概率,完成所述层节点更新。
[0098]
基于上述举例来讲,对于第k层的第i次迭代,执行步骤s301,操作具体为:变量节点利用当前迭代和上次迭代接收外信息的加权平均来计算传给校验节点的第一置信度向量公式如下:
[0099][0100]
其中v代表变量节点,2代表向量传送方向,取自与英文to同音的two,c代表校验节点,n代表变量节点的索引,m代表校验节点的索引,α为加权因子,ll表示第i次迭带次数下,第k层变量节点传给校验节点的置信度向量,即第一置信度向量。表示第i-1次迭带次数下,第k层校验节点传给变量节点的置信度向量,表示第i-1次迭带次数下,第k层变量节点传给校验节点的置信度向量。
[0101]
通过设定的有限域gf(q)定义与所述第一置信度向量对应的第一域元素向量
[0102][0103]
表示第i次迭带次数下,第k层校验节点传给变量节点的域元素向量,即第一域元素向量。
[0104]
在第1次迭带次数下对第1个分层进行当前层节点更新时,i与k皆取1,在采用公式(8)计算变量节点传给校验节点的第一置信度向量与对应的第一域元素向量时,因为不存在上一个层节点更新的结果,此时的皆取0。
[0105]
执行步骤s302,具体操作为:对第一置信度向量进行排序,然后对排序后的向量进行截短并取前nm个值,得到
[0106][0107]
其中nm为截短长度,为排序后截取前nm个值的运算,即第二置信度向量。
[0108]
对第一域元素向量进行排序,然后对排序后的向量进行截短并取前nm个值,得到与对应的域元素向量即为与所述第二置信度向量对应的第二域元素向量。
[0109]
执行步骤s303,具体操作为:利用与变量节点相连的置换节点来对第二域元素向量进行置换,公式如下:
[0110][0111]
其中h
nm
是连接变量节点n和校验节点m的置换节点,式(11)中的
·
是gf(q)域上的乘法,是经过节点置换后的域元素向量,即第三域元素向量。
[0112]
执行步骤s304,具体操作为:利用截短后的第二置信度向量置换后的第三域元素向量计算校验节点传给变量节点的第三置信度向量计算校验节点传给变量节点的第三置信度向量以及对应的第四域元素向量此处的校验节点更新所用方法不局限于某一个特定的方法,例如它既可以是扩展最小和(ems)译码中的检泡方法或者基于配置集的搜索方法,也可以是固定路径最小和(fms)译码中的校验节点更新方法,在此不作限制。
[0113]
步骤s305,具体操作为:利用与校验节点相连的置换节点来对第四域元素向量进行逆置换,公式如下:
[0114][0115]
其中是连接校验节点m与变量节点n的置换节点h
mn
的逆元,式(12)中的
·
是gf(q)域乘法,是经过节点逆置换后的域元素向量,即第五域元素向量。
[0116]
执行步骤s306,具体操作为:变量节点将接收到的第三置信度向量
[0117]
以及逆置换后对应的第五域元素向量扩展到长度为q,得到的第四置信度向量为与所述第四置信度向量对应的第六域元素向量
[0118]
对乘上加权因子α,以抑制其震荡,公式为:
[0119][0120]
执行步骤s307,具体操作为:计算出第i次迭代次数下第k层变量节点的后验概率,公式如下:
[0121][0122]
利用公式(13)、(14)可将公式(8)中的展开为将展开为可知在第k层的第i次迭带中,采用公式
[0123]
(8)计算变量节点传给校验节点的第一置信度向量时,用到的外信息包括当前迭带次数(i)下对上一层(k-1)节点进行更新时计算出的变量节点传给校验节点的置信度向量校验节点传给变量节点的置信度向量对当前(k)层进行上一次迭带(i-1)时计算出的变量节点传给校验节点的置信度向量ll校验节点传给变量节点的置信度向量其中,代表当前迭带接收外信息,代表上次迭带接收外信息。
[0124]
分层译码方法将校验矩阵按行或列分成若干层,先并行更新第一层中的校验节点以及与该校验节点相连的变量节点,然后将更新后的后验概率消息传给下一层校验节点并进行相同的更新操作,直到所有分层都被更新完。由于在更新每层校验节点时都会用到上一分层的输出消息,且变量节点在此过程中也得到多次更新,因而使得译码的迭代收敛速
度得到大幅度提升。
[0125]
传统分层译码方法的终止译码条件之一是:在所有分层都更新完毕以后,对硬判决结果通过校验矩阵进行校验,若校验结果满足h
·ct
=0则终止译码。这种终止译码条件存在一个缺点,即如果在更新完最后一个分层之前的某一个分层后,所有变量节点的后验概率已经可以满足正确的硬判决和校验并提前终止译码,但由于还没有更新完所有的分层,因此变量节点的后验概率还会继续传给下一个分层并且被进一步更新,这时某些变量节点的后验概率在被进一步更新后可能导致该变量节点不能被判决成正确的域元素,从而导致在所有分层被更新完后,整个译码过程本来可以在更新某一中间分层后提前终止,但由于变量节点后验概率的过度更新而导致终止条件不满足从而继续迭代译码。这种缺点对分层译码方法的迭代收敛性能存在负面影响。另外,当多进制ldpc码的tanner图中出现环时,会破坏迭代译码方法的独立性假设,导致节点与节点之间外部消息传递的独立性降低并且传递的外部消息出现震荡,使得置信传播译码不能成功收敛到一个最优的译码结果。由于一般情况下tanner图中出现一定围长(girth)的环是不可避免的,因此有必要对现有方法进行改进来抑制外部消息的震荡。
[0126]
采用本发明实施例提供的译码方法,一方面通过改进传统分层译码的终止译码条件来进一步提升其迭代收敛性能在对每一分层的节点更新完以后,都会进行一次符号硬判决以及对判决结果用校验矩阵进行校验,若译码正确则提前终止译码,大幅度提升了方法的迭代收敛性能。另一方面,利用当前迭代与上一次迭代接收的外信息的加权平均来计算传给校验节点的置信度向量以及对应的域元素向量,同时变量节点在对接收到的经过逆置换后的置信度向量及其对应的域元素向量进行扩展之后,再对扩展后的置信度向量乘以加权因子,抑制了外信息的震荡,提升了方法的误码率性能。
[0127]
执行步骤s4,根据所述当前层的层数、所述当前迭带次数,判断结束译码或者进行所述当前层节点更新的下一个层节点更新的具体操作为:判断当前更新层数是否是最后一层,即判断图1中k=k
max
是否正立,若否,则执行当前层数加1的赋值,即k=k+1并跳转至步骤s1。若是,则判断当前迭代次数是否已达到最大迭代数,即判断图1中i=i
max
是否正立,若是,则结束译码,否则执行当前迭代次数加1、当前层数为1的赋值,即i=i+1,k=1后跳转至步骤s1。图1中对于第k层的第i次迭代,根据变量节点的后验概率进行符号硬判决,并对判决结果c进行校验,代表对第k层即将进行第i次层节点更新的上一个层节点更新得到变量节点的后验概率进行符号硬判决与校验。
[0128]
基于同一个发明构思,提供一种译码装置,包括:
[0129]
硬判决模块,用于在分层译码过程中,在当前迭带次数下对每一个分层进行层节点更新时,对当前层节点更新的上一个层节点更新的结果进行硬判决。
[0130]
译码校验模块,用于对所述硬判决的结果进行译码校验;校验结果满足条件,则结束译码;
[0131]
更新模块,用于校验结果不满足条件,则利用所述当前迭带与上次迭带接收外信息的加权平均结果,完成所述当前层节点更新;
[0132]
控制模块,用于根据完成所述当前层节点更新的当前更新层数、所述当前迭带次数,判断结束译码或者进行所述当前层节点更新的下一个层节点更新。
[0133]
在可选的实施方式中,如图2所示,图2为为本发明实施例中译码装置的模块图。所
述更新模块,包括:
[0134]
变量节点更新模块,用于将当前迭带与上次迭带接收置信度向量外信息代入加权平均公式,计算变量节点传给校验节点的第一置信度向量;还用于对所述第一置信度向量进行排序后截短,得到第二置信度向量。基于以上举例来讲,变量节点更新模块用于执行步骤s301、s302后将第一置信度向量存储入变量节点外信息存储模块中。
[0135]
置换模块,用于利用与所述变量节点相连的置换节点来对所述第二域元素向量进行置换,得到第三域元素向量。基于以上举例来讲,置换模块用于执行步骤s303。
[0136]
校验节点更新模块,用于利用所述第二置信度向量,计算所述校验节点传给所述变量节点的第三置信度向量。还用于利用所述第三域元素向量,计算所述校验节点传给所述变量节点的第四域元素向量,所述第四域元素向量与所述第三置信度向量对应。基于以上举例来讲,校验节点更新模块用于执行步骤s304。
[0137]
逆置换模块,用于利用与所述校验节点相连的置换节点来对所述第四域元素向量进行逆置换,得到第五域元素向量。基于以上举例来讲,逆置换模块用于执行步骤s305。
[0138]
扩展模块,用于将所述第三置信度向量扩展至与所述第一置信度向量长度相同,得到第四置信度向量。还用于将所述第五域元素向量扩展至与所述第一域元素向量长度相同,得到第六置信度向量,所述第六域元素向量与所述第四置信度向量对应。基于以上举例来讲,扩展模块用于执行步骤s306后将扩展得到的第四置信度向量为存储于校验节点信息存储模块中。
[0139]
后验概率更新模块,用于利用所述第一置信度向量和所述第四置信度向量的和,更新所述变量节点的后验概率,完成所述层节点更新。基于以上举例来讲,后验概率更新模块用于执行步骤s307后将得到的后验概率存储于后验概率存储模块中,后验概率存储模块接收到变量节点更新模块的请求信号后,将对应的变量节点的后验概率发送至变量节点更新模块中。
[0140]
硬判决模块用于从上一个完成的所述当前层节点更新的结果中,根据所述变量节点的后验概率,从所述第六域元素向量中判决出与所述第四置信度向量对应的域元素符号,所述域元素符号的集合构成硬判决结果。基于以上举例来讲,硬判决模块执行步骤s1,根据每个变量节点的后验概率判决出该节点对应的域元素符号,然后将符号硬判决后得到的所有判决码字存储于码字寄存模块中。
[0141]
译码校模块,用于利用校验矩阵对所述硬判决结果进行校验;
[0142]
其中所述校验矩阵在所述设定的有限域下根据分层译码思想进行的分层;
[0143]
控制模块控制整个译码装置的迭代进程,以及各个信息存储模块中的信息调度。基于以上举例来讲,变量节点外信息存储模块、校验节点信息存储模块分别在控制模块的控制下将对应的第一置信度向量第四置信度向量发送至后验概率更新模块以用于进行后验概率的更新计算。
[0144]
具体来讲,控制模块根据所述当前层的层数、所述当前迭带次数,进行以下判断:
[0145]
如果所述当前更新层数不是最后一层,则在所述当前迭带次数下,对所述当前更新层数的下一个分层进行所述层节点更新;如果所述当前更新层数是最后一层且所述当前迭代次数达到最大迭代数,则结束译码;如果所述当前更新层数是最后一层且所述当前迭
代次数未达到最大迭代数,则在所述当前迭带次数的下一个迭代次数下,对第一个分层进行所述层节点更新。基于以上举例来讲,控制模块执行步骤s4,判断当前更新层数是否是最后一层,即判断图1中k=k
max
是否正立,若否,则执行当前层数加1的赋值,即k=k+1并跳转至步骤s1。若是,则判断当前迭代次数是否已达到最大迭代数,即判断图1中i=i
max
是否正立,若是,则结束译码,否则执行当前迭代次数加1、当前层数为1的赋值,即i=i+1,k=1后跳转至步骤s1。
[0146]
多进制和积译码方法(qspa)是最早提出的多进制ldpc译码方法,这种方法能够提供最优的译码性能,但其译码复杂度与伽罗华域阶数q的平方成正比,当q较大时,译码计算量将难以被接受。现有基于fft的qspa方法,即fft-qspa方法可以降低qspa的译码复杂度,但这种方法的计算量仍然巨大。将qspa中的大量乘法运算转换成加法运算的扩展最小和(ems)方法,通过将qspa方法在对数域下做简化并对变量节点与校验节点之间传递的消息向量进行截短,截短了校验节点需要处理的消息向量的长度,大大降低了qspa的运算量。另外一种用于ems方法中校验节点更新模块的检泡方法,该校验节点更新方法相较于ems本身基于配置集搜索的校验节点更新方法有更低的计算量和复杂度。基于trellis-ems方法基于ems方法,将ems的校验节点更新模块加入了网格(trellis)思想,实现了校验节点的并行更新。固定路径最小和(fms)方法在trellis-ems方法的基础上加入了集合划分的思想,将信息向量中的元素划分成不同的集合,针对不同集合中的元素采取不同的路径划分策略,当集合划分方案确定时,校验节点只需要按照固定的路径更新置信度向量以及域元素向量,而不需要进行繁杂的搜索过程,进一步降低了校验节点更新模块的复杂度。
[0147]
目的广泛使用的译码方法为扩展最小和(ems)方法、固定路径最小和(fms),为了体现本发明上述实施例所提方案的性能提升程度,将本发明方法分别应用于ems方法和fms方法,并对译码误码率性能和迭代收敛性能进行仿真。设置信道条件是加性高斯白噪声(awgn)信道,调制方式为bpsk(binary phase shift keying,二进制相移键控),针对gf(64)域(即q=64)的(88,44)ldpc码进行解码,码率为校验矩阵分成44层,截短长度为nm=8,最大迭代次数为20,加权因子取α=0.9。
[0148]
图3为本发明实施例中译码方法应用于ems方法曲线对比图一,图4为本发明实施例中译码方法应用于ems方法曲线对比图二。在图3和图4中,标记ems的曲线代表原始ems方法,标记lems的曲线代表只加入传统分层译码的ems方法,标记modified lems的曲线代表应用本发明译码方法的ems方法。图3中通过对比三种方法的比特出错概率(ber)来表征三条曲线的译码误码率性能,在信噪比(db)相同的条件下,比特出错概率(ber)越低,译码误码率性能越好。图4中通过对比三种方法的平均迭代次数来表征三条曲线的迭代收敛性能,在信噪比(db)相同的条件下,平均迭代次数越少,迭代收敛性能越好。
[0149]
图5为本发明实施例中译码方法应用于fms方法曲线对比图一,图6为本发明实施例中译码方法应用于fms方法曲线对比图二。在图5和图6中,标记fms的曲线代表原始fms方法,标记lfms的曲线代表只加入传统分层译码的fms方法,标记modified lfms的曲线代表应用本发明译码方法的fms方法。图5中的曲线为译码误码率性能对比仿真曲线,图6中的曲线为迭代收敛性能对比仿真曲线。
[0150]
从图3至图6可以得出结论:无论是对于ems方法还是fms方法,与原始ems方法相
比,应用传统分层译码的lems方法在译码误码率性能和迭代收敛性能方面都有一定的提升且误码平层更低,但是应用了本发明实施例中译码方法的ems方法fms方法,其译码误码率性能和迭代收敛性能得到更加明显的提升。同样的,与原始fms方法相比,应用传统分层译码的lfms方法在译码误码率性能和迭代收敛性能方面都有一定的提升且误码平层更低,但是应用了本发明实施例中译码方法的fms方法fms方法,其译码误码率性能和迭代收敛性能得到更加明显的提升。
[0151]
本发明实施例中提供的技术方案,至少具有如下技术效果或优点:本发明实施例提供的译码方法与译码装置,一方面,采用分层译码策略,在执行每一个分层更新前,先对上一个分层更新的结果进行硬判决与译码校验,若译码正确,则提前终止译码,大大提升了译码方法的迭代收敛性能。另一方面,在分层译码过程中的变量节点更新阶段,利用当前迭代和上次迭代接收的外信息的加权平均结果来进行信息更新,变量节点对来自校验节点的经过置换后的信息进行扩展以后,再对信息中的置信度向量乘以加权因子,抑制了外信息的震荡,提高了误码率性能,相较于现有扩展最小和方法、固定路径最小和方法,本发明方法在译码误码率性能和迭代收敛性能方面都有明显的提升,有效地降低误码平层。
[0152]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0153]
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0154]
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

技术特征:
1.一种译码方法,其特征在于,包括:分层译码过程中,在当前迭带次数下对每一个分层进行层节点更新时,对当前层节点更新的上一个层节点更新的结果进行硬判决;对所述硬判决的结果进行译码校验;校验结果满足条件,则结束译码;校验结果不满足条件,则利用所述当前迭带与上次迭带接收外信息的加权平均结果,完成所述当前层节点更新;根据完成所述当前层节点更新的当前更新层数、所述当前迭带次数,判断结束译码或者进行所述当前层节点更新的下一个层节点更新。2.如权利要求1所述的译码方法,其特征在于,所述利用所述当前迭带与上次迭带接收外信息的加权平均结果,进行所述当前层节点更新,包括:将当前迭带与上次迭带接收置信度向量外信息代入加权平均公式,计算变量节点传给校验节点的第一置信度向量;对所述第一置信度向量进行排序后截短,得到第二置信度向量;利用所述第二置信度向量,计算所述校验节点传给所述变量节点的第三置信度向量;将所述第三置信度向量扩展至与所述第一置信度向量长度相同,得到第四置信度向量;利用所述第一置信度向量和所述第四置信度向量的和,更新所述变量节点的后验概率,完成所述层节点更新。3.如权利要求2所述的译码方法,其特征在于,所述当前层节点更新,还包括:通过设定的有限域定义与所述第一置信度向量对应的第一域元素向量;对所述第一域元素向量进行排序后截短,得到与所述第二置信度向量对应的第二域元素向量;利用与所述变量节点相连的置换节点来对所述第二域元素向量进行置换,得到第三域元素向量;利用所述第三域元素向量,计算所述校验节点传给所述变量节点的第四域元素向量,所述第四域元素向量与所述第三置信度向量对应;利用与所述校验节点相连的置换节点来对所述第四域元素向量进行逆置换,得到第五域元素向量;将所述第五域元素向量扩展至与所述第一域元素向量长度相同,得到第六置信度向量,所述第六域元素向量与所述第四置信度向量对应。4.如权利要求3所述的译码方法,其特征在于,所述对当前层节点更新的上一个层节点更新的结果进行硬判决,包括:从上一个完成的所述当前层节点更新的结果中,根据所述变量节点的后验概率,从所述第六域元素向量中判决出与所述第四置信度向量对应的域元素符号,所述域元素符号的集合构成硬判决结果;所述对所述硬判决的结果进行译码校验,包括:利用校验矩阵对所述硬判决结果进行校验;其中所述校验矩阵在所述设定的有限域下根据分层译码思想进行的分层。
5.如权利要求1所述的译码方法,其特征在于,根据所述当前层的层数、所述当前迭带次数,判断结束译码或者进行所述当前层节点更新的下一个层节点更新,包括:如果所述当前更新层数不是最后一层,则在所述当前迭带次数下,对所述当前更新层数的下一个分层进行所述层节点更新;如果所述当前更新层数是最后一层且所述当前迭代次数达到最大迭代数,则结束译码;如果所述当前更新层数是最后一层且所述当前迭代次数未达到最大迭代数,则在所述当前迭带次数的下一个迭代次数下,对第一个分层进行所述层节点更新。6.一种译码装置,其特征在于,包括:硬判决模块,用于在分层译码过程中,在当前迭带次数下对每一个分层进行层节点更新时,对当前层节点更新的上一个层节点更新的结果进行硬判决;译码校验模块,用于对所述硬判决的结果进行译码校验;校验结果满足条件,则结束译码;更新模块,用于校验结果不满足条件,则利用所述当前迭带与上次迭带接收外信息的加权平均结果,完成所述当前层节点更新;控制模块,用于根据完成所述当前层节点更新的当前更新层数、所述当前迭带次数,判断结束译码或者进行所述当前层节点更新的下一个层节点更新。7.如权利要求6所述的译码装置,其特征在于,所述更新模块,包括:变量节点更新模块,用于将当前迭带与上次迭带接收置信度向量外信息代入加权平均公式,计算变量节点传给校验节点的第一置信度向量;对所述第一置信度向量进行排序后截短,得到第二置信度向量;校验节点更新模块,用于利用所述第二置信度向量,计算所述校验节点传给所述变量节点的第三置信度向量;扩展模块,用于将所述第三置信度向量扩展至与所述第一置信度向量长度相同,得到第四置信度向量;后验概率更新模块,用于利用所述第一置信度向量和所述第四置信度向量的和,更新所述变量节点的后验概率,完成所述层节点更新。8.如权利要求7所述的译码装置,其特征在于,通过设定的有限域定义与所述第一置信度向量对应的第一域元素向量,所述更新模块,还包括置换模块、逆置换模块;所述变量节点更新模块,用于对所述第一域元素向量进行排序后截短,得到与所述第二置信度向量对应的第二域元素向量;所述置换模块,用于利用与所述变量节点相连的置换节点来对所述第二域元素向量进行置换,得到第三域元素向量;所述校验节点更新模块,还用于利用所述第三域元素向量,计算所述校验节点传给所述变量节点的第四域元素向量,所述第四域元素向量与所述第三置信度向量对应;所述逆置换模块,用于利用与所述校验节点相连的置换节点来对所述第四域元素向量进行逆置换,得到第五域元素向量;所述扩展模块,还用于将所述第五域元素向量扩展至与所述第一域元素向量长度相同,得到第六置信度向量,所述第六域元素向量与所述第四置信度向量对应。
9.如权利要求8所述的译码装置,其特征在于,所述硬判决模块,用于从上一个完成的所述当前层节点更新的结果中,根据所述变量节点的后验概率,从所述第六域元素向量中判决出与所述第四置信度向量对应的域元素符号,所述域元素符号的集合构成硬判决结果;所述译码校模块,用于利用校验矩阵对所述硬判决结果进行校验;其中所述校验矩阵在所述设定的有限域下根据分层译码思想进行的分层。10.如权利要求9所述的译码装置,其特征在于,所述控制模块,用于根据所述当前层的层数、所述当前迭带次数,进行以下判断:如果所述当前更新层数不是最后一层,则在所述当前迭带次数下,对所述当前更新层数的下一个分层进行所述层节点更新;如果所述当前更新层数是最后一层且所述当前迭代次数达到最大迭代数,则结束译码;如果所述当前更新层数是最后一层且所述当前迭代次数未达到最大迭代数,则在所述当前迭带次数的下一个迭代次数下,对第一个分层进行所述层节点更新。

技术总结
本发明公开了一种译码方法与译码装置,一方面,采用分层译码策略,在执行每一个分层更新前,先对上一个分层更新的结果进行硬判决与译码校验,若译码正确,则提前终止译码,大大提升了译码方法的迭代收敛性能。另一方面,在分层译码过程中的变量节点更新阶段,利用当前迭代和上次迭代接收的外信息的加权平均结果来进行信息更新,变量节点对来自校验节点的经过置换后的信息进行扩展以后,再对信息中的置信度向量乘以加权因子,抑制了外信息的震荡,提高了误码率性能。高了误码率性能。高了误码率性能。


技术研发人员:余志杰 宋秋阳 刘学勇 王海永 陈杰
受保护的技术使用者:中国科学院微电子研究所
技术研发日:2023.02.21
技术公布日:2023/7/26
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐