王 樂,趙佩瑤,王蘭美,王桂寶
(1.西安電子科技大學 物理與光電工程學院,陜西 西安710071;2.西安電子科技大學 通信工程學院,陜西 西安710071;3.陜西理工大學 物理與電信工程學院,陜西 漢中 723001)
在無源定位、資源探測、聲吶測向以及移動通信等眾多領(lǐng)域,對于信號波達方向估計的探索一直都是熱點[1]。到達角 (Direction of Arrival,DoA)估計技術(shù)最核心的應(yīng)用就是智能天線技術(shù),這一技術(shù)促進了現(xiàn)代通信的發(fā)展。雖然一些經(jīng)典的高分辨率算法例如多重信號分類 (MUitiple SIgnal Classification,MUSIC)算法[2]、旋轉(zhuǎn)不變技術(shù)估計信號參數(shù) (Estimating Signal Parameter via Rotational Invariance Techniques,ESPRIT)算法[3]等可以準確無誤地對信號來波方向進行估計,然而當有陣列誤差存在時,該類算法的估計性能將會降低,因此必須對誤差進行有效的校正。誤差校正往往是根據(jù)不同的誤差建立不同的誤差模型,通過這些模型找到相應(yīng)的方法來校正誤差并進行到達角估計的。誤差的建模是一個非常復雜的問題,如果同時存在多種誤差,誤差的建模將非常困難,相應(yīng)的誤差校正過程也非常繁瑣,甚至有估計不準確等諸多問題。隨著統(tǒng)計智能算法的飛速發(fā)展,有越來越多的統(tǒng)計智能算法被用于信號處理的到達角估計中,比如神經(jīng)網(wǎng)絡(luò)、支持向量回歸算法等[4-10]。鑒于神經(jīng)網(wǎng)絡(luò)有良好的適應(yīng)性能和非線性映射的特點,在建立預測信號模型的過程中,可以將空間中實際存在的噪聲、陣列誤差、傳輸通道等多種因素包含在訓練過程中,因此不需要誤差建模和誤差校正,可以在進行參數(shù)估計時直接利用已經(jīng)訓練好的網(wǎng)絡(luò)。目前方法在進行網(wǎng)絡(luò)訓練時,選取的信號特征為協(xié)方差矩陣的上三角元素,上三角元算得數(shù)目與陣元數(shù)目的平方成正比,因此對于大型陣列來說特征數(shù)目非??捎^,這將導致網(wǎng)絡(luò)模型非常復雜,網(wǎng)絡(luò)訓練時間加長。針對上述問題,筆者在進行近場源參數(shù)估計[11-12]時引入了主成分分析(Principal Component Analysis,PCA)方法[13-15]。該方法將降維后的特征用于神經(jīng)網(wǎng)絡(luò)的模型訓練[16-18],縮短了訓練時間,降低了運算量,在存在陣列誤差的情況下能對近場信號參數(shù)進行有效估計。
當信號源位于天線陣列的近場區(qū)時,信號源的波前是球面波,因此不能采用和遠場相同的方式來進行分析。筆者在接收近場信源時使用標量聲壓天線陣列,該模型中有M個全向陣元均勻排列,陣元間距為d,該陣列的結(jié)構(gòu)圖見圖1,假設(shè)其中沒有陣列誤差。
圖1 近場聲源信號接收陣列結(jié)構(gòu)圖
假設(shè)有K個獨立的近場非高斯信源入射到圖1的陣列模型上,入射信號都是窄帶信號,以坐標原點為參考陣元,rk表示第k個信源與參考陣元間的距離,θk表示第k個信源的入射角,快拍數(shù)值取P。在t時刻,第m個陣元中輸出信號為
(1)
其中,1≤k≤K,1≤m≤M,sk(t)表示第k個入射信源,nm(t)表示第m個陣元接收的噪聲矩陣。τmk表示第k個信源分別到達第m個陣元和參考陣元的時延差:
(2)
τmk≈mμk+m2ηk,
(3)
可得到第m個陣元上的接收信號:
(4)
第m個和-m個陣元的方差為
(5)
現(xiàn)有的子空間類方法大部分都是用這種方法對消掉距離因子,從而將距離和角度解耦合。然后進行兩步參數(shù)估計。當存在陣列誤差時,無法將第m個陣元和與其相對原點對稱的第-m個陣元的距離因子相抵消,即式(5)不再成立,同時陣列導向矢量也因為誤差的原因發(fā)生了變化,使得子空間類算法(如兩步MUSIC算法)無效。
存在陣列誤差時的陣列接收數(shù)據(jù):
Xe(t)=AeS(t)+N(t) ,
(6)
其中,Ae=f(θ,r,er)是包含陣列誤差的導向矢量矩陣,這個誤差可以是位置誤差、幅相誤差、耦合誤差,也可以是多種誤差的組合,甚至很難給出誤差的表達式,但這都不影響用筆者提出的方法進行正確的信號參數(shù)估計。因為筆者提出的方法將訓練數(shù)據(jù)中包含的陣列誤差和噪聲、傳輸通道等多種因素包含在訓練模型中,無須進行陣列誤差建模校正,也不用進行譜峰搜索,對待估計信號參數(shù)進行預測時可以采用已經(jīng)訓練好的網(wǎng)絡(luò),可以實現(xiàn)低信噪比和存在陣列誤差情況下的信號參數(shù)估計。
后向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)[16-18]是多層前饋神經(jīng)網(wǎng)絡(luò)。該類網(wǎng)絡(luò)根據(jù)誤差逆向傳播算法進行訓練,廣泛應(yīng)用于函數(shù)逼近、模式識別、分類、數(shù)據(jù)壓縮等方面??梢杂脠D2簡單表示其拓撲結(jié)構(gòu)。
圖2 BP神經(jīng)網(wǎng)絡(luò)拓撲結(jié)構(gòu)示意圖
(7)
第j個輸出層神經(jīng)元的輸出為
(8)
(9)
通過比較式(9)中得到的均方誤差與設(shè)定達到的誤差來決定是否更新權(quán)值和閾值。如果小于設(shè)定的誤差,則完成迭代;如果仍大于設(shè)定的誤差值,繼續(xù)對權(quán)值和閾值進行更新,直到此值小于設(shè)定的誤差要求值。
假設(shè)所選取的訓練樣本的數(shù)目為N個,陣元數(shù)為M,信源數(shù)為K,信號快拍數(shù)為P,使用的陣列PCA-BP算法對近場源參數(shù)估計的步驟如下:
① 根據(jù)式(6)分別計算出N個訓練樣本信號的協(xié)方差矩陣:
(10)
(11)
⑧ 對網(wǎng)絡(luò)中的權(quán)值以及閾值進行更新。
⑨ 通過上面步驟,可以得到訓練誤差Ek,將該值與網(wǎng)絡(luò)中設(shè)定的誤差ek的大小作比較。若訓練誤差比設(shè)定誤差小,則停止迭代,訓練完成;否則返回步驟⑤ 。
⑩ 訓練完成后從數(shù)據(jù)集中任選一組樣本進行預測。
仿真實驗兩個近場、窄帶、非高斯平穩(wěn)聲源信號入射到圖1所示的均勻線性天線陣列上,該接收陣列有8個陣元,陣元間隔d=λ/4,信號頻率設(shè)為[fs/8,fs/10],fs是信號的采樣頻率,λ是頻率為fs/8信號對應(yīng)的波長,快拍數(shù)為200,噪聲為高斯白噪聲。訓練樣本數(shù)據(jù)的角度間隔Δθ=6°,距離間隔Δr=0.05λ,訓練角度的區(qū)間設(shè)在[-90°,90°],訓練距離的區(qū)間設(shè)在[4λ,5λ],筆者取主成分累積貢獻率為95%。取173組樣本數(shù)據(jù),通過交叉取樣將其分為兩部分,分別用于訓練和測試。取兩個沒有經(jīng)過訓練的信號進行預測,這兩個信號的角度和距離參數(shù)為[10°,4.5λ,16°,4.55λ],信噪比為10 dB,仿真結(jié)果如圖3~圖5所示。
圖3表示各主成分的貢獻率,可以看出前幾個主成分的貢獻率較高,從前往后依次衰減直到為0。文中主成分累積貢獻率取值不小于95%;為滿足這一條件需將前4個主成分作為后向傳播神經(jīng)網(wǎng)絡(luò)的訓練輸入信號特征來訓練網(wǎng)絡(luò)。圖4為文中算法訓練所用的時間與BP算法、GRNN算法的比較圖。筆者通過比較算法的訓練時間研究了算法復雜度,為了避免偶然性,進行了10次仿真實驗,取這10次訓練時間的平均值,在數(shù)據(jù)量等同的情況下與其他算法進行了比較。由圖4可知,文中算法、BP算法和GRNN算法的訓練時間分別為3.340 5 s、 15.899 6 s和7.520 6 s。從這些數(shù)據(jù)上可知文中算法用的訓練時間最少,即文中算法的時間復雜度是最低的,運算量也是最低的。文中算法進行預測耗費0.093 9 s,而兩步MUSIC算法耗費1.348 5 s進行譜峰搜索,由此可得文中算法的預測時間遠小于兩步MUSIC算法所需的預測時間。
圖3 陣列PCA-BP算法各主成分貢獻率
圖4 3種算法訓練時間圖
圖5 均方根誤差比較圖
圖5為文中陣列PCA-BP算法與兩步MUSIC算法、BP算法、GRNN算法、MSVR算法的角度均方根誤差比較圖。由圖可知當信噪比取值范圍為-10 dB~20 dB時,文中算法的估計均方根誤差值最小,性能優(yōu)于其余4種算法,當取值高于20 dB時,進行仿真的5種算法的估計精度都比較好。
將仿真實驗1中的陣列添加誤差,其中添加的陣列誤差包括幅相誤差ee=diag[1.025,0.925,0.921,1.079,1.015,0.992,1.087,0.910,0.997,0.980,1.080]和陣列誤差de=[0.27,0.28,0.29,0.30,0.24,0.23,0.21]λ,其他仿真條件不變。仿真結(jié)果如圖6~圖9所示。實驗條件為P2.6 GHz GPU;4 GB內(nèi)存;MATLAB2016b開發(fā)平臺。
圖6 存在陣列誤差的陣列PCA-BP算法的角度散點圖
圖7 存在陣列誤差的陣列PCA-BP算法的距離散點圖
圖6為在存在陣列誤差的情況下使用文中陣列PCA-BP算法在10 dB信噪比下對兩個未經(jīng)訓練的近場觀測信號估計出的角度散點圖??梢钥闯?,估計得到的角度值和真實角度值相對應(yīng),兩個信號的角度估計誤差都在0.5°以內(nèi),真實值和估計值十分接近。圖7為兩個觀測信號對應(yīng)距離參數(shù)估計值的散點圖。可以看出,估計得到的距離值和真實的距離值相吻合,誤差都在0.005以內(nèi)。因此,文中算法可以對近場源的角度和距離等參數(shù)進行有效的估計。
圖8為當信噪比為10 dB時,兩步MUSIC算法得到的觀測信號估計角度散點圖。從圖中可以看出,估計出的角度參數(shù)和真實值完全不對應(yīng),第1個入射角的真實值和估計值誤差接近10°,第2個入射角的真實值和估計值誤差接近4°。圖9為兩步MUSIC算法估計得到的觀測信號的距離參考陣元的距離的散點圖。從圖中可以看出,估計出的距離參數(shù)和真實值也是完全不對應(yīng)的,真實距離和估計距離的誤差都大于1。因此可以看出,在陣列誤差存在的情況下,兩步MUSIC算法對于近場源參數(shù)的估計是完全失效的,但文中算法的近場源參數(shù)估計結(jié)果依然比較準確。
圖8 存在陣列誤差的陣列兩步MUSIC算法的角度散點圖
圖9 存在陣列誤差的兩步MUSIC算法的距離散點圖
筆者所提出PCA-BP近場源參數(shù)估計算法,能夠在存在陣列誤差的情況下完成信號參數(shù)的高精度估計。通過使用PCA算法降低輸入神經(jīng)網(wǎng)絡(luò)的信號特征維數(shù),可以減少BP網(wǎng)絡(luò)中輸入層神經(jīng)元個數(shù)進而縮短訓練時間,并且具有很好的抗噪能力。由仿真結(jié)果可知,文中算法優(yōu)于傳統(tǒng)的兩步MUSIC算法、BP算法、GRNN算法以及MSVR算法。同時也表明了文中算法也能夠在存在陣列誤差的情況下,對于近場源的角度和距離參數(shù)進行準確的估計,避免誤差建模和估計的繁瑣過程,具有重要的理論意義和實用價值。