CN113497629A - 基于ldpc的译码方法、装置及计算机可读存储介质 - Google Patents
基于ldpc的译码方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113497629A CN113497629A CN202010264070.3A CN202010264070A CN113497629A CN 113497629 A CN113497629 A CN 113497629A CN 202010264070 A CN202010264070 A CN 202010264070A CN 113497629 A CN113497629 A CN 113497629A
- Authority
- CN
- China
- Prior art keywords
- value
- node
- bit
- decoder
- check
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 239000011159 matrix material Substances 0.000 claims abstract description 61
- 238000004590 computer program Methods 0.000 claims description 18
- 230000000694 effects Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 208000011580 syndromic disease Diseases 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
技术领域
本发明涉及通信技术领域,具体涉及一种基于LDPC的译码方法、装置及计算机可读存储介质。
背景技术
LDPC(Low-density parity check,低密度校验)码作为5G的数据信道编解码于1960年被Gallager发现,因为年代硬件问题无法实现。后于1996年,被Mackay和Neal重新提到。LDPC码同样是逼近香农限的编码,在长码上的性能超过了Turbo码,比较简易的编译码和其在不同信道的强大性能使其受到大量重视和研究。为了解决LDPC的编码复杂度,T.J.Richardson和R.L.Urbanke给出了一种利用效验矩阵的稀疏性对效验矩阵进行一定的预处理后,在线性时间内编码的有效算法,初步解决了LDPC码编码的复杂度的问题。虽然在前人的努力下,LDPC克服了编码的二次复杂度,并且在某些领域已经有了广泛的应用。但是在5G大数据环境下的译码低时延的要求上,LDPC因为准确译码度需求的高迭代次数产生的时延以及硬件实现的高复杂度和资源高消耗成为了它的瓶颈。
发明内容
鉴于以上内容,有必要提出一种基于LDPC的译码方法、装置及计算机可读存储介质,以在译码准确度可以接受的情况下,降低时延和资源使用量。
本申请的第一方面提供一种基于LDPC的译码方法,所述方法包括:
步骤S11,获取输入到译码器中的比特流,将所述比特流与所述译码器的校验矩阵进行点乘运算,并根据运算结果判断获取的所述比特流是否出错;
步骤S12,对所述译码器中的校验节点及比特节点的值分别进行初始化;
步骤S13,根据所述比特流,初始化的校验节点的值,初始化的比特节点的值及公式Em→n(xn)=round(α*Δk+β)对所述校验节点的值进行更新,其中,round()为取整函数,α为第一加权系数,β为第二加权系数,ωi为第三加权系数,m为所述校验矩阵的行数,n为所述校验矩阵的列数,M(n)={1,2,…,m},N(i)={1,2,…,n},xj为获取的第j个比特流中的比特,yn为所述比特流的置信值,xn为yn对应的符号值;
步骤S14,根据更新后的校验节点的值及公式Vn→m(xn)=∑m′∈M(n)\mEm→n(xn)对所述比特节点的值进行更新;
步骤S16,将判决后的比特节点的值与所述译码器的校验矩阵进行点乘运算后判断运算结果是否为0,当所述运算结果不为0时重复步骤S13至步骤S16,并直到判决后的比特节点的值与所述译码器的校验矩阵进行点乘运算的结果为0,或译码的迭代次数达到预设次数时为止。
优选地,所述第一加权系数由所述校验矩阵中每行中的零数值数量与每行中的非零数值数量及零数值数量之和的比值得到,所述第二加权系数为一经验值,所述第二加权系数的取值范围为0到0.5,所述第三加权系数由所述校验矩阵中每行中的零数值数量与每行中的非零数值数量及零数值数量之和的比值得到。
优选地,所述根据更新后的校验节点的值及公式Vn→m(xn)=∑m′∈M(n)\mEm→n(xn)对所述比特节点的值进行更新还包括:
将更新后的大于32的比特节点的值取值为32;及
将更新后的小于-32的比特节点的值取值为-32。
优选地,所述根据运算结果判断获取的所述比特流是否出错包括:
将所述比特流与所述译码器的校验矩阵进行矩阵行点乘运算后判断每一矩阵行所运算结果是否为0,当所述运算结果不为0时确定所述比特流出错,并继续迭代译码,否则确定所述比特流没有出错,并输出结果。
优选地,所述对所述译码器中的校验节点及比特节点的值分别进行初始化包括:
将所述译码器中的校验节点的值初始化为0;及
将所述译码器中的比特节点的值初始化为所述比特流中的比特的似然比。
本申请的第二方面提供一种基于LDPC的译码装置,所述装置包括:
判断模块,用于获取输入到译码器中的比特流,将所述比特流与所述译码器的校验矩阵进行点乘运算,并根据运算结果判断获取的所述比特流是否出错;
初始化模块,用于对所述译码器中的校验节点及比特节点的值分别进行初始化;
第一更新模块,用于根据所述比特流,初始化的校验节点的值,初始化的比特节点的值及公式Em→n(xn)=round(α*Δk+β)对所述校验节点的值进行更新,其中,round()为取整函数,α为第一加权系数,β为第二加权系数,ωi为第三加权系数,m为所述校验矩阵的行数,n为所述校验矩阵的列数,M(n)={1,2,…,m},N(i)={1,2,…,n},xj为获取的第j个比特流中的比特,yn为所述比特流的置信值,xn为yn对应的符号值;
第二更新模块,用于根据更新后的校验节点的值及公式Vn→m(xn)=∑m′∈M(n)\mEm→n(xn)对所述比特节点的值进行更新;
译码模块,用于将判决后的比特节点的值与所述译码器的校验矩阵进行点乘运算后判断运算结果是否为0,当所述运算结果不为0时重复执行所述第一更新模块、第二更新模块、判决模块、译码模块中的指令,并直到判决后的比特节点的值与所述译码器的校验矩阵进行点乘运算的结果为0,或译码的迭代次数达到预设次数时为止。
优选地,所述第一加权系数由所述校验矩阵中每行中的零数值数量与每行中的非零数值数量及零数值数量之和的比值得到,所述第二加权系数为一经验值,所述第二加权系数的取值范围为0到0.5,所述第三加权系数由所述校验矩阵中每行中的零数值数量与每行中的非零数值数量及零数值数量之和的比值得到。
优选地,所述根据更新后的校验节点的值及公式Vn→m(xn)=∑m′∈M(n)\mEm→n(xn)对所述比特节点的值进行更新还包括:
将更新后的大于32的比特节点的值取值为32;及
将更新后的小于-32的比特节点的值取值为-32。
优选地,所述对所述译码器中的校验节点及比特节点的值分别进行初始化包括:
将所述译码器中的校验节点的值初始化为0;及
将所述译码器中的比特节点的值初始化为所述比特流中的比特的似然比。
本申请的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现所述基于LDPC的译码方法。
附图说明
图1为本发明一实施方式中基于LDPC的译码方法的流程图。
图2为为本发明一实施方式中基于LDPC的译码方法的测试结构图。
图3a为接收设备采用传统的置信传播算法译码时的资源使用量的仿真图。
图3b为接收设备采用LDPC译码时的资源使用量的仿真图。
图4为本发明一实施方式中基于LDPC的译码装置的结构图。
图5为本发明一实施方式中电子设备的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
优选地,本发明基于LDPC的译码方法应用在一个或者多个电子设备中。所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述电子设备可以是桌上型计算机、笔记本电脑、平板电脑及云端服务器等计算设备。所述设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
实施例1
图1是本发明一实施方式中基于LDPC的译码方法的流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。
参阅图1所示,所述基于LDPC的译码方法具体包括以下步骤:
步骤S11,获取输入到译码器中的比特流,将所述比特流与所述译码器的校验矩阵进行点乘运算,并根据运算结果判断获取的所述比特流是否出错。本实施方式中,当获取的所述比特流出错时执行步骤S12,当获取的所述比特流没有出错时,则结束译码。
本实施方式中,所述比特流为LDPC码字。本实施方式中,所述根据运算结果判断获取的所述比特流是否出错包括:将所述比特流与所述译码器的校验矩阵进行矩阵行点乘运算后判断运算结果是否为0(syntrome==0),当所述运算结果不为0时确定所述比特流出错,并继续迭代译码,否则确定所述比特流没有出错,并输出结果。
步骤S12,对所述译码器中的校验节点及比特节点的值分别进行初始化。
在一具体实施方式中,所述对所述译码器中的校验节点及比特节点的值分别进行初始化包括:将所述译码器中的校验节点的值初始化为0;及将所述译码器中的比特节点的值初始化为比特流中的比特的似然比。
步骤S13,根据所述比特流,初始化的校验节点的值,初始化的比特节点的值及公式Em→n(xn)=round(α*Δk+β)对所述校验节点的值进行更新,其中,round()为取整函数,所述α为第一加权系数,所述β为第二加权系数,所述ωi为第三加权系数,所述m为所述校验矩阵的行数,所述n为所述校验矩阵的列数,M(n)={1,2,…,m},N(i)={1,2,…,n},所述xj为获取的第j个比特流中的比特,所述yn为所述比特流的置信值,所述xn为所述yn对应的符号值。
本实施方式中,所述第一加权系数根据所述校验矩阵中每行中的非零数值数量和零数值数量确定出,所述第一加权系数具体由所述校验矩阵中每行中的零数值数量与每行中的非零数值数量及零数值数量之和的比值得到,所述第二加权系数为一经验值,所述第二加权系数的取值范围为0到0.5,所述第三加权系数由所述校验矩阵中每行中的零数值数量与每行中的非零数值数量及零数值数量之和的比值得到。
步骤S14,根据更新后的校验节点的值及公式Vn→m(xn)=∑m′∈M(n)\mEm→n(xn)对所述比特节点的值进行更新。
本实施方式中,所述根据更新后的校验节点的值及公式Vn→m(xn)=∑m′∈M(n)\mEm→n(xn)对所述比特节点的值进行更新还包括:将更新后的大于32的比特节点的值取值为32;及将更新后的小于-32的比特节点的值取值为-32。本实施方式中,通过将更新后的大于32的比特节点的值取值为32及将更新后的小于-32的比特节点的值取值为-32,可以有利于FPGA,ASIC等芯片在不降低性能的同时节省使用资源,因而使译码具有高收敛度及减少资源的消耗。
本实施方式中,当对更新后的所述比特节点的值进行硬判决得到判决后的比特节点的值时完成一次译码的迭代
步骤S16,将判决后的比特节点的值与所述译码器的校验矩阵进行矩阵行点乘运算后判断运算结果是否为0(syndrom==0),当所述运算结果不为0时重复步骤S13至步骤S16,并直到判决后的比特节点的值与所述译码器的校验矩阵进行点乘运算的结果为0,或译码的迭代次数达到预设次数时为止。
本案根据更新后的校验节点的值及公式Vn→m(xn)=∑m′∈M(n)\mEm→n(xn)对所述比特节点的值进行更新,根据公式其中Vi=1*sign(yi)+∑m∈M(n)Em→n(xi)对更新后的所述比特节点的值进行硬判决得到判决后的比特节点的值,及将判决后的比特节点的值与所述译码器的校验矩阵进行点乘运算后根据运算结果得到译码结果。实现了在译码准确度可以接受的情况下,降低时延和资源使用量的效果。
请参考图2,所示为本发明一实施方式中基于LDPC的译码方法的测试结构图。所示基于LDPC的译码方法应用在接收设备20中。所述接收设备20通过空口通信的方式与所述发送设备10通信连接。所述测试设备30通过以太网分别于所述发送设备10及接收设备20通信连接。所述测试设备30用于在所述接收设备20从发送设备10发送的LDPC码流进行译码的过程中进行抓包分析所述接收设备20的资源占有率。本实施方式中,所述接收设备20及发送设备10可以为X86服务器,所述测试设备30可以为PC电脑。请参考图3,所示为接收设备20译码时的资源使用量的仿真图。其中图3(a)采用传统的置信传播算法(BeliefPropagation,BP)译码时接收设备20的资源使用量,图3(b)采用LDPC译码时接收设备20的资源使用量。通过比较可以看出,采用传统的置信传播算法的接收设备20在译码时的资源使用量为1886,采用本案基于LDPC的译码方法的接收设备20在译码时的资源使用量为1282,因而,基于LDPC的译码方法的接收设备20在译码时的资源使用量上比采取传统的置信传播算法的接收设备20在译码时节约42%的资源使用量。
实施例2
图4为本发明一实施方式中基于LDPC的译码装置40的结构图。
在一些实施例中,所述基于LDPC的译码装置40运行于电子设备中。所述基于LDPC的译码装置40可以包括多个由程序代码段所组成的功能模块。所述基于LDPC的译码装置40中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行估算体积和重量的功能。
本实施例中,所述基于LDPC的译码装置40根据其所执行的功能,可以被划分为多个功能模块。参阅图4所示,所述基于LDPC的译码装置40可以包括判断模块401、初始化模块402、第一更新模块403、第二更新模块404、判决模块405及译码模块406。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。所述在一些实施例中,关于各模块的功能将在后续的实施例中详述。
所述判断模块401用于获取输入到译码器中的比特流,将所述比特流与所述译码器的校验矩阵进行点乘运算,并根据运算结果判断获取的所述比特流是否出错。本实施方式中,当获取的所述比特流出错时执行步骤S12,当获取的所述比特流没有出错时,则结束译码。
本实施方式中,所述比特流为LDPC码字。本实施方式中,所述判断模块401根据运算结果判断获取的所述比特流是否出错包括:将所述比特流与所述译码器的校验矩阵进行矩阵行点乘运算后判断运算结果是否为0,当所述运算结果不为0时确定所述比特流出错,并继续迭代译码,否则确定所述比特流没有出错,并输出结果。
所述初始化模块402对所述译码器中的校验节点及比特节点的值分别进行初始化。
在一具体实施方式中,所述初始化模块402对所述译码器中的校验节点及比特节点的值分别进行初始化包括:将所述译码器中的校验节点的值初始化为0;及将所述译码器中的比特节点的值初始化为比特流中的比特的似然比。
所述第一更新模块403根据所述比特流,初始化的校验节点的值,初始化的比特节点的值及公式Em→n(xn)=round(α*Δk+β)对所述校验节点的值进行更新,其中,round()为取整函数,所述α为第一加权系数,所述β为第二加权系数,所述ωi为第三加权系数,所述m为所述校验矩阵的行数,所述n为所述校验矩阵的列数,M(n)={1,2,…,m},N(i)={1,2,…,n},所述xj为获取的第j个比特流中的比特,所述yn为所述比特流的置信值,所述xn为所述yn对应的符号值。
本实施方式中,所述第一加权系数根据所述校验矩阵中每行中的非零数值数量和零数值数量确定出,所述第一加权系数具体由所述校验矩阵中每行中的零数值数量与每行中的非零数值数量及零数值数量之和的比值得到,所述第二加权系数为一经验值,所述第二加权系数的取值范围为0到0.5,所述第三加权系数由所述校验矩阵中每行中的零数值数量与每行中的非零数值数量及零数值数量之和的比值得到。
所述第二更新模块404根据更新后的校验节点的值及公式Vn→m(xn)=∑m′∈M(n)\ mEm→n(xn)对所述比特节点的值进行更新。
本实施方式中,所述第二更新模块404根据更新后的校验节点的值及公式Vn→m(xn)=∑m′∈M(n)\mEm→n(xn)对所述比特节点的值进行更新还包括:将更新后的大于32的比特节点的值取值为32;及将更新后的小于-32的比特节点的值取值为-32。本实施方式中,通过将更新后的大于32的比特节点的值取值为32及将更新后的小于-32的比特节点的值取值为-32,有利于FPGA,ASIC等芯片在不降低性能的同时节省使用资源,因而可以使译码具有高收敛度及减少资源的消耗。
本实施方式中,所述判决模块405当对更新后的所述比特节点的值进行硬判决得到判决后的比特节点的值时完成一次译码的迭代
所述译码模块406将判决后的比特节点的值与所述译码器的校验矩阵进行点乘运算后判断运算结果是否为0,当所述运算结果不为0时重复执行所述第一更新模块、第二更新模块、判决模块、译码模块中的指令,并直到判决后的比特节点的值与所述译码器的校验矩阵进行点乘运算的结果为0,或译码的迭代次数达到预设次数时为止。
实施例3
图5为本发明一实施方式中电子设备6的示意图。
所述电子设备6包括存储器61、处理器62以及存储在所述存储器61中并可在所述处理器62上运行的计算机程序63。所述处理器62执行所述计算机程序63时实现上述基于LDPC的译码方法实施例中的步骤,例如图1所示的步骤S11~S16。或者,所述处理器62执行所述计算机程序63时实现上述基于LDPC的译码装置实施例中各模块/单元的功能,例如图4中的模块401~406。
示例性的,所述计算机程序63可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器62执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序63在所述电子设备6中的执行过程。例如,所述计算机程序63可以被分割成图4中的判断模块401、初始化模块402、第一更新模块403、第二更新模块404、判决模块405及译码模块406,各模块具体功能参见实施例2。
本实施方式中,所述电子设备6可以是桌上型计算机、笔记本、掌上电脑及云端终端装置等计算设备。本领域技术人员可以理解,所述示意图仅仅是电子设备6的示例,并不构成对电子设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备6还可以包括输入输出设备、网络接入设备、总线等。
所称处理器62可以是中央处理模块(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器62也可以是任何常规的处理器等,所述处理器62是所述电子设备6的控制中心,利用各种接口和线路连接整个电子设备6的各个部分。
所述存储器61可用于存储所述计算机程序63和/或模块/单元,所述处理器62通过运行或执行存储在所述存储器61内的计算机程序和/或模块/单元,以及调用存储在存储器61内的数据,实现所述电子设备6的各种功能。所述存储器61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备6的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述电子设备6集成的模块/单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个实施例中,应该理解到,所揭露的电子设备和方法,可以通过其它的方式实现。例如,以上所描述的电子设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能模块可以集成在相同处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在相同模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他模块或步骤,单数不排除复数。电子设备权利要求中陈述的多个模块或电子设备也可以由同一个模块或电子设备通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种基于LDPC的译码方法,其特征在于,所述方法包括:
步骤S11,获取输入到译码器中的比特流,将所述比特流与所述译码器的校验矩阵进行矩阵行点乘运算,并根据运算结果判断获取的所述比特流是否出错;
步骤S12,对所述译码器中的校验节点及比特节点的值分别进行初始化;
步骤S13,根据所述比特流,初始化的校验节点的值,初始化的比特节点的值及公式Em→n(xn)=round(α*Δk+β)对所述校验节点的值进行更新,其中,round()为取整函数,α为第一加权系数,β为第二加权系数,ωi为第三加权系数,m为所述校验矩阵的行数,n为所述校验矩阵的列数,M(n)={1,2,…,m},N(i)={1,2,…,n},xj为获取的第j个比特流中的比特,yn为所述比特流的置信值,xn为yn对应的符号值;
步骤S14,根据更新后的校验节点的值及公式Vn→m(xn)=∑m′∈M(n)\mEm→n(xn)对所述比特节点的值进行更新;
步骤S16,将判决后的比特节点的值与所述译码器的校验矩阵进行点乘运算后判断运算结果是否为0,当所述运算结果不为0时重复步骤S13至步骤S16,并直到判决后的比特节点的值与所述译码器的校验矩阵进行点乘运算的结果为0,或译码的迭代次数达到预设次数时为止。
2.如权利要求1所述的基于LDPC的译码方法,其特征在于,所述第一加权系数由所述校验矩阵中每行中的零数值数量与每行中的非零数值数量及零数值数量之和的比值得到,所述第二加权系数为一经验值,所述第二加权系数的取值范围为0到0.5,所述第三加权系数由所述校验矩阵中每行中的零数值数量与每行中的非零数值数量及零数值数量之和的比值得到。
3.如权利要求1所述的基于LDPC的译码方法,其特征在于,所述根据更新后的校验节点的值及公式Vn→m(xn)=∑m′∈M(n)\mEm→n(xn)对所述比特节点的值进行更新还包括:
将更新后的大于32的比特节点的值取值为32;及
将更新后的小于-32的比特节点的值取值为-32。
4.如权利要求1所述的基于LDPC的译码方法,其特征在于,所述根据运算结果判断获取的所述比特流是否出错包括:
将所述比特流与所述译码器的校验矩阵进行矩阵行点乘运算后判断每一矩阵行所运算结果是否为0,当所述运算结果不为0时确定所述比特流出错,并继续迭代译码,否则确定所述比特流没有出错,并输出结果。
5.如权利要求1所述的基于LDPC的译码方法,其特征在于,所述对所述译码器中的校验节点及比特节点的值分别进行初始化包括:
将所述译码器中的校验节点的值初始化为0;及
将所述译码器中的比特节点的值初始化为所述比特流中的比特的似然比。
6.一种基于LDPC的译码装置,其特征在于,所述装置包括:
判断模块,用于获取输入到译码器中的比特流,将所述比特流与所述译码器的校验矩阵进行点乘运算,并根据运算结果判断获取的所述比特流是否出错;
初始化模块,用于对所述译码器中的校验节点及比特节点的值分别进行初始化;
第一更新模块,用于根据所述比特流,初始化的校验节点的值,初始化的比特节点的值及公式Em→n(xn)=round(α*Δk+β)对所述校验节点的值进行更新,其中,round()为取整函数,α为第一加权系数,β为第二加权系数,ωi为第三加权系数,m为所述校验矩阵的行数,n为所述校验矩阵的列数,M(n)={1,2,…,m},N(i)={1,2,…,n},xj为获取的第j个比特流中的比特,yn为所述比特流的置信值,xn为yn对应的符号值;
第二更新模块,用于根据更新后的校验节点的值及公式Vn→m(xn)=∑m′∈M(n)\mEm→n(xn)对所述比特节点的值进行更新;
译码模块,用于将判决后的比特节点的值与所述译码器的校验矩阵进行点乘运算后判断运算结果是否为0,当所述运算结果不为0时重复执行所述第一更新模块、第二更新模块、判决模块、译码模块中的指令,并直到判决后的比特节点的值与所述译码器的校验矩阵进行点乘运算的结果为0,或译码的迭代次数达到预设次数时为止。
7.如权利要求6所述的基于LDPC的译码装置,其特征在于,所述第一加权系数由所述校验矩阵中每行中的零数值数量与每行中的非零数值数量及零数值数量之和的比值得到,所述第二加权系数为一经验值,所述第二加权系数的取值范围为0到0.5,所述第三加权系数由所述校验矩阵中每行中的零数值数量与每行中的非零数值数量及零数值数量之和的比值得到。
8.如权利要求6所述的基于LDPC的译码装置,其特征在于,所述根据更新后的校验节点的值及公式Vn→m(xn)=∑m′∈M(n)\mEm→n(xn)对所述比特节点的值进行更新还包括:
将更新后的大于32的比特节点的值取值为32;及
将更新后的小于-32的比特节点的值取值为-32。
9.如权利要求6所述的基于LDPC的译码装置,其特征在于,所述对所述译码器中的校验节点及比特节点的值分别进行初始化包括:
将所述译码器中的校验节点的值初始化为0;及
将所述译码器中的比特节点的值初始化为所述比特流中的比特的似然比。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述基于LDPC的译码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010264070.3A CN113497629A (zh) | 2020-04-07 | 2020-04-07 | 基于ldpc的译码方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010264070.3A CN113497629A (zh) | 2020-04-07 | 2020-04-07 | 基于ldpc的译码方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113497629A true CN113497629A (zh) | 2021-10-12 |
Family
ID=77995460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010264070.3A Pending CN113497629A (zh) | 2020-04-07 | 2020-04-07 | 基于ldpc的译码方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113497629A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006279396A (ja) * | 2005-03-29 | 2006-10-12 | Kitakyushu Foundation For The Advancement Of Industry Science & Technology | Ldpc符号検出装置及びldpc符号検出方法 |
US20070089024A1 (en) * | 2005-10-03 | 2007-04-19 | Xiaoyong Yu | Method and apparatus for a low-density parity-check decoder |
KR20090036662A (ko) * | 2007-10-10 | 2009-04-15 | 삼성전자주식회사 | 저밀도 패리티 검사 부호의 복호 장치 및 방법 |
CN101534166A (zh) * | 2008-03-10 | 2009-09-16 | 上海明波通信技术有限公司 | 准循环低密度奇偶校验码解码器及解码方法 |
CN101924564A (zh) * | 2009-06-17 | 2010-12-22 | 中国科学院微电子研究所 | 行列节点同步更新的部分并行准循环ldpc码译码器结构 |
CN102075197A (zh) * | 2010-12-29 | 2011-05-25 | 北京遥测技术研究所 | 一种ldpc译码方法 |
CN102664638A (zh) * | 2012-05-31 | 2012-09-12 | 中山大学 | 基于分层nms算法的多码长ldpc码译码器的fpga实现方法 |
CN105049060A (zh) * | 2015-08-14 | 2015-11-11 | 航天恒星科技有限公司 | 一种低密度奇偶码ldpc的译码方法及装置 |
CN110474647A (zh) * | 2019-07-03 | 2019-11-19 | 深圳市通创通信有限公司 | 有限域构造的ldpc码的译码方法、装置、译码器及存储介质 |
CN110572164A (zh) * | 2019-09-29 | 2019-12-13 | 深圳忆联信息系统有限公司 | Ldpc译码方法、装置、计算机设备及存储介质 |
-
2020
- 2020-04-07 CN CN202010264070.3A patent/CN113497629A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006279396A (ja) * | 2005-03-29 | 2006-10-12 | Kitakyushu Foundation For The Advancement Of Industry Science & Technology | Ldpc符号検出装置及びldpc符号検出方法 |
US20070089024A1 (en) * | 2005-10-03 | 2007-04-19 | Xiaoyong Yu | Method and apparatus for a low-density parity-check decoder |
KR20090036662A (ko) * | 2007-10-10 | 2009-04-15 | 삼성전자주식회사 | 저밀도 패리티 검사 부호의 복호 장치 및 방법 |
CN101534166A (zh) * | 2008-03-10 | 2009-09-16 | 上海明波通信技术有限公司 | 准循环低密度奇偶校验码解码器及解码方法 |
CN101924564A (zh) * | 2009-06-17 | 2010-12-22 | 中国科学院微电子研究所 | 行列节点同步更新的部分并行准循环ldpc码译码器结构 |
CN102075197A (zh) * | 2010-12-29 | 2011-05-25 | 北京遥测技术研究所 | 一种ldpc译码方法 |
CN102664638A (zh) * | 2012-05-31 | 2012-09-12 | 中山大学 | 基于分层nms算法的多码长ldpc码译码器的fpga实现方法 |
CN105049060A (zh) * | 2015-08-14 | 2015-11-11 | 航天恒星科技有限公司 | 一种低密度奇偶码ldpc的译码方法及装置 |
CN110474647A (zh) * | 2019-07-03 | 2019-11-19 | 深圳市通创通信有限公司 | 有限域构造的ldpc码的译码方法、装置、译码器及存储介质 |
CN110572164A (zh) * | 2019-09-29 | 2019-12-13 | 深圳忆联信息系统有限公司 | Ldpc译码方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
李佳;杨改改;赵志强;: "基于CMMB的LDPC分层算法研究及应用", 微电子学与计算机, no. 09 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200373946A1 (en) | Decompression apparatus and control method thereof | |
US20040153938A1 (en) | Error correcting code decoding device, program and method used in the same | |
CN1953336B (zh) | 在低密度奇偶校验解码器中更新校验节点的方法 | |
US10484009B2 (en) | Decoding method and decoder for low-density parity-check code | |
CN103618556A (zh) | 基于rmp调度的部分并行qc-ldpc译码方法 | |
CN110545162B (zh) | 基于码元可靠优势度节点子集划分准则的多元ldpc译码方法及装置 | |
CN101594152B (zh) | 实现水平运算和垂直运算同时运行的ldpc码译码方法 | |
CN110572164A (zh) | Ldpc译码方法、装置、计算机设备及存储介质 | |
CN111384972A (zh) | 多进制ldpc解码算法的优化方法、装置及解码器 | |
CN113437979A (zh) | 一种基于非均匀信源的原模图ldpc码的结构优化方法及装置 | |
CN115035017A (zh) | 细胞密度分群方法、装置、电子设备及存储介质 | |
CN117353754A (zh) | 高斯混合模型信源的编解码方法、系统、设备和介质 | |
CN101867449B (zh) | 基于地面数字电视的高效ldpc译码器 | |
CN113497629A (zh) | 基于ldpc的译码方法、装置及计算机可读存储介质 | |
CN102594369B (zh) | 基于fpga的准循环低密度校验码译码器及译码方法 | |
CN101777920A (zh) | 低密度奇偶校验码的编码方法和编码译码装置 | |
CN114978194A (zh) | 适用于有损信源编码的原模图ldpc码的结构优化方法及装置 | |
CN110474647B (zh) | 有限域构造的ldpc码的译码方法、装置、译码器及存储介质 | |
US8402340B2 (en) | Parity-check-code decoder and recording controller | |
Justesen et al. | Two-Dimensional Information Theory and Coding: With Applications to Graphics Data and High-Density Storage Media | |
CN109921877B (zh) | 一种awgn信道下基于cuda架构的ldpc码并行译码方法 | |
CN111384976B (zh) | 稀疏校验矩阵的存储方法和读取方法 | |
CN111224674B (zh) | 多进制ldpc码的解码方法、装置及解码器 | |
CN101867378B (zh) | Ldpc解码中的水平操作方法、水平操作装置及ldpc解码器 | |
CN102064836B (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 | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20240220 |