本發(fā)明涉及一種自適應(yīng)子帶音頻反饋抑制方法,屬于信號(hào)處理、語音信號(hào)處理技術(shù)領(lǐng)域。
背景技術(shù):
擴(kuò)聲應(yīng)用中的反饋(嘯叫)問題由來已久。我們幾乎都有如此的經(jīng)歷:在擴(kuò)聲時(shí)為了提高傳聲增益、加大發(fā)言人的擴(kuò)聲輸出音量,往往在增加音量時(shí)引起擴(kuò)聲系統(tǒng)發(fā)生刺耳的嘯叫;這就是常見的擴(kuò)聲系統(tǒng)的反饋?zhàn)约ぃㄒ步袊[叫)現(xiàn)象。為了解決擴(kuò)聲中音量小的問題,在保證擴(kuò)聲系統(tǒng)不發(fā)生反饋?zhàn)约さ耐瑫r(shí),如何提高傳聲增益是一個(gè)關(guān)鍵性的問題。從控制理論的角度看待這個(gè)問題,這就是一個(gè)典型的反饋回路的控制問題:從揚(yáng)聲器發(fā)出的信號(hào)經(jīng)空間衰減后進(jìn)入麥克風(fēng),此信號(hào)再經(jīng)過電路放大送給揚(yáng)聲器,如此形成一個(gè)閉環(huán)回路;當(dāng)此閉環(huán)回路的增益小于1時(shí),系統(tǒng)穩(wěn)定;當(dāng)此閉環(huán)回路的增益大于1時(shí),系統(tǒng)產(chǎn)生反饋?zhàn)约ぁ?/p>
為了防止擴(kuò)聲系統(tǒng)的反饋?zhàn)约?,最基本的做法就是減小系統(tǒng)的環(huán)路增益。傳統(tǒng)的做法有:1、改善環(huán)境聲裝,提高從揚(yáng)聲器到麥克風(fēng)的衰減,從而降低環(huán)路增益;2、采用指向型音柱、選用指向型麥克風(fēng)等,這都是為了達(dá)到減小從揚(yáng)聲器到麥克風(fēng)的反饋增益,從而降低環(huán)路增益。隨著電路處理技術(shù)和數(shù)字音頻信號(hào)處理技術(shù)(DSP)的發(fā)展,20年前出現(xiàn)了移頻、移相和陷波濾波器等技術(shù),進(jìn)一步提高傳聲增益。其基本原理也都是利用環(huán)境空間對(duì)不同頻率信號(hào)的衰減不同,來降低回路增益:3、移頻技術(shù)是通過將麥克風(fēng)拾取的信號(hào)頻率(大多是)向高頻端變換(頻率移升),對(duì)麥克風(fēng)拾取信號(hào)頻率變換增加,使反饋信號(hào)的頻率逐漸增加,而使得在反饋?zhàn)顝?qiáng)點(diǎn)的頻率信號(hào)在每一次的反饋中逐漸移到更高的頻率,從而使信號(hào)偏移最強(qiáng)反饋頻率點(diǎn),減小反饋增益,達(dá)到防止反饋?zhàn)约さ哪康模?、移相技術(shù)是通過調(diào)整麥克風(fēng)信號(hào)相位的方法,使得揚(yáng)聲器發(fā)出的信號(hào)相位隨著時(shí)間改變,這樣不同相位的信號(hào)在麥克風(fēng)處疊加而得到抵消或減弱,從而降低反饋強(qiáng)度,減小回路增益,到達(dá)防止反饋?zhàn)约さ哪康模?、陷波濾波器則是采用數(shù)字信號(hào)處理技術(shù)對(duì)特定頻率進(jìn)行陷波,降低特定頻率的回路增益,而選定的特定頻率是環(huán)境空間的反饋增益中最大的一些頻率,如此降低回路的增益,達(dá)到防止反饋?zhàn)约さ哪康?。但是,以?和4的移頻和移相技術(shù)會(huì)嚴(yán)重地造成音頻信號(hào)失真,產(chǎn)生音頻的顫抖現(xiàn)象,同時(shí)對(duì)傳聲增益的提升也有限;5的陷波濾波器的方法沒有音頻顫抖現(xiàn)象,但由于對(duì)特定頻率的陷波,同樣造成音頻的失真,此外,其另一個(gè)缺陷是:對(duì)音箱、麥克風(fēng)的位置較為敏感(這是因?yàn)橐纛l在空間傳播、反射后在不同位置疊加的效果不同,不同位置的最大反饋增益頻率不同所致),同時(shí)對(duì)環(huán)境溫度和濕度敏感,因此當(dāng)以上條件改變時(shí),往往需要重新調(diào)整陷波器;還有,在麥克風(fēng)較多時(shí),由于敏感的頻率過多,不得不設(shè)置許多頻點(diǎn)的陷波器,造成音頻的嚴(yán)重失真。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是克服現(xiàn)有技術(shù)的缺陷,提供一種基于自適應(yīng)子帶音頻反饋抑制方法,解決了現(xiàn)有擴(kuò)聲技術(shù)中傳聲增益不足、容易引起擴(kuò)聲系統(tǒng)自激反饋產(chǎn)生嘯叫的技術(shù)問題。
為解決上述技術(shù)問題,本發(fā)明提供一種自適應(yīng)子帶音頻反饋抑制方法,其特征是,包括以下步驟:
步驟一,分別對(duì)采樣獲得的麥克風(fēng)信號(hào)和輸出到功放信號(hào)按采樣時(shí)間順序分割為數(shù)據(jù)塊,對(duì)分割的數(shù)據(jù)塊進(jìn)行子帶濾波器濾波,分別得到麥克風(fēng)子帶信號(hào)和功放子帶信號(hào);將時(shí)間域音頻信號(hào)轉(zhuǎn)換為子帶信號(hào)進(jìn)行處理,是因?yàn)樽訋ьl帶窄,因此可以對(duì)信號(hào)進(jìn)行下采樣;通過對(duì)子帶信號(hào)的下采樣,可大大地降低子帶濾波器的長度(點(diǎn)數(shù)),因此可大幅度減少子帶濾波器的計(jì)算量和子帶濾波器修正時(shí)的計(jì)算量,從而提高了本算法的效率;
步驟二,利用子帶反饋濾波器對(duì)功放信號(hào)進(jìn)行濾波,得到揚(yáng)聲器傳遞到麥克風(fēng)產(chǎn)生的反饋信號(hào);
步驟三,從所述麥克風(fēng)子帶信號(hào)中減去所述反饋信號(hào),得到消除反饋后的麥克風(fēng)子帶信號(hào);由步驟二計(jì)算得到的反饋信號(hào)(在自適應(yīng)濾波器收斂后)與實(shí)際麥克風(fēng)拾取的反饋信號(hào)一致,因此當(dāng)從麥克風(fēng)信號(hào)中減去估算的反饋信號(hào)后,剩余的成分是單純的發(fā)言人的語音;如此,原有的反饋回路被切斷,因此提高擴(kuò)聲增益不會(huì)引起嘯叫;
步驟四,對(duì)所述功放子帶信號(hào)、所述麥克風(fēng)子帶信號(hào)、以及所述消除反饋后的麥克風(fēng)子帶信號(hào)進(jìn)行加權(quán)能量分析統(tǒng)計(jì),決定子帶反饋濾波器的修正步長;
步驟五,將所述消除反饋后的麥克風(fēng)子帶信號(hào),經(jīng)過子帶合成濾波器復(fù)原為時(shí)間域語音信號(hào),輸出給功放擴(kuò)聲;由于在步驟一中將數(shù)據(jù)分割為數(shù)據(jù)塊經(jīng)子帶濾波器濾波得到子帶信號(hào),在將子帶信號(hào)合成復(fù)原為時(shí)間域的語音信號(hào)時(shí),各數(shù)據(jù)塊之間容易產(chǎn)生不連貫畸變,造成數(shù)據(jù)塊效應(yīng)噪聲,因此需對(duì)時(shí)間域信號(hào)進(jìn)行濾波,以濾除數(shù)據(jù)塊效應(yīng)噪聲;
步驟六,根據(jù)所述修正步長、功放子帶信號(hào)和消除反饋后的麥克風(fēng)子帶信號(hào),對(duì)子帶反饋濾波器進(jìn)行修正;在很短的時(shí)間里,子帶反饋濾波器將與實(shí)際揚(yáng)聲器到麥克風(fēng)的傳遞函數(shù)相一致,起到消除反饋的作用。
進(jìn)一步的,所述步驟一中,將采樣信號(hào)根據(jù)設(shè)定的子帶數(shù)量和時(shí)間順序分割為數(shù)據(jù)塊,再對(duì)分割的數(shù)據(jù)塊經(jīng)子帶濾波器濾波分別得到輸入子帶信號(hào)和功放子帶信號(hào)。
進(jìn)一步的,考慮到算法引入的群延時(shí)和聲音從揚(yáng)聲器傳播到麥克風(fēng)引起的延時(shí),調(diào)整功放信號(hào)的時(shí)間,使之與回聲信號(hào)時(shí)間對(duì)齊,保持功放信號(hào)和回聲信號(hào)同步。
進(jìn)一步的,調(diào)整所述子帶反饋濾波器(反饋濾波器的說法是從功能上講,而此濾波器本身是自適應(yīng)濾波器)的修正步長,包括凍結(jié)濾波器、以及不同步長的修正參數(shù)。
進(jìn)一步的,在所述步驟三之后,根據(jù)需求加入降噪、自動(dòng)增益控制、均衡(EQ)處理,由于反饋抑制處理后的數(shù)據(jù)更接近于發(fā)言人的原聲,因此在做降噪、自動(dòng)增益控制處理時(shí)可得到更好的效果。
進(jìn)一步的,還包括移頻、移相處理。在對(duì)音質(zhì)要求不高的場合,在經(jīng)過反饋抑制濾波之后,再加入移頻、移相處理。
一種自適應(yīng)子帶音頻反饋抑制方法,其特征是,包括以下步驟:
步驟一,分別對(duì)采樣獲得的麥克風(fēng)信號(hào)和輸出到功放信號(hào)按采樣時(shí)間順序分割為數(shù)據(jù)塊,對(duì)分割的數(shù)據(jù)塊進(jìn)行子帶濾波器濾波,分別得到麥克風(fēng)子帶信號(hào)和功放子帶信號(hào);將時(shí)間域音頻信號(hào)轉(zhuǎn)換為子帶信號(hào)進(jìn)行處理,是因?yàn)樽訋ьl帶窄,因此可以對(duì)信號(hào)進(jìn)行下采樣;通過對(duì)子帶信號(hào)的下采樣,可大大地降低子帶濾波器的長度(點(diǎn)數(shù)),因此可大幅度減少子帶濾波器的計(jì)算量和子帶濾波器修正時(shí)的計(jì)算量,從而提高了本算法的效率;
步驟二,利用子帶反饋濾波器對(duì)功放信號(hào)進(jìn)行濾波,得到系統(tǒng)產(chǎn)生的反饋信號(hào);
步驟三,從所述麥克風(fēng)子帶信號(hào)中減去所述反饋信號(hào),得到消除反饋后的麥克風(fēng)子帶信號(hào);由步驟二計(jì)算得到的反饋信號(hào)(在自適應(yīng)濾波器收斂后)與實(shí)際麥克風(fēng)拾取的反饋信號(hào)一致,因此當(dāng)從麥克風(fēng)信號(hào)中減去估算的反饋信號(hào)后,剩余的成分是單純的發(fā)言人的語音;如此,原有的反饋回路被切斷,因此提高擴(kuò)聲增益不會(huì)引起嘯叫。
步驟四,對(duì)所述功放子帶信號(hào)、所述麥克風(fēng)子帶信號(hào)、以及所述消除反饋后的麥克風(fēng)子帶信號(hào)進(jìn)行加權(quán)能量分析統(tǒng)計(jì),決定子帶反饋濾波器的修正步長;
步驟五,將所述消除反饋后的麥克風(fēng)子帶信號(hào),經(jīng)過子帶合成濾波器復(fù)原為時(shí)間域語音信號(hào),輸出給功放擴(kuò)聲;由于在步驟一中將數(shù)據(jù)分割為數(shù)據(jù)塊經(jīng)子帶濾波器濾波得到子帶信號(hào),在將子帶信號(hào)合成復(fù)原為時(shí)間域的語音信號(hào)時(shí),各數(shù)據(jù)塊之間容易產(chǎn)生不連貫畸變,造成數(shù)據(jù)塊效應(yīng)噪聲,因此需對(duì)時(shí)間域信號(hào)進(jìn)行濾波,以濾除數(shù)據(jù)塊效應(yīng)噪聲;
步驟六,根據(jù)所述修正步長、功放子帶信號(hào)和消除反饋后的麥克風(fēng)子帶信號(hào),對(duì)子帶反饋濾波器進(jìn)行修正;在很短的時(shí)間里,子帶反饋濾波器將與實(shí)際揚(yáng)聲器到麥克風(fēng)的傳遞函數(shù)相一致,起到消除反饋的作用;
進(jìn)一步的,所述步驟一中,將采樣信號(hào)根據(jù)設(shè)定的子帶數(shù)量和時(shí)間順序分割為數(shù)據(jù)塊,再對(duì)分割的數(shù)據(jù)塊經(jīng)子帶濾波器濾波分別得到參考子帶信號(hào)和功放子帶信號(hào)。
進(jìn)一步的,還包括保持功放信號(hào)和回聲信號(hào)同步的步驟。
進(jìn)一步的,所述修正步長包括凍結(jié)濾波器、以及不同步長的修正參數(shù)。
進(jìn)一步的,在所述步驟三之后,根據(jù)需求加入降噪、自動(dòng)增益控制、均衡處理。由于反饋抑制處理后的數(shù)據(jù)更接近于發(fā)言人的原聲,因此在做降噪、自動(dòng)增益控制處理時(shí)可得到更好的效果;
進(jìn)一步的,還包括移頻、移相處理,在對(duì)音質(zhì)要求不高的場合,在經(jīng)過反饋抑制濾波之后,再加入移頻、移相處理,可以進(jìn)一步提高傳聲增益
本發(fā)明所達(dá)到的有益效果:
1)本發(fā)明采用反饋信號(hào)估算、掐斷反饋回路的方法,極大地提高了傳聲增益;與陷波濾波的方法相比,通常陷波濾波的方法只能提升傳聲增益大約3至6分貝,而本方法可穩(wěn)定地提高傳聲增益6至10分貝,在環(huán)境較好時(shí)可提升傳聲增益15分貝。
2)本發(fā)明采用自適應(yīng)濾波的方法,因此可以針對(duì)任何環(huán)境自動(dòng)適應(yīng),無需像陷波濾波方法那樣人為地設(shè)置調(diào)節(jié),簡化了系統(tǒng)設(shè)置、大幅度地提高了系統(tǒng)的環(huán)境適應(yīng)性和系統(tǒng)使用的簡便性。
3)本發(fā)明采用反饋抵消的方法,對(duì)音頻信號(hào)不做移頻、移相,也不對(duì)特定頻率進(jìn)行陷波,因此,對(duì)語音影響極小,無上述的語音失真,提高了系統(tǒng)的保真度。
4)本發(fā)明采用了子帶算法,降低了不同頻率信號(hào)之間的相互影響和干擾,提高了自適應(yīng)濾波器的穩(wěn)定性,減小了反饋抑制處理對(duì)音質(zhì)的影響,提高了處理效率,降低了系統(tǒng)成本。
5)在對(duì)音質(zhì)要求不高的場合,本發(fā)明也可與移頻、移相等處理相結(jié)合,可以進(jìn)一步提高傳聲增益。
附圖說明
圖1是本發(fā)明一種自適應(yīng)子帶音頻反饋抑制算法的原理示意圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。以下實(shí)施例僅用于更加清楚地說明本發(fā)明的技術(shù)方案,而不能以此來限制本發(fā)明的保護(hù)范圍。
如圖1所示,M_in 是一路麥克風(fēng)的采樣信號(hào),S_out是經(jīng)反饋抑制處理后輸出給功放的信號(hào),本發(fā)明的一種自適應(yīng)子帶音頻反饋抑制算法,包括以下步驟:
步驟一,分別對(duì)采樣獲得的麥克風(fēng)信號(hào)M_in和輸出到功放參考信號(hào)S_out按采樣時(shí)間順序分割為數(shù)據(jù)塊(Data Block),對(duì)分割的數(shù)據(jù)塊進(jìn)行子帶濾波器濾波,分別得到麥克風(fēng)和功放的子帶信號(hào)。數(shù)據(jù)塊的大小由子帶濾波器的子帶數(shù)決定。從理論上講,子帶的數(shù)量越多,子帶自適應(yīng)濾波計(jì)算量越小,算法效率越高;但在增加子帶數(shù)量的同時(shí),子帶的帶寬變得更窄(以音頻帶寬D為例,子帶數(shù)為N,則一般子帶帶寬為D/N),因此需要子帶濾波器更長,子帶濾波的計(jì)算量更大,引起系統(tǒng)總計(jì)算量上升;從系統(tǒng)引入的群延時(shí)來看,當(dāng)子帶數(shù)量增加,會(huì)引入更長的系統(tǒng)群延時(shí),而在擴(kuò)聲系統(tǒng)中系統(tǒng)群延時(shí)是一個(gè)重要的指標(biāo)。因此,綜合優(yōu)化系統(tǒng)計(jì)算量和系統(tǒng)群延時(shí)等要求,有一個(gè)最佳子帶數(shù)量;這里以子帶數(shù)128為例,做出原理說明,但這不局限本發(fā)明的權(quán)利要求。此外,為了減小由于數(shù)據(jù)分塊造成的分塊效應(yīng)(Block-effect),數(shù)據(jù)分塊時(shí)采用了重疊分塊的方法(Over-lap),即每一個(gè)數(shù)據(jù)塊包含2N個(gè)采樣點(diǎn),下一個(gè)數(shù)據(jù)塊不是移動(dòng)2N個(gè)采樣點(diǎn),而是只移動(dòng)N個(gè)采樣點(diǎn),這樣兩個(gè)相鄰的數(shù)據(jù)塊之間有N個(gè)采樣點(diǎn)是重疊(相同)的,如此可降低2個(gè)數(shù)據(jù)塊之間銜接造成的分塊效應(yīng)。此外,子帶可根據(jù)需要采用等帶寬子帶,也可采用等比帶寬子帶或其他不同帶寬子帶,這些都在本發(fā)明的權(quán)利要求之內(nèi)。
步驟二,利用子帶反饋濾波器對(duì)參考信號(hào)進(jìn)行濾波,得到系統(tǒng)產(chǎn)生的反饋信號(hào)。在系統(tǒng)啟動(dòng)初期,為了保證自適應(yīng)濾波器穩(wěn)定,對(duì)子帶反饋濾波器進(jìn)行初始化,設(shè)置濾波器參數(shù)為0。
步驟三,從麥克風(fēng)子帶信號(hào)中除去估算出的反饋信號(hào),得到消除反饋后的麥克風(fēng)子帶信號(hào)。在實(shí)際計(jì)算中,計(jì)算出的反饋信號(hào)與實(shí)際的反饋信號(hào)之間總存在誤差,此誤差即為自適應(yīng)濾波器的輸出誤差,用于自適應(yīng)濾波器的修正。
步驟四,對(duì)功放參考子帶信號(hào)、麥克風(fēng)子帶信號(hào)、以及上述消除反饋后的麥克風(fēng)子帶信號(hào)進(jìn)行加權(quán)能量分析統(tǒng)計(jì),決定子帶反饋濾波器(自適應(yīng)濾波器)的修正步長。自適應(yīng)濾波器的修正步長對(duì)自適應(yīng)濾波器的穩(wěn)定性和收斂性極其重要;修正步長太大,容易引起濾波器發(fā)散,最終造成自適應(yīng)濾波器失效;但修正步長太小,引起濾波器收斂速度太慢,特別在使用定點(diǎn)(Fix Point)處理器時(shí)數(shù)據(jù)有效位數(shù)有限的情況下,會(huì)影響自適應(yīng)濾波器的收斂精度,造成較大的估算誤差。此外,為了保證自適應(yīng)濾波器的穩(wěn)定和濾波效果,根據(jù)功放參考信號(hào)的能量調(diào)整修正步長:即當(dāng)功放參考信號(hào)能量較小時(shí),取較小的修正步長;當(dāng)功放參考信號(hào)能量較大時(shí),取較大的修正步長;當(dāng)功放參考信號(hào)能量很?。o語音)時(shí),設(shè)置修正步長為零,凍結(jié)自適應(yīng)濾波器,防止濾波器發(fā)散。
步驟五,將消除反饋后的麥克風(fēng)子帶信號(hào),經(jīng)過子帶合成濾波器復(fù)原為時(shí)間域語音信號(hào),輸出給功放擴(kuò)聲。如上述步驟一所述,為了減小由于數(shù)據(jù)分塊造成的分塊效應(yīng)(Block-effect),數(shù)據(jù)分塊時(shí)采用了重疊分塊的方法(Over-lap),因此,經(jīng)子帶合成濾波器復(fù)原得到的時(shí)間域語音信號(hào)需仔細(xì)選擇復(fù)原濾波器,以保證信號(hào)的完美復(fù)原和減少數(shù)據(jù)分塊效應(yīng)。
步驟六,根據(jù)前述決定的修正步長、以及功放參考子帶信號(hào)和消除反饋后的麥克風(fēng)子帶信號(hào),對(duì)子帶反饋濾波器參數(shù)進(jìn)行修正。自適應(yīng)濾波器參數(shù)修正的算法有LMS、NLMS、PNLMS等多種算法,LMS的波動(dòng)較大;NLMS穩(wěn)定但收斂速度較PNLMS慢;PNLMS 穩(wěn)定但計(jì)算量較大。本發(fā)明采用簡化的PNLMS方法,但不排除以上的方法。
本發(fā)明說明了一種自適應(yīng)子帶音頻反饋抑制算法,由于采用子帶技術(shù)降低了子帶(相對(duì)于原音頻頻帶)的帶寬,因此可下采樣子帶信號(hào),減少子帶信號(hào)數(shù)據(jù)量,如此降低了自適應(yīng)濾波器的計(jì)算量,提高了算法效率。但是,本發(fā)明不限于以上的子帶形式,在時(shí)間域內(nèi)類似的自適應(yīng)濾波器方法也在本權(quán)利要求之內(nèi),因?yàn)闀r(shí)間域信號(hào)可看作是只有一個(gè)子帶的特殊條件,同時(shí)采用自適應(yīng)濾波器的方法是本發(fā)明與其他反饋抑制方法本質(zhì)的不同。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明技術(shù)原理的前提下,還可以做出若干改進(jìn)和變形,這些改進(jìn)和變形也應(yīng)視為本發(fā)明的保護(hù)范圍。