音频增加噪声低通滤波降噪的过程

clear all;
close all;
clc;
[s,Fsample,B]=wavread('music.wav');
Ts=1/Fsample;
M=length(s);%获取音频的数据长度
m=0:M-1;

figure;
subplot(3,1,1); plot(m,s)
xlabel('Number of samples'); ylabel('Sample value x(n)');
axis([0 M+100 -1.5 1.5]);grid;


sigma=mean(s.*s);%噪声方差
v= sqrt(sigma)*randn([M,1]);%噪声生成
x= s+v;
wavwrite(x,'music_noise.wav');
f=[0:M/2]*Fsample/M;
%f=Fsample*linspace(0,1,M/2+1);
X=fft(x);
magX=abs(X);


subplot(3,1,2); plot(m,x)
xlabel('Number of samples'); ylabel('Sample value x(n)');
axis([0 M+100 -1.5 1.5]);grid;

subplot(3,1,3);
semilogx(f,magX(1:M/2+1));
xlabel('Frequency (Hz)');
ylabel('Amplitude |X(f)|');
axis([0 max(f)+100*Fsample/M 0 400]);grid;

%窗函数方法计算滤波器
wc=2*pi*2000/Fsample; %截止频率
Nwin = 147;% 查表N= 3.3 *8000/(fs -fp)
hwin=fir1(Nwin-1, wc/pi);%计算低通滤波器系数
[Hwin f1]=freqz(hwin,1,44100,Fsample);%计算低通滤波器的频率响应
magHwin=abs(Hwin);%幅频响应
phaHwin=angle(Hwin);%相频响应
phaHwin=180*unwrap(phaHwin)/pi;
nwin=0:Nwin-1;
figure;
subplot(3,1,1);stem(nwin,hwin);grid;
xlabel('n');ylabel('Impulse response of LPF');
subplot(3,1,2);semilogx(f1,20*log(magHwin));grid;
xlabel('Frequency(Hz)');ylabel('Magnitude response (db)');
subplot(3,1,3);plot(f1,phaHwin);grid;
xlabel('Frequency(Hz)');ylabel('Phase response (degree)');

%滤波之后的信号
y=filter(hwin,1,x);
Y=fft(y);
magY=abs(Y);%滤波之后的频谱

figure;%绘图,滤波后信号的时域和频率波形
subplot(2,1,1);plot(m,y);
xlabel('Number of samples');ylabel('Sample valu y(n)');grid;
subplot(2,1,2);semilogx(f,magY(1:M/2+1));
xlabel('Frequency(Hz)');ylabel('Amplitude |X(f)|');grid;
wavwrite(y,'music_denoise.wav');

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值