MATLAB FFT (y-axis values)

11 visualizzazioni (ultimi 30 giorni)
John Smith
John Smith il 9 Apr 2016
Commentato: topolowa il 25 Mar 2018
Hi all,
I am analysing the noise of a signal using FFT. I am reading the data (time and voltage/amplitude) from a text file. I used the code below to plot the FFT. How can I know that the plot is correct? What is the label for the y-axis? I did search for FFT plots on google and most of them have the y-axis in the thousand range. Why are my y-axis values so low?
Any help would be highly appreciated. Thanks.
fidi = fopen('data.txt', 'rt');
sig = textscan(fidi, '%f%f', 'Delimiter',' ');
t = sig{1};
amplitude = sig{2};
L = length(t);
Ts = mean(diff(t)); % Sampling Time
Fs = 1/Ts; % Sampling Frequency
Fn = Fs/2; % Nyquist Frequency
F_sig = fft(amplitude)*2/L; % Fourier Transform (Normalised)
Fv = linspace(0, 1, fix(L/2)+1)*Fn; % Frequency Vector
Iv = 1:length(Fv); % Index Vector
figure(1)
plot(Fv, abs(F_sig(Iv)))
grid
zoom on
  1 Commento
topolowa
topolowa il 25 Mar 2018
Hi John, just by curiosity, do you know why your signal is spaced every 100 Hz? I see similar spikes in my FFT of the AFM microscopy (signal is voltage vs time as well) and I cannot figure out where are they comming from...
It may be compleatly unrelated, but ...
thanks
Tamara

Accedi per commentare.

Risposta accettata

Star Strider
Star Strider il 9 Apr 2016
You don’t say what your signal is, but perhaps the values are low because the amplitude of your signal is low. If you take the standard deviation of your signal, it should have a similar magnitude:
stdev_amplitude = std(amplitude)
  6 Commenti
John Smith
John Smith il 10 Apr 2016
Thanks for the explenation :)
Star Strider
Star Strider il 10 Apr 2016
As always, my pleasure.

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by