基于DSP和FPGA的水下目標(biāo)定位系統(tǒng)的信號(hào)處理模塊設(shè)計(jì)
摘要:針對(duì)水下目標(biāo)的主被動(dòng)定位功能需求和具體的技術(shù)指標(biāo)要求,結(jié)合數(shù)字信號(hào)處理器(DSP)和現(xiàn)場(chǎng)可編程門陣列(FPGA)的各自優(yōu)勢(shì),設(shè)計(jì)了基于DSP及FPGA的數(shù)字信號(hào)處理模塊,以此處理模塊為硬件平臺(tái),編程實(shí)現(xiàn)了相應(yīng)的時(shí)延估計(jì)應(yīng)用程序,并進(jìn)行了實(shí)驗(yàn)驗(yàn)證,實(shí)驗(yàn)結(jié)果表明此信號(hào)處理系統(tǒng)時(shí)延估計(jì)精度高,滿足了目標(biāo)定位的要求。
隨著水下武器和水下航行器等水下目標(biāo)的快速發(fā)展,對(duì)其進(jìn)行定位和跟蹤從而檢驗(yàn)其性能的試驗(yàn)具有非常重要的意義,這也是水下目標(biāo)試驗(yàn)場(chǎng)的重要工作內(nèi)容。水下試驗(yàn)場(chǎng)的定位系統(tǒng)根據(jù)被測(cè)目標(biāo)是否加裝合作聲信標(biāo),可以分為主動(dòng)和被動(dòng)兩種方式。主動(dòng)定位方式需要在水下目標(biāo)上加裝聲信標(biāo),定位系統(tǒng)整個(gè)試驗(yàn)系統(tǒng)的同步時(shí)序控制下,通過接收及處理水下目標(biāo)聲信標(biāo)發(fā)射的已知脈沖信號(hào)來實(shí)現(xiàn)目標(biāo)的定位及跟蹤;被動(dòng)方式則僅通過接收及處理水下目標(biāo)運(yùn)動(dòng)產(chǎn)生的輻射噪聲,實(shí)現(xiàn)水下目標(biāo)的定位及跟蹤。對(duì)于水下目標(biāo)定位系統(tǒng)的信號(hào)處理模塊而言,兩種定位方式的差異在于因系統(tǒng)的接收信號(hào)頻率及信號(hào)體制不同而導(dǎo)致的系統(tǒng)硬件規(guī)模和處理性能不同。1 系統(tǒng)的硬件設(shè)計(jì) 對(duì)于主動(dòng)定位系統(tǒng).水下目標(biāo)的合作聲信標(biāo)發(fā)射的信號(hào)頻率可達(dá)100kHz,因此為了滿足工程應(yīng)用所需的測(cè)量精度,信號(hào)處理模塊的采樣頻率應(yīng)不小于500 kHz。但是由于主動(dòng)定位系統(tǒng)是在統(tǒng)一的同步時(shí)序下工作的,因此每個(gè)處理模塊只要獲得接收信號(hào)相對(duì)同步信號(hào)的時(shí)延即可,也就是說,每個(gè)處理模塊只需進(jìn)行一路接收信號(hào)與不同發(fā)射信號(hào)的時(shí)延估計(jì)。 而對(duì)于被動(dòng)定位系統(tǒng),目標(biāo)輻射噪聲的頻率范圍主要位于100 Hz~2kHz,因此信號(hào)處理模塊的采樣頻率不小于10 kHz就可以滿足要求。但是由于被動(dòng)定位系統(tǒng)沒有統(tǒng)一的同步時(shí)序,因此只能通過估計(jì)不同接收信號(hào)的相對(duì)時(shí)延來進(jìn)行目標(biāo)的方位估計(jì),也就是說,每個(gè)處理模塊所需進(jìn)行處理的接收信號(hào)不小于2個(gè)通道。 深入分析主/被動(dòng)定位方法的信號(hào)體制及相應(yīng)的處理方法可知,主動(dòng)定位系統(tǒng)所需的信號(hào)處理模塊的硬件規(guī)模和性能要求較高,因此信號(hào)處理模塊的硬件設(shè)計(jì)以主動(dòng)定位系統(tǒng)的性能指標(biāo)為主、兼顧被動(dòng)定位系統(tǒng)的指標(biāo)要求。1.1 模塊的硬件功能及組成本文設(shè)計(jì)的數(shù)字信號(hào)處理模塊的主要技術(shù)指標(biāo)包括:1)輸入模擬信號(hào):通道數(shù)為3路,信號(hào)幅度為-10~10 V,頻率為100Hz~30kHz;2)通訊接口:RS422口及RS232接口各1個(gè),自定義的通用IO口16位;3)輸出模擬信號(hào):通道數(shù)為2路,信號(hào)幅度為-10~10 V;4)LCD顯示屏:彩色觸摸屏;5)運(yùn)算能力:實(shí)時(shí)進(jìn)行水下目標(biāo)定位。 根據(jù)水下定位系統(tǒng)的功能需求和上述的指標(biāo)要求,采用基于DSP+FPGA的硬件架構(gòu)進(jìn)行數(shù)字信號(hào)處理模塊的設(shè)計(jì),如圖1所示。其中FPGA實(shí)現(xiàn)系統(tǒng)的時(shí)序控制、各種接口轉(zhuǎn)換、數(shù)字信號(hào)預(yù)處理(如FIR濾波、FFT運(yùn)算),而DSP實(shí)現(xiàn)系統(tǒng)的副本相關(guān)或互相關(guān)、包絡(luò)檢波等信號(hào)處理任務(wù);這樣既充分利用了FPGA的高度并行性和實(shí)時(shí)性,又充分使用了DSP的信號(hào)處理能力,使系統(tǒng)結(jié)構(gòu)靈活、通用性強(qiáng)、運(yùn)算能力強(qiáng)度,具有較好的工程應(yīng)用參考價(jià)值。1.2 硬件系統(tǒng)的主要器件選型
1.2.1 信號(hào)處理器 數(shù)字信號(hào)處理(Digital Signal Processing,DSP)的主要任務(wù)是完成水下目標(biāo)的方位估計(jì)。因此選擇DSP時(shí)首先考慮它的運(yùn)算能力,在滿足運(yùn)算速度要求的前提下,要求DSP的功耗小、外圍電路設(shè)計(jì)簡(jiǎn)單,軟件開發(fā)容易。目前可供選擇的DSP很多,包括TI公司的C2000系列、C5000系列、C6000系列,AD公司的BlackFin系列、SHARC系列、TigerSHARC系列等等,每款DSP都有其不同的特點(diǎn)。 針對(duì)本文設(shè)計(jì)的定位系統(tǒng),綜合考慮各因素,選用TI公司的TMS320VC5509A作為系統(tǒng)的DSP。TMS320VC5509A是一款16位定點(diǎn)DSP,其片內(nèi)的128 Kx16 bit SRAM空間可滿足算法的存儲(chǔ)空間需求;內(nèi)核200MHz的時(shí)鐘頻率可滿足系統(tǒng)的實(shí)時(shí)性要求;4個(gè)外部存儲(chǔ)器片選信號(hào)便于通過FPGA,實(shí)現(xiàn)DSP與其他在板外設(shè)的數(shù)據(jù)交流和通信;5個(gè)外部中斷輸入可滿足外部設(shè)備對(duì)DSP的突發(fā)請(qǐng)求。1.2.2 FPGA 現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)的功能是實(shí)現(xiàn)系統(tǒng)的時(shí)序控制,并完成外部設(shè)備與DSP的接口轉(zhuǎn)換,同時(shí)為了提高系統(tǒng)的實(shí)時(shí)性,實(shí)現(xiàn)定位系統(tǒng)的數(shù)字信號(hào)預(yù)處理,因此本文的FPGA選擇主要考慮FPGA的片內(nèi)存儲(chǔ)器容量、乘法器數(shù)量、宏單元數(shù)量、性價(jià)比及開發(fā)的方便性等。目前可供選用的FPGA很多,根據(jù)定位系統(tǒng)的具體需求和研發(fā)人員的開發(fā)經(jīng)驗(yàn),選用Altera公司的EP2C35F484作為系統(tǒng)的FPGA,用于實(shí)現(xiàn)其相應(yīng)的功能。EP2C35F484內(nèi)部具有33216個(gè)邏輯單元(LEs),能夠滿足系統(tǒng)的各種時(shí)序控制;483 840 bits的RAM容量可以為DSP提供足夠大的輸入輸出緩存,配合35個(gè)的乘法器,可以方便地實(shí)現(xiàn)數(shù)字信號(hào)預(yù)處理;4個(gè)PLL可以很方便地為系統(tǒng)產(chǎn)生不同的時(shí)鐘信號(hào)或時(shí)序;322個(gè)用戶I/O引腳數(shù)配合豐富的Les便于實(shí)現(xiàn)各種輸入輸出接口轉(zhuǎn)換。
1.2.3 模數(shù)及數(shù)模轉(zhuǎn)換器 模數(shù)及數(shù)模轉(zhuǎn)換器的選擇需同時(shí)考慮轉(zhuǎn)換頻率和分辨率。因此根據(jù)系統(tǒng)對(duì)輸入模擬信號(hào)的精度要求,選擇分辨率為16位的AD7665作為系統(tǒng)的模數(shù)(A/D)轉(zhuǎn)換器。AD7665的最高采樣頻率可達(dá)570 kS/s,而且其允許的輸范圍為±10 V。滿足系統(tǒng)的動(dòng)態(tài)范圍;其數(shù)字輸出可采用串行或并行接口方式,便于與DSP或FPGA接口。 根據(jù)系統(tǒng)對(duì)輸出模擬信號(hào)的精度要求,選用18位的AD5545作為系統(tǒng)的數(shù)模轉(zhuǎn)換器(D/A)。AD5545是電流型輸出型的雙路D/A轉(zhuǎn)換器。由于AD5545采用串行接口方式接收控制器的數(shù)據(jù),因此AD5545的幾何尺寸極小,便于高度集成。1. 2. 4 存儲(chǔ)器 作為一個(gè)可以獨(dú)立運(yùn)行的系統(tǒng),總需要一定容量的非易失性存儲(chǔ)器,用于存儲(chǔ)系統(tǒng)的指令代碼和缺省的系統(tǒng)參數(shù),因此本模塊采用閃存(FLASH存儲(chǔ)器)AMD29LV256M進(jìn)行系統(tǒng)的非易失存儲(chǔ)器設(shè)計(jì)。AM29LV256M的容量為256 MBit,可以方便地構(gòu)成16 Mx16-Bit或者32 Mx8-Bit的存儲(chǔ)器,滿足代碼的固化需求。另外由于采用LCD液晶屏作為系統(tǒng)的顯示器,而現(xiàn)有的LCD顯示器沒有顯示緩存,同時(shí)為了增加系統(tǒng)的通用性和靈活性,便于進(jìn)行大數(shù)據(jù)量的數(shù)據(jù)處理,系統(tǒng)需設(shè)計(jì)大容量的靜態(tài)存儲(chǔ)器(SRAM)。本模塊選用CY7C1061AV33進(jìn)行系統(tǒng)的外部存儲(chǔ)器擴(kuò)展。CY 7C1061AV33容量1 M×16-Bit,訪問速度快。1.3 系統(tǒng)的硬件電路設(shè)計(jì) 為了便于擴(kuò)展,本模塊的設(shè)計(jì)分3大部分進(jìn)行:模塊的供電、DSP最小系統(tǒng)以及以FPGA為核心的各種接口。 模塊的供電采用LM2676-ADJ、TPS79501、LT1584CT3.3,將輸入的12 V轉(zhuǎn)換成DSP和FPGA所需要的5、3.3、1.6、1.2 V,并通過控制電源芯片的使能靖實(shí)現(xiàn)DSP的上電順序。 DSP最小系統(tǒng)設(shè)計(jì)主要包括復(fù)位電路、時(shí)鐘電路、調(diào)試接口等,其中復(fù)位電路采用Max706結(jié)合相應(yīng)的外部器件實(shí)現(xiàn)上電復(fù)位、手動(dòng)復(fù)位、看門狗復(fù)位、DSP內(nèi)核電源電壓過低復(fù)位、通過上位機(jī)復(fù)位等;時(shí)鐘電路的設(shè)計(jì)結(jié)合DSP或者FPGA的片內(nèi)PLL、采用高精度、高穩(wěn)定度的外部有源晶振實(shí)現(xiàn),并盡量降低外部晶振的頻率,模塊中的晶振頻率為20MHz。而調(diào)試接口的設(shè)計(jì)由于需要經(jīng)常插拔調(diào)試接口,因此主要考慮抗靜電因素,通過在每根信號(hào)線上并聯(lián)瞬態(tài)電壓抑制器(TVS)實(shí)現(xiàn);另外,為了進(jìn)行較遠(yuǎn)距離的調(diào)試,進(jìn)行了調(diào)試接口的再驅(qū)動(dòng)及緩沖。 以FPGA為核心的各種接口設(shè)計(jì)包括存儲(chǔ)器接口、外部中斷接口、AD接口、DA接口、串行接口、LCD顯示器接口等。為了便于擴(kuò)展,DSP的EMIF信號(hào)線全部接到FPGA,并將FLASH存儲(chǔ)器(AM29LV256M)和SRAM存儲(chǔ)器(CY7C1061AV33)先通過FPGA再接到DSP的EMIF空間。也就是說,外部設(shè)備包括存儲(chǔ)器可方便地映射到DSP不同的存儲(chǔ)器空間。DSP的EMIF空間的缺省的配置為:CEO用于訪問FPGA的片內(nèi)SRAM(作用輸入及輸出緩沖的存儲(chǔ)器):CE1用于訪問DSP的上電程序加載空間,與FLASH存儲(chǔ)器連接;CE2用于訪問SRAM空間。外部中斷接口用于將可選的多個(gè)外部中斷源有選擇的接到DSP的中斷輸入;缺省的配置為:INT0用于響應(yīng)外部的同步,INT1用于RS422通信中斷,INT2用于RS232通信中斷;INT3、INT4為用戶備用中斷。AD接口首先將串行的采樣數(shù)據(jù)轉(zhuǎn)換成并行的數(shù)據(jù)并存放于FPGA的片內(nèi)緩存或者直接將并行的采樣數(shù)據(jù)存放于FPGA的片內(nèi)緩存,用于FPGA的數(shù)據(jù)預(yù)處理(如FIR、FFT等),然后再將預(yù)處理的結(jié)果送到輸出緩存。DA接口則在DSP的控制下、將DA輸出緩存中的并行數(shù)據(jù)轉(zhuǎn)換成AD5545所需要的串行接口數(shù)據(jù),實(shí)現(xiàn)DA變換。串行接口則按照不同接口的收發(fā)協(xié)議,組織及收發(fā)數(shù)據(jù),實(shí)現(xiàn)與不同設(shè)備的通信。LCD顯示接口實(shí)際上是一個(gè)連續(xù)讀寫顯存的接口,因此在FPGA內(nèi)部設(shè)計(jì)了一個(gè)專門的讀寫顯存控制器(簡(jiǎn)稱LCD控制器),可以獨(dú)立進(jìn)行顯示、控制LC D;但是為了便于DSP及時(shí)更新顯示內(nèi)容,在DSP和LCD控制器之間設(shè)計(jì)了一套仲裁電路,解決它們?cè)谧x寫顯存時(shí)的沖突。2 應(yīng)用程序設(shè)計(jì) 時(shí)延估計(jì)是聲源定位算法的關(guān)鍵內(nèi)容。為了進(jìn)行時(shí)延估計(jì),首先基陣接收目標(biāo)信號(hào)模擬信號(hào),再經(jīng)過采集、依據(jù)不同方法進(jìn)行處理,得到目標(biāo)信號(hào)到達(dá)各個(gè)陣元的相對(duì)時(shí)延。一種廣義互相關(guān)時(shí)延估計(jì)法(GCC)的流程圖如圖2所示。其中濾波在FPGA內(nèi)部采用FIR實(shí)現(xiàn),而FFT則可以由FPGA實(shí)現(xiàn)。也可由DSP實(shí)現(xiàn)。3 實(shí)驗(yàn) 輸入信號(hào)為兩路CW信號(hào),信號(hào)頻率10kHz,脈寬1ms,兩路時(shí)延0.2 ms,信噪比為-3 dB,A/D的采樣頻率為300 kHz,則信號(hào)脈寬有300個(gè)點(diǎn),估計(jì)時(shí)延峰值應(yīng)該在偏離中心60點(diǎn)處。按照?qǐng)D2的流程進(jìn)行處理,采樣寬度為512個(gè)點(diǎn),廣義互相關(guān)時(shí)延估計(jì)效果如圖3所示。由圖3可知,相關(guān)峰位于第455采樣點(diǎn)處,即時(shí)延估計(jì)為0.19 ms,與給定的時(shí)延基本一致。4 結(jié)論 本文研究的信號(hào)處理模塊設(shè)計(jì)靈活性好、擴(kuò)展性強(qiáng),適合水下目標(biāo)主被動(dòng)定位系統(tǒng)的數(shù)據(jù) 采集及處理,也可用于信號(hào)處理領(lǐng)域進(jìn)行實(shí)時(shí)信號(hào)處理。本文所設(shè)計(jì)的以FPGA為核心的信號(hào)處理模塊具有較好的工程應(yīng)用參考價(jià)值。