官成功,高 勇
(四川大学,四川 成都 610065)
广播式自动相关监视(Automatic Dependent Surveillance-Broadcast,ADS-B)是一种广泛应用于空管系统的技术。与传统雷达系统相比,它具有成本低、误差小和监视能力强等优点。在信号去噪方面,传统方法如文献[1]Donoho 提出的利用小波变换法降噪,含噪信号经过小波变换处理后,有用信号与噪声会产生不同的小波系数,前者的小波系数大数目少,后者的小波系数小但数目多。通过选取一个恰当的阈值,保留产生大于阈值的小波系数,剔除小于阈值的小波系数,可以实现有用信号与噪声的分离,达到去噪的效果。但是,小波基的选取、阈值的确定及分解层数,都会对去噪效果产生影响,难度较大。又如,文献[2-4]采用的主成分分析(Principal Component Analysis,PCA),通过线性变换与数据映射,将初始数据中关联性较大的一些向量转化成含有初始数据最多信息的相互独立的少数代表向量,即保留低阶主成分,略去高阶主成分,降低初始数据的维数,选出最少的维数来概括信号最重要的特征,以达到去除噪声和冗余成分的目的。但是,主成分各个特征维度的含义存在一定的模糊性,不如原始样本特征的解释性强。此外,针对非线性的相关关系,采取线性变换的PCA 很难取得比较满意的效果。文献[5]中利用卷积自编码器的方法对信号进行去噪,将数据进行编码和解码,使得潜在编码变量服从惩罚约束,但其需要进行参数变换、变分推理等,过程烦琐且为无监督学习,维度信息低,难以得到有效利用。
针对使用传统方法对信号进行去噪出现的问题,提出了基于生成对抗网络的改进式生成对抗网络,将深度学习应用于ADS-B 信号的降噪,通过比较网络降噪后的输出信号与加噪信号,可以观察到处理后噪声明显减少,提高了ADS-B 的译码准确率。
1090ES(1 090 MHz Extended Squitter)协议是目前国内运用较多的链路协议[6]。本文研究的ADS-B 1090ES 信号以该数据链路协议为基础,与S 模式信号工作频率均为1 090 MHz。它的帧格式如图1 所示。前导脉冲部分由4 个确定位置的脉冲构成,每个脉冲的宽度为0.5 μs。4 个脉冲的上升沿分别位于帧0 μs、1 μs、3.5 μs、4.5 μs 的位置。根据国际民航组织(International Civil Aviation Organization,ICAO)的标准,在实际信号传输过程中,所规定的脉冲时间位置允许有±0.05 μs 的波动范围。由于不同模式下前导格式不同,因此可以根据前导判断是否为该类信号。
数据位部分起始时间点为8 μs,采用脉冲位置调制(Pulse Position Modulation,PPM)对信息数据进行编码,如图2 所示。每个比特所占时间为1 μs,当前0.5 μs 为高电平,后0.5 μs 为低电平,代表信息比特“1”;当前0.5 μs 为低电平,后0.5 μs 为高电平,则代表信息比特“0”[7]。数据位的比特数通常固定为112 bit 或56 bit,本文采用的数据位为112 bit,也就是说数据位所占时长112 μs。因此,一条ADS-B 信息所持续的时间约为120 μs。
图1 ADS-B 信号
图2 数据位PPM 调制
2014 年生成对抗网络(Generative Adversarial Nets,GAN)由Goodfellow 首次提出,之后被业界称为“近年来机器学习领域最棒的想法”,目前已经在传统的图像处理领域取得了一定的成就,如超分辨等方面,但在信号处理方面如信号去噪方面的研究应用还较少。生成对抗网络由两部分组成,生成网络模型即生成器(Generator)和判别网络模型即判别器(Discriminator),如图3 所示。它的基本思想源自于博弈论中的纳什均衡,其中生成器与判别器被看作相互博弈的双方。生成器学习真实数据样本的分布特征,不断逼近真实样本,最终达到能够欺骗判别器的目的;而判别器的目的是通过学习正确辨别出真实样本与生成样本。为了达到利益最大化,生成器和判别器必须不断学习优化,以提高自身的生成能力与判别能力,最终实现二者的纳什均衡[8]。
图3 生成对抗网络结构
在生成对抗网络结构中,生成器和判别器可以分别用G 与D 表示。生成器G 通过学习真实数据样本x产生生成样本G(z)。判别器D 相当于一个二分类器,辨别出输入D 中的样本是来自生成样本G(z)还是真实样本x。当输入数据来自真实样本x时,D 的目标是使输出的D(x)不断趋近于1;当输入数据来自生成样本G(z)时,D 的目标是使输出的D[G(z)]不断趋近于0。此时,对于生成器G 说,则是使之趋近于1。因此,可以把生成对抗网络的训练过程看作一个极小-极大化的问题。目标函数表示为:
式中:z为潜在表征;x代表真实样本数据;P表示概率分布;E表示期望。
总的来说,在生成对抗网络训练学习的过程中,既要训练判别器D 最大化其判别数据来源的准确率,也要训练生成器G 使这一准确率达到最小,渐渐达到自己的最佳性能。在求解式(1)目标函数时,可以采用交替优化的方法:先固定生成器G,对判别器D 进行训练,使判别准确率达到最大;再固定判别器,对生成器G 进行训练,使判别器D 的判别准确率达到最小;最后,二者达到纳什均衡。考虑到实际情况,一般对同一轮参数进行训练时,对D 训练多次后再对G 的参数进行训练更新。
生成对抗网络(Generative Adversarial Networks,GAN)属于无监督学习模型,可以对没有标注的数据进行学习得到概率分布规律,但存在训练不稳定、模式坍塌和不易收敛等问题。针对这些问题,可以采用深度卷积生成对抗网络。
深度卷积生成对抗网络是一种将卷积神经网络(Convolutional Neural Network,CNN)与生成对抗网络相结合的神经网络。与传统生成对抗网络相同,它的内部有一个生成器G 与判别器D,但将G 与D变成了改进的卷积神经网络来提高特征提取能力,同时对以下几个方面做了优化。第一,取消生成对抗网络中生成器G 与判别器D 的池化层,用步长卷积层代替。第二,除生成器G 的输出层与判别器D的输入层外,对数据均进行批量归一化处理(Batch Normalization)。第三,判别器D 中的激活函数用LeakyReLU 函数,生成器G 中激活函数用ReLU函数,最后一层用tanh 函数,其中LeakyReLU 与ReLU 两种激活并无本质区别,选择多为经验总结。第四,除生成器G 的第一层和判别器的最后一层,网络中不再使用全连接层[9]。
本文采用的ADS-B 信号采样率为100 MHz,即在1 μs 的时间内可以采样100 个点。一条ADS-B信号120 μs,那么需要12 000 个采样点记录这条数据。本文实验中扩大为12 500 个采样点,以确保每个样本有一条完整的ADS-B 信号。
如果将12 500 个数据同时输入训练网络,由于数据量过大会增加网络的训练难度,因此采取模块分割处理的方法,将12 500 个采样点均匀分割成25 个模块,每个模块长度相等,均为500 个采样点,并每个模块作为一个数据样本。
进行生成对抗网络训练时,需要大量数据作为样本,但可以获得的ADS-B 信号数据量较少且获取标准无噪信号较为困难。为了解决这个问题,采用随机方波数据作为数据集。因为ADS-B 采用PPM 调制,所以可以控制方波占空比来模拟ADS-B数据的格式。如图4 所示,上方图为随机方波,标准固定脉宽50个采样点,作为真实样本输入判别器;下方图为对应添加了高斯白噪声的含噪方波数据,此处通过awgn 函数加噪,SNR=0 dB,并将其作为含噪数据输入生成器与判别器。
图4 随机方波及其加噪图
典型的深度卷积生成对抗网络,生成器卷积层数较少,可以获取的特征信息比较简单,将会导致网络训练不完全且模型精度不高,且多用于图像处理领域。本文提出的改进式深度卷积生成对抗网络结构示意图,如图5 所示。该网络修改了输入数据维度,以适用于一维信号的输入,同时增加了卷积层数,以获取数据更深层次的信息。生成器由12层卷积层构成,其中6 层为卷积层,将信号维度压缩至256×15,通过卷积操作对数据进行特征提取。多次卷积可以获得更多的中间隐藏特征,再通过6层的转置卷积层将信号恢复至1×500,与原始数据维度相同。转置卷积可以看作卷积操作的逆运算,通过对称结构的转置卷积层对特征向量进行插值,最后使其与原始数据向量维度(1×500)达到一致。
生成器最后一层的激活函数采用tanh 函数:
tanh 函数取值范围为(-1,1),经过生成器G 生成的数据值也在(-1,1),但判别器网络需要同时对真实数据和生成的数据进行判别,因此需要对输入判别器的真实数据进行预处理,将其取值范围控制在上述范围内,以满足判别器的需要。在网络训练过程中,先创建Label 值,其中1 代表真实数据,0 代表生成的数据。在两者经过判别器后得到各自loss 值,两个值相加后得到总的loss 值,然后反向传播更新参数,优化判别器。由于判别器相当于一个二分类器,因此本次实验可以采用交叉熵(Binary Cross Entropy)作为损失函数来计算loss值,可表示为:
式中,y为标签值,x为模型输出的值。在训练生成器的时候,采用式(3)损失函数。但是,在方向传播优化生成器参数的时候,需要固定判别器参数,以实现稳定训练。
图5 改进式深度卷积生成对抗网络结构
算法流程如图6 所示,利用制作的训练集对生成对抗网络进行训练优化,得到满意的模型后,再用其对ADS-B 数据进行去噪,最后进行译码分析。
仿真实验的数据集选取添加噪声的信噪比为-2~2 dB 的随机方波信号和对应的未添加噪声的纯净方波信号,数目均为10 000 条,训练轮数200 轮,batchsize 为250。
为了验证提出的改进式深度卷积生成对抗网络对ADS-B 信号的降噪效果,采用Pytorch 深度学习平台在计算机上进行验证。计算机CPU 型号为Intel(R) Core™ i9-9900k CPU @ 3.6 GHz 32 GB内存,GPU 型号为NVIDIA GeForce RTX 2080 Ti。
图6 算法流程
验证时,另外产生不同于训练集的随机方波数据,如图7 所示。添加信噪比为0 dB 的噪声,输入训练完成后的生成器,则去噪前后的信号对比如图8 所示。可以看出,经过生成器的去噪后,噪声已经基本消除。
图7 原始随机方波信号
图8 加噪及去噪后方波信号
取采样率为100 MHz 的ADS-B 信号添加0 dB高斯白噪声,结果如图9 所示。可见,信号质量明显变差,对其直接进行译码,未能获取相关有效信息。取其前一段采样点如图10 所示,可见4 个前导脉冲均已淹没在噪声中,难以判断它是否为ADS-B 信号。
图9 ADS-B 信号加噪前后波形
经过降噪处理后的信号如图11 所示。相比去噪之前,信号质量有了很大提升,且可以明显看出前导脉冲。取其中一段采样数据,如图12 所示,可见噪声得到了很好的消除,处理得到的112 bit数据流对应的十六进制信息为88 00 03 94 90 0B 00 AA AB 77 77 8C B3 08。可以看出,改进式深度卷积生成对抗网络对ADS-B 信号去噪具有有效性。
图10 前导脉冲加噪前后波形
图11 去噪后信号波形
图12 ADS-B 部分信号去噪前后对比
针对ADS-B 信号在传输过程中低信噪比下难以译码处理的问题,提出了一种改进式深度卷积生成对抗网络的深度学习方法,通过模块化处理,利用随机方波信号,训练生成器G 与判别器D,再用训练完成的生成器G 对ADS-B 信号进行降噪处理,相比较传统去噪算法省去了寻找提取特征的步骤。实验结果表明,改进式深度卷积生成对抗网络能够对ADS-B 信号进行降噪,一定程度上提高了受干扰后的ADS-B 信号的正确译码率。