trying to take FFT of a signal but not getting the correct result
조회 수: 1 (최근 30일)
이전 댓글 표시
t1=load('201710h1.lvm'); %test 1
t2=load('201710h2.lvm'); %test 2
Fs = 100000; % frequency sample
x = t1 (:,1); % time for test 1
sin = t1 (:,2); % test 1 sesnor 1
plot(sin)
title('Sensor1')

채택된 답변
Star Strider
2021년 2월 9일
Example —
t{1}=load('201710h1.lvm'); %test 1
t{2}=load('201710h2.lvm'); %test 2
Fs = 100000; % frequency sample
for k = 1:numel(t)
L = numel(t{k});
Ts = 1/Fs;
Fn = Fs/2;
tv = linspace(0, L, L)*Ts;
FTt = fft(t{k})/L;
Fv = linspace(0, 1, fix(L/2)+1)*Fn;
Iv = 1:numel(Fv);
figure
plot(tv, t{k})
grid
xlabel('Time (sec)')
ylabel('Signal (Units)')
title(sprintf('t_{%d} Time Domain',k))
figure
plot(Fv, abs(FTt(Iv))*2)
grid
xlabel('Frequency (Hz)')
ylabel('Amplitude (Units)')
title(sprintf('t_{%d} Frequency Domain',k))
end
Note that I loaded your signals into cell arrays to make the analysis easier.
댓글 수: 4
Star Strider
2021년 2월 10일
As always, my pleasure!
Change the first two lines back to:
t1 = load('201710h1.lvm'); %test 1
t2 = load('201710h2.lvm'); %test 2
and the rest should work. (I changed my code to match your updated code, and forgot to change the ‘t1’ and ‘t2’ variables back to what they were originally.)
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!