MUltiple SIgnal Classification (MUSIC) Algorithm for Array Processing
Contents
1. MUSIC algorithm
The naive beamforming technique, Bartlett beamformer, has a poor resolution although its stability and robustness are good. Schmidt proposed a new beamformer algorithm call multiple signal classification (MUSIC) for addressing the resolution while keeping the stability of beamformer (1986). Here we briefly introduce the MUSIC algorithm and also give some Python codes to show how this technique works.
Assuming a signal $u(t)$ and its Fourier spectrum $U(\omega)$ of a receiver, we have a signal vector of an array composed of $N$ receivers at frequency $\omega$. $$ \vec{u}(\omega) = [U_1(\omega), U_2(\omega), \cdots, U_N(\omega)]^T \tag{1}. $$ Generally, the correlation matrix is given by $$ \bar{C}(\omega) = \frac{1}{N}\vec{u}(\omega) \vec{u}^H(\omega) \tag{2}, $$ in which $H$ denotes the Hermitian transpose operator. The correlation matrix $\bar{C}(\omega)$ is contaminated by noise arising from non-coherent signals or even instruments. The coherence signal is sotred in the correlation matrix. Thus, this matrix includes coherent signal subspace and noise subspace. Let us perform eiegendecomposition of $\bar{C}(\omega)$, resulting in the following decompositio:
$$ \bar{C}(\omega) = \bar{E}(\omega) \bar{\Lambda}(\omega) \bar{E}^{-1}(\omega) \tag{3} $$
with $\bar{E}(\omega)$ composed by $N$ eigenvectors $\vec{e}_i$ of $\bar{C}(\omega)$
$$ \bar{E}(\omega) = [\vec{e}_1, \vec{e}_2, \cdots, \vec{e}_N] \tag{4}. $$
and $\bar{\Lambda}(\omega)$ the diagonal matrix whose diagonal elements are these eigenvalues $\lambda_i$ of $\bar{C}(\omega)$
$$ \bar{\Lambda}(\omega) = diag \{ \lambda_1, \lambda_2, \cdots, \lambda_N \} \tag{5}. $$
The largest eigenvalue and its corresponding indicate the coherent signal (there may be more than one coherent signal), and the left eigenvalues and their eigenvectors are occupied by noise, which means these noise are orthogonal. Here we construct a new matrix using eigenvectors of noise,
$$ \bar{N}_e(\omega) = [\vec{e}_1, \vec{e}_2, \cdots, \vec{e}_{ne}] [\vec{e}_1, \vec{e}_2, \cdots, \vec{e}_{ne}]^H \tag{6}. $$
We change the form of Barlett beamformer
$$ P(\omega) = \vec{a}(\omega) \bar{C}(\omega) \vec{a}^H(\omega) \tag{7} $$
into
$$ P(\omega) =\frac{1}{ \vec{a}(\omega) \bar{N}_e(\omega) \vec{a}^H(\omega) } \tag{8}, $$ with $\vec{a}(\omega)$ denoteing the steering vector $\vec{a}_n=e^{-i\omega \Delta t_n}$. The denominator term of formula $(8)$ will be zero when we project the steering vector onto the noise matrix subspace spanned by eigenvectors of noise. In such cases, $P(\omega)$ will take a very large value, which is a peak case in the function $P(\omega)$.
$\Delta t_n$ is the time delay with a form of
$$ \Delta t_n = \vec{s} \cdot \vec{r}_n \tag{9} $$
for the beamforming array processing and
$$ \Delta t_n = \frac{|\vec{r}_s-\vec{r}_n|}{v} \tag{10} $$ for the matched field processing source location technique.
$\vec{s}=s[-sin\theta, -cos\theta]^T$ and $\vec{r}_n$ are separately the slowness vector of signal incoming from the back-azimuth $\theta$ and position vector of receiver $n$ in formula $(9)$.
$\vec{r}_s$ and $v$ in formula $(10)$ are the source position vector and the propagation speed of signal, respectively.
The MUSIC algorithm is better than the Bartlett beamformer in resolution. The Bartlett beamformer, however, has a better robustness compared with MUSIC. We will show some examples to validate these two algorithms using the following Python codes.
2. Array Response Functions (ARF) of Bartlett and MUSIC Beamformer.
We randomly generate an array of Cartician coordinates with $N$ elements. First we implement the array response functions of the Bartlett and the MUSIC beamformers to check their resolution and robustness.
|
|
Now we compute the ARF of the Barlett and MUSIC to check their resolution and accuracy.
|
|
References
Schmidt, R.O, “Multiple Emitter Location and Signal Parameter Estimation,” IEEE Trans. Antennas Propagation, Vol. AP-34 (March 1986), pp. 276–280.
Author geophydog
LastMod 2023-09-20