
FFTs error analysis

jnranhil
Hi,
I am making some Fast Fourier Transformations (FFTs) for the time series data I collected using Igor Pro. My question is, how can I calculate or get the errors for the associated FFTs?
Any help is really appreciated.
April 18, 2024 at 04:44 pm - Permalink
Do you have a specific example of what you mean by "errors"? Can you for example point to a reference where such errors are calculated and you wish to repeat a comparable calculation?
April 18, 2024 at 08:39 pm - Permalink
In reply to Any help is really… by jnranhil
I'm no expert, but my thoughts are that FFT is not a 'fitting' process - it is a data transform. I'm not sure what an 'error' would mean in such a case?
Perhaps you could simulate your data, add some random noise, do the FFT and extract whatever parameters you desire. Then repeat many times with new random noise. You can then get some statistics on your extracted parameters and how they relate to the noise you added at the start.
April 18, 2024 at 11:10 pm - Permalink
In reply to Do you have a specific… by jjweimer
Thanks @jjweimer and kurtB for reaching out to my question. I would like to elaborate on my previous inquiry. Upon performing Fast Fourier Transforms (FFTs), I successfully derived the frequencies corresponding to the intensity oscillations observed in the time series data. Nevertheless, the experimental time series data is subject to a specific experimental error of ±1 picosecond. Given the inherent error associated with the time data, one might expect a corresponding error in the FFT-derived frequencies. Is there a method by which I can ascertain the uncertainty or error in these frequencies?
April 24, 2024 at 01:35 pm - Permalink
Your question likely must be addressed through first principles. Search through textbooks and/or journal articles on FFT processing. As near as I can tell by first review, you may need to provide not only the time step resolution but also perhaps the sample domain range and signal to noise ratio of your original data set.
I wonder if you might be able do a quick and dirty simulation analysis to estimate the error for your data set. Start with your the result from your original data. Cut your original data set in half by eliminating every other point starting at point 0. Recalculate the FFT position. Cut the data in half again and repeat. Now return to the original FFT. Cut the data set in half again *but start at point 1*. Repeat, each time doing the cut to start at a different data point. Collect plot the FFT peak position versus time step. Your original data has time step T, then the half data sets have time steps 2T, the quartered data sets 4T and so on. Extrapolate the result to the 1 ps value that you state for the uncertainty in time. Someone with a better first principled appreciation of the issue could comment.
April 24, 2024 at 02:16 pm - Permalink
In reply to Your question likely must be… by jjweimer
I worked a related problem several years ago in a course on signal processing. The specific question was to estimate the error of a single FFT frequency, given the SNR of the time-domain signal. The method of solution assumes familiarity with Maximum Likelihood Estimation and Cramer-Rao bounds. If this sounds useful, I can provide a little background, plus a pxp for the example's numerical analysis.
April 25, 2024 at 12:47 pm - Permalink
In reply to Thanks @jjweimer for… by jnranhil
I may have this wrong as it is a very long time since I last looked at Fourier transforms, but I think that features (be they errors, jitter, or whatever) that occur on a ~ps timescale will manifest as features/detail in the Fourier transform around 1/ps = THz. features in the FT far removed from ~THz should be largely unaffected. As @jjweimer suggested, you can test this yourself via simulation.
April 26, 2024 at 12:32 am - Permalink
In reply to I worked a related problem… by s.r.chinn
@ s.r.chinn can you provide me with more info, please?
May 20, 2024 at 02:55 pm - Permalink
Thanks @jjweimer and @KurtB for your responses. I'll try out jjweimer's method as well.
May 20, 2024 at 02:56 pm - Permalink
Your problem involving sampling jitter is quite different from the one I solved with Gaussian noise added to a sinusoidal input. Even so, I am attaching my very old pxp solution as an example. If you have the patience to learn some estimation theory, perhaps you may find the process useful. The only reference I have is "Detection, Estimation, and Modulation Theory, Part I", H. L. Van Trees , ISBN 0-471-09517-6. Look for the key topics: Maximum Likelihood Estimation, Fisher's information matrix, Cramer-Rao bound.
May 21, 2024 at 08:02 am - Permalink
If your errors are coming from the sampling points, you should become familiar with models of clock stability. The following NIST Handbook reference may be helpful
https://tf.nist.gov/general/pdf/2220.pdf
May 25, 2024 at 10:14 am - Permalink