Tie to frequency using F
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Karl Zammit
le 17 Mai 2021
Commenté : Karl Zammit
le 17 Mai 2021
Hi, I am trying to perform a fft on a series of runs of a vibration analysis with the following code. An empty plot seems to show up, any ideas?
%Frequency Analysis
time = xlsread('Lab-2ciii.xlsx','A1:A300');; % Time Vector
signal = xlsread('Lab-2ciii.xlsx','B1:B300');; % Signal data in Time-Domain
N = length(signal); % Number Of Samples
Ts = mean(diff(time)); % Sampling Interval
Fs = 1/Ts; % Sampling Frequency
Fn = Fs/2; % Nyquist Frequency
FT_Signal = fft(signal)/N; % Normalized Fourier Transform Of Data
Fv = linspace(0, 1, fix(N/2)+1)*Fn; % Frequency Vector (For ‘plot’ Call)
Iv = 1:length(Fv); % Index Vector (Matches ‘Fv’)
figure(1)
plot(Fv, abs(FT_Signal(Iv))*2)
grid
0 commentaires
Réponse acceptée
Geoff Hayes
le 17 Mai 2021
Karl - are you reading the correct columns? For example, on my Mac, the time array
time = xlsread('Lab-2ciii.xlsx','A1:A300');
is empty, and the signal array
signal = xlsread('Lab-2ciii.xlsx','B1:B300');
has just a handful of elements
signal =
0.0807
68.4870
0.0002
-0.1851
NaN
68.2636
0.0027
-0.0607
Both correspond to the first and second columns of your spreadsheet. I suspect you want columns E (which seems to correspond to time) and either H, K, or N...all of which have 300 elements.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Fourier Analysis and Filtering dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!