基于卷积神经网络的物理帧切割方法

2020-08-11 06:52雷迎科
数据采集与处理 2020年4期
关键词:卷积神经网络矩阵

邵 堃,雷迎科

(国防科技大学电子对抗学院,合肥,230037)

引 言

从利用传统的短波、超短波电台实现战场实时通信到数据链技术在武器装备上的应用,军事通信技术正在飞速地发展。军事通信技术不断结合发展现代通信技术与战术理论,目的是保证战场的通信并进行信息实时的传输与反馈。而通信协议分析则是军事通信领域不可或缺的重要部分,在非合作的军事对抗领域,协议分析是获取敌方通信信息和进行灵巧干扰的前提。因此国内外许多学者开展了对通信协议分析的研究。物理帧结构为链路层消息格式提供了物理封装,物理帧分为同步序列和数据两部分,每帧的信息容量能够承载链路层传输块的全部字节,对高层协议的识别必须建立在对物理帧准确切割的基础上。

为了确保收发端顺利传输信息,发送方会选择将数据打包成帧后在物理层进行传输,即发送端在每个物理帧的开始插入一段特殊的码组作为同步序列。根据协议类型的不同,物理帧的同步序列长度不定码型不定。通信合作方已知同步序列[1-2],可以通过比对处理对接收到的数据准确分组,完成信息的传送,作为非合作方缺少同步序列的先验信息,因此非合作通信中的协议识别就面临着对物理帧精确切割的问题且难度较大。

目前国内外对帧切割方法的研究主要集中于对同步序列的识别[3-13]。白彧等[8]提出基于相关滤波和哈达玛变换的帧同步识别技术识别帧长。杨晓静等[9]提出了基于偏三阶相关函数峰值特性的识别方法分析和判断帧长,但该算法只对同步码是m-序列的数字序列的帧结构有识别作用。张玉等[10]利用小区域检测来估计帧长,但该方法是将同步码的码型作为先验信息进行匹配,只对码型确定的同步码识别率较高,对同步码码型和码长不确定的数字信号识别率明显降低。郭凯丰等[11]提出一种累积滤波算法,用来识别数据帧的帧头和数据部分,该算法在帧结构复杂或帧同步码长不确定的时候判决门限很难确定。王和洲等[12]提出一种基于数据挖掘的帧切割算法,该方法利用了帧内序列的频繁性和序列间的关联规则将未知比特流按帧长切割。目前国内的物理帧切割方法普遍存在两个问题:(1)对于判决门限的选择没有一个具体的准则,门限普适性不高;(2)多数识别方法只适用于部分码型的同步码,方法普适性不高。针对上述问题,本文提出一种基于卷积神经网络的物理帧切割方法,其核心思想是通过数据处理将数据转化为图像,突出按帧长切割的数据与非帧长切割的数据的差异性。利用已知帧格式的数据离线训练卷积神经网络,用训练好的卷积神经网络识别未知协议的帧长,最后在帧长识别的基础上,通过相关滤波的方法判断帧起始位置,实现对物理帧的切割,并且在巴克码作为帧同步的数字序列和伪随机序列作为帧同步的数字序列上验证了算法的有效性。

1 物理帧切割

1.1 系统组成

无线军事通信的信道传输系统主要包括发送端和接收端两部分。以军事通信中武器制导数据链信号处理流程为例,在发送端,数据经过加密、加扰、编码、交织、物理成帧以及调制等处理。在接收端,解调后的数据进行帧同步,在捕获到帧头位置后提取信息数据。对信息数据进行解交织、译码、解扰和解密后,送入数据分接模块,恢复业务信息。信道传输系统组成如图1 所示。

图1 系统组成Fig.1 System composition

1.2 物理帧结构

物理帧结构为链路层消息格式提供物理封装,物理帧结构长度大于链路层传输块长度,物理帧分为同步序列和信息字段两部分,根据协议类型不同,物理帧的长度各不相同。物理帧结构如图2 所示。实际应用中广泛采用的帧同步码插入方式有两种:一种是集中插入法,另一种是分散插入法。前者是将一段具有特殊性质的码组插入物理帧的前面,多用于对建立同步要求高或信息间断传输的通信,后者是将一种特殊的周期性同步码元分散插入信息码元序列中,多用于信息间断传输的通信。在战场环境下,通信方为了实现通信的隐蔽性和防截获性,需要完成信息的间断传输,如武器制导数据链等通信系统,因此本文研究对象为集中插入式帧同步结构。

图2 物理帧结构Fig.2 Physical frame structure

1.3 问题描述

作为非合作方,对接收到的比特流数据进行物理帧切割直接关系到后续的解交织、译码、解扰和解密等步骤,对信息分析和灵巧式对抗起着重要作用。以武器制导数据链信号的帧结构为例,我方面临的问题有以下几点:

(1)帧的长度未知。为了保证信息传输效率,大多数数据链信号采用等长物理帧结构,但不同类型的数据链信号的帧长各不相同,相同类型的数据链的前、反向链路信号的帧长也不同。

(2)同步序列长度未知。不同类型的数据链信号采用不同的码组作为帧同步序列,合作方通过已知的同步序列进行相关滤波来确定帧起始位置。作为非合作方需要通过一定的识别算法对侦收到的信号进行处理,找到帧同步序列起始位置,完成帧切割。

(3)要求更高的普适性。由于战场环境复杂,存在多种协议的物理帧,这就要求物理帧切割方法适用于多种码型的同步序列。

2 物理帧切割方法

纵观国内外对帧长识别的研究现状可以发现,目前还没有学者利用卷积神经网络实现物理帧的切割,本文首次提出一种基于卷积神经网络的物理帧切割方法,旨在通过卷积神经网络强大的图像分类能力实现对不同协议物理帧的长度识别,解决现有识别方法中因门限选择导致识别性能下降的问题和识别方法通用性不高的问题。该方法从物理帧结构出发,通过卷积神经网络识别帧长,通过相关滤波的方法识别帧起始位置,完成帧切割。

2.1 基于卷积神经网络的帧长识别

图像是由许多像素点组成,将像素点转化为数值后,每张图像本质上对应一个矩阵。目前卷积神经网络在图像分类方面的相关任务上表现优异,根据物理帧结构的特点,将接收到的数字序列经分组后排列成矩阵并转化成图像,其中按物理帧长度分组的图像会表现出特殊的特征,其余分组方式的图像则不具备该特征,不同协议的物理帧具备同样的特点。因此,作为非合作方可以用来自多种协议的数字序列构造的图像训练卷积神经网络,然后利用训练好的卷积神经网络识别未知协议的帧长,其中图像生成部分包括分析矩阵的构造、数据压缩和矩阵扩展3 部分。

2.1.1 分析矩阵构造

设接收到的数字序列为y,同步序列s表示为(a1,a2,a3,…,as),信息字段设为q,表示为(am+1,am+2,am+3,…,aL),其中a∈{0,1},帧长L=Ls+Lq。作为非合作方在接收数字序列时,会因较差的信道环境和前期滤波解调等步骤的偏差使得数字序列的某些位置出现误码。根据集中插入式帧同步的相关性,将数字序列y按长度n分组,排列成m行n列的分析矩阵H,即

当n=L时,分析矩阵H的排列方式即为图3 所示,数据帧中的同步序列将会出现在分析矩阵每行的相同位置。

2.1.2 数据压缩

为了解决由数据量不定导致的分析矩阵H行数变化范围过大的问题,对分析矩阵H进行数据压缩,首先对分析矩阵H的每列求均值,即有

图3 物理帧理想接收模型Fig.3 Physical frame receiving model

然后根据物理帧数据的二元性改写b(i):当 |b(i)-0.5 |大于阈值时,令b(i)=1,其余情况令b(i)=0。经过压缩处理将m行n列的分析矩阵压缩成1 行n列的矩阵B=[b1,b2,…,bi,…,bn],其中b∈{0,1},数据压缩后突出了同步序列和信息字段的差异性。

2.1.3 矩阵扩展

设物理帧的同步序列长度为Ls,在一帧中所占比例为λ;信息字段长度为Lq,在一帧中所占比例为η。在构造分析矩阵时,由于n值的不断变化导致矩阵B的列数变化范围过大,且不同协议对应的分析矩阵的L值各不相同。当分析矩阵的列数取k倍帧长时,其中同步序列在压缩后的分析矩阵B中出现的次数为;信息字段在压缩后的分析矩阵B中出现的次数为。为了保证n=kL(k∈ N+)时相同协议对应的压缩后的分析矩阵B表现出一致的特征,具体表现为同步序列和信息字段在不同分析矩阵中各自所占比例不变、出现次数不变和位置不变,因此扩展矩阵B,即选择一个足够大的N值对矩阵B进行扩展,即有

将矩阵C中的元素重新排列,有

当n≠kL(k∈N+)时,物理帧中的同步序列将不会出现在分析矩阵H每行的相同位置,表现在矩阵C中为P(c=0)≫P(c=1)且矩阵C中没有连续的“1”码和连续的“0”码交替出现的特征。

2.1.4 卷积神经网络

将矩阵C转化为黑白图像后,n等于帧长时对应的图像与n不等于帧长时对应的图像有明显的差异性,因此将n等于帧长时对应的图像标记为正样本,将n不等于帧长时对应的图像标记为负样本。卷积神经网络是专门针对图像识别问题设计的神经网络,纵观该领域研究现状和发展趋势,可以发现目前卷积神经网络在图像分类方面有着其他方法无法比拟的优势,因此本文利用卷积神经网络对物理帧样本进行分类。

式中:⊗表示卷积;Mj表示多张输入图像的集合;bj代表加入的偏置项。激活函数的引入目的是为了增强卷积神经网络的表达能力,令输出不再是输入的线性组合,并可以逼近任意函数。本文采用ReLU6作为卷积神经网络的激活函数。经过卷积后生成的图像大小hl为

式中:hl-1代表卷积前图像大小;zl代表卷积核大小;λl代表卷积核步长;ρl代表进行卷积前图像补零的列数。为解决标准卷积导致的计算量过大的问题,本文采用深度可分离卷积[14-16],该卷积包括Depthwise 卷积和Pointwise 卷积。深度可分离卷积不同于标准卷积,它不再对输入图像的所有通道进行卷积,而是将每个卷积核应用到每一个通道,之后通过Pointwise 卷积组合各通道卷积的输出,得到具有全局响应的权重。标准卷积和深度可分离卷积卷积核分布示意图如图4 所示。

图4 标准卷积和深度可分离卷积中的卷积核分布示意图Fig.4 Diagram of convolution kernel distribution in standard convolution and deep separable convolution

对标准卷积和深度可分离卷积的计算量进行分析。输入图像大小为DF×DF,通道数为M,卷积核大小为DK×DK×M,数目为N,卷积步长为1。标准卷积的计算量为DK×DK×M×N×DF×DF,该计算忽略了各通道聚合的加法计算。深度可分离卷积中Depthwise 卷积的计算量为DK×DK×M×DF×DF,Pointwise 卷积的计算量为1×1×N×M×DF×DF,因此深度可分离卷积可以有效降低标准卷积的计算量。

深度可分离卷积总计算量与标准卷积计算量对比的计算公式为

卷积神经网络的基本过程有前馈运算和反馈运算,前馈运算是从原始输入图像中层层抽取高层语义信息的过程,即有

式中:X为输入样本,W(n)为各层操作中的参数,Oq为预测输出。早期常见反馈运算误差为

式中Eq为预测输出与真实值之间的误差,反馈运算通过反向传播算法将误差逐层反馈并通过最小化误差准则调整各层的权值。

表1 给出本文所用的轻量级卷积神经网络MobileNet V2 的网络结构。表1 中t列表示扩张的比例,c列表示输出的通道,n表示重复几次,s表示步长。MobileNet V2 网络除了运用了深度可分离卷积外还具有独特的线性瓶颈结构,具体介绍见文献[16]。

表1 MobileNet V2 网络结构Table 1 MobileNet V2 network structure

2.2 帧起始位置识别

在帧长识别的基础上重新排列分析矩阵,帧同步序列将会出现在矩阵内每行中相同位置,如式(11)所示。

帧同步序列用于比特流中帧起始位置的界定,因此同步序列通常为一段特殊的序列,同时帧同步序列出现在数据段的概率为零,并且同步序列之间具有位置差固定的关联规则。因此可以通过相关滤波的方法对帧起始位进行识别,具体步骤如下。

(1)根据所识别的帧长值L重新构造分析矩阵,如式(11)所示。

(2)求分析矩阵每列的相关值r(i)。

若d(i)> 0.5,则e(i)=1-d(i),其余情况e(i)=d(i)。

式中f(x)=(1 10)10x(x≥0)。进一步构造相关矩阵,将相关值与门限比较进行判决。

(3)从起点位置开始统计满足条件的列,得到帧起始位置识别结果。

2.3 物理帧切割方法步骤

物理帧切割方法步骤如下:

(1)将数据按不同的长度n构造对应的分析矩阵H。

(2)压缩分析矩阵H的数据得到矩阵B。

(3)根据物理帧之间的关联特性扩展矩阵B得到矩阵C,每个矩阵C对应一张图像。

(4)将n等于帧长的图像作为一类,将n不等于帧长的图像作为另一类,然后将图像输入到卷积神经网络中进行训练,逐层对图像样本特征学习并得到全局特征响应。

(5)使用训练好的卷积神经网络对未知帧结构的数据图像进行分类,将n从小到大进行取值,当图像的识别结果为正类时,该图像对应的n为物理帧帧长。

(6)在帧长识别的基础上通过相关滤波的方法对帧起始位进行识别,完成对未知协议数据的物理帧切割。

3 仿真实验

本文提出基于卷积神经网络的物理帧切割方法,该方法首先用已有的协议数据离线训练卷积神经网络,之后利用训练好的卷积神经网络识别未知协议的物理帧,其中待识别的协议不需要存在于已有的协议库中。

3.1 样本生成和卷积神经网络训练(实验1)

实验所用的物理帧是由不同类型的同步序列和不同长度的信息段拼接形成的,其中同步序列有巴克码、m 序列、Gold 序列和Logistic 混沌序列以及一些其他的特殊序列;信息序列由随机产生的0,1 序列经过不同方式的加扰和编码后形成,信息序列的长度范围在32~5 000 bit 之间;在不同的信息序列前添加同步序列组成实验所需的物理帧,同步序列在物理帧内所占的比例不能太小,物理帧种类用w表示,本文所用共720 种,部分训练样本的特征如表2 所示。设我方接收到的数据中包含60 帧,选择数据的起始比特位置为物理帧中的随机比特位,则实验中每种物理帧对应的数据有qi种起始情况,给数据添加1%~10%的误码,共m种误码情况,在其中添加固定字段模拟真实数据特征。将不同起始位、不同误码率的数据经过本文的图像生成步骤后分成两类:一类是帧长对应的图像共8 000 张,其中6 000 张训练图像,2 000 张测试图像;另一类是非帧长值对应的图像共8 000 张,其中6 000 张训练图像,2 000 张测试图像。部分样本如图5 和图6 所示,其中帧长对应的图像中黑白色块会交替出现,其余情况没有这个特征,在负样本中会因误码和数据量较少的原因在个别位置出现零星的白色色素点。

表2 物理帧特征统计Table 2 Physical frame feature statistics

图5 部分正样本Fig.5 Some positive samples

图6 部分负样本Fig.6 Some negative samples

3.2 帧长识别(实验2)

本文选取长度为1 328 bit 和4 352 bit 的物理帧作为识别对象,二者的同步序列是长度为256 bit 的伪随机序列,接收序列含有60 帧数据。待识别物理帧的特征如表3 所示。图7 为纯同步序列在帧内的特征展示图,为模拟真实协议数据在帧内添加固定字段。在误码率为0~0.1 的环境下进行帧长识别,识别结果如表4 所示。

表3 待识别物理帧特征统计Table 3 Physical frame feature statistics of samples to be identified

图7 纯同步序列帧内特征图Fig.7 Characteristic display of synchronization sequence within frame

表4 帧长识别结果Table 4 Frame length recognition results

3.3 帧起始位识别(实验3)

实验参数与实验2 相同,按照实验2 帧长识别结果重新排列分析矩阵,图8 所示是无误码的条件下帧起始位置识别结果,图中横坐标对应1 帧数据中的各比特位,纵坐标表示填充矩阵每列的相关值,滤掉其他短固定字段后,相关值等于1 的位置是同步序列所在位置,物理帧9 的起始位置在接收序列的52 bit 处,物理帧10 的起始位置在接收序列的62 bit 处。对起始位识别方法的抗误码性能进行分析,在误码率为0~0.1 的环境下进行帧起始位置识别,识别结果如表5 所示,说明本文提出的帧起始位识别方法有较强的容错性能。

图8 无误码条件下帧起始位识别结果Fig.8 Frame start bit recognition results under no-error bit

表5 帧起始位识别结果Table 5 Frame start bit recognition results

3.4 性能对比(实验4)

将本文方法分别与文献[7,9,10,13]的方法进行性能对比,实验数据与实验2 相同。文献[7]提出基于多重分形谱的帧同步字盲识别方法,该方法基于协议帧的有偏性小于同步字的基础,通过比较序列多重分形谱宽度对信息段进行删减,最后通过计算序列中固定长度字段浓度值分布,实现帧同步识别。文献[9]提出基于高阶统计处理技术的m-序列帧同步码识别方法,该方法利用m-序列采样后的偏三阶相关函数峰值相似度高的特性将同步码与信息段分开。文献[10]提出了小区域检测的帧长识别方法,该方法首先将接收到的序列排列成矩阵,然后对矩阵进行同或运算,使同步码所在的区域有高密的“1”出现,最后采用滑动窗口可变的小区域检测寻找出帧长。文献[13]提出一种基于分层的矩阵秩帧长识别方法,该方法首先将接收到的序列分成几个子矩阵,然后在各子层中利用小区域矩阵秩值等于1 的特征寻找可能的帧长值,最后根据统计概率确定真实帧长值。

分别用文献[10,13]中方法和本文方法在不同误码率条件下进行蒙特卡洛帧长识别仿真实验,识别结果如图9 所示。由对于物理帧9 的帧长识别实验结果可知,当误码率为10%时,文献[10]所提出的小区域检测的帧长识别方法的识别概率只有20%左右,文献[13]所提出的基于分层的矩阵秩帧长识别方法的识别概率在80%左右,而本文所提出的基于卷积神经网络的帧长识别方法的识别概率保持在90%左右。由对于物理帧10 的帧长识别实验结果可知,当误码率为10%时,文献[10]所提出的小区域检测方法的识别概率低于20%,文献[13]所提出的基于分层的矩阵秩帧长识别方法的识别概率只有60%左右,而本文所提出的基于卷积神经网络的帧长识别方法的识别概率保持在80%左右。本文方法识别性能较好的主要原因是因为本文方法利用的是帧结构的全局特征,而文献[10,13]的识别方法由于受滑动窗大小的限制,导致方法的抗误码性能有不同程度的下降。

文献[7,9]在对物理帧9 和物理帧10 的帧长进行识别时出现方法失效的问题,原因在于文献[9]所提方法只适用于m 序列作为同步码的数字序列,文献[7]所提方法的本质是基于同步序列和信息字段的有偏性,由于物理帧9 和物理帧10 的同步序列为伪随机序列,其有偏性与信息字段近似相等,导致文献[7]所提方法性能显著下降,而本文所提方法对待识别协议的同步码型没有特定的要求,普适性更好。

图9 误码率与识别率关系Fig.9 Relationship between error rate and recognition rate

本文所提方法在处理帧长较长的数据时所需的时间较长,这主要是因为本文方法需要提取更多的数据特征,使本文算法在信道条件较差的情况下也能给出满意的结果。本文所提方法采用了深度可分离卷积,采用的卷积神经网络模型为轻量级卷积神经网络,因此本文方法较传统卷积神经网络的分类速度有了一定程度的提升。

4 结束语

本文提出基于卷积神经网络的物理帧切割方法,解决了协议类型未知条件下对帧长和帧起始位识别的问题。通过分析矩阵的构造、数据压缩和矩阵扩展3 个步骤,突出了帧长对应的样本和其余样本的差异性,用已有的物理帧样本训练卷积神经网络,用训练好的卷积神经网络识别未知协议的帧长,解决了门限选择导致识别方法性能下降的问题;最后在帧长识别的基础上利用相关滤波方法完成帧起始位的识别,实现对物理帧的切割,仿真实验验证了算法的有效性,表明该方法具有一定的工程应用价值。

猜你喜欢
卷积神经网络矩阵
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于神经网络的中小学生情感分析
基于傅里叶域卷积表示的目标跟踪算法
初等行变换与初等列变换并用求逆矩阵
基于神经网络的拉矫机控制模型建立
矩阵
矩阵