CN112272029A - 一种基于dvb-s2标准的ldpc译码器实现方法 - Google Patents
一种基于dvb-s2标准的ldpc译码器实现方法 Download PDFInfo
- Publication number
- CN112272029A CN112272029A CN202011141711.2A CN202011141711A CN112272029A CN 112272029 A CN112272029 A CN 112272029A CN 202011141711 A CN202011141711 A CN 202011141711A CN 112272029 A CN112272029 A CN 112272029A
- Authority
- CN
- China
- Prior art keywords
- check
- node
- variable
- ldpc decoder
- matrix
- 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
- 238000000034 method Methods 0.000 title claims abstract description 32
- 239000011159 matrix material Substances 0.000 claims abstract description 66
- 238000006243 chemical reaction Methods 0.000 claims abstract description 4
- 230000009466 transformation Effects 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 230000001131 transforming effect Effects 0.000 claims description 6
- 238000012804 iterative process Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 5
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000011426 transformation method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000001228 spectrum Methods 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/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
- H03M13/1165—QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
-
- 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)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提出了一种基于DVB‑S2标准的LDPC译码器实现方法,该方法通过行变换与列变换,将DVB‑S2标准的LDPC码杂乱的H矩阵变换为一个QC矩阵,简化了译码器中软信息的存储与调度,且不影响译码性能。
Description
技术领域
本发明涉及一种基于DVB-S2标准的LDPC译码器实现方法,属于电子通信领域。
背景技术
基于DVB-S2标准的LDPC码有更大的接入速率、更高的频谱效率、更强的纠错能力,更高的数据传输速率,更高的数据吞吐量。在现有的DVB-S2实现方案中,由于DVB-S2标准的LDPC码码长较长,校验矩阵规模宏大,在高吞吐率要求下,迭代过程中矩阵的调度与存储非常复杂,大量的RAM在读写过程中的冲突不容易避免。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提出了一种基于DVB-S2标准的LDPC译码器实现方法,可以降低实现的复杂度,易于存储与调度迭代过程中的软信息,避免大量的RAM在读写过程中的冲突,同时不会影响译码性能,思路清晰,原理清楚,容易实现。
本发明的技术方案是:对于DVB-S2标准的LDPC码,将校验矩阵H划分为H1与H2两个部分,H1为信息位部分,H2为校验位部分,将H矩阵行变化之后,再将H2进行列变换,这样整个H矩阵都变换为QC矩阵,同时将校验位软信息进行同样的列变化。
具体的,本发明提出的一种基于DVB-S2标准的LDPC译码器实现方法,步骤如下:
(1)将校验矩阵H变换为QC矩阵;
(2)对接收到的译码软信息的校验位部分列变换;
(3)对软信息采用最小和算法进行译码,从而实现基于DVB-S2标准的LDPC译码器。
进一步的,所述步骤(1)将校验矩阵H变换为QC矩阵,具体包括如下步骤:
(1.1)将H矩阵分为两个部分[H1 H2],其中H1为信息位部分,H2为校验位部分,即H1的列宽与信息位长相同,H2的列宽与校验位长相同;将H矩阵划分为m*n的子矩阵,每个子矩阵都为360*360;
(1.2)行变换:将校验矩阵H行变化为:0,q,2q,…359q,1,q+1,2q+1,…,359q+1,…,其中q是与码率、码长相关的参数;
(1.3)列变换:将校验位部分H2的列变化为:
0,q,2q,…,359q,1,q+1,2q+1,…,359q+1。
进一步的,参数q的具体取值如下:
码率 | q值(码长N=64800) | q值(码长N=16200) |
1/4 | 135 | 36 |
1/3 | 120 | 30 |
2/5 | 108 | 27 |
1/2 | 90 | 25 |
3/5 | 72 | 18 |
2/3 | 60 | 15 |
3/4 | 45 | 12 |
4/5 | 36 | 10 |
5/6 | 30 | 8 |
8/9 | 20 | 5 |
9/10 | 18 | NA |
。
进一步的,所述步骤(2)对接收到的译码软信息的校验位部分列变换,具体为:列变换为0,q,2q,…,359q,1,q+1,2q+1,…,359q+1。
进一步的,所述步骤(3)对软信息采用最小和算法进行译码,具体为:
(3.1)初始化:将软信息作为变量节点传给校验节点的初始消息;
(3.2)并行计算校验节点CNPU与变量节点VNPU,计算得到的结果进行存储;
(3.3)重复步骤(3.2)中的并行计算,直到达到设定的迭代次数为止;
(3.4)判决输出:对所有变量节点计算硬判决后输出。
进一步的,所述步骤(3.1)初始化,将软信息作为变量节点传给校验节点的初始消息,具体为:
计算信道传递给变量节点的初始概率似然比消息L(pi),变量节点传给校验节点的初始消息为:
L(0)(qij)=L(pi);
其中,L(qij)变量节点传给校验节点的消息。
进一步的,所述步骤(3.2)并行计算校验节点CNPU与变量节点VNPU,具体为:
计算校验节点CNPU时,对所有的校验节点j和其相邻的变量节点i∈R(j),第l次迭代时,计算变量节点传给校验节点的消息:
对所有的变量节点i和其相邻的校验节点j∈C(i),第l次迭代时,计算校验节点传给变量节点的消息:
进一步的,步骤(3.2)计算结果进行存储时,通过两组RAM存储译码过程中的迭代信息,即第一组RAM和第二组RAM,在迭代过程中,计算校验节点CNPU时,从第二组RAM读取数据,计算完毕之后存入第一组RAM中;计算变量节点VNPU时,从第一组RAM读取数据,计算完毕之后存入第二组RAM中,VNPU与CNPU同时计算。
进一步的,步骤(3.4)判决输出的实现方式如下:
对所有变量节点计算硬判决消息:
本发明相对于现有技术具有如下优点:
本发明中对校验矩阵H与译码软信息变换之后,H矩阵成为QC矩阵。在译码过程中,由于每个子矩阵皆为循环矩阵,非零的子矩阵中每行或者每列有1~n个‘1’。在迭代过程中,每一个非零的子矩阵都要占用1~n个RAM用来存储迭代过程中软信息,对于循环矩阵,读写RAM时地址是连续的,易于存储与调度,可以避免大量的RAM在读写过程中的冲突。实现过程简单,并且不会影响译码性能。
附图说明
图1为本发明中最小和算法方法流程图;
图2为DVB-S2标准下码长为64800、码率为0.5的LDPC码校验矩阵变换之前的H1矩阵示意图;
图3为变换之前的H2矩阵示意图;
图4为行变换之后的H1矩阵示意图;
图5为行变换之后的H2矩阵示意图;
图6为列变换之后的H2矩阵示意图。
具体实施方式
下面结合附图和具体实施例对本发明作详细介绍。
本发明的具体步骤如下:
(1)对校验矩阵H进行以下操作变换为QC矩阵:
(1.1)将H矩阵分为两个部分[H1 H2],其中H1为信息位部分,H2为校验位部分,即H1的列宽与信息位长相同,H2的列宽与校验位长相同;将H矩阵划分为m*n的子矩阵,每个子矩阵都为360*360;
(1.2)行变换:将校验矩阵H行变化为:0,q,2q,…359q,1,q+1,2q+1,…,359q+1,…,其中q是与码率与码长相关的参数,如下表所示;
码率 | q值(码长N=64800) | q值(码长N=16200) |
1/4 | 135 | 36 |
1/3 | 120 | 30 |
2/5 | 108 | 27 |
1/2 | 90 | 25 |
3/5 | 72 | 18 |
2/3 | 60 | 15 |
3/4 | 45 | 12 |
4/5 | 36 | 10 |
5/6 | 30 | 8 |
8/9 | 20 | 5 |
9/10 | 18 | NA |
(1.3)列变换:将H2的列变化为:0,q,2q,…,359q,1,q+1,2q+1,…,359q+1,q值与(1.2)相同。
(2)对接收到的译码软信息进行以下操作:
(2.1)对软信息的校验部分进行列变换,变换方法与(1.3)一致,这样软信息与校验矩阵位置上对应。
具体为:列变换为0,q,2q,…,359q,1,q+1,2q+1,…,359q+1。
(3)对软信息采用最小和算法进行译码,从而实现基于DVB-S2标准的LDPC译码器,具体如图1所示:
(3.1)初始化。计算信道传递给变量节点的初始概率似然比消息L(pi),变量节点传给校验节点的初始消息为:
L(0)(qij)=L(pi)
L(qij)为变量节点传给校验节点的消息。
(3.2)并行计算校验节点(CNPU)与变量节点(VNPU)。计算校验节点CNPU时,对所有的校验节点j和其相邻的变量节点i∈R(j),第l次迭代时,计算变量节点传给校验节点的消息:
对所有的变量节点i和其相邻的校验节点j∈C(i),第l次迭代时,计算校验节点传给变量节点的消息:
计算结果进行存储时,通过两组RAM存储译码过程中的迭代信息,即第一组RAM和第二组RAM,在迭代过程中,计算校验节点CNPU时,从第二组RAM读取数据,计算完毕之后存入第一组RAM中;计算变量节点VNPU时,从第一组RAM读取数据,计算完毕之后存入第二组RAM中,VNPU与CNPU同时计算。
(3.3)重复(3.2)iter_max次,迭代结束。
(3.4)对所有变量节点计算硬判决消息:
实施例:
设码长N=64800,码率0.5。
(1)对校验矩阵H进行以下操作变换为QC矩阵:
(1.1)将H矩阵(32400*64800)分为两个部分[H1 H2],H1为左边32400*32400,H2为右边32400*32400,图2为H1矩阵,图3为H2矩阵。
将母矩阵H划分为90*180个子矩阵,每个子矩阵大小为360*360,图2~图6中的方格子即为子矩阵划分。
(1.2)行变换:将校验矩阵H行变化为:0,q,2q,…359q,1,q+1,2q+1,…,359q+1,…,其中q=90。行变换之后H1矩阵为图4,H2矩阵为图5。
(1.3)列变换:将H2的列变化为:0,q,2q,…,359q,1,q+1,2q+1,…,359q+1,列变换之后的H2矩阵为图6。图3与图6不一样,变换之后的H2矩阵(图6)为双对角线矩阵,每个子矩阵中每行或者每列只有1个非零值,这与变换之前的(图3)不一致,变换之前每个子矩阵中每行或者每列有2个非零值。
(2)对接收到的译码软信息进行以下操作:
(2.1)将软信息的校验部分列变换,译码器接收到的软信息长度为64800,前32400为信息位,后32400为校验位。变换方法与(1.3)一致,这样软信息与校验矩阵位置上对应。
(3)采用最小和算法进行译码,迭代次数iter_max选取32。
本发明对校验矩阵与接收软信息的变换是等价变换,不会对性能造成任何影响。本发明的方法通过等价变换将H矩阵变换为QC矩阵,降低实现的复杂度,可以避免大量的RAM在读写过程中的冲突。
本发明未详细说明部分属本领域技术人员公知技术。
Claims (9)
1.一种基于DVB-S2标准的LDPC译码器实现方法,其特征在于步骤如下:
(1)将校验矩阵H变换为QC矩阵;
(2)对接收到的译码软信息的校验位部分列变换;
(3)对软信息采用最小和算法进行译码,从而实现基于DVB-S2标准的LDPC译码器。
2.根据权利要求1所述的一种基于DVB-S2标准的LDPC译码器实现方法,其特征在于:所述步骤(1)将校验矩阵H变换为QC矩阵,具体包括如下步骤:
(1.1)将H矩阵分为两个部分[H1 H2],其中H1为信息位部分,H2为校验位部分,即H1的列宽与信息位长相同,H2的列宽与校验位长相同;将H矩阵划分为m*n的子矩阵,每个子矩阵都为360*360;
(1.2)行变换:将校验矩阵H行变化为:0,q,2q,…359q,1,q+1,2q+1,…,359q+1,…,其中q是与码率、码长相关的参数;
(1.3)列变换:将校验位部分H2的列变化为:
0,q,2q,…,359q,1,q+1,2q+1,…,359q+1。
4.根据权利要求1所述的一种基于DVB-S2标准的LDPC译码器实现方法,其特征在于:所述步骤(2)对接收到的译码软信息的校验位部分列变换,具体为:列变换为0,q,2q,…,359q,1,q+1,2q+1,…,359q+1。
5.根据权利要求1所述的一种基于DVB-S2标准的LDPC译码器实现方法,其特征在于:所述步骤(3)对软信息采用最小和算法进行译码,具体为:
(3.1)初始化:将软信息作为变量节点传给校验节点的初始消息;
(3.2)并行计算校验节点CNPU与变量节点VNPU,计算得到的结果进行存储;
(3.3)重复步骤(3.2)中的并行计算,直到达到设定的迭代次数为止;
(3.4)判决输出:对所有变量节点计算硬判决后输出。
6.根据权利要求5所述的一种基于DVB-S2标准的LDPC译码器实现方法,其特征在于:所述步骤(3.1)初始化,将软信息作为变量节点传给校验节点的初始消息,具体为:
计算信道传递给变量节点的初始概率似然比消息L(pi),变量节点传给校验节点的初始消息为:
L(0)(qij)=L(pi);
其中,L(qij)为变量节点传给校验节点的消息。
7.根据权利要求6所述的一种基于DVB-S2标准的LDPC译码器实现方法,其特征在于:所述步骤(3.2)并行计算校验节点CNPU与变量节点VNPU,具体为:
计算校验节点CNPU时,对所有的校验节点j和其相邻的变量节点i∈R(j),第l次迭代时,计算变量节点传给校验节点的消息:
对所有的变量节点i和其相邻的校验节点j∈C(i),第l次迭代时,计算校验节点传给变量节点的消息:
8.根据权利要求7所述的一种基于DVB-S2标准的LDPC译码器实现方法,其特征在于:步骤(3.2)计算结果进行存储时,通过两组RAM存储译码过程中的迭代信息,即第一组RAM和第二组RAM,在迭代过程中,计算校验节点CNPU时,从第二组RAM读取数据,计算完毕之后存入第一组RAM中;计算变量节点VNPU时,从第一组RAM读取数据,计算完毕之后存入第二组RAM中,VNPU与CNPU同时计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011141711.2A CN112272029B (zh) | 2020-10-22 | 2020-10-22 | 一种基于dvb-s2标准的ldpc译码器实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011141711.2A CN112272029B (zh) | 2020-10-22 | 2020-10-22 | 一种基于dvb-s2标准的ldpc译码器实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112272029A true CN112272029A (zh) | 2021-01-26 |
CN112272029B CN112272029B (zh) | 2024-04-09 |
Family
ID=74343052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011141711.2A Active CN112272029B (zh) | 2020-10-22 | 2020-10-22 | 一种基于dvb-s2标准的ldpc译码器实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112272029B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007124627A1 (fr) * | 2006-04-29 | 2007-11-08 | Timi Technologies Co., Ltd | Procédé de construction de codes ldpc, procédé de décodage et système de transmission associé |
CN101262230A (zh) * | 2008-04-24 | 2008-09-10 | 复旦大学 | 一种低密度奇偶校验码矩阵的设计方法 |
US20160013809A1 (en) * | 2014-07-08 | 2016-01-14 | Samsung Electronics Co., Ltd. | Parity check matrix generating method, encoding apparatus, encoding method, decoding apparatus and decoding method using the same |
CN106571829A (zh) * | 2016-10-27 | 2017-04-19 | 西安空间无线电技术研究所 | 一种基于fpga的高速自适应dvb‑s2 ldpc译码器及译码方法 |
CN108809327A (zh) * | 2017-05-05 | 2018-11-13 | 上海数字电视国家工程研究中心有限公司 | Ldpc译码方法 |
CN109586733A (zh) * | 2018-11-23 | 2019-04-05 | 清华大学 | 一种基于图形处理器的ldpc-bch译码方法 |
CN110278000A (zh) * | 2019-07-16 | 2019-09-24 | 南京中科晶上通信技术有限公司 | 基于dvb-s2标准的ldpc码并行译码fpga实现架构及译码方法 |
-
2020
- 2020-10-22 CN CN202011141711.2A patent/CN112272029B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007124627A1 (fr) * | 2006-04-29 | 2007-11-08 | Timi Technologies Co., Ltd | Procédé de construction de codes ldpc, procédé de décodage et système de transmission associé |
CN101262230A (zh) * | 2008-04-24 | 2008-09-10 | 复旦大学 | 一种低密度奇偶校验码矩阵的设计方法 |
US20160013809A1 (en) * | 2014-07-08 | 2016-01-14 | Samsung Electronics Co., Ltd. | Parity check matrix generating method, encoding apparatus, encoding method, decoding apparatus and decoding method using the same |
CN106571829A (zh) * | 2016-10-27 | 2017-04-19 | 西安空间无线电技术研究所 | 一种基于fpga的高速自适应dvb‑s2 ldpc译码器及译码方法 |
CN108809327A (zh) * | 2017-05-05 | 2018-11-13 | 上海数字电视国家工程研究中心有限公司 | Ldpc译码方法 |
CN109586733A (zh) * | 2018-11-23 | 2019-04-05 | 清华大学 | 一种基于图形处理器的ldpc-bch译码方法 |
CN110278000A (zh) * | 2019-07-16 | 2019-09-24 | 南京中科晶上通信技术有限公司 | 基于dvb-s2标准的ldpc码并行译码fpga实现架构及译码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112272029B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102545913B (zh) | 一种迭代译码方法及系统 | |
CN101154948B (zh) | 解码代码的方法和解码器 | |
US8205130B2 (en) | Decoding apparatus | |
WO2010073922A1 (ja) | 誤り訂正符号化装置、復号装置、符号化方法、復号方法、及びそのプログラム | |
CN101777921B (zh) | 用于显式存储片上系统的结构化ldpc码译码方法及装置 | |
CN109586732B (zh) | 中短码ldpc编解码系统和方法 | |
CN102664638A (zh) | 基于分层nms算法的多码长ldpc码译码器的fpga实现方法 | |
US8281210B1 (en) | Optimized correction factor for low-power min-sum low density parity check decoder (LDPC) | |
CN110233628B (zh) | 极化码的自适应置信传播列表译码方法 | |
US20220255560A1 (en) | Method and apparatus for vertical layered decoding of quasi-cyclic low-density parity check codes built from clusters of circulant permutation matrices | |
CN105262493A (zh) | 低密度奇偶校验码的译码方法 | |
JP5333233B2 (ja) | 復号装置、データ蓄積装置、データ通信システム、および復号方法 | |
US20110179337A1 (en) | Memory utilization method for low density parity check code, low density parity check code decoding method and decoding apparatus thereof | |
CN101800627B (zh) | 一种多码率兼容的高速ldpc编码器的硬件实现 | |
CN102412844B (zh) | 一种ira类ldpc码的译码方法及译码装置 | |
CN101420279B (zh) | 用于移动多媒体广播中的高速ldpc译码器及译码方法 | |
KR101657912B1 (ko) | 비이진 저밀도 패리티 검사 코드의 복호화 방법 | |
CN101262230A (zh) | 一种低密度奇偶校验码矩阵的设计方法 | |
CN102725964A (zh) | 一种编码方法、译码方法及编码装置、译码装置 | |
CN108809327B (zh) | Ldpc译码方法 | |
CN103401655B (zh) | 一种用ldpc译码消息存储结构进行译码的方法 | |
CN102594369B (zh) | 基于fpga的准循环低密度校验码译码器及译码方法 | |
CN112272029B (zh) | 一种基于dvb-s2标准的ldpc译码器实现方法 | |
CN101854179B (zh) | 一种应用于ldpc译码的5比特量化方法 | |
CN102315899A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |