Tuesday, January 24, 2006

Using DGPS

Ok, we covered the theory. Now let's practice. To set a GPS receiver in WAAS/EGNOS compatible mode you can use GpsTweak mentioned here two posts ago or MemoryMap Sirf Utility that is even simpler. GpsTweak can tell you a bit more about your receiver. But if you want to play safe, go with the MMSirf Utility. Or if you are really adventureous you can try SirfDemo.

This assumes that you have a Sirf-based GPS receiver, which will probably be the case, is trying to follow these directions and won't make me responsible for any problems that might arise from trying this. If you are not sure about your receiver, please check the specs of your model before using this utility.

Sirf receivers can usually operate in two protocols: NMEA (text-based) and Sirf (binary).

Now that you know that your receiver uses Sirf chipset, install and run GpsTweak. First select Setup | Port Settings... pick the COM port used by your card, speed of 4800 and NMEA as the GPS protocol. Select Setup | Connect. You should see NMEA sentences in the main window. (If not, you might already be in Sirf mode).

To obtain version and its current mode you need to switch from NMEA to Sirf mode. Select Command | Switch to Sirf. Wait for the ACK (acknowledgment) message. Now you can run Command | Poll version and Poll WAAS/EGNOS Status.

If you want to switch to DGPS select Command | Toggle WAAS/EGNOS. The DGPS source will switch from none to WAAS/EGNOS. Remember to switch back to NMEA protocol (Command | Switch to NMEA, OK), or your GPS software probably won't be able to understand it.

Following the above procedure I decided to check the altitude issue using the free VisualGPS CE which will show if you are using Differential GPS or not.

You can also check the GPGGA sentence for value 2 in the sixth field (One means GPS fix in SPS mode or Standard Positioning Service).

It does take quite a bit more to obtain a DGPS fix than a regular, SPS one but I was able to get some pretty decent results. It required several readings but the average value obtained is better than anything I got previously (check the Least Square Average numbers in the screenshot above).

No comments: