DSPRelated.com
Forums

MuSIC algorithm questions

Started by ai07 January 7, 2011
hi I'm implementing a MUSIC algorithm in MATLAB. My question isn't MATLAB
related but more conceptual. MUSIC=Multiple Signal Classification.

My "set up": 3 users, no multipath, receiver array is a 5 element circular
array with inter-element spacing being equidistant. User1 is the desired
user while user 2 & 3 are MAI (Multiple Access Interference). Also User1's
DOA is [20 0], User2: [70 0]; User 3: [120 0]. delays: 5,8,11
respectively.

My implementation estimates the DOAs perfectly. However these DOAs are not
in any particular order. Then I go on to estimate the delay of the signal.
I do this for each DOA, for each antenna element (using steering vectors)
and work out the correlation coefficients for all possible delays using the
desired user's gold code. 

Now as an example: DOA_estimates= [70 0;20 0;120 0]; and for the delays
with respect to the order of DOA_estimates, I get [2,5,3]. Now I don't care
about DOA_estimate [70 0] and [120 0]. for DOA [20 0] the delay is
correctly estimated at 5. Now my question is How do I relate the
DOA_estimates to delay estimates?

visually its easy to see that [20 0] corresponds to 5 which is the desired
user. and I know the desired user is at [20 0] but the receiver doesn't
know this. all that is known is the desired user's gold code, the received
signal and antenna array. 

I hope i was clear.
Thanks



On Jan 8, 4:45&#4294967295;am, "ai07" <lemonus@n_o_s_p_a_m.gmail.com> wrote:
> hi I'm implementing a MUSIC algorithm in MATLAB. My question isn't MATLAB > related but more conceptual. MUSIC=Multiple Signal Classification. > > My "set up": 3 users, no multipath, receiver array is a 5 element circular > array with inter-element spacing being equidistant. User1 is the desired > user while user 2 & 3 are MAI (Multiple Access Interference). Also User1's > DOA is [20 0], User2: [70 0]; User 3: [120 0]. delays: 5,8,11 > respectively. > > My implementation estimates the DOAs perfectly.
No, it doesn't. It estimates the DoAs with sufficient accuracy than you don't bother with the deviations.
> However these DOAs are not > in any particular order.
Why would they be?
> Then I go on to estimate the delay of the signal. > I do this for each DOA, for each antenna element (using steering vectors) > and work out the correlation coefficients for all possible delays using the > desired user's gold code. > > Now as an example: DOA_estimates= [70 0;20 0;120 0]; and for the delays > with respect to the order of DOA_estimates, I get [2,5,3]. Now I don't care > about DOA_estimate [70 0] and [120 0]. for DOA [20 0] the delay is > correctly estimated at 5. Now my question is How do I relate the > DOA_estimates to delay estimates?
What makes you think that there is a relation between the numbers you compute and the sources? Only one correct delay estimate (however you might have gotten it) out of three is a fluke. How do you know it's not a coincidence that you got that number? What if your scenario changes and you decide that your signal of interest is one of the other two? Don't ask how to relate the delays to any particular source until you compute the correct delays. All of them.
> visually its easy to see that [20 0] corresponds to 5 which is the desired > user. and I know the desired user is at [20 0] but the receiver doesn't > know this.
Exactly. Which is why you need to come up with something that works, even without your prior knowledge of what you want.
> all that is known is the desired user's gold code, the received > signal and antenna array. > > I hope i was clear.
As mud. MUSIC has been around for three decades already, but is in little, if any, practical use. You are well on your way to finding out why. Rune