基于DSP的并行信號處理系統設計方案
4 系統的實(shí)現
首先估計一下單元平均恒虛警檢測的運算量:整個(gè)距離(最大120 km,7 MHz采樣率)數據量為5.6 k個(gè)復數,1片ADSP2106X處理需要的時(shí)間大約是3.6 ms,由于相干處理周期為1 ms,因而我們在距離上分成4段,分別用4片ADSP2106X處理,這樣還有0.1 ms的空閑時(shí)間。這里為了每片DSP處理數據方便,需要每段處理相互獨立,因此段間要有重疊,以保證每一段CFAR的左右單元平均可以獨立進(jìn)行。
?。?)對于恒虛警檢測的處理來(lái)說(shuō),只有2種工作方式:MTI和MTD,分別對應單元平均恒虛警檢測和二維恒虛警檢測。
?。?)系統內各部分均采用數據流方式驅動(dòng),數據包的格式為:先是4個(gè)字的模式控制字,然后是實(shí)際數據。每一種工作方式及相應參數由每一數據包前面的模式控制字給出,對應于模式控制字中的工作方式及參數等各共用部分,我們在所有運算單元中對其進(jìn)行解釋?zhuān)员戕D入相應的子程序。
?。?)系統初始化方式有兩種,一種是EPROM加載方式,此方式有利于在整個(gè)系統調試或固定雷達工作方式后,脫開(kāi)計算機進(jìn)行。另一種加載方式就是通過(guò)計算機接口以L(fǎng)ink口加載方式進(jìn)行加載。為了使用時(shí)調整雷達信號處理方式,采用計算機加載方式。
4.1 系統硬件
根據運算量和恒虛警檢測所需的存儲量,估計出設備量為5片DSP,如圖4所示。
由于雷達信號處理流水進(jìn)行的特點(diǎn),可以按處理流程將整個(gè)系統劃分成若干功能塊,所以擬采用分布式并行處理系統。分布式并行處理系統由標準的并行子模塊構成,恒虛警檢測子模塊由4個(gè)單元構成,M/N檢測匯總子模塊為1個(gè)單元,并行子模塊之間由高速通信口相連,每對通信口間數據傳輸速率可達40 Mb/s.所有DSP都有通信口通過(guò)電路板插座連接到外部,利用數據流格式和相應的軟件配置在鄰近電路板間建立數據通路,這樣減少了電路板間信號耦合。
4.2軟件處理及實(shí)現分析
程序部分完成:CFAR、幅相計算、M/N檢測等功能,需要5片DSP.
整個(gè)距離分4段,分別在4片DSP中進(jìn)行CFAR、幅相計算等處理。段間有重疊,以保證每一段CFAR的左右單元平均可以獨立進(jìn)行。最后將4段的結果在下一片DSP進(jìn)行合并、M/N檢測,把目標信息后送。
?。?)CFAR,幅相計算
雜波圖恒虛警檢測的主要功能是利用相應方位的雜波圖輸出作為門(mén)限,對零號濾波器各距離單元進(jìn)行檢測。其他濾波器輸出采用單元平均CFAR處理方法對每個(gè)距離單元進(jìn)行檢測,同一個(gè)距離門(mén)的N-1個(gè)多卜勒通道檢測結果選大作為CFAR檢測結果,并與雜波圖檢測輸出經(jīng)或門(mén)后作為最終檢測結果。檢測結果有目標輸出時(shí),保留其幅值、相位信息。
程序流程分別從LINKX接收各自段的數據,先對數據作CFAR處理,檢測到目標后,保存對應距離/多普勒單元信息,等到所有數據都處理完后,把結果通過(guò)LINKX送往下一級,主程序流程如圖5所示。
其中IRQ0是相干處理周期的起始信號,模式字的有效性通過(guò)校驗碼實(shí)現,高速通信口LINKX工作在DMA方式。
輸入與輸出的數據格式輸入數據先是4個(gè)字的模式,接著(zhù)是實(shí)、虛部交替的復數,個(gè)數同模式有關(guān),每個(gè)復數對應一個(gè)距離/多普勒單元。CFAR檢測結果格式,先是以4個(gè)字的模式,逐個(gè)字地檢測到目標的個(gè)數,接著(zhù)是各目標單元信息。
由于這一級在最不利的32點(diǎn)FFT情況下存儲量大約為90 k個(gè)復數,所以DSP芯片選取了內存較大的ADSP21060.
?。?)匯總與M/N檢測
這一級的匯總任務(wù)是把4段的CFAR檢測結果合并到一起,只要把各段中各個(gè)目標單元依據距離門(mén)的位置加以修整,然后搬到另一處緩沖區即可。這時(shí)目標信息排列的順序是按距離門(mén)號依次遞增的,先搬整個(gè)距離段上距離門(mén)號最小的第1段,再搬第2,3,4段。
M/N檢測在相干處理周期間進(jìn)行,其準則是相鄰3個(gè)相干處理周期內至少有2次在同一個(gè)距離門(mén)上檢測到目標,確認為相對應距離單元上有目標輸出,這時(shí)保留相應單元上最新的幅值作為檢測結果。
程序流程如圖6所示。分別從LINK2,LINK3,LINK1,LINK5接收4個(gè)距離段上的檢測結果,把4段的結果合并在一起,形成整個(gè)距離段完整的結果。然后和以前2次檢測的結果進(jìn)行M/N檢測,最后把M/N檢測的結果通過(guò)LINK0發(fā)往接口板。
四段的輸入數據格式相同先是4個(gè)字的模式,逐個(gè)字地檢測到目標的個(gè)數,接著(zhù)是各目標單元信息。存儲量不大,選取了內存較小的ADSP21062.
4.3 運算量、內存、通訊資源占用情況
在CFAR檢測中,包括零多卜勒通道各距離門(mén)利用相應波位的雜波圖作為門(mén)限進(jìn)行檢測,剩余濾波器在距離上的單元平均恒虛警檢測。其運算量主要集中在單元平均恒虛警中,這里除了第1個(gè)距離單元兩端各項需經(jīng)L個(gè)數據平均外,在第2個(gè)距離門(mén)后的其余距離單元檢測時(shí),前后各L個(gè)數平均只需加上1個(gè)新移進(jìn)的值,減去移出的值即可,這樣對每個(gè)距離門(mén)檢測來(lái)說(shuō)只需約8條指令。匯總部分運算量不大。由于匯總要處理前一級眾多DSP芯片數據,因此此處數據通信充分利用互連網(wǎng)絡(luò )的各通訊支路進(jìn)行數據轉發(fā),其前一級運算部分在緩存及時(shí)間上要給此部分留有一定余量。
CFAR一級在32點(diǎn)MTD模式下存儲壓力較大,因此采取了以下措施:輸入/輸出以及中間結果都是短字定點(diǎn)格式,在開(kāi)始CFAR檢測前要先轉換成長(cháng)字的浮點(diǎn)格式進(jìn)行各種運算,最后把CFAR結果經(jīng)過(guò)定浮點(diǎn)轉換作為16 B定點(diǎn)格式保存下來(lái),其余部分的運算也需要先把CFAR結果轉換成32 B浮點(diǎn)格式,不過(guò)是在所調用的子程序內部完成的。作為運算的中間結果,目標單元幅值的存儲使用了循環(huán)尋址方式,因為一批數據在一邊被進(jìn)行處理的同時(shí)一邊會(huì )被新來(lái)的數據覆蓋掉,這一過(guò)程是以距離門(mén)的順序進(jìn)行的,而CFAR檢測也是沿著(zhù)距離門(mén)滑動(dòng)的,在對第18號距離門(mén)檢測時(shí),第0號距離門(mén)的數據就沒(méi)有任何用途了,這樣就可以把第18號距離門(mén)的幅值存到第0號距離門(mén)的位置。同樣地第19號距離門(mén)的幅值也可以存到第1號距離門(mén)的位置,從而構成了循環(huán)尋址存儲方式。其他一些中間結果也采用了這種存儲方式,有效地節省了內存資源。
CFAR一級包括單元平均恒虛警檢測和幅相計算2部分,運算量主要集中在前一部分,占90%左右,到后面的數據量已經(jīng)大大減少了。匯總一級的運算量主要集中在M/N檢測部分,但總的運算量不大。
5 結語(yǔ)
本文討論了一種恒虛警檢測的并行處理系統的設計,選取通用并行DSP作為核心處理單元,通過(guò)高速數據通信口構成了松耦合的分布式并行系統,在處理單元數目較多的情況下獲得了很高的性能。結合雷達信號處理的特點(diǎn)對任務(wù)進(jìn)行分配,運用數據流驅動(dòng)方式增強了信號處理系統的通用性和易維護性,整個(gè)系統具有良好的可編程、可擴展和升級能力。
評論