前回は10MHzを1Hzに分周した1ppsの間隔をTICにより測定する1pps TIC法によりAllan deviationを測定しましが、今回はDMTDを作ってAllan deviationを測定してみました。DMTDはDual Mixer Time Differenceの略で、周波数変換を利用し1pps TIC法より精度の高い計測が可能になります。
DMTDの説明は A Small Dual Mixer Time Difference (DMTD) Clock Measuring System が詳しいです。ブロック図も借用させていただきました。
GPSDOからの出力周波数fxは、目標とする周波数をf0[Hz]、それに対する周波数偏差(誤差)をdf[Hz]とすると、fx = f0+df[Hz]と表すことができます。
- 1pps TIC
前回の1pps TICのブロック図は以下の通りでした。被測定信号源(DUT)からの出力周波数 fx は、分周回路÷Nにより f0 分周され、つまり分周回路の出力として fout = fx/f0 = 1 + df/f0 [Hz]を得ていました。
また、他方に入力されている fref [Hz]は基準信号の周波数です。ここで、fref を f0と同じ周波数(ただし誤差はゼロ)に設定し、DUTと同じように分周回路÷Nによりf0分周すれば、fref / f0 = f0 / f0 = 1[Hz]が得られます。この両方の信号の時間間隔(位相)を測定していました。周波数偏差があると時間とともに両方の信号の位相(時間間隔)が変化します。dfは周波数偏差ですが、短時間に変動するジッタも含んでいます。ここで fx ≒ f0 ですので、偏差(割合)はf0分周されても元の偏差と略同じという事になります。 - DMTD
DMTD(Dual Mixer Time Difference)は周波数ミキサーにより周波数変換を利用します。一般的に周波数ミキサーにはDBM(Double Balanced Mixer)が使用されます。周波数ミキサーを2個使うのでDual Mixer です。DBMのDではありません。
例えば、被測定周波数fx[Hz]と別の周波数foffset[Hz]を周波数ミキサー(DBM: Double Balanced Mixer)をに入力すると
両方の周波数の和と差であるfx + foffset [Hz]とfx – foffset[Hz]が出力されます。(DBMを使っているので fxとfoffetは抑圧されて出力には現れません) ここでは、foffsetをオフセット周波数と呼ぶ事にします。
foffsetを目標とする周波数f0[Hz]に対しb[Hz]だけ低い 周波数 f0 – b[Hz]とすると、fx = f0 + df[Hz]とミキシングされる事により、DBMからは高い周波数 fx + foffset = f0 + df + f0 – b = 2f0 + df – b[Hz]と低い周波数 fx – foffset = f0 + df – (f0 – b) = df + b[Hz]が出力されます。
この出力をローパスフィルターに通し、2f0 + df – bの成分を除去し、低い周波数 fout = df + b[Hz]のみを得ます。例えば b = 1[Hz]とすると、fout = 1 + df[Hz]になります。1pps TIC法の出力周波数は fx = 1 + df/f0[Hz]でしたので周波数偏差はdf/f0[Hz]になっていましたが、DMTDでは、周波数偏差はdf[Hz]のまま周波数が1/f0になります。簡単にいえば 1pps TICより相対的に偏差がf0倍(10MHzを1Hzに周波数変換した場合は 107倍)になったということです。
これにより、仮に測定器の精度が10-5までしかなくても、計算上は周波数偏差10-12の精度で測定が可能になります。
foffset を基準信号より 1[Hz] 低い周波数、即ち foffset = f0 – 1 [Hz]の時、このfoffsetにもジッタなどの偏差要因db[Hz]が含まれます。つまり、実際のオフセット周波数はfoffset = f0 – 1+ db[Hz]です。この偏差db[Hz]は周波数変換されてもそのまま出力されます。つまり、fxは周波数変換されfout = 1 + df – db[Hz]が出力されることになり、せっかくの測定精度が低下することになります。ここで、もう一つ周波数ミキサーDBMを用意し、目標周波数f0を出力する基準周波数frefとfoffsetをDBMに通して周波数変換すると、その出力は frefout = 1 – db[Hz]になります。
二つの出力の時間差は fout – frefout = 1 +df – db – (1 – db) = df[Hz] となり、foffsetのジッタなどの周波数偏差 db[Hz]は相殺されることになります。
実際に作った基板です。今回は、ALLPCBさんの無料キャンペーンを利用し無料で作っていただきました。素晴らしいサービスです。(残念ながらこのサービスは終了してしまいました。)
オリジナルの設計ですが、残念ながら部品ライブラリが間違っていたり、基板サイズの制約からロジックICを多用しましたが、ノイズを減らすためにも後段はOPアンプで構成すればよかったと反省しています。機会があれば新しく設計し直して見たいと思います。
心臓部のDMBにはAliexpressで購入した Mini-Circuits SBL-1を使用しました。
先に紹介したリンクのPDFにはDMTDの回路図も掲載されていますので、それを参照して作られるのも良いと思います。 - 測定結果(Allan deviation)
DUTには Morion製のダブルオーブンOCXO MV89Aを使ったGPSDO, 基準信号には ルビジウム発振器 LPRO(LPRO-101)を使用したGPSDOを使いました。
そしてオフセット信号にはルビジウムFE-5680Aを使用し、内蔵DDS設定を変更し10.000000MHz + 1Hzの信号を生成しました。測定結果は以下の通りでした。100秒で2×10-12以下、1000秒以上であれば1×10-12程度になっているようです。基準信号に使用したLPROやオフセット信号に使用したFE-5680Aのスペックから考えると、だいたいこんなものかなと思います。OCXOを制御しているDACの分解能も計算値で約6uHz(6×10-13)ですし、EFCに使用しているDACが本当に20bit以上の性能がでているのかも微妙です。そもそも、よほど配慮した環境でなければ簡単に数10uHz〜100uHz以上は変動するので、まぁ手作りにしてはそこそこの性能が出ているかなと思うことにします。これ以上の精度で測定するにはもっと安定度の高い信号源か、3chを同時に測定する3-cornered hatが必要だと思います。安定度が高い信号源といえば禁断のCs(オプション付)って奴でしょうか。(笑) すでに、Rb発振器も購入しているだけでも本末転倒と言われそうですし、さすがにCs信号源を導入するのは趣味の領域を超えていますよね。まぁTime-Nutsな方々は一線を超えてしまったような方が何人もいらっしゃるようです(Time-Nutsな方々の知見はとても勉強になりました)が…一部の方は仕事でもCs信号源を使われているのかもしれません。
少なくとも私は仕事とは一切関係がありません。(笑)
9回に渡ってお送りしたGPSDO製作記事も今回で一旦完了にしたいと思います。
とは言いながら、LCDに表示している推定周波数の精度(ずれ)を向上させるために、新たなGPSモジュールを手配中です。これを使って精度向上ができたらまたご紹介したいと思います。