Ultimate GPS Breakout resolution...

Breakout boards, sensors, other Adafruit kits, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
phineasphred
 
Posts: 15
Joined: Mon Mar 14, 2016 12:05 pm

Ultimate GPS Breakout resolution...

Post by phineasphred »

I'm trying to find out what the resolution of the PA1616S GPS receiver is and don't see it listed in any datasheet. It shows the accuracy of 1.8m but I'm looking for the resolution. In other words what's the minimum distance between measurements? I'm thinking it must be somewhere around 30cm or less?

If you take the receiver out and display the output you'll see that the numbers change WAY more than every 1.8m.

The reason I'm looking for this is my application needs a delta position value more than an accurate position. Especially for altitude. I'm more interested in the rate of change and how much that change is rather than the actual position.

User avatar
barshatriplee
 
Posts: 200
Joined: Wed Mar 22, 2023 10:11 am

Re: Ultimate GPS Breakout resolution...

Post by barshatriplee »

https://cdn-learn.adafruit.com/download ... te-gps.pdf
This doc says "It's not a high-resolution logger - it only logs once every 15 seconds
when there is a fix - but for 99% of projects that want to track location, this can be a
great low power way to log data - no SD card or other EEPROM required! It can store
up to 16 hours of data."

By the way, you can take a look at Quectel L20 to check if it fulfils your requirement.
https://www.theengineeringprojects.com/ ... -isis.html

User avatar
phineasphred
 
Posts: 15
Joined: Mon Mar 14, 2016 12:05 pm

Re: Ultimate GPS Breakout resolution...

Post by phineasphred »

Thank you for your response. But maybe I'm not being clear. I'm not looking for the logging capability.

When reading from the gps you get a position. This can be read every 100msecs or 10hz. The accuracy of the module is 3m. That means that the position you get can be within a 3m distance from the true actual position.

If you watch the output of the module while you're moving you will see that the position changes as you're moving. This change is much, much smaller than the 3m accuracy amount. That's the resolution of the module. The minimum distance between readings that will show a change.

That's what I'm trying to find out.

User avatar
dlleigh
 
Posts: 225
Joined: Wed Jan 30, 2013 8:08 pm

Re: Ultimate GPS Breakout resolution...

Post by dlleigh »

The displayed position will also change if the receiver is not moving at all. GPS receivers do not measure their position relative to the Earth, they measure it relative to the satellites. The positions of the satellites are fairly well known, with respect to the Earth, but not to three meters precision (at least not at the time your are receiving their signals). There are other error sources that have errors much larger than three meters.

The only way you see three meters of precision is because the receiver is taking advantage of correction signals (Satellite Based Augmentation Service or SBAS) that let your receiver subtract out some of the errors. Without correction signals, the receiver's precision would be substantially worse. And SBAS corrections are only available on certain parts of the planet. (WAAS in North America, EGNOS in Europe.)

While the GPS unit may be advertised as having 3 meter precision, that is not guaranteed. The "resolution" of position does not have a specific granularity because a lot of averaging and other processing is going on. Instead of granularity, the error is a random variable.

There are a couple of ways to measure position to a precision finer than what you are getting now. The first way is to average: record all of the GPS readings for a few days and then average them together. This will yield a position that probably is more precise than any single measurement. I say "probably" because there is a random process involved. To know how long to average, given the expected improvement in position, you would have to analyze the statistics of the random variations, and that is beyond the scope of this post.

A quicker way of measuring with high precision is to use two receivers that support both code phase and carrier phase measurement outputs. These are often advertised under the name RTK (real time kinematics), and they can measure the difference in position between them to centimeterish precision, if you are careful. Sparkfun sells receivers that support RTK, including this unit: https://www.sparkfun.com/products/19984

User avatar
phineasphred
 
Posts: 15
Joined: Mon Mar 14, 2016 12:05 pm

Re: Ultimate GPS Breakout resolution...

Post by phineasphred »

Thanks. That's great knowledge!

What I'm trying to accomplish is a sort of inclination display using the altitude output from the gps. I'm running this in my car and have a display similar to a horizon indicator in an airplane that shows whether the car is going uphill or down. I tried using an ADXL345 accelerometer and it works great on my desktop when I tilt the unit. In the car, not so good.

I'm outputting the altitude from the gps on a TFT display and I can easily see it changing by less than a foot either up or down as I'm traveling. I was going to use the delta altitude to determine if I was traveling up or down and wanted to know what the minimum resolution is so I could filter the readings. This way I could also use the scale of the delta to determine, approximately, the rate I'm climbing or descending to move the indicator higher or lower in proportion.

I'm sure there are a million ways to do this, but given that I'm using the gps for other things like heading and speed I thought I could use it for this too.

Let me know if I'm not on the right track with this and if the readings I'm getting are nothing but error until I've moved 3m.

User avatar
dlleigh
 
Posts: 225
Joined: Wed Jan 30, 2013 8:08 pm

Re: Ultimate GPS Breakout resolution...

Post by dlleigh »

GPS has its worst error in the vertical direction. I'm sure the data you're seeing looks nice, but I doubt that it's much more than an averaging artifact.

How about this for a cheap and easy solution: barometric pressure sensors have gotten disgustingly precise in recent years. You can't use a single one (without a real-time reference) to measure absolute altitude, because atmospheric pressure changes significantly with time. However, a pressure sensor will work nicely at measuring differences in altitude, especially if measured in quick succession... like a car going up or down a hill.

You would need to protect the sensor from headwinds, as you would the static port on an aircraft altimeter. You would also get brief artifacts from passing vehicles, but you should be able to filter those out in software.

I'd say it's worth a try.

User avatar
phineasphred
 
Posts: 15
Joined: Mon Mar 14, 2016 12:05 pm

Re: Ultimate GPS Breakout resolution...

Post by phineasphred »

Thanks again for the response.

Funny thing, I first started out using a BME280 to do this. But what I found, and didn't really think it through, was that just sitting here on my desk it would constantly change due, I'm sure, to small changes in the barometric pressure. So, I thought this isn't going to work without a reference or a way to keep it zeroed out. But now that I think about it, and thank you for bringing it back up, I can use the ADXL345 for static inclination since it's pretty accurate and when I detect velocity from the gps use the BME280 since all I really care about is change over a very short period. Plus this will give me more information such as temperature and humidity. Yay, more data!

Thanks for getting my brain going again!

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Products from Adafruit”