会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑零配件 / 硬件 / 流水BP极化译码器硬件架构的建立方法及译码器硬件架构

流水BP极化译码器硬件架构的建立方法及译码器硬件架构

阅读:1035发布:2020-10-19

IPRDB可以提供流水BP极化译码器硬件架构的建立方法及译码器硬件架构专利检索,专利查询,专利分析的服务。并且本发明提供一种流水BP极化译码器的建立方法,包括:步骤1,设定BP译码的最大迭代次数;步骤2,利用BP译码算法对极化编码信息进行译码;步骤3,在每一次迭代过程中,对节点信息值进行更新;步骤4,建立流水BP极化译码器的硬件架构。本发明每一次迭代过程均按照上述信息更新方式进行。与现有流水BP极化译码器相比,不同码长下,当迭代一次时,译码延迟可降低33.45%~34.52%,BCB利用率提高50.13%~51.32%;当码长N=1024bit,最大迭代次数为40次时,存器资源消耗可减少25.6%~38.76%,频率提高19.4%~31.43%,从而有效降低译码延迟和硬件资源消耗,提高硬件利用率。,下面是流水BP极化译码器硬件架构的建立方法及译码器硬件架构专利的具体信息内容。

1.一种流水BP极化译码器硬件架构的建立方法,其特征在于,包括如下步骤:步骤1,设定BP译码的最大迭代次数;

步骤2,利用BP译码算法对极化编码信息进行译码;

步骤3,在每一次迭代过程中,根据提出的新旧值方法对节点信息进行更新调度;

步骤4,建立一种基于新旧值方法的流水BP极化译码器的硬件架构。

2.根据权利要求1所述的流水BP极化译码器硬件架构的建立方法,其特征在于,步骤3中,对信息值进行迭代更新计算处理直至达到最大迭代次数,更新完所需的所有节点信息;

其中每次迭代从左到右的方向更新或从右到左的方向更新。

3.根据权利要求2所述的流水BP极化译码器硬件架构的建立方法,其特征在于,步骤3中,对于迭代更新处理产生的信息,如果在下一阶不能被立即消耗掉,则进行延迟,等到满足处理条件时,再被消耗。

4.根据权利要求3所述的流水BP极化译码器硬件架构的建立方法,其特征在于,步骤3中,在进行下一阶更新处理时,若所需要的信息值没有及时被更新为新值,则是用相应的旧值代替进行更新计算处理。

5.根据权利要求1所述的流水BP极化译码器硬件架构的建立方法,其特征在于,步骤3中,采用流水线的方式进行更新计算处理。

6.一种流水BP极化译码器硬件架构,其特征在于,包括:基本计算模块,对极化编码信息进行译码并对节点信息值进行更新;

存储模块,在迭代过程中,对节点信息值进行存储;

硬判决模块,当迭代次数达到预设的最大值时,求出最左侧节点的LLR值,并进行硬判决处理,得到译码结果。

7.根据权利要求6所述的流水BP极化译码器硬件架构,其特征在于,基本计算模块的数量满足2(n-1)个;其中n为大于1的正整数。

说明书全文

流水BP极化译码器硬件架构的建立方法及译码器硬件架构

技术领域

[0001] 本发明涉及一种极化码译码处理方法,尤其涉及一种具有新型更新方案的流水BP极化译码器硬件架构的建立方法及译码器硬件架构。

背景技术

[0002] 极化码(Polar Code),是由E.Arikan在2008年的国际信息论ISIT会议上首次提出的一种编码技术,在二进制离散无记忆(B-DMC)信道下,理论上被证明可以达到香农极限,并且编解码具有较低的算法复杂度,成为信道编码史上一个重大突破,是编码领域备受瞩目的研究热点。极化码是在信道极化的基础上构造的。信道极化包含信道结合和信道分裂两个过程。信道极化现象使得当编码长N趋于无穷大时,会出现信道容量一部分趋于“1”,另一部分趋于“0”。有用信息在趋于“1”的信道上发送,而确定信息在趋于“0”的信道上发送。
[0003] 在极化码的实际译码中,主要有连续消除算法(Successive Cancellation,SC)和置信度传播算法(Belief Propagation,BP)两种译码算法。SC算法的译码复杂度低,纠错性能出色,但译码延迟很高,限制了系统的吞吐量。较高的译码延迟阻碍了极化码的广泛应用,特别是高速应用。与SC译码不同,BP译码是一种迭代算法,具有高度并行性,提供了一个更高的吞吐量和较低的译码延迟。
[0004] 然而,现有的文献很少解决BP译码器的规律性,其中大多数都是低利用率和灵活性。如现有技术1,J.Yang,C.Zhang,H.Zhou and X.You,"Pipelined belief propagation polar decoders,"2016IEEE International Symposium on Circuits and Systems(ISCAS),Montreal,QC,2016,pp.413-416。同时,以现有技术1为基础申请的专利《一种流水线极化编码器》(申请号:201510318729.8)提出了一种流水线极化编码器,包括log2N组延时编码模块依次连接,其中,所述延时编码模块均包括相互连接的一个异或-通过门和多个延时单元,其中所述N为极化码编码器的位数。本发明根据折叠技术的原理采用由延时单元、异或-通过门等器件组的延时编码模块的依次连接,实现了极化码的编码工作。有效的降低了硬件的复杂度,提高了编码的速度和处理的频率,对于实际应用的具有巨大潜力。
[0005] 由于各功能单元的利用率,以及较高的硬件复杂度,极化BP译码器硬件性能仍缺乏竞争力,需要进一步提高了极化BP译码器的硬件性能,降低极化BP译码器的硬件复杂度。

发明内容

[0006] 针对现有技术中的缺陷,本发明目的在于提供一种能够大大降低译码的硬件复杂度,提高硬件性能,同时降低译码延迟和存储资源消耗的流水BP极化译码器硬件架构的建立方法及译码器硬件架构。
[0007] 为解决上述技术问题,本发明提供一种流水BP极化译码器硬件架构的建立方法,包括如下步骤:
[0008] 步骤1,设定BP译码的最大迭代次数;
[0009] 步骤2,利用BP译码算法对极化编码信息进行译码;
[0010] 步骤3,在每一次迭代过程中,根据提出的新旧值方法对节点信息进行更新调度;
[0011] 步骤4,建立一种基于新旧值方法的流水BP极化译码器的硬件架构。
[0012] 步骤3中,对信息值进行迭代更新计算处理直至达到最大迭代次数,更新完所需的所有节点信息;其中每次迭代从左到右的方向更新或从右到左的方向更新。
[0013] 步骤3中,对于迭代更新处理产生的信息,如果在下一阶不能被立即消耗掉,则进行延迟,等到满足处理条件时,再被消耗。
[0014] 步骤3中,在进行下一阶更新处理时,若所需要的信息值没有及时被更新为新值,则是用相应的旧值代替进行更新计算处理。
[0015] 步骤3中,采用流水线的方式进行更新计算处理。
[0016] 一种流水BP极化译码器硬件架构,包括:
[0017] 基本计算模块,对极化编码信息进行译码并对节点信息值进行更新;
[0018] 存储模块,在迭代过程中,对节点信息值进行存储;
[0019] 硬判决模块,当迭代次数达到预设的最大值时,求出最左侧节点的LLR值,并进行硬判决处理,得到译码结果。
[0020] 基本计算模块的数量满足2(n-1)个;其中n为大于1的正整数。
[0021] 与现有技术相比,本发明流水BP极化译码器的建立方法具有以下优点:本发明提供的新型的流水BP极化译码方法,在每一次迭代过程中,均按照上述信息更新方式进行。计算与仿真结果显示,与现有的流水BP极化译码器相比,不同码长下,当迭代一次时,译码延迟可降低33.45%~34.52%,BCB利用率可提高50.13%~51.32%;当码长N=1024bit,最大迭代次数为40次时,存器资源消耗(Register和Block Memory)可减少25.6%~38.76%,频率可提高19.4%~31.43%,从而有效降低译码延迟和硬件资源消耗,提高硬件利用率。

附图说明

[0022] 通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征目的和优点将会变得更明显。
[0023] 图1为本发明参数为(8,4)的极化码因子图;
[0024] 图2为本发明极化码因子图的基本单元示意图;
[0025] 图3为本发明极化码基本处理模块的逻辑结构示意图;
[0026] 图4为本发明从左到右更新的BCB硬件架构示意图;
[0027] 图5为本发明从右到左更新的BCB硬件架构示意图;
[0028] 图6为本发明码长为8码长的译码器顶层架构实现示意图;
[0029] 图7为本发明码长为N码长的译码器顶层架构实现示意图。

具体实施方式

[0030] 下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。
[0031] 如图1~图7所示,本发明中,由于每阶只用一个BCB,按流水线的更新方式进行,当前阶的BCB产生的数据,如果不能被下一阶的BCB及时消耗掉,就会需要延迟部件,随着信息逐阶传递,需要的延迟就会增加,因此硬件资源消耗就会越多,整个译码延迟也会增大。而现在,下一阶的BCB需要的数据不必等到上一阶BCB产生的都是新值时再计算,没有新值时用相应的旧值代替计算,这样需要的延迟就会减少,相应的硬件资源就会减少,整个译码延迟也会减少。
[0032] 本发明提供的新型的流水BP极化译码器设计方法,包括如下步骤:
[0033] S1)预设BP译码的最大迭代次数;
[0034] S2)利用BP译码算法对极化编码信息进行译码处理。
[0035] S3)在每一次迭代过程中,对节点信息进行更新,更新过的信息称为新值,没更新的信息称为旧值。由于设计的硬件架构中,每阶只用一个BCB,采用流水线的方式进行,每个时钟每阶只能处理一对左信息或右信息,产生的信息,即新值,如果在下一阶不能被立即消耗掉,则需要加以延迟,等到满足处理条件时,再被消耗。而下一阶更新数据时,它所需要的节点信息可能并不都是新值,此时它不必等到所需要的值都是新值时再更新计算,而是用相应的旧值代替进行计算。每次迭代的每阶节点信息都用上述的方式进行更新,直至达到预设的最大迭代次数;
[0036] S4)建立一种流水BP极化译码器的硬件架构。
[0037] 其中,所述步骤S2)中的节点信息更新方式如下:给定参数为(N,K)的极化码,其中N为码长,N=2n,n≥0,K为信息比特序列长度,K<N。极化码对应因子图由n阶和N(n+1)个节点构成,每阶包括N/2个BCB。(i,j)表示从左起第i行,第j列的节点。一般BP译码中一次迭代的过程为:信息先从第1阶往右传至第n-1阶,用RSn表示,然后由第n阶往左传至第2阶,用LSn表示;每个节点(i,j)与两种类型的信息相关:从左到右传递的信息Ri,j和从右到左传递的信息Li,j。
[0038] 所述步骤S3)对于全并行BP译码器而言,每阶由N/2个BCB构成,一列节点信息(Li,j或Ri,j)一个Clock就能更新完成,下一个Clock就可以继续下一阶的更新处理,无需延迟等待,一次迭代过程需要2(n-1)个Clock。与全并行BP译码器不同,现在,每阶只使用1个BCB,一列节点信息(Li,j或Ri,j)需要N/2个Clock才能更新完成。采用流水线的方式进行信息逐阶更新,由于每个Clock每阶1个BCB只能更新一对节点信息值(Li,j或Ri,j)所以可能会出现此刻此阶BCB更新产生的信息并不是下一阶更新计算所需的信息情况,则应延迟等待,等到满足条件时才能被处理;而当前阶BCB在更新节点信息时,所需的节点信息值此刻并不一定能及时到来,则BCB无需等待,有满足条件的新值时,用新值更新,没有新值时用旧值代替更新。迭代终止后,输出迭代所得到的译码结果。
[0039] 上述的新型的流水BP极化译码器方法,其中,所述步骤S4)中通过组合使用BCB、开关模块、判决模块、转向器和存储模块等实现BP译码器的硬件流水架构;由于每阶只有一个BCB,信息先从第1阶往右传至第n-1阶,然后由第n阶往左传至第2阶,即:信息先从RS1到RSn-1,再从LSn到LS2,则整个过程需要2(n-1)个BCB。所述BCB具有4个输入端口,2个输出端口,具有双向更新信息的功能,即:从左往右更新右信息或从右往左更新左信息都可以使用BCB进行更新计算;所述开关模块具有4输入端口和4输出端口,为最后一次迭代的从右向左更新左信息LS1设计,由信号S控制,当S=最大迭代次数时,开关模块被激活,因为LS1更新的节点信息是最左列的左信息Li,1,RS1和LS1只是更新方向不一致,因此在开关模块的协助下,RS1和LS1可以共用一个BCB;所述硬判决模块是由符号模块和反序模块组成,最左列的信息序列码字估计值 就是由它决定,和开关模块一样也是由信号S控制,当S=最大迭代次数时,被激活。符号模块用来获取LLR的符号位,反序模块用来执行位反转操作;所述存储模块既是用来存放每阶更新产生的部分节点信息,也是获取旧值的地方;所述转向器由选择模块和延迟部件组成,当前阶层的BCB输出的数据,有的可能满足下一阶的BCB处理条件,有的可能不满足,满足处理条件的数据在选择模块的协助下可以直接进行下一阶更新处理,不满足处理条件的数据在选择模块和延迟部件的协助下进行延迟等待。
[0040] 上述的新型流水BP极化译码器设计方法,其中,所述最大迭代次数设定为40。
[0041] 本发明利用BP译码算法对极化编码信息进行译码,信息更新公式如下:
[0042]
[0043] Min-sum近似用如下公式表示:
[0044] f(x,y)≈sign(x)sign(y)min(|x|,|y|)  (2)
[0045] 其中sign(·)为符号函数,min(·)为取最小值函数。
[0046] 极化码进行实施测试选取的参数为(1024,512),码长N=1024,信息序列长度K=512,码率 采用高斯近似方法在信噪比SNR=1.5dB下仿真结果作为位置信息,
信道为二进制输入的加性高斯白噪声(Additive White Gaussian Noise,AWGN)信道,调制方式为二进制相移键控(Binary Phase Shift Keying,BPSK)调制。码字 由长度为1024的混合序列 与生成矩阵G相乘得到。log2 1024=10,生成矩阵 表示矩阵
的10次克罗内克积。信道接收值Y1N用对数似然比(Log-likelihood ratio,LLR)
形式表示。本实施测试中采用1位符号位,8位整数位,3位小数位的12位量化方案,便于分析和对比。
[0047] 参数为(1024,512)的极化码的因子图(Factor Graph,FG)由log2 1024=10阶层和1024*(10+1)个节点构成(码长为8的因子图如图1所示),其中每阶层由N/2=512个BCB构成(图2为单个BCB示意图)。(i,j)表示从左起第i行,第j列的节点,一次迭代过程:信息先从第1阶往右传至第n-1阶,用RSn表示,然后由第n阶往左传至第2阶,用LSn表示。每个节点(i,j)与两种类型的信息相关:从左到右传递的信息Ri,j和从右到左传递的信息Li,j。在迭代中,信息都是以对数似然比LLR形式相互传递更新。BP极化译码器正是基于因子图FG来执行译码迭代和信息更新处理。
[0048] 在开始译码时,设定最大迭代次数为40次,需要先对Ri,1和Li,11进行初始化赋值。Li,11初始化为信道接受值Yi,Ri,1根据位置信息分别初始化为0和12位量化方案能表示的最大值255.875。具体公式如下:
[0049]
[0050] Li,11=Yi  (4)
[0051] 公式中的A指的是信息比特序号的集合。更新顺序先向右传播更新节点中的Ri,j,到达最右侧后开始向左传播更新节点中的Li,j。
[0052] 在更新过程中,基于1024码长的因子图和信息更新公式(1),由于每阶只用一个BCB,采用流水线方式更新节点信息,具体更新方式为:在第1个Clock时,RS1的BCB开始更新节点信息,输入的节点信息R1,1和R513,1,L1,2和L513,2,均为旧值,产生一对新值R1,2和R513,2;在第2个Clock时,RS2的BCB开始更新节点信息,输入的节点信息R1,2和R257,2,L1,3和L257,3,产生一对新值R1,3和R257,3,与此同时,RS1的BCB也在更新下一对节点信息。在此需要说明,由于R1,2是上一阶RS1产生的新值,R257,2此时在还没被更新。传统BP译码情况下,需要等到R1,2和R257,2都是新值时RS2的BCB才能开始更新计算,但是现在不必等到R1,2和R257,2都是新值,而是没有及时到来的节点信息R257,2,用旧值代替更新计算,L1,3和L257,3也用旧值(也可以理解为当前时刻的节点信息值)。而RS1产生的R513,2在第2个clock的RS2并没有被及时消耗,需要延迟等待。每次迭代,每阶BCB在更新节点信息时,都按照上述方式进行,输入的数据,有新值时用新值,没新值时用旧值。
[0053] 图3为本发明极化码因子图的BCB逻辑结构示意图。假设BCB的4个输入端口用a,b,c,d表示,2个输出端口用out1,out2表示,则公式(1)可以进一步简化为公式(5):
[0054] out1=f(a,b+d),out2=f(a,c)+b  (5)
[0055] 图3的BCB逻辑结构图可以设计成如图4和图5所示的BCB硬件架构图,它具有双向信息更新功能,既可以从左往右更新右信息,也可以从左往右更新左信息。
[0056] 图6为本发明为码长N=8bit的流水BP极化译码器的硬件架构实现示意图。需要的BCB数量为2(log28-1)=4个,每一次迭代,BCB需要4个时钟周期才能更新完一阶节点信息,而一次迭代总共需要4个时钟周期,所以BCB的利用率为100%。当达到最大迭代次数时,开关模块和判决模块被激活,从右到左更新最左列的左信息时,此时需要对输出的LLR做硬判决处理,需要4个时钟周期完成,所以整个译码延迟是4I+4个时钟周期,其中I为迭代次数。
[0057] 图7为本发明码长为N的流水BP极化译码器的硬件架构实现示意图。需要的BCB数量计算公式为:
[0058] BCB=2(log2N-1)  (6)
[0059] 假设N/2个缓冲时钟周期忽略不计。译码延迟和BCB利用率计算公式如下:
[0060]
[0061]
[0062] 表1为本发明在不同码长下的译码延迟、BCB数量与BCB利用率对比。
[0063]
[0064] 由表可以看出,在相同的BCB数量和不同码长下,迭代一次时,译码延迟可降低33.45%~34.52%,BCB的利用率可以提高到50.13%~51.32%。
[0065] 表2为本发明为码长N=1024bit,最大迭代次数为40的新型更新方案的流水BP译码器方法与现有的方法的硬件综合仿真结果对比。
[0066]
[0067]
[0068] 由表可知,本发明需要的存储(Register和Block Memory)资源数可减少25.6%~38.76%,频率可提高19.4%~31.43%。
[0069] 本发明提供了一种新型流水BP极化译码器的硬件架构,包括:
[0070] 信息先从第1阶往右传至第n-1阶,然后由第n阶往左传至第2阶,每阶只有一个基本计算模块,因此总共有2(n-1)个基本计算模块;
[0071] 基本计算模块,用于利用BP译码算法和提出的新旧值方法对极化编码信息进行译码,在每一次迭代过程中,对节点信息值进行更新;
[0072] 存储模块,用于迭代过程中,对一些节点信息值进行存放;
[0073] 硬判决模块,当迭代次数达到预设的最大值时,求出最左侧节点的LLR值,并进行硬判决处理,得到译码结果。
[0074] 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用