I came across Cold start,Warm start and Hot start in GPS Modules while developing code for a GPRS Tracker. I know the difference between them. But when I use hot start method,signal is acquired faster but at times empty NMEA strings comes that affects the tracking. Which would be the best starting method I could use in this case? Module used is 'Global Top GMS-G6'

  • \$\begingroup\$ You seem a bit confused. Hot start is always preferable to warm start, which is preferable to cold starting. However, You cannot always manage to do a hot or warm start, as doing so requires saving some context from a previous time the GPS was locked, along with having an active local time reference. \$\endgroup\$ – Connor Wolf Dec 10 '16 at 7:31
  • \$\begingroup\$ Basically, you (almost always) do the fastest startup possible. If your GPS module is emitting empty status messages, that isn't a function of the startup mode, but rather a bug in the receiver. You should try to get a hold of a GPS that doesn't get confused and output bogus results (or see if you can filter the bogus results - does the GPS claim it's locked when it emits the invalid position fix messages?). \$\endgroup\$ – Connor Wolf Dec 10 '16 at 7:32
  • \$\begingroup\$ But in cold start I never got empty frames once signal is acquired . You mean to say that it these are independent things ? \$\endgroup\$ – Arun Joe Dec 10 '16 at 7:34
  • 3
    \$\begingroup\$ Uh..... why are you trying to extract data from packets that indicate they don't have a lock? That's completely normal behaviour. I'm surprised your GPS doesn't send them in all operating modes while it's acquiring a lock. The "0" before the number of satellites means Fix not available or invalid. \$\endgroup\$ – Connor Wolf Dec 10 '16 at 7:47
  • 1
    \$\begingroup\$ You might have turned on a oddball mode that suppresses the GPGGA message on warm/cold-start until the device locks. In any event, your parser should be smart enough to actually check if the device has a lock. What happens if you block and then uncover the antenna after it has locked? I'd guess you'd get the same message once it loses it's fix. That's essentially what a hot start is, really. \$\endgroup\$ – Connor Wolf Dec 10 '16 at 7:49

In order to generate a position output a GPS receiver needs to pick up the signal from 4 or more satellites. In order to find them it needs to perform a search for the signals they broadcast.

A GPS receiver will have a fixed number of channels, each channel can only look for one specific satellite at a specific time and with a specific Doppler shift. Anything that can narrow down this search e.g. knowing which satellites are visible and where they are in their orbit (the main component of the Doppler) makes the search a lot simpler and faster.

Hot start - The GPS will assume that it's clock is correct, that it's almanac (approximate satellite orbit information) is correct and that it is in roughly the same location as it's last known position.
This allows it to only search for signals that should be there and so generate an initial position fix quicker.

Warm start - The exact definition depends on the manufacturer but normally the GPS only assumes that the almanac is correct. It then searches for all satellites, as soon as it picks a single one up it can greatly narrow the search and only look for signals that should be there.

Cold start - The GPS throws everything away and starts from scratch. This takes the longest because a full almanac will take 12 minutes to receive from the satellites, without this aid even once it has a position the GPS has no idea which signals should be visible and which shouldn't. Even after generating a position it must continue to search because there could be more satellites out there that it hasn't found yet.

So why not always do a hot start? Because if your assumed data is wrong then it will take even longer to generate a position. The GPS has to give up looking for what it thinks should be there and start again. Even once it knows the time and location were wrong it may not necessarily discard the almanac information and so still keep looking for the wrong signals.

Normally you want the hottest possible option that is safe. e.g. If you know your clock is trustworthy and you haven't moved a lot since last being switched off always do a hot start. If you know the clock is wrong or you've been in transit then warm start. If you could have been off for a very long time then you can't trust that the almanac is still correct and should perform a cold start.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.