scikit-dsp-comm


Namescikit-dsp-comm JSON
Version 2.1.0 PyPI version JSON
download
home_pagehttps://github.com/mwickert/scikit-dsp-comm
SummaryDSP and Comm package.
upload_time2025-07-11 17:29:35
maintainerNone
docs_urlNone
authorMark Wickert
requires_python>=3.7
licenseBSD
keywords
VCS
bugtrack_url
requirements numpy matplotlib scipy
Travis-CI
coveralls test coverage No coveralls.
            ![Logo](logo.png)

# scikit-dsp-comm

[![pypi](https://img.shields.io/pypi/v/scikit-dsp-comm.svg)](https://pypi.python.org/pypi/scikit-dsp-comm)
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/scikit-dsp-comm/badges/version.svg)](https://anaconda.org/conda-forge/scikit-dsp-comm)
[![Docs](https://readthedocs.org/projects/scikit-dsp-comm/badge/?version=latest)](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": "![Logo](logo.png)\n\n# scikit-dsp-comm\n\n[![pypi](https://img.shields.io/pypi/v/scikit-dsp-comm.svg)](https://pypi.python.org/pypi/scikit-dsp-comm)\n[![Anaconda-Server Badge](https://anaconda.org/conda-forge/scikit-dsp-comm/badges/version.svg)](https://anaconda.org/conda-forge/scikit-dsp-comm)\n[![Docs](https://readthedocs.org/projects/scikit-dsp-comm/badge/?version=latest)](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"
}
        
Elapsed time: 0.96057s