1、內(nèi)容簡(jiǎn)介
利用MATLAB GUI設(shè)計(jì)平臺(tái),用窗函數(shù)法設(shè)計(jì)FIR數(shù)字濾波器,對(duì)所給出的含有噪聲的聲音信號(hào)進(jìn)行數(shù)字濾波處理,得到降噪的聲音信號(hào),進(jìn)行時(shí)域頻域分析,同時(shí)分析不同窗函數(shù)的效果。將文件解壓至一個(gè)目錄下,運(yùn)行m文件即可使用。
2、函數(shù)使用
讀取.wav音頻文件函數(shù):audioread();(老版本為wavread) MATLAB播放音樂函數(shù):sound(); MATLAB停止播放音樂:clear sound 寫入.wav音頻文件函數(shù):audiowrite();(老版本為audiowrite) 加入白噪聲:noise=(max(x(:,1))/5)*randn(x,2); y=x+noise; 頻譜分析: fft(); fftshift(); Fir濾波: fir1(n,Wn,ftype,window); 窗函數(shù)選擇: 梯形窗boxcar 三角窗triang 海明窗hamming
漢寧窗hanning 布萊克曼窗blackman 凱塞窗kaiser
3、實(shí)現(xiàn)功能

實(shí)現(xiàn)的功能有:
打開文件:選擇路徑打開wav格式的音頻文件,自動(dòng)生成音頻的原始波形與頻譜。
加入噪聲:有兩種噪聲可以選擇加入,一種是白噪聲,其頻率蔓延整個(gè)頻譜;一種是特定頻率的噪聲,可通過輸入頻率加入單一頻率的噪聲。加入噪聲后自動(dòng)繪制加入噪聲后的波形與頻譜。
濾波處理:首先輸入濾波器通/阻帶的開始頻率與截止頻率(若為低/高通類型濾波,則只需輸入開始頻率;若為帶通/阻類型,則開始與截止都要輸入;輸入頻率值為真實(shí)頻率值,可根據(jù)頻譜圖進(jìn)行判斷 ),之后選取窗函數(shù)和濾波類型,將會(huì)生成濾波處理后的波形與頻譜。
音頻播放/停止:可隨時(shí)播放/停止原始、加噪、濾波處理后的音頻。
圖片導(dǎo)出:將波形、頻譜圖片一張張導(dǎo)出保存,可選的格式有jpg、png、bmp、eps。
保存文件:將加躁/濾波后的音頻導(dǎo)出保存。
4、操作實(shí)例
選取音樂“盧本偉語音包”,轉(zhuǎn)換為wav格式導(dǎo)入,得到結(jié)果如下

添加白噪聲后,此時(shí)播放音頻能聽到顯著雜音。而從原始信號(hào)的頻譜來看,初始音頻的頻率主要集中在0-1000Hz,因此我們可以選用低通濾波器,阻帶開始頻率設(shè)為1000Hz,選用矩形窗進(jìn)行濾波,得到結(jié)果如下:

由于白噪聲遍布于整個(gè)頻譜,對(duì)于噪聲頻譜于音頻頻譜的重疊部分,我們無法通過FIR濾波器進(jìn)行濾除,依然會(huì)有小部分雜音存在。若噪聲為特定單一頻率的噪聲,我們可以較好地將其去除。對(duì)于該音頻添加5000Hz的特定頻率,通過設(shè)計(jì)帶阻濾波器,阻帶范圍為4500-5500Hz對(duì)其進(jìn)行濾波,如下圖所示:

5、窗函數(shù)對(duì)比
仍選用上例中的5000Hz頻率噪聲,同時(shí)增加噪聲幅度,如下圖所示:

選用帶阻濾波器,設(shè)置阻帶范圍4000-6000Hz,觀察各窗函數(shù)對(duì)其濾波的效果。(每行從左到右分別是:矩形窗,三角窗,海明窗,漢寧窗,布萊克曼窗,凱塞窗,下同)


該種情況下濾波效果的總體排序?yàn)椋簞P瑟窗>矩形窗>漢寧窗>海明窗=三角窗>布萊克曼窗。
完整代碼:文章來源:http://www.zghlxwxcb.cn/news/detail-475986.html
https://download.csdn.net/download/qq_38735017/87385584文章來源地址http://www.zghlxwxcb.cn/news/detail-475986.html
到了這里,關(guān)于數(shù)字信號(hào)處理音頻FIR去噪濾波器(基于MATLAB GUI的開發(fā))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!