基於聲源方向實時預測跟蹤的動態盲信號分離方法
2023-04-23 03:41:26 3
基於聲源方向實時預測跟蹤的動態盲信號分離方法
【專利摘要】本發明提出了一種基於聲源方向實時預測跟蹤的動態盲信號分離方法,該方法根據上一個時間段的信號特徵自動預測下一個時間段的信號方向,並且,根據信號在時間上的連續性進行自我糾正;然後,根據預測的信號方向對麥克風陣列接受信號的強度矢量進行篩選,實現動態信號分離,通過簡單的預測算法對聲音源信號的位置進行實時預測,從而簡化了原本複雜的聲源定位過程,為算法節約了時間開銷,並且算法簡單,容易實現,預測效果也不錯,因此可以保證得到不錯的分離效果,並且由於加入了分幀操作,分離結果保持了信號在時間上的連續性,不易受突發噪聲的影響。
【專利說明】 基於聲源方向實時預測跟蹤的動態盲信號分離方法
【技術領域】
[0001]本發明屬於信號處理【技術領域】,具體涉及一種基於聲源方向實時預測跟蹤的動態盲信號分離方法。
【背景技術】
[0002]盲信號分離是指在沒有任何關於聲音源數量和位置信息的前提下,自動將混合聲音信號中的各個獨立信號分離出來的技術。目前,常用的聲音信號分離方法主要包括:隨機方法、自適應方法和確定方法。
[0003]隨機方法用於信號分離需要假設各源信號在統計學上是獨立的,它們的分離質量只與信號本身的特性有關。然而,實際應用中混合的聲音信號往往卷積在一起,因此,這個假設是很難滿足的。另外,隨機方法在分離過程中有大量的迭代過程,時間開銷大,很難在實時系統中應用。自適應方法根據信號特徵優化分離濾波器的結構,從而在空間上抑制幹擾信號、強化捕捉目標信號。但是,自適應算法很可能收斂到一個局部最優點,而且該方法在反射環境下的分離結果並不理想。與這兩種算法不同,確定性方法不需要關於信號源的任何前提假設,僅僅根據信號本身的決定性特徵進行信號分離,例如:方向、環境反射等。但是,當前的確定性信號分離方法都需要對混合信號進行預處理,即:借用其他算法的輔助得到信號源的數目和方向,分離方法本身不能對信號的這些確定性特徵進行自動計算。所以,不僅算法的計算量大,而且,分離的質量也直接受預處理算法的影響。尤其是當信號持續時間長或者信號源相對於聲音傳感器不斷運動時,連續時間段的信號方向計算完全是孤立的,忽略了信號在時間上的連續性,從而很難對隨機噪聲進行排除。因此,當前的很多確定性信號分離方法並不是嚴格意義上的盲信號分離技術,而且,分離速度慢、精度低、缺乏連續性。
【發明內容】
[0004]針對現有方法存在的不足,本發明提出了一種基於聲源方向實時預測跟蹤的動態盲信號分離方法,該方法根據上一個時間段的信號特徵自動預測下一個時間段的信號方向,並根據信號在時間上的連續性進行自我糾正;再根據預測的信號方向對麥克風陣列接受信號的強度矢量進行篩選,實現動態信號分離,達到提高效率,簡化算法的目的。
[0005]本發明的技術方案是:
[0006]一種基於聲源方向實時預測跟蹤的動態盲信號分離方法,包括以下步驟:
[0007]步驟1、採用由M個麥克風組成的麥克風陣列接收環境中的N個人的混合聲音信號,根據設定的處理周期對混合聲音信號進行分段,並根據處理周期的長度獲得每一段內的採樣點個數;
[0008]步驟2、在每一個處理周期內,將M個麥克風採集到的M個混合聲音信號的所有採樣點的幅值進行矩陣化,進而獲得混合聲音信號矩陣,並計算該矩陣的秩,即獲得混合聲音信號的個數N ;上述混合聲音信號矩陣的行數為麥克風個數M,列數為每個處理周期內採樣點個數,矩陣中元素為每個採樣點的幅值;
[0009]步驟3、獲得的麥克風陣列聲壓、麥克風陣列水平方向聲壓梯度、麥克風陣列垂直方向的聲壓梯度,並計算出頻域內麥克風陣列接收到的混合聲音的聲壓信號強度矢量方向,將其代入馮米修斯分布中,計算每個角度的聲壓信號分布情況,獲得每個角度混合聲音信號能量的均方差波形,並將每個角度對應的波形進行疊加獲得合成波形,確定所需峰值對應的角度,即獲得N個獨立聲音信號對於麥克風陣列中心的初始入射角度,進而獲得該角度對應的信號即為分離後的獨立聲音信號;
[0010]具體過程如下:
[0011]步驟3-1、根據聲音源信號、麥克風對於陣列中心的方向角度、聲音源的波束到達方向和麥克風陣列中心聲壓獲得的麥克風陣列聲壓、麥克風陣列水平方向聲壓梯度、麥克風陣列垂直方向的聲壓梯度;
[0012]步驟3-2、將獲得的時域內麥克風陣列聲壓、麥克風陣列水平方向聲壓梯度、麥克風陣列垂直方向的聲壓梯度,通過傅立葉變換,獲得頻域內的麥克風陣列聲壓、麥克風陣列水平方向聲壓梯度、麥克風陣列垂直方向的聲壓梯度;
[0013]步驟3-3、根據頻域內麥克風陣列聲壓、頻域內的麥克風陣列水平方向聲壓梯度、頻域內的麥克風陣列垂直方向聲壓梯度計算出頻域內麥克風陣列接收到的混合聲音的聲壓信號的強度矢量方向;
[0014]步驟3-4、將獲得的聲壓信號的強度矢量方向代入馮米修斯分布中,計算每個角度的聲壓信號分布情況,公式如下:
【權利要求】
1.一種基於聲源方向實時預測跟蹤的動態盲信號分離方法,其特徵在於,包括以下步驟: 步驟1、採用由M個麥克風組成的麥克風陣列接收環境中的N個人的混合聲音信號,根據設定的處理周期對混合聲音信號進行分段,並根據處理周期的長度獲得每一段內的採樣點個數; 步驟2、在每一個處理周期內,將M個麥克風採集到的M個混合聲音信號的所有採樣點的幅值進行矩陣化,進而獲得混合聲音信號矩陣,並計算該矩陣的秩,即獲得混合聲音信號的個數N ;上述混合聲音信號矩陣的行數為麥克風個數M,列數為每個處理周期內採樣點個數,矩陣中元素為每個採樣點的幅值; 步驟3、獲得的麥克風陣列聲壓、麥克風陣列水平方向聲壓梯度、麥克風陣列垂直方向的聲壓梯度,並計算出頻域內麥克風陣列接收到的混合聲音的聲壓信號強度矢量方向,將其代入馮米修斯分布中,計算每個角度的聲壓信號分布情況,獲得每個角度混合聲音信號能量的均方差波形,並將每個角度對應的波形進行疊加獲得合成波形,確定所需峰值對應的角度,即獲得N個獨立聲音信號對於麥克風陣列中心的初始入射角度,進而獲得該角度對應的信號即為分離後的獨立聲音信號; 具體過程如下: 步驟3-1、根據聲音源信號、麥克風對於陣列中心的方向角度、聲音源的波束到達方向和麥克風陣列中心聲壓獲得的麥克風陣列聲壓、麥克風陣列水平方向聲壓梯度、麥克風陣列垂直方向的聲壓梯度; 步驟3-2、將獲得的時域內麥克風陣列聲壓、麥克風陣列水平方向聲壓梯度、麥克風陣列垂直方向的聲壓梯度,通過傅立葉變換,獲得頻域內的麥克風陣列聲壓、麥克風陣列水平方向聲壓梯度、麥克風陣列垂直方向的聲壓梯度; 步驟3-3、根據頻域內麥克風陣列聲壓、頻域內的麥克風陣列水平方向聲壓梯度、頻域內的麥克風陣列垂直方向聲壓梯度計算出頻域內麥克風陣列接收到的混合聲音的聲壓信號的強度矢量方向; 步驟3-4、將獲得的聲壓信號的強度矢量方向代入馮米修斯分布中,計算每個角度的聲壓信號分布情況,公式如下:
其中,Y (ω)表不麥克風陣列接收到的混合聲音的聲壓信號的強度矢量方向; V-表不聲壓信號的強度矢量方向服從的單一馮米修斯分布對應的均值,即每個獨立聲音信號對麥克風陣列中心的入射角度; 10(k)表示一階修正貝塞爾函數; k表示聲壓信號的強度矢量方向服從的單一馮米修斯分布對應的濃度參數,即馮米修斯分布的方差的倒數; 步驟3-5、將聲音信號對麥克風陣列中心的入射角度從1°到360°,以1°為公差,從小到大依次取值,根據每個角度對應的馮米修斯分布函數和頻域內麥克風陣列聲壓,計算出每個角度對應的頻域內的獨立聲音信號,將得到的頻域內獨立聲音信號經過反傅立葉變換轉換成時域獨立聲音信號,並計算每個角度獨立聲音信號能量的均方差;將1°~360°的每個角度依次代入公式(I)中,獲得每個角度對應的馮米修斯分布函數,進而得到每個方向的聲音信號,計算公式如下:
其中,5(ω)表示經過分離後得到的頻域內所有角度對應的獨立聲音信號矩陣; 將得到的頻域內所有角度對應的獨立聲音信號矩陣經過反傅立葉變換轉換到時域內,並計算每個角度信號能量的均方差,計算公式如下:
其中,RMS表不每個角度混合聲音信號對應的能量的均方差; 表示由經過反傅立葉變換轉換成的時域內所有角度對應的獨立聲音信號矩陣; L表示為處理周期; 步驟3-6、由所有角度對應的獨立聲音信號能量均方差組成混合信號的能量均方差分布波形,將波形的峰值由大到小進行排序,取其前N個峰值,進而獲得上述峰值對應的角度,其對應的角度即為N個獨立聲音信號對於麥克風陣列中心的初始入射角度,根據步驟3-5獲得該角度對應的信號即為分離後的獨立聲音信號; 步驟4、根據每個獨立聲音信號對於麥克風陣列中心的初始入射角度,採用卡爾曼濾波算法對第一處理周期之後的其他處理周期內的各獨立聲音信號的運動方向進行預測;具體過程如下: 步驟4-1、根據獲得的N個獨立聲音信號相對於麥克風陣列的初始入射角度及其角速度,獲得下一處理周期內N個獨立聲音信號相對於麥克風陣列的入射角度向量的預測估計值; 計算公式如下: = i42k_1(4) 其中,A表示第k個處理周期獨立聲音信號角度向量預測估計值; 毛―,表示表示第k-ι個處理周期獨立聲音信號角度向量準確估計值,初始時\ i表示第一處理周期的角度向量,Xi^lJ,k = 2, α H表不各個獨立聲音信號對於麥克風陣列中心的初始入射角度,α ' η表示各個獨立聲音信號相對於麥克風陣列的初始入射角速度,[.]Τ為對中括號中的矩陣轉置;Α為狀態轉移矩陣,
步驟4-2、對獲得的下一處理周期內,獨立聲音信號相對於麥克風陣列中心的入射角度向量的估計值進行修正,獲得上述入射角度向量的準確估計值; 計算公式如下:
其中,毛表示第k個處理周期獨立聲音信號角度向量準確估計值; Kk表示卡爾曼增? K =PM'*(HP,;H' + R)' Pk =APk^Af+ Q根據實際情況需求設定Plri的初始值;Pk = (1- KkH') Pk,Pk為第k個處理周期的角度向量誤差的協方差,I為單位矩陣;巧為第k個處理周期的角度向量的估計值誤差的協方差,A'為A的轉置'Q為過程噪聲的協方差,Q = E (wk2),Wk為第k個處理周期的系統噪聲; H為測量矩陣,Η = [^|,H'為矩陣H的轉置,R為測量噪聲的協方差,R = E( <),uk為第k個處理周期的測量噪聲,(^r1為對括號中的矩陣求逆矩陣; yk表示系統測量值,yk的取值方法為:在第k個處理周期獨立聲音信號相對於麥克風陣列的入射角度估計值的-10°?+10°範圍內,搜索查找RMS最大值所對應的角度,該角度即為yk的取值; 步驟4-3、根據預測獲得的下一處理周期各個獨立聲音信號相對於麥克風陣列的入射角度準確值,結合步驟3-5確定該角度所對應的聲音源分離信號; 步驟4-4、反覆執行步驟4-1至步驟4-3,直至獲得所有處理周期內各聲音源的預測分離信號; 步驟5、將各處理周期內的各聲音源分離信號進行連接,獲得時域內各聲音源完整的分離信號。
2.根據權利要求1所述的基於聲源方向實時預測跟蹤的動態盲信號分離方法,其特徵在於,步驟3-1所述的獲得的麥克風陣列聲壓、麥克風陣列水平方向聲壓梯度、麥克風陣列垂直方向的聲壓梯度,計算公式如下: 計算麥克風陣列聲壓Pw(t)公式為: Pw(O = 0.5 Σ?=1 Σ--=ι PoOm(仏 OOK ⑴(6) 其中,Sn(t)為t時刻第η個聲音源信號; P0(t)表示t時刻由聲波造成的麥克風陣列中心聲壓; am( Θ n(t))表不在t時刻第m個麥克風關於第η個聲音源的導向矢量; am(0n(t)) = ejkdm cos (^m-e?(t))(7) j表示虛數單位; k = 2 3i / λ , λ表示混合音頻信號的波長; dm表示第m個麥克風與陣列中心的距離; θ n(t)表不t時刻第η個聲音源的波束到達方向; M表示麥克風個數; N表不聲音源的個數; 計算麥克風陣列水平方向聲壓梯度Px(t)公式如下:PxOO = Em=I Σ^=1 P0COam(WO)Si,⑴ CosOm)(8) 其中,表示第m個麥克風對於陣列中心的方向角度; 計算麥克風陣列垂直方向的聲壓梯度Py(t)公式如下:
3.根據權利要求1所述的基於聲源方向實時預測跟蹤的動態盲信號分離方法,其特徵在於,步驟3-3所述的計算出頻域內麥克風陣列接收到的混合聲音的聲壓信號的強度矢量方向, 計算混合聲音的聲壓信號強度矢量方向公式如下:
其中, Re[.]表示取複數實部; Ρ^(ω)表示頻域內的麥克風陣列聲壓的共軛矩陣; Ρχ(ω)表示頻域內的麥克風陣列水平方向聲壓梯度; Py (ω)表不頻域內的麥克風陣列垂直方向聲壓梯度; ω表示頻率單位,即弧度/採樣點。
【文檔編號】G10L21/028GK104200813SQ201410310400
【公開日】2014年12月10日 申請日期:2014年7月1日 優先權日:2014年7月1日
【發明者】王 義, 魏陽傑, 陳瑤, 關楠 申請人:東北大學