《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 語音信號的數(shù)字化噪聲抑制技術(shù)

語音信號的數(shù)字化噪聲抑制技術(shù)

2008-12-03
作者:陳演平

  摘? 要: 介紹了語音信號" title="語音信號">語音信號的數(shù)字化噪聲抑制" title="噪聲抑制">噪聲抑制技術(shù),。該技術(shù)通過PCM編碼對模擬語音信號數(shù)字化,再以CPLD器件進(jìn)行數(shù)字化噪聲抑制處理,然后解碼為語音輸出,從而得到優(yōu)良的語音噪聲抑制效果,并可通過軟件調(diào)節(jié)噪聲抑制參數(shù),。還以應(yīng)用實例介紹了電路原理,說明了設(shè)計要點,。?

  關(guān)鍵詞: 噪聲抑制? 閾值? 延時時間? PCM編解碼? CPLD器件?

?

??? 語音信號的噪聲抑制技術(shù)" title="噪聲抑制技術(shù)">噪聲抑制技術(shù)是基于人耳的聲音屏蔽效應(yīng)的,即當(dāng)有較強(qiáng)的聲音信號時,較小的噪聲信號將被屏蔽而不易被聽到,。?

  在具有噪聲抑制功能的語音通信設(shè)備中,沒有語音信號時噪聲抑制電路將信道關(guān)閉,使噪聲信號不能到達(dá)語音終端,避免了噪聲出現(xiàn);語音信號來到時,噪聲抑制電路自動打開信道,這時雖然噪聲和語音一起送到語音終端,但由于聲音屏蔽效應(yīng),噪聲的存在可以忽略,。?

  模擬式的噪聲抑制電路直接對語音模擬信號進(jìn)行處理,通常主要由取樣放大器、模擬比較器,、模擬開關(guān),、阻容延時器件等組成。因其集成度低,、參數(shù)調(diào)整困難,、設(shè)定的噪聲抑制參數(shù)易受環(huán)境因素影響而漂移,使得噪聲抑制性能難以得到保證。?

  在為某國防工程研制新一代語音指揮通信設(shè)備時,為了避免模擬式噪聲抑制技術(shù)的缺點,采用了數(shù)字化的噪聲抑制技術(shù),。這一技術(shù),是在對模擬語音信號進(jìn)行PCM編碼后,再用CPLD(復(fù)雜可編程邏輯器件)對PCM碼流進(jìn)行數(shù)字化噪聲抑制處理,然后將PCM信號解碼還原為模擬語音信號,。結(jié)果,不僅獲得了優(yōu)良的噪聲抑制效果,而且能夠用軟件調(diào)節(jié)噪聲抑制參數(shù),設(shè)備的集成度和穩(wěn)定性都有顯著提高。?

1 噪聲抑制電路的主要技術(shù)參數(shù)?

  噪聲抑制電路的主要技術(shù)參數(shù)為:噪聲抑制閾值,、前延時時間,、后延時時間。?

  噪聲抑制閾值是指打開語音信道的門限電平值,。在閾值之下的信號認(rèn)為是噪聲,關(guān)閉語音信道;在閾值之上的信號則認(rèn)為是語音,打開語音信道,。這一閾值可根據(jù)環(huán)境噪聲的大小,、外來干擾的嚴(yán)重程度及語音信號的幅度而進(jìn)行設(shè)置。例如,當(dāng)語音信噪比為30dB時,噪聲抑制閾值可設(shè)為32mV左右,。 ?

  由于語音和噪聲兩種信號并不總是能夠完全區(qū)分開的,因此在信號幅度" title="信號幅度">信號幅度超過噪聲抑制閾值或回落到閾值之下時,需要分別進(jìn)行前延時和后延時,。?

  前延時時間是指語音信號在超過閾值后到語音信道打開的延時時間。這一時間太長將造成語音的起始音素被切除(稱為“頭切”),是不能允許的,。但這一時間又不能太短,太短的話任何幅度超過噪聲抑制閾值的突發(fā)的短暫干擾都會立刻打開語音通道并將這干擾送到語音終端,破壞靜音效果,。為盡可能地吸收這類干擾又不至于造成“頭切”,根據(jù)語音聲學(xué)特征的有關(guān)統(tǒng)計資料與經(jīng)驗數(shù)值,前延時時間可在0.5~4ms之間選擇。?

  后延時時間是指在噪聲抑制門限被打開并已傳送語音時,從語音信號幅度回落至噪聲抑制閾值之下到語音信道關(guān)閉的延時時間,。由于語音信號波形的動態(tài)范圍很大,講話時又隨著語氣的變化而起伏停頓,因此后延時時間太短會造成語音的斷續(xù),影響語音傳送質(zhì)量,。后延時時間太長,則造成語音停頓時的噪聲拖尾,同樣影響語音質(zhì)量。為兼顧這兩方面,后延時時間的量值范圍約在0.05~0.5s左右,。?

  由于語音特點因人而異,環(huán)境噪聲和外界干擾情況又常有不同,所以上述的噪聲抑制三參數(shù)經(jīng)常需要在語音通信的過程中進(jìn)行調(diào)節(jié),。在使用模擬噪聲抑制電路時,這些參數(shù)是用電位器或開關(guān)來調(diào)節(jié)的。采用數(shù)字化噪聲抑制技術(shù)后,通過軟件就可以設(shè)定和調(diào)節(jié)這些參數(shù)了,。?

2 語音信號的數(shù)字化?

  采用數(shù)字化噪聲抑制技術(shù),必須先將語音信號數(shù)字化,。模擬語音信號的數(shù)字化有多種方法,最通用的是按照G.711標(biāo)準(zhǔn)進(jìn)行PCM編碼[1]。對于頻帶為300~3400Hz的語音信號,采用2.048MHz的取樣時鐘,以8kHz的速率進(jìn)行8位取樣,取樣數(shù)據(jù)按A律編碼,偶數(shù)位交替反轉(zhuǎn),。多路語音信號可以分配不同的取樣時隙" title="時隙">時隙,32個時隙(125μs)組成一幀,。?

  PCM編解碼芯片選用National Semiconductor公司的TP3094[2]。該芯片為44引腳PLCC封裝,單一5V供電,集成了四路PCM編解碼電路,壓擴(kuò)方式為A/μ律可選,片內(nèi)自帶電壓基準(zhǔn),、低通接收濾波器和帶通發(fā)送濾波器,通過外接電阻可以調(diào)節(jié)輸入信號的增益,。?

  TP3094可采用長幀和短幀兩種同步方式,外接幀信號和2.048MHz的時鐘即可工作。TP3094在進(jìn)行PCM編解碼時的工作方式有8bit和32bit兩種,以8bit方式工作時需為每路語音的PCM碼提供單獨的幀同步信號,而以32bit方式工作時只要為第一個時隙提供短幀同步信號即可自動完成對其后連續(xù)的另三路PCM語音編碼同步,。在以32bit方式工作時,還可以采用多片TP3094芯片級聯(lián)工作,。 ?

  圖1所示為兩片TP3094級聯(lián)成的八路PCM語音編解碼電路。圖中TP3094的VXI0~VXI3為四路語音輸入端,GXO0~GXO3為各路的增益調(diào)節(jié)端,在VXI和GXO之間接一電阻,此電阻與VXI端至信號源間的電阻比值可決定該路語音信號的輸入增益,。VRO0~VRO3為解碼后的四路模擬語音信號輸出端,。電容C1、C2用于濾波,。外接的2.048MHz主時鐘脈沖送到兩片TP3094的MCLK端,8kHz的幀信號F0(由CPLD產(chǎn)生)送到第一片TP3094的FSX0和FSR0端,再將第一片TP3094的FSX1和FSR1分別連到第二片TP3094的FSX0和FSR0端,就完成了兩片芯片的級聯(lián),。兩片以上的級聯(lián)亦可由此類推。為避免數(shù)字信號對模擬信號的干擾,電路中數(shù)字部分和模擬部分的供電分別布線后再接到單一5伏電源,。?

?

?

  兩片TP3094的PCM信號輸出端DX并聯(lián)后送到數(shù)字噪聲抑制電路,經(jīng)數(shù)字噪聲抑制電路處理后的PCM信號再送回兩片TP3094的輸入端DR進(jìn)行解碼,。R1、R2為上拉電阻,。在所分配的時隙輸出PCM信號時,可提供給CPLD作為控制信號,。?

  TP3094工作于32bit短幀方式時的時序圖如圖2所示。?

?

?

  輸入和輸出的PCM信號DR、DX包含了從CH0到CH3的四路數(shù)字語音信號,每路為一個時隙,8個bit,。每路語音的PCM編碼中D7為符號位,D6~D0為數(shù)值位,。FSX1和FSR1可用于級聯(lián)下一個芯片。?

3 數(shù)字化噪聲抑制電路的原理框圖?

  數(shù)字化噪聲抑制電路的原理框圖如圖3所示,。由于采用的是“自頂向下”的CPLD設(shè)計方法,這一電原理框圖本身就是最頂層的圖形設(shè)計文件(.gdf文件),。圖中的各個組成部分,根據(jù)需要分別采用了基本邏輯門電路、參數(shù)化模塊,、以缺省符號(Default Symbol)表示的文本輸入(Text Entry)和宏功能邏輯單元(Mega Function)組合,。?

?

?

  圖3的原理簡述如下:?

  從PCM解碼輸出端DX輸出表示八路語音信號的64bit串行信號,進(jìn)入64位的參數(shù)化移位寄存器模塊進(jìn)行串/并行變換,變換后的輸出經(jīng)64位參數(shù)化鎖存器模塊鎖存,每幀刷新一次。鎖存信號以八位為一路,依次送到八個噪聲抑制控制器(Symbol1),。每個噪聲抑制控制器獨自控制一路語音信道,將PCM信號的偶數(shù)位取反后,再將除符號位(最高位)以外的七位數(shù)字與由S[6..0]設(shè)定的噪聲抑制門限值進(jìn)行比較,比較結(jié)果輸出給延時器(Symbol2),延時器的輸出則作為控制信號送到噪聲抑制控制器,。各噪聲抑制控制器輸出的PCM信號經(jīng)64位參數(shù)化移位寄存器模塊完成并/串行變換后恢復(fù)成串行PCM碼流送往兩片TP3094解碼成為具有噪聲抑制效果的語音信號。噪聲抑制控制器還輸出八路指示信號LED[7..0]至八只發(fā)光二極管作為各語音信道的噪聲抑制門限指示,。?

  Symbol3用來產(chǎn)生TP3094要求的幀脈沖F0,提供移位寄存器,、鎖存器、噪聲抑制控制器所需的時序信號,并為延時器提供兩路不同的時鐘信號;P0,、P1用來選擇PCM幀32個時隙中的哪八個時隙用于本片作語音噪聲抑制處理;TSET[3..0]用來選擇CLK1,、CLK2的分頻系數(shù)以調(diào)整噪聲抑制延時時間。這些輸入都可以通過外部數(shù)字信號進(jìn)行設(shè)置和調(diào)節(jié),。?

??? 按以上方法對PCM信號進(jìn)行的數(shù)字化噪聲抑制處理使語音信號產(chǎn)生一幀(125μs)的固定時延,但人耳的聽覺對這一時延是完全不能覺察的,。?

4 CPLD設(shè)計要點?

  CPLD器件選用Altera公司的EPF6016ATC100集成電路[3],內(nèi)含16000個等效門,1320個邏輯單元,采用100-Pin TQFP封裝。設(shè)計軟件使用MAX+PLUS II 10.0版本[4],下面介紹設(shè)計要點,。?

4.1 Symbol1的設(shè)計?

  Symbol1實施噪聲抑制控制功能,首先通過偶數(shù)位取反將PCM碼轉(zhuǎn)換成便于作大小比較的碼型,再將D[6..0]與S[6..0]輸入的設(shè)定值進(jìn)行噪聲抑制門限比較,。比較結(jié)果從D端輸出到延時器,并從B端接收延時信號。根據(jù)比較結(jié)果和延時狀態(tài)決定是將輸入的PCM信號原樣送往輸出,還是將代表無語音信號的“55H”碼送往輸出,。?

  Symbol1的邏輯功能由AHDL語言編寫,具體如下:?

??? Subdesign? symbol1?

??? ( A[7..0], S[6..0], B: input;?

??? Y[7..0], D, L: output; )?

??? variable?

??? E[6..0]: node;?

??? begin ?

??? E6=!A6; E5=A5; E4=!A4;?

??? E3=A3; E2=!A2; E1=A1;?

??? E0=!A0; ?

??? L=!B;?

??? if ( E[6..0]>S[6..0] ) then?

??? (D) = B ″1″;?

??? end if;?

??? if (B) then?

??? ( Y[7..0] )=H″55″;?

??? else(Y[7..0]) = A[7..0];?

??? end if;?

??? end;?

??? 以上文本通過編譯后即可建為缺省圖形符號Symbol1,。?

4.2 Symbol2的設(shè)計?

  Symbol2實現(xiàn)前后延時功能,采用圖形輸入,電路圖見圖4。?

?

?

  圖4中CLK1,、CLK2為前,、后延時的計時脈沖,由2.048MHz的MCLK主時鐘經(jīng)分頻后得到,分別用于前延時計數(shù)器Counter1和后延時計數(shù)器Counter2計時。當(dāng)無語音信號時,噪聲抑制控制器Symbol1的輸出D為“0”,Counter2計至Q2端為“1”后停止計數(shù),并通過反相器將CLK2的輸入封住,。Q2端的高電平同時對Counter1清零,使B輸出為“1”,噪聲抑制控制器輸出PCM碼“55H”,即無語音信號。?

  當(dāng)接收到的PCM信號幅度超過設(shè)定的噪聲抑制閾值時,D變?yōu)椤?”,Counter2被清零,此時Counter1脫離清零狀態(tài)開始計數(shù),。Counter1計至Q1為“1”后B端輸出電平從“1”轉(zhuǎn)為“0”,前延時結(jié)束,Symbol1的輸出從“55H”變?yōu)檗D(zhuǎn)發(fā)輸入的PCM碼,。與此同時,B端的低電平將CLK1時鐘封住,只要Counter1不被清零,B始終為低。?

  如果接收到的PCM信號不是連續(xù)的語音而是突發(fā)噪聲,幅度只是短暫地超過設(shè)定的噪聲抑制閾值,那么D變?yōu)椤?”后在Counter1未來得及將B變?yōu)椤?”時D又回到了“0”,B的電平就一直是“1”,PCM輸出碼也始終是“55H”,突發(fā)的噪聲就不會傳到輸出端,。?

  在話音信號持續(xù)期間,信號幅度在短暫時間內(nèi)低于噪聲抑制閾值雖然使得D端電平有時為“0”,從而使Counter2有時脫離清零狀態(tài)開始計數(shù),但只要信號幅度低于噪聲抑制閾值的時間不超過設(shè)定的后延時時間,Counter2就總是在計數(shù)未滿時就被再次清零,其輸出一直保持為“0”,使B也一直為“0”,輸出與輸入的PCM信號始終保持一致,語音不會發(fā)生斷續(xù),。只有當(dāng)輸入信號幅度低于噪聲抑制閾值的時間超過設(shè)定的后延時時間后,Q2輸出“1”, 才使Counter1被清零,使B為“1”,輸出PCM碼“55H”。再有信號來時,仍按上述流程工作。?

4.3 時序的設(shè)計?

  數(shù)字化噪聲抑制電路必須嚴(yán)格按照標(biāo)準(zhǔn)的PCM時序工作,電路由外部提供2.048MHz的主時鐘信號MCLK和幀同步信號,。用于本部分電路PCM信號與其它電路的PCM信號組幀時進(jìn)行同步,在不需要該功能時可將輸入端接高電平,。?

  Symbol3在MCLK的作用下產(chǎn)生PCM編解碼電路TP3094所需的幀同步信號F0,又從TP3094接收信號以產(chǎn)生數(shù)字噪聲抑制處理所需的時序信號TSX、,。為了保證PCM信號的正確讀入,、鎖存、處理和移位輸出,這些信號間的時序關(guān)系必須如圖5所示,。?

?

?

  TSX由,、經(jīng)“與非”后得到,在每幀中所選定的八個時隙傳輸PCM信號時為高電平。TSX為串/并行移位寄存器提供賦能信號,在主時鐘MCLK的下降沿將來自DX端的PCM信號讀入寄存器并移位寄存,。TSX同時是PCM信號從DR端輸出的三態(tài)門控制信號,。?

  是CPLD 噪聲抑制時序中的一個重要控制信號,由TSX延時半個主時鐘周期(244ns)后取反得到。由于的延時作用,使得圖3中的參數(shù)化鎖存器模塊能在輸入的PCM信號完成串/并行變換后隨即于的上升沿將數(shù)據(jù)鎖存住,。在通過并/串行移位寄存器輸出PCM信號時,為高電平時把并行數(shù)據(jù)裝載進(jìn)移位寄存器;為低電平時MCLK的上升沿將寄存器內(nèi)的數(shù)據(jù)逐位地串行移出至DR端,。?

  CPLD產(chǎn)生的時序信號只要能滿足圖2和圖5的要求,實現(xiàn)起來并不復(fù)雜,可用簡單的圖形輸入或文本輸入實現(xiàn)。值得注意的是,正確使用MAX+PLUS II軟件中的“Assign-Clique”[4]功能,為時序相關(guān)的功能模塊指定相同的“Clique”,能夠使波形仿真的結(jié)果明顯得到優(yōu)化,。?

5 應(yīng)用成果?

  按照以上設(shè)計,用兩片TP3094和一片CPLD芯片再加上少量外圍器件組成的數(shù)字化噪聲抑制電路,改造了某語音指揮通信設(shè)備中采用模擬電路噪聲抑制技術(shù)的八路語音指揮通信電路板,得到了優(yōu)良的語音噪聲抑制效果,。新的電路板繼而成功地應(yīng)用到新一代語音指揮通信設(shè)備上,交付用戶使用。更多路的數(shù)字化噪聲抑制電路也已試驗成功,。?

參考文獻(xiàn)?

1 馮重熙,錢亞生,姚彥等. 現(xiàn)代數(shù)字通信技術(shù),北京:人民郵電出版社,1993,7:64?

2 TP3094 Quad PCM Codec/Filter Datasheet.National Semiconductor, February 2000 ?

3 Altera Corporation. FLEX6000 Programmable Logic Device Family Data Sheet. Altera Digital Library,2001 Version 3?

4 MAX+PLUS II 10.0,Version 10.0. Altera Corporation,2000-09-14
本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]