| 1 | Define the Positioning Environment | The system establishes a local coordinate area and identifies the fixed reference points, called anchors, and the moving devices, called tags. | Anchors have known coordinates, such as (x, y) or (x, y, z). A tag is the object whose location must be calculated. Two-dimensional positioning generally requires at least three suitable distance measurements, while three-dimensional positioning normally requires at least four. |
| 2 | Transmit a UWB Radio Signal | A UWB device sends very short radio pulses across a wide frequency range. The short duration creates fine timing detail that can be used for ranging. | Ultra-wideband is commonly associated with a radio bandwidth of at least 500 MHz or a fractional bandwidth of at least 20%. UWB pulses typically occupy only a few nanoseconds or less, depending on the implementation. |
| 3 | Exchange Timestamped Messages | The tag and anchors exchange messages containing precise transmission and reception timestamps. The system uses these timestamps to estimate how long the signal traveled. | A message exchange may use one-way time of flight, two-way ranging, single-sided two-way ranging, or double-sided two-way ranging. Double-sided exchanges help reduce errors caused by clock offset between devices. |
| 4 | Measure Time of Flight | The signal travel time is estimated from the timestamp difference between transmission and reception. In two-way ranging, the signal travels from one device to another and back. | The basic relationship is distance = signal travel time × speed of light. Radio signals travel at approximately 299,792,458 meters per second in a vacuum. A 1-nanosecond timing error corresponds to roughly 0.30 meters of distance error. |
| 5 | Convert Time into Distance | The measured time of flight is converted into a range between the tag and each anchor. Each range represents a possible circle or sphere around an anchor. | For an ideal one-way measurement, d = c × Δt. For a round-trip measurement, the calculated distance is approximately d = c × (round-trip time − device processing delay) ÷ 2. Antenna delays and calibration values must be compensated. |
| 6 | Detect the First Path | The receiver analyzes the incoming waveform to identify the earliest valid signal path, rather than using only the strongest received reflection. | The first arriving path is important because reflected paths travel farther. Direct line-of-sight conditions usually provide the most reliable range. Walls, metal, furniture, people, and other objects can create multipath and non-line-of-sight errors. |
| 7 | Perform Trilateration or Multilateration | The location engine intersects the measured ranges from multiple anchors. In two dimensions, each range forms a circle; in three dimensions, each range forms a sphere. | For an unknown point (x, y) and anchor (xᵢ, yᵢ), the range equation is (x − xᵢ)² + (y − yᵢ)² = dᵢ². With more measurements than the minimum, the system can use least-squares or weighted optimization to reduce noise. |
| 8 | Estimate the Position | The positioning algorithm solves the range equations and produces the tag's coordinates in the local reference frame. | The result may include x, y, and optionally z coordinates, together with quality indicators such as residual error, anchor count, signal quality, and line-of-sight status. |
| 9 | Apply Filtering and Sensor Fusion | Successive position estimates are smoothed to reduce jitter. Motion sensors can be combined with UWB ranging to maintain a more stable track between updates. | Common processing methods include moving averages, Kalman filters, and extended Kalman filters. Accelerometers and gyroscopes can help estimate motion, while UWB corrects accumulated inertial drift. |
| 10 | Report Accuracy and Update Rate | The final location is delivered to an application together with timing and quality information. Accuracy depends on geometry, calibration, obstructions, antenna placement, and algorithm settings. | Well-designed indoor UWB systems can commonly achieve decimeter-level positioning under favorable conditions. Practical performance varies by environment. Higher update rates improve responsiveness but can increase power consumption and network traffic. |