Bluetooth® Channel Sounding

技術概要

1.はじめに

2.背景

2.1 デバイスのポジショニングとBluetooth LE

2.1.1 私を探す

2.1.2 ビーコンと第一世代の距離推定

2.1.3 AoAとAoDによる方向探知

2.1.4Channel Sounding

2.2 イントロダクションChannel Sounding

2.2.1 電波の基本的性質

2.2.1.1 振幅と波の周期

2.2.1.2 波長 

2.2.1.3 周波数

2.2.1.4 段階

2.2.1.5 周波数と波長の数学的関係

2.2.2 距離測定方法

2.2.2.1 位相ベース測距(PBR)

2.2.2.1.1 理論編

2.2.2.1.2 動作例

2.2.2.2 往復タイミング(RTT)

2.2.2.2.1 理論編

2.2.2.3 実世界での課題

3.ブルートゥースChannel Sounding

3.1 概要

3.2 アーキテクチャ

3.2.1 デバイスの役割

3.2.2 トポロジー

3.2.3 アンテナ・アレイ

3.2.4 用途

3.2.5 データ・トランスポート・アーキテクチャ

3.2.6Bluetooth LE スタックにおけるChannel Sounding

3.3Channel Sounding 管理手順

3.3.1Channel Sounding セキュリティ・スタート

3.3.2Channel Sounding 能力交換

3.3.3Channel Sounding コンフィギュレーション

3.3.4 Mode-0 FAE テーブル・リクエスト

3.3.5Channel Sounding スタート

3.3.6Channel Sounding

3.4 イベント、サブイベント、ステップ

3.4.1 LE-ACL接続と時分割

3.4.2 タイムディビジョン

3.4.2.1 構造

3.4.2.2 タイミング

3.5 CSステップ

3.5.1 ステップについて

3.5.2 パケットとトーン

3.5.3 ステップ・モード

3.5.3.1 モード0

3.5.3.2 モード-1

3.5.3.3 モード2

3.5.3.4 モード-3

3.6 位相差の確立

3.7 アンテナ切り替え

3.8 モードシーケンス

3.8.1 モード・シーケンスの概要

3.8.2 モードの組み合わせ

3.8.3 モードシーケンス構成とサブモード挿入

3.8.4 メイン・モードの繰り返し

3.8.5 アプリケーションとモードシーケンスに関する考察

3.9 RFチャンネルとチャンネル選択

3.9.1 CSチャンネル・マップ

3.9.2 チャンネル・フィルタリング

3.9.3 周波数ホッピング

3.9.4 チャンネルの選択

3.9.4.1 概要

3.9.4.2 チャンネルインデックスシャッフリング

3.9.4.3 CSA #3a

3.9.4.4 CSA #3b

3.9.4.5 CSA #3c

3.10 RTTオプションと精度

3.10.1 アクセスアドレスに基づくタイミング

3.10.2 分数のタイミング推定

3.10.3 RTT法の比較

3.11 LE 2M 2BT PHY

3.11.1 変調方式

3.11.2 帯域幅-ビット周期製品

3.11.3 レ 2M 2BT

3.12Channel Sounding ステップのSNRコントロール

3.13 セキュリティ

3.13.1 概要

3.13.2 PBRとRTTのクロスチェック

3.13.3 CS セキュリティの初期化

3.13.4 決定論的乱数ビット生成器(DRBG)

3.13.4.1 セキュアアクセスアドレス

3.13.4.2 RTTフラクショナルタイミングのランダムシーケンス

3.13.4.3 発音シーケンスマーカー信号

3.13.4.4 トーン拡張スロットランダム送信

3.13.4.5 アンテナ経路のランダム選択

3.13.5 サウンディング・シークエンス

3.13.6 攻撃の検知と報告

3.13.7 レ 2M 2BT

3.13.8 SNR制御とRTTセキュリティ

3.13.9 CS セキュリティ・レベル

3.13.10 ベンダー固有の実装と追加セキュリティ

3.14 ホスト・アプリケーション

3.14.1 距離測定アルゴリズム

3.14.2 CSデータのコントローラ-ホスト間通信

3.14.2.1 HCIイベントタイプ

3.14.2.2 HCIイベントのタイミング

3.14.2.3 HCIイベントの内容

3.14.3 モードの組み合わせとモードシーケンス

3.14.4 アプリケーション層のセキュリティ

4.Bluetooth コア仕様変更の概要

4.1 アーキテクチャ

4.2 ホスト

4.2.1 汎用アクセス・プロファイル

4.2.2 ホストコントローラーインターフェース

4.3 コントローラー

4.3.1 物理層

4.3.2 リンク層

4.3.3Channel Sounding

5.結論

6.参考文献


バージョン   1.0
改定日 9 2024年7月
著者   

マーティン・ウーリーBluetooth SIG

1.はじめに

Bluetooth® Low Energy(LE)は、ユーザーにワイヤレスデータ転送とオーディオ機能を提供することで世界的に知られています。この技術は、よりスマートな携帯電話への搭載により、私たちのポケットの中にあります。スマートウォッチやフィットネストラッカーとして手首に装着されている。ハンズフリーで操作やコミュニケーションができる自動車にも搭載されている。そして、Bluetooth LE Audioの新機能であるAuracast™ブロードキャスト・オーディオによって、個人の音楽機器や放送ソースから高品質のオーディオをストリーミングできるようになり、私たちの耳にも入っています。

しかし、長年にわたり、Bluetooth LEもまた、広範で信頼できる存在としての地位を確立してきた。 信頼できるデバイスの測位アプリケーションを構築するための基盤技術としての地位を確立しつつある。Bluetooth LE は、身近な環境における別のデバイスの存在を検知・報告し、デバイス間の距離を推定し、 別のデバイスを見つけることができる方向を計算するために使用することができる。これらのデバイス測位機能は、デジタル・キー、資産追跡、ファインド・マイ、屋内ナビゲーションを含む広範なアプリケーションを可能にするために使用されてきた。

Bluetooth テクノロジーは、25年の歴史の中で絶えず改良されてきた。その結果、目覚ましい新機能が次々と追加され、製品にもたらされる結果も改善されてきた。

Bluetooth Core Specificationの更新により、Bluetooth Channel Sounding と呼ばれる新機能が追加され、2つのBluetooth デバイス間で安全なファインレンジングが可能になった。本稿は、Bluetooth Core Specificationに代わるものでも、その代わりとなるものでもない。

2.背景

2.1 デバイスのポジショニングとBluetooth LE

Bluetooth LE が最初に仕様化されたのは 2010 年である。それ以降、Bluetooth LE が位置情報サービスの技術として進化していく上で、重要な出来事がいくつもあった。

2.1.1 Bluetooth® Find Me

Bluetooth Core SpecificationにBluetooth LEが初めて含まれたのと同じ年に、位置情報に関連する最初の正式なBluetooth LEプロファイル仕様がリリースされた。これが Find Me Profile である。

Find Me Profileは、Find Myとしても知られる個人アイテム検索への標準的なアプローチを定義する。あるデバイスがFind Me Locatorの役割を担う。これは通常スマートフォンである。その他のデバイスは、おそらくユーザーが置き忘れた履歴のあるもの(Bluetooth キーフォブ付きの鍵がお気に入り)で、Find Me Locatorデバイスとペアリングされ、それぞれがFind Me Targetの役割を担う。

対象機器は、即時アラートサービスと呼ばれるGATT1サービスを実装している。

紛失したデバイスの発見を支援する必要がある場合、ユーザーはスマートフォン上でアプリケーションを実行する。このアプリケーションは、紛失したデバイスからブロードキャストされる広告パケットをスキャンすることで、デバイス発見手順を実行する。ターゲットデバイスを発見すると、ロケータはそのデバイスに接続する。アプリケーションのユーザーインターフェース(UI)は、接続が完了したことを示す。ユーザーは通常、UI上のボタンを押します。これにより、アプリケーションは即時アラートサービスに属するアラートレベル特性に書き込まれる。ターゲットデバイスは、何らかの適切な方法でアラートレベル値の変化に応答し、おそらく大きなビープ音を発したり、LEDを点滅させたり、あるいはその両方を行ったりします。この時点でユーザーは、鍵がずっと上着のポケットに入っていたことに気づくか、ソファの背もたれに落ちていたことに気づくか、あるいは予測しにくい場所にあることに気づく。いずれにせよ、Bluetooth テクノロジーがその日とユーザーを救い、紛失物は再会する。

Bluetooth® Find Me はプレゼンス・アプリケーションの一例である。Bluetooth LEは紛失したデバイスが近くにあることを判断するために使用されるが、Locatorからの方向や距離の表示は提供しない。

2.1.2 ビーコンと第一世代の距離推定

Bluetooth ビーコンはBluetooth LE の広告機能を活用する。広告には小さなデータパケットをブロードキャストすることが含まれ、範囲内のデバイスはスキャンすることで受信できる。

2013年、アップルはiBeaconフォーマットの仕様を発表した。これは、ビーコン・デバイスがブロードキャストするペイロードのコンテンツのための一般的なフォーマットとなった。iBeaconメッセージのデータにはTX Powerと呼ばれるフィールドがあり、ビーコンから1メートルの距離で測定した場合に予想される信号強度を表す値が含まれている。iBeacon メッセージや、グーグルの Eddystone のような他の同等のビーコン・データ・フォーマットにおける TX Power フィールドの存在は、Bluetooth LE 距離推定の第一世代の到来を告げるものであった。

Bluetooth 距離推定のこの初期バージョンは、2つのデータ値といくつかの簡単な物理学を使用し、次のように動作する:

  • ビーコン・メッセージのTXパワー・フィールドは、1メートルのような既知の距離における基準パワー・レベルを提供する。
  • 各受信ビーコン・メッセージに関連付けられた受信信号強度インジケータ(RSSI)は、受信デバイスにおける信号強度を定量化する。
  • 物理学では、信号強度が送信機から遠く離れて測定されるほど減少する割合の理論的関係を定義している。具体的には、受信機での信号強度は送信機からの距離の二乗に反比例する。
  • 送信機から遠ざかるにつれて測定される信号強度が低下することを、経路損失または減衰と呼びます。iBeacon送信の場合、パスロス=TXパワー-RSSI。
  • 従って、一定距離での基準電力レベル、受信ビーコン送信の測定RSSI、距離と経路損失の間の逆2乗関係、減衰を知ることで、ビーコンと受信機間の距離を推定することができる。

2405Channel Sounding 図1

図1 - 経路損失と距離

このように距離を推定できることは非常に画期的なことで、ビーコンは小売、旅行、美術館などあらゆる用途で普及した。

ビーコンはいくつかの要件には非常に適していたが、RSSIとパスロスに基づく距離測定は、他のアプリケーションには十分な精度がない。また、送信機の方向を示すものがないことも、近接ではなく位置データが必要な場合の制限となる。さらに、iBeaconのような様々なプロプライエタリー・ビーコンタイプには、明示的なセキュリティ・セーフガードが組み込まれていない。

2.1.3 AoAとAoDによるBluetooth®方向探知

2019年、Bluetooth Core Specificationのバージョン5.1には、Bluetooth Direction Findingという大きな新機能が追加された。

Bluetooth Direction Finding 機能により、アプリケーションはBluetooth LE コントローラーによる位相測定値を使用して、受信信号の方向を正確に計算することができます。つの方法が定義されている。

AoA(Angle of Arrival)方式では、受信装置はアンテナアレイを持ち、異なるアンテナで測定された受信信号は、送信装置の単一アンテナに対する各アンテナの距離がわずかに異なるため、位相差が生じる。

AoD(Angle of Departure)方式では、送信装置はアンテナアレイを持つ。受信デバイスは1つのアンテナを持つが、遠隔の送信デバイスのアンテナアレイの詳細を持っている。このため、受信装置は、その単一のアンテナで行われた位相測定から同様の計算を行うことができます。

2405Channel Sounding 図2
図2 - AoDとAoDを使った方向探知

位相測定は、同相および直交(IQ)サンプルの形で、Bluetooth コントローラからアプリケーションに渡されます。IQサンプルは位相と振幅の値の組で構成され、アプリケーションはこれを使用して送信機を見つけることができる方向を計算することができます。

2405Channel Sounding 図3
図3 - IQサンプル

2.1.4Bluetooth Channel Sounding

新しいBluetooth Channel Sounding 機能は、RSSIとパスロスの第一世代方式を使用した場合よりもはるかに優れた精度で、2つのBluetooth デバイス間の距離を計算する能力を持つ製品を作成することを可能にします。全く異なる方法で動作し、様々な種類のリスクを軽減する様々なセキュリティ保護が含まれています。

Bluetooth Channel Sounding 、ファインド・マイ・ソリューション、デジタル・キー製品、その他多くのBluetooth コネクテッド・デバイスに恩恵をもたらすことが期待される。

2.2 イントロダクションBluetooth Channel Sounding

Bluetooth LE のBluetooth Channel Sounding について説明する前に、本節ではまず、この機能の背景にある基本的な理論をいくつか紹介する。すでにこのトピックに慣れ親しんでいる読者は、セクション3のBluetooth Channel Sounding まで読み飛ばしていただきたい。

2.2.1 電波の基本的性質

ラジオは電磁放射の一種であり、物理学者はしばしばそれを波という言葉で表現する。電波には様々な基本的性質があり、それを理解することが重要である。

2.2.1.1 振幅と波の周期

電波の振幅は、その電波が伝えるエネルギー、より一般的な言葉で言えば信号強度に相当する。振幅は、ある基準値の上下で振動する。この上下振動は、規則的かつ周期的に繰り返される。ピーク振幅まで上昇し、谷まで下降し、再び開始基準値まで上昇する1回の遷移を波周期と呼びます。図4は、2つの完全な波のサイクルを示しており、振幅は縦軸の目盛りで示されている。最初の波のサイクルの範囲が強調されている。

2405Channel Sounding 図4図4 - 振幅を縦軸にとった波の周期

2.2.1.2 波長

一つの波周期には物理的な長さがある。波長は周波数に関係し、Bluetooth テクノロジーの場合、約12.0cmから約12.5cmの間に位置する。

2405Channel Sounding 図 5図5 - 波長

2.2.1.3 周波数

電波は真空中を光速で伝わる2。1秒間に空間の一定点を通過する完全な波のサイクルの数を周波数と呼ぶ。周波数はヘルツ(Hz)で測定され、1Hzは1秒間に1回の波のサイクルを表す。Bluetooth 信号は、ギガヘルツ(GHz)で測定されるかなり高い周波数で動作する。

2405Channel Sounding 図 6図6 - 周波数

2.2.1.4 段階

1つの波周期内のどこかに位置する点は、位相として知られる角度測定値で表されます。位相値の範囲は0~360度、または0~2πラジアンです。図7は、波周期上の適切なポイントにマークされた多数の位相値(ラジアン表示)による位相の概念を示しています。

2405Channel Sounding 図 7図7 - フェーズ

2.2.1.5 周波数と波長の数学的関係

周波数(f)と波長(λ)は互いに反比例の関係にある。波長が短いほど周波数は高くなり、逆もまた然りである。さらに、これら2つの変数と光速(c)の関係は、一連の簡単な公式によって定義されており、他の2つの既知の値から3つの量のいずれかを計算することができる。光速は299792458m/sの定数である。

Formula Use
2405 Channel Sounding Formulas 1

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

2405 Channel Sounding Formulas 2

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

2405 Channel Sounding Formulas 3

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

表1 - 周波数と波長の公式

2.2.2 距離測定方法

ワイヤレス距離測定技術で最も一般的に使用される2つの方法は、フェーズベースレンジング(PBR)とラウンドトリップタイミング(RTT)である。このセクションでは、両手法の背景にある理論について概説する。

2.2.2.1 位相ベース測距(PBR)

2.2.2.1.1 理論編

送信機から受信機まで信号が伸びるのに必要な波のサイクル数という観点から、信号の波長の関数として距離を視覚化するのは簡単だ。

2405Channel Sounding 図 8図8 - 波長からの距離と波の周期

図8では、図の左側に送信されている信号は、受信機から明らかに10.5波長離れている。信号の周波数がわかれば、波長もわかります。そして、波長がわかれば、波のサイクル数がわかるので、掛け算を使って2つの装置間の距離を求めることができる。

例えば、送信周波数が2402MHzの場合、波長は12.48095162cmとなる。この数字は、光速を周波数で割って求めたものである。

しかし、送信機には、そのアンテナと受信機のアンテナの間の波のサイクル数を知る術はない。そこで、PBR方式では、他のデータに基づいて送信機と受信機の間の距離を推測する技術を用いる。その仕組みはこうだ。

ここでは、距離測定を計算したいデバイスをデバイスA、もう一方のデバイスをデバイスBと呼ぶことにする。

  1. デバイスAは、既知の周波数f1で信号を送信する。この信号の初期位相はデバイスAにとって既知であり、説明のために、この信号がゼロラジアンの位相で送信されると仮定しよう。
  2. デバイスBはアンテナでf1信号を受信し、その位相(ここでは受信位相と呼ぶ)を記録する。
  3. 次に、デバイスBは、同じ周波数f1で送信し、この送信の初期位相がデバイスAから受信した信号の受信位相と正確に同じであることを保証することによって、受信した信号をデバイスAにエコーバックします。
  4. デバイスAは、デバイスBから到着した信号の受信位相を測定する。

図9は、この周波数f1での信号のやりとりを示している。

2405Channel Sounding 図9図9 - 周波数f1による双方向測距

次にデバイスAは新しい周波数f2を選択し、4つのステップが繰り返されます。この4ステップの2回目の実行結果は、デバイスBから受信した信号のデバイスAによる新しい位相測定で、これをPf2と呼ぶことにします。

図10は、この周波数f2での信号のやりとりを示している。

2405Channel Sounding 図 10図10 - 周波数f2による双方向測距

装置Aはここで、f1とf2のそれぞれについて測定された位相値の差を計算する、すなわちPf2-Pf1を計算する。この位相差と周波数f1とf2の差を用いて、以下の式で距離を計算することができます:

2405Channel Sounding フォーミュラ 4

ここで、cは光速、(Pf2 - Pf1)は位相差、(f2 - f1)は周波数分離である。

このアプローチは、2番目のデバイスが位相測定を行えるように信号を発信デバイスに送り返すもので、双方向レンジングと呼ばれる。

現実の世界では、この基本理論の説明には反映されないような課題が生じることもある。このセクションの後半で、そのような課題に遭遇することになる。

2.2.2.1.2 動作例

簡単な例で、この式を実際に見てみよう。ここでは、2つのデバイス間の距離をすでに知っているという、かなり人為的なケースを使用し、式がどのように正しく同じ結果を導き出すかを見てみましょう。

図11は、ちょうど1.248095162メートル離れている2つのデバイスA とデバイスBを示している。装置Aは周波数2.402MHz、波長12.48095162cmの信号を送信した。実に驚くべき偶然の一致により、2つのデバイスはこの波長のちょうど10倍の距離にある。

2405Channel Sounding 図9図11 - f1波の周期がちょうど10回離れているデバイス

デバイスAはこの信号を初期位相ゼロで送信し、デバイスBは波長の正確な倍数離れているので、デバイスBでの受信位相もゼロである。図に示すように、デバイスBはデバイスAに信号を送り返し、初期位相を元々受信した信号と同じ受信位相の値に設定することで、実質的に継続が可能になります。

図12は、デバイスAが周波数f2で送信した2番目の信号を示している。今回選択された周波数はf1より高い周波数で、f2 =2.432 MHzである。デバイスAの初期位相は再びゼロです。

2405Channel Sounding 図 10図12-f2波のサイクルが10回強離れているデバイス

f2の方が周波数が高いため、f1の波長よりもf2の波長の方が短い。この結果、デバイスBでの受信位相はゼロではなくなる。実際には0.784744210ラジアンである。信号が同じ初期位相で機器Bによって再送され、機器Aによって受信される頃には、その位相は1.56948842ラジアンになっている。

この場合、デバイスBでの位相値とデバイスAでの位相値をどうやって知るのですか?

実際の実装では、位相値は受信デバイスによって測定される。この例では、デバイス間の距離をすでに知っており、主式がその距離推定値に到達する方法を示しているだけであるため、この式を使用して既知の距離と波長から予想される位相値を計算できるという贅沢があります:

2405Channel Sounding フォーミュラ 5

ここで、λは波長、rは既知の距離である。

 

周波数差は30MHz、位相差は1.56948842である。これらの値をrの式に代入すると、計算された距離は小数点以下2桁までで2.49メートルとなる。しかし、これはデバイスAからデバイスBへの往復分であるため、2つのデバイス間の実際の距離はこの数値の半分、すなわち1.24メートルとなる。これは予想された結果であり、光速と2つの送信信号の既知の位相と周波数の分離に基づくrの公式が、いかに2つの装置間の距離を正確に計算するために使用できるかを示している。

しかし、複雑な点があり、これは位相の公式と(2 * π)のモジュール分割にヒントがあります。位相値は距離が長くなるにつれて変化しますが、周期的であるため、位相値が(2 * π)ラジアンに達するとゼロにリセットされ、同じ値が繰り返されるようになります。このため、2つのデバイス間の距離を決定する際に、同じ位相差の値によって複数の距離が暗示される可能性があるため、あいまいさが生じることがあります。これは距離の曖昧性として知られています。

距離アンビギュイティがいつ発生するかは、周波数間隔によって異なる。一般的に、距離のあいまいさは周波数差が大きいほど早く発生する。幸いなことに、この問題は、PBRを2番目の距離測定法であるラウンド・トリップ・タイミングと併用することで対処できる。

2.2.2.2 往復タイミング(RTT)

2.2.2.2.1 理論編

ラウンドトリップ・タイミングを使って2つのデバイス間の距離を計算する理屈はとても簡単だ。無線(RF)通信は、既知の定数である光速で移動する。つまり、2つのデバイス間を伝送するのにかかる時間を計算できれば、距離を計算することができる。往復時間に光速を掛けるだけでいいのだ。

例えば、RF信号がデバイスAからデバイスBへ、そしてデバイスAへ戻るのに20ナノ秒かかるとすると、単純に光速に20ナノ秒を掛けると、双方向の合計距離は6メートル弱となり、2つのデバイス間の距離は3メートル弱となる。

双方向距離 2r = c * 0.00000002

ここで、cは光速(299792458m/s)、0.00000002は秒単位の双方向飛行時間(ToF)である。この結果、次のようになる:

2r = 299792458 * 0.00000002
= 5.99584916

従って、デバイスAとデバイスBの間の距離は

2.99792458 メートル

しかし、この基本的な公式は正しいが、Bluetooth デバイスの文脈でこの公式を使うのは少し複雑であり、これまで紹介した理論は不完全である。

RF信号を策定して送信する行為には、往復応答を受信、処理、送信する行為と同様に時間がかかる。電波が1マイクロ秒で300メートル弱移動できることを考慮すると、この一見短い時間は、距離測定の文脈では非常に重要な意味を持つ可能性がある。

図13は この内訳を示し、タイムライン上の重要なポイントを示している。

2405Channel Sounding 図 13

 

図13 - RTTの内訳(縮尺なし - 信号の内容は代表的なものではない)

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.

緑の点線(-----------------------------------------------------------------------------)は、2つの信号がどちらも空中にない経過時間を表す。

ラウンド・トリップ・タイム(RTT)は、 図13に 描かれているタイミング・インスタントを用いて、以下のように表すことができる:

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

デバイスAがRTTを計算するには、デバイスBのターンアラウンドタイム(すなわち、ToDB-ToAB)を知る必要がある。理論的には、これが機能する方法はいくつかある。実際には、最も単純な解決策は、固定ターンアラウンド期間がデバイスAとデバイスBによって事前に合意されることです。その後、デバイスBは処理を完了し、そのターンアラウンド期間が満了した時点で、応答を送信することを保証しなければならない。その後、デバイスAは事前に合意した値を(ToDB-ToAB)に使用する。

2.2.2.3 現実世界の課題

距離測定のPBRとRTTの両手法について提示された理論は、このトピックについての最初の洞察を得るには十分であり、純粋に理論的な文脈においては、それは完全なものである。しかし、現実の世界では、正確な距離測定はより複雑である。実世界で使用される実機で満足のいく結果を出すには、いくつかの課題に対処しなければならない。

ワイヤレス距離測定技術が対処すべき課題の種類には、次のようなものがある:

  • 無線信号のマルチパス伝搬から生じる複雑さ
  • 発生する信号の周波数の精度と安定性
  • 内部時計の安定性、タイムスタンプの精度と分解能
  • 位相ベース測距における距離の曖昧さ
  • セキュリティ

本稿の残りの部分では、Bluetooth 技術における高精度の距離測定について学び、このような現実世界の問題に直面したときに、この技術がどのように効果的に機能するように設計されているかを理解する。

3.ブルートゥースChannel Sounding

3.1 概要

Bluetooth Channel Sounding は、従来よりもはるかに高精度の距離測定を実現する製品の可能性を提供する。測定の精度は、環境条件や、Bluetooth Channel Sounding 機能がアプリケーション層でどのように利用されるかに依存する。また、実装の選択にも左右され、その詳細はBluetooth Core Specification の範囲外であるが、計算に使用される生データの品質を向上させることができる。

Bluetooth Channel Sounding は、さまざまな構成が可能な、距離測定のための柔軟なツールキットをアプリケーションに提供します。この仕様では、Phase-based Ranging(PBR)とRound-Trip Timing(RTT)の両方の距離測定方法がサポートされています。ほとんどの場合、PBRは主要かつ最も正確な距離測定方法として使用され、RTTはそれと並行して追加のセキュリティを提供するために使用されることが予想されます。

Bluetooth Channel Sounding で使用されているPBRは、距離のあいまいさが生じる前に約150メートルまでの距離を測定することができる。PBRに加えてRTTを使用することで、アプリケーションは距離のあいまいさを識別し、排除することができるため、より長い距離を測定することができる。

アプリケーションは、精度、セキュリティ、レイテンシ、消費電力などの問題に対して、さまざまなレベルの優先順位を置くことができる。Bluetooth Channel Sounding 機能の設定可能性により、アプリケーションはシステムの主要な機能と動作の多くを制御または影響できるため、その動作は使用するアプリケーションに適した優先順位に集中します。

このセクションでは、Bluetooth Channel Sounding 機能と、それが依存するコアBluetooth スタック機能を検証する。

3.2 アーキテクチャ

3.2.1 デバイスの役割

Bluetooth Channel Sounding 機能は、2つのデバイスの役割を定義する。1つ目は Initiator であり、2つ目は Reflector である。

Initiator は、自身から他のデバイスまでの距離を計算したいデバイスである。他のデバイスは Reflector である。

Initiator または Reflector のいずれかが、Bluetooth Channel Sounding の手順を開始することができる。この手順の詳細については、本論文の後半で述べる。

2405Channel Sounding 図 14 図14 - 役割

3.2.2 トポロジー

Bluetooth Channel Sounding は、1 対 1 のトポロジーで行われ、通信は Initiator の役割を持つ 1 台のデバイスと Reflector の役割を持つ 1 台のデバイスの間で行われる。

Bluetooth Channel Sounding 「イニシエータ」の役割は、リンク・レイヤ LE セントラルの役割又は LE ペリフェラルとして動作するデバイスのいずれかが担うことができることに留意されたい。同じことが、LE セントラル・デバイス又は LE ペリフェラル・デバイスのいずれかにより引き受け られるBluetooth Channel Sounding リフレクタの役割にも適用される。

3.2.3 アンテナ・アレイ

Bluetooth Channel Sounding を使用するデバイスには、アンテナアレイが含まれることがあります。これにより、位相ベースの測距に使用されるBluetooth Channel Sounding の送信を交換するための一連の代替経路が提供され、マルチパス伝搬の影響を軽減して距離測定の精度を向上させることができます。

3.2.4 用途

Bluetooth Channel Sounding には、Bluetooth コントローラから提供されるデータを使用して、アプリケーションレイヤーが距離を計算する必要がある。このデータは、Bluetooth Channel Sounding 手順の実行中にコントローラによって取得され、各デバイスで行われた信号交換と低レベル測定の結果である。データは、HCIイベントでアプリケーション層に渡される。

アプリケーションレイヤーは、Bluetooth コントローラーにコンフィギュレーションの選択肢とプリファレンスを提供する責任もある。コンフィギュレーションは、Bluetooth Channel Sounding コンフィギュレーションを確立する際に使用される。

つのデバイスがイニシエータの役割を持ち、もう1つのデバイスがリフレクタの 役割を持つシステムに参加するためには、両方のデバイスがBluetooth Channel Sounding 機能をサポートするBluetooth LE コントローラを持っている必要があります。

2405Channel Sounding 図 15 図 15 -Bluetooth Channel Sounding アプリケーションとBluetooth スタック

3.2.5 データ・トランスポート・アーキテクチャ
2405Channel Sounding 図 16図16 -Bluetooth 汎用データ・トランスポート・アーキテクチャ

Bluetooth Core Specificationは、Bluetooth テクノロジーのアーキテクチャを多くの観点から定義している。最初の観点では、一般化されたデータ・トランスポート・アーキテクチャが定義されている。コア仕様におけるその描写を図16に示す。

Bluetooth Core Specificationの定義を参照しながら、図16の用語を以下に説明する:

  • L2CAPとは、Logical Link Control and Adaptation Protocolの略。L2CAPチャネルは、2つのデバイス間のL2CAPレベルの論理接続であり、1つのアプリケーションまたは上位レイヤのプロトコルに対応する。
  • 論理リンクとは「Bluetooth システムのクライアントに独立したデータ・トランスポート・サービスを提供するために使用される最も低いアーキテクチャ・レベル」である。
  • 論理トランスポートは、送受信ルーチン、フロー制御メカニズム、確認応答プロトコル、リンク識別などの問題を扱う。論理トランスポートは同期、非同期、アイソクロナスのいずれでもあり得る。
  • 物理リンクは、リンク・レイヤのレベルで確立されたデバイス間の接続である。リンク・レイヤは、Bluetooth プロトコル・スタックのレイヤの1つです。
  • 物理チャネルは、1つまたは複数の通信機器によるRFキャリアの占有パターンを定義する。
  • 物理トランスポートは、キャリアとして無線信号を使用して伝送するためにデジタルデータを符号化するために使用される、無線パケット構造や変調方式など、一般的に適用可能な問題を定義する。

汎用データ・トランスポート・アーキテクチャは、Bluetooth LEとBluetooth Basic Rate/Enhanced Data Rate(BR/EDR)の両方に適用される。

物理トランスポート、物理チャネル、物理リンク、論理トランスポート、およびL2CAPチャネルの一連の特定のタイプが定義されている。様々なタイプのいくつかの組み合わせのみが許可される。特定のデータ・トランスポート・アーキテクチャ・コンポーネントのタイプと許容される組み合わせは、Bluetooth Core Specificationで定義され、さまざまなアプリケーション・タイプに対応する。それぞれは、トポロジー、伝送タイミングパターン、信頼性、電力使用、RFチャネル使用などの分野で区別されている。

図17は、データトランスポートアーキテクチャのサブセットを示す。青くハイライトされているのは、Channel Sounding で定義された新しい物理チャネル・タイプと新しい物理リンク・タイプである。

Channel Sounding 図17図17 - CSとデータ・トランスポート・アーキテクチャ

LEChannel Sounding 物理リンクには、論理トランスポート・タイプも論理リンク・タイプも関連付けられていない。

3.2.6Bluetooth LE スタックにおけるChannel Sounding

Bluetooth LE を定義するより包括的な方法は、完全なプロトコル・スタックとそのレイヤーの観点である。Bluetooth コア仕様書の大部分は各レイヤーの定義に費やされている。図 18 にBluetooth LE スタックを示す。

2405Channel Sounding 図 18 図 18 -Bluetooth LE スタック

Bluetooth LE スタックの各層の責任の概要は表 2 に記載されている。

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 upcoming version 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.

表 2 -Bluetooth LE スタックの各レイヤーの主な責務と機能の概要

Bluetooth コア仕様の物理レイヤ、リンクレイヤ、ホストコントローラインタフェース、およびGeneric Access Profileセクションはすべて、Bluetooth Channel Sounding の導入により影響を受けている。 セクション4.Bluetooth コア仕様の変更の概要」で詳しく説明する。

Bluetooth Channel Sounding のために特別に設計された新しいセキュリティ機能も導入された。セクション3.13 セキュリティは、Bluetooth Channel Sounding セキュリティのトピックを検討することに特化されている。

3.3Bluetooth Channel Sounding 管理手順

Bluetooth Channel Sounding を開始する前に、リンク・レイヤ LE セントラルの役割のデバイスは、リンク・レイヤ LE ペリフェラルの役割のデバイスに接続しなければならない。その後、Bluetooth Channel Sounding の準備と開始に関係するいくつかの手順の間、様々なリンク層プロトコル・ データ・ユニット(PDU)の交換のための安全なトランスポートを提供できるように、確立された LE-ACL 接続上でセキュリティが開始される。

Bluetooth Channel Sounding を準備し、開始する主な手順は以下の通りである:

  1. セキュリティ・スタート
  2. 能力交換
  3. 構成
  4. スタート

これらの手順のすべてが必須というわけではなく、2つのデバイスが以前にキャッシュされ ている可能性のある情報を交換したかどうかなどの問題によって異なる。考えられる手順と関連するPDUのシーケンスを 図19に 示す。

2405Channel Sounding 図 19 図 19 - CS 開始手順のシーケンス

Bluetooth Channel Sounding を開始する際にしばしば関与する4つの重要な手続きについて、以下に詳しく説明する。

3.3.1Bluetooth Channel Sounding セキュリティ・スタート

Bluetooth Channel Sounding は、初期化手続きが実行される LE-ACL 接続に関連するものとは異なる独自のセキュリ ティ機能を有する。Bluetooth Channel Sounding 開始手続きにより、2 つのデバイスは、後にBluetooth Channel Sounding セキュリティ機能で使用されるパラメー タを安全に交換することができる。

Bluetooth Channel Sounding セキュリティ・スタート手順は、LE セントラル・デバイスが 3 つの乱数を生成し、LL_CS_SEC_REQ PDU で LE 周辺デバイスに送信することから始まる。LE ペリフェラル・デバイスは、セントラルの乱数と同じ規則に従った独自の 3 つの乱数を生成し、 LL_CS_SEC_RSP PDU でセントラルに送り返す。

各デバイスで生成される乱数には名前が付けられており、表3に説明されている。

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

表 3 - CS セキュリティ・パラメータ

両方のデバイスが両方のセキュリティ・パラメータ・セットBluetooth Channel Sounding を所有している場合、各セントラル/ペリフェラル・ペアの値はそれぞれのリンク層によって連結されます。この結果、両デバイスはBluetooth Channel Sounding セキュリティ・パラメータ CS_IV、CS_IN、CS_PV の 3 つについて同じ値を持つことになります。

これらのパラメー タの使用法についての詳細は、セクション3.13「セキュ リティ」に記載されている。

3.3.2Bluetooth Channel Sounding 能力交換

2つのデバイスのBluetooth Channel Sounding 能力は大きく異なる可能性があり、開始前に相互にサポートされるコンフィギュレーションに到達するためには、2つのデバイスはそれぞれ、もう一方のデバイスの能力に関する情報を所有していなければならない。

ケイパビリティの交換は、一方のデバイスがLL_CS_CAPABILITIES_REQ PDUでその詳細を送信し、他方のデバイスがLL_CS_CAPABILITIES_RSP PDUでその詳細を応答することによって達成される。デバイスは、以前に受信したケイパビリティデータをキャッシュすることができ、そのため相手デバイスとケイパビリティを交換しないことを選択することができる。しかし、どちらのデバイスがこの手順を開始してもよい。

能力が変化する例としては、PHY サポート、RTT 精度、Bluetooth Channel Sounding モード3サポート、攻撃検知サポート、アンテナパスの最大サポート数などがある。Bluetooth コア仕様は LL_CS_CAPABILITIES_REQ PDU と LL_CS_CAPABILITIES_RSP PDU の完全な詳細を提供している。

3.3.3Bluetooth Channel Sounding 構成

この手順は、LL_CS_CONFIG_REQ と LL_CS_CONFIG_RSP PDU の交換を含む。要するに、以前に交換された能力を使用して、この手順により、デバイスは使用される特定の構成を選択することができる。

複数のコンフィギュレーション・パラメータ・セットが保持されることがある。そのような各コンフィグレーションには、ホストによって識別子が割り当てられる。この識別子は、このデバイスのペアで使用される識別子の中で一意でなければならず、リンク層の手順の間に、与えられたパラメータセットを参照するために使用されるかもしれない。

LL_CS_CONFIG_REQ PDU を送信したデバイス上のアプリケーションは、 Initiator または Reflector のどちらの役割を引き受けたいかを選択することができる。もう一方のデバイスは LL_CS_CONFIG_RSP で応答し、もう一方の役割を引き受けなければならない。

3.3.4 Mode-0 FAE テーブル・リクエスト

FAE(Fractional Frequency Offset Actuation Error)とは、生成された周波数と期待または要求された周波数との差をppm(Parts Per Million)で表したものである。すべてのデバイスはこの点である程度の不正確さを持ち、通常、その大きさは使用するRFチャネルによって異なります。

可能な限り正確な距離測定結果を得るため、Bluetooth Channel Sounding をサポートするデバイスは、Mode-0 FAE Table と呼ばれるデータテーブルを持つことがあります。このテーブルには各チャンネルの FAE 値が含まれており、製造工程で設定されます。モード 0 の意味は、3.5.3 ステップ・モードで明らかになります。

Mode-0 FAE Table Request 手順は、 Initiator が Reflector の mode-0 FAE テーブルを要求することを可能にする。これは、 Initiator が LL_CS_FAE_REQ PDU を送信し、Reflector がその FAE テーブルを含む LL_CS_FAE_RSP PDU を返信することを含む。

一度取得したFAEテーブルは、将来同じReflectorで使用するために保存しておくことができるため、この手順は所定のデバイスペアに対して一度だけ実行すればよい。

3.3.5Bluetooth Channel Sounding スタート

Bluetooth Channel Sounding セキュリティが開始され、デバイスが互いの能力に関する情報を所有し、 Initiator が Reflector の mode-0 FAE テーブル(もしあれば)を持ち、デバイスが適切なコンフィギュレーションに合意したとき、Channel Sounding Start 手順を開始することができる。これは、LL_CS_REQ、LL_CS_RSP、LL_CS_IND PDU によって達成される。

LL_CS_REQとLL_CS_RSP PDUは、各デバイスから提案されたタイミングと構造パラメータを含む。これらのパラメータは、Bluetooth Channel Sounding 、時間の分割方法とその利用方法を規定する。LL_CS_IND PDUは、ペリフェラルからLL_CS_REQまたはLL_CS_RSP PDUを受信した後、セントラルの役割のデバイスによって送信される。LL_CS_IND は、Bluetooth Channel Sounding を開始すべきことを示し、以前の PDU の交換に含まれるプロポーザルに基づいて、両方のデバイスが受け入れられるパラメータ値を含む。

3.3.6Bluetooth Channel Sounding

Bluetooth Channel Sounding Start手順が完了した後、Bluetooth Channel Sounding 手順が開始される。これは、アプリケーションで距離計算に使用できる測定値を取得する目的で、2つのデバイスがRF信号を交換するメカニズムです。この仕組みについては、本稿の後のセクションで説明します。

3.4 イベント、サブイベント、ステップ

3.4.1 LE-ACL接続と時分割

ACL 接続では、接続イベント中にパケットを送信できる。接続イベントのタイミングは、その ACL 接続の接続間隔パラメータの値に基づいている。接続イベント中、セントラルとペリフェラルデバイスはそれぞれ順番にパケットを送信し、セントラルが最初に送信し、ペリフェラルが応答します。他の接続パラメータによっては、ペリフェラルはパケットのサブセットにのみ応答することが許可され、セントラルはイベントのサブセット中にのみ送信することが許可される。

各接続イベント中に各サイドが送信するパケットのサイズと数は異なる場合がある。

Bluetooth LE-ACL 接続は、 3.3Bluetooth Channel Sounding 管理手続に記述されるChannel Sounding の開始手続中に使用される。

2405Channel Sounding 図 20 図 20 - LE-ACL 接続における接続イベントと間隔

3.4.2 タイムディビジョン

 3.4.2.1 構造

Bluetooth Channel Sounding は一連の手順で行われる。各手順はいくつかのCSイベントから構成され、各CSイベントはさらにCSサブイベントに分割される。この階層スキームにおける時間の最終的な区分はCSステップである。ステップ内で、パケットまたはトーンが送受信されます。図 21 に、時間の分割に関するこの構造スキームを例として示します。

2405Channel Sounding 図 21 図 21 -Bluetooth Channel Sounding 手続きの構成例

3.5 CSステップでは、CSステップ中に行われる活動について詳しく説明する。

Bluetooth Channel Sounding プロシージャの構造的な側面を制御できるように、特に異なるレベルの要素間の関係のカーディナリティに関して、多くのパラメータがある。主な設定可能変数のいくつかを表4に示す。

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.

表 4 -Bluetooth Channel Sounding 構成パラメータの例

3.4.2.2 タイミング

プロシージャー、イベント、サブイベント、およびステップのタイミング、期間、およびスケジューリングは、Bluetooth Channel Sounding ConfigurationおよびBluetooth Channel Sounding Startプロシージャー中に設定される多くのパラメータによって制御される。

全てのプロシージャー、イベント、サブイベント、及びステップの開始時刻は、Bluetooth Channel Sounding を開始するリンク・レイヤーのプロシージャーが実行された LE ACL 接続の選択された接続イベントに、直接的又は間接的にアンカーされる。最初のプロシージャー・インスタンス(Bluetooth Channel Sounding )では、その最初のイベントとサブイベ ントはすべて同時に開始され、選択された接続イベント・アンカー・ポイントからのオフセットで発生す るようにスケジュールされる。最初の手順は、T_FCSと呼ばれる最初のサブイベントの開始からのオフセットで発生する。T_FCSは15μsから150μsの範囲の値を持ち、その期間はホッピングによる周波数変更に使用される。3.9 RFチャネルとチャネル選択」に、この件に関する詳細が記載されている。

手順とイベントの両方は、ACL接続間隔の数で表される間隔で発生する。図22は、手続き間隔の値が4で、イベント間隔の値が2である例を示している。示されているように、この結果、新しい手続き間隔は4番目のACL接続イベントごとに開始し、イベント間隔は2番目の接続イベントごとに開始する。プロシージャーとそのイベントは、関連する接続イベントのアンカーポイントからのオフセットで、それぞれのインターバル内で実際に開始する。オフセット値はマイクロ秒単位で表される。

2405Channel Sounding 図 22 図22 - 手続きとイベントのスケジューリング(手続き間隔=4、イベント間隔=2

各イベントの最初のサブイベントは、関連する ACL 接続イベントからオフセットして、イベントと同時に開始する。イベントごとのサブイベント数は設定パラメータであり、図 23 に示すように、サブイベントはサブイベント間隔ごとに 1 回発生する。

2405Channel Sounding 図 23 図 23 - CS イベント・スケジューリング内の CS サブイベントの例

各サブイベントには、少なくとも2つのステップが含まれる。これは、channel sounding がアプリケーションによってどのように使用されているかによって、サブイベントごとに異なる可能性がある。ステップの継続時間は、やはり構成によって異なる。ステップのスケジューリングと、それらに割り当てられるRF送受信スロットは、綿密なタイミングルールに従う。その詳細は、Bluetooth Core Specificationに記載されている。

3.5Bluetooth Channel Sounding ステップ

3.5.1 ステップについて

Figure 21 は、イベント、サブイベント、ステップの観点から、Bluetooth Channel Sounding 手順の構造を示している。Initiator と Receiver の間の RF 信号の交換は、ステップの中で行われる。アプリケーションレイヤーが使用することを選択したchannel sounding 方式(PBR および/または RTT)によって、詳細は異なる。

一般的に、ステップは校正に関係するか、アプリケーション層が距離測定アルゴリズムで使用できる低レベルの測定値の取得に関係する。

3.5.2 パケットとトーン

RTT が使用されているとき、CS_Sync と呼ばれるタイプのパケットが Initiator と Reflector によって交換される。

CS_SYNCパケットの構造は以下の通りである:

2405Channel Sounding 図24 図 24 - CS_Sync パケット

CS_Sync パケットの最後に Sounding Sequence または Random Sequence を含めることはオプションである。これらの用語については、3.10 RTT オプションと精度で説明する。

CS_Sync パケットは、LE 1M、LE 2M、LE 2M 2BT PHY のいずれかを使用して伝送できる。GFSK4変調方式は、他のBluetooth LE パケットと同様に使用される。

PBR が使用されているとき、CS Tone と呼ばれる信号が Initiator と Reflector によって交換される。これらの信号は、ASK(Amplitude Shift Keying)を使用して、特定の期間、周波数が固定されたシンボルを生成する。

3.5.3 ステップ・モード

ステップには関連するモードがあり、ステップのゴールとその中で行われる活動のタイプを決定する。つのモードが定義されており、モード-0、モード-1、モード-2、モード-3と指定されている。

3.5.3.1 モード0

Mode-0は較正に関するものである。すべてのデバイスは、ある程度のクロック・ドリフトと周波数生成の不正確さを示す。これは、RTTとPBRの両方の距離測定方法にとって問題である。

mode-0ステップの目的は、"Initiator "が、"Reflector "によって送信された信号の周波数が、"Transmitter "によって生成された信号の周波数とどれだけ異なるかを測定できるようにすることである。

Initiator は、選択したチャネルと周波数で CS_Sync パケットを送信する。Reflector は CS_Sync パケットと CS Tone を返信する。どちらも Initiator から受信した信号と同じ周波数で送信する必要がある。

CS_Sync パケットは、受信機をチューニングしゲインを設定するためのプリアンブルを Initiator に提供する。CS Tone は、次に説明する周波数オフセットを測定するための基礎として使用される。

Reflector からの応答信号を受信すると、Initiator は FFO(Fractional Frequency Offset)と呼ばれる値を計算する。FFO の計算には、Reflector から受信したトーンの周波数と、Reflector の mode-0 FAE テーブル(3.3.4 Mode-0 FAE Table Request参照)が関係する。

FFOは後に、2つの装置の違いを補正し、結果の精度を向上させるために計算に使用される。

Figure 25 は、 Initiator による CS_Sync パケットの送信と、それに続いて Reflector が応答として送信する CS_Sync と CS Tone を示している。様々なタイムスロットの継続時間は、以下の意味を持つシンボル名で示される:

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.

表5 - タイムスロットのパラメーター

2405Channel Sounding 図 25 図25 - Mode-0の送信とタイムスロット

モード0ステップのサポートは必須である。

3.5.3.2 モード-1

mode-1 のステップでは、Initiator から Reflector に送信された CS_Sync パケット の往復のタイミング(RTT)が計算される。

タイムスタンプは、最初の CS_Sync packet を送信するときに Initiator によって記録され、Time of Departure(ToD)と呼ばれる。Initiator は、Reflector から送り返された CS_Sync パケットの受信時に、2 つ目のタイムスタンプを記録する。これは Time of Arrival(ToA)と呼ばれる。

図 26 は、 Initiator による CS_Sync パケットの mode-1 送信と、それに続いて Reflector が応答として送信する CS_Sync を示している。様々なタイムスロットの時間は、Table 5 に記載されているシンボル名で示される。

2405Channel Sounding 図 26 図26 - モード1送信とタイムスロット

インタールード期間(T_IP1)は、Reflector がパケットを準備し送信するのに十分な、既知の固定長である。交換のこの部分で事前に合意された固定期間を使用することは、 Initiator が Receiver のターンアラウンドタイムを知っており、それを RTT の計算に使用できることを意味する。

ToDとToAのタイムスタンプにはいくつかの方法が定義されている。方法の選択によって、異なる精度が提供される。代替方法は3.10 RTTオプションと精度で説明されている。

モード1ステップのサポートは必須である。

3.5.3.3 モード2

モード2ステップの目的は、位相ベースの測距(PBR)をサポートすることである。

mode-2 ステップは、まず Initiator が、選択されたチャネル上で、利用可能な各アンテナパスを介して CS Tone を送信することから始まる。ランプダウン時間とインタールード期間の後、Reflector は Initiator から受信したトーンと同じ周波数を選択し、各アンテナパスを介して CS Tone を返信する。図 27 は、このやりとりを示している。タイムスロットの持続時間には、Table 5 に記述された用語と、Table 6 に定義された追加用語が含まれる。

T_SW Time period reserved for antenna switching.

T_PM

Time for the transmission of a phase measurement tone.

T_IP2

Time for interlude period between CS Tones.

N_AP

Number of antenna paths.

表6 - 追加ステップ・モード2タイミング・パラメーター

2405Channel Sounding 図 27 図27-モード2の送信とタイムスロット

Initiator は、期間 T_PM の間に Reflector から受信した CS Tone の位相を、各 アンテナ経路について 1 回ずつ測定する。調整は、mode-0 ステップで計算された補償値を使用して行われる。位相測定値は、IQ サンプルの配列の形で、HCI イベントでアプリケーション層に渡される。

CSトーン送信の総時間を表す式には、以下の項が含まれることに留意されたい。 N_AP + 1.これは、各アンテナ・パスに割り当てられる T_PM 継続時間スロットの後に、CS Tone 延長スロットと呼ばれる余分な時間が続くためです。このタイム・スロットを送信に使用することは、セ キュリティ上の理由でランダム化されますが(3.12 セキュリティを参照)、使用される場合、CS Tone は、直前の T_PM タイム・スロットで使用されたものと同じアンテナを使用して送信されます。

モード2ステップのサポートは必須である。

3.5.3.4 モード-3

mode-3ステップは、CS_SyncパケットとCS Toneを組み合わせた交換を使用して、RTT計算とPBRの両方をサポートする。

2405Channel Sounding 図 28 図28-モード3の送信とタイムスロット

mode-3 のサポートは必須ではない。PBR と RTT を組み合わせたいが、capabilities exchange procedure を通して、mode-3 が Initiator と Reflector の両方によってサポートされていないことがわかったアプリケーションは、代わりに mode-2 と mode-1 の両方のステップを組み合わせたモードシーケンスを使用することができる。Bluetooth Channel Sounding のこの能力の詳細については、3.8 Mode Sequencing を参照のこと。

モード3ステップには、モード2ステップで説明したようなエクステンションスロットがある。

3.6 位相差の確立

モード-0、モード-1、モード-2、モード-3の各ステップに関するこれまでのセクションでは、それぞれのタイプの1つのステップにおいて、時間がどのように分割され、どのように使われるかという詳細に焦点が当てられていた。しかし、距離の計算では、計算された距離の精度を高めるため、あるいは使用される手法がそれを要求するため、複数の交換が必要となる。PBRの定義では、少なくとも2回の交換が必要となる。

位相差を測定するためには、複数の送信信号と複数の周波数が必要です。1つのステップでは、選択された1つのチャネルと周波数で1つのCS Toneを交換します。このように、PBR方式では、PBR方式をサポートするモードの最低2つのステップを実行する必要があることは明らかである。Bluetooth Channel Sounding 手順内のステップのシーケンスと、その繰り返しとモード変化を支配するパターンは、 3.8 モード・シーケンス(Mode Sequencing)の主題である。一般的に、より多くの RF チャネルを使用して、より多くの CS トーン交換を行うことで、アプリケーショ ンはより多くのデータを取得し、より正確な距離測定を行うことができます。ただし、交換回数が多いほど、実行により多くの時間が必要になります。

3.7 アンテナ切り替え

3.2.3 アンテナ・アレイで述べたように、デバイスは位相ベースのレンジング交換中に使用するため に複数のアンテナを含むことができる。PBR 交換(すなわち、mode-2 または mode-3 ステップ)中に使用するためにデバイスが持つことができるアンテナの最大数は 4 つである。1 つのアンテナは Initiator に属し、もう 1 つは Reflector に属する。

Bluetooth コア仕様では、合計8つのアンテナの順列が定義されている。コア仕様の同様の表を反映し、表7にこれらの構成を示す。表の直後の図はいくつかの例を示している。

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

表7 - アンテナ構成

2405Channel Sounding 図 28 図29 - 1:1アンテナ構成(ACI=0、N_AP=1)

2405Channel Sounding 図 29 図30 - 1:2アンテナ構成(ACI=4、N_AP=2)

2405Channel Sounding 図 30 図31 - 3:1アンテナ構成(ACI=2、N_AP=3)

2405Channel Sounding 図 31 図32 - 2:2アンテナ構成(ACI=7、N_AP=4)

アンテナの切り替えは、モード 2 ステップ(PBR)中および各モード 3 ステップの PBR 関連部分で行われる。具体的には、送信デバイスのアンテナ構成に応じて、CSトーンの送信時にアンテナ切り替えが適用される。mode-2およびmode-3ステップにおけるCSトーン送信タイムスロットの持続時間の計算は、アンテナ切り替えと複数のアンテナ経路に対応する:

(T_SW+T_PM)*(N_AP+1)

→ T_SWは、アンテナの切り替えが行われるまでの時間であり、0、2、4、10マイクロ秒のいずれかの値を持つ。

→ T_PM は CS Tone の送信時間。

→ N_AP はアンテナ経路の数。1項は拡張スロットを考慮したものである。

3.8 モードシーケンス

3.8.1 モード・シーケンスの概要

Bluetooth Channel Sounding 手続きは常に、複数のステップのシーケンスと、少なくとも2つのモードの混在を伴う。Bluetooth コア仕様では、モードの組み合わせとシーケンスのルールを定義している。

Bluetooth Channel Sounding アプリケーションは、Bluetooth コントローラから、より多くのパケットとトーンの交換から得られたデータを提供されると、より高品質で正確な距離測定を行います。

3.8.2 モードの組み合わせ

Bluetooth Channel Sounding 手順では、少なくとも2つの異なるモードタイプのステップが常に関与する。最初のステップは周波数オフセット測定のためのモード 0 であり、2 番目のステップは他のモードのいずれかでなければならない。しかし、必須モード 0 型と 2 つの非モード 0 型を組み合わせて使用することも可能である。いずれの場合も、1 番目の非モード 0 モードを Main_Mode と呼びます。セカンダリの非0モードがある場合は、それをSub_Modeと呼ぶ。表8はBluetooth Core Specificationから引用したもので、許容される6つの非モード-0モードの組み合わせを示す。

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

表8 - 許容されるモード0以外のモードの組み合わせ

3.8.3 モードシーケンス構成とサブモード挿入

アプリケーションは、HCIコマンドを使用してステップ・モード・シーケンスを設定できる。これは、Bluetooth Channel Sounding 、コンフィギュレーションとスタート手順の間に行われる。デバイス間で要求され、合意される可能性のある主なパラメー タは、表9に示すとおりである。

HCI Parameter Purpose

Mode_0_Steps

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

Main_Mode_Type

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

Sub_Mode_Type

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

Min_Main_Mode_Steps

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

Max_Main_Mode_Steps

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

表 9 - モード・シーケンス制御パラメータ

これらのパラメーターを使用することで、アプリケーションはシーケンス内で発生するステップモードのパターンを指定することができる。

一般的に、ステップモードのシーケンスはこのパターンに従う:

  1. 1つ以上のmode-0ステップがサブイベントを開始する。
  2. ここでnはランダムに選択され、Min_Main_Mode_StepsからMax_Main_Mode_Stepsの範囲に含まれる。
  3. 一つのサブモードステップがn個のメインモードステップのシーケンスに続くのは、Bluetooth Core Specificationがsub_mode insertionと呼ぶプロセスによるものである。

ステップ・モード・シーケンスは、サブイベントが常に1つ以上のモード0ステップで始まらなければならないという一般的なルール以外には、サブイベントの境界に縛られることはない。フルシーケンスは複数のサブイベントにまたがることができる。

図33は、いくつかのモード・シーケンス・パラメーターの効果を示す簡単な例である。

2405Channel Sounding 図 32図33 - ステップ・モードのシーケンス例

サブイベント 1 は、2 つの連続したモード 0 ステップのシーケンスで開始する。この例では、Mode_0_Steps パラメータの値は 2 です。

次に、3つのモード2ステップの連続である。Min_Main_Mode_StepsとMax_Main_Mode_Stepsが上限値と下限値として機能する。この場合、ランダムに選択された値は3であった。

つのメイン・モード・ステップの後、Sub_Mode_Typeの値が1であり、必要なメイン・モード・ステップのシーケンスが完了したため、mode-1タイプの1つのサブモード・ステップが含まれる。

サブイベント(CS開始手順でSubevent_Lenパラメータに指定された持続時間を持つ)には、もう1つのステップを含めるのに十分な時間が残されている。前のステップはサブモード・ステップであったため、メイン・モード/サブモード・シーケンスが再び開始されるが、今回はランダムに選択された2つのメイン・モード・ステップの必要カウントがある。サブイベント 1 の最後のステップは、モード 2 のメインモードステップとなり、新しいシーケンスが開始される。

サブイベント2は2つのモード0ステップから始まる。前回のサブイベントで開始されたメイン・モード・シーケンスは、さらに1つのメイン・モード・ステップで継続され、必要なカウント2が完了する。このシーケンスはサブモードステップで完了する。

再び、新しいメインモード/サブモードシーケンスが開始され、今回は5つのメインモードステップが必要に応じてランダムに選択される。これらのステップのうち3つは、サブイベントが終了する前に、現在のサブイベント内に含まれる。サブイベント3は、この例の通常の2つのmode-0ステップから始まり、必要な5つのステップのうち残りの2つのメインモードステップと、それに続くサブモードステップが続く。

このパターンは、新しいシーケンスが要求されるたびに、メインモードのステップ数がランダムに選択され、プロシージャに指定された数のサブイベントが完了するまで続く。

3.8.4 メイン・モードの繰り返し

アプリケーションで使用できるモード・シーケンス・パラメータがもう1つある。Main_Mode_Repetitionは、現在のサブイベントで繰り返される、最後のサブイベントからの最新のメインモードステップの数を指定する。

メイン・モードの繰り返しが適用される場合、現在のサブイベントで繰り返されるステップは、前のサブイベントでそれぞれのステップに使用されたのと同じチャンネル・インデックスを使用する。これにより、繰り返されるステップ送信が同じ意図された周波数を持つことが保証される。しかしながら、繰り返される送信の他の側面、特にセキュリティに関連する側面は、各ステップで新たに生成される。同じ周波数でメインモードのステップを繰り返す目的は、ドップラーシフト効果だけでなく、起こりうる周波数ドリフトに対処するためであることに注意。

メインモードの繰り返しは、アプリケーションに交流の特性のいくつかを相関させる機会を与え、移動するデバイスの速度を追跡することを容易にするかもしれない。

メインモードの繰り返しによりモードシーケンスに組み込まれたステップは、3.8.3 モードシーケンス構成とサブモード挿入で説明したサブモード挿入処理ではカウントされない。

3.8.5 アプリケーションとモードシーケンスに関する考察

サブモード挿入とメインモード反復を使用して、モードの組み合わせを構成し、ステップモードシーケンスを制御する能力は、アプリケーションにBluetooth Channel Sounding のプロセスに対する多くの制御を与える。この柔軟性の恩恵を受けようとするアプリケーションには、さまざまな目的がある。

PBRは2つの距離測定法の中で最も正確であり、同時にRTTを使用することで、システムにかなりの安全性が加わる。また、PBR方式で起こりうる距離の曖昧さにも対処できる。

ステップ・モード-3は1つのモードタイプで両方の方式をサポートするが、モード-3のサ ポートはオプションである。したがって、能力交換手順の間にmode-3が利用できないことを発見したデバイスは、mode-1(RTT)とmode-2(PBR)ステップを混在させなければならない。これは、mode-2をメイン・モード、mode-1をサブ・モードとして選択することで実現できる。

アプリケーションにとってさらに考慮しなければならないのは待ち時間だ。各信号の交換には時間がかかる。Mode-1 RTT交換は、アンテナパスの数によっては、Mode-2 PBR交換よりも時間がかかることがある。RTT の役割は、Bluetooth Channel Sounding プロセス全体をよりセキュアにすることによって PBR を補完することであることを考えると、レイテンシをある閾値以下に保つ必要があるアプリケーションは、Bluetooth Channel Sounding 手順に RTT 交換の低い割合を含めることを選択する可能性が高い。これは、mode-2 (PBR)をメインモードとして選択し、mode-1 (RTT)をサブモードとして選択し、Min_Main_Mode_Steps パラメータと Max_Main_Mode_Steps パラメータを適切な値に設定して、メインモードとサブモードのステップの必要な最小比率が示されるようにすることで達成できる。

両方のデバイスで mode-3 がサポートされている場合、待ち時間と PBR 交換と RTT 交換の比率は、アプリケーショ ンが考慮すべき問題として残ります。モード 3 のすべての交換は、PBR 関連の CS Tone と RTT 関連の CS_Sync パケットを同じ割合で含む。これは、アプリケーションによっては最適でないと考えられる。

一方、mode-3 がサポートされている場合、mode-3 を他のモードと併用することで利点が得られる。アプリケーションでRTT測定の一定の比率で一定数の位相測定が必要な場合、mode-2とmode-1の組み合わせではなく、mode-2とmode-3の組み合わせを使用することで、より少ないステップでこれを達成できる。

図 34 は、mode-2 のメイン・モードと mode-1 のサブ・モードを使用して達成された 3:1 の PBR 測定と RTT 測定の比率を示している。この例では、一連の 3 つのサブイベントにわたって、9 つの PBR 測定と 3 つの RTT 測定が配信される。

2405Channel Sounding 図 33図34-モード2とモード1を使用した3:1のPBR対RTT比

図35は、メイン・モードがmode-2であり、サブ・モードがmode-3である場合の、2つのサブ・イベ ントのPBRおよびRTT測定値の同じ数と比率を示している。これらの図はいずれも縮尺に合っておらず、実際の放送時間を反映していない可能性があることに注意。サブイベントの長さが2つの図に示されたステップを収容するのに十分であり、1つのアンテナ経路のみが関与していると仮定すると、2つのデバイス間のステップ数と交換は正しく、この図は、これら2つの一見類似した構成間の潜在的な違いを説明するのに役立つはずである。

2405Channel Sounding 図 34図35-モード2とモード3を使用した3:1のPBR対RTT比

3.9 RFチャンネルとチャンネル選択

3.9.1Bluetooth Channel Sounding チャンネルマップ

通常、Bluetooth LE は、2.4 GHz ISM バンドを各 2 MHz 幅の 40 チャンネルに分割する。しかし、Bluetooth Channel Sounding を使用する場合はそうではない。

Bluetooth Channel Sounding の目的のため、72 チャンネルが定義され、各チャンネルは 1MHz の幅と一意のチャ ンネル・インデックス値を持つ。これらのチャネルの配置により、LE の一次広告チャネルは確実に回避される。

チャンネル幅を通常の2MHzではなく1MHzにすることで、隣接するチャンネルを使用するPBR信号間の周波数分離が確保され、150m付近まで距離のあいまいさが生じない。対照的に、周波数分離が2 MHzの信号は、PBR計算において約75メートルで距離のあいまいさが生じる。

Bluetooth コア仕様書から複製された 表10は 、Bluetooth Channel Sounding に使用されるチャネルのインデックス値と、関連するRF中心周波数を示している。3列目は、Bluetooth Channel Sounding の交換にチャネルを使用できるかどうかを示す。

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

表 10 -Bluetooth Channel Sounding チャネルインデックスと RF 物理チャネル

3.9.2 チャンネル・フィルタリング

チャネル・インデックス・フィルタ・ビット・マップが維持される。これは、 3.9.1 TheBluetooth Channel Sounding Channel Mapに記述されているように、Bluetooth Channel Sounding に対して定義されたチャネルインデックスのリストであり、各チャネルは含まれるか除外されるかのいずれかがマークされている。Bluetooth Channel Sounding チャネルインデックスフィルタマップは、Channel Sounding チャネルマップアップデートプロシージャと呼ばれるリンクレイヤープロシージャによって維持される。除外されたチャネルは、チャネル選択アルゴリズムによって選択されることはない。

3.9.3 周波数ホッピング

周波数ホッピングは一般に、図36に描かれているように、ステップ実行の直前に行われる。

2405Channel Sounding 図 35図36- ステップ実行前の周波数ホッピング

このルールの例外は、Main_Mode_Repetition パラメータにゼロ以外の値が割り当てられてモード反復が設定されている場合に適用されます。モード繰り返しによって繰り返されるステップは、繰り返される前のサブイベントのステップと同じチャンネル・インデックスを使用する。

3.9.4 チャンネルの選択

3.9.4.1 概要

Bluetooth Channel Sounding で使用される3つのチャンネル選択アルゴリズム(CSA)が新たに定義された。これらはまとめてCSA #3、個別にCSA #3a、CSA #3b、CSA #3cと呼ばれている。

CSA#3aは、モード0ステップで使用するチャンネルを選択するためだけに使用する。

CSA#3bとCSA#3cは、どちらも非Mode-0ステップで使用するように設計されているが、Bluetooth Channel Sounding 手順インスタンスでは、2つのうち1つしか使用することができない。

その結果、2つの異なるチャンネル選択アルゴリズムが、Bluetooth Channel Sounding にいつでもアクティブに関連付けられる。

3.9.4.1 チャンネル・インデックス・シャッフル

チャンネル選択には、2つの異なるチャンネルインデックスリストが含まれる。最初のものは CSA #3a とモード 0 ステップのチャンネル選択で使用される。もう1つは、CSA #3bまたはCSA #3cでモード0以外のステップに使用される。

CSA#3aとCSA#3bはほとんど同じである。

チャンネルインデックスリストは、チャンネルマップに含まれているとマークされたチャンネルの順番をランダムにして、シャッフルされたチャンネルリストを作成する。CSA#3aとCSA#3bはまったく同じ方法でこれを行う。CSA #3cは異なるアプローチをとるが、Bluetooth Core Specificationではcr1として知られている、同じプリミティブなシャッフル関数に依存している。

3.9.4.2 CSA #3a

モード 0 チャネル選択アルゴリズム CSA #3a は、3.9.4.1 チャネルインデックスシャッフルに記載されているように、シャッフ ルされたチャネルリストを使用する。モード 0 のステップ周波数ホッピングに使用されるシャッフルされたチャンネルリストは、モード 0 以外のチャンネルホッピングに使用される対応するチャンネルリストとは異なる。

シャッフルされたチャンネルリストの各エントリーは一意であり、一度だけ使用される。シャッフルチャンネルリストのすべてのエントリが使用されると、シャッフルチャンネルリストは再生成され、新しいランダム化されたチャンネルリストが作成される。

3.9.4.3 CSA #3b

非モード0チャネル選択アルゴリズムCSA #3bは、モード0チャネルホッピングに使用される対応するチャネルリストとは異なる、シャッフルされたチャネルリストを使用する。CSA #3b では、チャネルインデックスリストを再生成する前に、複数回反復させることができ、これは CSNumRepetitions と呼ばれるパラメータによって制御される。

3.9.4.3 CSA #3c

CSA #3cのアルゴリズムはCSA #3bと大きく異なる。チャネルマップに含まれるチャネルのサブセットがグループに編成され、形状を形成するチャネルパターンが生成される。CSA #3c は、状況によっては、反射された信号経路を検出するのに有利な場合がある。詳細はBluetooth Core Specification を参照。CSA #3c のサポートはオプションです。

3.10 RTTオプションと精度

RTT メソッドは、mode-1 および/または mode-3 のステップで CS_Sync パケットを交換する。図 24 に、CS_Sync パケットの構造を示す。

ラウンドトリップ時間の計算に必要な到着時刻(ToA)タイムスタンプを確立する方法がいくつか定義されている。アプリケーションは、RTT_Typeパラメー タを使用するHCIコマンドによって、Bluetooth Channel Sounding 。

オプションは、アクセス・アドレス・フィールドに基づくタイミング測定、32または96ビット長のサウンディング・シーケンスの使用、または32、64、96、または128ビット長のランダム・シーケンスの使用である。時間推定の精度は、使用される方法とタイミング目的で使用されるフィールドの長さによって異なる。サウンディング・シーケンスの使用とランダム・シーケンスの使用の両方により、分数タイミング推定として知られるより正確な推定を行うことができる。

3.10.1 アクセスアドレスに基づくタイミング

CS_Syncパケットには、32ビットのAccess Addressフィールドが含まれる。ToA値を確立するために使用できる最も単純な方法は、コントローラがクロックを使用して、CS_SyncパケットのAccess Addressフィールドを受信した時点のタイムスタンプをキャプチャすることである。

アクセスアドレスは、リンク層では 32 ビットのバイナリ値であるが、送信時には、そのデジタルビットに GFSK 変調を適用して形成された一連のアナログシンボルで表される。一つのシンボルは、0 ビットまたは 1 ビットの値を表し、シンボルレート(LE 1M または LE 2M PHY/LE 2M 2BT PHY の選択により決定される)に応じて、1 マイクロ秒または 1/2 マイクロ秒の継続時間を持つ周波数の無線伝送からなる。

信号を受信する行為には、一定のレートで動作する局部発振器によって駆動される受信信号のサンプリングが含まれる。その信号の送信も同様に、もう一方のデバイスの発振器によって駆動される。

受信信号のアクセスアドレス受信のタイムスタンプを取得する方法はいくつかある。詳細は実装に委ねられるが、パケットがBluetooth コントローラに到着した時刻を取得し、パケット長、シンボルレート、およびサンプリングレートに照らしてそれを調整し、アクセスアドレスが受信された時刻の推定値を生成することが含まれる。あるいは、実装は無線信号処理中にToAタイムスタンプを計算できるかもしれないが、RTT計算でToAとして使用するためにタイムスタンプをコミットする前に、復調してアクセスアドレス値をチェックした後にタイムスタンプを検証する必要がある。

送信機の発振器と受信機の発振器が同位相である可能性は低く、これがこのプロセスの不正確さの原因となる。結果を改善するために、一連のステップで交換される一連のパケットを測定し、値の分布を計算することが提案されている。この分布を利用して、ToAタイムスタンプの精度を向上させることができる。

リンク・レイヤ仕様書パートHのセクション3.2.2には、最適なサンプリング・ポイントと実際のサンプリング・ポイントとの差に起因する、アクセス・アドレスのサンプリングにおける小数タイミング誤差を決定することによって、この方法を使用して作成されたタイムスタンプを改善する方法に関する情報が記載されている。このような誤差は、ローカルオシレーターとリモートデバイスの位相がずれていることに起因する。

3.10.2 分数のタイミング推定

より優れたToAタイムスタンプ精度を提供する2つのオプションの方法は、リンクレイヤ仕様パートHのセクション3.3と3.4に記述されている。どちらも分数のタイミング推定を提供する。

CS_Sync パケットには、パケットの最後に追加のオプション・データを追加することができる。このオプションが使用される場合、CS_Sync パケットには、ランダム・シーケンスまたはサウンディング・シーケンスの 2 つのフィールドのいずれかが追加される。

端数タイミング方法の1つ目は、CS_SyncパケットのオプションのRandom Sequenceフィールドを解析して、端数タイミング誤差を判断する方法です。これは、「3.10.1 アクセス・アドレスに基づくタイミング」で説明した、最適なサンプリング・ ポイントと実際のサンプリング・ポイントの差を求める手法と同様に機能します。ランダム・シーケンスから計算された小数タイミング誤差も同様に、アクセス・アドレ ス・タイムスタンプを最適化するために使用されます。

2番目のフラクショナル・タイミング法は、CS_Syncパケットに付加されたサウンディング・シーケンス・フィールドの解析に基づいている。サウンディング・シーケンスとは、リンク・レイヤで0と1を交互に並べたパターンのことで、GFSKを使用して変調すると、周波数と位相が異なる2つの異なる無線トーンが生成されます。サウンディング・シーケンスによって生成された2つのトーンによって示される位相差を分析することで、ToAタイムスタンプを最適化するために使用される小数タイミング誤差を計算することができます。

3.10.3 RTT法の比較

Bluetooth Channel Sounding アプリケーション開発者は、3つの異なる方法のうちの1つによって生成された測定値 に基づいて、ラウンド・トリップ・タイムを導出することができます。選択肢は、アクセス・アドレスの ToA を使用するか、CS_Sync パケット内のランダム・シーケンスまたはサウンディング・シーケンスに基づく 2 つの分数法のいずれかを使用することです。

Bluetooth Channel Sounding 機能の実装者は、その機能の必須面を実装しなければならないが、オプションの機能に関しては、希望すれば選択することができる。実装の複雑さは様々であり、その決定において考慮される要因の一つとなり得る。

3つのRTT方式は、アプリケーション開発者にとって、距離測定の精度、セキュリティ、遅延の度合いが異なる。一般的に、分数メソッドは最も正確な結果と最高のセキュリティを提供する可能性がある。

3.11 LE 2M 2BT PHY

3.11.1 変調方式

変調方式は、信号の1つまたは複数の物理的特性を利用して、デジタル情報を信号にエンコードする手段を定義する。変調方式は、デジタルの世界でビットが情報を含むのと同じように、アナログの世界で情報を伝えるシンボルを生成する。シンボルは、変調方式がどのように機能するかによって、1つまたは複数のビットを表します。

周波数シフト・キーイング(FSK)は変調方式の単純な例である。バイナリ変調方式で、1デジタル・ビットが1アナログ・シンボルに対応する。

FSKでは、キャリア信号の周波数を一定量(周波数偏差として知られる)上げるか、同じ量だけ下げることによって、2進数の「1」を表すシンボルを生成し、2進数の「0」を表す。

図37は、基本的なFSKを特定のビット値のストリームに適用した例である。

2405Channel Sounding 図 36図 37 - 周波数シフト・キーイング(FSK)符号化ビット・ストリーム 01010101010

基本的なFSKの特徴である周波数間の急激な切り替えは、望ましいよりも広い周波数範囲に広がるノイズの発生につながる。これに対抗するため、Bluetooth 技術は、ガウス周波数シフト・キーイング(GFSK)と呼ばれるFSKの特殊な変種を使用している。

GFSKは基本的なFSKとは異なり、周波数間の遷移を曲線に沿わせるフィルタを使用する。曲線の形状と周波数遷移の速度は、帯域幅-ビット周期積(BT)を含む様々なパラメータによって決定される。

3.11.2 帯域幅-ビット周期製品

帯域幅-ビット周期積(Bandwidth-Bit Period Product:BT)は、信号の属性で、帯域幅とシンボルの持続時間の関係を示す情報である。

BTは、シンボルを構成する無線パルスの形状とスパンに影響する。BTの値が高いほどパルスは細く四角くなり、値が低いほどパルスは太く丸くなる。

3.11.3 レ 2M 2BT

Bluetooth コア仕様の近日中の更新により 、LE 2M 2BT と呼ばれる新しい PHY が導入される。LE 2M 2BT は、現在Bluetooth Channel Sounding でのみ使用可能である。

LE 2M 2BT の主要な側面が強調された PHY の比較は表 11 に示されている。

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

Symbol Rate

1 Msym/s

1 Msym/s

2 Msym/s

2 Msym/s

BT

0.5

0.5

0.5

2.0

Min. Frequency Deviation

185 kHz

185 kHz

370 kHz

420 kHz

Error Detection

CRC

CRC

CRC

N/A

Error Correction

NONE

FEC

NONE

N/A

Requirement

Mandatory

Optional

Optional

Optional. Only to be used with Channel Sounding.

表 11 -Bluetooth LE PHY の比較

LE 2M 2BT PHY は、Bluetooth Channel Sounding でのみ使用できる。3.13.7 節で説明されているように、この PHY の使用はセキュリティを強化する。

BT=0.5の場合とBT=2.0の場合のパルスの形状を図38に示す。

2405Channel Sounding 図 37図38 - パルス形状

3.12Bluetooth Channel Sounding ステップにおけるSNRコントロール

いくつかの無線トランスミッタは、その信号対雑音比(SNR)を指定された範囲内に収まる ように調整する能力を持つ。この機能は、もし Initiator と Reflector のデバイスの両方がサポートしていれば、RTT 距離測定方法に関連するBluetooth Channel Sounding ステップ(mode-1 と mode-3 ステップ)のセキュリティを向上させるために使用することができる。セクション3.13.8 SNR コントロールと RTT セキュリティでは、この点について詳しく述べている。

Bluetooth コア仕様は、dB で測定される関連 SNR 出力レベルに対応する多くの SNR 出力指数(SOI)値を定義している。表 12 にこれらの定義を示す。

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

0

18

1

21

2

24

3

27

4

30

表12 - SNR出力指標とレベル

SNR 出力制御のサポートとサポートされる SOI 値に関する情報は、Channel Sounding Capabilities Exchange 手順( 3.3.2Bluetooth Channel Sounding Capabilities Exchange 参照)の間にデバイスによって交換され、Bluetooth Channel Sounding Start 手順の間に送信される LL_CS_REQ リンク層 PDU で示される SNR 制御を使用するかどうか、およびどの SOI 値で使用するかによって交換される。

3.13 セキュリティ

3.13.1 概要

距離測定ソリューションに特有のセキュリティ問題は、一般的に、信頼されていないデバイスが、ある信頼されたデバイスを騙して、別の信頼されたデバイスが、何らかのアクションを許可または実行するために十分に近くにあると思い込ませる脅威を伴う。例えば、キーレス・エントリー・システムでは、悪意のあるデバイスがドア・ロックを欺き、関連する信頼できるワイヤレス・キー・カードが、ドアが自動的に解錠されるために十分に近くにあると思わせることができれば、権限のない者が侵入することができる。

距離測定に関連する一連の攻撃は、セキュリティ専門家によって認識されている。信頼されたデバイスからの通信を偽造する(スプーフィングとして知られる)スタンドアローンの悪意のあるデバイスを含むものもあれば、信頼されたデバイスからの信号を中継する中間者(man-in-the-middle:MITM)攻撃の一種であり、通常、その過程で信号またはそのデジタルコンテンツを操作し、信頼されたデバイスに、信頼された相手との距離を誤算させる。このような攻撃の詳細は、巧妙さ、実装の複雑さ、コストにおいて様々である。

Bluetooth Channel Sounding には、距離計測のセキュリティ上の脅威への対策として機能する機能のコレクションが含まれている。これらの機能は4つのカテゴリーに分類される:

  1. PBRとRTTの併用
  2. ビットストリームと送信パターンのランダム化
  3. シンボル操作に対する防御
  4. 攻撃検知を含むRF信号解析技術

さらに、Bluetooth コントローラの実装者およびアプリケーション開発者は、Bluetooth Channel Sounding セキュリティ機能によって提供される標準的なセキュリティ機能を、必要に応じて 追加のセーフガードで補強することができる。

このセクションでは、Bluetooth Channel Sounding セキュリティの主要な側面を要約する。

3.13.2 PBRとRTTのクロスチェック

Bluetooth Channel Sounding は、位相ベースの測距(PBR)とラウンドトリップタイミング(RTT)という2つの距離測定法をサポートしている。この2つの方法はまったく異なる動作をする。

アプリケーションは、PBRのメイン・モードとしてmode-2、RTTのサブ・モードとしてmode-1など、適切なモードの組み合わせを選択することで、両方の方法を併用することができる。モードの組み合わせとシーケンスの詳細については、「3.8 モード・シーケンス」を参照のこと。

Bluetooth Channel Sounding 信号の位相と、計算された往復時間の両方を操作して、誤解を招くような一貫性のある結果を与えるように、両方の方法を同時に攻撃する複雑さは、セキュリティの専門家によって非常に高いとみなされている。

3.13.3Bluetooth Channel Sounding セキュリティの初期化

セクション 3.3.1Bluetooth Channel Sounding セキュリティの開始 Bluetooth Channel Sounding セキュリティを初期化する手順について説明する。この手順がBluetooth Channel Sounding セキュリティを有効にし、それ自体が安全である方法にはいくつかの側面がある。

まず、デバイスが相互にペアリングされていなければならない。これは、暗号化された LE-ACL リンクを作成するために必要である。

CS セキュリティ・スタートは、暗号化された LE-ACL リンクを介して行われ、Bluetooth Channel Sounding セキュリティ・キー・データの交換が盗聴者から保護されることを意味する。

最後に、セントラル・デバイスとペリフェラル・デバイスの両方は、Bluetooth Channel Sounding セキュリティ・データの部分的な値の安全な交換を実行する。これにより、CS 初期化ベクタ(CS_IV)、CS インスタンス化ノ ンセ(CS_IN)、CS パーソナライゼーション・ベクタ(CS_PV)のそれぞれについて、完全な共通値を構 築するための同じデータが両方のデバイスに提供される。

CS_IV、CS_IN、CS_PVは、Bluetooth Channel Sounding セキュリティ機能の多くの基本コンポーネントである決定論的ランダム・ビット発生器(DRBG)への入力である。

3.13.4 決定論的乱数ビット生成器(DRBG)

Bluetooth Core Specificationは、「NIST Special Publication 800-90Ar1で定義されている推奨事項に一致する」ランダムビット生成器を定義している。これは決定論的ランダムビット生成器(DRBG)として知られている。

DRBG をインスタンス化するには、Bluetooth Channel Sounding セキュリティパラメータである CS_IV、CS_IN、CS_PV の 3 つを入力として提供する必要があります。Bluetooth Channel Sounding Security Start プロシージャを実行した場合、 Initiator デバイスと Reflector デバイスは、これらのパラメータに同じ値を持つことになります。同じパラメータ値で初期化された場合、DRBG の 2 つのインスタンスは、一連の呼び出しにおいて、全く同じビット列を生成する。

CS_IV、CS_IN、CS_PV の値を持たないデバイスにとって、DRBG を使用する Initiator と Reflector のペアによって生成されるビットシーケンスはランダムに見える。

DRBG を使用してBluetooth Channel Sounding ビット・ストリームと送信スケジューリングの一部をランダム化することで、悪意のあるデバイスが信頼されたデバイスになりすますリスクを軽減する。

DRBGを利用したCSセキュリティ機能は以下の通り。

3.13.4.1 セキュアアクセスアドレス

Access Addressフィールドは、すべてのBluetooth リンクレイヤーパケットに現れる。その目的は、デバイスがパケットに関連性があるかどうかを判断できるようにす ることである。例えば、アドバタイジング・ブロードキャスト(ADVB)パケットは特別なアクセス・アドレス値を使用し、パケットを 受信するあらゆるデバイスに関連する可能性があるものとしてパケットを識別する一方、LE-ACL 接続上で交換されるパケットには、その接続の一意識別子として効果的に機能するアクセス・アドレス値がある。

Bluetooth Channel Sounding の場合、各デバイスは、mode-0、mode-1、mode-3 CS ステップごとに、CS_Sync パケットの Access Address フィールドを変更する。そのため、各デバイスは各ステップで一意の Access Address を持つ。新しいアクセス・アドレスの値は、DRBGを含む選択ルールを使用して生成され、両方のデバイスが、他方で使用されるアクセス・アドレスを知っている。受信側のデバイスはアクセス・アドレスの値をチェックし、問題があればホストに報告する。

Access Address フィールドは 32 ビット長で、4,294,967,296 個の異なる値を持つことができる。したがって、CS_Sync パケットを詐称しようとする悪意のあるデバイスが、交換される複数の CS_Sync パケットの各 1 つで正しい Access Address 値を推測できる確率は、4,294,967,296 分の 1 となります。

3.13.4.2 RTTフラクショナルタイミングのランダムシーケンス

3.12.4.2 RTT フラクショナル・タイミングのためのランダム・シーケンス」で説明するように、 CS_Sync パケットにはオプションのランダム・シーケンス・フィールドを含めることができる。このフィールドは、分数 RTT 方式の 1 つをサポートする。

ランダム・シーケンス・フィールドの内容は、送信される CS_Sync パケットごとに、CS DRBG を使用して(再)生成される。ランダム・シーケンス・フィールドの長さは、32、64、96、または 128 ビットである。

3.13.4.3 発音シーケンスマーカー信号

サウンディング・シークエンスは、32ビットまたは96ビットの予測可能な交互パターンで構成され、分数RTT計算に使用される。この既知のビット・パターンが何らかの形で悪用されるリスクを軽減するため、DRBGを使用してシーケンス内の位置を選択し、マーカ信号として知られる2つの4ビット値のうち1つをランダムに挿入する。DRBGによって選択されるマーカー信号の値は、0b1100または0b0011のいずれかである。

サウンディングシーケンス内にランダムなビットパターンを挿入することで、サウンディングシーケンスのなりすましを防ぐ。

3.13.4.4 トーン拡張スロットランダム送信

Mode-2およびMode-3ステップには、トーン拡張スロットが含まれる(3.5.3ステップ・モード参照) トーン拡張スロットは常に予約されているが、そのタイムスロットで送信が行われるかどうかはランダムであり、DRBGによって管理される。受信デバイスは、トーン拡張スロットでの送信をいつ期待し、いつ期待しないかを知っているが、攻撃デバイスは知らない。

3.13.4.5 アンテナ経路のランダム選択

位相ベースの測距は、3.7 アンテナ切り替えで説明したように、8 つの構成のうちの 1 つであるアンテナのアレイで使用できます。位相ベースのレンジングでは、2つのデバイス間に存在する、利用可能なすべてのアンテナ・パスを介してトーンが送信されます。使用されるパスのシーケンスは、Bluetooth Channel Sounding ステップごとにDRBGを使用してランダム化されます。

3.13.5 サウンディング・シークエンス

3.10.2 フラクショナルタイミング推定で説明したように、サウンディングシーケンスは0と1の交互のビット値のシーケンスで構成される。これは、GFSK変調が適用される前のデジタル領域では、0と1の交互の2進数のシーケンスに相当する。

したがって、PBR の計算は、CS_Sync パケットを使用して往復時間を計算しながら、1 つの CS_Sync パケットの Sounding Sequence フィールドにエンコードされた 2 つのトーンの位相差を同時に使用して行うことができる。

単一のパケットに基づいてRTTとPBR測定の両方を同時に計算することは、交換を攻撃する試みを極めて複雑にする。

3.13.6 攻撃の検知と報告

リンクレイヤースペックのBluetooth Channel Sounding セクションには、攻撃検知システムの記述がある。これは、詳細な規定仕様としてではなく、Bluetooth コントローラの実装者が従うべき概略アーキテクチャと一般的なアプローチとして提供される。

Bluetooth Channel Sounding Bluetooth コントローラにおける攻撃検知は、基準信号定義に対する受信信号の評価と、予期しないビット遷移や位相調整などの攻撃の可能性を示す指標に対する受信信号の検査に基づいている。この仕様が提供するガイダンスは、ランダムシーケンス、サウンディングシーケンス、またはその両方を含む CS_Sync パケットに基づいている。

攻撃が進行中である確率を形容詞で報告するための標準化されたメトリックは、Bluetooth Core Specificationで定義されており、Normalized Attack Detector Metric(NADM)と呼ばれる。NADM値は、受信信号の評価に基づいてコントローラによって割り当てられ、攻撃の可能性を示すスライディングスケールの形式をとる。表13にNADM値の定義を示す(Bluetooth Core Specificationより引用)。

NADM Value Description

0x00

Attack is extremely unlikely

0x01

Attack is very unlikely

0x02

Attack is unlikely

0x03

Attack is possible

0x04

Attack is likely

0x05

Attack is very likely

0x06

Attack is extremely likely

0xFF

Unknown NADM.

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

表13 - NADM値

図39に攻撃検知システムの概要を示す。

2405Channel Sounding 図 38図39 - 攻撃検知システムの概要

コントローラのNADMアルゴリズムによって割り当てられたNADM値は、HCIイベン トのPacket_NADMというフィールドでホストに報告される。攻撃検出アルゴリズムは、受信したNADM値に適用され、脅威レベルがユーザアプリ ケーションに報告される。

図39のデバイスBからデバイスAへの点線で示されているように、将来のBluetooth プロファイル仕様が、Bluetooth Channel Sounding 、デバイス間のNADMデータの共有を促進する可能性がある。

Bluetooth コア仕様には、既知の攻撃パターンを示す信号を正しく識別できるテストの定義が含まれている。しかし、図 39 に描かれた攻撃検知アルゴリズムとユーザ・アプリケーションの詳細は規定されていない。

3.13.7 レ 2M 2BT

中間者(MITM)攻撃者が、正当な送信デバイスから部分的に受信したシンボルの値を予測し、タイミングを操作した完全な生成バージョンのシンボルを中継することで、正当な受信者が往復時間、ひいては距離を誤算するような物理層攻撃が数多く知られている。攻撃者の信号は通常増幅され、ターゲット・デバイスは、反射のように見える弱い元の信号ではなく、操作された信号を主要な信号とみなす。持続時間の長いシンボルは、短いシンボルよりもこの種の攻撃に弱い。

LE 2M 2BT PHY の帯域幅ビット周期の積の値は 2.0 であり、他の PHY のパルスより短いシンボルパルスを使用する。

3.13.8 SNR制御とRTTセキュリティ

SNR コントロール機能は、事前に合意した量のランダムノイズを Initiator と Receiver が信号に混ぜることを可能にする。これは、mode-1(RTT)と mode-3(RTT、PBR)ステップ中に行われる CS_Sync パケット送信にのみ適用される。

3.12.7 LE 2M 2BTで言及されたクラスの MITM 攻撃は、攻撃者が正規の信号を非常に迅速に、シンボルの全持続時間よりもはるかに短い時間で分離し、操作できることに依存している。信号にノイズを注入することで、攻撃者の分析が完了するのが難しくなり、遅くなるため、そのような攻撃が成功する可能性が低くなる。一方、Initiator デバイスと Reflector デバイスは、事前に SNR を合意しているため、人為的に追加されたノイズを容易にフィルタリングすることができる。

3.13.9 CS セキュリティ・レベル

Bluetooth コア仕様のGAP(Generic Access Profile)セクションでは、セキュリティモードとセキュリティレベルを定義している。Bluetooth Channel Sounding のための4つのセキュリティレベルの正式な定義が含まれている。将来のBluetooth プロファイル仕様はこれらの定義を参照すると思われる。

3.13.10 ベンダー固有の実装と追加セキュリティ

コントローラの実装者は、ベンダー固有のセキュリティ対策をさらに導入 することを選択できる。

3.14 ホスト・アプリケーション

Bluetooth 細かいアプリケーションや製品を作成するには、コントローラのBluetooth Channel Sounding 機能を利用し、アプリケーション層のカスタムコードと組み合わせる必要がある。ソリューションのアプリケーションコンポーネントの開発者は、このセクションで取り上げる様々な問題に注意しなければならない。

3.14.1 距離測定アルゴリズム

Bluetooth スタックは距離測定を直接生成しません。代わりに、Bluetooth コントローラによるCSステップの実行中に、位相および/またはタイミングの低レベル測定が行われ、このデータからアプリケーションが距離測定を計算できる。

アプリケーションが距離計算に使用するアルゴリズムは、Bluetooth Core Specificationでは指定されていない。従って、これはベンダーが差別化できる分野の一つである。優れたアルゴリズムは優れた結果を生む。

コントローラによって取得され、アプリケーション層に報告されるデータは標準化されているため、原理的には、すべてのアプリケーション距離測定アルゴリズムが、処理する入力データを同じタイプにすることができる。実際には、どのようなデータがアプリケーション層に配信されるかは、Bluetooth Channel Sounding 手順で使用されるモードの組み合わせとシーケンスによって異なります。データの品質も、Bluetooth コア仕様から外れるコントローラの実装の詳細によって異なる場合があります。

3.14.2Bluetooth Channel Sounding データのコントローラからホストへの通信

3.14.2.1 HCIイベントタイプ

ホスト・コントローラ・インターフェース機能仕様書は、コントローラがBluetooth Channel Sounding データをホストに渡すために使用する 2 つのイベントを定義する。この 2 つのイベントは、LE CS サブイベント・リザルトと LE CS サブイベント・リザルト・コンティニューと呼ばれる。

3.14.2.2 HCIイベントのタイミング

コントローラは、サブイベント(Bluetooth Channel Sounding )内で実行されたステップ中に生成された測定値を集計する。結果の完全なセットまたは部分的なセットは、LE CS サブイベント結果 HCI イベントを使用して 報告される。不完全なセットが報告される場合、結果の残りは、後で送信される 1 つ以上の LE CS Subevent Result Continue イベントで報告されます。HCI イベント・フィールド Subevent_Done_Status と Procedure_Done_Status は、アプリケーション・レイヤに 対し、サブイベントまたはプロシージャーに関する全てのデータが報告されたのか、それともまだ続きが あるのかを示します。

2405Channel Sounding 図 39図 40 -Bluetooth Channel Sounding HCI データ・レポートの例

HCIイベントを使用したレポートは、サブイベントに関連付けられますが、 必ずしもサブイベントの境界に厳密に一致する必要はありません。サブイベントのステップ数は、コントローラが結果をレポートする方法の 要因となる。ステップ数が、コントローラのキャパシティを超えるデータを集計する必要が ある場合、コントローラは、HCI レポートを複数のイベントに分割します。1つのイベントが収容できるステップ数は160に制限されており、これは、コントローラが考慮すべきもう1つの制限要因として機能する。

3.14.2.3 HCIイベントの内容

Bluetooth Channel Sounding HCIイベントは、コントローラからホストへ様々なタイプのデータを伝達する。詳細については、Bluetooth Core Specification Host Controller Interface Functional Specificationを参照すること。ここでは、主要なフィールドとデータ構造の一部を説明する。

周波数補償

mode-0 の目的は、イニシエータとリフレクタによって生成された、希望周波数と実際の周波 数間の差異を決定することである。これは、周波数オフセット(FFO:Fractional Frequency Offset)を計算するために使用され、その差分が周波数とタイミング値の両方に与える影響を補正し、最終的に距離測定の精度を向上させるために使用される。HCI CSイベントのFrequency_Compensationフィールドには、コントローラが計算した値が格納される。

報告されたステップ数

このフィールドは、この HCI イベントで報告されるステップ数を示す。また、Step_Mode、Step_Channel、Step_Data_Length、Step_Data の4つのステップ関連データ配列のサイズも示す。

ステップ・モード [ ]。

この配列には各ステップのモードが含まれ、ステップ番号順に並び、0~3の範囲の値で表される。

ステップ・チャンネル [ ]。

この配列には、対応するステップの実行に使用されたRFチャネルのインデックスが含まれる。

ステップ・データ長 [ ]。

各ステップについて報告されるデータは、その内容と構造において可変である。この配列には、関連するステップデータ配列の各要素の長さが含まれます。

ステップデータ

各ステップで報告されるデータは、ステップモード、デバイスの役割(イニシエータ またはリフレクタ)、および位相ベースのレンジングと RTT 計算にサウンディングシーケンスが使用されるかどうかに依存する。関連データを含む構造体は、Mode_Role_Specific_Info オブジェクトと呼ばれ、この構造体の 11 のバリアントが定義されている。

Mode_Role_Specific_Infoオブジェクトに含まれるデータの例としては、Packet_QualityおよびTone_Qualityフィールド、受信信号強度インジケータ(RSSI)、測定された周波数オフセット、NADM値、アンテナ識別子、位相補正項、およびパケットの送信と到着(またはその逆)の間の経過時間の測定値がある。これらのような時間値は、1/2ナノ秒単位の倍数で表されます。

3.14.3 モードの組み合わせとモードシーケンス

セクション 3.8.5「アプリケーションとモードシーケンスに関する考察」では、Bluetooth Channel Sounding 手順に関わるステップモードの組み合わせとシーケンスを、アプリケーションが制御する手段について説明する。アプリケーション層は、どのステップ・モードを使用するか、またプライマリ・モードとサブ・モードの両方が使用される場合、選択された各モードのステップ数の比率をどうするかを決定する責任がある。アプリケーションや製品の開発者は、ローカルコントローラがサポートする機能だけでなく、距離測定精度の要件、セキュリティ、待ち時間を考慮して結論を出す必要がある。

3.14.4 アプリケーション層のセキュリティ

アプリケーション層は、モードの組み合わせとRTTパラメータの選択において、ソリューション全体のセキュリティをある程度制御することができる。開発者はまず、どのようなセキュリティオプションを採用すべきかを確定するための出発点として、 3.12.9Bluetooth Channel Sounding セキュリティレベルで述べられているように、GAP(Generic Access Profile)によって定義されたセキュリティレベルを理解し、評価するように努めるべきである。

PBRとRTTは、2つの方法に基づく距離計算のクロスチェックができるように、常に組み合わせて使用することが推奨される。PBRはBluetooth Channel Sounding 、最も正確な距離測定を提供するためにサポートされている。一方、RTTもサポートする主な理由はセキュリティ対策である。この選択を行うのはアプリケーション層の責任である。

NADM値は、Bluetooth コントローラのNADMアルゴリズムによって生成され、これらの値には、標準化された形容詞 形の意味が定義される。しかし、可能なNADM値のそれぞれに対して、(もしあれば)どのようなアクション を取るかを決定しなければならないのは、アプリケーションレイヤーである。

4.Bluetooth コア仕様変更の概要

Bluetooth Channel Sounding 機能を導入するため、Bluetooth コア仕様のいくつかのレイヤーに変更が加えられた。本セクションでは、主要な変更点の概要を示すが、これはオリエンテーションのみを目的とした、章ごとのハイレベル・リファレンスを提供することを意図している。詳細については、Bluetooth Core Specificationを参照されたい。

4.1 アーキテクチャ

Bluetooth Core SpecificationのVolume 1, Part Aには、この技術のアーキテクチャが記述されている。

- セクション 3「トランスポート・アーキテクチャ」は、Bluetooth Channel Sounding 、新しいパケット構造と信号フォーマットを導入する。また、新しい LEChannel Sounding 物理チャネル及び LEChannel Sounding 物理リンクも定義する。

- セクション9「Bluetooth Channel Sounding usingBluetooth Low Energy」では、Bluetooth Channel Sounding 機能について簡単にまとめている。

4.2 ホスト

4.2.1 汎用アクセス・プロファイル

第3巻パートCでは、Generic Access Profileを定義している。

- セクション 9 では、GAPBluetooth Channel Sounding の手順と、イニシエータとリフレクタの役割を紹介する。

- 第10節Bluetooth Channel Sounding の4つのセキュリティ・レベル。

4.2.2 ホストコントローラーインターフェース

第4巻パートEには、ホストコントローラーインタフェース機能仕様が含まれる。

- セクション 7.7.6.5 LE メタ・イベントは、LE CS サブイベント結果イベント及び LE CS サブイベント結果コンティニュー・イベン トを含む、Bluetooth Channel Sounding に関連する様々な新しいイベント・タイプを追加する ために更新された。

- セクション 7.8 LE コントローラ・コマンド」は、「LE CS Read Remote FAE Table」コマンド、「LE CS Create Config」コマンド、「LE CS Security Enable」コマンド、「LE CS Procedure Enable」コマンドなど、Channel Sounding で使用するための追加コマンドを含むようになった。

4.3 コントローラー

4.3.1 物理層

第6巻パートAには物理層仕様が含まれる。

  • 第 1 章では、新しい LE 2M 2BT PHY を紹介する。
  • セクション2では、Bluetooth Channel Sounding 。
  • セクション3では、新しいSNRコントロール機能を定義する。
  • セクション3.4は、Bluetooth Channel Sounding をサポートするデバイスの安定位相要件を追加している。
  • セクション 3.5 では、Bluetooth Channel Sounding における周波数測定および生成の要件について説明する。これには、分数周波数オフセット(FFO)測定要件の仕様が含まれる。
  • セクション5.3は新しいセクションで、Bluetooth Channel Sounding のアンテナ切り替えについて説明している。
  • 第 6 章では、位相測定要件について説明し、基準レシーバーの定義、位相測定精度要件の説明、周波数作動誤差補正要件、お よび位相測定タイミング規則を含む。
  • 付録Bは、Bluetooth Channel Sounding 。
4.3.2 リンク層

第6巻パートBにはリンク層の仕様が含まれている。

  • セクション2.4.2では、Bluetooth Channel Sounding 機能に関連する新しいリンクレイヤーコントローラPDUタイプとそのオペコードを定義している。
  • セクション4は、チャネルBluetooth サウンディングのためのリンク層エアインタフェースプロトコルの更新を含む。これには、4.2節のスリープクロック精度要件の更新と、4.5.18節のBluetooth Channel Sounding 手順、イベント、サブイベント、およびステップの仕様が含まれる。Bluetooth Channel Sounding およびそれが伝送する可能性のある制御 PDU に関連する ACL リンクのセキュリティ要件は、4.5.18.2 節に規定される。
  • セクション5.1では、リンクレイヤー制御を扱っている。Bluetooth Channel Sounding Start手順、Bluetooth Channel Sounding Capabilities Exchange手順、Bluetooth Channel Sounding Configuration手順、Bluetooth Channel Sounding Start手順など、Bluetooth Channel Sounding に関連する新しい制御手順を含むように更新されている。
4.3.3Bluetooth Channel Sounding

第6巻パートHは、新機能(Bluetooth Channel Sounding )に特化した新しいセクションである。このセクションでは、Bluetooth Channel Sounding 、新しいCS_Syncパケット・フォーマット、RTTの測定、および到着時刻または出発時刻のタイムスタンプを取得するさまざまな方法とともに、 の新しいチャネル選択アルゴリズムが定義されている。Bluetooth Channel Sounding の新しいチャネル選択アルゴリズムは、ステップ・モード、ステップの組み合わせとシーケンス・ルール、位相測定ルール、DRBGを使用したランダム・ビット生成とともに、このセクションで定義されている。

5.結論

Bluetooth Channel Sounding により、開発者はこの機能の安全なファインレンジング機能を活用したエキサイティングな製品やアプリケーションを作成することができます。

世界で最もユビキタスな低消費電力無線技術をベースとするFind Myおよびデジタル・キー・ソリューションのエンドユーザーは、Bluetooth Channel Sounding 機能を使用するデバイスで達成できる結果の品質により、パフォーマンスの向上を享受することができます。また、製品開発者は、適切な問題に対処するための包括的なセキュリティ機能が提供されていることを知ることで、安心感を得ることができます。

Bluetooth Channel Sounding の技術的な柔軟性は、開発者がセキュリティ、正確性、遅延など、最も重要な測距の側面を優先できることを意味する。すべてのアプリケーションが同じであるわけではなく、これはBluetooth Channel Sounding 機能の設計において認識され、対応されています。開発者には、製品の実装において、彼らや彼らのユーザーにとって何が最も重要かを決定する自由が与えられている。

Bluetooth 、毎年50億台以上のデバイスが出荷されている。その結果、製品メーカーや部品メーカー、ひいてはその顧客に利益をもたらす大規模なスケールメリットが生まれる。

Bluetooth Channel Sounding Bluetooth の利便性、安全性、およびセキュリティを強化する機会を提供する。存在検出、方向探知、そして現在ではchannel sounding 、それぞれを個別に、または組み合わせて使用することで、エンドユーザーや企業が恩恵を受けることができる空間認識製品やアプリケーションを作成することができます。

Bluetooth テクノロジーは絶対的に普及しており、広く採用され、綿密に規定された技術標準に基づいている。 Bluetooth Channel Sounding を採用することは、Bluetooth の製品に幅広い機能を追加したいと考えている開発者にとって、簡単で安全な選択です。 Bluetooth テクノロジーの広範な機能に追加されたこのエキサイティングな機能の詳細については、Bluetooth Core Specificationをダウンロードしてください!

6.参考文献

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/

 

脚注


1.汎用属性プロファイル
2.速度は信号が通過する物質によって変化する。しかし、理論的な計算では光速を用いるのが一般的である。
3.CSモードについては3.5節で説明する。
4.ガウス周波数シフト・キーイング

Get Help