I have the following Spectrogram of a signal:

enter image description here

Essentially, in this signal, I know there is one point of interest (between 60-80) and between the the particular frequencies.

I could, potentially smooth the signal and perform a simple peakfinding algorithm to find the peak and then just extract the bin number where the bin has the highest frequency.

I'm however looking for a different method where multiple calls, at different bins of the output, for example:

enter image description here

Here there are 4 calls or 4 significant components of this signal, that I need to extract and show in a plot (not a spectrogram). Ideally, in this spectrogram, the X-axis represents time, so, I would like to extract the signal so that it is possible to show where they are in time.

The idea behind this, is to be able to count the number of calls (significant parts) of the signal.

I have seen this being implemented through the idea of Principle component analysis, however, I do not want to go down this route, instead, would like to use a simple and more elegant solution.

Could someone please recommend an algorithm, or, some reading materials to where I might be able to implement such an algorithm to be able to count the number of calls?


  • $\begingroup$ in the second line of your question are you trying to say picking the spectral peak and finding the bin ? try to add some more detail to your question also you say about extracting 4 significant components,do you mean a peaks are the significant components ? $\endgroup$
    – kakeh
    Jan 29, 2014 at 16:59


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.