31 UWB Indoor Positioning Systems
More
Depth: Practitioner
Progress saves as you read. Mark sections complete as you go; your progress appears in the sidebar.
31.1 Start With the Story
This section: Start With the Story — Ultra-wideband (UWB) is a radio method that uses very short signals to measure distance.
Prove the Position Before Acting on It
Ultra-wideband (UWB) is a radio method that uses very short signals to measure distance. Picture a lift truck moving near workers in a busy warehouse. A dot on a map may look exact, yet a poor anchor layout or blocked path can place that dot on the wrong side of an aisle.
Start with the action. Decide whether the system will guide a driver, slow a vehicle, or only record a trip. Name the largest error that action can accept. Place fixed reference points around the real work area, then test the tag at edges, behind stock, and while people move.
Keep each result with its time, visible reference points, estimated error, and actual checked position. When confidence falls, the safe response may be to warn, slow down, or ask for another source instead of guessing.
One site test cannot promise the same result in every room or season. The deeper sections explain timing, geometry, filtering, and blocked paths so the final claim stays tied to measured evidence.
A positioning system turns many ranges into a location claim. That claim depends on anchor placement, synchronization, geometry, line-of-sight quality, filtering, confidence, and how the application reacts when uncertainty grows.
Read this chapter from the map backward. Decide where the position will be used, what accuracy and confidence are needed, how anchors create or weaken the geometry, and what evidence says the location is safe to act on.
31.2 In 60 Seconds
This section: In 60 Seconds — UWB positioning is not “indoor GPS.” It is a measurement system that estimates a tag position from timed radio observations, anchor geometry, clock quality, and environmental evidence.
UWB positioning is not “indoor GPS.” It is a measurement system that estimates a tag position from timed radio observations, anchor geometry, clock quality, and environmental evidence. A good design records which anchors were visible, whether measurements looked line-of-sight, how geometry amplified error, and how much confidence the application should place in the estimate.
31.3 Learning Objectives
This section: Learning Objectives
By the end of this chapter, you should be able to:
- Explain why anchor geometry and line-of-sight quality can matter more than nominal radio precision.
- Compare TWR, TDoA, and angle-assisted UWB architectures without treating any one mode as universally best.
- Use GDOP as an error-amplification signal rather than as a magic accuracy guarantee.
- Design a site survey that records anchor coordinates, visibility, obstruction classes, calibration evidence, and retest triggers.
- Specify the quality fields that a positioning engine should expose to downstream IoT applications.
31.4 Quick Check: UWB Positioning
This section: Quick Check: UWB Positioning
31.5 Prerequisites
This section: Prerequisites
Review these chapters before working through the design process:
- UWB Fundamentals for impulse radio, channel behavior, and standards context.
- UWB Ranging Techniques for TWR, TDoA, and angle-related measurements.
- Wireless Channel Characteristics for multipath, fading, and line-of-sight limits.
- IoT Reference Models as Responsibility Maps for evidence records and integration boundaries.
31.6 Position Estimates as Evidence
This section: Position Estimates as Evidence — A UWB location estimate should be treated as an evidence record, not as the exact physical truth.
A UWB location estimate should be treated as an evidence record, not as the exact physical truth. The record should say what was measured, which assumptions were used, and how confident the engine is in the result.
Important fields include:
- Tag identifier and timestamp.
- Position estimate in the chosen coordinate frame.
- Anchors used, anchors rejected, and anchor geometry quality.
- Measurement mode such as TWR, TDoA, or angle-assisted measurement.
- Line-of-sight or non-line-of-sight indicators where available.
- Residual error after solving the position.
- Confidence or quality class exposed to the application.
- Age of the estimate and filter state.
Applications should respond differently to high-confidence, low-latency estimates than to stale or low-confidence estimates. For example, an asset map can show a broad uncertainty area, while a robot safety workflow may require a recent estimate with enough visible anchors and a low residual before it acts.
31.7 Anchors Turn Ranges Into Coordinates
This section: Anchors Turn Ranges Into Coordinates — A UWB positioning system is a set of fixed anchors at known coordinates and mobile tags to be located.
A UWB positioning system is a set of fixed anchors at known coordinates and mobile tags to be located. Ranging gives distances or arrival-time differences; the positioning system combines several of those measurements into an (x, y) or (x, y, z) estimate. How it combines them depends on whether the measurement method is two-way ranging, TDoA, angle-assisted measurement, or a hybrid.
The two big system questions are geometry and capacity. Geometry asks whether anchor placement gives the solver enough independent viewpoints. Capacity asks how many tags can be located at the required update rate without exhausting airtime, battery, or timing quality. Both are system decisions, not properties of UWB alone. A tag can produce a precise-looking coordinate in a demo and still be unreliable at the edge of a warehouse if all anchors sit on one wall or if forklifts block the strongest paths.
A positioning estimate is therefore an evidence packet: anchors used, rejected anchors, timestamp age, line-of-sight indicators, residual, confidence class, and policy action. For an asset map, a broad low-confidence region may be acceptable. For a robot stop zone or a secure handoff, the same low-confidence estimate should deny automation or trigger fallback.
31.8 Anchor Geometry and GDOP
This section: Anchor Geometry and GDOP — Anchor placement sets the shape of the positioning problem.
Anchor placement sets the shape of the positioning problem. Good geometry surrounds the working area; poor geometry puts anchors along one wall or in a narrow line. Collinear or near-collinear anchors can make a small distance error appear as a large position error in the weak direction.
Figure 31.1 compares clustered and distributed anchors.
When anchor stations cluster, their measurement lines are nearly parallel, so small range errors can move the estimated position greatly. A wider distribution gives intersecting lines at useful angles and reduces that geometric weakness. The picture labels this difference as high and low dilution of precision. It does not report a measured site accuracy. Place anchors around the actual area of interest, then check several known points and difficult edges. Keep layout and residuals with the result so a precise-looking coordinate is not mistaken for reliable positioning under poor geometry.
Use GDOP as a review signal:
position_uncertainty ~= range_uncertainty * geometry_factor + environment_bias + timing_bias + filter_lag
The geometry factor is not the whole error budget, but it is a useful warning sign. If the geometry factor is high, improving firmware or filter settings may not fix the installation. Move anchors, add viewing angles, or reduce the area claimed by that anchor group.
Use a simple coordinate example. A 30 m x 20 m work area might use anchors at known map coordinates and a tag mounted on a cart. If the cart is near the middle, several anchors may see it from different angles and a 0.20 m range error may stay near that scale in the final position. If the same cart moves outside the anchor hull or all useful anchors are on one side, geometry can amplify that same range error. With a geometry factor of 3, the review should expect about 0.20 m x 3 = 0.60 m of position uncertainty before adding environment bias, clock error, or filter lag. GDOP does not predict every error; it warns when the installation makes small timing errors expensive.
Good anchor layouts usually follow these principles:
- Surround the area instead of placing every anchor on one side.
- Keep enough independent anchor visibility at the edges and corners, not only in the center.
- Place anchors high enough to reduce obstruction, but not so high that horizontal geometry becomes weak.
- Use height diversity for 3D estimates and for tall workspaces.
- Recompute geometry when walls, racks, machines, or anchor locations change.
31.9 Measurement Quality Pipeline
This section: Measurement Quality Pipeline — UWB systems produce timed observations first.
UWB systems produce timed observations first. A positioning engine turns those observations into an estimate only after filtering poor measurements, solving the geometry, and assigning quality.
Figure 31.2 filters raw timing into a position with visible uncertainty.
Raw times need an anchor and clock record. Quality checks flag stale samples, line-of-sight problems, and outliers before selecting a diverse usable anchor set. The solver produces a position and residual; a motion filter can smooth the state but should not conceal faults. Confidence combines quality and uncertainty for the application. Keep rejected measurements and the reason beside accepted ones. Test the pipeline at known positions and during obstruction, then compare its confidence with actual error. A coordinate without that evidence can lead an application to act on a weak fix.
Review each stage:
- Raw observation: Capture timestamp, anchor ID, channel/profile, received signal indicators, sequence number, and clock status where available.
- Quality check: Mark likely NLOS, stale, inconsistent, or missing observations before solving position.
- Anchor selection: Prefer diverse anchors with compatible timing and line-of-sight evidence.
- Solver: Estimate position and calculate residuals or consistency checks.
- Filter: Smooth motion without hiding jumps, blocked anchors, or stale data.
- Confidence class: Publish a confidence label and uncertainty estimate with the position.
- Application policy: Decide whether the estimate is good enough for display, logging, automation, or safety-related action.
This pipeline prevents a common failure: a location server publishes a coordinate even when the underlying evidence is weak, and the application treats the coordinate as certain.
Publish coordinates with confidence, update age, anchors used, and residual evidence. A coordinate without quality fields is not enough for automation or safety decisions.
31.10 Architecture Choices
This section: Architecture Choices — Choose the architecture from the workflow, scale, update behavior, wiring constraints, and evidence needs.
Choose the architecture from the workflow, scale, update behavior, wiring constraints, and evidence needs. Avoid selecting a mode only because a demonstration kit makes it easy.
Figure 31.3 compares range exchanges, synchronized blinks, and angle evidence.
Two-way ranging gives a tag-to-anchor distance without a shared anchor clock, but repeated exchanges consume airtime as tags and anchors grow. TDoA observes a tag blink at synchronized anchors and depends on their timing and calibration. Angle-aided methods add a direction constraint where the hardware and geometry support it. Choose from tag count, update need, power budget, and the evidence the site can maintain. Then test the selected method with the real anchor layout and obstructed paths. A theoretical method advantage is not a measured position result.
TWR positioning uses message exchanges between a tag and anchors. It is straightforward to reason about because each distance estimate comes from an exchange with a known anchor. It can be a good fit for smaller systems, commissioning, peer distance checks, or systems where synchronized anchor timing is not available. The trade-off is that tags and anchors spend airtime on each exchange, so update rate and tag count must be planned.
TDoA positioning lets a tag transmit a short blink observed by synchronized anchors. It can scale better when many tags report periodically because the tag does not have to range with each anchor. The trade-off is that anchor timing, cabling or timing distribution, calibration, and timestamp quality become part of the position evidence.
Angle-assisted positioning adds direction estimates from antenna arrays or phase information. It can help in constrained layouts, but it introduces its own calibration and multipath sensitivity. Treat angle evidence as another measurement with quality, not as a replacement for line-of-sight review.
31.11 Try Angle of Arrival in the Workbench
This section: Try Angle of Arrival in the Workbench
31.12 Capacity Often Picks the Positioning Method
This section: Capacity Often Picks the Positioning Method — The reason large deployments often favor TDoA over TWR is channel airtime.
The reason large deployments often favor TDoA over TWR is channel airtime. In TWR, every position needs a back-and-forth exchange between the tag and each anchor, so airtime scales with tags x anchors x update rate. In TDoA, a tag transmits one blink and synchronized anchors listen, so one short transmission can support the fix. That is why asset-tracking systems with many tags often lean TDoA, while a smaller set of high-accuracy robots or tools may afford TWR.
Capacity belongs in the same evidence record as geometry. If 200 tags need a 1 Hz update, the system must budget about 200 tag reports per second before retries, management frames, and rejected observations. If the workflow can accept 0.2 Hz for slow-moving assets, the load drops to 200 x 0.2 = 40 reports per second. That change may decide whether TDoA blinks are sufficient, whether TWR exchanges are practical only for a smaller tool fleet, or whether the project needs smaller zones with different update policies.
Compare two rough budgets. In a TWR design with 80 active tags, 4 anchors per position, and 1 update per second, the system asks for about 80 x 4 x 1 = 320 tag-anchor ranging exchanges per second. If a commissioning mode uses only 10 tools at 2 Hz, the request is 10 x 4 x 2 = 80 exchanges per second, which may be more manageable and gives each tool stronger per-anchor evidence. In a TDoA design, 80 tags at 1 Hz can be closer to 80 tag transmissions per second because synchronized anchors listen to the same blink. The tradeoff is that anchor synchronization, timestamp quality, and calibration become release-critical evidence.
The solver then turns accepted observations into position with an error budget, not a guarantee. A practical record might say: range uncertainty 0.15 m, geometry factor 2.5, expected environment bias 0.20 m, and filter lag allowance 0.10 m. A simple review estimate is 0.15 x 2.5 + 0.20 + 0.10 = 0.675 m. If the application needs only room-level asset awareness, that may be acceptable. If it needs a robot safety boundary at 0.30 m, the same evidence is not good enough.
Architecture review questions:
- How many tags may be active in the same area at peak load?
- What update rate is required, and what happens when updates are delayed?
- Can anchors share a reliable timing reference?
- Does the application need a position, a zone, a direction, or a confidence class?
- What fields will be exposed when the engine rejects an estimate?
- Which physical changes require retesting?
31.13 Selection Workflow: Site Survey and Deployment Process
This section: Selection Workflow: Site Survey and Deployment Process — A site survey should produce an installable coordinate system and an evidence trail.
A site survey should produce an installable coordinate system and an evidence trail. It is not just a count of anchors.
Inspect Figure 31.4 and ask which installation changes invalidate the evidence behind a positioning claim.
Follow Figure 31.4 from the needed output to the site survey. First set the confidence and fallback rules. Then fix the map frame and list each blocked path. Anchors must ring the work area, see its edges, and form a sound shape before tuning. Tests at known points and on moving paths set the pass limit. Also test anchor loss, recovery, blocked sight, and stale confidence. The release pack names proof and owner for good, weak, and fallback states. New shelves, moved anchors, tag mounts, firmware, or clocks reopen the affected survey.
Minimum survey outputs:
- Coordinate frame origin, axes, units, floor level, and map reference.
- Anchor candidate positions with height, mounting surface, orientation, and service access.
- Obstruction notes for metal, water, machinery, people flow, doors, vehicles, and moving fixtures.
- Expected tag mounting positions and body or asset shadowing risks.
- Measurement mode, update policy, timing source, and channel/profile settings.
- Calibration path or reference measurements used to verify the coordinate frame.
- Acceptance zones with expected confidence, residual limits, and update-age limits.
- Retest triggers for anchor movement, new shelving, changed tag mounting, firmware changes, or timing-source changes.
Acceptance testing should include both positive and negative cases:
- Known points near the center, edges, corners, and obstruction boundaries.
- Moving paths at realistic speeds.
- Temporary anchor loss and recovery.
- NLOS conditions that should lower confidence or reject the estimate.
- Neighboring zones where a tag should not be accepted as inside the wrong area.
- Application behavior when the estimate is stale or low confidence.
31.14 Worked Example: Design Review
This section: Worked Example: Design Review — Consider a warehouse that needs to locate tagged carts on a floor with tall shelving and moving vehicles.
Consider a warehouse that needs to locate tagged carts on a floor with tall shelving and moving vehicles. A weak review asks, “How many anchors do we need?” A stronger review asks, “Which positions can see enough independent anchors, what evidence proves the estimate quality, and what does the application do when the estimate is weak?”
A practical review sequence:
- Define the required output as a zone, 2D coordinate, 3D coordinate, or motion track.
- Choose acceptance metrics such as maximum update age, minimum visible anchors, residual threshold, and confidence class.
- Draw the coordinate frame and mark shelves, doors, workcells, vehicle paths, and likely tag mounting heights.
- Place candidate anchors to surround the operating area and to preserve visibility at edges.
- Simulate or sample geometry quality across the floor.
- Walk test known points and moving paths, saving raw observations and solved estimates.
- Tune rejection rules before smoothing rules, so the filter does not hide bad measurements.
- Document the release record and retest triggers.
The output is not only a map. It is a repeatable evidence package that explains where the system is trustworthy, where it is degraded, and where the application should fall back.
31.15 Knowledge Check
This section: Knowledge Check
31.16 Capacity Check
This section: Capacity Check
31.17 Matching Review
This section: Matching Review
31.18 Deployment Sequence Review
This section: Deployment Sequence Review
31.19 Common Review Failures
This section: Common Review Failures — Treating accuracy as a fixed product property: Position quality changes with geometry, line-of-sight, mounting, timing, update rate, and filtering.
Treating accuracy as a fixed product property: Position quality changes with geometry, line-of-sight, mounting, timing, update rate, and filtering. Publish confidence instead of only a coordinate.
Accepting coordinates without raw evidence: Keep raw measurements, anchors used, residuals, and rejected-anchor reasons so field problems can be reproduced.
Optimizing the center and ignoring edges: Edges, corners, doorways, lifts, racks, and vehicle paths often have weaker geometry than the open middle of a room.
Hiding NLOS with smoothing: Filters can make bad data look stable. Reject weak measurements first, then smooth accepted estimates.
Forgetting the coordinate frame: A precise tag estimate is useless if the anchor map, floor level, axis direction, or application map is misaligned.
31.21 Checkpoint: Summary
This section: Checkpoint: Summary — UWB positioning design is an evidence problem.
UWB positioning design is an evidence problem. A useful deployment records anchor coordinates, measurement quality, geometry, timing, calibration, confidence, and application behavior. The best systems do not simply claim precision; they explain when estimates are trustworthy, when confidence should fall, and which physical changes require retesting.
Key takeaways:
- Anchor geometry controls how measurement errors are amplified.
- TWR, TDoA, and angle-assisted modes have different evidence and infrastructure needs.
- Line-of-sight, timing quality, and residual checks should be visible to the application.
- Acceptance tests must include weak areas, motion paths, NLOS cases, and stale estimates.
- Retest whenever anchors, tags, maps, timing, firmware, or the physical layout changes.
Find help
3 reviewed answers.
Where should I start in a module?
Open the module page from the sidebar to see its chapters in order. Use the module map to return to a topic you need.
Modules and pathsReviewed
What can I try when a project does not work?
Check the symptom, then work through the diagnostic steps. Keep the error message and the smallest example that reproduces it.
When you are stuckReviewed
How do interactive examples work?
Use the interactive guide to check how examples and simulations work before changing your project.
Interactive examples guideReviewed
