syncsweptsine

Synchronized Swept Sine Method according to Novak et al. 2015

https://github.com/siggigue/syncsweptsine

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.0%) to scientific vocabulary

Keywords

exp-sweep hammerstein hammerstein-model harmonic-distortion higher-harmonic-impulse-response impulse impulse-response-measurement log-sweep model nonlinear response sweep synchronized synchronized-swept-sine
Last synced: 6 months ago · JSON representation ·

Repository

Synchronized Swept Sine Method according to Novak et al. 2015

Basic Info
  • Host: GitHub
  • Owner: SiggiGue
  • License: mpl-2.0
  • Language: Python
  • Default Branch: master
  • Size: 87.9 KB
Statistics
  • Stars: 26
  • Watchers: 1
  • Forks: 2
  • Open Issues: 0
  • Releases: 1
Topics
exp-sweep hammerstein hammerstein-model harmonic-distortion higher-harmonic-impulse-response impulse impulse-response-measurement log-sweep model nonlinear response sweep synchronized synchronized-swept-sine
Created over 6 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

Synchronized Swept Sine Method

CodeFactor Coverage Status Documentation Status

This project implements the Synchronized Swept Sine Method as a reusable python package. It is structured according to the papers by Novak et al. 2015 and Novak et al. 2010, but equations and symbol names are adapted to code conventions, also known as PEP 8. However, references to symbols and equations are given in the code comments. Most important classes are

  • SyncSweep for the generation of the synchronized swept sine singal
  • HigherHarmonicImpulseResponse for the deconvolution from sweep input and output signal.
  • HammersteinModel estimation and filtering of signals with the hammerstein model.
  • LinearModel estimation and filtering of signals with the linear kernel e.g. from a HigherHarmonicImpulseResponse

Examples are placed in the examples folder. A small example, estimating the coefficients of a nonlinear system, is listed below:

```python import numpy as np from syncsweptsine import SyncSweep from syncsweptsine import HigherHarmonicImpulseResponse from syncsweptsine import HammersteinModel

sweep = SyncSweep( startfreq=16, stopfreq=16000, durationappr=10, samplerate=96000)

def nonlinear_system(sig): return 1.0 * sig + 0.25 * sig2 + 0.125 * sig3

outsweep = nonlinear_system(np.array(sweep))

hhir = HigherHarmonicImpulseResponse.from_sweeps( syncsweep=sweep, measuredsweep=outsweep)

hm = HammersteinModel.fromhigherharmonicimpulseresponse( hhir=hhir, length=2048, orders=(1, 2, 3), delay=0)

for kernel, order in zip(hm.kernels, hm.orders): print('Coefficient estimate:', np.round(np.percentile(abs(kernel.frf), 95), 3), 'Order:', order) ```

prints out:

Coefficient estimate: 1.009 Order: 1 Coefficient estimate: 0.25 Order: 2 Coefficient estimate: 0.125 Order: 3

References

Owner

  • Name: Siegfried Gündert
  • Login: SiggiGue
  • Kind: user

Citation (CITATION.CFF)

cff-version: 1.2.0
title: syncsweptsine
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Siegfried
    family-names: Gündert
    email: siegfried.guendert@gmail.com
repository-code: 'https://github.com/SiggiGue/syncsweptsine'
abstract: >-
  syncsweptsine implements the exponential sweep method
  based on Novak et al. 2015, 2010 as reusable python package.
license: MPL-2.0
version: 0.2.0

GitHub Events

Total
  • Watch event: 4
Last Year
  • Watch event: 4

Dependencies

setup.py pypi
docs/requirements.txt pypi
  • matplotlib *
  • numpy *
  • numpydoc *
  • scipy *
pyproject.toml pypi
  • matplotlib ^3.1 develop
  • numpydoc ^0.9.1 develop
  • pylint ^2.3 develop
  • pytest ^4.6 develop
  • pytest-assume ^1.2 develop
  • pytest-cov ^2.7 develop
  • sphinx =1.8 develop
  • sphinx-rtd-theme ^0.4.3 develop
  • numpy ^1.16
  • python ^3.7
  • scipy ^1.3