defstar { name { MUSIC_M } domain { SDF } version { @(#)SDFMUSIC_M.pl 1.18 06 Oct 1996 } author { Mike J. Chen } copyright { Copyright (c) 1993-1996 The Regents of the University of California. All rights reserved. See the file $PTOLEMY/copyright for copyright notice, limitation of liability, and disclaimer of warranty provisions. } location { SDF dsp library } descriptor { This star is used to estimate the frequencies of some specified number of sinusoids in a signal. The output is the eigenspectrum of a signal such that the locations of the peaks of the eigenspectrum correspond to the frequencies of sinusoids in the signal. The input is the right singular vectors in the form generated by the SVD_M star. The MUSIC algorithm is used, where MUSIC stands for "multiple signal classification." } htmldoc { The MUSIC algorithm is a general-purpose algorithm for estimating the presence of sinusoids buried in white noise [1-2]. MUSIC provides high-resolution spectral estimates [3-4] which can be used in source localization in spatial array processing [4-5]. Several derivatives of MUSIC exist such as root-MUSIC [6].
[1] S. Haykin, ed., Advances in Spectrum Analysis and Array Processing, vol. 2, Prentice-Hall: Englewood Cliffs, NJ, 1991.
[2] S. Haykin, Adaptive Filter Theory, Prentice-Hall: Englewood Cliffs, NJ. 1991. 2nd ed.
[3] P. Stoica and A. Nehorai, ``MUSIC, Maximum Likelihood, and Cramer-Rao Bound: Further Results and Comparisons,'' IEEE Trans. on Acoustics, Speech, and Signal Processing, vol. 38, pp. 2140-2150, Dec. 1990.
[4] D. H. Johnson and D. E. Dudgeon, Array Signal Processing, Prentice-Hall: Englewood Cliffs, NJ. 1993.
[5] P. Stoica and B. Soderstrom, ``Statistical Analysis of MUSIC and Subspace Rotation Estimates of Sinusoidal Frequencies,'' IEEE Trans. on Acoustics, Speech, and Signal Processing, vol. 39, pp. 1122-1135, Aug. 1991.
[6]
B. Friedlander and A. J. Weiss,
``Direction Finding Using Spatial Smoothing With Interpolated Arrays,''
IEEE Trans. on Aerospace and Electronic Systems,
vol. 28, no. 2, pp. 574-587, April 1992.
}
input {
name { rsvec }
type { FLOAT_MATRIX_ENV }
desc { Right singular vectors. }
}
output {
name { output }
type { float }
desc { S(w) eigenspectrum points. }
}
defstate {
name { numRows }
type { int }
default { 4 }
desc { The number of rows in the right singular matrix V. }
}
defstate {
name { numCols }
type { int }
default { 4 }
desc { The number of columns in the right singular matrix V. }
}
defstate {
name { numSignals }
type { int }
default { 1 }
desc { The number of unique signals we are trying to locate. }
}
defstate {
name { resolution }
type { int }
default { 256 }
desc { The number of points in the frequency domain. }
}
hinclude {