基于TDOA声源定位算法仿真–MATLAB仿真
評論或私信
5元獲取解壓碼
聲源定位算法是利用麥克風陣列進行聲音定位,屬于寬帶信號,傳統的MUSIC和DOA算法并不適用該場景,本仿真主要用TDOA算法進行定位。
常用的陣列信號定位算法主要有三大類:基于高分辨率譜估計的定位技術、基于可控波束形成(Beamforming)的定位技術和基于TDOA的定位技術,以上三種算法在陣列信號處理中,尤其是移動通信的陣列信號處理中都有廣泛的應用。但是聲音信號與傳統的電磁波信號存在許多的不同,主要包括以下幾點:
帶寬不同:麥克風陣列處理的多是寬帶信號,頻率范圍一般在 300Hz到 3KHz 之間;傳統的陣列信號處理的多是窄帶信號。
信號的平穩性:麥克風陣列處理的多是非平穩的語言信號,傳統陣列處理的對象多是平穩信號。
干擾噪聲不同:傳統的陣列處理的信號中的噪聲一般為不相關的高斯噪聲,麥克風陣列處理的信號中既有相關的高斯噪聲,也有非高斯噪聲。
由于聲音信號與電磁波信號存在上述幾點不同,尤其是信號帶寬問題和信號的平穩性問題,因此傳統的基于高分辨率譜估計的定位技術、基于可控波束形成(Beamforming)的定位算法不太適用于聲源定位算法,
基于TDOA的聲源定位算法具有運算量小、算法簡單易實現、定位精度較高、硬件成本低的特點,使得該算法在實際中的應用非常廣泛,而且可以實現實時定位。基于 TDOA 的聲音定位算法實現原理簡單,一般分為延時估計和聲源定位兩個部分,時延估計的精確度直接決定了聲源定位的精度,所以時延估計精度是該算法的核心部分。本章分別介紹基于 TDOA 的聲源定位算法中的時延估計的方法和基于得到的時延信息進行聲源定位的方法,并對算法進行仿真。
傳統的時延估計方法有很多,傳統的時延估計算法主要有基于相關分析的時延估計方法,基于相位譜估計的時延估計方法,基于參數估計的時延估計方法等,應用最廣泛的方法主要為基于相關分析的時延估計方法中的廣義互相關函數法(GCC)和基于自適應濾波器的延時估計方法中的最小均方自適應濾波法(LMS)。
廣義互相關法
廣義互相關法的基本原理是在傳統的通過互相關來求時延的算法的基礎上,對接收到的信號進行濾波處理,對信號和噪聲進行白化處理,增強信號中信噪比較高的頻率成分,從而到達抑制噪聲功率的目的,使得相關函數取得尖銳的峰值,提高時延估計的精度,因此和上述的LMS算法相比,廣義互相關法可以取得更好的時延估計性能。 因為廣義互相關法的基礎仍然是互相關算法,因此首先簡單介紹下互相關算法,互相關算法的基本原理公式如下式所示,其中h(n)即對應時延為t的沖激響應,且R(k)的幅度峰值應該位于k=t的位置。 廣義互相關法為了解決上述問題,對上述得互相關結果R(K)進行了頻域得均衡處理,這樣就只保留了互相關得相位信息,即時延信息,去除了音頻信號本身得影響,再進行反傅里葉變換得到R(k)即可得到一個峰值非常陡峭的沖擊信號,其峰值位置正好對應的就是時延差的位置,。由于實際音頻信號的采樣率有限,為了進一步提高時延估計得分辨率,還需要對廣義互相關的結果進行進一步的差值處理,得到更加精確的時延信息,因此處理流程如下所示。
本仿真中主要采用了廣義互相關算法作為時延信息得提取算法。 利用廣義互相關算法得到時延信息之后,就需要根據麥克風陣列的幾何信息估計聲源的方位,進而估計出目標的位置。在本文的場景聲源于目標的關系可以近似當作是遠程聲源進行處理。主要考慮使用二維L型陣列進行接收,L型陣列的X軸和Y軸的陣元可以分別視為一個一維的線型陣列,然后可以分別估計聲源來向的水平角度和垂直角度。因此在接下來的內容中將簡單介紹聲源方位估計得算法。分別估計得到水平陣列的角度θ1和垂直陣列的角度θ2之后,由于本文中的聲源目標是豬,因此目標的高度維度坐標肯定是0,得到目標的二維角度之后即可推算出目標的三維位置
注意點
聲源使用從網上下載了一段豬語音(wav文件)作為聲源生成麥克風接收信號。
實現了單目標聲源定位(包括方位和目標位置,根據場景目標應該在地上)
該程序采用了TDOA聲源定位算法(可以參考《基于FPGA的聲源定位系統軟硬件設計》4節、《基于麥克風陣列的聲源定位系統硬件設計與算法研究1》第4章)
文檔下載:鏈接:https://pan.baidu.com/s/1Hgk_y2FE-Ic04iEkIDAVBw
提取碼:h76w
程度下載:鏈接:https://pan.baidu.com/s/1AurO823CuifsXeH_Po-ItQ
提取碼:bcy9
(解壓密碼獲取: http://t.cn/AiTjj4kb)
總結
以上是生活随笔為你收集整理的基于TDOA声源定位算法仿真–MATLAB仿真的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自我鉴定300字大专计算机应用,业余大专
- 下一篇: SiC功率半导体产业高峰论坛成功举办