Filter Types

pyfar.dsp.filter contains different filter types that are briefly introduced in the following. The filters can be used to directly filter a Signal or can return a Filter object described in Filter classes.

High-pass, low-pass, band-pass, and band-stop filters

These are the classic filters that are wrapped from scipy.signal and available from the functions butterworth, bessel, chebyshev1, chebyshev2, and elliptic.

Standard filters contained in pyfar

Linkwitz-Riley cross-over

The function crossover returns Linkwitz-Riley cross-over filters that are often used in loudspeaker design.

Cross-over contained in pyfar

Filter banks

Filter banks are commonly used in audio and acoustics signal processing, pyfar contains the following types of filter banks:

Filter banks contained in pyfar

The corresponding center frequencies are accessible via fractional_octave_frequencies and erb_frequencies.

Parametric equalizer

The high_shelve, low_shelve, bell, and notch filters shown on the left are specific filters for digital audio signal processing and are often used for audio effects and loudspeaker or room compensation. Bell filters manipulate the magnitude response around a center-frequency. Low- and high-shelve filters manipulate the magnitude response below and above a characteristic frequency.

Bell, Shelve, and Notch filter contained in pyfar

The cascaded shelving filters low_shelve_cascade and high_shelve_cascade shown on the right can be used to generate filters with a user definable slope given in dB per octaves within a certain frequency region.

Cascaded Shelve filter contained in pyfar