# Python Fourier Transform, FFT, Waterfall FFT, Cepstrum

Introduction

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

* * *

Utility

The scripts on this page require the utility module tompy.py

* * *

Fourier Transform

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 2^n 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

* * *

Waterfall FFT

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

* * *

Cepstrum

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

* * *

Tom Irvine

## One thought on “Python Fourier Transform, FFT, Waterfall FFT, Cepstrum”

1. […] Cython: Fourier transform […]

Like