Indoor positioning remains one of the highest-value applications for Bluetooth beacons. GPS signals attenuate below concrete ceilings, leaving beacon-based systems as the primary indoor alternative. This article compares the two dominant positioning algorithms — RSSI trilateration and fingerprinting — with real-world accuracy data and deployment trade-offs.

RSSI and Path Loss

All beacon positioning relies on Received Signal Strength Indicator (RSSI), measured in dBm. The fundamental relationship between RSSI and distance follows a log-normal path loss model:

RSSI(d) = A - 10 * n * log10(d)

Where:

  • A: RSSI at 1 meter reference distance (typically -60 to -70 dBm for CR2032-powered beacons)
  • n: path loss exponent (2.0 in free space, 2.7–3.5 in office environments, 4.0+ in cluttered industrial spaces)
  • d: distance in meters

Solving for distance:

d = 10 ^ ((A - RSSI) / (10 * n))

The challenge: RSSI fluctuates ±5–8 dBm in indoor environments due to multipath fading, human body absorption, and antenna orientation. A 6 dBm error at 5 meters translates to a 40–60% distance error, making raw single-beacon ranging unreliable.

Approach 1: Trilateration

Trilateration estimates position by intersecting distance circles from at least three beacons. Each beacon provides a distance estimate via the path loss equation above.

Algorithm

  1. Collect RSSI from each visible beacon (average 5–10 samples to reduce noise)
  2. Convert RSSI to distance using the calibrated path loss model
  3. Solve the least-squares intersection of distance circles

For beacons at positions (xi, yi) with estimated distances di, the target position (x, y) minimizes:

F(x,y) = Σ [(x - xi)² + (y - yi)² - di²]²

This nonlinear least-squares problem is typically solved via Gauss-Newton iteration. Initial estimate can use the centroid of beacon positions.

Accuracy Benchmarks

Measured in a 12m × 8m office space with 6 ceiling-mounted beacons, CR2032-powered, transmitting at 0 dBm every 100 ms:

Scenario Beacons Visible Median Error 90th Percentile
Open office 4–5 1.8 m 3.5 m
Cubicle area 3–4 2.6 m 5.1 m
Corridor 2–3 3.2 m 6.8 m
With body shadowing 3–4 4.1 m 8.3 m

Accuracy degrades significantly when fewer than 3 beacons are visible or when the user’s body shadows the line-of-sight path.

Calibration Requirements

Trilateration requires per-beacon calibration of the path loss parameters (A, n). A practical calibration procedure:

  1. Place a reference receiver at 1 m from each beacon, record 100 RSSI samples, compute median → A value
  2. Measure RSSI at 2 m, 5 m, 10 m along a clear path
  3. Fit n via linear regression on log10(d) vs RSSI
  4. Re-calibrate quarterly — battery voltage droop shifts TX power by 1–3 dBm over a beacon’s lifecycle

Approach 2: Fingerprinting

Fingerprinting bypasses the distance estimation step entirely. Instead, it builds a radio map of the space during an offline survey phase, then matches live RSSI observations against this map.

Offline Phase (Survey)

  1. Divide the floor plan into a grid (typical spacing: 1–2 meters)
  2. At each grid point, collect RSSI from all visible beacons for 10–30 seconds
  3. Store the RSSI vector and beacon ID list as a fingerprint

A 1000 m² floor with 1 m grid spacing yields ~1000 fingerprints. Each fingerprint contains 5–15 beacon RSSI values plus metadata (timestamp, orientation).

Online Phase (Positioning)

The most common matching algorithm is Weighted K-Nearest Neighbors (WKNN):

  1. Collect live RSSI vector from visible beacons (2–5 second window)
  2. Compute similarity (Euclidean distance or Tanimoto coefficient) to all fingerprints
  3. Select the K closest fingerprints (K = 3–5 typical)
  4. Weight each by inverse distance, compute weighted centroid of their positions

Accuracy Benchmarks

Same 12m × 8m office space, 6 beacons, 1 m grid spacing, WKNN with K=4:

Scenario Median Error 90th Percentile Survey Time
Open office 1.1 m 2.3 m 2.5 hours
Cubicle area 1.5 m 3.0 m 3.0 hours
Corridor 1.3 m 2.8 m 1.5 hours
With body shadowing 2.0 m 4.2 m

Fingerprinting consistently outperforms trilateration by 30–50% in median error, especially in cluttered environments where multipath dominates. The radio map implicitly captures multipath patterns that path loss models cannot model.

Head-to-Head Comparison

Factor Trilateration Fingerprinting
Accuracy (median) 1.8–4.1 m 1.1–2.0 m
Setup time ~30 min per beacon 2–4 hours per floor
Beacon repositioning Recalibrate A,n Full re-survey
Environmental changes Degrades gracefully Requires re-survey
Computational cost Low (matrix solve) Moderate (KNN search)
Scalability Excellent Database grows linearly
Min beacons needed 3 4+ recommended

Hybrid Approach

Production systems often blend both techniques. A common hybrid pipeline:

  1. Use trilateration to get a coarse position estimate (3–5 m accuracy)
  2. Restrict fingerprint matching to a 5 m radius around the trilateration estimate
  3. Apply WKNN within this reduced search space

This reduces the fingerprint database search from ~1000 entries to ~50, cutting computation time by 80% while maintaining fingerprinting-level accuracy.

Beacon Density and Placement

Positioning accuracy depends heavily on beacon geometry. Key guidelines:

  • Density: 1 beacon per 25–50 m² for 1–2 m accuracy; 1 per 100 m² for 3–5 m accuracy
  • Placement height: 2.5–3.0 m ceiling mount provides best coverage uniformity
  • Geometry: Avoid linear arrangements. Triangular/hexagonal tessellation minimizes geometric dilution of precision (GDOP)
  • TX power: +4 to 0 dBm for indoor positioning. Higher power increases interference; lower power reduces range below useful thresholds
  • Advertising interval: 100 ms for real-time tracking, 300–500 ms for periodic monitoring. Sub-100 ms intervals drain CR2032 batteries in 2–3 months

Filtering and Smoothing

Raw positioning estimates jitter significantly. A Kalman filter or particle filter smooths trajectories:

  • Kalman filter: Models user motion as constant velocity. Reduces 90th percentile error by 20–30% with minimal computation. State vector: [x, y, vx, vy].
  • Particle filter: Handles non-linear motion and multi-modal position distributions better. 500–1000 particles provide smooth tracking at 5 Hz update rate.
  • Map constraints: Clamping filtered positions to walkable areas (excluding walls, obstacles) eliminates physically impossible jumps. Reduces median error by an additional 10–15%.

Common Deployment Mistakes

  • Ins beacon count: Deploying only 2–3 beacons per zone. Trilateration needs 3+ visible; fingerprinting benefits from 4+ for robust matching.
  • Ignoring orientation: Human body attenuates 2.4 GHz signals by 10–20 dB. Collecting fingerprints in only one orientation produces systematic bias when users face other directions.
  • Stale fingerprints: Furniture rearrangement, new partitions, or even seasonal changes (humidity affects 2.4 GHz propagation) invalidate the radio map. Schedule quarterly re-surveys.
  • Uncalibrated TX power: Beacon TX power varies ±3 dBm across units due to component tolerance. Measure and compensate per-beacon, or fingerprinting inherits the error.
  • Over-filtering: Aggressive smoothing makes the system feel laggy. A good rule: filter time constant should not exceed 1 second for walking-speed applications.

Conclusion

For most indoor Bluetooth beacon positioning deployments, fingerprinting with WKNN matching delivers 30–50% better accuracy than trilateration, at the cost of longer setup time. The hybrid approach — trilateration for coarse estimation, fingerprinting for refinement — offers the best balance of accuracy, computation, and maintainability. Regardless of algorithm choice, beacon density, geometry, and per-unit calibration matter more than the choice of algorithm itself.