Filter (FilterIIR, FilterFIR, FilterSOS)

Classes:

FilterFIR(coefficients, sampling_rate)

Filter object for FIR filters.

FilterIIR(coefficients, sampling_rate)

Filter object for IIR filters.

FilterSOS(coefficients, sampling_rate)

Filter object for IIR filters as second order sections (SOS).

Functions:

extend_sos_coefficients(sos, order)

Extend a set of SOS filter coefficients to match a required filter order by adding sections with coefficients resulting in an ideal frequency response.

class pyfar.classes.filter.FilterFIR(coefficients, sampling_rate)[source]

Bases: pyfar.classes.filter.Filter

Filter object for FIR filters.

Methods:

__init__(coefficients, sampling_rate)

Initialize an finite impulse response (FIR) Filter object.

__init__(coefficients, sampling_rate)[source]

Initialize an finite impulse response (FIR) Filter object.

Parameters
  • coefficients (array, double) – The filter coefficients as an array with dimensions (number of channels, number of filter coefficients)

  • sampling_rate (number) – The sampling rate of the filter in Hz.

  • state (array, optional) – The state of the filter from a priory knowledge.

Returns

The FIR filter object.

Return type

FilterFIR

class pyfar.classes.filter.FilterIIR(coefficients, sampling_rate)[source]

Bases: pyfar.classes.filter.Filter

Filter object for IIR filters. For IIR filters with high orders, second order section IIR filters using FilterSOS should be considered.

Methods:

__init__(coefficients, sampling_rate)

IIR filter Initialize an infinite impulse response (IIR) Filter object.

__init__(coefficients, sampling_rate)[source]

IIR filter Initialize an infinite impulse response (IIR) Filter object.

Parameters
  • coefficients (array, double) – The filter coefficients as an array, with shape (number of channels, number of coefficients in the nominator, number of coefficients in the denominator)

  • sampling_rate (number) – The sampling rate of the filter in Hz.

  • state (array, optional) – The state of the filter from a priory knowledge.

Returns

The IIR filter object.

Return type

FilterIIR

class pyfar.classes.filter.FilterSOS(coefficients, sampling_rate)[source]

Bases: pyfar.classes.filter.Filter

Filter object for IIR filters as second order sections (SOS).

Methods:

__init__(coefficients, sampling_rate)

Initialize a second order sections (SOS) Filter object.

__init__(coefficients, sampling_rate)[source]

Initialize a second order sections (SOS) Filter object.

Parameters
  • coefficients (array, double) – The filter coefficients as an array with dimensions (n_filter_chan, n_sections, 6)

  • sampling_rate (number) – The sampling rate of the filter in Hz.

  • state (array, optional) – The state of the filter from a priory knowledge.

Returns

The SOS filter object.

Return type

FilterSOS

pyfar.classes.filter.extend_sos_coefficients(sos, order)[source]

Extend a set of SOS filter coefficients to match a required filter order by adding sections with coefficients resulting in an ideal frequency response.

Parameters
  • sos (array-like) – The second order section filter coefficients.

  • order (int) – The order to which the coefficients are to be extended.

Returns

sos_ext – The extended second order section coefficients.

Return type

array-like