Python (2.7+/3.4+) routines for analyzing signals. Some of the functions include:
- Calculating Short-Time Fourier Transform
- Smoothing a signal
- Plotting an STFT's spectrogram
- Calculating the peak hold of an STFT in the freq domain
- Plotting the peak hold of an STFT
The above functions are handy when analyzing signals recorded in the time domain, such as using a TEAC LX-10 data recorder, and seeing the frequency spectrum. This is useful for Electromagnetic Compatibility (EMC) analyses.
You can install siganalysis either via the Python Package Index (PyPI) or from source.
To install using pip:
$ pip install siganalysis
siganalysis requires the following Python packages:
- Anything in the
masterbranch is deployable
- To work on something new, create a descriptively named branch off of
- Commit to that branch locally and regularly push your work to the same named branch on the server
- When you need feedback or help, or you think the branch is ready for merging, open a pull request.
- After someone else has reviewed and signed off on the feature, you can merge it into master.
- Once it is merged and pushed to
master, you can and should deploy immediately.
Running the Tests
siganalysis has been tested against Python 2.7 and Python 3.4. While siganalysis may work with other versions of Python, it hasn't been tested with anything else at this time. Assuming you have virtualenv and virtualenvwrapper installed, you can run the following commands to clone the GitHub repository, create a virtualenv, and run the unit tests:
$ git clone https://github.com/questrail/siganalysis.git $ cd siganalysis $ mkvirtualenv siganalysis $ pip install -r requirements.txt $ nosetests