李鵬利,李興成
(空軍工程大學(xué)防空反導(dǎo)學(xué)院,西安 710051)
隨著雷達(dá)的多功能化,雷達(dá)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)也愈加復(fù)雜,由于對(duì)雷達(dá)多個(gè)處理過程的仿真與測試相對(duì)繁瑣,軟件化雷達(dá)開始受到重視。相比于單一、固定的測試手段,軟件化雷達(dá)仿真測試的靈活性、集成性與簡便性開始顯現(xiàn)出來。把雷達(dá)信號(hào)處理算法寫入軟件,其處理過程與實(shí)際雷達(dá)處理過程相同,對(duì)各過程進(jìn)行仿真分析,能夠幫助相關(guān)人員更好地了解雷達(dá)系統(tǒng)的運(yùn)作并協(xié)助研究。
雷達(dá)信號(hào)處理是指在雷達(dá)接收目標(biāo)所反射的射頻回波,經(jīng)一系列相關(guān)處理變?yōu)橹蓄l信號(hào),所要進(jìn)行的一系列處理過程[3]。主要包括下變頻、脈沖壓縮、動(dòng)目標(biāo)顯示(MTI)、動(dòng)目標(biāo)檢測(MTD)、恒虛警檢測(CFAR)。雷達(dá)信號(hào)處理過程如圖1 所示。
圖1 雷達(dá)信號(hào)處理過程
信號(hào)下變頻是關(guān)鍵的一步,在此過程中,計(jì)算機(jī)高效的計(jì)算性能將得到充分的利用,對(duì)信號(hào)進(jìn)行DSP 處理。它將模擬信號(hào)通過中頻直接采樣,而后經(jīng)正交處理與低通濾波處理,得到正交的基帶數(shù)字信號(hào)。
脈沖壓縮技術(shù),即匹配濾波器。它能最大限度地提高信號(hào)的信噪比,提升雷達(dá)的探測性能。匹配濾波器的脈沖響應(yīng)為:
匹配濾波器輸出的峰值瞬時(shí)SNR 寫為:
其中,在td時(shí)刻達(dá)到最大信噪比,白噪聲功率譜密度為N0/2,S0(t)為濾波器輸出,E 為輸入端信號(hào)能量。
雜波處理是雷達(dá)信號(hào)處理的主要工作之一,雜波形式眾多,如云、雨、地雜波等。動(dòng)目標(biāo)顯示技術(shù)利用雜波集中于零頻附近的特征,通過脈沖間的對(duì)消處理來消除雜波,使運(yùn)動(dòng)目標(biāo)顯示出來。N 脈沖對(duì)消器的響應(yīng)為:
其中,T 為時(shí)延,即T=1/f 雷達(dá)脈沖重復(fù)間隔。
今天的第二張照片是我的家鄉(xiāng),嘉善姚莊的桃源新村。10年前,這里作為嘉興市“兩分兩換”的首批試點(diǎn),率先實(shí)施這項(xiàng)新的土地改革政策。所謂的“兩分兩換”,就是把農(nóng)民的宅基地和承包地分開,搬遷和土地流轉(zhuǎn)分開,以宅基地置換城鎮(zhèn)房產(chǎn),以土地承包經(jīng)營權(quán)置換社會(huì)保障。
動(dòng)目標(biāo)檢測技術(shù)是在動(dòng)目標(biāo)顯示技術(shù)處理的基礎(chǔ)上對(duì)雜波更進(jìn)一步的處理,使信號(hào)通過多普勒濾波器組來對(duì)目標(biāo)進(jìn)行測速。在信號(hào)處理中可直接使用MTD 處理,也可先通過MTI,再作MTD,具體情況由實(shí)際來定。
恒虛警檢測技術(shù)是經(jīng)上述處理后需作的最后一步信號(hào)處理,在檢測中需計(jì)算隨噪聲變化的虛警概率,求得門限因子,并最終得到檢測門限。恒虛警檢測技術(shù)有多種算法,根據(jù)實(shí)際情況來進(jìn)行選擇,最常用的有單元平均恒虛警檢測(CA-CFAR)與選大單元平均恒虛警檢測(GO-CFAR)[4]。
根據(jù)軟件的實(shí)際需求分析,以面向?qū)ο缶幊趟枷霝樵O(shè)計(jì)方法,應(yīng)用Python 自帶庫Tkinter 編寫而成。雷達(dá)信號(hào)處理系統(tǒng)采用分級(jí)化管理的設(shè)計(jì)方法,即各層之間各自執(zhí)行對(duì)應(yīng)功能,系統(tǒng)由人機(jī)交互層、數(shù)據(jù)處理層、數(shù)據(jù)顯示層3 個(gè)層面實(shí)現(xiàn)。軟件框架與功能模塊如圖2 所示。
圖2 軟件框架與功能模塊
1)人機(jī)交互層即人機(jī)交互界面,控制相關(guān)仿真模塊與仿真參數(shù)。軟件主界面有4 種菜單模塊可供選擇,雷達(dá)波形仿真模塊、雷達(dá)信號(hào)處理過程仿真模塊、數(shù)據(jù)保存模塊與圖像格式修改模塊,各模塊之間分級(jí)管理。雷達(dá)波形仿真模塊主要包括雷達(dá)四大波形,即簡單脈沖波形、線性調(diào)頻波形、相參脈沖串波形與相位編碼波形。根據(jù)每種波形的不同特征來輸入不同的參數(shù),如脈寬、帶寬、脈沖重復(fù)周期等,實(shí)現(xiàn)了不同的分析功能,主要包括時(shí)頻域波形分析、模糊函數(shù)分析、斜率、模糊函數(shù)圖三維切割等功能。
雷達(dá)信號(hào)處理過程仿真模塊包括目標(biāo)仿真分析與其他信號(hào)處理過程分析,可自定義添加噪聲與雜波,并輸入相關(guān)參數(shù)如射頻頻率、中頻頻率、速度、目標(biāo)RCS、目標(biāo)位置、目標(biāo)個(gè)數(shù),同時(shí)可設(shè)置雷達(dá)實(shí)際環(huán)境參數(shù),選擇是否加入干擾等進(jìn)行仿真,來分析存在誤差情況下的雷達(dá)信號(hào)處理情況。根據(jù)不同波形的選擇,另外添加了對(duì)目標(biāo)回波特征的分析,如線性調(diào)頻波形的多普勒失配現(xiàn)象、相位編碼波形的速度敏感性分析等。
數(shù)據(jù)保存模塊與圖像格式修改模塊考慮到實(shí)際需求,為系統(tǒng)設(shè)計(jì)添加,數(shù)據(jù)保存功能可對(duì)每一部分仿真分析所得數(shù)據(jù)進(jìn)行保存,用于數(shù)據(jù)分析、示波器演示等;圖像格式修改可直接對(duì)數(shù)據(jù)可視化分析后的圖片進(jìn)行格式轉(zhuǎn)換,格式眾多,可滿足不同需求,為發(fā)表文章、PPT 演示等所要求不同格式情況提供便利。
2)數(shù)據(jù)處理層是系統(tǒng)的關(guān)鍵與核心所在,系統(tǒng)內(nèi)部使用執(zhí)行時(shí)序控制與系統(tǒng)效率控制對(duì)程序運(yùn)行進(jìn)行控制。在雷達(dá)波形分析模塊中,基本處理步驟首先對(duì)輸入?yún)?shù)判斷,若不符合要求則報(bào)錯(cuò),若符合要求則對(duì)參數(shù)進(jìn)行讀取、預(yù)處理、而后暫存,等待可視化分析或數(shù)據(jù)保存。
在雷達(dá)信號(hào)處理模塊中,除了參數(shù)判斷、讀取、預(yù)處理外,還加入了算法匹配,即根據(jù)不同波形所要仿真內(nèi)容的不同來自動(dòng)匹配不同算法,預(yù)處理后加入數(shù)據(jù)反饋對(duì)比這一程序步驟,用于判斷實(shí)際處理結(jié)果是否符合預(yù)期結(jié)果,來選擇暫存還是報(bào)錯(cuò)。
3)數(shù)據(jù)顯示層,即可視化分析模塊,基于Python 第三方庫matplotlib[5-6],它 功能強(qiáng)大是Python 最主要的繪圖庫之一,可根據(jù)不同模塊選擇進(jìn)行二維或三維數(shù)據(jù)可視化[7]。
本軟件基于Python 的Tkinter 庫中的各類控件來搭建軟件框架,在程序?qū)崿F(xiàn)過程中共用到其自身庫與第三方庫等16 種。
雷達(dá)信號(hào)處理算法的實(shí)現(xiàn),主要使用科學(xué)計(jì)算Numpy 庫、數(shù)據(jù)分析Pandas 庫[8]與信號(hào)處理Scipy庫,其內(nèi)部豐富的函數(shù)為算法的編寫提供了有力的幫助。
雷達(dá)信號(hào)處理仿真處理時(shí),處理的數(shù)據(jù)量一般較大,其處理過程均可進(jìn)行可視化分析,這就意味著每一步都可進(jìn)行數(shù)據(jù)暫存,這無疑加重了計(jì)算機(jī)CPU 的負(fù)擔(dān),所以需對(duì)系統(tǒng)內(nèi)存進(jìn)行合理、有效的管理設(shè)計(jì)。Python 作為一種高級(jí)編程語言,使用者無法對(duì)其內(nèi)存進(jìn)行直接操作,本文設(shè)計(jì)了一種系統(tǒng)能夠通過自動(dòng)對(duì)比數(shù)據(jù)量大小來選擇合理的數(shù)據(jù)結(jié)構(gòu)[9]存儲(chǔ)數(shù)據(jù),并通過管理數(shù)據(jù)對(duì)象來管理內(nèi)存的方法。數(shù)據(jù)對(duì)象管理內(nèi)部結(jié)構(gòu)設(shè)計(jì)如圖3 所示。
圖3 數(shù)據(jù)對(duì)象管理內(nèi)部結(jié)構(gòu)
Python 內(nèi)存管理是通過管理對(duì)象與堆來實(shí)現(xiàn)的。在雷達(dá)信號(hào)處理系統(tǒng)中,仿真時(shí)參數(shù)輸入的數(shù)據(jù)較小,采用Tuple 結(jié)構(gòu)來接收參數(shù),在Python 中Tuple 所占的字節(jié)數(shù)小于List;在雷達(dá)信號(hào)處理各過程產(chǎn)生數(shù)據(jù)的方式采用生成器,即調(diào)用yield 函數(shù),生成器的運(yùn)行機(jī)制比普通數(shù)據(jù)生成方式更快且接收內(nèi)存,然后把生產(chǎn)的數(shù)據(jù)通過Numpy 庫中的array()函數(shù)暫存,通過調(diào)用函數(shù)計(jì)算各部分字節(jié)數(shù)大小,如果大于256 K,則通過Dict()類型來集中存儲(chǔ),并釋放回收[10-11]原有對(duì)象占用內(nèi)存,即將多個(gè)對(duì)象變?yōu)橐粋€(gè)對(duì)象。Dict()類型具有映射功能,后期的數(shù)據(jù)分析能根據(jù)key-value 的對(duì)應(yīng)關(guān)系很快找到各部分對(duì)應(yīng)數(shù)據(jù)。Dict()類型本身就是一個(gè)占內(nèi)存較大的結(jié)構(gòu)類型,其字節(jié)的大小由內(nèi)部對(duì)象個(gè)數(shù)決定,而不是由內(nèi)部對(duì)象字節(jié)大小決定,因?yàn)槠鋬?nèi)部存儲(chǔ)的是對(duì)象的地址,而不是對(duì)象本身。所以只有當(dāng)信號(hào)處理各部分?jǐn)?shù)據(jù)量大時(shí),采用這種方法來管理內(nèi)存才更為合適。值得一提的是,Python 內(nèi)部動(dòng)態(tài)分配內(nèi)存時(shí)的閾值也是256 K。
數(shù)據(jù)對(duì)比分析是通過獲取原有參數(shù)與結(jié)果比較,如在某個(gè)過程中在哪幾個(gè)采樣點(diǎn)應(yīng)該出現(xiàn)預(yù)期的結(jié)果,這一步是很有必要的,如果使用此系統(tǒng)的人只是為了采集數(shù)據(jù),而不進(jìn)行可視化分析,那么就得保證得到的數(shù)據(jù)是正確的。在反饋結(jié)果正確與否部分,使用Python 的try-except 語法來進(jìn)行控制。
本軟件設(shè)計(jì)了基于屏幕分辨率大小來顯示界面,使界面顯示更加人性化。由于仿真波形較多,以相參脈沖串波形為例進(jìn)行仿真分析,系統(tǒng)參數(shù)已設(shè)置默認(rèn)值,可自行修改。雷達(dá)波形仿真菜單界面與信號(hào)處理界面如圖4 所示。
圖4 雷達(dá)信號(hào)處理系統(tǒng)界面
雷達(dá)波形仿真界面參數(shù)較少,功能也較為簡單,主要分析不同波形的相關(guān)性質(zhì),幫助理解與熟悉。圖4(a)中波形相關(guān)參數(shù)為脈寬、脈沖重復(fù)周期與脈沖個(gè)數(shù),可視化圖形為模糊函數(shù)圖像與時(shí)域波形。
雷達(dá)信號(hào)處理界面功能與參數(shù)較多,由目標(biāo)位置參數(shù)計(jì)算時(shí)延,由目標(biāo)速度參數(shù)計(jì)算多普勒頻率。再結(jié)合其他目標(biāo)信息與波形參數(shù)對(duì)目標(biāo)進(jìn)行仿真,即中頻回波信號(hào)。圖4(b)中可視化圖形為經(jīng)雷達(dá)信號(hào)處理后的恒虛警檢測后的結(jié)果。具體參數(shù)信息如下頁表1 所示。
表1 軟件仿真參數(shù)(無干擾)
由最后的仿真結(jié)果可知,在系統(tǒng)存在一定虛警概率的情況下,所產(chǎn)生的數(shù)據(jù)是正確的,說明系統(tǒng)運(yùn)行正常。
雷達(dá)波形仿真模塊在上文已基本提及,此處不再對(duì)其進(jìn)行詳細(xì)分析?;诒? 中的數(shù)據(jù),主要對(duì)雷達(dá)信號(hào)處理系統(tǒng)實(shí)驗(yàn)結(jié)果按處理步驟進(jìn)行可視化分析,如圖5 所示。
圖5 雷達(dá)信號(hào)處理
圖5 中的可視化圖形功能如圖中標(biāo)題所示,(a)中在加入噪聲與雜波后,回波信號(hào)已無法分辨清楚,雷達(dá)信號(hào)處理就是從雜亂無章的信號(hào)中提取出目標(biāo)信息;(b)中通過對(duì)中頻信號(hào)進(jìn)行下變頻操作,使其降為基帶信號(hào),便于后期處理;(c)中脈沖壓縮用來提高信噪比;(d)中動(dòng)目標(biāo)顯示處理后,可以看出,目標(biāo)的位置信息已顯示出來,而具體速度卻無法判斷,即已經(jīng)明確有運(yùn)動(dòng)目標(biāo);(e)中是經(jīng)過MTI處理后進(jìn)一步的處理,其具體速度信息已經(jīng)明確,達(dá)到了測速的目的。
表1 中的參數(shù)不變,為雷達(dá)添加干擾信息與損耗,如下頁表2 所示。
表2 干擾與損耗
圖6 為添加壓制性干擾與雷達(dá)、干擾器損耗后的恒虛警檢測效果,當(dāng)存在干擾時(shí),雷達(dá)探測范圍降低為10 km,檢測到的目標(biāo)的功率已明顯降低,且較遠(yuǎn)目標(biāo)未能檢測到,造成目標(biāo)丟失,并出現(xiàn)了較多的虛警。
圖6 有干擾時(shí)的檢測
圖7 干擾下探測距離與檢測概率關(guān)系
在多次改變目標(biāo)距離參數(shù)其他參數(shù)不變的情況下,可得出探測距離與檢測概率關(guān)系,隨著目標(biāo)距離的增大,檢測概率會(huì)迅速降低,當(dāng)目標(biāo)距離超出干擾存在下雷達(dá)最大探測距離時(shí),將不能夠檢測到目標(biāo)(Pd<0.1),導(dǎo)致目標(biāo)丟失。
本文主要實(shí)現(xiàn)了基于雷達(dá)信號(hào)處理與軟件設(shè)計(jì)相關(guān)理論知識(shí)的雷達(dá)信號(hào)處理系統(tǒng),以Python 為設(shè)計(jì)開發(fā)語言,設(shè)計(jì)了一種多功能化同時(shí)兼具效率的雷達(dá)仿真系統(tǒng),能夠根據(jù)不同波形的不同特性進(jìn)行直觀、高效的可視化仿真分析,具有較強(qiáng)的實(shí)用性,可為相關(guān)人員提供實(shí)質(zhì)性幫助。通過對(duì)軟件的測試分析,從而證實(shí)了系統(tǒng)在設(shè)計(jì)與運(yùn)行上的有效性。系統(tǒng)在干擾類型中只設(shè)計(jì)了壓制性干擾中的自屏蔽干擾,后續(xù)還可對(duì)其進(jìn)行拓展豐富。