CN108092672A - 一种基于折叠调度的bp译码方法 - Google Patents

一种基于折叠调度的bp译码方法 Download PDF

Info

Publication number
CN108092672A
CN108092672A CN201810034894.4A CN201810034894A CN108092672A CN 108092672 A CN108092672 A CN 108092672A CN 201810034894 A CN201810034894 A CN 201810034894A CN 108092672 A CN108092672 A CN 108092672A
Authority
CN
China
Prior art keywords
mrow
node
msup
check
msub
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
Application number
CN201810034894.4A
Other languages
English (en)
Other versions
CN108092672B (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.)
Communication University of China
Original Assignee
Communication University of China
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 Communication University of China filed Critical Communication University of China
Priority to CN201810034894.4A priority Critical patent/CN108092672B/zh
Publication of CN108092672A publication Critical patent/CN108092672A/zh
Application granted granted Critical
Publication of CN108092672B publication Critical patent/CN108092672B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1125Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开一种基于折叠调度的BP译码方法。包括:获取校验矩阵、第一接收向量、最大迭代次数和折叠因子;对校验矩阵进行初始化;对第一接收向量进行迭代处理获取第二接收向量,对所有校验节点按照升序次序逐个更新,然后根据折叠因子计算所需进行二次更新的校验节点终止阈值,再按照校验节点升序的次序对所述校验节点进行二次更新;每个校验节点更新结束后,立即更新与之相连的变量节点;对第二接收向量进行译码,获取第一译码向量;判断校验矩阵与译码向量的乘积向量是否为零向量,若是,则结束译码操作;若否,则返回“对所述第一接收向量进行迭代处理获取第二接收向量”操作。采用本发明的方法收敛速度快,迭代次数少。

Description

一种基于折叠调度的BP译码方法
技术领域
本发明涉及信道编码技术领域,特别是涉及一种基于折叠调度的BP译码方法。
背景技术
BP译码方法是一种消息迭代方法,每次迭代中所有校验节点从相连的变量节点处接收消息,处理后再传回相连的变量节点,然后所有的变量节点进行同样的过程,最后变量节点收集所有可以利用的消息进行判决。在译码过程中,变量节点与校验节点之间消息更新的次序称为调度。而标准BP译码方法,在LDPC码译码的过程中,每一个校验节点(变量节点)都是同时进行更新,因此此译码方法最大的劣势在于其收敛速度较慢,通常需要25-30次迭代才能达到比较好的性能。2005年Radosavljevic(“Optimized message passingschedules for LDPC decoding”,Signals Systems and Computers,2005:591-595)提出一种基于行消息传递(RMP)的译码算法。在译码过程中,按照校验节点的升序依次进行更新和传递,收敛速度优于标准BP译码方法,但是由于校验节点更新的先后次序直接影响着校验节点的置信度,越后更新的校验节点相对应的置信度越高,所以基于RMP调度的译码方法造成了校验节点的置信度不均衡,为了解决上述的校验节点置信度的不均衡性,进一步提升消息传递的效率,提出了一种基于折叠调度的BP译码方法。
发明内容
本发明的目的是提供一种基于折叠调度(ZIG-RMP)的消息传递更新方法,加速BP译码算法的收敛,减少BP算法平均迭代次数,同时获得了误码率性能的提升。
为实现上述目的,本发明提供了如下方案:
一种基于折叠调度的BP译码方法,其特征在于,所述译码方法包括:
获取校验矩阵、第一接收向量、最大迭代次数和折叠因子;
对所述校验矩阵进行初始化;
对所述第一接收向量进行迭代处理获取第二接收向量,所述对所述第一接收向量进行迭代处理获取第二接收向量,具体包括:对所有校验节点按照升序的次序逐个更新,然后根据折叠因子计算所需进行二次更新的校验节点终止阈值,再按照校验节点升序的次序对所述校验节点进行二次更新,每个所述校验节点更新结束后,立即更新与之相连的变量节点;所述第一接收向量包括多个校验节点及多个变量节点,且各所述校验节点分别连接一个或者多个变量节点;第二接收向量包括多个更新后的校验节点及多个更新后的变量节点,且各所述更新后的校验节点分别连接一个或者多个更新后的变量节点。
对所述第二接收向量进行译码,获取第一译码向量;
判断所述校验矩阵与所述译码向量的乘积向量是否为零向量,若是,则结束译码操作;若否,则返回“对所述第一接收向量进行迭代处理获取第二接收向量”操作;
或者判断所述迭代处理的次数是否到达设定迭代阈值,若是,则结束译码操作;若否,则返回“对所述第一接收向量进行迭代处理获取第二接收向量”操作。
可选的,所述对所有校验节点按照升序的次序逐个更新,具体包括:
根据以下公式,确定更新所述校验节点:
其中,n表示变量节点,m表示校验节点,N表示变量节点的个数,M表示校验节点的个数,N(m)表示与校验节点m相连的所有变量节点n的集合,N(m)\n表示集合N(m)去掉变量节点n;L(l)(rmn)表示第l次迭代时,校验节点m传向变量节点n的消息的概率似然比值;L(l)(qnm)表示第l次迭代时,变量节点n传向校验节点m的消息的概率似然比值;L(l-1)(qnm)表示第l-1次迭代时,变量节点n传向校验节点m的消息的概率似然比值;
所述对所有与校验节点相连的变量节点逐个更新,具体包括:
根据以下公式,确定更新所述变量节点:
其中,n表示变量节点,m表示校验节点,N表示变量节点的个数,M表示校验节点的个数,L(Pn)表示信道传递给变量节点n的初始消息的概率似然比值;M(n)表示与变量节点n相连的所有校验节点m的集合,M(n)\m表示集合M(n)去掉校验节点m;L(l)(rmn)表示第l次迭代时,校验节点m传向变量节点n的消息的概率似然比值;L(l)(qnm)表示第l次迭代时,变量节点n传向校验节点m的消息的概率似然比值;
可选的,所述二次更新校验节点的方法,具体包括:
根据以下公式,确定更新所述校验节点:
其中,n表示变量节点,m表示校验节点,N表示变量节点的个数,M表示校验节点的个数,N(m)表示与校验节点m相连的所有变量节点n的集合,N(m)\n表示集合N(m)去掉变量节点n;表示第l次迭代时,校验节点m传向变量节点n的二次更新消息的概率似然比值;表示第l次迭代时,变量节点n传向校验节点m的二次更新消息的概率似然比值;L(l)(qnm)表示第l次迭代时,变量节点n传向校验节点m的消息的概率似然比值;
所述二次更新变量节点的方法,具体包括:
根据以下公式,确定更新所述变量节点:
其中,n表示变量节点,m表示校验节点,N表示变量节点的个数,M表示校验节点的个数,L(Pn)表示信道传递给变量节点n的初始消息的概率似然比值;M(n)表示与变量节点n相连的所有校验节点m的集合,M(n)\m表示集合M(n)去掉校验节点m;表示第l次迭代时,校验节点m传向变量节点n的二次更新消息的概率似然比值;表示第l次迭代时,变量节点n传向校验节点m的二次更新消息的概率似然比值。
可选的,所述对所述校验矩阵进行初始化的方法,具体包括:
对满足校验矩阵H(m,n)=1的(m,n),L(0)(qnm)=L(Pn),迭代次数l=1;
其中,m表示为所述校验矩阵中的校验节点,n表示为所述校验矩阵中的变量节点,L(Pn)表示信道传递给变量节点n的初始消息的概率似然比值;L(0)(qnm)表示变量节点n传向校验节点m的消息的概率似然比初始值。
可选的,所述对所述第二接收向量进行译码获取译码向量的方法,具体包括:
设折叠因子为λ,二次更新的校验节点阈值为[Mλ],则:
对于n∈N(m),其中n∈{1,2,..N}和1≤m≤[Mλ],有:
获取第一译码向量;
对于n∈N(m),其中n∈{1,2,..N}和[Mλ]<m≤M,有:
获取第二译码向量;
所述第一译码向量和所述第二译码向量组成译码向量若L(l)(qn)>0,则若否
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供一种基于折叠调度的BP迭代译码方法,所述译码方法包括:输入校验矩阵、第一接收向量、最大迭代次数和折叠因子;对所述校验矩阵进行初始化;对所述第一接收向量进行迭代处理获取第二接收向量,所述迭代处理包括更新校验节点的和更新变量节点,对所有校验节点按照升序的次序逐个更新,然后根据折叠因子计算所需进行二次更新的校验节点终止阈值,再按照校验节点升序的次序对所述校验节点进行二次更新;每个所述校验节点更新结束后,立即更新与之相连的所有变量节点;对所述第二接收向量进行译码获取译码向量;判断译码是否结束,若是,则结束译码操作;若否,则返回“对所述第一接收向量进行迭代处理获取第二接收向量”操作。通过上述改进的BP迭代译码方法加速了译码算法的收敛,减少BP算法平均迭代次数,同时获得了误码率性能的提升。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例改进的BP译码方法流程图;
图2为本发明实施例码长4608准循环码,5次迭代的六种方法误码块率比较;
图3为本发明实施例码长4608准循环码,5次迭代的六种方法平均迭代次数比较;
图4为本发明实施例码长4608准循环码,10次迭代的六种方法误码块率比较;
图5为本发明实施例码长4608准循环码,10次迭代的六种方法平均迭代次数比较;
图6为本发明实施例码长4608准循环码,在给定Eb/N0=1.6dB下,不同迭代次数下六种方法误码块率比较;
图7为本发明实施例码长2304准循环码,在给定Eb/N0=1.6dB下,不同迭代次数下六种方法收敛率比较;
图8为本发明实施例码长2304准循环码,5次迭代的六种方法误码块率比较;
图9为本发明实施例码长2304准循环码,5次迭代的六种方法平均迭代次数比较;
图10为本发明实施例码长2304准循环码,10次迭代的六种方法误码块率比较;
图11为本发明实施例码长准循环码,10次迭代的六种方法平均迭代次数比较;
图12为本发明实施例码长2304准循环码,在给定Eb/N0=2.0dB下,不同迭代次数(2至15次)六种方法误码块率比较;
图13为本发明实施例码长4608准循环码,在给定Eb/N0=2.0dB下,不同迭代次数(2至15次)六种方法收敛率比较。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于折叠调度(ZIG-RMP)的消息传递更新方法,加速BP译码算法的收敛,减少BP算法平均迭代次数,同时获得了误码率性能的提升。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例1:
图1为本发明实施例1改进的BP译码方法流程图。如图1所示,一种基于折叠调度的BP译码方法,所述译码方法包括:
步骤101:获取校验矩阵、第一接收向量、最大迭代次数和折叠因子;
步骤102:对所述校验矩阵进行初始化;
步骤103:对所述第一接收向量进行迭代处理获取第二接收向量,所述对所述第一接收向量进行迭代处理获取第二接收向量,具体包括:对所有校验节点按照升序的次序逐个更新,然后根据折叠因子计算所需进行二次更新的校验节点终止阈值,再按照校验节点升序的次序对所述校验节点进行二次更新;每个所述校验节点更新结束后,立即更新与之相连的变量节点;所述第一接收向量包括多个校验节点及多个变量节点,且各所述校验节点分别连接一个或者多个变量节点;第二接收向量包括多个更新后的校验节点及多个更新后的变量节点,且各所述更新后的校验节点分别连接一个或者多个更新后的变量节点;
步骤104:对所述第二接收向量进行译码,获取第一译码向量;
步骤105:判断所述校验矩阵与所述译码向量的乘积向量是否为零向量,或者所述迭代处理的次数是否到达设定迭代阈值;
步骤106:若是,则结束译码操作;
步骤107:若否,则返回“对所述第一接收向量进行迭代处理获取第二接收向量”操作。
所述对所有校验节点按照升序的次序逐个更新,具体包括:
根据以下公式,确定更新所述校验节点:
其中,n表示变量节点,m表示校验节点,N表示变量节点的个数,M表示校验节点的个数,N(m)表示与校验节点m相连的所有变量节点n的集合,N(m)\n表示集合N(m)去掉变量节点n;L(l)(rmn)表示第l次迭代时,校验节点m传向变量节点n的消息的概率似然比值;L(l)(qnm)表示第l次迭代时,变量节点n传向校验节点m的消息的概率似然比值;L(l-1)(qnm)表示第l-1次迭代时,变量节点n传向校验节点m的消息的概率似然比值;
所述对所有变量节点逐个更新,具体包括:
根据以下公式,确定更新所述变量节点:
其中,n表示变量节点,m表示校验节点,N表示变量节点的个数,M表示校验节点的个数,L(Pn)表示信道传递给变量节点n的初始消息的概率似然比值;M(n)表示与变量节点n相连的所有校验节点m的集合,M(n)\m表示集合M(n)去掉校验节点m;L(l)(rmn)表示第l次迭代时,校验节点m传向变量节点n的消息的概率似然比值;L(l)(qnm)表示第l次迭代时,变量节点n传向校验节点m的消息的概率似然比值;
所述二次更新校验节点的方法,具体包括:
根据以下公式,确定更新所述校验节点:
其中,n表示变量节点,m表示校验节点,N表示变量节点的个数,M表示校验节点的个数,N(m)表示与校验节点m相连的所有变量节点n的集合,N(m)\n表示集合N(m)去掉变量节点n;表示第l次迭代时,校验节点m传向变量节点n的二次更新消息的概率似然比值;表示第l次迭代时,变量节点n传向校验节点m的二次更新消息的概率似然比值;L(l)(qnm)表示第l次迭代时,变量节点n传向校验节点m的消息的概率似然比值;
所述二次更新变量节点的方法,具体包括:
根据以下公式,确定更新所述变量节点:
其中,n表示变量节点,m表示校验节点,N表示变量节点的个数,M表示校验节点的个数,L(Pn)表示信道传递给变量节点n的初始消息的概率似然比值;M(n)表示与变量节点n相连的所有校验节点m的集合,M(n)\m表示集合M(n)去掉校验节点m;表示第l次迭代时,校验节点m传向变量节点n的二次更新消息的概率似然比值;表示第l次迭代时,变量节点n传向校验节点m的二次更新消息的概率似然比值;
所述对所述校验矩阵进行初始化的方法,具体包括:
对满足校验矩阵H(m,n)=1的(m,n),L(0)(qnm)=L(Pn),迭代次数l=1;
其中,m表示为所述校验矩阵中的校验节点,n表示为所述校验矩阵中的变量节点,L(Pn)表示信道传递给变量节点n的初始消息的概率似然比值;L(0)(qnm)表示变量节点n传向校验节点m的消息的概率似然比初始值。
所述对所述第二接收向量进行译码获取译码向量的方法,具体包括:
假设折叠因子为λ,二次更新的校验节点阈值为[Mλ],则:
对于n∈N(m),其中n∈{1,2,..N}和1≤m≤[Mλ],有:
获取第一译码向量;
对于n∈N(m),其中n∈{1,2,..N}和[Mλ]<m≤M,有:
获取第二译码向量;
所述第一译码向量和所述第二译码向量组成译码向量若L(l)(qn)>0,则若否
本发明的译码方法包括:输入校验矩阵、第一接收向量、最大迭代次数和折叠因子;对所述校验矩阵进行初始化;对所述第一接收向量进行迭代处理获取第二接收向量,所述迭代处理包括更新校验节点的和更新变量节点,对所有校验节点按照升序的次序逐个更新,然后根据折叠因子计算所需进行二次更新的校验节点终止阈值,再按照校验节点升序的次序对所述校验节点进行二次更新;每个所述校验节点更新结束后,立即更新与之相连的所有变量节点;对所述第二接收向量进行译码获取译码向量;判断译码是否结束,若是,则结束译码操作;若否,则返回“对所述第一接收向量进行迭代处理获取第二接收向量”操作。通过上述改进的BP迭代译码方法加速了译码算法的收敛,减少BP算法平均迭代次数,同时获得了误码率性能的提升。
原有RMP调度的BP译码过程,越靠后更新的校验节点置信度越高。原因如下:在第l次迭代更新校验节点M的消息时,与校验节点1,2...M相连的所有变量节点的信息L(qnm)已全部更新完,所以校验节点M的更新值是由本次迭代中已更新过的所有L(l)(qnm)计算所得,而非上一次迭代过程的L(l-1)(qnm)计算所得,则对应的置信度最高。由上述的分析可知:校验节点1,2...M的置信度是依次提高。所以造成每次消息迭代过程中校验节点置信度不均衡。考虑由于升序更新造成的每次消息迭代过程中校验节点置信度的不均衡性,可以通过进一步优化校验节点和变量节点之间的消息传递方式来将置信度低的节点提高到平均的状态。改进的基于折叠调度(ZIG-RMP)的BP迭代译码方法主要是将置信度低的校验节点再次进行更新,使得置信度得到提升,从而改变校验节点置信度的不均衡性,再次进行更新的校验节点个数是依据于折叠因子λ的取值,其中λ∈(0,1);特殊的,对于准循环LDPC码,由于所对应的校验矩阵具有度分布均匀和准循环的特点,所以更新折叠因子λ一般取值为0.5。对于其他类型的LDPC码,更新折叠因子λ的取值可根据校验矩阵的度分布特征进行取值。
首先对所有校验节点按照升序的次序逐个进行消息的更新,然后根据折叠因子计算所需进行二次更新的校验节点终止阈值,再按照校验节点升序的次序对所述校验节点进行二次更新。每一个校验节点更新结束后,立即更新与之相连的所有变量节点获取接收向量。对接收向量进行译码获取译码向量;判断译码是否结束,若是,则结束译码操作;若否,则返回继续进行迭代操作。通过上述改进的BP迭代译码方法加速了译码算法的收敛,减少BP算法平均迭代次数,同时获得了误码率性能的提升。
从性能仿真的角度,就本发明而言:
在仿真中采用(N,K)=(2304,1152)的准循环LDPC码,LDPC码的校验矩阵的最大行重和最大列重分别为7和6;以及(N,K)=(4608,2304)的准循环LDPC码,LDPC码的校验矩阵的最大行重和最大列重分别为9和7,折叠因子λ均为0.5.设信道为AWGN,调制方式为BPSK,六种译码方法分别为SMP调度、ZIG-RMP调度、标准RMP调度的BP方法以及基于BP方法简化的Normalized BP-Based方法。
从仿真图2、图4、图6、图8中可以看出,基于折叠调度(ZIG-RMP)的译码方法在不同码长下均具有更低的误码块率,尤其是迭代次数受限时,优越性更加明显,与基于RMP调度的方法相比,性能可以提高约0.3dB。
从仿真图3、图5、图9、图11中可以看出,基于折叠调度(ZIG-RMP)的方法在不同码长所需平均迭代次数最少,其所需平均迭代次数对比基于RMP的BP译码,减少了约30%。
从仿真图6、图7、图12、图13中可以看出,基于折叠调度(ZIG-RMP)的BP方法在不同迭代次数时均体现出了较优的迭代收敛速度以及更低的误码块率。
在基于折叠调度(ZIG-RMP)的BP方法的一次迭代过程中,变量节点到校验节点的消息计算量与BP方法相同,校验节点到变量节点的消息计算量是BP方法的(1+λ)倍。下表给出各译码方法一次迭代过程中的消息计算量,其中dc和dv分别表示规则码中校验节点和变量节点的度,M和N分别表示Tanner图中校验节点和变量节点的个数,统计中特殊运算包括正、反双曲正切运算。
表1六种方法之间复杂度的比较
从表1中可以看出,基于SMP调度的译码方法和基于RMP调度的译码方法运算复杂度相同。而基于折叠调度(ZIG-RMP)的方法由于采用了折叠的迭代更新的方式,所以与RMP调度的方法相比,在校验节点更新时需要额外的运算。具体为基于折叠调度(ZIG-RMP)的BP译码方法需要额外的[Nλ]dv次加法运算以及[Mλ]dc次乘法运算和特殊运算。基于折叠调度(ZIG-RMP)的Normalized BP-Based方法需要额外的[(Ndv+M(dc-2))λ]次加法运算以及[Mλ]dc次乘法运算。
综上所述,结合表1可以看出在不同码长、不同迭代次数下,基于折叠调度(ZIG-RMP)的BP方法在迭代收敛速度,以及误码率性能方面均为所仿真的六种方法中最优。同时可以看出基于折叠调度(ZIG-RMP)的Normalized BP-Based方法,在迭代收敛速度以及误码率性能方面,也均已超过基于RMP调度的标准BP方法,而由于BP-Based方法只需乘加运算,不需要额外的特殊运算,所以具备更低的运算复杂度。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (5)

1.一种基于折叠调度的BP译码方法,其特征在于,所述译码方法包括:
获取校验矩阵、第一接收向量、最大迭代次数和折叠因子;
对所述校验矩阵进行初始化;
对所述第一接收向量进行迭代处理获取第二接收向量,所述对所述第一接收向量进行迭代处理获取第二接收向量,具体包括:对所有校验节点按照升序的次序逐个更新,然后根据折叠因子计算所需进行二次更新的校验节点终止阈值,再按照校验节点升序的次序对所述校验节点进行二次更新,每个所述校验节点更新结束后,立即更新与之相连的变量节点;所述第一接收向量包括多个校验节点及多个变量节点,且各所述校验节点分别连接一个或者多个变量节点;第二接收向量包括多个更新后的校验节点及多个更新后的变量节点,且各所述更新后的校验节点分别连接一个或者多个更新后的变量节点。
对所述第二接收向量进行译码,获取第一译码向量;
判断所述校验矩阵与所述译码向量的乘积向量是否为零向量,若是,则结束译码操作;若否,则返回“对所述第一接收向量进行迭代处理获取第二接收向量”操作;
或者判断所述迭代处理的次数是否到达设定迭代阈值,若是,则结束译码操作;若否,则返回“对所述第一接收向量进行迭代处理获取第二接收向量”操作。
2.根据权利要求1所述的一种基于折叠调度的BP译码方法,其特征在于,所述对所有校验节点按照升序的次序逐个更新,具体包括:
根据以下公式,确定更新所述校验节点:
<mrow> <msup> <mi>L</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msup> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <mi>m</mi> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mn>2</mn> <msup> <mi>tanh</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mrow> <mo>(</mo> <munder> <munder> <mo>&amp;Pi;</mo> <mrow> <msup> <mi>n</mi> <mo>,</mo> </msup> <mo>&amp;Element;</mo> <mi>N</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>\</mo> <mi>n</mi> </mrow> </munder> <mrow> <msup> <mi>n</mi> <mo>,</mo> </msup> <mo>&amp;Element;</mo> <mi>N</mi> <mrow> <mo>(</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>,</mo> <mi>M</mi> <mo>&amp;GreaterEqual;</mo> <mi>j</mi> <mo>&gt;</mo> <mi>m</mi> </mrow> </munder> <mi>tanh</mi> <mo>(</mo> <mfrac> <mrow> <msup> <mi>L</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </msup> <mrow> <mo>(</mo> <msub> <mi>q</mi> <mrow> <msup> <mi>n</mi> <mo>,</mo> </msup> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mn>2</mn> </mfrac> <mo>)</mo> <mo>&amp;times;</mo> <munder> <munder> <mo>&amp;Pi;</mo> <mrow> <msup> <mi>n</mi> <mo>,</mo> </msup> <mo>&amp;Element;</mo> <mi>N</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>\</mo> <mi>n</mi> </mrow> </munder> <mrow> <msup> <mi>n</mi> <mo>,</mo> </msup> <mo>&amp;Element;</mo> <mi>N</mi> <mrow> <mo>(</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>,</mo> <mn>1</mn> <mo>&amp;le;</mo> <mi>j</mi> <mo>&lt;</mo> <mi>m</mi> </mrow> </munder> <mi>tanh</mi> <mo>(</mo> <mfrac> <mrow> <msup> <mi>L</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msup> <mrow> <mo>(</mo> <msub> <mi>q</mi> <mrow> <msup> <mi>n</mi> <mo>,</mo> </msup> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mn>2</mn> </mfrac> <mo>)</mo> <mo>)</mo> </mrow> </mrow>
其中,n表示变量节点,m表示校验节点,N表示变量节点的个数,M表示校验节点的个数,N(m)表示与校验节点m相连的所有变量节点n的集合,N(m)\n表示集合N(m)去掉变量节点n;L(l)(rmn)表示第l次迭代时,校验节点m传向变量节点n的消息的概率似然比值;L(l)(qnm)表示第l次迭代时,变量节点n传向校验节点m的消息的概率似然比值;L(l-1)(qnm)表示第l-1次迭代时,变量节点n传向校验节点m的消息的概率似然比值;
所述对所有与校验节点相连的变量节点逐个更新,具体包括:
根据以下公式,确定更新所述变量节点:
<mrow> <msup> <mi>L</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msup> <mrow> <mo>(</mo> <msub> <mi>q</mi> <mrow> <mi>n</mi> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mi>L</mi> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> <munder> <mo>&amp;Sigma;</mo> <mrow> <msup> <mi>m</mi> <mo>,</mo> </msup> <mo>&amp;Element;</mo> <mi>M</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>\</mo> <mi>m</mi> </mrow> </munder> <msup> <mi>L</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msup> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <msup> <mi>m</mi> <mo>,</mo> </msup> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow>
其中,n表示变量节点,m表示校验节点,N表示变量节点的个数,M表示校验节点的个数,L(Pn)表示信道传递给变量节点n的初始消息的概率似然比值;M(n)表示与变量节点n相连的所有校验节点m的集合,M(n)\m表示集合M(n)去掉校验节点m;L(l)(rmn)表示第l次迭代时,校验节点m传向变量节点n的消息的概率似然比值;L(l)(qnm)表示第l次迭代时,变量节点n传向校验节点m的消息的概率似然比值。
3.根据权利要求2所述的一种基于折叠调度的BP译码方法,其特征在于,所述二次更新校验节点的方法,具体包括:
根据以下公式,确定更新所述校验节点:
<mrow> <mover> <mrow> <msup> <mi>L</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msup> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <mi>m</mi> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mo>&amp;RightArrow;</mo> </mover> <mo>=</mo> <mn>2</mn> <msup> <mi>tanh</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mrow> <mo>(</mo> <munder> <munder> <mo>&amp;Pi;</mo> <mrow> <msup> <mi>n</mi> <mo>,</mo> </msup> <mo>&amp;Element;</mo> <mi>N</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>\</mo> <mi>n</mi> </mrow> </munder> <mrow> <msup> <mi>n</mi> <mo>,</mo> </msup> <mo>&amp;Element;</mo> <mi>N</mi> <mrow> <mo>(</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>,</mo> <mn>1</mn> <mo>&amp;le;</mo> <mi>j</mi> <mo>&lt;</mo> <mi>m</mi> </mrow> </munder> <mi>tanh</mi> <mo>(</mo> <mfrac> <mover> <mrow> <msup> <mi>L</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msup> <mrow> <mo>(</mo> <msub> <mi>q</mi> <mrow> <msup> <mi>n</mi> <mo>,</mo> </msup> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mo>&amp;RightArrow;</mo> </mover> <mn>2</mn> </mfrac> <mo>)</mo> <mo>&amp;times;</mo> <munder> <munder> <mo>&amp;Pi;</mo> <mrow> <msup> <mi>n</mi> <mo>,</mo> </msup> <mo>&amp;Element;</mo> <mi>N</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>\</mo> <mi>n</mi> </mrow> </munder> <mrow> <msup> <mi>n</mi> <mo>,</mo> </msup> <mo>&amp;Element;</mo> <mi>N</mi> <mrow> <mo>(</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>,</mo> <mi>m</mi> <mo>&lt;</mo> <mi>j</mi> <mo>&amp;le;</mo> <mi>M</mi> </mrow> </munder> <mi>tanh</mi> <mo>(</mo> <mfrac> <mrow> <msup> <mi>L</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msup> <mrow> <mo>(</mo> <msub> <mi>q</mi> <mrow> <msup> <mi>n</mi> <mo>,</mo> </msup> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mn>2</mn> </mfrac> <mo>)</mo> <mo>)</mo> </mrow> </mrow>
其中,n表示变量节点,m表示校验节点,N表示变量节点的个数,M表示校验节点的个数,N(m)表示与校验节点m相连的所有变量节点n的集合,N(m)\n表示集合N(m)去掉变量节点n;表示第l次迭代时,校验节点m传向变量节点n的二次更新消息的概率似然比值;表示第l次迭代时,变量节点n传向校验节点m的二次更新消息的概率似然比值;L(l)(qnm)表示第l次迭代时,变量节点n传向校验节点m的消息的概率似然比值;
所述二次更新变量节点的方法,具体包括:
根据以下公式,确定更新所述变量节点:
<mrow> <mover> <mrow> <msup> <mi>L</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msup> <mrow> <mo>(</mo> <msub> <mi>q</mi> <mrow> <mi>n</mi> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mo>&amp;RightArrow;</mo> </mover> <mo>=</mo> <mi>L</mi> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> <munder> <mo>&amp;Sigma;</mo> <mrow> <msup> <mi>m</mi> <mo>,</mo> </msup> <mo>&amp;Element;</mo> <mi>M</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>\</mo> <mi>m</mi> </mrow> </munder> <mover> <mrow> <msup> <mi>L</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msup> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <msup> <mi>m</mi> <mo>,</mo> </msup> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mo>&amp;RightArrow;</mo> </mover> </mrow>
其中,n表示变量节点,m表示校验节点,N表示变量节点的个数,M表示校验节点的个数,L(Pn)表示信道传递给变量节点n的初始消息的概率似然比值;M(n)表示与变量节点n相连的所有校验节点m的集合,M(n)\m表示集合M(n)去掉校验节点m;表示第l次迭代时,校验节点m传向变量节点n的二次更新消息的概率似然比值;表示第l次迭代时,变量节点n传向校验节点m的二次更新消息的概率似然比值。
4.根据权利要求1所述的一种基于折叠调度的BP译码方法,其特征在于,所述对所述校验矩阵进行初始化的方法,具体包括:
对满足校验矩阵H(m,n)=1的(m,n),L(0)(qnm)=L(Pn),迭代次数l=1;
其中,m表示为所述校验矩阵中的校验节点,n表示为所述校验矩阵中的变量节点,L(Pn)表示信道传递给变量节点n的初始消息的概率似然比值;L(0)(qnm)表示变量节点n传向校验节点m的消息的概率似然比初始值。
5.根据权利要求1所述的一种基于折叠调度的BP译码方法,其特征在于,所述对所述第二接收向量进行译码获取译码向量的方法,具体包括:
设折叠因子为λ,二次更新的校验节点阈值为[Mλ],则:
对于n∈N(m),其中n∈{1,2,..N}和1≤m≤[Mλ],有:
<mrow> <msup> <mi>L</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msup> <mrow> <mo>(</mo> <msub> <mi>q</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mi>L</mi> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> <munder> <mo>&amp;Sigma;</mo> <mrow> <msup> <mi>m</mi> <mo>,</mo> </msup> <mo>&amp;Element;</mo> <mi>M</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </munder> <mover> <mrow> <msup> <mi>L</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msup> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <msup> <mi>m</mi> <mo>,</mo> </msup> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mo>&amp;RightArrow;</mo> </mover> </mrow>
获取第一译码向量;
对于n∈N(m),其中n∈{1,2,..N}和[Mλ]<m≤M,有:
<mrow> <msup> <mi>L</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msup> <mrow> <mo>(</mo> <msub> <mi>q</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mi>L</mi> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> <munder> <mo>&amp;Sigma;</mo> <mrow> <msup> <mi>m</mi> <mo>,</mo> </msup> <mo>&amp;Element;</mo> <mi>M</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </munder> <msup> <mi>L</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msup> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <msup> <mi>m</mi> <mo>,</mo> </msup> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow>
获取第二译码向量;
所述第一译码向量和所述第二译码向量组成译码向量若L(l)(qn)>0,则若否
CN201810034894.4A 2018-01-15 2018-01-15 一种基于折叠调度的bp译码方法 Active CN108092672B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810034894.4A CN108092672B (zh) 2018-01-15 2018-01-15 一种基于折叠调度的bp译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810034894.4A CN108092672B (zh) 2018-01-15 2018-01-15 一种基于折叠调度的bp译码方法

Publications (2)

Publication Number Publication Date
CN108092672A true CN108092672A (zh) 2018-05-29
CN108092672B CN108092672B (zh) 2021-03-19

Family

ID=62182072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810034894.4A Active CN108092672B (zh) 2018-01-15 2018-01-15 一种基于折叠调度的bp译码方法

Country Status (1)

Country Link
CN (1) CN108092672B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113162630A (zh) * 2021-04-25 2021-07-23 扬州大学 一种自适应码长高速率bp译码器

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1098391A (ja) * 1996-09-20 1998-04-14 Hitachi Ltd Bch符号のバ−スト誤り復号法
US20080244273A1 (en) * 2007-03-27 2008-10-02 Oscal Tzyh-Chiang Chen Cryptographic method using redundant bits and adaptive clock frequency
US20090046609A1 (en) * 1992-03-18 2009-02-19 Mahany Ronald L Transaction control system including portable data terminal and mobile customer service station
CN101707489A (zh) * 2009-02-03 2010-05-12 天津博微科技有限公司 基于振荡的多进制ldpc译码方法
CN101834614A (zh) * 2010-04-02 2010-09-15 西安电子科技大学 节省存储资源的多元ldpc码译码方法及装置
CN105049388A (zh) * 2015-07-05 2015-11-11 新华通讯社 一种基于喷泉码与单载波频域均衡的短波通信系统及其传输方法
CN105471793A (zh) * 2014-09-30 2016-04-06 德克萨斯仪器股份有限公司 用于生成用于mimo窄带电力线通信的帧结构的系统和方法
US20160149627A1 (en) * 2013-07-03 2016-05-26 European Space Agency Method and apparatus for transmitting data packets over a transmission channel shared by a plurality of users
CN106464435A (zh) * 2014-05-16 2017-02-22 华为技术有限公司 使用喷泉码通过授权和未授权频段进行联合传输的系统和方法
US20170155405A1 (en) * 2015-12-01 2017-06-01 Huawei Technologies Co., Ltd. Signature-enabled polar encoder and decoder
US20170257118A1 (en) * 2016-03-04 2017-09-07 Sandisk Technologies Llc Method and data storage device to estimate a number of errors using convolutional low-density parity-check coding
CN107241106A (zh) * 2017-05-24 2017-10-10 东南大学 基于深度学习的极化码译码算法
CN107451562A (zh) * 2017-07-31 2017-12-08 湖北工业大学 一种基于混沌二进制引力搜索算法的波段选择方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090046609A1 (en) * 1992-03-18 2009-02-19 Mahany Ronald L Transaction control system including portable data terminal and mobile customer service station
JPH1098391A (ja) * 1996-09-20 1998-04-14 Hitachi Ltd Bch符号のバ−スト誤り復号法
US20080244273A1 (en) * 2007-03-27 2008-10-02 Oscal Tzyh-Chiang Chen Cryptographic method using redundant bits and adaptive clock frequency
CN101707489A (zh) * 2009-02-03 2010-05-12 天津博微科技有限公司 基于振荡的多进制ldpc译码方法
CN101834614A (zh) * 2010-04-02 2010-09-15 西安电子科技大学 节省存储资源的多元ldpc码译码方法及装置
US20160149627A1 (en) * 2013-07-03 2016-05-26 European Space Agency Method and apparatus for transmitting data packets over a transmission channel shared by a plurality of users
CN106464435A (zh) * 2014-05-16 2017-02-22 华为技术有限公司 使用喷泉码通过授权和未授权频段进行联合传输的系统和方法
CN105471793A (zh) * 2014-09-30 2016-04-06 德克萨斯仪器股份有限公司 用于生成用于mimo窄带电力线通信的帧结构的系统和方法
CN105049388A (zh) * 2015-07-05 2015-11-11 新华通讯社 一种基于喷泉码与单载波频域均衡的短波通信系统及其传输方法
US20170155405A1 (en) * 2015-12-01 2017-06-01 Huawei Technologies Co., Ltd. Signature-enabled polar encoder and decoder
US20170257118A1 (en) * 2016-03-04 2017-09-07 Sandisk Technologies Llc Method and data storage device to estimate a number of errors using convolutional low-density parity-check coding
CN107241106A (zh) * 2017-05-24 2017-10-10 东南大学 基于深度学习的极化码译码算法
CN107451562A (zh) * 2017-07-31 2017-12-08 湖北工业大学 一种基于混沌二进制引力搜索算法的波段选择方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BO YUAN等: "Architectures for polar BP decoders using folding", 《2014 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS)》 *
JUNMEI YANG 等: "Pipelined belief propagation polar decoders", 《2016 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS)》 *
王贵波: "基于FPGA的高速LDPC_CC译码器的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
石东新 杨占昕: "不等差错保护的系统Raptor码", 《华中科技大学学报(自然科学版)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113162630A (zh) * 2021-04-25 2021-07-23 扬州大学 一种自适应码长高速率bp译码器
CN113162630B (zh) * 2021-04-25 2024-04-09 扬州大学 一种自适应码长高速率bp译码器

Also Published As

Publication number Publication date
CN108092672B (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
CN105811998B (zh) 一种基于密度演进的极化码构造方法及极化码编译码系统
CN100486118C (zh) 一种基于分段偏移修正的最小和译码方法
CN109936377B (zh) 一种分段crc辅助的极化码编码和译码方法
CN108092673A (zh) 一种基于动态调度的bp迭代译码方法及系统
CN102412847A (zh) 用联合节点处理来解码低密度奇偶校验码的方法和设备
CN107968657B (zh) 一种适用于低密度奇偶校验码的混合译码方法
CN106685586A (zh) 生成用于在信道中传输的低密度奇偶校验码的方法及设备
CN102111241B (zh) 低密度奇偶校验迭代译码提前终止的方法
CN103259545A (zh) 基于振荡的准循环低密度奇偶校验码置信传播译码方法
CN112953554B (zh) 一种基于分层置信度传播的ldpc译码方法、系统和介质
CN104393877B (zh) 基于加权的非规则ldpc码线性规划译码方法
CN104009763A (zh) 一种低复杂度ldpc码加权比特翻转译码算法提前停止方法
CN105763203A (zh) 一种基于硬可靠度信息的多元ldpc码译码方法
CN105337699A (zh) 一种应用于非正交多址接入系统的信号检测方法及装置
CN110535475A (zh) 一种分层自适应归一化最小和译码算法
CN104467874A (zh) 一种基于振荡变量节点的ldpc码动态调度译码方法
CN108574492A (zh) 一种改进的ldpc码和积译码方案
CN106464421B (zh) 一种数据发送方法和装置
CN102811065A (zh) 基于线性最小均方误差估计的修正最小和解码方法
CN102594365B (zh) 一种ldpc码的动态异步bp译码方法
CN102594367A (zh) 一种低复杂度的动态异步bp译码方法
CN106254030A (zh) 无速率Spinal码的双向编译码方法
CN108092672A (zh) 一种基于折叠调度的bp译码方法
CN102832950B (zh) 一种低密度奇偶校验码的误帧率估计方法
CN104184480B (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