基于改进卷积神经网络的调制方式识别*

2022-11-09 02:34宋伟健孙雪丽谭继远
计算机与数字工程 2022年9期
关键词:识别率复杂度卷积

宋伟健 孙雪丽 谭继远

(1.海军航空大学参谋部 烟台 264001)(2.海军航空大学航空基础学院 烟台 264001)(3.海军航空大学研究生三队 烟台 264001)

1 引言

调制识别是通信的重要组成部分,其基本任务是识别出信号的调制参数、方式等,为后续信号的信息提取和处理等提供依据[1~2]。目前,调制识别技术在军事和民用领域都有着较大程度的运用,如何在不同的环境及场合中有效地提取调制信号的特征参数、正确识别出调制方式,是军用、民用的一个重要研究内容[3~4]。

近年来,国内外学者对该方面的研究主要集中在两类方法:一是基于似然函数的识别方法[4~5];二是基于特征的识别方法,主要包括小波变换、高阶累积量法[5~6]、循环谱算法[7]、KS检测算法[1,8]、神经网 络、决 策 树(Decision Tree)[9]和 支 持 向 量 机(SVM)[10~12]。信号调制方式的多样性和信道条件的复杂性,使得如何有效区分多种调制方式仍是一个研究的难点问题。深度学习是机器学习的分支,相比于传统的特征提取方法,其可以自动提取原始数据的关键特征,并逐层学习得到数据特征的内在表达式,因此近年来在计算机视觉、语言处理、图像识别等领域得到了广泛的应用。2016年,Timothy J O′Shea等构造了一个双卷积、双连接层的卷积神经网络(Convolutional Neural Networks,CNNs),成功识别了QPSK、64QAM等11种调制方式[13]。该方法本质也是一种基于特征的识别方法,可以自动学习调制数据的特征,相比于SVM和决策树等传统的机器学习方法,在识别种类和最大识别率上都有所提高,但算法的训练时间较长,同时8PSK和WBFM的识别率有待提高。为了提高WBFM的识别率,Krishana Karra等改进和加深了网络。但是相比于文献[13],4-QAM和16-QAM的识别率有所下降。2018年,Rundong Li等对深度卷积神经网络进行了改进,通过增加网络层数,成功识别了7种调制方式,提高了算法的抗噪性和鲁棒性,但是网络复杂度有所增加[15]。查雄等提出了一种基于循环神经网络的信号识别与解调模型[16],成功识别并解调了BPSK、QPSK、8PSK和16QAM,但是识别种类有限,同时网络复杂度较高。如何寻找一种复杂度低且识别率较高的神经网络进行调制识别是未来一个研究的重点。

基于此,本文引入门控循环单元,提出了一种CNN-GRU的信号多调制类型识别方法。首次将CNN-GRU网络用于调制识别,相比于CNN算法,本文算法具有以下优点:1)网络复杂度降低,缩短了网络训练时间;2)调制识别率得到了提高。

2 网络描述

2.1 卷积神经网络

CNNs是神经网络的一种,近几年在图像识别领域广泛应用并取得了较好的效果。CNNs组成如图1所示[17]。

图1 CNN网络

无线电通信系统中的许多恢复过程可以通过随机滤波器(具有良好表征的概率包络和相干时间)的线性混合、旋转、时移、缩放和卷积不变性来考虑。这类似于在视觉领域学习中,图像中的特定项目或特征匹配滤波器可通过缩放、移位、旋转、遮挡,光照变化和其他形式的噪声来解决。本文试图利用卷积神经网络的移位不变特性来学习匹配滤波器,这些滤波器可以描绘通信信号的特征,而无需理解或估计基础波形。

2.2 门控循环单元

GRU是循环神经网络(Recurrent Neural Networks,RNN)的一种,GRU能综合利用输入信息的时序相关性,提高预测的准确度。GRU的基本单元结构如图2所示。

图2 GRU基本单元结构图

GRU的预测公式为

其中[]表示相连的向量。

3 实验数据与CNN-GRU网络

3.1 实验数据库

本文采用文献[11]中的RML2016.04C数据库和Timothy J O′Shea公开的RML2016.10a[18]数据集,该数据集由每次采样数据的正交分量和同相分量组 成,维 数 为2×128。其 中,RML2016.04C有220000个数 据 样本,RML2016.10a有162060个数据样本[19],共包含11种调制方式,其中模拟调制为AM-DSB,AM-SSB和WBFM,数字调制为BPSK,8PSK,CPFSK,GFSK,4QAM,16QAM,64QAM和QPSK。两个数据集都以间隔2dB在-20dB~18dB信噪比区间内近似均匀分布。其中,RML2016.10a数据集通过增强各种外在影响,使得信道条件更加逼真,因此该数据集更加接近真实场景下的调试数据。

3.2 网络结构与网络实现

本文采用的CNN-GRU网络由两个卷积层、一个GRU层和一个全连接层组成。卷基层、GRU层和全连接层采用的激活函数分别为ReLU、sigmoid和SoftMax。为了防止网络的过拟合,在卷基层和GRU后增加Dropout,每次训练随机减少部分神经元。梯度下降优化算法为Adam,输入2×128维度的I/Q调制数据,两层卷基层的卷积核大小与个数分别为128(1×3)和32(2×3)。GRU层包含128个神经元,全连接层神经元个数应与参与分类的调制方式个数相等,具体的网络结构如图3所示。

图3 CNN-GRU网络结构图

由于不同网络层对输入维度的要求不同,因此对输入信息的维度进行变换。卷积层的输入要求为4D张量,因此将2×128维度的原始数据转换为符合卷积输入特性的(None,1,2,128)张量。经过CNN2的卷积后,输出维度为(None,128,1,124)。GRU层的输入维度应为3D张量,将卷积层输出维度转换为(None,128,124)[19]。经过GRU网络的训练后,输出张量(None,128)。然后输入到全连接层中。

各层的作用如表1所示。

表1 CNN-GRU网络各层功能表

3.3 卷积层的学习

卷积层的作用主要是进行信号的特征提取,卷积过程为多个卷积核分别对前一层的特征图进行卷积,实现特征提取和映射,一层卷基层通常包括很多个卷积核,从而实现了信号的多特征提取。在卷积神经网络中,每个特征图进行卷积运算时都使用相同的权值,这一过程成为权值共享,如下图所示。权值共享不仅可以减少模型的参数数量,还可以保持对输入的位置、尺寸和大小具有位移不变性。

图4 CNN-完全权重共享

假设x=[x1x2…xB]为卷积层的输入信息,xb为信号b的特征矢量。卷积层的激活表达式如下:

式中,hj,k代表特征图j的卷积网络输出,s表示卷积器的大小,wTb,j代表权值参数,aj代表偏置。卷积层通过卷积可以提取到各个调制方式的关键特征。激活函数的表达式如下:

卷积层输出特征向量的高度和宽度关系如下:

式中,heightin和heightout分别为卷积层输入向量和输出向量的高度,heightkernel和widthkernel为卷积核的高度和宽度,widthin和widthout分别为卷积层输入向量和输出向量的宽度,stride为卷积核的个数。padding为扫描方式。

3.4 GRU的训练过程

GRU的计算过程如下所示:

输出层的输入为yit=woh,输出层的输出为

某一时刻的损失函数可以表示为

所有时刻的损失函数为

通过后向传播算法求出E对每个参数的偏导值:

通过偏导值更新迭代参数直到损失函数收敛。

3.5 SoftMax层

调制方式为多样式分类,因此全连接层采用的SoftMax函数。该函数可以将输入映射为概率大小输出,从而完成多样式分类。假设样本标签y含有k个 不 同 的 值,对 于 训 练 样 本{(x(0),y(0)),…,(x(m),y(m))},有y(i)∈{1,2,…,k}。对于输入样本x,softmax层会计算出样本中所对应的类别j的概率估计,表示的是x的类别概率,学习的假设函数hθ(x)如下所示:

式中,θ1,θ2,…,θk∈Rn+1是模型参数。为了简化模型,定义函数:

SoftMax的代价函数进一步可以表示为

将k个值进行叠加,得到网络将样本x分类为类别j的概率为

其中,最大概率时对应着样本x的分类类别。

4 实验结果与分析

4.1 实验环境

实验运行在Ubuntu系统下,CPU为Intel Xeon E5-2640 v4,GPU为Nvidia Tesla M40,CPU大小为128GB。网络环境建立在TensorFlow的基础上。网络最多训练次数为100次,为防止过拟合,当训练损失函数值超过6次未改善时,网络停止训练并保存训练模型。训练数据和检测数据各占数据集的50%。每组仿真实验进行10次,最后的调制识别结果为10次调制识别结果的平均值。

4.2 网络训练分析

本文网络的损失函数如图5、图6所示。

图5 RML2016.04C下CNN-GRU的损失函数图

从图5和图6中可以看出,本文网络训练效果较好,两者的训练与测试损失函数都最终收敛,未发生过拟合或欠拟合的现象。

图6 RML2016.10a下CNN-GRU的损失函数图

4.3 正确识别率对比

4.3.1 RML2016.04C数据集下的识别率对比

图7~图10为SNR为0dB和18dB下的混淆矩阵。从图中可以看出,算法识别率的改善主要体现在对8PSK的识别率上。从图11可以看出,随着SNR的增大,本文网络的识别性能由于CNN2。在SNR为-2dB时识别率超过90%。

图7 SNR=0dB时,CNN识别率

图8 SNR=0dB时,CNN-GRU识别率

图9 SNR=18dB时,CNN识别率

图10 SNR=18dB时,CNN-GRU识别率

图11 RML2016.04C下识别率对比图

4.3.2 RML2016.10a数据集的识别率

图13 SNR=0dB时,CNN-GRU识别率

下面分析了RML2016.10a下的CNN-GRU识别率。由图12~15可以看出,随着SNR的提高,调制识别性能得到了提高,主要是QPSK和WBFM的调制识别准确率随着SNR的提高得到了改善。从图16可以看出,当SNR高于-4dB时本文算法的性能优于CNN2。

图12 SNR=-8dB时,CNN-GRU识别率

图14 SNR=6dB时,CNN-GRU识别率

图15 SNR=18dB时,CNN-GRU识别率

图16 RML2016.10a下CNN-GRU与CNN2识别率对比图

4.4 网络训练复杂度分析

在复杂度分析中,通过RML2016.04C下CNN-GRU与CNN2网络[13]的对比,两者的计算复杂度如表2所示。

表2 CNN-GRU与CNN2运行时间与训练参数对比表

从表2中可以看出,CNN2平均每次的训练时间是CNN-GRU的7.4倍,训练总用时为CNN-GRU的6.9倍。训练时间的减少是由于CNN-GRU的训练参数相比于CNN2减少了近一个量级。

5 结语

本文在两调制数据集的基础上,研究了11种调制方式的类型识别。该方法通过将CNN和GRU网络结合,首先利用CNN特征提取,然后利用GRU分析调制数据的时序相关性,实现了调试方式的多类型识别。仿真结果表明,相比于CNN2方法,本文所提算法降低了网络复杂度,调制识别率得到了提高。

猜你喜欢
识别率复杂度卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于类图像处理与向量化的大数据脚本攻击智能检测
从滤波器理解卷积
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
一种低复杂度的惯性/GNSS矢量深组合方法
提升高速公路MTC二次抓拍车牌识别率方案研究
基于傅里叶域卷积表示的目标跟踪算法
求图上广探树的时间复杂度
高速公路机电日常维护中车牌识别率分析系统的应用
某雷达导51 头中心控制软件圈复杂度分析与改进