'this looks bad, maybe with an fftshift'

def _spddirect2(self, n):

    hw = (fft.fft(np.r_[(self.ma[::(-1)], self.ma)], n) / fft.fft(np.r_[(self.ar[::(-1)], self.ar)], n))
    return (hw * hw.conj())
