# how do I interpret power density/FFT plot of a temperature-time series?

12 views (last 30 days)
v10as on 1 Aug 2015
Answered: Nitin Khola on 4 Aug 2015
Hello,
I have a temperature-time series that I have acquired at 10kHz. The temperature varies between 50 and 56 degrees C (323 and 329 K). When I plot the FFT without normalizing it by sample length, I get the plot as attached. When I normalize it using the sample length, the Y-scale in the plot goes from 0 to 0.9.
What does this mean in terms of the original temperature data? Have I performed this incorrectly? I have also plotted this in terms of power density (periodogram) but I am not sure how to interpret the results in terms of temperature.
dpb on 2 Aug 2015
It isn't power but the units are analogous to work thru with your temperature in place of the power measurement. How, precisely, as the article shows, depends on just exactly what you did in computing the spectrum.
Again, as the above also shows, there's little to interpret that I can see, anyways. What do you think you're going to accomplish here, anyway; what's the purpose behind this exercise?
v10as on 4 Aug 2015
I am trying to look for differences in the PSD or FFT of two different plots. I have attached FFTs for both. What can I infer from the FFTs shown?

Nitin Khola on 4 Aug 2015
The fast Fourier transform (fft) is an algorithm for calculating a discrete Fourier transform of a sequence. The Fourier transform converts a time domain signal to frequency domain. The obtained output from "fft" is the discrete Fourier transform of the input. In the case you provided, the output is T(f) when the input is T(t) where (f),(t) stand for frequency and time respectively.
In general, the relative magnitudes of signal with respect to frequencies are of interest. The maximum value of "Magnitude" of the output from "fft" in MATLAB is (Length of input signal)*(Amplitude of input signal/2) as it divides the power between the negative and positive frequencies. Hence, to obtain the same maximum value from "fft" as the amplitude input time signal, the output needs to be scaled i.e. divided by the input signal length and multiplied by 2, e.g., in the following command for an input signal T, multiply T_fft by 2.
>> T_fft= abs(fft(T))/length(T);
Refer to the "fft" documentation for details and examples. For more information on fast Fourier transforms, refer to this MATLAB Answers post.