RSSI liefert nur eine grobe Distanz; in einem echten Raum schieben Multipath und Körper den Fehler auf ±3-5 m. Braucht ein BLE-Tag Sub-Meter-Genauigkeit zum Wiederfinden oder Zonenbetritt, braucht es Ranging. Dieser Artikel behandelt Two-Way Ranging (TWR), warum Taktdrift dominiert und wie man es mit RSSI fusioniert.
Die Ranging-Idee
Statt Distanz aus Empfangsleistung zu folgern, misst man die Laufzeit eines Pakets. Für einen Round Trip:
d = c * (T_round – T_reply) / 2
Licht reist 0,3 m/ns, also ist 1 ns Fehler 0,15 m.
Single-Sided TWR (SS-TWR)
Tag sendet bei t0, Anker antwortet bei t1 nach fester Verzögerung Δ, Tag empfängt bei t2.
d = c * (T_round – T_reply) / 2
Sind die Takte nicht synchron, verfälscht ein Offset f_off:
error = c * f_off * T_round / 2
Bei 20 ppm und T_round=10 µs ist der Fehler 2e-10 s → 6 cm. Bei 100 µs wächst er auf 60 cm; daher Round-Trip verkürzen oder Offset kürzen.
Symmetric Double-Sided TWR (SDS-TWR)
Ein zweiter Austausch kürzt die TaktOffsets von Tag und Anker weg. Es bleibt nur Asymmetrie der Verarbeitung (<1 ns). SDS-TWR ist der Standard für BLE/UWB, da er die Kristallgenauigkeit überflüssig macht.
BLE-Realität
BLE hat keine native RTT-Primitive wie UWB. Man nutzt Connection-Events, CTE/AoA-Rahmen oder GATT-Request/Response (Stack-Latenz 1-10 ms dominiert). Ein 1-µs-Timer gibt 150 m Ambiguität; Zeitstempel gehören an die Radio-Schicht.
RSSI-Fusion
TWR ist genau, aber teuer (ms aktiv bei mA). RSSI passiv und günstig, aber bias-behaftet. Kalman-Fusion: vertraut TWR bei Vorhandensein, fällt dazwischen auf RSSI zurück, glättet und spart Strom.
Leistungskosten
| Methode | Aktiv | Strom | Genauigkeit |
|---|---|---|---|
| RSSI passiv | 0,5 ms | 5-8 mA | ±3-5 m |
| SS-TWR | ~4 ms | 5-8 mA | ±0,5 m |
| SDS-TWR | ~8 ms | 5-8 mA | ±0,1-0,3 m |
Checklist
- SDS-TWR für Offset-Kürzung.
- Antennen- und Verarbeitungsverzögerung werkskalibrieren.
- Zeitstempel an der Radio-Schicht.
- Mit RSSI per Kalman fusionieren.
- Round-Trip kurz halten.
Ein gut designter BLE-Tag erreicht 0,1-0,3 m per SDS-TWR und hält die Batterie, indem er selten misst und auf RSSI stützt.