From Python Wiki
The Fourier transform is a method for representing a time domain signal in the frequency domain. This transform is discussed in the tutorial: Shock_and_Vibration_Signal_Analysis.pdf
The scripts on this page require the utility module tompy.py
An example of a Fourier transform script is fourier.py
The corresponding inverse Fourier transform script is invfourier.py
Fast Fourier Transform (FFT)
The processing time for taking the transform of a long time history can be dramatically decreased by using an FFT.
An FFT can be performed if the time history has 2n coordinate points, where n is an integer. A time history can be truncated or zero-padded if necessary so that it meets this requirement.
Scipy has an FFT in its numerical library.
from scipy.fftpack import fft
An example of a script using this function is: fft.py
The corresponding inverse FFT script is: invfft.py
An FFT GUI version is given at: fft_gui.py
The Waterfall script generates a 3D plot using:
from mpl_toolkits.mplot3d.art3d import Poly3DCollection
The script is: waterfall_FFT.py
A GUI version using Tkinter is: waterfall_FFT_gui.py
The cepstrum function was originally developed for characterizing the seismic echoes resulting from earthquake and bomb explosions. It has also been used to determine the fundamental frequency of human speech, to analyze radar signal returns, and to evaluate machinery vibration.
Here is a cepstrum script: cepstrum.py
Here is a auto-cepstrum script: auto_cepstrum.py
Here is a GUI script for both cepstrum & auto-cepstrum: cepstrum_gui.py
Sound Pressure Level
Here is a GUI script for calculating a sound pressure level from a time history: spl_gui.py