RTLSDR-Scannerと自作のノイズソースを使ってフィルタの特性を観察してみました。
ノイズソースとは広い帯域に渉ってフラットなスペクトラムを生成する信号源です。これをフィルタなどの測定対象に通し、そこから出てくる信号を観察すると、そのスペクトラムはフィルタの周波数特性を反映しています。このようにノイズソースとRTLドングルのような広帯域な受信機があれば、フィルタの特性を観察することが可能となります。
RTLドングルとSDRソフトウェアを使った場合は、最大でも3MHz程度の帯域幅しか観測できませんが、RTLSDR-Scannerなどのツールを使うとチューニング可能な任意の範囲をスキャンして広帯域のスペクトラムを観察することができます。
これらを組み合わせてRTLドングルを活用するため、ノイズソースを試作してみました。
ノイズ生成にはツェナーダイオードを使用します。先達の知恵によると、電圧が高い品種が良いとのことでした。さいわい、手持ちに12Vのチップツェナー(おそらくHZU12)があったので、これを使ってみることにしました。ただ、これを駆動するためには12V以上の電圧が必要となります。そんな電源を使うたびに用意するのは面倒ですし、できれば手軽にUSBを電源として使いたいので、DCDCコンバータ使うことにしました。秋月電子で24Vまで出せる昇圧コンバータ基板が販売されていたので、これで試してみることにします。
ツェナーダイオードで生成するノイズは、フィルタの特性を観察するには不十分ですのでアンプを通すことにします。30dB程度のゲインを持つBGA2818を使ってみました。別用に作った基板を流用し、アンプに必要な3.3V用にレギュレータも載せて試作してみました。
試してみたところ、この構成で十分な量のノイズを出すことができました。そこでさっそく基板を起こしました。コンバータも基板に載せて、USB mini-Bで電源供給できるようにします。こうしてUSBで使えるようにしておくと、RF部品をあたかもPCアクセサリのように扱うことができてとても便利だと思っています。留意点としてDCDCコンバータの出力はノイズが多いのですが、これが出力に混ざってしまうと望ましくありませんので、DCDCの出力はトランジスタ一段で平滑しておくようにしました。
ノイズソースが生成するノイズは、フラットであることが必要です。うねりが生じないように、ツェナーやアンプの前後に減衰パッドを入れておきました(効果の程は不明です)。
回路図です。
基板は小さく、こんな感じにレイアウト。RF部分とそれ以外をGNDも分離し、一点で接続しています。
そしてできあがった基板を組み立てました(積み基板は1ヶ月程度でした)。
さあ、ノイズソースができたので、さっそく測定を試してみました。キットとして頒布しているADS-Bプリアンプを測定対象とします。写真のように、今回作ったノイズソースに、RTLドングル、そして測定対象のADS-Bプリアンプを直結してセットアップします。ノイズソース、そしてプリアンプの両方に電源を供給します。
準備ができたらRTLSDR-Scannerを起動します。800MHzから1400MHzをスキャンするよう設定しスキャン開始します。十数秒待つとこんなグラフが表示されます。
みごとSAWフィルタの通過特性が見えています。1090MHzを中心にして50MHzくらいの幅の通過域を持っていることがわかります。ただ残念なのは、縦軸が30dB程度しか表示されていません。これは受信機のダイナミックレンジが不足しているためです。下がノイズフロアに埋もれて、阻止域の特性が良くわかりません。
RTLSDR-Scannerではゲインの設定ができますので、+15dBほど持ち上げてみます。そうすると、下から持ち上がって阻止域の特性が現れてきます。しかし今度は上の通過域が飽和してつぶれてしまいます。やはりダイナミックレンジが足りないのは致し方ありません。
とまぁ、いろいろと制約はあるとはいえ、測定器無しに1GHz付近のフィルタ特性をお手軽に観察できるようになったのは、ありがたいことかなと思います。
ちなみに、DUT無しでノイズソースをRTLドングルに直結するとこんな感じです。理想的にはフラットであって欲しいところですが、若干うねっています。ノイズソースの減衰に加えて、RTLドングルの減衰の両方が合わさってこのような右下がりになっています。一見、酷いグラフに見えますが、縦軸が自動的に拡大しスケールされていることに注意が必要です。この周波数範囲で縦のうねり幅は6dB程度です。思ったよりも良い特性かなと思います。
やろうと思えば、これを基準に校正(キャリブレーション)することも可能だと思います。そうすればロスやゲインの数値が出せることになります。ちなみにDUTであるADS-Bのプリアンプは22dB程度のゲインがあるので、最初に示したプロットでは、通過域はアンプのゲイン分持ち上がっています。
さて続いては、HF帯のフィルタを測定してみました。RTLドングルは直接HF帯を受信できないので、HFコンバータを使用します。DUT(測定対象)として、いま試作しているHF帯を6MHz毎に区切るマルチバンドフィルタを使ってみました。写真のようにDUTとRTLドングルの間にHFCONVを挿んでセットアップします。
12MHz〜18MHzのBPFを測定してみるとこんな感じになりました。測定範囲は0-30MHzですが、HFコンバータで+100MHzされるため、RTLSDR-Scannerのスキャン範囲は、100〜130MHzです。今回のDUTはゲインが無いので、RTLドングルのゲインを+16.6dBの設定にしています。少ないダイナミックレンジを生かすため、飽和するぎりぎりまでゲインを上げておくようにします。ちゃんとBPFフィルタになっているのが確認できました。
DUT無しに直結だとこんなプロットになります。ほぼフラットですが、2MHz付近が持ち上がっています。これは放送波の影響かもしれません。1MHz以下の低い周波数が下がっているのは、キャパシタで阻止されているためです。
こんな感じで、RTLドングルとノイズソースを合わせると、フィルタの特性を観察することができました。TGやネットワークアナライザなどのちゃんとした測定器が使えるならこんなことはしなくても良いのですが、手持ちの素材を工夫して、可能性を広げて行くことも楽しいことと思います。
ところでHFコンバータの先行例として、NooElecのHam It Upという製品がありました。前のバージョン(v1.0~v1.2)の基板にはなんとコンバータと一緒に、作り付けのノイズソースが搭載されていました。まさに今回のようなことをするための設計だったのでしょう。現在販売されているv1.3からは削除されているようです。他にもノイズソース関連では先行例があり、参考にさせていただいています。末尾のリファレンスにリンクしておきます。
今回は試したのは、ノイズをたっぷりと出すタイプのノイズソースです。本来的なノイズソースの役割とは、アンプやシステムのNF(雑音指数)を計測することにあります。そのためにはノイズの発生量を減らし、またノイズレベルを確定させる必要があります。果たしてこんなことができるかどうかわかりませんが、ダメ元で試してみたいと思っています(なんたってアマチュアですから)。ノイズのON/OFFができる回路にしてあるのはNFメータへの応用を考えているからです。
リファレンス
-
秋月電子 昇圧型スイッチング電源モジュール https://akizukidenshi.com/catalog/g/gK-07608/
-
ノイズソースの思考と試作 (Bunshiro Tamura / JA5FNX) https://bun.dokidoki.ne.jp/noise-source1.pdf
-
ノイズ発生のための各種ダイオードやTrの比較 https://park11.wakwak.com/~jr4mda/jr4mda_058.htm
-
A dirt cheap “spectrum analyzer” with an RTL-SDR dongle. https://hansvi.be/wordpress/?p=91
-
これの紹介記事 https://www.rtl-sdr.com/measuring-frequency-response-bandpass-filter-rtl-sdr/
-
toshiさんの再現実験「RTL-SDRでバンドパスフィルターを測定する」https://ggtoshi.at.webry.info/201406/article_7.html
-
mars_999さんのADS-Bプリアンプのレポート。同様にノイズソースとRTLSDR-Scannerで特性確認されています https://blog.livedoor.jp/mars_999/archives/1976390.html
-
Neo Elec - Ham It Up https://www.nooelec.com/store/ham-it-up.html
-
いつも大変参考になるアジレント(現キーサイト)のアプリケーションノート「雑音指数測定を成功させる10のヒント」AN57-3 https://cp.literature.agilent.com/litweb/pdf/5980-0288JA.pdf