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.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fab3e3f0772d7ae2d8510cae74224b3be095dfab05eb16847442a32a9df5b2d8
|
|
| MD5 |
06b9275ce5aaa14b4b14b8c1fd6356e9
|
|
| BLAKE2b-256 |
c6ee3516c377553f729666d7ff9824eb266c768d81fda551c29049f831efa465
|
Provenance
The following attestation bundles were made for pyfda-0.9.5.tar.gz:
Publisher:
publish_pypi.yml on chipmuenk/pyfda
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyfda-0.9.5.tar.gz -
Subject digest:
fab3e3f0772d7ae2d8510cae74224b3be095dfab05eb16847442a32a9df5b2d8 - Sigstore transparency entry: 157356985
- Sigstore integration time:
-
Permalink:
chipmuenk/pyfda@24104d691dc8116c3f39f0b3da40bff230af4114 -
Branch / Tag:
refs/tags/v0.9.5 - Owner: https://github.com/chipmuenk
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish_pypi.yml@24104d691dc8116c3f39f0b3da40bff230af4114 -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72bcc7d9fa3d39b94758534525f47f3bcb4ff58fab1e1623d0085a6565286ea6
|
|
| MD5 |
201035b232defc67afab1af4b0ece7da
|
|
| BLAKE2b-256 |
bce86fe0fdf6ad87e2a459e3d4b857678a3dcc08a1691f55c18b4d18e94515e8
|
Provenance
The following attestation bundles were made for pyfda-0.9.5-py3-none-any.whl:
Publisher:
publish_pypi.yml on chipmuenk/pyfda
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyfda-0.9.5-py3-none-any.whl -
Subject digest:
72bcc7d9fa3d39b94758534525f47f3bcb4ff58fab1e1623d0085a6565286ea6 - Sigstore transparency entry: 157356986
- Sigstore integration time:
-
Permalink:
chipmuenk/pyfda@24104d691dc8116c3f39f0b3da40bff230af4114 -
Branch / Tag:
refs/tags/v0.9.5 - Owner: https://github.com/chipmuenk
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish_pypi.yml@24104d691dc8116c3f39f0b3da40bff230af4114 -
Trigger Event:
release
-
Statement type: