3.4 Positioning Technologies
3.4.1 Overview of Positioning Technologies: Outdoor and Indoor
Outdoor positioning has mature space-based infrastructure; indoor positioning is mostly an arena of short-range wireless technologies. The fundamental question facing engineers is how to trade off accuracy, cost, coverage, and power consumption. An AGV weaving through dense shelving and docking automatically at pickup ports requires decimeter or even centimeter-level positions; for a connected truck driving through a campus, a few meters of outdoor accuracy is already enough for the dispatch center to tell which warehouse it is near. The two scenarios represent an engineering balance that recurs throughout IoT positioning.
Outdoor Positioning: Global Coverage from Satellites
The most mature outdoor positioning technology rests on global navigation satellite systems (GNSS): the American GPS (Global Positioning System), China's BeiDou Navigation Satellite System (BDS), Russia's GLONASS (Global Orbiting Navigation Satellite System), and Europe's Galileo Navigation Satellite System. A receiver captures timing signals from at least four satellites and uses differences in signal arrival time to solve for its three-dimensional coordinates and its receiver clock bias.
Engineering practice distinguishes three typical modes by service class. Single-point positioning relies only on the satellites' broadcast signals; in open, unobstructed conditions a civilian receiver's position estimate is typically at the meter level — enough for vehicle navigation and personnel position reporting. Differential GNSS (DGNSS) applies corrections broadcast by ground reference stations to bring the error down to sub-meter, suiting precision agricultural operations. Real-Time Kinematic (RTK) positioning has the reference station send carrier-phase observations to the rover in real time, resolving centimeter-level relative positions, at the cost of deploying additional base stations or purchasing a service.
GNSS signal attenuation is pronounced under physical obstruction. Urban street canyons lined with high-rises, underground garages, tunnels, and indoor spaces can hardly receive satellite signals reliably. Nearly every IoT positioning system needs a dual-mode design: satellites outdoors, radio indoors.
Indoor Positioning: The Scenario Decides the Selection
Indoors there is no globally unified infrastructure, and building layouts, metal shelving, and moving crowds all disturb radio signals. The mainstream options engineers face concentrate on three technologies: Wi-Fi, Bluetooth Low Energy (BLE), and Ultra-Wideband (UWB).
Wi-Fi positioning has the broadest installed base: it reuses existing access points, the receiver scans the signal strength of surrounding APs, and position is estimated with an attenuation model or fingerprinting — typical accuracy between one and ten meters. Its greatest advantage is zero additional hardware investment; the price is that moving shelves and fluctuating crowd density visibly degrade fingerprint-map accuracy.
Bluetooth positioning usually builds on arrays of BLE beacons. Fixed beacons broadcast packets at set intervals, the receiver estimates distance from signal strength, and multi-point triangulation reaches meter-level accuracy. BLE beacons draw very little power — a coin cell can keep one broadcasting for more than a year — and per-beacon cost is relatively low. They are common in scenarios with undemanding accuracy requirements, such as mall floor navigation and exhibition-hall guides.
Ultra-Wideband (UWB) is the highest-accuracy commercial option for indoor positioning today. UWB uses extremely narrow nanosecond-scale pulses to measure time of flight (ToF) or time difference of arrival (TDoA) directly. Under line-of-sight conditions, UWB accuracy is generally 10–30 cm, approaching centimeter-level under the best conditions. The cost is equally direct: each UWB anchor or tag costs noticeably more in hardware than a BLE or Wi-Fi module, and an independent network of anchors must be deployed.
The comparison table below is given as ranges from engineering experience (the author's experience; for selection reference only). Actual accuracy varies significantly with environment, device model, and algorithm implementation.
Table 3-2 Comparison of Outdoor and Indoor Positioning Technologies
| Technology | Typical accuracy (open/line-of-sight conditions) | Coverage | Endpoint power | Deployment cost | Typical applications |
|---|---|---|---|---|---|
| GNSS (single-frequency civilian) | Meters to tens of meters | Global (mainly outdoor) | Medium | Low | Vehicle tracking, personnel position reporting |
| GNSS + RTK | Centimeter-level | Outdoor + base-station coverage | High | Highest | Agricultural autopilot, engineering surveying |
| Wi-Fi fingerprinting | Meters to tens of meters | Building scale | Low (reuses endpoints) | Near-zero (reuses APs) | Mall navigation, personnel check-in |
| BLE beacons | Meter-level | Tens of meters | Very low | Low | Indoor guidance, visitor-flow statistics |
| UWB (ToF/TDoA) | 10–30 cm (near centimeter-level at best) | Tens of meters | Medium | Medium-high | AGV positioning, warehouse robots |
| Geomagnetic fingerprinting | A few meters | Indoor | Very low | Very low (endpoint software only) | Alternative for handset indoor positioning |
Multi-Technology Fusion and Scenario Trade-offs
Real IoT projects rarely depend on a single positioning technology. A typical smart-warehouse design: outdoor vehicles use GNSS (with RTK) to navigate to the warehouse door; once inside, the AGV switches to UWB to hold a decimeter-level position among the shelves; meanwhile the asset tags on every rack broadcast their position periodically through BLE beacons for slot-level inventory counts. This nested "GNSS + UWB + BLE" layering is, in essence, solving positioning needs at different levels with different tiers of accuracy and cost.
The heart of a positioning design is finding the balance point among accuracy requirements, environmental coverage area, and total cost of ownership. When accuracy demands exceed what single-frequency GNSS or Wi-Fi fingerprinting can deliver, a more expensive option that yields continuous, reliable positions must be brought in. Conversely, if the scenario only needs to know "which zone is the person in," BLE beacons usually offer far better value than UWB. With the selection logic of outdoor and indoor positioning technologies now clear, the core question that remains is this: how are raw measurements such as RSSI and ToF solved into concrete coordinates?
Editor's note: The accuracy and cost figures in Table 3-2 and Figure 3-7 are qualitative ranges the author draws from years of engineering experience. They are not assertions about any specific vendor's products or test results, and serve only as a selection reference for readers during solution planning.
3.4.2 Positioning Algorithm Fundamentals: Triangulation and Fingerprinting
Once a signal reaches the receiver, the raw data is only arrival time or signal strength — neither is a coordinate by itself, and both must pass through position solving before they become geographic (x, y) or even (x, y, z). The mainstream technical routes for sensing-layer positioning reduce to two schools: triangulation and fingerprinting. The former is geometric solving; the latter resembles map matching. This section starts from the basics of ranging, then analyzes the principles, engineering boundaries, and typical applicable scenarios of the two algorithms.
The Physical Basis of Ranging Methods
Whether triangulation or fingerprinting, the first step is acquiring signal feature values. Three ranging methods are in common use, each with its own signal type and accuracy boundary.
RSSI (Received Signal Strength Indicator). The receiver measures received signal strength and back-estimates distance through a signal propagation model (typically the log-distance path-loss model). Wi-Fi and Bluetooth beacons mostly follow this approach. Its advantage is extremely low hardware cost — nearly every radio chip provides an RSSI register. The defect is equally obvious: signal strength is heavily affected by multipath, obstruction, and antenna orientation, which can push distance errors to several meters. RSSI therefore suits only meter-level, cost-sensitive applications. In AIoT practice, the endpoint can apply simple low-pass or Kalman filtering to the RSSI sequence to smooth single-point fluctuation.
ToA (Time of Arrival). The propagation time from transmitter to receiver is measured and multiplied by the speed of light to obtain distance. GPS and UWB rely mainly on this method. ToA demands extremely tight time synchronization: 1 nanosecond of clock error corresponds to roughly 30 centimeters of distance bias, so UWB chips must carry dedicated hardware for nanosecond-level timestamp capture. Under line-of-sight conditions ToA reaches centimeter-level accuracy, but in non-line-of-sight (NLOS) conditions signal reflections introduce extra delay and a systematic positive bias. Weighted least squares can suppress these gross errors to a degree.
AoA (Angle of Arrival). An antenna array measures the signal's angle of arrival, and two or more angles intersect to fix position. Bluetooth 5.1 introduced AoA support; computing phase differences across the antenna array is the main hardware and computing cost. AoA's engineering advantage is that only two reference nodes are needed to determine a direction line in a two-dimensional plane, but the array's size and calibration difficulty limit its adoption on small-form-factor devices.
The core engineering trade-off among the three: RSSI trades cost for accuracy, ToA trades bandwidth and power for accuracy, AoA trades hardware complexity for accuracy. In IoT projects, the RSSI-plus-triangulation combination is most common, while UWB plus ToA serves sub-meter scenarios such as robot docking or fine-grained asset inventory.
Three-Point Positioning and Least-Squares Refinement
The geometric idea of triangulation comes from school-level analytic geometry: given the coordinates of three reference points and the distances from the target point to those three, the target's coordinates can be solved from the intersection of three circles. This is the mathematical foundation of GNSS and most indoor positioning systems.
Figure 3-8 shows the idealized abstraction. In real engineering, every distance measurement carries noise — RSSI fluctuation, ToA clock offset, extra delay from multipath — and the three circles will most likely not intersect at exactly one point but form a blurred intersection region. At this point, three-point positioning must be upgraded to the least-squares method.
Assume N reference nodes (N ≥ 3), each contributing one equation:
[ (x - x_i)^2 + (y - y_i)^2 = d_i^2 ]
This is an overdetermined system. The essence of least squares is finding the (x, y) that minimizes the sum of squared residuals across all equations. The standard solution linearizes the system into the matrix equation (\mathbf{A}\mathbf{p} = \mathbf{b}) and solves it through the pseudo-inverse. When ranging errors follow a Gaussian distribution, the least-squares solution is statistically optimal. Engineering practice more often uses weighted least squares (WLS), assigning larger weights to more trusted range measurements to suppress NLOS gross errors.
Case: triangulation from Wi-Fi RSSI. Suppose an office tower's atrium has 4 calibrated Wi-Fi access points (APs). An inspection robot scans the RSSI values of nearby APs and estimates distances through a path-loss model. Because of signal fluctuation, a single AP's ranging error can reach several meters. With only 3 APs doing three-point positioning, the intersection region may be a blurred area of large diameter. Adding the fourth AP and applying least squares lets four equations constrain the solution together; the errors average out and the stability of the output coordinates improves markedly.
Fingerprinting: Offline Survey, Online Matching
Triangulation presupposes that the reference nodes' exact coordinates are known before deployment and that a propagation model can be assumed. But in large-scale indoor venues such as malls, airports, and underground garages, multipath reflection pushes the RSSI-to-distance mapping far away from the classical model, and triangulation accuracy collapses. Fingerprinting offers another route: instead of relying on a propagation model, it matches positions directly against signal features measured in the actual environment.
Fingerprinting runs in two phases:
Offline survey: grid points are laid out across the target area at a fixed spacing (typically 0.5–2 meters). At each grid point, a feature vector is collected for every wireless signal that can be detected. Each dimension of the vector corresponds to the RSSI value of a certain AP or Bluetooth beacon (undetectable sources are filled with -100 dBm). This vector is called the "fingerprint." All fingerprints together with their physical coordinates form the fingerprint database. The survey requires a person or a robot carrying a terminal to scan point by point, and the workload grows linearly with area.
Online matching: the endpoint scans the signal vector at the current moment and compares it against the records in the fingerprint database. The most common matching method is K-Nearest Neighbors (KNN): compute the Euclidean distance from the query vector to every fingerprint point, select the K fingerprints with the smallest distances (typically K = 3–5), then weight-average their coordinates by inverse distance to obtain the final position estimate. Too small a K is vulnerable to single-point noise; too large a K averages over a region and loses accuracy.
Case: a Wi-Fi fingerprinting experiment. Take an open-plan office area of several hundred square meters, sampled at roughly 1-meter spacing to yield several hundred fingerprint points, each recording the RSSI values of multiple surrounding APs. In the online phase, after the terminal scans the current RSSI vector, KNN (K = 3) matching selects the 3 fingerprint points with the smallest distances and weight-averages their coordinates by inverse distance. In field measurements, this method's average positioning error is usually better than triangulation error in the same environment. In recent years, some practices have begun replacing KNN with lightweight neural networks, turning fingerprint matching into a classification or regression problem — at the price of more offline training data and endpoint-side compute.
Fingerprinting's core strength is strong multipath resilience — it puts the environment's multipath reflections to work directly as "features" rather than "interference." It has two main weaknesses: the survey cost grows linearly with area, and environmental change (shelves rearranged, APs moved) leaves the fingerprint database stale and in need of periodic refresh. Crowdsourcing can ease the survey cost: mobile terminals carrying a positioning app passively collect fingerprints during normal use, and the cloud fuses them into incremental updates of the fingerprint database.
Engineering Trade-offs Between the Two Algorithms
Triangulation and fingerprinting have no absolute winner; the choice depends on a project's preconditions. The table below summarizes the key decision points.
| Decision condition | Recommended route | Engineering reason |
|---|---|---|
| Reference-node coordinates exact, propagation model tractable | Triangulation (least squares) | Exploits known geometry; low deployment cost; no database to build |
| Severe multipath, inaccurate propagation model | Fingerprinting | Model-free; absorbs multipath directly as features |
| Large positioning area (tens of thousands of square meters and up) | Triangulation | Fingerprint survey cost rises steeply |
| Environment changes frequently (goods moved, renovation) | Triangulation | Fingerprinting needs repeated surveys; high maintenance cost |
| Many existing Wi-Fi/Bluetooth terminals | Fingerprinting (crowdsourced) | Fingerprints collected passively; reduces active survey workload |
| Absolute centimeter-level coordinates required | UWB + ToA + triangulation | Fingerprinting's absolute accuracy is limited by grid spacing |
Before fixing the algorithm backbone, settle one engineering question: do you actually need "absolute coordinates" or "zone determination"? The former suits triangulation; the latter is fully covered by fingerprinting's KNN. This one decision sets the direction of all subsequent hardware and software investment.
3.4.3 Multi-Source Fusion Positioning in Practice
No single positioning technology covers everything. GPS loses lock as soon as it moves indoors, UWB accuracy collapses behind metal shelving, and Wi-Fi fingerprints jump around after the environment changes. Engineers respond by making several technologies complement one another — the strengths of one covering the weaknesses of another. The mathematical framework behind this is multi-source fusion positioning: position data from different sensors is weighted and integrated to output a final result more reliable than any single source.
Engineering Boundaries of Single Technologies
- GPS/BDS: meter-level in open outdoor ground, but the signal cuts off completely indoors, and multipath error in urban high-rise canyons can reach tens of meters.
- UWB: 10–30 cm under line of sight, approaching centimeter-level under the best conditions; the first choice for high-accuracy indoor positioning. But once blocked by metal shelving or the human body, NLOS (non-line-of-sight) error deteriorates sharply and can jump several meters in severe cases.
- Wi-Fi RSSI fingerprints: low deployment cost and wide coverage, but RSSI fluctuates heavily under multipath, temperature and humidity shifts, and people walking; after the environment changes the fingerprint database must be recollected.
- BLE beacon zones: low power and low cost, suited to zone-level positioning. Beacon battery life is finite, and maintenance cost is often underestimated.
- IMU + wheel encoders: good short-term relative accuracy, but bias drift accumulates over time, and pure dead reckoning becomes unacceptable after a few minutes.
The goal of fusion is not to chase a world record in single-point accuracy, but to guarantee that at any moment at least one trusted source is working, and that the system provides a position with uncertainty, so that upper-layer tasks (such as AGV path planning) can make safe decisions based on confidence.
Example: Multi-Source Fusion Positioning for a Warehouse AGV
In an automated warehouse, an AGV must carry a pallet from A to B, a route of about 200 meters passing through dense shelving areas and semi-open aisles. The design is as follows (all values are illustrative for this example and do not represent any specific product's specifications):
- Primary positioning source: UWB. Roof-mounted anchors cover the main aisles, 10–30 cm under line of sight, approaching centimeter-level under the best conditions.
- Auxiliary correction source: BLE beacons. Installed at rack bases and on the floor; when the AGV passes, an event is triggered and the position is forcibly corrected to the beacon's coordinates. Each beacon passed greatly compresses accumulated drift.
- Continuous dead-reckoning source: IMU + wheel encoders. Maintains short-term relative accuracy and bridges UWB occlusion gaps.
The working-mode switching logic:
- Normal: UWB supplies continuous coordinates at about 10 Hz; the Kalman filter corrects with UWB observations, and the IMU only dead-reckons through the gaps.
- UWB occluded: the AGV moves deep into the racks, and the UWB update rate drops or jumps. The filter automatically inflates the UWB observation-noise covariance, lowers its weight, and switches to IMU dead reckoning as the primary. Position uncertainty grows gradually, with BLE beacons as the fallback.
- Passing a BLE beacon: the BLE scan triggers an event-type observation, the position is forcibly set to the beacon's coordinates (observation-noise standard deviation set to 3 m), and after weighted fusion the uncertainty shrinks sharply.
- Back under UWB coverage: UWB returns as the primary mode.
Kalman Filter: The Fusion Backbone
The most classic fusion tool is the Kalman filter. The pseudocode below, based on a simplified two-dimensional constant-velocity model, shows its core loop. In real engineering the state vector can extend to six dimensions (position, velocity, attitude), but the principle is the same.
// Kalman filter pseudocode: 2D position + velocity fusion
// state x = [pos_x, pos_y, vel_x, vel_y]^T
// observation z = [measured_x, measured_y]^T
x = {0, 0, 0, 0};
P = diag({1000, 1000, 1000, 1000}); // high initial uncertainty
Q = diag({0.1, 0.1, 0.1, 0.1}); // motion-model process noise
R = diag({5.0, 5.0}); // default observation noise
while (running) {
dt = getDeltaTime();
// ---------- prediction ----------
F = { {1,0,dt,0}, {0,1,0,dt}, {0,0,1,0}, {0,0,0,1} };
x = F * x; // constant-velocity state transition
P = F * P * F^T + Q;
// ---------- observation source selection ----------
if (uwbAvailable()) {
R = diag({0.5, 0.5}); // UWB high trust, small noise
correct(uwbPos, R);
} else if (bleDetected()) {
R = diag({3.0, 3.0}); // BLE low trust, large noise
correct(blePos, R);
} else {
// no observation, pure prediction, uncertainty keeps growing
continue;
}
}
void correct(z, R) {
H = { {1,0,0,0}, {0,1,0,0} };
y = z - H * x; // observation residual
S = H * P * H^T + R; // innovation covariance
K = P * H^T * inv(S); // Kalman gain
x = x + K * y; // state update
P = (I - K * H) * P; // covariance update
}The key point is that the magnitude of the Kalman gain (K) is controlled by the observation noise (R): the smaller the (R), the larger the (K) and the higher the observation's weight; the larger the (R), the more the filter trusts the motion model's prediction. In the pseudocode above, UWB's (R) is 0.5 and BLE's is 3.0, so BLE only acts to suppress drift when UWB is unavailable and does not overly disturb the primary source.
Deployment Considerations
Timestamp alignment. Different sensors sample on independent clocks, and before filtering all data must be aligned to the system clock (NTP synchronization on the edge node, for example, or synchronization through RTC pulses). If the time offsets are too large, the fused output tends to oscillate. In practice, all sensor data usually carries hardware timestamps and is linearly interpolated onto the system clock before filtering.
Sensor-failure detection. With only 1–2 anchors visible, UWB can output coordinates far off the truth. A common strategy: compute the observation residual (the norm of the innovation vector), and if it exceeds three times the current observation-noise standard deviation, discard the observation or down-weight it (for example, temporarily inflate (R) by a factor of 10). BLE beacons likewise need a plausibility check on signal strength.
Compute constraints. For two-dimensional positioning the state matrix is 4×4 and inversion is cheap (inverting a 4×4 matrix takes only tens of floating-point operations); an ARM Cortex-M4 MCU runs the filter steadily at 50–100 Hz. If the design extends to three dimensions and adds a barometer and magnetometer, it is advisable to run the filtering on the edge gateway's processor, with the main MCU outputting only raw observations.
Engineering payoff. The real payoff of multi-source fusion positioning lies not in single-point accuracy but in the balance of coverage and robustness — however the environment changes, the system always holds a usable position with a confidence attached. Engineers need to manage three capabilities: the source-selection strategy (which source to trust, and when), noise modeling (quantifying each source's uncertainty, best obtained through offline calibration), and deployment operations (keeping every beacon and anchor continuously available, with periodic inspection of batteries and mounting positions).
Fusion is not a one-off tuning exercise but a continuously iterating process: every change in the field environment — new shelving added, metal equipment moved — may call for recalibrating some sources' noise parameters. A mature positioning system retains the fused positioning logs, uses them to analyze each source's behavior offline, and updates some parameters online accordingly.