CN107623525B - 一种高效的变量节点选择顺序方法 - Google Patents
一种高效的变量节点选择顺序方法 Download PDFInfo
- Publication number
- CN107623525B CN107623525B CN201710631983.2A CN201710631983A CN107623525B CN 107623525 B CN107623525 B CN 107623525B CN 201710631983 A CN201710631983 A CN 201710631983A CN 107623525 B CN107623525 B CN 107623525B
- Authority
- CN
- China
- Prior art keywords
- variable node
- variable
- forecast
- nodes
- update
- 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.)
- Active
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种高效的变量节点选择顺序方法,包括根据信道条件确定预测迭代次数,接着初始化生成变量节点更新顺序向量数组,保证每次更新一个变量节点都能利用到当前最多的更新信息,所述的当前最多的更新信息是指变量节点被选中之前所被更新的次数,次数越多表示选择该变量节点能利用到当前最多的更新信息。本发明所提出的变量节点选择顺序的Shuffled BP算法较传统的Shuffled BP算法提升了40%‑50%的收敛速度,对于规则LDPC码能提升15%‑20%的收敛速度。
Description
技术领域
本发明涉及通信信道编码领域,具体涉及一种适用于LDPC分层译码算法中的一种高效的变量节点选择顺序方法。
背景技术
LDPC码在目前的信道编码领域仍占据着重要的位置,大部分科学研究都是有关对LDPC码的研究,因为LDPC码已经确认将应用于第五代移动通信系统中,从而继续对LDPC码进行编译码算法的改进及其他相关研究仍然具有重要的意义。
LDPC码译码算法中应用最为广泛的是置信度传播(Belief-Propagation,BP)算法,而传统的BP算法采取的是一种并行消息传递机制,即每次迭代译码都是先并行计算所有校验节点的信息,接着并行计算所有变量节点的信息,这种BP算法在收敛速度并不能满足人们的需求,且并行计算消耗巨大的硬件资源。故研究者们开始把研究重点转向串行消息传递机制的译码算法,如Juntan Zhang和Marc Fossorier提出一种Shuffled BP译码算法,这是一种分层译码算法。其主要思想是在每次迭代中一次更新一个变量节点,然后更新与该变量节点相连的校验节点,这种机制使得在一次迭代中刚刚更新过的消息能够参与到本次迭代中的其他消息的更新中去,从而其收敛速度能达到传统BP算法的两倍,而且串行计算实现不需要占用大量的硬件资源。
有研究发现,Shuffled BP算法的一次迭代中变量节点的更新顺序在一定程序上影响着整体译码的收敛速度。针对这个问题,2015年Ghaudhry Adnan Aslam针对非规则LDPC码提出一种特定的变量节点更新顺序,使得Shuffled BP算法的收敛速度得到一定的提升,该算法是根据变量节点度的大小来生成这种特定的变量节点更新顺序。2017年Ghaudhry Adnan Aslam又提出了一种能同时适用于规则码与非规则码的变量节点更新顺序,该更新顺序每次在更新一个变量节点时都能利用到当前最多的更新消息,这使得Shuffled BP算法的收敛速度再度得到提升,为了继续提升Shuffled BP算法的收敛速度,本发明在Ghaudhry Adnan Aslam所提出的算法的基础上另提出LDPC分层译码算法中一种高效的变量节点选择顺序。
发明内容
为了克服现有技术存在的缺点与不足,本发明提供一种高效的变量节点选择顺序方法。
本方法从整个算法执行的角度出发,即考虑多次迭代情况,而不限定于单独一次迭代,保证接收码字在译码时每次更新一个变量节点都能利用到当前最多的更新信息。在中等信噪比和高信噪比的信道下,对于非规则LDPC码,加入本发明所提出的变量节点选择顺序的Shuffled BP算法较传统的Shuffled BP算法提升了40%-50%的收敛速度,对于规则LDPC码能提升15%-20%的收敛速度。
本发明采用如下技术方案:
本发明首先会对信道条件进行估计,根据信道条件确定预测迭代次数,接着初始化生成变量节点更新顺序向量数组,保证每次更新一个变量节点都能利用到当前最多的更新信息,所述的当前最多的更新信息是指变量节点被选中之前所被更新的次数,次数越多表示选择该变量节点能利用到当前最多的更新信息。本发明为译码过程的每一次迭代各生成一组变量节点选择顺序,后续的Shuffled BP算法依次按照迭代次数的不同,将利用对应各组的变量节点选择顺序进行分层译码。
一种高效的变量节点选择顺序方法,包括如下步骤:
S1译码器进行信道估计并初始化预测迭代次数Iforecast,定义并初始化变量节点的计数器ηn=0,定义Iforecast个更新顺序向量Si={ν1,ν2,...,νN},1≤i≤Iforecast,初始化i,当前迭代i=1;
S2根据变量节点的度从大到小将变量节点分为M个块,每个块内的变量节点的度是相同的,在变量节点度最大的块m=1内随机选择一个变量节点作为起始更新变量节点v1=v,v1∈S1;
S3遍历与选择更新变量节点v相连的校验节点,执行S4;
S4遍历与本次所选校验节点相连的变量节点v',每次将所选择到的变量节点的计数器增加1,ην'=ην'+1,如果遍历完成则进入S5,否则返回S3;
S5令上次选择更新变量节点的计数器ην=0,在当前变量节点度最大的块选择η最大的变量节点作为下次选择更新的变量节点v,存入更新顺序向量Si={ν1,ν2,...,νN};
S6重复步骤S3至步骤S5,直到选择了N个变量节点,i=i+1;
重复步骤S3至步骤S6,直到i达到Iforecast。
所述初始化预测迭代次数Iforecast是根据信道条件设定的,一般情况下信噪比较低时Iforecast设置较大,而在信噪比较高时Iforecast设置较小。
后续的更新变量节点都是优先从当前未被选择完毕的变量节点度最大的块中选择,且一次迭代中一个变量节点只能选择一次。
本发明的工作原理:LDPC分层译码算法中一种高效的变量节点选择顺序的工作原理可结合图2(a)至图2(j)获取变量节点更新顺序的步骤示意图加以分析,可以看到每一步对更新变量节点的选择都是选择已被更新最多次的变量节点,以保证更新该变量节点能利用到当前最多的更新信息。而且更新变量节点的选取是从本次迭代延伸到下次迭代中的,前一次迭代所产生的更新信息能够保留到下一次迭代中,并于下一次迭代中在一定程度上决定更新变量节点的选择,从而保证所选择的更新变量节点是在前一次和本次迭代过程中被更新的次数最多的。
本发明的有益效果:
(1)在中等信噪比和高信噪比的信道下,对于非规则LDPC码,加入本发明所提出的变量节点选择顺序的Shuffled BP算法较传统的Shuffled BP算法提升了40%-50%的收敛速度,对于规则LDPC码能提升15%-20%的收敛速度。
(2)本发明在提升收敛速度的同时,译码时只需在第一次的初始化时计算一次变量节点的更新顺序数组,后续迭代和接收数据无需再计算,所以计算复杂度总体而言基本不变,而且算法实现方式相对简单。
附图说明
图1为本发明的工作流程图。
图2(a)至图2(j)为获取变量节点更新顺序的步骤示意图。
图3为本发明的仿真验证图:(1008,504)非规则LDPC码在最大迭代次数为5时的平均迭代次数对比示意图。
图4为本发明的仿真验证图:(1008,504)非规则LDPC码在最大迭代次数为10时的平均迭代次数对比示意图。
图5为本发明的仿真验证图:(1000,500)规则LDPC码在最大迭代次数为10时的平均迭代次数对比示意图。
具体实施方式
下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例
如图1所示,是本发明算法的具体实施方式,本实施例对算法的说明以图2(a)至图2(j)所示LDPC码的获取变量节点更新顺序的步骤示意图为例。图2(a)至图2(j)实例中的LDPC码有3个校验节点和4个变量节点,假设信道条件较优,译码最大所需迭代次数不大于2。
一种高效的变量节点选择顺序方法,包括如下步骤:
S1译码器进行信道估计并初始化预测迭代次数Iforecast=2,定义并初始化变量节点的计数器ηn=0,定义Iforecast个更新顺序向量Si={ν1,ν2,ν3,ν4},1≤i≤Iforecast,初始化i,当前迭代i=1;
S2根据变量节点的度从大到小将变量节点分为2个块,每个块内的变量节点的度是相同的,在变量节点度最大的块m=1内随机选择一个变量节点v3作为起始更新节点,后续的更新变量节点都是优先从变量节点度最大的块选择且一次迭代中一个变量节点只能选择一次;
度从大到小分为M块,1≤m≤M,所以m=1表示度最大的块,m=M表示度最小的块。从度最大的块中开始选择起始更新变量结点。
S3遍历与选择更新变量节点v相连的校验节点,执行S4;
S4遍历与本次所选校验节点相连的变量节点v',每次将所选择到的变量节点的计数器增加1,ην'=ην'+1,如果遍历完成则进入S5,否则返回S3;
S5令上次选择更新变量节点的计数器ην=0,在当前变量节点度最大的块选择η最大的变量节点作为下次选择更新的变量节点v,存入更新顺序向量Si={ν1,ν2,...,νN};
S6重复步骤S3至步骤S5,直到选择了N个变量节点,i=i+1;
重复步骤S3至步骤S6,直到i达到Iforecast。
经过图2(a)至图2(j)所示具体的10个步骤后得到变量节点更新顺序向量数组S1={ν3,ν1,ν2,ν4},S2={ν1,ν2,ν3,ν4};接下来的Shuffled BP算法中第一次迭代的变量节点选择顺序将按照S1的顺序进行,假如第一次迭代仍然无法译码成功,则第二次迭代的变量节点选择顺序将按照S2的顺序进行。
当信道为高斯白噪声(AWGN)信道,调制方式为BPSK时,采用传统的Shuffled BP算法和本发明的改进算法,对(1008,504)非规则LDPC码分别在最大迭代次数为5和10时进行仿真实验,对(1000,500)规则LDPC码在最大迭代次数为10时进行仿真实验,收集数据绘制平均迭代次数的对比图。
如图3所示,是运用不同算法对(1008,504)非规则LDPC码在最大迭代次数为5时的平均迭代次数对比示意图。从图中可以看到在中等信噪比和高信噪比的信道下,加入本发明提出的变量节点选择顺序的Shuffled BP算法较传统的Shuffled BP算法提升了40%-50%的收敛速度;
如图4所示,是运用不同算法对(1008,504)非规则LDPC码在最大迭代次数为10时的归一化平均迭代次数对比示意图。从图中可以看到在中等信噪比和高信噪比的信道下,加入本发明提出的变量节点选择顺序的Shuffled BP算法较传统的Shuffled BP算法提升了40%-50%的收敛速度;
如图5所示,是运用不同算法对(1000,500)规则LDPC码在最大迭代次数为10时的归一化平均迭代次数对比示意图。从图中可以看到在中等信噪比和高信噪比的信道下,加入本发明提出的变量节点选择顺序的Shuffled BP算法较传统的Shuffled BP算法提升了15%-20%的收敛速度;
需要强调的一点是,本发明在提升收敛速度的同时,译码时只需在第一次的初始化时计算一次变量节点的更新顺序数组,后续迭代和接收数据无需再计算,所以计算复杂度总体而言基本不变,而且算法实现方式相对简单。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (3)
1.一种高效的变量节点选择顺序方法,其特征在于,包括如下步骤:
S1译码器进行信道估计并初始化预测迭代次数Iforecast,定义并初始化变量节点的计数器定义Iforecast个更新顺序向量Si={ν1,ν2,...,νN},1≤i≤Iforecast,初始化i,当前迭代i=1;
S2根据变量节点的度从大到小将变量节点分为M个块,每个块内的变量节点的度是相同的,在变量节点度最大的块m=1内随机选择一个变量节点作为起始更新变量节点v1=v,v1∈S1;
S3遍历与选择更新变量节点v相连的校验节点,执行S4;
S4遍历与本次所选校验节点相连的变量节点v',每次将所选择到的变量节点的计数器增加1,ην'=ην'+1,如果遍历完成则进入S5,否则返回S3;
S5令上次选择更新变量节点的计数器ην=0,在当前变量节点度最大的块选择η最大的变量节点作为下次选择更新的变量节点v,存入更新顺序向量Si={ν1,ν2,...,νN};
S6重复步骤S3至步骤S5,直到选择了N个变量节点,i=i+1;
重复步骤S3至步骤S6,直到i达到Iforecast。
2.根据权利要求1所述的一种高效的变量节点选择顺序方法,其特征在于,所述初始化预测迭代次数Iforecast是根据信道条件设定的,信噪比较低时Iforecast设置较大,而在信噪比较高时Iforecast设置较小。
3.根据权利要求1所述的一种高效的变量节点选择顺序方法,其特征在于,后续的更新变量节点都是优先从当前未被选择完毕的变量节点度最大的块中选择,且一次迭代中一个变量节点只能选择一次。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710631983.2A CN107623525B (zh) | 2017-07-28 | 2017-07-28 | 一种高效的变量节点选择顺序方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710631983.2A CN107623525B (zh) | 2017-07-28 | 2017-07-28 | 一种高效的变量节点选择顺序方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107623525A CN107623525A (zh) | 2018-01-23 |
CN107623525B true CN107623525B (zh) | 2020-09-22 |
Family
ID=61088655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710631983.2A Active CN107623525B (zh) | 2017-07-28 | 2017-07-28 | 一种高效的变量节点选择顺序方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107623525B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420279A (zh) * | 2008-12-17 | 2009-04-29 | 航天恒星科技有限公司 | 移动多媒体广播中高速ldpc译码器及译码方法 |
CN101707486A (zh) * | 2009-02-03 | 2010-05-12 | 天津博微科技有限公司 | 单向纠正的多状态置信传播迭代的ldpc译码方法 |
CN102185616A (zh) * | 2011-05-05 | 2011-09-14 | 北京大学 | 基于行列联合迭代译码的ldpc码构造方法 |
CN103220003A (zh) * | 2013-03-29 | 2013-07-24 | 西安空间无线电技术研究所 | 提高节点处理并行度的qc-ldpc译码器的实现方法 |
CN106330201A (zh) * | 2016-08-18 | 2017-01-11 | 中山大学 | 基于变量节点可靠性动态选择策略的多进制ldpc码更新方法 |
WO2017105270A1 (en) * | 2015-12-15 | 2017-06-22 | Huawei Technologies Co., Ltd. | Determination of a quasi-cyclic low-density parity-check, qc-ldpc, code for channel coding in digital communication systems |
CN106899309A (zh) * | 2017-01-06 | 2017-06-27 | 中山大学 | 基于变量节点可靠性的低复杂度ldpc动态调度译码更新方法 |
-
2017
- 2017-07-28 CN CN201710631983.2A patent/CN107623525B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420279A (zh) * | 2008-12-17 | 2009-04-29 | 航天恒星科技有限公司 | 移动多媒体广播中高速ldpc译码器及译码方法 |
CN101707486A (zh) * | 2009-02-03 | 2010-05-12 | 天津博微科技有限公司 | 单向纠正的多状态置信传播迭代的ldpc译码方法 |
CN102185616A (zh) * | 2011-05-05 | 2011-09-14 | 北京大学 | 基于行列联合迭代译码的ldpc码构造方法 |
CN103220003A (zh) * | 2013-03-29 | 2013-07-24 | 西安空间无线电技术研究所 | 提高节点处理并行度的qc-ldpc译码器的实现方法 |
WO2017105270A1 (en) * | 2015-12-15 | 2017-06-22 | Huawei Technologies Co., Ltd. | Determination of a quasi-cyclic low-density parity-check, qc-ldpc, code for channel coding in digital communication systems |
CN106330201A (zh) * | 2016-08-18 | 2017-01-11 | 中山大学 | 基于变量节点可靠性动态选择策略的多进制ldpc码更新方法 |
CN106899309A (zh) * | 2017-01-06 | 2017-06-27 | 中山大学 | 基于变量节点可靠性的低复杂度ldpc动态调度译码更新方法 |
Non-Patent Citations (1)
Title |
---|
"Improving the Belief-Propagation Convergence of Irregular LDPC Codes Using Column-Weight Based Scheduling";Chaudhry Adnan Aslam 等;《IEEE Communications Letters》;20150611;第19卷(第8期);第1283-1286页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107623525A (zh) | 2018-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Improved polar decoder based on deep learning | |
CN104079382B (zh) | 一种基于概率计算的极化码译码器和极化码译码方法 | |
CN107612560B (zh) | 基于部分信息比特似然比的极化码早期迭代停止方法 | |
CN105356971B (zh) | 一种基于概率计算的scma译码器 | |
CN110784232B (zh) | 一种空间耦合ldpc码滑窗译码方法 | |
CN107743056B (zh) | 一种基于压缩感知辅助的scma多用户检测方法 | |
WO2015079193A1 (en) | Belief propagation decoding for short algebraic codes with permutations within the code space | |
CN111835464B (zh) | 一种与源址无关的大规模合作接入方法 | |
CN107196737B (zh) | 基于消息传递算法的scma译码方法 | |
CN110233628A (zh) | 极化码的自适应置信传播列表译码方法 | |
CN113328756B (zh) | 用于提升分层qc-ldpc译码器硬件处理性能的方法 | |
CN107623525B (zh) | 一种高效的变量节点选择顺序方法 | |
CN112332864B (zh) | 一种自适应有序移动剪枝列表的极化码译码方法及系统 | |
CN112803954B (zh) | 一种基于CRC分段处理的改进BP List译码算法 | |
CN107911124B (zh) | 一种非递归的sc译码部分和确定方法及装置 | |
CN107612557B (zh) | 一种改进型Shuffled BP算法 | |
CN108173624B (zh) | 一种部分译码的极化码串行抵消译码电路及其方法 | |
CN109639290B (zh) | 一种半随机分组叠加编码及译码方法 | |
CN103973317A (zh) | 一种多元ldpc码的快速译码方法 | |
CN101697492B (zh) | 双二元卷积Turbo码译码方法和装置 | |
CN111010196B (zh) | 一种极化码BP List译码方法 | |
CN108566211B (zh) | 基于H矩阵层处理顺序动态变化的layered LDPC译码方法 | |
CN110958025B (zh) | 一种基于叠加的短帧长编码及译码方法 | |
CN110855298B (zh) | 基于子信道冻结条件的低迭代次数极化码bp译码方法 | |
CN104767536B (zh) | 基于ofdm电力线通信系统的qc-ldpc译码方法和译码器 |
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 |