Analysis of the basic principle of GPS positioning "turn"

Source: Internet
Author: User

Original site: http://www.cnblogs.com/magicboy110/archive/2010/12/09/1901669.html

There are many professional materials about GPS theory on the network, and this paper tries to introduce the basic principle of GPS positioning in a way that programmers can easily understand, hoping to enlighten the friends who do GPS development. Of course, this article does not involve specific development aspects of the technology.

A mathematical model of GPS positioning

The first reason to introduce a mathematical model is because I think the mathematical model is probably a concern of the programmer. Of course, in advance, this model is just me based on some GPS data for the programmer summed up a simplified model, the details may not be in line with the actual, want to know the specific details please refer to the professional GPS information.

GPS positioning, in effect, is to determine the location of the GPS receiver via a satellite of four known locations.

As shown in the figure, the GPS receiver for the current equipment to determine the location of the satellite 1, 2, 3, 4 for this position to use the four satellites:

    • Position1, Position2, Position3, and Position4 are the current positions (spatial coordinates) of four satellites, known
    • D1, D2, D3, and D4 are four satellites, respectively, to the distance of the GPS receiver to be located, known
    • Location is the position of the satellite receiver to be located, waiting for

So the process of positioning, simply speaking, is through a function GetLocation (), from the known [position1,d1],[position2,d2], [position3,d3],[position4,d4] four Find the value of location in the data. A function call that is familiar to programmers means:

Location=getlocation ([position1,d1],[position2,d2],[position3,d3],[position4,d4]);

As soon as you see this function call, the programmer should be very interested: Where do these parameters come from? How is this function executed? Who's going to do it? The three-dimensional geometry has not yet been forgotten. It is also possible to ask: why do I have to have 4 pairs of parameters? Then let's explore.

1.position1, Position2, Position3, Position4 where do these location information come from?

In fact, each of the GPS satellites running in space is constantly broadcasting their current position coordinate information to the world through satellite signals. Any GPS receiver can easily receive this information via an antenna and be able to read this information (which is actually one of the core functions of each GPS chip). This is the source of these location information.

2.D1, D2, D3, D4 where do these distance information come from?

We already know that every GPS satellite is tirelessly broadcasting its location, and when sending the location information, it also appends the timestamp at the time the packet was sent. When a GPS receiver receives a packet, it uses the current time (the current time, of course, determined by the GPS receiver itself) minus the timestamp time, which is the time it takes for the packet to be transmitted in the air.

Knowing the transmission time of the packet in the air, then multiply his transmission speed, that is, the distance that the packet travels in the air, that is, the distance of the satellite to the GPS receiver. The packet is transmitted by radio waves, then the ideal speed is the speed of light C, the transmission time is recorded as TI, the formula is said to be:

Di=c*ti (i=1,2,3,4);

This is the source of Di (i=1,2,3,4).

How is the 3.GetLocation () function performed?

This function is imaginary for me to illustrate the problem, but it does not necessarily exist, but there must be such a similar computational logic. These arithmetic logic can be implemented by software, but in fact it may be done mostly by hardware chips (which may be one of the core functions of every GPS chip).

4. Why do I have to have four pairs of parameters?

According to the three-dimensional geometric knowledge, three pairs of [positioni,di] Such data can be determined a point (in fact, maybe two, but we can pass the logic to determine the one), why do we need four? Ideally, three pairs are enough, which means that ideally only three satellites are needed to achieve GPS positioning. But in fact, it has to be four capsules.

Because according to the above formula, DI is calculated by c*ti, and we know that the C value is very large (the ideal speed is the velocity of light), then for time ti, a very small error will be magnified many times so that the entire result is invalid. In other words, in GPS positioning, the accuracy of time requirements are very high. GPS satellites are timed with caesium atomic clocks, but it is not possible for each GPS receiver to have a caesium atomic clock, because the price of a caesium atomic clock may have surpassed this GPS device plus the price of this expensive car using GPS.

At the same time, because the speed C is also affected by the air ionosphere, there will be errors, moreover, GPS satellite broadcast of its own location may be error. Other factors can also affect the accuracy of the data.

In short, the data is error. These errors can lead to reduced positioning accuracy and may lead to invalid positioning. GetLocation more than one set of data is used in a function to correct the error . As for the specifics, we don't have to worry about it, as long as we know that using a set of data, we can eliminate or reduce the error by some ingenious algorithm, and ensure the positioning is effective. This is why the getlocation () function has to use four sets of data, which is why four satellites are required to be located.

How is the location information returned by the 5.GetLocation () function recognized by the GPS device?

It is said that in the position calculation is used in the form of spatial coordinates, but for GPS devices and applications, usually need a [longitude, latitude, height] such as location information. Then we can imagine that before the getlocation () function returns the position result, a conversion from the space coordinate form to the latitude and longitude form may be performed, and we may as well assume that there is a function such as convert (latitude and longitude, spatial coordinates) to do this conversion.

6. Single-point positioning and differential positioning

In fact, what is described above is just one of the positioning principles, called single point positioning, or absolute positioning. is to determine the location through a unique GPS receiver.

At present, the most accurate positioning accuracy is differential positioning, or relative positioning. is to improve the positioning accuracy by adding a reference GPS receiver.

Above we have been around a virtual getlocation () function basically clear the basic mathematical model of GPS positioning, for programming, know that this is enough (in fact, do not know and do not affect programming). If Curiosity is not satisfied, we continue to learn about some GPS-related background knowledge.

Third, the composition of the GPS system

GPS system = Space Section + Control Section + User Section

1. Space section

GPS space is mainly composed of 24 GPS satellites, of which 21 work satellites, 3 backup satellites. 24 satellites operate on 6 orbital planes with a running period of 12 hours. It is ensured that more than 4 satellites can be observed at any one time, at a height of 15 degrees or more in either location.

main role: send a satellite signal for navigation and positioning.

Composition: - Satellite =21 working satellites +3 backup satellite .

2. Control Section

The GPS control part consists of 1 main control stations, 5 inspection stations and 3 injection stations.

Composition: GPS Control Section = main control Station ( 1 each) + Monitoring Stations ( 5 each) + Injection Station ( 3 each)

role: Monitor and control satellite operations, compile satellite Ephemeris (navigation messages), and maintain system time.

    • Master Station: collect satellite data from each monitoring station, calculate the satellite ephemeris and clock correction parameters, and inject satellites through the injection station, release instructions to the satellite, control the satellite, and dispatch the standby satellite when the satellite fails.
    • Monitoring station: receive satellite signals, detect satellite operation status, collect weather data, and transmit this information to the main control station.
    • Injection Station: the satellite ephemeris and clock correction parameters calculated by the main control station are injected into the satellite.

Analysis of the basic principle of GPS positioning "turn"

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.