郭培培,李建良
(南京理工大學,江蘇南京210094)
對無人機進行定位的技術手段有很多,如雷達、無線通訊、視頻等。通過聲源對目標定位作為對無人機探測的補充手段,聲源定位系統自身不產生聲波,具有很強的隱蔽性。在聲源定位應用中,典型方法是時差聲源定位法,基于時延估計的方法是指利用聲源發出的信號到達各個傳聲器的時間延遲對聲源位置進行估計,該方法計算復雜度低,實時性高,且硬件實現成本較低,因而得到了廣泛應用。時延估計作為時差聲源定位的關鍵第一步,時延的微小誤差都會導致定位結果的偏差[1]。廣義互相關是時延估計最常用的一種方法,通過對相位變換加權函數(Phase Transform,PHAT)加權進行改進[2],提高了時延估計的準確率。然而廣義互相關算法易受環境噪聲的影響,文獻[3]提出將接收到的信號先進行奇異值分解處理,再對降噪后的互功率譜引入奇異值分解(Hassab Boucher,HB)加權函數,銳化互相關函數的峰值。基于三次相關的時延估計算法[4]利用兩路信號的自相關與互相關功率譜函數做互相關,使三次相關的功率譜函數幅值呈指數倍增長,有效地提取時延估計值。
傳統互相關時延估計方法是通過互相關函數的峰值來得到延遲時間差值[5-6]。然而,由于實際中噪聲和混響的影響,互相關函數峰值不明顯,甚至出現偽峰值,造成估計誤差。為降低噪聲對時延估計的影響,Knapp和Carter提出了廣義互相關(Generalized Cross Correlation,GCC)時延估計算法[7]。假設兩個麥克風接收到的音頻信號分別為x1(n)與x2(n),對應的傅里葉變換為X1(ω)和 X2(ω),則信號x1(n)與x2(n)的互功率譜為

由于接收信號包含環境噪聲,廣義互相關法在求出兩信號的互功率譜后,再用加權函數進行加權處理,以增強聲源信號,削弱噪聲的影響。則廣義互相關函數為

其中:ψ12(ω)是加權函數,該算法采用的加權函數為PHAT加權函數,表達式為

在傳統的廣義互相關時延估計算法的基礎上,廣義二次相關算法是對兩路信號先進行自相關和互相關運算[8-11],再將得到的自相關和互相關函數進行相關運算,提升信號信噪比和分辨力。
信號x1(n)與 x2(n)的互功率譜為 G12(ω),x1(n)的自功率譜為G11(ω),則廣義二次相關函數為

為使算法更適用于實際應用,提高算法穩定性非常重要。而廣義互相關與廣義二次相關算法時延估計均方根誤差(Root Mean Square Error,RMSE)值的波動性較大,因此本文提出改進的廣義二次相關算法。
廣義二次相關雖然可以提高抗噪聲性能,但它一般利用快速傅里葉變換(Fast Fourier Transform,FFT)計算原始信號x1、x2的互功率譜,由于 FFT的柵欄效應,得到的時延值總是采樣間隔的整數倍,造成了時延估計誤差。改進的廣義二次互相關算法用改進的Z變換算法(Modified Chirp Z Transform,MCZT)代替FFT,計算無人機音頻信號x1、x2的細化頻譜提高頻譜精度。為了提高相關函數的分辨率,對二次相關函數進行相關峰精確插值算法(Fine Interpolation of Correlation Peak,FICP)[12-15],提高相關峰的檢測精度,同時抑制噪聲對時延估計的影響,再添加改進后的加權函數,大大提高了時延估計精度。FICP只計算峰值附近的一段相關函數,它得到的波形是FFT法得到相關峰波形的“放大”,相關峰附近的分辨率提高,使得時延估計精度更高。
對于信號x1(n),x2(n),n=0,1,…,N-1,MZCT算法的定義式為

加窗函數w(n),n=0,1,…,N-1后,通過MCZT算法得到對應的X1(k)和X2(k),根據頻譜的對稱性,復數的共扼相乘等于相乘后的共扼,得到相關函數的譜,對其補零,并將互譜拉長為N2(N2≥N1),再經過FICP快速算法可得:

式(6)、(7)中IMCZT運算表示MCZT的逆運算。由Rn1(n)和Rn2(n)可以組合出相關函數:

通過采用Daniel V.Rabinkin提出的相位變換加權算法對該算法的權函數進行改進,稱為修正的互功率譜相位算法:

其中:ρ的取值與噪聲特性和聲學反射特性有關。
四旋翼和固定翼無人機是典型的民用無人機,選取四旋翼大疆精靈3和大疆悟無人機的無噪聲音頻作為實驗原始信號,固定翼無人機同理。通過麥克風采集的無人機音頻信號采樣頻率為44 100 Hz,音頻信號長度為1 s。由于無人機音頻信號的非平穩性和時效性,實驗在 Windows10系統下采用Matlab2014軟件對獲取的信號進行歸一化和分幀,幀長為30 ms。在不同ρ值條件下進行100次時延估計實驗,當ρ值為0.9時,時延估計的準確率最高。所以本文中ρ的取值為 0.9。對于實際的外界環境,通常伴隨著實際噪聲的影響,本文利用CoolEdit軟件將原始信號加入實際飛機滑行聲、驚雷聲、音樂、大雨聲、汽車喇叭聲、海浪和風吹樹葉聲,得到模擬無人機含噪音頻信號,其中兩種類型無人機帶噪音頻信號的信噪比如表1所示。信噪比可表示為

本文選取時延估計值的正確率和穩定性來評價時延估計時延估計的性能,對于穩定性分析采用RMSE方法,表示為

其中:i表示第i次實驗,n表示實驗總次數,ti表示第i次實驗的時延估計值,t表示時延準確值。
對兩種類型的無人機帶噪聲音頻信號分別采用廣義互相關、廣義二次相關法和改進的廣義二次互相關進行100次時延估計實驗,得到不同噪聲條件下評價時延估計性能準確率及均方根誤差變化曲線,如圖1、圖2所示。
圖1(a)、2(a)反映了大疆精靈3和大疆悟在不同信噪比情況時,3種不同時延估計算法得到的估計值的正確率。顯然廣義互相關的時延估計的正確率明顯低于其他兩種算法。隨著信噪比上升,3種算法的時延估計準確率都在提高,改進的廣義二次相關的正確率始終高于其他兩種算法;信噪比較低時,信號受到噪聲影響變大,但廣義二次相關和改進的廣義二次相關相比于廣義互相關,準確率仍然較高,說明廣義二次相關具有更好的抗噪性能。

圖1 大疆Phantom 3型無人機在不同信噪比下不同時延估計算法的準確率和RMSE值Fig.1 The accuracy rates and RMSE values of different time delay estimation algorithms under different signal-tonoise ratios for Phantom 3 UAV
圖 1(b)、2(b)反映了大疆精靈 3和大疆悟在不同信噪比情況時,3種不同時延估計算法得到的估計值的RMSE值。明顯地,改進的廣義二次相關算法RMSE值最小,并且隨著信噪比降低上升趨勢相對平緩,比另外兩種算法具有更好的時延估計平穩性能。在高信噪比情況下,廣義互相關和改進的廣義二次相關算法的估值能力相差不大,時延估計值的RMSE值較小且波動性低;當信噪比較低時,廣義互相關算法的RMSE值明顯大于另兩種算法。且隨著信噪比的降低,3種算法的時延估計偏離程度逐漸增大,與改進的廣義互相關算法相比,廣義互相關和廣義二次相關的時延估計性能較差。

圖2 大疆Inspire型無人機在不同信噪比下不同時延估計算法的準確率和RMSE值Fig.2 The accuracy rates and RMSE values of different time delay estimation algorithms under different signal-tonoise ratios for Inspire UAV
為進一步驗證所提算法的時延估計的有效性,實驗在Windows10環境下,采用Matlab2014對兩種型號的無人機用3種不同時延估計算法進行100次仿真實驗,不同時延估計算法的平均算法用時仿真運行結果如表2所示。
從表2的運行結果可以看出,不同的時延估計算法估計時延的時間是不同的。相同信號長度的時延估計中,廣義互相關和廣義二次相關算法運行時間較短,改進的廣義二次相關算法運行時間最長,相比于前兩種算法改進算法運行時間增加了8倍。由于四旋翼無人機最高時速可達60~72 km·h-1,要求時延估計算法CPU運行時間不超過0.2 s,定位誤差3~4 m,對于無人機的時延估計,3種算法的算法用時能夠滿足要求。綜合考慮,改進的廣義二次相關算法更適合對無人機音頻信號進行時延估計,準確性高,抗噪性能和實用性更強。

表2 兩種類型無人機采用不同時延估計算法運行的算法用時仿真結果Table 2 Time-consuming simulation results of different delay estimation algorithms for the two types of UAVs
本文在廣義互相關算法的基礎上,利用廣義二次相關抗噪性強,頻譜細化使相關波形更光滑,FICP提高相關函數的分辨率的優勢,提出了針對非平穩的無人機音頻信號進行時延估計的改進算法。通過對三種算法的時延估計性能比較分析,改進的廣義二次相關算法性能優勢明顯高于廣義二次相關算法和廣義互相關算法,顯著提高了時延估計的準確性、抗噪性能以及穩定性。改進的廣義二次相關算法的主要目的是針對無人機飛行速度的特點,在算法滿足精度和實時性要求的前提下,使最后的系統集成時所采用的關鍵算法能具更廣泛的適用性,以利于應對更復雜的實際應用環境或噪聲干擾。將此方法用于無人機音頻信號的時延估計,易于實現,且對基于時延估計的無人機定位與追蹤等具有一定的應用價值和參考價值。
對于無人機的定位和跟蹤問題,由于涉及多麥克風陣型(立體三角、不同四元等)結構、不同數學模型、定位跟蹤算法以及精度的輔助校正系統等,限于篇幅我們將另文討論。