一种基于截止集的简化BP译码方法及装置 |
|||||||
申请号 | CN202310843430.9 | 申请日 | 2023-07-11 | 公开(公告)号 | CN117895954A | 公开(公告)日 | 2024-04-16 |
申请人 | 山东科技大学; | 发明人 | 张小军; 栗海洋; 董雁飞; 王正荣; 韩钦; 杜相葆; 康子扬; 刘跃; 宋鑫; 王伟; | ||||
摘要 | 本 发明 提出了一种基于截止集的简化BP译码方法及装置,属于极化码处理方法及装置领域,本发明主要针对目前的BP译码方法复杂度较高的问题,本发明所采用的方法是在BP译码 算法 中加入截止集的检测,在PE进行计算的过程中检测计算结果是否属于截止集,如果属于截止集,则在之后的 迭代 中跳过该信息的更新,从而减小迭代的计算复杂度。经测试,设迭代次数为40且设定 阈值 β=9.5时,测试结果显示 信噪比 为3.5dB时计算量降低79.2%,且译码性能与传统方法接近。 | ||||||
权利要求 | 1.一种基于截止集的简化BP译码方法,其特征在于,该方法具体如下: |
||||||
说明书全文 | 一种基于截止集的简化BP译码方法及装置技术领域[0001] 本发明涉及一种极化码处理方法及装置,尤其涉及一种基于截止集的简化BP译码方法及装置。 背景技术[0002] 2008年,Arikan在国际信息论ISIT会议上首次提出了信道极化的概念。2009年,Arikan在《IEEE transaction on information theory》期刊上发表的论文中对信道极化进行了更详细的阐述,给出一种当码长趋于无穷大时能够达到任何给定二进制离散无记忆信道容量的编码方式,称为极化码(Polar Code)。极化码是信道编码领域的一个新的突破,其译码算法主要有两大类,分别是串行抵消(Successive cancellation,SC)算法和置信度传播(Belief Propagation,BP)算法。SC算法计算复杂度低,但译码延迟较高。BP算法基于极化码的因子图表示,计算过程是并行的,但其复杂度较高。 [0003] BP算法的计算复杂度为O(IaveNlogN),其中Iave为平均迭代次数,N为极化码码长。因此,降低BP算法的计算复杂度可通过减少迭代过程中的冗余迭代来实现,学者们已经提出多种早期迭代停止标准,例如专利(公开号为CN104539296A,公开日为2015‑4‑22)公开了“一种基于提前终止迭代策略的极化码改进BP译码方法”和专利(公开号为CN105262494A,公开日为2016‑01‑20)公开了“一种具有迭代早停止机制的极化码BP译码方法”等。虽然早期迭代停止标准能够有效避免冗余迭代,但其判断的单位是完整的一次迭代,即如果当前迭代结果不满足标准,就要进行下一次的完整迭代,而一次迭代的计算复杂度为O(NlogN),已经很高。为解决该问题,S.M.Abbas在论文“Low complexity belief propagation polar code decoder”中借用SC算法的思想,提出一种基于子因子图冻结的新方案。该方案不再只判断迭代结果是否满足迭代停止标准,而是在迭代过程中逐阶判断是否冻结较小的子因子图,获得了更好的性能。由于S.M.Abbas仍是以完整的因子图划分出的子因子图为计算冻结的检测范围,其仍旧不是BP算法的最小计算单元,所以并不是最优的。 发明内容[0005] 本发明具体采用以下技术方案: [0006] 一种基于截止集的简化BP译码方法,利用BP译码算法对极化码进行译码;所述BP译码算法基于极化码的因子图表示,一个(N,K)极化码的因子图由n=log2N阶计算单元(Processing element,PE)和n+1列节点构成,每阶计算单元包含N/2个PE,(i,j)表示从左起第i行,第j列的节点,第t次迭代中,从右到左更新节点(i,j)中的信息记为 从左到右更新节点(i,j)的信息记为 [0007] 译码开始前,需要对因子图中的信息进行初始化; 初始化为信道接收值,根据位置信息分别初始化为0和正无穷,其余均初始化为0: [0008] [0009] [0010] 式(4)中的集合A指的是信息位的集合,BP译码算法分别向左和向右更新因子中LLR的公式如下: [0011] [0012] f(x,y)≈α*sign(x)sign(y)min(|x|,|y|) (7) [0013] 式(6)可以总结为两种计算方式,即 [0014] m=f(b+d,a) (9) [0015] n=f(a,c)+b (10) [0016] 对于(9),若满足标准一或二,则计算结果m属于截止集; [0017] 标准一:|b+d|≥|a|且a属于截止集; [0018] 标准二:|b+d|≤|a|且b和d都属于截止集; [0019] 对于(10),若满足标准三或四,则计算结果n属于截止集; [0020] 标准三:|a|≥|c|,c和b都属于截止集且|a|≥β;β为预先设定的阈值 [0021] 标准四:|a|≤|c|,a和b都属于截止集且|c|≥β; [0022] 当式(9)或(10)满足上述标准时则所计算的 或 属于截止集,后续迭代中跳过 或 的计算,当达到预设的最大迭代次数 后,冻结位直接判决为0,信息位的译码结果由Li,1的符号决定,具体的判决公式如下: [0023] [0024] 本发明中提供了一种基于截止集的简化BP译码方法的译码装置,该装置使用aF,bF,cF,dF,mF,nF表示相应的a,b,c,d,m和n的截止集标志,并且上述截止集标志初始化为0;包含两种结构, [0025] 第一种结构如下: [0026] 第一个判断单元用于判断:当dF=1且bF=1时判断为1, [0027] 第二个判断单元用于判断:当第一判断单元为1且gF=1,或者aF=1且gF=1时,判断为1,其中, [0028] 第三个判断单元将上次迭代的截止集标志 与第二个判断单元结果进行比较,当其中一项为1时,则本次迭代的t t‑1 [0029] 若上次迭代的截止集标志 则m=m ,直接跳过计算步骤,否则 [0030] a、b、d分别从上一次迭代结果中取值,并根据式(7)和(9)计算结果,其中|a|,|b+d|的比较单元同时输出gF; [0031] 第二种结构如下: [0032] 第一个判断单元用于判断:当aF=1,hF=0或者cF=1,hF=1时判断为1;其中,[0033] 第二个判断单元用于判断:当max(|a|,|c|)≥β时判断为1; [0034] 第三个判断单元用于判断:当第一个判断单元和第二个判断单元均为1时判断为1[0035] 第四个判断单元用于判断:当第三个判断单元为1并且bF=1时,判断为1,[0036] 第五个判断单元将上次迭代的截止集标志 与第四个判断单元结果进行比较,当其中一项为1时,则本次迭代的t t‑1 [0037] 若上次迭代的截止集标志 则n=n ,直接跳过计算步骤,否则 [0038] a、b、c分别从上一次迭代结果中取值,并根据式(7)和(10)计算结果,其中|a|,|c|的比较单元同时输出hF。 [0039] 上述的基于截止集的极化BP译码方法中,最大迭代次数预设为15~80。 [0040] 本发明为解决上述技术问题还提供一种基于截止集的简化BP译码装置,主要由带截止集判断的PE构成。 [0041] 本发明具有如下的增益效果:本发明提供基于截止集的简化BP译码方法及装置,使用带截止集判断的PE进行译码,设迭代次数为40且β=9.5,测试结果显示信噪比为3.5dB时计算量降低79.2%,且译码性能与传统方法接近。附图说明 [0042] 图1为本发明参数为(8,4)的极化码因子图; [0043] 图2为本发明极化码因子图的基本单元示意图; [0044] 图3为本发明带截止判断的单个PE中式(1)计算所对应的硬件结构; [0045] 图4为本发明带截止判断的单个PE中式(2)计算所对应的硬件结构; [0046] 图5为本发明方法在不同信噪比信道中所节省的计算比例; [0047] 图6为本发明基于截止集的BP译码器和传统BP译码的性能比较,最大迭代次数均设置为40。 具体实施方式[0048] 下面结合附图和实施例对本发明作进一步的描述。 [0049] 极化码的BP译码方法以(8,4)极化码为例,在如图1所示的因子中运行,首先向右传递对数似然比信息(log‑likelihood ratio,LLR),到达因子图最右侧后再向左传递LLR直到因子图最左侧。极化码的因子图由n=3阶计算单元(Processing element,PE)和4列节点构成,每阶计算单元包含4个PE,(i,j)表示从左起第i行,第j列的节点,第t次迭代中,从右到左更新节点(i,j)中的信息记为 从左到右更新节点(i,j)的信息记为 [0050] 图2为极化码因子图的基本单元。译码开始前,需要对因子图中的信息进行初始化。 初始化为信道接收值, 根据位置信息分别初始化为0和正无穷,其余均初始化为0: [0051] [0052] [0053] 式(4)中的集合A指的是信息位的集合。BP译码算法分别向左向右更新因子中LLR的公式如下: [0054] [0055] f(x,y)≈α*sign(x)sign(y)min(|x|,|y|) (7) [0056] 当达到预设的最大迭代次数后,冻结位直接判决为0,信息位的译码结果由Li,1的符号决定,具体的判决公式如下: [0057] [0058] 本发明的思路是在BP译码算法中加入截止集的检测,在PE进行计算的过程中检测计算结果是否属于截止集,如果属于截止集,则在之后的迭代中跳过该信息的更新,从而减小迭代的计算复杂度。具体而言,式(6)中包含以下两种计算: [0059] m=f(b+d,a) (9) [0060] n=f(a,c)+b (10) [0061] 对于(9),若满足标准一或二,则计算结果m属于截止集。 [0062] 标准一:|b+d|≥|a|且a属于截止集; [0063] 标准二:|b+d|≤|a|且b和d都属于截止集。 [0064] 对于(10),若满足标准三或四,则计算结果n属于截止集。 [0065] 标准三:|a|≥|c|,c和b都属于截止集且|a|≥β; [0066] 标准四:|a|≤|c|,a和b都属于截止集且|c|≥β。 [0067] 下面采用参数为(1024,512)的Polar码进行实施测试,码长为N=1024,K=512。使用高斯近似方法获得1024个极化子信道的错误概率,挑出K个错误概率最小的信道,对应的K位即为信息位,剩余的N‑K个位为冻结位,冻结位预设为0,信息位与冻结位构成 调制方式为二进制相移键控(Binary Phase Shift Keying,BPSK),信道为加性高斯白噪声信道(Additive White Gaussian Noise,AWGN)。由于译码端在本实施中码字 由长度为1024的 与生成矩阵G相乘得到。生成矩阵 表示矩阵 的log21024=10N 次克罗内克积。信道接收值Y1使用LLR形式表示。本发明的具体译码过程如下: [0068] 步骤1、在接收端接收到Y1N后按照(4)、(5)对因子图最左端的 和最右端的进行初始化; [0069] 步骤2、按照(6)、(7)更新因子图中的信息,且对于单个PE而言,是否在当前迭代执行计算由上次迭代的截止判断结果决定,如已截止,则无需执行计算,保持上次迭代的值不变即可。否则,正常执行计算,并检测此次更新的结果是否满足截止标准。 [0070] 判断过程具体如下: [0071] 使用aF,bF,cF,dF,mF,nF表示相应的截止集标志,当其为1时对应的输入属于截止集,初始化为0,另外gF为|a|和|(b+d)|之间的大小关系标志,hF为|a|和|c|的大小关系标志,具体计算式如下: [0072] [0073] [0074] 若 则有 和mt=mt‑1;与此相同,若 则有 和nt=nt‑1 。若 或 则m和n的计算正常执行。执行计算过程中对于 有如下情况: [0075] [0076] 对于nF则有如下情况: [0077] [0078] 依据以上截止判断方法绘制了如图3和图4所示硬件结构。如果达到最大迭代次数则进入步骤3。 [0079] 如图3所示的第一种结构如下: [0080] 第一个判断单元用于判断:当dF=1且bF=1时判断为1, [0081] 第二个判断单元用于判断:当第一判断单元为1且gF=1,或者aF=1且gF=1时,判断为1,其中, [0082] 第三个判断单元将上次迭代的截止集标志 与第二个判断单元结果进行比较,当其中一项为1时,则本次迭代的t t‑1 [0083] 若上次迭代的截止集标志 则m=m ,直接跳过计算步骤,否则 [0084] a、b、d分别从上一次迭代结果中取值,初始化为0,并根据式(7)和(9)计算结果,其中|a|,|b+d|的比较单元同时输出gF; [0085] 如图4所示的第二种结构如下: [0086] 第一个判断单元用于判断:当aF=1,hF=0或者cF=1,hF=1时判断为1;其中,[0087] 第二个判断单元用于判断:当max(|a|,|c|)≥β时判断为1; [0088] 第三个判断单元用于判断:当第一个判断单元和第二个判断单元均为1时判断为1[0089] 第四个判断单元用于判断:当第三个判断单元为1并且bF=1时,判断为1,[0090] 第五个判断单元将上次迭代的截止集标志 与第四个判断单元结果进行比较,当其中一项为1时,则本次迭代的 [0091] 步骤3、按照式(8)进行译码结果的判决。 [0092] 图5显示了本发明BP译码方法在不同信噪比信道中所节省的计算比例,其中Eb/N0为信噪比。容易看出,本发明能有效减小计算复杂度,尤其是在中、高信噪比信道中,效果更为显著。 [0093] 图6显示了在高斯加性白噪声信道中本发明BP译码器与传统BP译码器的译码性能测试结果。两个译码器的最大迭代次数均设置为40次。图中横坐标Eb/N0为信噪比,纵坐标error rates为错误率,图例中ber为误比特率,fer为误帧率,Fixed Iteration表示迭代次数为常数,proposed withβ=9.5表示使用了本发明提出的BP译码算法。根据图6可看出在本发明所提出的截止集判断与传统的译码算法译码性能接近。 |