素晴らしいバリ島に雪が降った、またはGPSをだますのは簡単

画像







こんにちは、写真で判断すると、バリ島で雪が降りました! どうして起こったの?







泣く



最近、衛星ナビゲーションアンテナ、アンテナアレイ、および無線受信機(RPU)を設計および製造する必要があります。 ここで、これらのRPUはナビゲーション信号をさらに処理するのに便利な形式に変換するものであり、ナビゲーションの問題を解決し、ガジェットに組み込まれているナビゲーション受信機ではないことに注意してください。







特に新しい設計のアンテナをテストする場合、衛星の電波がよく見える通常の都市の部屋で問題が発生します。 大雑把に言って、新しいアンテナを古いアンテナよりも良くも悪くも理解することは困難です; RPUとアンテナの修正されたマッチングスキームは、システムの感度を向上させるか、向上させません。 一般的なアンテナアレイについては、話す必要はありません。 さらに、私の場合、個人的には、受信を妨げる何らかの干渉があります。 窓から離れる価値があり、受信機は衛星を失いますが、空の4分の1の直接視界は残っています。







夏には、夏のコテージが救いになります。 ほぼ空があり、干渉はありません。 しかし、あなたはすべての財産をそこに行くか、そこに追加のキットを保管する必要があります。 無響室で仕事をする過去の仕事の仲間がまだいます。 理由はわかりませんが、そんな幸せがあります。







一般的に、開発者の共有は簡単ではありません。







頑張って



最近、私は幸運にもこの問題の解決策を見つけました。 ナビゲーション信号のシミュレーターは常に知っていましたが、私にとっては高価でした。 いくつかの幸せなイベントがありました。







  1. 会議でモスクワから来たある同志は、ソーステキストで海老沼教授が発表したGPSシミュレーターについて話しました。







  2. 私はすでに通信の教授に精通しており、彼と彼の発展に自信を持っていました。 教授の相談を期待して、仕事を始めることができました。







  3. 私は長い間USRP B210ボードで過負荷になっており、サポートされているボードのリストにリストされていました。


アンテナとRPUを安定して予測可能にテストできるとクールだと考えられていました。







そして、私はこれが私たちのほぼ伝統的なロシアの楽しみ-GPSをだますことだと思った。 私は最近、トレチャコフの地下鉄からヴヌーコボ空港まで情報提供で捨てられていたことを思い出しました。 入れ子人形のようなことさえできます-トレチャコフスカヤにいるように、トレチャコフスカヤに虚偽の信号を発します。













幻想ですが、特に春には、多くの問題を抱えた人々を落ち着かせることができます。 そして、ロシア語でこれは一体何なのでしょう!







結局のところ、もし可能なら、なぜできないのでしょうか? しかし、シミュレータの起動は最小電力で実行されたことに特に言及する必要があります 10 kW アンテナを接続しなくても 頭の毛が全部落ちた 。 実験するときは注意してください フォイルハットをかぶる 周囲の人々のナビゲーション空間を破壊しないように、 特別な サービス。 また、法律の無知は責任を免除されないことを思い出してください。 そして、ロシアでは慣習的であり、金額だけでなく約束もしないという事実。







哲学ですべてダウン! ビジネスに! より少ない手紙、より多くの写真!







実行方法



グローバルポジショニングシステムを起動するには、衛星、地上局などの軌道上の星座が必要です。 これですべてが簡単になりました。







必要なもの:







  1. VinduzやLinuxなどのオペレーティングシステムを搭載し、できればUSB 3.0ポートを搭載したコンピューター。 ポート2.0ではテストしませんでしたが、動作するはずです。







  2. 料金USRP b210 (他のオプションも可能)。







  3. 信号で生成されたファイル、またはprofから生成されたGPS-SDR-SIMのプログラム。 黒檀。











インストール手順



これらすべてをコンピューターで実行するには、ボードメーカーのソフトウェアセットゆっくりと慎重にインストールする必要があります。 ただし、おそらくこれは必要ありません。 しかし、それをさせてください。 Windowsにインストールする場合、PATHに自分自身を追加できないと不平を言うこともありますが、これは干渉しません。これは、ユーティリティuhd_find_devices.exeだけが必要だったため、システムがこのボードを見たことさえ理解できるようにしたためです。 このユーティリティは次の場所にあります。







C:/UHD/bin/uhd_find_devices.exe
      
      





次に、ボードに固定して、デバイスマネージャーを開きます。 デバイスのドライバーが自動的にインストールされていないことはどこで確認できますか。 まあ、それは起こります。 zadigプログラムを手動で使用して、ボードに対してlibusbドライバーを使用する必要があることをシステム示します。 winusb。







システムが標準ドライバーを選択した後、ボードメーカーのソフトウェアセットからuhd_find_devicesを実行できます。 このユーティリティは、ボードを見つけてそのコントローラーをフラッシュする必要があります(サイプレスのFX3があります)。 この後、デバイスはそのPIDを変更し、システムに(zadigを使用して)標準のwinusbドライバーもこのデバイスに使用できることを伝える必要があるようです。







もちろん、最初は機能しません。 そしてもちろん、これはボードを切断して再接続することで解決できます。 詳細な手順は次のとおりです。







内部にpython-pythonを含むgnuradioをインストールする必要があります。 ここから AVX2プロセッサの最新バージョンを取得しました







環境を適切にセットアップするのが面倒だったので、パッケージに含まれているスクリプトを使用しました:C:/GNURadio-3.7/bin/run_gr.bat







それを通して、生成されたファイルをb210ボードに送信するスクリプトを実行します。







便宜上、このスクリプトへのパスをPATH環境変数に追加する必要があります。







信号生成



ここでソースを取得します。 嬉しかったのは、組み立てが簡単で簡単なことです。 依存関係はなく、追加のアクションもありません。 そうだろう。







Linuxビルド







 $ gcc gpssim.c -lm -O3 -o gps-sdr-sim
      
      





vinduzの下でのアセンブリ







  1. Visual Studioを起動します。 Studioを起動(2015年使用)







  2. コンソールアプリケーション用の空のプロジェクトを作成します。 空のコンソールプロジェクトを作成します。 空です!







  3. 右側のソリューションエクスプローラーで、「gpssim.c」と「getopt.c」をSouce Filesフォルダーに追加します。 プロジェクトに2つのファイルを追加します。







  4. [ソリューションの構成]ドロップダウンリストで[リリース]を選択します。 アセンブリのタイプをリリースアセンブリに変更し、x86 / amd64アーキテクチャを選択します。







  5. ソリューションを構築します。 実際に、収集します。


Linux、tkでは収集しませんでした。 特定のマシンですべてを実行する必要があり、そのマシンには多数のマシンがありました。







ジェネレータパラメータの詳細な説明は、readmeにあります。 そもそも理解することはできませんが、この方法で信号を生成するのは非常に簡単です。







 gps-sdr-sim.exe -e brdc3540.14n -s 2500000 -l 30.286502,120.032669,100 -b 8 -d 300 -v -o sim.bin
      
      







readmeから行を取得できますが、BH = 2.6 MHzの信号が生成されるため、b210は同じBH(サンプリング周波数)に調整する必要があります。 ある周波数で生成し、ボードで別の周波数で発行する場合、もちろん何も機能しません。







次のコマンドを使用して、ボードに信号を送信しました。







 run_gr.bat gps-sdr-sim-uhd.py -t sim.bin -s 2500000 -x 40
      
      





40がレベルです。 2500000はブラックホールです。 設定の詳細な説明はgps-sdr-sim-uhd.pyファイルで見ることができ、理解するのは非常に簡単です。







b210の場合、BH値は内部発振器の周波数を完全に分割する必要があり、40 MHzがあるようです。







打ち上げ



画像







そして今、楽しい部分です。







  1. ボードの電源を切ります。







  2. ボードを接続します。







  3. uhd_find_devicesを実行します







  4. 決定しない場合は、1に進みます。







  5. transmit.batを開始し、カモメを監視します。







  6. ボード上の特定のポイントで、2番目のダイオードが点灯します。これは、すべてがすでに放射し始めていることを意味します。


文字Uがログに常に表示される場合、システムがボード上のデータを掌握する時間がないことを意味します。 バックグラウンドに対して何かが機能しているかどうか、および非常に高いBHを示しているかどうかを確認する必要があります。







しばらくすると(最大3分)、すべてのデバイスが指定された場所の特定を開始します。 しかし、その前に、彼らは突然現在の位置を失います。







画像







プログラム教授の指示を注意深く読んでください。 エビナムは、場所が変わるファイルの生成方法、他の日付の使用方法などを理解できます。







結論



  1. 安価な手段から自分でGPS信号シミュレータを構築する実証済みの方法があります。 これは開発者にとって大きな喜びです。 海老目教授に感謝!







  2. すべての受信機がシミュレーション干渉を受けるわけではありません。 一部には保護があります。







  3. そのようなシミュレータが犯罪者自身の目的で使用されるか、すでに使用されているという危険があります。 現在、信号置換に対する保護機能を備えた受信機がすでにあります。 この機能をテストし、重要なアプリケーションでそのような受信機を使用する必要があります。







  4. 将来的には、配偶者をだますことからポケモンGOのようなジオゲームをだますことまで、ほぼ国内のニーズに使用するナビゲーション信号を置き換えるための小型で安価なデバイスを使用する可能性があります。 近隣にある受信機は、多数のそのような模倣干渉の存在に何らかの形で対処する必要があります。


最後の2点について-海老沼教授に感謝します! 開発者は、バリケードの両側で何かする必要があります。







すぐに干渉を取り除こうとすることについて話します。








All Articles