# ESPRIT signal subspace and rotational invariance

so in ESPRIT[1,2] we have some signal of the form:

$$y[n] = \sum_{k=1}^{K} a_i(k) e^{j\omega_k n} + N[n]$$

where N is noise, then we get the autocovariance matrix

$$R_{yy}=E[y[n]y[n]^*]$$

take the eigen-decomposition

$$\hat{R}_{yy} = U \Lambda U^*$$

and this is broken up into our signal subspace/noise subspace

$$U = [S \; N]$$

ESPRIT really loses me at the next step where it selects the first M and last M columns of the signal subspace:

$$S_1 = [I_{M-1} \; 0]S$$

$$S_2 = [0 \; I_{M-1}]S$$

then states: $$S_1 \phi = S_2$$

not, sure what that statement means.

it then computes $$\phi = (S_2^* S_2)^{-1} S_2^* S_1$$

I'm having a hard time wrapping my head around how selection of the first and last M columns relate to the frequencies embedded within the signal calculated as the eigenvalues of $$\phi$$. The rotational invariance statement $$S_1 \phi = S_2$$ is pretty non-intuitive.