TECHNISCHER ÜBERBLICK

Bluetooth® Channel Sounding

1. Einleitung

2. Hintergrund

2.1 Gerätepositionierung und Bluetooth LE

2.1.1 Finden Sie mich

2.1.2 Beacons und Entfernungsmessung der ersten Generation

2.1.3 Direction Finding mit AoA und AoD

2.1.4 Channel Sounding

2.2 Eine Einführung in Channel Sounding

2.2.1 Die grundlegenden Eigenschaften von Radiowellen

2.2.1.1 Amplitude und Wellenzyklen

2.2.1.2 Wellenlänge 

2.2.1.3 Häufigkeit

2.2.1.4 Phase

2.2.1.5 Die mathematische Beziehung zwischen Frequenz und Wellenlänge

2.2.2 Methoden zur Entfernungsmessung

2.2.2.1 Phasenbasiertes Ranging (PBR)

2.2.2.1.1 Theorie

2.2.2.1.2 Praktisches Beispiel

2.2.2.2 Round-Trip Timing (RTT)

2.2.2.2.1 Theorie

2.2.2.3 Herausforderungen der realen Welt

3. Bluetooth® Channel Sounding

3.1 Überblick

3.2 Architektur

3.2.1 Geräte-Rollen

3.2.2 Topologie

3.2.3 Antennen-Arrays

3.2.4 Anwendungen

3.2.5 Architektur des Datentransports

3.2.6 Channel Sounding im Bluetooth LE Stack

3.3 Channel Sounding Kontrollverfahren

3.3.1 Channel Sounding Sicherheit Start

3.3.2 Channel Sounding Austausch von Fähigkeiten

3.3.3 Channel Sounding Konfiguration

3.3.4 Modus-0 FAE-Tabellenabfrage

3.3.5 Channel Sounding Start

3.3.6 Channel Sounding

3.4 Ereignisse, Unterereignisse und Schritte

3.4.1 LE-ACL-Verbindungen und Zeiteinteilung

3.4.2 Zeiteinteilung

3.4.2.1 Aufbau

3.4.2.2 Zeitplan

3.5 CS-Schritte

3.5.1 Über Schritte

3.5.2 Pakete und Töne

3.5.3 Schrittweise Modi

3.5.3.1 Modus-0

3.5.3.2 Modus-1

3.5.3.3 Modus-2

3.5.3.4 Modus-3

3.6 Feststellung von Phasendifferenzen

3.7 Antennenumschaltung

3.8 Modusreihenfolge

3.8.1 Übersicht über die Modusreihenfolge

3.8.2 Modus-Kombinationen

3.8.3 Modusfolgekonfiguration und Sub_Mode-Einfügung

3.8.4 Wiederholung des Hauptmodus

3.8.5 Überlegungen zu Anwendungen und Betriebsartenabfolge

3.9 HF-Kanäle und Kanalauswahl

3.9.1 Die CS-Kanalübersicht

3.9.2 Kanalfilterung

3.9.3 Frequenzsprungverfahren

3.9.4 Kanalauswahl

3.9.4.1 Überblick

3.9.4.2 Kanalindex-Mischung

3.9.4.3 CSA #3a

3.9.4.4 CSA #3b

3.9.4.5 CSA #3c

3.10 RTT-Optionen und -Genauigkeit

3.10.1 Zeitsteuerung auf der Grundlage einer Zugriffsadresse

3.10.2 Schätzungen des fraktionierten Zeitablaufs

3.10.3 Ein Vergleich der RTT-Methoden

3.11 Der LE 2M 2BT PHY

3.11.1 Modulationsschemata

3.11.2 Product

3.11.3 LE 2M 2BT

3.12 SNR-Steuerung für Channel Sounding Schritte

3.13 Sicherheit

3.13.1 Überblick

3.13.2 Züchterrechts- und RTT-Vergleichsprüfung

3.13.3 Initialisierung der CS-Sicherheit

3.13.4 Deterministischer Zufallsbitgenerator (DRBG)

3.13.4.1 Sichere Zugangsadressen

3.13.4.2 Zufällige Sequenz für RTT-Fractional-Timing

3.13.4.3 Ertönen von Sequenzmarkierungssignalen

3.13.4.4 Zufällige Übertragungen von Tonerweiterungsschlitzen

3.13.4.5 Zufällige Auswahl von Antennenpfaden

3.13.5 Sounding-Sequenzen

3.13.6 Erkennung und Meldung von Angriffen

3.13.7 LE 2M 2BT

3.13.8 SNR-Kontrolle und RTT-Sicherheit

3.13.9 CS-Sicherheitsstufen

3.13.10 Herstellerspezifische Implementierungen und zusätzliche Sicherheit

3.14 Host

3.14.1 Der Algorithmus zur Abstandsmessung

3.14.2 Kommunikation von CS-Daten Controller und Host

3.14.2.1 HCI-Ereignistypen

3.14.2.2 HCI-Ereigniszeitplan

3.14.2.3 Inhalt der HCI-Veranstaltung

3.14.3 Betriebsartenkombinationen und Betriebsartenreihenfolge

3.14.4 Sicherheit der Anwendungsschicht

4. Eine Zusammenfassung der Änderungen der Bluetooth Kernspezifikation

4.1 Architektur

4.2 Host

4.2.1 Generisches Zugangsprofil

4.2.2Controller

4.3 Controller

4.3.1 Physikalische Schicht

4.3.2 Verbindungsschicht

4.3.3 Channel Sounding

5. Schlussfolgerung

6. Referenzen


Version:   1.0
Datum der Überarbeitung: 9. Juli 2024
Autor:   

Martin Woolley, Bluetooth SIG

1. Einleitung

Bluetooth® Low Energy (LE) ist weltweit dafür bekannt, dass es Benutzern drahtlose Datenübertragungs- und Audiofunktionen bietet. Die Technologie befindet sich in unseren Taschen, da sie in unsere immer intelligenteren Telefone integriert ist. Wir tragen sie am Handgelenk, in intelligenten Uhren und in Fitness-Trackern. Sie befindet sich in unseren Autos und ermöglicht eine freihändige Steuerung und Kommunikation. Und sie ist in unseren Ohren und ermöglicht das Streaming von hochwertigen Audiodaten von persönlichen Musikgeräten und von Rundfunkquellen über die neue Bluetooth LE Audio-Funktion Auracast™ Broadcast Audio.

Aber auch Bluetooth LE hat sich seit vielen Jahren als allgegenwärtige und zuverlässige Technologie etabliert. zuverlässige Technologie etabliert, auf der Anwendungen zur Geräteortung aufgebaut werden können. Bluetooth LE kann verwendet werden, um die Anwesenheit eines anderen Geräts in der unmittelbaren Umgebung zu erkennen und zu melden, die Entfernung zwischen Geräten zu schätzen und die Richtung zu berechnen, in der ein anderes Gerät gefunden werden kann. Diese Fähigkeiten zur Geräteortung wurden bereits für eine Vielzahl von Anwendungen genutzt, darunter digitale Schlüssel, Asset Tracking, Find My und Indoor-Navigation.

Bluetooth Technologie hat sich in ihrer 25-jährigen Geschichte kontinuierlich verbessert. Sie hat einen positiven Evolutionspfad eingeschlagen, der zu einer Reihe bemerkenswerter neuer Funktionen und Verbesserungen der Ergebnisse geführt hat, die mit den Produkten erzielt werden können.

Die Aktualisierung der Bluetooth Core Specification fügt eine neue Funktion namens Bluetooth® Channel Sounding hinzu, die ein sicheres Fine Ranging zwischen zwei Bluetooth-Geräten ermöglicht und das Thema dieses Papiers ist. Dieses Papier soll die Bluetooth Core Specification weder ersetzen noch als Ersatz dafür dienen.

2. Hintergrund

2.1 Geräteortung und Bluetooth LE

Bluetooth LE wurde erstmals im Jahr 2010 spezifiziert. Von diesem Zeitpunkt an lassen sich eine Reihe von Schlüsselereignissen in der Entwicklung von Bluetooth LE als Technologie für Standortdienste feststellen.

2.1.1 Bluetooth® Finde mich

Im selben Jahr, in dem Bluetooth LE erstmals in die Bluetooth-Kernspezifikation aufgenommen wurde, wurde die erste formelle standortbezogene Bluetooth LE veröffentlicht. Dabei handelte es sich um das Find-Me-Profil.

Das Find Me-Profil definiert einen Standardansatz für die Suche nach persönlichen Gegenständen, auch bekannt als Find My. Ein Gerät übernimmt die Rolle des Find Me Locators. Dies ist in der Regel ein Smartphone. Andere Geräte, die der Nutzer vielleicht schon einmal verlegt hat (Schlüssel mit einem Bluetooth Schlüsselanhänger sind sehr beliebt), werden mit dem Find Me Locator-Gerät gekoppelt und übernehmen jeweils die Rolle des Find Me Target.

Das Zielgerät implementiert einen GATT1-Dienst namens Immediate Alert Service.

Wenn der Nutzer Hilfe bei der Suche nach einem verlegten Gerät benötigt, führt er eine Anwendung auf seinem Smartphone aus. Die Anwendung führt ein Geräteerkennungsverfahren durch, indem sie nach Werbepaketen sucht, die von dem vermissten Gerät gesendet werden. Nachdem das Zielgerät gefunden wurde, stellt der Locator eine Verbindung zu ihm her. Die Benutzeroberfläche (UI) der Anwendung zeigt an, dass dies geschehen ist. Der Benutzer drückt dann in der Regel eine Taste auf der Benutzeroberfläche. Dies veranlasst die Anwendung, in das Merkmal "Alarmstufe" zu schreiben, das zum Dienst "Sofortige Alarmierung" gehört. Das Zielgerät reagiert auf die Änderung des Alarmstufenwerts in geeigneter Weise, z. B. mit einem lauten Piepton, blinkenden LEDs oder beidem. An diesem Punkt stellt der Benutzer fest, dass seine Schlüssel die ganze Zeit in der Jackentasche waren, dass sie auf die Rückseite des Sofas gefallen sind oder dass sie sich an einem unvorhersehbaren Ort befinden. In jedem Fall rettet die Technologie von Bluetooth den Tag und den Benutzer, und das verlorene Objekt wird wiedergefunden.

Bluetooth® Find Me ist ein Beispiel für eine Präsenzanwendung. Bluetooth LE wird verwendet, um festzustellen, dass sich das verlorene Gerät in der Nähe befindet, liefert aber keine Angaben zu seiner Richtung oder Entfernung vom Locator.

2.1.2 Beacons und Entfernungsmessung der ersten Generation

Bluetooth-Beacons nutzen die Werbefunktion von Bluetooth LE. Bei der Werbung werden kleine Datenpakete gesendet, die jedes Gerät in Reichweite durch Scannen empfangen kann.

Im Jahr 2013 veröffentlichte Apple die Spezifikation für das iBeacon-Format. Dies wurde zu einem beliebten Format für den Inhalt der Nutzdaten, die ein Beacon-Gerät senden würde. Die Daten in einer iBeacon-Nachricht enthalten ein Feld namens TX Power, das einen Wert enthält, der die zu erwartende Signalstärke angibt, wenn sie in einem Abstand von einem Meter von der Bake gemessen wird. Das Vorhandensein des TX Power-Feldes in iBeacon-Nachrichten sowie in anderen vergleichbaren Beacon-Datenformaten, wie z. B. Googles Eddystone, läutete die erste Generation der Bluetooth LE ein.

Diese frühe Version der Bluetooth Entfernungsschätzung verwendete zwei Datenwerte und einige einfache physikalische Verfahren und funktioniert folgendermaßen:

  • Das Feld Sendeleistung in Bakennachrichten liefert einen Referenzleistungspegel in einer bekannten Entfernung, z. B. einem Meter.
  • Der Received Signal Strength Indicator (RSSI), der mit jeder empfangenen Bakennachricht verbunden ist, quantifiziert die Signalstärke am empfangenden Gerät.
  • In der Physik gibt es eine theoretische Beziehung zwischen der Geschwindigkeit, mit der die Signalstärke abnimmt, je weiter sie vom Sender entfernt gemessen wird. Genauer gesagt ist die Signalstärke an einem Empfänger umgekehrt proportional zum Quadrat seiner Entfernung vom Sender.
  • Die Verringerung der gemessenen Signalstärke, wenn wir uns weiter vom Sender entfernen, wird als Pfadverlust oder Dämpfung bezeichnet. Im Fall von iBeacon-Übertragungen ist der Pfadverlust = Sendeleistung - RSSI.
  • Bei Kenntnis eines Referenzleistungspegels in einer bestimmten Entfernung, des gemessenen RSSI einer empfangenen Bakenübertragung und des inversen quadratischen Verhältnisses zwischen Entfernung und Pfadverlust kann die Dämpfung zur Schätzung der Entfernung zwischen der Bake und dem Empfänger verwendet werden.

Abbildung 1

Abbildung 1 - Pfadverlust und Entfernung

Die Möglichkeit, Entfernungen auf diese Weise abzuschätzen, war ein ziemlicher Durchbruch, und Beacons haben sich in allen möglichen Bereichen durchgesetzt, z. B. im Einzelhandel, auf Reisen und in Museen.

Während Beacons für einige Anforderungen hervorragend geeignet waren, sind Entfernungsmessungen auf der Grundlage von RSSI und Pfadverlust für andere Anwendungen nicht genau genug. Die fehlende Angabe der Richtung des Senders ist ebenfalls eine Einschränkung, wenn Standortdaten und nicht nur die Entfernung benötigt werden. Außerdem enthalten die verschiedenen proprietären Bakentypen wie iBeacon keine ausdrücklichen Sicherheitsvorkehrungen.

2.1.3 Bluetooth® Richtungsfindung mit AoA und AoD

Im Jahr 2019 enthält die Version 5.1 der Bluetooth Core Specification eine wichtige neue Funktion: Bluetooth Direction Finding.

Die Funktion Bluetooth Direction Finding ermöglicht es Anwendungen, die Richtung eines empfangenen Signals anhand der vom Bluetooth LE Controller durchgeführten Phasenmessungen genau zu berechnen. Es sind zwei Methoden definiert.

Bei der AoA-Methode (Angle of Arrival) verfügt das Empfangsgerät über eine Antennengruppe, und die Messungen des empfangenen Signals, die an verschiedenen Antennen vorgenommen werden, weisen Phasendifferenzen auf, die auf die geringfügig unterschiedlichen Abstände zwischen den einzelnen Antennen und der Einzelantenne des Sendegeräts zurückzuführen sind.

Bei der Angle of Departure (AoD)-Methode verfügt das sendende Gerät über eine Antennengruppe. Das empfangende Gerät hat nur eine einzige Antenne, verfügt aber über Details der Antennengruppe des entfernten Sendegeräts. Dadurch kann es ähnliche Berechnungen anhand von Phasenmessungen an seiner Einzelantenne durchführen.

Abbildung 2
Abbildung 2 - Richtungsbestimmung mit AoA und AoD

Phasenmessungen in Form von In-Phase- und Quadratur-Abtastungen (IQ) werden vomcontroller an die Anwendung weitergegeben. IQ-Samples bestehen aus Paaren von Phasen- und Amplitudenwerten, anhand derer die Anwendung die Richtung berechnen kann, in der der Sender zu finden ist.

Abbildung 3
Abbildung 3 - IQ-Stichprobe

2.1.4 Channel Sounding

Die neue Bluetooth® Channel Sounding ermöglicht die Entwicklung von Produkten, die die Entfernung zwischen zwei Bluetooth-Geräten mit einer wesentlich höheren Genauigkeit berechnen können, als dies mit der RSSI- und Path Loss-Methode der ersten Generation jemals möglich gewesen wäre. Sie funktioniert auf eine völlig andere Art und Weise und umfasst eine Reihe von Sicherheitsvorkehrungen, die verschiedene Arten von Risiken mindern.

Es wird erwartet, dass Bluetooth® Channel Sounding für Find-My-Lösungen, digitale Schlüsselprodukte und viele weitere mit Bluetooth verbundene Geräte von Nutzen sein wird.

2.2 Eine Einführung in das Bluetooth® Channel Sounding

Bevor wir uns mit dem Bluetooth® Channel Sounding in Bluetooth LE befassen, werden in diesem Abschnitt zunächst einige theoretische Grundlagen zu dieser Funktion erläutert. Leser, die bereits mit dem Thema vertraut sind, sollten zu Abschnitt 3, Bluetooth® Channel Sounding, übergehen.

2.2.1 Die grundlegenden Eigenschaften von Radiowellen

Radio ist eine Form der elektromagnetischen Strahlung und wird von Physikern oft als Welle beschrieben. Radiowellen haben verschiedene grundlegende Eigenschaften, deren Verständnis wichtig ist.

2.2.1.1 Amplitude und Wellenzyklen

Die Amplitude einer Funkwelle entspricht der Energie, die sie transportiert, oder, allgemeiner ausgedrückt, der Signalstärke. Sie oszilliert über und unter einem zentralen Referenzwert. Diese Über- und Unterschwingung wiederholt sich regelmäßig und periodisch. Ein einzelner Übergang bis zur Spitzenamplitude, hinunter zum Tiefpunkt und wieder hinauf zum Ausgangsreferenzwert wird als Wellenzyklus bezeichnet. In Abbildung 4 sind zwei vollständige Wellenzyklen dargestellt, wobei die Amplitude auf der vertikalen Skala angegeben ist. Das Ausmaß des ersten Wellenzyklus ist hervorgehoben.

Abbildung 4Abbildung 4 - Wellenzyklus mit Amplitude auf der vertikalen Skala

2.2.1.2 Wellenlänge

Ein einzelner Wellenzyklus hat eine physikalische Länge. Die Wellenlänge hängt von der Frequenz ab und liegt im Fall der Bluetooth Technologie zwischen etwa 12,0 cm und etwa 12,5 cm.

Abbildung 5Abbildung 5 - Wellenlänge

2.2.1.3 Häufigkeit

Radio bewegt sich mit Lichtgeschwindigkeit im Vakuum2. Die Anzahl der vollständigen Wellenzyklen, die einen festen Punkt im Raum in einer Sekunde überqueren, wird als Frequenz bezeichnet. Die Frequenz wird in Hertz (Hz) gemessen, wobei 1 Hz einem Wellenzyklus pro Sekunde entspricht. Ein Signal von Bluetooth arbeitet mit wesentlich höheren Frequenzen, die in Gigahertz (GHz) gemessen werden.

Abbildung 6Abbildung 6 - Frequenz

2.2.1.4 Phase

Punkte, die irgendwo innerhalb eines einzelnen Wellenzyklus liegen, werden durch ein Winkelmaß ausgedrückt, das als Phase bezeichnet wird. Die Phasenwerte haben einen Bereich von 0 - 360 Grad oder 0 - 2π Radiant. Abbildung 7 veranschaulicht das Phasenkonzept mit einer Reihe von Phasenwerten (ausgedrückt im Bogenmaß), die an den entsprechenden Punkten des Wellenzyklus markiert sind.

Abbildung 7Abbildung 7 - Phase

2.2.1.5 Die mathematische Beziehung zwischen Frequenz und Wellenlänge

Frequenz (f) und Wellenlänge (λ) stehen in umgekehrtem Verhältnis zueinander. Je kürzer die Wellenlänge, desto höher die Frequenz und umgekehrt. Darüber hinaus ist die Beziehung zwischen diesen beiden Größen und der Lichtgeschwindigkeit (c) durch eine Reihe einfacher Formeln definiert, die es ermöglichen, jede der drei Größen aus den bekannten Werten der beiden anderen zu berechnen. Die Lichtgeschwindigkeit ist eine Konstante mit einem Wert von 299792458 m/s.

Formula Use
2405 Channel Sounding Formulas 1

Calculate an unknown wavelength from a known frequency and the constant speed of light.

2405 Channel Sounding Formulas 2

Calculate an unknown frequency from a known wavelength and the constant speed of light.

2405 Channel Sounding Formulas 3

Calculate the speed of light using a frequency value and the corresponding wavelength.

Tabelle 1 - Frequenz- und Wellenlängenformeln

2.2.2 Methoden zur Entfernungsmessung

Die beiden am häufigsten verwendeten Methoden in der drahtlosen Entfernungsmessung sind das phasenbasierte Ranging (PBR) und das Round-Trip-Timing (RTT). Die Theorie, die hinter beiden Methoden steht, wird in diesem Abschnitt umrissen.

2.2.2.1 Phasenbasiertes Ranging (PBR)

2.2.2.1.1 Theorie

Es ist einfach, sich die Entfernung als Funktion der Wellenlänge eines Signals in Form der Anzahl der Wellenzyklen vorzustellen, die das Signal benötigt, um von einem Sender zu einem Empfänger zu gelangen.

Abbildung 8Abbildung 8 - Abstand von Wellenlänge und Wellenzyklen

In Abbildung 8 ist das Signal, das auf der linken Seite der Abbildung gesendet wird, deutlich zehneinhalb Wellenlängen vom Empfänger entfernt. Wenn wir die Frequenz des Signals kennen, kennen wir auch die Wellenlänge. Und wenn wir die Wellenlänge kennen, dann können wir, wenn wir die Anzahl der Wellenzyklen kennen, die Multiplikation verwenden, um die Entfernung zwischen den beiden Geräten zu ermitteln.

Beträgt die Übertragungsfrequenz beispielsweise 2402 MHz, so ist die Wellenlänge 12,48095162 cm. Diese Zahl wurde ermittelt, indem die Lichtgeschwindigkeit durch die Frequenz dividiert wurde.

Das sendende Gerät hat jedoch keine Möglichkeit, die Anzahl der Wellenzyklen zwischen seiner Antenne und derjenigen des Empfängers zu kennen. Die PBR-Methode beinhaltet daher eine Technik, die es ermöglicht, die Entfernung zwischen Sender und Empfänger auf der Grundlage anderer Daten abzuleiten. Das funktioniert folgendermaßen.

Wir bezeichnen das Gerät, das eine Entfernungsmessung durchführen möchte, als Gerät A. Das andere Gerät ist Gerät B.

  1. Gerät A sendet ein Signal mit einer bekannten Frequenz, f1. Die Anfangsphase dieses Signals ist Gerät A bekannt, und zur Veranschaulichung nehmen wir an, dass dieses Signal mit einer Phase von null Radiant gesendet wird.
  2. Gerät B empfängt das Signal f1 an seiner Antenne und notiert seine Phase, die wir als Empfangsphase bezeichnen.
  3. Gerät B sendet dann das empfangene Signal an Gerät A zurück, indem es auf der gleichen Frequenz f1 sendet und vor allem sicherstellt, dass die Anfangsphase dieser Übertragung genau mit der Empfangsphase des von Gerät A empfangenen Signals übereinstimmt, was dazu führt, dass das Rücksignal eine Fortsetzung des Signals von Gerät A in Bezug auf Phase und Frequenz ist.
  4. Gerät A misst die Empfangsphase des von Gerät B ankommenden Signals. Wir nennen diesen Wert Pf1.

Abbildung 9 veranschaulicht diesen Austausch von Signalen mit der Frequenz f1.

Abbildung 9Abbildung 9 - Zweiwegereichweite mit Frequenz f1

Gerät A wählt nun eine neue Frequenz, f2, und die vier Schritte werden wiederholt. Das Ergebnis dieser zweiten Ausführung der vier Schritte ist eine neue Phasenmessung des von Gerät B empfangenen Signals durch Gerät A, die wir Pf2 nennen.

Abbildung 10 veranschaulicht diesen Austausch von Signalen mit der Frequenz f2.

Abbildung 10Abbildung 10 - Zweiwegereichweite mit Frequenz f2

Das Gerät A berechnet nun die Differenz zwischen den für f1 und f2 gemessenen Phasenwerten, d. h. es berechnet Pf2 - Pf1. Mit der Phasendifferenz und der Differenz zwischen den Frequenzen f1 und f2 lässt sich nun der Abstand nach folgender Formel berechnen:

2405 Channel Sounding Formeln 4

Dabei ist c die Lichtgeschwindigkeit, (Pf2 - Pf1) die Phasendifferenz und (f2 - f1) der Frequenzabstand, und r ist der Abstand zwischen den beiden Geräten in beiden Richtungen.

Dieser Ansatz, bei dem das zweite Gerät ein Signal an das Ursprungsgerät zurücksendet, damit es Phasenmessungen vornehmen kann, wird als Zweiwege-Entfernungsmessung bezeichnet.

Die reale Welt kann Herausforderungen mit sich bringen, die in dieser Erklärung einiger grundlegender Theorien nicht berücksichtigt wurden. Auf einige dieser Herausforderungen werden wir später in diesem Abschnitt eingehen.

2.2.2.1.2 Praktisches Beispiel

Lassen Sie uns ein einfaches Beispiel ausprobieren, um dies in Aktion zu sehen. Wir gehen von einem eher künstlichen Fall aus, bei dem wir den Abstand zwischen den beiden Geräten bereits kennen, damit wir sehen können, wie die Formel korrekt zum gleichen Ergebnis kommt.

Abbildung 11 zeigt zwei Geräte, Gerät A und Gerät B, die genau 1,248095162 Meter voneinander entfernt sind. Gerät A hat ein Signal mit einer Frequenz von 2,402 MHz und einer Wellenlänge von 12,48095162 cm gesendet. Durch einen wirklich bemerkenswerten Zufall sind die beiden Geräte also genau das Zehnfache dieser Wellenlänge voneinander entfernt.

Abbildung 9Abbildung 11 - Geräte mit genau zehn f1-Wellenzyklen Abstand

Angenommen, Gerät A sendet dieses Signal mit einer Anfangsphase von Null, und da Gerät B ein exaktes Vielfaches der Wellenlänge entfernt ist, ist die Empfangsphase bei Gerät B ebenfalls Null. Wie gezeigt, sendet Gerät B ein Signal zurück an Gerät A, wobei es die Anfangsphase auf denselben Wert der Empfangsphase einstellt wie das ursprünglich empfangene Signal, so dass wir effektiv eine Fortsetzung haben.

Abbildung 12 zeigt das zweite Signal, das von Gerät A mit der Frequenz f2 gesendet wird. Diesmal ist die gewählte Frequenz höher als f1 mit einem Wert von f2 = 2,432 MHz. Die Anfangsphase bei Gerät A ist wieder Null.

Abbildung 10Abbildung 12 - Geräte im Abstand von etwas mehr als zehn f2-Wellenzyklen

Die Wellenlänge von f2 ist kürzer als die Wellenlänge von f1, weil f2 eine höhere Frequenz hat. Dies führt dazu, dass die Empfangsphase an Gerät B nicht gleich Null ist. Tatsächlich beträgt sie 0,784744210 Radiant. Wenn das Signal von Gerät B mit der gleichen Anfangsphase erneut gesendet und von Gerät A empfangen wird, beträgt die Phase 1,56948842 Radiant.

Woher kennen wir in diesem Fall den Phasenwert an Gerät B und wieder an Gerät A?

In einer realen Implementierung würde der Phasenwert von dem empfangenden Gerät gemessen werden. In diesem Beispiel, in dem wir bereits den Abstand zwischen den Geräten kennen und einfach zeigen, wie die Hauptformel zu dieser Abstandsschätzung kommt, haben wir den Luxus, den erwarteten Phasenwert aus dem bekannten Abstand und der Wellenlänge mit dieser Formel berechnen zu können:

2405 Channel Sounding Formeln 5

wobei λ die Wellenlänge und r die bekannte Entfernung ist.

 

Gerät A hat nun alle Informationen, die es braucht, um die Entfernung zu Gerät B zu berechnen. Die Frequenzdifferenz beträgt 30 MHz, und die Phasendifferenz beträgt 1,56948842. Setzt man diese Werte in die Formel für r ein, ergibt sich eine Entfernung von 2,49 Metern mit zwei Dezimalstellen. Dies gilt jedoch für den Hin- und Rückweg von Gerät A zu Gerät B und wieder zurück, so dass die tatsächliche Entfernung zwischen den beiden Geräten die Hälfte dieses Wertes beträgt, d. h. 1,24 Meter. Dies ist das erwartete Ergebnis und zeigt, wie die Formel für r, die auf der Lichtgeschwindigkeit und den bekannten Phasen- und Frequenzabständen der beiden übertragenen Signale basiert, zur genauen Berechnung der Entfernung zwischen den beiden Geräten verwendet werden kann.

Es gibt jedoch eine Komplikation, die in der Formel für die Phase und die modulare Division von (2 * π) angedeutet wird. Die Phasenwerte ändern sich mit zunehmender Entfernung, aber sie sind periodisch, d. h., wenn ein Phasenwert (2 * π) Radiant erreicht, wird er auf Null zurückgesetzt, und die gleichen Werte beginnen sich zu wiederholen. Dies kann zu Mehrdeutigkeiten bei der Bestimmung der Entfernung zwischen zwei Geräten führen, da ein und derselbe Wert der Phasendifferenz mehr als eine Entfernung implizieren kann. Dies wird als Abstandsmehrdeutigkeit bezeichnet.

Wann genau die Abstandsmehrdeutigkeit auftritt, hängt vom Frequenzabstand ab. Im Allgemeinen tritt die Abstandsmehrdeutigkeit bei größeren Frequenzunterschieden früher auf. Glücklicherweise kann dieses Problem durch die Verwendung von PBR in Verbindung mit der zweiten Entfernungsmessungsmethode, Round-Trip-Timing, gelöst werden.

2.2.2.2 Round-Trip Timing (RTT)

2.2.2.2.1 Theorie

Die Theorie, die hinter der Verwendung der Umlaufzeit zur Berechnung der Entfernung zwischen zwei Geräten steht, ist sehr einfach. Funkübertragungen bewegen sich mit Lichtgeschwindigkeit, einer bekannten Konstante. Wenn wir also die Zeit berechnen können, die eine Übertragung zwischen zwei Geräten benötigt, können wir auch die Entfernung berechnen. Dazu müssen wir nur die Laufzeit mit der Lichtgeschwindigkeit multiplizieren.

Wenn ein HF-Signal beispielsweise 20 Nanosekunden braucht, um von Gerät A zu Gerät B und zurück zu Gerät A zu gelangen, ergibt die einfache Multiplikation der Lichtgeschwindigkeit mit 20 Nanosekunden eine bidirektionale Gesamtdistanz von knapp sechs Metern und damit eine Entfernung zwischen den beiden Geräten von knapp drei Metern.

Bidirektionaler Abstand 2r = c * 0.00000002

wobei c die Lichtgeschwindigkeit (299792458 m/s) und 0,00000002 die bidirektionale Flugzeit (ToF) in Sekunden ist. Daraus ergibt sich das folgende Ergebnis:

2r = 299792458 * 0.00000002
= 5.99584916

und daher ist der Abstand zwischen Gerät A und Gerät B

2.99792458 Meter

Aber während diese Grundformel korrekt ist, ist ihre Anwendung im Zusammenhang mit Bluetooth etwas komplizierter, und die bisher vorgestellte Theorie ist unvollständig.

Das Formulieren und Senden eines HF-Signals nimmt ebenso Zeit in Anspruch wie das Empfangen, Verarbeiten und Senden der Rückmeldung auf dem Hin- und Rückweg. Ein Gerät braucht etwa 200 Mikrosekunden, um ein Paket zu formulieren und zu senden. Wenn man bedenkt, dass Funkwellen in einer einzigen Mikrosekunde knapp 300 Meter zurücklegen können, können diese scheinbar kurzen Zeitspannen im Zusammenhang mit Entfernungsmessungen von großer Bedeutung sein.

Abbildung 13 zeigt diese Aufschlüsselung und markiert die wichtigsten Punkte auf der Zeitachse.

2405 Channel Sounding Abbildung 13

Abbildung 13 - RTT-Aufschlüsselung (nicht maßstabsgetreu - Signalinhalt nicht repräsentativ)

 

Instant in Time Explanation

ToDA

Time of Departure from Device A.

This is the time at which the signal is transmitted over the air by Device A.

ToAB

Time of Arrival at Device B.

This is the time at which the signal arrives at the antenna of Device B.

ToDB

Time of Departure from Device B.

This is the time at Device B transmits over the air.

ToAA

Time of Arrival at Device A.

This is the time at which the signal from Device B is received at Device A’s antenna.

Die grün gestrichelten Linien (- - - - - - - - - - - - - -) stellen die verstrichene Zeit dar, in der keines der beiden Signale in der Luft ist.

Die Round-Trip-Time (RTT) kann durch die in Abbildung 13 dargestellten Zeitpunkte wie folgt ausgedrückt werden:

RTT = 2 * ToF (ToAA - ToDA) - (ToDB - ToAB)

Damit Gerät A die RTT berechnen kann, muss es die Durchlaufzeit bei Gerät B kennen (d. h. ToDB-ToAB). Theoretisch gibt es eine Reihe von Möglichkeiten, wie dies funktionieren könnte. In der Praxis besteht die einfachste Lösung darin, dass Gerät A und Gerät B im Voraus eine feste Umschlagszeit vereinbaren. Gerät B muss dann garantieren, dass es seine Verarbeitung abschließt und genau dann, wenn diese Frist abläuft, seine Antwort übermittelt. Gerät A verwendet dann diesen vorab vereinbarten Wert für ( ToDB-ToAB ).

2.2.2.3 Herausforderungen in der realen Welt

Die Theorie, die sowohl für die PBR- als auch für die RTT-Methode der Entfernungsmessung vorgestellt wurde, reicht aus, um einen ersten Einblick in das Thema zu gewinnen, und ist in einem rein theoretischen Kontext vollständig. In der realen Welt ist die genaue Entfernungsmessung jedoch komplizierter. Es gibt mehrere Herausforderungen, die bewältigt werden müssen, wenn zufriedenstellende Ergebnisse mit realen Geräten in realen Situationen erzielt werden sollen.

Beispiele für Herausforderungen, die eine drahtlose Entfernungsmesstechnik bewältigen sollte, sind:

  • Die Komplikationen, die sich aus der Mehrwegeausbreitung von Funksignalen ergeben
  • Die Genauigkeit und Stabilität der Frequenz der erzeugten Signale
  • die Stabilität der internen Uhren sowie die Genauigkeit und Auflösung der Zeitstempel
  • Mehrdeutigkeit der Entfernung bei der phasenbasierten Entfernungsmessung
  • Sicherheit

Im weiteren Verlauf dieses Artikels werden wir uns mit der hochpräzisen Entfernungsmessung in der Bluetooth Technologie befassen und einen Eindruck davon gewinnen, wie die Technologie so konzipiert wurde, dass sie auch bei solchen Problemen in der Praxis effektiv funktioniert.

3. Bluetooth® Channel Sounding

3.1 Überblick

Bluetooth® Channel Sounding bietet das Potenzial für Produkte, Entfernungsmessungen mit weitaus höherer Genauigkeit durchzuführen als bisher möglich war. Wie genau die Messungen sind, hängt von den Umgebungsbedingungen ab und davon, wie die Bluetooth® Channel Sounding von der Anwendungsschicht genutzt wird. Sie hängt auch von den Implementierungsentscheidungen ab, deren Einzelheiten nicht in der Bluetooth-Kernspezifikation enthalten sind, die aber die Qualität der in den Berechnungen verwendeten Rohdaten verbessern können.

Bluetooth® Channel Sounding bietet Anwendungen ein flexibles Toolkit für die Entfernungsmessung, wobei eine Reihe ganz unterschiedlicher Konfigurationen möglich sind. Die Spezifikation unterstützt sowohl die phasenbasierte Entfernungsmessung (Phase-based Ranging, PBR) als auch die Entfernungsmessung mit Round-Trip-Timing (RTT). In den meisten Fällen wird erwartet, dass PBR als primäre und genaueste Methode der Entfernungsmessung verwendet wird, während RTT daneben eingesetzt wird, um zusätzliche Sicherheit zu bieten.

PBR, wie es von Bluetooth® Channel Sounding verwendet wird, kann Entfernungen von bis zu 150 Metern messen, bevor eine Mehrdeutigkeit der Entfernung auftritt. Durch die Verwendung von RTT zusätzlich zu PBR können Anwendungen Entfernungsmehrdeutigkeiten erkennen und beseitigen und somit größere Entfernungen messen.

Anwendungen können unterschiedliche Prioritäten in Bezug auf Genauigkeit, Sicherheit, Latenzzeit und Stromverbrauch setzen. Die Konfigurierbarkeit der Bluetooth® Channel Sounding bietet Anwendungen die Möglichkeit, viele der wichtigsten Funktionen und Verhaltensweisen des Systems zu steuern oder zu beeinflussen, sodass der Betrieb auf die richtigen Prioritäten für die jeweilige Anwendung ausgerichtet ist.

In diesem Abschnitt werden wir die Bluetooth® Channel Sounding und die zentralen Bluetooth-Stack-Funktionen untersuchen, von denen sie abhängt.

3.2 Architektur

3.2.1 Geräte-Rollen

Die Bluetooth® Channel Sounding definiert zwei Geräterollen. Die erste ist der Initiator und die zweite ist der Reflektor.

Der Initiator ist das Gerät, das die Entfernung von sich zu einem anderen Gerät berechnen möchte. Das andere Gerät ist der Reflektor.

Sowohl der Initiator als auch der Reflektor können das Bluetooth® Channel Sounding einleiten, auf das später in diesem Dokument näher eingegangen wird.

Abbildung 14 Abbildung 14 - Rollen

3.2.2 Topologie

Bluetooth® Channel Sounding findet in einer Eins-zu-Eins-Topologie statt, wobei die Kommunikation zwischen einem Gerät in der Initiatorrolle und einem Gerät in der Reflektorrolle stattfindet.

Es ist zu beachten, dass die Rolle des Bluetooth® Channel Sounding Initiators entweder von dem Gerät übernommen werden kann, das in der Rolle der Verbindungsschicht LE Central oder als LE Peripheriegerät agiert. Dasselbe gilt für die Rolle des Bluetooth® Channel Sounding Reflectors, die entweder vom LE Central-Gerät oder vom LE Peripheral-Gerät übernommen werden kann.

3.2.3 Antennen-Arrays

Geräte, die Bluetooth® Channel Sounding verwenden, können eine Antennengruppe enthalten. Dies bietet eine Reihe von alternativen Pfaden für den Austausch der Bluetooth® Channel Sounding , die für die phasenbasierte Entfernungsmessung verwendet werden, und kann die Genauigkeit der Entfernungsmessungen verbessern, indem die Auswirkungen der Mehrwegeausbreitung verringert werden.

3.2.4 Anwendungen

Bluetooth® Channel Sounding erfordert, dass Entfernungen von der Anwendungsschicht anhand von Daten berechnet werden, die von der Bluetooth-Steuereinheit bereitgestellt werden. Diese Daten werden von der Steuereinheit während der Ausführung des Bluetooth® Channel Sounding erfasst und sind das Ergebnis des Signalaustauschs und von Low-Level-Messungen, die an jedem Gerät vorgenommen werden. Die Daten werden in HCI-Ereignissen an die Anwendungsschicht weitergeleitet.

Die Anwendungsschicht ist auch dafür verantwortlich, dem Bluetooth-Controller Konfigurationsmöglichkeiten und -präferenzen zur Verfügung zu stellen, die für die Einrichtung einer Bluetooth® Channel Sounding verwendet werden, die von den Anwendungen auf den beiden Geräten unterstützt wird und für diese geeignet ist.

Damit zwei Geräte an einem System teilnehmen können, bei dem ein Gerät die Rolle des Initiators und das andere die Rolle des Reflektors einnimmt, müssen beide über einen Bluetooth LE verfügen, der die Funktion Bluetooth® Channel Sounding unterstützt.

Abbildung 15 Neu Abbildung 15 - Bluetooth® Channel Sounding und der Bluetooth-Stack

3.2.5 Architektur des Datentransports
Abbildung 16Abbildung 16 - Die generische Datentransportarchitektur Bluetooth

Die Bluetooth Core Specification definiert die Architektur der Bluetooth Technologie aus einer Reihe von Perspektiven. In der ersten Perspektive wird eine verallgemeinerte Datentransportarchitektur definiert. Ihre Darstellung in der Kernspezifikation ist hier in Abbildung 16 wiedergegeben.

Unter Bezugnahme auf die Definitionen in der Bluetooth Core Specification werden die Begriffe in Abbildung 16 wie folgt beschrieben:

  • L2CAP ist das Logical Link Control and Adaptation Protocol. Ein L2CAP-Kanal ist eine logische Verbindung auf der L2CAP-Ebene zwischen zwei Geräten, die eine einzelne Anwendung oder ein Protokoll einer höheren Schicht bedient.
  • Ein Logical Link ist "die unterste Architekturebene, die verwendet wird, um den Clients des Bluetooth Systems unabhängige Datentransportdienste anzubieten".
  • Ein logischer Transport befasst sich mit Themen wie Sende- und Empfangsroutinen, Flusskontrollmechanismen, Bestätigungsprotokollen und Verbindungsidentifizierung. Ein logischer Transport kann synchron, asynchron oder isochron sein.
  • Eine physikalische Verbindung ist eine Verbindung zwischen Geräten, die auf der Ebene der Verbindungsschicht hergestellt wird. Die Verbindungsschicht ist eine der Schichten des Bluetooth Protokollstapels.
  • Physikalische Kanäle definieren Muster der Belegung von HF-Trägern durch ein oder mehrere kommunizierende Geräte.
  • Physikalische Transporte definieren allgemein gültige Themen, wie z.B. Over-the-Air-Paketstrukturen und Modulationsverfahren, die zur Kodierung digitaler Daten für die Übertragung mit Funksignalen als Träger verwendet werden.

Die generische Datentransportarchitektur gilt sowohl für Bluetooth LE als auch für Bluetooth Basic Rate/Enhanced Data Rate (BR/EDR).

Es werden eine Reihe spezifischer Typen von Physical Transport, Physical Channel, Physical Link, Logical Transport und L2CAP-Kanal definiert. Nur einige Kombinationen der verschiedenen Typen sind zulässig. Die spezifischen Komponententypen der Datentransportarchitektur und die zulässigen Kombinationen sind in der Bluetooth Core Specification für die Verwendung zur Unterstützung verschiedener Anwendungstypen definiert. Sie unterscheiden sich in Bereichen wie Topologie, Übertragungszeitmuster, Zuverlässigkeit, Stromverbrauch und Nutzung des HF-Kanals.

Abbildung 17 zeigt eine Teilmenge der Datentransportarchitektur. Blau hervorgehoben sind ein neuer physikalischer Kanaltyp und ein neuer physikalischer Verbindungstyp, die für Channel Sounding definiert wurden.

Abbildung 17

Abbildung 17 - CS und die Datentransportarchitektur

Der physischen Verbindung LE Channel Sounding ist kein logischer Transporttyp oder logischer Verbindungstyp zugeordnet.

3.2.6 Channel Sounding im Bluetooth LE Stack

Die umfassendere Art, Bluetooth LE zu definieren, ist die des gesamten Protokollstapels und seiner Schichten. Ein Großteil der Bluetooth-Kernspezifikation ist der Definition der einzelnen Schichten gewidmet. In Abbildung 18 ist der Bluetooth LE dargestellt.

Abbildung 18Abbildung 18 - Der Bluetooth LE

Tabelle 2 gibt einen Überblick über die Zuständigkeiten der einzelnen Schichten des Bluetooth LE .

Layer Key Responsibilities

Generic Access Profile (GAP)

Defines operational modes and procedures that may be used in a non-connected state, such as how to use advertising for connectionless communication and device discovery.

Defines security levels and some user interface standards.

Generic Attribute Profile (GATT)

Defines high-level data types known as services, characteristics, and descriptors in terms of underlying attributes in the attribute table.

Attribute Protocol (ATT)

A protocol used for the discovery and use of data held by the server in a logical data structure known as the attribute table.

Security Manager Protocol (SMP)

A protocol used during the execution of security procedures such as pairing.

Logical Link Control and Adaptation Protocol (L2CAP)

Provides data channel multiplexing services over RF connections, segmentation and reassembly of large SDUs, and enhanced error detection and retransmission facilities.

Host Controller Interface (HCI)

Provides an interface for bi-directional communication of commands and data between the host component and the controller.

Isochronous Adaptation Layer (ISOAL)

Allows different frame durations to be used by devices using isochronous channels.

Link Layer

Defines air interface packet formats, bit stream processing procedures such as error checking, a state machine and protocols for over-the-air communication, and link control.

Defines several distinct ways of using the underlying radio for connectionless, connection-oriented, and isochronous communication known as logical transports.

Physical Layer

Defines all aspects of Bluetooth technology that are related to the use of radio (RF), including modulation schemes, frequency bands, channel use, transmitter, and receiver characteristics.

Three combinations of Physical Layer parameters are defined and are referred to as the LE 1M, LE 2M, and LE 2M 2BT PHYs. LE 2M 2BT was defined for the first time in the version 6.0 of the Bluetooth Core Specification and may only be used with Bluetooth® Channel Sounding. Further details about the LE 2M 2BT PHY are provided in section 3.11 The LE 2M 2BT PHY.

A further PHY, LE Coded, is defined. Despite the name, LE Coded uses the same Physical Layer parameters as LE 1M but applies forward error-correction coding and pattern mapping in the Link Layer.

Tabelle 2 - Zusammenfassung der wichtigsten Aufgaben und Funktionen der einzelnen Schichten des Bluetooth LE

Die Abschnitte "Physical Layer", "Link Layer", " Host Controller Interface" und "Generic Access Profile" der Bluetooth Core Spezifikation wurden durch die Einführung von Bluetooth® Channel Sounding beeinflusst. Abschnitt 4. Zusammenfassung der Änderungen an der Bluetooth-Kernspezifikation wird dies näher erläutert.

Außerdem wurden neue, speziell für Bluetooth® Channel Sounding entwickelte Sicherheitsfunktionen eingeführt. Abschnitt 3.13 Sicherheit widmet sich dem Thema Bluetooth® Channel Sounding Sicherheit.

3.3 Verfahren zur Steuerung der Channel Sounding

Bevor das Bluetooth® Channel Sounding gestartet werden kann, muss sich das Gerät in der Rolle LE Central der Verbindungsschicht mit dem Gerät in der Rolle LE Peripheral der Verbindungsschicht verbinden. Anschließend wird die Sicherheit der aufgebauten LE-ACL-Verbindung gestartet, damit sie einen sicheren Transport für den Austausch verschiedener Link Layer Protocol Data Units (PDUs) während mehrerer Verfahren zur Vorbereitung und anschließenden Einleitung des Bluetooth® Channel Sounding bieten kann.

Die wichtigsten Vorgänge, die das Bluetooth® Channel Sounding vorbereiten und einleiten, sind:

  1. Sicherheit Start
  2. Austausch von Fähigkeiten
  3. Konfiguration
  4. Start

Nicht alle diese Verfahren sind obligatorisch, je nachdem, ob die beiden Geräte zuvor Informationen ausgetauscht haben, die möglicherweise im Cache gespeichert wurden oder nicht. Eine mögliche Abfolge von Verfahren und zugehörigen PDUs ist in Abbildung 19 dargestellt .

Abbildung 19 Abbildung 19 - Ein möglicher Ablauf des CS-Einleitungsverfahrens

Es folgt eine nähere Betrachtung der vier wichtigsten Vorgänge, die häufig mit der Einleitung des Bluetooth® Channel Sounding verbunden sind.

3.3.1 Channel Sounding

Bluetooth® Channel Sounding hat seine eigenen Sicherheitsfunktionen, die sich von denen der LE-ACL-Verbindung unterscheiden, über die die Initialisierungsverfahren ausgeführt werden. Die Bluetooth® Channel Sounding Startprozedur ermöglicht den beiden Geräten einen sicheren Austausch von Parametern, die später in den Bluetooth® Channel Sounding Sicherheitsfunktionen verwendet werden.

Das Bluetooth® Channel Sounding Security Start-Verfahren beginnt damit, dass die LE-Zentrale drei Zufallszahlen erzeugt und diese in einer LL_CS_SEC_REQ-PDU an das LE-Peripheriegerät sendet. Das LE-Peripheriegerät generiert drei eigene Zufallszahlen, die denselben Regeln wie die Zufallszahlen der Zentrale unterliegen, und sendet sie in einer LL_CS_SEC_RSP-PDU zurück an die Zentrale.

Die von den einzelnen Geräten erzeugten Zufallszahlen sind in Tabelle 3 aufgeführt und beschrieben.

Name Description Length (bits)

CS_IV_C

Initialization Vector generated by the Central.

64

CS_IN_C

Instantiation Nonce generated by the Central.

32

CS_PV_C

Personalization Vector generated by the Central.

64

     

CS_IV_P

Initialization Vector generated by the Peripheral.

64

CS_IN_P

Instantiation Nonce generated by the Peripheral.

32

CS_PV_P

Personalization Vector generated by the Peripheral.

64

Tabelle 3 - CS-Sicherheitsparameter

Wenn beide Geräte im Besitz beider Sätze von Bluetooth® Channel Sounding sind, werden die Werte jedes Zentral-/Peripheriepaars von den jeweiligen Verbindungsschichten miteinander verknüpft. Dies führt dazu, dass beide Geräte die gleichen Werte für die drei Bluetooth® Channel Sounding Sicherheitsparameter CS_IV, CS_IN und CS_PV besitzen.

Weitere Informationen über die Verwendung dieser Parameter finden Sie in Abschnitt 3.13 Sicherheit.

3.3.2 Austausch von Channel Sounding

Die Bluetooth® Channel Sounding zweier Geräte können sehr unterschiedlich sein, und damit vor dem Start eine gegenseitig unterstützte Konfiguration gefunden werden kann, müssen die beiden Geräte jeweils im Besitz von Informationen über die Fähigkeiten des anderen Gerätes sein.

Der Austausch von Fähigkeiten wird erreicht, indem ein Gerät seine Angaben in einer LL_CS_CAPABILITIES_REQ-PDU sendet und das andere Gerät mit seinen Angaben in einer LL_CS_CAPABILITIES_RSP-PDU antwortet. Ein Gerät kann Capabilities-Daten, die es zuvor von einem anderen Gerät erhalten hat, zwischenlagern und sich daher dafür entscheiden, keine Capabilities mit dem anderen Gerät auszutauschen. Dieses Verfahren kann jedoch von jedem Gerät initiiert werden.

Beispiele dafür, wie sich die Fähigkeiten unterscheiden können, sind die PHY-Unterstützung, die RTT-Genauigkeit, die unterstützten Bluetooth® Channel Sounding Sounding-Modi3, die Unterstützung der Angriffserkennung und die maximale Anzahl der unterstützten Antennenpfade. Die Bluetooth Core Specification enthält alle Einzelheiten zu den LL_CS_CAPABILITIES_REQ PDU und LL_CS_CAPABILITIES_RSP PDUs.

3.3.3 Konfiguration der Channel Sounding

Dieses Verfahren umfasst den Austausch von LL_CS_CONFIG_REQ und LL_CS_CONFIG_RSP PDUs. Im Wesentlichen ermöglicht dieses Verfahren den Geräten unter Verwendung der zuvor ausgetauschten Fähigkeiten die Auswahl der spezifischen Konfiguration, die verwendet werden soll.

Es können mehrere Konfigurationsparametersätze gepflegt werden. Jeder dieser Konfigurationen wird vom Host eine Kennung zugewiesen. Diese Kennung muss unter den von diesem Gerätepaar verwendeten Kennungen eindeutig sein und kann verwendet werden, um während der Verbindungsschichtverfahren auf einen bestimmten Parametersatz zu verweisen.

Die Anwendung auf dem Gerät, das die PDU LL_CS_CONFIG_REQ sendet, kann wählen, welche der Rollen Initiator oder Reflektor sie übernehmen möchte. Das andere Gerät antwortet mit LL_CS_CONFIG_RSP und muss die andere Rolle übernehmen.

3.3.4 Modus-0 FAE-Tabellenabfrage

Fractional Frequency Offset Actuation Error (FAE) ist ein Maß für die Differenz zwischen einer erzeugten Frequenz und der erwarteten oder gewünschten Frequenz, ausgedrückt in Parts Per Million (ppm). Alle Geräte weisen in dieser Hinsicht einen gewissen Grad an Ungenauigkeit auf, und in der Regel variiert ihr Ausmaß je nach verwendetem HF-Kanal.

Um möglichst genaue Entfernungsmessergebnisse zu erzielen, kann ein Gerät, das Bluetooth® Channel Sounding unterstützt, über eine Datentabelle verfügen, die Mode-0 FAE Table genannt wird. Die Tabelle enthält FAE-Werte für jeden Kanal und wird während des Herstellungsprozesses eingerichtet. Die Bedeutung von Modus-0 wird in 3.5.3 Schrittmodi erläutert.

Das Verfahren Mode-0 FAE Table Request ermöglicht es einem Initiator, die Mode-0 FAE-Tabelle eines Reflectors anzufordern. Dazu sendet der Initiator eine LL_CS_FAE_REQ PDU, auf die der Reflector mit einer LL_CS_FAE_RSP PDU antwortet, die seine FAE-Tabelle enthält.

Die einmal erfasste FAE-Tabelle kann für die künftige Verwendung mit demselben Reflektor gespeichert werden, so dass dieses Verfahren für ein bestimmtes Gerätepaar nur einmal ausgeführt werden muss.

3.3.5 Start der Channel Sounding

Wenn die Bluetooth® Channel Sounding Sicherheit gestartet wurde, die Geräte im Besitz von Informationen über die Fähigkeiten des jeweils anderen sind, der Initiator über die Mode-0 FAE-Tabelle des Reflektors verfügt (sofern er eine hat) und die Geräte sich auf eine geeignete Konfiguration geeinigt haben, kann das Channel Sounding Startverfahren eingeleitet werden. Dies geschieht über die PDUs LL_CS_REQ, LL_CS_RSP und LL_CS_IND.

Die LL_CS_REQ- und LL_CS_RSP-PDUs enthalten von jedem Gerät vorgeschlagene Zeit- und Strukturparameter. Diese Parameter bestimmen die Art und Weise, wie die Zeit aufgeteilt wird und wie sie während des Bluetooth® Channel Sounding genutzt wird. Eine LL_CS_IND-PDU wird von dem Gerät in der zentralen Rolle nach dem Empfang einer LL_CS_REQ- oder LL_CS_RSP-PDU vom Peripheriegerät gesendet. Die LL_CS_IND zeigt an, dass das Bluetooth® Channel Sounding nun beginnen soll, und enthält Parameterwerte, die für beide Geräte auf der Grundlage der Vorschläge in den zuvor ausgetauschten PDUs akzeptabel sind.

3.3.6 Channel Sounding

Das Bluetooth® Channel Sounding beginnt, nachdem das Bluetooth® Channel Sounding abgeschlossen ist. Dies ist der Mechanismus, mit dem die beiden Geräte HF-Signale austauschen, um Messungen vorzunehmen, die von einer Anwendung zur Entfernungsberechnung verwendet werden können. Wie dies funktioniert, wird in den folgenden Abschnitten dieses Papiers untersucht.

3.4 Ereignisse, Unterereignisse und Schritte

3.4.1 LE-ACL-Verbindungen und Zeiteinteilung

In einer ACL-Verbindung können Pakete während eines Verbindungsereignisses übertragen werden. Das Timing der Verbindungsereignisse basiert auf dem Wert des Verbindungsintervallparameters für diese ACL-Verbindung. Während eines Verbindungsereignisses übertragen die Zentrale und die Peripheriegeräte abwechselnd jeweils ein Paket, wobei die Zentrale zuerst sendet und das Peripheriegerät antwortet. Je nach anderen Verbindungsparametern kann es dem Peripheriegerät gestattet sein, nur auf eine Teilmenge von Paketen zu antworten, und der Zentrale kann es gestattet sein, nur während einer Teilmenge von Ereignissen zu senden.

Die Größe und Anzahl der Pakete, die von jeder Seite während eines Verbindungsvorgangs übertragen werden, kann variieren.

Eine LE-ACL-Verbindung wird während der Einleitungsprozeduren des Bluetooth® Channel Sounding verwendet, wie in 3 .3 Bluetooth® Channel Sounding Kontrollprozeduren beschrieben.

Abbildung 20 Abbildung 20 - Verbindungsereignisse und Intervalle in einer LE-ACL-Verbindung

3.4.2 Zeiteinteilung

 3.4.2.1 Aufbau

Das Bluetooth® Channel Sounding erfolgt in einer Reihe von Prozeduren. Jeder Vorgang besteht aus einer Reihe von CS-Ereignissen, und jedes CS-Ereignis ist weiter in CS-Unterereignisse unterteilt. Die letzte Unterteilung der Zeit innerhalb dieses hierarchischen Schemas ist der CS-Schritt. Innerhalb der Schritte werden Pakete oder Töne gesendet und empfangen. Abbildung 21 zeigt dieses strukturelle Schema für die Unterteilung der Zeit anhand eines Beispiels.

Abbildung 21

Abbildung 21 - Struktur der Bluetooth® Channel Sounding Verfahren in einer Beispielkonfiguration

3.5 CS Steps erklärt mehr über die Aktivitäten, die während der CS Steps stattfinden.

Es gibt eine Reihe von Parametern, mit denen die strukturellen Aspekte der Bluetooth® Channel Sounding Verfahren gesteuert werden können, insbesondere hinsichtlich der Kardinalität der Beziehungen zwischen den Elementen auf verschiedenen Ebenen. Einige der wichtigsten konfigurierbaren Variablen sind in Tabelle 4 aufgeführt.

Configurable Variable Range/Value Description

Number of CS procedure repetitions

0 to 65535

The number of Bluetooth® Channel Sounding (CS) procedure repetitions to execute before Bluetooth® Channel Sounding is terminated. A value of 0 is a special value indicating that CS procedures should run until terminated via the Bluetooth® Channel Sounding Procedure Repeat Termination procedure, which the host may invoke.

Number of subevents per event

1 to 16

The number of subevents anchored off the same ACL event.

Subevent Interval

0 or in the range 625 us to 40959.375 ms.

Time interval between the beginning of a CS subevent and the beginning of the next CS subevent within the same CS event.

0 means no division into subevents.

Configurable Variable

Range/Value

Description

Duration of each subevent

Variable

The duration of each subevent.

Number of steps per subevent

2 to 160

Randomly selected from a configured range.

There are a maximum of 256 steps per procedure.

Tabelle 4 - Beispiel für Bluetooth® Channel Sounding

3.4.2.2 Zeitplan

The timing, duration, and scheduling of procedures, events, subevents, and steps is controlled by a number of parameters which are configured during the Bluetooth® Channel Sounding Configuration and Bluetooth® Channel Sounding Start procedures.

All procedure, event, subevent, and step start times are directly or indirectly anchored to a selected connection event in the underlying LE ACL connection over which the link layer procedures to initiate Bluetooth® Channel Sounding were executed. In the first Bluetooth® Channel Sounding procedure instance, its first event and subevent all start at the same time, scheduled to occur at an offset from the selected connection event anchor point. The first step occurs at an offset from the start of the first subevent called T_FCS. T_FCS has a value in the range 15 μs to 150 μs, and the period it covers is used to change the frequency by hopping. 3.9 RF Channels and Channel Selection provides more information on this subject.

Both procedures and events occur at intervals whose value is expressed in terms of a number of ACL connection intervals. Figure 22 shows an example where the procedure interval has a value of 4 and the event interval a value of 2. As shown, this results in a new procedure interval starting at every 4th ACL connection event and an event interval starting at every second connection event. A procedure and its events actually start within their respective intervals at an offset from the relevant connection event anchor point. The offset value is expressed in microseconds.

Abbildung 22 Figure 22 – Procedure and Event Scheduling with procedure interval = 4 and event interval = 2

The first subevent in each event starts at the same time as the event, offset from the relevant ACL connection event. The number of subevents per event is a configuration parameter and subevents occur once per subevent interval as shown in Figure 23.

Abbildung 23 Figure 23 – Example of CS subevent within CS event scheduling

Each subevent includes at least two steps. This can vary from subevent to subevent, depending on how channel sounding is being used by the application. Steps can vary in duration, again, depending on configuration. The scheduling of steps and the RF transmission and reception slots assigned to them is subject to meticulous timing rules, further details of which can be found in the Bluetooth Core Specification.

3.5 Bluetooth® Channel Sounding Steps

3.5.1 About Steps

Figure 21 shows the structure of Bluetooth® Channel Sounding procedures in terms of events, subevents, and steps. It is within steps that an exchange of RF signals between Initiator and Receiver takes place. Depending on the channel sounding method or methods that the application layer has opted to use (PBR and/or RTT), details vary.

In general, steps are either concerned with calibration or with the acquisition of low-level measurements that can be used by the application layer in a distance measurement algorithm.

3.5.2 Packets and Tones

When RTT is in use, packets of a type called CS_Sync are exchanged by Initiator and Reflector.

A CS_SYNC packet has the following structure:

Abbildung 24 Figure 24 – The CS_Sync Packet

The inclusion of a Sounding Sequence or Random Sequence at the end of a CS_Sync packet is optional. These terms will be explained in 3.10 RTT Options and Accuracy.

CS_Sync packets can be transmitted using either the LE 1M, LE 2M or LE 2M 2BT PHY. The GFSK4 modulation scheme is used as with other Bluetooth LE packets.

When PBR is in use, signals known as CS Tones are exchanged by Initiator and Reflector. These signals use Amplitude Shift Keying (ASK) to create a symbol whose frequency is fixed for a specified period of time.

3.5.3 Step Modes

Steps have an associated mode which determines the goal of the step and the type of activity that takes place within it. Four modes are defined and are designated mode-0, mode-1, mode-2, and mode-3.

3.5.3.1 Mode-0

Mode-0 is concerned with calibration. All devices will exhibit some degree of clock drift and inaccuracy in frequency generation. This is an issue for both the RTT and PBR distance measurement methods.

The purpose of a mode-0 step is to allow the Initiator to measure the amount by which the frequency of signals transmitted by the Reflector differ from those generated by the Transmitter.

The Initiator transmits a CS_Sync packet on a selected channel and frequency. The Reflector replies with a CS_Sync packet and a CS Tone. Both are required to be transmitted on the same frequency as the signal received from the Initiator.

The CS_Sync packet provides the Initiator with a preamble with which to tune the receiver and set its gain. The CS Tone is used as the basis for measuring a frequency offset as described next.

On receiving the response signal from the Reflector, the Initiator calculates a value called the Fractional Frequency Offset (FFO). The calculation of FFO involves the frequency of the tone received from the Reflector and the Reflector’s mode-0 FAE table (see 3.3.4 Mode-0 FAE Table Request ).

FFO is later used in calculations to compensate for the differences between the two devices and improve the accuracy of the results.

Figure 25 shows the transmission of a CS_Sync packet by the Initiator followed by the CS_Sync and CS Tone sent in response by the Reflector. The duration of various time slots are indicated by symbolic names with the following meanings:

T_SY Time for synchronization sequence. Duration depends on CS_Sync packet length and the PHY used.

T_RD

Time for transmission ramp down. This is 5 μs and is used by the transmitter to remove energy from the RF channel.

T_IP1

Time for interlude period between the end of the Initiator’s transmission and the start of the transmission by the Reflector. Durations vary between 10 μs and 145 μs and are determined in the capabilities exchange procedure.

T_GD

Guard time. Always 10 μs in duration.

T_FM

Time for frequency measurement. Always 80 μs in duration for step mode-0.

Table 5 – time slot parameters

Abbildung 25 Figure 25 – Mode-0 transmissions and time slots

Support for mode-0 steps is mandatory.

3.5.3.2 Mode-1

In a mode-1 step, the round-trip timing (RTT) of a CS_Sync packet sent from an Initiator to a Reflector and back again is calculated.

A timestamp is recorded by the Initiator when transmitting the initial CS_Sync packet and is known as the Time of Departure (ToD). The Initiator records a second timestamp on receiving the CS_Sync packet sent back by the Reflector. This is known as the Time of Arrival (ToA).

Figure 26 shows the mode-1 transmission of a CS_Sync packet by the Initiator followed by a CS_Sync sent in response by the Reflector. The duration of various time slots are indicated by symbolic names that are described in Table 5.

Abbildung 26 Figure 26 – Mode-1 transmissions and time slots

The interlude period, T_IP1 is of a known fixed length that is sufficient in duration for the Reflector to prepare and then transmit its packet. The use of a pre-agreed, fixed period in this part of the exchange means that the Initiator knows the turnaround time at the Receiver and can use this in its RTT calculation.

There are several methods defined for ToD and ToA timestamping. Different degrees of accuracy are offered by the choices of method. The alternative methods are explained in 3.10 RTT Options and Accuracy.

Support for mode-1 steps is mandatory.

3.5.3.3 Mode-2

The purpose of a mode-2 step is to support phase-based ranging (PBR).

A mode-2 step starts with the Initiator transmitting a CS Tone on a selected channel and via each available antenna path. After a ramp down time and interlude period, the Reflector replies with a CS Tone, selecting the same frequency as the tone received from the Initiator and over each of its antenna paths. Figure 27 illustrates the exchange. Time slot duration involves the terms described in Table 5 and the additional terms defined here in Table 6.

T_SW Time period reserved for antenna switching.

T_PM

Time for the transmission of a phase measurement tone.

T_IP2

Time for interlude period between CS Tones.

N_AP

Number of antenna paths.

Table 6 – Additional step mode-2 timing parameters

Abbildung 27 Figure 27 – mode-2 transmissions and time slots

The Initiator measures the phase of CS Tone received from the Reflector during the period T_PM, once for each antenna path. Adjustments are made using compensation values calculated in the mode-0 step. Phase measurements are passed to the application layer in an HCI event in the form of an array of IQ samples.

It should be noted that the expression for the total duration of the CS Tone(s) transmission includes the term N_AP + 1. This is because an extra time period known as a CS Tone extension slot follows the T_PM duration time slots that are allocated for each antenna path. Use of this time slot for transmission is randomized for security reasons (see 3.12 Security), but, when it is used, a CS Tone is transmitted using the same antenna used in the immediately prior T_PM time slot.

Support for mode-2 steps is mandatory.

3.5.3.4 Mode-3

A mode-3 step supports both RTT calculation and PBR using combined exchanges of CS_Sync packets and CS Tones.

Figure 28 – mode-3 transmissions and time slots

Support for mode-3 is not mandatory. Applications wishing to combine PBR and RTT but finding through the capabilities exchange procedure that mode-3 is not supported by both Initiator and Reflector may instead use a mode sequence that combines both mode-2 and mode-1 steps. See 3.8 Mode Sequencing for more information on this capability of Bluetooth® Channel Sounding.

Mode-3 steps include an extension slot as was described for mode-2 steps.

3.6 Establishing Phase Differences

In the previous sections on mode-0, mode-1, mode-2, and mode-3 steps, the focus was on the details of how time is divided and used in a single step of each type. But distance calculations require multiple exchanges, either to improve the accuracy of the calculated distance or because the method used demands it. PBR by definition, needs at least two exchanges.

For phase differences to be available for measurement, there needs to be more than one transmitted signal and more than one frequency must be involved. A single step involves the exchange of a single CS Tone on a single selected channel and frequency. As such, it is clear that the PBR method requires the execution of an absolute minimum of two steps of a mode that supports the PBR method. Sequences of steps within a Bluetooth® Channel Sounding procedure and the patterns governing their repetition and mode variation is the subject of 3.8 Mode Sequencing. It should be noted that in general terms, a larger number of CS Tone exchanges using a correspondingly larger set of RF channels will provide the application with more data and the opportunity to produce more accurate distance measurements. A larger number of exchanges will require more time to execute, however.

3.7 Antenna Switching

As noted in 3.2.3 Antenna Arrays, devices may include multiple antennas for use during phase-based ranging exchanges. The maximum number of antennas that a device may have for use during PBR exchanges (i.e., mode-2 or mode-3 steps) is four. A given pair of antenna configurations, one belonging to the Initiator and one to the Reflector, provides a number of antenna paths between the two devices.

A total of eight antenna permutations are defined by the Bluetooth Core Specification. Reflecting a similar table in the core specification, Table 7 lists these configurations. The figures immediately after the table show several examples.

Antenna Configuration Index (ACI) Device A number of antennas Device B number of antennas Number of antenna paths (N_AP)

0

1

1

1

1

2

1

2

2

3

1

3

3

4

1

4

4

1

2

2

5

1

3

3

6

1

4

4

7

2

2

4

Table 7 – Antenna Configurations

2405 Channel Sounding Abbildung 28 Figure 29 – 1:1 antenna config (ACI=0, N_AP=1)

2405 Channel Sounding Abbildung 29 Figure 30 – 1:2 antenna config (ACI=4, N_AP=2)

2405 Channel Sounding Abbildung 30 Figure 31 – 3:1 antenna config (ACI=2, N_AP=3)

2405 Channel Sounding Abbildung 31 Figure 32 – 2:2 antenna config (ACI=7, N_AP=4)

Antenna switching takes place during mode-2 steps (PBR) and during the PBR-related part of each mode-3 step. Specifically, it is when transmitting a CS Tone that antenna switching can be applied, depending on the antenna configuration of the transmitting device. The calculation of the duration of the CS Tone transmission time slots in mode-2 and mode-3 steps accommodates antenna switching and multiple antenna paths:

(T_SW+T_PM)*(N_AP+1)

→ T_SW provides time for antenna switching to take place and has a value of either 0, 2, 4, or 10 microseconds.

→ T_PM is the time for the transmission of the CS Tone.

→ N_AP is the number of antenna paths. The +1 term is to allow for the extension slot.

3.8 Mode Sequencing

3.8.1 Mode Sequencing Overview

A Bluetooth® Channel Sounding procedure always involves the execution of a sequence of multiple steps and a mix of at least two modes. The Bluetooth Core Specification defines mode combination and sequencing rules, key aspects of which shall be explored in this section.

Bluetooth® Channel Sounding applications will produce better quality, more accurate distance measurements when provided with data by the Bluetooth controller that is derived from larger numbers of exchanges of packets and tones.

3.8.2 Mode Combinations

Steps of at least two different mode types are always involved in a Bluetooth® Channel Sounding procedure. The first is the mode-0 step for frequency offset measurement and the second must be any one of the other modes. But it is also possible to use a combination of two non-mode-0 modes with the mandatory mode-0 type. In all cases, the primary non-mode-0 mode is called the Main_Mode. The secondary non-mode-0 mode, if there is one, is called the Sub_Mode. Table 8 is reproduced from the Bluetooth Core Specification and lists the six permitted non-mode-0 mode combinations.

Main_Mode Sub_Mode

Mode-1

None

Mode-2

None

Mode-3

None

Mode-2

Mode-1

Mode-2

Mode-3

Mode-3

Mode-2

Table 8 – Permitted non-mode-0 mode combinations

3.8.3 Mode Sequence Configuration and Sub_Mode Insertion

Applications are able to configure the step mode sequence using HCI commands. This takes place during the Bluetooth® Channel Sounding configuration and start procedures. Amongst the key parameters that may be requested and agreed between devices are those shown in Table 9.

HCI Parameter Purpose

Mode_0_Steps

Defines the number of consecutive mode-0 steps to be executed at the start of each CS subevent. Permitted values are 1, 2, or 3.

Main_Mode_Type

Indicates the mode which will be the main mode (1, 2, or 3).

Sub_Mode_Type

Indicates the mode which will be the submode (1, 2, or 3).

Min_Main_Mode_Steps

Determines the minimum number of main mode steps that must always be executed before a submode step.

Max_Main_Mode_Steps

Determines the maximum number of main mode steps that must always be executed before a submode step.

Table 9 – Mode sequencing control parameters

By using these parameters, applications can specify patterns of step modes that will occur in a sequence.

In general, step mode sequencing follows this pattern:

  1. One or more mode-0 steps start the subevent
  2. A sequence of n main mode steps then follows, where n is randomly selected and falls in the range of Min_Main_Mode_Steps to Max_Main_Mode_Steps inclusive
  3. A single submode step follows the sequence of n main mode steps due to a process that the Bluetooth Core Specification calls sub_mode insertion

Step mode sequences are not tied to subevent boundaries other than by the general rule that subevents must always start with one or more mode-0 steps. Full sequences can span more than one subevent.

Figure 33 shows a simple example of the effect of some of the mode sequencing parameters.

Abbildung 32Figure 33 – A step mode sequence example

Subevent 1 starts with a sequence of two consecutive mode-0 steps. All subevents start with at least one mode-0 step and in this example the Mode_0_Steps parameter has a value of 2.

Next, we have a series of three mode-2 steps. They are mode-2 steps because the Main_Mode_Type is 2. The number of main mode steps to sequence was selected at random with the Min_Main_Mode_Steps and Max_Main_Mode_Steps acting as upper and lower limits. In this case, the randomly selected value was three.

After the three main mode steps, a single submode step of type mode-1 is included due to Sub_Mode_Type having a value of 1 and the required sequence of main mode steps having completed.

There is sufficient time left in the subevent (which has a duration that was specified in the Subevent_Len parameter during the CS Start procedure) for one more step to be included. The previous step was a submode step and so the main mode/submode sequence starts again but this time with a required count of two main mode steps selected at random. The final step in subevent 1 is then a main mode step of mode-2 which starts the new sequence.

Subevent 2 starts with two mode-0 steps. The main mode sequence that was started in the last subevent then continues with one more main mode step completing the required count of two. This sequence is completed with a submode step.

Once again, a new main mode/submode sequence starts, this time with five main mode steps randomly selected as required. Three of these steps are included within the current subevent before the end of that subevent is reached. Subevent three starts with the usual two mode-0 steps of this example and then the remaining two main mode steps of the required five, followed by a submode step.

The pattern continues with the number of main mode steps randomly selected each time a new sequence is required until the number of subevents specified for the procedure has been completed.

3.8.4 Main Mode Repetition

There is another mode sequencing parameter that can be used by applications. Main_Mode_Repetition specifies a number of the most recent main mode steps from the last subevent to be repeated in the current subevent.

When main mode repetition applies, the steps repeated in the current subevent use the same channel index as was used for the respective steps in the previous subevent. This ensures that the repeated step transmissions have the same intended frequency. Other aspects of repeated transmissions, particularly those related to security, are generated afresh at each step, however. Note that the purpose of repeating main mode steps on the same frequency is to address possible frequency drift as well as Doppler shift effects.

Main mode repetition affords applications the opportunity to correlate some of the properties of the exchanges and may make it easier to track the velocity of moving devices.

Steps that are incorporated into the mode sequence due to main mode repetition are not counted in the submode insertion process that was described in 3.8.3 Mode Sequence Configuration and Sub_Mode Insertion.

3.8.5 Applications and Mode Sequencing Considerations

The ability to configure mode combinations and control step mode sequences using submode insertion and main mode repetition gives applications a lot of control over the process of Bluetooth® Channel Sounding. There are various goals that an application might have in seeking to benefit from this flexibility.

PBR is the most accurate of the two distance measurement methods and using RTT at the same time adds considerable security to the system. It also allows distance ambiguity which can arise using the PBR method to be dealt with.

Step mode-3 provides support for both methods in a single mode type but support for mode-3 is optional. Therefore devices that discover during the capabilities exchange procedure that mode-3 is not available, must mix mode-1 (RTT) and mode-2 (PBR) steps. This can be achieved by selecting mode-2 as the main mode and mode-1 as the submode.

A further consideration for applications is latency. Each exchange of signals takes time. Mode-1 RTT exchanges sometimes take longer than Mode-2 PBR exchanges depending on the number of antenna paths. Given the role of RTT is to compliment PBR by making the overall Bluetooth® Channel Sounding process more secure, applications that need to keep latency below a certain threshold are likely to opt to include a lower proportion of RTT exchanges in the Bluetooth® Channel Sounding procedure. This can be achieved by choosing mode-2 (PBR) as the main mode, mode-1 (RTT) as the submode, and setting the Min_Main_Mode_Steps and Max_Main_Mode_Steps parameters to suitable values so that a required minimum ratio of main mode to submode steps is exhibited.

In cases where mode-3 is supported by both devices, latency and the ratio of PBR to RTT exchanges remains an issue for applications to consider. All exchanges in mode-3 include both PBR-related CS Tones and RTT-related CS_Sync packets in equal proportion. This may be considered sub-optimal for some applications.

On the other hand, if it is supported, mode-3 can offer advantages when used with other modes. If the application requires a certain number of phase measurements with a certain ratio of RTT measurements then this can be achieved with fewer steps using a combination of mode-2 and mode-3 rather than mode-2 and mode-1.

Figure 34 shows a 3:1 PBR to RTT measurement ratio achieved using a main mode of mode-2 and a submode of mode-1. In this example, 9 PBR measurements and 3 RTT measurements are delivered over a series of 3 subevents.

Abbildung 34Figure 34 – A 3:1 PBR to RTT ratio using mode-2 and mode-1

Figure 35 shows the same number and ratio of PBR and RTT measurements delivered in 2 subevents using a main mode of mode-2 but with a submode of mode-3 this time. Note that neither of these illustrations are to scale and may not reflect actual air-time. Assuming sub event length is sufficient to accommodate the steps as shown in the two illustrations and only one antenna path is involved, the number of steps and exchanges between the two devices is correct and the illustrations should serve to explain the potential difference between these two seemingly similar configurations.

Abbildung 35Figure 35 – A 3:1 PBR to RTT ratio using mode-2 and mode-3

3.9 RF Channels and Channel Selection

3.9.1 The Bluetooth® Channel Sounding Channel Map

Typically, Bluetooth LE divides the 2.4 GHz ISM band into 40 channels, each 2 MHz wide. This is not the case when using Bluetooth® Channel Sounding, however.

For the purposes of Bluetooth® Channel Sounding, 72 channels are defined, each with a 1 MHz width and a unique channel index value. The arrangement of these channels ensures that the LE primary advertising channels are avoided.

A channel width of 1 MHz rather than the usual 2 MHz ensures that the frequency separation between PBR signals that use adjacent channels is such that distance ambiguity does not arise until around 150 meters. In contrast, signals with a 2 MHz frequency separation would give rise to distance ambiguity in PBR calculations at about 75 meters.

Reproduced from the Bluetooth Core Specification, Table 10 shows the channel index values used for Bluetooth® Channel Sounding and their associated RF center frequency. The third column indicates whether or not a channel may be used for Bluetooth® Channel Sounding exchanges.

CS Channel Index RF Center Frequency Allowed

0

2402 MHz

No

1

2403 MHz

No

2

2404 MHz

Yes

22

2424 MHz

Yes

23

2425 MHz

No

24

2426 MHz

No

25

2427 MHz

No

26

2428 MHz

Yes

76

2478 MHz

Yes

77

2479 MHz

No

78

2480 MHz

No

Table 10 – Bluetooth® Channel Sounding channel indices and RF physical channels

3.9.2 Channel Filtering

A channel index filter bit map is maintained. This is a list of the channel indices defined for Bluetooth® Channel Sounding, as described in 3.9.1 The Bluetooth® Channel Sounding Channel Map with each channel marked as either included or excluded. The Bluetooth® Channel Sounding channel index filter map is maintained by a link layer procedure called Channel Sounding Channel Map Update procedure which allows either the Initiator or Reflector to inform the other device about which channels to use or avoid, based on its assessment of local channel conditions. An excluded channel is never selected by any of the channel selection algorithms.

3.9.3 Frequency Hopping

Frequency hopping generally takes place immediately before the execution of a step, as depicted in Figure 36.

Abbildung 35Figure 36- Frequency hopping ahead of step execution

An exception to this rule applies when mode repetition has been configured with a non-zero value assigned to the Main_Mode_Repetition parameter. Steps repeated due to mode repetition will use the same channel index as the step in the previous subevent that they repeat.

3.9.4 Channel Selection

3.9.4.1 Overview

A new set of three channel selection algorithms (CSA) has been defined for use in Bluetooth® Channel Sounding. Collectively they are known as CSA #3 and individually as CSA #3a, CSA #3b, and CSA #3c.

CSA #3a is used solely for selecting the channel to use in mode-0 steps.

CSA #3b and CSA #3c are both designed for use with non-mode-0 steps but only one of the two may be used during a Bluetooth® Channel Sounding procedure instance.

Consequently, two different channel selection algorithms are actively associated with Bluetooth® Channel Sounding at any time.

3.9.4.1 Channel Index Shuffling

Channel selection involves two distinct channel index lists. The first is used by CSA #3a and the selection of channels for mode-0 steps. The second is used for non-mode-0 steps with CSA #3b or CSA #3c.

CSA #3a and CSA #3b are almost identical.

Channel index lists are created by randomizing the order of those channels marked as included in the channel map to create a shuffled channel list. CSA #3a and CSA #3b do this in exactly the same way. CSA #3c takes a different approach but relies on the same primitive shuffling function, known as cr1 in the Bluetooth Core Specification.

3.9.4.2 CSA #3a

The mode-0 channel selection algorithm CSA #3a uses a shuffled channel list, as described in 3.9.4.1 Channel Index Shuffling. The shuffled channel list used for mode-0 step frequency hopping is distinct from the corresponding list of channels used for non-mode-0 channel hopping.

Each entry in the shuffled channel list is unique and used only once. When all entries in the shuffled channel list have been used it is regenerated, creating a new randomized list of channels.

3.9.4.3 CSA #3b

The non-mode-0 channel selection algorithm CSA #3b uses a shuffled channel list that is distinct from the corresponding list of channels used for mode-0 channel hopping. CSA #3b allows the channel index list to be iterated more than once before it is regenerated, and this is controlled by a parameter called CSNumRepetitions which applications may set.

3.9.4.3 CSA #3c

Algorithm CSA #3c is significantly different to CSA #3b. Subsets of the included channels in the channel map are organized into groups and channel patterns generated which form shapes. Two pattern types are supported and named hat and X. CSA #3c may offer some advantages in detecting reflected signal paths in some circumstances. Consult the Bluetooth Core Specification for further details. Support for CSA #3c is optional.

3.10 RTT Options and Accuracy

The RTT method involves the exchange of CS_Sync packets in steps of mode-1 and/or mode-3. Figure 24 shows the structure of a CS_Sync packet.

Several ways of establishing the Time of Arrival (ToA) timestamps, that are needed for the calculation of round-trip times, are defined. An application can indicate the method to be used during the Bluetooth® Channel Sounding configuration procedure via HCI commands using the RTT_Type parameter.

The options are to base timing measurements on the Access Address field, to use a sounding sequence that is either 32 or 96 bits in length, or to use a random sequence which may be 32, 64, 96, or 128 bits in length. The accuracy of time estimates varies according to the method used and the length of the field used for timing purposes. Both the use of a sounding sequence and the use of a random sequence allow a more accurate form of estimate known as a fractional timing estimate to be made.

3.10.1 Timing Based on an Access Address

CS_Sync packets contain a 32-bit Access Address field. The simplest method which may be used to establish a ToA value involves the controller using its clock to capture a timestamp at the time when the Access Address field in a CS_Sync packet has been received.

An Access Address is a 32-bit binary value at the link layer but when transmitted its value is represented by a series of analog symbols, formed by applying GFSK modulation to those digital bits. A single symbol consists of a radio transmission at a frequency that represents a 0- or 1-bit value and that depending on the symbol rate (determined by the choice of either the LE 1M or LE 2M PHY/LE 2M 2BT PHY), has a duration of either one microsecond or half a microsecond.

The act of receiving a signal involves the sampling of the incoming signal, driven by a local oscillator which is operating at a certain rate. The transmission of that signal is similarly driven by an oscillator in the other device.

There are a number of ways in which a timestamp for the receipt of an Access Address in an inbound signal can be acquired. Details are left to the implementation but could include taking the time the packet arrives in the Bluetooth controller and then adjusting it in the light of the packet length, symbol rate and sampling rate to produce an estimate of when the Access Address was received. Alternatively, the implementation may be able to calculate a ToA timestamp during radio signal processing but will need to validate the timestamp after demodulating and checking the Access Address value before committing the timestamp to be used as the ToA in RTT calculations.

The transmitter’s oscillator and the receiver’s oscillator are unlikely to be in phase with each other and this can be a source of inaccuracies in this process. To improve results, it is suggested that measurements are taken over a series of packets exchanged in a sequence of steps and the distribution of values calculated. This distribution can then be used to improve the accuracy of ToA timestamps.

The Link Layer Specification, Part H, Section 3.2.2 provides information on how to improve timestamps created using this method by determining fractional timing errors in sampling the Access Address due to the difference between the optimum sampling point and the actual sampling point. Such errors are due to the local oscillator and that of the remote device being out of phase.

3.10.2 Fractional Timing Estimates

Two optional methods which offer better ToA timestamp accuracy are described in the Link Layer Specification, Part H, sections 3.3 and 3.4 . Both provide fractional timing estimates.

CS_Sync packets can accommodate extra, optional data at the end of the packet. If this option is used, one of two fields may be appended to the CS_Sync packet: either a Random Sequence or a Sounding Sequence.

The first of the fractional timing methods involves analyzing the optional Random Sequence field in CS_Sync packets to determine fractional timing errors. This works in a similar way to the technique described in 3.10.1 Timing Based on an Access Address for determining the difference between optimum and actual sampling points. The fractional timing error calculated from the Random Sequence is similarly used to optimize the Access Address timestamp.

The second fractional timing method is based on an analysis of a Sounding Sequence field appended to a CS_Sync packet. A sounding sequence is an alternating pattern of 0s and 1s at the link layer which when modulated using GFSK produces two distinct radio tones with different frequencies and differing phases. An analysis of the phase difference exhibited by the two tones created by the sounding sequence allows a fractional timing error to be calculated and used to optimize the ToA timestamp.

3.10.3 A Comparison of RTT Methods

Bluetooth® Channel Sounding application developers can derive round-trip times based on measurements produced by one of three different methods. The choices are to use the ToA of an Access Address or to use one of two fractional methods based on either a random sequence or a sounding sequence in a CS_Sync packet.

Implementers of the Bluetooth® Channel Sounding feature must implement the mandatory aspects of the feature but can be selective when it comes to the optional features if they wish to be. Implementation complexity varies and may be one of the factors taken into consideration in that decision.

The three RTT methods offer differing degrees of distance measurement accuracy, security and latency for application developers. In general, the fractional methods have the potential to deliver the most accurate results and the best security.

3.11 The LE 2M 2BT PHY

3.11.1 Modulation Schemes

A modulation scheme defines a means of encoding digital information in signals using one or more of the signal’s physical properties. A modulation scheme produces symbols which carry information in the analog world in the same way that bits contain information in the digital world. A symbol represents one or more bits depending on how the modulation scheme works.

Frequency Shift Keying (FSK) is a simple example of a modulation scheme. It is a binary modulation scheme in that one digital bit corresponds to one analog symbol.

FSK involves producing a symbol that represents a binary value of 1 by shifting the frequency of a carrier signal up by a certain amount (known as the frequency deviation) or down by the same amount to represent a binary 0.

Figure 37 provides an illustration of basic FSK applied to a specific stream of bit values.

Abbildung 36Figure 37 – Frequency Shift Keying (FSK) encoded bit stream 01010101010

The abrupt switching between frequencies that is a feature of basic FSK results in the generation of noise that spreads over a wider range of frequencies than is desirable. To counter this, Bluetooth technology uses a special variant of FSK called Gaussian Frequency Shift Keying (GFSK).

GFSK differs from basic FSK in that it involves a filter that causes the transition between frequencies to follow a curve. The shape of the curve and the rate of frequency transitions is determined by various parameters, including the Bandwidth-Bit Period Product or BT.

3.11.2 Bandwidth-Bit Period Product

The Bandwidth-Bit Period Product (BT) is an attribute of a signal that provides information about the relationship between its bandwidth and the duration of symbols.

BT affects the shape and span of the radio pulses that constitute symbols. A higher BT value results in a narrower, squarer pulse and a lower value results in a wider, more rounded pulse shape.

3.11.3 LE 2M 2BT

The forthcoming update to the Bluetooth Core Specification introduces a new PHY called LE 2M 2BT. LE 2M 2BT may currently only be used with Bluetooth® Channel Sounding.

A comparison of PHYs with key aspects of LE 2M 2BT highlighted appears in Table 11.

  LE 1M LE Coded LE 2M LE 2M 2BT

Symbol Rate

1 Msym/s

1 Msym/s

2 Msym/s

2 Msym/s

BT

0.5

0.5

0.5

2.0

Min. Frequency Deviation

185 kHz

185 kHz

370 kHz

420 kHz

Error Detection

CRC

CRC

CRC

N/A

Error Correction

NONE

FEC

NONE

N/A

Requirement

Mandatory

Optional

Optional

Optional. Only to be used with Channel Sounding.

Table 11 – A comparison of Bluetooth LE PHYs

The LE 2M 2BT PHY may only be used with Bluetooth® Channel Sounding. It’s use can enhance security as explained in section 3.13.7.

The shape of pulses when BT=0.5 vs when BT=2.0 is shown in Figure 38.

Abbildung 37Figure 38 – Pulse Shapes

3.12 SNR Control for Bluetooth® Channel Sounding Steps

Some radio transmitters have the ability to adjust their signal-to-noise ratio (SNR) to lie within a specified range. This capability, if supported by both the Initiator and Reflector devices can be used to improve the security of Bluetooth® Channel Sounding steps that relate to the RTT distance measurement method i.e. mode-1 and mode-3 steps. Section 3.13.8 SNR Control and RTT Security elaborates on this point.

The Bluetooth Core Specification defines a number of SNR Output Index (SOI) values that correspond to associated SNR output levels measured in dB. Table 12 reproduces these definitions.

SNR Output Index (SOI) SNR Output Level (dB)

0

18

1

21

2

24

3

27

4

30

Table 12 – SNR Output Indices and Levels

Information about support for SNR output control and supported SOI values is exchanged by devices during the Channel Sounding Capabilities Exchange procedure (see 3.3.2 Bluetooth® Channel Sounding Capabilities Exchange) and whether to use SNR control and with what SOI value indicated in the LL_CS_REQ link layer PDU sent during the Bluetooth® Channel Sounding Start procedure.

3.13 Security

3.13.1 Overview

Security issues that are unique to distance measurement solutions generally involve the threat of untrusted devices somehow tricking one trusted device into concluding that another trusted device is sufficiently close for some action to be granted or taken. For example, in a keyless entry system, if a malicious device could fool the door lock into thinking the associated trusted wireless key card was sufficiently close for the door to be automatically unlocked, an unauthorized party could gain entry.

A series of attacks concerned with distance measurement are recognized by security experts. Some involve stand-alone malicious devices faking communication from a trusted device (known as spoofing) and others are types of man-in-the-middle (MITM) attacks which relay signals from trusted devices, typically manipulating the signal or its digital content in the process to cause the trusted device to miscalculate the distance from it to its trusted counterpart. The details of such attacks vary in sophistication and in the complexity and cost to implement.

Bluetooth® Channel Sounding includes a collection of features which can act as countermeasures to a number of distance measurement security threats. These features can be regarded as falling into four categories:

  1. Using PBR and RTT methods in combination
  2. Randomization of the bit stream and transmission patterns
  3. Defense against symbol manipulation
  4. RF signal analysis techniques including attack detection

In addition, Bluetooth controller implementers and application developers may augment the standard security features provided by the Bluetooth® Channel Sounding security features with additional safeguards if required.

This section summarizes key aspects of Bluetooth® Channel Sounding security.

3.13.2 PBR and RTT Cross Checking

Bluetooth® Channel Sounding supports two distance measurement methods, phase-based ranging (PBR) and round-trip timing (RTT). The two methods work completely differently.

An application may use both methods in conjunction by selecting a suitable mode combination such as mode-2 as the main mode for PBR and mode-1 as the submode for RTT. See 3.8 Mode Sequencing for more information on mode combinations and sequencing.

The complexity of attacking both methods simultaneously so that both the phase of the Bluetooth® Channel Sounding signals and calculated round-trip times are manipulated to give misleading and consistent results is regarded by security experts as very high.

3.13.3 Initializing Bluetooth® Channel Sounding Security

Section 3.3.1 Bluetooth® Channel Sounding Security Start describes the procedure which initializes Bluetooth® Channel Sounding security. There are several aspects to the way this procedure enables Bluetooth® Channel Sounding security and is itself secure.

Firstly, devices must have been paired with each other. This is necessary for it to be possible for an encrypted LE-ACL link to be created.

CS Security Start then takes place over the encrypted LE-ACL link which means that the exchange of Bluetooth® Channel Sounding security key data is protected from eavesdroppers.

Finally, both the Central and Peripheral devices perform a secure exchange of partial values of Bluetooth® Channel Sounding security data. This provides both devices with the same data from which to construct a complete and common value for each of the CS initialization vector (CS_IV), CS instantiation nonce (CS_IN) and CS personalization vector (CS_PV).

CS_IV, CS_IN and CS_PV are inputs to the Deterministic Random Bit Generator (DRBG) which is a fundamental component of many of the Bluetooth® Channel Sounding security features.

3.13.4 Deterministic Random Bit Generator (DRBG)

The Bluetooth Core Specification defines a random bit generator that is “consistent with the recommendations defined in NIST Special Publication 800-90Ar1”. It is known as the Deterministic Random Bit Generator or DRBG.

Instantiating DRBG requires the three Bluetooth® Channel Sounding security parameters, CS_IV, CS_IN and CS_PV to be provided as inputs. Having executed the Bluetooth® Channel Sounding Security Start procedure, both the Initiator and Reflector device possess the same values for these parameters. When initialized with the same parameters values, two instances of DRBG will produce exactly the same bit sequences over a series of invocations and it is this which makes the algorithm deterministic.

For devices that do not possess the CS_IV, CS_IN and CS_PV values, the bit sequences generated by pairs of Initiator and Reflector devices using DRBG appear random, and the longer the bit sequence, the harder it becomes for untrusted devices to match the bit values in that sequence.

The use of DRBG to randomize the Bluetooth® Channel Sounding bit stream and certain aspects of transmission scheduling mitigates the risk of a malicious device spoofing a trusted device.

CS security features that make use of the DRBG are as follows.

3.13.4.1 Secure Access Addresses

The Access Address field appears in all Bluetooth link layer packets. It’s purpose is to allow devices to decide whether or not a packet is of relevance or not. For example, Advertising Broadcast (ADVB) packets use a special Access Address value which identifies packets as of potential relevance to any device that receives it whereas packets exchanged over an LE-ACL connection have an Access Address value which effectively acts as a unique identifier for that connection.

In the case of Bluetooth® Channel Sounding, each device changes its Access Address field in CS_Sync packets at every mode-0, mode-1 and mode-3 CS step. As such, each device has a unique Access Address at every step. New Access Address values are generated using selection rules that involve the DRBG and both devices know the Access Address that will be used by the other. Receiving devices check the Access Address value and report any issues to the host.

The Access Address field is 32 bits in length and can have 4,294,967,296 different values. A malicious device wishing to spoof a CS_Sync packet will therefore have a 1 in 4,294,967,296 chance of guessing the correct Access Address value in each one of the multiple CS_Sync packets exchanged.

3.13.4.2 Random Sequence for RTT Fractional Timing

As described in 3.12.4.2 Random Sequence for RTT Fractional Timing, CS_Sync packets can include an optional Random Sequence field. This field supports one of the fractional RTT methods.

The content of the Random Sequence field is (re)generated using the CS DRBG for every transmitted CS_Sync packet. The Random Sequence field may be 32, 64, 96, or 128 bits in length.

3.13.4.3 Sounding Sequence Marker Signals

A Sounding Sequence consists of a predictable alternating pattern of 32 or 96-bits and is used for fractional RTT calculations. To mitigate the risk of this known bit pattern being exploited somehow, DRBG is used to select positions within the sequence to insert one of two randomly selected 4-bit values known as marker signals. Marker signals selected by DRBG have a value of either 0b1100 or 0b0011.

The random insertion of random bit patterns within a sounding sequence protects against sounding sequence spoofing.

3.13.4.4 Tone Extension Slot Random Transmissions

Mode-2 and mode-3 steps include a tone extension slot (see 3.5.3 Step Modes) The tone extension slot is always reserved but whether or not a transmission takes place in that time slot is randomized and governed by DRBG. The receiving device knows when to expect and when not to expect a transmission in the tone extension slot but an attacking device does not.

3.13.4.5 Random Selection of Antenna Paths

Phase-based Ranging can be used with an array of antennas in one of 8 configurations, as discussed in 3.7 Antenna Switching. During phase-based ranging, a tone is transmitted over every available antenna path that exists between the two devices. The sequence of paths used is randomized using DRBG at every Bluetooth® Channel Sounding step.

3.13.5 Sounding Sequences

As described in 3.10.2 Fractional Timing Estimates, a sounding sequence consists of a sequence of alternating bit values of 0 and 1. The corresponding RF signal can be viewed as consisting of two tones of different frequencies and with differing phases. This corresponds to a sequence of alternating binary 0s and 1s in the digital domain before GFSK modulation has been applied.

PBR calculations can therefore be made using the phase differences of the two tones encoded in the Sounding Sequence field of a single CS_Sync packet simultaneously while using the CS_Sync packet to calculate a round-trip time.

The simultaneous calculation of both RTT and PBR measurements based on a single packet makes an attempt to attack the exchange extremely complex.

3.13.6 Attack Detection and Reporting

The Bluetooth® Channel Sounding section of the Link Layer specification includes a description of an attack detector system. This is provided as an outline architecture and general approach for Bluetooth controller implementers to follow rather than as a detailed, prescriptive specification.

Bluetooth® Channel Sounding attack detection in the Bluetooth controller is based on the evaluation of received signals against a reference signal definition and the examination of the received signal for indicators of a possible attack such as unexpected bit transitions or phase adjustments. The guidance provided by the specification is based on CS_Sync packets that include a random sequence, a sounding sequence or both.

A standardized metric for reporting the probability of an attack being underway in adjective terms is defined by the Bluetooth Core Specification and is called the Normalized Attack Detector Metric or NADM. A NADM value is assigned by the controller based on evaluation of the received signal and takes the form of a sliding scale that indicates attack likelihood in a range that starts with attack is extremely unlikely and increases to attack is extremely likely at the uppermost bound. Table 13 contains the NADM value definitions, reproduced from the Bluetooth Core Specification.

NADM Value Description

0x00

Attack is extremely unlikely

0x01

Attack is very unlikely

0x02

Attack is unlikely

0x03

Attack is possible

0x04

Attack is likely

0x05

Attack is very likely

0x06

Attack is extremely likely

0xFF

Unknown NADM.

Default value for RTT types that do not have a random sequence or sounding sequence.

Table 13 – NADM values

Figure 39 illustrates the outline attack detector system.

Abbildung 38Figure 39 – Attack Detector System Outline

NADM values assigned by the controller’s NADM algorithm are reported to the host in HCI events in a field called Packet_NADM. An attack detection algorithm is applied to received NADM values and a threat level reported to the user application.

It is possible that future Bluetooth profile specifications may facilitate the sharing of NADM data between devices during Bluetooth® Channel Sounding, as indicated by the dotted line from Device B to Device A in Figure 39.

The Bluetooth Core Specification includes the definition of tests that allow the correct identification of signals that exhibit known attack patterns. However, details of the Attack Detector Algorithm and the User Application depicted in Figure 39 are not specified.

3.13.7 LE 2M 2BT

There exist a number of known physical layer attacks that involve a man-in-the-middle (MITM) attacker anticipating the value of partially received symbols from a legitimate transmitting device and relaying full, generated versions of those symbols with the timing manipulated so that the legitimate recipient miscalculates the round-trip time and, thus, the distance. The attacker’s signal is typically amplified so that the target device regards the manipulated signal as the primary signal rather than the weaker original signal which is likely to look like a reflection. Symbols with a longer duration are more vulnerable to this type of attack than those with a shorter duration.

The LE 2M 2BT PHY with its bandwidth bit-period product value of 2.0 involves symbol pulses that have a duration that is shorter than the pulses associated with the other PHYs and this lessens the risk of these types of attack.

3.13.8 SNR Control and RTT Security

The SNR Control feature allows the Initiator and Receiver to mix a pre-agreed amount of random noise into signals. This applies only to CS_Sync packet transmissions made during mode-1 (RTT) and mode-3 (RTT and PBR) steps.

The class of MITM attacks alluded to in 3.12.7 LE 2M 2BT rely on the attacker being able to isolate and manipulate the legitimate signal very quickly, in much less time than the full duration of a symbol. By injecting noise into the signal, it becomes harder and slower for the attacker’s analysis to complete and thus reduces the likelihood of such attacks succeeding. On the other hand, the Initiator and Reflector devices, having pre-agreed the SNR are able to filter the artificially added noise easily.

3.13.9 CS Security Levels

The Generic Access Profile (GAP) section of the Bluetooth Core Specification defines security modes and security levels. A formal definition of four security levels for Bluetooth® Channel Sounding is included. It is likely that future Bluetooth profile specifications will reference these definitions.

3.13.10 Vendor-Specific Implementations and Additional Security

Controller implementers may opt to introduce further vendor-specific security measures.

3.13.11 Channel Sounding Amplitude-based Attack Resilience

Amplitude-based attack resilience strengthens the security capabilities of Bluetooth® Channel Sounding. By defining a precise attack model, a robust DFT-based detection metric, and a thorough multi-stage testing regimen, it ensures that certified devices can reliably detect sophisticated attempts to manipulate distance measurements.

Coupled with necessary updates to the HCI and Link Layer protocols, the Channel Sounding Amplitude-based Attack Resilience feature provides a comprehensive framework for mitigating evolving threats. It reflects Bluetooth’s commitment to security, helping to ensure that its precision ranging technology remains both accurate and trustworthy in the face of new challenges.

3.14 Host Applications

Creating Bluetooth fine-ranging applications and products involves harnessing the Bluetooth® Channel Sounding feature of the controller and combining it with custom, application-layer code. Developers of the application component of a solution must take care of various issues which this section highlights.

3.14.1 The Distance Measurement Algorithm

The Bluetooth stack does not generate distance measurements directly. Instead, during the execution of CS steps by the Bluetooth controller, low-level measurements of phase and/or timing are made and it is from this data that applications can calculate distance measurements.

The algorithm which applications use for calculating distances is not specified by the Bluetooth Core Specification. Consequently, this is one area in which vendors can differentiate. Superior algorithms will produce superior results.

The data acquired by the controller and reported to the application layer is standardized and therefore in principle, all application distance measurement algorithms can have the same types of input data to process. In practice, what data is delivered to the application layer depends on the mode combination and sequencing used in the Bluetooth® Channel Sounding procedure. The quality of data may vary too, depending on details of controller implementation that fall outside of the Bluetooth Core Specification.

3.14.2 Controller to Host Communication of Bluetooth® Channel Sounding Data

3.14.2.1 HCI Event Types

The Host Controller Interface Functional Specification defines two events that are used by a controller to pass Bluetooth® Channel Sounding data to the host where it is used in distance measurement calculations and in assessing the current security conditions. The two events are called LE CS Subevent Result and LE CS Subevent Result Continue.

3.14.2.2 HCI Event Timing

The controller aggregates the measurements generated during the steps executed within a Bluetooth® Channel Sounding subevent. Complete or partial sets of results are reported using a LE CS Subevent Result HCI event. If an incomplete set is reported, the remainder of the results are reported in one or more LE CS Subevent Result Continue events that are sent later. The HCI event fields Subevent_Done_Status and Procedure_Done_Status indicate to the application layer whether all data for the subevent or procedure has been reported or whether there is more to come.

Abbildung 39Figure 40 – Example Bluetooth® Channel Sounding HCI data reporting

Reporting using HCI events is associated with subevents but not necessarily strictly aligned with subevent boundaries. The number of steps in a subevent will be a factor in how the controller reports results. If the number of steps means that the controller must aggregate more data than it has the capacity for then the controller will split the HCI reporting into multiple events. The number of steps that a single event can accommodate is limited to 160 and this acts as another limiting factor for the controller to consider.

3.14.2.3 HCI Event Content

The Bluetooth® Channel Sounding HCI events convey a range of types of data from the controller to the host. The Bluetooth Core Specification Host Controller Interface Functional Specification should be consulted for full details. A selection of key fields and data structures are described here.

Frequency_Compensation

The purpose of mode-0 steps is to determine differences between wanted and actual frequencies generated by the Initiator and Reflector. This is used to calculate a fractional frequency offset (FFO) which can then be used to compensate for the impact that such differences have both on frequency and timing values and ultimately to improve the accuracy of distance measurements. The Frequency_Compensation field of HCI CS events contains this controller-calculated value.

Num_Steps_Reported

This field indicates how many steps are being reported on in this HCI event. It also indicates the size of four step related arrays of data, Step_Mode, Step_Channel, Step_Data_Length, and Step_Data.

Step Mode [   ]

This array contains the mode of each step, ordered by step number and expressed as a value in the range 0 – 3.

Step Channel [   ]

This array contains the index of the RF channel used in the execution of the corresponding step.

Step Data Length [   ]

The data reported for each step is variable in terms of its content and structure. This array contains the length of each element in the associated Step Data array.

Step Data [   ]

The data reported for each step depends on the step mode, the device role (Initiator or Reflector) and whether or not a sounding sequence is used for phase-based ranging and RTT calculations. The structure containing the relevant data is called the Mode_Role_Specific_Info object and eleven variants of this structure are defined.

Examples of data which may be found within a Mode_Role_Specific_Info object include the fields Packet_Quality and Tone_Quality, the received signal strength indicator (RSSI), the measured frequency offset, a NADM value, the antenna identifier, phase correction terms and the elapsed time measurements between the transmission and arrival of packets (or vice versa). Time values such as these are expressed as a multiple of units of half a nanosecond.

3.14.3 Mode Combinations and Mode Sequencing

Section 3.8.5 Applications and Mode Sequencing Considerations explains the means by which applications can control the step mode combinations and sequences that are involved in a Bluetooth® Channel Sounding procedure. The application layer is responsible for deciding which step modes to use and where both a primary mode and a submode are used, what the ratio between the number of steps of each of the selected modes should be. Application or product developers will need to consider distance measurement accuracy requirements, security and latency in arriving at conclusions as well as the features supported by the local controller.

3.14.4 Application Layer Security

The application layer can exercise some control over the security of the overall solution in its selection of mode combinations and RTT parameters. Developers should first seek to understand and evaluate the security levels defined by the Generic Access Profile (GAP) as covered in 3.12.9 Bluetooth® Channel Sounding Security Levels as a start-point for establishing what security options to adopt.

It is recommended that PBR and RTT are always used in combination so that cross-checking of distance calculations based on the two methods can be used. PBR is supported by Bluetooth® Channel Sounding to offer the most accurate distance measurements whilst the primary reason for also supporting RTT is as a security measure. It is the application layer’s responsibility to make this choice.

NADM values are created by the NADM algorithm in the Bluetooth controller and a standardized adjective form of meanings is defined for these values. But it is the application layer which must decide what action to take (if any) for each of the possible NADM values.

4. A Summary of Bluetooth Core Specification Changes

To introduce the Bluetooth® Channel Sounding feature, changes have been made to several layers of the Bluetooth Core Specification. A summary of key changes is presented in this section with the intention that this provide a chapter-by-chapter high-level reference for orientation purposes only. The Bluetooth Core Specification should be consulted for full details.

4.1 Architecture

Volume 1, Part A of the Bluetooth Core Specification describes the architecture of the technology.

• Section 3, Transport Architecture introduces a new packet structure and signaling format for Bluetooth® Channel Sounding. It also defines the new LE Channel Sounding Physical Channel and LE Channel Sounding Physical Link.

• Section 9, Bluetooth® Channel Sounding using Bluetooth Low Energy provides a short summary of the Bluetooth® Channel Sounding feature.

4.2 Host

4.2.1 Generic Access Profile

Volume 3, Part C defines the Generic Access Profile.

• Section 9 introduces the GAP Bluetooth® Channel Sounding procedures and the roles of Initiator and Reflector.

• Section 10 the four Bluetooth® Channel Sounding security levels.

4.2.2 Host Controller Interface

Volume 4, Part E contains the Host Controller Interface Functional Specification.

• Section 7.7.6.5 LE Meta event has been updated to add a variety of new event types relating to Bluetooth® Channel Sounding including the LE CS Subevent Result event and the LE CS Subevent Result Continue event.

• Section 7.8 LE Controller Commands now includes additional commands for use with Channel Sounding such as the LE CS Read Remote FAE Table command, the LE CS Create Config command, the LE CS Security Enable command and the LE CS Procedure Enable command.

4.3 Controller

4.3.1 Physical Layer

Volume 6, Part A contains the Physical Layer Specification.

  • Section 1 introduces the new LE 2M 2BT PHY.
  • Section 2 introduces a new channel arrangement for Bluetooth® Channel Sounding.
  • Section 3 defines the new SNR Control feature.
  • Section 3.4 adds a Stable Phase requirement for devices that support Bluetooth® Channel Sounding.
  • Section 3.5 describes requirements for frequency measurement and generation in Bluetooth® Channel Sounding. This includes a specification for fractional frequency offset (FFO) measurement requirements.
  • Section 5.3 is a new section which describes Antenna Switching for Bluetooth® Channel Sounding.
  • Section 6 covers phase measurement requirements and includes a reference receiver definition, a description of phase measurement accuracy requirements, frequency actuation error compensation requirements, and phase measurement timing rules.
  • Appendix B provides an example of a test equipment setup for Bluetooth® Channel Sounding.
4.3.2 Link Layer

Volume 6, Part B contains the Link Layer Specification.

  • Section 2.4.2 defines new link layer controller PDU types associated with the Bluetooth® Channel Sounding feature together with their opcodes.
  • Section 4 contains updates to the link layer air interface protocol for Channel Bluetooth Sounding. This includes updated sleep clock accuracy requirements in section 4.2 and a specification for Bluetooth® Channel Sounding procedures, events, subevents, and steps in section 4.5.18. Security requirements for an ACL link associated with Bluetooth® Channel Sounding and the control PDUs it may transport are provided in section 4.5.18.2.
  • Section 5.1 covers the subject of link layer control. It has been updated to include new control procedures relating to Bluetooth® Channel Sounding, such as the Bluetooth® Channel Sounding Start procedure, the Bluetooth® Channel Sounding Capabilities Exchange procedure, the Bluetooth® Channel Sounding Configuration procedure, and the Bluetooth® Channel Sounding Start procedure.
4.3.3 Bluetooth® Channel Sounding

Volume 6, Part H is a new section dedicated to the new Bluetooth® Channel Sounding feature. It covers the definition of physical RF channels to be used with Bluetooth® Channel Sounding, the new CS_Sync packet format, measuring RTT, and the various methods of obtaining time of arrival or departure timestamps. The new channel selection algorithms for Bluetooth® Channel Sounding are defined in this section along with step modes, step combination and sequencing rules, phase measurement rules, and random bit generation using the DRBG.

5. Conclusion

With Bluetooth® Channel Sounding, developers can create exciting products and applications which leverage the feature’s secure fine ranging capability.

End users of Find My and digital key solutions, based on the world’s most ubiquitous low-power wireless technology, will enjoy performance enhancements thanks to the quality of the results that can be achieved by devices that use the Bluetooth® Channel Sounding feature. And knowing that product developers have been provided with a comprehensive set of security features with which to address pertinent issues will offer peace of mind.

The technical flexibility of Bluetooth® Channel Sounding means that developers can prioritize whichever aspect of ranging that matters the most, be it security, accuracy, or latency. Not all applications are the same and this has been recognized and catered for in the design of the Bluetooth® Channel Sounding feature. Developers have been given the freedom to decide what matters most to them and their users in the implementation of their products.

More than five billion Bluetooth enabled devices ship each year. This results in massive economies of scale which benefit product and component manufacturers and, ultimately, their customers.

Bluetooth® Channel Sounding and the ability to perform secure fine ranging presents the opportunity to enhance the convenience, safety, and security of many Bluetooth connected devices. Presence detection, direction finding, and now channel sounding can each be used separately or in combination to create spatially aware products and applications that end users and business enterprises can benefit from.

Bluetooth technology is absolutely pervasive and it’s based on widely adopted and meticulously specified technical standards. Adopting Bluetooth® Channel Sounding is an easy, safe choice for developers looking to add fine-ranging capabilities to their Bluetooth products. Download the Bluetooth Core Specification for full details of this exciting addition to the extensive set of Bluetooth technology features!

6. References

Item Location

Bluetooth® Core Specification v6.0

https://www.bluetooth.com/specifications/specs/core60-html/

Find Me Profile

https://www.bluetooth.com/specifications/specs/find-me-profile-1-0/

Immediate Alert Service

https://www.bluetooth.com/specifications/specs/immediate-alert-service-1-0/

 

FOOTNOTES


1. Generic Attribute Profile
2. The speed varies depending on the material a signal passes through. It is common to use the speed of light in the theorical calculations, however.
3. CS modes are explained in section 3.5
4. Gaussian Frequency Shift Keying