DSP(Digital Signal Processor,數字信號處理器)是在模擬信號變換成數字信號以后進(jìn)行高速實(shí)時(shí)處理的專(zhuān)用處理器件,DSP具有接口簡(jiǎn)單、方便;jing度高、運算速度快、穩定性好;編程方便,容易實(shí)現復雜的算法;集成方便等優(yōu)點(diǎn),已經(jīng)被廣泛的應用于通信、雷達、語(yǔ)音、圖像、消費類(lèi)電子產(chǎn)品等領(lǐng)域。DSP技術(shù)的發(fā)展和應用,使得自適應信號處理技術(shù)得以實(shí)現。自適應噪聲消除是消除強背景噪聲的一種有效的技術(shù),在通常情況下,背景噪聲不是穩定不變的,而是隨著(zhù)時(shí)間的變化而變化。因此,噪聲消除應該是一個(gè)自適應噪聲處理過(guò)程:既可以在時(shí)變的噪聲環(huán)境下工作,還可以根據環(huán)境的改變而調整自身的工作參數。在本文中,利用DSP的優(yōu)越性能,在TI公司TMS320VC5416芯片上,分別實(shí)現LMS和RLS算法的自適應強噪聲消除系統,該系統經(jīng)過(guò)驗證,能夠很好地消除背景噪聲,恢復出原始話(huà)音信號。
1 自適應噪聲消除算法
自適應噪聲消除算法的基本思想是將噪聲混雜的信號通過(guò)一個(gè)濾波器來(lái)達到抑制噪聲,并使信號本身無(wú)失真通過(guò)的這樣一個(gè)過(guò)程。并且,正如上面所述,這個(gè)自適應處理過(guò)程不需要預先知道信號以及噪聲的特點(diǎn)。圖1為自適應噪聲消除算法的原理框圖。
為了實(shí)現這個(gè)自適應噪聲消除系統,這里使用2個(gè)輸入源和1個(gè)自適應濾波器。一個(gè)輸入源是混入了噪聲的信號(稱(chēng)之為主輸入源,用s十n0表示),另一個(gè)輸入源為背景噪聲,這個(gè)背景噪聲與主輸入源噪聲相關(guān),而與主輸入源中的信號無(wú)關(guān)(稱(chēng)之為噪聲參考輸入源,用n1表示),噪聲參考輸入源通過(guò)自適應濾波器后輸出yo濾波器不斷地自我重新調整,使得y與n0的誤差達到很小。然后用主信號源減去輸出y得到系統的輸出z=s n0-y,z即去噪后的信號。

假設s,n0,n1,y是平穩過(guò)程,并且均值為0,s與n0和n1無(wú)關(guān)聯(lián),而n1和n0相關(guān),則可以得出以下的表達式:

當調整濾波器,使得E[z2]達到很小值時(shí),E[(n0-y)2]也是很小值,因此,系統輸出z可以作為自適應濾波器的誤差信號。
文中的自適應濾波器采用2種自適應濾波算法:一種是很小均方算法(LMS),另一種是RLS算法。
很小均方算法(LMS)應用很廣、算法很簡(jiǎn)單。LMS算法主要目的是使誤差信號的均方值達到很小。自適應濾波器的系數由下式?jīng)Q定。

其中,P(i)是第i個(gè)自相關(guān)矩陣的逆;k(i)是第i個(gè)增益向量;λ是指數型遺忘因子。從算法中矩陣的運算可以看出來(lái),RLS算法比LMS算法要復雜得多。對于一個(gè)N階的濾波器,LMS算法每次迭代需要O(N)次運算,而RLS算法需要O(N2)此運算。在DSK方式實(shí)現時(shí),發(fā)現在48 kHz的采樣率下,采用LMS算法設計的濾波器的階數很多20階,而在同樣的條件下,采用RLS算法設計的濾波器的階數只有5階左右。
2 DSP實(shí)現
本文的自適應噪聲消除算法處理器件采用TI的TMS320VC5416型DSP處理器。該處理器采用改進(jìn)的哈佛結構,擁有專(zhuān)用的硬件乘法器和專(zhuān)門(mén)為數字信號處理而設計的指令系統,快速的指令周期等優(yōu)點(diǎn)。由于聲音是模擬信號,要使用DSP對其進(jìn)行處理,首先需要將模擬信號進(jìn)行模/數轉換,本文采用MAX197作為A/D轉換芯片。MAX 197是Maxim公司推出的8通道、12位的高速A/D轉換芯片,單次轉換時(shí)間僅為6μs,采樣速率可達100 kSa/s。經(jīng)過(guò)噪聲消除后的信號質(zhì)量可以通過(guò)音箱來(lái)辨別,因此,在噪聲消除后,還要將信號進(jìn)行數/模轉換。本文采用MX7541作為系統的D/A轉換芯片。MX7541是美國Maxim公司生產(chǎn)的高速高jing度12位數字/模擬轉換器芯片,由于MX7541轉換器件的功耗特別低,而且其線(xiàn)性失真可低達0.012%,因此,該D/A轉換器芯片特別適合于精密模擬數據的獲得和控制。
本文的自適應噪聲消除系統結構圖2所示。
麥克風(fēng)1用于采集帶有強烈背景噪聲的話(huà)音信號作為系統的輸入1,麥克風(fēng)2用于采集背景噪聲作為輸入2,輸入1和輸入2經(jīng)過(guò)音頻接口輸入到MAX197中進(jìn)行A/D轉換,轉換后的信號被送入TMS320VC5416中進(jìn)行自適應噪聲消除處理,處理后的信號經(jīng)過(guò)MX7541的D/A轉換后,送入音箱進(jìn)行播放。另外,還可以通過(guò)計算機和Matlab軟件來(lái)比較自適應噪聲消除系統的輸入/輸出信號,驗證自適應噪聲消除系統工作情況。

圖3為3臺計算機記錄的自適應噪聲消除系統的工作情況:
比較主輸入信號、參考噪聲輸入信號和濾波器輸出信號,可以清楚地看出輸出與主輸入信號相比,噪聲成分被大大削弱,這與用音箱直接聽(tīng)到的聲音效果一致,以上結果證明用DSP成功地實(shí)現了實(shí)時(shí)的自適應噪聲消除系統。
3 結 語(yǔ)
本文采用TI的TMS320VC5416型DSP成功地實(shí)現了自適應噪聲消除系統,試驗的結果顯示LMS算法和RLS算法是去除噪聲的自適應濾波器非常有效的方法,DSP板也是實(shí)現實(shí)時(shí)自適應噪聲消除系統的好平臺。在整個(gè)系統工作過(guò)程中,仍有少量的背景噪聲不能完全從信號中去除掉,為了測試算法的效果,用Matlab產(chǎn)生一個(gè)白噪聲信號作為噪聲參考信號,同時(shí)將參考噪聲信號進(jìn)行微小扭曲后與從麥克風(fēng)輸入的語(yǔ)音信號疊加后作為主輸入信號,然后用前文所述的實(shí)現方式對主輸入信號和參考噪聲信號進(jìn)行自適應噪聲去除算法處理。在處理后,噪聲完全從信號中去除掉了,由此,可以看出,背景噪聲不能完全從信號中去除掉問(wèn)題不是由算法造成的,而是由于試驗設備造成的。麥克風(fēng)、電纜以及采樣造成會(huì )造成信號扭曲,而這些扭曲在噪聲去除算法中是無(wú)法補償的,因此其可能是造成這個(gè)問(wèn)題的很可能原因。 |