方 倪 李丹鳳 胡安正(湖北文理學(xué)院物理與電子工程學(xué)院 湖北 襄陽(yáng) 441053)
基于MATLAB的音頻信號(hào)處理
方 倪 李丹鳳 胡安正
(湖北文理學(xué)院物理與電子工程學(xué)院 湖北 襄陽(yáng) 441053)
當(dāng)今社會(huì)已進(jìn)入了高速信息化時(shí)代,用現(xiàn)代科技手段更加有效地產(chǎn)生、傳輸、存儲(chǔ)和應(yīng)用語(yǔ)音信息對(duì)于促進(jìn)信息化發(fā)展意義重大.利用MATLAB對(duì)所采集的語(yǔ)音信號(hào)進(jìn)行濾波前的時(shí)域波形和頻譜圖分析,再接入筆者設(shè)計(jì)的低通濾波器進(jìn)行濾波,以及濾波前后的語(yǔ)音變化分析和播放對(duì)比,發(fā)現(xiàn)濾波后的語(yǔ)音效果得到很好的改善.
MATLAB 低通濾波器 模擬濾波
MATLAB音頻信號(hào)的分析,首先選用.WAV文件作為分析的對(duì)象.繼而進(jìn)行 FFT變換并得到頻域圖形,根據(jù)該聲音的頻譜,反演時(shí)域圖形,最后進(jìn)行傅里葉逆變換IFFT并畫頻域圖形 .
2.1 MATLAB對(duì)音頻信號(hào)的分析
選取一段語(yǔ)音信號(hào),然后在Matlab軟件平臺(tái)下,利用wavread函數(shù)對(duì)語(yǔ)音信號(hào)進(jìn)行采樣,設(shè)置采樣頻率和采樣點(diǎn)數(shù).
? xlabel(′頻率(Hz)′);ylabel(′幅值′);Title(′原始信號(hào)′);
? y1=y1*6;Y1=fft(y1,N1) %對(duì)音頻信號(hào)進(jìn)行FFT變換的得到頻域圖形(作N1=81920點(diǎn))
MATLAB得到的圖形如圖1和圖2所示.
圖1 音頻信號(hào)原始信號(hào)圖像
圖2 音頻信號(hào)FFT變化圖像
從圖1和圖2可以看出大部分信號(hào)集中在500 Hz和4 000 Hz左右,而噪聲及嘯叫聲集中在高頻率帶,音樂聲集中在低頻帶.
2.2 MATLAB低通濾波器的設(shè)計(jì)
模擬低通濾波器的設(shè)計(jì)指標(biāo)有Wp,Ws,Rp和As.其中Wp和Ws分別稱為通帶截止頻率和阻帶截止頻率,Rp是通帶中的最大衰減系數(shù),As是阻帶的最小衰減系數(shù),Rp和As一般用dB數(shù)表示.
本文采用的是調(diào)用buttord和butter設(shè)計(jì)巴特沃斯低通模擬濾波器:
[N,Wn]=buttord(Wp,Ws,Rp,Rs); %計(jì)算濾波器階數(shù)和3db截止頻率wc
[B,A]=butter(N,wc,′s′);%計(jì)算濾波器系統(tǒng)函數(shù)分子分母多項(xiàng)式系數(shù)
設(shè)計(jì)程序如下:
? fp=1000;fs1=1200
?wp=2*pi*fp/fs;
?ws=2*pi*fs1/fs;Rp=1;As=50;
?[N,wn]=buttord(wp/pi,ws/pi,Rp,As);
?[b,a]=butter(N,wn);
分析:圖3為通過MATLAB得到巴特沃斯低通模擬濾波器的圖像,可以看出在0~1 000 Hz范圍內(nèi)的信號(hào)可以通過,在2 500 Hz以上的高頻信號(hào)就被過濾掉了,本文采用的示例是500 Hz左右為通帶、4 000 Hz左右為阻帶,完全符合本次濾波器的設(shè)計(jì).
圖3 MATLAB得到的濾波器
2.3濾波前后的語(yǔ)音變化分析和播放對(duì)比
用設(shè)計(jì)的巴特沃斯低通模擬濾波器對(duì)語(yǔ)音信號(hào)進(jìn)行濾波,畫出濾波后信號(hào)的時(shí)域波形和頻譜圖,如圖4和圖5所示,并對(duì)濾波前、后的信號(hào)進(jìn)行對(duì)比,畫出時(shí)域波形差,分析信號(hào)的變化.
圖4 濾波后的音頻信號(hào)
圖5 濾波后的信號(hào)頻譜
程序如下:
?db=20*log10((mag+eps)/max(mag));
?y=filter(b,a,y1);
?wavwrite(real(y),′yinyuexiaozao.wav′); %把濾波后的音頻轉(zhuǎn)化成文檔保存
分析:經(jīng)上圖對(duì)比之后,可以很明顯地看出高頻帶的噪聲及嘯叫已經(jīng)濾掉,最后得到的濾波后的頻譜只有低頻帶的波形及500 Hz左右的波形了,得到的yinyuexiaozao.wav,通過音頻播放器得到的效果也是非常好的.這也說(shuō)明此次的濾波器設(shè)計(jì)是比較合理的.
本文根據(jù)音頻信號(hào)的特點(diǎn)設(shè)計(jì)了一款巴特沃斯低通模擬濾波器,濾波前后的語(yǔ)音變化分析和播放對(duì)比發(fā)現(xiàn)音頻效果得到很好的改善,通過此次的設(shè)計(jì)可以對(duì)語(yǔ)音信號(hào)降噪處理,使語(yǔ)音信號(hào)得到優(yōu)化,改善生活中的一些不足,更有利于我們?nèi)祟惖陌l(fā)展.
1 楊繼臣,劉磊安.基于MATLAB編程的數(shù)字信號(hào)處理教學(xué)改革.福建電腦,2016(04):83~84
2 董振海.精通MATLAB,編程與數(shù)據(jù)庫(kù)應(yīng)用.北京:電子工業(yè)出版社,2007.09
3 汪麗娜.音頻信號(hào)采集系統(tǒng)中數(shù)字濾波器的研究與設(shè)計(jì):[學(xué)位論文].蘭州:蘭州交通大學(xué),2014
4 高西全,丁玉美.數(shù)字信號(hào)處理.西安:西安電子科技大學(xué)出版社,2008.08
2016-12-12)