何荣荣 徐逸凡 刘洁 姚凯凌
(1. 陆军工程大学,南京 210000;2. 75836 部队,广州 510000)
调制方式识别是实现调制信号正确解调、接收的必要环节. 传统的调制识别方法是从时域波形、信号频谱等信息提取特征,再输入决策树、支持向量机等机器学习模型或者人工进行判断[1]. 最后的结果依赖于特征选择的好坏,需要专业知识和经验积累,主观因素强,并且难以应对噪声干扰. 现有调制识别方式识别种类有限,识别率不高,亟需改进. 近年来深度学习在语音识别、计算机视觉、自然语言处理方面取得的成果斐然,使得基于深度学习的调制识别研究也受到众多学者的关注. O’shea 等人首次将卷积神经网络(convolutional neural networks, CNN)应用在自动调制识别中,将IQ 数据作为模型的输入,对比传统的机器学习方法具有更灵活的特征学习能力,提高了分类精度[2]. N. West 等在调制识别问题上应用了CNN、深度残差网络(deep residual network,ResNet)和长短时记忆网络(long short term memory network, LSTM),通过对比得出重要结论——识别率不依赖于网络深度[3]. S. Rajendran 等将振幅相位信息输入LSTM,识别率得到进一步提高[4]. 后续许多研究工作采用LSTM 以及CNN,将IQ 数据、星座图等信息作为输入,均取得不错的成果[5-6].
然而,由于不理想信道,信号在传输过程中存在多径衰落、阴影衰落、多普勒频移等现象[7],加上环境中的噪声,限制了调制识别的分类精度. 本文提出了一种基于软阈值的深度学习算法,将软阈值作为非线性变换层嵌入到深度学习中,达到滤除噪声的目的. 与其他深度学习算法相比,本文算法提升了模型的识别能力,尤其在低信噪比(signal-noise ratio,SNR)环境下.
为解决低SNR 条件下的调制识别问题,本文提出了基于软阈值深度学习的调制识别方法,整体框架如图1 所示.
图1 基于软阈值的深度学习模型Fig. 1 Deep learning model based on soft threshold
1.2.1 网络框架
所提网络模型由卷积层、池化层、软阈值学习层和全连接层组成. 将原始的IQ 数据转换成幅度相位(amplitude phase,AP)信息,受文献[4]的启发,AP 信息对比原始IQ 数据提取特征更有效,更适合作为模型的输入. 卷积层负责对输入数据进行自动特征提取,池化层用于减少参数量以去除冗余信息、简化网络的复杂度. 红色虚线框内是基于软阈值的深度学习网络模型,由卷积层、池化层、软阈值学习网络和全连接层组成,考虑到深度对识别率的微小作用以及带来的时间复杂度,网络层数并不深. 最后通过全连接层后使用softmax 激活函数,经过归一化转化为预测概率. 对比各类调制方式的概率值,取最大的为识别结果输出.
阈值的选取对于软阈值函数的结果至关重要,传统的软阈值设置需要专家借助专业知识进行多次调试得到,费时费力. 在文献[8]中,作者提出了一种新的软阈值学习方法. 在诊断机器故障领域同样面对环境噪声以及机器内部噪声影响判断精确度的问题,作者设计了深度残差收缩网络,融合了ResNet、注意力机制和软阈值函数,由卷积层、残差收缩模块、全连接层组成. 其中将软阈值作为非线性变换层插入残差收缩模块,免去了人工设置的种种弊端. 受文献[8]启发,本文设计了软阈值学习层,如图1 中红色虚线框内所示,将上一层提取的特征绝对值经过全局平均池化得到一维向量,数目等于第一层卷积核的数目,再将向量输入到两层全连接网络中. 最后将学习到的参数通过sigmoid 激活函数进行归一化作为每一个通道的阈值τ,具体为
为了验证本文提出模型的有效性,利用开源数据集进行实验. 将数据集进行预处理,提取AP 信息并分为训练集、验证集和测试集. 实验采用Tensorflow框架,利用GPU 加速.
本文使用开源数据集RML2016.10a 作为训练数据,由GNU Radio 模拟生成,包括11 种常见的调制方式:BPSK,QPSK,8PSK,16QAM,64QAM,BFSK,CPFSK,PAM4,WBFM,AM-SSB 和AM-DSB(8 种数字调制和3 种模拟调制). 每种调制方式SNR 范围为-20~18 dB,每组间隔2 dB,共220 000 组数据. 每组为128 采样点的IQ 数据,格式为2×128 的向量. 它模拟了信号传播过程中的频率选择性衰落、采样率偏移、高斯加性白噪声,文献 [10]对其做了详细介绍.
图2 展示了11 种调制方式在SNR 分别为-20、0、18 dB 下的星座图. 对于同一种调制方式,如红色框内,调制方式都为8PSK. 噪声对IQ 数据的影响非常显著,如黑色框内,同在-20 dB 条件下,可以看出区分不同的调制方式是很困难的.
图2 不同调制方式在不同SNR 下的星座图Fig. 2 Constellations of different modulation modes at different SNR
数据预处理能够提升模型收敛速度和效果. 很多研究者将循环谱、时域统计特征或者星座图等作为模型的输入,在人为选择高阶特征过程中既增加了计算量又丢失了其他信息. 文献[4] 提出输入AP 信息比直接输入IQ 数据更能提升识别率,并且AP 信息的提取比较简单,不会带来高阶的计算复杂度,所以本文选取AP 信息作为模型的输入. 预处理后对幅度进行L2范数归一化,之后对标签数据进行One-hot 编码,为后续实验做准备.
整个训练过程基于Tensorflow 和Keras 深度学习框架,使用Nvidia JETSON AGX XAVIER GPU 加速. 第一层卷积层尺寸为1×2,通道数为80;第二层池化层尺寸为2×2,步数也是2×2;最后两个全连接层神经元分别为64 和16. 软阈值学习网络中两层卷积层尺寸均为1×3,通道数为80,两层全连接神经元数目也是80. 采用Adam 优化器,学习率初始值设置为0.01,迭代50 次,每次训练1 024 组数据.
本文首先采用第2 节设置的超参数进行训练. 图3展示了训练过程中训练集和验证集损失值的下降过程. 通过20 轮的训练,训练集和验证集基本收敛,证明了所设置学习率的合理性.
图3 训练集和验证集损失值下降曲线Fig. 3 Loss drop curve of training set and verification set
为了设置合适的参数,本文考虑了卷积层数、软阈值学习网络数目的影响. 图4 对比了具有两层卷积层、三层卷积层、两个软阈值学习网络和本文算法的识别率. 从结果可得:增加网络深度并不能进一步提高识别率反而增加了时间冗余度,模型收敛变慢;本文所设置的模型超参数的效果是最好的.
图4 模型层数对识别率的影响Fig. 4 The influence of model layer number on recognition rate
为了验证本文模型的有效性,将其他深度学习模型与之进行对比. 这些深度学习模型是其他论文中提出的,收敛性和有效性已经得到了验证,主要有:输入为IQ 的CNN、输入为IQ 的ResNet、输入为AP 信息的ResNet、输入为IQ 的LSTM、输入为AP 的LSTM. 其中,CNN采用文献[2]中训练好的网络,模型包含了两层卷积层、两层池化层和两层全连接层. ResNet 采用文献[11]中训练好的网络参数,考虑到时间复杂度,只堆叠了两个残差块和两层全连接. LSTM 包含了一层LSTM 层和两层全连接层.
图5 对比了不同网络结构在不同SNR 下的识别准确率. 输入为AP 的LSTM 在SNR 为0 以上的环境中识别率达到80%,而输入为IQ 的LSTM 效果最差,最大准确率只能达到60%左右,可以证明,LSTM 中AP 信息对于特征的提取更加有效.ResNet 和CNN 效果相当,在高SNR 条件下能达到70%以上,并且对幅度相位和IQ 数据不敏感,加深深度并不能使识别率进一步增加. 本文提出的网络总体好于其他的网络结构,在SNR 达到-2 dB以上的条件下识别准确率均能超过80%,最高达到88%;在低SNR 环境下,精确率明显比其他算法高,SNR 超过-5 dB 就有超过一半的样本实现正确的调制识别.表1 展示了不同深度学习模型所需要的训练时间. LSTM 虽然效果不错,但是仅仅一层网络就花费了4 000 s 以上的时间,时间复杂度很高. 本文提出的网络相比其他网络结构耗时较少,效率较高.
图5 不同模型识别率对比Fig. 5 Comparison of recognition rates of different models
表1 不同深度学习模型算法耗费时间对比Tab. 1 Time cost of different deep-learning algorithms
图6 是SNR=18 dB 和2 dB 时的混淆矩阵. 从红色虚线框可以看出,WBFM 很大概率会被误识别为AM-DSB,同样QAM16 和QAM64 也难以区分,导致识别率的降低. 要进一步提高模型的精确性,需要解决容易混淆的调制方式,例如通过增加特征或扩充数据等方式,我们会在后续的工作中进行研究.
图6 在SNR=18 dB 和2 dB 下的混淆矩阵Fig. 6 Confusion matrix when SNR =18 dB and 2 dB
环境或设备中的噪声干扰会对正确解调信号带来困难,影响到识别的准确率. 为了解决低SNR 条件下的调制方式识别问题,提出了一种基于软阈值的深度学习方法,即在CNN 的基础上加入软阈值学习网络. 通过软阈值函数滤除噪声,软阈值的设置通过网络学习得到,省去了传统算法人工设置的诸多麻烦. 实验证明,本文提出的模型对比其他已有模型效果更好,尤其在低SNR 条件下,SNR 达到-2 dB 以上,识别率超过80%以上,并且效率很高. 本文提出的算法在电磁频谱态势感知系统中进行了应用,取得了良好的效果.