周波数標準(11/24)
◆ blogにも書いているとおりGPSからの1PPSを測る実験などをしている件に関して質問も頂いている。
周波数標準を作るにはどうしたらいいのかというものが多いのだが、方式として2つがある。
一つはPLLつまり位相をロックさせる手法で、これは出力の10MHzが1PPS信号と揃った位相になる。もう一つは周波数をロックするもので、これは1PPSと同期した信号にはならない。
◆ ハードロジックで組むのならPLLの方が簡単だ。
10MHzのOCVXCOなりVCTCXOなりの出力を分周して1Hzを作る。GPSモジュールからの1PPS信号のデューティは50%ではないので1PPS信号も1Hz信号も分周して0.5Hzにする。これを位相比較器に入力する。位相比較器はDフリップフロップとNANDゲートで構成出来る。出来合のPLL用ICの位相比較器だけを使っても良い。
◆ この出力でチャージポンプを動作させて、その出力をローパスフィルタに通した後に基準発振器の制御電圧にする。
ただし衛星捕捉が出来なくなると周波数が吹っ飛ぶ可能性がある。実験だけなら何でもありだが実用機として考えると衛星ロスト時の保護を考えなければならない。
◆ 周波数ロックを考える場合に周波数をディジタルカウントしたくなるわけだが、これでは限界がある。CPUを介在させてCPUの内部カウンタで1PPSの時間を計るとして、プリスケーラで1PPSを1/128にしたとしても0.001ppmの精度しか出せない。しかも1回の測定に128秒間かかる。
◆ GPSの1PPSでマイナス11乗位の精度が得られるとすれば基準を100MHzにしたとしても1,000秒に1回しか制御出来ない。また1000秒間に1秒でも1PPSパルスが出ないなどがあれば制御は不成立になる。
そう考えると位相比較器の出力をADCで読み込み、一定の処理をした後でDACで出力するのが良いのではないのか。
◆ ADCが十分高速ならばCPUでループフィルタを作る事が出来るがそうするとサンプリング間隔の問題も出てくる。なのでフィルタ自体はアナログ回路で構成して、その後の処理のみCPUで行うのが良いだろう。具体的にはループゲインの調整(初期状態の引き込み速度改善)と衛星ロスト時の処理(出力制御の停止)のみである。
◆ せっかくCPUを乗せるのだからGPSモジュールと通信して衛星数などを見ればいい。それを元に制御するかしないかなど決めれば良いはずだ。出力電圧の中心値なども分かるので初期状態でのロック制御はかなり速くなる。ADC/DACの分解能は通常入手出来る範囲で10〜16ビットだと思われるので、入出力の電圧範囲は適切に検討する必要がある。
◆ 作る事自体は余り難しくはないが作った機器をどうやって検証するのかは問題だ。少なくとも作った機器と同程度の安定度を持った発振器がないと動作を確認出来ない。セシウム原器が使える環境であればいいがルビジウムでは精度が足りなく、どちらがずれているのか判断出来ない。
◆ 短期安定度の比較、特に制御がかかった時とそうでない時とか制御後との周波数のふらつきを見るにしても相当安定な基準器がなければ判断出来ない。
短期安定度の点ではルビジウム発振器が使えるのだがそれが1台だけだとどちらが悪いのか分からないかも。
|
|