How to use FFT in matlab using imported data in time domain excel file
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Javis Chiu
am 6 Mär. 2017
Kommentiert: Star Strider
am 9 Jun. 2024
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 Kommentare
Linda Yakoubi
am 10 Mai 2017
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 ?
Akzeptierte Antwort
Star Strider
am 8 Mär. 2017
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 Kommentare
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



