国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何進行聲音定位?

數據采集卡與傳感器 ? 來源:數據采集卡與傳感器 ? 作者:數據采集卡與傳感 ? 2025-09-23 15:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、人耳是如何進行聲音定位的?

在當今科技高度發達的社會中,聲音中蘊含的信息受到普遍關注。不論是炮彈的落點,軸承的異常嘯叫,還是收音設備的自動跟隨等方面,判斷其聲音產生的方位都是一個重要課題。

現階段的聲音定位技術大多是根據“人耳”發展而來的。人類單耳判斷聲源的方法是利用了耳廓對聲音的反射使聲波發生干涉,從而達到判斷聲音的目的。當然更多情況下是雙耳判斷方向,主要有時間差(ITD)和聲級差(ILD)兩種形式,我們簡單解釋一下。

人類兩耳間的距離大約在16-18cm,時間差正是利用了這一點。當聲音從左側傳來,左耳首先接收到信號,在零點幾毫秒后,右耳接受到聲音信號。雖然時間很短,但也能讓人類判斷聲音產生的方向了。

聲級差效應的原理與時間差類似。當聲源在頭部的右側時,聲波經過頭部的衰減,到達左耳的聲音強度就會減弱,這樣人們就可以通過聲音強弱辨別聲音的方向了。

二、用機器代替耳朵

人耳對聲源的定位精度畢竟是有限,而現實生活的需要只靠人耳已經滿足不了,所以人們發明出聲強探頭和麥克風陣列等聲源定位儀器。

聲強探頭可以看作是單個耳朵靠近聲源在聽,通過不斷移動探頭以確定聲源的位置。更為常用的則是麥克風陣列,麥克風也叫做傳聲器,它相當于人的耳朵,但是比人耳要靈敏的多。在麥克風陣列上有幾個到幾千個麥克風,它們按照一定的規則排布構成,因此叫做麥克風陣列。麥克風感知聲音的原理在我們之前的文章中介紹過,所以這里我們主要介紹它是怎樣代替耳朵判斷聲音位置的。

三、麥克風陣列代替耳朵的原理

如何通過麥克風陣列判斷聲源位置呢?我們介紹一種簡單的TDOA算法,它可以利用時間差進行定位,下面進行詳細說明。

假定一個平面上有3個基站,分別是A1,A2和A3,而且A1、A2、A3的坐標已知,分別是(X1,Y1),(X2,Y2),(X3,Y3)。假設待定位聲源Tag的位置是(x,y)。這樣就可以得到待測點T到每個基站的距離:

wKgZO2jSR3uARh1OAAAE7etGBuc057.png

,其中i=0,1,2。

wKgZPGjSR56AIjhqAARKoUTypMc105.png

可以想到:求解點的位置,能夠轉化成求解兩條曲線的交點,但由Ri的表達式組成的方程組顯然無法求解,因為方程組中的未知量太多。不過距離差R2,1= R2-R1、R3,1= R3-R1是已知的,因為聲音的傳播速度已知,約為340米每秒,而且通過采集設備能夠計算出聲音到達各基站的時間,也就能求出距離差R2,1和R3,1了。那么有沒有一種曲線與距離差有關呢?這就是雙曲線。它的定義是平面上一點到兩個定點的距離之差的絕對值是定值的點的軌跡,這種曲線適用于上述情景。如下圖所示,(x,y)是待求解的點,到A1、A3的距離是定值可構成一條曲線,到A1、A2的距離是定值可構成一條曲線。所以在剛剛的平面上我們就能畫出這樣的兩條曲線,而它們的交點就是我們T的位置(x,y)。那么就能列出這樣的非線性雙曲線方程組了。

wKgZPGjSSMOAIAGAAAAkqkuD0Ss021.png

求解此方程組時,我們要盡量減少根式的存在。首先將方程組簡化成:

Ri,1= Ri-R1

所以有方程:

Ri^2= (Ri,1 +R1)^2 (1)

wKgZO2jSR3uARh1OAAAE7etGBuc057.png

可得:Ri^2=Xi^2-2Xi*x+x^2+Yi^2-2Yi*y+y^2 (2)

將(2)式代入(1)式中

則有:Xi^2-2Xi*x+x^2+Yi^2-2Yi*y+y^2=Ri,1^2+2Ri,1*R1+R1^2

又因為:R1^2= X1^2-2X1*x+x^2+Y1^2-2Y1*y+y^2

所以可得方程:

Xi^2-2Xi*x+x^2+Yi^2-2Yi*y+y^2-(X1^2-2X1*x+x^2+Y1^2-2Y1*y+y^2) =Ri,1^2+2Ri,1*R1

令Ki=Xi^2+Yi^2化簡得:

Ki-K1+2X1*x-2Xi*x+2Y1*y-2Yi*y=Ri,1^2+2Ri,1*R1

Ki-K1+2x(X1-Xi)+2y(Y1-Yi)=Ri,1^2+2Ri,1*R1

又令:Xi,1=Xi-X1、Yi,1=Yi-Y1

則有:Ki-K1-2x*Xi,1- 2y*Yi,1 =Ri,1^2+2Ri,1*R1

通過一系列的等式變換,我們成功將未知項的二次項消除了。當i=2,3時,可得方程組

K2-K1-2X2,1*x-2Y2,1 *y=R2,1^2+2R2,1*R1

K3-K1-2X3,1*x-2Y3,1 *y=R3,1^2+2R3,1*R1

通過消元法得到

X=

wKgZO2jSSOWASKh_AAAHirx6_kg423.png

y=

wKgZPGjSSOWAQTHdAAAHghYRGuw393.png

等式中的未知量只有R1,怎樣求解它的值呢?

我們先簡化一下上述等式,令:

p1=

wKgZPGjSSkWANMBqAAAGUBNIIvI425.png

q1=

wKgZO2jSSOWAZj46AAADwcSHIIk126.png

p2=

wKgZPGjSSOWAa3oXAAAGSv146Gw484.png

q2=

wKgZO2jSSOWAHKioAAADvO7_1TI873.png

這樣就得到等式

x=p1+q1*R1

y=p2+q2*R1 ……(3)

而且等式中的p1、q1、p2、q2都是已知量。再將(3)式帶回到(2)式中,因為要求R1的值,所以(2)式中的i=1。可得等式:

R1^2=X1^2-2X1(p1+q1*R1)+(p1+q1*R1)^2+Y1^2-2Y1(p2+q2*R1)+( p2+q2*R1)^2

化簡得:

(q1^2+q2^2-1)R1^2-2[q1(X1-p1)+q2(Y1-p2)]R1+[(X1-p1)^2+(Y1-p2)^2]=0

這樣就得到一個關于R1得一元二次方程,用求解公式R1=

wKgZPGjSSOaAWyfjAAADEjfHg8w516.png

解出R1,然后將有效解帶入到(3)式中就可以求出x、y的值了。

這種TDOA算法較為簡單,沒有考慮到可能出現的誤差,同時參考基站的數量也比較少,所以會導致定位不精確。

四、聲源定位實驗

下面我們正式開始實驗,使用三個麥克風聲音傳感器組成一個平面直角坐標系,X1麥克風為原點,距X2麥克風15cm,距X3麥克風27cm。麥克風需要5V的直流電源,我們將它的輸出端S與USB-5111采集卡的Ai端口連接,GND端連接到采集卡的AGND端口上,VCC端與電源正極連接。電源的負極與采集卡的AGND連接。最后將采集卡與電腦連接。

wKgZPGjSSs-ATbl2AARcyilpjRo730.png

接下來我們打開Smacq DAQ軟件采集聲音信息。開啟Ai0、Ai1,Ai2通道,

wKgZPGjSSwOAQ_MdAATc1wPFFHk789.png

設置采集卡的采樣率為100000(Sa/s/ch),其他設置保持默認就可以了。

wKgZO2jSSxiAPNy5AAPbDktmAnk962.png

點擊啟動,在靠近X1傳感器的位置拍手后,點擊軟件的停止按鈕。

wKgZPGjSSy-AZmiJAAwO2YVpG_c241.png

使軟件顯示全部的采集波形,選擇一組反應較為明顯的波形,將它的時間信息輸入到計算聲源位置程序中,

wKgZPGjSS1SAS5bQAAZXf9z5ASE956.png

點擊運行后,我們就可以看到聲源點出現在靠近X1坐標的位置。

wKgZPGjSS3GAHcWdAASRV6GC6fI039.png

以上內容就是我們聲源定位實驗的全部內容。如果大家對文章內容有任何問題,歡迎在評論區留言或搜索微信公眾號“思邁科華Smacq”直接聯系我們。文章視頻內容可點擊如下連接跳轉:數據采集卡與聲音定位

希望您點贊、評論、轉發,我們下期再見。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據采集
    +關注

    關注

    41

    文章

    8037

    瀏覽量

    120877
  • 定位
    +關注

    關注

    5

    文章

    1586

    瀏覽量

    36695
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    測縫計遇到測量故障時如何進行排查和修復?

    在結構物安全監測中,測縫計是保障工程安全的關鍵設備。然而,在長期野外運行中,測縫計難免會遇到測量故障。掌握一套系統性的排查方法,能幫助工程師快速定位問題,確保監測數據的連續性和準確性。當測縫計讀數
    的頭像 發表于 12-23 17:25 ?403次閱讀
    測縫計遇到測量故障時如<b class='flag-5'>何進行</b>排查和修復?

    對于設備上的舊固件如何進行備份和恢復?

    對于設備上的舊固件,如何進行備份和恢復?
    發表于 12-12 08:23

    在使用CW32L083系列微控制器時如何進行系統復位和看門狗定時器配置?

    在使用CW32L083系列微控制器時,如何進行系統復位和看門狗定時器配置?
    發表于 12-10 06:46

    單片機如何進行加解密鑰操作,一般使用哪種形式,具體流程是什么樣子的?

    目前單片機如何進行加解密鑰操作,一般使用哪種形式,具體流程是什么樣子的?
    發表于 12-04 06:09

    GPS定位和地磁定位有什么區別?

    多個維度進行詳細對比。對比表格特性GPS定位地磁定位基本原理接收太空中的衛星信號,通過三角測量法計算位置。測量所在地的地球磁場細微變化,與預先繪制的“地磁地圖”進
    的頭像 發表于 11-19 12:01 ?501次閱讀
    GPS<b class='flag-5'>定位</b>和地磁<b class='flag-5'>定位</b>有什么區別?

    AGV的種類以及如何進行合理選擇

    ? AGV AGV(AGV)是無人駕駛車輛,使用計算機軟件和其他導航技術來確定其定位和移動。它們可以在制造設施或倉庫內運輸各種材料和成品?;旧?,如果你對物料搬運系統的數字化感興趣,那么這項技術就是
    的頭像 發表于 11-14 17:01 ?1186次閱讀
    AGV的種類以及如<b class='flag-5'>何進行</b>合理選擇

    L083最低功耗是多少,應該如何進行低功耗設計?有哪些注意事項?

    L083最低功耗是多少,應該如何進行低功耗設計?有哪些注意事項?
    發表于 11-12 07:29

    解鎖聲音定位新維度,AR-1105 雙數字麥克風陣列板引領音頻感知革命

    廣泛應用于智能家居、工業監測、智能交互等領域,為設備提供精準的聲音定位與高保真音頻采集能力,是聲學智能應用的核心組件,助力產品在聲音感知與處理方面實現突破性升級
    的頭像 發表于 11-07 09:14 ?841次閱讀
    解鎖<b class='flag-5'>聲音</b><b class='flag-5'>定位</b>新維度,AR-1105 雙數字麥克風陣列板引領音頻感知革命

    恩智浦i.MX RT1180 MCU如何進入Boundary Scan模式

    本文重點介紹RT1180如何進入Boundary Scan模式,通過Jtag來進行板級硬件測試的過程。遵循IEEE1149.1中的測試訪問端口和BoundaryScan體系結構的標準。
    的頭像 發表于 10-22 09:50 ?3533次閱讀
    恩智浦i.MX RT1180 MCU如<b class='flag-5'>何進</b>入Boundary Scan模式

    釋放聲音的維度:高性能評估板為沉浸式音頻體驗快速便捷構建聲場工具

    A316-V71-Game-V1是一款基于XMOS XU316技術的虛擬7.1游戲聲卡評估平臺,能夠將立體聲音頻轉換為虛擬7.1聲道環繞聲,為游戲玩家提供身臨其境的音頻體驗,幫助精確定位游戲中的聲音方向。
    的頭像 發表于 09-30 14:14 ?457次閱讀
    釋放<b class='flag-5'>聲音</b>的維度:高性能評估板為沉浸式音頻體驗快速便捷構建聲場工具

    2KW逆變側功率管的損耗如何進行計算詳細公式免費下載

    本文檔的主要內容詳細介紹的是2KW逆變側功率管的損耗如何進行計算詳細公式免費下載。
    發表于 08-29 16:18 ?34次下載

    聲源定位模塊-AR1105# 聲源定位# 聲音定位

    聲音降噪
    深圳市聲訊電子有限公司
    發布于 :2025年08月01日 16:01:09

    請問STM32WBA65如何進行matter的學習?

    STM32WBA65如何進行matter的學習?相關的支持都有哪些?有一個X-CUBE-MATTER,可是這個沒有集成在STM32CubeMX中
    發表于 04-24 07:22

    使用CAN以及CANIF配置了S32K310的CAN驅動模塊,如何進行報文的接收呢?

    我使用CAN以及CANIF配置了S32K310的CAN驅動模塊。我知道調用CAN_Write()函數進行報文的發送,但我存有以下的一些問題: 1.我該如何進行報文的接收呢?我看到有一些文章說能夠通過
    發表于 03-21 07:24