畢東生+劉瑾+王前+朱陸旭+和家慧
摘要:本文提出基于中值濾波法的語音降噪方法,能夠有效地對語音信號進行降噪處理。通過設(shè)計GUI界面使降噪效果顯示的更加形象客觀。圖形結(jié)果表明,基于中值濾波法能夠很好地實現(xiàn)語音信號的降噪。
關(guān)鍵詞:中值濾波法;語音降噪;GUI界面
隨著社會的發(fā)展,語音音頻等信號包含越來越多的信息,能夠讓人們知曉一定的不確定性,是能夠讓人們獲知解惑的。因此,本文提出基于中值濾波法的一種有效的語音降噪方法。
1.原始語音信號的采集
首先錄制一段語音信號,再將語音信號的文件的格式進行轉(zhuǎn)換,得到.wav文件[1]。在MATLAB軟件的命令窗口,輸入命令“y=wavrecord(m,F(xiàn)s,ch)”運行后,語音信號將會生成一個文件名為y的語音文件,并且會以.wav的語音文件格式存儲在MATLAB的工作空間里。本文中的語音信號,通過MATLAB中的wavread函數(shù)讀入,并通過sound函數(shù)進行播放。
2.原始語音信號的加噪
可以疊加在原始語音信號上的噪聲有兩種,一種是單頻噪聲,另一種是高斯白噪聲。高斯白噪聲其瞬時值服從高斯分布。功率譜密度服從均勻分布[2]。本文采用的噪聲即為加性高斯白噪聲。利用MATLAB工具箱產(chǎn)生高斯白噪聲方法如下:
(1)WGN產(chǎn)生高斯白噪聲。y=wgn(m,n,p,imp,state)表示重置RANDN。
(2) AWGN對采樣信號進行加噪y=awgn(x,SNR)可以加噪于采集的信號上。y=awgn(x,SNR,SIGPOWER,STATE)將RANDN的狀態(tài)重置。
(3)本設(shè)計采用了randn函數(shù)產(chǎn)生高斯分布序列。randn函數(shù)的調(diào)用如下:randn(n)或rand(n)表示生成0到1之間的n階隨機數(shù)方陣。
本文中用于產(chǎn)生噪聲的的相關(guān)函數(shù)是Noise=0.1*randn(len,1),通過MATLAB軟件可以作出原始語音信號的時域波形以及頻域波形,如圖1所示,并且圖2表示加噪后的特征圖形。
3.中值濾波法的語音降噪設(shè)計
中值濾波是非線性平滑技術(shù)的一種,用于語音信號的降噪,并且去噪效果較好,它的主要功能是將每一個樣本點的值設(shè)置為該點領(lǐng)域內(nèi)的所有樣本點的中值,從而消除單一的噪聲點。中值濾波在其濾除噪聲的同時,既能夠保護好信號的邊緣,又能使之保持清晰。其實質(zhì)是最小絕對誤差準則下濾波的最優(yōu)化狀態(tài)。調(diào)用函數(shù)y = medfilt1(x,n)??梢园裯階一維中值濾波器應(yīng)用到矢量x上。這樣就起到了濾除噪聲的作用。圖3表示的是采用中值濾波法進行消除噪聲的處理,所得到的波形和頻譜圖。
4.GUI界面的設(shè)計及降噪結(jié)果分析
通過對比中值濾波后的時域波形和頻域頻譜圖,設(shè)計出GUI界面如圖4所示。
圖4 中值濾波界面
由分析可知降噪后的語音信號波形和采樣的語音信號波形基本一致,即起到了很好的降噪效果。基于MATLAB計算信號功率與噪聲功率的比值,即中值濾波的信噪比為6.6572,也證明信號功率遠遠大于噪聲功率,即降噪效果很好。
5.總結(jié)語
根據(jù)中值濾波法的基本原理,結(jié)合中值函數(shù)對疊加了噪聲的語音信號進行處理,從時域和頻域分別對比處理前后的波形和頻譜,計算出信噪比和設(shè)計GUI界面,直觀的顯示出降噪效果,故而中值濾波法能夠很好的實現(xiàn)語音信號的降噪。
參考文獻:
[1] 張文. 基于MATLAB的語音信號的濾波與實現(xiàn)[J]. 山西:電子技術(shù),2008,P22-P28
[2]虞貴財,邵玉斌,肖笛. 產(chǎn)生高斯白噪聲的研究與實現(xiàn)[J]. 電子科技,2006,(11):16-18+22.
通信作者:張培玲endprint