Bluetooth® Channel Sounding
Technischer Überblick
2.1 Gerätepositionierung und Bluetooth LE
2.1.2 Beacons und Entfernungsmessung der ersten Generation
2.1.3 Direction Finding mit AoA und AoD
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.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.2 Praktisches Beispiel
2.2.2.2 Round-Trip Timing (RTT)
2.2.2.3 Herausforderungen der realen Welt
3. Bluetooth® Channel Sounding
3.2.5 Architektur des Datentransports
3.2.6 Channel Sounding auf dem 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.4 Ereignisse, Unterereignisse und Schritte
3.4.1 LE-ACL-Verbindungen und Zeiteinteilung
3.6 Feststellung von Phasendifferenzen
3.8.1 Übersicht über die Modusreihenfolge
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.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.2 Bandbreiten-Bitzeit-Produkt
3.12 SNR-Steuerung für Channel Sounding Schritte
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.6 Erkennung und Meldung von Angriffen
3.13.8 SNR-Kontrolle und RTT-Sicherheit
3.13.10 Herstellerspezifische Implementierungen und zusätzliche Sicherheit
3.14.1 Der Algorithmus zur Abstandsmessung
3.14.2 Kommunikation von CS-Daten zwischen Controller und Host
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.2.1 Generisches Zugangsprofil
4.2.2 Host-Controller-Schnittstelle
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 den Nutzern drahtlose Datenübertragung 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™.
Aber seit vielen Jahren hat sich Bluetooth LE auch als allgegenwärtiges und zuverlässiges 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ätepositionierung 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 erkennen.
2.1.1 Bluetooth® Find Me
Im selben Jahr, in dem Bluetooth LE zum ersten Mal in die Bluetooth Kernspezifikation aufgenommen wurde, wurde die erste formale standortbezogene Bluetooth LE-Profilspezifikation veröffentlicht. Dabei handelte es sich um das Find Me Profile.
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, gibt aber keine Auskunft über seine Richtung oder Entfernung zum 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. Dieses 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-Entfernungsschätzung 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 - 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®-Positionsbestimmung 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 - Richtungsbestimmung mit AoA und AoD
Phasenmessungen in Form von In-Phase- und Quadratur-Abtastungen (IQ) werden vom Bluetooth Controller an die Anwendung weitergegeben. IQ-Abtastungen bestehen aus Paaren von Phasen- und Amplitudenwerten, anhand derer die Anwendung die Richtung berechnen kann, in der der Sender gefunden werden kann.
2.1.4 Bluetooth Channel Sounding
Die neue Funktion Bluetooth Channel Sounding ermöglicht es, Produkte zu entwickeln, die die Entfernung zwischen zwei Bluetooth Geräten mit wesentlich höherer Genauigkeit berechnen können, als dies mit der RSSI- und Pfadverlustmethode 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 von Find My-Lösungen, digitalen Schlüsselprodukten und vielen weiteren Bluetooth verbundenen Geräten profitieren wird.
2.2 Eine Einführung in Bluetooth Channel Sounding
Bevor Bluetooth Channel Sounding in Bluetooth LE besprochen wird, werden in diesem Abschnitt zunächst einige der grundlegenden Theorien zu dieser Funktion vorgestellt. 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 4 - Wellenzyklus mit Amplitude auf der vertikalen Skala
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.
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.
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.
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 |
---|---|
Calculate an unknown wavelength from a known frequency and the constant speed of light. |
|
Calculate an unknown frequency from a known wavelength and the constant speed of light. |
|
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)
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 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.
- 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.
- Gerät B empfängt das Signal f1 an seiner Antenne und notiert seine Phase, die wir als Empfangsphase bezeichnen.
- 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.
- 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 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 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:
Dabei ist c die Lichtgeschwindigkeit, (Pf2 - Pf1) ist die Phasendifferenz und (f2 - f1) der Frequenzabstand.
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 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 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: 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)
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.
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 viel höherer Genauigkeit durchzuführen, als dies bisher möglich war. Wie genau die Messungen sind, hängt von den Umgebungsbedingungen ab und davon, wie die Funktion 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 Instrumentarium 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 über 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 bis zu etwa 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 daher längere Entfernungen messen.
Anwendungen können Fragen wie Genauigkeit, Sicherheit, Latenzzeit und Stromverbrauch unterschiedliche Priorität einräumen. Die Konfigurierbarkeit der Funktion Bluetooth Channel Sounding ermöglicht es Anwendungen, viele der wichtigsten Funktionen und Verhaltensweisen des Systems zu steuern oder zu beeinflussen, so dass der Betrieb auf die richtigen Prioritäten für die jeweilige Anwendung ausgerichtet ist.
In diesem Abschnitt werden wir die Funktion 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 Funktion 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 Verfahren Bluetooth Channel Sounding einleiten, auf das im weiteren Verlauf dieses Dokuments näher eingegangen wird.
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 Bluetooth Channel Sounding Initiator-Rolle entweder von dem Gerät übernommen werden kann, das in der Verbindungsschicht als LE-Zentrale oder als LE-Peripheriegerät fungiert. Dasselbe gilt für die Bluetooth Channel Sounding Reflector-Rolle, 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 Übertragungen, 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 die 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 Verfahrens erfasst und sind das Ergebnis von Signalaustausch und Low-Level-Messungen, die an jedem Gerät vorgenommen werden. Die Daten werden in HCI-Ereignissen an die Anwendungsschicht weitergeleitet.
Die Anwendungsschicht ist auch für die Bereitstellung von Konfigurationsoptionen und -präferenzen für den Bluetooth Controller verantwortlich, die für die Einrichtung einer Bluetooth Channel Sounding Konfiguration 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-Controller verfügen, der die Funktion Bluetooth Channel Sounding unterstützt.
Abbildung 15 - Bluetooth Channel Sounding Anwendungen und der Bluetooth Stack
3.2.5 Architektur des Datentransports
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 - CS und die Datentransportarchitektur
Der physischen Verbindung LE Channel Sounding ist kein logischer Transporttyp oder logischer Verbindungstyp zugeordnet.
3.2.6 Channel Sounding auf dem Bluetooth LE Stack
Die umfassendere Art, Bluetooth LE zu definieren, ist die Definition des gesamten Protokollstapels und seiner Schichten. Ein Großteil der Kernspezifikation von Bluetooth ist der Definition der einzelnen Schichten gewidmet. In Abbildung 18 ist der Bluetooth LE-Stack dargestellt.
Abbildung 18 - Der Bluetooth LE-Stapel
Tabelle 2 gibt einen Überblick über die Zuständigkeiten der einzelnen Ebenen des Bluetooth LE-Stacks.
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-Stacks
Die Abschnitte "Physical Layer", "Link Layer", "Host Controller Interface" und "Generic Access Profile" der Bluetooth Core Specification wurden alle durch die Einführung von Bluetooth Channel Sounding beeinflusst. Abschnitt 4. Eine Zusammenfassung der Änderungen der Bluetooth Kernspezifikation erläutert dies näher.
Neue Sicherheitsfunktionen, die speziell für Bluetooth Channel Sounding entwickelt wurden, sind ebenfalls eingeführt worden. Abschnitt 3.13 Sicherheit widmet sich dem Thema Bluetooth Channel Sounding Sicherheit.
3.3 Bluetooth Channel Sounding Kontrollverfahren
Bevor Bluetooth Channel Sounding gestartet werden kann, muss das Gerät in der Rolle LE Central der Verbindungsschicht mit dem Gerät in der Rolle LE Peripheral der Verbindungsschicht verbunden werden. 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 Prozeduren zur Vorbereitung und anschließenden Initiierung von Bluetooth Channel Sounding bereitstellen kann.
Die wichtigsten Verfahren zur Vorbereitung und Einleitung von Bluetooth Channel Sounding sind:
- Sicherheit Start
- Austausch von Fähigkeiten
- Konfiguration
- 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 - Ein möglicher Ablauf des CS-Einleitungsverfahrens
Es folgt eine nähere Betrachtung der vier wichtigsten Verfahren, die häufig mit der Einleitung von Bluetooth Channel Sounding verbunden sind.
3.3.1 Bluetooth Channel Sounding Sicherheit Start
Bluetooth Channel Sounding verfügt über eigene Sicherheitsfunktionen, die sich von denen der LE-ACL-Verbindung unterscheiden, über die die Initialisierungsverfahren ausgeführt werden. Die Bluetooth Channel Sounding Startprozedur ermöglicht es den beiden Geräten, auf sichere Weise Parameter auszutauschen, die später in Bluetooth Channel Sounding Sicherheitsfunktionen verwendet werden.
Das Bluetooth Channel Sounding Sicherheitsstartverfahren beginnt damit, dass die LE-Zentrale drei Zufallszahlen generiert und sie in einer LL_CS_SEC_REQ-PDU an das LE-Peripheriegerät sendet. Das LE-Peripheriegerät erzeugt selbst drei Zufallszahlen, die den gleichen Regeln unterliegen wie die Zufallszahlen der Zentrale und sendet sie in einer LL_CS_SEC_RSP-PDU an die Zentrale zurück.
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 Sicherheitsparametern sind, werden die Werte jedes Zentral-/Peripheriepaares 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 Bluetooth Channel Sounding Austausch von Fähigkeiten
Die Bluetooth Channel Sounding Fähigkeiten 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.
Zu den Beispielen, bei denen die Fähigkeiten variieren können, gehören die PHY-Unterstützung, die RTT-Genauigkeit, Bluetooth Channel 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 Bluetooth Channel Sounding Konfiguration
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 mit der Bezeichnung Mode-0 FAE Table verfügen. Diese 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 Stufenmodi 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 Bluetooth Channel Sounding Start
Wenn Bluetooth Channel Sounding security 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 Reflectors verfügt (sofern er eine hat) und die Geräte sich auf eine geeignete Konfiguration geeinigt haben, dann kann das Channel Sounding Startverfahren eingeleitet werden. Dies geschieht über LL_CS_REQ, LL_CS_RSP und LL_CS_IND PDUs.
Die LL_CS_REQ- und LL_CS_RSP-PDUs enthalten von jedem Gerät vorgeschlagene Zeit- und Strukturparameter. Diese Parameter regeln die Art und Weise, wie die Zeit aufgeteilt wird und wie sie während Bluetooth Channel Sounding genutzt wird. Eine LL_CS_IND-PDU wird von dem Gerät in der Zentralrolle nach dem Empfang einer LL_CS_REQ- oder LL_CS_RSP-PDU vom Peripheriegerät gesendet. Die LL_CS_IND zeigt an, dass 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 Bluetooth Channel Sounding
Die Prozedur Bluetooth Channel Sounding beginnt, nachdem die Prozedur Bluetooth Channel Sounding Start abgeschlossen ist. Dies ist der Mechanismus, mit dem die beiden Geräte HF-Signale austauschen, um Messungen durchzuführen, die von einer Anwendung für Entfernungsberechnungen 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 Initiierungsprozeduren von Bluetooth Channel Sounding verwendet, wie in 3.3 Bluetooth Channel Sounding Kontrollprozeduren beschrieben.
Abbildung 20 - Verbindungsereignisse und Intervalle in einer LE-ACL-Verbindung
3.4.2 Zeiteinteilung
Bluetooth Channel Sounding findet in einer Reihe von Verfahren statt. Jeder Vorgang besteht aus einer Reihe von CS-Ereignissen, und jedes CS-Ereignis ist weiter in CS-Unterereignisse unterteilt. Die letzte Unterteilung der Zeit in diesem hierarchischen Schema 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 - Struktur der Verfahren Bluetooth Channel Sounding 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 Verfahren von Bluetooth Channel Sounding gesteuert werden können, insbesondere hinsichtlich der Kardinalität der Beziehungen zwischen 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 Bluetooth Channel Sounding Konfigurationsparameter
Der Zeitpunkt, die Dauer und die Planung von Prozeduren, Ereignissen, Unterereignissen und Schritten wird durch eine Reihe von Parametern gesteuert, die während der Prozeduren Bluetooth Channel Sounding Configuration und Bluetooth Channel Sounding Start konfiguriert werden.
Alle Prozedur-, Ereignis-, Unterereignis- und Schritt-Startzeiten sind direkt oder indirekt mit einem ausgewählten Verbindungsereignis in der zugrundeliegenden LE ACL-Verbindung verankert, über die die Prozeduren der Verbindungsschicht zur Einleitung von Bluetooth Channel Sounding ausgeführt wurden. In der ersten Bluetooth Channel Sounding Prozedurinstanz beginnen das erste Ereignis und das Unterereignis alle zur gleichen Zeit, und zwar zeitlich versetzt zum ausgewählten Verbindungsereignisankerpunkt. Der erste Schritt erfolgt mit einem Versatz zum Beginn des ersten Unterereignisses namens T_FCS. T_FCS hat einen Wert im Bereich von 15 μs bis 150 μs, und der von ihm abgedeckte Zeitraum wird zur Änderung der Frequenz durch Springen verwendet. 3.9 HF-Kanäle und Kanalauswahl enthält weitere Informationen zu diesem Thema.
Sowohl Prozeduren als auch Ereignisse treten in Intervallen auf, deren Wert durch eine Anzahl von ACL-Verbindungsintervallen ausgedrückt wird. Abbildung 22 zeigt ein Beispiel, bei dem das Prozedurintervall einen Wert von 4 und das Ereignisintervall einen Wert von 2 hat. Wie dargestellt, ergibt sich daraus ein neues Prozedurintervall, das bei jedem vierten ACL-Verbindungsereignis beginnt, und ein Ereignisintervall, das bei jedem zweiten Verbindungsereignis beginnt. Eine Prozedur und ihre Ereignisse beginnen innerhalb ihrer jeweiligen Intervalle mit einem Versatz zum entsprechenden Verbindungsereignis-Ankerpunkt. Der Offset-Wert wird in Mikrosekunden angegeben.
Abbildung 22 - Ablauf- und Ereignisplanung mit Ablaufintervall = 4 und Ereignisintervall = 2
Das erste Unterereignis in jedem Ereignis beginnt zur gleichen Zeit wie das Ereignis, versetzt zum entsprechenden ACL-Verbindungsereignis. Die Anzahl der Unterereignisse pro Ereignis ist ein Konfigurationsparameter, und Unterereignisse treten einmal pro Unterereignisintervall auf, wie in Abbildung 23 dargestellt.
Abbildung 23 - Beispiel für ein CS-Unterereignis im Rahmen der CS-Ereignisplanung
Jedes Unterereignis umfasst mindestens zwei Schritte. Dies kann von Unterereignis zu Unterereignis variieren, je nachdem, wie channel sounding von der Anwendung verwendet wird. Die Dauer der Schritte kann wiederum je nach Konfiguration variieren. Die Planung der Schritte und der ihnen zugewiesenen HF-Sende- und Empfangszeitfenster unterliegt genauen Zeitplanungsregeln, deren Einzelheiten in der Bluetooth Core Specification zu finden sind.
3.5 Bluetooth Channel Sounding Schritte
3.5.1 Über Schritte
Abbildung 21 zeigt die Struktur der Verfahren von Bluetooth Channel Sounding in Form von Ereignissen, Unterereignissen und Schritten. Innerhalb der Schritte findet ein Austausch von HF-Signalen zwischen Initiator und Empfänger statt. Je nach der channel sounding Methode oder den Methoden, für die sich die Anwendungsschicht entschieden hat (PBR und/oder RTT), variieren die Details.
Im Allgemeinen geht es bei diesen Schritten entweder um die Kalibrierung oder um die Erfassung von Low-Level-Messungen, die von der Anwendungsschicht in einem Entfernungsmessungsalgorithmus verwendet werden können.
3.5.2 Pakete und Töne
Wenn RTT verwendet wird, werden Pakete eines Typs namens CS_Sync zwischen Initiator und Reflektor ausgetauscht.
Ein CS_SYNC-Paket hat die folgende Struktur:
Abbildung 24 - Das CS_Sync-Paket
Die Aufnahme einer Sounding Sequence oder Random Sequence am Ende eines CS_Sync-Pakets ist optional. Diese Begriffe werden in 3.10 RTT-Optionen und Genauigkeit erläutert.
CS_Sync-Pakete können entweder mit dem LE 1M, LE 2M oder LE 2M 2BT PHY übertragen werden. Das GFSK4-Modulationsschema wird wie bei anderen Bluetooth LE-Paketen verwendet.
Wenn PBR verwendet wird, werden Signale, die als CS-Töne bekannt sind, von Initiator und Reflektor ausgetauscht. Diese Signale verwenden Amplitudenumtastung (ASK), um ein Symbol zu erzeugen, dessen Frequenz für eine bestimmte Zeitspanne festgelegt ist.
3.5.3 Schrittweise Modi
Schritte haben einen zugehörigen Modus, der das Ziel des Schrittes und die Art der darin stattfindenden Aktivität bestimmt. Es sind vier Modi definiert, die als Modus-0, Modus-1, Modus-2 und Modus-3 bezeichnet werden.
Mode-0 befasst sich mit der Kalibrierung. Alle Geräte weisen einen gewissen Grad an Taktdrift und Ungenauigkeit bei der Frequenzerzeugung auf. Dies ist ein Problem sowohl für die RTT- als auch für die PBR-Entfernungsmessungsmethode.
Der Zweck eines Mode-0-Schrittes ist es, dem Initiator die Möglichkeit zu geben, den Betrag zu messen, um den die Frequenz der vom Reflektor gesendeten Signale von denen des Senders abweicht.
Der Initiator sendet ein CS_Sync-Paket auf einem ausgewählten Kanal und einer ausgewählten Frequenz. Der Reflector antwortet mit einem CS_Sync-Paket und einem CS-Ton. Beide müssen auf der gleichen Frequenz gesendet werden wie das vom Initiator empfangene Signal.
Mit dem CS_Sync-Paket erhält der Initiator eine Präambel, mit der er den Empfänger abstimmen und seine Verstärkung einstellen kann. Der CS-Ton wird als Grundlage für die Messung einer Frequenzabweichung verwendet, wie im Folgenden beschrieben.
Beim Empfang des Antwortsignals vom Reflektor berechnet der Initiator einen Wert, der als Fractional Frequency Offset (FFO) bezeichnet wird. Zur Berechnung des FFO werden die Frequenz des vom Reflektor empfangenen Tons und die Mode-0-FAE-Tabelle des Reflektors herangezogen (siehe 3 .3.4 Abfrage der Mode-0-FAE-Tabelle ).
Der FFO wird später in den Berechnungen verwendet, um die Unterschiede zwischen den beiden Geräten auszugleichen und die Genauigkeit der Ergebnisse zu verbessern.
Abbildung 25 zeigt die Übertragung eines CS_Sync-Pakets durch den Initiator, gefolgt von CS_Sync und CS-Ton, die als Antwort vom Reflektor gesendet werden. Die Dauer der verschiedenen Zeitschlitze wird durch symbolische Namen mit den folgenden Bedeutungen angegeben:
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. |
Tabelle 5 - Zeitschlitzparameter
Abbildung 25 - Mode-0-Übertragungen und Zeitschlitze
Die Unterstützung von Modus-0-Schritten ist obligatorisch.
In einem Modus-1-Schritt wird die Umlaufzeit (RTT) eines CS_Sync-Pakets berechnet, das von einem Initiator zu einem Reflektor und wieder zurück gesendet wird.
Bei der Übertragung des ersten CS_Sync-Pakets wird vom Initiator ein Zeitstempel aufgezeichnet, der als Time of Departure (ToD) bezeichnet wird. Der Initiator zeichnet einen zweiten Zeitstempel auf, wenn er das vom Reflektor zurückgesendete CS_Sync-Paket empfängt. Dieser wird als Time of Arrival (ToA) bezeichnet.
Abbildung 26 zeigt die Mode-1-Übertragung eines CS_Sync-Pakets durch den Initiator, gefolgt von einem CS_Sync, das als Antwort vom Reflektor gesendet wird. Die Dauer der verschiedenen Zeitschlitze wird durch symbolische Namen angegeben, die in Tabelle 5 beschrieben sind.
Abbildung 26 - Modus-1-Übertragungen und Zeitschlitze
Die Zwischenzeit T_IP1 hat eine bekannte, feste Länge, die ausreicht, damit der Reflektor sein Paket vorbereiten und dann senden kann. Die Verwendung eines im Voraus vereinbarten, festen Zeitraums in diesem Teil des Austauschs bedeutet, dass der Initiator die Durchlaufzeit beim Empfänger kennt und diese in seiner RTT-Berechnung verwenden kann.
Für die Zeitstempel ToD und ToA sind mehrere Methoden definiert. Die gewählten Methoden bieten unterschiedliche Genauigkeitsgrade. Die alternativen Methoden werden in 3.10 RTT-Optionen und Genauigkeit erläutert.
Die Unterstützung von Modus-1-Schritten ist obligatorisch.
Der Zweck eines Mode-2-Schrittes ist die Unterstützung der phasenbasierten Entfernungsmessung (PBR).
Ein Modus-2-Schritt beginnt damit, dass der Initiator einen CS-Ton auf einem ausgewählten Kanal und über jeden verfügbaren Antennenpfad sendet. Nach einer Rampenzeit und einer Zwischenspielzeit antwortet der Reflektor mit einem CS-Ton, wobei er dieselbe Frequenz wie der vom Initiator empfangene Ton und über jeden seiner Antennenpfade auswählt. Abbildung 27 veranschaulicht den Austausch. Die Zeitschlitzdauer umfasst die in Tabelle 5 beschriebenen Begriffe und die hier zusätzlich definierten Begriffe in Tabelle 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. |
Tabelle 6 - Zusätzliche Schrittmodus-2-Zeitsteuerungsparameter
Abbildung 27 - Modus-2-Übertragungen und Zeitschlitze
Der Initiator misst die Phase des vom Reflektor während der Periode T_PM empfangenen CS-Tons, einmal für jeden Antennenpfad. Die Anpassungen erfolgen anhand der im Mode-0-Schritt berechneten Kompensationswerte. Die Phasenmessungen werden in einem HCI-Ereignis in Form eines Arrays von IQ-Samples an die Anwendungsschicht weitergeleitet.
Es ist zu beachten, dass der Ausdruck für die Gesamtdauer der CS-Ton(e)-Übertragung den Term N_AP + 1. Dies liegt daran, dass auf die Zeitschlitze für die Dauer von T_PM, die für jeden Antennenpfad zugewiesen werden, ein zusätzlicher Zeitraum folgt, der als CS-Ton-Verlängerungsschlitz bezeichnet wird. Die Verwendung dieses Zeitschlitzes für die Übertragung ist aus Sicherheitsgründen zufällig (siehe 3.12 Sicherheit), aber wenn er verwendet wird, wird ein CS-Ton über dieselbe Antenne übertragen, die im unmittelbar vorhergehenden T_PM-Zeitschlitz verwendet wurde.
Die Unterstützung von Modus-2-Schritten ist obligatorisch.
Ein Modus-3-Schritt unterstützt sowohl die RTT-Berechnung als auch das PBR unter Verwendung eines kombinierten Austauschs von CS_Sync-Paketen und CS-Tönen.
Abbildung 28 - Modus-3-Übertragungen und Zeitschlitze
Die Unterstützung von Modus-3 ist nicht zwingend. Anwendungen, die PBR und RTT kombinieren möchten, aber im Rahmen des Verfahrens zum Austausch von Fähigkeiten feststellen, dass Modus-3 weder vom Initiator noch vom Reflektor unterstützt wird, können stattdessen eine Modus-Sequenz verwenden, die sowohl Modus-2- als auch Modus-1-Schritte kombiniert. Siehe 3.8 Mode Sequencing für weitere Informationen zu dieser Fähigkeit von Bluetooth Channel Sounding .
Modus-3-Schritte umfassen einen Erweiterungssteckplatz, wie er für Modus-2-Schritte beschrieben wurde.
3.6 Feststellung von Phasendifferenzen
In den vorangegangenen Abschnitten über Modus-0-, Modus-1-, Modus-2- und Modus-3-Schritte lag der Schwerpunkt auf den Einzelheiten der Zeitaufteilung und -verwendung in einem einzelnen Schritt jedes Typs. Entfernungsberechnungen erfordern jedoch mehrere Austauschvorgänge, entweder um die Genauigkeit der berechneten Entfernung zu verbessern oder weil die verwendete Methode dies erfordert. Das Züchterrechtsverfahren erfordert definitionsgemäß mindestens zwei Austauschvorgänge.
Damit Phasendifferenzen gemessen werden können, muss mehr als ein Signal übertragen werden und es muss mehr als eine Frequenz beteiligt sein. Ein einziger Schritt beinhaltet den Austausch eines einzigen CS-Tons auf einem einzigen ausgewählten Kanal und einer einzigen Frequenz. Somit ist klar, dass die Züchterrechtsmethode die Ausführung von mindestens zwei Schritten eines Modus erfordert, der die Züchterrechtsmethode unterstützt. Die Abfolge der Schritte innerhalb eines Bluetooth Channel Sounding Verfahrens und die Muster, die ihre Wiederholung und Modusvariation regeln, sind Gegenstand von 3.8 Modussequenzierung. Es sollte beachtet werden, dass im Allgemeinen eine größere Anzahl von CS-Ton-Austauschvorgängen unter Verwendung eines entsprechend größeren Satzes von HF-Kanälen der Anwendung mehr Daten liefert und die Möglichkeit bietet, genauere Entfernungsmessungen durchzuführen. Eine größere Anzahl von Austauschvorgängen erfordert jedoch mehr Zeit für die Ausführung.
3.7 Antennenumschaltung
Wie in Abschnitt 3.2.3 "Antennengruppen" erwähnt, können die Geräte mehrere Antennen für die Verwendung während des phasenbasierten Entfernungsaustauschs enthalten. Die Höchstzahl der Antennen, die ein Gerät für die Verwendung während des PBR-Austauschs (d. h. Mode-2- oder Mode-3-Schritte) haben kann, beträgt vier. Ein gegebenes Paar von Antennenkonfigurationen, von denen eine zum Initiator und eine zum Reflektor gehört, bietet eine Anzahl von Antennenpfaden zwischen den beiden Geräten.
In der Kernspezifikation von Bluetooth sind insgesamt acht Antennenkonfigurationen definiert. In Anlehnung an eine ähnliche Tabelle in der Kernspezifikation listet Tabelle 7 diese Konfigurationen auf. Die Abbildungen unmittelbar nach der Tabelle zeigen mehrere Beispiele.
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 |
Tabelle 7 - Antennenkonfigurationen
Abbildung 29 - 1:1-Antennenkonfiguration (ACI=0, N_AP=1) |
Abbildung 30 - 1:2-Antennenkonfiguration (ACI=4, N_AP=2) |
Abbildung 31 - 3:1-Antennenkonfiguration (ACI=2, N_AP=3) |
Abbildung 32 - 2:2-Antennenkonfiguration (ACI=7, N_AP=4) |
Die Antennenumschaltung erfolgt während der Mode-2-Schritte (PBR) und während des PBR-bezogenen Teils jedes Mode-3-Schrittes. Insbesondere bei der Übertragung eines CS-Tons kann die Antennenumschaltung in Abhängigkeit von der Antennenkonfiguration des Sendegeräts vorgenommen werden. Die Berechnung der Dauer der CS-Ton-Sendezeitschlitze in Modus-2- und Modus-3-Schritten berücksichtigt die Antennenumschaltung und mehrere Antennenpfade:
(T_SW+T_PM)*(N_AP+1)
→ T_SW gibt die Zeit an, in der die Antenne umgeschaltet wird, und hat einen Wert von entweder 0, 2, 4 oder 10 Mikrosekunden.
→ T_PM ist die Zeit für die Übertragung des CS-Tons.
→ N_AP ist die Anzahl der Antennenwege. Der Term +1 dient zur Berücksichtigung des Erweiterungsschlitzes.
3.8 Modusreihenfolge
3.8.1 Übersicht über die Modusreihenfolge
Eine Bluetooth Channel Sounding Prozedur beinhaltet immer die Ausführung einer Sequenz von mehreren Schritten und eine Mischung von mindestens zwei Modi. In der Bluetooth Core Specification sind Regeln für die Kombination von Modi und die Sequenzierung definiert, deren wichtigste Aspekte in diesem Abschnitt untersucht werden sollen.
Bluetooth Channel Sounding Anwendungen führen zu qualitativ besseren und genaueren Entfernungsmessungen, wenn sie vom Bluetooth Controller mit Daten versorgt werden, die aus einer größeren Anzahl von ausgetauschten Paketen und Tönen stammen.
3.8.2 Modus-Kombinationen
An einem Bluetooth Channel Sounding Verfahren sind immer Schritte von mindestens zwei verschiedenen Betriebsarten beteiligt. Der erste ist der Mode-0-Schritt für die Frequenzabweichungsmessung und der zweite muss einer der anderen Modi sein. Es ist aber auch möglich, eine Kombination von zwei Nicht-Mode-0-Moden mit dem obligatorischen Mode-0-Typ zu verwenden. In allen Fällen wird die primäre Nicht-Mode-0-Betriebsart als Main_Mode bezeichnet. Der sekundäre Nicht-Modus-0-Modus, sofern vorhanden, wird als Sub_Mode bezeichnet. Tabelle 8 ist der Bluetooth Core Specification entnommen und listet die sechs zulässigen Non-Mode-0-Modus-Kombinationen auf.
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 |
Tabelle 8 - Zulässige Kombinationen von Betriebsarten, die nicht dem Modus 0 entsprechen
3.8.3 Modusfolgekonfiguration und Sub_Mode-Einfügung
Die Anwendungen sind in der Lage, die Step-Mode-Sequenz mit HCI-Befehlen zu konfigurieren. Dies geschieht während der Bluetooth Channel Sounding Konfigurations- und Startverfahren. Zu den wichtigsten Parametern, die angefordert und zwischen den Geräten vereinbart werden können, gehören die in Tabelle 9 aufgeführten.
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. |
Tabelle 9 - Parameter zur Steuerung der Betriebsartenabfolge
Mithilfe dieser Parameter können Anwendungen Muster von Schrittmodi angeben, die in einer Sequenz auftreten.
Im Allgemeinen folgt die Abfolge im Schrittbetrieb diesem Muster:
- Ein oder mehrere Modus-0-Schritte starten das Unterereignis
- Es folgt eine Folge von n Hauptmodus-Schritten, wobei n zufällig ausgewählt wird und im Bereich von Min_Main_Mode_Steps bis einschließlich Max_Main_Mode_Steps liegt
- Ein einzelner Untermodus-Schritt folgt auf die Abfolge von n Hauptmodus-Schritten aufgrund eines Prozesses, der in der Bluetooth Core Specification als sub_mode insertion bezeichnet wird
Step-Mode-Sequenzen sind nicht an Sub-Event-Grenzen gebunden, außer durch die allgemeine Regel, dass Sub-Events immer mit einem oder mehreren Mode-0-Schritten beginnen müssen. Vollständige Sequenzen können sich über mehr als ein Unterereignis erstrecken.
Abbildung 33 zeigt ein einfaches Beispiel für die Auswirkung einiger der Parameter für die Modusabfolge.
Abbildung 33 - Beispiel für eine Schrittmodussequenz
Unterereignis 1 beginnt mit einer Folge von zwei aufeinanderfolgenden Modus-0-Schritten. Alle Unterereignisse beginnen mit mindestens einem Mode-0-Schritt und in diesem Beispiel hat der Parameter Mode_0_Steps den Wert 2.
Als Nächstes haben wir eine Reihe von drei Mode-2-Schritten. Es handelt sich um Mode-2-Schritte, weil der Main_Mode_Type 2 ist. Die Anzahl der zu sequenzierenden Main-Mode-Schritte wurde nach dem Zufallsprinzip ausgewählt, wobei die Min_Main_Mode_Steps und Max_Main_Mode_Steps als Ober- und Untergrenze fungieren. In diesem Fall war der zufällig ausgewählte Wert drei.
Nach den drei Hauptmodus-Schritten wird ein einzelner Untermodus-Schritt vom Typ Modus-1 eingefügt, da Sub_Mode_Type den Wert 1 hat und die erforderliche Folge von Hauptmodus-Schritten abgeschlossen ist.
Im Unterereignis (dessen Dauer im Parameter Unterereignis_Len während der CS-Startprozedur angegeben wurde) ist noch genügend Zeit für einen weiteren Schritt vorhanden, der aufgenommen werden kann. Der vorangegangene Schritt war ein Submodus-Schritt, so dass die Hauptmodus/Submodus-Sequenz erneut beginnt, diesmal jedoch mit einer erforderlichen Anzahl von zwei zufällig ausgewählten Hauptmodus-Schritten. Der letzte Schritt im Unterereignis 1 ist dann ein Hauptmodus-Schritt von Modus 2, mit dem die neue Sequenz beginnt.
Unterereignis 2 beginnt mit zwei Mode-0-Schritten. Die im letzten Unterereignis begonnene Hauptmodussequenz wird dann mit einem weiteren Hauptmodusschritt fortgesetzt, um die erforderliche Anzahl von zwei Schritten zu erreichen. Diese Sequenz wird mit einem Submode-Schritt abgeschlossen.
Erneut beginnt eine neue Hauptmodus-/Submodus-Sequenz, diesmal mit fünf zufällig ausgewählten Hauptmodus-Schritten. Drei dieser Schritte werden in das aktuelle Unterereignis eingeschlossen, bevor das Ende dieses Unterereignisses erreicht ist. Das dritte Unterereignis beginnt mit den üblichen zwei Modus-0-Schritten dieses Beispiels und dann den verbleibenden zwei Hauptmodus-Schritten der erforderlichen fünf, gefolgt von einem Untermodus-Schritt.
Das Muster wird mit der Anzahl der Hauptmodusschritte fortgesetzt, die jedes Mal zufällig ausgewählt werden, wenn eine neue Sequenz erforderlich ist, bis die für das Verfahren angegebene Anzahl von Unterereignissen abgeschlossen ist.
3.8.4 Wiederholung des Hauptmodus
Es gibt einen weiteren Parameter für die Modusabfolge, der von Anwendungen verwendet werden kann. Main_Mode_Repetition gibt eine Anzahl der letzten Main-Mode-Schritte aus dem letzten Sub-Event an, die im aktuellen Sub-Event wiederholt werden sollen.
Bei der Hauptmodus-Wiederholung verwenden die im aktuellen Unterereignis wiederholten Schritte denselben Kanalindex, der für die entsprechenden Schritte im vorherigen Unterereignis verwendet wurde. Dadurch wird sichergestellt, dass die wiederholten Schrittübertragungen dieselbe beabsichtigte Frequenz haben. Andere Aspekte der wiederholten Übertragungen, insbesondere solche, die die Sicherheit betreffen, werden jedoch bei jedem Schritt neu erzeugt. Es ist zu beachten, dass der Zweck der Wiederholung von Hauptmodusschritten auf derselben Frequenz darin besteht, mögliche Frequenzdrift- und Dopplerverschiebungseffekte zu berücksichtigen.
Die Wiederholung des Hauptmodus bietet den Anwendungen die Möglichkeit, einige der Eigenschaften des Austauschs zu korrelieren, und kann die Verfolgung der Geschwindigkeit von sich bewegenden Geräten erleichtern.
Schritte, die aufgrund der Wiederholung des Hauptmodus in die Modussequenz aufgenommen werden, werden bei der in 3 .8.3 Konfiguration der Modussequenz und Einfügen von Untermodi beschriebenen Einfügung von Untermodi nicht berücksichtigt.
3.8.5 Überlegungen zu Anwendungen und Betriebsartenabfolge
Die Möglichkeit, Moduskombinationen zu konfigurieren und Schrittmodussequenzen mit Hilfe der Einfügung von Untermodi und der Wiederholung des Hauptmodus zu steuern, gibt den Anwendungen eine große Kontrolle über den Prozess von Bluetooth Channel Sounding . Es gibt verschiedene Ziele, die eine Anwendung verfolgen kann, wenn sie von dieser Flexibilität profitieren möchte.
Das Züchterrecht ist die genaueste der beiden Entfernungsmessungsmethoden, und die gleichzeitige Verwendung von RTT erhöht die Sicherheit des Systems erheblich. Sie ermöglicht es auch, Entfernungsmehrdeutigkeiten, die bei der PBR-Methode auftreten können, zu behandeln.
Schrittmodus-3 bietet Unterstützung für beide Methoden in einem einzigen Modustyp, aber die Unterstützung für Modus-3 ist optional. Daher müssen Geräte, die während des Verfahrens zum Austausch von Fähigkeiten feststellen, dass Modus-3 nicht verfügbar ist, die Schritte Modus-1 (RTT) und Modus-2 (PBR) mischen. Dies kann durch Auswahl von Modus-2 als Hauptmodus und Modus-1 als Untermodus erreicht werden.
Eine weitere Überlegung für Anwendungen ist die Latenzzeit. Jeder Austausch von Signalen benötigt Zeit. Modus-1-RTT-Austausche dauern manchmal länger als Modus-2-PBR-Austausche, abhängig von der Anzahl der Antennenpfade. Da die Rolle von RTT darin besteht, PBR zu ergänzen, indem der Gesamtprozess Bluetooth Channel Sounding sicherer gemacht wird, werden sich Anwendungen, die die Latenzzeit unter einem bestimmten Schwellenwert halten müssen, wahrscheinlich dafür entscheiden, einen geringeren Anteil von RTT-Austauschvorgängen in das Verfahren Bluetooth Channel Sounding einzubeziehen. Dies kann erreicht werden, indem Modus-2 (PBR) als Hauptmodus und Modus-1 (RTT) als Untermodus gewählt und die Parameter Min_Main_Mode_Steps und Max_Main_Mode_Steps auf geeignete Werte gesetzt werden, so dass ein erforderliches Mindestverhältnis von Hauptmodus- zu Untermodusschritten gegeben ist.
In Fällen, in denen Modus-3 von beiden Geräten unterstützt wird, sind die Latenz und das Verhältnis von PBR- zu RTT-Vermittlungen weiterhin ein Thema für Anwendungen, das berücksichtigt werden muss. Alle Vermittlungen im Modus 3 enthalten sowohl PBR-bezogene CS-Töne als auch RTT-bezogene CS_Sync-Pakete in gleichem Verhältnis. Dies kann für einige Anwendungen als suboptimal angesehen werden.
Andererseits kann Modus-3, sofern er unterstützt wird, bei der Verwendung mit anderen Modi Vorteile bieten. Wenn die Anwendung eine bestimmte Anzahl von Phasenmessungen mit einem bestimmten Verhältnis von RTT-Messungen erfordert, kann dies mit weniger Schritten erreicht werden, wenn eine Kombination aus Modus-2 und Modus-3 anstelle von Modus-2 und Modus-1 verwendet wird.
Abbildung 34 zeigt ein Verhältnis von 3:1 zwischen PBR- und RTT-Messungen, das mit einem Hauptmodus von Modus-2 und einem Untermodus von Modus-1 erreicht wird. In diesem Beispiel werden 9 PBR-Messungen und 3 RTT-Messungen über eine Reihe von 3 Unterereignissen geliefert.
Abbildung 34 - Ein Verhältnis von Züchterrechten zu RTT von 3:1 unter Verwendung von Modus-2 und Modus-1
Abbildung 35 zeigt die gleiche Anzahl und das gleiche Verhältnis von Züchterrechts- und RTT-Messungen, die in zwei Unterereignissen mit einem Hauptmodus von Modus-2, aber diesmal mit einem Untermodus von Modus-3 durchgeführt werden. Beachten Sie, dass keine dieser Abbildungen maßstabsgetreu ist und möglicherweise nicht die tatsächliche Flugzeit widerspiegelt. Unter der Annahme, dass die Länge der Unterereignisse ausreicht, um die in den beiden Abbildungen gezeigten Schritte unterzubringen, und dass nur ein Antennenpfad beteiligt ist, ist die Anzahl der Schritte und der Austausch zwischen den beiden Geräten korrekt, und die Abbildungen sollten dazu dienen, den potenziellen Unterschied zwischen diesen beiden scheinbar ähnlichen Konfigurationen zu erklären.
Abbildung 35 - Ein Verhältnis von Züchterrechten zu RTT von 3:1 unter Verwendung von Modus-2 und Modus-3
3.9 HF-Kanäle und Kanalauswahl
3.9.1 Die Bluetooth Channel Sounding Kanalkarte
Normalerweise unterteilt Bluetooth LE das 2,4-GHz-ISM-Band in 40 Kanäle mit einer Breite von jeweils 2 MHz. Dies ist jedoch nicht der Fall, wenn Bluetooth Channel Sounding verwendet wird.
Für die Zwecke von Bluetooth Channel Sounding werden 72 Kanäle mit einer Breite von jeweils 1 MHz und einem eindeutigen Kanalindexwert definiert. Durch die Anordnung dieser Kanäle wird sichergestellt, dass die primären LE-Werbekanäle vermieden werden.
Eine Kanalbreite von 1 MHz statt der üblichen 2 MHz stellt sicher, dass der Frequenzabstand zwischen Züchterrechtssignalen, die benachbarte Kanäle nutzen, so ist, dass Entfernungsmehrdeutigkeit erst bei etwa 150 Metern auftritt. Im Gegensatz dazu würden Signale mit einem Frequenzabstand von 2 MHz bei den Züchterrechtsberechnungen bei etwa 75 Metern zu einer Entfernungsmehrdeutigkeit führen.
Tabelle 10 , die der Bluetooth Core Specification entnommen ist, zeigt die Kanalindexwerte, die für Bluetooth Channel Sounding verwendet werden, und ihre zugehörige HF-Mittenfrequenz. Die dritte Spalte gibt an, ob ein Kanal für Bluetooth Channel Sounding Austausch verwendet werden kann oder nicht.
CS Channel Index | RF Center Frequency | Allowed |
---|---|---|
1 |
2402 MHz |
No |
2 |
2403 MHz |
No |
3 |
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 |
Tabelle 10 - Bluetooth Channel Sounding Kanalindizes und physikalische HF-Kanäle
3.9.2 Kanalfilterung
Es wird eine Kanalindex-Filter-Bitmap geführt. Dabei handelt es sich um eine Liste der für Bluetooth Channel Sounding definierten Kanalindizes, wie in 3.9.1 Die Bluetooth Channel Sounding Channel Map beschrieben, wobei jeder Kanal entweder als eingeschlossen oder ausgeschlossen markiert ist. Die Bluetooth Channel Sounding Kanalindex-Filterkarte wird von einer Prozedur der Verbindungsschicht mit der Bezeichnung Channel Sounding Channel Map Update Procedure gepflegt, die es entweder dem Initiator oder dem Reflektor ermöglicht, dem anderen Gerät mitzuteilen, welche Kanäle zu verwenden oder zu vermeiden sind, basierend auf seiner Einschätzung der lokalen Kanalbedingungen. Ein ausgeschlossener Kanal wird niemals von einem der Kanalauswahlalgorithmen ausgewählt.
3.9.3 Frequenzsprungverfahren
Frequenzsprünge finden im Allgemeinen unmittelbar vor der Ausführung eines Schrittes statt, wie in Abbildung 36 dargestellt.
Abbildung 36 - Frequenzsprung vor der Schrittausführung
Eine Ausnahme von dieser Regel gilt, wenn die Modus-Wiederholung mit einem Wert ungleich Null für den Parameter Main_Mode_Repetition konfiguriert wurde. Schritte, die aufgrund der Moduswiederholung wiederholt werden, verwenden denselben Kanalindex wie der Schritt im vorherigen Unterereignis, das sie wiederholen.
3.9.4 Kanalauswahl
Ein neuer Satz von drei Kanalauswahlalgorithmen (CSA) wurde für die Verwendung in Bluetooth Channel Sounding definiert. Zusammen sind sie als CSA #3 und einzeln als CSA #3a, CSA #3b und CSA #3c bekannt.
CSA #3a dient ausschließlich zur Auswahl des Kanals, der in Modus-0-Schritten verwendet werden soll.
CSA #3b und CSA #3c sind beide für die Verwendung mit Nicht-Mode-0-Schritten vorgesehen, aber nur einer der beiden kann während eines Bluetooth Channel Sounding Verfahrens verwendet werden.
Folglich sind zu jedem Zeitpunkt zwei verschiedene Kanalauswahlalgorithmen aktiv mit Bluetooth Channel Sounding verbunden.
Die Kanalauswahl umfasst zwei verschiedene Kanalindexlisten. Die erste wird von CSA #3a und für die Auswahl von Kanälen für Mode-0-Schritte verwendet. Die zweite wird für Nicht-Mode-0-Schritte mit CSA #3b oder CSA #3c verwendet.
CSA #3a und CSA #3b sind fast identisch.
Kanalindexlisten werden erstellt, indem die Reihenfolge der Kanäle, die als in der Kanalkarte enthalten markiert sind, randomisiert wird, um eine gemischte Kanalliste zu erstellen. CSA #3a und CSA #3b tun dies auf genau dieselbe Weise. CSA #3c verfolgt einen anderen Ansatz, stützt sich aber auf die gleiche primitive Shuffle-Funktion, die in der Bluetooth Core Specification als cr1 bezeichnet wird.
Der Modus-0-Kanalauswahlalgorithmus CSA #3a verwendet eine gemischte Kanalliste, wie in 3 .9.4.1 Kanalindex-Mischung beschrieben. Die gemischte Kanalliste, die für Mode-0-Schrittfrequenzsprünge verwendet wird, unterscheidet sich von der entsprechenden Liste der Kanäle, die für Nicht-Mode-0-Kanalsprünge verwendet wird.
Jeder Eintrag in der gemischten Kanalliste ist eindeutig und wird nur einmal verwendet. Wenn alle Einträge in der gemischten Kanalliste verwendet wurden, wird sie neu generiert und eine neue, zufällige Kanalliste erstellt.
Der Nicht-Modus-0-Kanalauswahlalgorithmus CSA #3b verwendet eine gemischte Kanalliste, die sich von der entsprechenden Kanalliste für das Modus-0-Kanalspringen unterscheidet. CSA #3b erlaubt es, die Kanalindexliste mehr als einmal zu wiederholen, bevor sie neu generiert wird. Dies wird durch einen Parameter namens CSNumRepetitions gesteuert, den Anwendungen einstellen können.
Der Algorithmus CSA #3c unterscheidet sich deutlich von CSA #3b. Teilmengen der in der Kanalkarte enthaltenen Kanäle werden in Gruppen organisiert und Kanalmuster erzeugt, die Formen bilden. Es werden zwei Mustertypen unterstützt, die mit "Hut" und "X" bezeichnet werden. CSA #3c kann unter bestimmten Umständen Vorteile bei der Erkennung reflektierter Signalwege bieten. Weitere Einzelheiten finden Sie in der Bluetooth Core Specification. Die Unterstützung für CSA #3c ist optional.
3.10 RTT-Optionen und -Genauigkeit
Die RTT-Methode beinhaltet den Austausch von CS_Sync-Paketen in Schritten von Mode-1 und/oder Mode-3. Abbildung 24 zeigt den Aufbau eines CS_Sync-Pakets.
Es sind mehrere Methoden zur Ermittlung der Zeitstempel für die Ankunftszeit (Time of Arrival, ToA) definiert, die für die Berechnung der Round-Trip-Zeiten benötigt werden. Eine Anwendung kann die zu verwendende Methode während der Bluetooth Channel Sounding Konfigurationsprozedur über HCI-Befehle unter Verwendung des Parameters RTT_Type angeben.
Es besteht die Möglichkeit, Zeitmessungen auf der Grundlage des Zugriffsadressenfeldes vorzunehmen, eine Sondierungssequenz mit einer Länge von 32 oder 96 Bit zu verwenden oder eine Zufallssequenz mit einer Länge von 32, 64, 96 oder 128 Bit zu verwenden. Die Genauigkeit der Zeitschätzungen variiert je nach der verwendeten Methode und der Länge des für die Zeitmessung verwendeten Feldes. Sowohl die Verwendung einer Sondierungssequenz als auch die Verwendung einer Zufallssequenz ermöglichen eine genauere Form der Schätzung, die als fraktionierte Zeitschätzung bezeichnet wird.
3.10.1 Zeitsteuerung auf der Grundlage einer Zugriffsadresse
CS_Sync-Pakete enthalten ein 32-Bit-Access-Address-Feld. Die einfachste Methode zur Ermittlung eines ToA-Werts besteht darin, dass der Controller seine Uhr verwendet, um einen Zeitstempel zu dem Zeitpunkt zu erfassen, zu dem das Zugriffsadressfeld in einem CS_Sync-Paket empfangen wurde.
Eine Zugangsadresse ist ein 32-Bit-Binärwert auf der Verbindungsschicht, aber bei der Übertragung wird ihr Wert durch eine Reihe von analogen Symbolen dargestellt, die durch Anwendung der GFSK-Modulation auf diese digitalen Bits gebildet werden. Ein einzelnes Symbol besteht aus einer Funkübertragung mit einer Frequenz, die einen 0- oder 1-Bit-Wert darstellt und je nach Symbolrate (bestimmt durch die Wahl des LE 1M oder LE 2M PHY/LE 2M 2BT PHY) eine Dauer von einer Mikrosekunde oder einer halben Mikrosekunde hat.
Der Empfang eines Signals beinhaltet die Abtastung des eingehenden Signals, das von einem lokalen Oszillator mit einer bestimmten Taktfrequenz gesteuert wird. Die Übertragung dieses Signals wird ebenfalls von einem Oszillator im anderen Gerät gesteuert.
Es gibt eine Reihe von Möglichkeiten, wie ein Zeitstempel für den Empfang einer Zugangsadresse in einem eingehenden Signal ermittelt werden kann. Die Einzelheiten bleiben der Implementierung überlassen, aber es könnte die Zeit genommen werden, zu der das Paket in der Steuerung Bluetooth ankommt, und dann in Abhängigkeit von der Paketlänge, der Symbolrate und der Abtastrate angepasst werden, um eine Schätzung des Zeitpunkts des Empfangs der Zugangsadresse zu erhalten. Alternativ kann die Implementierung in der Lage sein, einen ToA-Zeitstempel während der Funksignalverarbeitung zu berechnen, muss aber den Zeitstempel nach der Demodulation und Überprüfung des Zugangsadressenwerts validieren, bevor der Zeitstempel als ToA in den RTT-Berechnungen verwendet werden kann.
Es ist unwahrscheinlich, dass der Oszillator des Senders und der Oszillator des Empfängers in Phase sind, was zu Ungenauigkeiten bei diesem Verfahren führen kann. Um die Ergebnisse zu verbessern, wird vorgeschlagen, Messungen über eine Reihe von Paketen vorzunehmen, die in einer Folge von Schritten ausgetauscht werden, und die Verteilung der Werte zu berechnen. Diese Verteilung kann dann verwendet werden, um die Genauigkeit der ToA-Zeitstempel zu verbessern.
Die Spezifikation der Verbindungsschicht, Teil H, Abschnitt 3.2.2, enthält Informationen darüber, wie die mit dieser Methode erstellten Zeitstempel verbessert werden können, indem Bruchteile von Zeitfehlern bei der Abtastung der Zugangsadresse aufgrund der Differenz zwischen dem optimalen Abtastpunkt und dem tatsächlichen Abtastpunkt bestimmt werden. Solche Fehler sind darauf zurückzuführen, dass der lokale Oszillator und der des entfernten Geräts phasenverschoben sind.
3.10.2 Schätzungen des fraktionierten Zeitablaufs
Zwei optionale Methoden, die eine bessere ToA-Zeitstempelgenauigkeit bieten, sind in der Spezifikation der Verbindungsschicht, Teil H, Abschnitte 3.3 und 3.4 beschrieben. Beide liefern gebrochene Zeitschätzungen.
CS_Sync-Pakete können zusätzliche, optionale Daten am Ende des Pakets enthalten. Wenn diese Option verwendet wird, kann eines von zwei Feldern an das CS_Sync-Paket angehängt werden: entweder eine Zufallssequenz oder eine Tonsequenz.
Die erste der Methoden zur Bestimmung des fraktionierten Timings beinhaltet die Analyse des optionalen Random-Sequence-Feldes in CS_Sync-Paketen, um fraktionierte Timing-Fehler zu ermitteln. Dies funktioniert ähnlich wie die in 3 .10.1 Timing auf der Grundlage einer Zugangsadresse beschriebene Technik zur Bestimmung der Differenz zwischen optimalen und tatsächlichen Abtastpunkten. Der aus der Zufallsfolge berechnete Zeitfehler wird in ähnlicher Weise zur Optimierung des Zeitstempels der Zugriffsadresse verwendet.
Die zweite fraktionierte Timing-Methode basiert auf der Analyse eines Sounding-Sequence-Feldes, das an ein CS_Sync-Paket angehängt ist. Eine Sounding Sequence ist ein abwechselndes Muster aus 0s und 1s auf der Verbindungsschicht, das bei Modulation mit GFSK zwei unterschiedliche Funktöne mit verschiedenen Frequenzen und unterschiedlichen Phasen erzeugt. Eine Analyse der Phasendifferenz zwischen den beiden durch die Sondierungssequenz erzeugten Tönen ermöglicht die Berechnung eines Zeitfehlers, der zur Optimierung des ToA-Zeitstempels verwendet wird.
3.10.3 Ein Vergleich der RTT-Methoden
Bluetooth Channel Sounding Anwendungsentwickler können die Umlaufzeiten auf der Grundlage von Messungen ableiten, die mit einer von drei verschiedenen Methoden durchgeführt werden. Zur Auswahl stehen die Verwendung der ToA einer Zugangsadresse oder die Verwendung einer von zwei fraktionierten Methoden, die entweder auf einer Zufallssequenz oder einer Sondierungssequenz in einem CS_Sync-Paket basieren.
Die Implementierer der Funktion Bluetooth Channel Sounding müssen die obligatorischen Aspekte der Funktion implementieren, können aber bei den optionalen Funktionen selektiv vorgehen, wenn sie dies wünschen. Die Komplexität der Implementierung ist unterschiedlich und kann einer der Faktoren sein, die bei dieser Entscheidung berücksichtigt werden.
Die drei RTT-Methoden bieten den Anwendungsentwicklern ein unterschiedliches Maß an Genauigkeit der Entfernungsmessung, Sicherheit und Latenzzeit. Im Allgemeinen haben die fraktionierten Methoden das Potenzial, die genauesten Ergebnisse und die beste Sicherheit zu liefern.
3.11 Der LE 2M 2BT PHY
3.11.1 Modulationsschemata
Ein Modulationsschema definiert ein Mittel zur Kodierung digitaler Informationen in Signalen unter Verwendung einer oder mehrerer physikalischer Eigenschaften des Signals. Ein Modulationsschema erzeugt Symbole, die in der analogen Welt Informationen tragen, so wie Bits in der digitalen Welt Informationen enthalten. Ein Symbol repräsentiert ein oder mehrere Bits, je nachdem, wie das Modulationsschema funktioniert.
Frequency Shift Keying (FSK) ist ein einfaches Beispiel für ein Modulationsverfahren. Es handelt sich um ein binäres Modulationsverfahren, bei dem ein digitales Bit einem analogen Symbol entspricht.
Bei FSK wird ein Symbol erzeugt, das einen binären Wert von 1 darstellt, indem die Frequenz eines Trägersignals um einen bestimmten Betrag nach oben (bekannt als Frequenzabweichung) oder um denselben Betrag nach unten verschoben wird, um eine binäre 0 darzustellen.
Abbildung 37 veranschaulicht die Anwendung der FSK-Basisfunktionen auf einen bestimmten Bitstrom.
Abbildung 37 - Frequenzumtastung (FSK) kodierter Bitstrom 01010101010
Das abrupte Umschalten zwischen den Frequenzen, das ein Merkmal von FSK ist, führt zur Erzeugung von Rauschen, das sich über einen größeren Frequenzbereich ausbreitet, als es wünschenswert wäre. Um dem entgegenzuwirken, verwendet die Bluetooth Technologie eine spezielle Variante von FSK, die Gaussian Frequency Shift Keying (GFSK).
GFSK unterscheidet sich von der einfachen FSK dadurch, dass ein Filter eingesetzt wird, der den Übergang zwischen den Frequenzen in eine Kurve legt. Die Form der Kurve und die Geschwindigkeit der Frequenzübergänge wird durch verschiedene Parameter bestimmt, darunter das Produkt aus Bandbreite und Bitperiode (BT).
3.11.2 Bandbreiten-Bitzeit-Produkt
Das Bandbreiten-Bit-Perioden-Produkt (BT) ist ein Attribut eines Signals, das Informationen über das Verhältnis zwischen seiner Bandbreite und der Dauer der Symbole liefert.
BT beeinflusst die Form und die Spanne der Funkimpulse, die die Symbole bilden. Ein höherer BT-Wert führt zu einem schmaleren, quadratischeren Impuls und ein niedrigerer Wert zu einer breiteren, runderen Impulsform.
3.11.3 LE 2M 2BT
Mit der bevorstehenden Aktualisierung der Bluetooth Core Specification wird ein neuer PHY namens LE 2M 2BT eingeführt. LE 2M 2BT kann derzeit nur mit Bluetooth Channel Sounding verwendet werden.
Tabelle 11 enthält einen Vergleich der PHYs, bei dem die wichtigsten Aspekte von LE 2M 2BT hervorgehoben werden.
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. |
Tabelle 11 - Ein Vergleich von Bluetooth LE PHYs
Der LE 2M 2BT PHY darf nur mit Bluetooth Channel Sounding verwendet werden. Seine Verwendung kann die Sicherheit erhöhen, wie in Abschnitt 3.13.7 erläutert.
Die Form der Impulse bei BT=0,5 und BT=2,0 ist in Abbildung 38 dargestellt.
3.12 SNR-Steuerung für Bluetooth Channel Sounding Schritte
Einige Funksender sind in der Lage, ihr Signal-Rausch-Verhältnis (SNR) so einzustellen, dass es innerhalb eines bestimmten Bereichs liegt. Wenn diese Fähigkeit sowohl vom Initiator- als auch vom Reflektor-Gerät unterstützt wird, kann sie zur Verbesserung der Sicherheit von Bluetooth Channel Sounding Schritten verwendet werden, die sich auf die RTT-Entfernungsmessungsmethode beziehen, d. h. Mode-1- und Mode-3-Schritte. Abschnitt 3.13.8 SNR-Steuerung und RTT-Sicherheit geht auf diesen Punkt ein.
Die Bluetooth Core Specification definiert eine Reihe von SNR Output Index (SOI)-Werten, die den zugehörigen SNR-Ausgangspegeln, gemessen in dB, entsprechen. In Tabelle 12 sind diese Definitionen wiedergegeben.
SNR Output Index (SOI) | SNR Output Level (dB) |
---|---|
0 |
18 |
1 |
21 |
2 |
24 |
3 |
27 |
4 |
30 |
Tabelle 12 - SNR-Ausgangsindizes und Pegel
Informationen über die Unterstützung der SNR-Ausgangssteuerung und die unterstützten SOI-Werte werden von den Geräten während der Channel Sounding Capabilities Exchange-Prozedur (siehe 3.3.2 Bluetooth Channel Sounding Capabilities Exchange) ausgetauscht, und es wird angegeben, ob die SNR-Steuerung verwendet werden soll und mit welchem SOI-Wert in der LL_CS_REQ-PDU der Verbindungsschicht, die während der Bluetooth Channel Sounding Start-Prozedur gesendet wird.
3.13 Sicherheit
3.13.1 Überblick
Sicherheitsprobleme, die nur bei Lösungen zur Entfernungsmessung auftreten, betreffen in der Regel die Gefahr, dass nicht vertrauenswürdige Geräte einem vertrauenswürdigen Gerät vorgaukeln, ein anderes vertrauenswürdiges Gerät befinde sich in ausreichender Nähe, um eine bestimmte Aktion zuzulassen oder durchzuführen. Wenn beispielsweise bei einem schlüssellosen Zugangssystem ein bösartiges Gerät dem Türschloss vorgaukelt, die zugehörige vertrauenswürdige drahtlose Schlüsselkarte befinde sich in ausreichender Nähe, so dass die Tür automatisch entriegelt wird, könnte sich ein Unbefugter Zugang verschaffen.
Sicherheitsexperten kennen eine Reihe von Angriffen im Zusammenhang mit der Entfernungsmessung. Bei einigen handelt es sich um eigenständige bösartige Geräte, die die Kommunikation von einem vertrauenswürdigen Gerät fälschen (bekannt als Spoofing), und bei anderen handelt es sich um Arten von Man-in-the-Middle-Angriffen (MITM), die Signale von vertrauenswürdigen Geräten weiterleiten und dabei in der Regel das Signal oder seinen digitalen Inhalt manipulieren, um das vertrauenswürdige Gerät zu veranlassen, die Entfernung von ihm zu seinem vertrauenswürdigen Gegenstück falsch zu berechnen. Die Details solcher Angriffe variieren in ihrer Raffinesse sowie in der Komplexität und den Kosten für ihre Durchführung.
Bluetooth Channel Sounding umfasst eine Reihe von Merkmalen, die als Gegenmaßnahmen zu einer Reihe von Sicherheitsbedrohungen bei der Entfernungsmessung dienen können. Diese Merkmale können in vier Kategorien eingeteilt werden:
- Verwendung von PBR- und RTT-Methoden in Kombination
- Randomisierung des Bitstroms und der Übertragungsmuster
- Verteidigung gegen Symbolmanipulation
- RF-Signalanalysetechniken einschließlich der Erkennung von Angriffen
Darüber hinaus können die Implementierer von Bluetooth und die Entwickler von Anwendungen die Standard-Sicherheitsfunktionen, die von Bluetooth Channel Sounding bereitgestellt werden, bei Bedarf durch zusätzliche Schutzmaßnahmen ergänzen.
In diesem Abschnitt werden die wichtigsten Aspekte der Sicherheit von Bluetooth Channel Sounding zusammengefasst.
3.13.2 Züchterrechtsprüfung und RTT-Querprüfung
Bluetooth Channel Sounding unterstützt zwei Entfernungsmessungsmethoden, die phasenbasierte Entfernungsmessung (PBR) und das Round-Trip-Timing (RTT). Die beiden Methoden funktionieren völlig unterschiedlich.
Eine Anwendung kann beide Methoden zusammen verwenden, indem sie eine geeignete Moduskombination wählt, z. B. Modus-2 als Hauptmodus für PBR und Modus-1 als Untermodus für RTT. Weitere Informationen zu Moduskombinationen und Sequenzierung finden Sie unter 3 .8 Modussequenzierung.
Die Komplexität, beide Methoden gleichzeitig anzugreifen, so dass sowohl die Phase der Bluetooth Channel Sounding Signale als auch die berechneten Umlaufzeiten manipuliert werden, um irreführende und konsistente Ergebnisse zu erhalten, wird von Sicherheitsexperten als sehr hoch angesehen.
3.13.3 Initialisierung Bluetooth Channel Sounding Sicherheit
Abschnitt 3.3.1 Bluetooth Channel Sounding Security Start beschreibt das Verfahren zur Initialisierung von Bluetooth Channel Sounding security. Die Art und Weise, wie dieses Verfahren die Bluetooth Channel Sounding Sicherheit ermöglicht und selbst sicher ist, weist mehrere Aspekte auf.
Erstens müssen die Geräte miteinander gepaart sein. Dies ist notwendig, damit eine verschlüsselte LE-ACL-Verbindung hergestellt werden kann.
CS Security Start findet dann über die verschlüsselte LE-ACL-Verbindung statt, was bedeutet, dass der Austausch von Bluetooth Channel Sounding Sicherheitsschlüsseldaten vor Abhörern geschützt ist.
Schließlich führen sowohl das zentrale als auch das periphere Gerät einen sicheren Austausch von Teilwerten der Sicherheitsdaten Bluetooth Channel Sounding durch. Auf diese Weise verfügen beide Geräte über dieselben Daten, aus denen sie einen vollständigen und gemeinsamen Wert für den CS-Initialisierungsvektor (CS_IV), die CS-Instanziierungs-Nonce (CS_IN) und den CS-Personalisierungsvektor (CS_PV) konstruieren können.
CS_IV, CS_IN und CS_PV sind Eingänge für den Deterministic Random Bit Generator (DRBG), der eine grundlegende Komponente vieler der Sicherheitsmerkmale von Bluetooth Channel Sounding ist.
3.13.4 Deterministischer Zufallsbitgenerator (DRBG)
Die Bluetooth Core Specification definiert einen Zufallsbitgenerator, der mit den Empfehlungen in der NIST Special Publication 800-90Ar1 übereinstimmt". Er ist als Deterministic Random Bit Generator (DRBG) bekannt.
Die Instanziierung von DRBG erfordert, dass die drei Bluetooth Channel Sounding Sicherheitsparameter, CS_IV, CS_IN und CS_PV, als Eingänge bereitgestellt werden. Nach Ausführung der Bluetooth Channel Sounding Security Start-Prozedur besitzen sowohl das Initiator- als auch das Reflektor-Gerät die gleichen Werte für diese Parameter. Wenn zwei Instanzen von DRBG mit denselben Parameterwerten initialisiert werden, erzeugen sie über eine Reihe von Aufrufen genau dieselben Bitfolgen, was den Algorithmus deterministisch macht.
Für Geräte, die nicht über die CS_IV-, CS_IN- und CS_PV-Werte verfügen, erscheinen die Bitfolgen, die von Initiator- und Reflektor-Gerätepaaren mit DRBG erzeugt werden, zufällig, und je länger die Bitfolge ist, desto schwieriger wird es für nicht vertrauenswürdige Geräte, die Bitwerte in dieser Folge abzugleichen.
Die Verwendung von DRBG zur Randomisierung des Bluetooth Channel Sounding Bitstroms und bestimmter Aspekte der Übertragungsplanung mindert das Risiko, dass ein bösartiges Gerät ein vertrauenswürdiges Gerät fälscht.
Die CS-Sicherheitsmerkmale, die den DRBG nutzen, sind die folgenden.
3.13.4.1 Sichere Zugangsadressen
Das Feld Zugangsadresse erscheint in allen Paketen der Verbindungsschicht Bluetooth . Es dient dazu, dass Geräte entscheiden können, ob ein Paket von Bedeutung ist oder nicht. So verwenden z. B. Advertising Broadcast (ADVB)-Pakete einen speziellen Access Address-Wert, der Pakete als potenziell relevant für jedes Gerät identifiziert, das sie empfängt, während Pakete, die über eine LE-ACL-Verbindung ausgetauscht werden, einen Access Address-Wert haben, der effektiv als eindeutiger Bezeichner für diese Verbindung fungiert.
Im Fall von Bluetooth Channel Sounding ändert jedes Gerät sein Zugangsadressenfeld in den CS_Sync-Paketen bei jedem Modus-0-, Modus-1- und Modus-3-CS-Schritt. Somit hat jedes Gerät bei jedem Schritt eine eindeutige Zugangsadresse. Neue Zugangsadresswerte werden mit Hilfe von Auswahlregeln generiert, die den DRBG einbeziehen, und beide Geräte kennen die Zugangsadresse, die vom anderen Gerät verwendet wird. Die empfangenden Geräte überprüfen den Wert der Zugangsadresse und melden dem Host alle Probleme.
Das Feld Access Address ist 32 Bit lang und kann 4.294.967.296 verschiedene Werte haben. Ein böswilliges Gerät, das ein CS_Sync-Paket fälschen möchte, hat daher eine Chance von 1 zu 4.294.967.296, den richtigen Wert der Zugriffsadresse in jedem der mehreren ausgetauschten CS_Sync-Pakete zu erraten.
3.13.4.2 Zufällige Sequenz für RTT-Fractional-Timing
Wie in 3 .12.4.2 "Random Sequence for RTT Fractional Timing" beschrieben, können CS_Sync-Pakete ein optionales Feld "Random Sequence" enthalten. Dieses Feld unterstützt eine der fraktionalen RTT-Methoden.
Der Inhalt des Random-Sequence-Feldes wird mit Hilfe des CS DRBG für jedes übertragene CS_Sync-Paket (neu) generiert. Das Random-Sequence-Feld kann 32, 64, 96 oder 128 Bit lang sein.
3.13.4.3 Ertönen von Sequenzmarkierungssignalen
Eine Sounding Sequence besteht aus einem vorhersehbaren, abwechselnden Muster von 32 oder 96 Bits und wird für die Berechnung der fraktionierten RTT verwendet. Um das Risiko zu verringern, dass dieses bekannte Bitmuster irgendwie ausgenutzt wird, wird DRBG verwendet, um Positionen innerhalb der Sequenz auszuwählen und einen von zwei zufällig ausgewählten 4-Bit-Werten einzufügen, die als Markersignale bekannt sind. Die von DRBG ausgewählten Markersignale haben einen Wert von entweder 0b1100 oder 0b0011.
Das zufällige Einfügen von Zufallsbitmustern in eine Sondierungssequenz schützt vor dem Spoofing von Sondierungssequenzen.
3.13.4.4 Zufällige Übertragungen von Tonerweiterungsschlitzen
Modus-2- und Modus-3-Schritte beinhalten einen Tonerweiterungsschlitz (siehe 3 .5.3 Schrittmodi). Der Tonerweiterungsschlitz ist immer reserviert, aber ob eine Übertragung in diesem Zeitschlitz stattfindet oder nicht, ist zufällig und wird durch DRBG bestimmt. Das empfangende Gerät weiß, wann es eine Übertragung im Tone Extension Slot erwarten kann und wann nicht, aber ein angreifendes Gerät weiß das nicht.
3.13.4.5 Zufällige Auswahl von Antennenpfaden
Die phasenbasierte Entfernungsmessung kann mit einer Antennengruppe in einer von 8 Konfigurationen verwendet werden, wie in 3 .7 Antennenumschaltung beschrieben. Beim phasenbasierten Ranging wird ein Ton über jeden verfügbaren Antennenpfad zwischen den beiden Geräten übertragen. Die Reihenfolge der verwendeten Pfade wird mit Hilfe von DRBG bei jedem Bluetooth Channel Sounding Schritt randomisiert.
3.13.5 Sounding-Sequenzen
Wie in 3 .10.2 Fractional Timing Estimates beschrieben, besteht eine Sondierungssequenz aus einer Folge abwechselnder Bitwerte von 0 und 1. Das entsprechende HF-Signal kann als eine Folge von zwei Tönen mit unterschiedlichen Frequenzen und Phasen betrachtet werden. Dies entspricht einer Folge von abwechselnden binären 0s und 1s im digitalen Bereich, bevor die GFSK-Modulation angewendet wurde.
PBR-Berechnungen können daher unter Verwendung der Phasendifferenzen der beiden im Sounding Sequence-Feld eines einzigen CS_Sync-Pakets kodierten Töne gleichzeitig durchgeführt werden, während das CS_Sync-Paket zur Berechnung einer Round-Trip-Zeit verwendet wird.
Die gleichzeitige Berechnung von RTT- und PBR-Messungen auf der Grundlage eines einzigen Pakets macht den Versuch eines Angriffs auf den Datenaustausch äußerst komplex.
3.13.6 Erkennung und Meldung von Angriffen
Der Abschnitt Bluetooth Channel Sounding der Link-Layer-Spezifikation enthält eine Beschreibung eines Angriffserkennungssystems. Sie dient als Überblick über die Architektur und den allgemeinen Ansatz, den die Implementierer von Bluetooth Controllern befolgen können, und nicht als detaillierte, präskriptive Spezifikation.
Bluetooth Channel Sounding Die Angriffserkennung im Bluetooth Controller basiert auf der Auswertung der empfangenen Signale anhand einer Referenzsignaldefinition und der Untersuchung des empfangenen Signals auf Indikatoren für einen möglichen Angriff wie unerwartete Bitübergänge oder Phasenanpassungen. Die in der Spezifikation enthaltene Anleitung basiert auf CS_Sync-Paketen, die eine Zufallssequenz, eine Sondierungssequenz oder beides enthalten.
Eine standardisierte Metrik für die Meldung der Wahrscheinlichkeit eines Angriffs in adjektivischer Form ist in der Bluetooth Core Specification definiert und wird als Normalized Attack Detector Metric oder NADM bezeichnet. Ein NADM-Wert wird vom Controller auf der Grundlage der Auswertung des empfangenen Signals zugewiesen und hat die Form einer gleitenden Skala, die die Angriffswahrscheinlichkeit in einem Bereich angibt, der mit "Angriff ist extrem unwahrscheinlich" beginnt und sich bis "Angriff ist extrem wahrscheinlich" an der obersten Grenze erhöht. Tabelle 13 enthält die Definitionen der NADM-Werte, die aus der Bluetooth Core Specification übernommen wurden.
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. |
Tabelle 13 - NADM-Werte
Abbildung 39 veranschaulicht die Grundzüge des Angriffsdetektorsystems.
Abbildung 39 - Übersicht über das Angriffsdetektorsystem
Die vom NADM-Algorithmus des Controllers zugewiesenen NADM-Werte werden dem Host in HCI-Ereignissen in einem Feld namens Packet_NADM gemeldet. Ein Angriffserkennungsalgorithmus wird auf die empfangenen NADM-Werte angewandt und eine Bedrohungsstufe an die Benutzeranwendung gemeldet.
Es ist möglich, dass zukünftige Bluetooth Profilspezifikationen die gemeinsame Nutzung von NADM-Daten zwischen Geräten während Bluetooth Channel Sounding erleichtern, wie durch die gepunktete Linie von Gerät B zu Gerät A in Abbildung 39 angedeutet.
Die Kernspezifikation Bluetooth enthält die Definition von Tests, die die korrekte Identifizierung von Signalen mit bekannten Angriffsmustern ermöglichen. Einzelheiten des Angriffserkennungsalgorithmus und der in Abbildung 39 dargestellten Benutzeranwendung sind jedoch nicht spezifiziert.
3.13.7 LE 2M 2BT
Es gibt eine Reihe von bekannten Angriffen auf die physikalische Schicht, bei denen ein Angreifer den Wert von teilweise empfangenen Symbolen eines rechtmäßigen Sendegeräts vorwegnimmt und vollständige, generierte Versionen dieser Symbole mit manipuliertem Timing weiterleitet, so dass der rechtmäßige Empfänger die Umlaufzeit und damit die Entfernung falsch einschätzt. Das Signal des Angreifers wird in der Regel verstärkt, so dass das Zielgerät das manipulierte Signal als das Hauptsignal ansieht und nicht das schwächere Originalsignal, das wahrscheinlich wie eine Reflexion aussieht. Symbole mit einer längeren Dauer sind anfälliger für diese Art von Angriffen als solche mit einer kürzeren Dauer.
Der LE 2M 2BT PHY mit seinem Bandbreiten-Bit-Perioden-Produktwert von 2,0 beinhaltet Symbolpulse, die kürzer sind als die mit den anderen PHYs verbundenen Pulse, was das Risiko dieser Arten von Angriffen verringert.
3.13.8 SNR-Kontrolle und RTT-Sicherheit
Die Funktion SNR Control ermöglicht es dem Initiator und dem Empfänger, eine vorher vereinbarte Menge an Zufallsrauschen in die Signale zu mischen. Dies gilt nur für CS_Sync-Paketübertragungen, die während Modus-1- (RTT) und Modus-3- (RTT und PBR) Schritten erfolgen.
Die Klasse der MITM-Angriffe, auf die in 3 .12.7 LE 2M 2BT angespielt wird, beruht darauf, dass der Angreifer in der Lage ist, das legitime Signal sehr schnell zu isolieren und zu manipulieren, und zwar in viel weniger Zeit als der vollen Dauer eines Symbols. Durch das Einbringen von Rauschen in das Signal wird es für den Angreifer schwieriger und langsamer, die Analyse abzuschließen, und somit sinkt die Wahrscheinlichkeit, dass solche Angriffe erfolgreich sind. Andererseits sind die Initiator- und Reflektorgeräte, die den SNR im Voraus vereinbart haben, in der Lage, das künstlich hinzugefügte Rauschen leicht zu filtern.
3.13.9 CS-Sicherheitsstufen
Der Abschnitt Generic Access Profile (GAP) der Bluetooth Core Specification definiert Sicherheitsmodi und Sicherheitsstufen. Eine formale Definition von vier Sicherheitsstufen für Bluetooth Channel Sounding ist enthalten. Es ist wahrscheinlich, dass künftige Bluetooth Profilspezifikationen auf diese Definitionen Bezug nehmen werden.
3.13.10 Herstellerspezifische Implementierungen und zusätzliche Sicherheit
Controller-Implementierer können sich dafür entscheiden, weitere herstellerspezifische Sicherheitsmaßnahmen einzuführen.
3.14 Host-Anwendungen
Bei der Erstellung von Bluetooth müssen Sie die Bluetooth Channel Sounding Funktion des Controllers nutzen und sie mit benutzerdefiniertem Code auf der Anwendungsebene kombinieren. Die Entwickler der Anwendungskomponente einer Lösung müssen verschiedene Aspekte beachten, die in diesem Abschnitt erläutert werden.
3.14.1 Der Algorithmus zur Abstandsmessung
Der Bluetooth Stack erzeugt keine direkten Entfernungsmessungen. Stattdessen werden während der Ausführung von CS-Schritten durch den Bluetooth Controller Low-Level-Messungen der Phase und/oder des Timings vorgenommen, und anhand dieser Daten können Anwendungen Entfernungsmessungen berechnen.
Der Algorithmus, den Anwendungen für die Berechnung von Entfernungen verwenden, ist in der Kernspezifikation von Bluetooth nicht festgelegt. Folglich ist dies ein Bereich, in dem sich die Anbieter unterscheiden können. Bessere Algorithmen werden bessere Ergebnisse liefern.
Die vom Steuergerät erfassten und an die Anwendungsschicht gemeldeten Daten sind standardisiert, so dass im Prinzip alle Algorithmen zur Entfernungsmessung die gleichen Arten von Eingangsdaten verarbeiten können. In der Praxis hängen die Daten, die an die Anwendungsschicht geliefert werden, von der Kombination der Betriebsarten und der Sequenzierung ab, die im Verfahren Bluetooth Channel Sounding verwendet werden. Auch die Qualität der Daten kann variieren, je nach den Details der Controller-Implementierung, die nicht in der Bluetooth Kernspezifikation enthalten sind.
3.14.2 Kommunikation zwischen Controller und Host von Bluetooth Channel Sounding Daten
Die Host Controller Interface Functional Specification definiert zwei Ereignisse, die von einem Controller verwendet werden, um Bluetooth Channel Sounding Daten an den Host zu übermitteln, wo sie für Entfernungsberechnungen und die Bewertung der aktuellen Sicherheitsbedingungen verwendet werden. Die beiden Ereignisse werden LE CS Subevent Result und LE CS Subevent Result Continue genannt.
Die Steuerung aggregiert die Messungen, die während der in einem Bluetooth Channel Sounding Unterereignis ausgeführten Schritte erzeugt werden. Vollständige oder partielle Ergebnissätze werden mit einem LE CS Subevent Result HCI-Ereignis gemeldet. Wenn ein unvollständiger Satz gemeldet wird, wird der Rest der Ergebnisse in einem oder mehreren LE CS Subevent Result Continue-Ereignissen gemeldet, die später gesendet werden. Die HCI-Ereignisfelder Subevent_Done_Status und Procedure_Done_Status zeigen der Anwendungsschicht an, ob alle Daten für das Unterereignis oder die Prozedur gemeldet wurden oder ob noch weitere folgen werden.
Abbildung 40 - Beispiel Bluetooth Channel Sounding HCI-Datenmeldung
Die Berichterstattung über HCI-Ereignisse ist mit Unterereignissen verknüpft, aber nicht unbedingt streng an den Grenzen der Unterereignisse ausgerichtet. Die Anzahl der Schritte in einem Unterereignis ist ein Faktor dafür, wie die Steuerung Ergebnisse meldet. Wenn die Anzahl der Schritte bedeutet, dass die Steuerung mehr Daten aggregieren muss, als ihr zur Verfügung stehen, wird die Steuerung die HCI-Berichterstattung auf mehrere Ereignisse aufteilen. Die Anzahl der Schritte, die ein einzelnes Ereignis aufnehmen kann, ist auf 160 begrenzt, und dies ist ein weiterer einschränkender Faktor, den die Steuerung berücksichtigen muss.
3.14.2.3 Inhalt der HCI-Veranstaltung
Die Bluetooth Channel Sounding HCI-Ereignisse übermitteln eine Reihe von Datentypen vom Controller an den Host. Die Bluetooth Core Specification Host Controller Interface Functional Specification sollte für alle Einzelheiten konsultiert werden. Eine Auswahl von Schlüsselfeldern und Datenstrukturen wird hier beschrieben.
Frequenz_Ausgleich
Der Zweck der Mode-0-Schritte besteht darin, Unterschiede zwischen den gewünschten und den tatsächlichen Frequenzen zu ermitteln, die vom Initiator und Reflektor erzeugt werden. Daraus wird ein fraktionierter Frequenzversatz (FFO) berechnet, der dann verwendet werden kann, um die Auswirkungen solcher Unterschiede sowohl auf die Frequenz- als auch auf die Zeitwerte zu kompensieren und letztlich die Genauigkeit der Entfernungsmessungen zu verbessern. Das Feld Frequency_Compensation von HCI CS-Ereignissen enthält diesen von der Steuerung berechneten Wert.
Num_Steps_Reported
Dieses Feld gibt an, über wie viele Schritte in diesem HCI-Ereignis berichtet wird. Es gibt auch die Größe der vier schrittbezogenen Datenfelder Step_Mode, Step_Channel, Step_Data_Length und Step_Data an.
Schrittmodus [ ]
Dieses Array enthält den Modus jedes Schritts, geordnet nach der Schrittnummer und ausgedrückt als Wert im Bereich von 0 bis 3.
Schritt Kanal [ ]
Dieses Array enthält den Index des HF-Kanals, der bei der Ausführung des entsprechenden Schritts verwendet wird.
Schritt Datenlänge [ ]
Die für jeden Schritt gemeldeten Daten sind in Bezug auf ihren Inhalt und ihre Struktur variabel. Dieses Array enthält die Länge jedes Elements im zugehörigen Schrittdaten-Array.
Schritt Daten [ ]
Die für jeden Schritt gemeldeten Daten hängen vom Schrittmodus und von der Rolle des Geräts (Initiator oder Reflektor) ab und davon, ob eine Sondierungssequenz für die phasenbasierte Entfernungsmessung und RTT-Berechnung verwendet wird oder nicht. Die Struktur, die die relevanten Daten enthält, wird als Mode_Role_Specific_Info-Objekt bezeichnet, und es sind elf Varianten dieser Struktur definiert.
Beispiele für Daten, die in einem Mode_Role_Specific_Info-Objekt enthalten sein können, sind die Felder Packet_Quality und Tone_Quality, der Received Signal Strength Indicator (RSSI), der gemessene Frequenz-Offset, ein NADM-Wert, die Antennenkennung, Phasenkorrekturterme und die Zeit, die zwischen der Übertragung und dem Eintreffen von Paketen (oder umgekehrt) gemessen wurde. Zeitwerte wie diese werden als Vielfaches von Einheiten von einer halben Nanosekunde ausgedrückt.
3.14.3 Betriebsartenkombinationen und Betriebsartenreihenfolge
In Abschnitt 3.8.5 "Applications and Mode Sequencing Considerations" wird erläutert, wie Anwendungen die Schrittmoduskombinationen und -sequenzen steuern können, die an einem Bluetooth Channel Sounding Verfahren beteiligt sind. Die Anwendungsschicht ist dafür verantwortlich, zu entscheiden, welche Schrittmodi verwendet werden sollen, und wenn sowohl ein Hauptmodus als auch ein Untermodus verwendet werden, wie das Verhältnis zwischen der Anzahl der Schritte jedes der ausgewählten Modi sein soll. Die Anwendungs- oder Produktentwickler müssen bei ihren Schlussfolgerungen die Anforderungen an die Genauigkeit der Entfernungsmessung, die Sicherheit und die Latenzzeit sowie die von der lokalen Steuerung unterstützten Funktionen berücksichtigen.
3.14.4 Sicherheit der Anwendungsschicht
Die Anwendungsschicht kann durch die Auswahl von Moduskombinationen und RTT-Parametern eine gewisse Kontrolle über die Sicherheit der Gesamtlösung ausüben. Die Entwickler sollten zunächst versuchen, die im generischen Zugangsprofil (Generic Access Profile, GAP) definierten Sicherheitsstufen zu verstehen und zu bewerten (siehe 3.12.9 Bluetooth Channel Sounding Security Levels ), um einen Ausgangspunkt für die Festlegung der zu verwendenden Sicherheitsoptionen zu haben.
Es wird empfohlen, PBR und RTT immer in Kombination zu verwenden, damit die Entfernungsberechnungen, die auf den beiden Methoden beruhen, gegengeprüft werden können. PBR wird von Bluetooth Channel Sounding unterstützt, um die genauesten Entfernungsmessungen zu ermöglichen, während der Hauptgrund für die Unterstützung von RTT eine Sicherheitsmaßnahme ist. Es liegt in der Verantwortung der Anwendungsschicht, diese Wahl zu treffen.
NADM-Werte werden durch den NADM-Algorithmus im Bluetooth Controller erzeugt, und für diese Werte ist eine standardisierte adjektivische Form von Bedeutungen definiert. Es ist jedoch die Anwendungsschicht, die entscheiden muss, welche Aktion (wenn überhaupt) für jeden der möglichen NADM-Werte zu ergreifen ist.
4. Eine Zusammenfassung der Änderungen der Bluetooth Kernspezifikation
Um die Funktion Bluetooth Channel Sounding einzuführen, wurden Änderungen an mehreren Schichten der Kernspezifikation Bluetooth vorgenommen. In diesem Abschnitt werden die wichtigsten Änderungen zusammengefasst, wobei die Absicht darin besteht, eine kapitelweise Referenz auf hohem Niveau zu bieten, die nur der Orientierung dient. Die Bluetooth Core Specification sollte für vollständige Details konsultiert werden.
4.1 Architektur
Band 1, Teil A der Bluetooth Core Specification beschreibt die Architektur der Technologie.
- Abschnitt 3, Transportarchitektur, führt eine neue Paketstruktur und ein neues Signalisierungsformat für Bluetooth Channel Sounding ein. Außerdem werden der neue LE Channel Sounding Physical Channel und LE Channel Sounding Physical Link definiert.
- Abschnitt 9, Bluetooth Channel Sounding mit Bluetooth Low Energy bietet eine kurze Zusammenfassung der Funktion Bluetooth Channel Sounding .
4.2 Gastgeber
4.2.1 Generisches Zugangsprofil
Band 3, Teil C definiert das generische Zugangsprofil.
- In Abschnitt 9 werden die Verfahren von GAP Bluetooth Channel Sounding und die Rollen von Initiator und Reflektor vorgestellt.
- Abschnitt 10 die vier Sicherheitsstufen Bluetooth Channel Sounding .
4.2.2 Host-Controller-Schnittstelle
Band 4, Teil E enthält die Funktionsspezifikation der Host-Controller-Schnittstelle.
- Abschnitt 7.7.6.5 LE Meta-Ereignis wurde aktualisiert, um eine Reihe neuer Ereignistypen in Bezug auf Bluetooth Channel Sounding hinzuzufügen, einschließlich des LE CS Subevent Result-Ereignisses und des LE CS Subevent Result Continue-Ereignisses.
- Abschnitt 7.8 LE Controller-Befehle enthält jetzt zusätzliche Befehle für die Verwendung mit Channel Sounding , wie den Befehl LE CS Read Remote FAE Table, den Befehl LE CS Create Config, den Befehl LE CS Security Enable und den Befehl LE CS Procedure Enable.
4.3 Controller
4.3.1 Physikalische Schicht
Band 6, Teil A enthält die Spezifikation der physikalischen Schicht.
- In Abschnitt 1 wird der neue LE 2M 2BT PHY vorgestellt.
- In Abschnitt 2 wird eine neue Kanalanordnung für Bluetooth Channel Sounding vorgestellt.
- In Abschnitt 3 wird die neue Funktion SNR-Kontrolle definiert.
- Abschnitt 3.4 fügt eine Anforderung zur stabilen Phase für Geräte hinzu, die Bluetooth Channel Sounding unterstützen.
- Abschnitt 3.5 beschreibt die Anforderungen an die Frequenzmessung und -erzeugung in Bluetooth Channel Sounding . Dazu gehört auch eine Spezifikation für die Anforderungen an die Messung des fraktionalen Frequenzversatzes (FFO).
- Abschnitt 5.3 ist ein neuer Abschnitt, der die Antennenumschaltung für Bluetooth Channel Sounding beschreibt.
- Abschnitt 6 befasst sich mit den Anforderungen an die Phasenmessung und enthält eine Definition des Referenzempfängers, eine Beschreibung der Anforderungen an die Genauigkeit der Phasenmessung, Anforderungen an die Kompensation von Frequenzauslösefehlern und Regeln für die Phasenmessung.
- Anhang B enthält ein Beispiel für den Aufbau einer Prüfausrüstung für Bluetooth Channel Sounding .
4.3.2 Verbindungsschicht
Band 6, Teil B enthält die Spezifikation der Verbindungsschicht.
- In Abschnitt 2.4.2 werden neue PDU-Typen des Link Layer Controllers im Zusammenhang mit dem Leistungsmerkmal Bluetooth Channel Sounding zusammen mit ihren Opcodes definiert.
- Abschnitt 4 enthält Aktualisierungen des Luftschnittstellenprotokolls der Verbindungsschicht für das Channel Bluetooth Sounding. Dazu gehören aktualisierte Anforderungen an die Genauigkeit der Ruhezeituhr in Abschnitt 4.2 und eine Spezifikation für Bluetooth Channel Sounding Verfahren, Ereignisse, Unterereignisse und Schritte in Abschnitt 4.5.18. Die Sicherheitsanforderungen für einen ACL-Link in Verbindung mit Bluetooth Channel Sounding und die Kontroll-PDUs, die er transportieren kann, sind in Abschnitt 4.5.18.2 enthalten.
- Abschnitt 5.1 behandelt das Thema Kontrolle der Verbindungsschicht. Er wurde aktualisiert, um neue Kontrollprozeduren in Bezug auf Bluetooth Channel Sounding aufzunehmen, wie die Bluetooth Channel Sounding Start-Prozedur, die Bluetooth Channel Sounding Capabilities Exchange-Prozedur, die Bluetooth Channel Sounding Configuration-Prozedur und die Bluetooth Channel Sounding Start-Prozedur.
4.3.3 Bluetooth Channel Sounding
Band 6, Teil H ist ein neuer Abschnitt, der sich mit der neuen Funktion Bluetooth Channel Sounding befasst. Er behandelt die Definition der physikalischen HF-Kanäle, die mit Bluetooth Channel Sounding verwendet werden sollen, das neue CS_Sync-Paketformat, die Messung der RTT und die verschiedenen Methoden zur Ermittlung der Ankunfts- oder Abfahrtszeitstempel. Die neuen Kanalauswahlalgorithmen für Bluetooth Channel Sounding werden in diesem Abschnitt zusammen mit Schrittmodi, Schrittkombinationen und Sequenzierungsregeln, Phasenmessungsregeln und Zufallsbiterzeugung unter Verwendung des DRBG definiert.
5. Schlussfolgerung
Mit Bluetooth Channel Sounding können Entwickler aufregende Produkte und Anwendungen entwickeln, die die sichere Fine-Ranging-Funktion der Funktion nutzen.
Endbenutzer von Find-My- und digitalen Schlüssellösungen, die auf der weltweit am weitesten verbreiteten drahtlosen Technologie mit geringem Stromverbrauch basieren, werden dank der Qualität der Ergebnisse, die mit Geräten erzielt werden können, die die Funktion Bluetooth Channel Sounding nutzen, von Leistungssteigerungen profitieren. Und die Gewissheit, dass den Produktentwicklern ein umfassender Satz von Sicherheitsfunktionen zur Verfügung gestellt wurde, mit denen sie einschlägige Probleme angehen können, wird ihnen Sicherheit geben.
Die technische Flexibilität von Bluetooth Channel Sounding bedeutet, dass die Entwickler denjenigen Aspekt der Reichweite in den Vordergrund stellen können, der am wichtigsten ist, sei es Sicherheit, Genauigkeit oder Latenz. Nicht alle Anwendungen sind gleich, und dies wurde bei der Entwicklung der Funktion Bluetooth Channel Sounding erkannt und berücksichtigt. Den Entwicklern wurde die Freiheit gegeben, zu entscheiden, was ihnen und ihren Benutzern bei der Implementierung ihrer Produkte am wichtigsten ist.
Mehr als fünf Milliarden Bluetooth fähige Geräte werden jedes Jahr ausgeliefert. Daraus ergeben sich enorme Größenvorteile, die den Produkt- und Komponentenherstellern und letztlich auch ihren Kunden zugute kommen.
Bluetooth Channel Sounding und die Fähigkeit, eine sichere Feinortung durchzuführen, bieten die Möglichkeit, den Komfort, die Sicherheit und den Schutz vieler mit Bluetooth verbundener Geräte zu verbessern. Anwesenheitserkennung, Peilung und jetzt auch channel sounding können einzeln oder in Kombination verwendet werden, um raumbezogene Produkte und Anwendungen zu schaffen, von denen Endnutzer und Unternehmen profitieren können.
Bluetooth Technologie ist absolut allgegenwärtig und basiert auf weit verbreiteten und sorgfältig spezifizierten technischen Standards. Die Übernahme von Bluetooth Channel Sounding ist eine einfache und sichere Wahl für Entwickler, die ihre Bluetooth Produkte um weitreichende Funktionen erweitern möchten. Laden Sie die Bluetooth Core Specification herunter, um alle Details zu dieser spannenden Ergänzung der umfangreichen Bluetooth Technologiefunktionen zu erfahren!
6. Referenzen
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/ |
FOTNOTEN
1. Generisches Attributprofil
2. Die Geschwindigkeit variiert je nach dem Material, das ein Signal durchläuft. Es ist jedoch üblich, die Lichtgeschwindigkeit in den theoretischen Berechnungen zu verwenden.
3. Die CS-Modi werden in Abschnitt 3.5 erläutert.
4. Gaußsche Frequenzumtastung