TransferFunctionFilter

The TransferFunctionFilter calculates the output for N one-dimensional digital filters. Where the input, x, is a (N x 1) vector of inputs and the output, y, is a (N x 1) vector of outputs. The filter is described by vectors a and b and implemented using the standard difference equation:

  • a[0]*y[n] = b[0]*x[n] + b[1]*x[n-1] + ... + b[n_{b}]*x[n-n_{b}] - a[1]*y[n-1] - ... - a[n_{a}]*y[n-n_{a}]

If a[0] is not equal to 1, the coefficients are normalised by a[0].

ROS API

Parameters

~name (string, default: Required)
  • Name of the filter
~type () (string, default: Required)
  • The filter's typename as declared in it's pluginlib registration: MultiChannelTransferFunctionFilterDouble or TransferFunctionFilterDouble
~params/a (double, default: Required)
  • A vector of coefficients
~params/b (double, default: Required)
  • A vector of coefficients

Example Configuration:

LowPass:
  name: my_filter
  type: MultiChannelTransferFunctionFilterDouble
  params:
    a: [1.0, -0.509525449494429]
    b: [0.245237275252786, 0.245237275252786]

Wiki: filters/TransferFunctionFilter (last edited 2021-06-17 06:41:00 by TullyFoote)