MEMS発振器を入手したので、先日保留にしてあったHIGH側のキャリブレーションをやってみる。というか、これをやりたくて適当な水晶発振器を探していたらMEMS発振器を見つけ、面白そうなのでそっちを入手したという流れ。
単にtinySAのHIGH側のキャリブレーションが目的なら、水晶発振器で良いと思う。その方が安いし、5V動作ならUSB電源から取ればわざわざ 3.3Vのレギュレータもいらないし。とは言え、レギュレータを入れたおかげで、13.8Vにつないでも大丈夫というメリットもあるが。
いずれにしても、ここからが48MHzのオシレータを入手してやりたかったこと。
HIGH側キャリブレーション方法
これについては、前の記事に書いた通り。
さっと復習しておく。
- tinySAのLOW側とHIGH側でオーバラップしている周波数(240~350MHz)を使うのがポイント
- この範囲の周波数の信号源を用意し、まずは、LOW側で測定
- 続いてHIGH側で測定し、補正値としてLOW側での測定値を入力
240~350MHzの間で使える安定した信号源として、48MHzの発振器の高調波を使うというのが先の記事で取り上げたビデオでの手法。240~350MHzの間であれば良いので48MHzのものでなくてもいいのだけど、秋月で入手できるのはこの周波数だった(MEMSも水晶も)。10MHzや20MHzなどの、もっと低い周波数のものだと高調波の次数が高くなるためレベルが下がるだろうと思う。
キャリブレーション実施
操作手順
まずは、LOW側で測定。もちろん、事前にLOW側はキャリブレーション済みなことが前提。

48MHzの第7次高調波を見たいので、48*7=336MHzをセンタ周波数に、スパンを500kHzにしてみた。
このときの測定値(レベル)をメモしておく。ここでは、-31.0dBm。
信号源をHIGH側のポートにつなぎ替える。「MODE」メーニューを開く。

「Switch to HIGH in」を選択。

すぐにHIGH側での測定が行われる。測定周波数を先ほどと同じ条件に設定する(センタが336MHz、スパンが500kHz)。

-44.9dBmと、LOW側での測定結果とは異なっている。「CONFIG」メニューを開く。

「EXPERT CINFIG」をタップ。

「ACTUAL POWER」をタップ。
先程のLOW側での測定値を入力する。ここでは、-31.0dBm。マイナスの場合はマイナス符号を忘れないように。

最後は「x1」キーをタップ。

設定した値(-31.0dBm)と表示されるようになった(スイープの度に微妙に変化するが)。
左の「HIGH」の表示が赤から緑に変ったが、これはキャリブレーションが行われていることを表している。
これで完了。ここで設定した値は電源を切っても保存される。
ちなみに、コンソールをつないでleveloffsetコマンドを見てみると、補正値が設定されていることが確認できる。

「leveloffset high」が「12.4」になっている(キャリブレーションが行われていない場合は、この値が「100」)。
他の周波数で確認
試しに、48MHzの第6次高調波を測定してみる。
まずは、接続を変えないで、そのままHIGH側で測定。48*6=288MHz。スパンは1MHzとしてみた。

-56.1dBm。

続いて、LOW側で同様に測定。
-56.5dBm。大体一致。スイープの度に値は多少バタつくので、こんなものだろう。
補足
便宜的に「キャリブレーション」と書いたが、この方法は240~350MHzの一点でレベルを補正しただけ。その周波数付近ではそれなりに正しい値を示してくれるだろうけど、そこからずれると値の信頼度は落ちる。tinySAのHIGH側ではこれしかできないようなので仕方ない。
LOW側はいくつかのポイントで補正値を持っている。correctionコマンドで確認できる。

HIGH側もこのようなことができるようになっていればいいのだろうけど、仮にできるようになっていたとしても、実際に補正を行うためには正確な信号源が必要になってしまうため、あまり現実的ではない。
ということで、HIGH側のキャリブレーションはやらないよりもやった方が良いが、やったとしても測定結果の正確性はあまり期待できない。
コメント