2012-03-15 17 views
5

Napisałem projekt badawczy w Matlab, który wykorzystuje sporo funkcji, których nie chcę ponownie implementować w C++, więc szukam bibliotek, które mogłyby mi je obsłużyć. Funkcje muszę to: (wg kolejności ważności)Biblioteka C++ do przetwarzania sygnałów

  1. transformacji Hilberta
  2. funkcji Matrix (wyznacznik, odwrotny, mnożenie ...)
  3. Znalezienie korzenie wielomianów (dla stopni większe niż 5)
  4. FFT
  5. zwojów
  6. korelacji (xcorr w Matlab)
+0

Czy próbowałeś/aś już szukać któregoś z nich? Co znalazłeś? –

+0

Są to wszystkie standardowe procedury numeryczne, Google powinien przytłoczyć Cię implementacjami, open-source, komercyjnym i wszystkim pomiędzy. Jak pyta @ Li-aung Yip - co znalazłeś? –

+0

'Obliczenia numeryczne w C' prawdopodobnie zawiera większość tego, co chcesz ... –

Odpowiedz

2

Gdy masz FFT można strącać wszystko za wyjątkiem numerów 2. i 3.

algebra liniowa wymaganie może być spełnione z PETSc www.mcs.anl.gov/petsc/ który obsługuje fftw.

Nie wiem, w jaki sposób zamierzasz znaleźć root. Prawdopodobnie będziesz musiał sam to zakodować (bisekcja, metoda Newtona itp.), Ale najłatwiejszą rzeczą na liście jest wdrożenie.

4

Nie wiem o większości z nich, ale FFTW jest "najszybszą transformatą Fouriera na Zachodzie". Jest używany w implementacji MATLAB fft().

2

Nie jestem pewien co do bibliotek, które są dostępne do użytku, ale jeśli masz już funkcje napisane w programie Matlab, istnieje inna opcja.

Po kompilacji programu Matlab functions to a dll można je wywołać za pomocą programu C++. Umożliwiłoby to dostęp do funkcji matlab, które już masz, bez przepisywania.

Powiązane problemy