Computer & RF Technology

小型ネットワークアナライザNanoVNAを実験中です

ちょっと間が空いてしまいましたが、試作中の手のひらサイズの小型ネットワークアナライザNanoVNAを試しています。基板に部品を実装して、動作を少しずつ確認していますが、その状況についてです。

組み立ては7月末に行い、アナログ部分の動作確認を済ませてありました。ファームウェアは、現時点ではChibiOSを使っています。USBのサポートと、I2Sが使えることが理由です。コーデックTLV320AIC3204からI2Sの信号を受け取り、信号処理をします。このあたりはFriskSDRでやっていることとほとんど同じです。今の段階では検証のため、シリアル経由でPCでデータを取得し、プロットしています。当初はPCとのインターフェースをUSB Audioでやろうとして余計な回り道をしましたが、結局USB CDC(シリアル)でやるのが早道でした。USBで接続して、screenで/dev/cu.usbmodem401に接続します。

コマンドをシリアル経由で与えて150MHzまでの任意の周波数を設定できるようにしてみました。Si5351Aから、RFとLOの2つの信号を5000Hzのオフセットで発生させます。ついでにTLV320AIC3204用のクロックとして8MHzを生成していますので、Si5351Aの3出力をフル活用しています。原発振は26MHzのVCTCXOですが、微調整用のコントロール電圧はMCUの12bit-DACで制御します。

さて動作の確認ですが、最初はTXポートに何もつながずオープンのまま、周波数の設定は10MHzにしています。コーデックのADCが動作している状態で、I2Sの受信バッファをシリアル経由でそのままダンプします。読み込むバッファは5ms分、ステレオ16ビット48kHzですので、960バイトです。それをPCで受け取り、Pythonでごにょごにょしてグラフにします。ステレオのLとRが、参照信号と測定対象の反射信号に対応しています。

上のグラフが波形、下がスペクトラムです。緑が参照信号(Reference)、青がTXポートの抵抗ブリッジから得た反射信号(Reflect)です。サンプリング周波数(48kHz)がIF周波数(5kHz)の10倍程度なので、波形がカクカクして尖っています。ReferenceとReflectが同相になっていることがポイントです。スペクトラムを見ると、5kHzの成分のほかに、3倍の15kHzの成分があることがわかります。元が方形波なので、IFにも奇数次の成分が大きく出てきます。5倍の成分25kHzが、ナイキスト周波数24kHzで折り返されて23kHzの位置にわずかに見えていますね。

今度はTXポートに50Ωのターミネータを挿してみます。

そして同様にダンプしてグラフを描いてみます。

青の反射波がほとんど無くなります。信号がターミネートされて反射される信号がほとんど無くなるからです。参照波とくらべて振幅が小さいため、波形では反射波は全然見えませんが、スペクトラムの方ではわずかに見えています。ので、反射波が全く無くなったわけではありません。コーデックのPGAがゲイン0の動作状態ですので、ゲインを上げればぐっと浮かび上がってくるはずです。反射波の大きさに合わせて自動ゲイン調整(AGC)させれば、ダイナミックレンジを大きく確保できるはずです。ちなみに、この反射波の大きさが、負荷インピーダンスについて基準50Ωとの差異を示しています。

今度はショートプラグを挿してみます。

青の反射波が見えてきますが、先ほどオープンのときとは逆相になっています。オープンと同様にショートでも全反射となりますが、ショートの反射は、位相が反対となるからです。

今度は周波数の設定を100MHzにして、オープン状態の波形を観察してみます。

オフセットは5kHzなので見える波形は10MHzのときとほとんど同じです。理由はわかりませんが2倍の成分が増えてきました。100MHzくらいだとオープン状態での位相差が見えてくるほどではないようです(ブリッジからコネクタの距離に相当する)。

位相差が生ずる様子を見たいので、同軸ケーブルを接続してみます。遠端はオープンのままです。

そうすると、反射波の位相がずれるのがわかります。信号が同軸ケーブルを伝搬して、オープン端で反射して戻ってくるのに、往復の長さ分の時間がかかるため、位相がずれるのです。30cmだと、光速3x10^8m/sに、同軸ケーブルの短縮率0.67を乗じて往復で3ns程度です。100MHzの周期10nsに対して30%くらいになります。光の速さが見えるのは面白いですね。同軸の長さを1/4波長に調節すると、往復で位相が180度回転し、遠端オープンの同軸がショートと同じに見えます。教科書通りの話ですが。

というわけで、反射波の振幅と位相が変化している様子を観察することができました。こういう観察はネットワークアナライザの原理が理解しやすくなると思うのですが、いかがでしょう。

あとは位相と振幅を数値化したうえで、周波数をスキャンしながらプロットすると、周波数特性が得られるはずです。ただし以上示したようなPCでのプロットはあくまで動作検証です。原理と動作を確認してファームウェアに落としておきたいと思っています。スタンドアロン化のためのLCD表示はまだ全く手が付いていませんが、これもぼちぼち作業していきたいと思います。

ところで当初の目論見では、Si5351Aの出力する方形波のハーモニクスを使って帯域をGHz程度まで広げることを考えていたのですが、このNanoVNAの構成ではうまくいかないだろうなと考え直しています。というのは、知られているようにミキサSA612は飽和に弱く、入力IP3が-13dBm程度と低い(HF帯からのアップコンバータにSA612を使うと結果が良くない理由の一つがこれです)のですが、元の信号に含まれている3倍成分が、ミキサの歪みで生ずる3倍成分に覆い隠されてしまうのです(下のグラフはSA612のデータシートから引用)。歪みを減らすためには基本波の入力を小さくする必要がありますが、そうすると3倍成分も小さくなってしまい、ダイナミックレンジがほとんど残らず測定にならないだろうと思われます。VWNAがうまくいくのはDDSのエイリアス成分を高次帯域での測定に使っており、ミキサの高調波とは全く違う周波数なので大丈夫ということのようです。SA612とは違う品種の、直線性の良いミキサを使う手もありますが、なかなか安価なものは見当たりません。

というわけで、NanoVNAでは欲張らず基本波だけを前提として〜150MHz程度の帯域と考えておいたほうが良さそうです。

リファレンス

Load more