Filter data along onedimension with an IIR or FIR filter.
Filter a data sequence, x, using a digital filter. This works for many fundamental data types (including Object type). The filter is a direct form II transposed implementation of the standard difference equation (see Notes).
Parameters :  b : array_like
a : array_like
x : array_like
axis : int
zi : array_like (optional)


Returns :  y : array
zf : array (optional)

Notes
The filter function is implemented as a direct II transposed structure. This means that the filter implements
a[0]*y[n] = b[0]*x[n] + b[1]*x[n1] + ... + b[nb]*x[nnb]
 a[1]*y[n1]  ...  a[na]*y[nna]
using the following difference equations:
y[m] = b[0]*x[m] + z[0,m1]
z[0,m] = b[1]*x[m] + z[1,m1]  a[1]*y[m]
...
z[n3,m] = b[n2]*x[m] + z[n2,m1]  a[n2]*y[m]
z[n2,m] = b[n1]*x[m]  a[n1]*y[m]
where m is the output sample number and n=max(len(a),len(b)) is the model order.
The rational transfer function describing this filter in the ztransform domain is:
1 nb
b[0] + b[1]z + ... + b[nb] z
Y(z) =  X(z)
1 na
a[0] + a[1]z + ... + a[na] z