I have used the example provided in the CMSIS DSP example for 1024 point FFT. It works and there are no issues.
Next I used Matlab to generate 1024 sample points for a 100 Hz sine wave with 10 kHz sampling. The sine wave had a peak to peak amplitude of 1V and a DC offset of 1.25 V. The FFT results generated with CMSIS DSP show the value of the Bin-0 at 1.249 and it matches up with Matlab results.
Next I did the same steps for 512 sample points. However the Bin-0 for DC value now became 0.6249 when the CMSIS DSP is used while Matlab still shows it as 1.25 for FFT.
Finally to double check i used 2048 sample points and the value of Bin-0 DC doubled to 2.499 while output of Matlab did not change.
So the question is that
1. Does CMSIS scale the values internally when the time domain signal is transformed to frequency domain?
2. What is the Y-axis units when the signal is transformed to frequency domain?