C ++ библиотека для обработки сигналов - PullRequest
5 голосов
/ 15 марта 2012

Я написал исследовательский проект в Matlab, который использует довольно много функций, которые я не хочу повторно реализовывать в C ++, поэтому я ищу библиотеки, которые бы справились с ними. Мне нужны следующие функции: (в порядке важности)

  1. преобразование Гильберта
  2. Матричные функции (определитель, обратное, умножение ...)
  3. Нахождение корней полиномов (для степеней больше 5)
  4. FFT
  5. сверток
  6. корреляция (xcorr в matlab)

Ответы [ 3 ]

4 голосов
/ 15 марта 2012

Я не знаю о большинстве из них, но FFTW - «самое быстрое преобразование Фурье на Западе».Используется в реализации MATLAB fft().

2 голосов
/ 20 марта 2012

Получив БПФ, вы можете сбить все, кроме цифр 2. и 3.

Требование линейной алгебры может быть удовлетворено с помощью PETSc www.mcs.anl.gov / petsc / , который поддерживает fftw.

Я не знаю, как вы собираетесь найти корень. Вам, вероятно, придется кодировать это самостоятельно (деление пополам, метод Ньютона и т. Д. И т. Д.), Но это самая простая вещь в списке для реализации на данный момент.

1 голос
/ 15 марта 2012

Я не уверен насчет библиотек, которые доступны для использования, но если у вас уже есть функции, написанные в Matlab, есть другая опция.

Если вы компилируете функции matlab в dll , они могут быть вызваны программой на c ++. Это позволит вам получить доступ к функциям Matlab, которые у вас уже есть, без переписывания.

...