官成功,高 勇
(四川大學(xué),四川 成都 610065)
廣播式自動(dòng)相關(guān)監(jiān)視(Automatic Dependent Surveillance-Broadcast,ADS-B)是一種廣泛應(yīng)用于空管系統(tǒng)的技術(shù)。與傳統(tǒng)雷達(dá)系統(tǒng)相比,它具有成本低、誤差小和監(jiān)視能力強(qiáng)等優(yōu)點(diǎn)。在信號(hào)去噪方面,傳統(tǒng)方法如文獻(xiàn)[1]Donoho 提出的利用小波變換法降噪,含噪信號(hào)經(jīng)過(guò)小波變換處理后,有用信號(hào)與噪聲會(huì)產(chǎn)生不同的小波系數(shù),前者的小波系數(shù)大數(shù)目少,后者的小波系數(shù)小但數(shù)目多。通過(guò)選取一個(gè)恰當(dāng)?shù)拈撝?,保留產(chǎn)生大于閾值的小波系數(shù),剔除小于閾值的小波系數(shù),可以實(shí)現(xiàn)有用信號(hào)與噪聲的分離,達(dá)到去噪的效果。但是,小波基的選取、閾值的確定及分解層數(shù),都會(huì)對(duì)去噪效果產(chǎn)生影響,難度較大。又如,文獻(xiàn)[2-4]采用的主成分分析(Principal Component Analysis,PCA),通過(guò)線性變換與數(shù)據(jù)映射,將初始數(shù)據(jù)中關(guān)聯(lián)性較大的一些向量轉(zhuǎn)化成含有初始數(shù)據(jù)最多信息的相互獨(dú)立的少數(shù)代表向量,即保留低階主成分,略去高階主成分,降低初始數(shù)據(jù)的維數(shù),選出最少的維數(shù)來(lái)概括信號(hào)最重要的特征,以達(dá)到去除噪聲和冗余成分的目的。但是,主成分各個(gè)特征維度的含義存在一定的模糊性,不如原始樣本特征的解釋性強(qiáng)。此外,針對(duì)非線性的相關(guān)關(guān)系,采取線性變換的PCA 很難取得比較滿意的效果。文獻(xiàn)[5]中利用卷積自編碼器的方法對(duì)信號(hào)進(jìn)行去噪,將數(shù)據(jù)進(jìn)行編碼和解碼,使得潛在編碼變量服從懲罰約束,但其需要進(jìn)行參數(shù)變換、變分推理等,過(guò)程煩瑣且為無(wú)監(jiān)督學(xué)習(xí),維度信息低,難以得到有效利用。
針對(duì)使用傳統(tǒng)方法對(duì)信號(hào)進(jìn)行去噪出現(xiàn)的問(wèn)題,提出了基于生成對(duì)抗網(wǎng)絡(luò)的改進(jìn)式生成對(duì)抗網(wǎng)絡(luò),將深度學(xué)習(xí)應(yīng)用于ADS-B 信號(hào)的降噪,通過(guò)比較網(wǎng)絡(luò)降噪后的輸出信號(hào)與加噪信號(hào),可以觀察到處理后噪聲明顯減少,提高了ADS-B 的譯碼準(zhǔn)確率。
1090ES(1 090 MHz Extended Squitter)協(xié)議是目前國(guó)內(nèi)運(yùn)用較多的鏈路協(xié)議[6]。本文研究的ADS-B 1090ES 信號(hào)以該數(shù)據(jù)鏈路協(xié)議為基礎(chǔ),與S 模式信號(hào)工作頻率均為1 090 MHz。它的幀格式如圖1 所示。前導(dǎo)脈沖部分由4 個(gè)確定位置的脈沖構(gòu)成,每個(gè)脈沖的寬度為0.5 μs。4 個(gè)脈沖的上升沿分別位于幀0 μs、1 μs、3.5 μs、4.5 μs 的位置。根據(jù)國(guó)際民航組織(International Civil Aviation Organization,ICAO)的標(biāo)準(zhǔn),在實(shí)際信號(hào)傳輸過(guò)程中,所規(guī)定的脈沖時(shí)間位置允許有±0.05 μs 的波動(dòng)范圍。由于不同模式下前導(dǎo)格式不同,因此可以根據(jù)前導(dǎo)判斷是否為該類(lèi)信號(hào)。
數(shù)據(jù)位部分起始時(shí)間點(diǎn)為8 μs,采用脈沖位置調(diào)制(Pulse Position Modulation,PPM)對(duì)信息數(shù)據(jù)進(jìn)行編碼,如圖2 所示。每個(gè)比特所占時(shí)間為1 μs,當(dāng)前0.5 μs 為高電平,后0.5 μs 為低電平,代表信息比特“1”;當(dāng)前0.5 μs 為低電平,后0.5 μs 為高電平,則代表信息比特“0”[7]。數(shù)據(jù)位的比特?cái)?shù)通常固定為112 bit 或56 bit,本文采用的數(shù)據(jù)位為112 bit,也就是說(shuō)數(shù)據(jù)位所占時(shí)長(zhǎng)112 μs。因此,一條ADS-B 信息所持續(xù)的時(shí)間約為120 μs。
圖1 ADS-B 信號(hào)
圖2 數(shù)據(jù)位PPM 調(diào)制
2014 年生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Nets,GAN)由Goodfellow 首次提出,之后被業(yè)界稱為“近年來(lái)機(jī)器學(xué)習(xí)領(lǐng)域最棒的想法”,目前已經(jīng)在傳統(tǒng)的圖像處理領(lǐng)域取得了一定的成就,如超分辨等方面,但在信號(hào)處理方面如信號(hào)去噪方面的研究應(yīng)用還較少。生成對(duì)抗網(wǎng)絡(luò)由兩部分組成,生成網(wǎng)絡(luò)模型即生成器(Generator)和判別網(wǎng)絡(luò)模型即判別器(Discriminator),如圖3 所示。它的基本思想源自于博弈論中的納什均衡,其中生成器與判別器被看作相互博弈的雙方。生成器學(xué)習(xí)真實(shí)數(shù)據(jù)樣本的分布特征,不斷逼近真實(shí)樣本,最終達(dá)到能夠欺騙判別器的目的;而判別器的目的是通過(guò)學(xué)習(xí)正確辨別出真實(shí)樣本與生成樣本。為了達(dá)到利益最大化,生成器和判別器必須不斷學(xué)習(xí)優(yōu)化,以提高自身的生成能力與判別能力,最終實(shí)現(xiàn)二者的納什均衡[8]。
圖3 生成對(duì)抗網(wǎng)絡(luò)結(jié)構(gòu)
在生成對(duì)抗網(wǎng)絡(luò)結(jié)構(gòu)中,生成器和判別器可以分別用G 與D 表示。生成器G 通過(guò)學(xué)習(xí)真實(shí)數(shù)據(jù)樣本x產(chǎn)生生成樣本G(z)。判別器D 相當(dāng)于一個(gè)二分類(lèi)器,辨別出輸入D 中的樣本是來(lái)自生成樣本G(z)還是真實(shí)樣本x。當(dāng)輸入數(shù)據(jù)來(lái)自真實(shí)樣本x時(shí),D 的目標(biāo)是使輸出的D(x)不斷趨近于1;當(dāng)輸入數(shù)據(jù)來(lái)自生成樣本G(z)時(shí),D 的目標(biāo)是使輸出的D[G(z)]不斷趨近于0。此時(shí),對(duì)于生成器G 說(shuō),則是使之趨近于1。因此,可以把生成對(duì)抗網(wǎng)絡(luò)的訓(xùn)練過(guò)程看作一個(gè)極小-極大化的問(wèn)題。目標(biāo)函數(shù)表示為:
式中:z為潛在表征;x代表真實(shí)樣本數(shù)據(jù);P表示概率分布;E表示期望。
總的來(lái)說(shuō),在生成對(duì)抗網(wǎng)絡(luò)訓(xùn)練學(xué)習(xí)的過(guò)程中,既要訓(xùn)練判別器D 最大化其判別數(shù)據(jù)來(lái)源的準(zhǔn)確率,也要訓(xùn)練生成器G 使這一準(zhǔn)確率達(dá)到最小,漸漸達(dá)到自己的最佳性能。在求解式(1)目標(biāo)函數(shù)時(shí),可以采用交替優(yōu)化的方法:先固定生成器G,對(duì)判別器D 進(jìn)行訓(xùn)練,使判別準(zhǔn)確率達(dá)到最大;再固定判別器,對(duì)生成器G 進(jìn)行訓(xùn)練,使判別器D 的判別準(zhǔn)確率達(dá)到最小;最后,二者達(dá)到納什均衡。考慮到實(shí)際情況,一般對(duì)同一輪參數(shù)進(jìn)行訓(xùn)練時(shí),對(duì)D 訓(xùn)練多次后再對(duì)G 的參數(shù)進(jìn)行訓(xùn)練更新。
生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)屬于無(wú)監(jiān)督學(xué)習(xí)模型,可以對(duì)沒(méi)有標(biāo)注的數(shù)據(jù)進(jìn)行學(xué)習(xí)得到概率分布規(guī)律,但存在訓(xùn)練不穩(wěn)定、模式坍塌和不易收斂等問(wèn)題。針對(duì)這些問(wèn)題,可以采用深度卷積生成對(duì)抗網(wǎng)絡(luò)。
深度卷積生成對(duì)抗網(wǎng)絡(luò)是一種將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)與生成對(duì)抗網(wǎng)絡(luò)相結(jié)合的神經(jīng)網(wǎng)絡(luò)。與傳統(tǒng)生成對(duì)抗網(wǎng)絡(luò)相同,它的內(nèi)部有一個(gè)生成器G 與判別器D,但將G 與D變成了改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)來(lái)提高特征提取能力,同時(shí)對(duì)以下幾個(gè)方面做了優(yōu)化。第一,取消生成對(duì)抗網(wǎng)絡(luò)中生成器G 與判別器D 的池化層,用步長(zhǎng)卷積層代替。第二,除生成器G 的輸出層與判別器D的輸入層外,對(duì)數(shù)據(jù)均進(jìn)行批量歸一化處理(Batch Normalization)。第三,判別器D 中的激活函數(shù)用LeakyReLU 函數(shù),生成器G 中激活函數(shù)用ReLU函數(shù),最后一層用tanh 函數(shù),其中LeakyReLU 與ReLU 兩種激活并無(wú)本質(zhì)區(qū)別,選擇多為經(jīng)驗(yàn)總結(jié)。第四,除生成器G 的第一層和判別器的最后一層,網(wǎng)絡(luò)中不再使用全連接層[9]。
本文采用的ADS-B 信號(hào)采樣率為100 MHz,即在1 μs 的時(shí)間內(nèi)可以采樣100 個(gè)點(diǎn)。一條ADS-B信號(hào)120 μs,那么需要12 000 個(gè)采樣點(diǎn)記錄這條數(shù)據(jù)。本文實(shí)驗(yàn)中擴(kuò)大為12 500 個(gè)采樣點(diǎn),以確保每個(gè)樣本有一條完整的ADS-B 信號(hào)。
如果將12 500 個(gè)數(shù)據(jù)同時(shí)輸入訓(xùn)練網(wǎng)絡(luò),由于數(shù)據(jù)量過(guò)大會(huì)增加網(wǎng)絡(luò)的訓(xùn)練難度,因此采取模塊分割處理的方法,將12 500 個(gè)采樣點(diǎn)均勻分割成25 個(gè)模塊,每個(gè)模塊長(zhǎng)度相等,均為500 個(gè)采樣點(diǎn),并每個(gè)模塊作為一個(gè)數(shù)據(jù)樣本。
進(jìn)行生成對(duì)抗網(wǎng)絡(luò)訓(xùn)練時(shí),需要大量數(shù)據(jù)作為樣本,但可以獲得的ADS-B 信號(hào)數(shù)據(jù)量較少且獲取標(biāo)準(zhǔn)無(wú)噪信號(hào)較為困難。為了解決這個(gè)問(wèn)題,采用隨機(jī)方波數(shù)據(jù)作為數(shù)據(jù)集。因?yàn)锳DS-B 采用PPM 調(diào)制,所以可以控制方波占空比來(lái)模擬ADS-B數(shù)據(jù)的格式。如圖4 所示,上方圖為隨機(jī)方波,標(biāo)準(zhǔn)固定脈寬50個(gè)采樣點(diǎn),作為真實(shí)樣本輸入判別器;下方圖為對(duì)應(yīng)添加了高斯白噪聲的含噪方波數(shù)據(jù),此處通過(guò)awgn 函數(shù)加噪,SNR=0 dB,并將其作為含噪數(shù)據(jù)輸入生成器與判別器。
圖4 隨機(jī)方波及其加噪圖
典型的深度卷積生成對(duì)抗網(wǎng)絡(luò),生成器卷積層數(shù)較少,可以獲取的特征信息比較簡(jiǎn)單,將會(huì)導(dǎo)致網(wǎng)絡(luò)訓(xùn)練不完全且模型精度不高,且多用于圖像處理領(lǐng)域。本文提出的改進(jìn)式深度卷積生成對(duì)抗網(wǎng)絡(luò)結(jié)構(gòu)示意圖,如圖5 所示。該網(wǎng)絡(luò)修改了輸入數(shù)據(jù)維度,以適用于一維信號(hào)的輸入,同時(shí)增加了卷積層數(shù),以獲取數(shù)據(jù)更深層次的信息。生成器由12層卷積層構(gòu)成,其中6 層為卷積層,將信號(hào)維度壓縮至256×15,通過(guò)卷積操作對(duì)數(shù)據(jù)進(jìn)行特征提取。多次卷積可以獲得更多的中間隱藏特征,再通過(guò)6層的轉(zhuǎn)置卷積層將信號(hào)恢復(fù)至1×500,與原始數(shù)據(jù)維度相同。轉(zhuǎn)置卷積可以看作卷積操作的逆運(yùn)算,通過(guò)對(duì)稱結(jié)構(gòu)的轉(zhuǎn)置卷積層對(duì)特征向量進(jìn)行插值,最后使其與原始數(shù)據(jù)向量維度(1×500)達(dá)到一致。
生成器最后一層的激活函數(shù)采用tanh 函數(shù):
tanh 函數(shù)取值范圍為(-1,1),經(jīng)過(guò)生成器G 生成的數(shù)據(jù)值也在(-1,1),但判別器網(wǎng)絡(luò)需要同時(shí)對(duì)真實(shí)數(shù)據(jù)和生成的數(shù)據(jù)進(jìn)行判別,因此需要對(duì)輸入判別器的真實(shí)數(shù)據(jù)進(jìn)行預(yù)處理,將其取值范圍控制在上述范圍內(nèi),以滿足判別器的需要。在網(wǎng)絡(luò)訓(xùn)練過(guò)程中,先創(chuàng)建Label 值,其中1 代表真實(shí)數(shù)據(jù),0 代表生成的數(shù)據(jù)。在兩者經(jīng)過(guò)判別器后得到各自loss 值,兩個(gè)值相加后得到總的loss 值,然后反向傳播更新參數(shù),優(yōu)化判別器。由于判別器相當(dāng)于一個(gè)二分類(lèi)器,因此本次實(shí)驗(yàn)可以采用交叉熵(Binary Cross Entropy)作為損失函數(shù)來(lái)計(jì)算loss值,可表示為:
式中,y為標(biāo)簽值,x為模型輸出的值。在訓(xùn)練生成器的時(shí)候,采用式(3)損失函數(shù)。但是,在方向傳播優(yōu)化生成器參數(shù)的時(shí)候,需要固定判別器參數(shù),以實(shí)現(xiàn)穩(wěn)定訓(xùn)練。
圖5 改進(jìn)式深度卷積生成對(duì)抗網(wǎng)絡(luò)結(jié)構(gòu)
算法流程如圖6 所示,利用制作的訓(xùn)練集對(duì)生成對(duì)抗網(wǎng)絡(luò)進(jìn)行訓(xùn)練優(yōu)化,得到滿意的模型后,再用其對(duì)ADS-B 數(shù)據(jù)進(jìn)行去噪,最后進(jìn)行譯碼分析。
仿真實(shí)驗(yàn)的數(shù)據(jù)集選取添加噪聲的信噪比為-2~2 dB 的隨機(jī)方波信號(hào)和對(duì)應(yīng)的未添加噪聲的純凈方波信號(hào),數(shù)目均為10 000 條,訓(xùn)練輪數(shù)200 輪,batchsize 為250。
為了驗(yàn)證提出的改進(jìn)式深度卷積生成對(duì)抗網(wǎng)絡(luò)對(duì)ADS-B 信號(hào)的降噪效果,采用Pytorch 深度學(xué)習(xí)平臺(tái)在計(jì)算機(jī)上進(jìn)行驗(yàn)證。計(jì)算機(jī)CPU 型號(hào)為Intel(R) Core? i9-9900k CPU @ 3.6 GHz 32 GB內(nèi)存,GPU 型號(hào)為NVIDIA GeForce RTX 2080 Ti。
圖6 算法流程
驗(yàn)證時(shí),另外產(chǎn)生不同于訓(xùn)練集的隨機(jī)方波數(shù)據(jù),如圖7 所示。添加信噪比為0 dB 的噪聲,輸入訓(xùn)練完成后的生成器,則去噪前后的信號(hào)對(duì)比如圖8 所示。可以看出,經(jīng)過(guò)生成器的去噪后,噪聲已經(jīng)基本消除。
圖7 原始隨機(jī)方波信號(hào)
圖8 加噪及去噪后方波信號(hào)
取采樣率為100 MHz 的ADS-B 信號(hào)添加0 dB高斯白噪聲,結(jié)果如圖9 所示。可見(jiàn),信號(hào)質(zhì)量明顯變差,對(duì)其直接進(jìn)行譯碼,未能獲取相關(guān)有效信息。取其前一段采樣點(diǎn)如圖10 所示,可見(jiàn)4 個(gè)前導(dǎo)脈沖均已淹沒(méi)在噪聲中,難以判斷它是否為ADS-B 信號(hào)。
圖9 ADS-B 信號(hào)加噪前后波形
經(jīng)過(guò)降噪處理后的信號(hào)如圖11 所示。相比去噪之前,信號(hào)質(zhì)量有了很大提升,且可以明顯看出前導(dǎo)脈沖。取其中一段采樣數(shù)據(jù),如圖12 所示,可見(jiàn)噪聲得到了很好的消除,處理得到的112 bit數(shù)據(jù)流對(duì)應(yīng)的十六進(jìn)制信息為88 00 03 94 90 0B 00 AA AB 77 77 8C B3 08??梢钥闯?,改進(jìn)式深度卷積生成對(duì)抗網(wǎng)絡(luò)對(duì)ADS-B 信號(hào)去噪具有有效性。
圖10 前導(dǎo)脈沖加噪前后波形
圖11 去噪后信號(hào)波形
圖12 ADS-B 部分信號(hào)去噪前后對(duì)比
針對(duì)ADS-B 信號(hào)在傳輸過(guò)程中低信噪比下難以譯碼處理的問(wèn)題,提出了一種改進(jìn)式深度卷積生成對(duì)抗網(wǎng)絡(luò)的深度學(xué)習(xí)方法,通過(guò)模塊化處理,利用隨機(jī)方波信號(hào),訓(xùn)練生成器G 與判別器D,再用訓(xùn)練完成的生成器G 對(duì)ADS-B 信號(hào)進(jìn)行降噪處理,相比較傳統(tǒng)去噪算法省去了尋找提取特征的步驟。實(shí)驗(yàn)結(jié)果表明,改進(jìn)式深度卷積生成對(duì)抗網(wǎng)絡(luò)能夠?qū)DS-B 信號(hào)進(jìn)行降噪,一定程度上提高了受干擾后的ADS-B 信號(hào)的正確譯碼率。