游英杰 杜 力 陳穎哲 楊 剛 胡 迪
(1.西安電子工程研究所 西安 710100;2.中國人民解放軍32382部隊 北京 100071)
針對目標分布和雜波的不同特性,采取適合的雷達恒虛警方法可以獲得更優(yōu)的檢測性能。從理論分析的角度看,可以選取的方法很多,基于單元平均cfar和有序統(tǒng)計cfar方法,又提出了OSGO-CFAR、OSSO-CFAR等方法,但是目前工程實踐中最常用的方法仍然是經(jīng)典的單元平均選大GO-CFAR。一方面是在很多情況下,實際環(huán)境滿足單元平均CFAR所需的基本條件:目標保持獨立,即目標分布在不同的參考窗內(nèi)且參考窗的干擾數(shù)據(jù)是均勻的;另一方面是GO-CFAR在DSP實現(xiàn)中具有很大的時間優(yōu)勢。而當實際環(huán)境不滿足GO-CFAR的使用條件時,比如:當一個目標橫跨多個距離單元,或者當雜波發(fā)生突變時。如果仍然采用GO-CFAR,會引起檢測性能的急劇下降。針對這些情況,采用OS-CFAR等方法,能夠在一定程度上提升檢測性能,對于資源比較充足的硬件平臺,采用TM-CFAR能夠在OS-CFAR的基礎(chǔ)上進一步減少cfar損失,同時還能解決OS-CFAR在雜波邊緣虛警率較高的問題。本文構(gòu)造了地雜波邊緣場景和多目標場景,通過Matlab仿真分析GO-CFAR、OS-CFAR及TM-CFAR的檢測性能,針對當前TM-CFAR常用的排序方法,給出了效率更高的實現(xiàn)方式,統(tǒng)計各種實現(xiàn)方法的運算時間,為工程應用提供了思路。
GO-CFAR是單元平均選大恒虛警處理技術(shù),具體做法如下:以檢測單元為中心,分為前后兩個參考窗,每個參考窗內(nèi)有個數(shù)據(jù),在檢測單元和參考窗之間還可以添加個保護單元。對前后兩個參考窗內(nèi)的數(shù)據(jù)進行平均處理,以較大的那個作為對干擾功率的估計值,將該值乘以門限系數(shù)得到檢測門限,再與檢測單元進行比較,檢測單元過門限則認為當前值為目標。GO-CFAR的閾值因子是以下方程(1)的解為
(1)
OS-CFAR是有序統(tǒng)計恒虛警處理技術(shù),將檢測單元前后兩個參考窗內(nèi)的數(shù)據(jù)合并,然后進行排序,得到一個升序排列的序列。從排完序的序列中選第個值作為對干擾功率的估計值,將該值乘以某個因子得到閾值并與檢測單元進行比較,判斷檢測單元的值是否大于閾值,大于則認為當前檢測單元為目標。OS-CFAR的閾值因子為
(2)
對于整數(shù)自變量,Γ()=(-1)!。當為整數(shù)時,可以化簡為
(3)
TM-CFAR也叫剔除平均CFAR,它與OS-CFAR類似,直接將兩個參考窗內(nèi)的數(shù)據(jù)合為一個序列,經(jīng)過排序或者直接選出其中擁有最小功率值的個數(shù)據(jù)單元,以及擁有最大功率值的個數(shù)據(jù)單元并進行舍棄,對剩下的元素取平均得到對干擾功率的估計值,將估計值乘以門限系數(shù)得到檢測門限,通過比較檢測單元與門限值的大小判斷檢測單元是否包含目標。在實際應用中,優(yōu)先考慮擁有最大功率值的目標,本文中將最小功率值的目標個數(shù)設為0。數(shù)學模型如圖1所示。
圖1 TM_CFAR算法模型
檢測單元雜波功率強度的估值的取值為
(4)
虛警概率為
(5)
(6)
(7)
=(--+1)(---+1)
(8)
門限因子的取值與干擾功率和虛警概率有關(guān),在這里取虛警概率為10,并構(gòu)造相同的雜波環(huán)境。具體仿真條件如下:距離單元取0~200,在0~100距離范圍內(nèi)生成20dB的雜波,100~200距離范圍內(nèi)生成30dB的雜波,雜波在前后不同的距離段符合均勻隨機分布特性。在距離單元44處設置15dB的目標,在距離單元47和105處設置8dB的目標,在距離單元52和92處設置12dB的目標。參考單元的數(shù)量為36個,保護單元的數(shù)量為2個,OS-cfar選取的值為20,仿真結(jié)果如圖2至圖4所示。
圖2 GO-CFAR檢測效果圖
圖3 OS-CFAR檢測效果圖
圖4 TM-CFAR檢測效果圖
從圖2可以看出,GO-CFAR對于強目標后相鄰的兩個弱目標都無法檢測出來,存在比較嚴重的目標遮蔽效應,在雜波突變后,雜波邊緣處的弱目標也沒有檢測出來。圖3中,OS-CFAR能夠檢測出強目標后連續(xù)的兩個弱目標,但是雜波邊緣處存在漏警,當減小值后,有可能檢測出目標,但是會提升虛警的概率,從實際應用的角度看,需要保證被干擾目標污染的參考單元數(shù)不能大于-個,而且對于值的選取存在很大的不確定性。圖4中,TM-CFAR既能夠檢測出連續(xù)的3個強度不一的目標,對于雜波邊緣處的弱目標也具有比較好的檢測效果,剔除的最大功率數(shù)據(jù)單元數(shù)目可以從/4-/2之間選取,而且可以根據(jù)干擾的先驗信息,比如干擾單元的數(shù)目,做出更加合理的選擇。因此,TM-CFAR在某些場景下具有優(yōu)于OS-CFAR的性能,對TM-CFAR的DSP實現(xiàn)進行研究具有一定的實用價值。TM-CFAR減小了由于目標遮蔽效應引入的CFAR損失,并在某種程度上避免了雜波邊緣處理性能的降低,但是在實現(xiàn)過程中需要類似排序的操作,比GO-CFAR和OS-CFAR使用的時間要長。
本文中選用的DSP芯片是FT-M6678,這是一款高性能軍用多核浮點DSP,與TI公司的TMS320C678指令集兼容。TM-CFAR的關(guān)鍵在于求出參考窗中前大的數(shù)據(jù),如果采用排序的方法,每次都要對所有的參考單元進行排序,存在冗余過程。因此在這里只是運用排序的思想,用盡可能少的步驟求出結(jié)果,下面對本文選用的四種從個數(shù)中求取前大數(shù)的方法進行介紹。
從數(shù)組的前個數(shù)中選出最小值,用最小值和原數(shù)組第+1個數(shù)進行比較,如果大于,將放入的位置,并再次從數(shù)組的前個數(shù)中選出最小值,用最小值和第+2個數(shù)進行比較,直到數(shù)組中的最后一個元素。
先將數(shù)組遍歷一次,找到最大值,并將其與數(shù)組中第最后一個數(shù)進行交換。接著將數(shù)組再遍歷一次,這一次只需要遍歷到第-1個數(shù),求出-1個數(shù)中的最大值。循環(huán)上述過程次,則數(shù)組中的最后個數(shù)是前大數(shù)。這種方法是一種原地運算的方法,不額外占用空間。
假設個數(shù)存儲在數(shù)組中,選取數(shù)組中的第一個元素,把數(shù)組分為兩部分和。中的元素大于等于,中的元素小于。這時有兩種可能性:一種可能性是中元素的個數(shù)小于,中所有的數(shù)和中最大的-||個元素(||指中元素的個數(shù))就是數(shù)組中最大的個數(shù)。第二種可能性是中元素的個數(shù)大于或等于,則需要返回中最大的個元素,分到元素個數(shù)較少的數(shù)組中。這樣遞歸下去,不斷把問題分解成更小的問題,平均時間復雜度為(·log2)。在具體實現(xiàn)的過程中,數(shù)組中第一個元素的選取要滿足一定的隨機性,否則有可能導致分組失敗,本文引入了隨機數(shù)對當前數(shù)組元素個數(shù)取余的算法,得到一個數(shù)組中的隨機位置,并將隨機位置上的數(shù)與第一個數(shù)進行交換。
首先用數(shù)組的前個數(shù),構(gòu)建一個容量為的最小堆。最小堆的堆頂元素就是當前個數(shù)中的最小的一個。然后從第+1個數(shù)開始,每次新考慮一個數(shù),如果比堆頂?shù)脑匦?,則不需要改變原來的堆。如果比堆頂?shù)脑卮?,那么用替換堆頂?shù)脑?。在替換堆頂?shù)脑刂?,可能破壞最小堆的結(jié)構(gòu),需要更新堆來維持堆的性質(zhì)。更新過程花費的時間為(2),完成前大數(shù)求取需要更新的最多次數(shù)為-次。
為了驗證TM-CFAR各種實現(xiàn)方法的正確與否和性能優(yōu)劣。先仿真雷達檢測的流程,選用16個脈沖,帶寬為2×10Hz,脈沖寬度為42×10s,脈沖重復周期為2.56×10s,采樣率為4×10,距離點數(shù)計算得1024,目標個數(shù)設置為3個,速度分別為100m/s,150m/s,230m/s,距離分別為5000m,6300m,24000m,雜波模擬為均勻的地雜波。經(jīng)過脈壓,MTD和TM-CFAR檢測之后的結(jié)果如圖5所示。從圖5中可以看出,正確的檢測出了3個目標。以該仿真過程中的MTD結(jié)果作為輸入,在DSP中進行檢測,在驗證結(jié)果正確的情況下,對各種算法檢測所需時間進行記錄。實際工程運用中,通過開-O3優(yōu)化DSP程序可以大幅提升程序性能。圖6為未開-O3優(yōu)化的情況下,各種算法的運行時間隨TM-CFAR剔除點數(shù)的變化情況。
圖5 TM-CFAR檢測結(jié)果
圖6 未開-O3優(yōu)化的情況下,不同實現(xiàn)方式所花費時間
從圖6可以看出,在不開-O3優(yōu)化時,采用cfar4即堆排序思想的實現(xiàn)方式具有很明顯的優(yōu)勢,且隨著剔除點數(shù)的增加,時間呈對數(shù)增長,增長較緩。采用cfar2即選擇排序思想和cfar1即固定數(shù)組思想的方法在8個點之前,前者具有一定優(yōu)勢,但在8個點之后,前者呈線性增長,效率明顯比后者低。采用cfar3即快速排序思想的方法所需時間隨剔除點數(shù)的增加緩慢增長,在觀測范圍內(nèi)基本穩(wěn)定在60~70ms之間,這個時間比堆排序思想的最長時間還要長。在開-O3優(yōu)化后,由于不同方法的可優(yōu)化空間不同,結(jié)果與圖6差別很大,具體時間統(tǒng)計情況如圖7所示。
圖7 開-O3優(yōu)化的情況下,不同實現(xiàn)方式所花費時間
從圖7可以看出,之前表現(xiàn)好的cfar4方法性能不再優(yōu)越,cfar3方法耗時也很不理想。在大多數(shù)情況下cfar2方法所消耗時間相比其他算法有明顯優(yōu)勢,只有在剔除點數(shù)大于14的情況下,cfar1比cfar2稍好一些。
再來分析一下實現(xiàn)TM-CFAR的四種算法在優(yōu)化前后迥異表現(xiàn)的原因。在不指定優(yōu)化標識的情況下,編譯產(chǎn)生的代碼之間指令是獨立的,最明顯的特點就是這個時候可以通過斷點追蹤程序執(zhí)行的每一步。O3優(yōu)化是采用-opt_level方法的最高級別的優(yōu)化,這種優(yōu)化會在保證變換之后的程序與源程序語義等價的情況下提升運行的速度,也就是說優(yōu)化之后程序的結(jié)構(gòu)會改變。具體采用的方法包括如下幾種:
1)消除沒有用到的分配及共用的表達式;
2)使用流水線技術(shù)對循環(huán)進行優(yōu)化;
3)允許將循環(huán)進行拆分;
4)將循環(huán)中使用的數(shù)組改為指針形式;
5)將小規(guī)模的函數(shù)調(diào)用改為內(nèi)聯(lián)的形式等等。經(jīng)過優(yōu)化之后,程序運行的速度加快,但是程序結(jié)構(gòu)發(fā)生變化。也正因為如此,雖然堆排序思想和快排思想在算法設計層面具有較低的時間復雜度,但是經(jīng)過優(yōu)化之后,這兩種算法的可提升空間沒有另外兩種算法大,出現(xiàn)了運行效率不如簡單算法的情況。
作為縱向?qū)Ρ葘嶒?,相同?guī)模數(shù)據(jù)也做了GO-CFAR和OS-CFAR的檢測處理,均采用快速算法且用O3優(yōu)化后,所用時間分別為490μs和1.8ms,可以看出:GO-CFAR所用時間最短,OS-CFAR所用時間為GO-CFAR的4倍左右,TM-CFAR為OS-CFAR所用時間的2~5倍左右,當剔除點數(shù)較少時TM-CFAR與OS-CFAR效率相當,但是對于資源相對充足的處理器,都能夠滿足CFAR運算實時性的要求。
TM-CFAR在均勻雜波背景中具有良好的檢測性能,在雜波邊緣的虛警控制能力強于OS-CFAR,還可以根據(jù)干擾的先驗信息靈活地選擇合適的剔除數(shù)目。所以在目標遮蔽和雜波突變的環(huán)境中,當GO-CFAR和OS-CFAR表現(xiàn)不佳時,可以考慮采用TM-CFAR。本文中提出的TM-CFAR的實現(xiàn)方法,不需要對全部的檢測單元進行排序,可以提升運行效率,滿足CFAR運算實時性的要求。