語音處理系統中的周期性沖激噪聲及其消除
通過對帶微處理器的語音處理系統的噪聲分析,指出微處理器工作所引發的周期性沖激電流,通過電源對系統造成的周期性沖激噪聲是語音處理系統中噪聲的一個重要來源。介紹了克服周期性沖激噪聲在不同層次上的幾種方法。
??? 關鍵詞:周期性沖激噪聲 微處理器 語音處理系統 降噪系統
??? 隨著語音信號數字處理技術的發展,人們逐漸大量地以微處理器(如DSP芯片、單片機)為核心構造語音處理系統;同時,由之引發的語音處理系統的噪聲問題越來越突出,成為人們關注的一個重要課題。系統背景噪聲不但嚴重影響人們對語音系統的接受,對語音處理往往也會造成損傷,直接給語音系統的語音質量帶來不良后果。
??? 人們對噪聲已經作了深入研究[1]。一般應用較為廣泛的抗噪措施包括:互補式動態壓括降噪、非互補式動態壓括降噪、濾波降噪、電源處理降噪、軟件處理降噪等。對語音處理系統而言,不是所有的降噪系統在所有情況下效果都良好,例如,有些全聲頻段的降噪系統(杜比C就是其中的一種),反而對低頻段的噪聲消除很不得力。因此,我們應針對語音處理系統的具體情況,有的放矢地進行噪聲分析以找出消除方法。
??? 系統噪聲消除,首要問題在于找出存在的或隱含潛在的主要噪聲源,然后設法消除該噪聲源,這是治本的方法。對于噪聲來源不很明確或不好解決的情況,則應分析噪聲特性,采用相應措施降低噪聲,提高系統最終信噪比,這是治標的方法。
??? 目前的語音處理系統一般應用微處理器處理語音數據,其基本構造如圖1所示。系統包含兩個模塊:模擬模塊和數字模塊。這種結構使帶微處理器的語音系統的噪聲問題具有一定的特殊性。事實上,數字模塊工作所引發的周期性沖激噪聲,是語音系統噪聲的一個重要來源。
??? 克服這種周期性沖激噪聲可以在不同層次上采取措施。該噪聲是以電源通道為傳播途徑的,對電源的處理應放在首要位置,這就是前面所說的“治本”;而“治標”也不能忽視,因為電源一般并不可能處理得盡善盡美。為減小已經混入了待處理語音數據中的沖激噪聲的影響,可以采用數字中值濾波或LOR濾波。在信號最終的輸出端,采用模擬的窄帶濾波降噪以及動態降噪,可以收到很好的效果。
??? 下面通過對一種具體語音處理系統樣機的實驗和理論分析,討論這一具有普遍意義的問題。
1 帶微處理器語音系統的沖激噪聲
??? 帶微處理器的語音系統的噪聲源中,周期性沖激噪聲是具有共性的一項。沖激噪聲來自兩方面,其一為TTL邏輯電路引發的小浪涌沖激電流,其二為微處理器數據傳輸的大浪涌沖激電流。
1.1 TTL邏輯電路引發的小浪涌噪聲分析
??? 一般的數字系統,主要由TTL邏輯電路構成。在TTL電路中,局部電流狀態取決于器件的邏輯狀態、外接負載電阻電容以及輸出瞬時導通等因素。圖2給出了TTL電路輸出結構和瞬態電流產生示意圖,其中,Vcc為電路電壓,Vo為輸出電壓,Icc為電源供給該局部電路的電流,I為該局部電路輸出(輸入)電流。注意到,輸出電壓從低電平到高電平轉換時將產生較大的瞬態電流值,圖2a就是這種情況;特別地,高速TTL電路的浪涌電流因其持續時間較短而具有更大值。大多數情況下,負載電容充放電引起的浪涌電流比其他因素產生的浪涌電流對電源的影響大得多。因此,對設計者而言,主要應控制負載電容,在電路布線時應盡量減少不必要的散雜電容。
??? 當然,由于大量TTL微電路一般并不可能恰好協調一致,從而導致局部浪涌電流匯聚為大的沖激電流,所以TTL邏輯電路引發的散布的小浪涌沖激電流的影響并不很大,可以通過加濾波電容的方法濾除(下面將具體描述)。但是,這可以作為其他沖激電流的基礎原理模型。
1.2 微處理器數據傳輸引發的周期性沖激噪聲
??? 帶微處理器的語音系統一般都涉及數據傳輸,數據傳輸可能引發強大的沖激電流,并由數據傳輸的周期性而表現為周期性沖激電流,如果處理不當,可能形成周期性沖激噪聲。下面以一種具體語音處理系統性能樣機的實驗分析為例討論。
??? 該語音處理系統采用現代DSP芯片為微處理器,配備了SRAM為外置存儲器,系統帶A/D采集器,語音信號經A/D之前先經過預放大。系統的語音采樣頻率為標準的8kHz,采取兩種工作模式,一種是以語音信號單樣點為單位的樣點處理模式,另一種是以128個語音信號樣點(16ms語音)為一幀來傳輸處理語音的幀處理模式。
??? 測量該語音系統的背景噪聲分布,如圖3所示。噪聲由兩部分組成,其一為常規的白噪聲,其二為明顯的周期性沖激噪聲。圖中,VIF為周期性沖激噪聲的峰峰值,VGF為背景高斯白噪聲的峰峰值,T為周期性沖激噪聲的周期。測量不同工作模式及系統不同位置處的噪聲峰峰值,如表1、表2所示。
??? 表中,“+5V”表示所測量位置在各芯片的電壓引腳處,“A/D模擬輸入”表示所測量位置在模數轉換芯片的模擬信號輸入腳。
??? 更加值得注意的是,系統不同處理模式下的周期性沖激噪聲的周期為:
??? 樣點處理模式下,T=0.125ms (1)
??? 幀處理模式下, T=16ms??????? (2)
??? 從以上實際測量的背景噪聲的波形及其數據中可知,本語音處理系統性能樣機中沖激噪聲起主要影響,且與系統數據傳輸關系極其密切。首先,系統工作在樣點處理模式下時,微處理器的數據傳輸以語音信號單樣點為單位,因而沖激噪聲的周期為1/8000s=0.125ms;工作在幀處理模式下時,數據傳輸以幀為單位,一幀含語音樣點128個,因而沖激噪聲的周期為1/8000×128s=16ms。實際測量值就是所分析的數值。其次,觀察不同處理模式下VIF和VGF的大小,可以發現,SRAM芯片處的背景噪聲(特別是沖激噪聲)的峰峰值最大。可以認為,污染系統電源的沖激噪聲主要由數據出入頻繁的SRAM區傳出。第三,系統幀處理模式下的噪聲一般比樣點處理模式下的相應位置處的噪聲小。其原因在分析TTL邏輯電路引發的小浪涌噪聲中已經提及,即高速處理引發的浪涌電流因其持續時間較短而具有更大值。
所以,微處理器數據傳輸所引發的周期性沖激噪聲,是帶微處理器的語音系統不可忽視的重要噪聲來源。
2 周期性沖激噪聲的處理
??? 從根本上,周期性沖激噪聲是數字模塊工作時,所需功率的峰值,通過電源對模擬模塊產生了污染。因此,處理系統電源是解決問題的核心。另外,為減小沖激噪聲對語音數據的不利影響,軟件在處理含沖激噪聲的數據時,可先行采取數字濾波措施。在語音系統最終輸出語音時,還可以加上業已相當成熟的模擬濾波降噪和動態降噪手段。
2.1 系統電源處理
??? 徹底解決周期性沖激噪聲的方法是采用獨立功能塊供電,將語音處理系統的數字模塊和模擬模塊分開供電,如圖4所示,以切斷數字模塊通過電源對模擬模塊的影響。
??? 模擬模塊的預放大、后級放大和功放部分一定要采用模擬模塊直流電源供電。然后,用光電耦合器將數字模塊和模擬模塊的電聯系切斷,以有效防止干擾從數據通道進出以微處理器為中心的數字模塊,如圖5所示。
表1 樣點處理模式下系統背景噪聲的峰峰值
微處理器+5V | SRAM+5V | 預放大+5V | A/D模擬輸入 | |
VIF/mV
VGF/mV |
200
100 |
360
200 |
220
140 |
150
100 |
?? 光電耦合[3]的主要優點是能有效地抑制尖峰噪聲干擾,從而使數據通道上的信噪比(噪聲為沖激噪聲)大大提高。光電耦合器的輸入阻抗很小,一般在100Ω至1kΩ之間,而干擾源內阻很大,通常為105~108Ω,因而,能進入光電耦合器輸入端的噪聲很小。而且,沖激噪聲雖有較大的電壓幅度,但能量小,僅能形成微弱電流,而光電耦合器輸入部分的發光二極管是在電流狀態下工作,即使電壓幅值的干擾很高,由于不能提供足夠的電流,沖激噪聲可被抑制。同時,光電耦合器作為系統模擬模塊和數字模塊之間的隔離器件,其輸入是數字的比特流,并不影響系統原來的數據傳輸。
表2 幀處理模式下系統背景噪聲的峰峰值
微處理器+5V | SRAM+5V | 預放大+5V | A/D模擬輸入 | |
VIF/mV
VGF/mV |
160
40 |
300
60 |
200
80 |
120
40 |
??? 為提高數據傳輸速率的上限并確保信號的準確性,可以采用高速光電耦合器[4],其數據傳輸速率可達1Mb/s,而超高速光電耦合器可以提供大于10Mb/s的數據傳輸速率。作為語音系統模擬模塊和數字模塊之間的橋梁,一般足夠了。
??? 同時,數字模塊自身應盡可能抑制TTL浪涌電流和傳輸數據引發的沖激噪聲。設計系統時,可以在器件的電源和地線間加入平滑電容。
??? 為了濾除TTL電路工作引入的分布浪涌電流,可把數字模塊電源總線設計為一種帶分段電容濾波的饋電線,以提供各器件一條浪涌電流的低阻抗通路。為了有效地濾波和去耦,所接電容的容量必須能在瞬態電流的重復周期內保證“展平”浪涌電流。通常使用圖6所示的配電和去耦的連接方法,即用低頻濾波電容C1和高頻濾波電容C2并聯。低頻大容量電容C1可取為1~10μF。對高頻電容C2,在下述合理假設下[2]:
??? ·浪涌電流強度ΔIcc=50mA(3)
??? ·電源電壓允許脈動幅度ΔV≤0.1V(4)
??? ·浪涌電流持續時間Δt=20ns(5)
有:
即一般標識的103電容。
??? 對微處理器數據傳輸產生的沖激電流,采用的濾波電容容量應該大些。根據表1和表2的數據,取電壓脈動幅度ΔV′=200mV,實測沖激噪聲持續時間Δt′=20μs,沖激電流強度仍取ΔI′cc=50mA,這時,
??? ?。郸蹋谱笥业碾娙荩ㄈ纾矗乏蹋疲┙釉跀祿遥粒托酒碾娫淳€附近,對平滑沖激電流,有一定效果。
??? 由此,得到系統布線設計時加入去耦電容的常規做法[3]:
??? a.電源輸入端跨接10~100μF的電解電容器;
??? b.原則上每個集成電路芯片,在電源和地線之間,都應安置一個0.01μF的陶瓷電容器;
??? c.每4~10個芯片,安置一個1~10μF的鉭電容;
??? d.對RAM芯片、EPRAM芯片等周期性讀取數據的器件,適當加大濾波電容。
2.2 軟件處理沖激噪聲
??? 軟件處理周期性沖激噪聲,可以避免在數據處理中因為沖激噪聲污染數據而導致系統處理性能下降。常用的算法有中值濾波、LOR濾波[5]等。根據沖激噪聲具有的周期性,我們也可以在測知其周期的情況下用陷波器濾除。陷波器實現復雜,我們介紹簡單高效的中值濾波和LOR濾波,它們都是非線性濾波算法,可有效抵抗沖激噪聲,同時盡可能保持原來語音信號的高頻分量,如陡峭邊界和較劇烈的變化等。
??? 中值濾波[5]一般使用標準中值濾波器(SMF)和回歸中值濾波器(RMF)。算法如下:設{x(.)}和{y(.)}分別表示待濾波的輸入和已濾波后的輸出,中值濾波器使用取數窗長2N+1,那么,SMF的輸出為:
??? y(k)=Med{x(k-N),Λ,x(k),Λ,x(k+N)}(8)
其中Med?.?表示取中值。RMF的輸出為:
??? y(k)=Med{y(k-N),Λ,y(k-1),x(k),Λ,x(k+N)}(9)
??? LOR濾波[5]指“參考最后輸出濾波”。算法如下:對輸入{x?.},取數窗長為W,則輸出y(k)為取數窗口中和最后一個輸出數據y(k-1)最接近的樣點值,即:
??? y(k)={x(k+i)││x(k+i)-y(k-1)│?│x(k+j)-
y(k-1),j≠i,0≤j<W,0≤i<W}(10)
??? 為了在濾除沖激噪聲基礎上盡可能地保留原信號的高頻分量,濾波通常需結合判界算法,即:輸入為x(k),初步濾波輸出為y(k),最終輸出為z(k),那么,
其中TH是設定的先驗門限值。
??? 中值濾波和LOR濾波都只使用簡單的比較大小運算,實現算法不復雜。根據文獻[5]和我們在實際系統中的應用,LOR濾波的處理結果更令人滿意。
2.3 后級降噪處理
??? 后級降噪處理是應用于模擬模塊的通用降噪措施,對“治標”性質的壓制周期性沖激噪聲,有良好的效果。
??? 如上所述,周期性沖激噪聲的周期取決于微處理器的工作狀態,和外部數據存取關系密切。如我們的語音處理系統性能樣機,樣點處理模式下的沖激噪聲的頻率為8kHz,屬高頻噪聲;幀處理模式下的沖激噪聲的頻率為62.5Hz,屬低頻噪聲。這種情況是具有共性的,因為語音處理系統的采樣頻率一般為8kHz(少數為10kHz),而采取幀處理模式工作時,一幀數據一般為64個樣點至256個樣點,因此,主要周期性沖激噪聲的頻率都在語音頻帶300Hz~3.4kHz之外。我們可以幸運地采用窄帶濾波技術濾除這些帶外噪聲。
??? 濾除了沖激噪聲的帶外能量之后,帶內諧波噪聲可以采用非互補式動態降噪器件進一步抑制。動態降噪是頻率跟蹤型降噪器,根據帶內噪聲隨帶寬成正比和掩蔽原理工作,過程為:當信號電平較高時,電路頻率響應具平直特性;而當信號電平較低時,電路頻率響應具高頻衰減特性。信號通道帶寬隨輸入信號電平而變化,信號電平越小,帶寬越窄。由于人耳具有掩蔽效應,對小音量時的高頻信號感覺較遲鈍,此時壓制高頻分量不會感覺高音不足,聽覺上沒有損失;但小音量時的噪聲一同被衰減,從而達到了降噪的目的。
??? 窄帶濾波降噪和動態降噪可如圖7相互配合。
??? 我們在上述語音處理系統的性能樣機上使用NS公司的單片語音PCM濾波器TP3040實現窄帶濾波,采用應用廣泛的LM1894實現動態降噪。根據我們的實驗,TP3040的窄帶濾波效果很好,在幀處理模式下,TP3040輸入信號中所含的幀頻沖激噪聲的峰峰值為200mV,白噪聲峰峰值為120mV,經TP3040濾波后,輸出信號中只剩帶內噪聲,其峰峰值為60mV。同時,TP3040可以提供帶內信號增益,我們設置為6dB,因此,經過TP3040窄帶濾波,信噪比提高超過16dB。LM1894一般可以提供近10dB的降噪效果。在電源未做特殊處理條件下(即表1、表2的測試環境不變),用TP3040提供的功放口驅動耳機,聽覺上能感受到的背景噪聲極低,噪聲測量值可低至-82dB。
??? 應該指出,實際應用的降噪系統應該根據具體的應用環境和成本等要求構造,沒有必要綜合使用所有的降噪措施。????
評論
查看更多