一种用于MCU的LDPC码纠错方法及纠错模块与流程

文档序号:19791565发布日期:2020-01-24 14:21阅读:来源:国知局

技术特征:

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。

3.根据权利要求2所述的用于mcu的ldpc码纠错方法,其特征在于:所述s1步中,由校验矩阵h转换得到生成矩阵g,是指:将校验矩阵h的右半部分h2求逆,再乘校验矩阵h的左半部分h1,得到生成矩阵g的右半部分g2;生成矩阵g的左半部分g1设定为大小为k×k的单位矩阵i:

其中,生成矩阵g的大小为k×n。

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。

8.根据权利要求7所述的用于mcu的ldpc码纠错模块,其特征在于:所述ldpc矩阵储存模块中,由校验矩阵h转换得到生成矩阵g,是指:将校验矩阵h的右半部分h2求逆,再乘校验矩阵h的左半部分h1,得到生成矩阵g的右半部分g2;生成矩阵g的左半部分g1设定为大小为k×k的单位矩阵i:

其中,生成矩阵g的大小为k×n。

9.根据权利要求8所述的用于mcu的ldpc码纠错模块,其特征在于:所述ldpc编码模块中,基于生成矩阵g,将信息序列x与生成矩阵g相乘得到长度为n的码字y:

y=x×g。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1