# How to interpret FFT output signal?

11 visualizaciones (últimos 30 días)
Melvin Corvers el 6 de Ag. de 2020
Comentada: Rena Berman el 9 de Oct. de 2020
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?
##### 3 comentariosMostrar 1 comentario más antiguoOcultar 1 comentario más antiguo
Rik el 7 de Sept. de 2020
Question posted by Melvin Corvers recovered from Google cache (permalink, should be available after a few hours):
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?
Rena Berman el 9 de Oct. de 2020

Iniciar sesión para comentar.

### Respuestas (1)

Peng Li el 6 de Ag. de 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.
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

### Categorías

Más información sobre Spectral Measurements en Help Center y File Exchange.

### Community Treasure Hunt

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

Start Hunting!

Translated by