Remove White Noise after adding it with awgn by Spectral Substraction method

조회 수: 13 (최근 30일)
i have an audio signal.then i add a gaussian white noise with awgn.now how can i remove the noise using fft and spectral substraction and revert to original signal?
i dont want to use filters.just spectral substraction
[x,fs]=audioread('Test.wav');
x = awgn(x,3,'measured');
audiowrite('Noisy.wav',x,fs)

답변 (1개)

Image Analyst
Image Analyst 2020년 1월 26일
I don't think you can. By definition white noise happens equally at all wavelengths. If it's really in there and it's really white, then it's spread evenly all across the spectra so you can't "remove" it unless you just want to do something like threshold the signal to set all values less than some value to pure zero (silence). Since it doesn't happen in any one particular location in the spectrum, how can you remove it by spectral filtering? Do you have some algorithm for the "Spectral Substraction method"? Maybe it's some magic algorithm I'm not aware of.
  댓글 수: 2
Amirhosein Khanlari
Amirhosein Khanlari 2020년 1월 26일
can you code the threshold part you explained?
can i just reduce the noise?
Image Analyst
Image Analyst 2020년 1월 27일
% Mute values less than 0.1
% Get indexes where the signal is soft or quiet.
quietIndexes = signal < 0.1; % Whatever.
signal(quietIndexes) = 0; % Apply muting

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Spectral Estimation에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by