In order to take the FT of a signal, we need at least one period of the signal. What will happen if we take the FFT of a signal whose frequency is varying with time and we cannot sample for a period (since the frequency is not constant)?
(as an aside, it is not the case that we must have one period of a signal in order to compute its fourier transform. The fourier transform does not require the input signal to be periodic. I assume that's a typo, and that you meant FFT instead of FT)
It is true that the FFT, by virtue of being an implementation of the DFT, assumes that the input signal is periodic. Thus, the data you are giving to the FFT is a single period of a discrete-time periodic function. What the FFT returns is a single period worth of samples from the periodic spectrum of that periodic function. How well the returned spectrum matches that of the function you originally sampled from (which in general is not the same as the periodic function that the FFT is finding the spectrum of....) is a relevant question.
In general, if you take the FFT of samples from a signal whose frequency is varying with time, you will see energy spread out across the spectrum that the input signal covers (and even further).
(as an aside, it is not the case that we must have one period of a signal in order to compute its fourier transform. The fourier transform does not require the input signal to be periodic. I assume that's a typo, and that you meant FFT instead of FT)
It is true that the FFT, by virtue of being an implementation of the DFT, assumes that the input signal is periodic. Thus, the data you are giving to the FFT is a single period of a discrete-time periodic function. What the FFT returns is a single period worth of samples from the periodic spectrum of that periodic function. How well the returned spectrum matches that of the function you originally sampled from (which in general is not the same as the periodic function that the FFT is finding the spectrum of....) is a relevant question.
In general, if you take the FFT of samples from a signal whose frequency is varying with time, you will see energy spread out across the spectrum that the input signal covers (and even further).
From your last paragraph, how reliable will this spread or distribution of energy be?
Is it possible that the uniqueness of the FFT is lost, i.e., we cannot recover the original signal from the FFT, but will the representation be reliable? Will the coefficients reliably represent the amount of energy in the signal at those frequencies?
What we need is to think through what's happening to a signal when we take it's FFT.
1. (Continuous function, infinite support) We start (conceptually) with an original signal that is continuous and infinite in extent. (e.g. sin(2*pi*f*t) )
2. (Continuous function, finite support) We limit the temporal extent of the signal, essentially multiplying it by a rect function. This causes the Fourier Transform of the signal to be convolved with the sinc function which is the FT of that rect. This has an effect which is generally understood in two pieces: (a) the FFT of (2) is a blurred version of the FFT of (1), and (b) the FFT of (2) is infinite in extent, because the sinc function is infinite in extent. Part (b) of the effect is critical: since a sinc has infinite support so to does the blurred frequency spectrum, meaning that the signal (2) is no longer bandlimited, even if the original signal (1) was.
3. (discrete-time function, finite support) We then sample this continuous function. These samples are the input data to the FFT, and the first thing I've talked about that can be represented without either a mathematical expression or infinite memory. Sampling in time causes convolution with a comb function in frequency, meaning that copies of the original frequency spectrum are shifted by all multiples of the sampling frequency and then summed. The fourier spectrum of this signal is periodic, but continuous: that is, it would still take infinitely much memory to represent the spectrum completely, even though we only have to represent frequency components between 0 and fSample.
4. (discrete-time function, periodic) Since what the FFT returns must be representable in finite memory, we make one further assumption, which is that the the input signal, rather than being finite in extent, is in fact infinite in extent, and periodic. Specifically, as I discussed before, the FFT assumes that the signal in question is composed of infintely many shifted copies of the input data, stacked end to end.
5. (FFT output) The fourier transform of (4) is then the output of the FFT.
The FFT and IFFT are inverses of each other, and so we can always reconstruct (4) from (5), up to numerical precision, which I understand is quite good for modern non-naive FFT implementations. We can trivially reconstruct (3) from (4). Ideally the Nyquist-Shannon sampling theorem would allow us to reconstruct (2) from (3), provided we sampled fast enough. Unfortunately, going from (1) to (2) made the signal non-bandlimited.
This means that your hypothesis is correct: there are at least two signals that could produce any given FFT spectrum: a truly bandlimited signal that has exactly the spectrum we observe, or a non-bandlimited signal where aliasing happens to form that same spectrum. The FFT/IFFT assume that the signal in question is the former. In fact, it is almost always the latter. Thus, we can reconstruct a possible version of (2) from (3), but that will almost never match the actual version of (2) that we originally got from (1).
If our original signal is is infinite in extent and bandlimited (it can't be bandlimited if it's not infinte in extent) and has a certain frequency profile, and if it's *that* profile that we want to reconstruct, then we can get close. We sample (2) at > the nyquist rate for the original signal (1). The result will look sort of like the actual spectrum of (1), but will have aliased components in it. Fortunately, the sinc function decays with time (a bit slower than we'd like but it still decays). That means that wile (2) is *technically* not bandlimited, it is *almost* bandlimited, since most of the energy is still within the original band. Thus, from the FFT we can recover something that is *almost* the spectrum of (1). Oversampling will help make this more true to some extent (since the wider our frequency band is, the more the sinc functions have decayed, and the less energy will be aliased). In practice, furthermore, the data we actually can get has random noise in it, so there will be a noise floor, meaning any component with a strength at or below the noise floor we shouldn't really trust anyway. All of these mitigating factors are what make the FFT useful in practice.
The other thing that we do in practice to make the FFT more useful is windowing. Rather than using a rect window, we use another window, whose FFT is not a sinc function, but some other function. Generally, we select a window whose FFT has a broader main lobe than a sinc function, but has sidelobes that decay much more quickly than a sinc function, which further reduces the extend to which (2) is aliased.
So with all that in place, now to actually answer your question...
No, the energy in a particular FFT bin does not accurately reflect the energy in the original signal (i.e. (1)) at the corresponding frequency. There is an extra, deterministic factor contributed due to the windowing (blurring + aliasing) to go from (1) to (2). This is why samples from an arbitrarily-generated pure sinusoid (i.e. data=exp(1j*2*pi*f*t)) do not produce an actual impulse function when the FFT is taken: bins adjacent to the impulse have a nonzero energy, when the signal we had in mind (i.e. (1)) has no such components.
The representation of the FFT is reliable in the sense that the differences between the spectrum of (1) and the spectrum we get from the FFT are related by a deterministic quantity that could be computed if (1) is known.
Incidentally, wavelet analysis can be viewed as another approach to dealing with this problem of infinite extent: there, you explicitly introduce a scale parameter and talk about frequencies over a particular time scale, rather than ever directly assuming infinite extent.
The frequency resolution of Fourier analysis depends on rate / time interval. In my area of focus, clinical electrophysiologic data, an 8 second signal sampled at 1 kilohertz results in a frequency resolution of 1000/8000 = 0.125Hz. That would be about the limit of acceptability for analyzing heart signals, since the standard deviations between recording sites approaches this value. But, the data is time varying, so you only get an average of the time variation in a power spectral analysis over 8 seconds analysis window. If you go to shorter signal lengths for analysis, say 4 seconds or 2 seconds, the Fourier resolution starts to become unacceptable, 0.25Hz and 0.5Hz respectively. We have been working on a novel spectral estimator that may be of interest as frequency resolution depends on rate / period squared. So there is good frequency resolution at low frequencies and no direct dependency of frequency resolution on time resolution. For the same electrophysiologic data, the frequency resolution is accurate to 0.5 second time intervals. That is the limit due to the periodicity of the data as you say, which for atrial electrograms ranges from approximately 3-12Hz. Please see for example -
Ciaccio EJ, Biviano AB, Garan H. Computational method for high resolution spectral analysis of fractionated atrial electrograms. Comput Biol Med. 2013;43:1573-1582.
Ciaccio EJ, Biviano AB, Garan H. Comparison of spectral estimators for characterizing fractionated atrial electrograms. Biomed Eng Online. 2013;12:72.
When you do an FFT (or any implementation of the discrete FT) of a signal x, what you basically do is to consider a (finite) interval of N samples (for FFT N must be a power of 2). The spectrum you obtain applying the FFT is the spectrum of the signal x*, which is made by concatenating infinite repetitions of the interval of N samples you considered. So, in your case what you get is NOT the spectrum of your signal x. If the frequency is changing slowly in time and N is sufficiently small, then the spectrum you computed is possibly a reasonable approximation of the spectrum of the signal x in the period you considered. But this heavily depends on the features of the signal x, on the choice of N, and on the use you have in mind for the spectrum
The result would be that the frequencies present within the interval will all appear. What one does in these cases is to chose a time interval and track the change in frequency along time. Of course the narrower the time interval the poorer the resolution of your Fourier transform. One classical area where this is used is the estimation of blood flow velocity using Doppler ultrasound. For this application the blood velocity v is proportional to the deltaf where deltaf=(2*f0*v*cos(theta))/c and f0 is the ultrasound frequency, theta is the angle between the ultrasonic beam and the velocity vector and c is the velocity of ultrasound in the blood. Typically f0 is between 5 and 40 MHz resulting a deltaf in the audio range. To track blood velocity we normally choose time intervals of 5 - 20 ms. Ah, and since the area illuminated by the U/S beam will have a distribution of velocities there will be a spectrum of deltaf for each time interval. Do read some papers on Doppler ultrasound and you will appreciate all this.
There will be a spectrum with amplitudes in all the frequencies present in the time interval. Anders Brandt call it smearing effect.
BRANDT, A.; LAGO, T.; AHLIN, K.; TUMA, J. Main Principles and Limitations of Current Order Tracking Methods. Journal of Sound and Vibration, , n. March, p. 19–22, 2005.
Im looking for other works on this problem, to find the most efficient way to recover the amplitude of the tone independent of the stability of the frequency within the minimum frequency resolution.