def _proj_sub_SSP(n, N, sublen=3):
    tot_len = (((2 * sublen) * N) + 1)
    FB = _proj_sub_FourierSSP(n, N, sublen=sublen)
    invW = np.fft.ifft(np.eye(tot_len))
    W = np.fft.fft(np.eye(((2 * sublen) + 1)))
    B = ((invW @ np.fft.ifftshift(FB)) @ W)
    return B.real
def _proj_sub_SSP(n, N, sublen=3):
    tot_len = (((2 * sublen) * N) + 1)
    FB = _proj_sub_FourierSSP(n, N, sublen=sublen)
    invW = np.fft.ifft(np.eye(tot_len))
    W = np.fft.fft(np.eye(((2 * sublen) + 1)))
    B = ((invW @ np.fft.ifftshift(FB)) @ W)
    return B.real