30
T.C. BOĞAZİÇİ UNIVERSITY DEPARTMENT of CIVIL ENGINEERING CE505 APPLIED STOCHASTIC ANALYSIS&MODELLING project: GPS Simulation Using MATLAB by Utku Yıldırım Erkan Kurt

Gps Simulation Using Matlab

Embed Size (px)

Citation preview

Page 1: Gps Simulation Using Matlab

T.C. BOĞAZİÇİ UNIVERSITY

DEPARTMENT of CIVIL ENGINEERING

CE505 APPLIED STOCHASTIC ANALYSIS&MODELLING

project:

GPS Simulation Using MATLAB

by Utku Yıldırım

Erkan Kurt

Page 2: Gps Simulation Using Matlab

What is GPS?

The Global Positioning System (GPS) is a space based radio positioning/navigation system

that will provide three-dimensional position, velocity and time information to suitably

equipped users anywhere on or near the surface of the earth.

The Global Positioning System (GPS) is a system of 31 satellites which circle the earth twice

a day in a very percise orbit and and transmit information to earth. The GPS navigator we

used during our project, must continuously see at least four of these satellites to calculate our

position.

By using a timetable of satellite numbers and their orbits stored in the receiver’s memory, the

receiver can determine the distance and position of any GPS satellite and use this information

to compute your position.

How GPS works?

Satellites send radio signals to the receivers which are on earth surface. Using these signals

receiver calculates its location on earth.

A GPS receiver needs four satellites to provide a three-dimensional (3D) fix and three

satellites to provide a two-dimensional (2D) fix. A three-dimensional (3D) fix means the unit

knows its latitude, longitude and altitude, while a two-dimensional (2D) fix means the unit

knows only its latitude and longitude.

The satellites share a common time system known as ‘GPS time’ and transmit (broadcast) a

precise time reference as a spread spectrum signal at two frequencies in L-Band: L1=1575,42

MHz, L2=1227,6 MHz. Two spread spectrum codes are used: a civil coarse acquasition (C/A)

code and a military precise (P) code. L1 contains both a P band a C/A code, while L2 contains

only the P code.

The accuracy of both codes is different. The receiver of the civil code cannot decode the

military P code when the security status ‘Selective Availability’ in GPS satellites is turned on.

Page 3: Gps Simulation Using Matlab

With selective availability turned on, military users determine their location within 17,8 m,

while civilian users determine their position within an accuracy of 100m; hence selective

availability degrades the navigation information to all civil users.

What is our problem?

S1

S3 d1

d2

d3 P

We are trying to write a code using MATLAB which is the same as used in GPS receivers.

The code will take the distances (as inputs) send by satellites which is between the satellite

and the point. Also the code will know the position of satellites in space.

All the points with di distances from each satellite i, defines a sphere in the space. We also

assume that earth is spherical. The intersection of these two spheres (the earth and sphere

defined by all the points with di distances from each satellite i) is a circle on earth surface.

For each satellite i, it is the same situation. If we can take the exact distances, these circles -

formed with a satellite and earth- intersect exactly at one point and it is our point P.

But there is one problem: we cannot determine the di distances exactly. There is an error

term. As a result of these errors, the circles do not intersect at one exact point. Each circle

intersects the other circle at two different points. From the below figure, we can see that an

area (ambiguity area) is formed as a result of the intersection of the circles. We know that ou

point P lies in this area but we do not know its exact location.

S2

r

Page 4: Gps Simulation Using Matlab

Ambiguity area Point P lies in this area

S3

S1

S2

So; we will propose a probabilistic methodology to estimate the location of point P and the

error, while estimating the location of point P.

Page 5: Gps Simulation Using Matlab

Proposed Solution Definitions

Si

di

ri

o

x

y

z

RE P

P is the location where we read GPS outputs.

RE is the radius of the earth.

ri is the distance of the satellite i from the center of coordinate system.

o is the center of earth and center of our coordinate system.

di is the distance at any time send from the satellite to our point P.

When we read output from GPS receiver, dio is the data sent from GPS satellite.

di is a random variable and we assume that di has a normal pdf with µ = dio and σ = 50m.

(normally this can be 10m but to be on the safe side we take this as 50m).

-spherical coordinate system:

αβ

x

z

y

r

x = r.cosβ.cosα y = r.cosβ.sinα z = r.sinβ

Page 6: Gps Simulation Using Matlab

Inputs and outputs of the reciever

When the user of GPS receiver wants the output as lateral and longitudinal coordinates on

earth, the inputs of the receiver will be

1. Radius of the earth; r = RE (Assumption: Earth is assumed to be spherical).

2. Place of satellite i (for i =1,…,N); αi, βi, ri in spherical coordinates.

3. Distance between satellite i (i =1,…,N) and our location; dio. (Taken from satellite i,

by the GPS gadget).

4. Probability distribution of di and we assume that di has a normal pdf with µ = dio and

σ = 50m.

pdf

di

Solution algorithm

1. First of all we must define the intersection area created by n circles, using dio’s that

satellites send to our GPS. So we need the equation of each circle which is the

intersection set of a sphere with earth centered and earth radius, and a sphere with

satellite centered and with dio radius. This will define all points that are dio far from

the satellite i.

Definition of a circle when two spheres intersect:

We have the formula of two spheres. First sphere is the earth and the formula of the

earth is in spherical coordinates. Second sphere is around the satellite i and have a

radius dio. The formula is in cartesian coordinates.

Page 7: Gps Simulation Using Matlab

EQ.1: r = RE; where RE is the radius of the earth.

EQ.2: (x-xi)2 + (y-yi)2 + (z-zi)2 = dio2

Convert EQ.2 into spherical coordinates:

(r.cosβ.cosα -ri.cosβi.cosαi)2+(r.cosβ.cosα -ri.cosβi.cosαi)2+(r.cosβ.cosα -ri.cosβi.cosαi)2 =dio

2

x = r.cosβ.cosα y = r.cos.βsinα z = r.sinβ

r2cos2βcos2α - 2rcosβcosα ricosβicosαi + ri

2cos2βicos2αi r2cos2βsin2α - 2rcosβsinα ricosβisinαi + ri

2cos2βisin2αi ri

2

r2

r2sin2β – 2rsinβrisinβi + ri2sin2βi = dio

2 r2 + ri

2 – 2r.ri(cosβcosαcosβicosαi + cosβsinαcosβ

f i, αi, βi) = dio2 i(r, α, β, r

We find the intersection of two spheres, by puttin

RE2 + ri

2 – 2RE.ri(cosβcosαcosβicosαi + cosβsinαc

dio2 = fi(RE, α, β, ri, αi, βi)

2. Using two circle equations, we find the in

dio2 = fi(RE, α, β, ri, αi, βi)

djo2 = fi(RE, α, β, rj, αj, βj)

xi = ri.cosβi.cosαiyi = ri.cosβi.sinαi zi = ri.sinβi

isinαi + sinβsinβi) = dio2 ………………….(*)

g r = RE in (*) equation:

osβisinαi + sinβsinβi) = dio2

tersection points:

Page 8: Gps Simulation Using Matlab

If there is n satellites;

there are n circles.

there are n(n-1)/2 intersecting circle pairs.

there are n(n-1) intersecting points.

We eliminate the points that we do not need by calculating the distance between the points

and the center of the circles. If the distance is larger than the diameter of the circle we

calculated the distance for; we eliminate the point (the blue dots on the above figure).

As a result of these processes, we find the boundary for our point P (the triangular shape

bounded by the red dots on the above figure). For each of the three red dots on the above

figure, there are different α and β’s (the radius of the earth for all of them are same as

expected). We find αmax, αmin, βmax, βmin from these pairs to create a rectangular area around

point P.

αmax

αmin

βmin

βmax

Page 9: Gps Simulation Using Matlab

3. At the very beginning, we try to transform two variables (di , dj) into new variables

(α , β). We do the transformation and find the Jacobian matrix for transormation, but

when we write the code and run we saw that the Jacobian matrix is incorrect. Then we

strat to think the right solution. Then as seen from the figure below, for every d there

is a circle created by satellite i and earth. At the beginning we thought that α , β are

independent from each other and tried to transform one variable (di) to two

variables(α , β) ,but it is impossible to pass to 2 degrees of freedom from one degree

of freedom. Then we see that in every circle created by satellite i ; α , β are related

with each other with an equation. For every α there is a β on the circle. So we decide

that all α , β pairs in one circle equation will have the same probability of d. So the

probability of a point in our ambiguity area will be product of probabilities of

distances between that point and satellites.

d

d

µ

Page 10: Gps Simulation Using Matlab

Our MATLAB source code

%Determine the number of satellites and satellite properties

ap=input('Enter the latitude of point \n');

bp=input('Enter the longitude of point \n');

n=input('Enter the number of satellites \n');

for i=1:n

fprintf('Enter the height of the satellite %i in meters \n',i)

rs(i)=input('');

fprintf('Enter the alpha of the satellite %i in degrees \n',i)

as(i)=input('');

as(i)=(as(i)*2*pi)/360;

fprintf('Enter the beta of the satellite %i in degrees \n',i)

bs(i)=input('');

bs(i)=(bs(i)*2*pi)/360;

fprintf('Enter the distance between the satellite %i and the point where we take

measurement,send from satellite %i \n',i,i)

d(i)=input('');

end

%Radius of earth and sigma for normal distribution

re=6371000;

s=50;

%Normally we won't use ap and bp we will find alpha and between for each satellite circle

but it is time consuming

ap=(ap*2*pi)/360;

bp=(bp*2*pi)/360;

Page 11: Gps Simulation Using Matlab

%Defining the square ambiguity area,normally found from maximum and minumum alpha

and betas

%that found from intersection points of circles, but now we use alpha and beta of point

%Using s value we choose, we calculated the most possible interval for probability

calculation

for i=1:3

a=ap-0.00004:0.000001:ap+0.00004;

b=bp-0.00004:0.000001:bp+0.00004;

sizea=length(a);

sizeb=length(b);

pab=ones(sizea,sizeb);

%Finding the probabilities for alpha,beta pairs

for k=1:sizea

for l=1:sizeb

for i=1:n

dab(i)=(re^2+rs(i)^2-

2*re*rs(i)*(cos(b(l))*cos(a(k))*cos(bs(i))*cos(as(i))+cos(b(l))*sin(a(k))*cos(bs(i))*sin(as(i))

+sin(b(k))*sin(bs(i))))^(1/2);

pdab(i)=normpdf(dab(i),d(i),s);

if i==n

for j=1:n

pab(k,l)=pdab(j)*pab(k,l);

end

end

end

end

end

%Plot of the probability distribution of alpha's and beta's

Page 12: Gps Simulation Using Matlab

figure,meshc(a,b,pab),xlabel('alpha'),ylabel('beta'),zlabel('Probability of points')

%To find the centroid of the volume

sumofmass=0;

sumofmoma=0;

sumofmomb=0;

for k=1:sizea

for l=1:sizeb

sumofmass=pab(k,l)+sumofmass;

sumofmoma=pab(k,l)*a(k)+sumofmoma;

end

end

for l=1:sizeb

for k=1:sizea

sumofmomb=pab(k,l)*b(l)+sumofmomb;

end

end

centera=sumofmoma/sumofmass;

centerb=sumofmomb/sumofmass;

%To find the maximum probable point

mostprobablepoint=max(max(pab));

for k=1:sizea

for l=1:sizeb

if pab(k,l)==mostprobablepoint

mostprobablealpha=a(k);

mostprobablebeta=b(l);

end

end

end

Page 13: Gps Simulation Using Matlab

%Revising our initial values to refine the calculations

ap=centera;

bp=centerb;

for i=1:n

d(i)=(re^2+rs(i)^2-

2*re*rs(i)*(cos(bp)*cos(ap)*cos(bs(i))*cos(as(i))+cos(bp)*sin(ap)*cos(bs(i))*sin(as(i))+sin(b

p)*sin(bs(i))))^(1/2);

end

end

%Conversion to degree-minute-second from radian

%for estimation of point using the center of mass of probability

lat=centera*360/(2*pi);

long=centerb*360/(2*pi);

if long<0

hemilong=('South');

else

hemilong=('North');

end

if lat<0

hemilat=('West');

else

hemilat=('East');

end

degreelong=fix(long);

minutelong=fix((long-degreelong)*60);

Page 14: Gps Simulation Using Matlab

secondlong=(long-degreelong-minutelong/60)*60;

degreelat=fix(lat);

minutelat=fix((lat-degreelat)*60);

secondlat=(lat-degreelat-minutelat/60)*60;

%Output of the system for mass center

fprintf('\n Your position estimation using mass center\n')

fprintf('%i %i %d %s \n',degreelong,minutelong,secondlong,hemilong)

fprintf('%i %i %d %s \n',degreelat,minutelat,secondlat,hemilat)

%Conversion to degree-minute-second from radian

%for estimation of point using most probable point

latp=mostprobablealpha*360/(2*pi);

longp=mostprobablebeta*360/(2*pi);

if longp<0

hemilongp=('South');

else

hemilongp=('North');

end

if latp<0

hemilatp=('West');

else

hemilatp=('East');

end

degreelongp=fix(longp);

minutelongp=fix((longp-degreelongp)*60);

secondlongp=(longp-degreelongp-minutelongp/60)*60;

Page 15: Gps Simulation Using Matlab

degreelatp=fix(latp);

minutelatp=fix((latp-degreelatp)*60);

secondlatp=(latp-degreelatp-minutelatp/60)*60;

%Output of the system for most probable point

fprintf('\n Your position estimation using most probable point \n')

fprintf('%i %i %d %s \n',degreelongp,minutelongp,secondlongp,hemilongp)

fprintf('%i %i %d %s \n',degreelatp,minutelatp,secondlatp,hemilatp)

%Calculating the error

sum=0;

total=0;

for k=1:sizea

for l=1:sizeb

if pab(k,l)>0.1*mostprobablepoint

total=total+1;

x1=re*cos(b(l))*cos(a(k));

y1=re*cos(b(l))*sin(a(k));

z1=re*sin(b(l));

x2=re*cos(centerb)*cos(centera);

y2=re*cos(centerb)*sin(centera);

z2=re*sin(centerb);

sum=sum+((x1-x2)^2+(y1-y2)^2+(z1-z2)^2)^(1/2);

end

end

end

error=sum/total;

fprintf('Error of the estimation \n')

fprintf('%d',error)

Page 16: Gps Simulation Using Matlab

Inputs to the code

Enter the latitude of point

29.0523611

Enter the longitude of point

41.0835

Enter the number of satellites

5

Enter the height of the satellite 1 in meters

20243200

Enter the alpha of the satellite 1 in degrees

25.6

Enter the beta of the satellite 1 in degrees

9

Enter the distance between the satellite 1 and the point where we take measurement, send

from satellite 1 ……………………………………………………………………………(1)

15237610

Enter the height of the satellite 2 in meters

20197500

Enter the alpha of the satellite 2 in degrees

-42.2

Enter the beta of the satellite 2 in degrees

43.3

Enter the distance between the satellite 2 and the point where we take measurement, send

from satellite 2 ……………………………………………………………………………(2)

16945900

Enter the height of the satellite 3 in meters

20161500

Enter the alpha of the satellite 3 in degrees

53.8

Enter the beta of the satellite 3 in degrees

24.9

Page 17: Gps Simulation Using Matlab

Enter the distance between the satellite 3 and the point where we take measurement, send

from satellite 3…………………………………………………………………………… (3)

14713650

Enter the height of the satellite 4 in meters

20101700

Enter the alpha of the satellite 4 in degrees

97.4

Enter the beta of the satellite 4 in degrees

3.3

Enter the distance between the satellite 4 and the point where we take measurement, send

from satellite 4 …………………………………………………………………………….(4)

19075230

Enter the height of the satellite 5 in meters

20142400

Enter the alpha of the satellite 5 in degrees

1.8

Enter the beta of the satellite 5 in degrees

35.8

Enter the distance between the satellite 5 and the point where we take measurement, send

from satellite 5 ……………………………………………………………………………(5)

14427730

note about (1),(2),(3),(4),(5):

These are the figures that we get from the GPS receiver. But they are not the exact

values. The exact ones are: (1). 15237604, (2). 16945895, (3). 14713601, (4).

19075178, (5).14427708.

Page 18: Gps Simulation Using Matlab

outputs

Your position estimation using mass center

41 5 6.486010e-002 North

29 3 1.152029e-001 East

Your position estimation using most probable point

41 5 6.486028e-002 North

29 3 1.152027e-001 East

Error of the estimation

6.451908e+001

Page 19: Gps Simulation Using Matlab

DGPS (differential GPS) A DGPS (differential GPS) system employs a local reference station, which has a high quality

GPS receiver and an antenna at a known, surveyed location. The reference station estimates

the slowly varying components of the GPS satellite range measurement errors, and transmits

them as corrections to users within communucation range of the station. With this concept

higher position accuracies are achieved for users in the vicinity of a DGPS reference station

(the accuracy reduces with increasing radial distance).

A surveying application: By using GPS equipment on an aircraft -typically dual- frequency,

24 channel receivers with the antenna as close as possible to camera lens itself and a DGPS

base station on the ground, the position of the plane itself can be recorded to an accuracy

levevl of about 2 meters (this obviates the need to send in survey crews in advance to set

visible ground markers).

Using the GPS code, station only calculates the error ratio in distances and send this to GPS

receiver. So the sigma of the distribution will be smaller than the previous case.

Page 20: Gps Simulation Using Matlab

Our MATLAB source code for DGPS

%Determine the number of satellites, satellite properties and estimated location

ast=input('Enter the latitude of station \n');

bst=input('Enter the longitude of station \n');

ap=input('Enter the latitude of point \n');

bp=input('Enter the longitude of point \n');

n=input('Enter the number of satellites \n');

for i=1:n

fprintf('Enter the height of the satellite %i in meters \n',i)

rs(i)=input('');

fprintf('Enter the alpha of the satellite %i in degrees \n',i)

as(i)=input('');

as(i)=(as(i)*2*pi)/360;

fprintf('Enter the beta of the satellite %i in degrees \n',i)

bs(i)=input('');

bs(i)=(bs(i)*2*pi)/360;

fprintf('Enter the distance between the satellite %i and the station, send from satellite %i

\n',i,i)

ds(i)=input('');

fprintf('Enter the distance between the satellite %i and the point where we take

measurement,send from satellite %i \n',i,i)

dp(i)=input('');

end

%Radius of earth and sigma for normal distribution

re=6371000;

Page 21: Gps Simulation Using Matlab

s=10;

%Refining the values of dp(i) and converting them to d(i) to put them in algortihm

%First finding the error ratio and applying them to dp(i) and converting them to d(i)

ast=(ast*2*pi)/360;

bst=(bst*2*pi)/360;

for i=1:n

des(i)=(re^2+rs(i)^2-

2*re*rs(i)*(cos(bst)*cos(ast)*cos(bs(i))*cos(as(i))+cos(bst)*sin(ast)*cos(bs(i))*sin(as(i))+sin

(bst)*sin(bs(i))))^(1/2);

err(i)=ds(i)/des(i);

d(i)=dp(i)/err(i);

end

%Normally we won't use ap and bp we will find alpha and between for each satellite circle

pairs but it is time consuming

ap=(ap*2*pi)/360;

bp=(bp*2*pi)/360;

%Defining the square ambiguity area,normally found from maximum and minumum alpha

and betas

%that found from intersection points of circles, but now we use alpha and beta of point

%Using s value we choose, we calculated the most possible interval for probability

calculation

for i=1:3

a=ap-0.00002:0.000001:ap+0.00002;

b=bp-0.00002:0.000001:bp+0.00002;

sizea=length(a);

sizeb=length(b);

Page 22: Gps Simulation Using Matlab

pab=ones(sizea,sizeb);

%Finding the probabilities for alpha,beta pairs

for k=1:sizea

for l=1:sizeb

for i=1:n

dab(i)=(re^2+rs(i)^2-

2*re*rs(i)*(cos(b(l))*cos(a(k))*cos(bs(i))*cos(as(i))+cos(b(l))*sin(a(k))*cos(bs(i))*sin(as(i))

+sin(b(k))*sin(bs(i))))^(1/2);

pdab(i)=normpdf(dab(i),d(i),s);

if i==n

for j=1:n

pab(k,l)=pdab(j)*pab(k,l);

end

end

end

end

end

%Plot of the probability distribution of alpha's and beta's

figure,meshc(a,b,pab),xlabel('alpha'),ylabel('beta'),zlabel('Probability of points')

%To find the centroid of the volume

sumofmass=0;

sumofmoma=0;

sumofmomb=0;

for k=1:sizea

for l=1:sizeb

sumofmass=pab(k,l)+sumofmass;

sumofmoma=pab(k,l)*a(k)+sumofmoma;

end

end

Page 23: Gps Simulation Using Matlab

for l=1:sizeb

for k=1:sizea

sumofmomb=pab(k,l)*b(l)+sumofmomb;

end

end

centera=sumofmoma/sumofmass;

centerb=sumofmomb/sumofmass;

%To find the maximum probable point

mostprobablepoint=max(max(pab));

for k=1:sizea

for l=1:sizeb

if pab(k,l)==mostprobablepoint

mostprobablealpha=a(k);

mostprobablebeta=b(l);

end

end

end

%Revising our initial values to refine the calculations

ap=centera;

bp=centerb;

for i=1:n

d(i)=(re^2+rs(i)^2-

2*re*rs(i)*(cos(bp)*cos(ap)*cos(bs(i))*cos(as(i))+cos(bp)*sin(ap)*cos(bs(i))*sin(as(i))+sin(b

p)*sin(bs(i))))^(1/2);

end

end

Page 24: Gps Simulation Using Matlab

%Conversion to degree-minute-second from radian

%for estimation of point using the center of mass of probability

lat=centera*360/(2*pi);

long=centerb*360/(2*pi);

if long<0

hemilong=('South');

else

hemilong=('North');

end

if lat<0

hemilat=('West');

else

hemilat=('East');

end

degreelong=fix(long);

minutelong=fix((long-degreelong)*60);

secondlong=(long-degreelong-minutelong/60)*60;

degreelat=fix(lat);

minutelat=fix((lat-degreelat)*60);

secondlat=(lat-degreelat-minutelat/60)*60;

%Output of the system for mass center

fprintf('\n Your position estimation using mass center\n')

fprintf('%i %i %d %s \n',degreelong,minutelong,secondlong,hemilong)

fprintf('%i %i %d %s \n',degreelat,minutelat,secondlat,hemilat)

Page 25: Gps Simulation Using Matlab

%Conversion to degree-minute-second from radian

%for estimation of point using most probable point

latp=mostprobablealpha*360/(2*pi);

longp=mostprobablebeta*360/(2*pi);

if longp<0

hemilongp=('South');

else

hemilongp=('North');

end

if latp<0

hemilatp=('West');

else

hemilatp=('East');

end

degreelongp=fix(longp);

minutelongp=fix((longp-degreelongp)*60);

secondlongp=(longp-degreelongp-minutelongp/60)*60;

degreelatp=fix(latp);

minutelatp=fix((latp-degreelatp)*60);

secondlatp=(latp-degreelatp-minutelatp/60)*60;

%Output of the system for most probable point

fprintf('\n Your position estimation using most probable point \n')

fprintf('%i %i %d %s \n',degreelongp,minutelongp,secondlongp,hemilongp)

fprintf('%i %i %d %s \n',degreelatp,minutelatp,secondlatp,hemilatp)

Page 26: Gps Simulation Using Matlab

%Calculating the error

sum=0;

total=0;

for k=1:sizea

for l=1:sizeb

if pab(k,l)>0.1*mostprobablepoint

total=total+1;

x1=re*cos(b(l))*cos(a(k));

y1=re*cos(b(l))*sin(a(k));

z1=re*sin(b(l));

x2=re*cos(centerb)*cos(centera);

y2=re*cos(centerb)*sin(centera);

z2=re*sin(centerb);

sum=sum+((x1-x2)^2+(y1-y2)^2+(z1-z2)^2)^(1/2);

end

end

end

error=sum/total;

fprintf('Error of the estimation \n')

fprintf('%d',error)

Page 27: Gps Simulation Using Matlab

inputs to the code

Enter the latitude of station

29.0523889

Enter the longitude of station

41.0835278

Enter the latitude of point

29.0518611

Enter the longitude of point

41.0833056

Enter the number of satellites

5

Enter the height of the satellite 1 in meters

20243200

Enter the alpha of the satellite 1 in degrees

25.6

Enter the beta of the satellite 1 in degrees

9

Enter the distance between the satellite 1 and the station, send from satellite 1

15237610

Enter the distance between the satellite 1 and the point where we take measurement,send from

satellite 1

15237480

Enter the height of the satellite 2 in meters

20197500

Enter the alpha of the satellite 2 in degrees

-42.2

Enter the beta of the satellite 2 in degrees

43.3

Enter the distance between the satellite 2 and the station, send from satellite 2

16945900

Enter the distance between the satellite 2 and the point where we take measurement,send from

satellite 2

Page 28: Gps Simulation Using Matlab

16945970

Enter the height of the satellite 3 in meters

20161500

Enter the alpha of the satellite 3 in degrees

53.8

Enter the beta of the satellite 3 in degrees

24.9

Enter the distance between the satellite 3 and the station, send from satellite 3

14713650

Enter the distance between the satellite 3 and the point where we take measurement,send from

satellite 3

14713600

Enter the height of the satellite 4 in meters

20101700

Enter the alpha of the satellite 4 in degrees

97.4

Enter the beta of the satellite 4 in degrees

3.3

Enter the distance between the satellite 4 and the station, send from satellite 4

19075230

Enter the distance between the satellite 4 and the point where we take measurement,send from

satellite 4

19075220

Enter the height of the satellite 5 in meters

20142400

Enter the alpha of the satellite 5 in degrees

1.8

Enter the beta of the satellite 5 in degrees

35.8

Enter the distance between the satellite 5 and the station, send from satellite 5

14427730

Enter the distance between the satellite 5 and the point where we take measurement,send from

satellite 5

14427700

Page 29: Gps Simulation Using Matlab

output

Your position estimation using mass center

41 4 9.661268e-001 North

29 3 1.282118e-001 East

Your position estimation using most probable point

41 4 9.661268e-001 North

29 3 1.282118e-001 East

Error of the estimation

1.265814e+001

Page 30: Gps Simulation Using Matlab

Conclusion

In this project, we try to estimate the position and error of handheld GPS receivers using a

probabilistic approach. We build a simulation with some assumptions that gives the location

and error of handheld GPS receivers. But we saw that the error and the location depends on

sigma of the normal probability distribution of the distances between point and the satellites

when we use different sigma values. The location estimations are nearly same but the error

gets larger and larger with increasing sigma values. And it is very hard to find the ambiguity

area, since equations are implicit and needs iteration for solution. We have to discretizing the

whole word with small intervals. But it is hard to iterate for a huge data points. Then we tried

to find the area with random numbers, but it is not efficient and it is time consuming.