I have the following problem, that I ran into recently, when calculating the spectra of data that I obtain from a measurement technique, we are using in our group.

In short what we do in the technique, is record a movie of a fluctuating, nearly circular object and determine the contour in each frame of the movie. We then use the spectrum of these fluctuations to measure physical properties of the object.

I have now refined the algorithm that we use for tracking the object, so that it is more precise and we are able to determine the contours up to much shorter wavelengths or correspondingly up to a much higher number of modes.

The physical theory behind the system predicts that the fluctuation-amplitude at low mode numbers will be much larger than the at high mode numbers - spanning up to 5 orders of magnitude over the now observable range of modes.

With the now much large mode range and the correspondingly huge range of amplitudes in the spectrum, I seem to have run into an artifact caused by the windowing inherent to the FFT that we use to calculate the spectrum.

![Various spectra of synthetic data at different image SNR][1]

The spectrum above shows seven different, simulated datasets of a static object. The only thing that changes between the datasets is an increasing image SNR of the movie images (red: high SNR; yellow: low SNR).
As can be seen the spectra of the different datasets seem to consist of two contributions:
1) windowing-function/kernel with periodic maxima and minima
2) noisy contribution from the increasingly imprecise contour tracking due to the decreasing SNR. This contribution seems to be summed to the window-function and dominates the spectrum in the ranges, where the windowing-function has a minimum (especially for high-SNR datasets).

Now in the figure below you can see the experimental spectra of an object that almost stops fluctuating towards the end of the measurement/movie (blue: spectrum at movie beginning, green: spectrum at end of movie). (Note: the x-axis is now in wave numbers here – proportional to the inverse wavelength)

![Experimental spectra (blue: strong fluctuations, green: weak fluctuations)][2]

In the blue spectrum we see:
 1. We can see that the spectrum is dominated by the fluctuations of the object over the first ~50 modes (e.g. for wavenumber<=0.1e8).
 2. After this we see the contribution from the window-function.
 3. After this we see that at the position of the first minimum of the
    window function (1.1e8<=wavenumber<=1.6e8), we are again able to see
    the actual fluctuations of the object. This is confirmed by the fact, that we are able to distinguish between the two spectra of the initially strong fluctuating object (blue) and the lower fluctuating object at the later time (green) in this range. If we were only to see image noise in this range, then the blue and the green spectrum should overlap in this range.

Furthermore when looking at the autocorrelation functions of each mode I found the following:
In the ranges (wavenumber<=0.1e8) and (1.1e8<=wavenumber<=1.6e8) the autocorrelation functions exhibit correlation whereas in the other regions, the time series of the modes are completely decorrelated as would be expected of noise.

So after this lengthy introduction, I have the following questions:

 1. Is my assumption that this is related to the window-function justified? If so I don't understand exactly why yet...
 2. Furthermore perhaps someone could suggest a means to get around this
    artifact of the FFT windowing.

I have been reading up on different window-functions, but from what I understand, they all have an even wider main lobe than the rectangular window-function of the FFT. Since I seem to be “running into”  the main lobe with my spectrum, I am not sure if a different window-function would help.

Perhaps there is some way of using the fact that I am dealing with circular contours, so that the signal I am processing is not windowed, but intrinsically periodic and "infinite" (as is the FFT)?!

Could low-pass filtering (perhaps with a Butterworth filter) of the signal before performing the FFT help?


  [1]: https://i.sstatic.net/v4zFC.jpg
  [2]: https://i.sstatic.net/10Sad.jpg