pyfda

Python Filter Design Analysis Tool

Features:

  • Design methods: Equiripple, Firwin, Moving Average, Bessel, Butterworth, Elliptic, Chebyshev 1 and 2 (from scipy.signal and custom methods)
  • Second-Order Sections are used in the filter design when available for more robust filter design and analysis
  • Remember all specifications when changing filter design methods
  • Fine-tune manually the filter order and corner frequencies calculated by minimum order algorithms
  • Compare filter designs for a given set of specifications and different design methods
  • Filter coefficients and poles / zeroes can be displayed, edited and quantized in various formats
  • only widgets needed for the currently selected design method are visible
  • enhanced matplotlib NavigationToolbar (nicer icons, additional functions)
  • display help files (own / Python docstrings) as rich text
  • tooltips for all control and entry widgets
  • specify frequencies as absolute values or normalized to sampling or Nyquist frequency
  • specify ripple and attenuations in dB, as voltage or as power ratios
  • enter expressions like exp(-pi/4 * 1j) with the help of the library simpleeval (included in source files)
  • Magnitude response (lin / power / log) with optional display of specification bands, phase and an inset plot
  • Phase response (wrapped / unwrapped)
  • Group delay
  • Pole / Zero plot
  • Impulse response and step response (lin / log)
  • 3D-Plots (|H(f)|, mesh, surface, contour) with optional pole / zero display
  • Filter design files not only contain the actual algorithm but also dictionaries specifying which parameters and standard widgets have to be displayed in the GUI.
  • Special widgets needed by design methods (e.g. for choosing the window type in Firwin) are included in the filter design file, not in the main program
  • Save and load filter designs in pickled and in numpy's NPZ-format
  • Export and import coefficients and poles/zeros as comma-separated values (CSV), in numpy's NPY- and NPZ-formats, in Excel (R) or in Matlab (R) workspace format
  • Export coefficients in FPGA vendor specific formats like Xilinx (R) COE-format

Changes in version 0.7.1

8 months ago
Installed Size~243 MB
Download Size87 MB
Available Architecturesaarch64, x86_64
Installs1,456
LicenseGNU General Public License v3.0 or later

Installs over time

Manual Install

Make sure to follow the setup guide before installing

flatpak install flathub com.github.chipmuenk.pyfda

Run

flatpak run com.github.chipmuenk.pyfda