一种基于深度神经网络的极化码译码方法与流程

文档序号:16197443发布日期:2018-12-08 06:16阅读:576来源:国知局
一种基于深度神经网络的极化码译码方法与流程

本发明属于通信技术领域,特别涉及一种用深度神经网络来辅助简化的连续消除译码算法进行快速译码。

背景技术

极化码是2008年由e.arikan提出的一种新型信道编码。极化码是第一种能够通过严格的数学方法证明达到信道容量的构造性编码方案,并且具有明确而简单的编码及译码算法。通过信道编码学者的不断努力,当前极化码所能达到的纠错性能超过目前广泛使用的turbo码、ldpc码。

极化码的基础是信道极化。当参与信道极化的信道(时隙)数足够多时,所得到的极化信道的信道容量会出现极化现象,即一部分信道的容量将会趋于1、其余趋于0。在信道极化的基础上,极化码在传送信息时,只需要在一部分容量趋于1的信道上传输信息比特,而在剩下的容量趋于1的信道以及容量趋于0的信道上传输收发端己知的固定比特。用k表示用于传输信息比特的信道数,由此形成一个由k个信息比特到n个发送比特的一一映射关系,这一映射即是极化编码。极化码被提出之初,连续消除(sc)译码也随之被提出。sc译码虽然复杂度低、译码结构简单,但只能逐比特译码,带来较高的时延。为了降低时延,提出了简化的连续消除(ssc)译码算法。随后,基于ssc译码算法的多种改进版本也相继被提出。在ssc算法中,将结点分为3种类型,分别为rate-1结点、rate-0结点、rate-r结点。每一种结点都对应着不同的译码规则。基于组合码的树结构,ssc译码算法能够简化rate-1结点的译码来提高译码速度,降低时延。

深度神经网络(dnn)其实就是按照一定规则连接起来的多个神经元。在实现数据分类方面,dnn以其强大的学习能力和泛化能力呈现出一个理想的准确度,满足对数据的快速、精准分类需求。

为了进一步降低译码时延,本发明专利提出了一种基于深度神经网络的极化码译码方法。通过采用深度神经网络来辅助简化的连续消除译码算法进行快速译码,提高译码速度,从而降低译码时延。



技术实现要素:

本发明提出了一种基于深度神经网络的极化码译码方法,在保证译码性能不变的情况下,通过深度神经网络的辅助来提高简化的连续消除译码算法的译码速度,降低译码时延,把这种译码算法称为深度神经网络辅助的简化连续消除(dna-ssc)译码算法。

在样本数据准备阶段,已知1000帧码字,在同一信噪比下,发送到简化的连续消除译码器中,记录每一个rate-r结点对应的似然比向量α,每一个α都对应着一个已知的叶子结点序列s,对每一个α进行硬判决,得到向量β,再给β乘上一个对应已知的生成矩阵g,得到序列比较α对应的序列与s,将两个序列的码元完全相同的情况记为1,将两个序列的码元不完全相同的情况记为0,即该特征α向量对应的标签为1或0,α与1、α与0构成一组样本,从所记录的样本中随机选80%作为训练样本,并将余下的20%作为测试样本。

深度神经网络是一个包含多个隐藏层的多层感知机且可用作分类器,其特征是层级结构和训练规则可以根据实际情况来设定。搭建dnn时,层级结构包括1个输入层、3个隐藏层及1个输出层,输入层的输入是一个长度为n的α向量,每一个隐藏层的节点数分别设置为128、64、32,输出层的节点数目设置为2,采用全连接方式来搭建dnn,并将sigmoid函数设定为激活函数。训练dnn时,基于监督学习,利用误差反向传播算法来训练网络,通过求出输出层和3个隐藏层的误差项来调整权值和神经元偏置,直至完成dnn的训练。

在极化码译码端,将rate-r结点对应的似然比输入到深度神经网络模型中,得到0或1,并根据0、1状态执行简化的连续消除译码算法。

在极化码译码过程中,适用以下步骤:

步骤1,准备样本数据,并采用归一化方法对样本数据进行预处理;

步骤2,搭建深度神经网络,并训练深度神经网络;

步骤3,在极化码译码阶段,将rate-r结点对应的似然比输入到深度神经网络模型中,得到0或1,并根据0、1状态执行简化的连续消除译码算法;

其中,步骤1中准备样本数据指的是,从所有的样本中随机选80%作为训练样本,并将余下的20%作为测试样本;步骤2中搭建深度神经网络指的是,将输入层的层数设置为1,隐藏层的层数设置为3,输出层的层数设置为1,层与层之间采用全连接方式来搭建。

有益效果

本发明对比已有技术具有以下创新点:

用深度神经网络来对rate-r结点对应的似然比作一个分类。在极化码译码端,首先将当前rate-r结点对应的似然比输入到深度神经网络模型中,得到0或1,若得到1,直接对该似然比向量作硬判决,得到当前rate-r结点对应的译码比特,否则寻找下一个rate-r结点,并将下一个rate-r结点对应的似然比输入到深度神经网络模型中,直至完成所有译码。

将深度神经网络技术与极化码译码技术进行结合。在样本数据准备阶段,样本数据来源于多次执行简化的连续消除译码算法;在搭建和训练深度神经网络阶段,输入层的输入是似然比;在译码端,将rate-r结点对应的似然比输入到深度神经网络模型中,得到0或1,并根据0、1状态执行简化的连续消除译码算法。此时,dna-ssc译码算法能够以较高的速度来对rate-r结点进行译码,减少对rate-r结点的遍历操作,提高译码速度,降低译码时延。

附图说明

图1是dna-ssc译码算法流程图。

具体实施方式

下面将结合附图和实施例对本发明做进一步的描述。

本发明提供一种基于深度神经网络的极化码译码方法,主要包括准备样本数据、搭建并训练深度神经网络及译码三部分。在样本数据准备阶段,从所收集的样本中随机选80%作为训练样本,并将余下的20%作为测试样本;在搭建与训练深度神经网络阶段,首先确定网络的层级结构及参数,搭建深度神经网络,然后求出输出层和3个隐藏层的误差项来调整权值和神经元偏置;在极化码译码端,将rate-r结点对应的似然比输入到深度神经网络模型中,得到0或1,并根据0、1状态执行简化的连续消除译码算法。

在样本数据准备阶段,已知1000帧码字,在同一信噪比下,发送到简化的连续消除译码器中,记录每一个rate-r结点对应的似然比向量α,每一个α都对应着一个已知的叶子结点序列s,对每一个α进行硬判决,得到向量β,再给β乘上一个对应已知的生成矩阵g,得到序列比较α对应的序列与s,将两个序列的码元完全相同的情况记为1,将两个序列的码元不完全相同的情况记为0,即该特征α向量对应的标签为1或0,α与1、α与0构成一组样本,从所记录的样本中随机选80%作为训练样本,并将余下的20%作为测试样本。本实施例将简化的连续消除译码算法的码长n设置为256,码率设置为0.5。

在搭建与训练深度神经网络阶段,深度神经网络的层级结构包含1个输入层、3个隐藏层及1个输出层,输入层的输入是一个长度为n的α向量,每一个隐藏层的节点数分别设置为128、64、32,输出层的节点数目设置为2,采用全连接方式来搭建dnn。本实施例将激活函数设置为sigmoid函数,计算各个隐藏层与输出层中每一个节点的输出。基于监督学习,利用反向传播算法来训练网络,本实施例将网络所有输出层节点的误差平方和作为目标函数;在此基础上,运用随机梯度下降优化方法对目标函数进行优化;经过优化之后,分别得到输出层的误差项、各个隐藏层的误差项、权重的更新方法以及偏置项的更新方式。根据得到的训练规则,不断修正网络的权值与偏置项,直至完成所有样本训练。

dna-ssc译码算法流程图如图1所示。dna-ssc译码算法主要包括准备样本数据、搭建并训练深度神经网络及译码三部分。在译码部分,首先遍历ssc译码码树,然后对第一个要计算α的结点进行判断,判断该结点是否是rate-r结点;如果是rate-r结点,将rate-r结点对应的似然比向量输入到已经完成训练的深度神经网络中,若输出为1,则对该似然比向量直接进行硬判决,得到rate-r结点对应叶子结点的译码比特,若输出为0,则对下一个要计算α的结点进行判断;如果是rate-0结点或者rate-1结点,则以ssc的译码方式进行译码,rate-0结点对应的叶子结点的译码比特为固定比特,即全为比特0,通过对rate-1结点的α向量直接进行硬判决可以得到rate-1结点对应的译码比特;最后判断是否已全部完成译码,完成则退出译码,否则继续译码。本实施例将dna-ssc译码的码长n设置为256,码率设置为0.5。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不限于此,任何熟悉本技术领域的技术人员在本发明提出的技术范围内,可轻易想到的变化或者替换,都应该涵盖在本发明的保护范围之内。

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