MATLAB Answers

How can I normalize FFT in frequency domain?

66 views (last 30 days)
Sahaphol Hamanee
Sahaphol Hamanee on 7 Feb 2018
Reopened: Walter Roberson on 16 Jan 2019
Hi, I've FFT Voltage of a solar panel and get weird amplitude in frequency domain. I've read some previous questions about FFT and it seems like you have to normalize the magnitude of FFT to get better values. Thank you in advance, Here is my code:
[X1,TXT,RAW] = xlsread('FFT_starkutansno effekt.xlsx');
time = X1(:,1);
Voltage = X1(:,2);
f1 = fft(X1(:,2));
DT = 0.1;
Fs = 1/DT; %sampling frequency
DF = Fs/size(X1,1);
freq = 0:DF:Fs/2;
f1 = f1(1:length(f1)/2+1); %frequency vector
figure(1);
plot(freq,abs(f1));
grid
ylim([0 360]);
ylabel(' Magnitude ');
xlabel('Frequency (Hz) ');
title('Fast Fourier Transform Without Snow And High Light Intensity');
figure(2);
plot(time,Voltage);
xlabel(' Time (s) ');
ylabel(' Voltage (V) ');
ylim([3.2 5.2]);
title(' Voltage Without Snow And High Light Intensity ');

  1 Comment

David Goodmanson
David Goodmanson on 11 Feb 2018
Hi Sahaphol,
The csv file and your code are not working well together, and even if they were it appears that the time array is not in the file.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!