当前位置 : 主页 > 编程语言 > python >

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

来源:互联网 收集:自由互联 发布时间:2022-06-18
1 简介 基于Matlab软件平台研究了高斯滤波器对污染的语音信号的去噪效果.对比了加入噪声前后的语音信号的时域与频域图. 2 完整代码 t1=-1.5:0.01:1.5; t2=-1.5:0.01:1.5; %b1=ones(1,length(t2)); b1=

1 简介

基于Matlab软件平台研究了高斯滤波器对污染的语音信号的去噪效果.对比了加入噪声前后的语音信号的时域与频域图.

2 完整代码

t1=-1.5:0.01:1.5;
t2=-1.5:0.01:1.5;
%b1=ones(1,length(t2));
b1=[zeros(1,100),ones(1,100),zeros(1,101)];
%产生滤波器1
y1=sqrt(pi)/0.25*exp(-((pi*t1).^2)/0.25.^2);
z1=0.5*(erfc(pi/0.25*(t1-0.5))-erfc(pi/0.25*(t1+0.5)));
%产生滤波器2
y2=sqrt(pi)/0.5*exp(-((pi*t1).^2)/0.5.^2);
z2=0.5*(erfc(pi/0.5*(t1-1))-erfc(pi/0.5*(t1+1)));
%产生滤波器3
y3=sqrt(pi)*exp(-(pi*t1).^2);
z3=0.5*(erfc(pi*(t1-1))-erfc(pi*(t1+1)));
%产生滤波器4
y4=sqrt(pi)/2*exp(-((pi*t1).^2)/2.^2);
z4=0.5*(erfc(pi/2*(t1-1))-erfc(pi/2*(t1+1)));
subplot(3,1,1),plot(t2,b1);axis([-1.5 1.5 0 1.2]);xlabel('t/T');ylabel('b(t)');
title('高斯脉冲成形滤波器的输入(矩形脉冲)');
subplot(3,1,2),plot(t1,y1,'r',t1,y2,'g',t1,y3,'b',t1,y4,'m');
legend('\alpha=0.25','\alpha=0.5','\alpha=1','\alpha=2');
xlabel('t/T');ylabel('h(t)');title('高斯脉冲成形滤波器的冲激响应h(t)');
subplot(3,1,3),plot(t1,z1,'r',t1,z2,'g',t1,z3,'b',t1,z4,'m');xlabel('t/T');ylabel('g(t)');
legend('\alpha=0.25,','\alpha=0.5','\alpha=1','\alpha=2');
axis([-1.5 1.5 0 1.2]);
title('高斯脉冲成形滤波器的输出');

3 仿真结果

【滤波器】基于高斯滤波器实现信号去噪含Matlab源码_高斯滤波

4 参考文献

[1]唐良瑞, 祁兵, 杨雪,等. 一种基于高斯滤波器的电能质量信号去噪算法[J]. 中国电机工程学报, 2006, 26(10):5.

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

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

【滤波器】基于高斯滤波器实现信号去噪含Matlab源码_语音信号_02




网友评论