# obtain the fourier trasnform doing the fft. Do I need to normalize??

2 views (last 30 days)
SYML2nd on 24 Jun 2019
Edited: Matt J on 25 Jun 2019
Hi,
I have a signal in time domain, actually, specific kinetic energy was calculated in time domain and its medium value is 10 m2/s2 (with some peak at 60 m2/s2). I wanted to obtain the Fourier transform of this signal in time domain. Then I did an FFT on the signal and converted to frequency domain; but the amplitude of this kinetic energy in frequency domain is at the magnitude order of 10e6. Why this difference? Should I normalize this FFT in some way to obtain the Fourier trasform? If I do the fft the unit lenght is m2/s2, while if I do the Fourier trasform the unit lenght should be m2/s, so I thought that my problem could be due to a normalization
This is the code (the tket.txt contain the signal, which can be read at the 34th column) can you help me?
tket=table2array(tket1);
Tinc=0.001;
% Tinc is the time step
Fs=1/Tinc;
L=length(tket);
f = Fs*(0:(L/2))/L;
tkef1= fft(tket(:,34:34),L);
fl=length(f);
tkef=tkef1(1:fl,:);
dpb on 24 Jun 2019
As Matt J says, "it all depends" on what you're actually trying to compute.

Matt J on 24 Jun 2019
Edited: Matt J on 24 Jun 2019
To approximate a continuous Fourier transform integral, you need to multiply by the time step,
tkef1= fft(tket(:,34:34),L) * Tinc;
Depending on whether you are an engineer or a physicist, you may also need to multiply by 1/sqrt(2*pi), as different professions define the Fourier Transform scaling differently.
Matt J on 25 Jun 2019
Dviding by L gives the Discrete Time Fourier Series coefficients. Possibly, that is what they were trying to compute.

R2019a

### Community Treasure Hunt

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

Start Hunting!