I have been testing a beta version of GPS-Logit that can receive data from a U-blox based receiver via Bluetooth.
Development of new GPS devices for our sport is focusing on using the new U-Blox8 GPS chips. These have been shown in tests by Manred Fuchs to be extremely accurate for Doppler speed (Up to approximately 10 times better than GT-31.GW-52!!!)
The U-Blox GPS chip has two big advantages over other potential chips.
1. It has speed accuracy estimate data in the .ubx binary output sentences.
2. It can be clocked at up to 18Hz, and tests have shown speed accuracy values for 10 seconds of around 0.02Kt!
With this in mind I dug out a Wintec G-Rays1 BT GPS receiver I bought way back in about 2007. This uses the older U-Blox6 Chip but can output binary .ubx data at 10Hz.
At the time I bought it, Roo and Chris Lockwood were experimenting with pairing it with Palm Pilot PDA's and logging the data to them. I never did get a PDA so it sat in my drawer almost unused up until now.
When Manfred released GPS-Logit, Roo and I asked him if it was possible to program GPS-Logit to accept the U-Blox .ubx data and he very kindly responded but sending us a test version. It took me a while to get the GPS setup right but with Manfed and Roo's help I got there. To make it far more user friendly, Manfred has since programmed the App to send the GPS setup instructions to the GPS.
Here is a picture of it running with the phone. The one of the left is a later model with a slighty different U-Blox GPS chip in it. So far I have not been able to get .ubx data out of it, but it is only good for 4Hz anyhow. Still working on that one.
Here is my track map from last Saturdays session. (not posted to GPS-TC but I did upload it to KA-72 after converting it to .sbp format):
The interesting thing is that GPS-Logit worked perfectly well as normal in my H2Oaudio waterproof arm bag. The GPS dongle was positioned inside my helmet as is my normal practice. Gps-Logit (Beta) has drop down menus to select the Hz rate and the Type of U-Blox chip (U-Blox 6, 7 or 8). The screen update rate is still fixed at 1 second and the speed speech is also set at one second, or optionally, slower.
Unfortunately, I got to the Inlet and found I had left my other GPS's at home. I could not be bothered driving back for them after rigging up, and knowing this would not be a super session I just went with the single system. That means I don't have any side by side on water GT-31/GW-52 data to compare it with yet.
GPS-Results:
The eagle eyed among you will notice that the 'SDOP' +/- figures are slightly higher than typical GT-31/ GW-52 values. I think this is due to the smaller antenna in this old device and possibly the older model GPS chip. They are slightly lower values than we got from Manfreds test GPS using the same chip but possibly a better antenna at Luderitz. In those tests the GT-31 and .UBX error values were very similar and very consistent with the Photo timing gear.
I am eagerly awaiting a new test device from Raymond based on the latest 18Hz U-Blox chip.
The point is that with data input from a high quality GPS receiver that include 'SDOP' data, GPS-Logit becomes an easily accessible and potentially GPSTC acceptable alternative. All the great visual and audio feedback is there with very accurate and reliable data.
PS. Unfortunately, the Wintec G-Rays1 is long out of production.
Full credit to Roo for his ground breaking early work on working out that this dongle could be teamed up with a external PDA and making it work.
It's only taken 10 years for technology to catch up with my 10hz project I started back in 2007! I've been running it on a PDA since then but finally convinced Manfred to adapt GPSLogit to recognise the Bluetooth GPS and read and record the data. Here's some data from a few days ago.
GT-31 versus GPSLogit 10hz Bluetooth U-Blox
GT-31 1hz Max 36.097 2s 35.913 Max 10s 34.479 5 x 10s 33.939 500m 32.992 Alpha 20.298
U-Blox 10hz Max 35.981 2s 35.534 Max 10s 34.378 5 x 10s 33.436 500m 33.036 Alpha 20.29
Close enough for sheep stations I reckon!
So how do we convince somebody to make a 10hz ublox bluetooth dongle???
Because I want one!
Mike you have noticed the tracks of the 5Hz GW52 are much more jagged than the GT31. This may explain why and perhaps high rate gps is not the way to go.
I'm not sure I've fully got a grip on all that, or whether seismic monitoring is relevant to our needs.
But I guess it's another element of confusion to consider.
Dave, I don't think those studies are at all are relevant as they are looking at a completely different regime of micro movement.
All the communications I have had with GPS experts over the years seem to agree that higher Hz Doppler data with quality antenna reduces error when looking at periods of more than a few seconds in the regime we work with.
The individual points have higher error values than a one second Doppler data speed point (which may be an average of 5 or 10 calculations anyhow), but the average error over 5 or 10 seconds will quickly shrink to a better accuracy. Don't be misled by the 'sawtooth' appearance of high Hz graphs. It's all more data. More good data = better accuracy.
So how do we convince somebody to make a 10hz ublox bluetooth dongle???
Because I want one!
The intriguing thing is that it is quite a simple task compared with a fully fledged GPS logger with a screen, speed genie, memory card etc. I am pretty sure there are many skilled electronics buffs around who could do it quite easily. The Wintec G-Rays was is quite a small simple device and was about a third of the price of a GT-11/31 at the time. If mass produced today, I think they could easily come in at under $100 retail.
Good stuff Roo!
How does the error value range look on your 10Hz data?
Comparing error values between two different types of gps receivers is a tricky proposition. The Sirf gps chipset used in the GT-31 uses SDOP, speed dilution of precision, whereas the U-Blox gps chipset uses VACC 3D, Velocity accuracy in 3 dimensions. The Sirf method is 2 dimensional and calculated off processed data, the U-Blox method is in 3 directions and comes from the raw data, hence it is more accurate.
Having said that the error rates decrease as the sampling time increases, in other words a 10 second sample will have less error than a 1 second sample as there are more data points to confirm the estimate and average out the errors. Mathematically the errors of the single sample increase by square-root of the sampling rate (e.g. at 10Hz you will see about 3 times larger errors, that average out again for 10s runs).
Here's a comparison of errors from the track data I referred to in the post above.
Max speed. U-Blox 10hz 0.100 s 35.981 +/- 4.199 GT-31 1 s 36.097 +/- 0.311
2 seconds U-Blox 10hz 35.524 +/- 0.987 GT-31 35.913 +/- 0.311
10 seconds U-Blox 10hz 34.378 +/- 0.412 GT-31 34.479 +/- 0.278
500 meters U-Blox 10hz 33.036 +/- 0.245 GT-31 32.992 +/- 0.270
In other tests the error estimates are quite a bit lower with the U-Blox chipset, 60% of those indicated by the Sirf over 500 meters. When the number of satellites used in the calculations is the same for both units the U-Blox has the lower error values.
One thing I would like to point out is that none of this would be possible without Manfred's hardwork. With GPSLogitBT he has created the only app available anywhere in the world that can record binary data to a phone via Bluetooth, no one has ever implemented this before. As windsurfers we are fortunate to have him creating these programs/apps.
Roo
Good stuff Roo!
How does the error value range look on your 10Hz data?
Comparing error values between two different types of gps receivers is a tricky proposition. The Sirf gps chipset used in the GT-31 uses SDOP, speed dilution of precision, whereas the U-Blox gps chipset uses VACC 3D, Velocity accuracy in 3 dimensions. The Sirf method is 2 dimensional and calculated off processed data, the U-Blox method is in 3 directions and comes from the raw data, hence it is more accurate.
Having said that the error rates decrease as the sampling time increases, in other words a 10 second sample will have less error than a 1 second sample as there are more data points to confirm the estimate and average out the errors. Mathematically the errors of the single sample increase by square-root of the sampling rate (e.g. at 10Hz you will see about 3 times larger errors, that average out again for 10s runs).
Here's a comparison of errors from the track data I referred to in the post above.
Max speed. U-Blox 10hz 0.100 s 35.981 +/- 4.199 GT-31 1 s 36.097 +/- 0.311
2 seconds U-Blox 10hz 35.524 +/- 0.987 GT-31 35.913 +/- 0.311
10 seconds U-Blox 10hz 34.378 +/- 0.412 GT-31 34.479 +/- 0.278
500 meters U-Blox 10hz 33.036 +/- 0.245 GT-31 32.992 +/- 0.270
In other tests the error estimates are quite a bit lower with the U-Blox chipset, 60% of those indicated by the Sirf over 500 meters. When the number of satellites used in the calculations is the same for both units the U-Blox has the lower error values.
One thing I would like to point out is that none of this would be possible without Manfred's hardwork. With GPSLogitBT he has created the only app available anywhere in the world that can record binary data to a phone via Bluetooth, no one has ever implemented this before. As windsurfers we are fortunate to have him creating these programs/apps.
Roo
Thanks Roo. Those error range estimates are very comparable with what I got from my G-Rays1. Clearly, we will do better with the newer M8 chip with better antenna.
I agree entirely with you about Manfred Fuchs. His work, insights and contributions have been enormous and invaluable to the GPS windsurfing community. Far, far more than what most participants in our sport will probably ever realise.
Actually, perhaps the N is the one to have as it is flashable (the others you have to reconfigure each time you use them (default is 1 Hz)and it has data logging capability. ie you can dump all the raw data from the chip. It also has Galileo and can run GPS, Glossnass and Galileo concurrently
see www.u-blox.com/sites/default/files/GNSS_LineCard_%28UBX-13004717%29.pdf
OK max update is 10 Hz compared to 18Hz for the Q but surely that is enough? (both drop when using Glossnass concurrently with GPS to 5Hz and 10hz respectively). SBAS and the Japanese sats are same frequency as gps so in Australia ublox M8N can use those as well at 10Hz .
>>>18Hz is still not enough! It will do for now though?
It's going to take just as long to process as it did to sail!
Here's a comparison of errors from the track data I referred to in the post above.
Max speed. U-Blox 10hz 0.100 s 35.981 +/- 4.199 GT-31 1 s 36.097 +/- 0.311
2 seconds U-Blox 10hz 35.524 +/- 0.987 GT-31 35.913 +/- 0.311
10 seconds U-Blox 10hz 34.378 +/- 0.412 GT-31 34.479 +/- 0.278
500 meters U-Blox 10hz 33.036 +/- 0.245 GT-31 32.992 +/- 0.270
That's an interesting comparison. It illustrates that 10 Hz data are not be default better than 1 Hz data. The estimated accuracy for both 2 seconds and 10 seconds is better for 1 Hz data than for 10 Hz data.
Yes, that is quite right to say 'by default'.
It depends entirely on the quality of the antenna and the quality and power of the GPS chip.
One must remember that the G-Rays1 is a 10 year old GPS device. Its antenna is smaller and the GPS chip has been superseded by a couple of generations since then.
All else being equal, in the latest GPS chips I would expect to see much lower error range data from 10Hz and even smaller from 18Hz.
I would expect the current model U-blox M8 series GPS chips with a latest model antenna @1Hz to give the same, or better error range as the GT-31 @1Hz.
Increasing the Hz results in lower average error over a increasing number of data points.
But I will do some tests with the G-Rays1 set to 1Hz to get a comparison.
What is exciting to me is that Manfred has made himself a test unit with the U-blox M8 GPS chip and tested it sailing. He also sent me some test files from is Motorbike. The error values in these 18Hz tests are extremely low. Here is a sample for 10 seconds from his sailing test:
The error range shown here is an order of magnitude better than the GT-31 @ 1Hz.
It depends entirely on the quality of the antenna and the quality and power of the GPS chip.
One must remember that the G-Rays1 is a 10 year old GPS device. Its antenna is smaller and the GPS chip has been superseded by a couple of generations since then.
All else being equal, in the latest GPS chips I would expect to see much lower error range data from 10Hz and even smaller from 18Hz.
I would expect the current model U-blox M8 series GPS chips with a latest model antenna @1Hz to give the same, or better error range as the GT-31 @1Hz.
Increasing the Hz results in lower average error over a increasing number of data points.
But I will do some tests with the G-Rays1 set to 1Hz to get a comparison.
What is exciting to me is that Manfred has made himself a test unit with the U-blox M8 GPS chip and tested it sailing. He also sent me some test files from is Motorbike. The error values in these 18Hz tests are extremely low. Here is a sample for 10 seconds from his sailing test:
The error range shown here is an order of magnitude better than the GT-31 @ 1Hz.
You are certainly correct about most of the improvement coming from the improvement of the GPS chips and antennas. The U-blox M8 chips at 1 Hz should be able to give a much lower error range than the GT-31, if (and only if) the 1 Hz data are calculated properly. If the 1 Hz data would be generated by simply taking every 18th data point, then the error range would be comparable - maybe a bit better due to better chips & antenna, maybe a bit worse due to extra noise from the higher sampling rate. But if the 1 Hz data would be calculated properly from the 18 Hz data, then the error range should go down more than 4-fold (square root of 18).
The error ranges in Manfred's data are pretty amazing. Seems that part of it comes from more accuracy of the single points (mSDoP is ~3-fold lower than for GT-31 data). Tracking 11 satellites instead of the typical 8 for the GT-31 will help, other improvements are from the chip and the antenna. Multiply the 3 with the factor of 4 you get from the higher data rate, and you get a more than 10-fold improvement.
But there are two things to keep in mind when comparing the data: how SDoP is calculated or defined, and how random the errors are. SDoP numbers are not standard, and are calculated differently in firmware from different manufacturers (U-blox even uses a different name, IIRC). They both try to estimate speed accuracy, but what exactly do they refer to - 1, 2, or 3 standard deviations? Could be we are comparing apples to oranges (or 1 sigma to 3 sigma values) here. Maybe Roo or Manfred know?
The bigger issue, though, is the randomness of the error. The math underneath the reduction of error at higher sampling rates requires that the error is random. Just for illustration, let's assume that the error in the measurements is biased and varies slowly, say on a 10-second scale. Taking samples at 1 Hz and 18 Hz would show the same deviation, but 18-Hz sampling would result in an estimated error that is 4-fold lower. If all error is slow and systematic, then the 1 Hz sampling would under-estimate errors by a factor of 3, and 18 Hz sampling by a factor of 12.
This was just a Gedankenexperiment. We know that a lot of the error in GPS signals varies at a higher frequency; but we also know that there are some systematic sources of error. If those vary at a rate between 1 Hz and 10 Hz (or 18 Hz, or whatever higher rate we get), then sampling at the higher rate will (a) help only somewhat, and (b) over-estimate accuracy.
The bottom line: using newer GPS chips (and antennas) will definitely improve accuracy. But whether or not the accuracy estimates we get are correct is a separate and currently unanswered question.
I have been seeking information to clarify how Horizontal Velocity error calculations are derived. There is very little specifically about this error value. Most of the info is about positional error calculations and principles.
Any papers or sources of info anyone can find would be most welcome.
But, as far as I can see, the sources of errors on the Doppler velocity are similar to those for the positional data:
The sources of positional error are listed and pretty well explained in this document: UBlox's GPS Compendium
www.u-blox.com/en/ublox-file-auth-redirection?destination=file/1229/download%3Ftoken%3DDc3KJtQn%26utm_source%3Den/technology/GPS-X-02007.pdf
To summarise, they are (taken directly from the above document):
Satellite clocks: although, for example, every GPS satellite is provided with four highly accurate atomic clocks, a time error of only 10ns is enough to produce a positioning error in the order of 3m.
Satellite orbits: generally speaking, the actual value of the satellite position is only known up to approximately 1 ... 5m.
Speed of light: the signals from the satellites travel at the speed of light. These slow down when crossing the ionosphere and troposphere and cannot, therefore, be assumed to be a constant. This deviation from the normal speed of light creates an error in the calculated position.
Signal travel time error measurement: the GNSS receiver is only able to determine the time of the incoming satellite signal with limited accuracy.
Multipath: The error level is further increased by the reception of reflected signals.
Satellite geometry: determination of position is more difficult if the four reference satellites being used for measurement are close together. The effect of satellite geometry on measurement accuracy is referred to as DOP (Dilution Of Precision)
The brilliance of Tom Chalko was in recognising that the Doppler velocity calculations are relatively unaffected by many of these sources of positional error.
Since the measurement is made with Doppler shift measurements in real time, only the last two have much of an affect on error.
In our environment, it is possible to reduce Multipath error to be virtually insignificant if the GPS antenna is worn facing the sky on the top of the body. On the other hand, it is susceptible to much stronger multi path error if it is carried in such a way that it faces the horizon or the water. This is why wearing on the wrist is not generally conducive to good accuracy where the GPS can be facing the water under the arm, and is why it is very important to prevent the arm bag worn GPS from rotating around under the upper arm. Obviously, the best location is on top of the head as has been well proven, or at least fixed securely facing upwards in the upper arm.
So that leaves us with Satellite Geometry, or constellation. Satellites at a wider and more even spacing will give more reliable Doppler accuracy.
If all the satellites used are close to directly above, the accuracy will be degraded. If they are very low on the horizon, it will also be degraded. There is a optimal angle in between that is where best accuracy is obtained.
The location of the satellites relative to your direction of travel is also important. If they are located at right angles to your direction of travel, there will be very small doppler shift in the signal and accuracy is degraded. Ideally, they need to be as close as possible in line with your direction of travel, either in front or behind, and preferably an even distribution of both (some behind you and some in front). This will produce the greatest difference in Doppler shift and therefore the potential for better accuracy.
So it is my contention that calculations of Horizontal Velocity error will be based on a set of mathematical first principles, just like the calculations for HDOP, with the greatest factor, maybe the only significant factor, being from the satellite geometry. The combination of elevation in the sky, position relative to our course and number of satellites used is resolved into a mathematical equation that gives us the Horizontal Velocity Error value. The value we call SDOP (Speed Dilution Of Precision).
Furthermore, just like the calculations of HDOP are directly comparable from all GPS devices because they are based on the same basic principles listed above, calculations of horizontal velocity error will also be directly comparable for the same reason.
Edit: There is another important source of error and this is:
Effect of the receiver: further errors are produced due to GPS receiver measurement noise and time delays
in the receiver. Advanced technologies can be used to reduce this effect.
It is important to get the highest signal to Noise (S/N) ratio possible. Larger, more efficient antenna are a vital component of this source of error. This is probably the reason we see inconsistent results from the tiny antenna in smartphones and GPS watches.
From my very limited knowledge of this very tech system of measuring ourselves...
If we had a couple or X number of "satellites" fixed on the beach at our local would that provide a steady accurate base to reduce error rates to nearer zero?
Is there such a thing that can do what the satellites do that we could have on the beach, in the car or on a mast at our location. And would one be enough so long as it had the range?
I will now give this thread a good read.
There is a technique in GPS called differential correction. It mostly used by people using high end GPS that need centimetre level accuracy for position stuff. (Surveyors and Farmers). Special GPS receivers need to be used that have a radio link to a base station. The base station is a GPS at a nearby location which is stationary and continually transmitting its 'GPS position'. Because it is at an exact known location, it can monitor and transmit the 'wandering' of its 'GPS location' caused by the various factors inducing error, and the 'rover' GPS can use that info to correct it's own data for those effects. This is typically used with GPS systems costing many thousands of dollars!
(see: en.wikipedia.org/wiki/Differential_GPS#Australia )
Most consumer GPS include a type of differential correction where they receive correction data from specialised satellites (Wide Area Augmentation System - WAAS in the USA, EGNOS in Europe, SDCM in Russia and MSAS in Japan). This can reduce the positional error from 12-15 meters to 3 or 4 meters. Unfortunately for us, there are no services that are available over our region for this so we must have that capability turned OFF in our devices.
(see: en.wikipedia.org/wiki/GNSS_augmentation#Satellite-based_augmentation_system)
The types of errors that this can compensate for are really not that applicable to out use of Doppler speed anyhow.
The new generation of low cost, highly accurate GPS RTK chips that are just now coming onto the market may change this soon. We may be able to get sub 5cm accuracy in positional data in the near future from low cost devices, but they will still require another, possibly identical, device to be used as a base station nearby. In theory, we may only need one base station GPS to service quite a few 'roving' GPS.
In some countries, notably the USA, there is a network of permanent free access base stations scattered across the country, but as far as I know, nothing like that exists in Australia apart from the Coastal Marine base station network, and I am not sure if it is set up so we will be able to use it. There are commercial base stations but they require subscription fees and there are probably too high to be viable for us.
There is a variable of differential correction called 'post processing', where the base station records the data and this is fed into a computer later with you Rover data and the corrections are done then. It is possible that this may be a technique that could be utilised to enhance the accuracy of our Doppler data, but I will need to delve into it further to find out.
An update on my tests with the Wintec G-Rays1 BT GPS and the test BT version of GPS-Logit:
I have been very disappointed with the results of the G-Rays at 10Hz. It does not seem to be able to transmit @10Hz without missing a few points here and there.
The results were way off the matching GW-52's as well.
So I set it @ 5Hz and wore it in the recent session at Sandy Point along with two GW-52's also set @ 5Hz worn in my helmet.
There were now no missed points but the results are disappointing as you can see below. There should not be that much difference and the error values are a lot higher than I expected and I am comfortable with.
I think this is just because of the older chip technology and an inferior antenna. In any case, it is probably just as well this device is not available anymore.
I do look forward to testing the latest Ublox M8 GPS @ 10Hz and 18Hz though. Manfred's testing with the Ublox M8 has suggested far better results, as I have said before.
I have to add that Manfred's App GPS-Logit was working well and is in no way past of the poor results.
Well at least you have the technology working Daffy, that's got to be a step on the way forward.
I note both the GW52s results are in the same order, whereas the ublox device has a different order and a different run altogether.
This highlights the dangers of just checking the results when accuracy testing against a known device. The numbers can actually look fairly close, but if they're different runs, it gives a very false impression of accuracy.
The credit for getting it working is down to Manfred Fuchs.
And it was Roo who had the original idea of using a BT logger with a Palm Pilot years ago.
It looks like a nice comparison, but the old BT unit probably only tracks 6 to 8 sats
The newer Locosys chips can track a couple more, hence the lower error values.
But the G Ray is a 10Hz unit, throttling it down to 5Hz could also give some unknown values as we don't know what happens inside the chip.
When testing with the newer Ublox M8 I see between 9 and 13 sats, but when I also look at Glonass etc etc etc I can see between 17 and 24!
(never checked it in detail, but i remember some Glonass values)
With every extra satellite the error correction goes down quite a bit!
The older G-Rays documentation actually only says it is good for 4Hz. Roo just found by experimenting that he could clock it up to 10Hz. I can't try it at 4Hz with the current GPS-Logit test configurations, but I doubt if it would help much anyway.
More satellites used is certainly better! The newer Ublox M8 are definitely the way to go!
No problems logging at 10 hz, usually picks up 8 to 10 sats. Reliable little unit, has been for the last 9 years.
No problems logging at 10 hz, usually picks up 8 to 10 sats. Reliable little unit, has been for the last 9 years.
Yes mine is tracking 8-9 sats most of the time, but the results are not as good as hoped.
perhaps the positioning of the sats is not ideal for sandy Point compared to the Continental USA.
My understanding is part of the correction stuff is ground based radar stations measuring the exact positioning of the satellites. Maybe the measuring of sats above the southern ocean is not as precise as those over the States.
perhaps the positioning of the sats is not ideal for sandy Point compared to the Continental USA.
My understanding is part of the correction stuff is ground based radar stations measuring the exact positioning of the satellites. Maybe the measuring of sats above the southern ocean is not as precise as those over the States.
You are making the assumption that Roo is getting better results than me.....
Anyhow, a few meters off satellite position makes a big difference to positioning accuracy, but should not affect Doppler much at all.