CN111865334A - 一种低密度奇偶校验码的高速滑窗置信解码方法 - Google Patents

一种低密度奇偶校验码的高速滑窗置信解码方法 Download PDF

Info

Publication number
CN111865334A
CN111865334A CN202010826907.9A CN202010826907A CN111865334A CN 111865334 A CN111865334 A CN 111865334A CN 202010826907 A CN202010826907 A CN 202010826907A CN 111865334 A CN111865334 A CN 111865334A
Authority
CN
China
Prior art keywords
sliding window
decoding
check
minimum
density parity
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.)
Pending
Application number
CN202010826907.9A
Other languages
English (en)
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.)
Changan University
Original Assignee
Changan 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 Changan University filed Critical Changan University
Priority to CN202010826907.9A priority Critical patent/CN111865334A/zh
Publication of CN111865334A publication Critical patent/CN111865334A/zh
Pending legal-status Critical Current

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

Landscapes

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

Abstract

本发明提供了一种低密度奇偶校验码的高速滑窗置信解码方法,属于计算机科学领域,包括以下步骤:步骤1、执行标准置信传播算法;步骤2、判决解码是否成功,如果成功则退出迭代;否则进入步骤3;步骤3、执行并行滑窗置信传播算法。本发明提供的低密度奇偶校验码的高速滑窗置信解码方法能够在解码性能不变的情况下,大大减少解码时间,同时此并行算法也可以在FPGA等小型设备上实现因此具有广泛的应用场景。

Description

一种低密度奇偶校验码的高速滑窗置信解码方法
技术领域
本发明属于计算机科学领域,具体涉及一种低密度奇偶校验码的高速滑窗置信解码方法。
背景技术
低密度奇偶校验码(Low Density Parity Check,LDPC codes)是在1963年提出的一种线性纠错码。其传输性能能够在理论上逼近香农极限。几乎适用于所有信道,描述和实现简单,易于进行理论分析和研究,解码简单且可实行并行操作,适合硬件实现。这些优异的性能使得其获得了广泛的应用,例如:4G/5G通信,卫星通信及数字电视,10GBASE-T以太网,WiFi(IEEE 802.11n)标准,WiMAX(IEEE 802.16e)标准,数字视频广播,磁盘数据存储,固态硬盘存储等。
LDPC是一种线性分组码,其校验矩阵只含有很少量的非零元素,这也是其“低密度”名称的由来。校验矩阵的稀疏性,保证了译码复杂度和最小码距都只随着码长呈线性增长。目前主流的LDPC解码算法是迭代的置信传播(Belief Propagation,BP)算法。BP算法通过在LDPC码的变量节点和校验节点之间传递置信从而解码出原始信息。BP算法的优点在于容易实现,并且具有很好的解码性能。1998年,MacKay等人将二元LDPC码推广到有限域GF(Q=2q)并提出了Q元LDPC码(QLDPC)。随后,Barnault等人提出了Q元的BP算法(QBP)来对QLDPC进行解码。BP算法仅在信道状态已知的情况下最优,为了更好地对未知信道状态的LDPC解码,方勇在2012年提出了一种基于滑窗的的置信传播算法。滑窗置信传播算法可以精确的估计出时变的信道状态。同时,大量的实验表明,滑窗置信传播算法算法比标准BP算法的解码性能更高。另一方面,该算法还很容易实现,同时对于初始参数的设置不敏感。
滑窗置信传播算法的算法标准BP算法中引入滑窗机制,具体包括标准置信传播算法、寻找最优窗口大小和非平稳信源参数估计三个环节。该算法首先对非平稳信源的统计特性进行粗略估计,然后运行标准置信传播算法,若译码成功或达到最大迭代次数,则译码过程终止。否则进入寻找最优窗口大小和信源相关参数估计阶段,然后再次迭代译码,如此重复直至译码成功。
滑窗置信传播算法尽管解码性能更高,但是其计算复杂度过大,整个解码算法的时间复杂度非常大,不具有实用性。
因此,本申请提出一种低密度奇偶校验码的高速滑窗置信解码方法。
发明内容
为了克服上述现有技术存在的不足,本发明提供了一种低密度奇偶校验码的高速滑窗置信解码方法。
为了实现上述目的,本发明提供如下技术方案:
一种低密度奇偶校验码的高速滑窗置信解码方法,包括以下步骤:
步骤1、执行标准置信传播算法;
步骤2、判决解码是否成功,如果成功则退出迭代;否则进入步骤3;
步骤3、执行并行滑窗置信传播算法,包括:
步骤3.1、对于每个可能的窗口大小w,使用公式(1)计算概率
Figure BDA0002636542760000025
Figure BDA0002636542760000021
式中半窗口大小
Figure BDA0002636542760000022
n是码长,ri是第i个变量节点的后验概率,min(x,y)、max(x,y)分别是求x,y的最小和最大值函数;
步骤3.2、计算r和
Figure BDA0002636542760000023
之间的均方差;
其中,r为变量节点的总后验概率,包括固有的和校验节点传递所得到的消息;
Figure BDA0002636542760000024
步骤3.3、选择使得均方差σ2最小的窗口大小w*作为最佳窗口大小,定义均方差σ2如(2)式
Figure BDA0002636542760000031
则该问题可转化为
Figure BDA0002636542760000032
步骤3.4、使用NVIDIA GPU平台所支持的CUDA接口,在GPU核心中同时开启n/2个线程,设第i个线程的窗口大小wi=2i-1;
步骤3.5、n/2个线程同时使用公式(2)来分别计算对应每个wi
Figure BDA0002636542760000036
步骤3.6、全部计算完成之后找出最小的
Figure BDA0002636542760000037
其对应的w,就是最优的w*;
步骤3.7、确定出最优w*之后,返回步骤1继续进行置信迭代,直到迭代结束为止。
优选地,所述步骤1执行标准置信传播算法,包括以下步骤:
步骤1.1、变量节点向校验节点传递消息:
Figure BDA0002636542760000033
式中:αij为从xi传递给sj的消息;
步骤1.2、校验节点向变量节点传递消息:
Figure BDA0002636542760000034
其中Mj是与校验节点sj相连的所有变量节点的索引集合;
步骤1.3、计算变量节点的总后验概率:
Figure BDA0002636542760000035
式中:βji为从sj传递给xi的消息;Li是与变量节点xi相连的所有校验节点的索引集合;
步骤1.4、根据变量节点后验概率ri判断
Figure BDA00026365427600000413
的取值,即硬判决:
Figure BDA0002636542760000041
其中上述符号的定义如下:
Figure BDA0002636542760000042
x的估计值;
Figure BDA0002636542760000043
p的估计值;
Li:与变量节点xi相连的所有校验节点的索引集合;
Mj:与校验节点sj相连的所有变量节点的索引集合。
优选地,所述步骤3.5中并行搜索最小
Figure BDA0002636542760000044
算法的具体做法为:
步骤3.5.1、设步骤3.5计算出了m个
Figure BDA0002636542760000045
Figure BDA0002636542760000046
为了找到一个最小的
Figure BDA0002636542760000047
对于m个
Figure BDA0002636542760000048
将其分为m/2个组,每个组中包含两个元素
Figure BDA0002636542760000049
在GPU核心中同时开启m/2个线程;
步骤3.5.2、每一个线程对一组元素进行比较,即从
Figure BDA00026365427600000410
中间选出最小元素作为下一步的元素
Figure BDA00026365427600000411
步骤3.5.3、重复步骤3.5.1和3.5.2,直到选择出最小的
Figure BDA00026365427600000412
本发明提供的低密度奇偶校验码的高速滑窗置信解码方法能够在解码性能不变的情况下,大大减少解码时间,同时此并行算法也可以在FPGA等小型设备上实现因此具有广泛的应用场景。
附图说明
为了更清楚地说明本发明实施例及其设计方案,下面将对本实施例所需的附图作简单地介绍。下面描述中的附图仅仅是本发明的部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1的低密度奇偶校验码的高速滑窗置信解码方法的流程图;
图2为并行搜索最小
Figure BDA0002636542760000051
算法的流程图。
具体实施方式
为了使本领域技术人员更好的理解本发明的技术方案并能予以实施,下面结合附图和具体实施例对本发明进行详细说明。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例1
本发明提供了一种低密度奇偶校验码的高速滑窗置信解码方法,具体如图1所示,包括以下步骤:
步骤1、执行标准置信传播算法;
本实施例中,步骤1执行标准置信传播算法,包括以下步骤:
步骤1.1、变量节点向校验节点传递消息:
Figure BDA0002636542760000052
式中:αij为从xi传递给sj的消息;
步骤1.2、校验节点向变量节点传递消息:
Figure BDA0002636542760000053
其中Mj是与校验节点sj相连的所有变量节点的索引集合;
步骤1.3、计算变量节点的总后验概率:
Figure BDA0002636542760000054
式中:βji为从sj传递给xi的消息;Li是与变量节点xi相连的所有校验节点的索引集合;
步骤1.4、根据变量节点后验概率ri判断
Figure BDA00026365427600000611
的取值,即硬判决:
Figure BDA0002636542760000061
其中上述符号的定义如下:
Figure BDA0002636542760000062
x的估计值;
Figure BDA0002636542760000063
p的估计值;
Li:与变量节点xi相连的所有校验节点的索引集合;
Mj:与校验节点sj相连的所有变量节点的索引集合。
步骤2、判决解码是否成功,如果成功则退出迭代;否则进入步骤3;
步骤3、执行并行滑窗置信传播算法,包括:
步骤3.1、对于每个可能的窗口大小w,使用公式(1)计算概率
Figure BDA0002636542760000064
Figure BDA0002636542760000065
式中半窗口大小
Figure BDA0002636542760000066
n是码长,ri是第i个变量节点的后验概率,min(x,y)、max(x,y)分别是求x,y的最小和最大值函数;
步骤3.2、计算r和
Figure BDA0002636542760000067
之间的均方差;
其中,r为变量节点的总后验概率,包括固有的和校验节点传递所得到的消息;
Figure BDA0002636542760000068
步骤3.3、选择使得均方差σ2最小的窗口大小w*作为最佳窗口大小,定义均方差σ2如(2)式
Figure BDA0002636542760000069
则该问题可转化为
Figure BDA00026365427600000610
步骤3.4、使用NVIDIA GPU平台所支持的CUDA接口,在GPU核心中同时开启n/2个线程,设第i个线程的窗口大小wi=2i-1;
步骤3.5、n/2个线程同时使用公式(2)来分别计算对应每个wi
Figure BDA0002636542760000071
步骤3.6、全部计算完成之后找出最小的
Figure BDA0002636542760000072
其对应的w,就是最优的w*;
步骤3.7、确定出最优w*之后,返回步骤1继续进行置信迭代,直到迭代结束为止。
进一步地,本实施例中,为了更进一步缩短并行滑窗置信传播算法的计算时间,将“找到最小一个
Figure BDA0002636542760000073
”的步骤也进行并行化,步骤3.5中并行搜索最小
Figure BDA0002636542760000074
算法的具体做法为:
步骤3.5.1、设步骤3.5计算出了m个
Figure BDA0002636542760000075
Figure BDA0002636542760000076
为了找到一个最小的
Figure BDA0002636542760000077
如图2所示,对于m个
Figure BDA0002636542760000078
将其分为m/2个组,每个组中包含两个元素
Figure BDA0002636542760000079
在GPU核心中同时开启m/2个线程;
步骤3.5.2、每一个线程对一组元素进行比较,即从
Figure BDA00026365427600000710
中间选出最小元素作为下一步的元素
Figure BDA00026365427600000711
步骤3.5.3、重复步骤3.5.1和3.5.2,直到选择出最小的
Figure BDA00026365427600000712
可以看出,对于m个元素,搜索最小元素的只需要
Figure BDA00026365427600000713
个步骤就可以完成。这比线性逐个比较(m个元素,需要m-1个比较步骤)的时间复杂度是大大降低了。
将本发明专利的实验结果和标准滑窗置信传播算法的实验结果进行对比,来展现本发明的优点。
表1给出了二元规则LDPC码的解码时间。表2给出了二元非规则LDPC码的解码时间。通过比较标准滑窗置信传播算法和并行滑窗置信传播算法,可以看出,并行算法的加速效果非常明显,加速比从8.18倍到最大120.34倍。
表1二元规则LDPC码解码时间比较
Figure BDA00026365427600000714
Figure BDA0002636542760000081
表2二元非规则LDPC码解码时间比较
Figure BDA0002636542760000082
以上所述实施例仅为本发明较佳的具体实施方式,本发明的保护范围不限于此,任何熟悉本领域的技术人员在本发明披露的技术范围内,可显而易见地得到的技术方案的简单变化或等效替换,均属于本发明的保护范围。

Claims (3)

1.一种低密度奇偶校验码的高速滑窗置信解码方法,其特征在于,包括以下步骤:
步骤1、执行标准置信传播算法;
步骤2、判决解码是否成功,如果成功则退出迭代;否则进入步骤3;
步骤3、执行并行滑窗置信传播算法,包括:
步骤3.1、对于每个可能的窗口大小w,使用公式(1)计算概率
Figure FDA0002636542750000018
Figure FDA0002636542750000011
式中,半窗口大小
Figure FDA0002636542750000019
n是码长,ri是第i个变量节点的后验概率,min(x,y)、max(x,y)分别是求x,y的最小和最大值函数;
步骤3.2、计算r和
Figure FDA0002636542750000012
之间的均方差;
其中,r为变量节点的总后验概率,包括固有的和校验节点传递所得到的消息;
Figure FDA0002636542750000013
步骤3.3、选择使得均方差σ2最小的窗口大小w*作为最佳窗口大小,定义均方差σ2如(2)式:
Figure FDA0002636542750000014
则该问题可转化为:
Figure FDA0002636542750000015
步骤3.4、使用NVIDIA GPU平台所支持的CUDA接口,在GPU核心中同时开启n/2个线程,设第i个线程的窗口大小wi=2i-1;
步骤3.5、n/2个线程同时使用公式(2)来分别计算对应每个wi
Figure FDA0002636542750000016
步骤3.6、全部计算完成之后找出最小的
Figure FDA0002636542750000017
其对应的w,就是最优的w*;
步骤3.7、确定出最优w*之后,返回步骤1继续进行置信迭代,直到迭代结束为止。
2.根据权利要求1所述的低密度奇偶校验码的高速滑窗置信解码方法,其特征在于,所述步骤1执行标准置信传播算法,包括以下步骤:
步骤1.1、变量节点向校验节点传递消息:
Figure FDA0002636542750000021
式中:αij为从xi传递给sj的消息;
步骤1.2、校验节点向变量节点传递消息:
Figure FDA0002636542750000022
其中Mj是与校验节点sj相连的所有变量节点的索引集合;
步骤1.3、计算变量节点的总后验概率:
Figure FDA0002636542750000023
式中:βji为从sj传递给xi的消息;Li是与变量节点xi相连的所有校验节点的索引集合;
步骤1.4、根据变量节点后验概率ri判断
Figure FDA0002636542750000024
的取值,即硬判决:
Figure FDA0002636542750000025
其中上述符号的定义如下:
Figure FDA0002636542750000026
x的估计值;
Figure FDA0002636542750000027
p的估计值;
Li:与变量节点xi相连的所有校验节点的索引集合;
Mj:与校验节点sj相连的所有变量节点的索引集合。
3.根据权利要求1所述的低密度奇偶校验码的高速滑窗置信解码方法,其特征在于,所述步骤3.5中并行搜索最小
Figure FDA0002636542750000031
算法的具体做法为:
步骤3.5.1、设步骤3.5计算出了m个
Figure FDA0002636542750000032
Figure FDA0002636542750000033
为了找到一个最小的
Figure FDA0002636542750000034
对于m个
Figure FDA0002636542750000035
将其分为m/2个组,每个组中包含两个元素
Figure FDA0002636542750000036
在GPU核心中同时开启m/2个线程;
步骤3.5.2、每一个线程对一组元素进行比较,即从
Figure FDA0002636542750000037
中间选出最小元素作为下一步的元素
Figure FDA0002636542750000038
步骤3.5.3、重复步骤3.5.1和3.5.2,直到选择出最小的
Figure FDA0002636542750000039
CN202010826907.9A 2020-08-17 2020-08-17 一种低密度奇偶校验码的高速滑窗置信解码方法 Pending CN111865334A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010826907.9A CN111865334A (zh) 2020-08-17 2020-08-17 一种低密度奇偶校验码的高速滑窗置信解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010826907.9A CN111865334A (zh) 2020-08-17 2020-08-17 一种低密度奇偶校验码的高速滑窗置信解码方法

Publications (1)

Publication Number Publication Date
CN111865334A true CN111865334A (zh) 2020-10-30

Family

ID=72968844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010826907.9A Pending CN111865334A (zh) 2020-08-17 2020-08-17 一种低密度奇偶校验码的高速滑窗置信解码方法

Country Status (1)

Country Link
CN (1) CN111865334A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190797A1 (en) * 2005-02-24 2006-08-24 Weizhuang Xin Low complexity decoding of low density parity check codes
US20070083802A1 (en) * 2005-10-12 2007-04-12 Weizhuang Xin Broadcast message passing decoding of low density parity check codes
CN101534166A (zh) * 2008-03-10 2009-09-16 上海明波通信技术有限公司 准循环低密度奇偶校验码解码器及解码方法
CN103259545A (zh) * 2013-04-26 2013-08-21 西安理工大学 基于振荡的准循环低密度奇偶校验码置信传播译码方法
CN107968657A (zh) * 2017-11-28 2018-04-27 东南大学 一种适用于低密度奇偶校验码的混合译码方法
CN108600246A (zh) * 2018-05-04 2018-09-28 浙江工业大学 一种基于knn算法的网络入侵检测并行化加速方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190797A1 (en) * 2005-02-24 2006-08-24 Weizhuang Xin Low complexity decoding of low density parity check codes
US20070083802A1 (en) * 2005-10-12 2007-04-12 Weizhuang Xin Broadcast message passing decoding of low density parity check codes
CN101534166A (zh) * 2008-03-10 2009-09-16 上海明波通信技术有限公司 准循环低密度奇偶校验码解码器及解码方法
CN103259545A (zh) * 2013-04-26 2013-08-21 西安理工大学 基于振荡的准循环低密度奇偶校验码置信传播译码方法
CN107968657A (zh) * 2017-11-28 2018-04-27 东南大学 一种适用于低密度奇偶校验码的混合译码方法
CN108600246A (zh) * 2018-05-04 2018-09-28 浙江工业大学 一种基于knn算法的网络入侵检测并行化加速方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Y. FANG: "LDPC-Based Lossless Compression of Nonstationary Binary Sources Using Sliding-Window Belief Propagation", 《IEEE TRANSACTIONS ON COMMUNICATIONS》, vol. 60, no. 11, XP011473840, DOI: 10.1109/TCOMM.2012.080212.110108A *
张娅妹等: "窗口可变的空间耦合LDPC码滑窗译码算法", 西安电子科技大学学报, no. 03 *

Similar Documents

Publication Publication Date Title
JP7152394B2 (ja) Ldpcコードを符号化および復号化するための方法および装置
CN106888026B (zh) 基于lsc-crc译码的分段极化码编译码方法及系统
RU2450442C2 (ru) Способ и устройство для кодирования и декодирования канала в системе связи с использованием кодов с низкой плотностью проверок на четность
EP3533145B1 (en) Generation of spatially-coupled quasi-cyclic ldpc codes
CN107404321B (zh) 用于纠错码解码的方法和设备
KR20180028981A (ko) 비-2진 ldpc 코드 디코딩을 위한 신드롬 계산을 위한 기본 체크 노드 처리
US9515680B2 (en) Fast mapping method for layered min-sum decoding of LDPC codes,
US8468438B2 (en) Method and apparatus for elementary updating a check node during decoding of a block encoded with a non-binary LDPC code
WO2018219195A1 (zh) 一种译码方法及译码器
WO2021063217A1 (zh) 一种译码方法及装置
Yang et al. Nonlinear programming approaches to decoding low-density parity-check codes
CN110999092A (zh) 非二进制ldpc码的简化的预排序的基于校正子的扩展最小和(ems)解码
Bocharova et al. LDPC convolutional codes versus QC LDPC block codes in communication standard scenarios
Khajehnejad et al. Explicit matrices for sparse approximation
CN116614142A (zh) 一种基于bpl译码和osd译码的联合译码方法
Jamali et al. Low-complexity decoding of a class of Reed-Muller subcodes for low-capacity channels
KR20090012189A (ko) Ldpc 부호의 성능 개선을 위한 스케일링 기반의 개선된min-sum 반복복호알고리즘을 이용한 복호 장치 및그 방법
KR20210099388A (ko) Ldpc 복호 방법 및 ldpc 복호 장치
CN111865334A (zh) 一种低密度奇偶校验码的高速滑窗置信解码方法
Nangir et al. Binary Wyner–Ziv code design based on compound LDGM–LDPC structures
WO2021073338A1 (zh) 译码方法和译码器
Urman et al. Efficient maximum likelihood decoding of polar codes over the binary erasure channel
Cao et al. CRC-Aided Sparse Regression Codes for Unsourced Random Access
US10382066B2 (en) Method and apparatus for decoding three-dimensional turbo product code based on crossing layers
Zhang et al. Velocity analysis of BP decoding waves for SC-LDPC ensembles on BMS channels: an interpolation-based approach

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