FFT from measured data - Scaling y-axis
Ältere Kommentare anzeigen
Hi all,
As a data basis, I have measured data the volts were recorded. Matlab will now be used to perform an FFT. I have the following questions:
- What unit do I have on the ordinate axis after the FFT? Also volts?
- How is scaled correctly? By hiding the negative frequencies (Nyquist), I would actually have to double the amplitude, right?
- Do I have to multiply all values of the FFT again with 20 * log10 (FFT) to represent the ordinate in db?
Here the basis Matlab Code:
load('TimeDomain.mat')%loading of the time domain signal
L=2500; %length of the signal
Fs=500000;%sampling frequency
N=2^nextpow2(L);%scale factor
t=(0:L-1)*10^-3;%time domain array
f=linspace(0,Fs/2,length(t));%frequency domain array
FFT=abs(fft(Timedomain,N));
figure(1)
plot(f,FFT(1:2500))
Thank you so much for your support!
Frank
Akzeptierte Antwort
Weitere Antworten (1)
Yuvaraj Venkataswamy
am 28 Mai 2018
Bearbeitet: Yuvaraj Venkataswamy
am 28 Mai 2018
1 Stimme
1.If you are directly use the voltage output as input, then your FFT amplitude must be in mV.
Kategorien
Mehr zu Fourier Analysis and Filtering finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!