Need method for trilateration of 3 GPS satellites

Click For Summary
SUMMARY

The discussion focuses on the method for trilateration using signals from three GPS satellites to determine a receiver's position. The user is implementing this in MATLAB and has identified the need for a non-linear least squares approach to minimize errors in the pseudorange measurements. The equations provided detail the relationships between the receiver's position and the satellite positions, highlighting the necessity of using the LSQNONLIN function in MATLAB for optimization. The user seeks assistance in coding this method effectively.

PREREQUISITES
  • Understanding of trilateration principles in GPS technology
  • Familiarity with MATLAB programming, specifically the LSQNONLIN function
  • Knowledge of non-linear least squares optimization techniques
  • Basic mathematical skills to manipulate simultaneous equations
NEXT STEPS
  • Research the implementation of the LSQNONLIN function in MATLAB for optimization tasks
  • Study examples of non-linear least squares problems in MATLAB
  • Explore error minimization techniques in GPS signal processing
  • Learn about the mathematical foundations of trilateration and its applications in navigation
USEFUL FOR

This discussion is beneficial for students and professionals in fields such as geolocation, GPS technology, and MATLAB programming, particularly those working on projects involving satellite positioning and optimization techniques.

tribaljunkie
Messages
4
Reaction score
0
Can someone please shed some light on the exact method for finding the two points at which the spheres created by the GPS signals from 3 different satellites intersect? I have been working on a uni project for 4 days now and still can't get this relatively simple part of my MATLAB code to work. I realize the 4th satellite is for a time error, but that's not part of my report, i just have the position of that to select the intersection point with the range closest to the pseudorange from the 4th satellite.

the data i have is 4 satellite positions and their corresponding pseudoranges.

if someone could give me the mathematical method, or if you're able even the MATLAB process required as I am a bit rusty with it.

any help much appreciated, cheers.
 
Engineering news on Phys.org
after a bit more research iv found i need to use the non linear least squares method in MATLAB, but still having trouble coding it.

if the ranges from the satellites were perfect i could use the simultaneous equations

0 = (ri_ia(1,1)-ri_is1(1,1))^2+(ri_ia(2,1)-ri_is1(2,1))^2+(ri_ia(3,1)-ri_is1(3,1))^2 - rho_1^2;
0 = (ri_ia(1,1)-ri_is2(1,1))^2+(ri_ia(2,1)-ri_is2(2,1))^2+(ri_ia(3,1)-ri_is2(3,1))^2 - rho_2^2;
0 = (ri_ia(1,1)-ri_is3(1,1))^2+(ri_ia(2,1)-ri_is3(2,1))^2+(ri_ia(3,1)-ri_is3(3,1))^2 - rho_3^2;
0 = (ri_ia(1,1)-ri_is4(1,1))^2+(ri_ia(2,1)-ri_is4(2,1))^2+(ri_ia(3,1)-ri_is4(3,1))^2 - rho_4^2;

where ri_ia is the receiver position (1x3 vector), ri_is is the satellite position (1x3 vector) and rho is the corresponding range from receiver to satellite (scalar). Also rho includes unavoidable errors.

as the measurements are not exact i must use the least squares approach minimising the error dri_ia.

dri_ia1 = (ri_ia(1,1)-ri_is1(1,1))^2+(ri_ia(2,1)-ri_is1(2,1))^2+(ri_ia(3,1)-ri_is1(3,1))^2 - rho_1^2;
dri_ia2 = (ri_ia(1,1)-ri_is2(1,1))^2+(ri_ia(2,1)-ri_is2(2,1))^2+(ri_ia(3,1)-ri_is2(3,1))^2 - rho_2^2;
dri_ia3 = (ri_ia(1,1)-ri_is3(1,1))^2+(ri_ia(2,1)-ri_is3(2,1))^2+(ri_ia(3,1)-ri_is3(3,1))^2 - rho_3^2;
dri_ia4 = (ri_ia(1,1)-ri_is4(1,1))^2+(ri_ia(2,1)-ri_is4(2,1))^2+(ri_ia(3,1)-ri_is4(3,1))^2 - rho_4^2;

thing is i have no idea how to get MATLAB to do this for me, could anyone lend a hand. i know the function is LSQNONLIN but i am not experienced enough with MATLAB to understand the help file and implement it.any help would be great, thanks.
 

Similar threads

  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 31 ·
2
Replies
31
Views
7K
  • · Replies 15 ·
Replies
15
Views
4K
Replies
1
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
Replies
2
Views
4K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 32 ·
2
Replies
32
Views
6K
Replies
4
Views
9K