本發(fā)明涉及信號處理技術(shù)領(lǐng)域,更具體地,涉及一種基于RLS算法的麥克風(fēng)陣列輸出信號自適應(yīng)校準方法。
背景技術(shù):
語音通信已經(jīng)成為人類信息交流最主要的手段之一,利用麥克風(fēng)陣列來對語音信號進行處理的一系列方法理論已經(jīng)被研究了二十多年。當利用單麥克風(fēng)來接收語音信號時,單麥克風(fēng)接收到的是由多個聲源和環(huán)境噪聲共同組成的混合信號。同時,由于聲源的移動性以及室內(nèi)各種其他聲音的多徑反射和混響等因素,都會導(dǎo)致單個麥克風(fēng)輸出的信號質(zhì)量下降,從而導(dǎo)致語音通信質(zhì)量嚴重惡化。針對單個麥克風(fēng)采集語音的種種不足,研究人員考慮使用麥克風(fēng)陣列來接收信號以提高語音通信的質(zhì)量。
所謂麥克風(fēng)陣列,就是把多個麥克風(fēng)按照一定的拓撲結(jié)構(gòu)組成一個陣列。麥克風(fēng)陣列是對來自空間不同方位的信號進行空時頻聯(lián)合處理的。陣列具有空間選擇性,使它能夠捕獲特定方向的高質(zhì)量信號的同時,又減少了噪聲和其它干擾。另外,麥克風(fēng)陣列在其接收區(qū)域內(nèi)可以自動檢測、定位和追蹤說話者。因此,麥克風(fēng)陣列被廣泛應(yīng)用于語音通信環(huán)境來提高語音通信的質(zhì)量。
進一步的,為了得到具有更高質(zhì)量性能的輸出信號,人們在麥克風(fēng)陣列的基礎(chǔ)架構(gòu)上又提出了波束成形的方法。但是,鑒于這種方法是利用延遲和求和來形成波束的,在已經(jīng)假定的信號模型中,波束形成器對一些誤差因素十分的敏感,可能會造成輸出信號的嚴重衰減和扭曲。其中一個主要的誤差因素就是由制造工藝引起的麥克風(fēng)的不匹配問題。
基于此,現(xiàn)有技術(shù)提出了麥克風(fēng)校準技術(shù)來對麥克風(fēng)的不匹配問題進行補償。在傳統(tǒng)的校準技術(shù)中,麥克風(fēng)的傳輸函數(shù)是在使用波束形成器之前就被提前測量設(shè)定的,但是由于麥克風(fēng)的老化效應(yīng)和環(huán)境因素的影響,麥克風(fēng)的傳輸函數(shù)會隨著時間改變,無法對后續(xù)的信號進行再次較為準確的校準。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是為了實現(xiàn)對麥克風(fēng)陣列輸出信號的自適應(yīng)校準,解決因為麥克風(fēng)的不匹配而導(dǎo)致的波束形成器對輸出信號造成嚴重衰減或扭曲的問題,使得輸出信號能夠達到更快的誤差收斂速度和更小的失真誤差。
為實現(xiàn)以上發(fā)明目的,采用的技術(shù)方案是:
一種基于RLS算法的麥克風(fēng)陣列輸出信號自適應(yīng)校準方法,包括以下步驟:
S1.選取麥克風(fēng)陣列N路麥克風(fēng)的第n組輸出信號x0(n)、x1(n)、x2(n)、…、xN-1(n)作為需校準的信號;
S2.選取其中一路麥克風(fēng)的第n組輸出信號xi(n)輸入至固定波束形成器中,固定波束形成器對輸出信號xi(n)的特性進行平均化,得到輸出信號xa(n);
S3.對xa(n)進行時間延遲補償后得到參考信號d(n);
S4.將輸出信號x0(n)、x1(n)、x2(n)、…、xN-1(n)分別輸入至校準濾波器W0[n]、校準濾波器W1[n]、…、校準濾波器WN-1[n]中進行校準,校準濾波器W0[n]、校準濾波器W1[n]、…、校準濾波器WN-1[n]分別輸出校準后的輸出信號y0(n)、y1(n)、…、yN-1(n);
S5.令校準濾波器Wm[n]的輸出信號ym(n)與d(n)相減,得到誤差值em(n);m的初始值為0;
S6.根據(jù)誤差值em(n)采用RLS算法對校準濾波器Wm[n]的系數(shù)進行更新;
S7.令m=m+1,然后重復(fù)執(zhí)行步驟S5~S6,直至m>N-1;
S8.令n=n+1,然后執(zhí)行步驟S1~S7。
上述方案中,校準方法是對輸出信號進行分組處理的,對于當前組輸出信號的校準是基于前一組輸出信號數(shù)據(jù)所更新的校準濾波器的,由于更新后的校準濾波器能夠很好地貼合輸出信號的特性,因此其校準的準確度與現(xiàn)有技術(shù)相比得到了提高,且由于校準濾波器的系數(shù)在整個的校準過程中是適應(yīng)于輸出信號的特性進行變化的,在麥克風(fēng)陣列出現(xiàn)老化或環(huán)境變化等因素導(dǎo)致的麥克風(fēng)陣列的輸出特性變化較大的情況下,本發(fā)明提供的校準方法也能夠很好地適應(yīng)于這種變化,對輸出信號進行有效的校準。
優(yōu)選地,所述步驟S3使用延時濾波器對xa(n)進行時間延遲補償。
優(yōu)選地,所述步驟S4中在輸出校準后的輸出信號y0(n)、y1(n)、…、yN-1(n)后,將輸出信號y0(n)、y1(n)、…、yN-1(n)分別輸入至另一波束形成器中,另一波束形成器對輸出信號y0(n)、y1(n)、…、yN-1(n)進行延遲、求和處理,然后輸出經(jīng)過處理的信號y0(n)、y1(n)、…、yN-1(n)。
優(yōu)選地,所述步驟S6具體包括以下步驟:
S61.初始化校準濾波器Wm[n]的系數(shù)矩陣Wm(n)和逆矩陣Pm(0):
S62.計算增益矢量km(n):
km(n)=Pm(n-1)Xm(n)/[λ+XmT(n)Pm(n-1)Xm(n)];
S63.對濾波器系數(shù)矩陣Wm(n)進行更新:Wm(n)=Wm(n-1)+km(n)em(n);其中ym(n)=WmT(n-1)Xm(n),em(n)=d(n)-ym(n);
S64.對逆矩陣P(n)進行更新:
Pm(n)=λ-1[Pm(n-1)-km(n)XmT(n)Pm(n-1)];
其中,為步長調(diào)整參數(shù),I為單位矩陣,Pm(n)表示自相關(guān)矩陣Rxx(n)的逆矩陣,λ是遺忘因子,且0<λ<1。
優(yōu)選地,所述步驟S61中,對逆矩陣Pm(0)進行初始化時,根據(jù)em(n)的大小對的大小進行調(diào)整。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
本發(fā)明提供的方法能夠解決因為麥克風(fēng)的不匹配而導(dǎo)致的波束形成器對輸出信號造成嚴重衰減或扭曲的問題,使得輸出信號能夠達到更快的誤差收斂速度和更小的失真誤差。同時,本發(fā)明提供的校準方法是對輸出信號進行分組處理的,對于當前組輸出信號的校準是基于前一組輸出信號數(shù)據(jù)所更新的校準濾波器的,由于更新后的校準濾波器能夠很好地貼合輸出信號的特性,因此其校準的準確度與現(xiàn)有技術(shù)相比得到了提高,且由于校準濾波器的系數(shù)在整個的校準過程中是適應(yīng)于輸出信號的特性進行變化的,在麥克風(fēng)陣列出現(xiàn)老化或環(huán)境變化等因素導(dǎo)致的麥克風(fēng)陣列的輸出特性變化較大的情況下,本發(fā)明提供的校準方法也能夠很好地適應(yīng)于這種變化,對輸出信號進行有效的校準。另外,在校準的過程中,引入了變步長的RLS算法對校準濾波器的系數(shù)進行調(diào)整,變步長的RLS算法對輸出信號具有更快的誤差收斂速度和更小的失真誤差,實現(xiàn)了對校準的優(yōu)化。
附圖說明
圖1為校準方法的實施過程圖。
圖2為校準濾波器的校準過程圖。
圖3為校準濾波器更新的過程圖。
圖4為校準方法的流程圖。
圖5為實施例2的校準方法的流程圖。
圖6為固定步長NLMS算法誤差性能圖。
圖7為RLS算法的誤差性能圖(步長調(diào)整參數(shù))。
圖8為RLS算法的誤差性能圖(步長調(diào)整參數(shù))。
具體實施方式
附圖僅用于示例性說明,不能理解為對本專利的限制;
以下結(jié)合附圖和實施例對本發(fā)明做進一步的闡述。
實施例1
如圖4所述,本發(fā)明提供的校準方法包括以下步驟:
S1.選取麥克風(fēng)陣列N路麥克風(fēng)的第n組輸出信號x0(n)、x1(n)、x2(n)、…、xN-1(n)作為需校準的信號;
S2.選取其中一路麥克風(fēng)的第n組輸出信號xi(n)輸入至固定波束形成器中,固定波束形成器對輸出信號xi(n)的特性進行平均化,得到輸出信號xa(n);
S3.通過延時濾波器對xa(n)進行時間延遲補償后得到參考信號d(n);
S4.將輸出信號x0(n)、x1(n)、x2(n)、…、xN-1(n)分別輸入至校準濾波器W0[n]、校準濾波器W1[n]、…、校準濾波器WN-1[n]中進行校準,校準濾波器W0[n]、校準濾波器W1[n]、…、校準濾波器WN-1[n]分別輸出校準后的輸出信號y0(n)、y1(n)、…、yN-1(n);然后將輸出信號y0(n)、y1(n)、…、yN-1(n)分別輸入至另一波束形成器中,另一波束形成器對輸出信號y0(n)、y1(n)、…、yN-1(n)進行延遲、求和處理,然后輸出經(jīng)過處理的信號y0(n)、y1(n)、…、yN-1(n);
S5.令校準濾波器Wm[n]的輸出信號ym(n)與d(n)相減,得到誤差值em(n);m的初始值為0;
S6.根據(jù)誤差值em(n)采用RLS算法對校準濾波器Wm[n]的系數(shù)進行更新;
S7.令m=m+1,然后重復(fù)執(zhí)行步驟S5~S6,直至m>N-1;
S8.令n=n+1,然后執(zhí)行步驟S1~S7。
上述方案中,校準方法是對輸出信號進行分組處理的,對于當前組輸出信號的校準是基于前一組輸出信號數(shù)據(jù)所更新的校準濾波器的,由于更新后的校準濾波器能夠很好地貼合輸出信號的特性,因此其校準的準確度與現(xiàn)有技術(shù)相比得到了提高,且由于校準濾波器的系數(shù)在整個的校準過程中是適應(yīng)于輸出信號的特性進行變化的,在麥克風(fēng)陣列出現(xiàn)老化或環(huán)境變化等因素導(dǎo)致的麥克風(fēng)陣列的輸出特性變化較大的情況下,本發(fā)明提供的校準方法也能夠很好地適應(yīng)于這種變化,對輸出信號進行有效的校準。
本實施例中,如圖3所示,步驟S6具體包括以下步驟:
S61.初始化校準濾波器Wm[n]的系數(shù)矩陣Wm(n)和逆矩陣Pm(0):
S62.計算增益矢量km(n):
km(n)=Pm(n-1)Xm(n)/[λ+XmT(n)Pm(n-1)Xm(n)];
S63.對濾波器系數(shù)矩陣Wm(n)進行更新:Wm(n)=Wm(n-1)+km(n)em(n);其中ym(n)=WmT(n-1)Xm(n),em(n)=d(n)-ym(n);
S64.對逆矩陣P(n)進行更新:
Pm(n)=λ-1[Pm(n-1)-km(n)XmT(n)Pm(n-1)];
其中,為步長調(diào)整參數(shù),I為單位矩陣,Pm(n)表示自相關(guān)矩陣Rxx(n)的逆矩陣,λ是遺忘因子,且0<λ<1。
實施例2
本實施例在實施例1提供的方法的基礎(chǔ)上,進行了具體的實驗。實驗的流程圖如圖5所示,本實施例的實驗取N=8個麥克風(fēng)按照一定的拓撲結(jié)構(gòu)組成麥克風(fēng)陣列,如圖1所示,聲源發(fā)出語音信號s(n)由麥克風(fēng)接收后,麥克風(fēng)輸出信號xN(n)。實驗將8路麥克風(fēng)的輸出信號輸入到固定波束形成器中,固定波束形成器將各路麥克風(fēng)的輸出信號特性進行平均化,得到信號xa(n)。xa(n)經(jīng)時間延遲補償后作為可靠理想的參考信號d(n)。其后將各路麥克風(fēng)輸出信號xN(n)分別輸入到相同的校準濾波器中,其輸出信號yN(n)作為校準后的輸出信號。在完成校準之后,需要對校準濾波器的系數(shù)進行更新。
圖2為校準濾波器的校準過程圖。在完成一次校準后,將校準后的輸出信號與參考信號d(n)作比較,以兩者之間的差值來更新調(diào)整校準濾波器系數(shù),然后使用更新系數(shù)的校準濾波器來對下一組的輸出信號進行校準。
本實施例中,為了得到更快的誤差收斂速度和更準確的目標信號,利用RLS算法代替NLMS算法來對校準濾波器進行系數(shù)的更新。圖3為校準濾波器系數(shù)更新的流程圖。更新的流程包括4個步驟,具體如下:
步驟一、初始化校準濾波器Wm[n]的系數(shù)矩陣Wm(n)和逆矩陣Pm(0):
步驟二、計算增益矢量km(n):
km(n)=Pm(n-1)Xm(n)/[λ+XmT(n)Pm(n-1)Xm(n)];
步驟三、對濾波器系數(shù)矩陣Wm(n)進行更新:
Wm(n)=Wm(n-1)+km(n)em(n);其中ym(n)=WmT(n-1)Xm(n),em(n)=d(n)-ym(n);
步驟四、對逆矩陣P(n)進行更新:
Pm(n)=λ-1[Pm(n-1)-km(n)XmT(n)Pm(n-1)];
其中,為步長調(diào)整參數(shù),I為單位矩陣,Pm(n)表示自相關(guān)矩陣Rxx(n)的逆矩陣,λ是遺忘因子,且0<λ<1。
圖6為固定步長的NLMS算法的誤差性能圖,用圖7、圖8分別為不同步長調(diào)整參數(shù)的RLS算法的誤差性能圖。與之對比可以看出,RLS算法的改進加快了誤差收斂速度和增強了信號的穩(wěn)定度,因此本發(fā)明提供的方法能夠?qū)敵鲂盘栠M行有效的校準。
顯然,本發(fā)明的上述實施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對本發(fā)明的實施方式的限定。對于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動。這里無需也無法對所有的實施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明權(quán)利要求的保護范圍之內(nèi)。