In preparation for experiments that start tomorrow, I added today real-array fft and power spectrum capabilities to my dataframe code. It uses GSLL's fft functions (search for file fft.lisp). The classes, generic functions, and methods are still a bit rough, and will be refined.
You can read more about it: https://github.com/mirkov/data-table/blob/master/user/example1/README.org
That same directory contains examples-w-fft.lisp that shows the code usage. I annotated the code.
The png files show sunspot data and two power spectra.
The example shows how I create one data-table with raw data, and then another one with slightly massaged data. I do the fft on the latter one.
The example also shows that the current syntax is `functional' vs `declarative'. I explicitly build the second data table, instead of declaring its dependency on the first table. I think that the latter approach is preferable from a user's point of view. But I will refrain from trying to design and implement this declarative approach. I need more real-world experience before trying to do this.
I may add windowing capability to the fft code later on.
Mirko