def f_np(phi, lambd):
    """calculate f(lambda) based on the p order estimated AR models"""
    f = 1. / (np.absolute(1. - sft(phi, lambd)) ** 2)
    return f
def periodogram(X, lambd):
    """calculate the periodogram of a time series"""
    n = X.size
    I = np.absolute(sft(X, lambd)) ** 2 / (2 * np.pi * n)
    I[0] = 0
    return I