GNU Radio 3.10.0のリリース

3.10 年間の開発を経て、無料のデジタル信号処理プラットフォーム GNU Radio 3 の新しい重要なリリースが作成されました。 このプラットフォームには、ソフトウェアで指定された任意の無線システム、変調方式、送受信信号の形式を作成できるプログラムとライブラリのセットが含まれており、信号のキャプチャと生成には最も単純なハードウェア デバイスが使用されます。 プロジェクトは GPLvXNUMX ライセンスに基づいて配布されます。 GNU Radio のほとんどのコンポーネントのコードは Python で書かれており、パフォーマンスと遅延に重要な部分は C++ で書かれているため、リアルタイムで問題を解決するときにパッケージを使用できます。

周波数帯域や信号変調の種類に縛られないユニバーサル プログラマブル トランシーバーと組み合わせて、このプラットフォームを使用して、GSM ネットワーク用の基地局、RFID タグ (電子 ID とパス、スマート タグ) のリモート読み取り用デバイスなどのデバイスを作成できます。カード)、GPS 受信機、WiFi、FM ラジオ受信機および送信機、TV デコーダー、パッシブ レーダー、スペクトラム アナライザーなど。 USRP に加えて、このパッケージでは信号の入出力に他のハードウェア コンポーネントを使用できます。たとえば、サウンド カード、TV チューナー、BladeRF、Myriad-RF、HackRF、UmTRX、Softrock、Comedi、Funcube、FMCOMMS、USRP、およびS デバイスが利用可能 - Mini.

また、フィルター、チャネル コーデック、同期モジュール、復調器、イコライザー、音声コーデック、デコーダー、および無線システムの作成に必要なその他の要素のコレクションも含まれています。 これらの要素は、完成したシステムを組み立てるための構成要素として使用でき、ブロック間のデータ フローを決定する機能と組み合わせることで、プログラミング スキルがなくても無線システムを設計できます。

主な変更点:

  • 新しいモジュール gr-pdu が追加されました。このモジュールには、GNU Radio ブロック間で転送されるデータに使用される PDU (プロトコル データ ユニット) タイプのオブジェクトを操作するためのツールが含まれています。 gr-blocks モジュールから、すべての PDU ブロックが gr-network および gr-pdu モジュールに移動され、gr-blocks の代わりに、下位互換性を確保するためのレイヤーが残されました。 Vector PDU タイプが gr::types 名前空間で使用できるようになり、PDU 操作の関数が gr::pdu 名前空間で使用できるようになりました。
  • 新しいモジュール gr-iio を追加しました。これは、GNU Radio と、PlutoSDR、AD-FMCOMMS2-EBZ、AD-FMCOMMS3 などの IIO (Industrial I/O) サブシステムに基づく産業用デバイス間のデータ交換を整理するための入出力フレームワークを提供します。 -EBZ、AD -FMCOMMS4-EBZ、ARRADIO、AD-FMCOMMS5-EBZ。
  • Custom Buffer クラスの実験的なサポートが提案されており、GNU Radio ブロックと GPU、FPGA、DSP に基づくハードウェア アクセラレータ間のデータ転送が簡素化されます。 Custom_buffer を使用すると、GPU 側でのアクセラレーションを有効にするための特別なブロックの作成を回避でき、GNU Radio リング バッファから GPU メモリにデータを直接移動し、CUDA カーネルを起動して、結果を含むデータを GNU Radio バッファに返すことが可能になります。
  • ログ インフラストラクチャは、spdlog ライブラリを使用するように切り替えられました。これにより、ログの操作の使いやすさが向上し、iostream および cstdio への呼び出しが排除され、文字列フォーマットのための libfmt 式のサポートが提供され、プログラム インターフェイスが最新化されました。 以前に使用されていた Log4CPP ライブラリは依存関係として削除されました。
  • C++17 標準の開発での使用への移行が行われました。 boost::filesystem ライブラリは std::filesystem に置き換えられました。
  • コンパイラ (GCC 9.3、Clang 11、MSVC 1916) および依存関係 (Python 3.6.5、numpy 1.17.4、VOLK 2.4.1、CMake 3.16.3、Boost 1.69、Mako 1.1.0、PyBind11 2.4.3、 pygccxml 2.0.0)。
  • RFNoC ブロックの Python バインディングを追加しました。
  • Qt 6.2 のサポートが、gr-qtgui グラフィカル インターフェイスを構築するためのブロックに追加されました。 階層ブロックの「--output」オプションを GRC (GNU Radio Companion) GUI に追加しました。

出所: オープンネット.ru

コメントを追加します