王輝輝 任 彥
(西安電子工程研究所 西安 710100)
現(xiàn)代雷達(dá)信號處理系統(tǒng)實時記錄雜波、分析雜波的存在、強(qiáng)弱和變化,從而及時改變處理系統(tǒng)以適應(yīng)時變的雜波環(huán)境[1]。雜波圖是是用于檢測具有極低多普勒頻率運動目標(biāo)或者抑制雜波的一種技術(shù)[2]。雜波圖實時地記錄下雷達(dá)陣地周圍環(huán)境的雜波分布及其強(qiáng)度變化,使動目標(biāo)顯示系統(tǒng)始終處于線性工作狀態(tài),進(jìn)而獲得良好的動目標(biāo)顯示性能[3]。傳統(tǒng)的雜波圖是最簡單的二維平面雜波圖,平面雜波圖要求存儲量小,易于工程實現(xiàn),但是平面雜波圖不能區(qū)分高低空區(qū)域,高波束的高空雜波必將影響低波束干凈空域的目標(biāo)探測,地面雜波也必將影響高空干凈區(qū)域的目標(biāo)探測。另外就是三維立體雜波圖[4],三維立體雜波圖將雷達(dá)的探測范圍劃分成若干個距離/方位/仰角區(qū)單元,相比傳統(tǒng)雜波圖,三維立體雜波圖能夠區(qū)分高低空區(qū)域,但是,一方面三維立體雜波圖沒有建立全頻率通道雜波圖,不能夠?qū)Φ匚镫s波和氣象雜波進(jìn)行有效抑制;另一方面三維立體雜波圖對雷達(dá)探測范圍內(nèi)的雜波區(qū)的劃分也不夠精細(xì),雜波功率估算方法采用的是脈內(nèi)距離單元平均和脈間相關(guān)積累的方法,因此雜波圖的分辨率不高,這導(dǎo)致雷達(dá)對地物雜波和氣象雜波的抑制不夠充分,從而降低了雷達(dá)的檢測性能和對雜波環(huán)境的適應(yīng)性。本文提出了一種通過FPGA對DDR3-SDRAM的讀寫控制來實現(xiàn)五維動態(tài)立體雜波圖的方法。該方法將雷達(dá)探測范圍按照方位,俯仰,距離,多普勒通道和PRF模式進(jìn)行了雜波精細(xì)劃分。
雜波圖是雷達(dá)威力范圍內(nèi)存儲在存儲器中的雜波強(qiáng)度分布圖,將雷達(dá)探測范圍按照一定的劃分方法劃分為許多雜波圖單元,雷達(dá)工作時隨著波束的掃描,當(dāng)波束掃回到同一雜波圖單元時,新的雜波數(shù)據(jù)均值需要與上一次的雜波均值進(jìn)行迭代更新,如此反復(fù)以獲得穩(wěn)定的雜波強(qiáng)度估值。因此雜波圖的建立是通過對雜波數(shù)據(jù)的實時迭代更新來實現(xiàn)的,雜波圖更新過程主要采用相關(guān)積累運算也稱為遞歸濾波器,其原理框圖如圖1所示,其中K為迭代更新的系數(shù)。遞歸濾波器跟新系數(shù)的選取原則上要兼顧快起伏雜波與慢起伏雜波,選得過大,將不能迅速響應(yīng)快起伏雜波;選得過小,慢起伏雜波的虛警變化太大,一般遞歸濾波器的系數(shù)選為7/8。遞歸濾波器是一個單極點系統(tǒng),如公式(3)所示。它實際上是對各個雜波單元的多次天線掃描作指數(shù)加權(quán)積累。其傳遞函數(shù)推導(dǎo)為[5]:
y(n)=(1-K)x(n)+Ky(n-1)
(1)
Y(z)=(1-K)X(z)+KY(z)z-1
(2)
則
H(z)=Y(z)/X(z)=(1-K)/(1-Kz-1)
(3)
本文是利用某雷達(dá)數(shù)字信號處理板上的FPGA對外掛的DDR3-SDRAM進(jìn)行讀寫來實現(xiàn)的。FPGA為Xilinx公司XC6VLX240T,F(xiàn)PGA外掛兩片DDR3-SDRAM,其型號為MT41J256M16RE,每一片的大小為4Gbits,為了增加存儲量,本文中將兩片DDR3-SDRAM作為一簇來讀寫處理。FPGA對外掛DDR3-SDRAM的底層操作是通過ISE自帶的MIG(Memory Interface Generator)核來實現(xiàn)的。MIG核的架構(gòu)圖如圖2所示,User Design是用戶層的接口。在該接口核中app_addr是讀寫操作地址。app_cmd是讀寫操作命令,app_cmd=0是寫操作,app_cmd=1是讀操作。app_en是app_addr和app_cmd的使能信號,只有該信號為高電平時,app_addr和app_cmd信號才被使能。app_rdy是User Interface Block準(zhǔn)備好接收命令的信號,當(dāng)app_en信號為高電平時,如果該信號變低,則命令app_cmd和地址app_addr是無效的,這時必須保持app_en為高電平,同時保持app_cmd和app_addr的當(dāng)前值,保持到到app_rdy變高為止。app_wdf_data是和寫操作命令相對應(yīng)的寫入數(shù)據(jù)。app_wdf_wren是app_wdf_data的寫有效信號。app_wdf_end信號則表明當(dāng)前的工作時鐘周期是app_wdf_wren內(nèi)最后一個輸入數(shù)據(jù)。本文所述方法是通過編寫上層讀寫控制邏輯來實現(xiàn)五維立體雜波圖的。
將雷達(dá)的探測范圍按照PRF模式、多普勒通道個數(shù)、方位、俯仰和距離劃分成若干個雜波單元,對于某一模式,該模式下的方位角區(qū)、俯仰角區(qū)、PRF模式、距離單元個數(shù)和多普勒通道數(shù)是固定的,也就是該模式下雷達(dá)探測范圍內(nèi)的雜波單元個數(shù)是固定的,因此該模式所需的雜波存儲空間就是固定的。本文所述方法在DDR3-SDRAM中對不同模式下雜波存儲進(jìn)行了分塊,每個存儲塊的大小是根據(jù)模式來分配的,因此塊的大小不同,為了方便描述這里用ΔV來表示一個存儲塊。在模式切換的過程中,根據(jù)模式選擇對應(yīng)的塊起始地址,進(jìn)行該模式下的雜波圖更新。本文重點闡述對于該固定模式的雜波存儲塊ΔV區(qū)域的雜波圖更新處理方法,不同模式之間的切換只需改變ΔV塊的起始地址即可。五維雜波圖實現(xiàn)方法如圖3所示。五維雜波圖實現(xiàn)包括以下步驟:(1)對DDR3-SDRAM進(jìn)行讀操作,讀出雜波數(shù)據(jù);(2)利用遞歸濾波器進(jìn)行雜波圖更新,并進(jìn)行數(shù)據(jù)變換處理;(3)將更新完成后的雜波數(shù)據(jù)重新寫入DDR3-SDRAM對應(yīng)位置,完成雜波圖的更新,建立雜波圖。
2.2.1讀雜波圖操作
由于DDR3-SDRAM不能同時進(jìn)行讀寫操作,并且FPGA是流水處理,因此對于塊ΔV內(nèi)的雜波圖需要分塊更新,將ΔV分為m個小塊Δv,ΔV=m×Δv,如果不夠一塊的則讀寫也按照一塊來操作。本文對于小塊Δv的更新時序是固定的,一個更新周期內(nèi)完成一塊Δv的更新。第一個更新周期只進(jìn)行讀操作,也就是讀出第一個塊Δv內(nèi)的雜波數(shù)據(jù)與新輸入數(shù)據(jù)更新并緩存,第二個更新周期內(nèi)先讀出第二塊內(nèi)的雜波數(shù)據(jù),然后將更新后的第一塊的雜波數(shù)據(jù)寫入第一塊存儲區(qū)內(nèi),以此類推,每個更新周期只更新一小塊Δv,從而實現(xiàn)該塊Δv雜波圖的更新,更新時序如圖4所示。
本文更新周期為1024個工作時鐘周期,也就是Δv內(nèi)的雜波單元個數(shù)為1024個。MIG核對DDR3-SDRAM的讀操作是8突發(fā)的,一個讀操作可以讀取8個地址上的數(shù)據(jù)。由于雜波數(shù)據(jù)是按照16bits存儲的,因此一個讀操作可以讀取16個雜波數(shù)據(jù),讀完一塊Δv需要64次讀操作。在更新有效范圍內(nèi)每相隔1024個固定工作時鐘周期產(chǎn)生一個脈沖,如果不夠1024個周期時,也需要產(chǎn)生一個脈沖。將該脈沖作為產(chǎn)生每塊Δv讀地址的開始標(biāo)志脈沖,讀地址由ΔV模式地址加Δv塊基地址加偏移地址三部分構(gòu)成。讀地址產(chǎn)生脈沖到來時,將Δv塊的基地址改變,每個讀地址脈沖基地址增加1024,然后在脈沖后面的前64個周期產(chǎn)生64個偏移地址,偏移地址之間的地址偏移量為8,將模式基地址、塊基地址和偏移地址相加得到最終的讀地址,并將讀地址存入FIFO進(jìn)行緩存,如圖3中步驟1所示所示。
讀地址產(chǎn)生脈沖延時70個工作時鐘周期得到每塊讀操作開始脈沖,該脈沖是用來啟動讀操作的。MIG核給用戶操作DDR3-SDRAM的工作時鐘為200M,進(jìn)行64次讀操作至少需要128個工作時鐘周期,因此將讀操作開始脈沖間隔內(nèi)的前200個工作周期作為讀處理的時間周期。每個讀脈沖到來時,使能MIG核的操作命令app_cmd為高電平,開始讀操作。當(dāng)MIG核的app_rdy信號為高時,使能app_en,讓該信號保持高電平,將讀地址賦值給app_addr信號,完成一次讀操作,如果app_rdy變低,不能進(jìn)行讀操作,需要保持app_en為低電平,同時使app_addr和app_cmd保持當(dāng)前狀態(tài)一直到app_rdy變高。本文中MIG核對DDR3-SDRAM的讀操作是8突發(fā)的,一次讀操作可以讀出8個地址的數(shù)據(jù),對于位寬為16bits的DDR3-SDRAM,一次讀操作讀出數(shù)據(jù)量為128bits。由于DDR3-SDRAM是由兩片4Gbits的并聯(lián)成兩片的,因此一次讀操作讀出兩個128bits的數(shù)據(jù)。將讀出來的位寬為128bits的雜波數(shù)據(jù)存入一個緩存FIFO中,該FIFO輸入的數(shù)據(jù)位寬為128bits,輸出的數(shù)據(jù)位寬為16bits,讀出的雜波數(shù)據(jù)供更新使用。
2.2.2雜波位寬處理
新輸入雜波幅度值是32bits,因為五維雜波圖存儲量大,如果按照32bits存儲,F(xiàn)PGA外掛的DDR3-SDRAM存儲量不夠。因此本文對雜波數(shù)據(jù)(32bits)的位寬做了特殊處理,如圖5所示。如圖3所示,在步驟1中將讀出的雜波數(shù)據(jù)存入了一個16位輸出的FIFO中進(jìn)行緩存,當(dāng)更新開始時,從該FIFO讀出雜波數(shù)據(jù),判斷雜波的標(biāo)志位第16位是否為1,如果為1,則對該雜波數(shù)據(jù)的低15位做平方處理,得到32位的雜波輸出,否則的話,對雜波數(shù)據(jù)高16位進(jìn)行補(bǔ)零處理,最終將32位的數(shù)據(jù)一方面作為雜波圖輸出,供雜波圖檢測使用;另一方面和新輸入的雜波數(shù)據(jù)進(jìn)行更新處理,更新過程采用遞歸濾波器算法處理,遞歸系數(shù)選擇為7/8。對更新后的雜波數(shù)據(jù)需要做處理以后才能存儲,首先判斷更新完后的雜波數(shù)據(jù)的高17位數(shù)據(jù)是否大于零,如果大于零,那么對更新的雜波數(shù)據(jù)做開平方處理,開平方的數(shù)據(jù)需要做標(biāo)志處理,因此取開平方以后的數(shù)據(jù)的低15位做為有效雜波數(shù)據(jù),將第16位作為標(biāo)志位,并將標(biāo)志位置1。否則,取更新后雜波數(shù)據(jù)的低16位作為存儲雜波數(shù)據(jù)。經(jīng)過處理,需要存儲的雜波數(shù)據(jù)的位寬從32bits變?yōu)?6bits,這樣處理雜波數(shù)據(jù),既不影響雜波精度,又使得雜波存儲量翻倍。
2.2.3寫雜波圖操作
在步驟2中,需要將更新后的數(shù)據(jù)寫入外部的DDR3-SDRAM中。步驟S1中讀操作開始脈沖間隔內(nèi)的前200個工作周期作為讀處理的時間周期,因此從第二個讀操作開始脈沖開始,將讀操作開始脈沖延時200個工作時鐘周期得到寫地址產(chǎn)生脈沖,如圖4所示。將該脈沖作為產(chǎn)生每塊Δv寫地址的開始標(biāo)志脈沖,由ΔV模式地址加Δv塊基地址加偏移地址三部分構(gòu)成。寫地址產(chǎn)生脈沖到來時,將Δv塊的基地址改變,每個寫地址脈沖基地址增加1024,然后在脈沖后面的前64個周期產(chǎn)生64個偏移地址,偏移地址之間的地址偏移量為8,將模式基地址、塊基地址和偏移地址相加得到最終的寫地址,并將寫地址存入FIFO進(jìn)行緩存,如圖3所示。
將寫地址產(chǎn)生脈沖延時70個工作時鐘周期得到每塊寫操作開始脈沖,該脈沖是用來啟動寫操作的。MIG核對DDR3-SDRAM的讀操作是8突發(fā)的,一次寫操作需要在8個地址上寫入數(shù)據(jù),對于位寬為16bits的DDR3-SDRAM,一次寫操作寫入數(shù)據(jù)量為128bits。由于DDR3-SDRAM是由兩片4Gbits的并聯(lián)成兩片的,因此一次寫操作寫入兩個128bits的數(shù)據(jù)。每個寫脈沖到來時,使能MIG核的app_cmd=0,開始寫操作。當(dāng)MIG核的app_rdy信號為高時,首先將寫地址賦值給app_addr信號,同時使能寫數(shù)據(jù)使能信號app_wdf_wren,使得寫使能信號高電平保持兩個工作時鐘周期。app_wdf_end信號是當(dāng)前app_wdf_wren內(nèi)最后一個輸入數(shù)據(jù)的標(biāo)志,因此使得app_wdf_end信號的高電平保持一個周期,并且app_wdf_end的一個周期的高電平與app_wdf_wren最后一個周期要嚴(yán)格對齊。最后使能app_en信號,完成一次寫操作。當(dāng)app_rdy變低時,如果app_wdf_wren和app_wdf_end已經(jīng)使能,但是app_en未使能時,保持當(dāng)前app_en的低電平直到app_rdy變高。如果app_wdf_wren和app_wdf_end未使能,則保持app_en當(dāng)前狀態(tài),并且不是能app_wdf_wren和app_wdf_end信號,一直到app_rdy信號變高,才能開始一次寫操作。本文對DDR3-SDRAM的寫處理的時序要求很高,app_rdy、app_wdf_wren、app_en、以及app_wdf_end必須按照上述規(guī)則配合起來,才能完成寫操作,只要有一個出錯,沒有匹配起來,那么寫操作就會出錯,并且這個錯誤將永遠(yuǎn)的保持下去,直到給MIG核復(fù)位。在兩個讀開始脈沖之間的更新周期內(nèi),必須完成Δv塊的更新,本文設(shè)計方法能夠保證在兩個讀開始脈沖之間的更新周期內(nèi)完成對FPGA外掛DDR3-SDRAM的讀寫操作,從而完成Δv塊的雜波圖更新處理。
本文所述方法中DDR3-SDRAM工作時鐘為400M,用戶層的用戶時鐘是200M。突發(fā)方式為8突發(fā)。雜波圖迭代跟新系數(shù)K值選擇為7/8。試驗的相干積累點數(shù)為32點,每個PRT內(nèi)數(shù)據(jù)采用仿真的脈壓數(shù)據(jù),對每個PRT的數(shù)據(jù)首先進(jìn)行數(shù)據(jù)重排,然后對重排結(jié)果進(jìn)行MTD處理,利用MTD結(jié)果建立雜波圖。在FPGA的線調(diào)試工具ChipScope觀察讀寫地址控制邏輯以及雜波圖。讀寫更新時序如圖6所示,圖中nd信號為開始更新的有效信號,表示新雜波數(shù)據(jù)到來。rd_addr_generate和wr_addr_generate分別表示開始產(chǎn)生讀寫地址的標(biāo)志信號,讀寫地址產(chǎn)生以后,開始進(jìn)行讀寫操作,讀寫操作開始的標(biāo)志信號為rd_pulse和wr_pusle,從圖中可以看出實際設(shè)計的時序和圖4所要求的雜波圖更新時序圖一致。
讀操作如圖7所示。由圖可知讀脈沖rd_pulse到來時,app_cmd變?yōu)?,開始讀操作。當(dāng)app_rdy信號為高時,在app_en保持高電平期間讀地址賦值給app_addr信號,完成了一次讀操作,當(dāng)app_rdy變低時app_en變?yōu)榈碗娖剑?app_addr和app_cmd保持當(dāng)前狀態(tài)一直到app_rdy變高。讀操作滿足DDR3讀要求,與設(shè)計相符合。
寫操作如圖8所示。由圖可知每個寫脈沖wr_pulse到來時, app_cmd信號置為0,開始寫操作。當(dāng)app_rdy信號為高時,當(dāng)寫地址賦值給app_addr信號時, app_wdf_wren信號保持兩個工作時鐘周期的高電,app_wdf_end保持一個周期高電平,且app_wdf_end的一個周期的高電平與app_wdf_wren兩個高電平周期的最后一個周期嚴(yán)格對齊。當(dāng)app_wdf_wren信號為低時,app_en信號變高,將數(shù)據(jù)和地址送入MIG核,完成一次寫操作。當(dāng)app_rdy變低時,如果app_wdf_wren和app_wdf_end已經(jīng)使能,但是app_en未使能時,保持當(dāng)前app_en的低電平直到app_rdy變高。如果app_wdf_wren和app_wdf_end未使能,則保持app_en當(dāng)前狀態(tài),并且不使能app_wdf_wren和app_wdf_end信號,一直到app_rdy信號變高,才能開始一次寫操作。從圖中可知寫操作滿足設(shè)計要求。
MTD后的數(shù)據(jù)和建立的雜波圖如圖9所示,其中圖(a)為雜波圖數(shù)據(jù),圖(b)為MTD處理后的數(shù)據(jù),圖中雜波圖和MTD后的二維多普勒平面按照順序的方式顯示。由于為固定的信號形式,因此經(jīng)過若干個相干處理間隔后,雜波圖和MTD處理后的數(shù)據(jù)應(yīng)該近似一致。從圖中可以看出圖(a)和圖(b)近似一致,因此本文提出的方法能夠很好的建立起雜波圖,雜波圖的結(jié)果達(dá)到了預(yù)期。
由于存儲量較大,傳統(tǒng)的雜波圖不能夠進(jìn)行精細(xì)劃分,這導(dǎo)致來雷達(dá)檢測能力下降以及雜波環(huán)境適應(yīng)性不強(qiáng)。本文將兩片DDR3-SDRAM并聯(lián)為一簇來進(jìn)行讀寫操作,在對雜波幅度位寬進(jìn)行變換的基礎(chǔ)上,提出了一種五維立體雜波圖的實現(xiàn)方法,通過FPGA對DDR3-SDRAM進(jìn)行讀寫操作,利用遞歸濾波器對雜波數(shù)據(jù)進(jìn)行更新,并進(jìn)行數(shù)據(jù)變換處理,完成雜波圖的建立。試驗結(jié)果表明:本設(shè)計方法可以實現(xiàn)雜波圖的讀寫及更新邏輯,同時雜波位寬的變換使得存儲量可以翻倍,特別是對于作用距離遠(yuǎn),工作模式多、雜波圖存儲量大的大型相控陣?yán)走_(dá)來說,本設(shè)計具有一定的價值。
參考文獻(xiàn):
[1]劉俊濤,宋萬杰,吳順君. 基于FPGA三維雜波圖的設(shè)計與實現(xiàn)[J].現(xiàn)代雷達(dá), 2005,27(12),18-20.
[2]邢孟道,王彤等譯.雷達(dá)信號處理基礎(chǔ)[M].北京: 電子工業(yè)出版社,2008.
[3]Schleher D C. MTI and pulsed doppler radar. Artech House Boston·London, 1991.
[4]閆修林,阮增苗. 雜波圖技術(shù)在雷達(dá)終端信號處理中的應(yīng)用[J].現(xiàn)代雷達(dá), 2004, 26(5): 34-36.
[5]劉俊濤.雷達(dá)雜波圖CFAR算法研究及基于FPGA的實現(xiàn)[D].西安: 西安電子科技大學(xué), 2006: 18-19.