CN110730006A - 一种用于mcu的ldpc码纠错方法及纠错模块 - Google Patents
一种用于mcu的ldpc码纠错方法及纠错模块 Download PDFInfo
- Publication number
- CN110730006A CN110730006A CN201911023084.XA CN201911023084A CN110730006A CN 110730006 A CN110730006 A CN 110730006A CN 201911023084 A CN201911023084 A CN 201911023084A CN 110730006 A CN110730006 A CN 110730006A
- Authority
- CN
- China
- Prior art keywords
- matrix
- ldpc
- code
- error correction
- code word
- 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
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/1177—Regular LDPC codes with parity-check matrices wherein all rows and columns have the same row weight and column weight, respectively
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
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
本发明提供了一种用于MCU的LDPC码纠错方法,其特征在于:包括如下步骤:S1步,根据设定LDPC码长和码率构造LDPC的校验矩阵H,由校验矩阵H转换得到生成矩阵G,并将校验矩阵H和生成矩阵G进行储存;S2步,输入长度为k的信息序列X;基于生成矩阵G,将信息序列X进行编码得到码字Y;将码字Y编制成码字信息并向外传输;S3步,接收码字信息,得到带噪码字Y′;使用深度学习译码法将带噪码字Y′直接译码成码字X。该方法具有更强的纠错能力,使MCU具有更高的可靠性,降低了译码的迭代次数和复杂度。本发明还提供一种实现上述LDPC码纠错方法的纠错模块。
Description
技术领域
本发明涉及电子通信技术领域,更具体地说,涉及一种用于MCU的LDPC码纠错方法及纠错模块。
背景技术
微控制单元(Microcontroller Unit;MCU),又称单片微型计算机(Single ChipMicrocomputer)或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机。为了提高通信的可靠性,MCU内部配备了误码校正(ECC)模块,传统的ECC模块使用的是汉明码和BCH码来纠正错误。随着MCU的不断发展,人们正在将MCU用于各种各样的新型和更加复杂的计算任务;但是汉明码和BCH码的纠错能力有限,无法满足更加复杂的计算任务和更加庞大的数据通讯量。
低密度奇偶检验码(Low Density Parity Check Code;LDPC)是一类性能逼近香农限的好码,由于它具有纠错能力强、译码复杂度低等诸多优点,是取代汉明码和BCH码的理想方案,但是LDPC码在MCU技术领域上的应用仍然空白。
发明内容
为克服现有技术中的缺点与不足,本发明的一个目的在于提供一种用于MCU的LDPC码纠错方法;该方法具有更强的纠错能力,使MCU具有更高的可靠性,降低了译码的迭代次数和复杂度。本发明的另一个目的在于提供一种实现上述LDPC码纠错方法、纠错能力强、可靠性高、可降低译码迭代次数和复杂度的LDPC码纠错模块。
为了达到上述目的,本发明通过下述技术方案予以实现:一种用于MCU的LDPC码纠错方法,其特征在于:包括如下步骤:
S1步,根据设定LDPC码长和码率构造LDPC的校验矩阵H,由校验矩阵H转换得到生成矩阵G,并将校验矩阵H和生成矩阵G进行储存;
S2步,输入长度为k的信息序列X;基于生成矩阵G,将信息序列X进行编码得到码字Y;将码字Y编制成码字信息并向外传输;
S3步,接收码字信息,得到带噪码字Y′;使用深度学习译码法将带噪码字Y′直接译码成码字X。
优选地,所述S1步中,校验矩阵H的构造方法是:设定LDPC码长为n,校验位长度为m,码率为R=k/n;利用maykay构造法,构造出校验矩阵H。
优选地,所述S1步中,由校验矩阵H转换得到生成矩阵G,是指:将校验矩阵H的右半部分H2求逆,再乘校验矩阵H的左半部分H1,得到生成矩阵G的右半部分G2;生成矩阵G的左半部分G1设定为大小为k×k的单位矩阵I:
其中,生成矩阵G的大小为k×n。
优选地,所述S2步中,基于生成矩阵G,将信息序列X与生成矩阵G相乘得到长度为n的码字Y:
Y=X×G。
优选地,所述S3步中,使用深度学习译码法将带噪码字Y′直接译码成码字X,是指:包括以下分步骤:
S31步,构建深度学习模型:采用DNN模型,设定模型输入层维度、隐藏层层数以及各层网络的神经元个数、输出层神经元个数,在隐藏层的输出部分添加激活函数,设定模型的损失函数;
S32步,训练模型:构建数据集,数据集为多组的带噪码字Y′,标签为原始码字的信息序列X;将数据集按设定比例分为训练集和验证集;将训练集输入到DNN模型,通过反向传播算法来更新模型的参数使损失函数收敛,当验证集的准确率和损失函数趋于稳定时停止训练,保存模型;
S33步,将保存的模型作为纠错模型,带噪码字Y′通过纠错模型后译码为码字X。
一种实现上述用于MCU的LDPC码纠错方法的LDPC码纠错模块,其特征在于:包括:
LDPC矩阵储存模块,用于根据设定LDPC码长和码率构造LDPC的校验矩阵H,由校验矩阵H转换得到生成矩阵G,并将校验矩阵H和生成矩阵G进行储存;
LDPC编码模块,用于基于生成矩阵G,将长度为k的信息序列X进行编码得到码字Y;
以及LDPC译码模块,用于接收带噪码字Y′,使用深度学习译码法将带噪码字Y′直接译码成码字X。
优选地,所述LDPC矩阵储存模块中,设定LDPC码长为n,校验位长度为m,码率为R=k/n;利用maykay构造法,构造出校验矩阵H。
优选地,所述LDPC矩阵储存模块中,由校验矩阵H转换得到生成矩阵G,是指:将校验矩阵H的右半部分H2求逆,再乘校验矩阵H的左半部分H1,得到生成矩阵G的右半部分G2;生成矩阵G的左半部分G1设定为大小为k×k的单位矩阵I:
其中,生成矩阵G的大小为k×n。
优选地,所述LDPC编码模块中,基于生成矩阵G,将信息序列X与生成矩阵G相乘得到长度为n的码字Y:
Y=X×G。
与现有技术相比,本发明具有如下优点与有益效果:
1、相比于传统方式采用汉明码和BCH码,本发明使用LDPC码作为差错控制码,在相同码长和码率的条件下具有更强的纠错能力,使MCU具有更高的可靠性;
2、本发明使用深度神经网络译码,相比传统的BP迭代译码进一步提升了LDPC的性能,并且降低了译码的迭代次数和复杂度。
附图说明
图1是本发明用于MCU的LDPC码纠错方法的流程图;
图2是本发明用于MCU的LDPC码纠错模块的结构图;
图3是实施例中LDPC码的深度神经网络结构图;
图4是实施例中LDPC码与传统BCH码的性能比较图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细的描述。
实施例一
本实施例一种用于MCU的LDPC码纠错方法,其流程如图1所示,包括如下步骤:
S1步,根据设定LDPC码长和码率构造LDPC的校验矩阵H,由校验矩阵H转换得到生成矩阵G,并将校验矩阵H和生成矩阵G进行储存。
具体地说,设定LDPC码长为n,待输入信息序列X的长度为k,校验位长度为m,码率为R=k/n;利用maykay构造法,构造出校验矩阵H。
由校验矩阵H转换得到生成矩阵G,是指:将校验矩阵H的右半部分H2求逆,再乘校验矩阵H的左半部分H1,得到生成矩阵G的右半部分G2;生成矩阵G的左半部分G1设定为大小为k×k的单位矩阵I:
其中,生成矩阵G的大小为k×n。
S2步,输入长度为k的信息序列X;基于生成矩阵G,将信息序列X进行编码得到码字Y;将码字Y编制成码字信息并向外传输。
具体地说,基于生成矩阵G,将信息序列X与生成矩阵G相乘得到长度为n的码字Y:
Y=X×G。
S3步,接收码字信息,得到带噪码字Y′;使用深度学习译码法将带噪码字Y′直接译码成码字X。
具体地说,使用深度学习译码法将带噪码字Y′直接译码成码字X,是指:包括以下分步骤:
S31步,构建深度学习模型:采用DNN模型,设定模型输入层维度、隐藏层层数以及各层网络的神经元个数、输出层神经元个数,在隐藏层的输出部分添加激活函数,设定模型的损失函数;
S32步,训练模型:构建数据集,数据集为多组的带噪码字Y′,标签为原始码字的信息序列X;将数据集按设定比例分为训练集和验证集;将训练集输入到DNN模型,通过反向传播算法来更新模型的参数使损失函数收敛,当验证集的准确率和损失函数趋于稳定时停止训练,保存模型;
S33步,将保存的模型作为纠错模型,带噪码字Y′通过纠错模型后译码为码字X。
相比于传统方式采用汉明码和BCH码,本发明使用LDPC码作为差错控制码,在相同码长和码率的条件下具有更强的纠错能力,使MCU具有更高的可靠性;本发明使用深度神经网络译码,相比传统的BP迭代译码进一步提升了LDPC的性能,并且降低了译码的迭代次数和复杂度。
为实现上述LDPC码纠错方法,本实施例提供一种LDPC码纠错模块,其结构如图2所示,包括:
LDPC矩阵储存模块,用于根据设定LDPC码长和码率构造LDPC的校验矩阵H,由校验矩阵H转换得到生成矩阵G,并将校验矩阵H和生成矩阵G进行储存;
LDPC编码模块,用于基于生成矩阵G,将长度为k的信息序列X进行编码得到码字Y;
以及LDPC译码模块,用于接收带噪码字Y′,使用深度学习译码法将带噪码字Y′直接译码成码字X。
具体地说,所述LDPC矩阵储存模块中,设定LDPC码长为n,校验位长度为m,码率为R=k/n;利用maykay构造法,构造出校验矩阵H。
所述LDPC矩阵储存模块中,由校验矩阵H转换得到生成矩阵G,是指:将校验矩阵H的右半部分H2求逆,再乘校验矩阵H的左半部分H1,得到生成矩阵G的右半部分G2;生成矩阵G的左半部分G1设定为大小为k×k的单位矩阵I:
其中,生成矩阵G的大小为k×n。
所述LDPC编码模块中,基于生成矩阵G,将信息序列X与生成矩阵G相乘得到长度为n的码字Y:
Y=X×G。
实施例二
本实施例以码率为7/15的LDPC码为例进行来说明。一种用于MCU的LDPC码纠错方法,包括如下步骤:
S1步,设定LDPC码长n为15bit,待输入信息序列X的长度k为7bit,校验位长度m为8bit,码率R=7/15;根据码长和码率使用maykay构造法构造LDPC的校验矩阵H,维度为8×15。
将校验矩阵H转换为对应的生成矩阵G,生成矩阵G维度7×15。
S2步,通过编码前长度为7的信息序列X与LDPC码生成矩阵G相乘得到编码后长度为15的码字Y;将码字Y编制成码字信息并向外传输。
S3步,接收码字信息,得到带噪码字Y′;使用深度学习译码法将码字Y′直接译码成码字X。是指包括以下步骤:
S31步,构建深度学习模型:采用DNN模型,设定模型输入层维度为15,隐藏层层数为3以及各层网络的神经元个数分为别2048、1024、1024,输出层神经元个数为128,模型结构如图3所示。在隐藏层的输出部分添加激活函数为ReLU函数,设定模型的损失函数为交叉熵;
S32步,训练模型:构建数据集,数据集为多组的带噪码字Y′,标签为原始码字的信息序列X;将数据集按7:3的比例分为训练集和验证集;将训练集输入到DNN模型,通过反向传播算法来更新模型的参数使损失函数收敛,当验证集的准确率和损失函数趋于稳定时停止训练,保存模型;
S33步,将保存的模型作为纠错模型,带噪码字Y′通过纠错模型后译码为码字X,完成译码。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (9)
1.一种用于MCU的LDPC码纠错方法,其特征在于:包括如下步骤:
S1步,根据设定LDPC码长和码率构造LDPC的校验矩阵H,由校验矩阵H转换得到生成矩阵G,并将校验矩阵H和生成矩阵G进行储存;
S2步,输入长度为k的信息序列X;基于生成矩阵G,将信息序列X进行编码得到码字Y;将码字Y编制成码字信息并向外传输;
S3步,接收码字信息,得到带噪码字Y′;使用深度学习译码法将带噪码字Y′直接译码成码字X。
2.根据权利要求1所述的用于MCU的LDPC码纠错方法,其特征在于:所述S1步中,校验矩阵H的构造方法是:设定LDPC码长为n,校验位长度为m,码率为R=k/n;利用maykay构造法,构造出校验矩阵H。
4.根据权利要求3所述的用于MCU的LDPC码纠错方法,其特征在于:所述S2步中,基于生成矩阵G,将信息序列X与生成矩阵G相乘得到长度为n的码字Y:
Y=X×G。
5.根据权利要求4所述的用于MCU的LDPC码纠错方法,其特征在于:所述S3步中,使用深度学习译码法将带噪码字Y′直接译码成码字X,是指:包括以下分步骤:
S31步,构建深度学习模型:采用DNN模型,设定模型输入层维度、隐藏层层数以及各层网络的神经元个数、输出层神经元个数,在隐藏层的输出部分添加激活函数,设定模型的损失函数;
S32步,训练模型:构建数据集,数据集为多组的带噪码字Y′,标签为原始码字的信息序列X;将数据集按设定比例分为训练集和验证集;将训练集输入到DNN模型,通过反向传播算法来更新模型的参数使损失函数收敛,当验证集的准确率和损失函数趋于稳定时停止训练,保存模型;
S33步,将保存的模型作为纠错模型,带噪码字Y′通过纠错模型后译码为码字X。
6.一种实现权利要求1所述的用于MCU的LDPC码纠错方法的LDPC码纠错模块,其特征在于:包括:
LDPC矩阵储存模块,用于根据设定LDPC码长和码率构造LDPC的校验矩阵H,由校验矩阵H转换得到生成矩阵G,并将校验矩阵H和生成矩阵G进行储存;
LDPC编码模块,用于基于生成矩阵G,将长度为k的信息序列X进行编码得到码字Y;
以及LDPC译码模块,用于接收带噪码字Y′,使用深度学习译码法将带噪码字Y′直接译码成码字X。
7.根据权利要求6所述的用于MCU的LDPC码纠错模块,其特征在于:所述LDPC矩阵储存模块中,设定LDPC码长为n,校验位长度为m,码率为R=k/n;利用maykay构造法,构造出校验矩阵H。
9.根据权利要求8所述的用于MCU的LDPC码纠错模块,其特征在于:所述LDPC编码模块中,基于生成矩阵G,将信息序列X与生成矩阵G相乘得到长度为n的码字Y:
Y=X×G。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911023084.XA CN110730006B (zh) | 2019-10-25 | 2019-10-25 | 一种用于mcu的ldpc码纠错方法及纠错模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911023084.XA CN110730006B (zh) | 2019-10-25 | 2019-10-25 | 一种用于mcu的ldpc码纠错方法及纠错模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110730006A true CN110730006A (zh) | 2020-01-24 |
CN110730006B CN110730006B (zh) | 2023-06-16 |
Family
ID=69223127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911023084.XA Active CN110730006B (zh) | 2019-10-25 | 2019-10-25 | 一种用于mcu的ldpc码纠错方法及纠错模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110730006B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022083400A1 (zh) * | 2020-10-20 | 2022-04-28 | 华为技术有限公司 | 一种译码方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140317477A1 (en) * | 2011-12-30 | 2014-10-23 | Huawei Technologies Co., Ltd. | Coding and Decoding Method, Apparatus, and System for Forward Error Correction |
US20160344412A1 (en) * | 2015-05-19 | 2016-11-24 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding low density parity check codes |
CN106571831A (zh) * | 2016-10-28 | 2017-04-19 | 华南理工大学 | 一种基于深度学习的ldpc硬判决译码方法及译码器 |
CN109361404A (zh) * | 2018-09-28 | 2019-02-19 | 华南理工大学 | 一种基于半监督深度学习网络的ldpc译码***及译码方法 |
CN109547032A (zh) * | 2018-10-12 | 2019-03-29 | 华南理工大学 | 一种基于深度学习的置信度传播ldpc译码方法 |
-
2019
- 2019-10-25 CN CN201911023084.XA patent/CN110730006B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140317477A1 (en) * | 2011-12-30 | 2014-10-23 | Huawei Technologies Co., Ltd. | Coding and Decoding Method, Apparatus, and System for Forward Error Correction |
US20160344412A1 (en) * | 2015-05-19 | 2016-11-24 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding low density parity check codes |
CN106571831A (zh) * | 2016-10-28 | 2017-04-19 | 华南理工大学 | 一种基于深度学习的ldpc硬判决译码方法及译码器 |
CN109361404A (zh) * | 2018-09-28 | 2019-02-19 | 华南理工大学 | 一种基于半监督深度学习网络的ldpc译码***及译码方法 |
CN109547032A (zh) * | 2018-10-12 | 2019-03-29 | 华南理工大学 | 一种基于深度学习的置信度传播ldpc译码方法 |
Non-Patent Citations (2)
Title |
---|
梅艳;张跃进;展爱云;: "基于FEC的LDPC编码在远距离光通信***中的研究" * |
马慧;吴彦鸿;王宏艳;: "低复杂度LDPC优化译码算法研究" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022083400A1 (zh) * | 2020-10-20 | 2022-04-28 | 华为技术有限公司 | 一种译码方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110730006B (zh) | 2023-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dutta et al. | A unified coded deep neural network training strategy based on generalized polydot codes | |
CN103888148B (zh) | 一种动态阈值比特翻转的ldpc码硬判决译码方法 | |
US20230208449A1 (en) | Neural networks and systems for decoding encoded data | |
CN101958720B (zh) | 缩短Turbo乘积码的编译码方法 | |
CN107026656B (zh) | 一种基于扰动的CRC辅助中短码长Polar码有效译码方法 | |
US9337955B2 (en) | Power-optimized decoding of linear codes | |
CN100589357C (zh) | 基于单位阵及其循环移位阵的ldpc码向量译码装置和方法 | |
CN105763203B (zh) | 一种基于硬可靠度信息的多元ldpc码译码方法 | |
CN111541517B (zh) | 一种列表极化码传播译码方法 | |
CN108462496B (zh) | 一种基于随机比特流更新的ldpc译码器 | |
CN115664899A (zh) | 一种基于图神经网络的信道解码方法及*** | |
WO2019096184A1 (zh) | 阶梯码的解码方法、装置及存储介质 | |
Chandra et al. | Universal decoding of quantum stabilizer codes via classical guesswork | |
Deng et al. | Reduced-complexity deep neural network-aided channel code decoder: A case study for BCH decoder | |
CN110730006B (zh) | 一种用于mcu的ldpc码纠错方法及纠错模块 | |
CN111446973B (zh) | 基于多翻转比特集合的极化码置信传播译码方法 | |
CN114978195B (zh) | 一种极化码串行抵消列表译码码字相关的错误图样集搜索方法及*** | |
CN116707707A (zh) | 联合极化检测译码方法及相关设备 | |
CN101436864B (zh) | 一种低密度奇偶校验码的译码方法及装置 | |
KR20230040702A (ko) | 극 부호를 이용하는 복호화를 위한 복호 위치 제어 정보 생성 방법 및 장치 | |
CN101854179A (zh) | 一种应用于ldpc译码的5比特量化方法 | |
CN113037296A (zh) | 一种基于ldpc级联的编译码方法及装置 | |
Xia et al. | High throughput polar decoding using two-staged adaptive successive cancellation list decoding | |
CN105474548B (zh) | 一种信道编码方法及装置 | |
CN111600613B (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 |