Number of targets can be detected

Hello, Nice job with the DoA. I have a question: Given that the system has 5 receive antennas, what is the maximum number of different targets the kraken SDR can detect at the same time?
For example the MUSIC algorithm can detect N-1 targets with N to be the numbers of antennas, however in this line I can see that the MUSIC is looking for 1 target.

Am I thinking something wrong?

Thanks

1 Like

Wait, it would be possible to track more than 1 source on a frequency? I just assumed that would make KrakenRF go crazy and get confused if I tried tracking a frequency with multiple sources.

The recent update added the num sources option in the GUI. By default it is set to 1.

So if you know for sure that there are multiple unique sources on the same frequency you can try it out.

But if you increase num sources beyond what is actually there, the algorithm may not work as expected.

You are correct that in theory MUSIC can differentiate between N-1 sources, where N is the number of elements in the array.

Thank you. Another question. How kraken SDR operates if I set the number of sources to something greater than one and greater than N (i.e 6 ) in the two following cases

  • The sources (targets) are indeed >=6
  • The sources (targets) are <6

Also, In theory we can have multiple signals in the same frequency, if I set the number of sources to 1 will the system detect the DoA of strongest one?

Thanks

If you set it greater than N-1, the behaviour will probably totally fall apart as then it will produce false peaks.

If there are multiple true non-correlated sources, and you set the source to 1, or lower than the number of sources, then depending on how much of each signal appeared in the collected frame of data for processing, it could lock to either signal, with a preference to the stronger one, but with some skew introduced by the other signals deponing on how much of a mix of signals there are in that frame, and their relative strengths.

1 Like

This is really cool, I remember vaguely that there was supposed to be a feature to track multiple signals on differing frequencies as long as they were within the bandwidth? Is that feature ready yet? I have a few fox sources that will be simultaneously transmitting only a few hundred khz apart.

Yep that feature has been out for a while. It’s the ability in the GUI to add multiple VFOs.

The Android app will collect all the data, and you can use the button just above the start navigation button to choose between the different frequencies you’ve collected data for.

1 Like

Is the feature to add multiple VFOs in the Android app only or is that supported natively by the KrakenSDR web GUI? I see the VFO selection in the settings.json file, but wasn’t sure how its working under the hood.

I am very interested in how the algorithm works when num_sources > 1. If I have two emitters on the same frequency, how does that differ from the collection of data with multiple VFOs, both from an application use standpoint and a ‘under the hood’ standpoint? Are both use cases supported by the KrakenSDR?

The core software implements multi-VFO, and then the Android App software supports collecting data from all the active VFOs. You need to set “Output VFO: All” in the web GUI settings. I actually just uploaded a video demonstrating this here KrakenSDR: Finding Multiple GSM Base Station Transmit Towers with the Multi-VFO Feature - YouTube

Num sources is only for when you expect there to be more than one source on a single frequency/channel. It will give you more peaks on the a single DOA display, with each peak ideally pointing to a source.

Multi-VFO is used when you have separate channels that are not overlapping. With multi-vfo you get separate DOA data for each VFO.

1 Like

Carl, you’re a rock star. Thanks for the info

1 Like

I can not understand how by setting the signal_dimension=self.DOA_expected_num_of_sources the MUSIC algorithm detects more than one targets in the same frequency by estimating more than one peaks. As I can see here only one peak (the maximum) is decided.

Also, can I have better resolution than 1 degree in the MUSIC algorithm? As I can understand the hardware it is difficult to support it. If yes, what I have to change?

Thank you

Carl, Thanks for the cool demo video. Very impressive! Great work by you and the Kraken team.

That line is only for ROOT-MUSIC, which is a different algorithm to MUSIC. ROOT-MUSIC only has a single peak. MUSIC however has data for each degree. ROO

Most of the time MUSIC is the best algorithm to use.

It would be possible to modify the code to support better than 1 deg resolution, but it would break operation with the App and web mapper. And you wouldn’t really gain much. With just 5-elements there isn’t going to be any improvement.

Yes. I don’t believe there is reason for accuracy better than 1 degree given that the hardware has limitations to more than 3 degrees (due to antenna setup). For the multiple peaks detection I see that for all the algorithms except RMUSIC we get the maximum peak as shown in aforementioned line. Yes, for MUSIC we have the pseudospectrum where we can find the second or the third peak but for now only the biggest one is forwarded as decided theta

For MUSIC the app and web mapper actually plots and uses the entire pseudospectrum for generating the heatmap. It does not simply reduce down to a single peak. So in theory if there are two defined sources and number of targets is set to 2, the two peaks should result in two hotspots on the heatmap.

1 Like

@krakenrf_carl I have a question I was hoping you could explain. If I have one active VFO set to 450 MHZ and I know I have two transmitters (in different locations), so I set the number of sources to 2. In this scenario I should see 2 bearing lines on the doa map, right? Will they be different colors? Will I be able to distinguish in the logs?
Now In a different scenario, I have two active VFOS, one at 450 MHZ and the other at 452 MHZ. I likewise have two transmitters in different locations transmitting 450 and 452 MHZ respectively. In this scenario will I also see two bearing lines? Could you clarify how all this works?

I’ve gone deep into the code but can’t seem to find the piece of code that would enable more than bearing line to be drawn.

Thanks so much

The number of sources feature is used to tweak the MUSIC algorithm for the expected number of transmitters on a single frequency channel. This is for single frequency networks, or signals where there is a jammer right on top of another constant signal for example. It won’t give you two individual bearings, but rather it will help the polar 360 plot differentiate between the two signals, by giving you two peaks. This way you would hopefully end up with two hotspots in the mapper grid.

If you have two active VFOs at two distinct frequencies, then yes, you can get two individual bearings. And in this case you should leave number of sources to 1.

1 Like

Is there any way to ammend the code the change it so that when I have two transmitters both transmitting at 450 MHZ, than I’ll get two bearing lines on the polar map (in the localhost app, I am not using the kraken mobile app etc.)?

At the moment you can just look at the two peaks. Peak detection can be a little tricky so adding a second bearing line could be difficult, it may sometimes get the wrong peak.