My understanding of the selection criteria is as follows: if there are not enough GPS satellites to achieve a lock, but there are enough GLONASS are available, it uses the GLONASS as a backup scheme. If there are enough GPS satellites, it ignores the GLONASS data entirely.
Where do you draw this conclusion from?
fschilder, fair question and I did a bit of digging. I am sure I've read that specific conclusion (or heard it in a video) but can't find that information after a reasonable search now. I could be wrong, but I will lay out my reasoning.
That said, it appears DJI uses the u-blox line of GPS processing chips, as they're popular and well-integrated. The first package that supports GLONASS at all seems to be the u-blox NEO-7 line, and I dug into the technical specifications datasheets for NEO-7 and NEO-8. The datasheet does
not support my statement above that it would ignore GLONASS if satisfied by GPS, but it doesn't deny it either. Further, it has a nice summary of the technical differences in GLONASS:
3.1 GLONASS
GLONASS is a GNSS operated by Russia. It has a number of significant differences when compared to GPS. In most cases u-blox receivers operate in a very similar manner when they are configured to use GLONASS signals instead of GPS. However some aspects of receiver output are likely to be noticeably affected: ...
• Positioning accuracy with GLONASS only satellites may be worse than with only GPS satellites. This is because of reduced availability; the GLONASS constellation has less satellites (at the time of writing, nominally 24 for GLONASS instead of 32 for GPS). Additionally, GLONASS signals have a lower chipping rate which reduces accuracy. ...
• As GLONASS uses a time base aligned directly to UTC, GLONASS receivers are affected by leap seconds, when the UTC time base is occasionally re-calibrated. As a consequence, users should be prepared for the receiver to restart itself if GLONASS signals are being tracked when a leap second occurs. GPS receivers are unaffected by leap second changes as their time base (GPS time) is independent of leap seconds. GPS satellites periodically transmit information that allows the receiver to calculate UTC.
https://www.u-blox.com/sites/defaul...verDescrProtSpec_(GPS.G7-SW-12001)_Public.pdf
As I work with embedded systems quite a bit, I understand that when there are two sensors or two data sources, there has to be a strategy to select which input to trust, and which input to combine, and what math would be used to combine, those signals from different sources. Everything I have seen in the datasheets shows that you would calculate a position from GPS, and you would calculate a separate position from GLONASS, given their distinct timing methodologies. Given that GLONASS is seen as (1) less accurate than GPS, and (2) has to account for leap seconds in UTC which are informed from the GPS system, we can see that it is currently a second-tier less-desirable source of information. The datasheets for the u-blox NEO-7 and NEO-8 chipsets
do not specify the selection strategy between GPS and GLONASS. They likely see this as an uninteresting internal detail, or a competitive secret.
So at this time I can't find the DJI's preference for GPS over GLONASS specifically in the datasheets. It stands to reason (my reasoning at least) but it's not backed up by any evidence I could find this morning.