基于MATLAB的音频信号处理
2017-09-25李丹凤胡安正湖北文理学院物理与电子工程学院湖北襄阳441053
方 倪 李丹凤 胡安正(湖北文理学院物理与电子工程学院 湖北 襄阳 441053)
基于MATLAB的音频信号处理
方 倪 李丹凤 胡安正
(湖北文理学院物理与电子工程学院 湖北 襄阳 441053)
当今社会已进入了高速信息化时代,用现代科技手段更加有效地产生、传输、存储和应用语音信息对于促进信息化发展意义重大.利用MATLAB对所采集的语音信号进行滤波前的时域波形和频谱图分析,再接入笔者设计的低通滤波器进行滤波,以及滤波前后的语音变化分析和播放对比,发现滤波后的语音效果得到很好的改善.
MATLAB 低通滤波器 模拟滤波
1 语音信号降噪处理分析MATLAB介绍
MATLAB音频信号的分析,首先选用.WAV文件作为分析的对象.继而进行 FFT变换并得到频域图形,根据该声音的频谱,反演时域图形,最后进行傅里叶逆变换IFFT并画频域图形 .
2 MATLAB对语音信号的处理具体步骤
2.1 MATLAB对音频信号的分析
选取一段语音信号,然后在Matlab软件平台下,利用wavread函数对语音信号进行采样,设置采样频率和采样点数.
≫ xlabel(′频率(Hz)′);ylabel(′幅值′);Title(′原始信号′);
≫ y1=y1*6;Y1=fft(y1,N1) %对音频信号进行FFT变换的得到频域图形(作N1=81920点)
MATLAB得到的图形如图1和图2所示.
图1 音频信号原始信号图像
图2 音频信号FFT变化图像
从图1和图2可以看出大部分信号集中在500 Hz和4 000 Hz左右,而噪声及啸叫声集中在高频率带,音乐声集中在低频带.
2.2 MATLAB低通滤波器的设计
模拟低通滤波器的设计指标有Wp,Ws,Rp和As.其中Wp和Ws分别称为通带截止频率和阻带截止频率,Rp是通带中的最大衰减系数,As是阻带的最小衰减系数,Rp和As一般用dB数表示.
本文采用的是调用buttord和butter设计巴特沃斯低通模拟滤波器:
[N,Wn]=buttord(Wp,Ws,Rp,Rs); %计算滤波器阶数和3db截止频率wc
[B,A]=butter(N,wc,′s′);%计算滤波器系统函数分子分母多项式系数
设计程序如下:
≫ 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范围内的信号可以通过,在2 500 Hz以上的高频信号就被过滤掉了,本文采用的示例是500 Hz左右为通带、4 000 Hz左右为阻带,完全符合本次滤波器的设计.
图3 MATLAB得到的滤波器
2.3滤波前后的语音变化分析和播放对比
用设计的巴特沃斯低通模拟滤波器对语音信号进行滤波,画出滤波后信号的时域波形和频谱图,如图4和图5所示,并对滤波前、后的信号进行对比,画出时域波形差,分析信号的变化.
图4 滤波后的音频信号
图5 滤波后的信号频谱
程序如下:
≫db=20*log10((mag+eps)/max(mag));
≫y=filter(b,a,y1);
≫wavwrite(real(y),′yinyuexiaozao.wav′); %把滤波后的音频转化成文档保存
分析:经上图对比之后,可以很明显地看出高频带的噪声及啸叫已经滤掉,最后得到的滤波后的频谱只有低频带的波形及500 Hz左右的波形了,得到的yinyuexiaozao.wav,通过音频播放器得到的效果也是非常好的.这也说明此次的滤波器设计是比较合理的.
3 总结
本文根据音频信号的特点设计了一款巴特沃斯低通模拟滤波器,滤波前后的语音变化分析和播放对比发现音频效果得到很好的改善,通过此次的设计可以对语音信号降噪处理,使语音信号得到优化,改善生活中的一些不足,更有利于我们人类的发展.
1 杨继臣,刘磊安.基于MATLAB编程的数字信号处理教学改革.福建电脑,2016(04):83~84
2 董振海.精通MATLAB,编程与数据库应用.北京:电子工业出版社,2007.09
3 汪丽娜.音频信号采集系统中数字滤波器的研究与设计:[学位论文].兰州:兰州交通大学,2014
4 高西全,丁玉美.数字信号处理.西安:西安电子科技大学出版社,2008.08
2016-12-12)