DSP(Digital Signal Processor,數(shù)字信號處理器)是在模擬信號變換成數(shù)字信號以后進行高速實時處理的專用處理器件,DSP具有接口簡單、方便;jing度高、運算速度快、穩(wěn)定性好;編程方便,容易實現(xiàn)復(fù)雜的算法;集成方便等優(yōu)點,已經(jīng)被廣泛的應(yīng)用于通信、雷達、語音、圖像、消費類電子產(chǎn)品等領(lǐng)域。DSP技術(shù)的發(fā)展和應(yīng)用,使得自適應(yīng)信號處理技術(shù)得以實現(xiàn)。自適應(yīng)噪聲消除是消除強背景噪聲的一種有效的技術(shù),在通常情況下,背景噪聲不是穩(wěn)定不變的,而是隨著時間的變化而變化。因此,噪聲消除應(yīng)該是一個自適應(yīng)噪聲處理過程:既可以在時變的噪聲環(huán)境下工作,還可以根據(jù)環(huán)境的改變而調(diào)整自身的工作參數(shù)。在本文中,利用DSP的優(yōu)越性能,在TI公司TMS320VC5416芯片上,分別實現(xiàn)LMS和RLS算法的自適應(yīng)強噪聲消除系統(tǒng),該系統(tǒng)經(jīng)過驗證,能夠很好地消除背景噪聲,恢復(fù)出原始話音信號。
1 自適應(yīng)噪聲消除算法
自適應(yīng)噪聲消除算法的基本思想是將噪聲混雜的信號通過一個濾波器來達到抑制噪聲,并使信號本身無失真通過的這樣一個過程。并且,正如上面所述,這個自適應(yīng)處理過程不需要預(yù)先知道信號以及噪聲的特點。圖1為自適應(yīng)噪聲消除算法的原理框圖。
為了實現(xiàn)這個自適應(yīng)噪聲消除系統(tǒng),這里使用2個輸入源和1個自適應(yīng)濾波器。一個輸入源是混入了噪聲的信號(稱之為主輸入源,用s十n0表示),另一個輸入源為背景噪聲,這個背景噪聲與主輸入源噪聲相關(guān),而與主輸入源中的信號無關(guān)(稱之為噪聲參考輸入源,用n1表示),噪聲參考輸入源通過自適應(yīng)濾波器后輸出yo濾波器不斷地自我重新調(diào)整,使得y與n0的誤差達到很小。然后用主信號源減去輸出y得到系統(tǒng)的輸出z=s n0-y,z即去噪后的信號。
假設(shè)s,n0,n1,y是平穩(wěn)過程,并且均值為0,s與n0和n1無關(guān)聯(lián),而n1和n0相關(guān),則可以得出以下的表達式:
當(dāng)調(diào)整濾波器,使得E[z2]達到很小值時,E[(n0-y)2]也是很小值,因此,系統(tǒng)輸出z可以作為自適應(yīng)濾波器的誤差信號。
文中的自適應(yīng)濾波器采用2種自適應(yīng)濾波算法:一種是很小均方算法(LMS),另一種是RLS算法。
很小均方算法(LMS)應(yīng)用很廣、算法很簡單。LMS算法主要目的是使誤差信號的均方值達到很小。自適應(yīng)濾波器的系數(shù)由下式?jīng)Q定。
其中,P(i)是第i個自相關(guān)矩陣的逆;k(i)是第i個增益向量;λ是指數(shù)型遺忘因子。從算法中矩陣的運算可以看出來,RLS算法比LMS算法要復(fù)雜得多。對于一個N階的濾波器,LMS算法每次迭代需要O(N)次運算,而RLS算法需要O(N2)此運算。在DSK方式實現(xiàn)時,發(fā)現(xiàn)在48 kHz的采樣率下,采用LMS算法設(shè)計的濾波器的階數(shù)很多20階,而在同樣的條件下,采用RLS算法設(shè)計的濾波器的階數(shù)只有5階左右。
2 DSP實現(xiàn)
本文的自適應(yīng)噪聲消除算法處理器件采用TI的TMS320VC5416型DSP處理器。該處理器采用改進的哈佛結(jié)構(gòu),擁有專用的硬件乘法器和專門為數(shù)字信號處理而設(shè)計的指令系統(tǒng),快速的指令周期等優(yōu)點。由于聲音是模擬信號,要使用DSP對其進行處理,首先需要將模擬信號進行模/數(shù)轉(zhuǎn)換,本文采用MAX197作為A/D轉(zhuǎn)換芯片。MAX 197是Maxim公司推出的8通道、12位的高速A/D轉(zhuǎn)換芯片,單次轉(zhuǎn)換時間僅為6μs,采樣速率可達100 kSa/s。經(jīng)過噪聲消除后的信號質(zhì)量可以通過音箱來辨別,因此,在噪聲消除后,還要將信號進行數(shù)/模轉(zhuǎn)換。本文采用MX7541作為系統(tǒng)的D/A轉(zhuǎn)換芯片。MX7541是美國Maxim公司生產(chǎn)的高速高jing度12位數(shù)字/模擬轉(zhuǎn)換器芯片,由于MX7541轉(zhuǎn)換器件的功耗特別低,而且其線性失真可低達0.012%,因此,該D/A轉(zhuǎn)換器芯片特別適合于精密模擬數(shù)據(jù)的獲得和控制。
本文的自適應(yīng)噪聲消除系統(tǒng)結(jié)構(gòu)圖2所示。
麥克風(fēng)1用于采集帶有強烈背景噪聲的話音信號作為系統(tǒng)的輸入1,麥克風(fēng)2用于采集背景噪聲作為輸入2,輸入1和輸入2經(jīng)過音頻接口輸入到MAX197中進行A/D轉(zhuǎn)換,轉(zhuǎn)換后的信號被送入TMS320VC5416中進行自適應(yīng)噪聲消除處理,處理后的信號經(jīng)過MX7541的D/A轉(zhuǎn)換后,送入音箱進行播放。另外,還可以通過計算機和Matlab軟件來比較自適應(yīng)噪聲消除系統(tǒng)的輸入/輸出信號,驗證自適應(yīng)噪聲消除系統(tǒng)工作情況。
圖3為3臺計算機記錄的自適應(yīng)噪聲消除系統(tǒng)的工作情況:
比較主輸入信號、參考噪聲輸入信號和濾波器輸出信號,可以清楚地看出輸出與主輸入信號相比,噪聲成分被大大削弱,這與用音箱直接聽到的聲音效果一致,以上結(jié)果證明用DSP成功地實現(xiàn)了實時的自適應(yīng)噪聲消除系統(tǒng)。
3 結(jié) 語
本文采用TI的TMS320VC5416型DSP成功地實現(xiàn)了自適應(yīng)噪聲消除系統(tǒng),試驗的結(jié)果顯示LMS算法和RLS算法是去除噪聲的自適應(yīng)濾波器非常有效的方法,DSP板也是實現(xiàn)實時自適應(yīng)噪聲消除系統(tǒng)的好平臺。在整個系統(tǒng)工作過程中,仍有少量的背景噪聲不能完全從信號中去除掉,為了測試算法的效果,用Matlab產(chǎn)生一個白噪聲信號作為噪聲參考信號,同時將參考噪聲信號進行微小扭曲后與從麥克風(fēng)輸入的語音信號疊加后作為主輸入信號,然后用前文所述的實現(xiàn)方式對主輸入信號和參考噪聲信號進行自適應(yīng)噪聲去除算法處理。在處理后,噪聲完全從信號中去除掉了,由此,可以看出,背景噪聲不能完全從信號中去除掉問題不是由算法造成的,而是由于試驗設(shè)備造成的。麥克風(fēng)、電纜以及采樣造成會造成信號扭曲,而這些扭曲在噪聲去除算法中是無法補償?shù),因此其可能是造成這個問題的很可能原因。 |