pathsim.blocks.rf.filters module

class pathsim.blocks.rf.filters.ButterworthLowpassFilter(Fc, n)[source]

Bases: StateSpace

Direct implementation of a low pass butterworth filter block.

Follows the same structure as the ‘StateSpace’ block in the ‘pathsim.blocks’ module. The numerator and denominator of the filter transfer function are generated and then the transfer function is realized as a state space model.

Parameters:
  • Fc (float) – corner frequency of the filter in [Hz]

  • n (int) – filter order

class pathsim.blocks.rf.filters.ButterworthHighpassFilter(Fc, n)[source]

Bases: StateSpace

Direct implementation of a high pass butterworth filter block.

Follows the same structure as the ‘StateSpace’ block in the ‘pathsim.blocks’ module. The numerator and denominator of the filter transfer function are generated and then the transfer function is realized as a state space model.

Parameters:
  • Fc (float) – corner frequency of the filter in [Hz]

  • n (int) – filter order

class pathsim.blocks.rf.filters.ButterworthBandpassFilter(Fc, n)[source]

Bases: StateSpace

Direct implementation of a bandpass butterworth filter block.

Follows the same structure as the ‘StateSpace’ block in the ‘pathsim.blocks’ module. The numerator and denominator of the filter transfer function are generated and then the transfer function is realized as a state space model.

Parameters:
  • Fc (float) – corner frequency of the filter in [Hz]

  • n (int) – filter order

class pathsim.blocks.rf.filters.ButterworthBandstopFilter(Fc, n)[source]

Bases: StateSpace

Direct implementation of a bandstop butterworth filter block.

Follows the same structure as the ‘StateSpace’ block in the ‘pathsim.blocks’ module. The numerator and denominator of the filter transfer function are generated and then the transfer function is realized as a state space model.

Parameters:
  • Fc (tuple[float], list[float]) – corner frequencies (left, right) of the filter in [Hz]

  • n (int) – filter order

class pathsim.blocks.rf.filters.AllpassFilter(T, n=1)[source]

Bases: StateSpace

Direct implementation of an Allpass filter using Pade approximants. The transfer function of the ideal allpass is

H(s) = exp(-sT) = exp(-sT/2) / exp(sT/2)

where T is the time delay. This implementation uses Pade approximation of the exponential to create a n-th order LTI statespace model that is used for the numerical integration internally.

Parameters:
  • T (float) – time delay of the allpass in [s]

  • n (int) – order of the pade approximation