How do you calculate the confidence interval for fourier coefficients from an FFT?

  • Thread starter Thread starter Eric Y
  • Start date Start date
E

Eric Y

Guest
I have a time series dataset that represents sinusoidal motion + noise. The sinusoidal motion has a frequency of 1Hz and is measured in inches. I want to determine the amplitude and amplitude confidence interval (CI) of this dataset.

In Matlab, x = data and N=length(data). I run c=fft(x) and use amplitude=2/N*abs(c).
Certain texts say that the CI of the fourier coefficients can be calculated by:
(a) CI = (2*c)/(chi-sqared with 2 dof)

and so my amplitude:
(b) CI = ((2*amplitude)/(chi-sqared with 2 dof)

OR

(c) CI = (2/N * abs((2*c)/(chi-sqared with 2 dof))

Questions:
1) Which CI equation/method correct?

2) I'm worried for the CI definition for fourier coefficients because the CI windows is the same for a clean signal and a nosiy signal... which should not be true.

3) Since matlab's implementation of "fft" results in complex coefficients, does the previously shown CI equation still valid? Or am I wrong about Matlab's fft output?

4) I looked at Matlab's signal toolbox and noticed there is a "psd" object that calculates and plots the "power spectrum" and it's confidence interval. Since I'm not interested in the "power spectrum", is there a way for me to convert the results to what I want? I'd much rather implement it myself than use the psd object.

Any help is appreciated. Thanks,
Eric
 
Back
Top