2012-03-15 7 views
5

J'ai écrit un projet de recherche dans matlab qui utilise un certain nombre de fonctions que je ne veux pas ré-implémenter en C++, donc je cherche des bibliothèques pour les gérer pour moi. Les fonctions dont j'ai besoin sont: (par ordre d'importance)Bibliothèque C++ pour le traitement du signal

  1. transformation de Hilbert
  2. fonctions de matrice (déterminant, inverse, multiplication ...)
  3. racines Trouver des polynômes (pour les degrés supérieurs à 5)
  4. FFT
  5. Convolutions
  6. corrélation (Xcorr dans matlab)
+0

Avez-vous déjà essayé de vous en procurer? Qu'as-tu trouvé? –

+0

Ce sont toutes des routines numériques standard, Google devrait vous submerger avec des implémentations, open-source, commerciale et tout entre les deux. Comme @ Li-aung Yip demande - qu'avez-vous trouvé? –

+0

'Recettes numériques en C' contient probablement la plupart de ce que vous voulez ... –

Répondre

2

Une fois que vous avez une FFT vous pouvez faire tomber tout sauf pour les numéros 2. et 3.

L'exigence d'algèbre linéaire peut être rencontré PETSc www.mcs.anl.gov/petsc/ qui soutient FFTW.

Je ne sais pas comment vous allez faire pour trouver les racines. Vous devrez probablement le coder vous-même (bissection, méthode de Newton, etc.) mais c'est la chose la plus simple sur la liste à implémenter de loin.

4

Je ne connais pas la plupart de ceux-là, mais FFTW est la 'transformée de Fourier la plus rapide de l'Ouest'. Il est utilisé dans l'implémentation MATLAB de fft().

2

Je ne suis pas sûr des bibliothèques disponibles, mais si vous avez déjà les fonctions écrites dans matlab, il y a une autre option.

Si vous compilez le matlab functions to a dll, ils peuvent être appelés par un programme C++. Cela vous permettra d'accéder aux fonctions matlab que vous avez déjà sans réécrire.

Questions connexes