matlab code for digital filter design to remove gaussian noise from a speech signal ?
8 views (last 30 days)
Show older comments
please give me matlab code for digital filter design to remove gaussian noise from a speech signal ? I have tried as following
Fs = 12000;
x =wavread('d:/assignment_1/speech_safety_-2db_snr.wav');
% plotting original sound signal
figure(1)
%subplot(2,1,1)
plot(x)
xlabel('time');ylabel('Amplitude');title('Original Sound Signal')
% Specifying the filter
%'Fp,Fst,Ap,Ast' (passband frequency, stopband frequency, passband ripple, stopband attenuation)
hlpf = fdesign.lowpass('Fp,Fst,Ap,Ast',4.0e3,5.5e3,01,50,Fs);
% Designing the filter
D = design(hlpf);
% Applying the filter
y = filter(D,x);
% Getting sound after sampling and Filteration
sound(y,Fs)
% plotting modified sound signal
% noise is removed after filteration
figure(2)
%subplot(2,1,2)
plot(y)
xlabel('time');ylabel('Amplitude');title('modified sound signal')
1 Comment
nazifa nawar
on 27 May 2021
Edited: nazifa nawar
on 27 May 2021
Did we use wavelet filter? Or what type of filter did we use?
Answers (2)
Wayne King
on 2 Feb 2014
So what is not working about the above code? You can probably push the passband frequency a bit lower without affect intelligibility, try 3000, so maybe a design like:
hlpf = fdesign.lowpass('Fp,Fst,Ap,Ast',3.0e3,3.5e3,0.5,50,Fs);
You have to understand that if you are talking about white Gaussian noise that has power at all frequencies so you cannot filter out that noise completely without removing the signal as well.
0 Comments
See Also
Categories
Find more on Audio Processing Algorithm Design in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!