CN108288967A - 一种低密度奇偶校验ldpc码构造方法及装置 - Google Patents
一种低密度奇偶校验ldpc码构造方法及装置 Download PDFInfo
- Publication number
- CN108288967A CN108288967A CN201710014284.3A CN201710014284A CN108288967A CN 108288967 A CN108288967 A CN 108288967A CN 201710014284 A CN201710014284 A CN 201710014284A CN 108288967 A CN108288967 A CN 108288967A
- Authority
- CN
- China
- Prior art keywords
- matrix
- value
- ldpc code
- recycle ratio
- row
- 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.)
- Withdrawn
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/1148—Structural properties of the code parity-check or generator matrix
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种低密度奇偶校验LDPC码构造方法及装置,用以解决现有技术中在构造LDPC码时性能差,实现复杂度高问题。所述方法包括:根据待构造的LDPC码的信息位长度以及第一预设系数,确定循环系数矩阵的产生因子;根据所述产生因子以及预设的循环系数矩阵的行数和列数,确定所述循环系数矩阵中的每个元素的值,根据确定的所述循环系数矩阵,确定基矩阵中每个元素的值;根据基矩阵中的每个元素的值确定主校验矩阵,根据副校验矩阵以及主校验矩阵,获得LDPC码整体校验矩阵,根据LDPC码的码率,从LDPC码整体校验矩阵中提取LDPC码的校验矩阵,获得LDPC码。本发明实施例构造的LDPC码的性能优异,实现复杂度低。
Description
技术领域
本发明涉及无线通信技术领域,特别涉及一种低密度奇偶校验(Low DensityParity Check Code,LDPC)码构造方法及装置。
背景技术
目随着4G进入大规模商用阶段,面向未来的第五代移动通信(5G)已成为全球研发热点。在全球工业和学术界的共同努力下,5G愿景与关键能力需求已基本明确,国际标准制定工作也已经正式开始。信道编码技术是5G关键物理层技术之一,LDPC码具有性能优异、吞吐率高、复杂度低等优点,国际标准化组织3GPP已经确定5G中移动宽带增强(eMBB)场景的数据信道采用LDPC码。
当前主要采用递增冗余的方法构造针对5G场景的LDPC码,即首先构造一个高码率的LDPC码,然后采用递增冗余的方式产生更多的校验位,进而得到低码率的LDPC码。基于递增冗余方法构造的LDPC码具有性能优异、码长码率覆盖范围广、复用度高、易于硬件实现、可以直接用校验矩阵进行编码等优点。
三星公司(Samsung)在3GPP会议文稿“3GPP TSG RAN WG1#86R1-167889 Designof Flexible LDPC Codes”中通过单一基矩阵设计了针对5G场景的LDPC码,但所得到的LDPC码在低码率时性能较差。此外,高通公司(Qualcomm Incorporated)在3GPP会议文稿“3GPP TSG-RAN WG1#86bis R1-1610137 LDPC rate compatible design overview”中通过多个基矩阵设计了针对5G场景的LDPC码,所得到的LDPC码在各个码率下都具有较好的性能,但由于采用了多个基矩阵,所以会增加实现复杂度。
发明内容
本发明提供一种LDPC码构造方法及装置,用以解决现有技术中在构造LDPC码时性能差,实现复杂度高问题。
为达到上述目的,本发明实施例公开了一种LDPC码构造方法,所述方法包括:
根据待构造的LDPC码的信息位长度以及第一预设系数,确定循环系数矩阵的产生因子;
根据所述产生因子以及预设的循环系数矩阵的行数和列数,确定所述循环系数矩阵中的每个元素的值,并根据确定的所述循环系数矩阵以及预设的覆盖矩阵,确定基矩阵中每个元素的值;
根据所述基矩阵中的每个元素的值确定主校验矩阵,根据预先确定的副校验矩阵以及所述主校验矩阵,获得LDPC码整体校验矩阵,根据待构造的LDPC码的码率,从所述LDPC码整体校验矩阵中提取LDPC码的校验矩阵,获得LDPC码。
进一步地,根据待构造的LDPC码的信息位长度以及第一预设系数,确定循环系数矩阵的产生因子包括:
根据待构造的LDPC码的信息位长度以及第一预设系数,确定替换矩阵的阶数;
将不大于所述阶数的最大素数,确定为循环系数矩阵的产生因子。
进一步地,所述根据所述产生因子以及预设的循环系数矩阵的行数和列数,确定所述循环系数矩阵中的每个元素的值包括:
根据确定所述循环系数矩阵中的每个元素的值,其中,ci,j为该循环系数矩阵中第i行第j列的元素的值,q为循环系数矩阵的产生因子。
进一步地,所述根据确定的所述循环系数矩阵以及预设的覆盖矩阵,确定基矩阵中每个元素的值包括:
根据确定基矩阵中每个元素的值,其中,di,j为基矩中第i行第j列的元素的值,bi,j为覆盖矩阵中第i行第j列的元素的值,ci,j为循环系数矩阵中第i行第j列的元素的值。
进一步地,所述覆盖矩阵为打孔列列重比较大的覆盖矩阵。
进一步地,所述覆盖矩阵为:
2 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
2 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 2 |
1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 |
2 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
进一步地,所述根据基矩阵中的每个元素的值确定主校验矩阵包括:根据
确定主校验矩阵,其中di,j为该基矩中第i行第j列的元素的值,ci,j为该循环系数矩阵中第i行第j列的元素的值。
进一步地,确定副校验矩阵中的每个元素的值包括:
根据确定副校验矩阵中的每个元素的值,其中,Hbi,j为该副校验矩阵中第i行第j列的元素的值,L为确定的替换矩阵的阶数。
本发明实施例公开了一种低密度奇偶校验LDPC码构造装置,所述装置包括:
确定模块,用于根据待构造的LDPC码的信息位长度以及第一预设系数,确定循环系数矩阵的产生因子;
所述确定模块,还用于根据所述产生因子以及预设的循环系数矩阵的行数和列数,确定所述循环系数矩阵中的每个元素的值,并根据确定的所述循环系数矩阵以及预设的覆盖矩阵,确定基矩阵中每个元素的值;
确定获得模块,用于根据所述基矩阵中的每个元素的值确定主校验矩阵,根据预先确定的副校验矩阵以及所述主校验矩阵,获得LDPC码整体校验矩阵,根据待构造的LDPC码的码率,从所述LDPC码整体校验矩阵中提取LDPC码的校验矩阵,获得LDPC码。
进一步地,所述确定模块,具体用于根据待构造的LDPC码的信息位长度以及第一预设系数,确定替换矩阵的阶数;将不大于所述阶数的最大素数,确定为循环系数矩阵的产生因子。
进一步地,所述确定模块,具体用于根据
确定所述循环系数矩阵中的每个元素的值,其中,ci,j为该循环系数矩阵中第i行第j列的元素的值,q为循环系数矩阵的产生因子。
进一步地,所述确定模块,具体用于根据确定基矩阵中每个元素的值,其中,di,j为基矩中第i行第j列的元素的值,bi,j为覆盖矩阵中第i行第j列的元素的值,ci,j为循环系数矩阵中第i行第j列的元素的值。
进一步地,所述覆盖矩阵为打孔列列重比较大的覆盖矩阵。
进一步地,所述覆盖矩阵为:
2 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
2 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 2 |
1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 |
2 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
进一步地,所述确定获得模块,具体用于根据
确定主校验矩阵,其中di,j为该基矩中第i行第j列的元素的值,ci,j为该循环系数矩阵中第i行第j列的元素的值。
进一步地,所述确定模块,还用于根据确定副校验矩阵中的每个元素的值,其中,Hbi,j为该副校验矩阵中第i行第j列的元素的值,L为确定的替换矩阵的阶数。
本发明实施例公开了一种低密度奇偶校验LDPC码构造方法及装置,所述方法包括:根据待构造的LDPC码的信息位长度以及第一预设系数,确定循环系数矩阵的产生因子;根据所述产生因子以及预设的循环系数矩阵的行数和列数,确定所述循环系数矩阵中的每个元素的值,并根据确定的所述循环系数矩阵以及预设的覆盖矩阵,确定基矩阵中每个元素的值;根据所述基矩阵中的每个元素的值确定主校验矩阵,根据预先确定的副校验矩阵以及所述主校验矩阵,获得LDPC码整体校验矩阵,根据待构造的LDPC码的码率,从所述LDPC码整体校验矩阵中提取LDPC码的校验矩阵,获得LDPC码。本发明实施例构造的LDPC码的性能优异,并且实现复杂度低。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种LDPC码构造过程示意图;
图2为本发明实施例提供的一种循环系数矩阵;
图3为本发明实施例提供的一种覆盖矩阵;
图4为本发明实施例提供的一种基矩阵;
图5为本发明实施例提供的一种LDPC码整体校验矩阵的散点图;
图6为本发明实施例提供的一种信息长度为1008比特、7种码率的LDPC码最大译码迭代次数为50时的性能仿真图;
图7为本发明实施例提供的一种信息长度为1008比特、7种码率的LDPC码最大译码迭代次数为20时的性能仿真图;
图8为本发明实施例提供的一种LDPC码构造装置结构图。
具体实施方式
为了采用简单的方法,构造性能优异的LDPC码,本发明实施例提供了一种LDPC码构造方法及装置。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种LDPC码构造过程示意图,该过程包括以下步骤:
S101:根据待构造的LDPC码的信息位长度以及第一预设系数,确定循环系数矩阵的产生因子。
本发明实施例中预先设定有第一预设系数,根据待构造的LDPC码的信息位长度以及预先保存的第一预设系数,确定循环系数矩阵的产生因子。具体的,可以是根据待构造的LDPC码的信息位长度以及第一预设系数,确定替换矩阵的阶数;将不大于所述阶数的数值,确定为循环系数矩阵的产生因子。
其中,所述根据待构造的LDPC码的信息位长度以及第一预设系数,确定替换矩阵的阶数,具体的可以是将所述信息位长度与第一预设系数的商,确定为替换矩阵的阶数。
S102:根据所述产生因子以及预设的循环系数矩阵的行数和列数,确定所述循环系数矩阵中的每个元素的值,并根据确定的所述循环系数矩阵以及预设的覆盖矩阵,确定基矩阵中每个元素的值。
在本发明实施例中为了确定循环系数矩阵,预先设定有循环系数矩阵的行数和列数,在本发明实施例中该循环系数矩阵的行数和列数分别为49和28。根据所述产生因子以及预设的循环系数矩阵的行数和列数,确定所述循环系数矩阵中的每个元素的值。具体的该循环系数矩阵中每个元素的值,与该元素的行数和列数以及该产生因子有关。
当确定了循环系数矩阵中每个元素的值后,根据该循环系数矩阵以及预设的覆盖矩阵,可以确定基矩阵中每个元素的值。在本发明实施例中可以采用任何覆盖矩阵,但为了有效的提高构造的LDPC码的性能,可以采用打孔列列重比较大的覆盖矩阵。在确定基矩阵时,覆盖矩阵中的每个元素的值不同,对应的基矩阵中每个元素的确定方式也不同,具体的覆盖矩阵中的每个元素的值,对应的基矩阵中每个元素的值的确定方式可以预先约定。
S103:根据所述基矩阵中的每个元素的值确定主校验矩阵,根据预先确定的副校验矩阵以及所述主校验矩阵,获得LDPC码整体校验矩阵,根据待构造的LDPC码的码率,从所述LDPC码整体校验矩阵中提取LDPC码的校验矩阵,获得LDPC码。
当确定了基矩阵中的每个元素的值后,根据该基矩阵及替换矩阵,可以确定出主校验矩阵。所述根据该基矩阵及替换矩阵,确定出主校验矩阵的过程为现有技术,在本发明实施例中对该过程不进行详细赘述。在本发明实施例中,替换矩阵的阶数根据待构造的LDPC码的信息位长度以及第一预设系数确定,当确定了基矩阵中每个元素的值后,根据基矩阵中的每个元素的值,对该基矩阵进行扩展。具体的在扩展时,根据基矩阵中每个元素的值,将基矩阵中的每个元素扩展为替换矩阵的阶数对应大小的矩阵,因此经过扩展后,得到的主校验矩阵的行数和列数分别为基矩阵的行数和列数与替换矩阵的阶数的乘积。
另外,在对基矩阵进行扩展时,根据基矩阵中元素的值的不同,采用的替换矩阵中每个元素的值也是不同的。具体的基矩阵中的每个元素的值,对应的替换矩阵的确定方式可以预先约定。
在本发明实施例中可以预先设定副校验矩阵的行数和列数,以及副校验矩阵中每个元素的值与其所在的行和列之间的关系,因此根据该关系,即可确定副校验矩阵中的每个元素的值。所述根据行和列之间的关系确定副校验矩阵中的每个元素的值的过程属于现有技术,在本发明实施例中对该过程不进行赘述。
当确定了副校验矩阵中的每个元素的值和主校验矩阵中的每个元素的值的值后,根据该副校验矩阵和主校验矩阵,可以确定出LDPC码整体校验矩阵。所述根据副校验矩阵和主校验矩阵,确定出LDPC码整体校验矩阵的过程属于现有技术,在本发明实施例中对该过程不进行详细赘述。
将所述主校验矩阵与所述副校验矩阵结合,获得LDPC码整体校验矩阵时,具体的可以是根据H=[Ha,Hb],获的LDPC码整体校验矩阵,其中,H为LDPC码整体校验矩阵,Ha为主校验矩阵,Hb为副校验矩阵。
在根据待构造的LDPC码的码率,从所述LDPC码整体校验矩阵中提取LDPC码的校验矩阵时,具体的可以是根据预先保存的码率与LDPC码整体校验矩阵的行数和列数的对应关系,从所述LDPC码整体校验矩阵中提取所述待构造的LDPC码的码率对应行数和列数的矩阵作为LDPC码的校验矩阵。
例如,所述码率为R,根据R=24/(r+27),得出以下为R与r的对应关系:
码率 | 8/9 | 24/29 | 3/4 | 2/3 | 1/2 | 2/5 | 1/3 |
r的取值 | 0 | 2 | 5 | 9 | 21 | 33 | 45 |
根据r可以确定从LDPC码整体校验矩阵中提取的行数和列数,并且在提取时,一般提取行值和列值较小的矩阵,较佳地,当确定了从LDPC码整体校验矩阵中提取的行数和列数,一般提取LDPC码整体校验矩阵中第一行到该行数,第一列到该列数的矩阵作为LDPC码的校验矩阵。例如如果行数为10,列数为15,则提取LDPC码整体校验矩阵中1-10行,1-15列的矩阵作为LDPC码的校验矩阵。
所述的校验矩阵对应一组结构化速率兼容LDPC码,从而可以根据LDPC码的校验矩阵获得LDPC码。
由于在本发明实施例中,根据待构造的LDPC码的信息位长度以及第一预设系数,确定循环系数矩阵的产生因子;根据所述产生因子以及预设的循环系数矩阵的行数和列数,确定所述循环系数矩阵中的每个元素的值,并根据确定的所述循环系数矩阵以及预设的覆盖矩阵,确定基矩阵中每个元素的值;根据所述基矩阵中的每个元素的值确定主校验矩阵,根据预先确定的副校验矩阵以及所述主校验矩阵,获得LDPC码整体校验矩阵,根据待构造的LDPC码的码率,从所述LDPC码整体校验矩阵中提取LDPC码的校验矩阵,获得LDPC码。所以构造的LDPC码的性能优异,并且实现复杂度低。
在本发明实施例中,预先设定有第一预设系数,根据待构造的LDPC码的信息位长度以及预先保存的第一预设系数,确定循环系数矩阵的产生因子,在确定循环系数矩阵的产生因子时,可以是将所述信息位长度与第一预设系数的商,确定为替换矩阵的阶数,将不大于所述替换矩阵的阶数的最大素数,确定为循环系数矩阵的产生因子。
例如,所述待构造的LDPC码的信息位长度为1008,所述第一预设系数为24,则所述替换矩阵的阶数为1008/24=42。所述产生因子为不大于所述阶数的最大素数,则产生因子为41。
在本发明实施例中预先设定有循环系数矩阵的行数和列数,具体的行数可以是49,列数可以是28,则在确定循环系数矩阵中的每个元素的值时,根据每个元素所在的行数和列数以及该产生因子即可确定,具体的可以是根据确定所述循环系数矩阵中的每个元素的值,其中,ci,j为该循环系数矩阵中第i行第j列的元素的值,q为循环系数矩阵的产生因子。在本发明实施例中该循环系数矩阵的行数和列数分别为49和28,则1≤i≤49,1≤j≤28。例如,当产生因子为41时,生成的循环系数矩阵如图2所示。
确定了循环系数矩阵,根据该循环系数矩阵及预设的覆盖矩阵,可以确定基矩阵中每个元素的值,其中,该覆盖矩阵的阶数与循环系数矩阵的阶数相同,根据确定基矩阵中每个元素的值,其中,di,j为基矩中第i行第j列的元素的值,bi,j为覆盖矩阵中第i行第j列的元素的值,ci,j为循环系数矩阵中第i行第j列的元素的值。
在本发明实施例中采用的覆盖矩阵为打孔列列重比较大的覆盖矩阵。在本发明实施例中该循环系数矩阵的行数和列数分别为49和28,则覆盖矩阵的行数也为49,列数也为28,则基矩阵的行数也为49,列数也为28。
如果采用如图3所示的覆盖矩阵,该覆盖矩阵为49行28列,该覆盖矩阵的第一列为打孔列,该第一列的元素的值非零并且同时包含1和2,采用图2所示的循环系数矩阵,根据上述基矩阵的确定方法,确定的基矩阵如图4所示。
基于该覆盖矩阵可以进行行置换或者列置换,图3所示的覆盖矩阵的打孔列为第一列,当进行列置换后,该第一列被移位至哪一列,则该列将作为打孔列,例如该第一列被移位至第九列,该第九列为打孔列。并且基于该覆盖矩阵,可以通过进行置换或列置换,可以改变offset值,行置换或列置换后,通过该矩阵得到的LDPC码的性能不变,但改变offset值可以有利于硬件实现。另外,还可以针对该覆盖矩阵中内容进行删减,具体的为将该覆盖矩阵中的非零值更新为0。上述操作即行置换、列置换和删减操作可以同时进行。
得到了基矩阵后,对该基矩阵进行扩展可以得到主校验矩阵。在对基矩阵进行扩展时,根据所述基矩阵中的每个元素的值及确定的替换矩阵的阶数,将所述基矩阵中的每个元素替换为对应的替换矩阵得到主校验矩阵时,可以是根据
确定主校验矩阵,其中di,j为该基矩中第i行第j列的元素的值,ci,j为该循环系数矩阵中第i行第j列的元素的值。
接下来对上述过程进行简单描述,识别所述基矩阵中的每个元素的值,如果所述元素的数值为-1,所述替换矩阵为确定阶数的全零矩阵,则将所述数值为-1元素替换为确定阶数的全零矩阵;如果所述基矩阵中的元素的值di,j与循环系数矩阵中的元素的值ci,j相同,所述替换矩阵为循环系数为ci,j的循环系数矩阵,则将所述元素的值di,j与循环系数矩阵中的元素的值ci,j相同的元素替换为循环系数为循环系数为ci,j的循环系数矩阵;如果所述基矩阵的元素的值为(ci,j,0),所述替换矩阵为循环系数为ci,j的循环系数矩阵与单位矩阵的和,则将所述元素的值(ci,j,0)的元素替换为循环系数为ci,j的循环系数矩阵与单位矩阵的和,所述单位矩阵的行数与列数与循环系数为ci,j的循环系数矩阵的行数和列数相同。
因为确定的基矩阵的行数和列数与循环系数矩阵的行数和列数是相同的,都是49行,28列,在对基矩阵进行扩展时,将该基矩阵中的每个元素扩展为替换矩阵的阶数,如果L为替换矩阵的阶数,则主校验矩阵为49L行28L列的矩阵。例如当L为42时,所述主校验矩阵为2058行1176列。
在根据预设的副校验矩阵的行数和列数,及每行和每列之间的关系,确定副校验矩阵中的每个元素的值时,具体的可以是根据确定副校验矩阵中的每个元素的值,其中,Hbi,j为该副校验矩阵中第i行第j列的元素的值,L为确定的替换矩阵的阶数。所述预设的的副校验矩阵的行数和列数与待构造的LDPC码的最小码率有关。所述预设的的副校验矩阵的行数可以为49L,列数为45L,L为确定的替换矩阵的阶数。当L为42时,所述副校验矩阵为2058行1890列。
所述LDPC码整体校验矩阵H为49L行,(28L+45L)列。当L为42时,所述LDPC码整体校验矩阵H为2058行3066列。如图5所示,为LDPC码整体校验矩阵的散点图,该散点图的横坐标为行数,纵坐标为列数,其中待构造的LDPC码的信息为长度为1008比特,该图5中包含7中码率的LDPC码。
在根据预先保存的码率与LDPC码整体校验矩阵的行数和列数的对应关系时,具体的可以是码率与LDPC码整体校验矩阵的行数对应关系为行数为(4+r)*42,码率与LDPC码整体校验矩阵的列数对应关系为列数为(28+r)*42。
其中,r可以根据R=24/(r+27)来确定,R为码率,具体的R与r的对应关系:
码率 | 8/9 | 24/29 | 3/4 | 2/3 | 1/2 | 2/5 | 1/3 |
r的取值 | 0 | 2 | 5 | 9 | 21 | 33 | 45 |
从所述LDPC码整体校验矩阵中提取所述待构造的LDPC码的码率对应行数和列数的矩阵作为LDPC码的校验矩阵时,在本发明实施例中,当确定了从LDPC码整体校验矩阵中提取的行数和列数,提取LDPC码整体校验矩阵中第一行到该行数,第一列到该列数的矩阵作为LDPC码的校验矩阵。具体的可以是从LDPC码的整体校验矩阵H中行取1至(4+r)*42行,列取1至(28+r)*42列,作为码率为R=24/(r+27)的LDPC码的校验矩阵,其中0≤r≤45。
如图6为信息长度为1008比特、7种码率的LDPC码最大译码迭代次数为50时的性能仿真图,对本发明实施例构造的信息长度固定为1008比特的递增冗余LDPC码进行QPSK调制,再经过AWGN信道,最后在接收端采用置信传播译码算法(FFT-QSPA)即BP译码算法,迭代50次进行误码率性能仿真,结果如图6所示,图6中的横坐标是符号能量与噪声功率谱密度的比值Es/N0(dB),纵坐标是码组差错率(Block error rate)。如图6所示,由左至右,第一条曲线为码率R=1/3的性能仿真结果,第二条曲线为码率R=2/5的性能仿真结果,第三条曲线为码率R=1/2的性能仿真结果,第四条曲线为码率R=2/3的性能仿真结果,第五条曲线为码率R=3/4的性能仿真结果,第六条曲线为码率R=24/29的性能仿真结果,第七条曲线为码率R=8/9的性能仿真结果。根据图6的仿真结果图可知,采用本发明实施例构造的LDPC码,无论在低码率还是高码率时性能都非常优异。
如图7为信息长度为1008比特、7种码率的LDPC码最大译码迭代次数为50时的性能仿真图,对本发明实施例构构造的信息长度固定为1008比特的递增冗余LDPC码进行QPSK调制,再经过AWGN信道,最后在接收端采用置信传播译码算法(FFT-QSPA)即BP译码算法,迭代20次进行误码率性能仿真,结果如图7所示,图7中的横坐标是符号能量与噪声功率谱密度的比值Es/N0(dB),纵坐标是码组差错率(Block error rate)。如图7所示,由左至右,第一条曲线为码率R=1/3的性能仿真结果,第二条曲线为码率R=2/5的性能仿真结果,第三条曲线为码率R=1/2的性能仿真结果,第四条曲线为码率R=2/3的性能仿真结果,第五条曲线为码率R=3/4的性能仿真结果,第六条曲线为码率R=24/29的性能仿真结果,第七条曲线为码率R=8/9的性能仿真结果。根据图7的仿真结果图可知,采用本发明实施例构造的LDPC码,无论在低码率还是高码率时性能都非常优异。
图8为本发明实施例提供的一种LDPC码构造装置结构图,所述装置包括:
确定模块81,用于根据待构造的LDPC码的信息位长度以及第一预设系数,确定循环系数矩阵的产生因子;
所述确定模块81,还用于根据所述产生因子以及预设的循环系数矩阵的行数和列数,确定所述循环系数矩阵中的每个元素的值,并根据确定的所述循环系数矩阵以及预设的覆盖矩阵,确定基矩阵中每个元素的值;
确定获得模块82,用于根据所述基矩阵中的每个元素的值确定主校验矩阵,根据预先确定的副校验矩阵以及所述主校验矩阵,获得LDPC码整体校验矩阵,根据待构造的LDPC码的码率,从所述LDPC码整体校验矩阵中提取LDPC码的校验矩阵,获得LDPC码。
所述确定模块81,具体用于根据待构造的LDPC码的信息位长度以及第一预设系数,确定替换矩阵的阶数;将不大于所述阶数的最大素数,确定为循环系数矩阵的产生因子。
所述确定模块81,具体用于根据
确定所述循环系数矩阵中的每个元素的值,其中,ci,j为该循环系数矩阵中第i行第j列的元素的值,q为循环系数矩阵的产生因子。
所述确定模块81,具体用于根据确定基矩阵中每个元素的值,其中,di,j为基矩中第i行第j列的元素的值,bi,j为覆盖矩阵中第i行第j列的元素的值,ci,j为循环系数矩阵中第i行第j列的元素的值。
所述覆盖矩阵为打孔列列重比较大的覆盖矩阵。所述覆盖矩阵如图3所示。
所述确定获得模块82,具体用于根据
确定主校验矩阵,其中di,j为该基矩中第i行第j列的元素的值,ci,j为该循环系数矩阵中第i行第j列的元素的值。
所述确定模块81,还用于根据确定副校验矩阵中的每个元素的值,其中,Hbi,j为该副校验矩阵中第i行第j列的元素的值,L为确定的替换矩阵的阶数。
本发明实施例公开了一种低密度奇偶校验LDPC码构造方法及装置,所述方法包括:根据待构造的LDPC码的信息位长度以及第一预设系数,确定循环系数矩阵的产生因子;根据所述产生因子以及预设的循环系数矩阵的行数和列数,确定所述循环系数矩阵中的每个元素的值,并根据确定的所述循环系数矩阵以及预设的覆盖矩阵,确定基矩阵中每个元素的值;根据所述基矩阵中的每个元素的值确定主校验矩阵,根据预先确定的副校验矩阵以及所述主校验矩阵,获得LDPC码整体校验矩阵,根据待构造的LDPC码的码率,从所述LDPC码整体校验矩阵中提取LDPC码的校验矩阵,获得LDPC码。本发明实施例构造的LDPC码的性能优异,并且实现复杂度低。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者一个操作与另一个实体或者另一个操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全应用实施例、或结合应用和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (16)
1.一种低密度奇偶校验LDPC码构造方法,其特征在于,所述方法包括:
根据待构造的LDPC码的信息位长度以及第一预设系数,确定循环系数矩阵的产生因子;
根据所述产生因子以及预设的循环系数矩阵的行数和列数,确定所述循环系数矩阵中的每个元素的值,并根据确定的所述循环系数矩阵以及预设的覆盖矩阵,确定基矩阵中每个元素的值;
根据所述基矩阵中的每个元素的值确定主校验矩阵,根据预先确定的副校验矩阵以及所述主校验矩阵,获得LDPC码整体校验矩阵,根据待构造的LDPC码的码率,从所述LDPC码整体校验矩阵中提取LDPC码的校验矩阵,获得LDPC码。
2.如权利要求1所述的方法,其特征在于,根据待构造的LDPC码的信息位长度以及第一预设系数,确定循环系数矩阵的产生因子包括:
根据待构造的LDPC码的信息位长度以及第一预设系数,确定替换矩阵的阶数;
将不大于所述阶数的最大素数,确定为循环系数矩阵的产生因子。
3.如权利要求1所述的方法,其特征在于,所述根据所述产生因子以及预设的循环系数矩阵的行数和列数,确定所述循环系数矩阵中的每个元素的值包括:
根据确定所述循环系数矩阵中的每个元素的值,其中,ci,j为该循环系数矩阵中第i行第j列的元素的值,q为循环系数矩阵的产生因子。
4.如权利要求1所述的方法,其特征在于,所述根据确定的所述循环系数矩阵以及预设的覆盖矩阵,确定基矩阵中每个元素的值包括:
根据确定基矩阵中每个元素的值,其中,di,j为基矩中第i行第j列的元素的值,bi,j为覆盖矩阵中第i行第j列的元素的值,ci,j为循环系数矩阵中第i行第j列的元素的值。
5.如权利要求1或4所述的方法,其特征在于,所述覆盖矩阵为打孔列列重比较大的覆盖矩阵。
6.如权利要求5所述的方法,其特征在于,所述覆盖矩阵为:
7.如权利要求1所述的方法,其特征在于,所述根据基矩阵中的每个元素的值确定主校验矩阵包括:根据
确定主校验矩阵,其中di,j为该基矩中第i行第j列的元素的值,ci,j为该循环系数矩阵中第i行第j列的元素的值。
8.如权利要求1所述的方法,其特征在于,确定副校验矩阵中的每个元素的值包括:
根据确定副校验矩阵中的每个元素的值,其中,Hbi,j为该副校验矩阵中第i行第j列的元素的值,L为确定的替换矩阵的阶数。
9.一种低密度奇偶校验LDPC码构造装置,其特征在于,所述装置包括:
确定模块,用于根据待构造的LDPC码的信息位长度以及第一预设系数,确定循环系数矩阵的产生因子;
所述确定模块,还用于根据所述产生因子以及预设的循环系数矩阵的行数和列数,确定所述循环系数矩阵中的每个元素的值,并根据确定的所述循环系数矩阵以及预设的覆盖矩阵,确定基矩阵中每个元素的值;
确定获得模块,用于根据所述基矩阵中的每个元素的值确定主校验矩阵,根据预先确定的副校验矩阵以及所述主校验矩阵,获得LDPC码整体校验矩阵,根据待构造的LDPC码的码率,从所述LDPC码整体校验矩阵中提取LDPC码的校验矩阵,获得LDPC码。
10.如权利要求9所述的装置,其特征在于,所述确定模块,具体用于根据待构造的LDPC码的信息位长度以及第一预设系数,确定替换矩阵的阶数;将不大于所述阶数的最大素数,确定为循环系数矩阵的产生因子。
11.如权利要求9所述的装置,其特征在于,所述确定模块,具体用于根据确定所述循环系数矩阵中的每个元素的值,其中,ci,j为该循环系数矩阵中第i行第j列的元素的值,q为循环系数矩阵的产生因子。
12.如权利要求9所述的装置,其特征在于,所述确定模块,具体用于根据确定基矩阵中每个元素的值,其中,di,j为基矩中第i行第j列的元素的值,bi,j为覆盖矩阵中第i行第j列的元素的值,ci,j为循环系数矩阵中第i行第j列的元素的值。
13.如权利要求9或12所述的装置,其特征在于,所述覆盖矩阵为打孔列列重比较大的覆盖矩阵。
14.如权利要求13所述的装置,其特征在于,所述覆盖矩阵为:
15.如权利要求9所述的装置,其特征在于,所述确定获得模块,具体用于根据
确定主校验矩阵,其中di,j为该基矩中第i行第j列的元素的值,ci,j为该循环系数矩阵中第i行第j列的元素的值。
16.如权利要求9所述的装置,其特征在于,所述确定模块,还用于根据确定副校验矩阵中的每个元素的值,其中,Hbi,j为该副校验矩阵中第i行第j列的元素的值,L为确定的替换矩阵的阶数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710014284.3A CN108288967A (zh) | 2017-01-09 | 2017-01-09 | 一种低密度奇偶校验ldpc码构造方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710014284.3A CN108288967A (zh) | 2017-01-09 | 2017-01-09 | 一种低密度奇偶校验ldpc码构造方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108288967A true CN108288967A (zh) | 2018-07-17 |
Family
ID=62819357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710014284.3A Withdrawn CN108288967A (zh) | 2017-01-09 | 2017-01-09 | 一种低密度奇偶校验ldpc码构造方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108288967A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116488662A (zh) * | 2023-06-21 | 2023-07-25 | 电子科技大学 | 基于线性变换的f-ldpc码校验矩阵重量压缩方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141133A (zh) * | 2007-10-23 | 2008-03-12 | 北京邮电大学 | 一种结构化低密度校验码的编码方法 |
US20100058139A1 (en) * | 2008-08-27 | 2010-03-04 | Yige Wang | Method for constructing large-girth quasi-cyclic low-density parity-check codes |
CN102457286A (zh) * | 2010-10-21 | 2012-05-16 | 航天信息股份有限公司 | 准循环ldpc码编码方法、装置及校验矩阵生成方法 |
CN103795424A (zh) * | 2014-02-25 | 2014-05-14 | 清华大学 | 一种qc-ldpc码的校验矩阵的构造方法 |
US20140223254A1 (en) * | 2013-02-01 | 2014-08-07 | Samsung Electronics Co., Ltd. | Qc-ldpc convolutional codes enabling low power trellis-based decoders |
US9236886B1 (en) * | 2013-03-15 | 2016-01-12 | Sandisk Enterprise Ip Llc | Universal and reconfigurable QC-LDPC encoder |
CN105915232A (zh) * | 2016-04-08 | 2016-08-31 | 西安电子科技大学 | 一种结构化的多元速率兼容ldpc码构造方法 |
-
2017
- 2017-01-09 CN CN201710014284.3A patent/CN108288967A/zh not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141133A (zh) * | 2007-10-23 | 2008-03-12 | 北京邮电大学 | 一种结构化低密度校验码的编码方法 |
US20100058139A1 (en) * | 2008-08-27 | 2010-03-04 | Yige Wang | Method for constructing large-girth quasi-cyclic low-density parity-check codes |
CN102457286A (zh) * | 2010-10-21 | 2012-05-16 | 航天信息股份有限公司 | 准循环ldpc码编码方法、装置及校验矩阵生成方法 |
US20140223254A1 (en) * | 2013-02-01 | 2014-08-07 | Samsung Electronics Co., Ltd. | Qc-ldpc convolutional codes enabling low power trellis-based decoders |
US9236886B1 (en) * | 2013-03-15 | 2016-01-12 | Sandisk Enterprise Ip Llc | Universal and reconfigurable QC-LDPC encoder |
CN103795424A (zh) * | 2014-02-25 | 2014-05-14 | 清华大学 | 一种qc-ldpc码的校验矩阵的构造方法 |
CN105915232A (zh) * | 2016-04-08 | 2016-08-31 | 西安电子科技大学 | 一种结构化的多元速率兼容ldpc码构造方法 |
Non-Patent Citations (3)
Title |
---|
DAVID G. M. MITCHELL等: "Spatially Coupled LDPC Codes Constructed From Protographs", 《IEEE TRANSACTIONS ON INFORMATION THEORY》 * |
GUOJUN HAN等: "Construction of Irregular QC-LDPC Codes via Masking with ACE Optimization", 《IEEE COMMUNICATIONS LETTERS》 * |
刘冰等: "多进制准循环LDPC码满秩校验矩阵构造及系统编码", 《系统工程与电子技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116488662A (zh) * | 2023-06-21 | 2023-07-25 | 电子科技大学 | 基于线性变换的f-ldpc码校验矩阵重量压缩方法 |
CN116488662B (zh) * | 2023-06-21 | 2023-10-03 | 电子科技大学 | 基于线性变换的f-ldpc码校验矩阵重量压缩方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106685586B (zh) | 生成用于在信道中传输的低密度奇偶校验码的方法及设备 | |
CN108234081B (zh) | 编码方法及装置 | |
WO2017121334A1 (zh) | 一种数据处理的方法和装置 | |
Zhang et al. | Model division multiple access for semantic communications | |
CN101911498A (zh) | 使用分组码对可变长度的信息进行信道编码的方法 | |
CN107888331A (zh) | 数据发送方法、装置及信源 | |
CN103746774A (zh) | 一种高效数据读取的容错编码方法 | |
CN105373823A (zh) | 动态二维码的生成、读取方法及其装置 | |
CN109067408A (zh) | 一种原模图ldpc码的设计方法 | |
CN108429599A (zh) | 用于通信系统中的数据处理的方法和设备 | |
CN107786306A (zh) | 用于多点协同通信系统的低码率ldpc码字结构和编码方法 | |
CN108288967A (zh) | 一种低密度奇偶校验ldpc码构造方法及装置 | |
KR20180117042A (ko) | 희소 코딩을 이용한 정보 전송 방법 및 장치 | |
CN108270451A (zh) | 一种应用于量子通信系统的准循环量子ldpc码的增强方法 | |
CN112996099B (zh) | 抗时隙删除的极化时隙aloha的发送与接收方法 | |
CN107733439A (zh) | 一种ldpc编码方法、编码装置及通信设备 | |
CN108737020A (zh) | 一种信息承载方法及装置 | |
CN102594506B (zh) | 基于码结构的交叠编码序列的处理方法和装置 | |
CN103117749B (zh) | 低密度奇偶校验码的校验矩阵构造和编解码方法及装置 | |
CN115858230A (zh) | 最大距离可分离码的构造、修复方法及相关装置 | |
CN108988871A (zh) | 一种编码方法及装置、计算机存储介质 | |
CN110071780A (zh) | 应用于低密度奇偶校检ldpc的校验方法及装置、通信设备 | |
Prayogo et al. | Evaluation of LDPC code and polar code coding scheme in 5G technology–massive machine type communication | |
CN104144277A (zh) | 一种多路图像无损隐藏传输方法 | |
TWI686701B (zh) | 針對新無線電之低密度同位檢查基礎圖使用技術 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180717 |