一种极化码SCL译码器及其译码方法

未命名 10-18 阅读:104 评论:0

一种极化码scl译码器及其译码方法
技术领域
1.本发明涉及信道编码技术领域,特别是涉及一种极化码scl译码器及其译码方法。


背景技术:

2.为了满足当今社会在无线通信上的各种场景需求,对于通信的传输速度和准确率的要求也日益增高。连续删除译码算法(successive cancellation,sc)作为极化码的一种译码算法之一,但是因为其算法本身存在错误传递的缺陷导致其性能差强人意。为改善这一缺陷,专家学者们基于连续删除译码提出了各种改进算法。目前,连续删除列表译码算法(successive cancellation list,scl)是较常使用的改进算法之一,也是实际工程应用当中使用较多的一种译码算法。此外,基于连续删除译码也提出了一些改进算法以减少译码时延,其中最具有代表性的是快速连续删除译码算法(fast successive cancellation,fsc),这类译码算法主要是在译码时延上的改善,但是译码性能和连续删除译码算法保持一致。
3.连续删除列表译码算法的主要思想从连续删除译码的单路径译码改进成多路径译码。引入路径度量值,若当前候选路径超过列表数量,则对路径度量值从小到大进行排序,找出和列表数数量相等的小的那些路径度量值,这些路径度量值对应的路径保留下来,而其余路径则将被删除;反之,若当前候选路径未超过列表数量,不进行排序筛选,保留当前全部路径,后续可进行路径扩展;以此循环直至译码到最后一个比特,选择路径度量值最小的路径作为最终的译码结果。该算法在连续删除译码的基础上通过对多条路径的后验信息进行度量,一定程度上消除了连续删除译码算法错误传播的缺陷,在纠错性能上得到了改进。而快速连续删除译码算法主要是通过对码字进行划分,将码字划分成4种情形,根据不同情形的码字采取不同的译码策略,从而达到译码的简化,降低了译码的时延。由于引入多路径译码,需要进行路径度量、路径排序以及路径复制,这无形之中增加了译码复杂度,在硬件实现当中,这将增加硬件资源的开销和功耗的提升,同时会增加译码的时延,导致译码器的吞吐量大大降低。此外,现有的译码器受限于吞吐率较低和仅支持单一码长码率的问题,导致实际的应用场景受到较大的限制。
4.现有技术公开了一种低硬件资源消耗的极化码scl译码器及其译码方法,涉及信道编码技术领域。该发明提出的一种低硬件资源消耗的极化码scl译码器,该scl译码器只使用一个按照串行流水线结构设计的sc译码器,其中sc译码器包括llr计算模块、部分和计算模块、路径度量值计算模块、路径度量值排序与删减模块、指针模块;上述结构使得本技术的scl译码器在译码过程中,其路径间串行流水译码,路径内部并行计算。该现有技术存在译码吞吐率较低的问题。


技术实现要素:

5.本发明的目的是:提供一种极化码scl译码器及其译码方法,以解决现有技术存在的译码吞吐率较低的问题。
6.为了实现上述目的,本发明提供了一种极化码scl译码器,包括:
7.计算模块,用于进行递归运算,计算出当前索引值的对数似然比值;
8.路径度量管理模块,用于路径的扩展和度量值的计算,以及对路径进行排序;
9.指针管理模块,用于对排序后保留的路径进行管理,使其唯一指向对应的存储模块;
10.读写控制模块,用于根据路径的指针信息,找到路径对应的读写地址,将路径信息读取到计算模块以及将译码结果存储到对应的存储模块中;
11.动态配置模块,用于根据输入的配置信息动态调整预先存储的冻结比特和信息比特的读起始地址信息、切换译码算法的索引位置;
12.控制模块,用于控制整个译码器的译码过程,包括索引位置的计算、计算模块的使能、译码算法的切换、冻结比特和信息比特的读取、运算层数的更新以及判断译码过程终止;
13.存储模块,用于存储译码结果和路径信息。
14.本发明还提供一种基于上述的极化码scl译码器的译码方法,包括:
15.s1、选取配置信息输入到动态配置模块,动态调整初始信息,得到快速连续删除译码算法切换为连续删除列表译码算法的索引位置和连续删除列表译码算法切换至连续删除译码算法的索引位置,以及预先存储的冻结比特和信息比特的读起始地址信息,根据冻结比特和信息比特的读起始地址信息得到索引位置对应的运算层数;
16.s2、在对应的运算层数的计算单元进行对数似然比递归运算,得到对数似然比值,在第一次运算后,将快速连续删除译码算法切换至连续删除列表译码算法,且之后每一次循环都判断路径长度是否小于phi,phi为从连续删除列表译码算法切换为连续删除译码算法的索引,若是则继续使用连续删除列表译码算法,若不是则切换至连续删除译码算法,且之后的译码仅进行硬判决,并将译码结果存储到存储模块中;
17.s3、判断路径长度小于phi后,继续使用连续删除列表译码算法,并对当前路径向比特“0”和比特“1”进行拓展,计算得到扩展后的两条路径的对应的度量值,当路径扩展后的数量超过搜索宽度l时,对度量值进行从小到大排序,将度量值较小的l条路径保留,删除其余的路径,然后将度量值较小的l条路径的路径信息和译码结果存储到存储模块中;
18.s4、译码结果存储到存储模块后,若输出的路径长度大于等于译码码字的码长n,则停止译码将此路径作为最终译码结果,若小于n则继续执行步骤s2、s3。
19.优选的,在步骤s1中,配置信息为码长和码率,根据不同的码长和码率动态调整初始信息。
20.优选的,初始信息包括信息比特和冻结比特的读初始地址、运算层数的读初始地址、译码切换的索引位置。
21.优选的,在步骤s2中,根据不同的索引位置切换不同的译码算法,在译码的第一个信息比特之前采用快速连续删除译码算法,第一个信息比特之后采用连续删除列表译码算法译码混合比特部分,在译码完最后一个冻结比特之后,将译码算法切换至连续删除译码算法,译码信息比特。
22.优选的,在步骤s2中,计算单元包括串行单元和并行单元,计算单元为10层,第6层到第9层计算单元为串行单元,第0层到第5层计算单元为并行单元,在第0层结合预计算技
术,同时进行f/g运算。
23.优选的,在步骤s2中,若是冻结比特位,在硬判决时直接判决为0,若是信息比特位在判决时会根据当前的对数似然比值来进行判决。
24.优选的,判决公式为:
[0025][0026]
式中,frozen为冻结比特。
[0027]
优选的,在步骤s3中,计算得到扩展后的两条路径的对应的度量值的公式为:
[0028][0029][0030]
式中,i代表第i个译码比特,pmi和pm
i-1
分别表示第i个译码比特和第i-1个译码比特的度量值,a表示信息比特索引集合,b表示判决条件,,表示判决条件的补集,表示第i个译码比特的估计比特值,llri表示第i个译码比特的目标对数似然比,似然比常数设为0。
[0031]
优选的,在步骤s3中,将度量值较小的l条路径中的路径x的路径信息和译码结果存储到存储模块x中。
[0032]
与现有技术相比,本发明的有益效果在于:通过引入快速连续删除译码算法、连续删除译码算法到连续删除列表译码器当中,降低了硬件实现的复杂度,减少了译码时延,提高译码器的吞吐率,同时提出的动态配置模块在基本不增加硬件资源的同时做到支持多码长以及多码率的译码,其通过识别外部输入的配置信息到译码器,可以动态调整当前所支持的码长以及码率,能够灵活适用于更多的实际应用场景;
[0033]
进一步地,将预计算处理技术和一种重新设计的计算单元结合,使其能够符合流水线设计的要求,满足帧间流水的译码,能够在提高计算单元利用率的同时提高译码器的吞吐率,做到了硬件资源开销和吞吐量之间的平衡。
附图说明
[0034]
图1是本发明实施例的极化码scl译码器的译码方法流程图;
[0035]
图2是一种极化码scl译码器的结构示意图;
[0036]
图3是本发明实施例的计算单元中引入预计算技术的结构示意图;
[0037]
图4是本发明实施例的切换译码算法示意图;
[0038]
图5是本发明实施例的动态配置模块结构示意图;
[0039]
图6是本发明实施例的计算单元分层结构示意图;
[0040]
图7是本发明实施例的可重构模块预先存储信息示意图;
[0041]
图8是本发明实施例的帧间流水时序图;
[0042]
图9是本发明实施例的极化码scl译码器的译码方法的信息流示意图。
具体实施方式
[0043]
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0044]
在本发明的描述中,需要说明的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0045]
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0046]
此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0047]
实施例一
[0048]
如图2所示,本发明优选实施例的一种极化码scl译码器,包括:
[0049]
计算模块,用于进行递归运算,计算出当前索引值的对数似然比值;
[0050]
路径度量管理模块,用于路径的扩展和度量值的计算,以及对路径进行排序;
[0051]
指针管理模块,用于对排序后保留的路径进行管理,使其唯一指向对应的存储模块;
[0052]
读写控制模块,用于根据路径的指针信息,找到路径对应的读写地址,将路径信息读取到计算模块以及将译码结果存储到对应的存储模块中;
[0053]
动态配置模块,用于根据输入的配置信息动态调整预先存储的冻结比特和信息比特的读起始地址信息、切换译码算法的索引位置;
[0054]
控制模块,用于控制整个译码器的译码过程,包括索引位置的计算、计算模块的使能、译码算法的切换、冻结比特和信息比特的读取、运算层数的更新以及判断译码过程终止;
[0055]
存储模块,用于存储译码结果和路径信息。
[0056]
实施例二
[0057]
如图1和9所示,本发明还提供一种基于上述的极化码scl译码器的译码方法,包括:
[0058]
s1、选取配置信息输入到动态配置模块,动态调整初始信息,得到快速连续删除译码算法切换为连续删除列表译码算法的索引位置和连续删除列表译码算法切换至连续删除译码算法的索引位置,以及预先存储的冻结比特和信息比特的读起始地址信息,根据冻结比特和信息比特的读起始地址信息得到索引位置对应的运算层数;
[0059]
s2、在对应的运算层数的计算单元进行对数似然比递归运算,得到对数似然比值,在第一次运算后,将快速连续删除译码算法切换至连续删除列表译码算法,且之后每一次循环都判断路径长度是否小于phi,phi为从连续删除列表译码算法切换为连续删除译码算
法的索引,若是则继续使用连续删除列表译码算法,若不是则切换至连续删除译码算法,且之后的译码仅进行硬判决,并将译码结果存储到存储模块中;
[0060]
s3、判断路径长度小于phi后,继续使用连续删除列表译码算法,并对当前路径向比特“0”和比特“1”进行拓展,计算得到扩展后的两条路径的对应的度量值,当路径扩展后的数量超过搜索宽度l时,对度量值进行从小到大排序,将度量值较小的l条路径保留,删除其余的路径,然后将度量值较小的l条路径的路径信息和译码结果存储到存储模块中;
[0061]
s4、译码结果存储到存储模块后,若输出的路径长度大于等于译码码字的码长n,则停止译码将此路径作为最终译码结果,若小于n则继续执行步骤s2、s3。
[0062]
通过引入快速连续删除译码算法、连续删除译码算法到连续删除列表译码器当中,降低了硬件实现的复杂度,减少了译码时延,提高译码器的吞吐率,同时提出的动态配置模块在基本不增加硬件资源的同时做到支持多码长以及多码率的译码,其通过识别外部输入的配置信息到译码器,可以动态调整当前所支持的码长以及码率,能够灵活适用于更多的实际应用场景。
[0063]
在步骤s1中,配置信息为码长和码率,根据不同的码长和码率动态调整初始信息。
[0064]
如图5所示,初始信息包括信息比特和冻结比特的读初始地址、运算层数的读初始地址、译码切换的索引位置。如图7所示,动态配置模块中的可重构模块的搭建是由预先存储在rom当中的一些译码需要用到的信息,如冻结比特/信息比特位置信息,运算层数信息、开始切换为scl译码算法的索引信息、开始切换为sc译码算法的索引信息以及对应的rom读起始地址,根据rom读起始地址去进行冻结比特/信息比特、运算层数读取。
[0065]
如图4所示,在步骤s2中,根据不同的索引位置切换不同的译码算法,在译码的第一个信息比特之前采用快速连续删除译码算法,第一个信息比特之后采用连续删除列表译码算法译码混合比特部分,在译码完最后一个冻结比特之后,将译码算法切换至连续删除译码算法,译码信息比特,采用sc译码算法可以避免路径的扩展、度量、排序、删除以及复制等操作,可以降低译码的复杂度,降低译码时延,对译码性能不会产生影响。
[0066]
实施例三
[0067]
如图3和6所示,在步骤s2中,计算单元包括串行单元和并行单元,计算单元为10层,第6层到第9层计算单元为串行单元,第0层到第5层计算单元为并行单元,在第0层结合预计算技术,同时进行f/g运算。短码的译码时,高层的计算单元可以直接弃用,使用对应层数的计算单元即可,实现向下兼容的作用。引入预计算技术的同时引入2比特的译码,每一个译码周期译码出两个比特,降低了译码时延。此结构结合树形结构和半平行结构的优点,做到了吞吐率和硬件资源消耗之间的平衡,满足流水线设计的要求,如图8所示,本实施例中流水线架构是帧与帧之间的,提高了计算单元的资源利用率,同时增加了译码器的吞吐率。
[0068]
在步骤s2中,若是冻结比特位,在硬判决时直接判决为0,若是信息比特位在判决时会根据当前的对数似然比值来进行判决,
[0069]
判决公式为:
[0070][0071]
式中,frozen为冻结比特,i为当前译码的路径长度。
[0072]
直接判决是在译码完最后一个冻结比特之后使用sc译码时使用,直接判决的结果就是译码结果,而在scl译码混合比特部分是使用路径度量值计算的,其根据当前是冻结比特还是信息比特进行度量值的计算,度量值越大表示当前这条路径的惩罚越大,译码错误的概率越高,计算拓展为0和1的路径的度量值,若超过最大列表l,将度量值排序后保留的路径作为可能的译码结果;否则直接保留当前拓展的路径即可,此时的译码结果是拓展的方向0和1。
[0073]
本实施例中,在步骤s3中,路径拓展之后会出现2l条路径,超出了设定的最大l条路径的上限,然后通过路径排序找出其中小的l条路径,这l条路径包含了当前索引下的译码结果,删除多出来的l条路径。排序时会连同当前路径信息一起进行排序,通过排序后依然能够保留路径来源,根据路径信息将译码结果存储到对应的存储模块当中。l为存储器中相同路径长度的候选路径数量上限,即搜索宽度。
[0074]
在步骤s3中,计算得到扩展后的两条路径的对应的度量值的公式为:
[0075][0076][0077]
式中,i代表第i个译码比特,pmi和pm
i-1
分别表示第i个译码比特和第i-1个译码比特的度量值,a表示信息比特索引集合,b表示判决条件,表示判决条件的补集,表示第i个译码比特的估计比特值,llri表示第i个译码比特的目标对数似然比,似然比常数设为0。
[0078]
在步骤s3中,将度量值较小的l条路径中的路径x的路径信息和译码结果存储到存储模块x中。
[0079]
本发明的工作过程为:
[0080]
s1、选取配置信息输入到动态配置模块,动态调整初始信息,得到快速连续删除译码算法切换为连续删除列表译码算法的索引位置和连续删除列表译码算法切换至连续删除译码算法的索引位置,以及预先存储的冻结比特和信息比特的读起始地址信息,根据冻结比特和信息比特的读起始地址信息得到索引位置对应的运算层数;
[0081]
s2、在对应的运算层数的计算单元进行对数似然比递归运算,得到对数似然比值,在第一次运算后,将快速连续删除译码算法切换至连续删除列表译码算法,且之后每一次循环都判断路径长度是否小于phi,phi为从连续删除列表译码算法切换为连续删除译码算法的索引,若是则继续使用连续删除列表译码算法,若不是则切换至连续删除译码算法,且之后的译码仅进行硬判决,并将译码结果存储到存储模块中;
[0082]
s3、判断路径长度小于phi后,继续使用连续删除列表译码算法,并对当前路径向比特“0”和比特“1”进行拓展,计算得到扩展后的两条路径的对应的度量值,当路径扩展后的数量超过搜索宽度l时,对度量值进行从小到大排序,将度量值较小的l条路径保留,删除其余的路径,然后将度量值较小的l条路径的路径信息和译码结果存储到存储模块中;
[0083]
s4、译码结果存储到存储模块后,若输出的路径长度大于等于译码码字的码长n,则停止译码将此路径作为最终译码结果,若小于n则继续执行步骤s2、s3。
[0084]
综上,本发明实施例提供一种极化码scl译码器及其译码方法,其通过引入快速连续删除译码算法、连续删除译码算法到连续删除列表译码器当中,降低了硬件实现的复杂度,减少了译码时延,提高译码器的吞吐率,同时提出的动态配置模块在基本不增加硬件资源的同时做到支持多码长以及多码率的译码,其通过识别外部输入的配置信息到译码器,可以动态调整当前所支持的码长以及码率,能够灵活适用于更多的实际应用场景;将预计算处理技术和一种重新设计的计算单元结合,使其能够符合流水线设计的要求,满足帧间流水的译码,能够在提高计算单元利用率的同时提高译码器的吞吐率,做到了硬件资源开销和吞吐量之间的平衡。
[0085]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。

技术特征:
1.一种极化码scl译码器,其特征在于,包括:计算模块,用于进行递归运算,计算出当前索引值的对数似然比值;路径度量管理模块,用于路径的扩展和度量值的计算,以及对路径进行排序;指针管理模块,用于对排序后保留的路径进行管理,使其唯一指向对应的存储模块;读写控制模块,用于根据路径的指针信息,找到路径对应的读写地址,将路径信息读取到计算模块以及将译码结果存储到对应的存储模块中;动态配置模块,用于根据输入的配置信息动态调整预先存储的冻结比特和信息比特的读起始地址信息、切换译码算法的索引位置;控制模块,用于控制整个译码器的译码过程,包括索引位置的计算、计算模块的使能、译码算法的切换、冻结比特和信息比特的读取、运算层数的更新以及判断译码过程终止;存储模块,用于存储译码结果和路径信息。2.一种基于权利要求1所述的极化码scl译码器的译码方法,其特征在于,包括:s1、选取配置信息输入到动态配置模块,动态调整初始信息,得到快速连续删除译码算法切换为连续删除列表译码算法的索引位置和连续删除列表译码算法切换至连续删除译码算法的索引位置,以及预先存储的冻结比特和信息比特的读起始地址信息,根据冻结比特和信息比特的读起始地址信息得到索引位置对应的运算层数;s2、在对应的运算层数的计算单元进行对数似然比递归运算,得到对数似然比值,在第一次运算后,将快速连续删除译码算法切换至连续删除列表译码算法,且之后每一次循环都判断路径长度是否小于phi,phi为从连续删除列表译码算法切换为连续删除译码算法的索引,若是则继续使用连续删除列表译码算法,若不是则切换至连续删除译码算法,且之后的译码仅进行硬判决,并将译码结果存储到存储模块中;s3、判断路径长度小于phi后,继续使用连续删除列表译码算法,并对当前路径向比特“0”和比特“1”进行拓展,计算得到扩展后的两条路径的对应的度量值,当路径扩展后的数量超过搜索宽度l时,对度量值进行从小到大排序,将度量值较小的l条路径保留,删除其余的路径,然后将度量值较小的l条路径的路径信息和译码结果存储到存储模块中;s4、译码结果存储到存储模块后,若输出的路径长度大于等于译码码字的码长n,则停止译码将此路径作为最终译码结果,若小于n则继续执行步骤s2、s3。3.根据权利要求2所述的一种极化码scl译码器的译码方法,其特征在于:在步骤s1中,配置信息为码长和码率,根据不同的码长和码率动态调整初始信息。4.根据权利要求3所述的一种极化码scl译码器的译码方法,其特征在于:初始信息包括信息比特和冻结比特的读初始地址、运算层数的读初始地址、译码切换的索引位置。5.根据权利要求2所述的一种极化码scl译码器的译码方法,其特征在于:在步骤s2中,根据不同的索引位置切换不同的译码算法,在译码的第一个信息比特之前采用快速连续删除译码算法,第一个信息比特之后采用连续删除列表译码算法译码混合比特部分,在译码完最后一个冻结比特之后,将译码算法切换至连续删除译码算法,译码信息比特。6.根据权利要求2所述的一种极化码scl译码器的译码方法,其特征在于:在步骤s2中,计算单元包括串行单元和并行单元,计算单元为10层,第6层到第9层计算单元为串行单元,第0层到第5层计算单元为并行单元,在第0层结合预计算技术,同时进行f/g运算。7.根据权利要求2所述的一种极化码scl译码器的译码方法,其特征在于:在步骤s2中,
若是冻结比特位,在硬判决时直接判决为0,若是信息比特位在判决时会根据当前的对数似然比值来进行判决。8.根据权利要求7所述的一种极化码scl译码器的译码方法,其特征在于:判决公式为:式中,frozen为冻结比特。9.根据权利要求2所述的一种极化码scl译码器的译码方法,其特征在于:在步骤s3中,计算得到扩展后的两条路径的对应的度量值的公式为:计算得到扩展后的两条路径的对应的度量值的公式为:式中,i代表第i个译码比特,pm
i
和pm
i-1
分别表示第i个译码比特和第i-1个译码比特的度量值,a表示信息比特索引集合,b表示判决条件,,表示判决条件的补集,表示第i个译码比特的估计比特值,llr
i
表示第i个译码比特的目标对数似然比,似然比常数设为0。10.根据权利要求2所述的一种极化码scl译码器的译码方法,其特征在于:在步骤s3中,将度量值较小的l条路径中的路径x的路径信息和译码结果存储到存储模块x中。

技术总结
本发明涉及信道编码技术领域,公开了一种极化码SCL译码器及其译码方法,通过引入快速连续删除译码算法、连续删除译码算法到连续删除列表译码器当中,降低了硬件实现的复杂度,减少了译码时延,提高译码器的吞吐率,同时提出的动态配置模块在基本不增加硬件资源的同时做到支持多码长以及多码率的译码,其通过识别外部输入的配置信息到译码器,可以动态调整当前所支持的码长以及码率,能够灵活适用于更多的实际应用场景;将预计算处理技术和一种重新设计的计算单元结合,使其能够符合流水线设计的要求,满足帧间流水的译码,能够在提高计算单元利用率的同时提高译码器的吞吐率,做到了硬件资源开销和吞吐量之间的平衡。了硬件资源开销和吞吐量之间的平衡。了硬件资源开销和吞吐量之间的平衡。


技术研发人员:韩国军 叶龙建 翟雄飞
受保护的技术使用者:广东工业大学
技术研发日:2023.07.06
技术公布日:2023/10/15
版权声明

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

飞行汽车 https://www.autovtol.com/

分享:

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

相关推荐