Python Power Spectral Density


The scripts on this page require the utility modules

* * *

PSD of a Time History

The PSD of a time history may be calculated using

The script uses the FFT function.

from scipy.fftpack import fft

It includes options for retangular and Hanning windows.

A GUI version which uses Tkinter is given at:

* * *

Spectrogram PSD

A script for a spectrogram PSD of a time history is given at:

The script uses the Matplotlib function specgram.

This function is useful for tracking the frequency change with time.

* * *

Overall GRMS Level

The overall GRMS level for a PSD function can be calculated via:

* * *

Synthesize a Time History to Satisfy a Specified PSD

A sample time history can be synthesized via:

This script also requires:

Note that a given PSD does not have a unique time history, because it discards the phase angle.

* * *

SDOF Response

This script calculates the response of a single-degree-of-freedom system to an acceleration PSD base input:

The method is more accurate than Miles equation, because it performs a point-by-point multiplication of the power transmissibility function times the base input PSD. It thus allows the PSD to vary with frequency.

This script calculates the vibration response spectrum (VRS) for a PSD base input:

* * *
– Tom Irvine


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s