def _get_sub_SSP(n, N, sublen=3):
    tot_len = (((2 * sublen) * N) + 1)
    FA = _get_sub_FourierSSP(n, N, sublen=sublen)
    W = np.fft.fft(np.eye(tot_len))
    invW = np.fft.ifft(np.eye(((2 * sublen) + 1)))
    A = ((invW @ np.fft.ifftshift(FA)) @ W)
    return A.real
def _get_sub_SSP(n, N, sublen=3):
    tot_len = (((2 * sublen) * N) + 1)
    FA = _get_sub_FourierSSP(n, N, sublen=sublen)
    W = np.fft.fft(np.eye(tot_len))
    invW = np.fft.ifft(np.eye(((2 * sublen) + 1)))
    A = ((invW @ np.fft.ifftshift(FA)) @ W)
    return A.real