Fourier transform when the data is lacking datapoints

In summary: Yes, that's correct. The FFT is a straightforward way to get a continuous representation of a discrete signal, but it's not the only way. The nonuniform discrete Fourier transform is a more general approach that can handle more complex signals.
  • #1
arcTomato
105
27
Homework Statement
I would like to know the equation of Fourier transform when the data has lack.
Relevant Equations
Fourier transform
I would like to know the equation of Fourier transform when the data has lack. like this sine wave.
スクリーンショット 2020-01-25 10.54.12.png
 
Physics news on Phys.org
  • #2
The answer to your question is pretty trivial, IMO. What do you think the answer is?
 
  • Like
Likes arcTomato
  • #3
Hi @berkeman! Thank you.( you always help me)
I really don't know, but normal discrete Fourier transform works well?
\begin{eqnarray} a_j &=& \sum_{k}^{}x_k e^{ 2 \pi i j k/N} \end{eqnarray}
 
  • #4
https://arxiv.org/pdf/1507.01832.pdf

The method described in the above paper will work because it computes an explicit numerical integral from the data rather than an FFT (fast Fourier transform). FFTs require a number of equally spaced data points. What you need is an integration method that works in the case where the available data is not equally spaced. Lots of explicit numerical integration methods will do that.
 
  • Like
Likes jim mcnamara and berkeman
  • #5
Thank you! @Dr. Courtney !
Tha paper looks so useful for me. I will try it.
 
  • Like
Likes berkeman
  • #6
Hi @berkeman !
If you don't mind, I would like to know the continuation of our talk.
 
  • #7
arcTomato said:
Hi @berkeman !
If you don't mind, I would like to know the continuation of our talk.
Sure arcT. My point was that in this problem you clearly have high resolution sample data for a sine wave, and can fill in any missing datapoints with a simple curve fit. That will give you the continuous data that you need to do the straightforward FT on the data.

Now, if you had datapoints that did not so clearly indicate a simple waveform, then you would have a much more difficult problem...
 
  • Like
Likes arcTomato and scottdave
  • #8
Another approach is to use periodogram analysis. It searches for sinusoidal curves that fit the data which may have missing points or uneven sampling times, so essentially a least-squares spectral analysis. See, for example the Scargle Periodogram. Look for that as a launch point to other periodogram methods.

Periodograms are often used in analyzing astrophysical data where the sampling is interfered with by day/night or viewing conditions (weather).
 
  • Informative
  • Like
Likes arcTomato and berkeman
  • #10
Hi guys @berkeman , @scottdave , @gneill
Your helps are so useful.
I will study about Periodograms and use Matlab.
Thank you!
 
  • Like
Likes berkeman
  • #12
Hi @scottdave .
I didn't know this.
Thank you!
 
  • Like
Likes scottdave
  • #13
arcTomato said:
Hi @scottdave .
I didn't know this.
Thank you!
How did it go? One thing about using the FFT in Matlab or Scilab (or Octave, another free alternative): you will need some sort of placeholder value where the missing data points are. If you just skip them, then everything will get "squished" in time domain. There are different methods for handling missing information. You could think of them as noise and so replace with a random number, or simply replace with the average of all points. There are other methods. Each has some pros and cons.
 
  • Like
Likes arcTomato
  • #14
berkeman said:
Sure arcT. My point was that in this problem you clearly have high resolution sample data for a sine wave, and can fill in any missing datapoints with a simple curve fit. That will give you the continuous data that you need to do the straightforward FT on the data.

Now, if you had datapoints that did not so clearly indicate a simple waveform, then you would have a much more difficult problem...

The problem is that this only works if you have a time series that so very clearly has a form that is amenable to filling in the blanks. You can look at this one and say "gee whiz, that looks like a sine wave and I can probably do a curve fit to determine the missing points." Now what happens if your signal is two superposed sine waves? Three? Forty? Five thousand?

If you want a more general procedure, you need to use an integral method instead of an FFT as @Dr. Courtney suggested or else look into the nonuniform discrete Fourier transform.
 
  • Like
  • Informative
Likes arcTomato, berkeman and scottdave
  • #15
Hi @scottdave ,@boneh3ad
I am trying to use Matlab now. (I have not used it ever)

so I understand that I should study about the nonuniform discrete Fourier transform( or integral method).
(My goal is making the program of those methods in C.)
Thanks a lot.
 
  • Like
Likes scottdave

FAQ: Fourier transform when the data is lacking datapoints

1. What is the Fourier transform?

The Fourier transform is a mathematical tool used to analyze the frequency components of a signal. It converts a signal from its original domain (such as time or space) to a representation in the frequency domain.

2. How does the Fourier transform work when there are missing data points?

The Fourier transform can still be applied to data even when there are missing data points. However, the accuracy of the results may be affected depending on the amount and location of the missing data.

3. Can the Fourier transform handle missing data points?

Yes, the Fourier transform can handle missing data points by using interpolation techniques to estimate the missing values.

4. How do missing data points affect the Fourier transform results?

Missing data points can affect the Fourier transform results by introducing errors and inaccuracies in the frequency spectrum. This is because the Fourier transform assumes a continuous and complete signal, so missing data points can disrupt this assumption.

5. Is there a way to improve the accuracy of the Fourier transform when there are missing data points?

Yes, there are techniques that can be used to improve the accuracy of the Fourier transform when dealing with missing data points. These include zero-padding, which involves adding zeros to the signal before performing the transform, and windowing, which involves applying a function to the signal to reduce the impact of missing data points.

Similar threads

Replies
3
Views
897
Replies
2
Views
2K
Replies
1
Views
1K
Replies
2
Views
2K
Replies
4
Views
2K
Replies
5
Views
977
Replies
1
Views
1K
Replies
4
Views
2K
Back
Top