CN105790774A - 一种改进型ldpc译码方法及装置 - Google Patents
一种改进型ldpc译码方法及装置 Download PDFInfo
- Publication number
- CN105790774A CN105790774A CN201610105751.9A CN201610105751A CN105790774A CN 105790774 A CN105790774 A CN 105790774A CN 201610105751 A CN201610105751 A CN 201610105751A CN 105790774 A CN105790774 A CN 105790774A
- Authority
- CN
- China
- Prior art keywords
- sequence
- slope
- bit
- decoded
- bits
- 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
Links
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
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明实施例公开了一种改进型LDPC译码方法及装置,在现有比特翻转译码算法的基础上,在确定待译码序列中每一个比特位对应非零值的第一次数之后,对每一个比特位对应非零值的次数按照从小到大的顺序进行排序,根据排序结果确定每个比特位对应的序号;根据相邻两个比特位的序号差,及相邻两个比特位之间的次数差,确定该相邻两个比特位对应的斜率,并确定相邻两个比特位对应的斜率最大值;根据斜率最大值对应的序号较大值及其之后的序号对应的比特位,确定进行翻转的比特位。本发明实例实现了错误比特的批量处理,解决了迭代次数较多,或者在有限的迭代次数内不能完全修正所有误码的问题。
Description
技术领域
本发明涉及数字通信领域,特别涉及一种改进型LDPC译码方法及装置。
背景技术
随着大规模高速宽带网络的发展和对高效、高可靠性数字通信系统需求,对通信质量的要求越来越高,纠错码作为信道编码方案是提高通信质量的好方法之一。其中,LDPC码(Low-Density-Parity-CheckCodes,低密度奇偶校验码)是一类逼近Shannon限的纠错码,以其非常优异的译码性能和相对简单的译码算法,在深空通信中得到广泛应用。GNSS系统中的许多导航电文以及GPS系统中即将播发的GPSL1C信号所承载的CNAV-2电文就是由LDPC码进行纠错的。在卫星通讯中,为方便卫星端和接收端的编解码,LDPC编码的核心校验矩阵H都是已经设计好的,因此对于LDPC码的研究主要集中于如何改进现有译码算法以提高算法性能、降低计算复杂度。
现有技术一:该算法称为比特翻转(Bit-flipping,BF)算法,其特点是根据校验矩阵H检查所有的校验方程,如果有校验方程不满足,说明接收到的码元肯定有错误比特发生,利用判断准则计算各比特的可靠性度量,并选择其中最不可靠的比特位(即最可能出错的比特位),将其翻转,然后重新代入校验方程组计算,若满足,则译码结束,输出译码后的码字;否则再次迭代比较,直到满足校验方程组或者达到最大迭代次数。
现有技术一的缺点:在LDPC译码算法中,最核心的部分是计算错误图样以及找出对应的误码位置并进行翻转,比特翻转的判断在于错误比特的判决标准En。在该比特翻转译码算法中,每次翻转的是其中引起错误最多的比特位,但是每次只翻转一位的算法会使得迭代次数较多,或者在有限的迭代次数内不能完全修正所有的误码。
现有技术二:该算法称为加权比特翻转译码算法,相比较于现有技术一,方案二算法的改进之处仅在于,结合通道特性和比特可靠性来调整En构造参数的权重。
现有技术二的缺点:该方法通过调整En构造参数的权重来提高算法性能,但是该方法与现有技术一一样,每次翻转的是其中引起错误最多的比特位,都不能从根本上解决缩减迭代次数,或者避免在有限的迭代次数内不能完全修正所有的误码的问题。
除了以上两种基于硬判决的LDPC译码算法外,还有诸如低复杂度加权比特翻转译码算法,可靠性比加权比特翻转译码算法,改进修正加权比特翻转译码算法等。但上述方法都是通过调整En构造参数的权重来提升算法的性能,没有从根本上消除迭代次数对计算复杂度的影响。
发明内容
本发明实施例的目的在于提供一种改进型LDPC译码方法及装置,用来解决迭代次数较多,或者在有限的迭代次数内不能完全修正所有误码的问题。
为达到上述目的,本发明实施例公开了一种改进型LDPC译码方法,所述方法包括:
根据校验矩阵及经过硬判决的待译码序列,计算错误伴随图样序列,其中经过硬判决的待译码序列包括多个比特位;
如果错误伴随图样序列中所有值为零,将所述经过硬判决的待译码序列作为译码后的序列;
如果错误伴随图样序列中存在非零值,根据错误伴随图样序列,确定待译码序列中每一个比特位对应非零值的第一次数;
对每一个比特位对应非零值的第一次数按照设定的顺序进行排序,根据排序结果确定每个比特位对应的序号;根据相邻两个比特位的序号差,及相邻两个比特位之间的第一次数的差,确定该相邻两个比特位对应的斜率,并确定相邻两个比特位对应的斜率最大值;根据斜率最大值对应的序号较大值及其之后的序号对应的比特位,确定进行翻转的比特位,并确定翻转后的序列,并且将迭代次数加1;
判断迭代次数加1后是否达到设定的次数阈值,如果是,将翻转后的序列作为译码后的序列,否则,将翻转后的序列作为经过硬判决的待译码序列,根据校验矩阵及经过硬判决的待译码序列,计算错误伴随图样序列的步骤。
具体的,所述根据校验矩阵及经过硬判决的待译码序列,计算错误伴随图样序列包括:
根据计算错误伴随图样序列,当时,sm=0,否则,sm=1,其中sm是错误伴随图样序列中的第m位对应的元素,hmn是校验矩阵中的第m行第n列对应的元素,zn是待译码序列中的第n位对应的元素,N是待译码序列的长度。
具体的,所述根据错误伴随图样序列,确定待译码序列中每一个比特位对应非零值的第一次数包括:
根据确定待译码序列中每一个比特位对应非零值的第一次数,En为待译码序列中第n个比特位对应非零值的第一次数,sm是错误伴随图样序列中的第m位对应的元素,hmn是校验矩阵中的第m行第n列对应的元素,M是错误伴随图样序列的位数。
具体的,所述对每一个比特位对应非零值的第一次数按照设定的顺序进行排序包括:
对待译码序列中每一个比特位对应非零值的第一次数按照从小到大的顺序排序。
具体的,所述确定相邻两个比特位对应的斜率最大值,包括:
将两个相邻两个比特位对应的斜率中前一个相邻两个比特位对应的斜率作为第一斜率,将后一个相邻两个比特位对应的斜率作为第二斜率,依次确定每个第二斜率与第一斜率的差值,当所述差值大于设定阈值时,将所述第二斜率作为斜率最大值;或,
依次将相邻两个比特位对应的斜率与设定的翻转阈值进行比较,当相邻两个比特位对应的斜率大于设定的翻转阈值时,将所述相邻两个比特位对应的斜率确定为斜率最大值。
为达到上述目的,本发明实施例还公开了一种改进型LDPC译码装置,所述装置包括:
错误伴随图样序列计算单元,用于根据校验矩阵及经过硬判决的待译码序列,计算错误伴随图样序列,其中经过硬判决的待译码序列包括多个比特位;
译码后序列确定单元,用于如果错误伴随图样序列中所有值为零,将所述经过硬判决的待译码序列作为译码后的序列;
第一次数确定单元,用于如果错误伴随图样序列中存在非零值,根据错误伴随图样序列,确定待译码序列中每一个比特位对应非零值的第一次数;
翻转后的序列确定单元,用于对每一个比特位对应非零值的第一次数按照设定的顺序进行排序,根据排序结果确定每个比特位对应的序号;根据相邻两个比特位的序号差,及相邻两个比特位之间的第一次数的差,确定该相邻两个比特位对应的斜率,并确定相邻两个比特位对应的斜率最大值;根据斜率最大值对应的序号较大值及其之后的序号对应的比特位,确定进行翻转的比特位,并确定翻转后的序列,并且将迭代次数加1;
判断单元,用于判断迭代次数加1后是否达到设定的次数阈值,如果是,将翻转后的序列作为译码后的序列,否则,将翻转后的序列作为经过硬判决的待译码序列,触发所述错误伴随图样序列计算单元。
具体的,所述错误伴随图样序列计算单元,具体用于:
根据计算错误伴随图样序列,当时,sm=0,否则,sm=1,其中sm是错误伴随图样序列中的第m位对应的元素,hmn是校验矩阵中的第m行第n列对应的元素,zn是待译码序列中的第n位对应的元素,N是待译码序列的长度。
具体的,所述第一次数确定单元,具体用于:
根据确定待译码序列中每一个比特位对应非零值的第一次数,En为待译码序列中第n个比特位对应非零值的第一次数,sm是错误伴随图样序列中的第m位对应的元素,hmn是校验矩阵中的第m行第n列对应的元素,M是错误伴随图样序列的位数。
具体的,所述翻转后的序列确定单元,具体用于:
对待译码序列中每一个比特位对应非零值的第一次数按照从小到大的顺序排序。
具体的,所述翻转后的序列确定单元,具体用于:
将两个相邻两个比特位对应的斜率中前一个相邻两个比特位对应的斜率作为第一斜率,将后一个相邻两个比特位对应的斜率作为第二斜率,依次确定每个第二斜率与第一斜率的差值,当所述差值大于设定阈值时,将所述第二斜率作为斜率最大值;或,
依次将相邻两个比特位对应的斜率与设定的翻转阈值进行比较,当相邻两个比特位对应的斜率大于设定的翻转阈值时,将所述相邻两个比特位对应的斜率确定为斜率最大值。
综上可以发现,本发明实施例所提供的这种改进型LDPC译码方法及装置,在现有比特翻转译码算法的基础上,利用斜率统计特性调整每次需要翻转的错误比特位的判定标准,实现了错误比特的批量处理,有效的减少了算法的迭代次数,从而使得计算复杂度或计算次数最小化,在计算量方面凸显了一定的优势。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种改进型LDPC译码方法的流程示意图;
图2为本发明实施例提供的另一种改进型LDPC译码方法的流程示意图;
图3a为本发明实施例提供的一个具体实施例中待译码序列中每一个比特位对应非零值的第一次数En的分布图;
图3b为图3a所示实施例中的第一次数的升序排列图;
图4为本发明实施例提供的一种改进型LDPC译码方法与传统的LDPC译码方法在译码时迭代次数的对比图;
图5为本发明实施例提供的一种改进型LDPC译码装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种改进型LDPC译码方法,在现有比特翻转算法的基础上,利用斜率统计特性调整每次需要翻转的错误比特位的判定标准,实现错误比特的批量处理,减少算法的迭代次数,降低计算复杂度。
下面通过具体实施例,对本发明进行详细说明。
参见图1,图1为本发明实施例提供的一种改进型LDPC译码方法的流程示意图,所述方法包括步骤:
步骤S101,根据校验矩阵及经过硬判决的待译码序列,计算错误伴随图样序列,其中经过硬判决的待译码序列包括多个比特位;
具体的,在实际应用中,设LDPC译码方法中的校验矩阵H为m×n矩阵,经过硬判决的待译码序列为z=[z0,z1,...,zN-1],错误伴随图样序列为s=[s0,s1,...,sm-1]。
具体的,根据校验矩阵及经过硬判决的待译码序列,计算错误伴随图样序列包括:
根据计算错误伴随图样序列,当时,sm=0,否则,sm=1,其中sm是错误伴随图样序列中的第m位对应的元素,hmn是校验矩阵中的第m行第n列对应的元素,zn是待译码序列中的第n位对应的元素,N是待译码序列的长度。
步骤S102,如果错误伴随图样序列中所有值为零,将所述经过硬判决的待译码序列作为译码后的序列;
当计算出的错误伴随图样序列s中的所有值都为零时,说明所述经过硬判决的待译码序列中的所有比特位都是正确的,这时可以直接把待译码序列作为译码后的序列。
步骤S103,如果错误伴随图样序列中存在非零值,根据错误伴随图样序列,确定待译码序列中每一个比特位对应非零值的第一次数;
当计算出的错误伴随图样序列s中存在非零值时,说明所述经过硬判决的待译码序列中存在错误比特位。这时,需要根据错误伴随图样序列s,确定待译码序列中每一个比特位对应非零值的第一次数。
具体的,可以根据确定待译码序列中每一个比特位对应非零值的第一次数,En为待译码序列中第n个比特位对应非零值的第一次数,sm是错误伴随图样序列中的第m位对应的元素,hmn是校验矩阵中的第m行第n列对应的元素,M是错误伴随图样序列的位数。确定待译码序列中每一个比特位对应非零值的第一次数的方法属于现有技术,本发明实施例中不再赘述。
步骤S104,对每一个比特位对应非零值的第一次数按照设定的顺序进行排序,根据排序结果确定每个比特位对应的序号;根据相邻两个比特位的序号差,及相邻两个比特位之间的第一次数的差,确定该相邻两个比特位对应的斜率,并确定相邻两个比特位对应的斜率最大值;根据斜率最大值对应的序号较大值及其之后的序号对应的比特位,确定进行翻转的比特位,并确定翻转后的序列,并且将迭代次数加1;
具体的,对每一个比特位对应非零值的第一次数按照设定的顺序进行排序,可以为:对待译码序列中每一个比特位对应非零值的第一次数按照从小到大的顺序排序。
具体的,确定相邻两个比特位对应的斜率最大值,可以包括:
将两个相邻两个比特位对应的斜率中前一个相邻两个比特位对应的斜率作为第一斜率,将后一个相邻两个比特位对应的斜率作为第二斜率,依次确定每个第二斜率与第一斜率的差值,当所述差值大于设定阈值时,将所述第二斜率作为斜率最大值;或,
依次将相邻两个比特位对应的斜率与设定的翻转阈值进行比较,当相邻两个比特位对应的斜率大于设定的翻转阈值时,将所述相邻两个比特位对应的斜率确定为斜率最大值。
在确定了相邻两个比特位对应的斜率最大值后,将斜率最大值对应的序号较大值及其之后的序号对应的比特位,确定为需要进行翻转的比特位,并将需要进行翻转的比特位的数值进行翻转,得到翻转后的序列z′,并且将迭代次数加1。
步骤S105,判断迭代次数加1后是否达到设定的次数阈值,如果是,将翻转后的序列作为译码后的序列,否则,将翻转后的序列作为经过硬判决的待译码序列,继续执行根据校验矩阵及经过硬判决的待译码序列,计算错误伴随图样序列的步骤。
在实际应用中,判断迭代次数加1后是否达到设定的次数阈值,如果是,将翻转后的序列作为译码后的序列,否则,将翻转后的序列作为经过硬判决的待译码序列重新进行译码步骤。这个步骤可以采用现有技术的方法,在此不再赘述。
应用本发明实施例,在确定待译码序列中每一个比特位对应非零值的第一次数,并对第一次数En按照从大到小的顺序进行排序后,不同于现有技术中每次只翻转引起错误最多的一个比特位,而是通过斜率统计特性批量翻转引起错误较多的多个比特位,有效的减少了算法的迭代次数。
参见图2,图2为本发明实施例提供的另一种改进型LDPC译码方法的流程示意图,所述方法包括步骤:
步骤S201,根据校验矩阵及经过硬判决的待译码序列,计算错误伴随图样序列,其中经过硬判决的待译码序列包括多个比特位;
具体的,在实际应用中,设LDPC译码方法中的校验矩阵H为m×n矩阵,经过硬判决的待译码序列为z=[z0,z1,...,zN-1],错误伴随图样序列为s=[s0,s1,...,sm-1]。
具体的,根据校验矩阵及经过硬判决的待译码序列,计算错误伴随图样序列可以为:
根据计算错误伴随图样序列,当时,sm=0,否则,sm=1,其中sm是错误伴随图样序列中的第m位对应的元素,hmn是校验矩阵中的第m行第n列对应的元素,zn是待译码序列中的第n位对应的元素,N是待译码序列的长度。
步骤S202,判断错误伴随图样序列中所有值是否为零;
如果是,执行S2021,如果否,执行S203;
步骤S2021,将所述经过硬判决的待译码序列作为译码后的序列;
当计算出的错误伴随图样序列s中的所有值都为零时,说明所述经过硬判决的待译码序列中的所有比特位都是正确的,这时可以直接把待译码序列作为译码后的序列。
步骤203,根据错误伴随图样序列,确定待译码序列中每一个比特位对应非零值的第一次数;
当计算出的错误伴随图样序列s中存在非零值时,说明所述经过硬判决的待译码序列中存在错误比特位。这时,需要根据错误伴随图样序列s,确定待译码序列中每一个比特位对应非零值的第一次数。
具体的,可以根据确定待译码序列中每一个比特位对应非零值的第一次数,En为待译码序列中第n个比特位对应非零值的第一次数,sm是错误伴随图样序列中的第m位对应的元素,hmn是校验矩阵中的第m行第n列对应的元素,M是错误伴随图样序列的位数。确定待译码序列中每一个比特位对应非零值的第一次数的方法属于现有技术,本发明实施例中不再赘述。
步骤S204,对每一个比特位对应非零值的第一次数按照设定的顺序进行排序,根据排序结果确定每个比特位对应的序号;根据相邻两个比特位的序号差,及相邻两个比特位之间的第一次数的差,确定该相邻两个比特位对应的斜率,并确定相邻两个比特位对应的斜率最大值;根据斜率最大值对应的序号较大值及其之后的序号对应的比特位,确定进行翻转的比特位,并确定翻转后的序列,并且将迭代次数加1;
具体的,对每一个比特位对应非零值的第一次数按照设定的顺序进行排序,可以为:对待译码序列中每一个比特位对应非零值的第一次数按照从小到大的顺序排序。
具体的,确定相邻两个比特位对应的斜率最大值,可以包括:
将两个相邻两个比特位对应的斜率中前一个相邻两个比特位对应的斜率作为第一斜率,将后一个相邻两个比特位对应的斜率作为第二斜率,依次确定每个第二斜率与第一斜率的差值,当所述差值大于设定阈值时,将所述第二斜率作为斜率最大值;或,
依次将相邻两个比特位对应的斜率与设定的翻转阈值进行比较,当相邻两个比特位对应的斜率大于设定的翻转阈值时,将所述相邻两个比特位对应的斜率确定为斜率最大值。
在确定了相邻两个比特位对应的斜率最大值后,将斜率最大值对应的序号较大值及其之后的序号对应的比特位,确定为需要进行翻转的比特位,并将需要进行翻转的比特位的数值进行翻转,得到翻转后的序列z′,并且将迭代次数加1。
步骤S205,判断迭代次数加1后是否达到设定的次数阈值;
如果是,执行步骤S2501,如果否,执行步骤S2052。
步骤S2501,将翻转后的序列作为译码后的序列。
步骤S2502,将翻转后的序列作为经过硬判决的待译码序列,继续执行步骤S201。
在实际应用中,判断迭代次数加1后是否达到设定的次数阈值,如果是,将翻转后的序列作为译码后的序列,否则,将翻转后的序列作为经过硬判决的待译码序列重新进行译码步骤,这些步骤可以采用现有技术的方法,在此不再赘述。
应用本发明实施例,在确定待译码序列中每一个比特位对应非零值的第一次数,并对第一次数En按照从大到小的顺序进行排序后,不同于现有技术中每次只翻转引起错误最多的一个比特位,而是通过斜率统计特性批量翻转引起错误较多的多个比特位,有效的减少了算法的迭代次数。
举例而言,参见图3a,图3a为本发明实施例提供的一个具体实施例中待译码序列中每一个比特位对应非零值的第一次数En的分布图。在计算某一待译码序列中每一个比特位对应非零值的第一次数En后,在图3a列举出部分比特位2、100、190、801、1099、1100及其对应非零值的第一次数En分别为4、1、6、5、0、7,假设所述某一待译码序列共有1100个比特位,且其余未列出的比特位对应非零值的第一次数En均为0。
参见图3b,根据本发明实施例所述的方法,对每一个比特位对应非零值的第一次数按照设定的顺序进行排序,因为只有比特位2、100、190、801、1100对应非零值的第一次数En非零,因此排序后比特位100、2、801、190、1100对应的序号分别为1096、1097、1098、1099、1100,对于第一次数En为0的比特位按照比特位从小到大的顺序排列,因此得到如图3b所示的结果,可以确定比特位置1099、100、2、801、190、1100对应的序号分别为1095、1096、1097、1098、1099、1100,相邻两个比特位1099与100对应的斜率为1、100与2对应的斜率为3、2与801对应的斜率为1、801与190对应的斜率为1、190与1100对应的斜率为1。
在图3b所示的实施例中,假设设定阈值为1,将两个相邻两个比特位对应的斜率中前一个相邻两个比特位对应的斜率作为第一斜率,将后一个相邻两个比特位对应的斜率作为第二斜率,依次确定每个第二斜率与第一斜率的差值,相邻两个比特位100与2对应的斜率与相邻两个比特位1099与100对应的斜率的差值为2,大于设定阈值,所以将相邻两个比特位100与2对应的斜率作为斜率最大值。
在图3b所示的实施例中,根据经验设定翻转阈值为2,依次将相邻两个比特位对应的斜率与设定的翻转阈值进行比较,相邻两个比特位100与2对应的斜率为3,大于设定的翻转阈值,所以将相邻两个比特位100与2对应的斜率确定为斜率最大值。
在确定相邻两个比特位对应的斜率最大值之后,根据斜率最大值对应的序号较大值及其之后的序号对应的比特位,确定需要进行翻转的比特位。举例而言,在图3b所示的实施例中,确定相邻两个比特位100与2对应的斜率作为斜率最大值之后,将斜率最大值对应的序号最大值为序号1097及其之后的序号1098、1099、1100所对应的比特位2、801、190、1100确定为需要进行翻转的比特位。
参见图4,图4为本发明实施例提供的一种改进型LDPC译码方法与传统的LDPC译码方法在译码时迭代次数的对比图,横轴为误码率‰,纵轴为译码迭代次数。通过具体的仿真实验,使用导航卫星信号模拟器产生1200个比特位的GPSL1C信号导航电文的子帧二数据,并设置0.1%-1.6%的误码率,在同一误码率条件下,分别使用传统的LDPC译码方法和本发明所述的改进型LDPC译码方法进行实际电文信息解码。由图4可以看出,本发明所述的改进型LDPC译码方法的纠错能力较强,在误码率达到16‰时依然能全部纠正误码;在误码率较低的情况下,两种方法纠错同样多的误码,需要的迭代次数相当,但是随着误码率逐渐增大,本发明所述的改进型LDPC译码方法相比于传统方法,纠错同样多的误码需要的迭代次数明显减少,计算复杂度低。
参见图5,图5为本发明实施例提供的一种改进型LDPC译码装置的结构示意图,所述装置可以包括:
错误伴随图样序列计算单元501,用于根据校验矩阵及经过硬判决的待译码序列,计算错误伴随图样序列,其中经过硬判决的待译码序列包括多个比特位;
译码后序列确定单元502,用于如果错误伴随图样序列中所有值为零,将所述经过硬判决的待译码序列作为译码后的序列;
第一次数确定单元503,用于如果错误伴随图样序列中存在非零值,根据错误伴随图样序列,确定待译码序列中每一个比特位对应非零值的第一次数;
翻转后的序列确定单元504,对每一个比特位对应非零值的第一次数按照设定的顺序进行排序,根据排序结果确定每个比特位对应的序号;根据相邻两个比特位的序号差,及相邻两个比特位之间的第一次数的差,确定该相邻两个比特位对应的斜率,并确定相邻两个比特位对应的斜率最大值;根据斜率最大值对应的序号较大值及其之后的序号对应的比特位,确定进行翻转的比特位,并确定翻转后的序列,并且将迭代次数加1;
判断单元505,用于判断迭代次数加1后是否达到设定的次数阈值,如果是,将翻转后的序列作为译码后的序列,否则,将翻转后的序列作为经过硬判决的待译码序列,触发所述错误伴随图样序列计算单元501。
应用本发明实施例,在确定待译码序列中每一个比特位对应非零值的第一次数,并对第一次数En按照从大到小的顺序进行排序后,不同于现有技术中每次只翻转引起错误最多的一个比特位,而是通过斜率统计特性批量翻转引起错误较多的多个比特位,有效的减少了算法的迭代次数。
具体的,本发明实施例所示的错误伴随图样序列计算单元501,具体可以用于:
根据计算错误伴随图样序列,当时,sm=0,否则,sm=1,其中sm是错误伴随图样序列中的第m位对应的元素,hmn是校验矩阵中的第m行第n列对应的元素,zn是待译码序列中的第n位对应的元素,N是待译码序列的长度。
具体的,本发明实施例所示的第一次数确定单元503,具体用于:
根据确定待译码序列中每一个比特位对应非零值的第一次数,En为待译码序列中第n个比特位对应非零值的第一次数,sm是错误伴随图样序列中的第m位对应的元素,hmn是校验矩阵中的第m行第n列对应的元素,M是错误伴随图样序列的位数。
具体的,本发明实施例所示的翻转后的序列确定单元504,具体用于:
对待译码序列中每一个比特位对应非零值的第一次数按照从小到大的顺序排序。
具体的,本发明实施例所示的翻转后的序列确定单元504,具体用于:
将两个相邻两个比特位对应的斜率中前一个相邻两个比特位对应的斜率作为第一斜率,将后一个相邻两个比特位对应的斜率作为第二斜率,依次确定每个第二斜率与第一斜率的差值,当所述差值大于设定阈值时,将所述第二斜率作为斜率最大值;或,
依次将相邻两个比特位对应的斜率与设定的翻转阈值进行比较,当相邻两个比特位对应的斜率大于设定的翻转阈值时,将所述相邻两个比特位对应的斜率确定为斜率最大值。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种改进型LDPC译码方法,特征在于,所述方法包括步骤:
根据校验矩阵及经过硬判决的待译码序列,计算错误伴随图样序列,其中经过硬判决的待译码序列包括多个比特位;
如果错误伴随图样序列中所有值为零,将所述经过硬判决的待译码序列作为译码后的序列;
如果错误伴随图样序列中存在非零值,根据错误伴随图样序列,确定待译码序列中每一个比特位对应非零值的第一次数;
对每一个比特位对应非零值的第一次数按照设定的顺序进行排序,根据排序结果确定每个比特位对应的序号;根据相邻两个比特位的序号差,及相邻两个比特位之间的第一次数的差,确定该相邻两个比特位对应的斜率,并确定相邻两个比特位对应的斜率最大值;根据斜率最大值对应的序号较大值及其之后的序号对应的比特位,确定进行翻转的比特位,并确定翻转后的序列,并且将迭代次数加1;
判断迭代次数加1后是否达到设定的次数阈值,如果是,将翻转后的序列作为译码后的序列,否则,将翻转后的序列作为经过硬判决的待译码序列,根据校验矩阵及经过硬判决的待译码序列,计算错误伴随图样序列的步骤。
2.根据权利要求1所述的方法,其特征在于,所述根据校验矩阵及经过硬判决的待译码序列,计算错误伴随图样序列包括:
根据计算错误伴随图样序列,当时,sm=0,否则,sm=1,其中sm是错误伴随图样序列中的第m位对应的元素,hmn是校验矩阵中的第m行第n列对应的元素,zn是待译码序列中的第n位对应的元素,N是待译码序列的长度。
3.根据权利要求1所述的方法,其特征在于,所述根据错误伴随图样序列,确定待译码序列中每一个比特位对应非零值的第一次数包括:
根据确定待译码序列中每一个比特位对应非零值的第一次数,En为待译码序列中第n个比特位对应非零值的第一次数,sm是错误伴随图样序列中的第m位对应的元素,hmn是校验矩阵中的第m行第n列对应的元素,M是错误伴随图样序列的位数。
4.根据权利要求1所述的方法,其特征在于,所述对每一个比特位对应非零值的第一次数按照设定的顺序进行排序包括:
对待译码序列中每一个比特位对应非零值的第一次数按照从小到大的顺序排序。
5.根据权利要求1所述的方法,其特征在于,所述确定相邻两个比特位对应的斜率最大值,包括:
将两个相邻两个比特位对应的斜率中前一个相邻两个比特位对应的斜率作为第一斜率,将后一个相邻两个比特位对应的斜率作为第二斜率,依次确定每个第二斜率与第一斜率的差值,当所述差值大于设定阈值时,将所述第二斜率作为斜率最大值;或,
依次将相邻两个比特位对应的斜率与设定的翻转阈值进行比较,当相邻两个比特位对应的斜率大于设定的翻转阈值时,将所述相邻两个比特位对应的斜率确定为斜率最大值。
6.一种改进型LDPC译码装置,特征在于,所述装置包括:
错误伴随图样序列计算单元,用于根据校验矩阵及经过硬判决的待译码序列,计算错误伴随图样序列,其中经过硬判决的待译码序列包括多个比特位;
译码后序列确定单元,用于如果错误伴随图样序列中所有值为零,将所述经过硬判决的待译码序列作为译码后的序列;
第一次数确定单元,用于如果错误伴随图样序列中存在非零值,根据错误伴随图样序列,确定待译码序列中每一个比特位对应非零值的第一次数;
翻转后的序列确定单元,用于对每一个比特位对应非零值的第一次数按照设定的顺序进行排序,根据排序结果确定每个比特位对应的序号;根据相邻两个比特位的序号差,及相邻两个比特位之间的第一次数的差,确定该相邻两个比特位对应的斜率,并确定相邻两个比特位对应的斜率最大值;根据斜率最大值对应的序号较大值及其之后的序号对应的比特位,确定进行翻转的比特位,并确定翻转后的序列,并且将迭代次数加1;
判断单元,用于判断迭代次数加1后是否达到设定的次数阈值,如果是,将翻转后的序列作为译码后的序列,否则,将翻转后的序列作为经过硬判决的待译码序列,触发所述错误伴随图样序列计算单元。
7.根据权利要求6所述的装置,其特征在于,所述错误伴随图样序列计算单元,具体用于:
根据计算错误伴随图样序列,当时,sm=0,否则,sm=1,其中sm是错误伴随图样序列中的第m位对应的元素,hmn是校验矩阵中的第m行第n列对应的元素,zn是待译码序列中的第n位对应的元素,N是待译码序列的长度。
8.根据权利要求6所述的装置,其特征在于,所述第一次数确定单元,具体用于:
根据确定待译码序列中每一个比特位对应非零值的第一次数,En为待译码序列中第n个比特位对应非零值的第一次数,sm是错误伴随图样序列中的第m位对应的元素,hmn是校验矩阵中的第m行第n列对应的元素,M是错误伴随图样序列的位数。
9.根据权利要求6所述的装置,其特征在于,所述翻转后的序列确定单元,具体用于:
对待译码序列中每一个比特位对应非零值的第一次数按照从小到大的顺序排序。
10.根据权利要求6所述的装置,其特征在于,所述翻转后的序列确定单元,具体用于:
将两个相邻两个比特位对应的斜率中前一个相邻两个比特位对应的斜率作为第一斜率,将后一个相邻两个比特位对应的斜率作为第二斜率,依次确定每个第二斜率与第一斜率的差值,当所述差值大于设定阈值时,将所述第二斜率作为斜率最大值;或,
依次将相邻两个比特位对应的斜率与设定的翻转阈值进行比较,当相邻两个比特位对应的斜率大于设定的翻转阈值时,将所述相邻两个比特位对应的斜率确定为斜率最大值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610105751.9A CN105790774B (zh) | 2016-02-25 | 2016-02-25 | 一种ldpc译码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610105751.9A CN105790774B (zh) | 2016-02-25 | 2016-02-25 | 一种ldpc译码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105790774A true CN105790774A (zh) | 2016-07-20 |
CN105790774B CN105790774B (zh) | 2019-07-19 |
Family
ID=56403688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610105751.9A Active CN105790774B (zh) | 2016-02-25 | 2016-02-25 | 一种ldpc译码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105790774B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI646783B (zh) * | 2018-04-10 | 2019-01-01 | 大陸商深圳大心電子科技有限公司 | 解碼方法及儲存控制器 |
CN110518934A (zh) * | 2019-08-13 | 2019-11-29 | 广州广电计量检测股份有限公司 | 一种光传送网的同步方法 |
CN111917420A (zh) * | 2020-08-25 | 2020-11-10 | 广东省新一代通信与网络创新研究院 | 一种ldpc自适应译码方法及ldpc自适应译码器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101106380A (zh) * | 2006-07-13 | 2008-01-16 | 华为技术有限公司 | 一种ldpc码的迭代译码方法及装置 |
CN101615913A (zh) * | 2009-07-17 | 2009-12-30 | 清华大学 | Ldpc码的快速收敛译码算法 |
US20100088575A1 (en) * | 2008-10-07 | 2010-04-08 | Eran Sharon | Low density parity code (ldpc) decoding for memory with multiple log likelihood ratio (llr) decoders |
CN101106437B (zh) * | 2007-08-08 | 2010-06-09 | 清华大学 | 一种有限几何低密度奇偶校验码的译码方法 |
-
2016
- 2016-02-25 CN CN201610105751.9A patent/CN105790774B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101106380A (zh) * | 2006-07-13 | 2008-01-16 | 华为技术有限公司 | 一种ldpc码的迭代译码方法及装置 |
CN101106437B (zh) * | 2007-08-08 | 2010-06-09 | 清华大学 | 一种有限几何低密度奇偶校验码的译码方法 |
US20100088575A1 (en) * | 2008-10-07 | 2010-04-08 | Eran Sharon | Low density parity code (ldpc) decoding for memory with multiple log likelihood ratio (llr) decoders |
CN101615913A (zh) * | 2009-07-17 | 2009-12-30 | 清华大学 | Ldpc码的快速收敛译码算法 |
Non-Patent Citations (2)
Title |
---|
YUAN-HUA LIU: "Multi-Threshold Bit Flipping Algorithm for Decoding Structured LDPC Codes", 《IEEE COMMUNICATIONS LETTERS 》 * |
詹尹等: "一种改进的 LDPC 码硬判决译码算法", 《电视技术》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI646783B (zh) * | 2018-04-10 | 2019-01-01 | 大陸商深圳大心電子科技有限公司 | 解碼方法及儲存控制器 |
CN110518934A (zh) * | 2019-08-13 | 2019-11-29 | 广州广电计量检测股份有限公司 | 一种光传送网的同步方法 |
CN111917420A (zh) * | 2020-08-25 | 2020-11-10 | 广东省新一代通信与网络创新研究院 | 一种ldpc自适应译码方法及ldpc自适应译码器 |
CN111917420B (zh) * | 2020-08-25 | 2023-07-04 | 广东省新一代通信与网络创新研究院 | 一种ldpc自适应译码方法及ldpc自适应译码器 |
Also Published As
Publication number | Publication date |
---|---|
CN105790774B (zh) | 2019-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103888148B (zh) | 一种动态阈值比特翻转的ldpc码硬判决译码方法 | |
CN110278002B (zh) | 基于比特翻转的极化码置信传播列表译码方法 | |
US8095863B2 (en) | Low complexity decoding of low density parity check codes | |
CN101656541B (zh) | Rs码的译码方法和装置 | |
US6857097B2 (en) | Evaluating and optimizing error-correcting codes using a renormalization group transformation | |
US8196012B2 (en) | Method and system for encoding and decoding low-density-parity-check (LDPC) codes | |
Esfahanizadeh et al. | Finite-length construction of high performance spatially-coupled codes via optimized partitioning and lifting | |
CN101162907B (zh) | 一种利用低密度奇偶校验码实现编码的方法及装置 | |
Montanari et al. | The statistical mechanics of turbo codes | |
CN101162965A (zh) | 一种ldpc码的纠删译码方法及系统 | |
CN105790774A (zh) | 一种改进型ldpc译码方法及装置 | |
CN100508442C (zh) | 一种编译码方法及编译码装置 | |
CN108712232A (zh) | 一种用于连续变量量子密钥分发系统中的多码字并行译码方法 | |
CN111130567B (zh) | 添加噪声扰动和比特翻转的极化码置信传播列表译码方法 | |
Zhang et al. | Spatially coupled split-component codes with iterative algebraic decoding | |
US20120331369A1 (en) | Systems and Methods for Error Correction Using Low Density Parity Check Codes Using Multiple Layer Check Equations | |
CN109120275B (zh) | 一种编码方法及装置、计算机存储介质 | |
CN102420616B (zh) | 基于拉丁方阵的准循环ldpc码纠错方法 | |
Vajha et al. | Small-d MSR Codes With Optimal Access, Optimal Sub-Packetization, and Linear Field Size | |
Upadhyaya et al. | On LDPC decoding with natural redundancy | |
CN104184480B (zh) | 一种降低复杂度的ldpc改进译码方法 | |
CN108206722B (zh) | 高码率数据发送方法和装置 | |
CN113129980A (zh) | 一种信息译码方法、装置、电子设备及存储介质 | |
He et al. | Disjoint-set data structure-aided structured Gaussian elimination for solving sparse linear systems | |
CN111835363B (zh) | 基于交替方向乘子法的ldpc码译码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |