Skip to main content

Design and analyse discrete time DSP filters with a user-friendly GUI tool. Fixpoint filters in time and frequency domain, too.

Project description

pyfda

Python Filter Design Analysis Tool

pyfda is a GUI based tool in Python / Qt for analysing and designing discrete time filters. Fixpoint implementations (for some filter types) can be simulated.

For more info see the Github Repo and the documentation at readthedocs.org.

Screenshot

Prerequisites

  • Python versions: 3.7 ... 3.11
  • All operating systems, no OS specific requirements.
  • Libraries:
    • (Py)Qt5
    • numpy
    • scipy
    • matplotlib: 2.1 or higher

Optional libraries:

  • docutils for rich text in documentation
  • xlwt and / or XlsxWriter for exporting filter coefficients as *.xls(x) files

Installing pyfda

Self-executing archives are available for Windows and OS X at https://github.com/chipmuenk/pyfda/releases which do not require a Python installation. Under Linux, pyfda can be installed as a flatpak.

Otherwise, installation is straight forward: There is only one version of pyfda for all supported operating systems, no compilation is required:

pip

Install from PyPI using

> pip install pyfda

or upgrade using

> pip install pyfda -U

or install locally using

> pip install -e <YOUR_PATH_TO_PYFDA>

where <YOUR_PATH_TO_PYFDA> specifies the path of setup.py without including setup.py. In this case, you need to have a local copy of the pyfda project, preferrably obtained using git and pip install only creates the start script.

setup.py

You could also download the zip file from Github and extract it to a directory of your choice. Install it either to your <python>/Lib/site-packages subdirectory using

> python setup.py install

or just create a link to where you have copied the python source files (for testing / development) using

> python setup.py develop

Starting pyfda

In any case, the start script pyfdax has been created in <python>/Scripts which should be in your path. So, simply start pyfda using

> pyfdax

For development and debugging, you can also run pyfda using

In [1]: %run -m pyfda.pyfdax # IPython or
> python -m pyfda.pyfdax    # plain python interpreter

All individual files from pyfda can be run using e.g.

In [2]: %run -m pyfda.input_widgets.input_pz    # IPython or 
> python -m pyfda.input_widgets.input_pz       # plain python interpreter

Customization

The location of the following two configuration files (copied to user space) can be checked via the tab Files -> About:

  • Logging verbosity can be controlled via the file pyfda_log.conf
  • Widgets and filters can be enabled / disabled via the file pyfda.conf. You can also define one or more user directories containing your own widgets and / or filters.

Layout and some default paths can be customized using the file pyfda/pyfda_rc.py, right now you have to edit that file at its original location.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfda-0.9.5.tar.gz (579.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyfda-0.9.5-py3-none-any.whl (660.9 kB view details)

Uploaded Python 3

File details

Details for the file pyfda-0.9.5.tar.gz.

File metadata

  • Download URL: pyfda-0.9.5.tar.gz
  • Upload date:
  • Size: 579.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pyfda-0.9.5.tar.gz
Algorithm Hash digest
SHA256 fab3e3f0772d7ae2d8510cae74224b3be095dfab05eb16847442a32a9df5b2d8
MD5 06b9275ce5aaa14b4b14b8c1fd6356e9
BLAKE2b-256 c6ee3516c377553f729666d7ff9824eb266c768d81fda551c29049f831efa465

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfda-0.9.5.tar.gz:

Publisher: publish_pypi.yml on chipmuenk/pyfda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfda-0.9.5-py3-none-any.whl.

File metadata

  • Download URL: pyfda-0.9.5-py3-none-any.whl
  • Upload date:
  • Size: 660.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pyfda-0.9.5-py3-none-any.whl
Algorithm Hash digest
SHA256 72bcc7d9fa3d39b94758534525f47f3bcb4ff58fab1e1623d0085a6565286ea6
MD5 201035b232defc67afab1af4b0ece7da
BLAKE2b-256 bce86fe0fdf6ad87e2a459e3d4b857678a3dcc08a1691f55c18b4d18e94515e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfda-0.9.5-py3-none-any.whl:

Publisher: publish_pypi.yml on chipmuenk/pyfda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page