一種基于聲源陣列的定位跟蹤方法及其裝置的制造方法
【技術領域】
[0001] 本發明涉及一種基于聲源陣列的定位跟蹤方法,同時涉及一種基于聲源陣列的定 位跟蹤裝置。
【背景技術】
[0002] 聲源定位技術是利用傳聲器拾取語音信號,并用數字信號處理技術對其進行分析 和處理,繼而確定和跟蹤聲源的空間位置。在現有技術中,具有高性能、高方向性的單個傳 聲器在無噪聲、無混響、距離聲源很近的情況下,可以獲得高質量的聲源信號。但是,單個傳 聲器的拾音范圍很有限,若聲源在傳聲器的選擇方向之外,則會引入大量的噪聲,導致拾取 信號的質量下降;并且單個傳聲器接收的信號,是由多個聲源和環境噪聲疊加組成的,無法 實現各個聲源的分離。在實際應用中,由于聲源可能在室內的小范圍內運動,加之室內各種 其它聲音的多徑反射和混響等因素,也會導致單個傳聲器接收的信號信噪比降低,拾取信 號的質量下降。
[0003] 為了解決單個傳聲器的局限性,有人提出了基于麥克風陣列的聲源定位。它是近 年來語音信號處理領域的一大研宄熱點。結合實際應用的需要,如遠程視頻會議、報警系 統、車載電話、助聽系統、智能機器人系統等等,人們提出了用多個麥克風按一定的幾何結 構進行擺放,組成麥克風陣列進行語音處理的方法。它具有很強的空間選擇性,無須移動就 可對聲源信號自動監測、定位和跟蹤,因此在語音增強、聲源定位、回聲消除等方面有著極 大的應用空間。其中,利用麥克風陣列采集到的聲音信號來估計聲源所在位置受到了人們 的親睞。
[0004] 但是,聲源定位麥克風陣列多位于室內等較封閉的環境中,除了非高斯噪聲和相 干噪聲的影響外,聲源本身在室內的混響也會對準確定位造成影響。因此,如何在真實的聲 場環境中定位三維空間的點聲源,來提供準確的位置信息,成為人們的迫切需求。
[0005] 為了解決上述問題,在申請號為201210204877. 3的中國專利申請中,公開了一種 基于麥克風陣列的聲源定位系統。該系統將LabVIEW應用于聲源定位軟件的開發,方便地 完成音頻信號的采集與處理,運用廣義互相關函數法進行時延估計,結合平面四元十字陣 模型建立方程組實現定位。但是,該系統對于非高斯噪聲、相干噪聲以及聲源本身在室內的 混響對準確定位造成影響,并沒有進行相關的處理。除此之外,時延估計引起的方位角誤 差、俯仰角誤差、目標距離誤差均與聲速、陣元間距、俯仰角以及方位角有關,嚴重影響了定 位精度。
【發明內容】
[0006] 針對現有技術的不足,本發明所要解決的首要技術問題在于提供一種基于聲源陣 列的定位跟蹤方法。
[0007] 本發明所要解決的另一技術問題在于提供一種基于聲源陣列的定位跟蹤裝置。
[0008] 為實現上述發明目的,本發明采用下述的技術方案:
[0009] -種基于聲源陣列的定位跟蹤方法,包括如下步驟:
[0010] S1,采用五元麥克風陣列采集現場聲音,對五元麥克風陣列中每個麥克風采集的 聲音信號進行預處理得到音頻信號;
[0011] S2,根據各麥克風之間的音頻信號到達時間延遲和麥克風陣列的位置信息對音頻 信號進行聲源的定位,計算出俯仰角、方位角和目標距離;
[0012]S3,根據計算出的俯仰角、方位角和目標距離對定位跟蹤裝置進行移動和轉向,到 達聲源位置。
[0013] 其中較優地,在步驟S1中,所述五元麥克風陣列中的五個麥克風組成十字陣型, 用于拾取同一聲源信號。
[0014] 其中較優地,在步驟S1中,聲音信號進行預處理得到音頻信號,包括如下步驟:
[0015]S11,將聲音信號進行加窗分幀,得到短時平穩的信號小段;其中,分幀是用特定的 窗函數w(n)與聲音信號sjn)進行卷積計算,從而形成加窗信號sw(n) =sJnhwOi);
[0016]S12,對聲音信號進行斷點檢測,計算短時能量E,若E小于門限值可認為是噪聲, 其中:
N是采樣點數,否則,轉向步驟S13 ;
[0017]S13,計算短時過零率&,若&在門限內,則表示檢測到帶噪音的音頻信號,帶噪音 的音頻信號的加窗信號\(1〇的短時過零率為
[0018]S14,當帶噪音的音頻信號檢測出來后,利用譜減法去噪,送入FIR帶通濾波器進 行濾波處理得到音頻信號。
[0019] 其中較優地,在步驟S14中,利用譜減法去噪,包括如下步驟:
[0020] S141,對帶噪音的音頻信號進行傅里葉變換,得到:X(?) =S(?)+N(?),計算功 率譜得:|x(?)2| = |s(?) |2+|n(?) |2+s(〇)n*(〇)+s*(?)n(?);其中,S*(?)N(?)與S(?)N#(?)均為 0,Ps(?)、Px(?) *PN(?)分別表示s(t)、x(t)和n(t)的功率譜,s(t) 為音頻信號,n(t)為噪聲信號,x(t)為帶噪音頻信號,則Px(?) =PS(?)+PN(?);
[0021]S142,取檢測到音頻信號前的一幀數據作為噪聲信號,得到噪聲功率譜PN(?);
[0022]S143,根據公式:Px ( ? ) =Ps ( ? ) +PN ( ? )得到純凈的音頻譜;
[0023]S144,對得到的純凈的音頻譜進行開方得到純音頻的幅度譜;
[0024]S145,對音頻信號s(t)作傅里葉變換,求出其相位,用所述相位乘以純音頻的幅 度譜,再進行傅里葉反變換得到譜減后的音頻信號。
[0025] 其中較優地,在步驟S2中,根據各麥克風之間的音頻信號到達時間延遲和麥克風 陣列的位置信息對進行過預處理的音頻信號進行目標聲源的定位,包括如下步驟:
[0026]S21,通過廣義互相關函數法,計算出五元麥克風陣列接收到的音頻信號中,每兩 路音頻信號之間的相對時延;
[0027]S22,根據步驟S21得到的相對時延,利用陣元與聲源位置的幾何關系得到聲源的 位置;
[0028] 所述聲源的位置包括聲源的方位角、俯仰角和目標距離。
[0029] 其中較優地,在步驟S21中,采用廣義互相關函數法計算出五元麥克風陣列接收 到的音頻信號中,每兩路音頻信號之間的相對時延,包括如下步驟:
[0030] S211,對兩路音頻信號求傅里葉變換,對其中一路傅里葉變換后的數據取共軛;
[0031] S212,計算兩路音頻信號之間的互功率譜;
[0032] S213,將頻域信號轉換到時域,得到廣義互相關函數,其中,廣義互相關函數為:
.Xi(?)、X2 (?)分別是Xl (t)、x2⑴的傅里葉變換, , 1(蛛〇)是互功率譜,!D12為權函數;
[0033] S214,找到廣義互相關相關函數的峰值位置,即為音頻信號之間的相對時延;
[0034] S215,對得到的相對時延中的錯誤數據進行過濾。
[0035] 其中較優地,在步驟S215中,對得到的相對時延中的錯誤數據進行過濾,包括如 下步驟:
[0036] S2151,進行聲音檢測,檢測到聲音則進入下一步,預定時間內沒有檢測到聲音,則 清空時延值數組;
[0037] S2152,利用時延值數組中包含的聲音段計算出時延值。
[0038] 其中較優地,在步驟S2152中,計算出時延值包括如下步驟:
[0039] S21521,將時延值數組中時延個數與時延閾值進行比較,當時延值數組中時延個 數小于時延閾值時,將新估算的時延值放入數組末尾;
[0040] S21522,當時延值數組中時延個數等于時延閾值時,則將數組后時延閾值-1個時 延前移,再將新估計算出的時延值放入數組末尾;
[0041] S21523,再次判斷時延值數組中時延個數,小于時延閾值時,則轉向步驟S21521, 等于時延閾值時,則轉向步驟S21524 ;
[0042] S21524,對時延數組中的時延值進行排序,去掉3個最大值和3個最小值,求剩余 時延閾值-6個值的平均,將此平均時延作為時延值進行聲源的定向。
[0043] 一種基于聲源陣列的定位跟蹤裝置,用于實現上述定位跟蹤方法,包括運動單元、 控制單元、音頻單元和顯示單元;
[0044] 其中,所述音頻單元用以采集現場聲音,并對五元麥克風陣列中每個麥克風采集 的聲音信號進行預處理;
[0045] 所述控制單元接收音頻單元傳送來的處理后的音頻信號,通過聲源定位算法進行 處理,將處理后的聲源定位信息送到顯示單元,同時,將處理后的定位控制命令發送到運動 單元;
[0046] 所述運動單元接收來自控制單元的控制命令,用來控制聲源陣列的定位跟蹤裝置 按照定位方向進行轉動和行駛;
[0047] 所述顯示單元接收來自控制部單元經處理后獲得的聲源定位信息和定位跟蹤裝 置的狀態,將其顯示出來。
[0048] 其中較優地,所述運動單元通過控制單元發出控制信號給電機驅動器,驅動電機 完成相應的轉向動作,使基于聲源陣列的定位跟蹤裝置朝向主聲源的方位;
[0049] 所述運動單元包括兩個驅動輪,分別設置于電驅動器的左右兩側,當兩個驅動輪 同步等速運動時完成前進或后退動作,當給兩個驅動輪不同速度時,使定位跟蹤裝置進行 轉動。
[0050] 本發明所提供的基于聲源