Hi all,
I finally figured out what was going wrong with my FFT usage. I think
this kind of thing can be avoided in the future by some additional
documentation which I have suggested below. I hope someone with commit
access to the repository will consider putting this into the docs. Also
please consider checking to see if it is completely accurate.
---- begin quote documentation ----
Let y be the transformed data. The forward and inverse transforms are
y[k]: (1/n) sum (x[j] exp (-2 %i %pi j k / n), j, 0, n-1)
x[j]: sum (y[j] exp (+2 %i %pi j k / n), k, 0, n-1)
----end quote begin suggested additional documentation. ----
In the maxima implementation of the FFT as in many implementations, the
coefficients calculated are those corresponding to frequences from -pi
to pi radians per sample. After a call to fft, the zeroth coefficient of
each array is the DC term, and then the frequencies increase as pi*k/n
up to the k=n/2 coefficient. In the second half of the array are
coefficients corresponding to -pi radians per sample at n/2 up to 0-pi/n
radians per sample in the n-1 position.
------