一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于双向LSTM的卷积码译码方法与卷积码编码和译码方法与流程

2022-04-02 03:47:09 来源:中国专利 TAG:

一种基于双向lstm的卷积码译码方法与卷积码编码和译码方法
技术领域
1.本技术涉及电子通信技术领域,尤其涉及一种端到端的卷积码编码和译码方法。


背景技术:

2.传统卷积码编码方式采用移位寄存器的方式,如图1所示,具体原理如下:该卷积码的码长n0=2,信息长度k0=1,编码储存时间m=2,编码约束度n=3,编码约束长度na=6,其编码器由两个移位寄存器,和两个加法器组成,该卷积码的输出码组中,每一个码组的第一个码字是由输入的信息码字与前一个时间间隔的输入码字以及前两个时间间隔的输入码字的模二和,第二个码字是输入的信息码字和前两个时间间隔的输入码字的模二和。
3.卷积码的译码主要分为代数译码和概率译码两个方向。前者基于的是大数逻辑判决,它针对的是特定码型的卷积码,通过伴随矩阵和错误图样对接收序列进行译码;而后者基于的是最大后验概率(map)准则以及最大似然(ml)准则,通过接收序列的概率分布反推出发送序列,其对卷积码码型的包容性高,无论卷积码的码型复杂还是简单,其译码性能都优于代数译码,因此在实际通信系统中有着更加普遍的应用。
4.维特比译码算法的数学依据是最大似然(ml)准则,它也被证明是最佳概率译码算法,其译码结构和算法简单,执行处理效率高,成为了卷积码最为主流、也是最受欢迎的译码算法。维特比译码是通过网络图来表示状态间的转移,通过寻找最小距离度量的路径,来完成对发送序列的译码。
5.传统编译码的缺陷具体如下:
6.1、传统卷积码的编码和译码如维特比译码的时间复杂度、空间复杂度随码长和约束度的增大呈指数上升,因此传统卷积码编码和译码方式不适用于长码。
7.2、一个适应于当前信道且具有优良性能的卷积码码本在长码长时难以通过数学方式计算得到,即长码码本不好选取。
8.3、短码码本的编码和译码方式固定,编码信息容易被截取和破解,安全性低。


技术实现要素:

9.本发明目的是为了解决现有技术存在的上述缺陷的问题,提供了一种基于双向lstm的卷积码译码方法与卷积码编码和译码方法。
10.本发明是通过以下技术方案实现的,本发明一方面,提供一种基于双向lstm的卷积码译码方法,所述方法包括:
11.构建双向lstm神经网络译码器,所述神经网络译码器采用双向lstm神经网络进行译码;
12.建立接收序列数据集,根据所述接收序列数据集和双向lstm神经网络构造训练码本;
13.选取训练信噪比,所述训练信噪比为所述接收序列的信噪比;
14.设定仿真参数,并利用所述训练码本和所述训练信噪比对所述双向lstm神经网络译码器进行训练;
15.利用训练后的双向lstm神经网络译码器进行译码。
16.进一步地,所述构建双向lstm神经网络译码器,具体包括:所述双向lstm神经网络译码器包括输入层、隐层神经和输出层;
17.所述隐层神经由若干层双向lstm网络层、批量标准化bn层和drop out层组合而成,用于通过对接收序列进行相邻码字间相关性的提取;
18.所述输入层用于将输入的码本放大到高维的空间中;
19.所述双向lstm网络层通过学习卷积码输入编码序列前后之间的相关性,将顺序输入的卷积码编码码字变为可以被神经网络所拟和的特征规律;
20.所述批量标准化bn层通过归一化公式让神经网络的输出数据重新分布在规定的范围内而不改变其分布规律;
21.所述drop out层通过训练时对神经网络训练单元按照一定的概率将其从网络中移除来防止网络的过拟合;
22.所述输出层用于将高维的信息降到低维。
23.进一步地,所述建立接收序列数据集,根据所述接收序列数据集和双向lstm神经网络构造训练码本,具体包括:
24.根据接收序列,截取长为n*m的序列记为[r11,r12,...,r1n,r21,r22,...,r2n,...,rm1,rm2,...,rmn],码长n对应于双向lstm神经网络的inputdim,而m对应的就是双向lstm神经网络的timesteps,将所述接收序列转换为m*n的二维张量;
[0025]
将所述m*n的二维张量并行输入至双向lstm神经网络;
[0026]
根据双向lstm神经网络参数设定的batchsize,将所有所述所有二维张量变为(batchsize,m,n)的三维张量;
[0027]
根据所述(batchsize,m,n)的三维张量构造训练码本。
[0028]
进一步地,所述选取训练信噪比,具体包括:
[0029]
根据接收序列数据集,选取信噪比数据集;
[0030]
根据所述信噪比数据集和误码率曲线最优原则,选取训练信噪比。
[0031]
另一方面,基于上述一种基于双向lstm的卷积码译码方法,本发明提供一种基于双向lstm的卷积码编码和译码方法,所述方法包括:
[0032]
建立级联训练的神经网络,所述级联训练的神经网络包括发射机、信道噪声和接收机;
[0033]
所述发射机包括lstm编码器和调制器,所述lstm编码器和所述调制器顺序连接,所述lstm编码器采用双向lstm神经网络进行编码,所述调制器用于进行星座图映射;
[0034]
所述接收机包括基于上述一种基于双向lstm的卷积码译码方法中构建的双向lstm神经网络译码器和判决输出,所述双向lstm神经网络译码器和所述判决输出顺序连接,所述判决输出用于根据判决门限,对所述双向lstm神经网络译码器的输出进行归类,解码出信息比特;
[0035]
建立接收到的信源序列数据集,根据所述接收到的信源序列数据集和双向lstm神经网络构造所述级联训练的神经网络的级联训练码本;
[0036]
选取级联训练信噪比,所述级联训练信噪比为所述调制器输出卷积码的信噪比;
[0037]
设定仿真参数,并利用所述级联训练码本和所述级联训练信噪比对所述级联训练的神经网络进行训练;
[0038]
利用训练后的级联训练的神经网络进行编码和译码。
[0039]
进一步地,所述lstm编码器具体包括:输入层、隐层神经和输出层;
[0040]
所述隐层神经由若干层双向lstm网络层、批量标准化bn层和drop out层组合而成,用于通过双向lstm神经元产生时间相关性的序列;
[0041]
所述输入层用于将输入的码本放大到高维的空间中;
[0042]
所述双向lstm网络层通过学习卷积码输入编码序列前后之间的相关性,将顺序输入的卷积码编码码字变为可以被神经网络所拟和的特征规律;
[0043]
所述批量标准化bn层通过归一化公式让神经网络的输出数据重新分布在规定的范围内而不改变其分布规律;
[0044]
所述drop out层通过训练时对神经网络训练单元按照一定的概率将其从网络中移除来防止网络的过拟合;
[0045]
所述输出层用于将高维的信息降到低维。
[0046]
进一步地,所述调制器为dnn全连接层网络调制器,将编码后的信息映射为相应码长的发送序列,并进行二维调制;
[0047]
所述二维调制具体为将符号分为实部和虚部两个部分同时传输。
[0048]
进一步地,所述建立接收到的信源序列数据集,根据所述接收到的信源序列数据集和双向lstm神经网络构造所述级联训练的神经网络的级联训练码本,具体包括:
[0049]
设置一个长为l的单向队列,l=m-1,m为卷积码约束长度,初始化为全0;
[0050]
将接收到的信源序列按照每组timesteps个串行输入到队列中,每个比特输入时的队列状态值为映射输出;
[0051]
构造timesteps*l的二维张量,所述二维张量里的每一个行分量均与前l个行分量以及后l个行分量有相关性;
[0052]
根据神经网络参数设定的batchsize,将所述timesteps*l的二维张量变为(batchsize,timesteps,l)的三维张量;
[0053]
根据所述(batchsize,timesteps,l)的三维张量,构造级联训练码本。
[0054]
第三方面,本发明提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时执行如上文所述的一种基于双向lstm的卷积码译码方法的步骤。
[0055]
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的一种基于双向lstm的卷积码译码方法的步骤。
[0056]
本发明的有益效果:
[0057]
一、因为对于长码长的卷积码,神经网络能得到更多的特征数目,本发明利用神经网络的优势,采用双向lstm神经网络,可以解决维特比译码的时间复杂度、空间复杂度随码长和约束度的增大呈指数上升的问题。
[0058]
二、本发明的神经网络采用双向lstm神经网络,如果采用其他神经网络如rnn网络,当神经网络所要预测的位置和相关联的信息之间的间隔变得很大时,rnn网络的缺陷就
出现了,这就是长期依赖(long-term dependencies)问题,当输入信息的长度超过记忆深度时便会在训练时出现梯度消失的问题。因此,lstm是就是为了解决上述问题而提出的,是一种特殊的循环神经网络。
[0059]
三、使用深度学习的通信系统有别于传统的建立模块化数学模型的通信系统。它是通过训练模型从中学习得到权重从而得到最优的算法,这样的方式,其注重的是整体的最优解,更加能提升整体的性能。而传统算法需要人为的通过数学方式来推导出不同信道条件下的最佳编码方式,当卷积码码长过长时,这个计算过程很复杂,因此深度学习训练的优势凸显出来。
[0060]
四、本发明可以对长码长、高约束的卷积码进行编译码,并且神经网络本身在训练完成确定后是一个"黑盒模型",当外界不知道具体的模型参数时,它中间编码输出是不可知的。
[0061]
本发明适用于端到端的卷积码编码和译码。
附图说明
[0062]
为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0063]
图1为传统卷积码的编码原理图;
[0064]
图2为双向lstm卷积码译码器整体方案框图;
[0065]
图3为卷积码译码器神经网络结构图;
[0066]
图4为语言预测中训练集的构造方法示意图;
[0067]
图5为对接收序列重新构造的方法示意图;
[0068]
图6为输入张量在神经网络中的变化示意图;
[0069]
图7为不同信噪比训练集的测试对比;
[0070]
图8为mse误差函数图像;
[0071]
图9为huber loss误差函数图像;
[0072]
图10为发射机与接收机级联神经网络的整体方案框图;
[0073]
图11为发射机与接收机整体仿真的神经网络结构图;
[0074]
图12为信源信息的时间相关性重构示意图;
[0075]
图13为含有噪声添加与功率归一化的神经网络结构;
[0076]
图14为单向、双向lstm与dnn全连接网络的译码性能对比;
[0077]
图15为awgn信道下不同码长卷积码的双向lstm网络的译码性能对比;
[0078]
图16为awgn信道下不同约束长度双向lstm网络的译码性能对比;
[0079]
图17为单径瑞利信道与awgn信道下双向lstm网络译码器性能对比;
[0080]
图18为不同编码长度,相同相关长度下误码率性能对比;
[0081]
图19为不同编码长度级联译码与维特比译码误码率性能对比;
[0082]
图20为神经网络训练的调制输出星座图。
具体实施方式
[0083]
实施方式一,一种基于双向lstm的卷积码译码方法,所述方法包括:
[0084]
构建双向lstm神经网络译码器,所述神经网络译码器采用双向lstm神经网络进行译码;
[0085]
建立接收序列数据集,根据所述接收序列数据集和双向lstm神经网络构造训练码本;
[0086]
选取训练信噪比,所述训练信噪比为所述接收序列的信噪比;
[0087]
设定仿真参数,并利用所述训练码本和所述训练信噪比对所述双向lstm神经网络译码器进行训练;
[0088]
利用训练后的双向lstm神经网络译码器进行译码。
[0089]
本实施方式中,如图2所示,双向lstm神经网络译码器选用双向lstm(bidirectional-lstm)作为神经网络译码器的主要结构。0、1等概率的二进制随机信源序列u,通过基于移位寄存器的卷积码编码器,生成码长为n,约束度为k的(n,k,m)卷积码编码序列s,编码序列再通过bpsk调制器进行星座图映射,变为符号x,进入信道中进行传输。
[0090]
在信道中传输信号受到高斯白噪声信道(awgn)或瑞利信道的干扰影响,接收端收到的符号为y,直接经过双向lstm卷积码译码器,得到译码后的预测序列u

,完成译码。
[0091]
需要说明的是,在所述设定仿真参数,并利用所述训练码本和所述训练信噪比对所述双向lstm神经网络译码器进行训练这一步骤中,由于本实施方式训练时的输出样本为初始的信源序列,当神经网络预测的输出越与训练样本接近时,损失函数的值越小,本实施方式初步选取的是均方误差mse损失函数,其数学表达式如式(1)所示,代表的是网络模型预测值与样本真实值之间距离平方的平均值,其误差值函数图像如图8所示。
[0092][0093]
其中,yi代表目标值,f(xi)代表预测值,m为样本个数。
[0094]
由图像可知mse函数具有连续、一阶导也连续的特点,使用梯度下降算法时梯度一直连续变化,其使用范围十分的广泛。但因为平方的原因,导致当y与f(xi)的差值大于1时,会增大其误差,差值小于1时,会减小其误差。由于训练样本采用的是0db噪声集,其在某些样本上会有很大的噪声干扰。因此采样mse损失函数会导致某些样本点上的偏差会增大,导致模型整体的精度下降。
[0095]
本实施方式使用了平滑平均绝对误差huber loss,其数学表达式为公式(2),δ=2时的图像如图9所示。
[0096][0097]
其中,δ为超参数,用于控制该loss的梯度变化。
[0098]
采用平滑平均绝对误差huber loss能够在训练样本偏差减小时,反向传播计算时的梯度也会减小,进而有利于神经网络的进一步收敛,又能在训练样本偏差较大时,收敛速度不变大,不放大该误差,有效的避免大的偏差对神经网络的训练产生负面影响。
[0099]
神经网络层数设置和其他仿真参数如表1和表2所示:
[0100]
表1 lstm卷积码译码器及信道环境仿真参数配置
[0101][0102]
表2 lstm网络模型输出维度
[0103][0104]
实施方式二,本实施方式是对实施方式一所述的一种基于双向lstm的卷积码译码方法的进一步限定,本实施方式中,对所述构建双向lstm神经网络译码器做了进一步限定,具体包括:
[0105]
所述双向lstm神经网络译码器包括输入层、隐层神经和输出层;
[0106]
所述隐层神经由若干层双向lstm网络层、批量标准化bn层和drop out层组合而成,用于通过对接收序列进行相邻码字间相关性的提取;
[0107]
所述输入层用于将输入的码本放大到高维的空间中;
[0108]
所述双向lstm网络层通过学习卷积码输入编码序列前后之间的相关性,将顺序输入的卷积码编码码字变为可以被神经网络所拟和的特征规律;
[0109]
所述批量标准化bn层通过归一化公式让神经网络的输出数据重新分布在规定的范围内而不改变其分布规律;
[0110]
所述drop out层通过训练时对神经网络训练单元按照一定的概率将其从网络中移除来防止网络的过拟合;
[0111]
所述输出层用于将高维的信息降到低维。
[0112]
本实施方式中,双向lstm神经网络译码器由输入层、双向lstm层、批归一化bn层(batch normalization)、drop out层和输出层组成,其具体结构图如图3所示。
[0113]
图中输入层和输出层为全连接dense层,输入层是将输入的码本放大到高维的空间中,便于之后的双向lstm网络寻找数据的特征,输出层是为了将高维的信息降到低维,便于归一化至[0,1]之间进行判决输出。
[0114]
中间的隐层神经由若干层双向lstm网络层、批量标准化bn层和drop out层组合而成,双向lstm网络层为卷积码译码器的主要组成部分,其通过学习卷积码输入编码序列前后之间的相关性,将顺序输入的卷积码编码码字变为可以被神经网络所拟和的特征规律,便于输入dense层的判决输出;bn层也叫批归一化层,其作用是通过归一化公式让神经网络的输出数据重新分布在规定的范围内而不改变其分布规律,加快神经网络的训练;drop out层其是否使用取决于在训练时是否发生了过拟合现象,过拟合就是当神经网络结构过于复杂或训练样本不足时,训练的正确率远大于测试的正确率,即神经网络学习了一种错误的映射规律的现象,而drop out层通过训练时对神经网络训练单元按照一定的概率将其从网络中移除来防止网络的过拟合。
[0115]
实施方式三,本实施方式是对实施方式一所述的一种基于双向lstm的卷积码译码方法的进一步限定,本实施方式中,对所述建立接收序列数据集,根据所述接收序列数据集和双向lstm神经网络构造训练码本这一步骤做了进一步限定,具体包括:
[0116]
根据接收序列,截取长为n*m的序列记为[r11,r12,...,r1n,r21,r22,...,r2n,...,rm1,rm2,...,rmn],码长n对应于双向lstm神经网络的inputdim,而m对应的就是双向lstm神经网络的timesteps,将所述接收序列转换为m*n的二维张量;
[0117]
将所述m*n的二维张量并行输入至双向lstm神经网络;
[0118]
根据双向lstm神经网络参数设定的batchsize,将所有所述所有二维张量变为(batchsize,m,n)的三维张量;
[0119]
根据所述(batchsize,m,n)的三维张量构造训练码本。
[0120]
本实施方式中,给出了用于训练双向lstm神经网络译码器的训练码本的构造方法。
[0121]
如图4所示,卷积码训练集的构造基于lstm的上下文语言预测。
[0122]
如图5所示,本实施方式中将加入信道特征后的接收序列按照如下的方式构成一
个个的码块。
[0123]
假设为一个(n,k,m)的卷积码,n为编码长度,k为信息长度,m为编码约束度,接收到的序列是串行的含有噪声的数据,由于码长为n,本实施方式可以截取长为n*m的序列记为[r11,r12,...,r1n,r21,r22,...,r2n,...,rm1,rm2,...,rmn],然后将其变为并行输入的码块,其中码长n对应于lstm网络的inputdim,而m对应的就是bi-lstm网络的timesteps,即在m组(n,k,m)卷积码接收码字中寻找相邻码组之间的编码联系,只要timesteps>>m,即lstm网络的时间序列长度远大于卷积码的约束度,bi-lstm就能正确预测出该卷积码的编码规则。
[0124]
以(3,1,m)卷积码为例,接收到的序列是串行的含有噪声的数据,由于码长为3,则截取长为3*m的序列记为[r11,r12,r13,r21,r22,r23,...,rm1,rm2,rm3],然后将其变为并行输入的码块,其中码长3对应于lstm网络的inputdim,而m对应的就是lstm网络的timesteps,即在m组(3,1,m)卷积码接收码字中寻找相邻码组之间的编码联系,只要timesteps>>m,即lstm网络的时间序列长度远大于卷积码的约束度,lstm就能正确预测出该卷积码的编码规则。
[0125]
在完成对接收序列的处理后,接收序列就变为了一个三维张量,其第一维是batchsize,大小不固定可以根据训练效果调整;第二维是timesteps,代表在该设定的时间序列长度内寻找相邻码字的相关性;第三维就是inputdim,代表的是输入码组的特征数,在未经过深层网络放大前,其等于码长n。网络中张量的维度变化如图6所示。
[0126]
需要说明的是,图6仅仅是为了示意图的可观性,所以画的是一个batch中的一个码块的张量变化过程,实际训练时,通常为一整个batch并行输入,因此神经网络译码器的效率是很可观的。
[0127]
实施方式四,本实施方式是对实施方式一所述的一种基于双向lstm的卷积码译码方法的进一步限定,本实施方式中,对所述选取训练信噪比这一步骤做了进一步限定,具体包括:
[0128]
根据接收序列数据集,选取信噪比数据集;
[0129]
根据所述信噪比数据集和误码率曲线最优原则,选取训练信噪比。
[0130]
本实施方式中,提出了选取合适的信噪比的方法,该信噪比用于训练双向lstm神经网络译码器,即选取训练信噪比。
[0131]
训练样本的输入是含有噪声干扰的接收序列,本实施方式中选取信噪比为0db的训练集,本实施方式选择的信噪比为最佳的训练信噪比。使用{-5~10db}不同的信噪比数据在同一网络模型、同一优化方法、相同训练次数的条件下对(5,1,9)卷积码进行了测试,图7给出了具有代表性的-5db、-2db、0db、5db、10db的训练结果。
[0132]
如图7所示,训练样本的信噪比过高或过低都会影响最后的译码性能,当信噪比过低如-5db的曲线,其在高信噪比情况下误码率性能依旧很差,是因为过大的噪声让神经网络难以准确提取出编码的特征;当信噪比过高如5db、10db,其译码性能曲线下降就很慢,是因为样本中噪声比例小,训练出来的神经网络对抗白噪声的能力就弱。因此,本实施方式折中选取的信噪比为0db的训练集,是最佳信噪比,其得到的模型在低信噪比下拥有更加好的抗噪声性能,在高信噪比下能够保持很好的性能。
[0133]
本实施方式中,选取3.2
×
107个比特作为训练集的数据量,该数据量在有限的硬
件和时间限制下,能很好的帮助网络寻找卷积码码字之间的特征;
[0134]
本实施方式中,选取5.12
×
106个比特作为测试集的数据量,该数据量能让测试曲线到达通信常用的10-5
~10-6
误码率等级。
[0135]
实施方式五,基于实施方式一提供的一种基于双向lstm的卷积码译码方法,本实施方式提供了一种基于双向lstm的卷积码编码和译码方法,所述方法包括:
[0136]
建立级联训练的神经网络,所述级联训练的神经网络包括发射机、信道噪声和接收机;
[0137]
所述发射机包括lstm编码器和调制器,所述lstm编码器和所述调制器顺序连接,所述lstm编码器采用双向lstm神经网络进行编码,所述调制器用于进行星座图映射;
[0138]
所述接收机包括基于权利要求1中构建的双向lstm神经网络译码器和判决输出,所述双向lstm神经网络译码器和所述判决输出顺序连接,所述判决输出用于根据判决门限,对所述双向lstm神经网络译码器的输出进行归类,解码出信息比特;
[0139]
建立接收到的信源序列数据集,根据所述接收到的信源序列数据集和双向lstm神经网络构造所述级联训练的神经网络的级联训练码本;
[0140]
选取级联训练信噪比,所述级联训练信噪比为所述调制器输出卷积码的信噪比;
[0141]
设定仿真参数,并利用所述级联训练码本和所述级联训练信噪比对所述级联训练的神经网络进行训练;
[0142]
利用训练后的级联训练的神经网络进行编码和译码。
[0143]
本实施方式中,选用双向lstm作为神经网络编码器和译码器的主要结构,该结构使得通过神经网络设计的信道编码仍然能够像传统卷积码一样具有时间上的相关性,所述结构的整体方案框图如图10所示。
[0144]
在此方案中,发射机和接收机以及信道噪声作为一个整体的神经网络进行训练优化,在完成训练后,该神经网络又被拆分成发射机端和接收机端分别独立工作。该神经网络的输入已经不再是0、1等概的二进制随机信源序列了,而是先通过一个映射重构器进行预处理。处理后的数据经过lstm编码器成为编码序列,再通过一个dnn全连接层网络的调制器,进行星座图的映射,进入到信道层中,以上是发射机端的整体流程。
[0145]
对于信道层,它训练时是一层神经网络层,它能够将不同信噪比的噪声加入到上一层的神经网络输出中,帮助整个神经网络完成抗噪声的训练,而在实际使用时,它就是真实的物理信道。
[0146]
在信道层之后便是接收机端,所述接收机包括基于实施方式一中构建的双向lstm神经网络译码器,还包括判决输出,能够直接将接收到的含有噪声的信息序列进行译码,同样是通过多层的lstm网络来寻找接收序列之间的时间相关性,从而判决输出完成译码。
[0147]
本实施方式在训练时,使用add层将一个与dnn调制器输出端张量维度相同的噪声张量与信号张量相累加,代表加性高斯白噪声的影响,输入至lstm编码器和dnn调制层的输出端,作为噪声来锻炼网络的抗噪声能力,其实际网络结构如图13所示。从图13中可以看出,在加入高斯白噪声前我们需要将发送信号进行功率的归一化,这样才能确保添加的噪声功率能够对应于不同大小的信噪比,功率归一化的方式是让发送信号的每一个码块实部与虚部的平方和的均值为一定值,在实际仿真中,我们可以在add层之前添加一个lambda层,在所述lambda中编写函数,去除发送信号的直流分量,并除以标准差,使得实部与虚部
的平方和为设定的发送功率。
[0148]
实施方式六,本实施方式是对实施方式五所述的一种基于双向lstm的卷积码编码和译码方法的进一步限定,本实施方式中,对所述lstm编码器做了进一步限定,具体包括:
[0149]
所述lstm编码器具体包括:输入层、隐层神经和输出层;
[0150]
所述隐层神经由若干层双向lstm网络层、批量标准化bn层和drop out层组合而成,用于通过双向lstm神经元产生时间相关性的序列;
[0151]
所述输入层用于将输入的码本放大到高维的空间中;
[0152]
所述双向lstm网络层通过学习卷积码输入编码序列前后之间的相关性,将顺序输入的卷积码编码码字变为可以被神经网络所拟和的特征规律;
[0153]
所述批量标准化bn层通过归一化公式让神经网络的输出数据重新分布在规定的范围内而不改变其分布规律;
[0154]
所述drop out层通过训练时对神经网络训练单元按照一定的概率将其从网络中移除来防止网络的过拟合;
[0155]
所述输出层用于将高维的信息降到低维。
[0156]
本实施方式中,给出了lstm编码器的具体结构,如图11所示,编码器和译码器采用的都是多层双向lstm、bn层级联的网络结构,通过双向lstm神经元来产生时间相关性的序列或者对接收序列进行相邻码字间相关性的提取。
[0157]
实施方式七,本实施方式是对实施方式五所述的一种基于双向lstm的卷积码编码和译码方法的进一步限定,本实施方式中,对所述调制器做了进一步限定,具体包括:
[0158]
所述调制器为dnn全连接层网络调制器,将编码后的信息映射为相应码长的发送序列,并进行二维调制;
[0159]
所述二维调制具体为将符号分为实部和虚部两个部分同时传输。
[0160]
本实施方式中,给出了调制器的具体结构,调制器部分采用的是多层的全连接网络dnn,将编码后的信息映射为相应码长的发送序列并进行调制,由于深度神经网络目前无法对复数有着良好的处理方法,因此在调制时,如果需要二维调制,则必须将一个符号分为实部和虚部两个部分同时传输。
[0161]
实施方式八,本实施方式是对实施方式五所述的一种基于双向lstm的卷积码编码和译码方法的进一步限定,本实施方式中,对所述建立接收到的信源序列样本集,根据所述接收到的信源序列样本集和双向lstm神经网络构造所述级联训练的神经网络的级联训练码本这一步骤做了进一步限定,具体包括:
[0162]
设置一个长为l的单向队列,l=m-1,m为卷积码约束长度,初始化为全0;
[0163]
将接收到的信源序列按照每组timesteps个串行输入到队列中,每个比特输入时的队列状态值为映射输出;
[0164]
构造timesteps*l的二维张量,所述二维张量里的每一个行分量均与前l个行分量以及后l个行分量有相关性;
[0165]
根据神经网络参数设定的batchsize,将所述timesteps*l的二维张量变为(batchsize,timesteps,l)的三维张量;
[0166]
根据所述(batchsize,timesteps,l)的三维张量,构造级联训练码本。
[0167]
基于发射机与接收机级联仿真的整体框架,信源0、1比特流信息无法直接输入到
神经网络中进行训练,因为信源信息是完全随机的,它的相邻比特之间不存在任何的相关性,因此lstm神经网络编码器无法对其进行时间相关性的编码,这样训练出来的神经网络只是对0、1两种比特的分类,不具有任何的信道编码意义。本实施方式中,在输入神经网络前对信源比特序列进行映射重构,使其成为带有相关性的码本。
[0168]
卷积码的编码器通过级联的移位寄存器,将0、1比特流按时间顺序输入到其中,在每个时刻,对不同移位寄存器中的数据进行固定抽头的模二和输出,产生时间相关性的编码码字。因此也可以对输入神经网络的比特序列进行预处理,使其达到与卷积码编码一样的效果。例如:当要产生一个(n,k,m)的卷积码,在传统卷积码编码中m为约束长度,其值为编码器的移位寄存器个数m 1,则需要一个长为m的队列,对随机的0、1比特序列进行k位交织后(k为1时直接顺序输入)从左往右入队再出队的操作,就能将原有的0、1比特映射为具有前后相关性的不同序列,再输入编码器网络进行编码。
[0169]
例如:某一段信源信息为[1,0,0,1,1,0,1,1],如果想通过这个神经网络产生类似卷积码编码约束度m为4,即m=3的时间相关性编码,如图12所示,则只需要进行重构。
[0170]
如图12所示,构建一个长为3的队列,设置其初始状态均为0,将信源信息从左侧依次输入,并将当前队列中的信息进行向右平移,就可以得到每个时刻对应的队列状态,将这8个含有前后相关信息状态序列代替原有的0、1比特序列,输入到lstm神经网络中进行训练,便可以得到一种记忆深度为3的基于神经网络的卷积码编码。
[0171]
实施方式九,下面通过具体实施例来验证本发明的技术效果:针对本发明所述的一种基于双向lstm的卷积码译码方法,根据不同神经网络类型对卷积码译码的影响,具体如下:
[0172]
如图14所示,在固定神经网络的训练参数量、优化器选择、损失函数选择和激活函数选择后,经过相同的30个epochs的训练后,得到了如图所示的误码率性能曲线。从图中可以看出,由lstm神经网络构成的(5,1,9)卷积码译码器的性能远优于由dnn全连接网络构成的译码器,这是因为dnn全连接网络不具备提取时间相关性特征的能力,而(5,1,9)卷积码的码字在前后码组之间有着很强的关联性,因此同样具备时间上相关性的lstm神经网络才能进行译码。
[0173]
另外,双向lstm的性能明显优于单向lstm的,其在10-5
~10-6
误码率区间上有着约3db的优势,因为双向lstm在相同训练参数量下,相比与单向lstm有着更强的时间相关性计算,故采用双向lstm结构虽然增加了神经网络训练和预测的复杂度,但能够有着很好的性能收益。
[0174]
实施方式十,针对本发明所述的一种基于双向lstm的卷积码译码方法,对不同码长卷积码的译码性能进行对比,具体如下:
[0175]
如图15所示,当码长较短时,双向lstm译码器的误码率性能是远差于传统维特比译码,例如像码长最短的2-1-9卷积码,双向lstm网络在实验设置的训练参数下并没有准确提取出相应的译码规律,导致误码率曲线在信噪比增大时没有快速下降,其原因可能是码长短导致相应训练单元的特征数目少,神经网络完全拟和所需要的数据量和训练时间远大于实验设置的条件。但当码长大于等于4时,双向lstm译码器在3db以上的信噪比区域译码性能就能达到10-5
量级,且其与传统维特比译码的差距越来越小,因为对于长码长的卷积码,神经网络能得到更多的特征数目,从而更有利于神经网络学习译码方式。当然,传统维
特比译码是针对某一码型定制的译码方式,其对抗高噪声的能力是优于神经网络的,从图中可以看出双向lstm译码器在低信噪比0~3db区域与维特比译码的译码性能差距比较大,以(5,1,9)卷积码为例,在10-5
~10-6
这一误码率区间,双向lstm与维特比译码相差约有1.7db。
[0176]
实施方式十一,针对本发明所述的一种基于双向lstm的卷积码译码方法,对相同码长不同约束度的译码性能进行对比,具体如下:
[0177]
如图16所示,当卷积码码长固定,约束长度变化时,基于双向lstm网络的卷积码译码器的性能随着编码约束度的下降略有减小,但变化不是特别剧烈。这是因为在码本构造时,本发明所述的方法是按照码长对接收序列进行了重组,因此编码约束度只是隐含在接收序列中,它不影响整个网络的结构和维度大小变化,进而不会对神经网络的训练产生本质上的影响。换言之,只要码长能够满足神经网络有效提取相邻码字之间的特征,约束长度对译码性能的影响远小于码长的变化。
[0178]
实施方式十二,针对本发明所述的一种基于双向lstm的卷积码译码方法,对单径瑞利信道下的误码率性能进行分析,具体如下。
[0179]
如图17所示,瑞利衰落也是无线通信中常见的信道环境,下面研究瑞利衰落信道下双向lstm卷积码译码器的性能,以(5,1,9)卷积码为例,假设信道环境为只存在单一路径且不存在多普勒频移的瑞利衰落信道,其信道增益为一复高斯分量。
[0180]
图中虚线是awgn信道下(5,1,9)卷积码双向lstm译码和维特比译码的性能曲线,而实线是同样的码型在单径瑞利信道下的性能曲线,且神经网络的设置参数与awgn中一致,对比后发现:在10-5
~10-6
误码率区域,原本awgn信道下,双向lstm神经网络差于传统维特比译码约2db左右;而信道变为更加复杂的瑞利信道后,两者的差距下降到了约0.5db左右。这也说明了神经网络可以看作是一个通用的函数逼近器,当信道条件变得复杂时,传统译码方式像通过严格的数学公式推理变得十分困难,神经网络易于对复杂条件逼近的优点得到了展现。
[0181]
通过该实施方式的比较,能够确定本发明所述的方法对于更加复杂的多径传输加频率色散的无线信道神经网络的优越性将会变得更加突出。
[0182]
实施方式十三,针对本发明所述的一种基于双向lstm的卷积码译码方法,对复杂度进行分析,具体如下:
[0183]
对于维特比译码来说,假设信息总长度为l,采用(n,k,m)的卷积码,其状态数为2
km
,每个时刻要做2
km
个加比选得到2
km
个状态的残留路径,总运算量为l2
km
次加比选,同时也需要l2
km
个储存单元。因此其复杂度为o(l2
km
),当码长n和约束长度m很大时,维特比译码所需运算量和存储量随码长n呈线性增长,其状态数和运算量随分组大小k和约束长度m呈指数增长。因此,对于长码长和高约束度,即编码约束长度na很大时,传统维特比译码的复杂度会变得十分大,实际应用价值也变得十分低。
[0184]
而对于双向lstm网络卷积码译码器来说,其复杂度主要取决于矩阵运算所需单元数,且不同类型的神经网络层有不同的计算方式。
[0185]
1、全连接层,运算单元数由公式(3)所示:
[0186]
param=(input_dims 1)
×
output_dims
ꢀꢀꢀ
(3)
[0187]
式中,param是运算单元数,1代表的是每个神经元的偏置bias,神经元个数与输出
维度相等。
[0188]
2、bi-lstm层,运算单元数由公式(4)所示:
[0189][0190]
式中input_dims为输入维度数,hidden_size为lstm细胞状态维数,对于单向lstm,细胞状态维数与输出output_dims相等,而对于双向bi-lstm,输出output_dims是细胞状态维数的2倍,加1与全连接层同理,是考虑到输出时的偏置bias。
[0191]
3、bn层(batch normalization)和dropout层,其作为辅助训练的网络层,不参与反向传播运算作为训练单元,且大小固定值较小,可以忽略不计。
[0192]
对于神经网络译码器来说,上述的每一个parma代表一次乘法,且因为在构造码本时,只与卷积码的码长有关,与卷积码的约束长度无关,当卷积码码长n远小于双向lstm层细胞维度(本实施例为200),约束长度m远小于本发明所述方法中在构造码块时设定的神经网络时间序列长度timesteps时,其运算单元数主要由lstm层的维度和数量有关,换言之,码长n变化引入的复杂度变化只体现在神经网络的第一层中,以本实施方式的仿真参数为例,码长变化对运算量的影响仅为δparam=50*δn,因此其计算复杂度为o(n),与码长呈线性关系,相对于整体运算量来说几乎没有影响。
[0193]
表3双向lstm译码器与维特比译码器复杂度对比
[0194][0195]
综上,本发明所述的双向lstm神经网络卷积码译码器对于长码的兼容性是远远大于传统维特比译码的,码长越长,约束长度越大,神经网络译码器的复杂度优势就更加的明显,且传统维特比译码常采用数据流的输入方式,并行能力差;而神经网络对数据的处理能够通过调整timesteps和batchsize的大小以达到高度的并行化,因此,大数据量的情况下,神经网络卷积码的译码器在传输速率上也更加的有优势。
[0196]
实施方式十四,针对本发明所述的一种基于双向lstm的卷积码编码和译码方法,对编码时不同码长的误码率进行分析,具体如下:
[0197]
如图18所示,在编码时,采用固定相关长度的大小,只改变码长的大小,再用相同的神经网络模型和参数进行训练,并在awgn信道下进行误码率性能的测试,可以得到如图18所示的误码率曲线。
[0198]
从图中可以看出,对于发射机和接收机级联的神经网络系统,码长增大时对应的神经网络译码性能也是增大的,这一点是与单单在译码器端使用双向lstm的卷积码译码器保持一致;另外,对于相同码长、相同的编码约束度的双向lstm卷积码译码器,本发明所述的发射机与接收机级联的神经网络同时对信息进行编码和译码,用神经网络对信息进行编码和译码是利用神经网络的梯度下降算法达到了全局的最优点,因此明显有着更好的误码率性能。
[0199]
实施方式十五,针对本发明所述的一种基于双向lstm的卷积码编码和译码方法,与传统维特比译码进行对比,具体如下:
[0200]
如图19所示,保持相关序列长度不变,不同编码长度的神经网络级联训练编码和译码系统的误码率性能曲线与传统的(5,1,9)卷积码qpsk调制解调加维特比译码的对比图,从中可知,维特比译码作为卷积码的最佳译码方式,其在相同码长和约束长度的条件下,低信噪比区域误码率性能确实优于神经网络训练得到的编码和译码方式,但当神经网络的码长增加时,其译码性能逐渐提升并超过传统的维特比译码性能。
[0201]
然而虽然要到达相同的误码率性能,基于深度学习神经网络发射机与接收机级联整体训练的卷积码编码器和译码器需要使用更长的码长,即更低的频谱效率,但在某些对信息速率要求不高的应用场合,基于神经网络学习得到的编码方式却有自己的优势。比如在军事通信场景,其对信号传输的速率和延时要求并不像移动通信那样严格,但其对信息传输的保密性和抗截获要求很高。
[0202]
由神经网络训练得到的卷积码编码和调制方式,它虽然与传统的卷积码编码以及qpsk调制方式在原理上相似,但输出已不再是0、1电平,而是神经网络输出的不规则浮点数。就以图19中的码长5,相关长度9,二维调制为例,其调制器神经网络输出的二维星座图如图20所示。
[0203]
从图20可知,编码器的输出星座点分布虽然类似qpsk分布在4个对角线上,但由于神经网络卷积码编码器的输出不再是只有0和1构成的比特序列,而是拥有多种分布的浮点数序列,故输出的星座图也不是传统的线性二维调制星座图,用传统的qpsk加维特比译码接收机更是不可能将其进行信息的解调和复原。因此,用神经网络训练得到的编码和译码方式,可以认为是一种lpi(low probability of intercept)信号,即低的截获概率概率信号,它不需通过降低发射功率来使敌对方侦测不到信号,而是让对方及时能收到信号也无法复原和恢复,从而达到抗截获和安全性的目的。
[0204]
实施方式十六,针对本发明所述的一种基于双向lstm的卷积码编码和译码方法,对复杂度进行分析,具体如下:
[0205]
对于传统的卷积码编码与译码系统来说,其复杂度主要是集中在译码器一端,编码器采用的移位寄存器来实现生成多项式的滚动,复杂度可以忽略不计,因此与针对一种基于双向lstm的卷积码译码方法中传统维特比译码器端的复杂度分析一致,当信息总长度为l,采用(n,k,m)的卷积码时,其状态数为2
km
,每个时刻要做2
km
个加比选得到2
km
个状态的残留路径,总运算量为l2
km
次加比选,同时也需要l2
km
个储存单元,其整体复杂度近似为译码器端的复杂度为o(l2
km
)。
[0206]
对于这由一整套神经网络所构成的卷积码编码和译码系统,其复杂度就需要同时考虑发射机的编码器端以及接收机端的译码器。假设神经网络所产生的编码也是码率为k/n,相关序列长度也为m,由第1、2节的神经网络结构和码本构造方式可知,对于编码器端,影响神经网络运算参数量的主要是输入端数据的特征数,而输入端码本就是按照相关序列长度m构造的,而一个相关长度只能构造一个信息位的相关序列,对于码率为k/n的编码方式,有k位信息位,因此在编码器端其计算复杂度为o(k
·
m)。而对于译码器端,由于本发明构造的神经网络与一种基于双向lstm的卷积码译码方法中构造的神经网络相同,其计算复杂度也只与编码的码长n有关,其表达式为o(n),因此整个神经网络的整体计算复杂度为o(k
·m n)。
[0207]
表4编码与译码整体复杂度对比
[0208][0209]
从表4可知,由于传统卷积码编码的串行输入方式,处理相同长度的信息其编译码复杂度与序列长度呈线性关系,与编码信息位和约束长度的乘积呈指数关系;而神经网络组成的卷积码编码与译码系统,由于神经网络的块结构和并行处理结构,其复杂度只与神经网络输入端的维度变化有关,对于本发明所设计的神经网络,其计算复杂度仅与信息位和约束长度乘积和码长呈线性关系,当采用最常见的1/n编码效率时,计算复杂度仅与约束长度和码长的和呈线性关系。因此,对于大数据处理,长码长、高约束度的信道编译码系统,神经网络相比于传统卷积码编码与译码系统在计算复杂度方面有着十分可观的优势。
[0210]
综上所述,本发明所设计的利用发射机和接收机整体级联的神经网络系统对信源序列进行卷积码的编码和译码,与单单在卷积码译码器使用神经网络译码相比,在长码长、高约束度的情况下拥有一定的误码率性能优势。虽然与传统维特比译码方式相比,误码率性能上略有差距,但在计算复杂度上有着自己的优势,同时,由于整体都采用了神经网络编码和译码,因此这是一种全新的卷积码编码和译码方式,其相较于传统的通信系统,其抗截获性和安全性大大提升。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献