最近のソフトウェアラジオの話題

しばらく前にDSPに関する簡単な遊びを やったりしていたわけですが、 自分としてはその後ほとんど進展も無いままでした。 しかし、最近世の中ではソフトウェアラジオというキーワードを よく見かけるようになり、アマチュアにも色々な実験をやっている 人達がいるようです。

ソフトウェアラジオ(Software-Defined-Radio)とは?

最近の無線機では、ますますソフトウェアによる処理の割合が増えています。 それも従来のような周波数の制御や各種機能の切替えといったような 部分だけではなく、無線機の本来の仕事である信号の処理 -- 周波数変換、フィルタ、 AGC、変調復調などなど -- をソフトウェアで行なうようになっています。 そうすると、そのソフトウェアを変更することによって、ラジオの機能/性能が 大きく変わってきます。新しい変調方式に対応したり、フィルタの特性を自由に 変更したり、AGCの特性を変えたりといったことをハードウェアを変更することなく 行なうことができるわけです。

このように、ソフトウェアによってその動作を変更できる無線機をソ フトウェアラジオと呼んでいるようです。 もちろんこのような流れの中核にあるのはいわゆるデジタル信号処理(DSP)と 呼ばれる技術であり、それの占める割合が次第に増えているということでしょう。

今のメーカ製のアマチュア無線機でDSP機と呼ばれているものも、 ソフトウェアラジオと言ってもいいのかも知れません。 ただし、そのソフトウェアは公開されていませんから、 ユーザが変更して実験することはできません。

一方、ソフトウェアラジオに関する実験を精力的に行なっている アマチュアがいて、WebページやARRLのQEX誌などでその内容が発表されています。 そのいくつかを以下簡単に紹介します。

SDR-1000

AC5OGによるQEXの連載記事(Software Defined Radio for the Masses)が発表 されました(連載1回め)。 現在はFlexRadio社からキット (各基板は完成している)で販売されています。

Visual Basicで書かれている信号処理と各種制御を行なうソフトウェアは オープンソースであり、自由に変更できます(ただし、信号処理の基本的な 要素はIntelのproprietaryなライブラリを用いてる)。

50MHz帯までの入力高周波信号を、DDSによる局発と Quadrature Sampling Detector(いわゆるTayloe detector、 つまりメリゴ方式と基本は同じ)でダイレクトにベースバンドに落し、 ある程度増幅したあと、PCのサウンドカードに入れ、 あとはソフトウェアで処理します。 ダイレクトコンバージョンと同じ構成と考えて良いのですが、 ただしIFのセンターは0Hzではなく、11.025KHzになっています。 これは電源ハム等の低域のノイズ、高調波の問題などから逃げるためです。

性能的にはMDSが-120〜-140dBm程度(設定による)で、3rd IMD ダイナミックレンジは 妨害信号がサウンドカードの帯域内にあるときで、90dB程度という報告があります。 なお、SDR-1000はトランシーバであり、受信の場合と逆の流れの処理で送信の処理を 行ないます。現在のキットでは出力は数W程度ですが、将来的には100W程度の リニアアンプもリリースされる予定です。

FlexRadio社のサイトには 元のQEXの記事のPDFファイルなども置いてあります。

SDR-1000を購入しました。インプレッション等についてはblog (JI3GAB/goo-blog)の方も御覧ください。

KD7Oの高性能デジタルトランシーバ

これもQEXの連載記事("A High-Performance Digital-Transceiver Design")で 知りました(連載1回め)。 受信時、アナログのRF増幅がオプションで入りますが、基本的にはRFを直接 A/D変換します。その後サンプリングレートを下げながらソフトウェアで 周波数変換、フィルタリングその他すべての処理を行います。 送信も同様で、アナログ回路はほとんどパワーアンプ部だけです。

目標性能はかなり高いもので、たとえば20mバンドでの受信性能は IP3>+30dBm, NF=22dBm(MDS -125dBm @500HzBW)となっています。 A/D変換にはアナログデバイセズ社の14bit/65Mspsのものを採用しています。 なんだ、14bitって少な過ぎるのでは?と思うかも知れませんが、ことはそう 単純ではありません。最終的に必要な帯域が数kHzであるのに対して、 65Mspsという高いレートでサンプリングしているために、実質的に有効な 解像度を上げることができるのです(processing gainと呼ばれる)。 この記事によれば14bitでまったく十分とはいえないものの、 実用上ほぼ足りるということのようです。 この辺の話についてはまた述べたいと思いますが、詳しく知りたい方は 是非元の記事を読んでみてください(下のARRLのリンクを参照)。

SDR-14

RFSpace社の製品で、 これもRF信号を直接A/D変換して処理する受信機です。 ブロック図はこちら

ただし、SDR-14のハードウェアはベースバンドへの周波数変換と帯域の制限のみを 行なうだけで、復調や狭帯域のフィルタリングなどの処理はUSB接続したPCで行なう ようです。

PC上の処理ソフト(SpectraVue)はついてきますが、 これは多分ソースは公開されないと思われます。 ただ、USBで送られてくるデータのフォーマットは多分わかるので、 自分でさまざまな処理を行なうソフトを作成することは可能でしょう。

いわゆる普通の受信機というよりスペクトラムモニターみたいな使い方、 あるいは測定器としての使い方に主眼を置いている気がします。 アマチュアバンドの受信機としては、これの前に狭いBPFかプリセレを 入れた方がいいのではないでしょうか(実際、将来的なオプションとして BPFが検討されている模様)。MDSは500Hz帯域で-134dBmというデータが ありますが、IMD特性などについてはわかりません。

しかし、PC側のハードディスクや処理能力が許せば、かなりの帯域の 記録をとっておくことができ、それを後から処理して必要な部分を プレイバックすることができるなど、新しい使い方がいろいろ考えられそうです。

これはアマチュアのプロジェクトとは言えないのでしょうが、 開発しているのはアマチュア無線をやっている人達らしいです。 demoページを見るとアマチュアの信号ばかりですしね。

Linrad

Linux上のソフトウェアで、サウンドカードを用いて信号処理を行なうものです。 もともと作者のSM5BSZ氏はEMEでの微弱信号の受信に興味があるらしいのですが、 Linrad はかなり汎用に設計されていて色々な用途に使えます。 Linradと組み合わせるハードウェアのキット?も存在するようですが、 その他にもたとえば上のSDR-1000と組み合わせたりするのも面白いでしょう。 作者は非常に知識、技術力豊富な人のようで、さまざまな話題の記事を Webサイトで公開しています。 量もかなり多く、私はほとんどフォローできていませんが、 受信機のダイナミックレンジに 関する考察や測定等に関する突っ込んだ記事もありますから、デジタル信号処理に 興味のない人でも、一度御覧になってみてはいかがでしょうか。 Linradに関しては、やはり最近のQEX誌に連載がありました。

SDRADIO

I2PHDによるWindows上のソフトウェア。 サウンドカードを用いて、AM/FM/SSBの復調、スペクトル表示などを行ないます。 これもSDR-1000などと組み合わせて使うことができます。 基本的にはバイナリのみの配布のようです。

RX-320D

TenTec社の比較的安価なHFのゼネカバIF-DSP受信機です。 もともとこれはRF入力->45MHz->455kHz->12kHz->DSPという構成(要するに756pro等と基本的に同じ)で、 DSP部分はアナログデバイセズのチップで処理されている完成品なのですが、 最近DRM(Digital Radio Mondiale )に対応するために 12kHzのIF出力端子を備えたDバージョンに 変更されています(もっとも元のバージョンでも12kHzの出力を自前で 取り出すことはそれほど難しいことではないはず)。 この12kHzの出力をPCのサウンドカードやDSP評価用キットで処理すれば、 DRM受信の用途だけでなく、自分でソフトウェアを書いて色んな遊びができそうです。 デジタル信号処理の実験はしてみたいけど、それ用のアナログ部のハードウェアを 作りたくない、というような人には良いのではないでしょうか。

Web上のリソース

上で紹介しているもの以外にもたくさんあると思うのですが、 まずはこのページをあげておきます。
Goto Top