simplefft

simplefft — Simple FFT algorithm

Synopsis




enum        GwyWindowingType;
gint        gwy_fft_hum                     (gint dir,
                                             gdouble *re_in,
                                             gdouble *im_in,
                                             gdouble *re_out,
                                             gdouble *im_out,
                                             gint n);
void        gwy_fft_window                  (gdouble *data,
                                             gint n,
                                             GwyWindowingType windowing);

Description

Details

enum GwyWindowingType

typedef enum {
  GWY_WINDOWING_NONE       = 0,
  GWY_WINDOWING_HANN       = 1,
  GWY_WINDOWING_HAMMING    = 2,
  GWY_WINDOWING_BLACKMANN  = 3,
  GWY_WINDOWING_LANCZOS    = 4,
  GWY_WINDOWING_WELCH      = 5,
  GWY_WINDOWING_RECT       = 6
} GwyWindowingType;

Selection of windowing applied before FFT (if requested).

GWY_WINDOWING_NONEno windowing
GWY_WINDOWING_HANNHann windowing
GWY_WINDOWING_HAMMINGHamming windowing
GWY_WINDOWING_BLACKMANNBlackmann windowing
GWY_WINDOWING_LANCZOSLanczos windowing
GWY_WINDOWING_WELCHWelch windowing
GWY_WINDOWING_RECTRectangular windowing

gwy_fft_hum ()

gint        gwy_fft_hum                     (gint dir,
                                             gdouble *re_in,
                                             gdouble *im_in,
                                             gdouble *re_out,
                                             gdouble *im_out,
                                             gint n);

Performs FST algorithm.

dir : direction (1/-1)
re_in : real part of input data
im_in : imaginary part of input data
re_out : real part of output data
im_out : imaginary part of output data
n : number of data points
Returns : zero at success.

gwy_fft_window ()

void        gwy_fft_window                  (gdouble *data,
                                             gint n,
                                             GwyWindowingType windowing);

Multiplies data by given window.

data : data values
n : number of data values
windowing : method used for windowing