FFTW
: 06 kwie 2006 07:52
Witam!
Chcę w LabVIEW zastosować szybką transformatę Fouriera FFTW (ze strony http://www.fftw.org). Jest ona skompilowana do postaci DLL. Użycie tej transformaty jest skomplikowane, bo trzeba najpierw wykonać procedurę "planowania" (optymalizacja kodu dla konkretnego procesora), a dopiero potem właściwa FFT. W opisie FFTW jest zamieszczony kod C jak to zrobić:
#include <fftw3.h>
...
{
fftw_complex *in, *out;
fftw_plan p;
...
in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
p = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE);
...
fftw_execute(p); /* repeat as needed */
...
fftw_destroy_plan(p);
fftw_free(in); fftw_free(out);
}
Niestety nie znam języka C. Jak zadeklarować w Call Library Function Node parametry wejścia i wyjścia.
Z góry dzięki za pomoc.
Marcin
Chcę w LabVIEW zastosować szybką transformatę Fouriera FFTW (ze strony http://www.fftw.org). Jest ona skompilowana do postaci DLL. Użycie tej transformaty jest skomplikowane, bo trzeba najpierw wykonać procedurę "planowania" (optymalizacja kodu dla konkretnego procesora), a dopiero potem właściwa FFT. W opisie FFTW jest zamieszczony kod C jak to zrobić:
#include <fftw3.h>
...
{
fftw_complex *in, *out;
fftw_plan p;
...
in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
p = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE);
...
fftw_execute(p); /* repeat as needed */
...
fftw_destroy_plan(p);
fftw_free(in); fftw_free(out);
}
Niestety nie znam języka C. Jak zadeklarować w Call Library Function Node parametry wejścia i wyjścia.
Z góry dzięki za pomoc.
Marcin