helper functions

Functions

int xtract_windowed (const float *data, const int N, const void *argv, float *result)
 Apply a window function to an array of length N.
int xtract_features_from_subframes (const float *data, const int N, const int feature, const void *argv, float *result)
 Divides the array pointed to by *data into two subframes, and applies a given feature to each subframe, returning them in a single array pointed to by result.
int xtract_is_denormal (double const d)
 Test whether a number is denormal.

Detailed Description

Declares helper functions, and their parameters.

Note:
These functions don't necessarily conform to the prototype used in xtract_scalar.h and xtract_vector.h etc, and as such are intended to be called 'directly' rather than via the xtract[] function pointer array (libxtract.h)

Function Documentation

int xtract_features_from_subframes ( const float *  data,
const int  N,
const int  feature,
const void *  argv,
float *  result 
)

Divides the array pointed to by *data into two subframes, and applies a given feature to each subframe, returning them in a single array pointed to by result.

Parameters:
*data an array of floats
Parameters:
N the number of elements in the array pointed by *data
Parameters:
feature an integer representing the feature to be applied to each subframe in data. This will be a value as given in the enumeration xtract_features_ (libxtract.h)
Parameters:
*argv a pointer to the argument vector to be passed to the feature extraction function as determined by feature
Parameters:
*result a pointer to the 'packed' results of the feature calculation. This may be passed in as *data to xtract_features_from_subframes() to calculate further features on the subframes, or xtract_difference_vector(), to get the difference between the subframes.
It is important to ensure that any _init_*() functions that are called in preparation for functions that are called on subframes are given the subframe size as 'N', and not the frame size. i.e. if xtract_features_from_subframes() is called with N=64, and feature=XTRACT_SPECTRUM, then xtract_init_fft() should be called with N=32.
int xtract_windowed ( const float *  data,
const int  N,
const void *  argv,
float *  result 
)

Apply a window function to an array of length N.

Parameters:
*data a pointer to an array of floats
Parameters:
N the number of elements in the array pointed to by *data
Parameters:
*argv a pointer to a window function as returned by xtract_make_window()
Parameters:
*result a pointer to the first element an array containing the windowed data
It is up to the caller to generate and free the array containing the window, and to allocate and free memory of size N to hold the data pointed to by *result
Generated on Mon Nov 21 16:46:03 2011 for LibXtract by  doxygen 1.6.3