ぽぽろん研究所のサムシング

twitter:@poporon_labもよろしく

デバイスの方向を調べる仕組み~到来角と位相差~【2022/08/21】

こんにちは、ぽぽろん研究所です。

今週の土日も一瞬で蒸発してしまったように感じています。どうして休日は儚いのでしょうか?平日を排水溝に流さたらいいのに。

さてさて、今回はワイヤレスな内容です。最近のBluetoothなどでは、通信しているデバイスがどの向きにあるのかを調べることができます。この仕組について簡単に説明を書こうと思います。

構成

通信しているデバイスの向きを調べるためには、位相差を用いて調べます。位相差を取得するためには、受信端末(向きを調べる端末)が2つ以上のアンテナが搭載されている必要があります。

仕組み

図のようにアンテナが2つがある構成を考えます。

Antenna 1とAntenna 2では受信する電波の通信路が異なり、距離に差が発生します。このときの通信路差は図から以下の様になります。

 通信路差 = d \sin \theta

次に位相差について考えていきます。位相差とは図のようにずれている波形がどれだけずれているかを表しています。

Antenna 1とAntenna 2の間には通信距離に差があるので、受信する電波は図のようにずれています。これが位相差となって取得することができます。この位相差を\phi [rad]として、Antenna 1とAnttena 2の通信路差を計算します。

電波は2 \pi進むのに、一波長(\lambda)の距離進みます。そのため、1[rad]あたりに進む波長は\lambda / (2 \pi)として表すことができます。したがって、位相差\phiを用いてAntenna 1とAntenna 2の通信路差を表すと以下のようになります。

 通信路差 = \phi \lambda / (2 \pi)

最初の図のAntenna 2を基準とすると、Antenna 1は通信路は短くなっているので、通信路差は -d \sin \thetaとなるので、最終的に以下の様になります。

 \phi \lambda / (2 \pi) = -d \sin \theta

これを解くことで、電波の到来方向である到来角\thetaは以下のように求めることができます。

\theta = \arcsin(\frac{\phi \lambda}{-2\pi d})

最後に

今回出てきたワードの位相差をPDoA(Phase Difference of Arrival)と呼び、到来角をAoA(Angle of Arrival)と呼びます。場所によって呼び方が違っているような気もしますが、気にしないでおきます。

波が出てくると突然計算が嫌になるのはなぜなのか、神が計算させるのを妨げているとしか考えられないです。

それでは、また次回。

参考

Wi-Fiの到来角推定 https://ipin2016.web.uah.es/usb/app/descargas/223_WIP.pdf

Bluetoothの方向検出
https://www.digikey.jp/ja/articles/use-bluetooth-5-1-enabled-platforms-part-1