基于多尺度金字塔池化的调制识别算法

2023-01-14 05:57李泊含刘芸江李艳福
电光与控制 2022年12期
关键词:池化信噪比准确率

李泊含, 刘芸江, 李艳福

(空军工程大学信息与导航学院,西安 710000)

0 引言

随着现代战争手段日益更新变革,不断演化交替,2015年12月,美军发布了名为《决胜电磁波:重拾美国电磁频谱领域主宰地位》的研究报告,阐述了“低-零功率”电磁频谱战概念[1],在这之后,又不断提出新概念,使得电磁频谱在现代战争中成为继陆、海、空、天、网络(赛博)之后的第6个作战域[2]。电磁频谱资源是稀缺的自然资源,在军民政共用的大环境下,电磁频谱的高效管理和有效利用成为了研究热点,而无线通信信号的调制识别和分类对于提高频谱效率和解决频谱短缺问题均有着重要意义[3]。在非协作通信中,发送端的信号相关信息,譬如调制方式等是未知的,因此长时间以来相关领域科研人员都在研究如何处理该类信号。

自动调制识别(Automatic Modulation Recognition,AMR)是对接收信号解调前的一个处理过程[4],能够有效处理非协作通信中所接收到的信号,对信号的调制类型进行分类,方便后续的解调工作。调制识别经历了从人工识别到自动识别[5]的发展历程,之后发展出了基于假设检验的最大似然(Likelihood Based,LB)和基于特征提取(Featured Based,FB)的两种识别方法[6]。其中,基于FB的识别方法由于所需先验知识较少,因此计算量较小,从而得到了广泛的研究和发展。而随着人工智能(Artificial Intelligence,AI),机器学习(Machine Learning,ML)以及深度学习(Deep Learning,DL)等技术的出现,相关研究人员将神经网络技术运用到了信号的调制识别方法中。

卷积神经网络(Convolutional Neural Network,CNN)作为一种深层的包含卷积计算的前馈神经网络,是一种热门且流行的DL方法。时延神经网络(Time Delay Neural Network,TDNN)[7]于1989年被提出,这是第一种出现的卷积神经网络,它由两个隐含层构成,能够提取到语音特征并发现其与时间之间的关系。在这之后,CNN的优良性能和泛化性能使得这种技术得到快速发展,并被广泛应用于语音处理、图像处理以及信号处理等多个领域。早期,很多研究人员都采取直接将基带信号送入神经网络中进行训练识别[8-9]。PENG等[10]介绍了一种将信号转换为星座图并进行CNN训练的方法,通过仿真对8种信号进行了测试,实验证明,此方法能够对信号调制方式进行有效识别;WANG等[11]结合了在不同数据集上训练的两个CNN。除了星座图之外,还使用相位和正交样本,在低信噪比的正交振幅调制(QAM)信号分类中获得更好的结果。但是前人的研究方法在不同的场景条件下还存在一些问题,例如,对于数字调制信号与模拟调制信号的混合信号样本识别率低、网络模型泛化性能差以及提取特征能力较差等问题亟待解决。

根据上述思路,本文在原有CNN的基础上融入多尺度金字塔池化(Multi-Scale Pyramid Pooling,MSPP)提出MSPP-CNN算法。首先,根据真实的通信环境生成BPSK,QPSK,8PSK,16QAM,64QAM等11种不同的数字和模拟信号样本。然后,结合多尺度金字塔池化(Multi-scale Pyramid Pooling,MSPP)进行MSPP-CNN网络模型的优化与设计,并对网络模型进行不同信噪比条件下的自动调制识别训练、测试。最后,通过仿真与其他传统特征提取算法以及CNN算法的识别准确率做对比,验证本文算法相较于其他算法具有更优性能。

1 基于CNN的自动调制识别

1.1 自动调制识别

目前,许多AMR算法被提出用于协助动态频谱接入和智能频谱管理,这些算法主要分为LB和FB两大类。其中,FB类的算法可与机器学习或深度学习结合起来,图1为传统基于特征的AMR流程图。

图1 基于特征的AMR流程图Fig.1 Flow chart of FB-based AMR

首先将接收到的已调信号输入,对其进行特征提取,随后,将提取出的特征代入所用分类器,如SVM[12]和KNN[13]等中进行训练、测试,最终,识别出其调制方式,再输出对其进行相应的解调处理。

然而,人工选择信号特征是一个繁琐的过程,为了解决这个问题,一些基于深度学习(DL)的AMR算法[14-15]被提出。与传统的基于特征的算法相比,深度学习能够自动提取特征并得到更好的性能。图2所示为基于DL的AMR流程图。

图2 基于DL的AMR流程图Fig.2 Flow chart of DL-based AMR

图2所示算法对信号进行数据转换和重构等预处理,然后通过深度学习方法对数据进行训练和学习,再进行测试,从而识别出信号的调制方式。

深度学习方法中的卷积神经网络由于具有从高维非结构化数据中提取代表性特征的良好能力而被广泛应用于AMR方法。调制分类的性能一般由识别准确率(Precision)来衡量,其算式为

(1)

式中:TP为真阳性(预测为正,实际为正);TN为真阴性;FP为假阳性;FN为假阴性。同时,调制识别的详细结果可以用机器学习领域的混淆矩阵来表示。

1.2 卷积神经网络

CNN一般由卷积层和池化层两部分组成。其中,卷积层又由卷积核、滤波器和特征图组成,卷积核是二维的矩阵,具有加权输入,并像神经元一样生成输出;滤波器则是由多个卷积核组成的三维矩阵,多出的一维是通道;特征图是应用于前一层的一个滤波器的输出。池化层对前一层的特征图进行下采样,通过遵循一系列卷积层来巩固先前特征图中的学习特征。故池化也可以被认为是一种压缩和泛化特征表示的技术,从而普遍减少模型过拟合现象。

CNN中每一层输出的特征图上的像素点在原图像上映射的区域大小被称为感受野,因为每个神经元只感受局部的图像区域,在更高层再将这些感受不同局部的神经元综合起来,从而得到全局信息。通过这种方式减少连接的数目,即减少了神经网络需要训练的权值参数的数量,亦被称为权值共享。以上两点使得CNN在训练大数据集、提取特征效率上,相比其他神经网络具有更多的优势。

1.3 信号的高阶累积量

在卷积神经网络中加入激活函数后,信号的表示变成非线性形式。一阶、二阶统计量不能够完备地表示出信号的统计特征,即信息没有全部包含在一、二阶统计量中,更高阶的统计量中也包含了大量有用的信息。而信号的高阶累积量就是高阶统计量中的一个主要统计量,本文对比的特征提取算法使用高阶累积量作为样本特征,k阶累积量ckx(τ1,τ2,…,τk-1)的定义为

ckx(τ1,τ2,…,τk-1)=

cum(x(n),x(n+τ1),…,x(n+τk-1))

(2)

式中:x(n)为信号;cum(·)为累积函数。由此可得p阶混合矩的概念,即

Mpq=E[x(n)p-qx*(n)q]

(3)

式中:*表示共轭;q为不超过p/2的整数。由式(2)可得到各阶累积量定义为

(4)

2 基于MSPP的自动调制识别

本文设计了一种使用多尺度金字塔池化网络的深度CNN模型来进行调制信号识别,网络的深化可以对输入特征抽象的层次更深入,对其理解的准确度相对来说也就更深。而为了更好地适应深度的卷积神经网络,同时,也为了得到更多的非线性因素,本文在传统CNN模型的基础上加入了批量归一化层,并应用了一种多尺度金字塔池化网络。如图3所示。

图3 MSPP-CNN网络模型图Fig.3 MSPP-CNN network model

本文设计的模型由6个卷积层和1个全连接层组成,其中,除了最后一个卷积层外,每个卷积层后都有一个批量归一化层、激活层和池化层。前5个卷积层使用校正线性单元(ReLU)激活函数和金字塔池化层处理样本,在最后一个卷积层中,用平均池化层替代金字塔池化层来保留经多次筛选过的信息特征。输出使用软最大输出函数(Softmax)作为激活函数。算法流程如图4所示。

图4 MSPP-CNN算法流程图Fig.4 Flow chart of MSPP-CNN algorithm

2.1 数学模型

1≤i≤M-m+1,1≤j≤N-n+1。

(5)

同时,为了不丢失输入图像边缘的许多重要信息,在进行卷积操作前,先采用SAME填充方式在图像周围填充像素点,降低信息的丢失率,对于一幅图像大小为n×n且过滤器尺寸为f×f的SAME运算为

[(n+2p)×(n+2p)]×(f×f)→
(n+2p-f+1)×(n+2p-f+1)

(6)

式中,p=(f-1)/2。

对信号进行卷积运算后,再进行池化处理。池化又称为下采样,是一种对特征进行降维从而减少参数、提升计算速度的方法,池化分为平均池化与最大池化:最大池化能够尽可能多地筛选出有用的信息特征;平均池化能够保留已筛选的有用信息。当对一个矩阵D进行下采样时,先对其分块,一般的分块操作是不重叠的,其中,第ij个块可以表示为

(7)

(8)

(9)

同时,本文采用的ReLU和Softmax两个激活函数分别为

ReLU(x)=max(0,x)

(10)

(11)

2.2 多尺度金字塔池化

多尺度金字塔池化(MSPP)是根据空间金字塔池化网络(Spatial Pyramid Pooling Networks,SPP-Net)[16]结合信号调制识别的特点提出的一种池化技术。SPP-Net被用于提取非固定尺寸图片特征的卷积神经网络,使网络可输入任意图片,并生成固定大小的输出。与传统CNN网络不同,SPP-Net不需要对图像进行剪裁或者包裹处理,而是可以直接对输入的任意大小的图像进行处理。对于信号而言,使用一种并行的金字塔池化,即多尺度金字塔池化对输入进行并行处理,能够赋予网络更强的特征表达和泛化性能。

假设输入数据大小为(c,hin,win),分别表示通道数、高度和宽度,池化块大小为n×n,则核(Kernel)大小、步长(Stride)大小分别为

9日深夜,一些示威者开始强行占领邮电大楼;一些人前往火车站朝开往莫斯科的特快列车扔石头,打砸车窗玻璃,叫嚷“俄国狗……”;还有一些人则动用刀子、石块、皮带对付执勤警察,甚至抢夺其武器。赫鲁晓夫获悉事态近乎失控后终于明白:“不动武是不行的。”“不可以对这种狂热听之任之。”[5](P163-164)于是,他命令坦克、摩托化步兵和内务部队进入第比利斯市区。随后,军方动用坦克驱散了主要街道和列宁广场上的人群。一些人负隅顽抗,结果遭到了镇压。据不完全统计,“至少有20名示威者被打死,60人受伤,被捕入狱的人更多。”[9](P298-299)

(12)

(13)

其中:「·,·⎤为向上取整符号;⎣·,·」为向下取整符号。则

(14)

可以验证得到,池化后的矩阵大小即为(n,n)。

2.3 MSPP-CNN算法的信号调制识别

根据本文设计的MSPP-CNN各层结构以及步骤,对卷积层、池化层和归一化层进行具体分析。本文模型与传统CNN不同,由于具有一定深度,为了输入、输出的计算方便,特别加入了BN层,即批量归一化层。输入层输入的样本大小为1024×1×1,其中,1024为每帧的样本数,网络深度定为1。根据输入的样本类型和特点,设定每一个卷积层的卷积核尺寸为1×8,步长为1,使用SAME填充方式进行填充,1~6层的金字塔池化层大小分别为16,24,32,48,64,96,逐层增加。经过第1个卷积层,输入信号的卷积表示为

(15)

式中:x1_c为卷积层输出;xi_q为输入原始信号SAME填充后的IQ样本;w1_c和b1_c分别为第1个卷积层的权重和偏置,均为可学习参数。

随后,经过BN层对处理后的样本进行批量归一化,BN层置于卷积层与激活层之间,能够将数据都转换在均值为0、方差为1的状态下。经过第1个BN层,其归一化过程表示为

x1_b=c1_bx1_c+k1_b

(16)

式中:x1_b为BN层输出;c1_b为x1_c的方差;k1_b为x1_c的均值。均为可学习重构参数,能够让网络学习恢复出原始网络所要学习的特征分布,使得每层数据分布一致。训练会较容易收敛,同时控制梯度爆炸,防止梯度消失以及过拟合。

在进行了批量归一化处理后,特征图经过激活函数层,施加激活函数为提取的特征加入非线性因素,使本文模型具有更强的表达能力。考虑到可能出现的梯度弥散问题以及网络的稀疏性,选取ReLU激活函数σ(·)对x1_b进行处理,算式为

x1_r=σ(x1_b)。

(17)

之后进入池化层,池化层步幅为2,池化块大小为n×n,n为池化层数,池化能够将小邻域内的特征点整合,得到新的特征,以便进行下一步的学习训练。第1个池化层的池化过程可表示为

x1_p=Pn×n(x1_r)。

(18)

以上即第1个卷积层所进行的步骤,包含了卷积、批量归一化、激活和池化4步。同样,之后的4个卷积层重复上述4步,提取出更抽象的特征,以得到输出x5_p。最后一个卷积层,用平均池化层替代金字塔池化层,池化块大小为1×32,其输入为xL_b,输出xL_p可以表示为

xL_p=avgpooling1×32(xL_b)。

(19)

最终得到大小为1×1×96的样本,再将其输入至全连接层,全连接层能够将分布式特征映射到样本标记空间,即全连接层可以将特征整合到一起,极大减少了特征位置对分类带来的影响。使用Softmax函数作为激活函数来满足多分类的目的,神经元的个数与标签数相同,本文模型中调制信号类型有11种,该层的输出预测标签ys为

ys=ρ(wsxL_p+bs)

(20)

式中:ρ(·)为Softmax激活函数;ws和bs分别为全连接层的权重和偏置,均为可学习参数。

以上即为本文设计的MSPP-CNN信号调制识别模型。

3 试验与仿真

本文使用Windows10家庭版64位操作系统下的Matlab软件深度学习工具箱,基于Nvidia GeForce GTX 1650Ti图像处理器进行网络模型的搭建与计算训练。主要通过不同信噪比下的训练过程与测试帧的混淆矩阵对算法的性能进行分析,并通过与其他算法进行对比来验证此算法具有更好的性能。

3.1 信号样本的生成

首先,使用Matlab生成含有110 000个样本的数据集,内含有11种调制信号,分别为8种数字调制信号BPSK,QPSK,8PSK,16QAM,64QAM,PAM4,GFSK和CPFSK,以及3种模拟调制信号B-FM,DSB-AM和SSB-AM。每一种调制信号含有10000帧,其中,8000帧用于训练神经网络,1000帧用于验证,最后1000帧用来获得最终分类准确度。生成信号参数如表1所示。

表1 信号样本参数Table 1 Parameters of signal sample

为了使生成信号样本更趋于实际,给信号施加了加性高斯白噪声(Additive White Gaussian Noise,AWGN),莱斯多径衰落以及时钟偏移后再进行调制转换,得到形式为a+bi的信号原始样本作为输入。

其中,通过AWGN通道时,给信号增加了信噪比为-18~18 dB的AWGN,信噪比的算式为

(21)

式中:PS为信号功率;PN为白噪声功率。

随后,通过莱斯多径衰落信道,信号是复高斯信号和直射分量的叠加(即正弦波加窄带高斯过程),其包络的概率密度函数服从莱斯分布,即

(22)

(23)

时钟偏移是由于时钟源到达不同寄存器所经历路径的驱动和负载不同,时钟边沿的位置有所差异,由此造成了时钟偏移,其中,时钟偏移因子C的算式为

(24)

式中,Δclock为时钟偏移量。同样地,对每帧的频率偏移fo和采样率偏移(SFO,用OSFO表示)由时钟偏移因子、采样率fs和中心频率fc(·)所决定,分别为

fo=-(C-1)fc(1)

(25)

OSFO=C×fs。

(26)

随后,生成通过通道后减损的帧,同时,生成其所对应的调制类型标签以备用。

3.2 模型调制识别训练过程

首先,将网络迭代轮数设置为18,这是在网络深度为2的情况下,经过多次训练仿真对比得出的较为合适的训练轮数,其平衡了训练时间和识别准确度之间的关系。其次,初步设置学习率为0.01,通过算法可将大部分参数优化至极小值附近,但仍存在梯度过大的参数。若学习率过大,则已经优化得差不多的参数可能会出现不稳定的情况。故设置每经过9轮的训练,学习率降低10%,以便进行更充分的参数优化和模型训练。MSPP-CNN模型的参数如表2所示。

表2 MSPP-CNN模型参数Table 2 Parameters of MSPP-CNN model

本文将训练过程的准确率曲线进行平滑处理后,提取了每轮次训练完成后的识别准确率和损失,分别如图5、图6所示。

图5 不同信噪比下的准确率曲线Fig.5 Accuracy curves of different SNR

图6 不同信噪比下的损失曲线Fig.6 Loss curves of different SNR

首先,在低信噪比(-18 dB)条件下进行训练,训练开始时,识别准确率为10%,误差损失为2.5;在进行10轮迭代后,模型的准确率约为36%,其损失约为2;而当迭代达到最终次时,最终的准确率为56%,损失降到了1.4。针对每个调制类型的具体识别分析,将在之后的混淆矩阵分析中展开。

接下来,在信噪比为0 dB时进行训练,与-18 dB时不同,准确率曲线在开始时就有明显上升趋势,达到40%左右时开始保持平稳增加态势,损失在同一时间段迅速达到1.5,这与信噪比的升高有着很大的关系;经过10轮迭代后,准确率达到57%左右,损失约为1.3;经过18轮迭代,准确率停至62.98%,损失降至0.9。相比信噪比为-18 dB时有明显的性能提升,说明此模型一定程度上会受到信噪比的影响,但也具有一定的抗噪性能。

最后,对信噪比为18 dB的情况进行分析,全览整个训练过程,可以明确的是,在高信噪比条件下,本文模型具有非常优良的性能。同0 dB时一样,准确率曲线一开始便迅速上升达到80%左右之后趋于稳定,损失也迅速下降至0.4左右;10轮迭代后,准确率和损失曲线有一小波动,随后分别进入稳定上升和下降期,最终准确率达到92.04%,损失为0.2。

3.3 模型调制识别混淆矩阵

为了进一步研究本文模型性能,分别对不同信噪比下的调制识别结果(即其混淆矩阵)进行具体研究分析,如图7所示。

图7 不同信噪比的混淆矩阵Fig.7 Confusion matrix of different SNRs

图7(a)所示为信噪比为-18 dB时的混淆矩阵。其中,横坐标为预测调制类型,纵坐标为实际调制类型。由混淆矩阵可以看出,在低信噪比情况下,混淆结果较为杂乱,并无明显规律可循。但值得注意的是,尽管信噪比很低,但是B-FM,CPFSK,GFSK的识别准确度均高于75%,这说明上述3种调制类型受信噪比影响较其他类型而言相对较小。

图7(b)所示为信噪比为0 dB时的混淆矩阵。提高信噪比后,网络预测性能有显著提高,尤其对B-FM,CPFSK,GFSK均高达90%以上,几乎不受噪声影响。而此混淆矩阵已经能够初步判断出,网络对64QAM和16QAM,8PSK和QPSK,DSB-AM和SSB-AM这3对调制类型存在明显的混淆,出现这种现象分别因为:16QAM是64QAM的子集,而每帧只能携带128个符号,故网络会混淆这两种调制类型;而对于QPSK和8-PSK,在通道衰落和频率偏移引发相位旋转后,这两种调制类型的星座图看起来很相似,所以会出现混淆的情况;DSB-AM和SSB-AM,一个是双边带调幅,另一个是单边带调幅,两者还具有同样的抗噪性能,故存在混淆的情况。

图7(c)所示为信噪比为18 dB时的混淆矩阵。可以看出,除了64QAM和16QAM,8PSK和QPSK,DSB-AM和SSB-AM这3对调制类型,其他调制类型的准确率全部达到99%以上,B-FM,CPFSK和GFSK更是高达100%,网络达到预期效果。

3.4 不同算法的对比

最后,对本文所提算法与传统CNN算法以及传统基于特征提取的SVM[12],KNN[13]算法进行性能对比,其中,进行对比的CNN模型为传统两层卷积神经网络。不同算法的对比如图8所示。

图8 不同算法的对比图Fig.8 Comparison chart of different algorithms

由图8可以看出:当信噪比为-18 dB时,CNN,SVM和KNN算法的识别准确率约为10%,而本文算法识别准确率为56%,已经远高于其他3种算法;随着信噪比的增加,当信噪比为-18~-4 dB时,其他3种算法识别准确率呈快速上升趋势,而本文算法识别准确率稳定上升;当信噪比为-4~-2 dB时,本文算法与传统CNN算法识别准确率最为接近;当信噪比增至4 dB后,SVM,KNN算法的识别准确率趋于平缓;当信噪比为4~10 dB时,CNN算法与本文算法识别准确率依旧呈增长趋势,直至10 dB时传统CNN算法的识别准确度开始趋于平缓。最后,当信噪比为18 dB时,本文算法的识别准确度为92.04%,CNN算法为78%,SVM算法为66.6%,KNN算法为67%。由图8可以得出,本文算法无论是在低信噪比还是高信噪比的条件下,其性能均优于其他3种算法,尤其是低信噪比时,性能更是达到50%以上,远超其他3种算法。

4 结束语

本文提出了一种基于多尺度金字塔池化的卷积神经网络算法。在设计时考虑到不同调制信号的不同特征以及网络模型所需的泛化能力和特征表达,使用多尺度金字塔池化来优化网络结构;并使用批量归一化层和Dropout值来优化深度网络中的参数,提升网络的泛化性能。最后,对根据真实通信环境生成的不同信噪比下的多种调制信号使用所设计的网络模型进行调制识别训练与测试。仿真结果表明,当信噪比为-18 dB时,网络已具有50%以上的识别准确率,而当信噪比为18 dB时,识别准确率达到92.04%。识别准确率全程高于SVM,KNN以及传统CNN算法,验证了本文所提算法的有效性以及高识别准确率。

猜你喜欢
池化信噪比准确率
基于高斯函数的池化算法
两种64排GE CT冠脉成像信噪比与剂量对比分析研究
卷积神经网络中的自适应加权池化
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
基于深度学习的无人机数据链信噪比估计算法
基于卷积神经网络和池化算法的表情识别研究
高速公路车牌识别标识站准确率验证法
用于手写汉字识别的文本分割方法