ULA output diretion is MUSIC and RMUSIC, Perfomarnce of algorithms

Hello again, I am using linear array in my setup and I set forward ULA output direction. When I use MUSIC algorithm I don’t take any estimation ins the backward direction. However, when I use RMUSIC I get more than enough estimations to the backward direction. Any ideas why this happens? How the filter for the output direction works?

Moreover, I have observed that MUSIC has fewer wrong estimations (I mean totally wrong not just some degrees offset) compared to RMUSIC but when RMUSIC has a good estimation is better than MUSIC i.e the estimated degree is nearer to the true degree. Do you have made such an observation too?

I believe that the Root MUSIC algorithm might not be set up to work correctly for ULA and the direction blocking code. Please remember Root MUSIC is an algorithm added by a third party contributor to the open source code, and we accepted the PR for academic purposes at this time. We still highly recommend using standard MUSIC.

It will be difficult to compare MUSIC and Root MUSIC in practice without some sort of fully multipath isolated anechoic chamber.

1 Like

I think that the problem is here. The returned value is not filtered by the ula_direction filter when RMUSIC is used.

Do you have any idea what is the performance of MUSIC? For my array setup I have calculated that the theoretical DoA error can be 4 degrees. I did that using the spreadsheet for my ULA setup. However, I get accuracy of almost 20 degrees. Any ideas on how can I improve that? RMUSIC has better accuracy when is correct but has many false estimations

I don’t think it’s really possible to specify the accuracy of an algorithm. It matters too much on the environment and setup details. If everything was perfect like in simulation, the lobe accuracy would be 100% for any array with more than 4 elements.

But of course this isn’t possible due to minor differences between antennas, cables and innacurracies in the array setup, and multipath from the environment.

If you’re interested, you could try to get this simulator working which will show you what happens with a different number of elements, different signal SNRs, and different multipath signals GitHub - petotamas/DoA_simulator: Graphical RF direction finding simulator

It doesn’t have Root-MUSIC implemented but I think it wouldn’t be difficult for you to add that in just by copying the Root-MUSIC algorithm over from the Kraken code.

1 Like

BTW I just did a fork of the code and fixed an int conversion bug which must have only showed up in newer Python3 versions.

1 Like