LimeSDRやRTL-SDRでのTDoAの話

LimeSDRでTDoAできるか気になるので調査してみた。

 

結論から言うと、外部クロック(GPSDO等)を用いればLimeSDRで時刻同期できるため、TDoAが可能な模様。

discourse.myriadrf.org

 

しかし、1万円以上するGPSクロックを使うなら、以下RTL-SDRを使う方法で同期信号を利用したほうが良い。

 

 

 RTL-SDR TDoA

周辺の無線局の参照信号を同期信号とし、RTL-SDRで参照信号と対象信号を受信することでTDoAを実現している。

www.panoradio-sdr.de

 同期方法のポイントは、無線局とRTL-SDRの距離を元に同期補正をかけている事。

RTL-SDRで同期信号を受信しただけでは無線局と各RTL-SDRの距離に応じて、各RTL-SDRの同期時刻ずれが生じてしまう。そのため、無線局と各RTL-SDRの距離に応じた同期補正をかけることが必要となる。

コードはMATLABスクリプトとなっている。GNURadioでリアルタイム処理場合は、IQデータ共有のブロードバンド回線が必要となる。

GitHub - DC9ST/tdoa-evaluation-rtlsdr: Matlab Scripts for Evaluation of a TDOA System based on RTL-SDRs

 

到来時間算出法

LoRa-TDoA

LoRaWANによるTDoA。複数のLoRa GWでLoRa端末から信号の到来時間ToF(Time of Flight)を算出し双曲線関数を解く事で、端末の位置を推定している。

ToFはどのように算出しているのか?

GPS-free Geolocation using LoRa in Low-Power WANsによると、LoRAGWはGPS同期してるらしい。結局GPSを使っている…。

all gateways are synchronized by using the 

 

timestamp from the GPS satellites

因みに3端末間の距離が分かると、各々の相対的な位置関係がわかる…。

http://joomlaweb.blog117.fc2.com/blog-entry-759.html?sp

LTE Timing Advance

1TA=78m (=100km/1282)なので…

TAは11bit(2048)で表されるらしいが、レンジは1282らしい…

http://www.techtrained.com/time-advanced-in-lte-uplink/

 

各種Position Estimationが比較されている。

詳細は全部読めていない…

https://www.google.com/url?sa=t&source=web&rct=j&url=https://www.mdpi.com/1424-8220/18/8/2470/pdf&ved=2ahUKEwi7uMe2763oAhXZBogKHfNZDnYQFjAFegQIBhAC&usg=AOvVaw2x88hVdipptP2e8gUyZrC_&cshid=1584872898654

 

BackScatter

BackscatterならRTTがそのまま距離となる。

通信方式毎のBackscatter可能な距離がまとめられいてる。Transmitter直下のLoRaBackscatterだと2km程飛ぶが、往復だと1kmも飛ばない。

f:id:jijiken0417:20200322200312p:plain

https://www.google.com/url?sa=t&source=web&rct=j&url=https://www.mdpi.com/1424-8220/18/8/2470/pdf&ved=2ahUKEwi7uMe2763oAhXZBogKHfNZDnYQFjAFegQIBhAC&usg=AOvVaw2x88hVdipptP2e8gUyZrC_&cshid=1584872898654

 

WLAN OWPT Measurement

802.11 beaconを使うことで、nsオーダで伝搬時間を推定できている?

全部読みこめていない...。

https://core.ac.uk/download/pdf/25865871.pdf

 

nsオーダ同期調査

AP間のnsオーダ同期技術が無いか探索してみる。

 

NTP ×

NTPはMasterから通知される時刻に対し、RTT/2を補正した時刻をslaveにセットする事で時刻同期を行う。但しnsオーダは?

f:id:jijiken0417:20200322203056p:plain

 

IEEE1588

NTPではないが...時刻同期規格IEEE1588に改良を加えると、瞬断時においても100ns以内の時刻同期ができている。次世代変電所における時刻同期技術 - 東芝

https://www.google.com/url?sa=t&source=web&rct=j&url=https://www.toshiba.co.jp/tech/review/2011/04/66_04pdf/a07.pdf&ved=2ahUKEwi6k5Hehq7oAhWCZt4KHRYzDMAQFjAGegQICBAB&usg=AOvVaw0jD-ztblYNR_vxkXv8y5gp

 

NTTは1msジッタ環境で1μs以内、直結で10ns以内

https://www.google.com/url?sa=t&source=web&rct=j&url=http://www.ntt.co.jp/journal/0803/files/jn200803063.pdf&ved=2ahUKEwi6k5Hehq7oAhWCZt4KHRYzDMAQFjALegQIAhAB&usg=AOvVaw1is2wMl1s-d1fDf62gGe9i&cshid=1584879650726

IEEE1588 with 802.11

アプリケーションレベルでの同期はmsオーダ。

誤差要因はWLAN MACからPHY?

MACやPHYのTimestampが無いとサブmsオーダは難しい?

TSF timer accuracyは100μs以内。

http://www.ieee802.org/1/files/public/docs2008/avb-rhee-802-11n-timestamp-0908.pdf

 

WLANのTSF(Timing Synchronization Function)は精度は200μs以内。先の文献と近しい。

無線LANによる機器間同期技術

https://www.toshiba.co.jp/tech/review/2015/01/70_01pdf/f02.pdf

 

 

無線 LAN における高精度時刻同期方式の検討と実験 によれば MACレベルでは2.6μsオーダ実現可能な模様。

https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=61816&item_no=1&attribute_id=1&file_no=1

 

これらIEEE1588はLTEの同期等に使われている

https://www.sitime.com/api/gated/AN10052-IEEE1588-Precision-Time-Protocol-ITU-T-Standards_1.pdf

 

Chrony ×?

NTPに代わる同期プロトコルChronyは、ハードウェアではサブμ秒以下で同期できるようだ。

Chrony は、ネットワーク接続が頻繁に切断される、ネットワークの混雑が長時間続く、温度が変わる (一般的なコンピューターのクロックは温度に敏感) といった様々な条件下や、継続的に実行されない、または仮想マシンで実行されているといったシステムにおいても、良好に動作します。

 

インターネット上で同期している 2 つのマシン間の一般的精度は数ミリ秒以内、LAN 上のマシン間では数十マイクロ秒以内です。ハードウェアタイムスタンプまたはハードウェア基準クロックは、同期している 2 つのマシン間の精度をサブマイクロ秒レベルにまで高めることができます。

 

最終的に…相対的な位置関係とある信号に同期した受信機でTDoA…?

 

今後、以下のTDoAを手元で実験してみたい。

1.一つのLimeSDRでDoAし、感触を得る。

2.二つ以上のLimeSDRを外部クロック同期し、DoA

 ローカルクロック同期精度を体感してみる。

(2−1.三つ以上のSDRをGPS同期し、TDoA。これはGPSDOが必要なため、コストがかかる)

3.RTL-SDRでTDoA。(記事通り)