Skip to main content

Python implementation of Generalized Binary Noise

Project description

pygbn

ci ci

This package implements the generalized binary noise (GBN) model of [1] in Python. The code is based on the Matlab implementation revised by Ivo Houtzager in 2007 at the Delft Center of Systems and Control.

Installation

You can very easily install the package using pip:

pip install pygbn

or after locally cloning the source code:

pip install .

Usage

Below is an example of how to use the package.

import matplotlib.pyplot as plt
from pygbn import gbn

if __name__ == '__main__':
    seed = 0 # random seed

    h = 0.05 # sampling period [s]
    T = 1 # length of signal [s]
    A = 1 # amplitude of signal
    ts = 1 # estimated settling time of the process [s]

    # flag indicating process damping properties
    # flag = 0 if the process is over-damped (default)
    # flag = 1 if the process is oscillary (min phase)
    # flag = 2 if the process is oscillary (non min phase)
    flag = 0

    # generate time array
    t = np.arange(start=0, stop=T, step=h)

    # generate the signal
    # the gbn function returns a time array and a signal array
    u = gbn(h, T, A, ts, flag, seed=seed)

    # optional: plot the generated signal
    plt.plot(t, u)

Citations

[1] Tulleken, H. J. (1990). Generalized binary noise test-signal concept for improved identification-experiment design. Automatica, 26(1), 37-49.

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

pygbn-0.1.2.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

pygbn-0.1.2-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

Details for the file pygbn-0.1.2.tar.gz.

File metadata

  • Download URL: pygbn-0.1.2.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for pygbn-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5012b945e0f6413ae04fb9cd4b1aa325147e1506742571b1b0518a8e4dcf9b68
MD5 dd4efd0a34f4764f5b28f5a9fb16eb18
BLAKE2b-256 198e18f5e80a6ba73ab363593d68c4af991947c0ae46f70315d3698193d63d9d

See more details on using hashes here.

File details

Details for the file pygbn-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: pygbn-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 4.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for pygbn-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 38b61cc25d4987a85060e89790815fd3028ccfcecb9280b567e355e49d33530d
MD5 f6fe477ddce2f41ac2579f6385ff8a31
BLAKE2b-256 da34dcfc3c092fa70f74a7f00166ccfa16ee24db1edffe0678509ac29813321c

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 Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page