Mercurial > hg > libxtract
comparison xtract/xtract_vector.h @ 113:72a9a393d5bd
- Fixed bugs in xtract_flatness(), or at least added necessary
documentation and error checking to avoid problems
- Added xtract_is_denormal() helper function and XTRACT_DENORMAL_FOUND
return code
- Replaced all instances of log, sqrt, exp etc. with respective
floating point counterparts (logf etc.)
- Added check for architecture endianness to configure script
- Bug fix to PD example, now no longer crashes if no arguments are
given
- Minor documentation updates
author | Jamie Bullock <jamie@postlude.co.uk> |
---|---|
date | Fri, 15 Feb 2008 12:43:13 +0000 |
parents | f2af1c75e3ed |
children | f5040ed4e555 |
comparison
equal
deleted
inserted
replaced
112:a76501dc5307 | 113:72a9a393d5bd |
---|---|
40 * \param N: the number of array elements to be considered | 40 * \param N: the number of array elements to be considered |
41 * \param *argv: a pointer to an array of floats, the first representing (samplerate / N), the second will be cast to an integer and determines the spectrum type (e.g. XTRACT_MAGNITUDE_SPECTRUM, XTRACT_LOG_POWER_SPECTRUM). The third argument determines whether or not the DC component is included in the output. If argv[2] == 1, then the DC component is included in which case the size of the array pointed to by *result must be N+2. For any further use of the array pointed to by *result, the value of N must reflect the (larger) array size. The fourth argument determines whether the magnitude/power coefficients are to be normalised. If argv[3] == 1, then the coefficients are normalised. | 41 * \param *argv: a pointer to an array of floats, the first representing (samplerate / N), the second will be cast to an integer and determines the spectrum type (e.g. XTRACT_MAGNITUDE_SPECTRUM, XTRACT_LOG_POWER_SPECTRUM). The third argument determines whether or not the DC component is included in the output. If argv[2] == 1, then the DC component is included in which case the size of the array pointed to by *result must be N+2. For any further use of the array pointed to by *result, the value of N must reflect the (larger) array size. The fourth argument determines whether the magnitude/power coefficients are to be normalised. If argv[3] == 1, then the coefficients are normalised. |
42 * \param *result: a pointer to an array of size N containing N/2 magnitude/power/log magnitude/log power coefficients and N/2 bin frequencies. | 42 * \param *result: a pointer to an array of size N containing N/2 magnitude/power/log magnitude/log power coefficients and N/2 bin frequencies. |
43 * | 43 * |
44 * The magnitude/power coefficients are scaled to the range 0-1 so that for a given coefficient x, 0 <= x <= 1 | 44 * The magnitude/power coefficients are scaled to the range 0-1 so that for a given coefficient x, 0 <= x <= 1 |
45 * | |
46 * \note Before calling xtract_spectrum(), the FFT must be initialised by calling xtract_init_fft(N, XTRACT_SPECTRUM) | |
45 * | 47 * |
46 */ | 48 */ |
47 int xtract_spectrum(const float *data, const int N, const void *argv, float *result); | 49 int xtract_spectrum(const float *data, const int N, const void *argv, float *result); |
48 | 50 |
49 /** \brief Extract autocorrelation from time domain signal using FFT based method | 51 /** \brief Extract autocorrelation from time domain signal using FFT based method |