Analysing and extracting a long audio signal

1 view (last 30 days)
Hi, this is my first post! I work as a water engineer but part of my job is product development.
So, I have a set of many audio files (1000+, will be larger when the project is commercial) which are around 2 minutes in length with around 10s of signal I care about and the rest is noise. I have a pretty good idea of what I’d like to do but not entirely sure of how to do it in matlab.
I'd like to take a FFT of the noise profile and subtract this from the waveform of the entire signal to attenuate the noise. Then extract the part of the file I'm interested in based off the differential in amplitude of the signal against the background noise. I'd then like to take this information and run an FFT on this part of the signal and normalise each of the different signals about a common peak frequency. Once this has been done I'd like to analyse add up the bins of the signal between 1kHz to 5kHz and output as a single number.
This is the initial stage of my project but I need to extract the signals before I can start playing with them :) Any help would be much appreciated!
Cheers

Answers (1)

Star Strider
Star Strider on 3 Feb 2016
You cannot eliminate broadband noise by subtracting it from your signal unless you know what the noise is at every part of your signal. (I don’t have one of your signals to experiment with, so I cannot offer a specific approach.)
If you have the Signal Processing Toolbox, I would begin by using the spectrogram function to examine it, since it seems from your description to have both time- and frequency-dependent characteristics. If you know the noise has particular spectral characteristics (and is not generally broadband noise), you can design a discrete filter to eliminate it.

Categories

Find more on Signal Processing Toolbox 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!