Sure, but you'll need my library as well to run it. What I did is I created a test pattern which is 1024 samples of 16 periods of a sine-wave with 12-bit values. Then I define a 1024-point FFT pipeline. I pass the test-pattern into the forward FFT. Then I take those results and pass them back through an IFFT. The results are correct and I've checked the intermediate values as well. So, I know its actually doing the computation.
I assert an output pin when starting FFT and deassert when completing IFFT. I then look at this pin with a logic analyzer. The logic analyzer is sampling at 400Mhz. The period between each high and low assertion is about 770us. I have a capture of the waveform, but no way to post it here.
#define FIRMWARE_VERSION "0.0.0"
#include <fft.h>
int debug_output=3;
FFT<1024,false,true> fft; //1024-point FFT with split-radix processing, no mirroring
int32_t in_buffer_re[1024];
int32_t in_buffer_im[1024];
uint16_t testpattern_data[]= {
2640,2659,2679,2698,2716,2734,2751,2766,2781,2794,2806,2816,2824,2831,2836,2839,
2840,2839,2836,2831,2824,2816,2806,2794,2781,2766,2751,2734,2716,2698,2679,2659,
2640,2620,2600,2581,2563,2545,2528,2513,2498,2485,2473,2463,2455,2448,2443,2440,
2440,2440,2443,2448,2455,2463,2473,2485,2498,2513,2528,2545,2563,2581,2600,2620,
2640,2659,2679,2698,2716,2734,2751,2766,2781,2794,2806,2816,2824,2831,2836,2839,
2840,2839,2836,2831,2824,2816,2806,2794,2781,2766,2751,2734,2716,2698,2679,2659,
2640,2620,2600,2581,2563,2545,2528,2513,2498,2485,2473,2463,2455,2448,2443,2440,
2440,2440,2443,2448,2455,2463,2473,2485,2498,2513,2528,2545,2563,2581,2600,2620,
2640,2659,2679,2698,2716,2734,2751,2766,2781,2794,2806,2816,2824,2831,2836,2839,
2840,2839,2836,2831,2824,2816,2806,2794,2781,2766,2751,2734,2716,2698,2679,2659,
2640,2620,2600,2581,2563,2545,2528,2513,2498,2485,2473,2463,2455,2448,2443,2440,
2440,2440,2443,2448,2455,2463,2473,2485,2498,2513,2528,2545,2563,2581,2600,2620,
2640,2659,2679,2698,2716,2734,2751,2766,2781,2794,2806,2816,2824,2831,2836,2839,
2840,2839,2836,2831,2824,2816,2806,2794,2781,2766,2751,2734,2716,2698,2679,2659,
2640,2620,2600,2581,2563,2545,2528,2513,2498,2485,2473,2463,2455,2448,2443,2440,
2440,2440,2443,2448,2455,2463,2473,2485,2498,2513,2528,2545,2563,2581,2600,2620,
2640,2659,2679,2698,2716,2734,2751,2766,2781,2794,2806,2816,2824,2831,2836,2839,
2840,2839,2836,2831,2824,2816,2806,2794,2781,2766,2751,2734,2716,2698,2679,2659,
2640,2620,2600,2581,2563,2545,2528,2513,2498,2485,2473,2463,2455,2448,2443,2440,
2440,2440,2443,2448,2455,2463,2473,2485,2498,2513,2528,2545,2563,2581,2600,2620,
2640,2659,2679,2698,2716,2734,2751,2766,2781,2794,2806,2816,2824,2831,2836,2839,
2840,2839,2836,2831,2824,2816,2806,2794,2781,2766,2751,2734,2716,2698,2679,2659,
2640,2620,2600,2581,2563,2545,2528,2513,2498,2485,2473,2463,2455,2448,2443,2440,
2440,2440,2443,2448,2455,2463,2473,2485,2498,2513,2528,2545,2563,2581,2600,2620,
2640,2659,2679,2698,2716,2734,2751,2766,2781,2794,2806,2816,2824,2831,2836,2839,
2840,2839,2836,2831,2824,2816,2806,2794,2781,2766,2751,2734,2716,2698,2679,2659,
2640,2620,2600,2581,2563,2545,2528,2513,2498,2485,2473,2463,2455,2448,2443,2440,
2440,2440,2443,2448,2455,2463,2473,2485,2498,2513,2528,2545,2563,2581,2600,2620,
2640,2659,2679,2698,2716,2734,2751,2766,2781,2794,2806,2816,2824,2831,2836,2839,
2840,2839,2836,2831,2824,2816,2806,2794,2781,2766,2751,2734,2716,2698,2679,2659,
2640,2620,2600,2581,2563,2545,2528,2513,2498,2485,2473,2463,2455,2448,2443,2440,
2440,2440,2443,2448,2455,2463,2473,2485,2498,2513,2528,2545,2563,2581,2600,2620,
2640,2659,2679,2698,2716,2734,2751,2766,2781,2794,2806,2816,2824,2831,2836,2839,
2840,2839,2836,2831,2824,2816,2806,2794,2781,2766,2751,2734,2716,2698,2679,2659,
2640,2620,2600,2581,2563,2545,2528,2513,2498,2485,2473,2463,2455,2448,2443,2440,
2440,2440,2443,2448,2455,2463,2473,2485,2498,2513,2528,2545,2563,2581,2600,2620,
2640,2659,2679,2698,2716,2734,2751,2766,2781,2794,2806,2816,2824,2831,2836,2839,
2840,2839,2836,2831,2824,2816,2806,2794,2781,2766,2751,2734,2716,2698,2679,2659,
2640,2620,2600,2581,2563,2545,2528,2513,2498,2485,2473,2463,2455,2448,2443,2440,
2440,2440,2443,2448,2455,2463,2473,2485,2498,2513,2528,2545,2563,2581,2600,2620,
2640,2659,2679,2698,2716,2734,2751,2766,2781,2794,2806,2816,2824,2831,2836,2839,
2840,2839,2836,2831,2824,2816,2806,2794,2781,2766,2751,2734,2716,2698,2679,2659,
2640,2620,2600,2581,2563,2545,2528,2513,2498,2485,2473,2463,2455,2448,2443,2440,
2440,2440,2443,2448,2455,2463,2473,2485,2498,2513,2528,2545,2563,2581,2600,2620,
2640,2659,2679,2698,2716,2734,2751,2766,2781,2794,2806,2816,2824,2831,2836,2839,
2840,2839,2836,2831,2824,2816,2806,2794,2781,2766,2751,2734,2716,2698,2679,2659,
2640,2620,2600,2581,2563,2545,2528,2513,2498,2485,2473,2463,2455,2448,2443,2440,
2440,2440,2443,2448,2455,2463,2473,2485,2498,2513,2528,2545,2563,2581,2600,2620,
2640,2659,2679,2698,2716,2734,2751,2766,2781,2794,2806,2816,2824,2831,2836,2839,
2840,2839,2836,2831,2824,2816,2806,2794,2781,2766,2751,2734,2716,2698,2679,2659,
2640,2620,2600,2581,2563,2545,2528,2513,2498,2485,2473,2463,2455,2448,2443,2440,
2440,2440,2443,2448,2455,2463,2473,2485,2498,2513,2528,2545,2563,2581,2600,2620,
2640,2659,2679,2698,2716,2734,2751,2766,2781,2794,2806,2816,2824,2831,2836,2839,
2840,2839,2836,2831,2824,2816,2806,2794,2781,2766,2751,2734,2716,2698,2679,2659,
2640,2620,2600,2581,2563,2545,2528,2513,2498,2485,2473,2463,2455,2448,2443,2440,
2440,2440,2443,2448,2455,2463,2473,2485,2498,2513,2528,2545,2563,2581,2600,2620,
2640,2659,2679,2698,2716,2734,2751,2766,2781,2794,2806,2816,2824,2831,2836,2839,
2840,2839,2836,2831,2824,2816,2806,2794,2781,2766,2751,2734,2716,2698,2679,2659,
2640,2620,2600,2581,2563,2545,2528,2513,2498,2485,2473,2463,2455,2448,2443,2440,
2440,2440,2443,2448,2455,2463,2473,2485,2498,2513,2528,2545,2563,2581,2600,2620,
2640,2659,2679,2698,2716,2734,2751,2766,2781,2794,2806,2816,2824,2831,2836,2839,
2840,2839,2836,2831,2824,2816,2806,2794,2781,2766,2751,2734,2716,2698,2679,2659,
2640,2620,2600,2581,2563,2545,2528,2513,2498,2485,2473,2463,2455,2448,2443,2440,
2440,2440,2443,2448,2455,2463,2473,2485,2498,2513,2528,2545,2563,2581,2600,2620};
//End globals
void setup()
{
Serial.begin(9600);
delay(1000);
pinMode(debug_output,OUTPUT);
digitalWrite(debug_output,0);
for(uint16_t i=0;i<1024;i++)
{
in_buffer_re[i]=testpattern_data[i];
in_buffer_im[i]=0;
}
}
void loop() {
digitalWrite(debug_output,1);
fft.fft(in_buffer_re,in_buffer_im);
fft.ifft(in_buffer_re,in_buffer_im);
digitalWrite(debug_output,0);
}