コラム技術コラム2023.04.17

SDR-SAT、ソフトウェア構造のリニューアル
GNSSジェネレータ -SDR-SATの開発現場より-

SDR-SAT、ソフトウェア構造のリニューアル<br>GNSSジェネレータ -SDR-SATの開発現場より-

 本技術コラムでは、2 回に わたってSDR-SAT の 概要とリニューアルに ついて 掲載しております。前回のコラムではSDR-SAT について 簡単に 紹介しました。今回は現在 取り組んでいる SDR SAT リニューアル の 内容 や、 実装予定の機能など を ご 紹介します。

SDR-SATのリニューアルについて

 はじめに、SDR-SATのリニューアルに取り組んだ経緯についてご説明します。現行SDR-SATでは、単純な信号生成機能に加えて多くのオプションが含まれており、様々な状況を想定したGNSSシミュレーションが可能です。しかし、単純なGNSS信号の生成機能のみが必要な機会や、特定の環境に特化するGNSS信号の生成機能が求められる機会が増えてきており、高機能すぎる現行のSDR-SATではそのご要望に応えられないと考えております。そこで、現行のSDR-SATの使いやすさは残しつつ、より手軽に、より柔軟に信号生成が可能なSDR-SAT後継機の開発に取り組みました。

リニューアルの内容

 現在開発中であるSDR-SAT後継機のブロック図を図1に示しています。現行のSDR-SATからの大きな変更点は二つあります。現行のSDR-SATについてはこちらのコラムをご参照ください。
 一つ目はエンジン部分を最小化してDLL化する点です。現行のSDR-SATには、C言語とNVIDIA製GPUの開発言語であるCUDAで書かれたGNSS信号生成エンジンが含まれています。今回の開発では、この信号生成エンジンをコンパクトなDLLに再編し、Python Wrapper部からこのエンジンを呼び出す構造にします。つまり、信号生成エンジンに含める必要の無い機能モジュールは、エンジンから分離してPythonで実現します。例えば、端末の経路情報が含まれるGNSSシナリオファイルや衛星の航路情報が含まれるSatellite Orbital Elements、マルチパスの遅延プロファイルなどもこのPythonモジュールが読み取り、この情報をもとにGNSS信号を生成します。
 二つ目は複数のモジュール同士の結合が弱くなる点です。一つ目の変更点でも述べた信号生成部の一部Python化と同様に、GUIやファイルのインポートなど多くのモジュールを独立したPythonコードとして書き直しております。これにより各モジュールの結合が緩くなり、今後も改良を加えやすいモジュラー構造になります。これにより現行のSDR-SAT以上に、多くの状況を想定した柔軟な信号生成が行えるようになります。

図1:リニューアルされるSDR-SATの機能ブロック図

 上記のような信号生成エンジン部分の変更点に加えて、SDR-SATの利用シーンを広げるために、GUI部分の改良も検討中です。詳しくは次の機会にご紹介できると思います。

最後に

 本コラムでは前回に引き続きSDR-SAT について紹介しました。特に今回は、SDR-SATのソフトウェア構成のリニューアルを決断した経緯や、想定している機能について紹介しました。SDR-SATがリリースされてから既に7年以上経っていますが、今後も構造計画研究所ではSDR-SATの機能拡大、活用領域拡大を目指して開発に取り組んでいきます。本コラムにて少しでもSDR-SATへの興味を持っていただけたら幸いです。

CONTACTお問い合わせ

一般的なシステム開発に加え、物理層からアプリケーション層まで通信システム全般について
お困りの際はぜひ一度私たちにお問い合わせください。