
# scikit-dsp-comm
[](https://pypi.python.org/pypi/scikit-dsp-comm)
[](https://anaconda.org/conda-forge/scikit-dsp-comm)
[](http://scikit-dsp-comm.readthedocs.io/en/latest/?badge=latest)
## Background
The origin of this package comes from the writing the book Signals and Systems for Dummies, published by Wiley in 2013. The original module for this book is named `ssd.py`. In `scikit-dsp-comm` this module is renamed to `sigsys.py` to better reflect the fact that signal processing and communications theory is founded in signals and systems, a traditional subject in electrical engineering curricula.
## Package High Level Overview
This package is a collection of functions and classes to support signal processing and communications theory teaching and research. The foundation for this package is `scipy.signal`. The code in particular currently requires Python `>=3.7x`.
**There are presently ten modules that make up scikit-dsp-comm:**
1. `sigsys.py` for basic signals and systems functions both continuous-time and discrete-time, including graphical display tools such as pole-zero plots, up-sampling and down-sampling.
2. `digitalcomm.py` for digital modulation theory components, including asynchronous resampling and variable time delay functions, both useful in advanced modem testing.
3. `synchronization.py` which contains phase-locked loop simulation functions and functions for carrier and phase synchronization of digital communications waveforms.
4. `fec_conv.py` for the generation rate one-half and one-third convolutional codes and soft decision Viterbi algorithm decoding, including soft and hard decisions, trellis and trellis-traceback display functions, and puncturing.
5. `fir_design_helper.py` which for easy design of lowpass, highpass, bandpass, and bandstop filters using the Kaiser window and equal-ripple designs, also includes a list plotting function for easily comparing magnitude, phase, and group delay frequency responses.
6. `iir_design_helper.py` which for easy design of lowpass, highpass, bandpass, and bandstop filters using scipy.signal Butterworth, Chebyshev I and II, and elliptical designs, including the use of the cascade of second-order sections (SOS) topology from scipy.signal, also includes a list plotting function for easily comparing of magnitude, phase, and group delay frequency responses.
7. `multirate.py` that encapsulate digital filters into objects for filtering, interpolation by an integer factor, and decimation by an integer factor.
8. `coeff2header.py` write `C/C++` header files for FIR and IIR filters implemented in `C/C++`, using the cascade of second-order section representation for the IIR case. This last module find use in real-time signal processing on embedded systems, but can be used for simulation models in `C/C++`.
Presently the collection of modules contains about 125 functions and classes. The authors/maintainers are working to get more detailed documentation in place.
## Documentation
Documentation is now housed on `readthedocs` which you can get to by clicking the docs badge near the top of this `README`. Example notebooks can be viewed on [GitHub pages](https://mwickert.github.io/scikit-dsp-comm/). In time more notebook postings will be extracted from [Dr. Wickert's Info Center](https://faculty.uccs.edu/mwickert/).
Raw data
{
"_id": null,
"home_page": "https://github.com/mwickert/scikit-dsp-comm",
"name": "scikit-dsp-comm",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": "Mark Wickert",
"author_email": "mwickert@uccs.edu",
"download_url": "https://files.pythonhosted.org/packages/4d/a4/5984e59b32edd68bfb612ddb527bd1553f741d6503a9320dc4bbec9d6364/scikit_dsp_comm-2.1.0.tar.gz",
"platform": null,
"description": "\n\n# scikit-dsp-comm\n\n[](https://pypi.python.org/pypi/scikit-dsp-comm)\n[](https://anaconda.org/conda-forge/scikit-dsp-comm)\n[](http://scikit-dsp-comm.readthedocs.io/en/latest/?badge=latest)\n\n## Background\n\n The origin of this package comes from the writing the book Signals and Systems for Dummies, published by Wiley in 2013. The original module for this book is named `ssd.py`. In `scikit-dsp-comm` this module is renamed to `sigsys.py` to better reflect the fact that signal processing and communications theory is founded in signals and systems, a traditional subject in electrical engineering curricula.\n\n## Package High Level Overview\n\nThis package is a collection of functions and classes to support signal processing and communications theory teaching and research. The foundation for this package is `scipy.signal`. The code in particular currently requires Python `>=3.7x`.\n\n\n**There are presently ten modules that make up scikit-dsp-comm:**\n\n1. `sigsys.py` for basic signals and systems functions both continuous-time and discrete-time, including graphical display tools such as pole-zero plots, up-sampling and down-sampling.\n\n2. `digitalcomm.py` for digital modulation theory components, including asynchronous resampling and variable time delay functions, both useful in advanced modem testing.\n\n3. `synchronization.py` which contains phase-locked loop simulation functions and functions for carrier and phase synchronization of digital communications waveforms.\n\n4. `fec_conv.py` for the generation rate one-half and one-third convolutional codes and soft decision Viterbi algorithm decoding, including soft and hard decisions, trellis and trellis-traceback display functions, and puncturing.\n\n5. `fir_design_helper.py` which for easy design of lowpass, highpass, bandpass, and bandstop filters using the Kaiser window and equal-ripple designs, also includes a list plotting function for easily comparing magnitude, phase, and group delay frequency responses.\n\n6. `iir_design_helper.py` which for easy design of lowpass, highpass, bandpass, and bandstop filters using scipy.signal Butterworth, Chebyshev I and II, and elliptical designs, including the use of the cascade of second-order sections (SOS) topology from scipy.signal, also includes a list plotting function for easily comparing of magnitude, phase, and group delay frequency responses.\n\n7. `multirate.py` that encapsulate digital filters into objects for filtering, interpolation by an integer factor, and decimation by an integer factor.\n\n8. `coeff2header.py` write `C/C++` header files for FIR and IIR filters implemented in `C/C++`, using the cascade of second-order section representation for the IIR case. This last module find use in real-time signal processing on embedded systems, but can be used for simulation models in `C/C++`.\n\nPresently the collection of modules contains about 125 functions and classes. The authors/maintainers are working to get more detailed documentation in place.\n\n\n## Documentation\nDocumentation is now housed on `readthedocs` which you can get to by clicking the docs badge near the top of this `README`. Example notebooks can be viewed on [GitHub pages](https://mwickert.github.io/scikit-dsp-comm/). In time more notebook postings will be extracted from [Dr. Wickert's Info Center](https://faculty.uccs.edu/mwickert/).\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "DSP and Comm package.",
"version": "2.1.0",
"project_urls": {
"Homepage": "https://github.com/mwickert/scikit-dsp-comm"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "bd6ccd6d6074c83bb9e65c0c21549af070734d6369ebae449458d46dfd823701",
"md5": "1e44915bd87328911dbf84f56e0077d8",
"sha256": "7f9fb24f4b388e26722a0c6df7e0433a53f9eb0fa413d5e7136e46a2b7e90700"
},
"downloads": -1,
"filename": "scikit_dsp_comm-2.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1e44915bd87328911dbf84f56e0077d8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 99015,
"upload_time": "2025-07-11T17:29:34",
"upload_time_iso_8601": "2025-07-11T17:29:34.580214Z",
"url": "https://files.pythonhosted.org/packages/bd/6c/cd6d6074c83bb9e65c0c21549af070734d6369ebae449458d46dfd823701/scikit_dsp_comm-2.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4da45984e59b32edd68bfb612ddb527bd1553f741d6503a9320dc4bbec9d6364",
"md5": "9e6cb00bc86211bb3ef3fce275862fbe",
"sha256": "98145060e99517ca130fe9229f60407c37aa2af4b97199d9b3bd5f68320a1433"
},
"downloads": -1,
"filename": "scikit_dsp_comm-2.1.0.tar.gz",
"has_sig": false,
"md5_digest": "9e6cb00bc86211bb3ef3fce275862fbe",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 132710,
"upload_time": "2025-07-11T17:29:35",
"upload_time_iso_8601": "2025-07-11T17:29:35.843321Z",
"url": "https://files.pythonhosted.org/packages/4d/a4/5984e59b32edd68bfb612ddb527bd1553f741d6503a9320dc4bbec9d6364/scikit_dsp_comm-2.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-11 17:29:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mwickert",
"github_project": "scikit-dsp-comm",
"travis_ci": true,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "numpy",
"specs": [
[
">=",
"1.20.0"
]
]
},
{
"name": "matplotlib",
"specs": [
[
">=",
"3.0.0"
]
]
},
{
"name": "scipy",
"specs": [
[
">=",
"1.1.0"
]
]
}
],
"tox": true,
"lcname": "scikit-dsp-comm"
}