1 简介
滤波降噪技术在现代产业发展中扮演着重要的地位,MATLAB软件则为数字滤波器的设计提供便捷的平台.为了滤除语音信号中夹杂的高频噪声成分,利用MATLAB仿真软件设计一个数字IIR低通滤波器.用MATLAB对加噪语音信号进行滤波,通过对比滤波前后语音信号的时域波形和频谱来检验该滤波器的滤波效果.实验结果表明,该滤波器对高频噪声信号有很好的滤波效果.
2 部分代码
function sx(x,fs,bits,hObject, handles)x2=x;Fs=fs;Rp =10 ;Rs =25 ;wp= 4000/fs*2*pi;ws= 4500/fs*2*pi;Ts=1/Fs;wp1=2/Ts*tan(wp/2); %将模拟指标转换成数字指标ws1=2/Ts*tan(ws/2);[N,Wn]=buttord(wp1,ws1,Rp,Rs,'s'); %选择滤波器的最小阶数title('滤波前的频谱')xlabel('Hz');ylabel('fuzhi');axes(handles.axes4);F1=plot(f,abs(F0(1:512))); %画出滤波后的频谱图grid ontitle('滤波后的频谱')xlabel('Hz');ylabel('fuzhi');axes(handles.axes1);t=0:1/fs:(size(x2)-1)/fs;%将所加噪声信号的点数调整到与原始信号相同plot(t,x2) %做原始语音信号的时域图形title('加噪后的信号');xlabel('time n');ylabel('fuzhi n');axes(handles.axes2);plot(t,f1) %画出滤波后的时域图形title('滤波后的信号');xlabel('time n');ylabel('fuzhi n');sound(f1,fs); %画出滤波后的语音信号
3 仿真结果
4 参考文献
[1]黄晓珊, 徐国保. 基于MATLAB语音降噪IIR滤波器的设计[J]. 现代计算机(专业版), 2016(22):48-52.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
5 代码下载