MATLAB: Frequency scale in fft after zero filling (odd/even number of data)

fast fourier transformfrequency scale

Product: Matlab 2017b
If we have data set "A" which consists of time versus light absorbance.There is another set of data "B". Both data are sampled at the same rate Fs.
The two sets are to be divided in the frequency domain. C= fft(A)/fft(B). Prior to division, in order to make the length of A and B equal, zero filling in done or one can use the fft(X, n). Sometimes there are odd number of data points and sometimes, even in A and B after zero filling.
In such a case, how do we make a frequency axis for C in MATLAB? The number of original data points have changed after zero filling in either A or B.
Example: The key question is, assume we had initially 1000 data points in A, and 800 data points in B. Let us use C= fft (A, 1024) ./ fft(B, 1024). We get a new vector C. How should we make a frequency scale for C now given that the number of data points were changed.
Thanks.

Best Answer

I am not certain what you are doing. One way to make the frequencies equal would be to use the second argument, ‘n’, in the fft function, to be the same for all of them (and preferably relatively large, so that all your data have the same frequency vector). This has the effect of ‘zero-padding’ the argument vector, increasing the frequency resolution and equalising the frequencies of the various signals.
The only way to determine if this approach is appropriate to your data is to try it with them.
Related Question