一种用于Polar和PAC码的列表译码方法及系统

文档序号:36243199发布日期:2023-12-02 06:39阅读:46来源:国知局
一种用于

本发明涉及列表译码,特别是涉及一种用于polar和pac码的列表译码方法及系统。


背景技术:

1、arikan提出的polar码是第一个被理论证明可以实现任何对称二进制输入离散无记忆信道(binary input discrete memoryless channels,bi-dmc)容量的信道码。然而,polar码在串行抵消(successive cancellation,sc)译码算法下的纠错性能只有在码长为无限时才能达到理论上限,在有限码长下的性能并不具有竞争力。为了解决这个问题,有人提出了sc列表(sc list,scl)译码算法。不同于sc译码算法,连续消除列表(successivecancellationlist,scl)译码算法在译码时同时保留了l条可能的路径,从而提升了纠错性能。进一步研究发现,当与crc码级联时,与标准极化码相比,具有crc辅助的scl(crc-aidedscl,ca-scl)译码算法带来了显著的改进,并且它们被用于5g新空口(new radio,nr)系统的增强移动带宽(enhanced mobile broadband,embb)场景。然而,由于sc译码需要按照每比特进行顺序译码,基于sc的译码方法始终具有较高的译码延时。

2、2019年,arikan提出了一种新的编码方案,称为极化调节卷积(polarization-adjusted convolutional,pac)码,它将速率为1的卷积预变换与极化变换级联起来。测试实验表明当pac码的预变换部分设计得当时,能够有效地改善了极化码的距离特性。因此,在没有crc级联的情况下,pac码在短码长方面可以优于极性码,而crc辅助的pac码在长码长方面则可以优于crc辅助的极性码。值得注意的是,在fano序列译码算法下,pac码(128,64)的性能可以达到有限长度容量限制。然而,fano译码算法具有回溯特性,在确定正确路径之前会多次访问某些节点,译码复杂度会随着信噪比的变化而变化,这给译码器的设计带来了极大的困难。为了解决这个问题,有人提出了pac码的列表译码算法。与顺序译码算法相比,列表译码算法是一种具有固定复杂度的非回溯树搜索算法。因此,pac码的列表译码算法在最坏情况下,即低信噪比(signal to noise ratio,snr)情况下是有利于设计实现的。然而,为了实现与顺序译码算法相同的性能,列表译码算法的列表数l很大(l≥256),这带来了难以忍受的延迟。

3、为了减少polar码和pac码列表译码算法的延迟,目前研究人员已经开发了多种方案。这些方案的基本思想是将基于sc的译码算法中的一些操作进行并行化,从而减少译码延迟。具体来说,列表译码算法的快速译码算法主要基于树修剪技术,该技术能够在不遍历极化二叉树的情况下完成译码操作。不同的快速列表译码算法能够降低译码器的处理延迟,同时保证误码率性能下降幅度可以忽略不计。尽管目前的许多设计方案已经减少了列表译码算法的处理延时,但仍有两个主要问题需要解决:

4、(1)目前的设计大多都是针对polar码进行快速译码算法设计,但由于pac码中引入了码率为1的卷积运算,如何将这些设计方案应用于pac码,降低pac码列表译码算法的处理延时是一个重要挑战。

5、(2)目前的设计方案虽然降低了译码器的处理延时,但是绝大多数工作在引入新节点后,都需要为每种节点设计一个单独的译码器模块,这不可避免地增加了译码器实现的复杂度。

6、因此需要设计出一种新的适用于polar和pac码的快速列表译码算法,在进一步降低译码处理的同时,不给实现设计带来额外的复杂度。


技术实现思路

1、本发明的目的是提供一种用于polar和pac码的列表译码方法及系统,降低列表译码处理延时的同时没有带来额外的实现复杂度。

2、为实现上述目的,本发明提供了如下方案:

3、一种用于polar和pac码的列表译码方法,包括:

4、根据待译码数据的码型确定所述待译码数据中各冻结比特的位置,所述码型包括码率和码长;所述待译码数据为polar码或者pac码;

5、根据码长和各冻结比特的位置对所述待译码数据中节点进行分类,确定各节点的类型;

6、在按照节点顺序依次对各节点进行译码过程中,根据各节点的不同类型进行相应的译码处理,得到译码处理过程中产生的各路径的路径度量值;

7、将最小路径度量值的路径的译码码字作为所述待译码数据的译码结果。

8、可选地,根据码长和各冻结比特的位置对所述待译码数据中节点进行分类,具体包括:

9、依次遍历所述待译码数据中节点:

10、若节点全部由冻结比特构成,则判定为第一类型节点;

11、若节点全部由信息比特构成,则判定为第二类型节点;

12、若节点只有最后一位为信息比特,则判定为第三类型节点;

13、若节点只有第一位为冻结比特,则判定为第四类型节点;

14、若节点只有包含两个信息比特,则判定为第五类型节点;

15、若节点只有包含三个信息比特,则判定为第六类型节点;

16、若节点只有包含四个信息比特,则判定为第七类型节点;

17、采用特殊节点信息存储矩阵储存各节点的特殊节点信息,各节点的特殊节点信息包括节点的类型、索引值和长度,索引值根据节点的顺序确定。

18、可选地,在按照节点顺序依次对各节点进行译码过程中,根据各节点的不同类型进行相应的译码处理,得到译码处理过程中产生的各路径的路径度量值,具体包括:

19、初始化译码参数,译码参数包括列表数量、所述特殊节点信息存储矩阵和对数似然比;

20、若当前节点的索引值为1,则采用所述对数似然比为判决对数似然比赋值;

21、若当前节点的索引值大于1,则对列表中各路径的判决对数似然比进行更新;

22、若对polar码进行译码,且当前节点为所述第一类型节点,则将当前节点的比特序列值作为码字;

23、若对pac码进行译码,且当前节点为所述第一类型节点,则将当前节点的比特序列值进行卷积操作和极化转换运算后得到码字;

24、根据第一路径度量值更新公式对不同列表对应路径的路径度量值进行更新;

25、对路径度量值更新后的对应路径的码字进行更新。

26、可选地,在按照节点顺序依次对各节点进行译码过程中,根据各节点的不同类型进行相应的译码处理,得到译码处理过程中产生的各路径的路径度量值,具体还包括:

27、若当前节点为所述第二类型节点,对当前节点顶部的判决对数似然比进行排序,得到排序结果;

28、对所述排序结果的前min(ns,l-1)个比特进行路径分离操作,产生不同的比特序列,将所述排序结果中除了前min(ns,l-1)个比特之外的比特将判决对数似然比的硬判决值作为比特序列;ns表示当前节点的长度,l表示所述列表数量;

29、根据第一路径度量值更新公式对不同码字的路径度量值进行更新,只保留路径度量值最小的l条路径;

30、若对polar码进行译码,则用当前节点的比特序列值作为码字;

31、若对pac码进行译码,则对当前节点的比特序列值进行卷积操作和极化转换运算后得到码字。

32、可选地,在按照节点顺序依次对各节点进行译码过程中,根据各节点的不同类型进行相应的译码处理,得到译码处理过程中产生的各路径的路径度量值,具体还包括:

33、若对polar码进行译码,且当前节点为所述第三类型节点,用当前节点的比特序列值作为码字;

34、若对pac码进行译码,且当前节点为所述第三类型节点,则对当前节点的比特序列值进行卷积操作和极化转换运算后得到码字;

35、根据第一路径度量值更新公式对不同列表对应路径的路径度量值进行更新,生成2l条路径,只保留路径度量值最小的l条路径,并更新相应的码字。

36、可选地,在按照节点顺序依次对各节点进行译码过程中,根据各节点的不同类型进行相应的译码处理,得到译码处理过程中产生的各路径的路径度量值,具体还包括:

37、若当前节点为所述第四类型节点,对当前节点顶部的判决对数似然比进行排序,得到排序结果;

38、判定所述排序结果中的最小值为最不可靠点;

39、若校验值不为0,则翻转所述排序结果中最小值,得到更新后的当前节点的比特序列值;

40、若对polar码进行译码,则用当前节点的比特序列值作为码字;

41、若对pac码进行译码,则对当前节点的比特序列值进行卷积操作和极化转换运算后得到码字;

42、根据第二路径度量值更新公式对不同列表对应路径的路径度量值进行更新,只保留路径度量值最小的l条路径。

43、可选地,在按照节点顺序依次对各节点进行译码过程中,根据各节点的不同类型进行相应的译码处理,得到译码处理过程中产生的各路径的路径度量值,具体还包括:

44、若对polar码进行译码,且当前节点为所述第五类型节点,则将当前节点的比特序列值作为码字;

45、若对pac码进行译码,且当前节点为所述第五类型节点,则将当前节点的比特序列值进行卷积操作和极化转换运算后得到码字;

46、根据第一路径度量值更新公式对不同列表对应路径的路径度量值进行更新,生成4l条路径,只保留路径度量值最小的l条路径,并更新相应的码字。

47、可选地,在按照节点顺序依次对各节点进行译码过程中,根据各节点的不同类型进行相应的译码处理,得到译码处理过程中产生的各路径的路径度量值,具体还包括:

48、若对polar码进行译码,且当前节点为所述第六类型节点,则将当前节点的比特序列值作为码字;

49、若对pac码进行译码,且当前节点为所述第六类型节点,则将当前节点的比特序列值进行卷积操作和极化转换运算后得到码字;

50、根据第一路径度量值更新公式对不同列表对应路径的路径度量值进行更新,生成8l条路径,只保留路径度量值最小的l条路径,并更新相应的码字。

51、可选地,在按照节点顺序依次对各节点进行译码过程中,根据各节点的不同类型进行相应的译码处理,得到译码处理过程中产生的各路径的路径度量值,具体还包括:

52、若对polar码进行译码,且当前节点为所述第七类型节点,则将当前节点的比特序列值作为码字;

53、若对pac码进行译码,且当前节点为所述第七类型节点,则将当前节点的比特序列值进行卷积操作和极化转换运算后得到码字;

54、根据第一路径度量值更新公式对不同列表对应路径的路径度量值进行更新,生成16l条路径,只保留路径度量值最小的l条路径,并更新相应的码字。

55、本发明公开了一种用于polar和pac码的列表译码系统,包括:

56、冻结比特确定模块,用于根据待译码数据的码型确定所述待译码数据中各冻结比特的位置,所述码型包括码率和码长;所述待译码数据为polar码或者pac码;

57、节点类型确定模块,用于根据码长和各冻结比特的位置对所述待译码数据中节点进行分类,确定各节点的类型;

58、译码处理模块,用于在按照节点顺序依次对各节点进行译码过程中,根据各节点的不同类型进行相应的译码处理,得到译码处理过程中产生的各路径的路径度量值;

59、译码结果确定模块,用于将最小路径度量值的路径的译码码字作为所述待译码数据的译码结果。

60、根据本发明提供的具体实施例,本发明公开了以下技术效果:

61、本发明根据码长和各冻结比特的位置对所述待译码数据中节点进行分类,根据各节点的不同类型进行相应的译码处理,从而确定译码结果,在进一步降低列表译码算法处理延时的同时没有带来额外的实现复杂度,减轻了开发人员的负担,另外本发明具有通用性,能够应用于任意码率码长的polar和pac码。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1