FFT of Unsteady Temperature Data Resulting a Peak at 0 Hz
6 visualizaciones (últimos 30 días)
Oguzhan M el 25 de Abr. de 2020
I have a data that was sampled at 50 Hz for 120 seconds. When I apply fft, dominant frequency seems to be 0 Hz which I initially thought it could actually very well be. However, when I apply same fft to different set of data acquired from the experiment, I get the same peak at 0 Hz, which does not seem to be correct as I expect it to show relatively high frequency(ies) ( this is due to nature of experiment in which the unsteady temperature data is acquired, and the second set of data is expected to show some form of periodicity).
As you may see below in the code, DC offset is removed by "detrend" and a low pass filter is applied ( the result was the same even before low pass filtering).
Can you please take a look at the code (data is attached as well) for any possible corrections or recommendations? If everything is okay with the code, I will appreciate some comments on the physical meaning of the frequency analysis result in this particular case.
Fs = 100; % Sampling frequency
T = 1/Fs; % Sampling period
dt = 0 :T:120-T; % Time vector
nfft= length(S2TR3_0); %Length of FFT
nfft2 = 2.^nextpow2(nfft) ;
S2TR3_0 = detrend(S2TR3_0);
fy = fft(S2TR3_0,nfft2);
fy = fy(1:nfft2/2);
xfft = Fs.*(0:nfft2/2-1)/nfft2;
%low pass filter
cut_off = 2/Fs/2;
order = 256;
h = fir1(order,cut_off);
con = conv(S2TR3_0,h);
fh = fft(h,nfft2);
fh = fh(1:nfft2/2);
fh = fh';
mul = fh.*fy;
Daniel M el 25 de Abr. de 2020
Editada: Daniel M el 25 de Abr. de 2020
Data looks fine. You shoud plot using semilogy to better visualize the higher frequencies. Your data shows a typical 1/f noise pattern, seen in white and pink noise dominated data. (Fig 1).
You can also try removing this 1/f curve by taking the gradient of the data, this is a rough method. (Fig 2)
Compare these semilogy plots with the periodic data and see if you can spot the differences now.