Files
doa_doppler_est/parts/C-classicalDoa.tex
T
josh a395fbe7de fix(symbol): \arg\max/\arg\min 改用 \argmax/\argmin 算子
preamble 已用 \DeclareMathOperator*{\argmax}{arg\,max} 定义算子,应整体使用
而非 \arg\max(后者下标只落在 max 下、且非整体算子)。全文 12 处统一为
\argmax/\argmin。
2026-06-16 18:00:03 +08:00

972 lines
26 KiB
TeX

\section{常用 DoA 估计方法}
\label{sec:doa_methods}
本附录汇总 MVDR、\gls{music}、\gls{esprit} 及其空时扩展形式,主要用于补充算法背景;综合性的子空间方法回顾可参见~\cite{krimTwoDecadesArray1996,vantreesOptimumArrayProcessing2002}。这里的算法记号服务于经典单阵列或空时阵列模型,不改变正文多星主线中 $\boldsymbol\xi$、$\nu_{\mathrm{ref}}$ 和 $\dot\nu_{\mathrm{ref}}$ 的参数分组。
本附录的空间导向矢量已与正文统一采用 $e^{-j(\cdot)}$ 相位约定;但空时方法中的时间导向矢量 $\mathbf q_k(\nu_k)$ 取无导频加权的纯 Fourier 形式 $[1,e^{j\nu_k},\ldots,e^{j(T-1)\nu_k}]^\Tran$(经典子空间法不假设已知导频),与正文第~\ref{sec:det_doa_doppler_est} 节含已知导频 $s_k(t)$ 的同名 $\mathbf q_k$ 含义不同,仅在本附录局部使用。
\subsection{MVDR Algorithm\texorpdfstring{~\cite{caponHighResolutionFrequencyWavenumberSpectrum1969}}{}}
\label{subsec:mvdr}
Consider a narrowband far-field source model impinging on an $M$-element array. The received signal at snapshot $t$ is given by
%
\begin{equation}
\mathbf{y}_t
=
\sum_{k=1}^{K}
\mathbf{a}(\theta_k) s_k(t)
+
\mathbf{n}_t
=
\mathbf{A}(\boldsymbol{\theta}) \mathbf{s}_t + \mathbf{n}_t,
\qquad t = 1,\dots,T,
\label{eq:mvdr_signal_model}
\end{equation}
%
where $\mathbf{y}_t \in \mathbb{C}^{M \times 1}$ is the received array snapshot, $\mathbf{s}_t \in \mathbb{C}^{K \times 1}$ is the source signal vector, $\mathbf{n}_t \in \mathbb{C}^{M \times 1}$ is the additive noise vector, and $\mathbf{a}(\theta) \in \mathbb{C}^{M \times 1}$ denotes the array steering vector corresponding to angle $\theta$.
For a uniform linear array (ULA), the steering vector can be expressed as
%
\begin{equation}
\mathbf{a}(\theta)
=
\left[
1,\,
e^{-j 2\pi \frac{d}{\lambda_{\mathrm{c}}}\sin\theta},\,
\dots,\,
e^{-j 2\pi \frac{d}{\lambda_{\mathrm{c}}}(M-1)\sin\theta}
\right]^{\Tran},
\label{eq:mvdr_steering_vector}
\end{equation}
%
where $d$ is the inter-element spacing and $\lambda_{\mathrm{c}}$ is the carrier wavelength.
The covariance matrix of the received data is defined as
%
\begin{equation}
\mathbf{R}_y
=
\mathbb{E}\left\{
\mathbf{y}_t \mathbf{y}_t^{\Herm}
\right\}.
\label{eq:mvdr_covariance}
\end{equation}
%
In practice, $\mathbf{R}_y$ is replaced by the sample covariance matrix
%
\begin{equation}
\widehat{\mathbf{R}}_y
=
\frac{1}{T}
\sum_{t=1}^{T}
\mathbf{y}_t \mathbf{y}_t^{\Herm}.
\label{eq:mvdr_sample_covariance}
\end{equation}
For a given look direction $\theta$, the output of a linear beamformer with weight vector $\mathbf{w}(\theta) \in \mathbb{C}^{M \times 1}$ is
%
\begin{equation}
z_t(\theta)
=
\mathbf{w}^{\Herm}(\theta)\mathbf{y}_t.
\label{eq:mvdr_output}
\end{equation}
%
The MVDR beamformer minimizes the output power while maintaining a distortionless response in the look direction. Accordingly, the weight vector is obtained by solving
%
\begin{equation}
\min_{\mathbf{w}(\theta)}
\quad
\mathbf{w}^{\Herm}(\theta)\mathbf{R}_y\mathbf{w}(\theta)
\qquad
\text{s.t.}
\quad
\mathbf{w}^{\Herm}(\theta)\mathbf{a}(\theta)=1.
\label{eq:mvdr_optimization}
\end{equation}
%
Using the method of Lagrange multipliers, the optimal solution is given by
%
\begin{equation}
\mathbf{w}_{\mathrm{MVDR}}(\theta)
=
\frac{
\mathbf{R}_y^{-1}\mathbf{a}(\theta)
}{
\mathbf{a}^{\Herm}(\theta)\mathbf{R}_y^{-1}\mathbf{a}(\theta)
}.
\label{eq:mvdr_weight}
\end{equation}
Substituting \eqref{eq:mvdr_weight} into the beamformer output power yields
%
\begin{equation}
P_{\mathrm{MVDR}}(\theta)
=
\frac{1}{
\mathbf{a}^{\Herm}(\theta)\mathbf{R}_y^{-1}\mathbf{a}(\theta)
}.
\label{eq:mvdr_spectrum}
\end{equation}
%
In practical implementation, the sample covariance matrix is used, leading to
%
\begin{equation}
\widehat{P}_{\mathrm{MVDR}}(\theta)
=
\frac{1}{
\mathbf{a}^{\Herm}(\theta)\widehat{\mathbf{R}}_y^{-1}\mathbf{a}(\theta)
}.
\label{eq:mvdr_sample_spectrum}
\end{equation}
%
The \gls{doa} estimates are then obtained by locating the $K$ dominant peaks of the MVDR spatial spectrum, namely,
%
\begin{equation}
\hat{\theta}_k
=
\argmax_{\theta}
\widehat{P}_{\mathrm{MVDR}}(\theta),
\qquad k=1,\dots,K.
\label{eq:mvdr_estimation}
\end{equation}
The MVDR algorithm adaptively suppresses interference and noise by minimizing the array output power subject to the distortionless constraint, and thus achieves high-resolution spatial spectrum estimation with improved interference rejection capability.
\subsection{MUSIC Algorithm\texorpdfstring{~\cite{schmidtMultipleEmitterLocation1986}}{}}
\label{subsec:music}
Consider the same narrowband far-field array signal model as in \eqref{eq:mvdr_signal_model}. The received signal at snapshot $t$ can be expressed as
%
\begin{equation}
\mathbf{y}_t
=
\sum_{k=1}^{K}
\mathbf{a}(\theta_k) s_k(t)
+
\mathbf{n}_t
=
\mathbf{A}(\boldsymbol{\theta}) \mathbf{s}_t + \mathbf{n}_t,
\qquad t = 1,\dots,T,
\label{eq:music_signal_model}
\end{equation}
%
where $\mathbf{y}_t \in \mathbb{C}^{M \times 1}$ is the received array snapshot, $\mathbf{s}_t = [s_1(t),\dots,s_K(t)]^{\Tran} \in \mathbb{C}^{K \times 1}$ is the source signal vector, $\mathbf{n}_t \in \mathbb{C}^{M \times 1}$ is the additive noise vector, and
%
\begin{equation}
\mathbf{A}(\boldsymbol{\theta})
=
\left[
\mathbf{a}(\theta_1),\dots,\mathbf{a}(\theta_K)
\right]
\in \mathbb{C}^{M \times K}
\label{eq:music_array_manifold}
\end{equation}
%
is the array manifold matrix.
For a uniform linear array (ULA), the steering vector corresponding to the angle $\theta_k$ is given by
%
\begin{equation}
\mathbf{a}(\theta_k)
=
\left[
1,\,
e^{-j 2\pi \frac{d}{\lambda_{\mathrm{c}}}\sin\theta_k},\,
\dots,\,
e^{-j 2\pi \frac{d}{\lambda_{\mathrm{c}}}(M-1)\sin\theta_k}
\right]^{\Tran},
\label{eq:music_steering_vector}
\end{equation}
%
where $d$ denotes the inter-element spacing and $\lambda_{\mathrm{c}}$ is the carrier wavelength.
Assuming that the source signals are mutually uncorrelated and that the noise is spatially white with variance $\sigma$, the array covariance matrix is
%
\begin{equation}
\mathbf{R}_y
=
\mathbb{E}\{\mathbf{y}_t \mathbf{y}_t^{\Herm}\}
=
\mathbf{A}(\boldsymbol{\theta}) \mathbf{R}_s \mathbf{A}^{\Herm}(\boldsymbol{\theta})
+
\sigma \mathbf{I}_M,
\label{eq:music_covariance}
\end{equation}
%
where
%
\begin{equation}
\mathbf{R}_s
=
\mathbb{E}\{\mathbf{s}_t \mathbf{s}_t^{\Herm}\}
\label{eq:music_source_covariance}
\end{equation}
%
is the source covariance matrix.
In practice, $\mathbf{R}_y$ is approximated by the sample covariance matrix
%
\begin{equation}
\widehat{\mathbf{R}}_y
=
\frac{1}{T}
\sum_{t=1}^{T}
\mathbf{y}_t \mathbf{y}_t^{\Herm}.
\label{eq:music_sample_covariance}
\end{equation}
%
By performing eigenvalue decomposition, one obtains
%
\begin{equation}
\widehat{\mathbf{R}}_y
=
\mathbf{U}_s \boldsymbol{\Lambda}_s \mathbf{U}_s^{\Herm}
+
\mathbf{U}_n \boldsymbol{\Lambda}_n \mathbf{U}_n^{\Herm},
\label{eq:music_evd}
\end{equation}
%
where $\mathbf{U}_s \in \mathbb{C}^{M \times K}$ and $\mathbf{U}_n \in \mathbb{C}^{M \times (M-K)}$ denote the signal subspace and the noise subspace, respectively.
Under ideal conditions, the steering vectors associated with the true source directions lie in the signal subspace and are therefore orthogonal to the noise subspace, namely,
%
\begin{equation}
\mathbf{U}_n^{\Herm} \mathbf{a}(\theta_k)
=
\mathbf{0},
\qquad k=1,\dots,K.
\label{eq:music_orthogonality}
\end{equation}
%
Based on this orthogonality property, the \gls{music} pseudospectrum is constructed as
%
\begin{equation}
P_{\mathrm{MUSIC}}(\theta)
=
\frac{1}
{\mathbf{a}^{\Herm}(\theta)\,
\mathbf{U}_n \mathbf{U}_n^{\Herm}\,
\mathbf{a}(\theta)}.
\label{eq:music_spectrum}
\end{equation}
%
The \gls{doa} estimates are then obtained by locating the $K$ dominant peaks of the pseudospectrum, i.e.,
%
\begin{equation}
\hat{\theta}_k
=
\argmax_{\theta}
P_{\mathrm{MUSIC}}(\theta),
\qquad k=1,\dots,K.
\label{eq:music_estimation}
\end{equation}
The \gls{music} algorithm achieves high-resolution \gls{doa} estimation by exploiting the orthogonality between the array steering vectors and the noise subspace, and has been widely used in subspace-based array signal processing.
\subsection{ESPRIT Algorithm\texorpdfstring{~\cite{royESPRITEstimationSignalParameters1989}}{}}
\label{subsec:esprit}
Consider the same narrowband far-field array signal model as in \eqref{eq:mvdr_signal_model}, i.e.,
%
\begin{equation}
\mathbf{y}_t
=
\sum_{k=1}^{K}
\mathbf{a}(\theta_k) s_k(t)
+
\mathbf{n}_t
=
\mathbf{A}(\boldsymbol{\theta}) \mathbf{s}_t + \mathbf{n}_t,
\qquad t = 1,\dots,T,
\label{eq:esprit_signal_model}
\end{equation}
%
where $\mathbf{A}(\boldsymbol{\theta}) = [\mathbf{a}(\theta_1), \dots, \mathbf{a}(\theta_K)] \in \mathbb{C}^{M \times K}$ is the array manifold matrix. For a uniform linear array (ULA), the steering vector is given by
%
\begin{equation}
\mathbf{a}(\theta_k)
=
\left[
1,\,
e^{-j \mu_k},\,
\dots,\,
e^{-j (M-1)\mu_k}
\right]^{\Tran},
\label{eq:esprit_steering_vector}
\end{equation}
%
where
%
\begin{equation}
\mu_k
=
2\pi \frac{d}{\lambda_{\mathrm{c}}} \sin\theta_k,
\label{eq:esprit_spatial_frequency}
\end{equation}
%
with $d$ denoting the inter-element spacing and $\lambda_{\mathrm{c}}$ the carrier wavelength.
The \gls{esprit} algorithm exploits the translational invariance structure of the array. To this end, two maximally overlapped subarrays are constructed from the original \gls{ula}. Define the selection matrices
%
\begin{equation}
\mathbf{J}_1
=
\left[
\mathbf{I}_{M-1} \ \mathbf{0}
\right]
\in \mathbb{C}^{(M-1)\times M},
\qquad
\mathbf{J}_2
=
\left[
\mathbf{0} \ \mathbf{I}_{M-1}
\right]
\in \mathbb{C}^{(M-1)\times M}.
\label{eq:esprit_selection_matrices}
\end{equation}
%
Then the corresponding subarray manifold matrices are
%
\begin{equation}
\mathbf{A}_1 = \mathbf{J}_1 \mathbf{A},
\qquad
\mathbf{A}_2 = \mathbf{J}_2 \mathbf{A}.
\label{eq:esprit_subarray_manifolds}
\end{equation}
%
Due to the shift invariance of the \gls{ula}, $\mathbf{A}_1$ and $\mathbf{A}_2$ satisfy
%
\begin{equation}
\mathbf{A}_2
=
\mathbf{A}_1 \bm{\Phi},
\label{eq:esprit_shift_invariance}
\end{equation}
%
where
%
\begin{equation}
\bm{\Phi}
=
\operatorname{diag}
\left(
e^{-j\mu_1},\dots,e^{-j\mu_K}
\right)
\label{eq:esprit_phi}
\end{equation}
%
is the rotational invariance matrix.
As in subspace-based methods, the sample covariance matrix is first formed as
%
\begin{equation}
\widehat{\mathbf{R}}_y
=
\frac{1}{T}
\sum_{t=1}^{T}
\mathbf{y}_t \mathbf{y}_t^{\Herm}.
\label{eq:esprit_sample_covariance}
\end{equation}
%
By eigenvalue decomposition,
%
\begin{equation}
\widehat{\mathbf{R}}_y
=
\mathbf{U}_s \boldsymbol{\Lambda}_s \mathbf{U}_s^{\Herm}
+
\mathbf{U}_n \boldsymbol{\Lambda}_n \mathbf{U}_n^{\Herm},
\label{eq:esprit_evd}
\end{equation}
%
where $\mathbf{U}_s \in \mathbb{C}^{M \times K}$ denotes the estimated signal subspace. Since the signal subspace spans the same column space as $\mathbf{A}$, there exists a nonsingular matrix $\mathbf{T} \in \mathbb{C}^{K \times K}$ such that
%
\begin{equation}
\mathbf{U}_s = \mathbf{A} \mathbf{T}.
\label{eq:esprit_subspace_relation}
\end{equation}
%
Applying the selection matrices to $\mathbf{U}_s$ yields
%
\begin{equation}
\mathbf{U}_{s,1}
=
\mathbf{J}_1 \mathbf{U}_s,
\qquad
\mathbf{U}_{s,2}
=
\mathbf{J}_2 \mathbf{U}_s.
\label{eq:esprit_subspace_partitions}
\end{equation}
%
Substituting \eqref{eq:esprit_subspace_relation} into \eqref{eq:esprit_subspace_partitions} and using \eqref{eq:esprit_shift_invariance}, one obtains
%
\begin{equation}
\mathbf{U}_{s,2}
=
\mathbf{U}_{s,1}\,
\bm{\Psi},
\label{eq:esprit_invariance_subspace}
\end{equation}
%
where
%
\begin{equation}
\bm{\Psi}
=
\mathbf{T}^{-1} \bm{\Phi} \mathbf{T}.
\label{eq:esprit_psi}
\end{equation}
%
Therefore, $\bm{\Psi}$ is similar to $\bm{\Phi}$ and has the same eigenvalues $\{e^{-j\mu_k}\}_{k=1}^{K}$.
In practice, $\bm{\Psi}$ can be estimated by solving the least-squares problem
%
\begin{equation}
\widehat{\bm{\Psi}}
=
\argmin_{\bm{\Psi}}
\left\|
\mathbf{U}_{s,2} - \mathbf{U}_{s,1}\bm{\Psi}
\right\|_{\mathrm{F}}^2,
\label{eq:esprit_ls_problem}
\end{equation}
%
whose closed-form solution is
%
\begin{equation}
\widehat{\bm{\Psi}}
=
\mathbf{U}_{s,1}^{\dagger}\mathbf{U}_{s,2},
\label{eq:esprit_ls_solution}
\end{equation}
%
where $(\cdot)^{\dagger}$ denotes the Moore--Penrose pseudoinverse.
Let $\hat{\kappa}_k$ denote the $k$th eigenvalue of $\widehat{\bm{\Psi}}$. Then the spatial frequency is estimated as
%
\begin{equation}
\hat{\mu}_k = -\angle(\hat{\kappa}_k),
\qquad k = 1,\dots,K,
\label{eq:esprit_mu_estimate}
\end{equation}
%
where $\angle(\cdot)$ denotes the phase angle of a complex number. Finally, the \gls{doa} estimate is obtained from
%
\begin{equation}
\hat{\theta}_k
=
\arcsin\left(
\frac{\lambda_{\mathrm{c}}}{2\pi d}\hat{\mu}_k
\right),
\qquad k = 1,\dots,K.
\label{eq:esprit_theta_estimate}
\end{equation}
Compared with \gls{music}, the \gls{esprit} algorithm avoids explicit spectral search and directly retrieves the \gls{doa} parameters from the rotational invariance structure of the signal subspace, thereby offering lower computational complexity while maintaining high estimation accuracy.
\subsection{Spatio-Temporal MUSIC Algorithm\texorpdfstring{~\cite{waxSpatioTemporalSpectralAnalysis1984}}{}}
\label{subsec:st_music}
Consider a narrowband far-field source model observed by an $M$-element array over $T$ temporal samples within each data block. Let $\mathbf{Y}_{\ell} \in \mathbb{C}^{M \times T}$ denote the $\ell$th received data block, where $\ell = 1, \dots, L$. For $K$ uncorrelated sources, the received signal can be written as
%
\begin{equation}
\mathbf{Y}_{\ell}
=
\sum_{k=1}^{K}
\zeta_{k,\ell}\,
\mathbf{a}(\theta_k)\,
\mathbf q_k^\Tran(\nu_k)
+
\mathbf{N}_{\ell},
\qquad \ell = 1,\dots,L,
\label{eq:st_music_block_model}
\end{equation}
%
where $\zeta_{k,\ell} \in \mathbb{C}$ is the complex gain of the $k$th source in the $\ell$th block, $\mathbf{a}(\theta_k) \in \mathbb{C}^{M \times 1}$ is the spatial steering vector associated with the direction of arrival (\gls{doa}) $\theta_k$, $\mathbf q_k(\nu_k) \in \mathbb{C}^{T \times 1}$ is the temporal steering vector associated with the normalized angular Doppler $\nu_k$, and $\mathbf{N}_{\ell}$ is the additive noise matrix. For a uniform linear array (ULA), the spatial steering vector is given by
%
\begin{equation}
\mathbf{a}(\theta_k)
=
\left[
1,\,
e^{-j 2\pi \frac{d}{\lambda_{\mathrm{c}}}\sin\theta_k},\,
\dots,\,
e^{-j 2\pi \frac{d}{\lambda_{\mathrm{c}}}(M-1)\sin\theta_k}
\right]^\Tran,
\label{eq:spatial_steering}
\end{equation}
%
where $d$ is the inter-element spacing and $\lambda_{\mathrm{c}}$ is the carrier wavelength. The temporal steering vector is defined as
%
\begin{equation}
\mathbf q_k(\nu_k)
=
\left[
1,\,
e^{j\nu_k},\,
\dots,\,
e^{j(T-1)\nu_k}
\right]^\Tran,
\label{eq:temporal_steering}
\end{equation}
%
where $\nu_k$ denotes the normalized angular Doppler in rad/sample.
By vectorizing \eqref{eq:st_music_block_model}, one obtains
%
\begin{equation}
\mathbf{y}_{\ell}
\triangleq
\vect(\mathbf{Y}_{\ell})
=
\sum_{k=1}^{K}
\zeta_{k,\ell}\,
\mathbf b_{\mathrm{st},k}(\theta_k,\nu_k)
+
\mathbf{n}_{\ell},
\label{eq:vec_model}
\end{equation}
%
where $\mathbf{n}_{\ell} \triangleq \vect(\mathbf{N}_{\ell})$ and
%
\begin{equation}
\mathbf b_{\mathrm{st},k}(\theta_k,\nu_k)
\triangleq
\mathbf q_k(\nu_k) \otimes \mathbf{a}(\theta_k)
\in \mathbb{C}^{MT \times 1}
\label{eq:st_steering_vector}
\end{equation}
%
is the spatio-temporal steering vector, with $\otimes$ denoting the Kronecker product. Hence, the joint angle-Doppler estimation problem can be recast as a standard subspace estimation problem in the augmented spatio-temporal domain.
Assuming that the source signals are mutually uncorrelated and the noise is spatially and temporally white with variance $\sigma$, the covariance matrix of $\mathbf{y}_{\ell}$ is given by
%
\begin{equation}
\mathbf{R}_y
=
\mathbb{E}\{\mathbf{y}_{\ell}\mathbf{y}_{\ell}^\Herm\}
=
\mathbf{B}_{\mathrm{st}}\mathbf{R}_{\zeta}\mathbf{B}_{\mathrm{st}}^\Herm
+
\sigma \mathbf{I}_{MT},
\label{eq:covariance_st}
\end{equation}
%
where
%
\begin{equation}
\mathbf{B}_{\mathrm{st}}
=
\left[
\mathbf b_{\mathrm{st},1}(\theta_1,\nu_1),
\dots,
\mathbf b_{\mathrm{st},K}(\theta_K,\nu_K)
\right]
\in \mathbb{C}^{MT \times K}
\label{eq:Bst_matrix}
\end{equation}
%
and $\mathbf{R}_{\zeta} = \mathbb{E}\{\boldsymbol{\zeta}_{\ell}\boldsymbol{\zeta}_{\ell}^\Herm\}$ is the source covariance matrix, with $\boldsymbol{\zeta}_{\ell} = [\zeta_{1,\ell},\dots,\zeta_{K,\ell}]^\Tran$.
In practice, $\mathbf{R}_y$ is estimated from $L$ data blocks as
%
\begin{equation}
\widehat{\mathbf{R}}_y
=
\frac{1}{L}
\sum_{\ell=1}^{L}
\mathbf{y}_{\ell}\mathbf{y}_{\ell}^\Herm.
\label{eq:sample_covariance}
\end{equation}
%
Performing eigenvalue decomposition yields
%
\begin{equation}
\widehat{\mathbf{R}}_y
=
\mathbf{U}_s \boldsymbol{\Lambda}_s \mathbf{U}_s^\Herm
+
\mathbf{U}_n \boldsymbol{\Lambda}_n \mathbf{U}_n^\Herm,
\label{eq:eig_decomp}
\end{equation}
%
where $\mathbf{U}_s \in \mathbb{C}^{MT \times K}$ and $\mathbf{U}_n \in \mathbb{C}^{MT \times (MT-K)}$ denote the signal and noise subspaces, respectively. Under ideal conditions, each true spatio-temporal steering vector lies in the signal subspace and is therefore orthogonal to the noise subspace, i.e.,
%
\begin{equation}
\mathbf{U}_n^\Herm\mathbf b_{\mathrm{st},k}(\theta_k,\nu_k) = \mathbf{0},
\qquad k=1,\dots,K.
\label{eq:orthogonality_condition}
\end{equation}
%
Based on this orthogonality property, the spatio-temporal \gls{music} pseudospectrum is constructed as
%
\begin{equation}
P_{\mathrm{ST\text{-}MUSIC}}(\theta,\nu)
=
\frac{1}
{\mathbf b_{\mathrm{st}}^\Herm(\theta,\nu)\,
\mathbf{U}_n\mathbf{U}_n^\Herm\,
\mathbf b_{\mathrm{st}}(\theta,\nu)}.
\label{eq:st_music_spectrum}
\end{equation}
%
The joint estimates of \gls{doa} and Doppler are then obtained by searching for the $K$ dominant peaks of \eqref{eq:st_music_spectrum}, namely,
%
\begin{equation}
(\hat{\theta}_k,\hat{\nu}_k)
=
\argmax_{\theta,\nu}
P_{\mathrm{ST\text{-}MUSIC}}(\theta,\nu),
\qquad k=1,\dots,K.
\label{eq:st_music_estimation}
\end{equation}
Compared with conventional \gls{music}, the spatio-temporal \gls{music} algorithm exploits both the spatial array manifold and the temporal Doppler structure, thereby enabling joint angle-Doppler estimation in a unified subspace framework.
\subsection{Spatio-Temporal ESPRIT Algorithm\texorpdfstring{~\cite{royESPRITEstimationSignalParameters1989,waxSpatioTemporalSpectralAnalysis1984}}{}}
\label{subsec:st_esprit}
Consider the same spatio-temporal signal model as in \eqref{eq:st_music_block_model}. For the $\ell$th data block, the received signal matrix is given by
%
\begin{equation}
\mathbf{Y}_{\ell}
=
\sum_{k=1}^{K}
\zeta_{k,\ell}\,
\mathbf{a}(\theta_k)\,
\mathbf q_k^{\Tran}(\nu_k)
+
\mathbf{N}_{\ell},
\qquad \ell = 1,\dots,L,
\label{eq:st_esprit_block_model}
\end{equation}
%
where $\mathbf{a}(\theta_k)\in\mathbb{C}^{M\times 1}$ and $\mathbf q_k(\nu_k)\in\mathbb{C}^{T\times 1}$ denote the spatial and temporal steering vectors, respectively. For a uniform linear array (ULA), the spatial steering vector is
%
\begin{equation}
\mathbf{a}(\theta_k)
=
\left[
1,\,
e^{-j\mu_k},\,
\dots,\,
e^{-j(M-1)\mu_k}
\right]^{\Tran},
\label{eq:st_esprit_spatial_steering}
\end{equation}
%
where
%
\begin{equation}
\mu_k
=
2\pi \frac{d}{\lambda_{\mathrm{c}}}\sin\theta_k,
\label{eq:st_esprit_spatial_freq}
\end{equation}
%
and the temporal steering vector is
%
\begin{equation}
\mathbf q_k(\nu_k)
=
\left[
1,\,
e^{j\nu_k},\,
\dots,\,
e^{j(T-1)\nu_k}
\right]^{\Tran},
\label{eq:st_esprit_temporal_steering}
\end{equation}
%
where $\nu_k$ denotes the normalized angular Doppler in rad/sample.
By vectorizing \eqref{eq:st_esprit_block_model}, one obtains
%
\begin{equation}
\mathbf{y}_{\ell}
\triangleq
\vect(\mathbf{Y}_{\ell})
=
\sum_{k=1}^{K}
\zeta_{k,\ell}\,
\mathbf b_{\mathrm{st},k}(\theta_k,\nu_k)
+
\mathbf{n}_{\ell},
\label{eq:st_esprit_vec_model}
\end{equation}
%
where
%
\begin{equation}
\mathbf b_{\mathrm{st},k}(\theta_k,\nu_k)
=
\mathbf q_k(\nu_k) \otimes \mathbf{a}(\theta_k)
\in \mathbb{C}^{MT\times 1},
\label{eq:st_esprit_st_steering}
\end{equation}
%
and $\mathbf{n}_{\ell}=\vect(\mathbf{N}_{\ell})$. Define the spatio-temporal manifold matrix as
%
\begin{equation}
\mathbf{B}_{\mathrm{st}}
=
\left[
\mathbf b_{\mathrm{st},1}(\theta_1,\nu_1),
\dots,
\mathbf b_{\mathrm{st},K}(\theta_K,\nu_K)
\right]
\in\mathbb{C}^{MT\times K}.
\label{eq:st_esprit_Bst}
\end{equation}
The sample covariance matrix is estimated as
%
\begin{equation}
\widehat{\mathbf{R}}_y
=
\frac{1}{L}
\sum_{\ell=1}^{L}
\mathbf{y}_{\ell}\mathbf{y}_{\ell}^{\Herm}.
\label{eq:st_esprit_sample_covariance}
\end{equation}
%
Performing eigenvalue decomposition yields
%
\begin{equation}
\widehat{\mathbf{R}}_y
=
\mathbf{U}_s \boldsymbol{\Lambda}_s \mathbf{U}_s^{\Herm}
+
\mathbf{U}_n \boldsymbol{\Lambda}_n \mathbf{U}_n^{\Herm},
\label{eq:st_esprit_evd}
\end{equation}
%
where $\mathbf{U}_s\in\mathbb{C}^{MT\times K}$ denotes the estimated signal subspace. Since $\mathbf{U}_s$ and $\mathbf{B}_{\mathrm{st}}$ span the same column space, there exists a nonsingular matrix $\mathbf{T}\in\mathbb{C}^{K\times K}$ such that
%
\begin{equation}
\mathbf{U}_s = \mathbf{B}_{\mathrm{st}}\mathbf{T}.
\label{eq:st_esprit_subspace_relation}
\end{equation}
The spatio-temporal \gls{esprit} algorithm exploits the shift invariance structure in both the spatial and temporal dimensions. First, define the spatial selection matrices
%
\begin{equation}
\mathbf{J}_{s,1}
=
\left[
\mathbf{I}_{M-1}\ \mathbf{0}
\right]
\in\mathbb{C}^{(M-1)\times M},
\qquad
\mathbf{J}_{s,2}
=
\left[
\mathbf{0}\ \mathbf{I}_{M-1}
\right]
\in\mathbb{C}^{(M-1)\times M},
\label{eq:st_esprit_spatial_selection}
\end{equation}
%
and the temporal selection matrices
%
\begin{equation}
\mathbf{J}_{t,1}
=
\left[
\mathbf{I}_{T-1}\ \mathbf{0}
\right]
\in\mathbb{C}^{(T-1)\times T},
\qquad
\mathbf{J}_{t,2}
=
\left[
\mathbf{0}\ \mathbf{I}_{T-1}
\right]
\in\mathbb{C}^{(T-1)\times T}.
\label{eq:st_esprit_temporal_selection}
\end{equation}
Correspondingly, the augmented selection matrices acting on the vectorized spatio-temporal observation are constructed as
%
\begin{equation}
\widetilde{\mathbf{J}}_{s,1}
=
\mathbf{I}_T \otimes \mathbf{J}_{s,1},
\qquad
\widetilde{\mathbf{J}}_{s,2}
=
\mathbf{I}_T \otimes \mathbf{J}_{s,2},
\label{eq:st_esprit_augmented_spatial_selection}
\end{equation}
%
and
%
\begin{equation}
\widetilde{\mathbf{J}}_{t,1}
=
\mathbf{J}_{t,1} \otimes \mathbf{I}_M,
\qquad
\widetilde{\mathbf{J}}_{t,2}
=
\mathbf{J}_{t,2} \otimes \mathbf{I}_M.
\label{eq:st_esprit_augmented_temporal_selection}
\end{equation}
Using the Kronecker product structure in \eqref{eq:st_esprit_st_steering}, the spatio-temporal manifold matrix satisfies the spatial shift invariance relation
%
\begin{equation}
\widetilde{\mathbf{J}}_{s,2}\mathbf{B}_{\mathrm{st}}
=
\widetilde{\mathbf{J}}_{s,1}\mathbf{B}_{\mathrm{st}}\bm{\Phi}_s,
\label{eq:st_esprit_spatial_invariance}
\end{equation}
%
where
%
\begin{equation}
\bm{\Phi}_s
=
\operatorname{diag}
\left(
e^{-j\mu_1},\dots,e^{-j\mu_K}
\right),
\label{eq:st_esprit_Phi_s}
\end{equation}
%
and the temporal shift invariance relation
%
\begin{equation}
\widetilde{\mathbf{J}}_{t,2}\mathbf{B}_{\mathrm{st}}
=
\widetilde{\mathbf{J}}_{t,1}\mathbf{B}_{\mathrm{st}}\bm{\Phi}_t,
\label{eq:st_esprit_temporal_invariance}
\end{equation}
%
where
%
\begin{equation}
\bm{\Phi}_t
=
\operatorname{diag}
\left(
e^{j\nu_1},\dots,e^{j\nu_K}
\right).
\label{eq:st_esprit_Phi_t}
\end{equation}
Applying the same selection operations to the signal subspace $\mathbf{U}_s$ gives
%
\begin{equation}
\mathbf{U}_{s,1}^{(s)}
=
\widetilde{\mathbf{J}}_{s,1}\mathbf{U}_s,
\qquad
\mathbf{U}_{s,2}^{(s)}
=
\widetilde{\mathbf{J}}_{s,2}\mathbf{U}_s,
\label{eq:st_esprit_spatial_subspace_partitions}
\end{equation}
%
and
%
\begin{equation}
\mathbf{U}_{s,1}^{(t)}
=
\widetilde{\mathbf{J}}_{t,1}\mathbf{U}_s,
\qquad
\mathbf{U}_{s,2}^{(t)}
=
\widetilde{\mathbf{J}}_{t,2}\mathbf{U}_s.
\label{eq:st_esprit_temporal_subspace_partitions}
\end{equation}
%
Substituting \eqref{eq:st_esprit_subspace_relation} into \eqref{eq:st_esprit_spatial_subspace_partitions} and \eqref{eq:st_esprit_temporal_subspace_partitions}, and using \eqref{eq:st_esprit_spatial_invariance}--\eqref{eq:st_esprit_temporal_invariance}, one obtains
%
\begin{equation}
\mathbf{U}_{s,2}^{(s)}
=
\mathbf{U}_{s,1}^{(s)} \bm{\Psi}_s,
\label{eq:st_esprit_Psi_s_relation}
\end{equation}
%
with
%
\begin{equation}
\bm{\Psi}_s
=
\mathbf{T}^{-1}\bm{\Phi}_s\mathbf{T},
\label{eq:st_esprit_Psi_s}
\end{equation}
%
and
%
\begin{equation}
\mathbf{U}_{s,2}^{(t)}
=
\mathbf{U}_{s,1}^{(t)} \bm{\Psi}_t,
\label{eq:st_esprit_Psi_t_relation}
\end{equation}
%
with
%
\begin{equation}
\bm{\Psi}_t
=
\mathbf{T}^{-1}\bm{\Phi}_t\mathbf{T}.
\label{eq:st_esprit_Psi_t}
\end{equation}
The matrices $\bm{\Psi}_s$ and $\bm{\Psi}_t$ can be estimated in the least-squares sense as
%
\begin{equation}
\widehat{\bm{\Psi}}_s
=
\left(\mathbf{U}_{s,1}^{(s)}\right)^{\dagger}
\mathbf{U}_{s,2}^{(s)},
\qquad
\widehat{\bm{\Psi}}_t
=
\left(\mathbf{U}_{s,1}^{(t)}\right)^{\dagger}
\mathbf{U}_{s,2}^{(t)},
\label{eq:st_esprit_LS_solution}
\end{equation}
%
where $(\cdot)^{\dagger}$ denotes the Moore--Penrose pseudoinverse. Let $\hat{\kappa}_{s,k}$ and $\hat{\kappa}_{t,k}$ denote the paired eigenvalues of $\widehat{\bm{\Psi}}_s$ and $\widehat{\bm{\Psi}}_t$, respectively. Then the spatial and temporal frequencies are estimated as
%
\begin{equation}
\hat{\mu}_k
=
-\angle(\hat{\kappa}_{s,k}),
\qquad
\hat{\nu}_k
=
\angle(\hat{\kappa}_{t,k}),
\qquad k=1,\dots,K,
\label{eq:st_esprit_mu_nu_estimation}
\end{equation}
%
where $\angle(\cdot)$ denotes the phase angle of a complex number. Finally, the \gls{doa} estimate and, if needed, the corresponding physical Doppler conversion are given by
%
\begin{equation}
\hat{\theta}_k
=
\arcsin\left(
\frac{\lambda_{\mathrm{c}}}{2\pi d}\hat{\mu}_k
\right),
\qquad
\widehat{\nu}^{\mathrm{Hz}}_k
=
\frac{\hat{\nu}_k}{2\pi T_{\mathrm{s}}},
\qquad k=1,\dots,K.
\label{eq:st_esprit_theta_fd_estimation}
\end{equation}
Compared with spatio-temporal \gls{music}, the spatio-temporal \gls{esprit} algorithm avoids two-dimensional spectral search and directly retrieves the \gls{doa} and Doppler parameters from the rotational invariance structure of the spatio-temporal signal subspace, thereby achieving lower computational complexity.
这些经典方法提供了谱搜索和子空间估计的算法背景,但本文多星主线的重点仍是似然建模、参考星参数化和 Fisher 信息分析。因此,附录中的方法可作为实现参考,而不是当前符号体系的定义来源。