張智鋒 王艷溫 母詩源
(中國電子科技集團公司第五十四研究所,河北石家莊 050081)
以MUSIC 經典算法為代表的空間譜測向,通過特征分解,信號處理的觀測空間主要涵蓋信號子空間和噪聲子空間,它們之間是是正交的。通常的空間譜測向算法都是基于浮點運算的,然而用于定點DSP芯片上,其實現(xiàn)效率大為降低。因此,通過需要研究空間譜測向技術的定點化實現(xiàn)方法,提高處理效率,滿足實時性需求。本文中,通過分析對算法進行特殊處理進一步減少計算量,對算法實現(xiàn)過程中的每一步驟進行定點化處理,實現(xiàn)算法的實時處理。
通過實數(shù)域處理的實現(xiàn)方式復數(shù)域降低MUSIC(CMUSIC)算法本身的復雜性,在C-MUSIC算法的基礎之上開發(fā)基于實數(shù)域處理的MUSIC(Unitary-MUSIC)算法。在空間譜估計中陣列結構形式大多采用均勻圓陣(UCA:Uniform Circular Array)、均勻線陣(ULA:Uniform Linear Array)以及均勻矩形陣(URA:Uniform Rectangular Array)等形式[1]。采用陣列結構的空間譜估計技術的實數(shù)域實現(xiàn),針對其預處理過程的研究內容進行闡述。
均勻圓陣的陣元數(shù)通常為偶數(shù),其中N=2M。
將復數(shù)域轉換到實數(shù)域,具體的轉換方法如下:
設信號源從θ=(?,φ)(φ和?分別為信源俯仰角和方位角)入射到陣列,則陣列流形向量為:
定義酉矩陣[1]如下:
應用(2)式左乘(1)式,將陣列流形復向量向實向量進行轉換:
假設Q個不相關信號源入射到陣列,陣列采用UCA,則陣列接收向量為:
利用式(2)左乘式(4),有:
對實值矩陣R=E{z(t)zH(t)}(其中z(t)=[Re{y(t)}Im{y(t)}])進行特征值分解估計噪聲子空間En,計算Unitary-MUSIC譜:
其中,r(θ)是實向量,同時滿足式(3)所描述向量結構的要求。
應用譜峰搜索的方法,對式(6)中的譜函數(shù)進行處理,需要求解的信號源方向就等于P(θ) 的Q個極值點所對應的θ值。Unitary-MUSIC算法通常涵蓋四步,具體如下:
首先,對陣列輸出的第k次快拍數(shù)據(jù)矩陣x(k) 進行收集;
其次,對數(shù)據(jù)矩陣x(k)按照式(5)進行預處理得到;
從表1的對比可知,雖然Unitary-MUSIC算法的預處理過程會導致計算量有所變多,然后其獲得的收益是可觀的。例如在譜計算環(huán)節(jié),所需要的乘法和加法都可以省去數(shù)千萬次,導致實際計算量很大程度上得到優(yōu)化,進而對測向速度的提高具有很大的幫助。
表1 Unitary-MUSIC 與C-MUSIC 算法的計算量對比Tab.1 Comparison of calculations between Unitary-MUSIC and C-MUSIC algorithms
在定點DSP或FPGA芯片中,當數(shù)值運算采用定點數(shù)的時候,通常采用整型數(shù)。然而在計算過程中需要使用小數(shù)的時候,就需要通過數(shù)的定標來解決這一問題。Q 表示法是定標中較為常見的一種表示方法,Q值的大小與數(shù)值范圍成反比,但與精度正相關。例如,較小的Q值,對應的是較大的數(shù)值范圍,然而無法較高的精度。
在定點DSP或FPGA的實際應用中,參與運算的主要是變量,對浮點程序中變量的Q 值進行確定顯得十分關鍵。Q 值的確定與變量的動態(tài)范圍直接相關,在確定動態(tài)范圍的基礎上,則就可以對Q 值進行明確。
2.2.1 理論分析法
給予理論分析,通常一些變量的動態(tài)范圍是明確的。例如:
(1)三角函數(shù):y=sin(x)或y=cos(x),由三角函數(shù)知識可知,;
(2)漢明窗:y(n)=0.54-0.46cos[2πn/(N-1)]。因為0≤n≤N-1,所以0.08≤y(n)≤1;
2.2.2 統(tǒng)計分析法
統(tǒng)計分析的方法主要針對無法使用理論進行確定范圍的變量進行處理。通過輸入大量的信號樣值,進而對變量的動態(tài)范圍進行統(tǒng)計分析,輸入的信號樣值需要足夠的數(shù)量,同時對可能涉及的各種情況進行全面覆蓋。使用這種方法,保護措施的設置通常是必要的,例如可以讓精度有一定的犧牲,設置比統(tǒng)計值略大Q值。
由于DSP6455位寬為32bit,因此給定的采樣數(shù)據(jù)位寬最大為16bit,運算過程中可以采用32bit,算法中每一步的輸入為16bit字長,整個運算過程采用整型數(shù)據(jù)[2]。下面將空間譜測向算法定點仿真流程介紹如圖1 所示。
圖1 空間譜測向算法定點實現(xiàn)流程圖Fig.1 Flow chart of fixed-point realization of spatial spectrum direction finding algorithm
根據(jù)DSP6455芯片所支持的最大位寬為32bit,而采樣數(shù)據(jù)通常用short型(16bit)表示,因此,為保證處理過程不溢出又保留足夠的運算精度,每個子函數(shù)的輸入輸出變量位寬都不超過16bit,中間運算過程涉及的每個變量根據(jù)其取值范圍分別定標,最大位寬不超過32bit,定標位置根據(jù)各個子函數(shù)定點仿真結果確定。當函數(shù)運算中涉及三角函數(shù)時,可以根據(jù)精度要求選擇一定的步進,通過查表進行處理,進而實現(xiàn)運算效率的提升。在此基礎上,利用數(shù)值內插的方法對查表結果進行處理,可以保證查表精度有所提升。
通過對單個信號測向精度的統(tǒng)計,驗證定點運算的正確性以及精度的損失度。通過對兩個信號的測試,驗證浮點與定點運算的分辨率。利用空間譜測向算法的浮點與定點運算對孔徑為100m、陣元數(shù)為9的圓形陣列進行測試,測試結果如圖2所示。
圖2 浮點與定點算法精度及分辨率對比Fig.2 Comparison of accuracy and resolution of floating-point and fixed-point algorithms
從圖2可以看出,空間譜測向算法的浮點與定點運算的測向精度統(tǒng)計結果相差不大,定點運算結果有稍微的精度損失,說明了定點運算的有效性。空間譜測向算法的浮點與定點運算都能夠分辨角度間隔為三分之一波束寬度的兩個同頻信號,浮點運算的空間譜更尖銳些,定點運算由于運算過程中有一定的精度損失,空間譜不如浮點運算的尖銳,但能明顯地分辯出兩個信號,說明了定點運算的分辨能力。
本文從分析空間譜測向算法的原理入手,一方面從簡化算法本身計算量的角度出發(fā),獲得實數(shù)域的空間譜測向算法,另一方面從提高算法實時性的工程應用角度出發(fā),實現(xiàn)了的空間譜測向算法定點處理。在編寫空間譜測向定點算法的過程中,最難點之處在于特征值分解的實現(xiàn),傳統(tǒng)的特征值分解都是復雜的循環(huán)迭代過程,以一定的精度要求作為循環(huán)迭代的結束條件,這樣很難實現(xiàn)對中間變量的定標,在此設計中利用施密特正交化處理替代了迭代過程,使得定點仿真得到簡化。