このページでは、Android 13 以降を搭載したデバイスにおけるプレゼンス キャリブレーション要件のセットアップとキャリブレーションの手順について説明します。
背景
ユーザーのスマート デバイスが適切に連携するためには、Android エコシステム内のすべてのデバイスがデバイス間の相対的な近接性を判別できることが重要です。Android 13 では、近接性の判別に使用できる無線技術(UWB、Wi-Fi、BLE など)の許容可能なパフォーマンスの概要を規定するプレゼンス キャリブレーション要件が導入されています。このページでは、エコシステム内のデバイス間の相互運用性を確保するために、デバイスが満たす必要があるキャリブレーション基準について説明します。
参照デバイス
プレゼンス要件を満たすようにデバイスを調整するには、すべてのキャリブレーションで以下の参照デバイスのいずれかを使用します。
- (推奨)LitePoint などのキャリブレーション デバイス
- モバイル デバイス(このオプションを使用する場合は Google Pixel 6 をおすすめします)
フォーム ファクタ
プレゼンス キャリブレーションの要件は、すべてのフォーム ファクタの Android デバイスに適用されます。スマートフォン以外のフォーム ファクタの場合、デバイス用の適切なキャリブレーションのセットアップを決定するには、スマートフォン(参照デバイス)を持っているユーザーがテスト対象デバイス(DUT)を操作する際にどのような位置にいるかを考慮する必要があります。たとえば、テレビをキャリブレーションするときは、テレビとスマートフォンを適切な距離に置き、モバイル デバイスがテレビ画面の中央を向くようにします。
UWB 要件
このセクションでは、CDD の以下の UWB 要件を満たすようにデバイスを調整する方法について説明します。
デバイス実装に UWB ハードウェアが含まれる場合、実装には以下の要件が適用されます。
- [C-1-1] 見通せる環境において 1 m の距離で測定した測定値の 95% で、距離の測定値が +/-15 cm 以内になるようにしなければなりません。
- [C-1-2] 参照デバイスから 1 m の距離で測定した値の中央値が [0.75 m, 1.25 m] 以内になるようにしなければなりません。この場合、グラウンド トゥルースの距離は、上を向けて 45 度傾けた DUT の上端から測定します。
要件 [C-1-1]
要件 [C-1-1] を確認するには:
- 見通せる環境の無反射チャンバー内の参照デバイスから 1 m の距離にあるテスト対象デバイス(DUT)で 1,000 回測定を行います。
- 1,000 個の測定値を昇順で並べ替えます。
- [範囲 = 975 番目の測定値 - 25 番目の測定値] として範囲を計算します。
- CTS 検証ツールで範囲をレポートします。合格するには、範囲が 30 cm 未満であることが必要です。
- 使用した参照デバイスをレポートします。
要件 [C-1-2]
確認
要件 [C-1-2] を確認するには:
- DUT を 45 度傾けます(これはユーザーがデバイスを手で持つときのおおよその値です)。別の(キャリブレーション デバイスではない)モバイル デバイスを参照デバイスとして使用する場合は、参照デバイスを上向き(縦向き)にして、DUT と参照デバイスの両方が同じ方向を向くようにします。
- 見通せる環境で、無反射チャンバー内の参照デバイスから 1 m の距離にある DUT を使用して 1,000 回測定を行います。
- 測定値を昇順で並べ替えます。
- CTS 検証ツールで中央値(500 番目の値)をレポートします。合格するには、値が [0.75 m, 1.25 m] の範囲内にあることが必要です。
- 使用した参照デバイスをレポートします。
Wi-Fi Neighbor Awareness Networking 要件
このセクションでは、CDD の Wi-Fi Neighbor Awareness Networking(NAN)要件を満たすようにデバイスを調整する方法について説明します。
デバイスが
PackageManager.FEATURE_WIFI_AWARE
を宣言して Wi-Fi Neighbor Awareness Networking(NAN)プロトコルをサポートし、PackageManager.FEATURE_WIFI_RTT
を宣言して Wi-Fi Location(Wi-Fi ラウンド トリップ時間 - RTT)をサポートしている場合、デバイスには以下の要件が適用されます。
[7.4.2.5/H-1-1] WifiRttManager#startRanging Android API を介して確認した 10 cm、1 m、3 m、5 m の距離における範囲を累積分布関数で計算し、求められる精度でレポートする必要があります。必要な精度は、160 MHz 帯域幅では 68 パーセンタイルで +/-1 メートル以内、80 MHz 帯域幅では 68 パーセンタイルで +/-2 メートル以内、40 MHz 帯域幅では 68 パーセンタイルで +/-4 メートル以内、20 MHz 帯域幅では 68 パーセンタイルで +/-8 メートル以内です。
[7.4.2.5/H-SR] WifiRttManager#startRanging Android API を介して確認した 10 cm の距離における範囲を累積分布関数で計算し、求められる精度でレポートすることが強く推奨されます。必要な精度は、160 MHz 帯域幅では 90 パーセンタイルで +/-1 メートル以内、80 MHz 帯域幅では 90 パーセンタイルで +/-2 メートル以内、40 MHz 超の帯域幅では 90 パーセンタイルで +/-4 メートル以内、20 MHz 帯域幅では 90 パーセンタイルで +/-8 メートル以内です。
要件 [7.4.2.5/H-1-1]
要件 [7.4.2.5/H-1-1] を確認するには:
160 MHz 帯域の場合、10 cm、1 m、3 m、5 m の各グラウンド トゥルース ポイントで 1,000 回距離測定を行います。
各ポイントで次の処理を行います。
- 測定値からグラウンド トゥルース(ポイント)を差し引いて誤差を計算します。
- 誤差を昇順で並べ替えます。
- CTS 検証ツールで誤差の中央値(500 番目の測定)をレポートします。
- 誤差の絶対値を取ってもう一度並べ替えます。
- 68 パーセンタイルを 680 番目の値として計算します。
- CTS 検証ツールでこれをレポートします。合格するには、範囲が 2 m 未満であることが必要です。
使用した参照デバイスをレポートします。
CDD の要件で規定されている他の帯域についてステップ 1~3 を繰り返します。
BLE RSSI 要件
このセクションでは、CDD の BLE RSSI 要件を満たすようにデバイスを調整する方法について説明します。
FEATURE_BLUETOOTH_LE
を宣言する場合、デバイス実装は:
- [C-10-1] 見通せる環境において
ADVERTISE_TX_POWER_HIGH
で送信する参照デバイスから 1 m の距離で測定した RSSI の 95% が、+/-9 dBm 以内でなければなりません。- [C-10-2] 3 つのチャンネルそれぞれのアンテナ(複数使用されている場合)での測定値の 95% が、互いに +/-3 dBm 以内になるように、チャンネルごとの偏差を低減するための Rx / Tx 調整を含まなければなりません。
- [C-SR]
ADVERTISE_TX_POWER_HIGH
で送信する参照デバイスから 1 m の距離で測定した BLE RSSI の中央値が -60 dBm +/-10 dBm になるように、Rx オフセットを測定、補正することが強く推奨されます。その際、各デバイスを「平行面」に配置して、画面を同じ方向に向けるようにします。- [C-SR] 1 m の距離に位置し、
ADVERTISE_TX_POWER_HIGH
で送信する参照デバイスからスキャンしたときに、BLE RSSI の中央値が -60dBm +/-10 dBm になるように、Tx オフセットを測定、補正することが強く推奨されます。その際、各デバイスを「平行面」に配置して、画面を同じ方向に向けるようにします。
キャリブレーションのセットアップ
BLE RSSI 要件を満たすようにデバイスを調整するには、次のようにセットアップします。
一般的なセットアップ要件
- キャリブレーションは無響室で行う必要があります。または、参照デバイスと DUT を支える 2 台の三脚を、地面から 1.5 メートルの高さになるように設置します。
- 三脚は非金属製でなければなりません。
- デバイス ホルダーは非金属製でなければなりません。
- DUT と参照デバイスから 1 m 以内に金属製の物体があってはなりません。
- 参照デバイスとすべての DUT を少なくとも 50% 充電する必要があります。
- テスト中は参照デバイスと現在の DUT の電源コードを抜いておく必要があります。
- 高周波(RF)性能に影響する可能性がある充電ケースや接続ケーブルなどの機器を参照デバイスと DUT に接続してはなりません。
画面の向きの要件
- 参照デバイスは縦向きにする必要があります。
- 別の(キャリブレーション デバイスでない)モバイル デバイスを参照デバイスとして使用する場合は、DUT と参照デバイスの向きを調整して、両方が同じ方向を向くようにします。
図 1. BLE キャリブレーションの参照セットアップ
要件 [C-10-1]
要件 [C-10-1] を確認するには:
- DUT で 1,000 回スキャン測定を行います。
- 測定値を昇順で並べ替えます。
- [範囲 = 975 番目の測定値 - 25 番目の測定値] として範囲を計算します。
- CTS 検証ツールで範囲をレポートします。合格するには、範囲が 18 dBm 以下であることが必要です。
- 使用した参照デバイスをレポートします。
要件 [C-10-2]
要件 [C-10-2] を確認するには、チップベンダーと協力します。チップベンダーは、チャネルの平坦性を測定し、コアとチャネルの差異を特定することができます。未調整のコアと未調整のチャネルの問題を特定する方法に関するヒントを次に示します。これらは RSSI が大きく発散する 2 つの原因となる可能性があります。
未調整のコア
デバイス(BT アンテナ)に複数のコアがある場合、コアによってキャリブレーションが異なることがあります。数回(少なくとも 1 分間分)の測定を行い、スキャンデータをチェックします。図 2 のようなパターンが見られる場合、つまり複数のコアでのスキャンによる周期的なピーク(円で示されています)がある場合は、未調整のコアの問題がある可能性が高いため、さらなる調査が必要です。
図 2. 未調整のコアがあるデバイスのスキャンデータの例
未調整のチャネル
クラシック BLE での伝送は 3 つのチャネルで行われます。各チャネルに、それに関連する差異が存在する場合があります。チャネルは一定の間隔でローテーションされます。数回(少なくとも 1 分間分)の測定を行い、スキャンデータをチェックします。図 3 のようなパターンが見られる場合は、いくつかのチャネルに誤ったキャリブレーションの問題がある可能性が高いため、さらなる調査が必要です。
図 3. 未調整のチャネルがあるデバイスのスキャンデータの例
[C-SR] 要件
BLE 無線チップが完全に調整されているときでも、特定のデバイスが検出する RSSI は、特定の製品(デバイスモデル)のアンテナ品質とアンテナ配置によって異なります。これにより、デバイス間の相互運用性に問題が発生します。
たとえば、自動車のロックを解除するユースケースについて考えてみましょう。このケースでデベロッパーは、デバイスが自動車から 1 メートル以内にあるときにロックを解除するケースを想定しました。デベロッパーは、スマートフォンでの観測に基づいて、-60 dBm のしきい値を選択しました。しかし、アンテナ品質とアンテナ配置の違いにより、2 つの Android デバイスで同じチップを使用していても、このしきい値が一方のデバイスではうまく機能しない場合があります。
エコシステム内のすべてのデバイス間の相互運用性を確保するには、各デバイスの Rx オフセットを測定し、デバイスでレポートされる RSSI を、BLE RSSI が ADVERTISE_TX_POWER_HIGH
の 1 m という基準を満たすように調整することを強くおすすめします。
Rx 要件を確認するには:
- DUT で 1,000 回スキャン測定を行います。
- 測定値を昇順で並べ替えます。
- CTS 検証ツールで中央値(500 番目の値)をレポートします。合格するには、中央値が [-50, -70] dBm の範囲内にあることが必要です。
- 使用した参照デバイスをレポートします。
BLE 無線チップが完全に調整されているときでも、理想的な受信機は、アドバタイズする側の製品のアンテナ品質とアンテナ配置に応じて、異なる RSSI を読み取ります。Rx 要件は、その他の条件がすべて同じであれば、すべてのデバイスが同じ結果強度でアドバタイズできることを保証します。
Tx 要件を確認するには:
- DUT で BLE アドバタイズを開始し、参照デバイスで 1,000 回スキャン測定を行います。
- 測定値を昇順で並べ替えます。
- CTS 検証ツールで中央値(500 番目の値)をレポートします。合格するには、中央値が [-50, -70] dBm の範囲内にあることが必要です。
- 使用した参照デバイスをレポートします。