CN112272029B - 一种基于dvb-s2标准的ldpc译码器实现方法 - Google Patents

一种基于dvb-s2标准的ldpc译码器实现方法 Download PDF

Info

Publication number
CN112272029B
CN112272029B CN202011141711.2A CN202011141711A CN112272029B CN 112272029 B CN112272029 B CN 112272029B CN 202011141711 A CN202011141711 A CN 202011141711A CN 112272029 B CN112272029 B CN 112272029B
Authority
CN
China
Prior art keywords
check
node
variable
nodes
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.)
Active
Application number
CN202011141711.2A
Other languages
English (en)
Other versions
CN112272029A (zh
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.)
Xian Institute of Space Radio Technology
Original Assignee
Xian Institute of Space Radio Technology
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 Xian Institute of Space Radio Technology filed Critical Xian Institute of Space Radio Technology
Priority to CN202011141711.2A priority Critical patent/CN112272029B/zh
Publication of CN112272029A publication Critical patent/CN112272029A/zh
Application granted granted Critical
Publication of CN112272029B publication Critical patent/CN112272029B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
    • 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)
  • 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标准的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次迭代时,计算变量节点传给校验节点的消息:
其中,α为修正因子,R(j)\i表示除i外与校验节点j相连的变量节点的集合,表示i外与校验节点j相连的变量节点的符号位的乘积,/>表示取i外与校验节点j相连的变量节点中绝对值的最小值;
对所有的变量节点i和其相邻的校验节点j∈C(i),第l次迭代时,计算校验节点传给变量节点的消息:
其中,Ci\j表示除j外与变量节点i相连的校验节点的集合,表示除j外与变量节点i相连的校验节点的乘积。
进一步的,步骤(3.2)计算结果进行存储时,通过两组RAM存储译码过程中的迭代信息,即第一组RAM和第二组RAM,在迭代过程中,计算校验节点CNPU时,从第二组RAM读取数据,计算完毕之后存入第一组RAM中;计算变量节点VNPU时,从第一组RAM读取数据,计算完毕之后存入第二组RAM中,VNPU与CNPU同时计算。
进一步的,步骤(3.4)判决输出的实现方式如下:
对所有变量节点计算硬判决消息:
若L(l)(qi)>0,则否则/>
其中,Ci表示与变量节点i相连的校验节点的集合,表示与变量节点i相连的校验节点的乘积,/>表示硬判决结果。
本发明相对于现有技术具有如下优点:
本发明中对校验矩阵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次迭代时,计算变量节点传给校验节点的消息:
其中,α为修正因子,R(j)\i表示除i外与校验节点j相连的变量节点的集合,表示i外与校验节点j相连的变量节点的符号位的乘积,/>表示取i外与校验节点j相连的变量节点中绝对值的最小值;
对所有的变量节点i和其相邻的校验节点j∈C(i),第l次迭代时,计算校验节点传给变量节点的消息:
Ci\j表示除j外与变量节点i相连的校验节点的集合,表示除j外与变量节点i相连的校验节点的乘积。
计算结果进行存储时,通过两组RAM存储译码过程中的迭代信息,即第一组RAM和第二组RAM,在迭代过程中,计算校验节点CNPU时,从第二组RAM读取数据,计算完毕之后存入第一组RAM中;计算变量节点VNPU时,从第一组RAM读取数据,计算完毕之后存入第二组RAM中,VNPU与CNPU同时计算。
(3.3)重复(3.2)iter_max次,迭代结束。
(3.4)对所有变量节点计算硬判决消息:
若L(l)(qi)>0,则否则/>
其中,Ci表示与变量节点i相连的校验节点的集合,表示与变量节点i相连的校验节点的乘积,/>表示硬判决结果。
实施例:
设码长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 (7)

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;
(2)对接收到的译码软信息的校验位部分列变换,具体为:列变换为0,q,2q,…,359q,1,q+1,2q+1,…,359q+1;
(3)对软信息采用最小和算法进行译码,从而实现基于DVB-S2标准的LDPC译码器。
2.根据权利要求1所述的一种基于DVB-S2标准的LDPC译码器实现方法,其特征在于:参数q的具体取值如下:
3.根据权利要求1所述的一种基于DVB-S2标准的LDPC译码器实现方法,其特征在于:所述步骤(3)对软信息采用最小和算法进行译码,具体为:
(3.1)初始化:将软信息作为变量节点传给校验节点的初始消息;
(3.2)并行计算校验节点CNPU与变量节点VNPU,计算得到的结果进行存储;
(3.3)重复步骤(3.2)中的并行计算,直到达到设定的迭代次数为止;
(3.4)判决输出:对所有变量节点计算硬判决后输出。
4.根据权利要求3所述的一种基于DVB-S2标准的LDPC译码器实现方法,其特征在于:所述步骤(3.1)初始化,将软信息作为变量节点传给校验节点的初始消息,具体为:
计算信道传递给变量节点的初始概率似然比消息L(pi),变量节点传给校验节点的初始消息为:
L(0)(qij)=L(pi);
其中,L(qij)为变量节点传给校验节点的消息。
5.根据权利要求4所述的一种基于DVB-S2标准的LDPC译码器实现方法,其特征在于:所述步骤(3.2)并行计算校验节点CNPU与变量节点VNPU,具体为:
计算校验节点CNPU时,对所有的校验节点j和其相邻的变量节点i∈R(j),第l次迭代时,计算变量节点传给校验节点的消息:
其中,α为修正因子,R(j)\i表示除i外与校验节点j相连的变量节点的集合,表示i外与校验节点j相连的变量节点的符号位的乘积,/>表示取i外与校验节点j相连的变量节点中绝对值的最小值;
对所有的变量节点i和其相邻的校验节点j∈C(i),第l次迭代时,计算校验节点传给变量节点的消息:
其中,Ci\j表示除j外与变量节点i相连的校验节点的集合,表示除j外与变量节点i相连的校验节点的乘积。
6.根据权利要求5所述的一种基于DVB-S2标准的LDPC译码器实现方法,其特征在于:步骤(3.2)计算结果进行存储时,通过两组RAM存储译码过程中的迭代信息,即第一组RAM和第二组RAM,在迭代过程中,计算校验节点CNPU时,从第二组RAM读取数据,计算完毕之后存入第一组RAM中;计算变量节点VNPU时,从第一组RAM读取数据,计算完毕之后存入第二组RAM中,VNPU与CNPU同时计算。
7.根据权利要求6所述的一种基于DVB-S2标准的LDPC译码器实现方法,其特征在于:步骤(3.4)判决输出的实现方式如下:
对所有变量节点计算硬判决消息:
若L(l)(qi)>0,则否则/>
其中,Ci表示与变量节点i相连的校验节点的集合,表示与变量节点i相连的校验节点的乘积,/>表示硬判决结果。
CN202011141711.2A 2020-10-22 2020-10-22 一种基于dvb-s2标准的ldpc译码器实现方法 Active CN112272029B (zh)

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 CN112272029A (zh) 2021-01-26
CN112272029B true 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 (6)

* Cited by examiner, † Cited by third party
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 复旦大学 一种低密度奇偶校验码矩阵的设计方法
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实现架构及译码方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102178262B1 (ko) * 2014-07-08 2020-11-12 삼성전자주식회사 패리티 검사 행렬 생성 방법, 그를 이용한 부호화 장치, 부호화 방법, 복호화 장치 및 복호화 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
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 复旦大学 一种低密度奇偶校验码矩阵的设计方法
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
CN112272029A (zh) 2021-01-26

Similar Documents

Publication Publication Date Title
CN102545913B (zh) 一种迭代译码方法及系统
CN101154948B (zh) 解码代码的方法和解码器
CN100589357C (zh) 基于单位阵及其循环移位阵的ldpc码向量译码装置和方法
WO2010073922A1 (ja) 誤り訂正符号化装置、復号装置、符号化方法、復号方法、及びそのプログラム
CN102664638A (zh) 基于分层nms算法的多码长ldpc码译码器的fpga实现方法
CN101777921B (zh) 用于显式存储片上系统的结构化ldpc码译码方法及装置
CN101803210A (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
CN110233628B (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
CN100544212C (zh) 高速的减少存储需求的低密度校验码解码器
CN102412844B (zh) 一种ira类ldpc码的译码方法及译码装置
CN101800627B (zh) 一种多码率兼容的高速ldpc编码器的硬件实现
CN101420279B (zh) 用于移动多媒体广播中的高速ldpc译码器及译码方法
CN101262230A (zh) 一种低密度奇偶校验码矩阵的设计方法
CN112272029B (zh) 一种基于dvb-s2标准的ldpc译码器实现方法
CN102064835A (zh) 适用于准循环ldpc译码的译码器
CN108809327B (zh) Ldpc译码方法
CN102594369B (zh) 基于fpga的准循环低密度校验码译码器及译码方法
CN100578945C (zh) 一种ldpc码的译码器装置及译码方法
CN107615666A (zh) Ldpc截短码的译码方法和译码设备
CN101997552A (zh) 低编码复杂度多元非规则ldpc码的设计
CN102315899A (zh) 一种低密度奇偶校验码的准循环译码方法
TW201240355A (en) Readdressing decoder for quasi-cyclic low-density parity-check and method thereof

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