Metadata-Version: 2.1
Name: sdypy-excitation
Version: 0.1.0
Summary: Excitation signals as used in structural dynamics and vibration fatigue.
Project-URL: homepage, https://github.com/sdypy/sdypy-excitation
Project-URL: documentation, https://pyexsi.readthedocs.io/en/latest/index.html
Project-URL: source, https://github.com/sdypy/sdypy-excitation
Author-email: "Janko Slavič et al." <janko.slavic@fs.uni-lj.si>
Maintainer-email: "Janko Slavič et al." <janko.slavic@fs.uni-lj.si>
License-Expression: MIT
License-File: License
Keywords: excitation signals,structural dynamics,vibration fatigue
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.10
Requires-Dist: pyexsi
Provides-Extra: dev
Requires-Dist: build; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: sphinx; extra == 'dev'
Requires-Dist: sphinx-copybutton>=0.5.2; extra == 'dev'
Requires-Dist: sphinx-rtd-theme; extra == 'dev'
Requires-Dist: twine; extra == 'dev'
Requires-Dist: wheel; extra == 'dev'
Description-Content-Type: text/x-rst

sdypy-excitation
================

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 `pyFRF <https://github.com/ladisk/pyExSi>`_).

Use the ``sdypy`` package to conveniently access the functionality of the
`pyFRF <https://github.com/ladisk/pyExSi>`_ package through its namespace (see example below). 

Other functionalities of the ``sdypy`` framework include:

- `sdypy-EMA <https://github.com/sdypy/sdypy-EMA>`_: Experimental Modal Analysis
- `sdypy-io <https://github.com/sdypy/sdypy-io>`_: Input/Output operations (LVM files, UFF files)
- `sdypy-FRF <https://github.com/sdypy/sdypy-FRF>`_: Frequency Response Function estimation


For more information check out the showcase examples and see documentation_.

Basic ``sdypy-excitation`` usage:
---------------------------------

Import the module:
~~~~~~~~~~~~~~~~~~

.. code:: python

    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)


.. _documentation: https://sdypy-excitation.readthedocs.io/en/latest/
