基于FPGA的三種信號處理器的集成設(shè)計
引 言
已在數(shù)據(jù)通信、電信、無線通信、消費類產(chǎn)品、醫(yī)療、工業(yè)和軍事等各應(yīng)用領(lǐng)域當(dāng)中占據(jù)重要地位。推出采用90nm工藝的大容量Stratix II系列具有創(chuàng)新的自適應(yīng)體系,即自適應(yīng)邏輯模塊(ALM),使其在單個器件中具有雙倍多的邏輯容量(多達(dá)71760個ALM),比第一代Stratix器件速度快50%,效率提高25%。公司提供的Quartus II軟件開發(fā)工具能夠方便地完成設(shè)計輸入、、仿真,同時還為用戶提供了豐富的宏庫、LPM (參數(shù)化模塊庫)和IP核,方便了軟件設(shè)計。正是由于Stratix II系列FPGA以上的諸多優(yōu)點,才使得我們能夠?qū)崿F(xiàn)三種信號處理器的單芯片集成設(shè)計,不但提高了系統(tǒng)集成度,減小了體積和成本,同時設(shè)計的靈活性、可靠性和實用性也大為加強(qiáng)。
圖1所示的是動目標(biāo)檢測雷達(dá)信號處理機(jī)的主要組成部分,虛線中的處理模塊是本系統(tǒng)要完成的工作。其中,陣列由16個陣元組成,脈沖重復(fù)周期為1000Hz,每個脈沖回波采樣1024次,故而形成1M的數(shù)據(jù)率,脈沖積累數(shù)為128個。陣元信號AD采樣后送入脈沖壓縮處理器進(jìn)行匹配濾波,把寬脈沖變成窄脈沖,然后經(jīng)過DBF將16路信號合成6個波束通道信號,接收某些特定方向的信號,再經(jīng)由MTD和進(jìn)行動目標(biāo)檢測和恒虛警判別后,把目標(biāo)的距離和速度信息送給后續(xù)的算法處理,最后將結(jié)果送出給雷達(dá)顯示系統(tǒng)。本系統(tǒng)的硬件由單片F(xiàn)PGA加外部三組和一片組成,其中,高性能的FPGA保證了硬件系統(tǒng)的簡潔,由于DBF和MTD處理后的矩陣形式的數(shù)據(jù)都不能直接送入下一級處理,必須經(jīng)由外部進(jìn)行過程存儲,通過讀寫地址的變換送入一級。中保存一些慢速變化的數(shù)據(jù),在本系統(tǒng)中,它保存了一張16位的對數(shù)查找表。
波束形成器的原理和實現(xiàn)
常見波束形成器的原理如圖2,采用數(shù)字方法對陣列的陣元接收信號加權(quán)處理形成波束,陣列天線陣元的方向圖是全方向的,陣列的輸出經(jīng)過加權(quán)求和后,將陣列接收方向增益聚集在一個方向上,相當(dāng)于形成了一個波束,只要信號處理的速度足夠快,就可以產(chǎn)生不同指向的波束。本系統(tǒng)要形成六個波束,用x [ r,t ] (1≤r≤16,t≥1)表示第r個陣元的時間軸上第t個復(fù)信號,用y [ s,t ] (1≤s≤6,t≥1)表示第s個波束的時間軸上第t個復(fù)信號,權(quán)值用w(6316的矩陣)表示,它們的關(guān)系如式(1)所示。
波束形成器的功能實現(xiàn)框圖如圖3,經(jīng)過脈壓處理的速率16M的復(fù)信號送入能存儲16×2個數(shù)據(jù)的乒乓RAM中,兩部分輪換讀寫,同一時刻的16個陣元的復(fù)信號依次進(jìn)入乒乓RAM的一部分;權(quán)值存放在內(nèi)部RAM中,由公式1可以看出,共需16×6個復(fù)權(quán)值,這六組權(quán)值和同一時刻的16個陣元信號送入乘加器中,依次進(jìn)行乘加運(yùn)算,顯然同一時刻的16個陣元信號需要重復(fù)送入6次,乘加器以16次乘加計算為一個周期,鎖存輸出一個結(jié)果,同時清空內(nèi)部寄存;最后形成一個6M數(shù)據(jù)率的波束信號通過控制器輪換寫入外部的兩組SRAM中,為保證系統(tǒng)的實時性,每組SRAM都有單獨的地址、數(shù)據(jù)和控制總線與FPGA相聯(lián),以乒乓形式進(jìn)行讀寫操作,考慮到后續(xù)MTD處理器的工作需要,第組SRAM需要積累128個脈沖周期的信號數(shù)據(jù)。地址產(chǎn)生器根據(jù)需要產(chǎn)生各個模塊的地址信號。
由以上分析看出,波束形成器的核心部分復(fù)數(shù)乘法器僅占用了一個內(nèi)部的DSP功能塊,配置成4個16×16的乘法器,資源占用很低,另一方面根據(jù)實時處理需要乘法器僅需工作在96M頻率上,遠(yuǎn)低于其工作極限(370M以上),足以保證其工作的穩(wěn)定性和可靠性。
動目標(biāo)檢測器的原理和實現(xiàn)
作為雷達(dá)數(shù)字信號處理核心部分的動目標(biāo)檢測器的基本原理是應(yīng)用了電磁波的多譜勒效應(yīng),和雷達(dá)之間有相對運(yùn)動(速度v)的目標(biāo)所反射的雷達(dá)回波信號在雷達(dá)接收端會產(chǎn)生大小為2v/λ的頻率偏移,稱為多譜勒頻率。MTD 就是采用匹配的方法在復(fù)雜的雷達(dá)回波中檢測出目標(biāo)的多譜勒頻率,并以此來確定動目標(biāo)的距離、速度和方位。其中匹配是一組不同中心頻率的( FIR形式或FFT形式),F(xiàn)FT方法雖然運(yùn)算量小,但由于運(yùn)算點數(shù)較少而使此優(yōu)點不十分明顯,且其靈活性差,止帶衰減小,對雜波抑制能力差,常不能滿足要求,而FIR形式具有靈活性高、運(yùn)算控制簡單、可根據(jù)雜波設(shè)計達(dá)到自適應(yīng)和雜波抑制能力強(qiáng)等優(yōu)點,得到廣泛應(yīng)用。經(jīng)常采用的FIR形式的濾波是一種適用于Kalmus處理的全共軛對稱形式的運(yùn)算,在這種算法中,若濾波器組共有N個濾波器,則第k個濾波器( k≤N2- 1)的權(quán)系數(shù)與第N-k-1個濾波器的權(quán)系數(shù)共軛對稱。這樣,由式( 2)可以看出權(quán)系數(shù)的存儲量減少了一半,實際乘法的計算量也減少了一半。
本系統(tǒng)要對六個波束分別進(jìn)行MTD運(yùn)算,每個濾波器組有128個濾波器,由于前端脈沖積累數(shù)為128個,故每組濾波器有128個權(quán)值與其相對應(yīng)進(jìn)行乘加運(yùn)算。用y [ s,t ] (1≤s≤6)表示第s個波束的第t個復(fù)信號,用z[ s,u,N] (1≤s≤6)表示第s個波束第u通道第n個輸出值,權(quán)值用w表示,它們的關(guān)系如式( 3)所示。
六波束動目標(biāo)檢測器的功能實現(xiàn)框圖如圖3,存在外部SRAM中的數(shù)據(jù)以12M速度讀取存入六組乒乓RAM中,每組可以存放128×2個復(fù)數(shù),用于存放單個波束128次脈沖積累中相同距離門的128個數(shù)據(jù),設(shè)每組分為上下兩部分,存入順序如下:1 組上,2組上,3組上,4組上,5組上,6組上,1組下,2組下,3組下,4組下,5組下,6組下,1組上,..。
這樣六個波束的多通道濾波器可以并行處理,區(qū)別僅是啟動時間和結(jié)束時間不同。每個多通道濾波器由一個復(fù)數(shù)乘加器和一塊用于存放權(quán)值的內(nèi)部RAM構(gòu)成,由于前面討論過的共軛對稱性,內(nèi)部權(quán)值共需存儲64×128個,這些權(quán)值依次與內(nèi)部乒乓RAM中準(zhǔn)備就緒的128個復(fù)數(shù)在乘加器中進(jìn)行乘法和加減法運(yùn)算,每組內(nèi)部RAM中的128個復(fù)數(shù)需要重復(fù)讀取64次,乘加器以128次乘加計算為一個周期,鎖存輸出對稱通道的兩個結(jié)果,同時清空內(nèi)部寄存;每個波束的多通道濾波器輸出速度均為2M,通過多路選擇器分時送入求模器,最后經(jīng)SRAM控制器以12M的速度寫入外部SRAM。求模算法可用近似公式(4)求出:
這一近似算法的最大誤差為1.379% ,在軟件設(shè)計上主要用到了比較器、移位器和加減法器。
由以上分析看出,六波束動目標(biāo)檢測器的核心部分復(fù)數(shù)乘法器共占用了六個內(nèi)部的DSP功能塊,配置成24個16×16的乘法器,資源占用很低,另一方面根據(jù)實時處理需要乘法器僅需工作在128M頻率上,遠(yuǎn)低于其工作極限( 370M以上),足以保證其工作的穩(wěn)定性和可靠性。另外,MTD部分處理一批數(shù)據(jù)(128個脈沖積累)的時間僅為前端積累時間128ms的一半,這樣,外部SRAM就不需要占用兩套總線對后續(xù)數(shù)據(jù)做乒乓處理了,留出的另一半時間用于恒虛警檢測器從SRAM中讀取積累數(shù)據(jù),不僅減少了FPGA外部I/O口的占用量和外部SRAM的需求容量,而且也減小了輸出延遲,提高實時性能表現(xiàn)。
恒虛警檢測器的原理和實現(xiàn)
( constant )處理技術(shù),用于在雜波環(huán)境變化時,防止雷達(dá)的虛警概率發(fā)生太大的變化,同時保證一定的檢測概率,是一種對雜波問題很在效的處理技術(shù),可以隨本地噪聲能量信息設(shè)置門限。處理方法可分為時間法和空間法兩大類,第一類方法采用了熱噪聲估值門限和時間估值門限來控制虛警概率,在非雜波區(qū),用熱噪聲估值來構(gòu)成門限估值器,因此消除了CFAR損失。第二類方法包括平面平均相減組合式CFAR及各種距離平均CFAR處理器,如單元平均,選小單元平均,選大單元平均等,它們的共同特點是利用鄰近檢測單元的某些參考單元的采樣值對檢測單元內(nèi)的雜波強(qiáng)度進(jìn)行估計,并據(jù)此形成檢測門限,適用于空域比較平穩(wěn)、時域變化比較劇烈的雜波環(huán)境。在這里我們選用了選大單元平均( GO-CFAR)恒虛警方法,原理如圖5所示。
恒虛警檢測器的功能實現(xiàn)框圖如圖6所示。SRAM控制器將存在外部SRAM中的數(shù)據(jù)按波束號、濾波器號、距離號順序依次經(jīng)過對數(shù)處理后送入GO-CFAR進(jìn)行檢測,對每個波束、每個濾波器的1024個距離點上判 別目標(biāo)的有無( 0或1),由圖4所示可以看出,GO-CFAR檢測模塊對大量的相鄰數(shù)據(jù)進(jìn)行了寄存,因而需要用控制器在每個濾波器1024個信號檢測完成后進(jìn)行即時清空,以利于下一個濾波器數(shù)據(jù)的進(jìn)入,控制器還要負(fù)責(zé)GO-CFAR檢測模塊運(yùn)行、停止和數(shù)據(jù)進(jìn)入的控制。在數(shù)據(jù)檢測的同時,計數(shù)器根據(jù)檢測模塊系統(tǒng)時鐘運(yùn)行情況進(jìn)行三種計數(shù),這三個計數(shù)器的計數(shù)情況對應(yīng)當(dāng)前檢測單元的波束號( 0-5)、濾波器號(0-127)、距離號(0-1023),當(dāng)檢測模塊判斷出有目標(biāo)(輸出邏輯 1 )時,三個計數(shù)器的計數(shù)值被數(shù)據(jù)合成器鎖存并輸出。最后合成的數(shù)據(jù)為32位,其中高8位以無符號數(shù)形式表示波束信息(范圍0~5),中8位以無符號數(shù)形式表示濾波器信息(范圍0~127);低16位以無符號數(shù)形式表示距離信息(范圍0~1023)。這樣處理的數(shù)據(jù)輸出結(jié)果對后續(xù)算法的操作實施非常有利。
系統(tǒng)性能分析和改進(jìn)
縱觀整個系統(tǒng),其硬件結(jié)構(gòu)較為簡單。由于FP2GA的IO資源豐富,外部SRAM總共有三套32位數(shù)據(jù)總線與其相聯(lián),使得FPGA讀寫外部存儲器的速度需求都在20M以內(nèi),因而十分便于硬件實施,避免了很多高速信號處理板設(shè)計時要充分考慮的電磁兼容性和抗干擾問題。需要實時高速信號處理的部分都在FP2GA內(nèi)部完成,這些優(yōu)點都是由以下幾個方面對其資源的充分利用所保證的,首先整個設(shè)計需要的各種不同的時鐘信號,比較典型的有16M,12M,96M,128M,2M,6M等,對FPGA內(nèi)部PLL的充分利用使我們能毫不費力的產(chǎn)生如此多不同頻率和數(shù)目的高穩(wěn)定、低時延的內(nèi)部時鐘信號,同時外部時鐘源的數(shù)目可能只有一兩個。其次,作為運(yùn)算核心的復(fù)數(shù)乘法器需要靈活高速的輸入數(shù)據(jù)緩沖,對FPGA內(nèi)部嵌入式RAM塊的使用使這一點得到了有力的保證,在系統(tǒng)中,它們被大量的配置成不同容量的乒乓RAM,這些乒乓RAM都具有不同的讀寫時鐘,使得慢速寫高速讀的操作可以高效完成,例如在MTD濾波器中配置的乒乓RAM寫入為12M,讀出為128M;同時,另一些內(nèi)部嵌入式RAM塊被配置成為存儲固定權(quán)值用的高速大容量RAM,因為這些數(shù)據(jù)最高讀取速度為128M,若放在FPGA片外則硬件實施的復(fù)雜性大為加強(qiáng)。這些數(shù)值固定的權(quán)值也不需要額外的存儲,它們在軟件操作時以RAM初值表的形式輸入,通過下載與FPGA程序一同存儲在配置芯片中,上電配置時自動下載到相應(yīng)的硬件單元。
最后,系統(tǒng)的高度集成不僅緣于內(nèi)部大量的自適應(yīng)邏輯模塊使其比上一代產(chǎn)品在邏輯容量上成倍增加,而且有賴于大量硬件DSP功能塊的使用,這些功能塊能方便地實現(xiàn)乘法器而不占用邏輯資源。傳統(tǒng)上用邏輯單元搭建一個32×32的復(fù)數(shù)乘法器需要近一千個邏輯單元,照此計算本系統(tǒng)共使用了7個復(fù)乘器,用DSP功能塊實現(xiàn)節(jié)省了七千個左右的邏輯單元,同時在計算速度上也大為提高。
雖然FPGA內(nèi)部嵌入式硬件資源減化了部分軟件工作,但由于三種處理器的集成,帶來了大量的接口操作和數(shù)據(jù)同步的工作,因此,軟件工作仍是本系統(tǒng)設(shè)計過程的難點,具體表現(xiàn)在兩方面,首先,內(nèi)外存儲器地址操作復(fù)雜。三個處理器對一批128個脈沖積累數(shù)據(jù)操作的順序和方式不一樣,需要外部SRAM進(jìn)行暫存,因而在讀和寫過程中要變化地址操作以實現(xiàn)數(shù)據(jù)傳遞順序的改變,地址操作帶來了較大的工作量;另外內(nèi)部乒乓RAM的讀寫時鐘相差大,讀寫地址也要精心處理。其次,控制時序復(fù)雜。動目標(biāo)檢測器和恒虛警檢測器的工作只用了一半的數(shù)據(jù)積累時間,因此需要頻繁的啟動和停止,同時恒虛警檢測器內(nèi)的GO-CFAR檢測模塊也需要頻繁的啟動和停止,對控制時序的要求很高,形成大量的軟件工作。
本系統(tǒng)還存在以下兩方面可以改進(jìn)的方向以適應(yīng)更大數(shù)據(jù)量和更高實時處理速度要求的情況,一是將外部存儲器由SRAM換成,這將帶來存儲容量上的突破,適用脈沖積累數(shù)提高和DBF合成波束數(shù)目增多的情況。二是將對數(shù)表由外部的移至FPGA內(nèi)部,從而把對數(shù)操作的速度由原來的限制在十多兆提高到上百兆,這樣以來對數(shù)操作將不再是系統(tǒng)的速度瓶頸,適用于更高速實時處理要求時的情況。
結(jié) 論
在使用陣列接收天線的動目標(biāo)檢測雷達(dá)系統(tǒng)中,數(shù)字波束形成器、動目標(biāo)檢測器和恒虛警檢測器常常同時出現(xiàn)并依次對接收信號進(jìn)行處理,本文基于高性能FPGA(的Stratix II系列)介紹了一種三者結(jié)合的單芯片集成設(shè)計方案,這一系統(tǒng)集成度高,體積小,而且設(shè)計的靈活性、可靠性和實用性較以往大為加強(qiáng),同時它也能很方便的移植到其它雷達(dá)設(shè)計中,只需稍作改進(jìn)就能適用于更高性能的算法實現(xiàn)。本方案已經(jīng)應(yīng)用到某型號地面監(jiān)視雷達(dá)項目中,收到良好效果。