CN110022159B - 一种快速收敛的ldpc码译码算法 - Google Patents

一种快速收敛的ldpc码译码算法 Download PDF

Info

Publication number
CN110022159B
CN110022159B CN201910184758.8A CN201910184758A CN110022159B CN 110022159 B CN110022159 B CN 110022159B CN 201910184758 A CN201910184758 A CN 201910184758A CN 110022159 B CN110022159 B CN 110022159B
Authority
CN
China
Prior art keywords
decoding
iteration
algorithm
variable node
node
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
Application number
CN201910184758.8A
Other languages
English (en)
Other versions
CN110022159A (zh
Inventor
王伶
邓康
杨欣
谢坚
张兆林
张捷
汪跃先
陶明亮
粟嘉
韩闯
邢自健
宫延云
刘龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201910184758.8A priority Critical patent/CN110022159B/zh
Publication of CN110022159A publication Critical patent/CN110022159A/zh
Application granted granted Critical
Publication of CN110022159B publication Critical patent/CN110022159B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明提供了一种快速收敛的LDPC码译码算法,译码开始时,译码器进行初始化,迭代次数为1;然后计算第一次迭代变量节点的硬判决输出,检测是否合法,合法输出结果,迭代结束,否则进行下一次迭代,每一次迭代时,校验节点的更新采用本发明中提出的加权动态最小和算法,p1,p2的选取采用蒙特卡洛方法获得;每完成一次更新,迭代次数加1,在下一次迭代开始之前,变量节点每次都要计算硬判决输出,并判断码字是否正确,全部正确则停止迭代,译码结束,或者到达预设的最大迭代次数。本发明收敛速度加快,误码率更低。

Description

一种快速收敛的LDPC码译码算法
技术领域
本发明属于通信信道编码领域,涉及一种译码方法。
背景技术
数据在传输的过程中经常会引发各种差错,这些差错产生的原因往往是因为信道不理想造成的,并且这些差错的存在对信息传输的速率和可靠性都有比较严重的影响。为了解决数据传输中的可靠性问题,通常采用信道编码的方法,LDPC码是一种常见的信道编码技术,具有强大的纠错能力。
一般情况下,LDPC码字是由生成矩阵G编码得到,即将消息分组序列乘以G得到编码后的码字,这种编码方法的复杂度与G矩阵非零元素的数量有关,而矩阵G通常是密集的,所以使用矩阵G进行编码的复杂度较高。使用稀疏矩阵H编码可以很有效地降低编码复杂度。例如使用初等变换将矩阵H化成近似下三角形式,可以实现接近线性的编码复杂度。当LDPC码是准循环结构时,编码能够通过简单的硬件电路实现,进一步降低了编码复杂度。另外,关于LDPC码译码方法主要有两种:一是硬判决算法,如大数逻辑译码和比特翻转译码;二是软判决算法,如后验概率算法与和积译码算法。硬判决译码的性能差,译码复杂度低;软判决译码则恰好相反,其性能优异但复杂度高。经典的软判决译码算法是和积译码算法,它可以使LDPC码逼近香农限。在标准和积译码算法中包含了很多乘法,在硬件实现时需要使用大量的乘法器。因此,研究学者提出了对数域的和积算法,将标准和积译码算法中的大量乘法运算经过对数变换后变成了加法运算,降低了译码复杂度。对数域的BP译码算法的迭代过程包括以下步骤:
(1)译码初始化:对于接收到的长度为N的实数序列(1≤i≤N),第i个码元的初始化信息为:
Figure BDA0001992484410000011
式中,Pr(xi=1|yi),Pr(xi=0|yi)分别表示第i个码元概率为1和0的初始化信息。并且初始化下译码还未开始,校验节点没有码字的信息,因此设校验节点j到变量节点i的外信息为:
L(rj)=0 (2)
(2)假如所得到的硬判决结果不合法,则执行一次译码的迭代过程,包括变量节点更新和校验节点更新两步。
1.变量节点更新
Figure BDA0001992484410000021
式中C(i)表示矩阵中第i列中非零元素的位置集合。可以看到对数计算中输出和输入的关系为加法运算。
2.校验节点更新
用恒等式tanh(0.5log(p0/p1))=p0-p1=1-2p1,校验节点更新可化简为
Figure BDA0001992484410000022
式中,αj=sign(L(qj)),βj=|L(qj)|,f(x)=-ln[tanh(x/2)]=ln((ex+1)/(ex-1))
(3)迭代后所得的第i个变量节点的译码结果为该节点的输入的和
Figure BDA0001992484410000023
(4)译码判决,对第二步的结果进行硬判决,判决准则为
Figure BDA0001992484410000024
译码迭代过程中,如果
Figure BDA0001992484410000025
则整个译码过程结束,
Figure BDA0001992484410000026
即为译码输出,译码成功;如果译码次数到达了设计的最大译码次数,仍不满足
Figure BDA0001992484410000027
译码过程也立即停止,译码失败,将标准和积译码算法中的大量乘法运算经过对数变换后变成了加法运算,降低了译码复杂度。另外,为了进一步降低译码复杂度,更低复杂度的最小和(Minimal Sum,MS)算法应运而生,它大大地降低了复杂度,但同时性能也有所降低。
发明内容
为了克服现有技术的不足,本发明提供一种快速收敛的LDPC码译码算法,计算量与传统的最小和算法相比略有增加,但收敛速度更快,误码率更低。
本发明解决其技术问题所采用的技术方案包括以下步骤:
(1)译码器进行初始化,设置迭代次数为1;对于接收到的长度为N的实数序列,第i个码元的初始化信息
Figure BDA0001992484410000031
式中,Pr(xi=1|yi),Pr(xi=0|yi〕分别表示第i个码元概率为1和0的初始化信息;校验节点j到变量节点i的外信息L(rij)=0;
(2)计算当前迭代变量节点的硬判决输出,检测是否合法,合法则译码成功,输出结果,迭代结束;不合法则执行一次译码的迭代过程,包括变量节点更新和校验节点更新;
变量节点更新为
Figure BDA0001992484410000032
式中C(i)表示矩阵中第i列中非零元素的位置集合;
校验节点更新为
Figure BDA0001992484410000033
式中
Figure BDA0001992484410000034
为最小和算法中采取的校验节点更新方法;动态加权因子
Figure BDA0001992484410000035
p1,p2的选取采用蒙特卡洛方法获得,δ、η通过随机实验得到;
(3)迭代后所得的第i个变量节点的译码结果
Figure BDA0001992484410000036
(4)译码判决,对第二步的结果进行硬判决,判决结果
Figure BDA0001992484410000037
迭代次数加1;若未达到最大迭代次数,则返回步骤(2)。
本发明的有益效果是:利用概率更新值反映了译码信息取0和1的值的可靠性,并且概率越大越可靠,对不同概率信息更新值加不同的修饰因子,可以加快迭代的收敛速度,从而有效的减少迭代次数。对于LDPC的译码,本方法优于传统算法。
附图说明
图1是本发明中的LDPC码译码流程图;
图2是本发明中的译码算法与传统算法的性能对比曲线;
图3是不同最大迭代次数下的改进算法性能曲线。
具体实施方式
下面结合附图和实施例对本发明进一步说明,本发明包括但不仅限于下述实施例。
本发明包括以下步骤:
(1)译码初始化:对于接收到的长度为N的实数序列(1≤i≤N),第i个码元的初始化信息为:
Figure BDA0001992484410000041
(2)假如所得到的硬判决结果不合法,则执行一次译码的迭代过程,包括变量节点更新和校验节点更新两步。
1.变量节点更新
Figure BDA0001992484410000042
式中C(i)表示矩阵中第i列中非零元素的位置集合。
2.校验节点更新
Figure BDA0001992484410000043
式中
Figure BDA0001992484410000044
为最小和算法中采取的校验节点更新方法。它采用部分波形拟合的方法对概率译码中的校验节点更新进行简化,舍弃了一定的精度。对概率译码算法进行分析,注意到校验节点的概率更新值反映了译码信息取0和1的值的可靠性,并且概率越大越可靠,因此,对于概率比较大的校验节点信息,对其概率乘以一个比较大修饰因子,概率小的信息乘以一个小的修饰因子。基于此思想,本专利提出一种与归一化最小和算法类似的对校验节点更新的加权方法,动态加权因子τ的更新准则为
Figure BDA0001992484410000045
δ、η的选取跟码长码率码型都有关系,它是通过随机实验得到。
(3)迭代后所得的第i个变量节点的译码结果为该节点的输入的和
Figure BDA0001992484410000046
(4)译码判决,对第二步的结果进行硬判决,判决准则为
Figure BDA0001992484410000047
译码结束的条件为译码成功或者达到最大迭代次数。
本发明收敛速度加快,误码率更低。
本发明的实施例提出了一种动态加权的改进最小和译码算法,包括以下步骤:
译码开始时,接收的信息输入到变量节点,译码器进行初始化,迭代次数为1。然后计算第一次迭代变量节点的硬判决输出,检测是否合法,合法输出结果,迭代结束,否则进行下一次迭代,每一次迭代时,校验节点的更新采用本发明中提出的加权动态最小和算法,p1,p2的选取采用蒙特卡洛方法获得。每完成一次更新,迭代次数加1,在下一次迭代开始之前,变量节点每次都要计算硬判决输出,并判断码字是否正确,全部正确则停止迭代,译码结束,或者到达预设的最大迭代次数。
本发明的方法原理及算法描述如下:
(1)译码初始化:对于接收到的长度为N的实数序列(1≤i≤N),第i个码元的初始化信息为:
Figure BDA0001992484410000051
L(rij)=0 (14)
(2)假如所得到的硬判决结果不合法,则执行一次译码的迭代过程,包括变量节点更新和校验节点更新两步。
1.变量节点更新
Figure BDA0001992484410000052
2.校验节点更新
Figure BDA0001992484410000053
τ的取值是通过式(10)得到,它的大小介于0~1之间。
(3)迭代后所得的第i个变量节点的译码结果为该节点的输入的和
Figure BDA0001992484410000054
(4)译码判决,对第二步的结果进行硬判决。
本实施例采用Matlab仿真的方法验证本发明提出的译码算法,实施信道为高速白噪声信道,LDPC码采用码率为1/2的DVB-S2标准的LDPC码。图2是大量随机实验的最佳动态加权因子下的改进最小和算法与传统算法相比的性能曲线图,图3是大量随机实验的最佳动态加权因子下的改进最小和算法的译码性能曲线与最大迭代次数的关系图。
结合图2可以看出,低信噪比时,标准BP算法,简化的BP算法和本专利中提出的改进算法性能大致相当,都不太理想。但当信噪比稍微增大时,各种译码算法的性能都有所提高,标准的BP译码算法性能曲线收敛最快,译码算法最简的最小和算法性能较差,性能损失最大。而改进的译码算法相比原始的最小和译码算法,性能有显著的提高,本专利给出的基于归一化因子改进的动态修正最小和译码算法对归一化因子多了一些动态运算,性能提高比较显著,在比较低的信噪比条件可以使误码率降到10-4以下,但是与理想BP译码算法相比仍有进步的空间,可以考虑继续优化加权因子的取值进一步降低译码性能。
结合图3可以明显发现随着译码迭代次数预设值的增加,误码率越小,但是这种性能的提高不是无止境的,它会随着译码次数的增加逐渐饱和。现对最大译码次数进行统计分析,假设信噪比3dB时误码率低于10-5或者信噪比为2dB时误码率低于10-3判定为译码收敛,统计仿真实验中归一化最小和算法和改进算法中的收敛时的200帧的迭代次数之和,统计结果如表1。
Figure BDA0001992484410000061
可见,本发明的译码算法迭代次数远少于传统的归一化最小和算法,大大提高了LDPC码的实用性。

Claims (1)

1.一种快速收敛的LDPC码译码算法,其特征在于包括下述步骤:
(1)译码器进行初始化,设置迭代次数为1;对于接收到的长度为N的实数序列,第i个码元的初始化信息
Figure FDA0001992484400000011
式中,Pr(xi=1|yi),Pr(xi=0|yi)分别表示第i个码元概率为1和0的初始化信息;校验节点j到变量节点i的外信息L(rij)=0;
(2)计算当前迭代变量节点的硬判决输出,检测是否合法,合法则译码成功,输出结果,迭代结束;不合法则执行一次译码的迭代过程,包括变量节点更新和校验节点更新;
变量节点更新为
Figure FDA0001992484400000012
式中C(i)表示矩阵中第i列中非零元素的位置集合;
校验节点更新为
Figure FDA0001992484400000013
式中
Figure FDA0001992484400000014
为最小和算法中采取的校验节点更新方法;动态加权因子
Figure FDA0001992484400000015
p1,p2的选取采用蒙特卡洛方法获得,δ、η通过随机实验得到;
(3)迭代后所得的第i个变量节点的译码结果
Figure FDA0001992484400000016
(4)译码判决,对第二步的结果进行硬判决,判决结果
Figure FDA0001992484400000017
迭代次数加1;若未达到最大迭代次数,则返回步骤(2)。
CN201910184758.8A 2019-03-12 2019-03-12 一种快速收敛的ldpc码译码算法 Active CN110022159B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910184758.8A CN110022159B (zh) 2019-03-12 2019-03-12 一种快速收敛的ldpc码译码算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910184758.8A CN110022159B (zh) 2019-03-12 2019-03-12 一种快速收敛的ldpc码译码算法

Publications (2)

Publication Number Publication Date
CN110022159A CN110022159A (zh) 2019-07-16
CN110022159B true CN110022159B (zh) 2021-08-10

Family

ID=67189443

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910184758.8A Active CN110022159B (zh) 2019-03-12 2019-03-12 一种快速收敛的ldpc码译码算法

Country Status (1)

Country Link
CN (1) CN110022159B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112187291B (zh) * 2020-10-24 2024-03-29 西北工业大学 一种基于变换域的咬尾Turbo编译码通信方法
CN112615629B (zh) * 2020-11-26 2023-09-26 西安电子科技大学 多元ldpc码的译码方法、系统、介质、设备及应用
CN112653474B (zh) * 2020-12-22 2022-12-13 西南大学 一种降低平均迭代次数的紧缩型ldpc-cc译码器设计方法
CN114337913A (zh) * 2021-11-29 2022-04-12 北京中科晶上科技股份有限公司 译码方法、装置和译码器
CN115484001B (zh) * 2022-08-08 2024-06-21 鹏城实验室 最小和算法的优化参数配置方法、装置、终端及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106788459A (zh) * 2016-12-12 2017-05-31 天津大学 一种快速收敛的估计ldpc码错误概率的方法
CN106941393A (zh) * 2017-03-03 2017-07-11 东南大学 基于sor的ldpc译码方法及系统
CN107241104A (zh) * 2017-04-24 2017-10-10 广东工业大学 一个针对ldpc码的局部异号动态bp译码方法
US9793924B1 (en) * 2015-12-04 2017-10-17 Microsemi Solutions (U.S.), Inc. Method and system for estimating an expectation of forward error correction decoder convergence

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5631846B2 (ja) * 2011-11-01 2014-11-26 株式会社東芝 半導体メモリ装置および復号方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9793924B1 (en) * 2015-12-04 2017-10-17 Microsemi Solutions (U.S.), Inc. Method and system for estimating an expectation of forward error correction decoder convergence
CN106788459A (zh) * 2016-12-12 2017-05-31 天津大学 一种快速收敛的估计ldpc码错误概率的方法
CN106941393A (zh) * 2017-03-03 2017-07-11 东南大学 基于sor的ldpc译码方法及系统
CN107241104A (zh) * 2017-04-24 2017-10-10 广东工业大学 一个针对ldpc码的局部异号动态bp译码方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A fast convergence density evolution algorithm for optimal rate LDPC codes in BEC;H. Tavakoli等;《7"th International Symposium on Telecommunications (IST"2014)》;20140911;第574-577页 *
具有快速译码收敛速度的LDPC码设计;范亚楠等;《计算机应用研究》;20170430;第34卷(第4期);第1159-1165页 *

Also Published As

Publication number Publication date
CN110022159A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
CN110022159B (zh) 一种快速收敛的ldpc码译码算法
JP5138221B2 (ja) 誤り訂正符号をmin−sum復号化する方法
CN108847848B (zh) 一种基于信息后处理的极化码的bp译码算法
US20050229087A1 (en) Decoding apparatus for low-density parity-check codes using sequential decoding, and method thereof
CN110784232B (zh) 一种空间耦合ldpc码滑窗译码方法
KR20030095144A (ko) 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법
CN108494412A (zh) 一种基于参数估计的多因子修正ldpc码译码方法及装置
KR102136428B1 (ko) 코드의 워드들의 확장된 스펙트럼의 분석에 의해, 정정 코드, 예를 들면, 터보 코드를 디코딩하는 방법
Zimmermann et al. Reduced complexity LDPC decoding using forced convergence
CN103208995B (zh) 一种低密度奇偶校验码译码的提前终止方法
CN110830049B (zh) 一种基于密度进化改进偏移最小和的ldpc译码方法
CN103199874B (zh) 一种低密度奇偶校验码译码方法
CN102811065B (zh) 基于线性最小均方误差估计的修正最小和解码方法
CN110233628B (zh) 极化码的自适应置信传播列表译码方法
TW202145723A (zh) 基於信度傳播之極化碼解碼方法
CN101577607B (zh) 可提前结束迭代的归一化最小和译码方法
CN105680881A (zh) Ldpc译码方法及译码器
CN114421971A (zh) 一种适用于多元ldpc码的动态多符号翻转译码方法
Jing et al. Improved adaptive belief propagation decoding of Reed-Solomon codes with SPC codes
US8019020B1 (en) Binary decoding for correlated input information
CN101707486A (zh) 单向纠正的多状态置信传播迭代的ldpc译码方法
KR20090012189A (ko) Ldpc 부호의 성능 개선을 위한 스케일링 기반의 개선된min-sum 반복복호알고리즘을 이용한 복호 장치 및그 방법
Chen et al. Semi-LDPC convolutional codes with low-latency decoding algorithm
KR20090064268A (ko) 가변 보정값을 이용한 복호화 장치 및 그 방법
CN106603083B (zh) 基于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