一种基于深度学习的bch码译码方法

文档序号:1579597 发布日期:2020-01-31 浏览:16次 >En<

阅读说明:本技术 一种基于深度学习的bch码译码方法 (BCH code decoding method based on deep learning ) 是由 姜小波 曾正 于 2019-10-30 设计创作,主要内容包括:本发明提供一种基于深度学习的BCH码译码方法,其特征在于:包括模型构建阶段和编译码阶段;模型构建阶段包括以下步骤:建立BCH码数据集,建立神经网络分类模型,并对神经网络分类模型进行训练和验证校验。该BCH译码方法可以实现并行译码,提高译码的吞吐率,并且有效减少了译码计算量和译码迭代次数,降低了模型复杂度。(The invention provides BCH code decoding methods based on deep learning, which are characterized by comprising a model construction stage and a coding and decoding stage, wherein the model construction stage comprises the following steps of establishing a BCH code data set, establishing a neural network classification model, and training and verifying the neural network classification model.)

一种基于深度学习的BCH码译码方法

技术领域

本发明涉及电子通信技术领域,更具体来说,特别涉及一种基于深度学习的BCH码译码方法。

背景技术

BCH码,由R.C.Bose、D.K.Chaudhuri和A.Hocquenghem共同提出,是一种能够纠正多个随机错误的循环码,同时也是一类很好的线性纠错码类。基于以往研究成果表明,BCH码在短和中等码长下,其性能很接近于理论值。由于BCH码具有严格的代数结构,使得其码字构造方便,编程简单,性能优良,编译设备也不复杂,因此它在各种数据传输系统,特别是卫星通信系统中,受到工程技术人员的欢迎。

BM迭代译码算法是由伯利坎普(Berlekamp)和梅西(Massey)共同提出来的一种译码算法,是目前来说使用较多的一种译码算法。但其译码速度还不够快,迭代次数较多。因此,亟待设计出另一种BCH码译码方法,以提高译码速度和减少迭代次数。

发明内容

本发明的目的在于克服现有译码技术中的缺点与不足,提供一种基于深度学习的BCH码译码方法。该BCH译码方法可以实现并行译码,提高译码的吞吐率,并且有效减少了译码计算量和译码迭代次数,降低了模型复杂度。

为了达到上述目的,本发明通过下述技术方案予以实现:一种基于深度学习的BCH码译码方法,其特征在于:包括模型构建阶段和编译码阶段;

所述模型构建阶段包括以下步骤:

S1步,建立BCH码数据集:

将信息比特矩阵Y通过BCH码的编码方式来得到BCH码字信息比特序列X:

X=Y×G;

其中,对于BCH码(n,k,t),n为BCH码的码字长度,k为原始发送信息比特矩阵Y的长度,t为BCH码的纠错个数;G为BCH码的生成矩阵,大小为k×n;

将BCH码字信息比特序列X进行高斯白噪声处理得到带噪码字信息比特序列X’,以模拟BCH码字信息比特序列X经过BPSK调制后经过AWGN信道的变化:设定高斯白噪声的大小范围以及步长,并根据高斯白噪声的大小范围以及步长计算得到高斯白噪声的种类数c,则带噪码字信息比特序列X’为(c×num,n)的矩阵,该矩阵作为BCH码数据集,并打上信息比特矩阵Y对应的标签;其中,num为每种噪声随机生成的次数;

S2步,将BCH码数据集划分为若干批次,每批次BCH码数据集按照设定比例划分为训练集和验证集;

S3步,对BCH码建立神经网络分类模型:设定神经网络分类模型的输入大小为n,输出大小为k,隐藏层数以及网络层节点数,各隐藏层的激活函数和损失函数,通过预训练神经网络分类模型从而初始化各层网络的权值w和bias;

S4步,将当前批次BCH码数据集的训练集输入神经网络分类模型,用前馈计算和后向传播两个过程更新权重来训练神经网络分类模型,并采用随机梯度下降法作为优化策略,对神经网络分类模型进行训练得到局部最优的权值w和bias;

S5步,将BCH码数据集的验证集输入神经网络分类模型进行验证校验,并从输出结果与真实结果的差异损失来得到准确率和误差值;判断准确率和误差值是否达到稳定:若是,则完成神经网络分类模型训练,并保存神经网络分类模型;否则优化各层网络的权值w和bias,跳至S4步以采用下一批次数据BCH码数据集对神经网络分类模型进行训练和验证校验;

所述编译码阶段包括如下步骤:

L1步,将原始发送信息比特矩阵Y通过BCH码的编码方式来得到BCH码字信息比特序列X:

X=Y×G;

L2步,BCH码字信息比特序列X经过BPSK调制后经过AWGN信道进行通信;

L3步,接收得到带噪码字信息比特序列X’;将带噪码字信息比特序列X’输入神经网络分类模型中进行译码得到译码信息比特矩阵Y。

提出神经网络来解决BCH译码问题,是因为神经网络能够拟合任意非线性函数。从深度学习的角度来看,AWGN信道为非理想信道,BCH码经过非理想信道成为带噪码字,通过译码处理得到原来码字的过程,可以看成是一个分类问题。其中,带噪码字信息段可以为信息数据特征,而初始码字通过标签化当做此次分类任务的标签。基于深度学习的BCH神经网络译码方法是通过构建一定深度神经网络模型和训练大批训练数据,以学习到更有用的特征,从而提高分类模型的准确性,进而提高BCH译码的准确性。采用神经网络BCH译码方法可以大大降低译码计算量,并降低译码迭代次数和复杂度,实现译码并行性,从而大大提高译码的吞吐率。

优选地,所述S1步中,BCH码的生成矩阵G为:

G(x)=x4+x+1;

其中,x为码元。

优选地,所述S3步中,设定神经网络分类模型各隐藏层的激活函数为ReLU函数,损失函数为交叉熵函数。

优选地,所述S2步中,每批次BCH码数据集按照设定比例7:2划分为训练集和验证集。

与现有技术相比,本发明具有如下优点与有益效果:

本发明基于深度学习的BCH译码方法可并行译码,并且可以降低译码迭代次数和模型复杂度,降低最大似然译码的计算量和复杂度,从而提高译码效率,实现从含有噪声和干扰的序列中还原发送端的数据。

附图说明

图1是本发明基于深度学习的BCH码译码方法的流程图;

图2是本发明的神经网络分类模型的等价结构图;

图3是本发明中神经网络分类模型译码的流程图;

图4是实施例中译码方法与传统译码方法的性能比较图。

具体实施方式

下面结合附图与具体实施方式对本发明作进一步详细的描述。

实施例一

本实施例一种基于深度学习的BCH码译码方法,其流程如图1所示;包括模型构建阶段和编译码阶段;

所述模型构建阶段包括以下步骤:

S1步,建立BCH码数据集:

将信息比特矩阵Y通过BCH码的编码方式来得到BCH码字信息比特序列X:

X=Y×G;

其中,对于BCH码(n,k,t),n为BCH码的码字长度,k为原始发送信息比特矩阵Y的长度,t为BCH码的纠错个数;G为BCH码的生成矩阵,大小为k×n;

BCH码的生成矩阵G可采用现有方式;本实施例中,BCH码的生成矩阵G优选为:G(x)=x4+x+1;其中,x为码元;

将BCH码字信息比特序列X进行高斯白噪声处理得到带噪码字信息比特序列X’,以模拟BCH码字信息比特序列X经过BPSK调制后经过AWGN信道的变化:设定高斯白噪声的大小范围以及步长,并根据高斯白噪声的大小范围以及步长计算得到高斯白噪声的种类数c,则带噪码字信息比特序列X’为(c×num,n)的矩阵,该矩阵作为BCH码数据集,并打上信息比特矩阵Y对应的标签;其中,n为BCH码的码字长度,num为每种噪声随机生成的次数;

S2步,将BCH码数据集划分为若干批次,每批次BCH码数据集按照设定比例划分为训练集和验证集;训练集和验证集的比例优选为7:2;

S3步,对BCH码建立神经网络分类模型:设定神经网络分类模型的输入大小为n,输出大小为k,隐藏层数以及网络层节点数,各隐藏层的激活函数和损失函数,通过预训练神经网络分类模型从而初始化各层网络的权值w和bias;

其中,神经网络分类模型各隐藏层的激活函数设定为ReLU函数,损失函数设定为交叉熵函数:

Figure BDA0002253448220000051

Figure BDA0002253448220000052

x为隐藏层的输出结果;y为真实码元;n为码字长度;a为网络输出结果;

S4步,将当前批次BCH码数据集的训练集输入神经网络分类模型,用前馈计算和后向传播两个过程更新权重来训练神经网络分类模型,并采用随机梯度下降法作为优化策略,对神经网络分类模型进行训练得到局部最优的权值w和bias;

S5步,将BCH码数据集的验证集输入神经网络分类模型进行验证校验,并从输出结果与真实结果的差异损失来得到准确率和误差值;判断准确率和误差值是否达到稳定:若是,则完成神经网络分类模型训练,并保存神经网络分类模型;否则优化各层网络的权值w和bias,跳至S4步以采用下一批次数据BCH码数据集对神经网络分类模型进行训练和验证校验;

所述编译码阶段包括如下步骤:

L1步,将原始发送信息比特矩阵Y通过BCH码的编码方式来得到BCH码字信息比特序列X:

X=Y×G;

L2步,BCH码字信息比特序列X经过BPSK调制后经过AWGN信道进行通信;

L3步,接收得到带噪码字信息比特序列X’;将带噪码字信息比特序列X’输入神经网络分类模型中进行译码得到译码信息比特矩阵Y。

提出神经网络来解决BCH译码问题,是因为神经网络能够拟合任意非线性函数。从深度学习的角度来看,AWGN信道为非理想信道,BCH码经过非理想信道成为带噪码字,通过译码处理得到原来码字的过程,可以看成是一个分类问题。其中,带噪码字信息段可以为信息数据特征,而初始码字通过标签化当做此次分类任务的标签。基于深度学习的BCH神经网络译码方法是通过构建一定深度神经网络模型和训练大批训练数据,以学习到更有用的特征,从而提高分类模型的准确性,进而提高BCH译码的准确性。采用神经网络BCH译码方法可以大大降低译码计算量,并降低译码迭代次数和复杂度,实现译码并行性,从而大大提高译码的吞吐率。

实施例二

本实施例一种基于深度学习的BCH码译码方法,采用(15,11,1)BCH码为实例进行说明。

如图1,2,3所示,一种基于深度学习的BCH神经网络译码方法,其首先要通过随机生成部分信息序列Y及Y对应的经过编码后的信息比特序列X,X序列经过BPSK加入高斯白噪声,初始化后为X’后,根据图3所示的网络构造从x’中会选择部分或者全部相关的信息码字,选择与之对应的Y中某一位码字进行神经网络分类模型构造。

具体地说,BCH码译码方法包括模型构建阶段和编译码阶段;

模型构建阶段包括如下步骤:

S1步,建立BCH码数据集:根据示例码字是(15,11,1)的BCH码,生成多组带标签的数据。具体如下:信息比特矩阵Y经过BCH编码后得到BCH码字信息比特序列X,加入高斯白噪声,高斯白噪声大小为1db-6db,其步长为1db,每一个db加入若干组数据。

举例说明,例如此次BCH码数据集大小为6×1000×15=90000。这里的6代表噪声种类为6,1000表示每一种噪声随机1000次,15代表码字长度是15,因此BCH码数据集的大小为6000*15的一个矩阵。此外,还需要给BCH码数据集打上信息比特矩阵Y对应的标签,使每一个样本对应的是原始的信息比特矩阵Y。由于采用的是神经网络分类模型,因此需要将原始码字看做是二进制的数据格式转换为十进制,再将十进制数字转换为One hot码的形式。

S2步,将BCH码数据集划分为若干批次,每批次BCH码数据集按照设定比例划分为训练集和验证集;训练集和验证集的比例优选为7:2;

S3步,建立神经网络分类模型:对于(15,11,1)的BCH码,建立神经网络分类模型,神经网络分类模型的输入大小为n,输出大小为k,网络层数设置为3层全连接。

例如,当BCH码数据集为6000×15大小的矩阵输入进神经网络分类模型中,从神经网络分类模型出来的结果是6000×211大小的矩阵,此时,这里的每一行都是类似于One hot码形式的序列,将每一行转换回十进制在转换为二进制从而实现整一个译码过程。

设定神经网络各隐藏层采用的激活函数是ReLU函数。采用ReLU函数是由于ReLU(x)求导计算量小,简化了深度神经网络训练过程的计算量。损失函数采用分类模型常用的交叉熵函数。通过预训练神经网络模型从而初始化各层网络的权值w和bias。

S4步,将当前批次BCH码数据集的训练集输入神经网络分类模型,用前馈计算和后向传播两个过程更新权重来训练神经网络分类模型,并采用随机梯度下降法作为优化策略,对神经网络分类模型进行训练得到局部最优的权值w和bias;

S5步,将BCH码数据集的验证集输入神经网络分类模型进行验证校验,并从输出结果与真实结果的差异损失来得到准确率和误差值;判断准确率和误差值是否达到稳定:若是,则完成神经网络分类模型训练,并保存神经网络分类模型;否则优化各层网络的权值w和bias,跳至S4步以采用下一批次数据BCH码数据集对神经网络分类模型进行训练和验证校验;

所述编译码阶段包括如下步骤:

L1步,将原始发送信息比特矩阵Y通过BCH码的编码方式来得到BCH码字信息比特序列X:

X=Y×G;

L2步,BCH码字信息比特序列X经过BPSK调制后经过AWGN信道进行通信;

L3步,接收得到带噪码字信息比特序列X’;将带噪码字信息比特序列X’输入神经网络分类模型中进行译码得到译码信息比特矩阵Y。

如图4所示,在Eb/N0小于4时,本发明BCH码译码方法性能与传统BM译码算法的译码结果比较接近;在Eb/N0大于等于4时,本发明BCH码译码方法的性能超过传统BM译码算法,并且有瀑布曲线的趋势。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:前端接收电路及用于其的前端接收方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类