'filter a timeseries with the ARMA filter
padding with zero is missing, in example I needed the padding to get
initial conditions identical to direct filter
Initial filtered observations differ from filter2 and signal.lfilter, but
at end they are the same.
See Also
tsa.filters.fftconvolve'

def filter(self, x):

    n = x.shape[0]
    if (n == self.fftarma):
        fftarma = self.fftarma
    else:
        fftarma = (self.fftma(n) / self.fftar(n))
    tmpfft = (fftarma * fft.fft(x))
    return fft.ifft(tmpfft)
