高精度アセットトラッキングおよび屋内位置決めにおけるBluetooth 5.1対応プラットフォームの使用 - 第2部
DigiKeyの北米担当編集者の提供
2019-08-14
編集者の注釈:この2部シリーズの第1部では、Bluetooth Low Energyファームウェアに加わったBluetooth 5.1方向検出機能について説明しています。この機能により、設計者は到来角(AoA)と離脱角(AoD)に基づいたアセットトラッキングおよび屋内位置決めシステム(IPS)などの位置情報アプリケーションを開発できるようになります。今回の第2部では、Bluetooth 5.1方向検出アプリケーションを構築および設定するための適切な開発プラットフォームやSoCについて考察します。
Bluetoothコア仕様の最新バージョン(バージョン5.1)により、開発者はアセットトラッキングおよび屋内位置決めシステム(IPS)を実装しやすくなりました。具体的に言うと、この仕様ではBluetoothパケットに連続トーン拡張(CTE)を追加して、変調の悪影響なしでレシーバがRF信号から「IQ」データ(トランシーバの位置を計算するのに必要な同相および直交位相情報)を抽出できるようにしています。さらに、ホストコントローラインターフェース(HCI)を使用してIQサンプリングのコントローラを設定することで、いっそう簡単にプロトコルを設定してIQサンプリングを実行できるようになりました。
ただし、IQデータの抽出は依然として容易ではなく、適切に設計されたアンテナアレイをワイヤレスマイクロプロセッサと連携させて使用する必要があります。IQデータが取得できるようになったとしても、トランスミッタの位置を計算できるようにする前に、マルチパス受信、信号の極性化と伝播遅延、ノイズ、およびジッタを考慮に入れて、そのデータを処理する必要があります。
この記事では、実用的なソリューションの必要条件を説明したのち、Dialog Semiconductor、Silicon Labs、およびNordic Semiconductorが提供するBluetooth 5.1方向検出アプリケーションの構築に使用可能な適切な開発プラットフォームおよびモジュールを紹介します。そして最後に、これらのプラットフォームの設計を試作、テスト、検証する方法を紹介します。
Bluetooth 5.1パケットのアーキテクチャ
Bluetooth 5.1パケットには、信号のこの部分に対してアンテナが確実に定周波数(Bluetoothデータを伝送するのに通常使用される変調された周波数ではなく)を受信するためのデジタル「1s」で構成されるCTEが含まれます。さらに、このデータストリングはホワイトニング(つまり無相関化)されません。適切に設定されたBluetooth Low Energy(LE)無線は、CTE信号を組み込んだパケットを受信し、CTE期間中にIQサンプルを取得しながら進みます。1つのIQサンプルは、信号の振幅、およびデカルト座標として表される位相角で構成されます(図1)。
図1:方向検出アプリケーションは、アレイの各アンテナにおいてBluetoothパケットのCTE部分中に位相角および振幅IQサンプルを取得する受信Bluetooth LEデバイスで開始されます。これらのサンプルは、(I、Q)デカルト座標として表されます。(画像提供:Bluetooth SIG)
Bluetoothコア仕様バージョン5.1は、AoAおよびAoD技術がコネクテッド(「ペアリング」)通信またはコネクションレス通信を使用できるようにするBluetooth LEコントローラへの変更を明らかにします。ただし、一般的にAoAはアセットトラッキングなどのコネクテッドアプリケーションで使用され、AoDはIPSなどのコネクションレスアプリケーションで使用されます。
コネクテッド方向検出は、最後にCTEが追加された標準Bluetooth 5.1パケットを使用します。対照的に、コネクションレス方向検出は、Bluetooth周期的アドバタイジングパケットに追加されたCTEを使用します(図2)。
図2:CTEの位置と時間を示すBluetooth 5.1パケット構造コネクテッドアプリケーションは、標準パケットにCTEを追加しますが、コネクションレスアプリケーションはアドバタイジングパケットを使用します。(画像提供:Bluetooth SIG)
コネクテッドとコネクションレスの両方のシナリオで、開発者はセットアップおよび設定手順を実行して、トランスミッタでCTEを開始し、レシーバでIQサンプリングを開始する必要があります。AoAまたはAoDベースのアプリケーションのどちらを選ぶかで、実際のプロセスが決まります。
方向検出ソリューションの構築
AoAは、アセットトラッキングのようなアプリケーションに適しています。この場合、トランスミッタは簡単な低価格タグなどのモバイルアイテムで、レシーバ(またはロケータ)は固定基準点です。この実装の利点は、タグが単一のアンテナ(アレイではなく)を使用してBluetooth 5.1プロトコルパケットを送信するだけでよいこと、トランスミッタの位置を最終的に特定するための計算集約的なアルゴリズムを実行する必要がないことです(第1部を参照)。
アセットトラッキングシステムのタグの設計は比較的簡単な無線周波数(RF)設計原理に従っていますが、CTEを含めてパケットを構成できるように、タグはBluetooth 5.1トランシーバを必要とします。トランシーバを選択する場合、Bluetooth LE Coded PHY(Bluetooth 5技術の長距離機能を実装するのに使用される無線)ではCTEを送信できないことに注意する必要があります。むしろ、PHYは非符号化タイプである必要があります。
いくつかの商用Bluetooth 5.1製品が利用可能です。たとえば、Dialog Semiconductorは、位置情報サービスアプリケーション向けにDA14691 Bluetooth 5 LE SoCを提供しています。このチップは、Arm® Cortex®-M33マイクロプロセッサによって駆動され、512Kバイトのランダムアクセスメモリ(RAM)を搭載しています。Dialog社は、DA14691用にBluetooth 5.1スタックを提供しています。Silicon Labsも、EFR32BG13 Bluetooth LE SoC用のBluetooth 5.1スタックを発売しました。このチップは、Arm Cortex-M4マイクロプロセッサを使用し、64KバイトのRAMと512Kバイトのフラッシュを搭載しています。また、Nordic Semiconductorは、さらに1歩進んで、nRF52811という新しい「方向検出」ハードウェアおよびソフトウェアソリューションを発売しました。このBluetooth LE SoCは、Bluetooth 5.1と互換性があり、NordicのハイエンドnRF52840デバイスのマルチプロトコル無線を組み合わせたArm Cortex-M4マイクロプロセッサを内蔵しています。このチップには、192Kバイトのフラッシュと24KバイトのRAMが搭載されています。
これらのデバイスは、Bluetooth方向検出アプリケーションのトランスミッタやレシーバに適しています。各デバイスはCTE送信をサポートしており、トランスミッタのアンテナレイアウトを特定するプロファイルレベル情報を活用して、IQサンプルをキャプチャできます。理論的には、これらのデバイスは、受信無線信号の入射角とそれに基づくトランシーバの位置の算出に必要とされる複雑な計算を実行することもできます。ただし、これらのSoCで使用されるArm Cortex-M33およびM4プロセッサは比較的強力ですが、複雑な方向検出アルゴリズムの実行中にワイヤレスプロトコルを同時管理しようとすると、アプリケーションの性能が低下する可能性があります。
アプリケーションで要求される性能およびレイテンシに応じて、開発者はアプリケーションソフトウェア専用のコンパニオンプロセッサ(追加のRAMおよびフラッシュへのアクセスに対応)を検討できます。たとえば、NordicのnRF52811は、集積回路間(I2C)インターフェースおよびシリアルペリフェラルインターフェース(SPI)経由でコンパニオンプロセッサとインターフェース接続するように設計されています。
さらなる設計課題となるのは、通常Bluetooth LE SoCには、コストを抑えるため、アレイ内の各アンテナの系統的な処理に必要な複数のアンテナポートまたはスイッチング性能がないという点です。したがって、アレイの複数のアンテナにBluetooth LE SoCの単一アンテナポートを接続し、アンテナを切り替えて各アンテナからIQデータを収集するために、RFスイッチが必要になります。
図3:AoA方向検出アセットトラッキングシステムでは、タグは単一のアンテナおよび従来のBluetooth LE SoCを使用して、CTEを含むBluetooth 5.1パケットを送信します。主な計算は、システムの複数アンテナロケータ側で発生します。そこでは、ロケータにより収集された信号データが、方向検出アルゴリズムを実行する位置情報エンジンに供給されます。(画像提供:Bluetooth SIG)
レシーバ(またはロケータ)には、アレイ内の各アンテナから単一送信アンテナまでの距離差に基づく信号の位相差を(IQデータを介して)検出するためのアンテナアレイが必要です。各アンテナの位相角の差によって、AoAかAoDかが決まります。
一般的に、アンテナ設計は、等間隔線形アレイ(ULA)、等間隔長方形アレイ(URA)、等間隔円形アレイ(UCA)という3つのタイプのいずれかに該当します。アンテナアレイの設計には豊富な経験が必要です。第1部で説明したように、最適なアレイの構成も、アレイを大量に構築するための部品表(BoM)の提供も、サードパーティの専門家に任せたほうが開発者にとって効率的であることが多いです。
アンテナアレイ、コンパニオンプロセッサ、追加メモリ、およびアンテナ管理の要件により、アセットトラッキングソリューションのロケータ側で複雑性が高まるほか、コスト、消費電力も上昇します。プラス面としては、通常、ロケータは固定位置にとどまり主電源となることができます。多くのソリューションでは、タグの数と比較して必要とされるデバイスは比較的少数です。
AoDの実装はもう少し複雑になります。このシナリオでは、トランスミッタにアンテナアレイが組み込まれています。レシーバはIQサンプリングを実行し、単一アンテナから測定値を取得します。さらに、リモートトランスミッタ内のアンテナアレイの設計詳細を使用して、その測定値が特定のアンテナに起因するものだと結論づけます。
AoDの実装では、固定ロケータのビーコンがビーコン信号を送信するのに、Bluetooth 5.1トランシーバ、RFスイッチ、および複数のアンテナが必要ですが、AoAの実装で必要となるような追加のプロセッサやメモリは不要です。リンクのこちら側では信号解析が実行されないためです。ただしモバイルレシーバは、単一アンテナのみ必要とする一方、方向検出計算を実行するためにはハードウェアとソフトウェアも必要です(図4)。たとえば、IPSアプリケーションでは、レシーバはBluetooth 5.1対応スマートフォンである可能性が高く、タスクを完了するのに十分なプロセッサおよびメモリリソースを備えています。
図4:AoD方向検出IPSシステムでは、固定ビーコンがアンテナアレイを使用してCTEを含むBluetooth 5.1パケットを送信します。主な計算は、消費者のスマートフォンなどのモバイルデバイスで行われます。(画像提供:Bluetooth SIG)
Bluetooth 5.1を使用した試作
現在、Dialog Semiconductor、Silicon Labs、およびNordic Semiconductorは、CTEパケットを送受信し、IQサンプリングを実行するAoAおよびAoDアプリケーションの分野にソリューションを集中させています。そのため、実際の方向検出計算を実行するためにどのリソース(ハードウェアおよび位置情報エンジンファームウェア)が必要になるかという判断は開発者に委ねられています。ただし、ベンダーが高性能の方向検出ソリューションをリリースすれば、この状況は近い将来に変化する見込みです。
たとえば、各メーカーは、AoAアセットトラッキングアプリケーションのタグの試作をサポートする開発ツールを提供しています。その開発プロセスは、従来の低電力ワイヤレスデバイス向けの開発プロセスにならうのが一般的です。たとえば、工場出荷時にフル機能を搭載したトランシーバで構成される開発キットは、Bluetooth 5.1ターゲットデバイスおよび周辺機器に基づいており、アプリケーション開発を可能にする適切な統合開発環境(IDE)およびチップメーカーのソフトウェアツールをホストするPCまたはMacに接続されます。
Dialogの場合、同社はDA14695-00HQDEVKT-P-ND開発キットをBluetooth 5.1開発のベースとするように勧めています。このキットには、マザーボード、DA14695 Bluetooth 5.1 SoCに基づくドーターボード、およびPC接続用のケーブルが含まれます。この開発キットは、Arduinoシールド、MikroElektronikaのmikroBUSシールド、および電力測定もサポートしています。
Silicon Labsは、SLWSTK6006A Wireless Geckoスターターキットを提供しています。この開発キットには、EFR32BG21 Bluetooth 5.1 SoCベースのドーターボードが6個も含まれています。これにより、複数のタグを使用したアセットトラッキングシステムの試作が可能になります。この開発キットは、Flex SDKアプリケーションおよび構成ソフトウェア開発ツールをサポートする同社のSimplicity Studioとの併用を意図して設計されています。
Nordicは、nRF52840-DK評価ボードを提供しています。この評価ボードは、nRF52811 Bluetooth 5.1 SoCと完全な互換性がある同社のnRF52840 SoCをベースとしたものです。アプリケーション開発およびシステム構成は、同社のnRF5 SDKを介して実行されます。nRF5 SDKとは、多くの一般的なIDEによりサポートされているソフトウェア開発ツールです。(Bluetooth Low Energyアプリケーション開発の詳細については、DigiKeyの記事「IoTの要件を満たすBluetooth 4.1、4.2、および5対応Bluetooth Low Energy SoCおよびツール」を参照してください。)
Bluetooth 5.1は、デフォルトでCTEを含むパケットを送信したり、IQサンプリングを行ったりしません。開発者は、ベンダーの開発ツールを使用することにより、システムを構成して、これらの機能を追加する必要があります。これらのツールは、ホストコントローラインターフェース(HCI)へのアクセスを可能にします。HCIは、CTE生成およびIQサンプリングのコントローラを設定するためにホストによって使用されます。
コネクションレスのシナリオ(一般的にAoDによって使用されるタイプ)の場合、ホストは以下のコントローラ初期化の手順を実行します(図5)。
- 拡張アドバタイジングを設定する
- 周期的アドバタイジングを設定する
- CTE送信を設定する
- CTEアドバタイジングを有効にする
- 周期的アドバタイジングを有効にする
- 拡張アドバタイジングを有効にする
- アドバタイジングデータを設定する
図5:コネクションレスのシナリオでホストにより実行されるコントローラ初期化手順(一般的にAoDによって使用されます)。(画像提供:Bluetooth SIG)
CTEデータを受信したり、アドバタイザにより送信されたIQサンプルを取得したりするために設計されたスキャニングデバイスは、以下のように設定する必要があります。
- 拡張スキャニングを設定する
- 拡張スキャニングを開始する
- 受信した周期的アドバタイジング同期パケットと同期する
- コネクションレスIQサンプリングを有効にする
コネクテッドのシナリオ(一般的にAoAにより使用されるシナリオなど)では、マスターまたはスレーブデバイスのいずれかがCTEを含むパケットを送信するように他のデバイスに要求します。CTE作成を設定する数多くのパラメータを含むリンクレイヤ(LL)CTEリクエストパケットを送信することにより、リクエストが作成されます。リモートデバイスがCTEをサポートしない場合、ローカルデバイスにその事実を通知します。それ以降、ローカルデバイスは現在の接続を使用してCTEリクエストを送信しなくなります。
詳細なプロセスは次のとおりです。要求デバイスは以下の手順を実行します。
- コントローラのCTE受信パラメータの設定
- コントローラのCTEリクエストの有効化
- IQリポートの受信と処理
- 不要になった場合のCTEリクエスト送信の無効化
応答デバイスは以下の手順を実行します。
- コントローラのCTE送信パラメータの設定
- コントローラのCTE応答の有効化
- 他のデバイスからのLL CTEリクエストの受信と応答
Bluetooth 5.1仕様では、HCIは新しいコマンド「LE Read Antenna Information」を備えています。これにより、ホストはコントローラによってサポートされているアンテナに関する情報を取得できます。リモートデバイスのアンテナアレイに関する情報を取得するための手順はまだ定義されていません。
アンテナアレイを使用してIQサンプリングを実行する場合、キャプチャした各サンプルは特定のアンテナに起因すると考える必要があります。また、サンプリングは系統的な方法で完了する必要があります。HCI構成コマンドで指定されたパターンを使用し、厳格なタイミングルールに従うことは、この系統的なアプローチに役立ちます。これらのルールの適用方法やどのデバイスがどのルールによって規定されるかは、アプリケーションがAoAまたはAoDのどちらを使用するか、またデバイスが送信または受信のどちらを実行するかによって決まります。たとえば、単一アンテナを使用する送信デバイスは、CTEを含む連続パケットを送信します。ただし、IQサンプリングは、使用するアンテナの数に関係なく、常に受信デバイスによって実行されます。
CTE処理に割り当てられた時間は、最初の4マイクロ秒(μs)の保護期間、8μsのリファレンス期間、さらにスイッチスロット、サンプルスロット、またはスイッチおよびサンプルスロットのペアのシーケンスに分割されます(図6)。
図6:この例は、AoAアプリケーションにおける1µsおよび2µsタイミングのスイッチングとサンプリングを示しています。単一アンテナを使用する送信デバイスは、スイッチングおよびサンプリングシーケンスに基づく受信デバイスによるIQサンプリングの実行中に、CTEを含むパケットを送信し続けます。(画像提供:Bluetooth SIG)
リファレンス期間中、アンテナのスイッチングは発生せず、8個のIQサンプルが取得されます。ホストは、リファレンスサンプルを使用して、信号の周波数を推定したり、波長を推測したりできます。これにより、角度計算の精度が向上します。[1]
まとめ
バージョン5.1でBluetoothコア仕様に対して実施された機能強化では、CTEおよびIQサンプリングを使用して、方向検出に必要な生データが生成されます。この仕様は、信号方向を特定するために実績のあるエンジニアリング技術を使用し、インターフェース、構成、およびインタラクションを標準化します。さらなる利点は、Bluetoothソリューションを提供するチップベンダー全体で、正確な方向検出が相互運用可能になる点です。
チップメーカーがこれまで迅速に、ハードウェアソリューション、ソフトウェア、開発キット、およびソフトウェア開発キットを提供してきたため、開発者はBluetooth方向検出を活用するシステムの構成に短期間で精通できます。商用アセットトラッキングおよびIPSアプリケーションには、とりわけアンテナアレイの設計や位置情報エンジンファームウェアにおいて、依然として高レベルの開発専門技術が求められています。ただし、今後のBluetooth方向検出プロファイルによりこの課題はいっそう軽減される見込みです。
リファレンス
1:『Bluetooth Direction Finding: A Technical Overview(Bluetooth Direction Findingの技術概要)』、マーティン・ウーリー氏、Bluetooth SIG、2019年3月。
免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。


