This question is on interpreting the FFT outputs...
So I have this 64-point streaming FFT with the inputs generated by the equation
ROM_data = sin(2*pi*[0:63]/64);
then scale up by
data = round(ROM_data * (2^15-1)); %for 16 bit signed
These numbers for the FFT input are stored in ROM (LUT).
When the first sample is 0 and the last sample is just under zero, the FFT outputs are:
source_exp = -7 for all the bins
source_real = 0 for all the bins
source_imag = -8192 in the second bin and +8192 in bin 64 (last bin)
However, when the first sample is just above 0 and the last sample is zero, i.e., the input data is shifted one sample point to the right, the FFT outputs are:
source_exp = -6 for all the bins
source_real = 1606 in the second bin and 1606 in bin 64 (last bin)
source_imag = -16304 in the second bin and +16304 in bin 64 (last bin)
In these two cases, the FFT input samples are exactly the same, the only difference is that the second case is shifted to the right by one sample point.
Shouldn't the FFT outputs be the same for both cases? And if so, how do you interpret what I got as shown above to see that they are the same? Are you supposed to somehow combine the real and the imag parts together?