syncsweptsine
Synchronized Swept Sine Method according to Novak et al. 2015
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
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
Metadata Files
README.md
Synchronized Swept Sine Method
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
-
SyncSweepfor the generation of the synchronized swept sine singal -
HigherHarmonicImpulseResponsefor the deconvolution from sweep input and output signal. -
HammersteinModelestimation and filtering of signals with the hammerstein model. -
LinearModelestimation and filtering of signals with the linear kernel e.g. from aHigherHarmonicImpulseResponse
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
A. Novak, P. Lotton, and L. Simon: “Synchronized Swept-Sine: Theory, Application, and Implementation,” J. Audio Eng. Soc., vol. 63, no. 10, pp. 786–798, Nov. 2015.
A. Novák, L. Simon, F. Kadlec, and P. Lotton: “Nonlinear System Identification Using Exponential Swept-Sine Signal,” IEEE Trans. Instrum. Meas., vol. 59, no. 8, pp. 2220–2229, Aug. 2010.
Owner
- Name: Siegfried Gündert
- Login: SiggiGue
- Kind: user
- Repositories: 14
- Profile: https://github.com/SiggiGue
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
- matplotlib *
- numpy *
- numpydoc *
- scipy *
- 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