首页 > 行业资讯 > 【滤波器】基于多种滤波器实现信号去噪含Matlab源码

【滤波器】基于多种滤波器实现信号去噪含Matlab源码

时间:2023-01-09 来源: 浏览:

【滤波器】基于多种滤波器实现信号去噪含Matlab源码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于合集 #信号处理应用matlab源码 329个

1 简介

基于Matlab软件平台研究了不同的数字滤波器对污染的语音信号的去噪效果.对比了加入噪声前后的语音信号的时域与频域图.仿真实验结果表明:多种滤波器对加入噪声后的语音信号的去噪效果最佳,且成功滤除了高频噪声.

2 部分代码

function b = inverseFilter( Hd , Fs ,method, PLOT ) T = 0.15 ; [ F ,w] = freqz( Hd , 1 , 1000 , Fs ); if (method== 1 ) F2 = abs ( F ) + T ; F3 = 1 ./ F2 ; % F3 = F3 - min ( abs ( F3 )); % F3 = F3 ./ max ( abs ( F3 )); % F3 ( F3 > 0.50 ) = 1 ; % F3 ( F3 <= 0.50 ) = 0.00001 ; else if (method== 2 ) T = 0.050 ; F3 ( find ( abs ( F )> T )) = 1 ./ F ( find ( abs ( F )> T )); F3 ( find ( abs ( F )<= T )) = 1 ./ T ; F3 = F3 - min ( abs ( F3 )); F3 = F3 ./ max ( abs ( F3 )); M = mean( abs ( F3 ( abs ( F3 )> 0.20 ))); F3 = F3 ./ M ; else b = 1 ; a = Hd ; end end if ((method== 1 ) || (method== 2 )) if ( PLOT == 1 ) figure; plot(w, abs ( F )); hold on; plot(w, abs ( F3 ),’r’); end [b,a] = invfreqz( F3 , 2 * pi * w ./ 16000 , length( Hd ), 1 ); end if ( PLOT == 1 ) figure; freqz(b,a, 1000 , Fs ); end

3 仿真结果

4 参考文献

[1]赵培瑶, 向凤红, 毛剑琳,等. 基于Matlab的不同数字滤波器对语音信号的去噪效果[J]. 化工自动化及仪表, 2016(7):3.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐