How to use FFT in matlab using imported data in time domain excel file
조회 수: 9 (최근 30일)
이전 댓글 표시
I have used a multimeter to measure my phototransistor and I got one excel file with time versus Magnitude. But I got some noise, so I want to use Matlab to do FFT from time domain to frequency domain(frequency versus magnitude) called Photorespone. I attach my file as below. I wanna make this kind of figure, freq versus amplitude.

댓글 수: 3
Linda Yakoubi
2017년 5월 10일
I have a similar task. I already imported the data from excel in Matlab but I don't know what to do next and how to use the function "fft()". Any ideas ?
채택된 답변
Star Strider
2017년 3월 8일
Example Code For Your Signal —
[d,s] = xlsread('1.5V.csv');
t = d(:,1)*1E-3; % Convert To ‘seconds’ From ‘milliseconds’
v = d(:,2); % Voltage (?)
L = length(t);
Ts = mean(diff(t)); % Sampling Interval (sec)
Fs = 1/Ts; % Sampling Frequency
Fn = Fs/2; % Nyquist Frequency
vc = v - mean(v); % Subtract Mean (‘0 Hz’) Component
FTv = fft(vc)/L; % Fourier Transform
Fv = linspace(0, 1, fix(L/2)+1)*Fn; % Frequency Vector (Hz)
Iv = 1:length(Fv); % Index Vector
figure(1)
plot(Fv, abs(FTv(Iv))*2)
grid
xlabel('Frequency (Hz)')
ylabel('Amplitude (V?)')
I did not post the plot, since my code will plot the Fourier transform of your data.
댓글 수: 12
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



