7

I have seen multiple reviews of the MUSIC algorithm for the estimation of DOA. Most of those reviews consider a complex signal input with a complex steering vector. So, how do I implement this algorithm in case I have an array of real signals?

Should I try translating the real signals to complex representation? If yes, how?

A minimal example: $$x_1(t)=\sin(\omega t) + n_1(t)$$ $$x_2(t)=\sin(\omega t + \phi) + n_2(t)$$ $$x_3(t)=\sin(\omega t + 2\phi) + n_3(t)$$ I like finding $\phi$ using the MUSIC algorithm.

Comment:

Following the suggestion of neglecting the imaginary part, the covariance matrix will become a multiplication of the unit matrix, which does not seems to help.

Royi
  • 19,608
  • 4
  • 197
  • 238
Gideon Genadi Kogan
  • 1,156
  • 5
  • 17

1 Answers1

6

The steering vector basically applies the delay according to the spatial location of the Uniform Linear Array (ULA).

The multiplication by the complex exponential basically applies the delay.

The answer to your question is the Hilbert Transform.
You may use it to transform the data into Analytic Signal and then apply the algorithm.

For instance, I took 3 signals as in your question (Different phase) and set them a different angle of arrival.

I calculated the signal on each element of the array and applied MUSIC to get:

enter image description here

As you may see the algorithm found the spatial angle quiet easily (Well, this is a basic simulation).

Applying the same process just without the Hilbert Transform yield:

enter image description here

As one can see while the results are still accurate they are different.
The reason for that is for a different, and interesting on its own, question.

But it shows that there is no issue running the MUSIC algorithm on real signals.

The code is available at my StackExchange Codes Signal Processing Q82918 GitHub Repository (Look at the SignalProcessing\Q82918 folder).

Remark 001: I recommend reading Marcus Miller's answer to the question DOA - 1D Music Algorithm.

Remark 002: Another motivation for using "Real Valued MUSIC" is computation. So there are method that even in the case of a complex signal, the covariance is decomposed into Real Valued matrices in order to make the computation more efficient.

Royi
  • 19,608
  • 4
  • 197
  • 238