廣義互相關(guān)
掃描二維碼
隨時隨地手機看文章
你可以使用廣義互相關(guān)( Generialized Cross-Correlation[1] )來估計一個信號達到兩個傳感器的時間延遲。比如應(yīng)用麥克風(fēng)陣列來確定聲源方位的應(yīng)用背景。問題可以用以下模型來描述:
其中 是聲音信號, 是兩個聲音傳感器檢測噪聲,D就是聲音信號在兩個麥克風(fēng)傳感器上的到達時間差(TDOA),或稱為時間延遲(Time Lag),表示以一個傳感器為基準,信號到達另一個傳感器的延遲。
通常假設(shè)聲音信號 是廣義穩(wěn)定隨機過程且三者之間不相關(guān)。可以使用兩個傳感器獲得信號之間的互相關(guān)最大化來得到該時間延遲。
在實際應(yīng)用中, 通常都是采集到的有限長 的信號,因此 只要在時間 內(nèi)近似保持平穩(wěn)和不相關(guān)即可。兩個信號的互相關(guān)可以通過下面公式進行估計:
通過兩個相距 的傳感器上所得到的信號到達時間差 (TDOA),可以計算出聲音的方向:
公式中的 是聲音在空氣中傳播的速度。
如果聲音信號 的頻譜很寬,那么它的自相關(guān)信號就會呈現(xiàn)非常窄帶的尖峰,使用前面估算TDOA的公式就可以得到非常好的結(jié)果。比如Chirp信號就是一個寬帶聲音信號。下面是 Chirp 信號就是應(yīng)用在智能車信標組的導(dǎo)航聲音信號,它的頻率范圍是250Hz~2000Hz。下面是疊加有五倍幅值噪聲的兩個版本。
如果信號不是寬帶信號,則使用普通的互相關(guān)所檢測到的峰值就會不明顯,而且受到噪聲影響很大。
比如下面是一個帶寬只有100Hz(1900~2000Hz)的Chirp信號。疊加有幅度只有0.25的隨機噪聲。
下面是計算得到的信號的互相關(guān)波形。展開之后可以看到它的峰值就不是非常明顯,而且在峰值附近受到噪聲的影響會出現(xiàn)左右的偏移。
使用廣義互相關(guān)(GCC:Generallized Cross-Correlation)可以提高檢測的精度。
下面就是使用GCC-PHAT重新計算上面窄帶Chirp信號的互相關(guān),可以看到所得到的相關(guān)峰值就大大改善了,從而提高了計算的精度。
參考資料
Generialized Cross-Correlation: https://ww2.mathworks.cn/help/phased/ref/gccphat.html
公眾號留言
卓大大您好,我是一名信標組的參賽選手。聲音定位我已經(jīng)實現(xiàn)了一個多月了,經(jīng)過這一個多月的優(yōu)化改進,取得了不錯的效果。
我采用的是四元十字麥克風(fēng)陣列,10k采樣率,2048點fft,時延估計算法是GCC-PHAT。
經(jīng)過測試1.5米左右,接近0、90、180、270度時角度誤差在5度左右,其他位置誤差在1-2度左右。隨著距離增加誤差有所增加,不過都在可以接受的范圍內(nèi)。
音樂識別的效果
不得不吐槽一下,chip聲音真的是太洗腦了,聽幾分鐘整個腦袋都在嗡嗡響(強烈建議信標燈增加一個放音樂的功能)。
自從開始在家里做信標感覺家里人看我的眼色都變了??磳W(xué)校的安排這個學(xué)期應(yīng)該是不會開學(xué)的了,看來是要在家里調(diào)車了,希望麥克納姆輪和信標的聲音不會吵到鄰居,到時候提著菜刀上來找我就不好了。
5米左右的識別效果
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!





