35 views (last 30 days)

Hi,

I am analyzing a signal using FFT to obtain its frequency spectrum. Raw data is shown below.

The machine should measure at a frequency 0.316 Hz.

Code spectral analysis:

x = t2(:,3);

%x = x-mean(x);

n = length(x);

dt = 3;

fs = 1/dt;

t = (0:n-1)*dt;

y = fft(x);

f = (0:n-1)*(fs/n);

power = abs(y).^2/n;

figure()

plot(f,power)

xlabel('Frequency [Hz]')

ylabel('Power')

grid on

After spectral analysis I end up with two peaks: one at 0 Hz and one at 0.3316 Hz.

If you uncomment the second line you end up with this: a peak at 0.0017 and 0.3316 Hz.

My question is how to interpret the first peak? Has it a physical meaning? I've read somewhere that a large peak at zero frequency means that you have a massive DC offset. What does that mean? And could it be that through discretization the actual value (0.316 Hz) and found value (0.3316 Hz) are slightly different?

Peng Li
on 6 Aug 2020

Based on your code, your sampling frequency is 1/3 Hz. There is no way you can detect a component of 0.316 Hz using 1/3 Hz sampling frequency.

The spectrum is symmetrical to 0 Hz. By default MATLAB gives a shifted spectrum that is symmetrical Fs/2. You can fftshift it or you can simply plot the first half. The second peak on the righthand side is not what you want to detect; it is simply a mirror of the peak on the left hand side.

Opportunities for recent engineering grads.

Apply TodayFind the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
## 3 Comments

## Direct link to this comment

https://se.mathworks.com/matlabcentral/answers/575968-how-to-interpret-fft-output-signal#comment_962665

⋮## Direct link to this comment

https://se.mathworks.com/matlabcentral/answers/575968-how-to-interpret-fft-output-signal#comment_962665

## Direct link to this comment

https://se.mathworks.com/matlabcentral/answers/575968-how-to-interpret-fft-output-signal#comment_1000363

⋮## Direct link to this comment

https://se.mathworks.com/matlabcentral/answers/575968-how-to-interpret-fft-output-signal#comment_1000363

## Direct link to this comment

https://se.mathworks.com/matlabcentral/answers/575968-how-to-interpret-fft-output-signal#comment_1048176

⋮## Direct link to this comment

https://se.mathworks.com/matlabcentral/answers/575968-how-to-interpret-fft-output-signal#comment_1048176

Sign in to comment.