郭業(yè)才,尤俁良
(南京信息工程大學(xué)電子與信息工程學(xué)院,江蘇南京 210044)
自上世紀(jì)60年代開(kāi)始,波達(dá)方向(Direction of arrival,DOA)估計(jì)成為各領(lǐng)域中研究的熱點(diǎn),比如無(wú)線通信、雷達(dá)和聲吶等領(lǐng)域.DOA估計(jì)通過(guò)提取空間上不同方向的信號(hào)特征,進(jìn)而確定信號(hào)源的方向.隨著對(duì)DOA估計(jì)研究的不斷深入,DOA估計(jì)的研究方向主要可以分為提高估計(jì)的精度和超分辨率以及增強(qiáng)對(duì)于低信噪比等嚴(yán)苛場(chǎng)景的適應(yīng)性.針對(duì)上述研究方向,國(guó)內(nèi)外研究人員已經(jīng)提出了多種DOA估計(jì)算法,包括波束形成的流形相關(guān)[1-2];基于子空間方法的超平面擬合[3-4];稀疏誘導(dǎo)方法的超完備字典上的原始陣列輸出重構(gòu)[5-8]以及適用于最大似然方法的原始陣列輸出擬合[9-10].這些算法都通過(guò)統(tǒng)計(jì)和計(jì)算從源到陣列的正向映射以及從陣列到源的反向映射來(lái)實(shí)現(xiàn)DOA估計(jì).
研究人員也將機(jī)器學(xué)習(xí)技術(shù)引入DOA估計(jì)中,首先用DOA作為標(biāo)簽建立訓(xùn)練集,然后使用如支持向量回歸(Support vector regression,SVR)[11-12]和徑向基函數(shù)(Radial basis function,RBF)[13]等機(jī)器學(xué)習(xí)技術(shù),實(shí)現(xiàn)陣列輸出到信號(hào)源的反向映射,最后對(duì)得到的映射關(guān)系進(jìn)行測(cè)試.這種機(jī)器學(xué)習(xí)改進(jìn)的算法相比較傳統(tǒng)的DOA估計(jì)算法更有效[14],但是該算法是由數(shù)據(jù)驅(qū)動(dòng)的算法,往往要求大量的數(shù)據(jù)來(lái)制作訓(xùn)練集和測(cè)試集,而且訓(xùn)練集和測(cè)試集需要分布合理.同時(shí),在實(shí)際系統(tǒng)中往往存在各種缺陷使得映射關(guān)系不能正確和精確的建立.而在低信噪比或混響等復(fù)雜環(huán)境下,傳統(tǒng)DOA算法與機(jī)器學(xué)習(xí)改進(jìn)DOA估計(jì)算法的性能都明顯降低[15].
為解決麥克風(fēng)陣列缺陷下傳統(tǒng)DOA估計(jì)算法性能差的缺點(diǎn),文中提出了一種基于棧式自編碼器-卷積神經(jīng)網(wǎng)絡(luò)(Stacked auto encoder-convolutional neural networks,SAE-CNN)改進(jìn)的DOA估計(jì)算法.該算法將DOA估計(jì)與SAE-CNN相結(jié)合,將陣列輸出的協(xié)方差矩陣作為SAE的輸入,對(duì)輸入的數(shù)據(jù)預(yù)處理,將信號(hào)分解為空間子域,CNN對(duì)分解后的信號(hào)分類來(lái)實(shí)現(xiàn)DOA估計(jì).
采用M個(gè)相同全向陣元組成均勻線陣來(lái)接收信號(hào),如圖1所示,其中,相鄰陣元之間距離為d.假設(shè)聲信號(hào)從聲源處以θi∈(0°,180°),i∈[1,M]的角度射入陣列,則陣列中M個(gè)陣元接收到的信號(hào)為
圖1 均勻線陣
xm(n)=αms(n)+vm(n),
(1)
其中,αm(m=1,2,…,M)為傳播效應(yīng)帶來(lái)的衰減因子;s(n)為聲源信號(hào)矢量;vm(n)為第m個(gè)麥克風(fēng)處的加性噪聲信號(hào)矢量,并假設(shè)其與源信號(hào)和其他麥克風(fēng)的噪聲信號(hào)都不相關(guān).
在實(shí)際的研究當(dāng)中,麥克風(fēng)的設(shè)計(jì)與制備往往是非理想的,麥克風(fēng)陣列的布置、麥克風(fēng)之間的相互干擾以及背景噪聲與輻射等都會(huì)使得麥克風(fēng)陣列中存在許多缺陷,在這里主要考慮3種典型的麥克風(fēng)陣列缺陷,增益誤差、相位誤差、位置誤差以及三者的綜合[16].增益誤差可表示為
ρ=(ρ1,ρ2,…,ρM)T,
(2)
其中ρm為第m個(gè)陣元的增益誤差系數(shù);(·)T為轉(zhuǎn)置函數(shù).
相位誤差表示為
φ=(ejφ1,ejφ2,…,ejφM)T,
(3)
其中ejφ1為第m個(gè)陣元的相位誤差系數(shù).
位置誤差表示為
φ=(φ1,φ2,…,φM)T,
(4)
其中φm為第m個(gè)陣元的位置誤差系數(shù).則增益誤差、相位誤差和位置誤差三者相結(jié)合可以表示為
麥克風(fēng)陣列缺陷下DOA估計(jì)模型可以表示為
在實(shí)驗(yàn)驗(yàn)證中,僅考慮增益誤差,Γ=diag(ρ1,ρ2,…,ρM);僅考慮相位誤差,Γ=diag(ejφ1,ejφ2,…,ejφM);僅考慮位置誤差,Γ=diag(φ1,φ2,…,φM).
傳統(tǒng)的DOA估計(jì)算法中,多重信號(hào)分類(Multiple signal classification,MUSIC)算法最為經(jīng)典,MUSIC算法在空域中進(jìn)行譜峰搜索找出信號(hào)源方向.同時(shí),它與最大似然法、加權(quán)子空間擬合(Weighted subspace fitting,WSF)等其他算法相比,具有運(yùn)算量小的優(yōu)點(diǎn).然而,當(dāng)信號(hào)相干時(shí),MUSIC算法并不能有效的進(jìn)行DOA估計(jì),以及在麥克風(fēng)陣列缺陷環(huán)境下,MUSIC算法的性能也較低.針對(duì)這些問(wèn)題,文中提出了基于SAE-CNN的DOA估計(jì)算法.
首先利用SAE對(duì)麥克風(fēng)陣列輸出的協(xié)方差矩陣進(jìn)行預(yù)處理,然后輸入CNN作為訓(xùn)練集來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò),將DOA估計(jì)變?yōu)檩斎氲捷敵龅挠成潢P(guān)系,能夠不依賴于陣列形狀和增強(qiáng)對(duì)不同麥克風(fēng)陣列缺陷的適應(yīng)性,如圖2所示.
圖2 算法的網(wǎng)絡(luò)結(jié)構(gòu)
將協(xié)方差矩陣作為SAE的輸入,根據(jù)M個(gè)接收信號(hào)矢量得到的協(xié)方差矩陣的估計(jì)值R可以表示為
R=E(X(n)XH(n)),
(8)
其中(·)H為復(fù)共軛轉(zhuǎn)置函數(shù).
假設(shè)當(dāng)前環(huán)境為非相干遠(yuǎn)場(chǎng)信號(hào)且與噪聲相互獨(dú)立,對(duì)得到的協(xié)方差矩陣進(jìn)行展開(kāi)得到
假設(shè)麥克風(fēng)陣列接收的噪聲為高斯白噪聲,功率為σ2,則
Rn=σ2,I,I∈RM×M.
(10)
接下來(lái)按照特征值的大小進(jìn)行排序,將與信號(hào)個(gè)數(shù)K相等的最大特征值對(duì)應(yīng)的特征向量作為信號(hào)子空間,再把剩下的(M-K)特征值的特征向量作為噪聲子空間,那么可以得到
由于各陣元之間的噪聲互不相關(guān),也不與信號(hào)相關(guān),因此協(xié)方差矩陣可以變換為
其中,RS為源信號(hào)的協(xié)方差矩陣.然而在實(shí)際工程應(yīng)用中,陣列協(xié)方差矩陣只能通過(guò)有限快拍數(shù)采樣下接收數(shù)據(jù)獲得,所以
其中,x(t)為第t時(shí)間段采樣得到的信號(hào);Ts為實(shí)驗(yàn)中采集的總點(diǎn)數(shù).
采用SAE來(lái)對(duì)輸入數(shù)據(jù)進(jìn)行預(yù)處理,這樣有助于保留大量的原始信息.SAE對(duì)陣列輸出的協(xié)方差矩陣先壓縮,提取其中原始輸入的主分量,然后進(jìn)行解壓縮,恢復(fù)到原始維數(shù),在恢復(fù)原始維數(shù)的同時(shí),也將各分量分解為L(zhǎng)個(gè)子空間,如圖3所示.
圖3 數(shù)據(jù)預(yù)處理
其中b1∈CH×1和b2∈CL×1分別為在輸入層和隱含層的偏差向量.
數(shù)據(jù)預(yù)處理不僅減少了噪聲對(duì)于源信號(hào)的干擾,同時(shí)也對(duì)輸出的協(xié)方差矩陣進(jìn)行了分類.
CNN是一種帶有卷積結(jié)構(gòu)的深度神經(jīng)網(wǎng)絡(luò),它包括卷積層、池化層以及全連接層等網(wǎng)絡(luò)結(jié)構(gòu),如圖4所示.CNN是典型的深度前饋深度網(wǎng)絡(luò)模型,BP算法是CNN的理論基礎(chǔ).與其他深度神經(jīng)網(wǎng)絡(luò)相比,CNN內(nèi)部的神經(jīng)元相互連接方式略有不同,CNN的上一層神經(jīng)元與下一層神經(jīng)元采用局部連接的方式,這種連接方式有效地降低了訓(xùn)練難度.
圖4 CNN的網(wǎng)絡(luò)模型
CNN的訓(xùn)練方法一般采用BP算法,BP算法包括信號(hào)的正向傳播和誤差的反向傳播兩個(gè)過(guò)程.正向傳播中,信號(hào)從輸入層傳入,逐層處理,由輸出層輸出;如果輸出的結(jié)果和期望結(jié)果不匹配,則進(jìn)行反向傳播過(guò)程,將誤差作為修正各單元權(quán)值的依據(jù),算法流程如圖5所示.其中,訓(xùn)練集的訓(xùn)練過(guò)程包括前向計(jì)算隱層、輸出層各神經(jīng)元的輸出;計(jì)算期望輸出與網(wǎng)絡(luò)輸出的誤差;反向計(jì)算修正網(wǎng)絡(luò)權(quán)值和閾值.
圖5 BP算法流程圖
所提出的基于CNN的框架可以看作是一個(gè)映射函數(shù),并且提出了一種學(xué)習(xí)策略來(lái)實(shí)現(xiàn)DOA估計(jì),如圖4所示.在第1階段,我們考慮用于訓(xùn)練CNN的學(xué)習(xí)方案,將不同方向的陣列H獲取對(duì)應(yīng)接收信號(hào)的協(xié)方差矩陣R,預(yù)處理后獲得的向量t作為訓(xùn)練樣本.具體來(lái)說(shuō),每次在陣列中加入一個(gè)發(fā)射信號(hào)向量后,就會(huì)在一個(gè)特定的方向上得到對(duì)應(yīng)的R.基于這種方式,可以得到各方向的接收信號(hào).在過(guò)去的幾十年里,已經(jīng)提出了許多能夠很好地描述信道特性的信道模型,這使得在幾乎所有信道條件下實(shí)現(xiàn)DOA估計(jì)成為可能.同時(shí),可以隨機(jī)生成物理DOAθn,與獲得的向量t形成訓(xùn)練數(shù)據(jù)集,即CNN的訓(xùn)練樣本.在第2階段,通過(guò)給出具體的信道模型進(jìn)行在線部署,無(wú)需迭代即可獲得估計(jì)的DOA,即
為了獲得估計(jì)的DOA,選擇SoftMax函數(shù)作為激活函數(shù),損失函數(shù)基于均方誤差概念,即
其中,β為對(duì)范數(shù)懲罰項(xiàng)的相對(duì)貢獻(xiàn)進(jìn)行加權(quán)的超參數(shù);Ω為標(biāo)準(zhǔn)目標(biāo)函數(shù);Ψ為模型的參數(shù).具體來(lái)說(shuō),w表示必須受范數(shù)懲罰項(xiàng)影響的所有權(quán)重,而變量Ψ包括w和非正則化參數(shù).
文中采用均方根誤差(Root mean square error,ERMS)作為評(píng)估標(biāo)準(zhǔn),將本實(shí)驗(yàn)中算法和MUSIC以及基于SVR的DOA估計(jì)算法進(jìn)行對(duì)比來(lái)評(píng)估算法的準(zhǔn)確性和穩(wěn)定性.ERMS可表示為
仿真條件設(shè)置為如圖1所示的均勻線性陣列中,陣元數(shù)m=10,陣元之間的間距設(shè)置為0.17 m.通過(guò)均勻線性陣列來(lái)進(jìn)行空間范圍為[-75°,75°)的DOA估計(jì).將空間范圍劃分為L(zhǎng)=5個(gè)等范圍的子空間,在信號(hào)預(yù)處理階段,對(duì)協(xié)方差矩陣進(jìn)行分類.最終,以1°作為單位劃分網(wǎng)格,θ1=-75°,θ2=-74°,…,θn=75°,則每個(gè)子空間對(duì)應(yīng)30個(gè)網(wǎng)格.測(cè)試集以快照數(shù)400從[-75°,75°)空間范圍中采樣獲得20 000個(gè)協(xié)方差矩陣.仿真在TensorFlow平臺(tái)上實(shí)現(xiàn),其中CNN的學(xué)習(xí)率設(shè)置為0.001,訓(xùn)練周期為1000.
圖6和圖7給出了對(duì)以10°分隔的兩個(gè)信號(hào)的實(shí)際和估計(jì)DOA值之間的比較,其中假設(shè)DOAs是均勻分布的從-30°到30°,步長(zhǎng)為1°,獲得的結(jié)果顯示在圖6中,圖中用直線表示實(shí)際的DOA值,用圓點(diǎn)表示估計(jì)DOA值,橫坐標(biāo)是估計(jì)階段的樣本數(shù),縱坐標(biāo)是DOA值.
圖6a和圖6b分別為MUSIC算法和SVR算法的實(shí)際和估計(jì)DOA值之間的比較,圖7a和圖7b是MUSIC算法和SVR算法實(shí)際和估計(jì)DOA值之間誤差,可以看出MUSIC算法和SVR算法都存在著一定的誤差.圖6c和圖7c為文中算法的實(shí)際和估計(jì)DOA值之間的比較和誤差,可以看出文中算法的估計(jì)DOA值與真實(shí)值非常接近.很明顯,提出的算法能夠以很好的高精度進(jìn)行DOA估計(jì).
圖6 3種算法的實(shí)際和估計(jì)DOA值之間的比較
圖7 3種算法的實(shí)際和估計(jì)DOA值之間的誤差
圖8為SNR對(duì)采用MUSIC算法、SVR算法以及文中算法的DOA估計(jì)的影響,橫坐標(biāo)為SNR的值,SNR的值設(shè)置為-10 dB到10 dB,以2.5 dB為間隔,縱坐標(biāo)是DOA估計(jì)的RMSE值,從圖中可以得出,當(dāng)SNR>-4 dB時(shí),MUSIC算法實(shí)現(xiàn)了稍高的估計(jì)精度,但是當(dāng)SNR變小時(shí),基于文中算法的DOA估計(jì)方法的性能要好得多,文中算法在低信噪比下顯示出良好的抗噪聲魯棒性.
圖8 SNR的影響
圖9為采樣點(diǎn)數(shù)對(duì)采用MUSIC算法、SVR算法以及文中算法的DOA估計(jì)的影響,圖中橫坐標(biāo)是采樣點(diǎn)數(shù)的值,采樣點(diǎn)數(shù)的值設(shè)置為0到400,以50為間隔,縱坐標(biāo)是DOA估計(jì)的RMSE值,隨著采樣點(diǎn)數(shù)的增加,3種算法的RMSE都逐步下降,說(shuō)明采樣點(diǎn)數(shù)越多,DOA估計(jì)的性能越強(qiáng).
圖9 采樣點(diǎn)數(shù)的影響
圖10給出了處于增益誤差、位置誤差和相位誤差情況下,對(duì)MUSIC和算法、SVR算法和文中算法的對(duì)比.圖中的橫軸是指麥克風(fēng)陣列缺陷的調(diào)節(jié)參數(shù),它在0到1之間變化,從0到1的變化代表麥克風(fēng)陣列缺陷對(duì)DOA估計(jì)過(guò)程的影響愈發(fā)嚴(yán)重.
從圖10中可以看出,當(dāng)增益誤差、位置誤差和相位誤差的影響小時(shí),3種算法有著近似的準(zhǔn)確性,隨著影響不斷嚴(yán)重,采用MUSIC算法和SVR算法的DOA估計(jì)的RMSE不斷增加,最終直接呈線性增加,而文中算法的RMSE則在一定的誤差范圍內(nèi)變化,保持穩(wěn)定.說(shuō)明了文中算法在陣列缺陷情況下的準(zhǔn)確性和適應(yīng)性.當(dāng)3種陣列缺陷同時(shí)存在時(shí),隨著陣列缺陷參數(shù)的增大,MUSIC算法的RMSE直接呈線性增加,不再像單獨(dú)一種缺陷時(shí),在陣列缺陷影響較低時(shí)保持準(zhǔn)確性.而文中算法則保持在一定的誤差范圍內(nèi)變化,如圖10(d)所示.
圖10 3種誤差對(duì)DOA估計(jì)的影響
文中采用SAE-CNN來(lái)解決麥克風(fēng)陣列缺陷下DOA估計(jì)準(zhǔn)確性降低的問(wèn)題.通過(guò)仿真可以得出,在增益誤差、相位誤差和位置誤差的情況下,采用SAE-CNN網(wǎng)絡(luò)有效提高了DOA估計(jì)的準(zhǔn)確性和適應(yīng)性.然而,文中采用SAE-CNN的DOA估計(jì)算法對(duì)于其他復(fù)雜的麥克風(fēng)陣列缺陷情況的適應(yīng)性還不夠優(yōu)秀,所以在后期還需采集更多數(shù)據(jù)來(lái)增大訓(xùn)練集,增強(qiáng)CNN的適應(yīng)性.