SciPy

scipy.signal.symiirorder2

scipy.signal.symiirorder2(input, r, omega {, precision}) → output

Implement a smoothing IIR filter with mirror-symmetric boundary conditions using a cascade of second-order sections. The second section uses a reversed sequence. This implements the following transfer function:

                         cs^2
H(z) = ---------------------------------------
       (1 - a2/z - a3/z^2) (1 - a2 z - a3 z^2 )

where:

a2 = (2 r cos omega)
a3 = - r^2
cs = 1 - 2 r cos omega + r^2
Parameters:
input : ndarray

The input signal.

r, omega : scalar

Parameters in the transfer function.

precision :

Specifies the precision for calculating initial conditions of the recursive filter based on mirror-symmetric input.

Returns:
output : ndarray

The filtered signal.