Shop OBEX P1 Docs P2 Docs Learn Events
Fast and accurate FFT driver on OBEX — Parallax Forums

Fast and accurate FFT driver on OBEX

cessnapilotcessnapilot Posts: 182
edited 2011-12-15 05:00 in Propeller 1
Hi All,

The series of uM-FPU drivers continues with the FPU64_FFT_Driver.

http://obex.parallax.com/objects/819/

With this you can make FFT for an arbitrary number of data points (up to 2048)
with a simple SPIN call like:

FFT(dataAddress_, dataSize, invYesNo)

The driver contains the Spectrum_Analyzer procedure. This will be useful when
you capture and digitize time varying signals such as output from a microphone.
You just give the

- address of the data array in HUB,
- the number of datapoints, (Any>1, but max. 2K)
- the ADC rate,
- the type of window function, (Hanning, Gaussian, etc...)
- the format of the output (Real/Imag, Magn/Phase or Power/dB)

and then the Spectrum_Analyzer procedure removes DC, applies window, does FFT,
transforms to output format and calculates useful spectral range and resolution.

The uM-FPU v3.1 version of the FFT driver has been uploaded:

http://obex.parallax.com/objects/829/

Next uM-FPU driver project will be the "General Sensor Model" drivers. The used
algorithms are not expensive in time and resources, but can vastly improve the
accuracy of MEMS sensor systems. Already uploaded version on OBEX enhances the
accuracy of the H48S 3-axis accelerometer more than hundred times and can do
full automatic temperature compensation on the field. Working examples for the
General Sensor Model with similar efficiency will be provided for all new 3-axis
Parallax sensors (namely accelero, gyro and magnetic).

Cheers,

Istvan
Sign In or Register to comment.