Professional Documents
Culture Documents
特集 イントロダクション
高橋 知宏
Tomohiro Takahashi
無線機
アナログ回路で 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