How to detect noise/interference in audio signal
10 views (last 30 days)
Show older comments
I have an audio signal that has loud high-pitched tones in it that I am supposed to filter out (using both Simulink and MATLAB). I am currently working on the Simulink solution. When playing the audio file with Windows Media Player you can really only hear the high-pitched sounds.
When I take the FFT of the audio signal and look at that plot, I see a lot of different frequencies and I don't know how to tell which ones are the noise I am hearing. I have been trying to google around to see what human speech looks like but I am really not sure.
The zip file is the .wav file I am supposed to process; MATLAB doesn't allow uploads of .wav files. In addition, the frequency domain plot y-axis is in dB not Amplitude like the plot suggests.
1 Comment
Tamir Suliman
on 4 Dec 2016
I will take a look at it today it would help if you also upload your simulink model file.
Answers (1)
Walter Roberson
on 4 Dec 2016
Hint: if you subtract off the mean, fft the result, and zero out anything above a certain absolute magnitude, inverse transform, and play, then you will be able to get most of the way. Not all of the way because the pesky interfering frequencies will not be completely eliminated this way, but as you look at the plot of the fft() you will be able to see pretty clearly the range of frequencies that are causing the problem.
The equivalent of this is "low pass filter".
See Also
Categories
Find more on Measurements and Spatial Audio 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!