I am reading a paper [1] and saw something confusing to me.
Is a covariance matrix full rank?
Let $\textbf{s}(t)$ be a $d\times1$ complex-valued column vector containing signals from $d$ different sources, i.e.,
$\textbf{s}(t)=\begin{bmatrix}s_1(t) & s_2(t) & \cdots & s_d(t)\end{bmatrix}^T$
And a $d \times d$ covariance matrix $\textbf{S}$ can be expressed as
$\textbf{S}=E\left[\textbf{s}(t)\textbf{s}^*(t)\right]$,
where ${}^*$ is a conjugate transpose operator.
Then the authors claim that $rank(\textbf{S})=d$
However, when I quickly check with a random column vector (via MATLAB), e.g.,
$ s= \begin{bmatrix} 0.6324 + 0.5469i \\ 0.0975 + 0.9575i \\ 0.2785 + 0.9649i \\ \end{bmatrix} $
then $\textbf{S}$:
$ \textbf{S}= \begin{bmatrix} 0.6990 - 0.0000i & 0.5853 - 0.5521i & 0.7038 - 0.4579i \\ 0.5853 + 0.5521i & 0.9263 - 0.0000i & 0.9511 + 0.1725i \\ 0.7038 + 0.4579i & 0.9511 - 0.1725i & 1.0086 + 0.0000i \\ \end{bmatrix} $
and MATLAB said its $rank(\textbf{S})$ is 1.
Am I missing something or understanding the paper wrong?
Reference
[1] R. Roy, A. Paulraj, and T. Kailath, “Estimation of Signal Parameters via Rotational Invariance Techniques - ESPRIT,” in Military Communications Conference - Communications-Computers: Teamed for the 90’s, 1986. MILCOM 1986. IEEE, 1986, vol. 3, p. 41.6.1-41.6.5.