Indoor Positioning Systems (IPS)
Made possible by the proliferation of mobile/wearable devices with wireless communication capabilities. Indoor location is an important context information for Ambient Intelligence systems (links back to context-awareness in Lecture 1).
The problem
Given a map of the building (walking areas + obstacles) and a reference coordinate system, the goal is to determine the coordinates (x, y) where an entity (person, object, robot) is located at a given instant. It is usually framed as a regression problem.
Applications
Navigation
Continuously detect the user's location and compute the shortest path to a destination in smart buildings.
Smart Homes (AAL)
Ambient Assisted Living: monitor elderly subjects' location & indoor trajectories. Hard in multi-inhabitant settings.
Object Localization
Commercial solutions (e.g., AirTag) locate objects.
Why not simply use GPS?
- GPS is great outdoors but not suitable indoors: signal strength is low, and indoor structures (roof, walls, objects) attenuate and scatter it.
- Average GPS error: 5–10 meters — far too coarse indoors (ideally we want < 1 m).
Indoor vs Outdoor
- Reduced coverage area (a building)
- Less impact of weather
- Resources available (electricity, Internet)
- Slower movement (walking speed)
- Buildings usually private (planimetry not public)
Active vs Passive
- Active: the device computes its position while moving, possibly relying on sensors in the environment (the focus of this class)
- Passive: a distributed system computes the position without explicit cooperation of the subject (e.g., cameras)
Characteristics of an IPS
An IPS is described along many dimensions: accuracy, coverage, cost, update rate, latency, privacy, robustness, scalability, infrastructure…
Accuracy
Degree of conformance of an estimated position to the true value. Two common metrics:
- Root Mean Squared Deviation (RMSD) — good if the data distribution is normal.
- Average Absolute Position Deviation — more robust to outliers.
Coverage
- Local: small, well-defined, not extendable area.
- Scalable: coverage can grow with additional hardware.
- Global: worldwide (only applicable to GPS).
Update Rate
- Periodic — regular updates (e.g., Hz)
- On request — triggered by user/remote device
- On event — when a specific event occurs
System Latency
- Real-time — delay not perceived (crucial for navigation)
- Best effort — answer as soon as possible
- Post processing — analysis done after collection
Data output may differ by application: position, heading/bearing, acceleration, speed/velocity. For IPS there is no single-technology solution — a high diversity of solutions exists, all requiring dedicated local infrastructure.
Radio Technologies for IPS
Most proposed solutions are based on radio communication technologies (WiFi, Bluetooth, RFID, Zigbee). They compute the position of a user/device, and require one or more antennas in the environment.
| Technology | Key points |
|---|---|
| WiFi (802.11) | Widely adopted, no ad-hoc infrastructure needed (APs everywhere) — but APs are deployed for communication, not localization, so ad-hoc algorithms are needed to improve accuracy. |
| Bluetooth Low Energy (BLE) | More accurate and lower energy than WiFi; uses standard protocols (iBeacons, Eddystone). |
| BLE Beacons | Small transmitters continuously broadcasting a UUID to nearby devices. Conceived for proximity, now used for localization. More accurate than WiFi, but deployment/maintenance harder (how many, where, what height, battery replacement). |
| Ultra WideBand (UWB) | Short pulses over a large bandwidth, low duty cycle. Less affected by interference, can penetrate obstacles, less sensitive to multipath. Drawbacks: costly/complex infrastructure, not yet standard in personal devices. Uses anchors (fixed, known positions) + a mobile tag; more accurate than BLE but costlier. |
⭐ RSSI-based Localization (Simulation Q6)
This is the exact subject of simulation Q6. Nail what RSSI is, what affects it, and what a single value can vs cannot tell you.
measuredPower = RSSI at 1 meter · N = environmental factor
RSSI is a time series (in decibels)
- RSSI data is expressed in decibels (dB) → negative values (small positive milliWatt energy on a logarithmic scale).
- The closer to 0, the stronger the signal.
Trilateration / Multilateration
- Each RSSI value → a distance → defines a radius (circle) around an antenna.
- With three RSSI values you can intersect the circles to locate the subject → trilateration.
- With more than three values it's called multilateration.
Fingerprinting
The rationale
For each specific point in the environment, RSSI signals are characteristic — it's unlikely the same set of RSSI values from different antennas repeats in different locations. A fingerprint at a position is a set of tuples <ID, RSS_ID> (antenna ID + the value it produces there; you can aggregate several readings, e.g. average).
① Offline phase (training)
- A person/robot moves through the building
- At each spot: report the true position + collect a fingerprint
- Repeated across the environment (e.g., each meter)
- Result stored server-side = radio map: a set of
<Position, Fingerprint>pairs
② Online phase (inference)
- The user is in the environment; position is unknown
- Collect current RSSI values
- Basic approach: pick the fingerprint in the radio map closest to current RSSI
- Its position = the inferred position
"Naive" approach — minimize Euclidean distance
rᵢ = detected RSSI signal · ρᵢ(xⱼ) = fingerprint value · x̂ = inferred position
Fingerprinting based on Machine Learning
- In the same position the fingerprint may change (noise, environmental changes, presence of people) → naive approaches fail in noisy real-world scenarios.
- ML models are preferred for robustness, usually framed as a regression problem.
- Models: K-Nearest Neighbor (common baseline — match the K closest fingerprints and average their positions), classic ML (SVM, Random Forest, Bayesian), and Deep Neural Networks.
- CNN approach: convert the RSSI values at a time instant into an image (pixel intensity = signal strength per antenna at a location) → feed a CNN. (Ties back to CNNs in Lecture 3.)
- LSTM + self-attention + CNN: each input is a sequence of fingerprints; LSTM+attention map sequences into embeddings, CNN captures spatial properties. (Combines Lectures 3 & 4 — LSTM, self-attention, CNN — and the lecture notes this combination is very common and effective.)
Channel State Information (CSI)
CSI encodes the phase and amplitude of the received signal at different frequencies, implicitly capturing the scattering/refraction the signal encountered.
OFDM (Orthogonal Frequency-Division Multiplexing)
- The transmitter (WiFi AP) encodes each message on multiple subcarrier frequencies within one channel, reducing interference and optimizing bandwidth.
- For each subcarrier we learn how the signal propagates (amplitude & phase). The receiver needs an OFDM demodulator to decompose the signal into its subcarriers.
- Each location has unique patterns — distance & interference affect amplitude/phase of each frequency in a specific way.
RSSI
- One aggregate strength value (LoS + all paths summed)
- Simple, cheap, broadly available
- Prone to multipath fading
CSI
- Per-subcarrier amplitude & phase — separates the paths
- More reliable information than RSSI
- Not easily available on off-the-shelf NICs
CSI-based localization is usually done with supervised fingerprinting — similar techniques to those used for RSSI signals (OFDM demodulator → CSI extraction → CSI processing → fingerprint matching).
Other Localization Approaches
Angle & time based (advanced anchors, usually UWB)
| Technique | Idea & trade-off |
|---|---|
| Angle of Arrival (AoA) | Anchors compute the angle to the receiver via directionally-sensitive antennas. Combining distances + angles → sub-meter accuracy. Drawback: sophisticated/costly hardware. |
| Time of Arrival / Flight (ToA/ToF) | Measure the absolute travel time of the signal (distance = travelTime × waveSpeed). Needs precise clock synchronization between antennas and receiver; works best in Line-of-Sight. Usually UWB. |
| Time Difference of Arrival (TDoA) | Improves ToA by removing the mobile device's clock bias — uses the time difference between antenna pairs + multilateration. Drawback: antennas must be perfectly synchronized with each other. |
Inertial approaches — Dead Reckoning
- Inertial sensors (accelerometer + gyroscope) capture acceleration in a direction. Starting from a position obtained by another method (e.g., RSSI), estimate displacements — useful when positioning isn't constantly available.
- Pipeline: step detection → step-length estimation (a personalized step model helps) + heading estimation → position update (analytically or via DL).
- Problem: inertial sensors are noisy → drift grows linearly with time; small early errors compound. So dead reckoning is for small displacements and cannot be used alone.
Alternative (non-radio) IPS technologies
Passive InfraRed (PIR)
Detects human motion in an area, no wearable needed. Coarse-grained, one sensor per area, hard with multiple users (can count, not track individuals).
Computer Vision
Mobile camera: needs markers, active framing → good for navigation. Static cameras: passive, easier, but intrusive (privacy) → good for surveillance.
Visible Light Comm. (VLC)
Data emitted by LEDs; receiver's light sensor estimates position/direction. Pro: LED proliferation. Con: requires Line-of-Sight.
Final Quiz — Exam Style
9 MCQs + 2 open-ended. Q1 is the simulation's Q6 reproduced verbatim; the rest are style-matched to the exam.
a) RSSI (Received Signal Strength Indicator) is the signal power received from a radio antenna, usually for WiFi and BLE, expressed in dB (negative values; closer to 0 = stronger). It can estimate the distance d between receiver and antenna (d ≈ 10^((measuredPower−RSSI)/(10·N))), but accuracy drops with distance and is heavily affected by interference / multipath. With three RSSI values, each distance defines a circle radius around an antenna; intersecting the three circles localizes the subject — this is trilateration (multilateration with more than three). Because the distance estimate is inaccurate, this is unreliable in real indoor environments.
b) Fingerprinting exploits that each position has characteristic RSSI values. Offline phase: a person/robot surveys the building, at each spot reporting the true position and collecting a fingerprint (set of ⟨antenna ID, RSSI⟩ tuples); the result is a radio map of ⟨Position, Fingerprint⟩ pairs. Online phase: the user's RSSI is collected and the closest fingerprint in the radio map is chosen — its position is the inferred one (naive approach = minimize Euclidean distance between detected RSSI and fingerprints). Because the fingerprint at a position changes due to noise/people/environmental changes, the naive approach fails in noisy scenarios; ML models (KNN, SVM, Random Forest, DNN/CNN) are preferred for robustness, framing localization as a regression problem.
a) WiFi is widely available (APs everywhere, no ad-hoc infrastructure), but APs are made for communication not localization, so ad-hoc algorithms are needed and accuracy is limited. BLE beacons are more accurate and lower-energy than WiFi, broadcasting a UUID; but deployment/maintenance is harder (how many, where, what height, battery replacement). UWB sends short pulses over a large bandwidth: less interference, penetrates obstacles, less multipath, and most accurate (sub-meter); it uses fixed anchors + a mobile tag, but the infrastructure is costly/complex and not yet standard in personal devices.
b) AoA (Angle of Arrival): anchors measure the angle to the receiver via directional antennas; combining angles + distances gives sub-meter accuracy, but needs costly/sophisticated hardware and degrades with distance. ToF/ToA (Time of Flight/Arrival): measures the absolute signal travel time (distance = time × wave speed); high accuracy but requires precise clock synchronization between antennas and device, and Line-of-Sight. TDoA (Time Difference of Arrival): uses the time difference between antenna pairs to remove the device's clock bias, then multilateration; it removes the need for device-clock sync, but the antennas must be perfectly synchronized with each other.