Skip to main content

Excitation signals as used in structural dynamics and vibration fatigue.

Project description

DOI Build Status Docs Status

pyExSi - Excitation signals as used in structural dynamics and vibration fatigue

Supported excitation signals are:

  • pulse (e.g. half-sine)

  • random:

    • uniform random distribution

    • normal random distribution

    • pseudorandom distribution

  • random, defined by power spectral density (PSD):

    • stationary Gaussian

    • stationary non-Gaussian

    • non-stationary non-Gaussian random process

  • burst random

  • sine sweep

Simple example

A simple example on how to generate random signals on PSD basis:

import pyExSi as es
import numpy as np


N = 2**16 # number of data points of time signal
fs = 1024 # sampling frequency [Hz]
t = np.arange(0,N)/fs # time vector

# define frequency vector and one-sided flat-shaped PSD
M = N//2 + 1 # number of data points of frequency vector
freq = np.arange(0, M, 1) * fs / N # frequency vector
freq_lower = 50 # PSD lower frequency limit  [Hz]
freq_upper = 100 # PSD upper frequency limit [Hz]
PSD = es.get_psd(freq, freq_lower, freq_upper) # one-sided flat-shaped PSD

#get gaussian stationary signal
gausian_signal = es.random_gaussian((N, PSD, fs)

#get non-gaussian non-stationary signal, with kurtosis k_u=10
#amplitude modulation, modulating signal defined by PSD
PSD_modulating = es.get_psd(freq, freq_lower=1, freq_upper=10)
#define array of parameters delta_m and p
delta_m_list = np.arange(.1,2.1,.5)
p_list = np.arange(.1,2.1,.5)
#get signal
nongaussian_nonstationary_signal = es.nonstationary_signal(N,PSD,fs,k_u=5,modulating_signal=('PSD', PSD_modulating),param1_list=p_list,param2_list=delta_m_list)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyexsi-0.43.3.tar.gz (4.3 MB view details)

Uploaded Source

Built Distribution

pyexsi-0.43.3-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file pyexsi-0.43.3.tar.gz.

File metadata

  • Download URL: pyexsi-0.43.3.tar.gz
  • Upload date:
  • Size: 4.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for pyexsi-0.43.3.tar.gz
Algorithm Hash digest
SHA256 5169aeaea379b33b8466c7283ffdc061249801e9efd0175470c99353de4ab495
MD5 c523af60425bf6eb881031ade5dca355
BLAKE2b-256 acef6b8a5d5fec6e4dfee1aa5dd4408aa1abc8feee1894fc47905baf9e59fd30

See more details on using hashes here.

File details

Details for the file pyexsi-0.43.3-py3-none-any.whl.

File metadata

  • Download URL: pyexsi-0.43.3-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for pyexsi-0.43.3-py3-none-any.whl
Algorithm Hash digest
SHA256 00b75cbd15a027c4109d237c69fad223153637adc072564e0c09c71e5eeff605
MD5 a0cfaeaa223bc88bb1b61bf532030f1f
BLAKE2b-256 9e1c5cccf0ff600cda03ee411de5326734a3f368b7e9bb518cf087098b70d7fd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page