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

【滤波器】基于低通滤波器实现语音信号加噪与去噪含Matlab源码

来源:互联网 收集:自由互联 发布时间:2022-06-18
1 简介 基于Matlab软件平台研究了不同的数字滤波器对污染的语音信号的去噪效果.对比了加入噪声前后的语音信号的时域与频域图.仿真实验结果表明:4种滤波器中切比雪夫I型滤波器对加

1 简介

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

2 部分代码

%对语言信号做原始的时域波形分析和频谱分析
[y,fs,bits]=wavread('6.wav');
fs
sound(y,fs) % 回放语音信号
pause(19);
n=length(y) %选取变换的点数
y_p=fft(y,n); %对n点进行傅里叶变换到频域
f=fs*(0:n/2-1)/n; % 对应点的频率
figure(1)
subplot(2,1,1);
plot(y); %语音信号的时域波形图
title('原始语音信号采样后时域波形');
xlabel('时间轴')
ylabel('幅值 A')
subplot(2,1,2);
plot(f,abs(y_p(1:n/2))); %语音信号的频谱图
title('原始语音信号采样后频谱图');
xlabel('频率Hz');
ylabel('频率幅值');
%对音频信号产生噪声
L=length(y) %计算音频信号的长度
noise=0.1*randn(L,1); %产生等长度的随机噪声信号(这里的噪声的大小取决于随机函数的幅度倍数)
y_z=y+noise; %将两个信号叠加成一个新的信号——加噪声处理
sound(y_z,fs)
pause(19)
%对加噪后的语音信号进行分析
n=length(y); %选取变换的点数
y_zp=fft(y_z,n); %对n点进行傅里叶变换到频域
f=fs*(0:n/2-1)/n; % 对应点的频率
figure(2)
subplot(2,1,1);
plot(y_z); %加噪语音信号的时域波形图
title('加噪语音信号时域波形');
xlabel('时间轴')
ylabel('幅值 A')
subplot(2,1,2);
plot(f,abs(y_zp(1:n/2))); %加噪语音信号的频谱图
title('加噪语音信号频谱图');
xlabel('频率Hz');
ylabel('频率幅值');
%对加噪的语音信号进行去噪程序如下:
fp=1500;fc=1700;As=100;Ap=1;
%(以上为低通滤波器的性能指标)
wc=2*pi*fc/fs; wp=2*pi*fp/fs;
wdel=wc-wp;
beta=0.112*(As-8.7);
N=ceil((As-8)/2.285/wdel);
wn= kaiser(N+1,beta);
ws=(wp+wc)/2/pi;
b=fir1(N,ws,wn);
figure(3);
freqz(b,1);
%(此前为低通滤波器设计阶段)——接下来为去除噪声信号的程序——
x=fftfilt(b,y_z);
X=fft(x,n);
figure(4);
subplot(2,2,1);
plot(f,abs(y_zp(1:n/2)));
title('滤波前信号的频谱');
subplot(2,2,2);
plot(f,abs(X(1:n/2)));
title('滤波后信号频谱');
subplot(2,2,3);
plot(y_z);
title('滤波前信号的波形')
subplot(2,2,4);
plot(x);
title('滤波后信号的波形')
sound(x,fs,bits) %回放滤波后的音频

3 仿真结果

【滤波器】基于低通滤波器实现语音信号加噪与去噪含Matlab源码_去噪

【滤波器】基于低通滤波器实现语音信号加噪与去噪含Matlab源码_时域_02

【滤波器】基于低通滤波器实现语音信号加噪与去噪含Matlab源码_去噪_03

【滤波器】基于低通滤波器实现语音信号加噪与去噪含Matlab源码_时域_04

4 参考文献

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

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

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


【滤波器】基于低通滤波器实现语音信号加噪与去噪含Matlab源码_时域_05


网友评论