c++fftscientific-computingspectrumspectrogram

Spectrogram C++ library


For my current project in C++ / Qt I need a library (LGPL is preferred) which can calculate a spectrogram from a signal ( basically an array of doubles ). I already use Qwt for the GUI part.

Any suggestions? Thanks.


Solution

  • It would be fairly easy to put together your own spectrogram. The steps are:

    1. window function (fairly trivial, e.g. Hanning)
    2. FFT (FFTW would be a good choice but if licensing is an issue then go for Kiss FFT or similar)
    3. calculate log magnitude of frequency domain components (trivial: log(sqrt(re * re + im * im))