一種基于DSP的并行信號(hào)處理系統(tǒng)的設(shè)計(jì)
自數(shù)字計(jì)算機(jī)問(wèn)世以來(lái),計(jì)算機(jī)的處理能力已經(jīng)增長(zhǎng)了100 k倍以上。然而,現(xiàn)有性能最高的計(jì)算機(jī)的計(jì)算能力仍遠(yuǎn)遠(yuǎn)不能滿足人類對(duì)計(jì)算速度無(wú)止境的追求。
本文引用地址:http://m.butianyuan.cn/article/257226.htm 在科學(xué)計(jì)算、地質(zhì)分析、氣象預(yù)測(cè)、仿真模擬、圖像處理以及實(shí)時(shí)信號(hào)處理領(lǐng)域,對(duì)計(jì)算機(jī)處理速度的要求尤為迫切。隨著半導(dǎo)體技術(shù)的迅速發(fā)展,采用超大規(guī)模集成電路設(shè)計(jì)的處理單元功能越來(lái)越強(qiáng),然而單處理器性能的提高受到了諸多限制。因此,滿足對(duì)運(yùn)算速度的巨大需求目前只能通過(guò)并行處理技術(shù)來(lái)實(shí)現(xiàn)。
1 概述
本文中設(shè)計(jì)了一種并行信號(hào)處理系統(tǒng),其主要特點(diǎn)是:
(1)具有強(qiáng)大的處理能力,可以完成多種信號(hào)處理模式。
?。?)信號(hào)處理功能通過(guò)大量信號(hào)處理芯片(DSP)的并行計(jì)算完成。
?。?)信號(hào)處理功能的改變通過(guò)軟件實(shí)現(xiàn)。
圖1所示的是動(dòng)目標(biāo)檢測(cè)雷達(dá)信號(hào)處理機(jī)的主要組成部分,虛線中的處理模塊是本文要完成的工作。
2 幅相計(jì)算、CFAR檢測(cè)、M/N檢測(cè)
2.1 幅相計(jì)算
幅相計(jì)算指從復(fù)數(shù)據(jù)計(jì)算其幅度和相位,假使:
2.2 CFAR檢測(cè)和M/N檢測(cè)
雷達(dá)信號(hào)的檢測(cè)總是在干擾背景上進(jìn)行的,為了在強(qiáng)干擾中提取信號(hào),不僅要求有一定的信噪比,而且必須有恒虛警處理設(shè)備,恒虛警處理的目的是保持信號(hào)檢測(cè)時(shí)的虛警率恒定,這樣才能使處理機(jī)不致因虛警太多而過(guò)載。
(1)單元平均恒虛警(CFAR)檢測(cè)器
已經(jīng)知道,在低分辨率的脈沖雷達(dá)中,海浪和雨雪等分布雜波可以看作很多獨(dú)立照射單元回波的迭加,因而雜波包絡(luò)的分布服從瑞利分布,如果檢測(cè)背景中存在此類雜波,檢測(cè)門限可以通過(guò)計(jì)算雜波的均值得到,但是由于雜波在空間分布的未知性,求雜波均值只能從被檢測(cè)目標(biāo)鄰近單元來(lái)獲得,這就是比較常用的單元平均CFAR檢測(cè)器。為了減少這類檢測(cè)器在雜波邊緣內(nèi)側(cè)虛警顯著增大問(wèn)題,一般采用其改進(jìn)電路—兩側(cè)單元平均選大電路,如圖2所示。在被檢測(cè)單元的兩邊,為了防止目標(biāo)本身對(duì)門限值的影響各空出了一個(gè)保護(hù)單元。
(2)二維CFAR檢測(cè)器
當(dāng)雷達(dá)工作于FFT方式時(shí),CFAR檢測(cè)器的輸入數(shù)據(jù)包括距離和頻率2個(gè)變量,所以需要采用二維CFAR,如圖3所示。除0# 濾波器輸出送雜波圖處理外,其他多卜勒濾波器輸出各接一個(gè)單元平均CFAR檢測(cè)器。各CFAR檢測(cè)的結(jié)果合起來(lái)作為目標(biāo)判斷。
(3)M/N檢測(cè)
M/N檢測(cè)在CFAR檢測(cè)后進(jìn)行,其中,N為積累脈沖數(shù),M為小于N的值。我們?cè)O(shè)定M/N檢測(cè)的準(zhǔn)則為2/3,即相同距離門的信號(hào)在3個(gè)脈沖重復(fù)周期里至少2次過(guò)門限判定有目標(biāo)。
2.3 雜波圖
雜波圖技術(shù)就是將雷達(dá)周圍的二維平面分成許多方位距離單元,把方位距離單元的接收信號(hào)存入一個(gè)存儲(chǔ)器中,每個(gè)存儲(chǔ)單元對(duì)應(yīng)一個(gè)方位距離單元,并且隨著天線的掃描,每個(gè)單元存儲(chǔ)的信號(hào)進(jìn)行遞推更新:
其中:K是一個(gè)小于1的因子,xn和yn分別代表輸入、輸出。
所以天線多圈掃描以后,雜波圖中存貯的是相應(yīng)方位距離單元的雜波均值。檢測(cè)門限H根據(jù)式
(5)計(jì)算,如果被檢測(cè)信號(hào)xn大于門限H,我們就判為有目標(biāo),否則就判無(wú)目標(biāo)。
H=Cyn(5)
其中:C為一個(gè)門限乘子,C的大小決定著檢測(cè)概率的虛警概率。
3 系統(tǒng)的設(shè)計(jì)
并行處理的目的是通過(guò)采用多個(gè)處理單元同時(shí)對(duì)任務(wù)處理來(lái)減少任務(wù)的執(zhí)行時(shí)間,如何能以最短的時(shí)間完成任務(wù)成為并行處理機(jī)設(shè)計(jì)者最關(guān)心的問(wèn)題,對(duì)這一問(wèn)題的反映表現(xiàn)在處理機(jī)的2個(gè)基本性能指標(biāo):加速比和并行效率。而并行處理機(jī)的這2個(gè)基本性能決定于組成并行處理機(jī)的3個(gè)要素:處理單元、并行處理機(jī)網(wǎng)絡(luò)結(jié)構(gòu)、并行算法程序和任務(wù)分配方法。三者之間緊密聯(lián)系,互相依賴。
3.1 處理單元的選擇
處理單元的性能可以說(shuō)是決定處理機(jī)性能最基本的因素,高性能的處理單元可以提高系統(tǒng)性能、減少系統(tǒng)體積和功耗、降低結(jié)構(gòu)復(fù)雜性和提高軟件可維護(hù)性。處理單元按應(yīng)用范圍大致可分為中央處理單元、專用ASIC芯片、FPGA/EPLD、數(shù)字信號(hào)處理器。在實(shí)時(shí)數(shù)字信號(hào)處理應(yīng)用上,DSP仍具備明顯優(yōu)勢(shì)。
在并行處理中,更強(qiáng)調(diào)DSP是否具有適于構(gòu)成并行處理機(jī)的特殊功能,如高速通信口的通信能力、共享存貯器的接口功能等。TMS320C40和ADSP21060在結(jié)構(gòu)功能上有很多相似之處,相比較而言,綜合性能較好地并行DSP是ADSP21060,他的運(yùn)算速度、數(shù)據(jù)吞吐能力、片內(nèi)存貯器容量都遠(yuǎn)優(yōu)于TMS320C40,相對(duì)于其他類型DSP。他的突出特點(diǎn)是:FFT速度快、片內(nèi)存貯器容量大,很好地共享存貯器接口。各種兼容型號(hào)ADSP2106X的選擇余地也較大,他還與最新推出的ADSP21160代碼兼容,結(jié)構(gòu)與接口形式也類似。
3.2 并行處理機(jī)互聯(lián)結(jié)構(gòu)
并行處理機(jī)互聯(lián)網(wǎng)絡(luò)的主要功能是為各處理單元提供數(shù)據(jù)交換的通路并負(fù)責(zé)子任務(wù)傳送和控制調(diào)度信號(hào)的傳遞。處理單元之間的網(wǎng)絡(luò)結(jié)構(gòu)大致可分成2類:
(1)共享總線(共享存貯器)系統(tǒng),稱為緊耦合式并行系統(tǒng)。
(2)處理單元有各自獨(dú)立的數(shù)據(jù)存貯器而通過(guò)通信口相連的分布式并行系統(tǒng),又稱松耦合式系統(tǒng)。緊耦合式的共享總線系統(tǒng)在處理單元個(gè)數(shù)較少的情況下,以其無(wú)需數(shù)據(jù)通信而能獲得較高的加速比。當(dāng)處理單元個(gè)數(shù)很多時(shí),共享總線將造成頻繁的總線沖突和等待,而且共享總線結(jié)構(gòu)的可擴(kuò)充性和靈活性不及分布式系統(tǒng),不適于大規(guī)模并行處理系統(tǒng),可重構(gòu)能力和容錯(cuò)能力都遠(yuǎn)不如分布式系統(tǒng)。
通用并行DSP的通信口速度在30~60 MHz,這為在處理單元數(shù)目很多的大規(guī)模并行處理采用分布式系統(tǒng)設(shè)計(jì)創(chuàng)造了條件。TMS320C40或ADSP21060提供的多達(dá)6個(gè)高速通信口的總通信能力與其指令速度或平均運(yùn)算能力相當(dāng),而同時(shí)TMS320C40或ADSP21060都提供了共享數(shù)據(jù)總線的接口,TMS320C40有2套獨(dú)立的總線,其中一套可以用于和其他TMS320C40共享數(shù)據(jù),而ADSP21060的片內(nèi)具有共享總線仲裁邏輯,可以在無(wú)需添加外部控制電路的情況下,將不多于6個(gè)ADSP21060直接相連。
以上分析表明,分布式并行系統(tǒng)更適合于大規(guī)模并行系統(tǒng),而共享總線式系統(tǒng)在小規(guī)模的并行處理機(jī)上可以得到較高的性能。以ADSP21060為例,當(dāng)處理單元小于5時(shí)共享總線系統(tǒng)的效率較高;反之,分布式并行系統(tǒng)將更好。
3.3 并行算法、任務(wù)分配和軟件編程
并行算法的好壞主要以其并行度高低來(lái)衡量,并行算法和并行程序的設(shè)計(jì)復(fù)雜度遠(yuǎn)大于傳統(tǒng)的串行算法和串行程序設(shè)計(jì),他更多地依賴于處理機(jī)結(jié)構(gòu),現(xiàn)有的并行算法遠(yuǎn)不能滿足并行處理的需要,而且目前還缺乏一種有效的并行開(kāi)發(fā)系統(tǒng)和并行設(shè)計(jì)語(yǔ)言,但對(duì)于雷達(dá)信號(hào)處理這一領(lǐng)域來(lái)說(shuō),信號(hào)處理任務(wù)的類型基本上是確定的,這就縮小了設(shè)計(jì)者的設(shè)計(jì)范圍,從而大大減少了程序設(shè)計(jì)的難度。
采用上文所述的并行DSP作為處理單元構(gòu)成的信號(hào)處理機(jī)將是完全可編程和軟件可重載的,根據(jù)需要可以對(duì)不同并行子模塊重新進(jìn)行功能定義。算法軟件以標(biāo)準(zhǔn)模塊存放在DSP的RAM或ROM中,當(dāng)處理單元的功能改變時(shí),可調(diào)用相應(yīng)的軟件模塊。
任務(wù)分配和調(diào)度仍是并行處理系統(tǒng)設(shè)計(jì)的一個(gè)難題,至今尚無(wú)實(shí)用的任務(wù)自動(dòng)分配方法,而任務(wù)分配所帶來(lái)的成本又太高。根據(jù)雷達(dá)信號(hào)處理固有的特點(diǎn),可以將其定義成帶有輸入?yún)?shù)的軟件模塊,每個(gè)模塊隨著其輸入?yún)?shù)的不同,其輸出參數(shù)如運(yùn)算時(shí)間、數(shù)據(jù)通信時(shí)間、數(shù)據(jù)通信路徑都將不同。
采用數(shù)據(jù)流全驅(qū)動(dòng)的方式是將處理過(guò)程中的全部數(shù)據(jù)分割成一定大小的數(shù)據(jù)包,在每個(gè)數(shù)據(jù)包中,除了實(shí)際數(shù)據(jù)還包括有如下信息:數(shù)據(jù)包長(zhǎng)度、處理方式、數(shù)據(jù)描述、校驗(yàn)碼。處理方式中含有足夠的處理信息,用于指示DSP或子模塊如何處理此包數(shù)據(jù),即選擇多普勒濾波、MTI、CFAR等。數(shù)據(jù)描述信息詳細(xì)地給出了此包數(shù)據(jù)的特點(diǎn),包括距離門起止號(hào)、多普勒號(hào)、通道號(hào)等。DSP接收到一個(gè)數(shù)據(jù)包后,如果此包數(shù)據(jù)的處理相對(duì)于其他數(shù)據(jù)包是獨(dú)立的,他就立即進(jìn)行處理,否則等待其他包數(shù)據(jù)到齊或者向其他DSP轉(zhuǎn)發(fā)。
4 系統(tǒng)的實(shí)現(xiàn)
首先估計(jì)一下單元平均恒虛警檢測(cè)的運(yùn)算量:整個(gè)距離(最大120 km,7 MHz采樣率)數(shù)據(jù)量為5.6 k個(gè)復(fù)數(shù),1片ADSP2106X處理需要的時(shí)間大約是3.6 ms,由于相干處理周期為1 ms,因而我們?cè)诰嚯x上分成4段,分別用4片ADSP2106X處理,這樣還有0.1 ms的空閑時(shí)間。這里為了每片DSP處理數(shù)據(jù)方便,需要每段處理相互獨(dú)立,因此段間要有重疊,以保證每一段CFAR的左右單元平均可以獨(dú)立進(jìn)行。
?。?)對(duì)于恒虛警檢測(cè)的處理來(lái)說(shuō),只有2種工作方式:MTI和MTD,分別對(duì)應(yīng)單元平均恒虛警檢測(cè)和二維恒虛警檢測(cè)。
?。?)系統(tǒng)內(nèi)各部分均采用數(shù)據(jù)流方式驅(qū)動(dòng),數(shù)據(jù)包的格式為:先是4個(gè)字的模式控制字,然后是實(shí)際數(shù)據(jù)。每一種工作方式及相應(yīng)參數(shù)由每一數(shù)據(jù)包前面的模式控制字給出,對(duì)應(yīng)于模式控制字中的工作方式及參數(shù)等各共用部分,我們?cè)谒羞\(yùn)算單元中對(duì)其進(jìn)行解釋,以便轉(zhuǎn)入相應(yīng)的子程序。
?。?)系統(tǒng)初始化方式有兩種,一種是EPROM加載方式,此方式有利于在整個(gè)系統(tǒng)調(diào)試或固定雷達(dá)工作方式后,脫開(kāi)計(jì)算機(jī)進(jìn)行。另一種加載方式就是通過(guò)計(jì)算機(jī)接口以Link口加載方式進(jìn)行加載。為了使用時(shí)調(diào)整雷達(dá)信號(hào)處理方式,采用計(jì)算機(jī)加載方式。
4.1 系統(tǒng)硬件
根據(jù)運(yùn)算量和恒虛警檢測(cè)所需的存儲(chǔ)量,估計(jì)出設(shè)備量為5片DSP,如圖4所示。
由于雷達(dá)信號(hào)處理流水進(jìn)行的特點(diǎn),可以按處理流程將整個(gè)系統(tǒng)劃分成若干功能塊,所以擬采用分布式并行處理系統(tǒng)。分布式并行處理系統(tǒng)由標(biāo)準(zhǔn)的并行子模塊構(gòu)成,恒虛警檢測(cè)子模塊由4個(gè)單元構(gòu)成,M/N檢測(cè)匯總子模塊為1個(gè)單元,并行子模塊之間由高速通信口相連,每對(duì)通信口間數(shù)據(jù)傳輸速率可達(dá)40 Mb/s。所有DSP都有通信口通過(guò)電路板插座連接到外部,利用數(shù)據(jù)流格式和相應(yīng)的軟件配置在鄰近電路板間建立數(shù)據(jù)通路,這樣減少了電路板間信號(hào)耦合。
4.2軟件處理及實(shí)現(xiàn)分析
程序部分完成:CFAR、幅相計(jì)算、M/N檢測(cè)等功能,需要5片DSP。
整個(gè)距離分4段,分別在4片DSP中進(jìn)行CFAR、幅相計(jì)算等處理。段間有重疊,以保證每一段CFAR的左右單元平均可以獨(dú)立進(jìn)行。最后將4段的結(jié)果在下一片DSP進(jìn)行合并、M/N檢測(cè),把目標(biāo)信息后送。
(1)CFAR,幅相計(jì)算
雜波圖恒虛警檢測(cè)的主要功能是利用相應(yīng)方位的雜波圖輸出作為門限,對(duì)零號(hào)濾波器各距離單元進(jìn)行檢測(cè)。其他濾波器輸出采用單元平均CFAR處理方法對(duì)每個(gè)距離單元進(jìn)行檢測(cè),同一個(gè)距離門的N-1個(gè)多卜勒通道檢測(cè)結(jié)果選大作為CFAR檢測(cè)結(jié)果,并與雜波圖檢測(cè)輸出經(jīng)或門后作為最終檢測(cè)結(jié)果。檢測(cè)結(jié)果有目標(biāo)輸出時(shí),保留其幅值、相位信息。
程序流程分別從LINKX接收各自段的數(shù)據(jù),先對(duì)數(shù)據(jù)作CFAR處理,檢測(cè)到目標(biāo)后,保存對(duì)應(yīng)距離/多普勒單元信息,等到所有數(shù)據(jù)都處理完后,把結(jié)果通過(guò)LINKX送往下一級(jí),主程序流程如圖5所示。
其中IRQ0是相干處理周期的起始信號(hào),模式字的有效性通過(guò)校驗(yàn)碼實(shí)現(xiàn),高速通信口LINKX工作在DMA方式。
輸入與輸出的數(shù)據(jù)格式輸入數(shù)據(jù)先是4個(gè)字的模式,接著是實(shí)、虛部交替的復(fù)數(shù),個(gè)數(shù)同模式有關(guān),每個(gè)復(fù)數(shù)對(duì)應(yīng)一個(gè)距離/多普勒單元。CFAR檢測(cè)結(jié)果格式,先是以4個(gè)字的模式,逐個(gè)字地檢測(cè)到目標(biāo)的個(gè)數(shù),接著是各目標(biāo)單元信息。
由于這一級(jí)在最不利的32點(diǎn)FFT情況下存儲(chǔ)量大約為90 k個(gè)復(fù)數(shù),所以DSP芯片選取了內(nèi)存較大的ADSP21060。
(2)匯總與M/N檢測(cè)
這一級(jí)的匯總?cè)蝿?wù)是把4段的CFAR檢測(cè)結(jié)果合并到一起,只要把各段中各個(gè)目標(biāo)單元依據(jù)距離門的位置加以修整,然后搬到另一處緩沖區(qū)即可。這時(shí)目標(biāo)信息排列的順序是按距離門號(hào)依次遞增的,先搬整個(gè)距離段上距離門號(hào)最小的第1段,再搬第2,3,4段。
M/N檢測(cè)在相干處理周期間進(jìn)行,其準(zhǔn)則是相鄰3個(gè)相干處理周期內(nèi)至少有2次在同一個(gè)距離門上檢測(cè)到目標(biāo),確認(rèn)為相對(duì)應(yīng)距離單元上有目標(biāo)輸出,這時(shí)保留相應(yīng)單元上最新的幅值作為檢測(cè)結(jié)果。
程序流程如圖6所示。分別從LINK2,LINK3,LINK1,LINK5接收4個(gè)距離段上的檢測(cè)結(jié)果,把4段的結(jié)果合并在一起,形成整個(gè)距離段完整的結(jié)果。然后和以前2次檢測(cè)的結(jié)果進(jìn)行M/N檢測(cè),最后把M/N檢測(cè)的結(jié)果通過(guò)LINK0發(fā)往接口板。
四段的輸入數(shù)據(jù)格式相同先是4個(gè)字的模式,逐個(gè)字地檢測(cè)到目標(biāo)的個(gè)數(shù),接著是各目標(biāo)單元信息。存儲(chǔ)量不大,選取了內(nèi)存較小的ADSP21062。
4.3 運(yùn)算量、內(nèi)存、通訊資源占用情況
在CFAR檢測(cè)中,包括零多卜勒通道各距離門利用相應(yīng)波位的雜波圖作為門限進(jìn)行檢測(cè),剩余濾波器在距離上的單元平均恒虛警檢測(cè)。其運(yùn)算量主要集中在單元平均恒虛警中,這里除了第1個(gè)距離單元兩端各項(xiàng)需經(jīng)L個(gè)數(shù)據(jù)平均外,在第2個(gè)距離門后的其余距離單元檢測(cè)時(shí),前后各L個(gè)數(shù)平均只需加上1個(gè)新移進(jìn)的值,減去移出的值即可,這樣對(duì)每個(gè)距離門檢測(cè)來(lái)說(shuō)只需約8條指令。匯總部分運(yùn)算量不大。由于匯總要處理前一級(jí)眾多DSP芯片數(shù)據(jù),因此此處數(shù)據(jù)通信充分利用互連網(wǎng)絡(luò)的各通訊支路進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),其前一級(jí)運(yùn)算部分在緩存及時(shí)間上要給此部分留有一定余量。
CFAR一級(jí)在32點(diǎn)MTD模式下存儲(chǔ)壓力較大,因此采取了以下措施:輸入/輸出以及中間結(jié)果都是短字定點(diǎn)格式,在開(kāi)始CFAR檢測(cè)前要先轉(zhuǎn)換成長(zhǎng)字的浮點(diǎn)格式進(jìn)行各種運(yùn)算,最后把CFAR結(jié)果經(jīng)過(guò)定浮點(diǎn)轉(zhuǎn)換作為16 B定點(diǎn)格式保存下來(lái),其余部分的運(yùn)算也需要先把CFAR結(jié)果轉(zhuǎn)換成32 B浮點(diǎn)格式,不過(guò)是在所調(diào)用的子程序內(nèi)部完成的。作為運(yùn)算的中間結(jié)果,目標(biāo)單元幅值的存儲(chǔ)使用了循環(huán)尋址方式,因?yàn)橐慌鷶?shù)據(jù)在一邊被進(jìn)行處理的同時(shí)一邊會(huì)被新來(lái)的數(shù)據(jù)覆蓋掉,這一過(guò)程是以距離門的順序進(jìn)行的,而CFAR檢測(cè)也是沿著距離門滑動(dòng)的,在對(duì)第18號(hào)距離門檢測(cè)時(shí),第0號(hào)距離門的數(shù)據(jù)就沒(méi)有任何用途了,這樣就可以把第18號(hào)距離門的幅值存到第0號(hào)距離門的位置。同樣地第19號(hào)距離門的幅值也可以存到第1號(hào)距離門的位置,從而構(gòu)成了循環(huán)尋址存儲(chǔ)方式。其他一些中間結(jié)果也采用了這種存儲(chǔ)方式,有效地節(jié)省了內(nèi)存資源。
CFAR一級(jí)包括單元平均恒虛警檢測(cè)和幅相計(jì)算2部分,運(yùn)算量主要集中在前一部分,占90%左右,到后面的數(shù)據(jù)量已經(jīng)大大減少了。匯總一級(jí)的運(yùn)算量主要集中在M/N檢測(cè)部分,但總的運(yùn)算量不大。
5 結(jié)語(yǔ)
本文討論了一種恒虛警檢測(cè)的并行處理系統(tǒng)的設(shè)計(jì),選取通用并行DSP作為核心處理單元,通過(guò)高速數(shù)據(jù)通信口構(gòu)成了松耦合的分布式并行系統(tǒng),在處理單元數(shù)目較多的情況下獲得了很高的性能。結(jié)合雷達(dá)信號(hào)處理的特點(diǎn)對(duì)任務(wù)進(jìn)行分配,運(yùn)用數(shù)據(jù)流驅(qū)動(dòng)方式增強(qiáng)了信號(hào)處理系統(tǒng)的通用性和易維護(hù)性,整個(gè)系統(tǒng)具有良好的可編程、可擴(kuò)展和升級(jí)能力。
評(píng)論