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:

$$ 
\begin{tabular}{c c}
 $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}]$
\end{tabular}
$$

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 2010-06-10 01:44:43 by VijayPradeep)