# SGEE vs CGEE vs A-GPS

I refer to the explanation I picked up from a pdf below. Please note a person who already has knowledge on A-GPS and CGEE and SGEE does not have to read the explanation provided for those below.

I know SGEE is downloading the Ephemeris information from the GPS Vendors server. Which I think is also scary in some aspects. (if anyone had any comments with regard to that kindly discuss)

My second Question is if a GPS is saving the used Ephemeris data in RAM and using the same in next startup. Is that called A-GPS or CGEE (Client generated EE)?

Explanation of Technologies

What is Assisted GPS? Assisted GPS or A-GPS uses some other communication channel such as WiFi or the mobile phone network to assist the GPS receiver by delivering current time and ephemeris data for all the satellites in the system. Having the current ephemeris data allows the receiver to be more precise in it’s searching, which makes the receiver sensitivity effectively the same as the tracking sensitivity. That is, it makes any start, a hot start. With A-GPS, the network provides the Ephemeris data to the GPS receiver to improve sensitivity the TTFF. Assisted GPS or A-GPS is also used to improve the performance within buildings where the GPS signals are by 20 dB or possibly more. Again by providing information to the GPS receiver in the mobile it is able to better correlate the signal being received from the satellite when the signal is low in strength. Using this technique it is possible to gain considerable increases in sensitivity under regular use-cases.

Client Generated Extended Ephemeris

Client Generated Extended Ephemeris (CGEE) is calculated on the client using broadcast ephemeris data downloaded for visible satellites. CGEE provides three day Extended Ephemeris (EE) models for visible satellites and stores the data in local memory. With CGEE no network connection is required.

Server Generated Extended Ephemeris

With Server Generated Extended Ephemeris (SGEE), a server obtains information from world-wide tracking stations and calculates the EE data for all GPS satellites at least once a day. To receive the data a network connection is required to download the data. Typical size for a one day payload to cover the entire constellation of satellites is around 11 Kbytes. These files are typically provided by the GPS supplier and are available to download at no charge.

I think Majenko's answer misses the mark a bit.

In order to get a rapid first fix, a GPS receiver needs to figure out quickly which satellites are in view, and their approximate Doppler shifts. In order to accomplish this, it needs two pieces of information: It needs to know roughly where in the world it is, and it needs to know roughly where the satellites are as well.

A-GPS refers to the former: by some means other than GPS, the receiver gets an approximate idea of where it is located. There are a number of ways of doing this; some WiFi access points broadcast their own geographic coordinates, which gives a pretty good idea of the receiver's loocation, since the coverage area of any particuar access point is fairly limited. Somewhat looser precision is available from cell towers, since their "footprint" is generally larger.

CGEE and SGEE are two methods of getting the second piece of data, the "ephemeris", which is a bunch of numbers that describe the orbits of all of the satellites and where they are currently located in those orbits. Without this information, the receiver must do a "blind search" until it finds at least one satellite, and then wait until that satellite broadcasts the ephemeris data for the rest of the constellation. Note that finding a satellite also helps narrow down the receiver's own position, since it must be somewhere within the "ground footprint" of that particular satellite, along an arc defined by the particular Doppler shift found.

• CGEE basically means that the receiver extrapolates forward in time from information it had when it was last operating. Obviously, if the receiver is off for a long time, this information will become stale and relatively useless.

• SGEE means that it gets current ephemeris information from an exernal server of some sort. Obviously, this requires that the receiver must have regular access to a network connection of some sort, which is readily achieved when it is embedded in a cell phone, for example.

• You're making it too black and white ;) CGEE and SGEE both (can) contain location information, which is essential for obtaining a fast fix. CGEE can remember where it was last time it got a fix, and SGEE can contain some rough data about where the request for data was made from (i.e., "geoip"). So aspects of A-GPS is present in all of them - the only thing that sets A-GPS apart from the others is its inherent lack of any ephemeris data. It is used to augment the other two. – Majenko Sep 22 '14 at 14:31
• @Majenko: But it is black and white -- both kinds of information are required. Since the OP describes himself as a newcomer to this topic, I'm trying to present the fundamental issues so that he'll be able to reason about them. The fact that the actual implemented protocols sometimes bundle both types of information together is a detail that just obfuscates what the OP wants to know. – Dave Tweed Sep 22 '14 at 15:36

To put the three systems in a nutshell:

• A-GPS works out roughly where it is from its surroundings.
• CGEE remembers where it was so it knows roughly where it is.
• SGEE is told where it is by the vendor.

That's not 100% strictly true, but the simplest way of thinking about the differences.

When you have hundreds of satellites in a constellation, and only a handful of channels you can scan with, trying to work out which satellites are visible can be a long and involved task.

There are 2 ways of speeding up (and increasing the accuracy of) that task:

1. Have more channels. If you can scan for more satellites at once then you can do the whole lot faster. That makes the receiver much more complex though and costs \$.
2. Know what satellites should be there so you don't have to scan them all.

Option 2 is the "norm". Yes, you can get receivers with more channels, which makes a cold start much faster, but if you can narrow down the options of what satellites to look for then you can spend more of your time locked on to the right satellites, and less time looking for others.

The ephemeris data is basically a list of what satellites should be visible from your location and when. By knowing your rough current location you can use the ephemeris data to predict what satellites should be there and prioritise the searching for those specific satellites.

The three options define, not only how to get or store that ephemeris data, but also how to assist in obtaining your current rough location.

A-GPS uses the surroundings.

By knowing which cell phone tower you're connected to, or what WiFi routers are in the vicinity, you can get a rough idea of where you are. If you know that, then you can have a good stab at what satellites are in view above you, and look for those first. It makes for a nice fast (and accurate) positional lock.

CGEE remembers where it is.

This is the traditional "warm" start. The GPS has already worked out where it is by scanning all the satellites. The satellites themselves have provided the latest ephemeris data. The GPS receiver remembers that data, along with where it is, so that the next time it wants to get a lock (as long as it still remembers the data) it knows a) where it is, and b) what satellites should be there, which makes it nice and fast. This is what your "second" question is referring to.

SGEE is told where it is.

If your receiver downloads the ephemeris data from the 'net, and knows what the time is, and what time zone it's in, then it can calculate which of the satellites should be in view from its current location. The download may also be tailored to a specific country - say you download UK specific ephemeris data, so the module knows it's in the UK. (I don't know if any actively do that, but it's possible).

• Thanks @majenko! thank you for your time spent writing that very explanatory reply. Please, if you can, can you recommend TOP GPS modules that have highest performance? A set of trusted vendors who give good GPS modules? I know of Linx,SIM,Fasttrax,Ublox.Any other I'm not aware of who are popular in the Industry? Even military standard is fine. I just need a list of them. Thanks again!! – Denis Sep 22 '14 at 11:02
• "Hundreds of satellites"? Huh? – Guillermo Prandi Sep 28 '14 at 22:12
• Tens, hundreds, thousands ... millions? Who knows what the future of GPS will hold? – Majenko Sep 28 '14 at 22:49