基于并行相關的實時時差估計器設計與實現
摘 要: 從相關時差估計的基本原理出發(fā),提出了一種并行時域相關結構,基于這種并行結構設計實現了一種簡單高效的時差估計器。與傳統(tǒng)頻域相關時差估計器相比,這種時差估計器的主要優(yōu)點是提高了運算效率,運算周期大為縮短,可以滿足實時高精度時差估計的需求,同時結構簡單,硬件資源開銷小,易于設計實現。實際測試結果驗證了上述結論。
關鍵詞:無源定位;到達時間差(TDOA);互相關;并行結構
無源時差定位系統(tǒng)利用多個觀察站接收目標輻射源的信號,通過估計各個觀察站接收信號之間的到達時間差,完成對目標輻射源的定位,具有作用距離遠、隱蔽性強、定位精度高等優(yōu)點。通常是通過對各個接收站的中頻信號進行互相關,比較接收信號之間的相似性來得到高精度的到達時間差估計結果[1-2]。
對于無源時差定位中所處理的雷達信號,一般可以檢測出脈沖的到達時間,也就大體知道了到達時間差[3],從而可通過控制相關序列的采樣時機,只求解相關函數相關峰附近的相關值就可獲得時差信息。而相關函數的計算一般利用FFT/IFFT快速算法進行頻域相關,頻域相關會同時計算全部相關信息,在已知粗略時差范圍時效率并不高(對于長度為N的采樣序列,用頻域相關法估計時差需要進行3個2N點FFT/IFFT運算和2N次復數乘法),而且大點數FFT/IFFT的工程實現也非常困難,運算時間與硬件資源開銷嚴重,不適于進行實時時差估計[4- 5]。
本文利用時域相關可只求解部分相關值的優(yōu)勢,設計實現了一種并行相關結構的時差估計器,大大縮減了運算時間,可以滿足實時時差估計的需求,同時簡化了硬件結構、降低了硬件開銷與實現難度。
1 基本原理[6-8]
假設輻射源輻射的信號為實信號s(t),被兩個接收機接收的信號分別為x(t)和y(t),具有不同的噪聲和時間延遲,兩信號可表示為:
由于信號與噪聲互不相關,Rsn1=Rsn2=0,因此可得到:
若需±m(xù)(0mN)范圍內的相關值,可以用2m+1個乘累加器并行計算來減小運算時間。不失一般性,以一個N=4,m=2的相關運算為例,將每個乘累加器所需進行的乘運算列于表1(clk表示乘周期)。
在工程實際中,中頻采樣后的數據一般存儲于雙口RAM或FIFO中,每個時鐘沿最多可提供兩個不同地址的數據。然而,由式(7)與表1看出,每個乘累加器每個周期所需的輸入數據都不一致,要為這些累加器同時提供不同的輸入數據幾乎是不可能的,尤其是在時鐘速率與采樣位數都較高的情況下。
對乘累加器每個周期所進行的乘運算進行調整,如表2所示。從中可以發(fā)現:相關結果未發(fā)生變化;每個乘周期所有乘累加器的輸入都相同;第i個乘累加器當前周期的x輸入為第i-1個乘累加器上一乘周期的x輸入。由此,可設計一種并行流水結構來避免多個乘累加器同時工作時對數據吞吐率的要求。
如圖1所示,每個乘累加器的y輸入相同,x輸入則由上一個乘累加器的x輸入經過一延遲寄存器得到,整個并行相關器每個周期只需讀入兩個新的輸入數據,數據吞吐率得以大大降低。需注意的是,為了求得±m(xù)(0mN)范圍內的相關值,需要對輸入序列進行簡單的調整,即在y輸入序列之前和x輸入序列之后各補m個零。實際上,只要對x與y輸入序列做出補零或截取這樣的調整,此結構可以求任意2m+1連續(xù)范圍內的相關值。并且在數據輸入完畢后,所有乘累加器同時輸出各自的相關結果。
在實際進行設計時,上述流水結構依然面臨難題。在乘累加器較多、時鐘速率與采樣位數較高的情況下,需要添加復雜的時序約束,才能保證每個乘累加器的y輸入都接收到正確數據,而這實現起來是非常困難的,有時是不可能的。為了解決這個問題,參照對x輸入流水化的方法,對y輸入也進行流水化處理,改進為圖2所示的并行流水結構。此結構在數據輸入完畢后,各個乘累加器將依次輸出相關結果,且在第一個乘累加器輸出結果后,做相應的清零,就可以進行新數據的相關運算。
評論