Files
Claude-Test-App/RSSI-Stabilisierung.md

3.4 KiB

RSSI-Stabilisierung für BLE Indoor Positioning

Aktuelles Problem

Die RSSI-Werte der einzelnen Beacons schwanken stark, obwohl bereits ein Kalman-Filter (Q=1.0, R=50.0) und eine Ausreißer-Erkennung (20 dBm) im Einsatz sind.

Empfohlene Filter-Pipeline

Roher RSSI
  → Stufe 1: Median-Filter (Fenster 5-7 Werte) — eliminiert Ausreißer automatisch
  → Stufe 2: Kalman-Filter (Q=0.1, R=3-5) — glättet auf vorgereinigten Daten
  → Gefilterter RSSI

Die Literatur zeigt, dass Median + Kalman zusammen 50-70% weniger Schwankung erzeugen als Kalman allein.

Maßnahmen nach Priorität

Hoch (Quick Wins)

Maßnahme Aufwand Erwartete Verbesserung
Kalman-Parameter anpassen (Q=0.5, R=10.0 statt Q=1.0, R=50.0) 5 Min 30-40% stabileres RSSI
Median-Vorfilter (Sliding Window, Fenster=5) vor dem Kalman-Filter 1-2 Std 50-70% weniger Ausreißer
ESP32 Advertising Interval auf 20-30ms senken 30 Min Mehr Datenpunkte für Aggregation

Mittel

Maßnahme Aufwand Erwartete Verbesserung
ESP32 TX Power auf 0 oder -3 dBm (weniger Multipath-Reflexionen) 15 Min 10-20% weniger Multipath
Empirische R-Kalibrierung (60s Roh-RSSI bei 1m loggen, Varianz = R) 30 Min Optimale Kalman-Parameter
ScanFilter auf UUID setzen (weniger CPU-Last durch irrelevante Geräte) 15 Min Weniger Overhead
Adaptiver Kalman-Filter (R dynamisch aus letzten N Messungen berechnen) 3-4 Std 15-25% bessere Dynamik

Niedrig (für Bachelorarbeit erwähnenswert)

Maßnahme Aufwand Erwartete Verbesserung
Sensor Fusion mit IMU (Accelerometer + Gyroskop, Pedestrian Dead Reckoning) 2-3 Tage 25-30% bessere Position
Partikel-Filter auf Positionsebene 1-2 Tage 15-24% bessere Position
Machine Learning (Fingerprinting mit Random Forest) Mehrere Tage Situationsabhängig

Kalman-Parameter Tuning

Szenario Q (Process Noise) R (Measurement Noise)
Aktuell (suboptimal) 1.0 50.0
Quick Fix (ohne Median) 0.5 10.0
Mit Median-Vorfilter 0.1 3.0 - 5.0

R empirisch bestimmen: Smartphone 1m vor Beacon halten, 60s Roh-RSSI loggen, Varianz berechnen = R. Typische BLE-Varianz: 4-25 dBm².

Hardware-Empfehlungen (ESP32)

  • Advertising Interval: 20-30ms (statt Standard 100ms) → mehr Messpunkte
  • TX Power: 0 dBm oder -3 dBm (reicht für 3.5x4.5m Raum, reduziert Wandreflexionen)
  • Channel Map: ADV_CHNL_ALL — alle 3 Advertising-Kanäle nutzen (minimiert frequenzspezifisches Fading)

Quellen