I did FFT(Fast Fourier Transform), but i can't understand...(python)

477 Views Asked by At

I got a acceleration data from rotating machine on field. so, I want to know about frequency components. so, did FFT on python (np.fft.fft).

Q) When i got a acceleration data that scale is -20~20 m/s^2. but, after fft, scale was converted 0~1(unit: i don't know....)

I want to understand Why scale was converted after FFT? and How can I set a unit that after FFT?

Fs = 51200                             
T = 1/Fs  
L = len(data1)         
t = np.arange(0,L-1)*T      
Y = np.fft.fft(data1)
P2 = abs(Y/L)
P1 = P2[0:int(L/2+1)]
P1[1:-1] = 2*P1[1:-1]
f = Fs*np.arange(0,L/2+1)/L

Before FFT(Original Acceleration data) Before FFT, Original Acceleration data

After FFT(Don't know abscissa's unit) After FFT, Don't know abscissa's unit

1

There are 1 best solutions below

0
Bob On

The Fourier transform is decomposing your signal in harmonic waves (linear combination of sines and cosines), watch this if you need more details.

The FFT will put, for i in range(-(N+1)//2, N//2) at the index i the coefficient of a complex exponential of frequency i * N / Fs, so the abscissa of your plot is Frequency.