Multilateration Algebraic GPS Equations (S. Bancroft method)

Calculates the position of a receiver given the time delay of arrival to at least 4 satellites in 3D (or at least 3 satellites in 2D).
324 Downloads
Updated 6 Feb 2023

View License

Calculates the position of a receiver given the time delay of arrival to at least 4 satellites in 3D (or at least 3 satellites in 2D).
INPUTS:
  1. satPos is Cartesian location of satellites (in 1D, 2D, or 3D). Each row is the position of one satellite.
  2. tVals is the arrival time of the signal = distance from
  3. satellite to reciever + offset b
OUTPUTS:
  1. eX estimated position of the user
  2. eb estimate of the offset time b
Implements the solution of Stephen Bancroft, "An Algebraic Solution of the GPS Equations," in IEEE Transactions on Aerospace and Electronic Systems, vol. AES-21, no. 1, pp. 56-59, Jan. 1985, doi: 10.1109/TAES.1985.310538. https://ieeexplore.ieee.org/document/4104017
Aaron T. Becker, University of Houston
Version 1.0.2: Feb 23, 2021 initial submission
Version 1.0.3: Feb 05, 2023 updated by adjusting the documentation

Cite As

Aaron T. Becker's Robot Swarm Lab (2024). Multilateration Algebraic GPS Equations (S. Bancroft method) (https://www.mathworks.com/matlabcentral/fileexchange/87744-multilateration-algebraic-gps-equations-s-bancroft-method), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2020b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.3

Corrected some grammar and inconsistency in the comments. Also added debugging code when the code is run in default form.

1.0.2

Added plotting in 3D (and in 1D). the original only plotted in 2D. Also added some logic because in 1D one can only determine the correct position if the user is within the span of the satellites.

1.0.1

Added plotting in 3D and 1D (original version only plotted in 2D)

1.0.0