Tie to frequency using F

조회 수: 4 (최근 30일)
Karl Zammit
Karl Zammit 2021년 5월 17일
댓글: Karl Zammit 2021년 5월 17일
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

채택된 답변

Geoff Hayes
Geoff Hayes 2021년 5월 17일
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.
  댓글 수: 1
Karl Zammit
Karl Zammit 2021년 5월 17일
My bad for not commenting that the problem was solved. Thanks a lot nonetheless

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by