Crunch
Description
Crunch is a general purpose math library. This library currently supports Fast Fourier Transform.
FFT()
| Direction | Name | Type | Description |
|---|---|---|---|
| In | pData | UDINT | Pointer to LREAL[Length] data set |
| In | DataLength | UDINT | Length of pData array. This data length is required to be a power of 2 and can not exceed 2^15 |
| In | SampleFrequency | UDINT | Sample frequency of the input data |
| In | pBinFrequency | LREAL | Pointer to an LREAL[Length/2] frequency for each bin |
| In | pAmplitude | UDINT | Pointer to an LREAL[Length/2] amplitude of frequencies |
| In | pPhase | UDINT | Pointer to an LREAL[Length/2] phase shift of frequencies |
| Return | index | UDINT | Index of token in pTokenArray. Returns -1 if not found |
Usage
double Data[1024];
FFT(&Data, sizeof(Data)/sizeof(Data[0]), SampleFrequency, &BinFrequency, &Amplitude, &Phase);