非常に低い周波数(250Hz)で信号を送信する最良の方法?


8

私は電子的な質問に直面しているプログラマーなので、ここで質問する場所だと思いました!

  • 私は、毎秒250回の磁場値(XYZ軸)を提供する磁場センサーを持っています。
  • プログラム可能なマイクロプロセッサを備えた電子回路がコイルを制御し、このセンサーに十分近い磁場を変化させることができます。しかし、2つのデバイスは厳密に配置されていないため、測位測定を中継できません。
  • 回路からセンサーに2種類の信号を送信します。これは、磁場の強いノイズに耐えることができ、0.5秒未満にする必要があります(はい、秒-私たちは250 Hzにいます!)

現在の解決策は、17Hzの方形波、次に信号Aの12Hz、次に17Hzを送信し、信号Bの順序を逆にすることです。ただし、これらの信号を検出するには、十分な長さの波を送信して、信号の長さを約1.5にする必要があります秒。

だから、私の質問はここにあります:音楽信号のように、より速く信号を送ることができ、それでも信頼できる方法があるとしましょう。

回答:


7

250 Hzのサンプルレートでは、100ビット/秒以上を簡単に送信できます。0.5秒では、50〜60ビットのオーダーになります。

問題は、互いに、また外部のノイズや干渉からも容易に区別できる、どのビットパターンを選択する必要があるかです。一般的な解決策は、バーカーコードとも呼ばれる、目的の低い相互相関を持つ疑似ランダムビットシーケンスを使用することです。

マッチドフィルター」として知られているDSP技術を使用して、コードを検出できます。


興味深いですね!しかし、計算が複雑な「マッチドフィルター」がどれほど複雑になるか迷っていました。重いFFT /その他の計算が必要でしょうか?
rubmz

マッチドフィルターのc ++実装をチェックしましたが、信号を検出するにはかなり重い計算が必要になるようです。センサーのサイドコードはRT環境で実行されるため、あまり役に立たない可能性があります。あまりにも多くの計算を行わずに、2種類の信号を0.5秒未満で送信できるようにする他のフィルターがあります。 ?
rubmz 2015年

2
フーリエ変換は必要ありませんが、3つの入力チャネルのそれぞれにFIR(有限インパルス応答)フィルターと同等のものが必要です。これは、新しいサンプルごとに2つの128サンプルベクトルで内積を行うことと数学的に同等です。入ってくるサンプル(128回の乗算と128回の加算、1秒あたり250回、フィルターあたり1秒あたり合計約33kの乗算加算演算、または合計で約100k MAC / s秒)。Microchip dsPICなどの非常にローエンドのDSPチップでも、この種のリアルタイム計算を簡単に処理できます。
Dave Tweed 2015年

2
明確にするために、検出できるようにしたいコードごとに、その計算を個別に実行する必要があります。したがって、たとえば、10個の異なるコードがあり、そのいずれかをいつでも送信できる場合は、合計で100万MAC /秒になるように、10個の一致したフィルターを並列で実行する必要があります。 dsPICまたは同様のチップ。短いコードがアプリケーションで十分に堅牢であることがわかった場合、それに応じて短いフィルターを使用でき、それに比例して計算負荷が低下します。
Dave Tweed 2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.