-
thanks for reading, i'm very new to this space so my question may not even make sense ... i don't understand why I can't use an NTRIP client from a purely software service that i run in the cloud with something like it seems like NTRIP is always and only being used by some IoT device or similar hardware to correct GNSS position, never from purely a software service unless for testing purposes like i think i'm missing something pretty basic here. i'm assuming this setup is possible. can someone help set me straight?
i also recall reading something about the quality of location correction information degrading over time but i'm interested in 1 m, not 1 cm resolution, for the mobile phone in the pocket of a walking person so even if i only do this round trip correction once every 30-60 seconds, it seems i should be able to correct the walker's position given how simple my mental model seems, and yet I find no one is doing it this way (always with dedicated GNSS hardware receiving the correction information) i have to assume i'm fundamentally misunderstanding something about this entire NTRIP infrastructure thanks in advance, any pointers would be much appreciated again, i think the goal here is easily stated: "i want to correct mobile position on consumer hardware (iOS, Android, etc) using NTRIP" |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 4 replies
-
Hi @amgando This is beyond the scope of this Bear in mind that NTRIP is a localised RTK correction service which essentially enhances location accuracy by compensating for errors arising from local atmospheric (particularly ionospheric) distortions. The NTRIP correction data is generally only valid within a 30km radius of your location. So any cloud-based NTRIP solution you employed would need to track your mobile device's rough location and automatically select the most appropriate local NTRIP service (some third-party NTRIP service providers can do this automatically). For the solution you describe to work, you would need to:
Note that there are plenty of proprietary NTRIP clients available for IOS or Android platforms - just do a search for 'NTRIP' on the Apple App Store or Google Play Store. However, these are generally designed to work with specialist RTK-compatible GNSS receivers that connect to the mobile device via Bluetooth or USB. They don't generally work with the device's built-in GNSS receiver. Or you can buy a specialised portable device that is designed for high-resolution digital surveying, but these typically cost upwards of $1000. Hope this helps |
Beta Was this translation helpful? Give feedback.
-
No, there's a fundamental misunderstanding here. The RTCM3 data sent by an NTRIP caster contains, among other things, the observable 'phase range' and 'range rate' of the GNSS carrier signal(s). By knowing this, you can apply a mathematical algorithm to calculate a more accurate 'pseudorange' (the distance between the satellite and receiver) - in RTK terms this is described as resolving the 'integer ambiguity search problem'. Once you have this, you can then apply a standard 'multilateration' algorithm to calculate the exact receiver (or strictly antenna) position to cm level accuracy. But - to be clear - neither the NTRIP client nor my
There's nothing stopping you implementing the RTK calculations in your own code (this is what libraries like RTKLIB do) but to do this you would need to have a solid understanding of the proprietary RTCM protocol and the maths pertaining to RTK calculations. This is not for the faint-hearted :-) Hope this makes sense. The bottom line is, consumer mobile devices are not designed to provide cm level location accuracy on their own. |
Beta Was this translation helpful? Give feedback.
-
I avoid the term "RTCM correction data" when talking about RTK. The data typically in RTCM2, typically for "differential GPS", is in fact corrections: a pseudorange error and a pseudorange rate error (and time of validity). Those are used to adjust observed pseudoranges, and essentially all GPS receivers accept and process them. RTK is different. The data you get is more properly (IMHO!) called "reference data" and is the raw phase observable from a reference station. That needs RTK processing, which is either proprietary software in a chipset (higher-end ublox) or RTKLIB. I object to calling RTK reference data "corrections" because there is no process where anything observed is adjusted by them. (And this is all off topic for this library as I understand it.) |
Beta Was this translation helpful? Give feedback.
-
omg, thank you! yes, clearly, way off topic, i see that now |
Beta Was this translation helpful? Give feedback.
-
RTKLIB is software. This processing is all software. It's just that it's usually proprietary software running in a GNSS receiver module. For RTK, "the decoding of RTCM and applying corrections to the (lat, lng, alt) tuple." is fundamentally confused. These are not "corrections". They are reference data that is used to find a solution to a vast number of equations. I recommend seeking out books/papers about carrier phase processing, and the process of resolving the integer abiguities. Only when you understand that for static processing (e.g. 24h of data in one place) can you move on to understanding RTK. This is why I object to calling this data "corrections". I first learned this in a graduate class using an earlier version of this textbook: https://onlinelibrary.wiley.com/doi/book/10.1002/9781119018612 Beware that it presumes an understanding of linear algebra. Another book I found useful is https://math.mit.edu/~gs/books/gps.html |
Beta Was this translation helpful? Give feedback.
No, there's a fundamental misunderstanding here. The RTCM3 data sent by an NTRIP caster contains, among other things, the observable 'phase range' and 'range rate' of the GNSS carrier signal(s). By knowing this, you can apply a mathematica…