Getting A Fix With Your Garmin

The discussion that follows includes conjecture on my part based on research and knowledge gained through the use of Garmin devices. It does not represent any inside information from Garmin and may not represent the proprietary methods used in the Garmin design. While this data is based on Garmin receivers, the methods described are similar to the methods used by any gps receiver and this discussion should be useful to anyone trying to understand how a gps works.

Before you can actually use your GPS receiver for navigation you must first obtain a fix on your current position. Generally this happens automatically each time you turn the unit on. Once you press the on switch the unit will run a set of internal diagnostics and then switch to the status screen (except for the emap), with an intermediate stop on mapping receivers to display a disclaimer page. Next it will retrieve information for the necessary satellites and once it has computes a position fix it will switch to the position screen. While it seems to be doing the same thing each time it starts there are distinct differences in obtaining a fix depending on the how long it's been and how far you have traveled since the last time you turned it on. Obtaining your first fix is sometimes referred to as initializing your receiver. There are several methods of initializing a receiver from seeding it with information (called EZinit by Garmin) to fully automatic self initialization using auto-locate.

The status screen for the 12XL is shown at the left. It is similar to the status screen information on all Garmin units. One of the first things to catch your eye when the status screen appears is the two concentric circles with numbers seemingly located at random over the top of them. These represent the expected locations for satellites at your location and time. The outer circle represent the horizon and the inside circle shows a 45 degree angle. Everything inside the inner circle is overhead. Knowing the approximate location and satellite number for the expected satellites aids the unit is determining your first fix. This implies that the unit must already think it knows your approximate location and the approximate time. The approximate location of all of the satellites is stored in the machine in, what is called, the almanac. The almanac provides the data you see on the screen and aids the GPS receiver by letting it know which satellites are likely to be available. The almanac data is usually good for about 3 months and is updated automatically when the unit is in use. However if you leave the unit off for over three months it will have to re-collect much of this data before it can obtain a fix.

The Garmin emap will display this information but does not automatically switch to the status page. You will need to select "gps info" from the main menu. The Garmin basic etrex displays very little status information on its satellite screen. Only 4 satellites are shown and they are not displayed with any geometric information. As the fix progresses on the etrex a light squiggled line will appear as satellites are found and this line will become darker as the ephemeris data is acquired. To understand how this really works you should change the basic etrex to the advanced SkyView page. The advanced sky view page shows the same information that is available on all of the other Garmin receivers.

(Note that some of the data in this chapter assumes a general understanding of how a gps works. If you need this knowledge please read the chapter on this subject.)

Cold Start

The first time you turn you unit on each day it must perform a cold start. To perform a successful cold start it must have a current almanac, a reasonable expectation of its current location, and a reasonable idea of the current time. Given this data the only thing it needs in order to calculate a fix is the precise location of 3 (for a 2D fix) or 4 satellites (for a 3D fix). The data it needs is called ephemeris data and it is transmitted every 30 seconds by each satellite in the constellation. It takes 18 seconds to download this information because it is only being sent at 50 bps. Since your Garmin was turned on at a random time with respect to the satellite transmission it can take up to 36 seconds to download this information assuming no interruption. It would take longer if it had to be received in order but your Garmin is capable of reassembling the information even if it is received out of order. Once the data has been acquired a position can be computed and a lock obtained. Generally this can be accomplished in an amazing 45 seconds from the time you first turned on the unit. The 45 seconds includes the time to gather ephemeris data and the time to compute the fix. After a lock the data will be updated once a second.

The older multiplexing receivers cannot achieve such a rapid initial lock. The reason is simple, they need to download ephemeris data from 3 satellites but cannot do so in parallel. So it take 90 seconds to download the data from 3 satellites and thus you can expect the first 2D lock in about 2 minutes. After another 30 seconds or so you will usually be able to obtain a 3D lock as it adds in the additional data for the fourth satellite. If you have a unit that starts with hollow bars and darkens them later you can watch the progress on these units. Once a satellite ephemeris data has been collected the bar will turn dark. Since data can be collected in multiplex mode and out of order it is quite possible for several bars to turn dark at essentially the same time. Since the unit knows it needs 3 satellites to compute its first fix it will concentrate on getting the information from 3 high satellites simultaneously. After a 2D fix is produced it can keep track of those three satellites while attempting to add a fourth to produce your 3D lock. Ultimately the unit will try and track up to 8 satellites but will only use 4 in a solution. There is no indication about which 4 it will use at any particular moment but it changes them as needed to attempt to produce the most accurate fix.

The newer 12 channel parallel units can gather data simultaneously from up to 12 satellites. There is no time penalty in doing so. While the G-III family, emap, and most other Garmin units continue to indicate the collection of ephemeris data by turning the status bars solid the latest release of the G-12 family and G-II+ no longer uses the hollow bar vs. solid bar indication to indicate this. Instead solid bars are used to indicate exactly which satellites in the constellation are currently being used to calculate the fix. Therefore none will turn solid until the first fix is obtained. A feature of all of the 12 channel units is the ability to calculate an overdetermined solution where more than the required 4 satellites are actually used to compute the solution. Using more than 4 satellites can improve the error and can minimize the shifts that sometimes occur when a gps needs to switch which satellites are being used to compute the solution.

Note that the hollow/filled bar feature is not present on all units. Most notably it is missing from the 12CX color unit and some of the really old multiplexing units.

Warm Starts

If you turn your unit off and back on again you will notice that it is able compute a fix much quicker than it did the first time. This is because it saves the ephemeris data from the last cold start. Saving this critical data can enable your unit to compute a fix in 15 seconds or less. It needs only to verify that the data is still valid and that the satellites that it has data for are still available in the sky. The ephemeris data from a satellite is updated every 2 hours at the top of the hour but it is considered to be valid for up to 4 hours. (If the circular orbit is projected to be really close to a circle they might declare 6 hours.) Considering that a satellite makes a full orbit in just under 12 hours and the earth is moving underneath then 4 hours represents most of the time it spends in transit overhead.

Garmin handheld receivers look at the time stamp and use this data when it is valid which permits warm starts whenever possible. Of course in several hours the satellites you were using may have drifted out of the overhead position and may no longer be available, but at least some of the time a warm start can be achieved. Note that the warm start does not require the same solution, it just requires that 3 or more satellites for which you have ephemeris data are still present in the sky and can be used to calculate a fix.

EZinit Starts

The basic etrex does not support EZinit starts. Please skip this section and go to the autolocate discussion if you own an etrex. The basic etrex will attempt a local fix and if this fails it will ask you some questions to determine if an autolocate is required. This feature is supported on etrex venture, legend, and vista.

If you have moved 500 miles or more since the last fix you will probably have to do an EZinit. In this case you will seed the unit with something close to your present position to aid in its ability to compute a fix.

This is done on non-mapping units by selecting the state or country you are currently in. This information can be reached by pressing the enter key (menu key) while the unit is trying to acquire satellites. You can then scroll through the list of countries and states. Once you have selected the starting location the unit proceeds as if it were a cold start. (if the altitude is greatly different you may want to help if along by manually entering an altitude that is fairly close as well.) On these Garmin units you may also initialize their position by changing the lat/lon position that is shown on the position page. While the unit is acquiring its position this is a changeable field on most units and may be selected just by using the arrow keys to select the field.

On Garmin units with built-in maps the map position can be used to seed the current location. Note that these techniques do not have to be exact since getting within 500 miles is close enough. To use the map follow these steps: From the satellite screen, press menu and select Initialize Position, press enter. The map screen will appear and you can move the cursor to the desired starting point using zoom as needed to get you where you need to be. Pressing enter will set the starting point seed for EZinit.

Autolocate - Search the sky

The final method used by your Garmin enables it to find itself and get a lock completely without any outside help. In autolocate mode the unit does not use the internal almanac data but instead just uses brute force techniques to find the satellites. On any of the older multiplex receivers this can take 7.5 minutes to 15 minutes with a clear view of the sky for it to gather enough data to acquire a 2D fix. On the 12 channel parallel units the time has been reduced considerably since much of the data can be gathered simultaneously using the 12 channels. A 3D fix under these conditions can usually be obtained in about 3 to 5 minutes. Note that while a fix may be obtained, this is not sufficient time to reload the full almanac. The almanac requires 12.5 minutes to download from the satellites. For this reason, if you have to do an autolocate you should continue to leave the unit on while it regathers its full almanac, or you may have a similar problem the next time you turn it on.

If the unit is doing an autolocate and it fails to produce a 3D lock it may prompt you for the altitude reading. You should enter something as close as possible to what you might guess it to be. This usually happens when the unit has a restricted view of the sky such as out the side window of an airplane.

You will likely need an autolocate if you have let the almanac data get out of date by not using the unit for 3 months or more. You may need an autolocate if the internal clock is totally wrong although usually a EZinit will work in this case. Since the etrex, 76 family, GPSV, and emap do not have an internal battery backup this can occur on those units if the main batteries are left out for several weeks. Finally you may need an autolocate if you are somewhere in or over the ocean without a clue as to where you are. Under some conditions where the unit just refuses to lock you might want to use the undocumented clear unit command (See the chapter on Undocumented commands) to completely clear the unit of all information and do an autolocate to get it running again.

Completing the Initialization

As soon as you achieve a 2D lock the unit will switch to the position screen unless you have switched screens yourself during the initialization process or are using an emap. You can be navigating at the point but you may not have a 3D lock yet. On some units this can be checked by attempting to change the altitude reading on the position page. If it can be selected you still have a 2D lock. For older multiplex units and the default settings on the newer twelve channel non-mapping units the altitude setting is in the lower right display section of the position screen. It can be reached by pressing the up arrow key once. If the altitude data is selected when you push the up arrow key then you still have a 2D lock. It will remain selected until a 3D lock is achieved and then the entry will no longer remain highlighted. This can be a handy way to check for 3D lock status while using the position page for navigation. If the altitude is clearly wrong you can correct it while in 2D mode to improve the accuracy of the fix. On the mapping units the 2D altitude setting is only available from the menu and will be grayed out if you have a 3D lock.

Once the lock is established the clock on the position screen will be updated to reflect the exact time. Internally the unit uses UTC time without leap seconds but it displays local time with leap seconds added automatically. While the initialization would seem to be complete as soon as a fix it obtained the gps will continue to find and collect data on other satellites in the background while you are using the unit. This activity continues so long as the gps is turned on.

Losing a lock

If you enter a long tunnel or go under a dense tree cover you may temporarily lose your fix. To help overcome these problems Garmin has designed in a dead reckoning circuit. For temporary loss of signal under 30 seconds the unit will just continue to use its current heading and speed to project your position. If the signals are reacquired during this time the unit will adjust the position to correct for any errors in the projection and just continue on as if nothing had happened.

Loss of signal longer than 30 seconds triggers the "poor gps coverage" or "weak signals" message. This message appears in the message window and continues to be displayed on the status screen. In addition anywhere that track and speed are displayed the fields will be replaced with ----- to indicate that there is currently no fix available. Once a fix is re-obtained the track and speed data will return. Any break in the track caused by a loss of signal will also be recorded in the track log by showing a break in the visual log and a discontinuous log will be generated. Note that the projected log entry from the dead reckoning will be backed out of the log and the display.

Loss of a signal for a considerable period will trigger a message to re-init the unit. If you know the cause is just a temporary loss of satellite coverage then just answer the re-init choice with "continue acquiring" to cause the unit to look for a longer period. If the unit determines that there are no satellites available after about 10 minutes it will shut itself off to conserve batteries.

Notes and Tips

Detailed Discussion

Locking onto a set of satellites can be a formidable task. First, all of the satellites are transmitting on the same frequency, 1575.42 MHz. And second, the power output is very low (about 500 watts effective radiated power from 21000 km in the air) so that the received power is about -160 dbW which is just barely above the power of the surrounding background noise. Imagine a hen going out into the chicken yard and hearing a 100 chicks all crying at the same time. How does she know which one is hers? She finds her own chick because she recognizes its voice. A gps receiver works in a similar fashion. It knows which satellite it is trying to receive and it matches a predefined code with one that is sent by that satellite. Once it makes a match it has found the correct satellite. At this point it will lock to that signal and display the strength bar on the satellite status page indicating it has synced to the satellite and how strong the connection is. Next it can begin downloading the ephemeris data.

Each satellite sends its signature every millisecond. A signature consists of 1023 bits of unique data that has been chosen specifically to aid in discerning this satellite from all of the others. There are 32 such codes defined. The receiver uses the almanac data to estimate the position of the satellite it is interested in and to predict its doppler shift speed. It then uses its own location and time to attempt to line up a copy of the 1023 bit code to exactly match the code from the satellite. If it can't line it up exactly it will shift time or clock frequency slightly to get it to line up. Once it gets a line up with the satellite it was seeking it can search for the HOW (Hand over word) sequence to get in word sync to retrieve and decode the information. The data itself is modulated at a 50 Hz rate on top of the signature by using the signature as a carrier. There are 25 frames of data which is divided into 5 subframes of 300 bytes each. A frame is transmitted in 30 seconds, thus each subframe takes 6 seconds to transmit. The first 3 subframes in each frame contains the same data which is why the satellite specific data can be obtained every 30 seconds. The First subfield contains health and accuracy data as well as corrections for the satellite clock. The next two subframes contain the ephemeris data. The final 2 frames contain all of the other data, such as almanac data, that is of less importance in obtaining the first fix.

Since the data it wants is contained in 3 of these 6 second frames collecting this data is the first essential task of the receiver. Once locked on it needs the HOW sync byte and it could take up to 18 seconds to get it if we suppose the HOW for the 3rd subframe was just ahead of our lock. In this case we will have to clock through the 3rd subframe, notice that we are on the 4th subframe and wait for the first subframe to roll around again. Under this condition it will take 36 seconds to get the data. Suppose the first HOW just went by; now we will find the 2nd subframe and will go ahead and gather this data as well as the 3rd subframe. We will then clock through subframes 4 and 5 and get the 1st one, another 36 second case. A best case scenario is one where the first subframe HOW appears immediately after the sync.

Once sufficient satellite data has been collected it will be combined with data from other satellites to solve a set of simultaneous equations involving 7 unknowns. These unknowns are X, Y, Z, dx, dy, dz, and t. The speed vector dz is discarded leaving us with a 3D fix, horizontal velocity vectors and the correct time. If only three satellites are available the Z (altitude) setting will be used from the unit itself based on the previous fix or data supplied by the user. The nature of the method used in the solution also uses the current X, Y, and Z positions as an initial value for the calculation. Garmin doesn't release the exact techniques and algorithms that they use to perform this computation but it seems clear it is similar to the Kalman filter methods where current information is used to seed the new information in an iterative form. Iterative techniques are often used in computer programs to solve complex problems and lends itself well to continued use to update the data while the gps is in use. On 12 channel parallel units Garmin has developed a technique that permits them to calculate an overdetermined solution by using more than the standard 4 satellites. This can lead to more accuracy, reported to be on the order of 15%, and permits a smoother transition when a satellite drops out of view for any reason. The G-12 family indicates exactly which satellites are currently being used in the calculation by showing black bars. Satellites may be dropped from the solution for a number of reasons such as the detection of significant multipath reception on one satellite.

Go to "Working with Garmin" Table of Contents

Preliminary version 99/7/5
fixed some typos and added more info 99/7/8
rewrote some data based on new info from Garmin 99/7/14
Added more data on 99/7/17
fixed typos and revised for etrex and emap 00/7/27
added a back button and made the discussion a little more generic 01/3/5.
added new units and data based on software upgrades.

By Dale DePriest - all rights reserved.