低コストトランシーバ(NRF24L01など)とuCを使用したTOAとのマルチラテレーション

私の問題は次のとおりです、私は半メートル未満の精度で4ノードの無線センサーネットワークを使用してマルチラテレーションを介してオブジェクト(メインノード)をローカライズしたいと思います。方程式はすでに解明されており、残っているのはTOA法を用いてネットワークノードからメインノードまでの距離測定値を得ることである(これは私が今取り組んでいるものである)。私のハードウェア仕様は以下の通りです。

  • 5個のNRF24L01 +トランシーバ(2.4GHz、2Mbps、GFSK、16MHz内部クロック)
  • 4 ATTiny 85 µC(ワイヤレスセンサーネットワーク用)(8 MHzクロック)
  • PIC16f877A(メインノード)(16MHzクロック)

Specifically, what I want to know is: can I measure the time of arrival of a signal (in less than a meter), with this hardware? If not, point some way out for me, either acquire new hardware (not too expensive) or change the method implemented.

PD: If possible look at the basic idea I have in mind before answering (and give me feedback on it): Narrowing down the problem time of flight between two nodes only (N1 and N2), the total time for a bit of data to go from N1 to N2 and back is: $$t = 2(t_b + t_c) = 2\left ( \frac{1}{R} + \frac{1}{c}\times d \right ),$$ where \$t\$ corresponds to bit transfer rate (\$R\$ = 2Mbps for NRF24L01+), or the time the transceiver takes to send that one bit to the channel; \$t_c\$ is the time in the channel that is approximately, the length of the channel over the speed of light.

NRF24L01 +は一度に32ビットまで送ることができます、これは意味します: $$ t = 64(t_b + t_c)= 2 \ left(\ frac {1} {R} + \ frac {1} {c} \ times d \ right)$$ しかし、(私が望むように)\ $ d = 0.5 \ $の場合、これは\ $ t_c = 0.106 \ mu s \ $になり、8MHz MCUでは今回は見えません(1/8MHz = 0.125 \ $ \ mu s \ $) 。可能性としては、メッセージを再送信して\ $ t_c \ $を目に見える値に増やすことです。 前の推論は正確ですか?

0
@LiorBiliaは実際には周辺機器用に64MHzまでの内部PLLを持っていますが、それでもまだ十分な桁数です。
追加された 著者 Andrew Walker,
16MHzよりずっと速いクロックが必要です。次の仮定で楽観的になりましょう。受信したパケットの最初のビットで割り込みが発生し、送信の最初のビットで割り込みが発生するこれら2つの信号の間に、遠端での処理時間をカウントして補正する必要があります。
追加された 著者 Matt,
あなたの最高のカウンターは16MHzです(これも楽観的です)それはあなたに最高の場合で10mの解像度を与えます。
追加された 著者 Matt,

4 答え

なぜ精密なタイミングのために設計されていないモジュールで誰もがデジタルでこれをやろうとするのですか?

コンピュータのデータ通信ではなく、ミキサー、フィルタ、オシレータを考えると、おそらくそこにはコンピュータがあるでしょうが、高速のタイミングと位相シフトの測定はハードウェアで行うべきです。

私はNordicではなくMiniCircuitsのモジュールを見ているでしょう。

1
追加された

2400MHz ISM帯域で何が合法的であるかに応じて、データストリームに瞬時位相反転を実装して、広帯域2相変調を生成することができます。レシーバのミキサでその180度位相反転を混合すると、差動出力ミキサでは有用な符号の反転が生じますが、位相反転の広帯域性によりSNRの問題が生じます。同相モードコンデンサを使用してミキサーの差動出力を制限し、制御されたスルーレートを生成することができます。また、ノイズ帯域幅が大幅に減少するため、TimeJitter測定が大幅に向上します。

しかし、この方法では、モジュール同士を接着するのではなく、カスタムデザイン作業が必要です。

いくつかのRF DACで十分かもしれません。 DACを使用してローバンド(100MHz?)の二相を生成し、次に2400MHzにアップコンバートします。

0
追加された

あなたの公式の基本的な問題は、t b bが飛行時間と関係がないということです。送信されたビットの始まりは受信機に到着し、ビット時間によってではなく光速によってのみ遅延される。ビットとメッセージの処理時間も飛行時間とは関係ありません。そのため、メッセージの長さを増やしても、飛行時間の解決には関係ありません。

1/2メートルの精度を得たい場合は、1.67 ns未満の遅延を解決する必要があります。この負担を軽減するために信号を複数回往復させるという考え方では、各端のターンアラウンド遅延が1.67 ns未満の大きさの遅延誤差オーダーを持つ必要があります。これはおそらく既製の無線モジュールでは達成できません。

あなたが追求することができる異なったアプローチは電子的に操縦可能なアンテナを使用することによって装置で三角測量することです。

0
追加された

どの北欧のRF ICも、TOA/TDOA測定には適していません。これらのデバイスを使ってできる最善の方法はRSSI(一部のICでしか利用できない)を利用することであり、それでもあなたが望む正確さを提供することはまずないでしょう。

正確な位置決めのために、DecaWave DW1000(DWM1000としてモジュールとして入手可能)のようなUWBハードウェアを検討してください。 DecaWave サイトにも、リアルタイムの位置情報システムに存在する課題について説明した多数のホワイトペーパーがあります。

0
追加された