You are on page 1of 2

見本 PDF

特集 イントロダクション

GNU Radio Companion なら GUI で楽々プログラミング

GRC で広がる SDR の世界へようこそ!

高橋 知宏
Tomohiro Takahashi

能な無線システム (RR:Reconfigurable Radio)


となり
■ はじめに
ます.
 ソフトウェア無線の代表的な信号処理系として  無線システムには多くの通信方式や標準規格などが
グヌー
“GNU Radio” があります.GNU プロジェクトの一部 あります.また今日のディジタル変調を主流とする無
としてオープン・ソースのソフトウェアとして開発さ 線システムは,新しい方式や規格が絶え間なく研究 /
れたもので,全ての機能を無償で無制限に利用できま 開発されています.無線システムは,いまや当初要求
パイソン
す.2001 年に初版がリリースされたものの,Python された仕様を満たすだけではなく,将来の仕様変更や
や C 言語で記述された GNU Radio を利用するには, 新方式への対応が求められるようになり,信号処理の
無線の知識に加えて,プログラミングの知識と経験を ソフトウェア化によるシステムの更新は,とくに開発
必要とするため,最初のハードルが想像以上に高いも や試験の現場では必須となっているといえるでしょう.
のでした.  図 1 を見てください.現時点では一般的に SDR の
 しかしそんな状況も GRC(GNU Radio Companion) 「ソフトウェア」とは広い意味,すなわち「変更可能」
の利用で変わるかもしれません.GRC は LabVIEW の という意味で使われていることが多いようです.つま
VI や MATLAB の Simulink のようなフロー・ダイヤ り,SDR のソフトウェアとは,マイクロプロセッサ
グラムによるプログラミング・ツールです.豊富な機 で実行するコードだけではなく,FPGA のようにロジ
能ブロックが用意されており,それらを組み合わせる ック回路を変更することのできるものも含んでいるこ
だけなら,Python 言語も C 言語も必要としません. とがあります.
あなたはマウスで機能ブロックをつなぎ合わせ,パラ  本特集テーマである GNU Radio は,パソコン (PC)
メータを設定するだけで自由自在にオリジナルな に搭載されたマイクロプロセッサのソフトウェアによ
SDR を作りあげることができます. って信号処理を行う「SDR ツール・キット」です.
 本特集では,そんな GRC で広がるソフトウェア無
■ GNU Radio と GRC
線の世界をご紹介します. 〈編集部〉
● GNU Radio
■ SDR とは
 図 2 は GNU Radio の公式ウェブ・サイトには最新
 ソフトウェア無線(SDR:Software Defined Radio) リリースやイベント案内のほか,ドキュメントやライ
とは,無線システムを構成するために必要な信号処理 ブラリ,チュートリアルや FAQ などの開発リソース
を専用 LSI やアナログ回路などのハードウェアではな が掲載されています.
く,ソフトウェアによって実現するものです.ソフト  先述したように GNU Radio は SDR のツール・キッ
ウェア化により,ハードウェアを変更することなく, トです(1).さまざまな種類のディジタル信号処理を
変調方式やパラメータなどを変えるなど,再構成が可 実装した機能ブロックが多数用意されており,外部に

無線機

アナログ回路で RR 構成や設定を変更可能な無線機
構成した無線機 (広義のSDR)
SDR

ワンチップDSP
マイクロプロセッサ(FPGAで実装した
ラジオIC
〈図1〉 マイクロプロセッサを含む)のソフト
無線機の構成法からみた ウェアによってRF信号処理を行う無線機
(狭義のSDR)
SDR と RR の位置づけ

特集関連ウェブ・サイトはこちら:
No.44
8 http://www.rf-world.jp/go/4401/
特集 GRC で広がる SDR の世界
接続した安価で汎用的な RF ハードウェアと組み合わ ● GRC
せてソフトウェア・ラジオを構成したり,または信号  GNU Radio には GRC
(gnuradio−companion)という
処理のシミュレーションが可能です.信号処理の基本 グラフィカル・ツールが標準で添付されています.
ブロックとしては,フィルタ,変復調,FFT や波形 GRC の画面上でブロックを配置し,さらにその間を
表示など,数多くの機能が用意されており,それらを つなぎ合わせてフローグラフを作成できます.フロー
自在につなぎ合わせてアプリケーションを構築するこ グラフは信号処理の流れをそのまま視覚化したもので
とができます.AM や FM などといったアナログ変調 す.このように画面に機能ブロックを並べて,その間
のほか,QPSK や OFDM など各種ディジタル変調方 を接続していく開発手法を「パッチ・プログラミング」
式なども多数用意されています. と呼びます.このように GRC を使用することで,視
 GNU Radio はオープン・ソースで開発が進められ 覚的にわかりやすい方法で信号処理アプリケーション
ています.GNU Radio のライセンスは名称からも想 を構築できるのです.
像がつくとおり,GNU Public Lisence いわゆる GPL  GRC の特筆すべきポイントは,作成したアプリケ
です.オープン・ソースですからコードはすべて公開 ーションを GRC なしに動作させることができること
されています.GNU Radio のソース・コードは,ソ です.GRC でフローグラフを生成すると,実行時に
ース・コード共有サイトである github.com(図 3)で公 は Python コードが生成され,GRC とは独立したプロ
開され,変更履歴管理や,機能追加や改善の議論が行 セスで実行されます.この Python コードを実行する
われています. のに GRC は不要で,GNU Radio のランタイムだけが
 開発言語は C++と Python が使用されています. 必要です.余計な画面操作をすることなく,作成した
GNU Radio は SDR に必要な信号処理技術をほとんど アプリケーションを実行できます.
網羅しているので,SDR を実現するために必要な技  また,生成された Python コードは,スタンド・ア
術はほぼすべて公開されているといえます.たくさん ローンで動作するだけでなく,ほかのアプリケーショ
の信号処理ブロックが提供されていますが,その中身 ンに組み込むことができます.通常の開発スタイルで
を調べたり,既存のブロックの実装を雛形として使い, アプリケーションを作成し,信号処理の部分を GNU
そこに修正を加えて新たな機能をもつブロックを開発 Radio や GRC で作成したフローグラフを組み込むなど
することも可能です. といったことが可能です.

〈図2〉
GNU Radio の公式ウェブ・サイト
(https://www.gnuradio.org/)

No.44 9

You might also like