Спектрограмма C ++ библиотека - PullRequest
23 голосов
/ 25 января 2010

Для моего текущего проекта на C ++ / Qt мне нужна библиотека (предпочтительнее LGPL), которая может рассчитывать спектрограмму по сигналу (в основном массив двойных). Я уже использую Qwt для графического интерфейса.

Есть предложения? Благодарю.

Ответы [ 4 ]

16 голосов
/ 25 января 2010

Было бы довольно легко составить собственную спектрограмму. Шаги:

  1. оконная функция (довольно тривиально, например Хеннинг)
  2. FFT (FFTW будет хороший выбор, но если лицензирование вопрос затем пойти на Kiss FFT или аналогичный)
  3. рассчитать логарифм компонентов частотной области (тривиально: журнал (sqrt (re * re + im *) им))
11 голосов
/ 21 июня 2012

«Как создать график зависимости частоты от времени?» перечисляет несколько библиотек, каждая из которых может рассчитывать спектрограмму из сигнала.

Скопировано и вставлено из моего собственного ответа:

Некоторый исходный код для генерации спектрограмм / графиков водопадов из аудиоданных:

Изображение на спектрограмме идет в обратном направлении от вышеуказанных утилит.

1 голос
/ 20 августа 2015

Вы можете использовать код FFT от здесь . Это использует метапрограммирование шаблона C ++ для эффективности. Полный источник предоставлен автором здесь .

Было предложено включить этот код в Eigen для использования шаблонного (дружественного к типу) кода.

1 голос
/ 25 января 2010

вы можете использовать fftw (fftw.org) для расчета спектрограммы, вам все равно придется наносить данные, но это не должно быть проблемой

...