FFT from measured data - Scaling y-axis
Mostrar comentarios más antiguos
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
Respuesta aceptada
Más respuestas (1)
Yuvaraj Venkataswamy
el 28 de Mayo de 2018
Editada: Yuvaraj Venkataswamy
el 28 de Mayo de 2018
1 voto
1.If you are directly use the voltage output as input, then your FFT amplitude must be in mV.
Categorías
Más información sobre Fourier Analysis and Filtering en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!