一種複雜環境下聲源定位跟蹤方法與流程
2023-06-11 17:58:21 2

本發明屬於語音信號處理領域,尤其涉及一種聲源定位跟蹤系統。
背景技術:
智能家庭服務機器人是現在機器人發展的一個重要方向,它可以完成有益於人類的服務工作而得到人們的普遍關注;如提供家務、娛樂休閒、教育、安全監控等服務,家庭服務機器人智能化的一個重要特徵是能夠進行語音對話、語音互動。然而,在家庭實際應用環境中,由於室內環境中其它說話人的聲音幹擾及室內環境的牆壁、地面對聲音的反射使得語音信號在室內傳播時,不可避免產生混響,會使得家庭服務機器人在進行語音互動過程中遭受其他說話人的聲音和環境噪聲的幹擾,影響用戶體驗。
技術實現要素:
為解決以上技術問題,本發明提供一種複雜環境下聲源定位跟蹤方法。
具體技術方案如下:
一種複雜環境下聲源定位跟蹤方法,其中,應用於智能設備,具體步驟如下:
步驟s1:通過一麥克風陣列捕獲語音信號,建立第n個麥克風在時刻k接收到的語音信號的聲學模型為:
yn(k)=gn*s(k)+vn(k),n=1,2,3,…,n;
其中,gn是從聲源到第n個麥克風的信道衝激響應;
s(k)為未知信號源;
vn(k)為第n個麥克風接收到的加性噪聲信號,並假設與目標語音信號及其他噪聲不相關;
n為麥克風陣列的麥克風數目;
步驟s2:自所述語音信號的功率譜中減去所述加性噪聲信號的功率譜,對獲得的功率譜進行傅立葉反變換,得到預處理後的語音信號;
步驟s3,自所述麥克風陣列中選取一路麥克風作為參考麥克風,計算所述未知信號源的信號到達所述麥克風陣列中不同麥克風的波達時延;
步驟s4:利用所述波達時延信息和所述麥克風陣列的拓撲結構信息估計聲源的位置;
步驟s5,調整所述智能設備以朝向所述聲源的位置。
上述的複雜環境下聲源定位跟蹤方法,所述步驟s2包括:
步驟s21,通過一帶通濾波器組對所述語音信號進行預濾波獲得預濾波後的語音信號;
步驟s22,對所述預濾波後的語音信號進行加窗和分幀操作,獲得複數段的幀數據;
步驟s23,對複數段的所述幀數據進行小波變換,並計算小波變換後的語音數據的方差;
步驟s24,判斷一幀數據的語音數據的方差是否大於一端點檢測門限值,如果大於,則相應的所述幀數據之後的語音數據為有效的語音數據,當前幀 數據記為起始幀;
步驟s25,判斷所述起始幀之後的一幀數據的語音數據的方差小於所述門限值時,對應的幀數據記為結束幀。
上述的複雜環境下聲源定位跟蹤方法,所述步驟s2包括:
步驟s26,對確定了起始幀和結束幀的分幀操作後的語音信號進行時域到頻域的轉換,並計算轉換後的頻域信號的功率譜;
步驟s27,自所述語音信號的功率譜中減去所述加性噪聲信號的功率譜,
步驟s28,進行傅立葉反變換得到預處理後的語音信號。
上述的複雜環境下聲源定位跟蹤方法,所述步驟s21中所述帶通濾波器組的上限截止頻率為3400hz,下限截止頻率為200hz,採樣率大於20khz。
上述的複雜環境下聲源定位跟蹤方法,所述步驟s3具體包括:
步驟s31,利用加權廣義互相關法分別計算各個預處理的語音信號的加權互功率譜;
步驟s32,分別對各個所述互功率譜進行傅立葉反變換,得到廣義互相關函數;
步驟s33,分別獲取使得所述廣義互相關函數最大的時間值作為所述未知信號源到達各個麥克風的相對時延。
上述的複雜環境下聲源定位跟蹤方法,所述步驟s4具體包括:
步驟s41,利用所述相對時延值計算出聲源到達各個麥克風的距離差;
步驟s42,結合所述麥克風陣列的拓撲結構信息確定聲源的位置。
上述的複雜環境下聲源定位跟蹤方法,所述麥克風陣列沿圓形拓撲結構設置於所述智能設備上,每個麥克風距離所述麥克風陣列的中心點的距離為 8mm至10mm。
上述的複雜環境下聲源定位跟蹤方法,所述智能設備採用家用服務機器人。
有益效果:以上技術方案可以實現複雜環境下的聲源識別,並可減少運算量使得聲源識別的實時性增強,有利於提升用戶體驗。
附圖說明
圖1為本發明的方法流程圖;
圖2為本發明的步驟2的方法流程圖;
圖3為本發明的步驟3的方法流程圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動的前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
需要說明的是,在不衝突的情況下,本發明中的實施例及實施例中的特徵可以相互組合。
下面結合附圖和具體實施例對本發明作進一步說明,但不作為本發明的限定。
參照圖1,一種複雜環境下聲源定位跟蹤方法,其中,應用於智能設備, 具體步驟如下:
步驟s1:通過一麥克風陣列捕獲語音信號,建立第n個麥克風在時刻k接收到的語音信號的聲學模型為:
yn(k)=gn*s(k)+vn(k),n=1,2,3,…,n;
其中,gn是從聲源到第n個麥克風的信道衝激響應;
s(k)為未知信號源;
vn(k)為第n個麥克風接收到的加性噪聲信號,並假設與目標語音信號及其他噪聲不相關;
n為麥克風陣列的麥克風數目;
步驟s2:自語音信號的功率譜中減去加性噪聲信號的功率譜,對獲得的功率譜進行傅立葉反變換,得到預處理後的語音信號;
步驟s3,自麥克風陣列中選取一路麥克風作為參考麥克風,計算未知信號源的信號到達麥克風陣列中不同麥克風的波達時延;
步驟s4:利用波達時延信息和麥克風陣列的拓撲結構信息估計聲源的位置;
步驟s5,調整智能設備以朝向聲源的位置。
上述的複雜環境下聲源定位跟蹤方法,參照圖2,步驟s2可以包括:
步驟s21,通過一帶通濾波器組對語音信號進行預濾波獲得預濾波後的語音信號;
步驟s22,對預濾波後的語音信號進行加窗和分幀操作,獲得複數段的幀數據;
步驟s23,對複數段的幀數據進行小波變換,並計算小波變換後的語音數 據的方差;
步驟s24,判斷一幀數據的語音數據的方差是否大於一端點檢測門限值,如果大於,則相應的幀數據之後的語音數據為有效的語音數據,當前幀數據記為起始幀;
步驟s25,判斷起始幀之後的一幀數據的語音數據的方差小於門限值時,對應的幀數據記為結束幀。
上述的複雜環境下聲源定位跟蹤方法,步驟s2可以包括:
步驟s26,對確定了起始幀和結束幀的分幀操作後的語音信號進行時域到頻域的轉換,並計算轉換後的頻域信號的功率譜;
步驟s27,自語音信號的功率譜中減去加性噪聲信號的功率譜,
步驟s28,進行傅立葉反變換得到預處理後的語音信號。
上述的複雜環境下聲源定位跟蹤方法,步驟s21中帶通濾波器組的上限截止頻率為3400hz,下限截止頻率為200hz,採樣率大於20khz。
上述的複雜環境下聲源定位跟蹤方法,參照圖3,步驟s3具體包括:
步驟s31,利用加權廣義互相關法分別計算各個預處理的語音信號的加權互功率譜;
步驟s32,分別對各個互功率譜進行傅立葉反變換,得到廣義互相關函數;
步驟s33,分別獲取使得廣義互相關函數最大的時間值作為未知信號源到達各個麥克風的相對時延。
上述的複雜環境下聲源定位跟蹤方法,步驟s4具體包括:
步驟s41,利用相對時延值計算出聲源到達各個麥克風的距離差;
步驟s42,結合麥克風陣列的拓撲結構信息確定聲源的位置。
上述的複雜環境下聲源定位跟蹤方法,麥克風陣列沿圓形拓撲結構設置於智能設備上,每個麥克風距離麥克風陣列的中心點的距離為8mm至10mm。
上述的複雜環境下聲源定位跟蹤方法,智能設備採用家用服務機器人。
本發明利用麥克風陣列作為語音信號採集前端實現聲源定位,可綜合目標信號、噪聲信號及幹擾信號的空間信息,增強期望方向的信號,抑制其他方向的噪音,有利於提升人機互動的質量。
以上僅為本發明較佳的實施例,並非因此限制本發明的實施方式及保護範圍,對於本領域技術人員而言,應當能夠意識到凡運用本發明說明書及圖示內容所作出的等同替換和顯而易見的變化所得到的方案,均應當包含在本發明的保護範圍內。