## 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]