pyExSi


NamepyExSi JSON
Version 0.43 PyPI version JSON
download
home_pagehttps://github.com/ladisk/pyExSi
SummaryExcitation signals as used in structural dynamics.
upload_time2022-01-02 16:37:10
maintainerJanko Slavič, Domen Gorjup, Aleš Zorman
docs_urlNone
authorAleš Zorman, Domen Gorjup, Janko Slavič
requires_python
licenseMIT license
keywords excitation signal structural dynamics dynamic testing
VCS
bugtrack_url
requirements numpy scipy pylint pytest
Travis-CI
coveralls test coverage No coveralls.
            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:

.. code-block:: python

    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)

|DOI| |Build Status| |Docs Status|

.. |Docs Status| image:: https://readthedocs.org/projects/pyexsi/badge/
   :target: https://pyexsi.readthedocs.io

.. |Build Status| image:: https://travis-ci.com/ladisk/pyExSi.svg?branch=main
   :target: https://travis-ci.com/ladisk/pyExSi

.. |DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.4431844.svg
   :target: https://doi.org/10.5281/zenodo.4431844


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ladisk/pyExSi",
    "name": "pyExSi",
    "maintainer": "Janko Slavi\u010d, Domen Gorjup, Ale\u0161 Zorman",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "janko.slavic@fs.uni-lj.si",
    "keywords": "excitation signal, structural dynamics, dynamic testing",
    "author": "Ale\u0161 Zorman, Domen Gorjup, Janko Slavi\u010d",
    "author_email": "janko.slavic@fs.uni-lj.si",
    "download_url": "https://files.pythonhosted.org/packages/b3/91/e54d1eba1323cf5f7d08413f23830352627d7b43c268d086f921530cb883/pyExSi-0.43.tar.gz",
    "platform": "",
    "description": "pyExSi - Excitation signals as used in structural dynamics and vibration fatigue\n--------------------------------------------------------------------------------\nSupported excitation signals are:\n\n- pulse (e.g. half-sine)\n- random:\n\n    - uniform random distribution\n    - normal random distribution\n    - pseudorandom distribution\n\n- random, defined by power spectral density (PSD):\n\n    - stationary Gaussian\n    - stationary non-Gaussian\n    - non-stationary non-Gaussian random process\n\n- burst random\n- sine sweep\n\n\nSimple example\n---------------\n\nA simple example on how to generate random signals on PSD basis:\n\n.. code-block:: python\n\n    import pyExSi as es\n    import numpy as np\n\n\n    N = 2**16 # number of data points of time signal\n    fs = 1024 # sampling frequency [Hz]\n    t = np.arange(0,N)/fs # time vector\n\n    # define frequency vector and one-sided flat-shaped PSD\n    M = N//2 + 1 # number of data points of frequency vector\n    freq = np.arange(0, M, 1) * fs / N # frequency vector\n    freq_lower = 50 # PSD lower frequency limit  [Hz]\n    freq_upper = 100 # PSD upper frequency limit [Hz]\n    PSD = es.get_psd(freq, freq_lower, freq_upper) # one-sided flat-shaped PSD\n\n    #get gaussian stationary signal\n    gausian_signal = es.random_gaussian((N, PSD, fs)\n\n    #get non-gaussian non-stationary signal, with kurtosis k_u=10\n    #amplitude modulation, modulating signal defined by PSD\n    PSD_modulating = es.get_psd(freq, freq_lower=1, freq_upper=10) \n    #define array of parameters delta_m and p\n    delta_m_list = np.arange(.1,2.1,.5) \n    p_list = np.arange(.1,2.1,.5)\n    #get signal \n    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)\n\n|DOI| |Build Status| |Docs Status|\n\n.. |Docs Status| image:: https://readthedocs.org/projects/pyexsi/badge/\n   :target: https://pyexsi.readthedocs.io\n\n.. |Build Status| image:: https://travis-ci.com/ladisk/pyExSi.svg?branch=main\n   :target: https://travis-ci.com/ladisk/pyExSi\n\n.. |DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.4431844.svg\n   :target: https://doi.org/10.5281/zenodo.4431844\n\n",
    "bugtrack_url": null,
    "license": "MIT license",
    "summary": "Excitation signals as used in structural dynamics.",
    "version": "0.43",
    "split_keywords": [
        "excitation signal",
        " structural dynamics",
        " dynamic testing"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "cd7d92e54231e16ea2a0fe0343e5c3ad",
                "sha256": "feb7510de2cfb19d96682c1e24b7e7cd178849712502b8c6ba02f083591a656f"
            },
            "downloads": -1,
            "filename": "pyExSi-0.43-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cd7d92e54231e16ea2a0fe0343e5c3ad",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 10148,
            "upload_time": "2022-01-02T16:36:59",
            "upload_time_iso_8601": "2022-01-02T16:36:59.463843Z",
            "url": "https://files.pythonhosted.org/packages/1f/52/ef146ccf267944cc86415e1e58219bd7892acda431feff31f7983af04028/pyExSi-0.43-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "f40899aacf12353dbeead70e34cb061f",
                "sha256": "06af8304cd3f0c576df3219fa4e563b42dfc85a4f1b0a84f9e9c45be968f7188"
            },
            "downloads": -1,
            "filename": "pyExSi-0.43.tar.gz",
            "has_sig": false,
            "md5_digest": "f40899aacf12353dbeead70e34cb061f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 10215,
            "upload_time": "2022-01-02T16:37:10",
            "upload_time_iso_8601": "2022-01-02T16:37:10.120637Z",
            "url": "https://files.pythonhosted.org/packages/b3/91/e54d1eba1323cf5f7d08413f23830352627d7b43c268d086f921530cb883/pyExSi-0.43.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-01-02 16:37:10",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "ladisk",
    "github_project": "pyExSi",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.18"
                ]
            ]
        },
        {
            "name": "scipy",
            "specs": []
        },
        {
            "name": "pylint",
            "specs": []
        },
        {
            "name": "pytest",
            "specs": []
        }
    ],
    "lcname": "pyexsi"
}
        
Elapsed time: 0.01866s