新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種基于DSP的并行信號處理系統的設計

        一種基于DSP的并行信號處理系統的設計

        作者: 時間:2012-11-12 來源:網絡 收藏

        自數字計算機問世以來,計算機的處理能力已經增長了100 k倍以上。然而,現有性能最高的計算機的計算能力仍遠遠不能滿足人類對計算速度無止境的追求。

        本文引用地址:http://www.104case.com/article/257226.htm
        在科學計算、地質分析、氣象預測、仿真模擬、圖像處理以及實時信號處理領域,對計算機處理速度的要求尤為迫切。隨著半導體技術的迅速發展,采用超大規模集成電路設計的處理單元功能越來越強,然而單處理器性能的提高受到了諸多限制。因此,滿足對運算速度的巨大需求目前只能通過并行處理技術來實現。
        1 概述
          本文中設計了一種處理系統,其主要特點是:
        (1)具有強大的處理能力,可以完成多種信號處理模式。
          (2)信號處理功能通過大量信號處理芯片()的并行計算完成。
          (3)信號處理功能的改變通過軟件實現。
          圖1所示的是動目標檢測雷達信號處理機的主要組成部分,虛線中的處理模塊是本文要完成的工作。
        2 幅相計算、CFAR檢測、M/N檢測

        2.1 幅相計算
          幅相計算指從復數據計算其幅度和相位,假使:
        2.2 CFAR檢測和M/N檢測
          雷達信號的檢測總是在干擾背景上進行的,為了在強干擾中提取信號,不僅要求有一定的信噪比,而且必須有恒虛警處理設備,恒虛警處理的目的是保持信號檢測時的虛警率恒定,這樣才能使處理機不致因虛警太多而過載。
        (1)單元平均恒虛警(CFAR)檢測器
          已經知道,在低分辨率的脈沖雷達中,海浪和雨雪等分布雜波可以看作很多獨立照射單元回波的迭加,因而雜波包絡的分布服從瑞利分布,如果檢測背景中存在此類雜波,檢測門限可以通過計算雜波的均值得到,但是由于雜波在空間分布的未知性,求雜波均值只能從被檢測目標鄰近單元來獲得,這就是比較常用的單元平均CFAR檢測器。為了減少這類檢測器在雜波邊緣內側虛警顯著增大問題,一般采用其改進電路—兩側單元平均選大電路,如圖2所示。在被檢測單元的兩邊,為了防止目標本身對門限值的影響各空出了一個保護單元。
        (2)二維CFAR檢測器
          當雷達工作于FFT方式時,CFAR檢測器的輸入數據包括距離和頻率2個變量,所以需要采用二維CFAR,如圖3所示。除0# 濾波器輸出送雜波圖處理外,其他多卜勒濾波器輸出各接一個單元平均CFAR檢測器。各CFAR檢測的結果合起來作為目標判斷。
        (3)M/N檢測
          M/N檢測在CFAR檢測后進行,其中,N為積累脈沖數,M為小于N的值。我們設定M/N檢測的準則為2/3,即相同距離門的信號在3個脈沖重復周期里至少2次過門限判定有目標。
          2.3 雜波圖
          雜波圖技術就是將雷達周圍的二維平面分成許多方位距離單元,把方位距離單元的接收信號存入一個存儲器中,每個存儲單元對應一個方位距離單元,并且隨著天線的掃描,每個單元存儲的信號進行遞推更新:
          其中:K是一個小于1的因子,xn和yn分別代表輸入、輸出。
          所以天線多圈掃描以后,雜波圖中存貯的是相應方位距離單元的雜波均值。檢測門限H根據式
        (5)計算,如果被檢測信號xn大于門限H,我們就判為有目標,否則就判無目標。
          H=Cyn(5)
          其中:C為一個門限乘子,C的大小決定著檢測概率的虛警概率。

          3 系統的設計
          并行處理的目的是通過采用多個處理單元同時對任務處理來減少任務的執行時間,如何能以最短的時間完成任務成為并行處理機設計者最關心的問題,對這一問題的反映表現在處理機的2個基本性能指標:加速比和并行效率。而并行處理機的這2個基本性能決定于組成并行處理機的3個要素:處理單元、并行處理機網絡結構、并行算法程序和任務分配方法。三者之間緊密聯系,互相依賴。
          3.1 處理單元的選擇
          處理單元的性能可以說是決定處理機性能最基本的因素,高性能的處理單元可以提高系統性能、減少系統體積和功耗、降低結構復雜性和提高軟件可維護性。處理單元按應用范圍大致可分為中央處理單元、專用ASIC芯片、FPGA/EPLD、數字信號處理器。在實時數字信號處理應用上,仍具備明顯優勢。
          在并行處理中,更強調是否具有適于構成并行處理機的特殊功能,如高速通信口的通信能力、共享存貯器的接口功能等。TMS320C40和ADSP21060在結構功能上有很多相似之處,相比較而言,綜合性能較好地并行DSP是ADSP21060,他的運算速度、數據吞吐能力、片內存貯器容量都遠優于TMS320C40,相對于其他類型DSP。他的突出特點是:FFT速度快、片內存貯器容量大,很好地共享存貯器接口。各種兼容型號ADSP2106X的選擇余地也較大,他還與最新推出的ADSP21160代碼兼容,結構與接口形式也類似。
          3.2 并行處理機互聯結構
          并行處理機互聯網絡的主要功能是為各處理單元提供數據交換的通路并負責子任務傳送和控制調度信號的傳遞。處理單元之間的網絡結構大致可分成2類:
          (1)共享總線(共享存貯器)系統,稱為緊耦合式并行系統。
          (2)處理單元有各自獨立的數據存貯器而通過通信口相連的分布式并行系統,又稱松耦合式系統。緊耦合式的共享總線系統在處理單元個數較少的情況下,以其無需數據通信而能獲得較高的加速比。當處理單元個數很多時,共享總線將造成頻繁的總線沖突和等待,而且共享總線結構的可擴充性和靈活性不及分布式系統,不適于大規模并行處理系統,可重構能力和容錯能力都遠不如分布式系統。
          通用并行DSP的通信口速度在30~60 MHz,這為在處理單元數目很多的大規模并行處理采用分布式創造了條件。TMS320C40或ADSP21060提供的多達6個高速通信口的總通信能力與其指令速度或平均運算能力相當,而同時TMS320C40或ADSP21060都提供了共享數據總線的接口,TMS320C40有2套獨立的總線,其中一套可以用于和其他TMS320C40共享數據,而ADSP21060的片內具有共享總線仲裁邏輯,可以在無需添加外部控制電路的情況下,將不多于6個ADSP21060直接相連。
          以上分析表明,分布式并行系統更適合于大規模并行系統,而共享總線式系統在小規模的并行處理機上可以得到較高的性能。以ADSP21060為例,當處理單元小于5時共享總線系統的效率較高;反之,分布式并行系統將更好。
          3.3 并行算法、任務分配和軟件編程
          并行算法的好壞主要以其并行度高低來衡量,并行算法和并行程序的設計復雜度遠大于傳統的串行算法和串行程序設計,他更多地依賴于處理機結構,現有的并行算法遠不能滿足并行處理的需要,而且目前還缺乏一種有效的并行開發系統和并行設計語言,但對于雷達信號處理這一領域來說,信號處理任務的類型基本上是確定的,這就縮小了設計者的設計范圍,從而大大減少了程序設計的難度。
          采用上文所述的并行DSP作為處理單元構成的信號處理機將是完全可編程和軟件可重載的,根據需要可以對不同并行子模塊重新進行功能定義。算法軟件以標準模塊存放在DSP的RAM或ROM中,當處理單元的功能改變時,可調用相應的軟件模塊。
          任務分配和調度仍是并行處理的一個難題,至今尚無實用的任務自動分配方法,而任務分配所帶來的成本又太高。根據雷達信號處理固有的特點,可以將其定義成帶有輸入參數的軟件模塊,每個模塊隨著其輸入參數的不同,其輸出參數如運算時間、數據通信時間、數據通信路徑都將不同。
          采用數據流全驅動的方式是將處理過程中的全部數據分割成一定大小的數據包,在每個數據包中,除了實際數據還包括有如下信息:數據包長度、處理方式、數據描述、校驗碼。處理方式中含有足夠的處理信息,用于指示DSP或子模塊如何處理此包數據,即選擇多普勒濾波、MTI、CFAR等。數據描述信息詳細地給出了此包數據的特點,包括距離門起止號、多普勒號、通道號等。DSP接收到一個數據包后,如果此包數據的處理相對于其他數據包是獨立的,他就立即進行處理,否則等待其他包數據到齊或者向其他DSP轉發。
          4 系統的實現
          首先估計一下單元平均恒虛警檢測的運算量:整個距離(最大120 km,7 MHz采樣率)數據量為5.6 k個復數,1片ADSP2106X處理需要的時間大約是3.6 ms,由于相干處理周期為1 ms,因而我們在距離上分成4段,分別用4片ADSP2106X處理,這樣還有0.1 ms的空閑時間。這里為了每片DSP處理數據方便,需要每段處理相互獨立,因此段間要有重疊,以保證每一段CFAR的左右單元平均可以獨立進行。
          (1)對于恒虛警檢測的處理來說,只有2種工作方式:MTI和MTD,分別對應單元平均恒虛警檢測和二維恒虛警檢測。
          (2)系統內各部分均采用數據流方式驅動,數據包的格式為:先是4個字的模式控制字,然后是實際數據。每一種工作方式及相應參數由每一數據包前面的模式控制字給出,對應于模式控制字中的工作方式及參數等各共用部分,我們在所有運算單元中對其進行解釋,以便轉入相應的子程序。
          (3)系統初始化方式有兩種,一種是EPROM加載方式,此方式有利于在整個系統調試或固定雷達工作方式后,脫開計算機進行。另一種加載方式就是通過計算機接口以Link口加載方式進行加載。為了使用時調整雷達信號處理方式,采用計算機加載方式。
          4.1 系統硬件
          根據運算量和恒虛警檢測所需的存儲量,估計出設備量為5片DSP,如圖4所示。
          由于雷達信號處理流水進行的特點,可以按處理流程將整個系統劃分成若干功能塊,所以擬采用分布式并行處理系統。分布式并行處理系統由標準的并行子模塊構成,恒虛警檢測子模塊由4個單元構成,M/N檢測匯總子模塊為1個單元,并行子模塊之間由高速通信口相連,每對通信口間數據傳輸速率可達40 Mb/s。所有DSP都有通信口通過電路板插座連接到外部,利用數據流格式和相應的軟件配置在鄰近電路板間建立數據通路,這樣減少了電路板間信號耦合。
          4.2軟件處理及實現分析
          程序部分完成:CFAR、幅相計算、M/N檢測等功能,需要5片DSP。
          整個距離分4段,分別在4片DSP中進行CFAR、幅相計算等處理。段間有重疊,以保證每一段CFAR的左右單元平均可以獨立進行。最后將4段的結果在下一片DSP進行合并、M/N檢測,把目標信息后送。
          (1)CFAR,幅相計算
          雜波圖恒虛警檢測的主要功能是利用相應方位的雜波圖輸出作為門限,對零號濾波器各距離單元進行檢測。其他濾波器輸出采用單元平均CFAR處理方法對每個距離單元進行檢測,同一個距離門的N-1個多卜勒通道檢測結果選大作為CFAR檢測結果,并與雜波圖檢測輸出經或門后作為最終檢測結果。檢測結果有目標輸出時,保留其幅值、相位信息。
          程序流程分別從LINKX接收各自段的數據,先對數據作CFAR處理,檢測到目標后,保存對應距離/多普勒單元信息,等到所有數據都處理完后,把結果通過LINKX送往下一級,主程序流程如圖5所示。
          其中IRQ0是相干處理周期的起始信號,模式字的有效性通過校驗碼實現,高速通信口LINKX工作在DMA方式。
          輸入與輸出的數據格式輸入數據先是4個字的模式,接著是實、虛部交替的復數,個數同模式有關,每個復數對應一個距離/多普勒單元。CFAR檢測結果格式,先是以4個字的模式,逐個字地檢測到目標的個數,接著是各目標單元信息。
          由于這一級在最不利的32點FFT情況下存儲量大約為90 k個復數,所以DSP芯片選取了內存較大的ADSP21060。
          (2)匯總與M/N檢測
          這一級的匯總任務是把4段的CFAR檢測結果合并到一起,只要把各段中各個目標單元依據距離門的位置加以修整,然后搬到另一處緩沖區即可。這時目標信息排列的順序是按距離門號依次遞增的,先搬整個距離段上距離門號最小的第1段,再搬第2,3,4段。
          M/N檢測在相干處理周期間進行,其準則是相鄰3個相干處理周期內至少有2次在同一個距離門上檢測到目標,確認為相對應距離單元上有目標輸出,這時保留相應單元上最新的幅值作為檢測結果。
          程序流程如圖6所示。分別從LINK2,LINK3,LINK1,LINK5接收4個距離段上的檢測結果,把4段的結果合并在一起,形成整個距離段完整的結果。然后和以前2次檢測的結果進行M/N檢測,最后把M/N檢測的結果通過LINK0發往接口板。
        四段的輸入數據格式相同先是4個字的模式,逐個字地檢測到目標的個數,接著是各目標單元信息。存儲量不大,選取了內存較小的ADSP21062。
        4.3 運算量、內存、通訊資源占用情況
          在CFAR檢測中,包括零多卜勒通道各距離門利用相應波位的雜波圖作為門限進行檢測,剩余濾波器在距離上的單元平均恒虛警檢測。其運算量主要集中在單元平均恒虛警中,這里除了第1個距離單元兩端各項需經L個數據平均外,在第2個距離門后的其余距離單元檢測時,前后各L個數平均只需加上1個新移進的值,減去移出的值即可,這樣對每個距離門檢測來說只需約8條指令。匯總部分運算量不大。由于匯總要處理前一級眾多DSP芯片數據,因此此處數據通信充分利用互連網絡的各通訊支路進行數據轉發,其前一級運算部分在緩存及時間上要給此部分留有一定余量。
          CFAR一級在32點MTD模式下存儲壓力較大,因此采取了以下措施:輸入/輸出以及中間結果都是短字定點格式,在開始CFAR檢測前要先轉換成長字的浮點格式進行各種運算,最后把CFAR結果經過定浮點轉換作為16 B定點格式保存下來,其余部分的運算也需要先把CFAR結果轉換成32 B浮點格式,不過是在所調用的子程序內部完成的。作為運算的中間結果,目標單元幅值的存儲使用了循環尋址方式,因為一批數據在一邊被進行處理的同時一邊會被新來的數據覆蓋掉,這一過程是以距離門的順序進行的,而CFAR檢測也是沿著距離門滑動的,在對第18號距離門檢測時,第0號距離門的數據就沒有任何用途了,這樣就可以把第18號距離門的幅值存到第0號距離門的位置。同樣地第19號距離門的幅值也可以存到第1號距離門的位置,從而構成了循環尋址存儲方式。其他一些中間結果也采用了這種存儲方式,有效地節省了內存資源。
          CFAR一級包括單元平均恒虛警檢測和幅相計算2部分,運算量主要集中在前一部分,占90%左右,到后面的數據量已經大大減少了。匯總一級的運算量主要集中在M/N檢測部分,但總的運算量不大。
        5 結語
          本文討論了一種恒虛警檢測的并行處理系統的設計,選取通用并行DSP作為核心處理單元,通過高速數據通信口構成了松耦合的分布式并行系統,在處理單元數目較多的情況下獲得了很高的性能。結合雷達信號處理的特點對任務進行分配,運用數據流驅動方式增強了信號處理系統的通用性和易維護性,整個系統具有良好的可編程、可擴展和升級能力。


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 蒲江县| 永川市| 政和县| 广州市| 静宁县| 肇庆市| 扬中市| 陆川县| 滕州市| 内黄县| 白水县| 洱源县| 福泉市| 汉中市| 达孜县| 苍溪县| 保康县| 浙江省| 南开区| 青海省| 微博| 民勤县| 十堰市| 杭锦后旗| 翼城县| 都匀市| 沭阳县| 稻城县| 四子王旗| 江安县| 台东市| 锦州市| 饶平县| 车险| 梧州市| 云阳县| 和硕县| 前郭尔| 巨鹿县| 佛山市| 郧西县|