GPS Pseudorange Geometry Workbench

GPS Pseudorange Geometry Workbench

Build a four-unknown GPS fix from range spheres, receiver-clock bias, and satellite geometry

animation
simulation
gps
gnss
positioning
geometry
Deterministic GPS pseudorange geometry workbench with draggable satellites, receiver-clock bias, signed measurement noise, Gauss-Newton solving, rank gating, GDOP, and PDOP.
GPS geometryPseudorangeRank 4

GPS Pseudorange Geometry Workbench

Each satellite contributes one measured range containing the same receiver-clock error. Build the constraints in stages, then solve position and clock together.

Unknownsx, y, z, clock bias
Enabled equations4 pseudoranges
Rank gaterank 4 — fix available
GeometryPDOP 1.87
Try
See why a receiver clock adds a fourth unknown to three position coordinates.
Observe
Choose “Three only”, then change only Enabled measurements from 3 to 4.
Explain
Rank changes from 3 to 4 and the hidden clock term becomes solvable.
Boundary
Every pseudorange contains geometric distance plus one shared receiver-clock bias.
Stage 1Form one range sphere

One pseudorange constrains the receiver to a surface.

Stage 2Add constraints

More satellites intersect the candidate geometry.

Stage 3Expose the fourth unknown

The shared clock term shifts every pseudorange.

Stage 4Run one iteration

QR solves one Gauss-Newton update without forming an inverse.

Stage 5Diagnose geometry and noise

Rank, residuals, PDOP, and convergence qualify the fix.

Range-constraint scene

Start with one measured sphere. Drag a satellite or use its keyboard arrow keys to change the teaching geometry.

Stage 1 of 5
GPS pseudorange geometry Satellites and pseudorange constraints around the true and estimated receiver positions.
Solver statusSolved

Four independent measurements reveal all four unknowns.

Receiver estimate0.000, 0.000, 0.000 km

Converged in 3 iterations.

Clock bias300.000 m · 1.00 us

One shared term is estimated with position.

Rank4 of 4

The Jacobian has four independent columns.

GDOP / PDOP2.00 / 1.87

Geometry amplifies range uncertainty.

Predicted position RMS0.00 m

sigma range × PDOP.

Controls

Play follows the same five deterministic stages as Step.

Receiver and measurements
Selected satellite
Deterministic measurement noise

One state, one calculation

The scene, residual ledger, solution, and geometry diagnostics all consume the same pure calculation result.

rho_i = ||r_true - s_i|| + b_clock + noise_i
residual_i = rho_i - (||r - s_i|| + b)
delta = QR_least_squares(J, residual)
[r,b]_(k+1) = [r,b]_k + delta
predicted position RMS = sigma_range × PDOP
Four independent measurements solve four unknowns.The receiver position and shared clock bias are published together.

Pseudorange and residual ledger

All distances below use the scale-neutral local teaching coordinates stored internally in metres.

Satellite Pseudorange Noise Residual Used

Deterministic fixture checks

These source-contract fixtures run in the page at 1e-6 relative tolerance. Rounded GDOP/PDOP gates are compared at their contracted two-decimal display precision.

Fixture Computed Expected Result
Technical boundaries. This is a deterministic pseudorange geometry solver with known satellite coordinates and one shared receiver-clock term. It does not acquire RF signals or model ephemeris/orbit error, satellite clock correction, ionosphere, troposphere, relativity, Earth rotation, multipath/NLOS, integer ambiguity, constellation time offsets, RAIM, Kalman filtering, map matching, or receiver power. Local fixture coordinates are scale-neutral solver checks, not satellite orbits. Real GNSS fixes require corrected ephemerides, calibrated measurements, quality checks, and more than the minimum satellites.

Model ownership: this workbench owns multi-satellite pseudorange equations, receiver-clock bias, solver iteration, and geometry amplification. UWB TWR retains two-device timing exchange and NLOS ranging; Location Selector retains technology and deployment choice.