MATLAB: Does MATLAB’s FFT function increase its accuracy with a higher number of samples

fftfpgaradix-2 fft

Just as the title says: "Does MATLAB's FFT function increase its accuracy with a higher number of samples?". If so, please give me an explanation to why?
Why am I asking: I've implemented an FFT Radix-2 Module on a FPGA and it works awesomely well (I feel like a proud father..:) ), however with the higher number of FFT Points the accuracy of my Radix-2 FFT gets a bit worse – 10^(-4) – 10^(-5) for 8192 Points. I know that it's not very efficient to use Radix-2 FFT for so many points and Radix-4 or Split Radix would do better jobs. However, I've implemented Radix-2 and I would like to know why does the results start to differ with the MATLAB's FFT while they kinda should stay the same, …. or not?
I've attached a graph showing the Mean Absolute Error(MAE) of my module vs MATLAB's FFT for 8192 Points. The X-Axis representing number of iterations in CORDIC Algorithm, while Y-Axis is the MAE. The whole plot is made for 32 bits sample resolution. Can it be that the accuracy is due to 32 bits resolution? …
Thanks in advance.

Best Answer

After a bit of thinking I've come to conclusion that the number of samples does alter the accuracy of FFT. Well mainly due to the bit resolution of the sample. A Radix-2 FFT requires log2(N) computations, where N is the number of samples. The results of each computation are reused for the next computation and if my bit resolution is fixed, then the more samples, i.e the more computations is done, the worse the result will be.