Excitation signals as used in structural dynamics and vibration fatigue.

Frequency response function as used in structural dynamics.

The sdypy-excitation is a namespace project of the sdypy framework and is a direct link to the pyExSi package (developed at pyExSi).

Use the sdypy package to conveniently access the functionality of the pyExSi package through its namespace (see example below).

Other functionalities of the sdypy framework include:

• sdypy-EMA: Experimental Modal Analysis

• sdypy-io: Input/Output operations (LVM files, UFF files)

• sdypy-FRF: Frequency Response Function estimation

Basic sdypy-excitation usage:

Import the module:

import numpy as np

# import the sdypy module
import sdypy as sd

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 = sd.excitation.get_psd(freq, freq_lower, freq_upper) # one-sided flat-shaped PSD

#get gaussian stationary signal
gausian_signal = sd.excitation.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 = sd.excitation.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 = sd.excitation.nonstationary_signal(N,PSD,fs,k_u=5,modulating_signal=('PSD', PSD_modulating),param1_list=p_list,param2_list=delta_m_list)

Project details

Uploaded Source
Uploaded Python 3