Pseudospectrum using MUSIC algorithm
[
implements the multiple signal classification (MUSIC) algorithm and returns
S
,wo
] = pmusic(x
,p
)S
, the pseudospectrum estimate of the input signal
x
, and a vector wo
of normalized frequencies
(in rad/sample) at which the pseudospectrum is evaluated. You can specify the signal
subspace dimension using the input argument p
.
pmusic(___)
with no output arguments plots the
pseudospectrum in the current figure window.
In the process of estimating the pseudospectrum, pmusic
computes the
noise and signal subspaces from the estimated eigenvectors v_{j
} and eigenvalues λ_{j} of the
signal's correlation matrix. The smallest of these eigenvalues is used in conjunction with the
threshold parameter p(2)
to affect the dimension of the noise subspace in
some cases.
The length n of the eigenvectors computed by pmusic
is the sum of the dimensions of the signal and noise subspaces. This eigenvector length
depends on your input (signal data or correlation matrix) and the syntax you use.
The following table summarizes the dependency of the eigenvector length on the input argument.
Eigenvector Length Depending on Input Data and Syntax
Form of Input Data x  Comments on the Syntax  Length n of Eigenvectors 

Row or column vector 


Row or column vector 


Row or column vector 
 2 × 
lbym matrix  If  m 
mbym nonnegative definite matrix 
 m 
You should specify nwin
> p(1)
or
length(nwin)
> p(1)
if you want
p(2)
> 1
to have any effect.
The multiple signal classification (MUSIC) algorithm estimates the pseudospectrum from a signal or a correlation matrix using Schmidt's eigenspace analysis method [1]. The algorithm performs eigenspace analysis of the signal's correlation matrix to estimate the signal's frequency content. This algorithm is particularly suitable for signals that are the sum of sinusoids with additive white Gaussian noise. The eigenvalues and eigenvectors of the signal's correlation matrix are estimated if you do not supply the correlation matrix.
The MUSIC pseudospectrum estimate is given by
$${P}_{\text{MUSIC}}(f)=\frac{1}{{e}^{H}(f)\left({\displaystyle \sum _{k=p+1}^{N}{\text{v}}_{k}{\text{v}}_{k}^{H}}\right)e(f)}=\frac{1}{{\displaystyle \sum _{k=p+1}^{N}{\text{v}}_{k}^{H}e(f){}^{2}}}$$
where N is the dimension of the eigenvectors and v_{k }is the kth eigenvector of the correlation matrix. The integer p is the dimension of the signal subspace, so the eigenvectors v_{k } used in the sum correspond to the smallest eigenvalues and also span the noise subspace. The vector e(f) consists of complex exponentials, so the inner product
$${v}_{k}^{H}e(f)$$
amounts to a Fourier transform. This is used for computation of the pseudospectrum estimate. The FFT is computed for each v_{k } and then the squared magnitudes are summed.
[1] Marple, S. Lawrence. Digital Spectral Analysis. Englewood Cliffs, NJ: PrenticeHall, 1987, pp. 373–378.
[2] Schmidt, R. O. “Multiple Emitter Location and Signal Parameter Estimation.” IEEE^{®} Transactions on Antennas and Propagation. Vol. AP34, March, 1986, pp. 276–280.
[3] Stoica, Petre, and Randolph L. Moses. Spectral Analysis of Signals. Upper Saddle River, NJ: Prentice Hall, 2005.