google-site-verification: google3bd66dd162ef54c7.html
FC2ブログ

ルビジウムオシレーター (FE5680) の周波数をGPSで校正

GPSモジュール (GNSSモジュール) の u-blox M8Nを買ったので、これを使ってルビジウムオシレーターの周波数を測定し、さらに誤差の補正までやってみました。このルビジウムオシレーターの精度(確度)のチェックは2015年の2月にやったのが最後だったので、4年半ぶりの確認になります。

測定は単純で、GPSとルビジウムから出ている1秒パルス(1PPS)の位相差をユニバーサルカウンタで測定するだけです。以下、
順番に内容を見て行きます。

▼窓際にGPSモジュールを置く
GNSSレシーバーを窓際に設置
ここから同軸ケーブルで測定器が置いてある場所まで1PPS信号を送ります。

▼ルビジウムオシレーターとユニバーサルカウンター
ユニバーサルカウンタで位相差変化を測定
私の記事ではおなじみのルビジウムオシレーターとユニバーサルカウンター (アドバンテスト TR5822) です。

ユニバーサルカウンターをタイムインターバルモード (TI) に設定して、GPSとルビジウムの1PPSパルスのタイミングの差を測定します。アベレージング回数を10回にすると分解能10ns で時間差の測定が可能です。この写真は時間差が 405.27570ms であることを表示しています。

なお基準、つまり時間測定の開始信号はGPSにしています。あと、トリガ極性はプラスエッジに設定し、トリガは出来るだけ測定誤差が小さくなるような条件に設定します。

ともかく仕掛けはこれだけで簡単なのですが、高精度(高確度)の測定を行うためにはそれなりに時間がかかります。以下は、実際の測定結果です。

▼測定結果
補正前のルビジウム
これは約24時間の位相の変化グラフです。時々カウンタの値を紙に書き留める、という原始的な方法で記録しているので、測定間隔がばらばらになっています。実はこれを自動測定にしたいのですが、なかなかうまい手がありません。

グラフは右下がりになっているので、位相差は減っていく傾向です。ということはルビジウムの周波数が高いことになり、その量はグラフの傾きから判ります。

エクセルで求めた近似直線の傾きは -0.0015 となっているので、1日当たり0.0015ms、つまり1.5μsの変化となっています。この値から計算すると誤差は 1.5 e-6 / (3600 * 24) = 1.736 e-11 ということになります。以前(2015年2月)測定した時の誤差は1.4 eー11 だったので僅かに誤差は拡大しているようです。

まあこの程度ならどうでも良い範囲なのですが、せっかく値が判ったのでこれを補正してみることにします。このルビジウムオシレーターは外部からコマンドを送ることで、周波数の微調整が出来ます。最後にその調整を行ったのは2012年の6月なので、もう7年も前になります。

以下は調整の手順とその内容です。まずは書き込みのためのアダプタを引っ張り出してきます。

▼RS232C to USBインターフェイスアダプタ
RS232C to USB 変換アダプタ
ルビジウムのインターフェイスはRS232Cなのでその仕様に合ったアダプタを使います。なお、たぶんTTL(CMOS)レベルのアダプタでも強引に使えないことはありませんが、ともかくここはRS232C のアダプタを使いました。これ、ひょっとしたらもう使うことは無いかもです。

通信はバイナリーモードで行うので、それに対応した通信ソフトを用意します。私はRs232c を使っていますが今ならもっと新しいものがあると思います。

まずは確認のために現在の補正値を読み出してみます。コマンドは 2D 04 00 29 です。すると値は 762 (0x02FA)が帰ってきて以前設定した値と同じでした(当たり前ですが)、これで一安心です。

GPSとの比較測定結果から誤差は +1.736e-11 ですが、これを出力の 10Mhz に換算すると、173.6μHz 高いことになります。補正量の感度は 6.80789μHz/LSB なので、補正量は 173.6/6.80789 = 25 ということになります。つまり、周波数が高かったので 25 だけ補正量を減らせば良い、ということになります。絶対値で言うと、762 (0x02FA) だったのを 737 (0x02E1) に減らすことになります。

以下、実際に補正量の入力を行います。

▼補正量の入力(クリックで別窓に大きな図)
ルビジウムの周波数補正コマンド
2C 09 00 25 00 00 02 E1 E3 が設定コマンドです。
コマンドの意味は、最初の29が補正値書き込み命令、09 00 が全体のデーターサイズでリトルエンディアン表現のバイト数、25 がここまでのデーターのチェックサム、次の 00 00 02 E1 が 補正値でビッグエンディアン(負の値は2の補数表現)表現の値、最後のE3が補正値のチェックサムです。詳しくはFE5680のOption2のマニュアル参照ください。

▼ちゃんと設定されているか確認(クリックで別窓に大きな図)
確認
確認コマンド2D 04 00 29を送って、応答は2D 09 00 24 00 00 02 E1 E3 が返ってきました。オフセットは正しく 0x02E1 に設定されているのでうまくいったようです。

ここまでやったら確認のために再度測定します。この測定にも24時間かかります。

▼測定結果
ルビジウム補正後
傾きがほぼ水平になったので誤差の補正はうまくいっているようです。

えいやっと線を引くと、傾きはおよそ -0.2μs/Day なので、誤差は 0.2e-6 / (24 * 3600) = 2.31e-12 ということになります。つまりルビジウムオシレーターの精度(確度)を12桁まで追い込めたことになります。

◆まとめ
久しぶりにルビジウムオシレーターの校正をやってみました。以前同じことをやった時に使ったGPSモジュールと比べ、今回買った物は1PPS信号のジッタがものすごく小さくなっているので、短い時間で測定が出来て楽でした。技術の進歩をはっきりと感じることが出来て気持ち良いです。なお以前の記事のグラフと見比べるとその進歩を実感することが出来ると思います。

全く独立した系で作っている信号のタイミングが、24時間経っても 0.2μsしかズレないというのは恐るべき精度です。特に、このルビジウムオシレーターは数千円で買った物で、小さな箱なのに、電源を入れるだけでこんな精度(確度)の信号が得られる訳で、これは良い買い物でした。

この測定の最中に実はリアルタイムクロックのDS3231 の精度測定もやっていました。こっちは水晶なのでどんなに合わせ込んでもフラフラとズレて行くのですが、それはそれで興味深いデーターが取れています。近日中にご披露したいと思います。

ルビジウムオシレーターの値段が高くなっていた

 このところ飛行機のADS-Bの受信をあれこれやっていました。電波を受信するだけで飛行機の位置が判るのは楽しいですが、私の家のロケーションはあまり良くないので、遠くの飛行機の信号の受信は難しいです。

 そうこうで色々と調べていると、受信側でGPSの時刻信号を使うことで三角測量の要領で飛行機の位置を決定する方法があるようで、これはMLATと呼ばれています。この技術に興味があったので、最近のGPSレシーバーはどんな物が売られているんだろう、と思って調べてみました。すると、現時点ではU-blox NEO-6Mというのが良さそうです。これAmazonにもありますが、Aitendoでも売られていました。

▼AitendoのU-blox NEO-6M
U-blox NEO-6M
 u-blox GPSモジュール [NEO6M-ANT-4P]
 安くてなかなか良さそうです。(現時点の価格は1980円税別)

 実は、以前タクシー用のGPSモジュールを使ってルビジウムオシレーターの校正をやったのですが、1PPS信号のジッタが大きくて周波数合わせに数日間を要しました。もしこのNEO-6Mがジッターの少ない1PPS信号を出すのなら買ってもいいかな、と思ってデーターシート読んでみました。

 すると、NEO-6Tだったら1PPSの精度は30nsくらい保障されるようですが、残念ながらこのNEO-6Mではそういうことは出来ないようです。ちなみにNEO-6Tはちょっと探した限りでは発見できません、つまり手に入らないようです。

 そういえば、うちのルビジウムオシレーターのFE-5680Aを買ったのは3年くらい前で、送料込みで$70くらいだったと思います。今ならもっと安くなってるんだろうな、と思ってヤフオクを調べると、やけに高くて3万円くらいします。ebayを調べても同じような値段です。

▼ebayでFE-5680Aを検索した結果、値段が安い順に表示
FE-5680Aの検索結果

 FE-5680Aは以前に中国の携帯基地局の更新に伴って大量に放出されたらしいのですが、どうも私が買った頃が底値だったようです。そうなってたとは全く知りませんでした。

 ということで話がどんどん長くなってすみません。久しぶりにFE-5680Aに電源入れてみました。

▼ルビジウムオシレーターの出力を周波数カウンタで測定
ルビジウムオシレーターで周波数カウンターの誤差を確認
 上の箱の中にルビジウムオシレーターのFE-5680Aが入っています。ルビジウムからは正確な10MHzが出るので、周波数カウンタの基準クロックが4Hzずれていることになります。まあ、TCXOを使っているような高級機では無いので仕方ないです。

 久しぶりにご神体を見てみました。

▼内部
ルビジウムオシレーターの内部
 ルビジウムモジュールの内部が見えるほど分解するわけにはいかないので、ケースのカバーを開けただけです。

 私が作る物はいいかげんな箱に入っていることが多いのですが、これはきっちりと仕上げたので盗掘の被害にも遭わず今でも健全です。笑;

 なお、FE-5680Aにもいろんなバージョンがあり、見分け方の一つの方法はラベルです。私のFE-5680Aは白いラベルが二つ貼られているタイプでした。

 ということで、何を言いたかったのか判らない、だらだらした文章になってしまいました。すみません。m(__)m

GPSでルビジウムオシレーターの周波数を確認

 久しぶりにルビジウムオシレーターの発振周波数を測定してみました。前にやったのは2012年の6月なので約2年ぶりの測定になります。

 使った機器や測定原理は以前のままなので詳細は以前の記事をご覧下さい。 

▼測定の様子
ルビジウムオシレーターとユニバーサルカウンタ
 上がルビジウムオシレーター、下は位相差測定用のユニバーサルカウンタ。双方の位相差は262.62938msです。

▼GPSモジュール
GPS
 これも以前の記事の時に使ったものと同じです。

 カウンタの値をパソコンに読み取れれば簡単ですが、そういうインターフェイスが無いので手書きのメモを取ることで位相の変化を記録します。

 データーをグラフ化すると、

▼生データー
GPS vs Rubidium
 上位の数字は262msで変わらないので省略し、縦軸はμs単位でプロットしています。

 明らかな外れ値が四つあるのでこれを除外すると次のグラフになります。外れ値はGPSの測地がうまくいかなかった結果発生していると推定しています。

▼異常値を除いたデータ
GPS vs Rubidium 異常値除く
 測定のばらつきが大きい(たぶんGPSの1PPS信号のジッタ)ので5日分ものデーターが必要になりましたが、明らかに右下がりのグラフとなっています。グラフの縦軸はGPSを基準にしたルビジウムの位相で、時間の経過と共に位相ズレ量が減少しています。これはルビジウムの周波数がGPSより高いということになります。

 どれくらい周波数が高いかは近似直線の傾きから計算できます。近似直線の傾きは -1.2121μs/Dayなので誤差は、1.2121e-6 / (24*3600) = 1.4e-11 となり、10MHzに対する誤差は0.14mHz。つまりルビジウムオシレーターの10MHz出力の周波数は正確な10MHzから0.14mHzだけ高かったことになります。

 実は1mHz以上ずれていたらコマンドを送って補正しようと思っていました。でも、これくらいのズレなら補正するまでも無いのでこのまま放置しておくことにしました。

 約2年前にぴったり合せた(つもり)なので、エージングレートは0.07mHz/年ということになります。まあ測定時の温度などの影響は無視しているのでずいぶん乱暴な話ですが、ルビジウムオシレーターの安定度は凄いということを再認識しました。

 ところで、こういう原始的な方法でデーターを取るのでは無く、マイコンを使って自動的にデータを大量記録したいのですが、Arduino単独ではうまくいきそうもありません。PSoCを併用するか、GP-IB付きのユニバーサルカウンタを買うか。どちらにしてもやっかいですが、なんとかしたいところではあります。
カレンダー
09 | 2019/10 | 11
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
プロフィール

ラジオペンチ

Author:ラジオペンチ
電子工作を中心としたブログです。たまに近所(東京都稲城市)の話題など。60過ぎて視力や器用さの衰えを感じつつ日々挑戦!
コメントを入れる時にメールアドレスの記入は不要です。なお、非公開コメントは受け付けていません。

記事が気に入ったらクリックを!
最新記事
カテゴリ
最新コメント
リンク
FC2カウンター
検索フォーム
月別アーカイブ
RSSリンクの表示
QRコード
QRコード