林麗君, 吳巧玲
(成都大學 機械工程學院, 四川 成都 610106)
MATLAB具有強大的數學計算和圖形繪制功能,在界面開發、數據輸入、網絡通信及硬件控制方面比較繁瑣,但在圖像信號處理領域具有卓越的優勢.LabVIEW作為標準的數據采集和儀器控制軟件,以其強大的數據采集、數據分析和儀器控制功能在現代測控領域中得到了廣泛的應用,但在數值分析計算等方面效率低,由于功能簡單,不能滿足工程應用的要求[1].本研究利用LabVIEW靈活的圖形編程和MATLAB數據處理功能[2],在LabVIEW環境中用聲卡采集語音信號,采用MATLAB對語音信號進行處理,實現二者優勢互補,提高了編程效率和數據處理能力.
本設計采用在LabVIEW虛擬儀器環境中利用Windows自帶聲卡采集語音信號,使用LabVIEW這種圖形化編輯語言(G語言)搭建語音信號采集系統.整體結構方案[3]如圖1所示.

圖1語音采集系統設計方案
本設計通過LabVIEW軟件搭建出采用計算機自帶的聲卡作為采集設備進行語音信號采集的系統,錄制一段文字或其他語音信號,并顯示語音信號采集和播放的波形,使用MATLAB軟件對采集到的語音信號進行頻譜分析、添加噪聲和消噪處理.
PC聲卡是一種音頻范圍內的數據采集卡,同時具有A/D和D/A轉換功能,成本低,兼容性好,性能穩定.語音音頻范圍一般在3 400 Hz以內,聲卡可測音頻范圍為20 Hz~20 kHz,滿足需求.在采集語音信號前,本研究確保已配置的錄音功能不處于靜音狀態.
本設計使用帶麥克風的耳機,通過耳機的麥克風,錄入一段話,如“語音信號的分析與處理",并使這段信號經過聲卡放大轉換為數字信號,然后通過LabVIEW軟件搭建采集系統,利用聲音相關VI實現語音信號的采集、存儲及播放.
LabVIEW中的各類聲音VI如圖2~圖5所示.

圖2聲音相關VI庫

圖3聲音輸入VI庫

圖4聲音輸出VI庫

圖5聲音文件VI庫
LabVIEW編程過程如下:
1)程序框圖編輯.新建聲音收集系統文件(*.vi),在事件結構中搭建錄音和播放程序.本研究使用采集系統對語音信號進行錄音時,將采樣頻率設置為8 kHz,將采樣位數設置為16 bit,將采樣方式設置為為雙聲道,使波形穩定且干擾較小.
2)采集程序編寫.首先添加一個while循環結構,并在while結構中創建事件結構程序,編輯事件結構的一個分支處理事件為“錄音按鈕,值改變".在事件結構程序中創建文件對話框VI,將文件類型設置為“wav".在while循環結構外創建聲音輸入清零VI,并與讀取聲音輸入VI相連,最后創建關閉聲音文件VI,將聲音文件關閉.
3)播放程序編寫.添加一個事件分支,處理的事件為“播放按鈕,值改變",然后在事件結構中創建聲音文件信息VI,創建路徑為輸入控件并在前面板選擇播放聲音的路徑,接著創建聲音輸出清零VI,并與聲音輸出等待VI連接,最后創建關閉聲音文件VI關閉聲音文件.
根據設計需要選擇聲音相關VI搭建的可視化程序如圖6和圖7所示,前面板經過整理后如圖8所示.

圖6錄音程序

圖7播放程序

圖8前面板狀態
語音信號為一種包含各種有效信息的非平穩時變信號,因為直接采集獲得的語音信號包含較多噪聲,若不進行消噪預處理,則會直接影響后續語音處理的準確性[4-5].本研究利用最小均方自適應濾波器[6-7]對LabVIEW采集的語音信號進行消噪處理.
最小均方濾波器是一種梯度搜索算法的簡單實現,用瞬時平方誤差的梯度代替均方誤差的梯度[8-9],其自適應算法可定義為,
(1)
式中,e(m)是自適應濾波器輸出與期望信號之間的誤差信號,如式(2)所示.
e(m)=x(m)-wT(m)y(m)
(2)
平方誤差的順勢梯度還可表示為,
=-2y(m)[x(m)-wT(m)y(m)]
=-2y(m)e(m)
(3)
將式(3)代入式(1)中得到最小均方自適應濾波器的自適應方程為,
w(m+1)=w(m)+μ[y(m)e(m)]
(4)
從式(4)可以看出,該方程簡單,易于實現.
本研究的仿真條件為:自適應濾波器階數為8,輸入信號是LabVIEW采集的一段語音“語音信號的分析與處理".選用的3種噪聲分別是周期噪聲、脈沖噪聲和寬帶噪聲[10-11],具體為:周期噪聲采用的是正弦信號含周期性噪聲的語音信號,其經最小均方濾波器消噪后的時域圖和頻域圖如圖9和圖10所示;脈沖噪聲選用的是行列數相同的零向量中特定的位置取為1而形成的一個脈沖信號,含脈沖噪聲的語音信號經最小均方濾波器消噪后的時域圖和頻域圖如圖11和圖12所示;寬帶噪聲選用的是信號為(n*1)的高斯寬帶矩陣(0.1*wgn(n,1,1)),含寬帶噪聲的語音信號經最小均方濾波器消噪后的時域圖和頻域圖如圖13和圖14所示.

圖9 最小均方濾波器去周期噪聲時域圖

圖10最小均方濾波器去周期噪聲頻域圖

圖11最小均方濾波器去脈沖噪聲時域圖

圖12最小均方濾波器去脈沖噪聲頻域圖
從圖9~圖14可以看出,周期噪聲對原始信號的干擾最大,基本淹沒了原始信號,而寬帶噪聲干擾最小,最小均方濾波器去除周期噪聲效果最好.
本研究利用LabVIEW平臺結合MATLAB數據處理功能,基于電腦自帶集成聲卡,應用LabVIEW操作聲卡錄制一段語音, 采用最小均方自適應濾波器對語音信號進行了時域分析和頻域分析,且語音樣本采集操作簡單易學,能方便后續的功能擴展.

圖13最小均方濾波器去寬帶噪聲時域圖

圖14最小均方濾波器去寬帶噪聲頻域圖