為了說明互相關函數,一個聲源位置如下所述:假設在兩個麥克風之間有一個聲源,距離未知。互相關函數和類似傳遞函數方法用於去確定該聲源的位置。
這個聲源為具有高斯分布的寬度噪聲,並對這個信號從500到1500Hz進行帶通處理,對這個隨機噪聲信號s(t),以10000s/s的速率進行採樣(第一個s表示採樣點)。在兩個麥克風位置生成兩個信號,分別為p1(t)和p2(t)。假設噪聲的傳播速度為340m/s,從聲源到p1,通過忽略前250個數據點確定產生了25ms的信號延遲,而到p2,相似地忽略前140個數據點確定產生了14ms的信號延遲。為了描述聲源的擴散和其他特定路徑的影響,生成了兩個不相關的高斯寬帶噪聲信號,n1(t)和 n2(t),其能量為原來信號總能量的20%。在兩個麥克風位置形成的信號分別為
x1(t)=p1(t)+n1(t)
x2(t)=p2(t)+n2(t)
這兩個信號如圖1所示。
圖1 兩個麥克風的時域信號
用x1作為參考,計算x2與x1的互相關函數,從圖上可以看出,在-11ms位置有峰值,如圖2所示。
圖2 用x1作為參考,計算互相關函數
兩個麥克風的距離是11.88米,-11ms的延遲表徵的距離為3.36米。因此,如果我們假設聲源離1號麥克風的距離為d1,距2號麥克風的距離為d2,那麼我們有
d1+d2=11.88
d2-d1=-3.36
求解以上兩個方程,得到d2=4.26,d1=7.62,與實際情況相同。
注意,如果用x2作參考,計算互相關函數,那麼延遲時間為11ms,如圖3所示。
圖3 用x2作為參考,計算互相關函數
這種情況下,我們有
d1+d2=11.88
d1-d2=3.36
求解以上兩個方程,得到d1=7.62,d2=4.26。
另一種可選方法是在兩個麥克風響應之間採用類型傳遞函數的方法。這不是嚴格意義上的傳遞函數,因為傳遞函數是響應與激勵之比(其實是傳遞率)。然而延遲信息仍然包含在這個信號中。這個傳遞函數定義如下
下面的圖給出了了這兩個信號的自譜、互譜,傳遞函數(傳遞率),相干函數和脈衝響應函數。
圖4 x1的自譜
圖5 x2的自譜
上面兩圖中顯示的自譜非常相似,但差異也可識別。不相關聲源的寬帶特徵在62dB附近很明顯。互譜和傳遞函數也非常相似,如下圖所示。
圖6 用x2作為參考的互譜
圖7 用x1作為參考的傳遞函數
出於參考目的,同時也給出了相干函數。
圖8 相干函數
從相干曲線上可以看出,位於有效帶寬之外的相干係數本質上是零。相干表明位於500-1500Hz之間的信號是相關的,而該區間之外的信號相關性很小或者沒有關係。
最終,脈衝響應函數通過傳遞函數的傅立葉逆變換得到,可以得到時間延遲信息。
圖9 脈衝響應函數
峰值在零時刻之間,因而揭示時間延遲是-11ms。如果我們只是對互譜作傅立葉逆變換,只能得到互相關函數。除以輸入的自譜是有用的,因為它有效地正則化了數據。另一個有用的方案是將互譜乘以相干,因為這樣可以有效地消除不相關的部分。這在這裡是不必要的,因為信號已有足夠的信噪比。
圖10 局部放大脈衝響應函數
註:翻譯自http://blog.prosig.com/2001/06/06/correlation-example/