adafruit / Adafruit_ZeroFFT

simple FFT for cortex m0
BSD 3-Clause "New" or "Revised" License
42 stars 18 forks source link

Bug fixes and new APIs #13

Open donmccoy opened 10 months ago

donmccoy commented 10 months ago

Problems addressed by these changes:

Scope:

Known limitations:

Testing:

donmccoy commented 10 months ago

Test results on a MKRZERO board for ZeroFFTRealToComplex:

09:37:13.463 ->  N = 16     time (us) = 85      rms err = 1.11 PASSED
09:37:13.463 ->  N = 32     time (us) = 186     rms err = 1.06 PASSED
09:37:13.463 ->  N = 64     time (us) = 416     rms err = 1.03 PASSED
09:37:13.463 ->  N = 128    time (us) = 927     rms err = 1.02 PASSED
09:37:13.472 ->  N = 256    time (us) = 2044    rms err = 1.01 PASSED
09:37:13.472 ->  N = 512    time (us) = 4480    rms err = 1.00 PASSED
09:37:13.561 ->  N = 1024   time (us) = 9766    rms err = 1.00 PASSED
09:37:13.685 ->  N = 2048   time (us) = 21120   rms err = 1.00 PASSED

Test results on a MKRZERO board for ZeroFFTMagnitude:

09:04:11.031 ->  N = 16     time (us) = 147     rms err = 1.09 PASSED
09:04:11.031 ->  N = 32     time (us) = 311     rms err = 1.05 PASSED
09:04:11.031 ->  N = 64     time (us) = 646     rms err = 1.03 PASSED
09:04:11.031 ->  N = 128    time (us) = 1372    rms err = 1.02 PASSED
09:04:11.045 ->  N = 256    time (us) = 2902    rms err = 1.01 PASSED
09:04:11.045 ->  N = 512    time (us) = 6188    rms err = 1.00 PASSED
09:04:11.064 ->  N = 1024   time (us) = 13140   rms err = 1.00 PASSED
09:04:11.099 ->  N = 2048   time (us) = 27798   rms err = 1.00 PASSED