CN107612557A - 一种改进型Shuffled BP算法 - Google Patents
一种改进型Shuffled BP算法 Download PDFInfo
- Publication number
- CN107612557A CN107612557A CN201710631169.0A CN201710631169A CN107612557A CN 107612557 A CN107612557 A CN 107612557A CN 201710631169 A CN201710631169 A CN 201710631169A CN 107612557 A CN107612557 A CN 107612557A
- Authority
- CN
- China
- Prior art keywords
- node
- variable node
- shuffled
- algorithms
- variable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000008859 change Effects 0.000 claims description 5
- 230000001788 irregular Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 230000006872 improvement Effects 0.000 description 8
- 238000000034 method Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000686 essence Substances 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种改进型Shuffled BP算法,包括依次遍历各个变量节点,接着遍历当前变量节点所连接的各个校验节点,将这些校验节点所连接的变量节点的度相加,这样将得到每个变量节点深度为2的度。最后根据深度为2的度从大到小对各变量节点进行排序,然后按照传统Shuffled BP算法的步骤工作,得连接范围广的变量节点得到提前更新,有利于后续积累更多的更新消息,提升收敛速度。在中等信噪比和高信噪比的信道下,该算法较传统的Shuffled BP算法提升了35%‑43%的收敛速度。
Description
技术领域
本发明涉及通信信道编码领域,具体涉及一种改进型Shuffled BP算法。
背景技术
LDPC码因其具有近香农限的误码性能,从而被广泛研究与应用,目前的4G及新制定的5G移动通信系统中都有LDPC码的一席之地。从而对LDPC码的继续深入的研究和性能改善也具有一定的科学和经济价值。
置信度传播(Belief-Propagation,BP)算法是LDPC译码算法中应用较为广泛且性能较为优良的译码算法。而传统的BP算法是一种基于洪水消息传递机制的译码算法,其每次迭代译码都是先并行计算所有校验节点的信息,接着并行计算所有变量节点的信息,虽然这在硬件实现上较为简单,但其收敛速度并未让人满意,且并行计算所消耗的硬件资源是巨大的。为了弥补传统BP算法的不足,诸多学者开始研究串行消息传递机制的译码算法,如Juntan Zhang和Marc Fossorier提出一种Shuffled BP译码算法,其主要思想是在每次迭代中依次更新变量节点和与其相连的校验节点,这使得在一次迭代中刚刚更新过的消息能够参与到本次迭代中的其他消息的更新中去,从而其收敛速度能达到传统BP算法的两倍,同时串行的硬件实现又能节省大量的存储空间。
近年来有学者对LDPC码的Shuffled BP算法进行了不同方向的改进,使得其性能和收敛速度得到进一步的提升。如2015年Ghaudhry Adnan Aslam针对非规则LDPC码提出一种特定的变量节点更新顺序,使得Shuffled BP算法的收敛速度得到进一步的提升。该算法是根据变量节点度的大小来生成这种特定的变量节点更新顺序。为了继续提升ShuffledBP算法的收敛速度,本发明提出了另外一种针对非规则LDPC码的以特定变量节点为更新顺序的Shuffled BP算法。
发明内容
为了克服现有技术存在的缺点与不足,本发明提供一种适用于非规则LDPC码的改进型Shuffled BP算法。
该算法提出在分层译码中对变量节点的更新顺序进行限定,本发明提出的变量节点更新顺序不是简单的根据变量节点度的从大到小进行排序,而是根据每个变量节点进行深度为2的度排序,这使得连接范围广的变量节点得到提前更新,有利于后续积累更多的更新消息,提升收敛速度。在中等信噪比和高信噪比的信道下,该算法较传统的Shuffled BP算法提升了35%-43%的收敛速度。
本发明的目的通过以下技术方案实现:
本发明提出的一种非规则LDPC码的改进Shuffled BP算法首先是针对非规则LDPC码,在传统的Shuffled BP算法中对变量节点的更新顺序进行了限定。其更新顺序主要通过以下方法得到,即依次遍历各个变量节点,接着遍历当前变量节点所连接的各个校验节点,将这些校验节点所连接的变量节点的度相加,这样将得到每个变量节点深度为2的度。最后根据深度为2的度从大到小对各变量节点进行排序,此顺序即为改进Shuffled BP算法中变量节点的更新顺序,其他步骤与传统Shuffled BP算法相同。
一种改进型Shuffled BP算法,包括如下步骤:
S1译码器初始化,定义并初始化变量节点的计数器以n=1的变量节点作为初始节点,对于与该变量节点相连的校验节点执行S2,其中1≤n≤N,N为自然数;
S2遍历与该校验节点相连的各变量节点的度,更新ηn,
ηn=ηn+current_degree,current_degree为该校验节点相连的各变量节点的度,
S3重复S1及S2,直到遍历n个变量节点,得到N个ηn,按照ηn从大到小对变量节点n进行排序,将结果存入更新顺序向量S={ν1,ν2,...,νN},ν1是重新排序后的变量节点,其中
S4初始化变量节点的信息,开始进行迭代;
S5进行第l次迭代,对N个变量节点按照S={ν1,ν2,...,νN}的顺序依次更新与变量节点νn所相连的各个校验节点的信息,接着更新变量节点νn的信息;
S6对N个变量节点进行判决;
重复步骤S5至步骤S6,当译码成功或者达到最大迭代次数时停止迭代,并输出译码序列或者输出译码失败信息。
S4中的初始化变量节点的信息方式与Shuffled BP算法相同。
S5中所述的更新变量节点和校验节点的信息所采用的公式与Shuffled BP算法相同。
所述S6中对N个变量节点进行判决的方式为:如果则zn=0;如果则zn=1。
本发明的工作原理:一种非规则LDPC码的改进Shuffled BP算法的工作原理可结合图2的LDPC码的Tanner图进行分析,如图2为经过步骤2之后各个变量节点ηn的大小,从而应用本发明所提出的方法可得到变量节点的更新顺序为ν5→ν7→ν6→ν3→ν1→ν2→ν4。我们知道,BP算法中对变量节点的更新是更新变量节点到与其相连的校验节点的信息。故变量节点的度越大,更新到的信息也就越多。变量节点深度为2的度越大表示更新该变量节点后,更新的消息能传播到越多其他的变量节点,同时更新消息被其他变量节点所利用到的次数也是越多的。故本发明将深度为2的度较大的变量节点优先更新,这使得最终所有变量节点利用到的更新消息总和达到最大,有利于提升收敛速度。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明提出的算法在中等信噪比和高信噪比的信道下,较传统的Shuffled BP算法提升了35%-43%的收敛速度。
(2)本发明在提升收敛速度的同时,只需在第一次的初始化时计算一次变量节点的更新顺序,后续迭代和接收数据无需再计算,所以计算复杂度总体而言基本不变,而且算法实现方式相对简单。
附图说明
图1是本发明的工作流程图;
图2是获取变量节点更新顺序的LDPC码Tanner图;
图3是本发明的仿真验证图,(1008,504)非规则LDPC码在最大迭代次数为5时的归一化平均迭代次数对比示意图;
图4为本发明的仿真验证图,(1008,504)非规则LDPC码在最大迭代次数为10时的归一化平均迭代次数对比示意图。
具体实施方式
下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例
本发明属于通信信道编码领域的一种非规则LDPC码的改进Shuffled BP算法,现对该算法的具体实施方式进行说明。
设LDPC码字c={c1,c2,…,cN}在高斯白噪声(AWGN)信道中应用,调制方式为BPSK,被映射为传输序列x={x1,x2,…,xN},其中xn=2cn-1,接收到的码字序列为x+w=y={y1,y2,…,yN},其中yn=xn+wn,wn为独立的高斯白噪声变量。译码后的比特序列为z={z1,z2,…,zN}。
接着定义以下参数:V(c)表示与校验节点c相连的变量节点集合,V(c)\v表示除v之外的其它变量节点;C(v)表示与变量节点v相连的校验节点集合,C(v)\c表示除c之外的其它校验节点。Fn表示变量节点n对应的对数似然比(LLR)消息,通过接收符号值得到,初始化值为(4/N0)yn;表示由LDPC码变量节点传递给LDPC码校验节点的第l次迭代的更新信息;由LDPC码校验节点传递给LDPC码变量节点的第l次迭代的更新信息;表示变量节点在第l次迭代收集到的所有信息。
如图1所示,是本发明算法的具体实施方式,本实施例对算法的说明以图2所示的LDPC码为例。下面对一种非规则LDPC码的改进Shuffled BP算法的具体实施方式进行说明:
步骤1:译码器初始化,定义并初始化变量节点的计数器对与变量节点n相连的校验节点执行步骤2,其中1≤n≤N;
步骤2:遍历本次选定的校验节点相连的各变量节点,依次更新ηn,
ηn=ηn+current_degree,current_degree表示当前遍历到的变量节点的度;
步骤3:如图2所示得到η1=17,η2=16,η3=20,η4=15,η5=28,η6=26,η7=27,根据ηn从大到小对变量节点n进行排序ν5→ν7→ν6→ν3→ν1→ν2→ν4,将排序结果存入更新顺序向量S={ν1,ν2,...,νN},其中
步骤4:初始化变量节点的信息,开始进行迭代;
步骤5:进行第l次迭代,对N个变量节点按照S={ν1,ν2,...,νN}的顺序依次更新与变量节点νn所相连的各个校验节点的信息,接着更新变量节点νn的信息;
步骤6:对N个变量节点进行判决;
重复步骤5至步骤6,当译码成功或者达到最大迭代次数时停止迭代,并输出译码序列或者输出译码失败信息。
所述的步骤4中的初始化变量节点的信息的方式与Shuffled BP算法相同,对1≤n≤N,
所述的步骤5中的更新变量节点和校验节点的信息所采用的公式与Shuffled BP算法相同,其中更新与与变量节点νn所相连的各个校验节点的信息的公式为:
更新变量节点νn的信息的公式为:和
所述的步骤6中对N个变量节点进行判决的方式为:如果则zn=0;如果则zn=1;
当信道为高斯白噪声(AWGN)信道,调制方式为BPSK时,采用传统的Shuffled BP算法和本发明的改进算法,对(1008,504)非规则LDPC码分别在最大迭代次数为5和10时进行仿真实验,收集数据绘出表征收敛速度的对比图。在仿真图中,我们定义符号Ishuffled表示传统的Shuffled BP算法的平均迭代次数;Ione-degree表示Ghaudhry Adnan Aslam提出的根据变量节点度的大小来生成特定的变量节点更新顺序算法的平均迭代次数。Itwo-degree表示本发明所提出的一种非规则LDPC码的改进Shuffled BP算法的平均迭代次数。图中对比各个算法的归一化平均迭代次数,即对比改进算法与传统Shuffled BP算法之间平均迭代次数的比值Ione-degree/Ishuffled和Itwo-degree/Ishuffled。
如图3所示,是运用不同算法对(1008,504)非规则LDPC码在最大迭代次数为5时的归一化平均迭代次数对比示意图。从图中可以看到本发明提出的改进算法和Ghaudhry提出的算法均随着信噪比的增加,平均迭代次数相比于传统的Shuffled BP算法减少的幅度越来越大,在信噪比大于3.5dB后,平均迭代次数都能减少35%以上。而本发明提出的改进算法相比于Ghaudhry提出的算法平均迭代次数还能减少1%-2.5%,可见本发明提出的改进算法的收敛速度是更快的。
如图4所示,是运用不同算法对(1008,504)非规则LDPC码在最大迭代次数为10时的归一化平均迭代次数对比示意图。同样的,从图中可以看到本发明提出的改进算法和Ghaudhry提出的算法均随着信噪比的增加,平均迭代次数相比于传统的Shuffled BP算法减少的幅度越来越大,在信噪比大于3.5dB后,平均迭代次数都能减少35%以上。而本发明提出的改进算法相比于Ghaudhry提出的算法平均迭代次数还能减少1%-2.5%,可见本发明提出的改进算法的收敛速度是更快的。当最大迭代次数增加到10时,从仿真图可见在低信噪比时(1dB-2dB),两种改进算法相比于传统Shuffled BP算法在平均迭代次数上仍有5%-25%的减少。
需要强调的一点是,本发明的改进Shuffled BP算法在提升收敛速度的同时,只需在第一次的初始化时计算一次变量节点的更新顺序,后续迭代和接收数据无需再计算,所以计算复杂度总体而言基本不变,而且算法实现方式相对简单。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (4)
1.一种改进型Shuffled BP算法,其特征在于,包括如下步骤:
S1译码器初始化,定义并初始化变量节点的计数器ηn=0,以n=1的变量节点作为初始节点,对于与该变量节点相连的校验节点执行S2,其中1≤n≤N,N为自然数;
S2遍历与该校验节点相连的各变量节点的度,更新ηn,ηn=ηn+current_degree,current_degree为该校验节点相连的各变量节点的度;
S3重复S1及S2,直到遍历n个变量节点,得到N个ηn,按照ηn从大到小对变量节点n进行排序,将结果存入更新顺序向量S={ν1,ν2,...,νN},其中
S4初始化变量节点的信息,开始进行迭代;
S5进行第l次迭代,对N个变量节点按照S={ν1,ν2,...,νN}的顺序依次更新与变量节点νn所相连的各个校验节点的信息,接着更新变量节点νn的信息;
S6对N个变量节点进行判决;
重复步骤S5至步骤S6,当译码成功或者达到最大迭代次数时停止迭代,并输出译码序列或者输出译码失败信息。
2.根据权利要求1所述的一种改进型Shuffled BP算法,其特征在于,S4中的初始化变量节点的信息方式与Shuffled BP算法相同。
3.根据权利要求1所述的一种改进型Shuffled BP算法,其特征在于,S5中所述的更新变量节点和校验节点的信息所采用的公式与Shuffled BP算法相同。
4.根据权利要求1所述的一种改进型Shuffled BP算法,其特征在于,所述S6中对N个变量节点进行判决的方式为:如果则zn=0;如果则zn=1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710631169.0A CN107612557B (zh) | 2017-07-28 | 2017-07-28 | 一种改进型Shuffled BP算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710631169.0A CN107612557B (zh) | 2017-07-28 | 2017-07-28 | 一种改进型Shuffled BP算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107612557A true CN107612557A (zh) | 2018-01-19 |
CN107612557B CN107612557B (zh) | 2020-09-22 |
Family
ID=61060052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710631169.0A Expired - Fee Related CN107612557B (zh) | 2017-07-28 | 2017-07-28 | 一种改进型Shuffled BP算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107612557B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981226A (zh) * | 2019-04-16 | 2019-07-05 | 厦门大学 | 一种联合信源信道编码系统的联合调度译码算法 |
CN110739977A (zh) * | 2019-10-30 | 2020-01-31 | 华南理工大学 | 一种基于深度学习的bch码译码方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103220003A (zh) * | 2013-03-29 | 2013-07-24 | 西安空间无线电技术研究所 | 提高节点处理并行度的qc-ldpc译码器的实现方法 |
CN106330201A (zh) * | 2016-08-18 | 2017-01-11 | 中山大学 | 基于变量节点可靠性动态选择策略的多进制ldpc码更新方法 |
CN106899309A (zh) * | 2017-01-06 | 2017-06-27 | 中山大学 | 基于变量节点可靠性的低复杂度ldpc动态调度译码更新方法 |
-
2017
- 2017-07-28 CN CN201710631169.0A patent/CN107612557B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103220003A (zh) * | 2013-03-29 | 2013-07-24 | 西安空间无线电技术研究所 | 提高节点处理并行度的qc-ldpc译码器的实现方法 |
CN106330201A (zh) * | 2016-08-18 | 2017-01-11 | 中山大学 | 基于变量节点可靠性动态选择策略的多进制ldpc码更新方法 |
CN106899309A (zh) * | 2017-01-06 | 2017-06-27 | 中山大学 | 基于变量节点可靠性的低复杂度ldpc动态调度译码更新方法 |
Non-Patent Citations (2)
Title |
---|
CHAUDHRY ADNAN ASLAM 等: "Improving the Belief-Propagation Convergence of Irregular LDPC Codes Using Column-Weight Based Scheduling", 《IEEE COMMUNICATIONS LETTERS》 * |
刘利军: "LDPC码译码算法研究", 《华南理工大学硕士学位论文》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981226A (zh) * | 2019-04-16 | 2019-07-05 | 厦门大学 | 一种联合信源信道编码系统的联合调度译码算法 |
CN110739977A (zh) * | 2019-10-30 | 2020-01-31 | 华南理工大学 | 一种基于深度学习的bch码译码方法 |
CN110739977B (zh) * | 2019-10-30 | 2023-03-21 | 华南理工大学 | 一种基于深度学习的bch码译码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107612557B (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105811998B (zh) | 一种基于密度演进的极化码构造方法及极化码编译码系统 | |
CN107026656A (zh) | 一种基于扰动的CRC辅助中短码长Polar码有效译码方法 | |
CN101388674B (zh) | 一种译码的方法、译码器以及Turbo码译码器 | |
CN103873073B (zh) | 一种基于并行与加窗结构的Turbo码高速译码实现方法 | |
CN107204780B (zh) | polar-LDPC级联码的合并BP解码算法及装置 | |
CN104079380B (zh) | 分布式联合信源‑信道叠加编码及联合译码方法 | |
CN110417512B (zh) | 一种用于cpm通信系统的联合迭代译码方法 | |
CN103281090A (zh) | 混合修正加权比特翻转的ldpc译码算法 | |
CN101345601A (zh) | 一种译码方法和译码器 | |
CN105281835A (zh) | 基于ldpc码的可见光通信方法 | |
CN102523076A (zh) | 通用可配置的高速率Turbo码译码系统及其方法 | |
CN107612557A (zh) | 一种改进型Shuffled BP算法 | |
Yang et al. | Nonlinear programming approaches to decoding low-density parity-check codes | |
CN110113057A (zh) | 一种利用深度学习的极化码译码器 | |
CN110061803B (zh) | 一种低复杂度的极化码比特交织编码调制方法 | |
Hu et al. | A comparative study of polar code decoding algorithms | |
CN102811065A (zh) | 基于线性最小均方误差估计的修正最小和解码方法 | |
CN101807929A (zh) | 低密度奇偶校验码的选择退火最小和译码方法 | |
CN101562456A (zh) | 基于低密度奇偶校验码译码软信息的码辅助帧同步方法 | |
CN106301391A (zh) | 一种改进的软输出咬尾卷积码译码方法 | |
CN107404323A (zh) | 一种基于交错行列消息传递的ldpc码改进译码算法 | |
CN107147401A (zh) | 基于简化双二元Turbo码度量值的译码方法 | |
CN101425870B (zh) | 一种Turbo码迭代译码方法 | |
Kahraman et al. | Folded successive cancelation decoding of polar codes | |
Qingle et al. | A low complexity model-driven deep learning ldpc decoding algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200922 |