1. 简介
自动调制识别是接收机自动识别接收到的无线电信号的调制方案的技术。调制识别是信号解调和信息提取前的关键步骤,它在频谱传感、干扰识别和信息战等领域有着重要的应用。在无线电技术飞速发展的今天,无线通信环境越来越复杂,迫切需要一种即使在恶劣环境下也能达到较高准确率的自动调制识别方法。
传统的自动调制识别方法可分为两类:基于似然的方法 [1] [2] [3] 和基于特征的方法 [4] [5] [6] 。基于似然的方法在贝叶斯估计的意义上是最优的,但严重依赖于先验知识,且计算量过大,很难进行实时预测。基于特征的方法包括两个部分:特征提取和分类器设计。无线电信号常用的特征有小波特征、高阶累积量特征、星座图特征等。机器学习中经典的分类算法,如人工神经网络 [7] [8] [9] 、决策树 [10] 和支持向量机 [11] [12] [13] 是基于特征的方法中经常使用的分类器。基于特征的方法的优点是不需要先验知识,计算复杂度较低。然而,基于特征的方法需要手动提取信号特征,费时且需要专业知识。此外,基于特征的方法的识别准确率严重依赖于所选择的信号特征的有效性,因而难以适应不同的环境。
近年来,深度学习在各个领域都取得了突破。研究人员将深度学习用于自动调制识别任务,取得了比传统基于特征的方法更好的性能。在 [14] 中,引入卷积神经网络(Convolutional Neural Network, CNN)对无线电信号的调制方案进行分类,模型在低信噪比下表现出更好的性能。很快更多的基于卷积神经网络或循环神经网络(Recurrent Neural Network, RNN)的深度学习模型被提出。使用CNN的方法有的使用一维CNN直接处理序列数据,有的使用某些信号处理的方法将信号转化为二维图片输入CNN。在 [15] 中,对振幅序列和相位序列分别基于一维CNN采用并行融合的方法进行训练。 [16] 使用平滑伪Wigner-Ville和Born-Jordan分布来获取CNN的图像。 [17] 使用短时傅里叶变换(Short-Time Fourier Transform, STFT)创建了不同信号谱图的图像数据集。长短期记忆(Long Short-Term Memory, LSTM)作为一种优秀的RNN模型有强大的提取序列数据时间特征的能力, [18] 提出了一种基于LSTM的自动调制识别模型,该模型从调制方案的幅度和相位信息中学习时间特征。还有一些研究者发现,使用混合模型,比如结合CNN和LSTM,可以提高模型的准确性和鲁棒性。在 [19] 中提出的模型将CNN与LSTM结合,在高信噪比下获得了更高的精度。在 [20] 中,提出了一个多通道的深度学习框架,结合一维、二维卷积和LSTM,从时间和空间角度提取信号特征。 [21] 提出了一种高效的深度学习模型,基于相位参数估计和变换,结合CNN和GRU,该模型在保持较高精度的同时减少了需要计算的参数量。注意力机制于2014年提出 [22] ,最早应用于机器翻译,而后在多个领域最先进的模型中被采用。为了提高自动调制识别的准确性, [23] 提出了一种包含四个自适应注意力机制模块的自动调制识别框架。 [24] 提出了一种基于CNN的时频注意力机制,取得了较高的识别精度。
通过研究和分析这些论文可以发现,将CNN和RNN结合起来,从原始信号中提取特征进行调制识别是一个优秀而有潜力的想法。然而,如何有效地从无线电信号中提取时间特征,这仍然是模型设计过程中的一个问题。过去的模型往往采用单通道进行时间特征的提取 [19] [20] [21] ,而无线电信号本身有I和Q两个分量,在采用单通道进行时间特征提取的过程中可能会有部分特征信息被丢失。因此,本文将卷积处理后的特征图分为两部分,分别进行时间特征提取,以减少特征丢失,增强模型对信号时间特征的提取能力,提高调制识别的准确率。所提出的模型被称为基于自注意力的双流GRU神经网络(Dual-Stream GRU Based on Self-Attention Neural Network, DSGANN)。具体来说,首先使用卷积层来提取信号的浅层特征,对最后一个卷积层采用same填充不改变输入输出形状,然后建立双流结构的时间特征提取模块,在每个时间特征提取流中采用堆叠的GRU,并创新性地在每个流的两个GRU层之间增加自注意力,更好地捕获输入特征序列之间的依赖关系,使网络在进行预测时能够有效地权衡输入序列中不同部分的重要性。DSGANN在一个开放数据集上的表现优于一些现有模型,对信噪比大于等于-6dB的信号具有更高的识别精度。并且在减少数据集样本量训练时,DSGANN仍然取得了最高的精度,这说明DSGANN设计良好,不依赖于大量的信号样本来获得良好的性能。
本文的其余部分组织如下:第二部分详细描述了提出的模型的结构,第三部分展示实验结果和讨论,第四部分给出结论。
2. 方法
接收到的信号表示为:
式中,y[l]为接收信号,A[l]为信道增益,
为频率偏移,
为相位偏移,x[l]为发射信号,n[l]为噪声,L为信号的采样点数,接收到的信号可以以同相/正交(I/Q)的形式存储。
噪声会严重影响自动调制识别的精度。图1显示了不同调制方案的信号在不同信噪比下的波形。从图中可以看出,高信噪比下清晰的信号波形在低信噪比下变得杂乱而难以区分。
DSGANN的整体架构如图2所示。它可以分为三部分:卷积模块,双流结构的自注意力GRU和全连接层。首先,用两个通道的一维卷积层分别提取I、Q分量的特征,再将两个通道融合后送到二维卷积层提取浅层特征。第二部分是带有自注意力的双流GRU。为了充分提取信号的时间特征,设计了双流架构的GRU,对每个时间特征提取流采用堆叠GRU,并在两个GRU层之间增加自注意力层,以提高模型的性能。第三部分是全连接层。DSGANN集成了CNN、GRU和注意力机制的优点,分离通道和融合通道的设计大大提高了网络的特征提取能力。
![](//html.hanspub.org/file/2-2570999x10_hanspub.png?20230810181017736)
Figure 1. Radio signals with different modulation schemes at −12, −2, 8, 18 dB SNR
图1. 信噪比分别为−12,−2,8,18 dB的不同调制方案的无线电信号
2.1. 卷积模块
CNN具有很强的二维图像特征提取能力,这使得它在物体识别和图像分类任务中表现优异。而对于一维信号,CNN可以有效地提取信号序列的浅层特征。先前的工作表明,CNN和RNN的结合在多数情况下比单独使用CNN或RNN表现更好。
信号的I分量和Q分量彼此正交,它们提供了关于调制信号的不同信息。DSGANN分别取I分量和Q分量作为模型的输入来获取信号信息。对于每个通道,选择卷积核大小为8的一维卷积层,采用因果填充,得到50个特征图。使用因果填充是为了保持输入信号的时序性。
对这两个通道的输出张量,都添加一个维度,并沿着新的维度将它们连接起来。将张量重塑成合适的形状后,将其送入两个二维卷积层(图2中的Conv3和Conv4)进行进一步的特征提取。这两个卷积层的作用是融合单独的I分量和Q分量的特征,捕获信号的整体表示特征。在二维卷积层中使用same填充来保持输出形状与输入形状相同。所有卷积层都采用“relu”激活函数。
2.2. 双流结构的GRU
考虑到信号本身是作为时间序列数据输入模型,对信号的时间特征的提取是至关重要的。受到信号本身由I分量和Q分量组成的启发,产生了设计双流架构分别提取时间特征的想法。双流结构的输入是通过使用Lambda层拆分最后一个卷积层(图2中的Conv4)的输出得到的。需要注意的是,双流通道的输入是经过二维卷积计算后融合特征的不同部分,并不是分别代表I分量和Q分量的特征,但在两个通道中表示信号特征的想法是一样的。
GRU和LSTM都是处理序列数据的优秀模型。这两个模型通过设置门来选择性地保留或遗忘前一时间段的信息,从而解决了传统RNN中梯度消失的问题。GRU有两个门:一个更新门和一个重置门。这两个门是用来控制通过网络的信息流的,决定保留多少先前的信息和有多少新输入与先前的信息混合。本文选择GRU而不是LSTM,因为GRU需要的参数比LSTM少,计算速度更快,并且在某些任务上可能比GRU表现出更好的性能。LSTM对于需要处理复杂的长期依赖关系的任务可能更有效。在下一个实验章节中,将通过实验比较DSGANN模型使用GRU和使用LSTM的性能差异。
堆叠GRU将多个GRU层组合在一起,对序列数据中的复杂关系进行建模。每一层GRU学习不同深度层次的特征,允许模型捕获数据中更复杂的模式。DSGANN在时间特征提取模块的每个流堆叠了两个GRU层,中间加入自注意力,第一层GRU输出128个单元,且返回输入序列中每个时间步的隐藏状态的完整序列。第二层GRU输出64个单元,只返回最后一个时间步的输出。
2.3. 自注意力与全连接层
自注意力是神经网络在处理输入序列中的每个元素时关注输入序列的不同部分的一种机制。自注意力允许模型选择性地关注输入序列的不同部分,有效地学习哪些部分对手头的任务更重要。此外,自注意力层可以帮助解决在训练深度神经网络时可能出现的梯度消失问题。
DSGANN模型在每个流的两个GRU层之间添加了自注意力,以提高模型捕获时间信息的能力,自注意力层的num_heads设为6,key_dim设为32,并随机舍弃25%的参数以防止过拟合。自注意力机制将输入序列分成多个头部,每个头部关注输入序列的不同部分,每个头部的注意权值在训练过程中学习,从而允许模型捕捉输入特征之间的依赖关系。在每个流中的GRU层之间添加自注意力层,可以使模型适应不同的输入序列和任务,更好地捕获输入序列中的长期依赖关系。这是因为注意力机制使模型能够选择性地关注输入序列的不同部分,同时考虑每个部分的相对重要性,提高模型学习复杂模式的能力。
在完成时间特征的提取后,两个并行GRU流的输出被连接,并送到全连接层。对前两个全连接层使用“selu”激活函数,通过dropout防止过拟合,最后一个全连接层使用“softmax”激活函数,给出最终预测的调制方案。
3. 实验
为了验证所提方法的有效性,设计了三组实验。第一个实验比较了DSGANN与四个现有的先进模型的性能;并且减少数据集的样本数,在一个较小的数据集上比较DSGANN和其他模型的性能;第二个实验是消融实验,在原数据集和小数据集上比较了DSGANN和不同的模型变体的性能;第三个实验研究了初始学习率对DSGANN性能的影响。
本文以测试集的识别精度作为评价指标。用于模型训练和评价的批次大小设置为400。训练集、验证集和测试集按3:1:1的比例进行划分。所有实验均在python 3.7.12和tensorflow 2.11.0环境下进行,使用Nvidia Tesla P100 GPU和Intel(R) Xeon(R) CPU @ 2.20GHz。
3.1. 数据集简介
RadioML2016.10a是O’shea等人使用GNU Radio生成的开放的无线电信号数据集 [25] 。该数据集一共有22万个无线电信号样本,有包含8PSK、BPSK、CPFSK、GFSK、PAM4、16QAM、64QAM、QPSK、AM-DSB、AM-SSB、WBFM这11种调制方案的无线电信号,信噪比范围为−20 dB~18 dB。信号以I/Q (同相/正交)的形式存储,信号长度为128。由于该数据集在仿真信号时充分考虑了现实世界中可能遇到的恶劣环境因素,包括中心频偏、采样率偏移、加性高斯白噪声、多径和衰落等对信号的影响,该数据集里的信号与真实通信环境中的信号接近。
3.2. 在RadioML2016.10a上比较DSGANN和一些现有模型的性能
这个实验环节使用RadioML2016.10a数据集训练和评估了DSGANN,并复现了四个现有的优秀模型(1DCNNPF [15] 、LSTM [18] 、MCLDNN [20] 和PET [21] )进行比较。将所有模型的初始学习率设置为0.001,如果验证损失在5个训练周期没有减小,则学习率减小为原来的0.8倍。如果在30个周期验证损失没有减小,则终止训练过程。对其他模型的复现参考了综述论文 [26] 的工作。
图3显示了DSGANN和其他模型在RadioML2016.10a上的性能。可以看出,当信噪比大于等于−6 dB时,DSGANN具有更高的识别精度,这充分验证了由于双通道时间特征提取流和自注意力等的设计,DSGANN模型从原始信号中提取特征的能力比其他模型更强大,因而具有更出色的调制识别性能。当信噪比为−6 dB时,DSGANN的识别准确率达到了58.9%,相比其他模型提高了5%以上。图4为信噪比为−6 dB时不同模型的混淆矩阵。如果把识别精度按照不同调制方案划分,不同模型的每种调制方案的识别精度如图5所示。从图5可以看出,当信噪比大于等于2 dB时,只有DSGANN对除了WBFM以外的所有调制方案,识别准确率都超过了90%。
![](//html.hanspub.org/file/2-2570999x12_hanspub.png?20230810181017736)
Figure 3. Recognition accuracy of DSGANN and other models on RadioML2016.10a
图3. 在RadioML2016.10a数据集上DSGANN与其他模型的识别精度
![](//html.hanspub.org/file/2-2570999x13_hanspub.png?20230810181017736)
Figure 4. Confusion matrix of (a) DSGANN; (b) MCLDNN; (c) LSTM; (d) PET; (e) 1DCNNPF on RadioML2016.10a at −6 dB SNR
图4. 在RadioML2016.10a上SNR = −6 dB时(a) DSGANN;(b) MCLDNN;(c) LSTM;(d) PET;(e) 1DCNNPF的混淆矩阵
![](//html.hanspub.org/file/2-2570999x14_hanspub.png?20230810181017736)
![](//html.hanspub.org/file/2-2570999x15_hanspub.png?20230810181017736)
Figure 5. Recognition accuracy of 11 modulation schemes using (a) DSGANN; (b) MCLDNN; (c) LSTM; (d) PET; (e) 1DCNNPF on RadioML2016.10a
图5. 在RadioML2016.10a数据集上使用(a) DSGANN;(b) MCLDNN;(c) LSTM;(d) PET;(e) 1DCNNPF的11种调制方案的识别精度
3.3. 在较小的数据集上的模型性能
考虑到在实际应用场景下可能没有足够多的信号样本用于模型的训练,使用一个较小的数据集训练DSGANN和其他模型。这个较小的数据集基于RadioML2016.10a,但在每种调制方案和信噪比下只有60%的信号样本被随机采样用于训练。实验结果如图6所示。可以很容易地发现,样本量的减少并没有太多地影响DSGANN的优异性能。DSGANN的平均识别准确率下降仅不到1%,而用于训练的样本量则大大减少。与其他模型相比,DSGANN在信噪比大于等于−8 dB时有更高的识别精度,在更低的信噪比下则和其他模型性能接近。DSGANN在0 dB时的识别准确率达到了88.8%,远远高于其他模型。图7显示了在较小的数据集上,当信噪比为0 dB时,DSGANN与其他模型的混淆矩阵。
3.4. 消融实验
本小节设计了消融实验来研究模型中不同部分对模型性能的影响,基于原模型DSGANN建立了五个变体后的模型。它们被称为DSGANN-A (输入不是分开的I/Q通道,卷积层特征图的参数保持不变),
![](//html.hanspub.org/file/2-2570999x16_hanspub.png?20230810181017736)
Figure 6. Recognition accuracy of DSGANN and other models on the smaller dataset
图6. 在小数据集上DSGANN与其他模型的识别精度
![](//html.hanspub.org/file/2-2570999x17_hanspub.png?20230810181017736)
Figure 7. Confusion matrix of (a) DSGANN; (b) MCLDNN; (c) LSTM; (d) PET; (e) 1DCNNPF on the smaller dataset at 0 dB SNR
图7. 在小数据集上SNR = 0 dB时(a) DSGANN;(b) MCLDNN;(c) LSTM;(d) PET;(e) 1DCNNPF的混淆矩阵
DSGANN-B (最后一个卷积层使用valid填充,采用单通道的时间特征提取而不是双流结构的时间特征提取),DSGANN-C (去除了自注意力)、DSGANN-D (用LSTM代替GRU)、DSGANN-E (去除一个全连接层)。分别在RadioML2016.10a数据集和0.6倍采样后的小样本数据集进行实验,结果如图8和表1所示。从图8和表1中可以看出,DSGANN比它的所有变体后的模型都表现得更好,特别是在更高的信噪比下,这表明DSGANN的每个部分的选取都是合理有效的。如果用LSTM代替原网络中的GRU,在两个不同大小的数据集上的识别精度都会略有下降。此外,LSTM需要更大的计算量和更大的内存空间,因此GRU是提取时间特征的更好选择。当去除两个GRU之间的自注意力时,性能下降最大。这说明了添加自注意力的重要性,它可以显著提高网络提取特征的能力。在去除了自注意力之后,模型在小样本数据集的平均准确率甚至下降到57.29%,而原模型在小样本数据集的平均准确率为61.98%,这充分说明自注意力通过关注输入序列不同部分之间的依赖关系优化特征提取能力,可以较好地弥补样本量不足的缺陷。DSGANN-B的识别精度相较原模型也有较大的下降,尤其是在小样本数据集上,说明DSGANN在时间特征提取模块的双流结构的设计是合理并且有效的,通过采用双流结构的GRU充分提取信号的时间特征,在一定程度上可以弥补信号样本不足的缺陷。正是这些模块结构的组合产生了一个优秀的模型,在较小的数据集上也表现良好。
3.5. 初始学习率对模型性能的影响
初始学习率是影响模型性能的一个重要参数,过低或过高的初始学习率都不利于模型的表现。为了研究初始学习率对DSGANN性能的影响,设计了不同初始学习率的对比实验。实验结果如图9所示。
首先将初始学习率设置为0.001,在测试集的平均准确率为62.88%。为了研究初始学习率对模型性能的影响,将初始学习率分别设置为0.0015、0.002和0.0025。在这些初始学习率下,训练所需的时间减
![](//html.hanspub.org/file/2-2570999x18_hanspub.png?20230810181017736)
Figure 8. Recognition accuracy of DSGANN and its variants on (a) RadioML2016.10a and (b) the smaller dataset
图8. DSGANN及其变体在数据集(a)RadioML2016.10a和(b)小数据集上的识别精度
![](Images/Table_Tmp.jpg)
Table 1. Average recognition accuracy of DSGANN and its variants on (a) RadioML2016.10a and (b) the smaller dataset
表1. DSGANN及其变体在数据集(a) RadioML2016.10a和(b) 小数据集上的平均识别精度(%)
![](//html.hanspub.org/file/2-2570999x19_hanspub.png?20230810181017736)
Figure 9. Recognition accuracy of DSGANN under different initial learning rates
图9. DSGANN在不同初始学习率下的识别准确率
少,但识别准确率下降了。因此,推测初始学习率更低的话,识别准确率可能更高。于是将初始学习率设置为0.0005,尽管训练时间增加了,平均识别准确率提高到了63.12%。这是由于在较大的初始学习率下,模型参数的更新可能过大,导致优化算法超过最优值,从而降低了准确性,而适当减小初始学习率解决了这一问题。然而,当进一步将学习率降低到0.0003时,训练时间增加了,但准确率并没有提升。这表明初始学习率太小,训练模型的更新太小,无法在识别准确率上取得进一步提升,因此0.0003并不是更适合DSGANN的初始学习率。这表明,从平均识别准确率的角度来看,0.0005可能是DSGANN最合适的初始学习率。
虽然初始学习率为0.0005时的整体的准确率要高于初始学习率为0.001时的准确率,但是训练模型所需的时间增加了大约24分钟,这在实际应用中可能并不合适。为了综合衡量模型性能的改进和训练模型所需要的时间,定义了一个新的度量标准,称为“IE”(Improving Efficiency)。它是平均识别准确率(%)乘100减去基准识别准确率(设置为60%)乘100再除以训练时间(以小时为单位)。
通过计算发现,当初始学习率为0.001时,IE是最高的。因此,可以得出结论,如果只追求更高的准确率,应该将初始学习率设置为0.0005。但是,如果在要求达到较高精度的同时需要最小化训练时间,那么0.001是最佳的选择。表2给出了DSGANN在不同初始学习率下的实验结果,包括测试集的损失、测试集的平均准确率、训练周期、训练时间和IE指标。
![](Images/Table_Tmp.jpg)
Table 2. The recognition accuracy and computational complexity of DSGANN under different initial learning rates
表2. DSGANN在不同初始学习率下的识别精度和计算复杂度
4. 结论
本文提出的模型融合了一维二维CNN、GRU和自注意力机制的优势。具体来说,使用一维和二维卷积层提取信号的浅层空间特征,将卷积处理后的输出分成两个流进行对时间特征的提取。GRU可以有效地处理序列数据,并且与LSTM相比降低了计算复杂度。双流结构的设计使得模型对时间特征的提取更加充分。在GRU之间加入自注意力机制,使模型关注到输入序列不同部分之间的相关性。在基准数据集上的实验结果验证了DSGANN在信噪比大于等于−6 dB时具有更高的识别精度。消融实验证明了模型各部分的有效性。在实践中,用于训练调制识别网络的样本数量不足是一个常见的问题。当减小数据集的规模时,DSGANN仍然实现了最高的识别精度,这表明DSGANN在更小的数据集上的适用性。本文还研究了初始学习率对模型性能的影响,给出了最高准确率的初始学习率和相对最高效的初始学习率。本文的方法为改进自动调制识别提供了一种创新的解决方案,可以应用于各种无线通信场景。
参考文献