基于卷积神经网络的多进制相位调制信号识别算法

2019-11-12 05:11吴佩军吕志良刘雨灵张笑语
计算机应用与软件 2019年11期
关键词:时频准确率卷积

吴佩军 侯 进* 吕志良 刘雨灵 徐 茂 张笑语 陈 曾

1(西南交通大学信息科学与技术学院 四川 成都 611756)2(成都华日通讯技术有限公司 四川 成都 610045)

0 引 言

多进制数字相位调制技术是现代通信系统中常用的数字调制技术之一。如何有效地识别出多进制数字相位调制(Multiple Phase Shift Keying,MPSK)信号中的BPSK、QPSK和8PSK信号一直是调制识别领域内人们关注的一个热点和难点问题。

在传统的调制信号识别领域,主要采用基于统计和基于决策的两大类方法进行识别。然而传统方法具有求解参数多、计算公式复杂等缺点。

近年来,大量的机器学习算法,如期望最大值算法[1]、反向传播人工神经网络[2]、k邻近算法[3]以及支持向量机[4]等算法被逐渐应用于调制信号识别领域内,并取得了一定的成效。

卷积神经网络(Con1volution Neural Network,CNN)作为机器学习算法的一大重要分支,近年来在图像识别领域取得了许多重要突破。深层卷积神经网络更容易提取到数据的抽象特征,获得不同数据类别间的隐式表达,有利于捕捉图像数据中的关键信息[5]。Krizhevshky等[6]提出了AlexNet模型,它指出随着网络层数的加深,可以学习图像中的复杂高维特征,提升分类准确率。此外,AlexNet使用Relu作为激活函数,降低了参数计算量;并且使用了dropout技术在训练时剔除某些神经元,避免模型的过拟合。但AlexNet在浅层时使用如9×9、11×11的大卷积核提取特征,具有运算开销大的缺点。VGG[8]通过使用多个3×3的卷积核代替AlexNet的大卷积核,减少了运算参数,改进了AlexNet运算开销大的缺点。与此同时,Inception V1[7]通过提出一种分解-变换-聚合的结构:使用1×1、3×3和5×5的卷积核并行合并,并在合并后接1×1卷积核以减少特征数量。随着CNN层数的加深,容易出现梯度扩散。此时单纯地加深网络层数难以提升识别准确率。因此,文献[9]在Inception V1的基础上加入了批量正则化层(Batch Normalization,BN),提出了Inception V3模型,BN层的加入能够提升网络的泛化能力。ResNet[10]将输入信息跨层传递并与卷积后的输出相加,在不增加网络层数的情况下保留了丰富的高维信息,进一步解决了梯度扩散的问题。何凯明等[11]提出了ResNeXt模型,在文献[10]的结构中加入了文献[9]的分解-变换-聚合思想,使得ResNeXt能够在不增加网络复杂度的情况下提升准确率。文献[12]提出了DenseNet模型,能够有效地解决梯度消失的问题,并且在大幅度减少参数量的前提下,强化了特征传播、支持特征重用。

近年来,CNN在调制信号识别领域内也开始逐渐兴起,并取得了一定的成效。薛伟等[13]利用小波变换提取MFSK、MPSK和MQAM信号的特征参数,再将提取的特征输入到三层的人工神经网络中进行训练,取得了较好的分类效果,但此方法需要人工提取参数特征,且人工神经网络相比深层CNN提取特征的能力有限。Hauser等[14]利用原始IQ数据作为4层CNN的输入,实现了8类调制信号的识别,识别准确率达到了80%。文献[15]将原始IQ数据输入到4层CNN进行训练,对不同信噪比的调制信号进行了识别分类,模型在高信噪比情况下识别准确率较高,随着信噪比的减小,准确率降低,最终在测试集上达到66.9%的准确率。文献[16]参考文献[9]提出的Inception结构,设计了一个三层的CNN提取原始IQ数据的特征,再将提取的特征输入到长短期记忆网络(Long Short-Term Memory,LSTM)进行分类,实现了PSK、QAM和FSK等调制信号的分类识别,识别准确率最终达到了87%。但这一方法对MQAM的子类信号识别准确率不高,16QAM和64QAM的准确率均只有40%左右。文献[14-16]都为利用原始IQ数据输入到浅层CNN中进行分类,取得了一定的成效。考虑到CNN对于丰富的图像信息的提取效果,将IQ数据经过变换生成图像数据训练的研究也逐渐增多,已有方法说明调制信号的图像信息较原始IQ数据,能够提升CNN的分类准确率。陈敏华等[17]提出一种基于CNN的信道均衡算法,利用星座图实现了QPSK的识别,达到了82%的准确率,但信号种类单一,识别难度较小。Zhang等[18]将雷达信号的时频图输入到一个5层的卷积网络进行特征提取,再将提取的特征输入到多层感知机,实现了8类雷达信号的分类,最终准确率达到了93.7%。Wang等[19]提出了一个基于调制信号眼图的6层CNN,实现了RZ-OOK、NRZ-OOK、RZ-DPSK和4PAM的识别。Zhang等[20]利用信号时频图输入到一个5层的CNN中,实现了LFM、SFM、PFM、FSK及未调制信号的识别,达到了99.1%的准确率,但此方法对于FSK信号识别准确率较低,大约为90%。Karra等[21]提出了一种分层深度神经网络,利用IQ数据经过FFT变换得到信号时频图,实现了一个11类信号的分类器,最终达到了90%的总准确率,但该网络对于QPSK、8PSK和16QAM的识别效果均低于70%。Peng等[22]利用调制信号的星座图输入CNN的经典模型AlexNet中进行训练,实现了QPSK、8PSK、16QAM和64QAM的分类,但模型对16QAM和64QAM识别效果差,低信噪比情况下16QAM和64QAM准确率仅有80%,相比文献[15],单类调制信号的子类识别效果有了显著提升。

目前存在的分类方法中,主要使用浅层CNN进行调制信号的识别,且CNN多用于不同种类调制信号的识别,但对于单类调制信号子分类的识别研究不多。单类调制信号子分类之间相似度比不同种类间信号大,使用原始IQ数据识别难度大,利用图像信息可以提升其分类准确率。针对上述问题,本文采用IQ信号的时频图作为训练数据,并用深层的CNN以提取图像的高维特征,这样既避免了依靠人工设计复杂分类器,又实现了相似度较高信号的自动识别。

1 数据采集与预处理

1.1 IQ数据采集

为收集实验所需的MPSK的三类子信号BPSK/QPSK/8PSK,本文采用Agilent E4438矢量信号发生器发射信号,通过天线使用R&S ESMD接收机进行接收。采集过程中参数设置如下:固定滤波带宽为150 KHz,频点583 M,频谱带宽为500 kHz,滤波器为矩形滤波器。为了客观真实地反映信号特征,本文在进行数据采集时,采用以1 kHz为步长从24 kHz变化至30 kHz的7种码率和以10 dBm为步长从-20 dBm变化至-50 dBm的4种幅度交叉组合,得到28种信号。

1.2 数据预处理

对于调制信号,时频图具有重要的意义,其特征通常蕴藏于相位随时间的变化中,时间和频率两者具有紧密的联系。从统计的角度看,时频图能比较完整地包含信号的关键信息。因此,利用时频图进行分类识别是信号进行分类识别中最有效的途径之一。短时傅里叶变换(Short-Time Fourier Transform,STFT)通过加窗对时域信号进行无限等长细分,每个细分部分近似平稳,进一步对每个加窗细分部分进行傅里叶变换,从而得到IQ数据的二维时频谱。

短时傅里叶变换形式表示为:

(1)

式中:ω(n)为窗函数,x[n]为输入信号序列,n为时域采样点数。

由于海明窗能够加宽主瓣减小旁瓣,波动性小,能够有效抑制MPSK信号的频谱泄露,因此本文采用海明窗函数作为STFT变换的窗函数。海明窗函数表示为:

ω[n]=0.54-(0.46×cos(n/N))

(2)

式中:n为输入信号序列,N为FFT点数,本文中N设为2 048。

采集的IQ数据通过STFT变换,即可得到MPSK信号的时频图,如图1所示。通过图1可以看出MPSK信号的时频图相似程度极高,肉眼很难完全区分。

图1 BPSK/QPSK/8PSK的时频图

由于MPSK信号的时频图的形式较为固定,若在预处理中加入翻转、随机剪裁等数据增强的处理并不会提升实际应用中的准确率,反而会导致模型在实际应用中的识别效果不佳、泛化性差。因此在数据集的预处理过程中,本文仅将图像的大小缩放为112×112像素,不进行对比度、亮度和随机剪裁等操作。

生成的所有时频图被随机划分成训练集、验证集和测试集三个部分,并设定数据类别的标签,数据划分情况如表1所示。

表1 时频图数据集划分情况

2 MPSK识别算法模型

2.1 ReSENet网络

目前,已经有诸多优秀模型在图像识别领域内取得了良好成效。本文受深度卷积神经网络ResNeXt[11]启发,设计了一个33层的CNN网络ReSENet,用以提取信号的高维特征,并进行识别。ReSENet的整体结构如表2所示。

表2 ReSENet网络结构图

续表2

在设计过程中,本文结合文献[23]的SENet网络能够强调有用通道中信息的特点,加入了SENet中的SE模块作为ReSENet的基础模块ReSE。ReSE模块结构如图2所示。图2中ResNeXt单元结构和SE模块分别如图3和图4所示。

图2 ReSE模块结构图

图3 ResNeXt结构单元示意图

图4 SE模块结构图

图5 神经元的内积

由于时频图的各种特征对识别的贡献不一,卷积层在低层提取轮廓、纹理等特征,在高层提取抽象特征,卷积层提取的特征无法由人为辨别是否有效,而SE模块的特征重定向功能解决了上述问题。特征重定向通过学习全局信息,能够自动判断每个特征通道的重要程度,并对特征通道设定权重,显式地建立特征通道之间的相互依赖关系,从而强调有用特征,抑制对识别贡献少的特征。SE模块主要分为两部分:挤压模块Squeeze和激励模块Excitation。SE模块实现特征重定向的步骤如算法1所示。

算法1SE模块的特征重定向

步骤1:将卷积后的特征的全局空间信息分通道压缩,压缩方式为全局平均池化,计算式表示为:

(3)

式中:uc为卷积后的三维特征,其通道数、高和宽分别用C、H和W表示;zc为压缩后的新信道信息。

s=σ(g(z,W))=σ(W2δ(W1z))

(4)

式中:σ为sigmoid激活函数,σ为Relu函数,W1和W2中的降维比例R可自行设置为4、16、64等,s为捕获的信道间非线性互斥关系。

步骤3:将步骤2中得到的权重加权到每个通道的特征上,完成通道维度上的特征重定向,计算式表示为:

(5)

经过多次卷积提取特征后,将得到的特征图输入到全局平均池化层(Global Average Pooling,GAP)中。GAP能够强化特征图与分类之间的关系。利用GAP代替传统CNN中的全连接层能够更好地避免整体网络结构的过拟合[25]。然后,将经过GAP的特征图输入到softmax层中,最后利用交叉熵损失函数计算预测概率与真实类别的误差,从而实现了MPSK信号的分类。

2.2 模型优化

此外,本文对ReSENet网络做出了以下优化:

(1) 梯度下降算法用于更新和计算梯度,使其逼近或达到最优解,从而最小化损失函数。Adam算法[26]相对原本的ResNeXt使用的Momentum梯度下降算法,具有学习率自适应、对选择的超参数鲁棒性高的优点,所以本文采用了文献[26]中的Adam算法。

(2) 采用LeakyRelu[24]作为本文的激活函数,减少Relu激活函数神经元死亡从而进一步缓解梯度消失问题,提升网络性能。LeakyRelu的表达式如下:

(6)

式中:αi其中是一个很小的常数(本文取0.01),yi是经过激活函数后的结果,xi是图像进行卷积操作后的结果。

(3) 加入了L2正则化[27]以减少模型与时频图中噪声信息的相关性,减少过拟合。

(4) 使用3×3的卷积核[8],而非ResNeXt提出的7×7卷积核,在兼顾卷积获取的信息同时提升网络的运算效率。

(5) 使用了Xavier初始化,可以提升模型的训练速度及分类准确率[28]。

3 实 验

3.1 参数配置

本文使用图形工作站训练神经网络,显卡为 GTX 1080Ti,处理器为Inter(R) Core(R) CPU i7-8700k 3.70 GHz,内存为16 GB。软件环境为Windows 10系统,使用TensorFlow 1.8.0深度学习框架,开发语言为Python 3.5。ResNeXt中分支数量设为4,SE模块中的降维比例R设为4。网络的初始学习率设置为0.001,学习步长设置为4 000步,batch size设置为32。

3.2 实验结果与分析

将制作的时频图数据输入到ReSENet中进行训练,模型在4 000步达到收敛,识别准确率为99.9%,其在测试集上的识别率如表3所示。

表3 测试集的识别率

图6为ReSENet在不同层数不同训练步数所提取的时频图特征,可以看出在网络低层提取的低维特征与时频图具有相似性,随着层数加深和训练步数的增加,提取的特征越抽象。

图6 ReSENet提取的特征图

3.2.1有无SE模块的对比

本文对SE模块对ReSENet网络性能的影响进行了实验,结果如图7所示。

图7 SE模块对ReSENet网络性能影响

在深度学习中,损失函数和准确率常用于评价模型的分类性能。观察图7可以得出,含有SE模块的模型在训练过程中准确率和损失更快达到最优,且波动较小。最终含有SE模块的准确率为99.9%,损失为0.020 4;不含SE模块的模型准确率为98.2%,损失为0.001 3。SE模块的加入提升了1.7%的准确率,并且损失下降了0.001 3,证明了SE模块的特征重定向功能对模型的性能提升具有显著效果。

3.2.2不同梯度下降算法的比较

为了验证Adam算法对模型的性能,本文与Momentum、SGD及Adagrad三种不同的梯度下降算法进行了对比实验。参考了文献[29]中的梯度下降算法优化器的参数设置,再经过调参试验,最终本文所采用的参数设置如表4所示。

表4 不同梯度下降算法的参数设置

图8分别显示了使用不同梯度下降算法的ReSENet的损失及准确率随步数变化的情况。由图8可知, 不论在准确率还是损失的收敛效果上,Adam算法在1 000步时已达到了明显优于其他算法的效果,在后续训练过程中也一直稳定,验证了Adam算法的有效性。

图8 不同梯度下降算法效果对比

3.2.3不同激活函数的比较

图9为不同激活函数对模型的影响,观察图9可知,LeakyRelu函数相较于sigmoid函数具有更好的准确率,相较于Relu激活函数更快达到准确率最优值且波动较小,说明使用LeakyRelu函数提高了模型的稳定性。

选择特异性的通用引物338F(5′-ACTCCTACGGGAGGCAGCAG-3′)、806R(5′-GGACTACHVGGGTWTCTAAT-3′)[8]扩增细菌16Sr RNA 序列V3+V4区,并利用Illumina Miseq高通量测序平台对PCR扩增产物进行分析,所用引物均由上海美吉生物有限公司合成。

图9 不同激活函数效果对比

3.2.4与其他神经网络的对比

为了验证本文方法的性能,本文对ReSENet、文献[19]提出的6层CNN网络(CNN-6)和文献[20]提出的5层CNN网络(CNN-5)使用同样的样本集分别进行实验。如图10所示,ReSENet的训练准确率远超过CNN-6[19]、CNN-5[20],达到99.9%。

图10 ReSENet与其他网络结构训练准确率对比

为进一步显示模型性能的差异,采用同类论文中常用的混淆矩阵显示测试集上的实验结果。如图11所示,图中横轴表示类别的真实种类,纵轴表示预测种类。以图11(a)为例,BPSK总计1 000幅,其中999幅预测正确,只有1幅被误判为QPSK。由图11可知,CNN-6对BPSK识别效果良好,但对QPSK及8PSK的识别效果较差;CNN-5对每类信号的识别较为均衡,但对各类信号的识别准确率均较低。而ReSENet对每类图片均具有最好的识别效果,对三类信号的识别准确率达99.9%,较CNN-6提升了18.5%,较CNN-5提升了26.7%。

(a) ReSENet

(b) CNN-6[19]

(c) CNN-5[20]图11 ReSENet与其他网络结构测试集效果对比

可以看出,本文使用的ReSENet结构具有三大优点:

(1) CNN-6[19]、CNN-5[20]均采用层数较少的卷积神经网络,而ReSENet具有27层多分支并行结构,网络越深越宽,其对应的滤波器能够提取到越复杂抽象的特征,越利于信号的准确分类。

(2) CNN-6和CNN-5的卷积核尺寸分别为5×5、9×9而ReSENet使用了多个3×3和1×1卷积核进行堆叠,以减少每步参数的计算量。

(3) 本文加入的SE模块能够学习特征通道间的相互依赖关系,提升有用特征通道对识别准确率的贡献。

4 结 语

本文针对MPSK子类信号难以用传统方法自动识别、现有方法识别准确率较低的问题,提出了一种新的深度卷积神经网络模型ReSENet。经过实验验证,本文提出的ReSENet在MPSK数据集的分类上具有优秀的表现,识别准确率达到99.9%,实现了特征自提取的目的,解决了已有方法对调制信号子类识别准确率不高的问题。但本文仅对MPSK子信号的识别进行了研究,在后续工作中,可以考虑将进一步完善网络,将其应用于多种调制信号,如MFSK、ASK和QAM等子类混合的识别任务中。

猜你喜欢
时频准确率卷积
高阶时频变换理论与应用
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
分数阶傅里叶变换改进算法在时频分析中的应用
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
高聚焦时频分析算法研究
从滤波器理解卷积