一种自适应码长高速率BP译码器
文献发布时间:2023-06-19 11:57:35
技术领域
本发明涉及5Gpolar译码研究的技术领域,尤其涉及一种自适应码长高速率BP译码器。
背景技术
Polar是一种已经被证实能够达到香农极限的编码方式,由于其不错的性能,近年来受到了人们的广泛关注,其中,polar码的译码方式主要有两种,SC译码(successivecancellation)和BP译码(belief propagation),SC译码性能优于BP译码,但是由于SC译码的串联特性,导致SC译码具有较长的延时,而BP译码具有并行特性,因此更适合低延时的应用。
目前BP译码的调度方案有halfway-schedule,将基本的BP译码分为并行的两段,以及quarter-schedule,在halfway-schedule的基础上将该译码方法的每一段再分为两段,也就是说quarter-schedule方案将整个译码过程分为四段并行运行,该方法会使得译码速度极大提高,但是由于译码过程中信息的不均匀会导致译码性能有所下降,随着分段的增加性能下降尤为明显,因此为了改善这一特性,我们提出了自适应码长高速率的BP译码器。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述现有存在的问题,提出了本发明。
因此,本发明提供了一种自适应码长高速率BP译码器,能够解决由于译码过程中信息的不均匀和分段增加性能而导致的译码性能有所下降的问题。
为解决上述技术问题,本发明提供如下技术方案:包括,输入码长、预迭代次数iter
作为本发明所述的自适应码长高速率BP译码器的一种优选方案,其中:包括,选择quarter-schedule将整个译码过程分成4段,前期迭代次数按照传统的BP译码方案执行,后期迭代次数按照四分之一调度执行,直到达到所述最大迭代次数iter
作为本发明所述的自适应码长高速率BP译码器的一种优选方案,其中:包括,开两个矩阵的存储,L
作为本发明所述的自适应码长高速率BP译码器的一种优选方案,其中:包括,将接收到的对数似然比LLR作为因子图里最右侧的输入数据,填入L的第n+1列;将信源比特的先验LLR作为因子图中最左列的输入数据,填入R的第一列,如下,
L
作为本发明所述的自适应码长高速率BP译码器的一种优选方案,其中:包括,长度为N=2
作为本发明所述的自适应码长高速率BP译码器的一种优选方案,其中:包括,根据对应的所述码长选择所述调度方案。
作为本发明所述的自适应码长高速率BP译码器的一种优选方案,其中:包括,提前设定所述预迭代次数iter
作为本发明所述的自适应码长高速率BP译码器的一种优选方案,其中:包括,根据下式进行硬判决,得到信源序列(u
本发明的有益效果:本发明首先将根据输入的码长选择对应的译码调度方案,halfway-schedule、quarter-schedule、eighth-schedule、tenth-schedule,如码长N=256,即在BP的因子图上一共有八层,所以选择eighth-schedule调度方案,将译码过程分为并行的八段,使整个译码过程的周期减小,提高译码器的运行速度;由于对整个译码过程实行并行处理,最终会导致译码性能有所下降,尤其是所分的段数越多,性能下降越明显,所以在译码过程中将前几次的迭代设置为传统的BP译码迭代,后面对译码进行分段,执行并行处理,这样既能保证译码器的速度,也可以保证译码之后的性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明一个实施例所述的自适应码长高速率BP译码器的流程示意图;
图2为本发明一个实施例所述的自适应码长高速率BP译码器的N=8的polar码的因子示意图;
图3为本发明一个实施例所述的自适应码长高速率BP译码器的四分之一调度示意图;
图4为本发明一个实施例所述的自适应码长高速率BP译码器的五分之一调度示意图;
图5为本发明一个实施例所述的自适应码长高速率BP译码器的八分之一调度示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
参照图1,为本发明的第一个实施例,提供了一种自适应码长高速率BP译码器,具体包括:
S1:输入码长、预迭代次数iter
S2:根据码长选择调度方案;
S3:按照传统的BP译码器进行迭代,判断t=0是否t小于预迭代次数iter
S4:若是,则重新进行迭代,若否,则根据选择的调度方案进行迭代;
S5:判断t是否小于最大迭代次数iter
S6:若是,则重新进行迭代,若否,则结束译码。
较佳的,本实施例还需要详细说明的是,上述步骤还具体包括,选择quarter-schedule将整个译码过程分成4段,前期迭代次数按照传统的BP译码方案执行,后期迭代次数按照四分之一调度执行,直到达到最大迭代次数iter
进一步的,开两个矩阵的存储,L
L
长度为N=2
在每一列都有N/2个2×2模块,从上到下依次标记为第1,2,…,N/2个模块;
(i,j),1≤i≤N/2,1≤j≤n表示第j中的第i个2×2模块;
提前设定预迭代次数iter
不难理解的是,传统BP译码器,设置码长N和信息比特K,利用随机生成函数产生K位信息比特序列,通过信道选择函数从N个信道中选出K个较好的信道传输信息比特,其余的信道传输冻结比特,组成长度为N的码。
根据公式
在接收端接收由发送端传来的消息
译码过程如下:
长度为N=2
(1)开两个矩阵的存储,L
(2)将接收到的对数似然比LLR做为因子图里最右侧的输入数据,填入L的第n+1列,将信源比特的先验LLR作为因子图中最左列的输入数据,填入R的第一列
L
(3)长度为N=2
(4)向左运算,启动第n列上所有的2×2模块,按照下式进行运算,
L
L
此时,L
(5)向右运算,启动第一列上所有2×2模块,按照下式进行运算,
R
R
此时,对于每个2×2模块,只向右计算两个R中的数据,不向左计算L中的数据。
(6)上述两次迭代合起来为一次完整的BP译码迭代,一般一次迭代基本不可能得到正确的译码结果,所以还需要后面继续迭代,直到达到设定的最大迭代次数,BP译码停止。
(7)根据下式得到信源序列(u
优选的,本实施例还需要说明的是,本发明提出的译码器和传统的BP译码器不一样的地方在于传递信息时的调度方案,传统的BP译码使用往返调度(round-tripschedule),该译码器先整体计算从左到右的R信息,再计算从右到左的L信息,从而完成一次迭代,然后进行右判决;而本发明提出的自适应高速率BP译码器,则需要提前设置码长N,预迭代次数iter
根据设定的码长N选择合适的调度方案,如N=2
在八分之一调度中,每个子循环完成一次迭代需要m/4个周期(单向传播需要m/8个周期),由于两个子循环是并行的,所以在八分之一调度中,一次迭代只需要m/4个周期,在四分之一调度中,每个子循环完成一次迭代需要m/2个周期(单向传播需要m/4个周期),由于两个子循环是并行的,所以在四分之一调度中,一次迭代只需要m/2个周期,而往返调度时一次迭代需要2m个周期。
实施例2
参照图2~图5,为本发明的第二个实施例,该实施例不同于第一个实施例的是,提供了一种自适应码长高速率BP译码器的验证,具体包括:
(1)开两个矩阵的存储,L
(2)将接收到的对数似然比LLR做为因子图里最右侧的输入数据,填入L的第n+1列;
将信源比特的先验LLR作为因子图中最左列的输入数据,填入R的第一列,如下,
L
(3)长度为N=2
在每一列都有N/2个2×2模块,从上到下依次标记为第1,2,…,N/2个模块;
(i,j),1≤i≤N/2,1≤j≤n表示第j中的第i个2×2模块;
(4)根据设定的码长选择对应的调度方案,码长所对应的调度方案如表1所示,假设N=256,由表1可知选择eight-schedule,由图3可知,八分之一调度的信息交换分别发生在n/8,n/4,3n/8,n/2,5n/8,3n/4,7n/8处,其中n=log
L
L
R
R
表1:不同码长对应的调度方案。
(5)提前设定的预迭代次数iter
(6)根据下式进行硬判决,得到信源序列(u
本发明首先将根据输入的码长选择对应的译码调度方案,halfway-schedule、quarter-schedule、eighth-schedule、tenth-schedule,如码长N=256,即在BP的因子图上一共有八层,所以选择eighth-schedule调度方案,将译码过程分为并行的八段,使整个译码过程的周期减小,提高译码器的运行速度;由于对整个译码过程实行并行处理,最终会导致译码性能有所下降,尤其是所分的段数越多,性能下降越明显,所以在译码过程中将前几次的迭代设置为传统的BP译码迭代,后面对译码进行分段,执行并行处理,这样既能保证译码器的速度,也可以保证译码之后的性能。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
- 一种自适应码长高速率BP译码器
- 一种码长自适应的LLR‑BP译码器