(58)【調査した分野】(Int.Cl.,DB名)
前記収束予想計算部は、前記将来の各時刻について、一時刻前の時差と、前記固有歩度と、一時刻前の前記時差解消歩度とに基づいて、前記時刻の時差を計算すると共に、当該時刻の時差の計算結果と、一時刻前の時差の計算結果とに基づいて、当該時刻の時差解消歩度を計算することを繰り返す請求項1記載のクロック調整装置。
【発明の概要】
【発明が解決しようとする課題】
【0007】
一般的なPTPスレーブはPTPマスタと時刻同期するに際して、offsetFromMaster値が0となるようにスレーブクロックの値や値の加算速度(歩度)を調整する。
【0008】
offsetFromMater値はPTPスレーブとPTPマスタの各々の内部クロックの時刻差を表している。これが0となるように調整することにより、時刻を同期させる。
【0009】
このとき、条件が良ければ、PTPマスタのクロックとの時差の収束曲線を示すグラフ(
図9)における“意図した曲線A”のように、スムースかつ高速にoffsetFromMater値を0に収束させることができる。
【0010】
しかしながら、“実測B”や“実測C”のように収束までにふらつきが出たり、あるいは収束に多大な時間を要する場合がある。
【0011】
このようになるのは、offsetFromMaster値を0に収束させるための歩度調整に、一般的には
図8のようなPID制御器を用いたフィードバック回路を利用しているためである。条件が整っていなければ実測BやCだけでなく様々な曲線を描く。
【0012】
また、機器の想定を超える速度差や大きすぎる経路ノイズによっては一見して収束していないように見えることもある。
【0013】
このようにPTPスレーブを利用するユーザーはoffsetFromMaster値の挙動について、意図したとおりに収束に向かっているのか、あるいは収束させようとしているものの収束できていないのか、実測結果だけでは把握することができない。
【0014】
収束に数時間も掛かってしまうケースもあり、ユーザーにとってはPTPスレーブが正常に動作する見込みがあるのか無いのか分からないことは、問題となる。
【0015】
本発明は、上記問題点を解決するために成されたものであり、参照クロックとの時差を0に収束させるまでの意図した挙動を認識/把握することができるクロック調整装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0016】
上記目的を達成するために、本発明に係るクロック調整装置は、参照クロックの時刻情報を受信する通信部と、現在の歩度に基づいて決定される時刻情報を出力するクロック部と、前記クロック部が出力する時刻情報と前記参照クロックの時刻情報との現在の時差に基づいて、前記参照クロックとの時差を解消するための時差解消歩度と、前記参照クロックの速度に合わせるための固有歩度とを計算し、前記時差解消歩度と前記固有歩度に基づいて、前記クロック部に対する現在の歩度を決定して、前記クロック部の歩度を更新するクロック調整部と、前記現在の時差と前記時差解消歩度と前記固有歩度とに基づいて、前記固有歩度が前記参照クロックの歩度と一致していると仮定した場合の、将来の各時刻における、前記参照クロックとの時差及び前記時差解消歩度を計算する収束予想計算部と、を含んで構成されている。
【0017】
この発明によれば、現在の時差と、前記時差解消歩度と、前記固有歩度とに基づいて、前記固有歩度が前記参照クロックの歩度と一致していると仮定した場合の将来の各時刻における前記参照クロックとの時差及び前記時差解消歩度を計算することにより、参照クロックとの時差を0に収束させるまでの意図した挙動を認識/把握することができる。
【0018】
ここで、歩度とは、クロックの進み又は遅れの度合いであり、例えば、1秒あたりに速くする又は遅くする長さ(ナノ秒)である。また、参照クロックの速度とは、参照クロックでの1秒の長さ(ナノ秒)である。
【0019】
また、前記クロック調整装置において、前記収束予想計算部は、前記将来の各時刻について、一時刻前の時差と、前記固有歩度と、一時刻前の前記時差解消歩度とに基づいて、前記時刻の時差を計算すると共に、当該時刻の時差の計算結果と、一時刻前の時差の計算結果とに基づいて、当該時刻の時差解消歩度を計算することを繰り返すことができる。
【0020】
また、前記クロック調整装置において、前記収束予想計算部は、更に、前記計算した将来の各時刻における前記参照クロックとの時差を表すグラフを描画することができる。
【0021】
また、前記クロック調整装置において、前記収束予想計算部は、過去から現在時刻までの時差として実測の時差を用いて前記グラフを描画し、前記参照クロックの時刻情報を受信する度に、将来の各時刻における前記参照クロックとの時差を計算し、前記グラフの描画を更新することができる。
【0022】
また、前記クロック調整装置において、前記収束予想計算部が計算した、将来の各時刻における、前記参照クロックとの時差及び前記時差解消歩度を外部に送出する送出部を更に含むことができる。
【0023】
また、本発明のプログラムは、コンピュータを、本発明のクロック調整装置の各部として機能させるためのプログラムである。
【0024】
また、本発明のクロック調整方法は、通信部が、参照クロックの時刻情報を受信し、クロック部が、現在の歩度に基づいて決定される時刻情報を出力し、クロック調整部が、前記クロック部が出力する時刻情報と前記参照クロックの時刻情報との現在の時差に基づいて、前記参照クロックとの時差を解消するための時差解消歩度と、前記参照クロックの速度に合わせるための固有歩度とを計算し、前記時差解消歩度と前記固有歩度に基づいて、前記クロック部に対する現在の歩度を決定して、前記クロック部の歩度を更新し、収束予想計算部が、前記現在の時差と前記時差解消歩度と前記固有歩度とに基づいて、前記固有歩度が前記参照クロックの歩度と一致していると仮定した場合の、将来の各時刻における、前記参照クロックとの時差及び前記時差解消歩度を計算する。
【発明の効果】
【0025】
本発明によれば、参照クロックとの時差を0に収束させるまでの意図した挙動を認識/把握することができる。
【発明を実施するための形態】
【0027】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0028】
<本発明の実施の形態の概要>
まず、本発明の実施の形態の概要を説明する。
【0029】
本発明の実施の形態では、offsetFromMaster値が0に収束するまでの予想曲線を描く。PTPスレーブを利用するユーザーにとって、offsetFromMaster値の挙動について、想定の通りに収束に向かっているのか、あるいは、収束させようとしているものの収束に向かっていないのか、把握することができない。
【0030】
収束に数時間も掛かってしまうケースもあり、ユーザーにとってはPTPスレーブが正常に動作する見込みがあるのか無いのか分からないことは、問題となる。
【0031】
そこで、(装置あるいはプログラムにより)意図している収束予想の曲線を提示することで収束の見込みがあるのか否か、ユーザーに一目で分かるようになり、利便性が大きく向上する。
【0032】
以下に、時刻同期の際の収束予想曲線を描く原理について説明する。
【0033】
まず、時刻同期のためには時刻と歩度の2つをPTPマスタと合わせる必要がある。時刻だけ合っていても、歩度が違えばPTPマスタとの時差合わせの度に0でない時差が確認されてしまう。
【0034】
一方、歩度だけがあっていたとしても、PTPマスタとの時差が0でないならば、いつまで経っても時差が0になることはない。
【0035】
すなわち、時刻同期のためには、時刻と歩度の両方を合わせる必要がある。
【0036】
図1は、クロック調整方法を説明するための図である。本実施の形態では、時刻と歩度を合わせるためには、
図1にあるようなPID制御器を用いる。このPID制御器により、PTPマスタとの歩度差(固有歩度、あるいは周波数drift値ともいう。単位は、ppb(parts per billion)である。)を計算しつつ時差を解消するための追加の歩度(時差解消歩度ともいう。単位は、ppbである。)も計算する。
【0037】
この部分を数学的に述べると以下のようになる。
【0039】
なお、
図1におけるr(t
i)は、時刻t
i(秒)におけるPTPマスタのクロックの示す時間(ナノ秒)である。y(t
i)は、時刻t
i(秒)におけるPTPスレーブのクロックの示す時間(ナノ秒)である。x(t
i)は、時刻t
i(秒)におけるPTPスレーブのクロックとPTPマスタのクロックの時差(ナノ秒)であり、x(t
i)=r(t
i)−y(t
i)である。K
P、K
I、K
Dは、予め定められた係数である。f(t
i)は、時刻t
i(秒)におけるPID制御器の出力値である。
【0042】
と置くと、
と書ける。P(t
i)は時差解消歩度である。I(t
i)は固有歩度である。
【0043】
さて、ノイズ等がない理想的な環境を想定する。ここで、すべてのt
i(i=0,1,2,…)に対して、もしもPTPスレーブの歩度を(1+I(t
i)/10
9)倍したものが、PTPマスタの歩度と一致しているならば、以下の式[数3]に示すPTPマスタとの理論時差x’(t
i+1)は、t
i+1時点での実時差x(t
i+1)と一致しているはずである。
【0045】
なお、10
9は、1秒の長さ=10
9ナノ秒であることを示す。
【0046】
このとき、理論上、オーバーシュートしないようにパラメータ設計をしている条件下においては、x(t
i)とx’(t
i+1)の符号が常に等しいならば、収束曲線も
図2のような単調減少あるいは単調増加のグラフとなる。なお、符号反転(オーバーシュート)するかどうかは、PID制御器のパラメータK
P、K
Dで決まる。本実施の形態では、符号反転しないように、本パラメータを設定するものとする。
【0047】
上記式[数3]は、t
i時点の実時差x(t
i)を基にしてt
i+1時点の時差を予想しているが、本式を繰り返し利用すれば、t
i時点のPTPスレーブの固有歩度が参照クロックの歩度と一致するものと仮定した収束予想の曲線を描くことができる。
【0048】
例えばx(t
i)が最新の実時差である場合、この先j秒間のx(t)の挙動を1秒単位で推定するには、以下の式[数4]のように計算すればよい。なお、この式では、計算の間隔が1秒である場合を例に説明している。
【0049】
【数4】
<本発明の実施の形態のシステム構成>
本発明の実施の形態に係るクロック調整システムの構成について説明する。
図3に示すように、本発明の実施の形態に係るクロック調整システム100は、タイムサーバ10と、参照クロック発信装置16−1〜16−nと、クライアント端末18−1とを備えており、タイムサーバ10と、クライアント端末18−1とは、LAN(Local Area Network)等のネットワーク3を介して接続され、タイムサーバ10と参照クロック発信装置16−1〜16−nとは、ネットワーク3とは別のネットワークや専用通信(例えば、GNSS(Global Navigation Satellite System)やTel−JJY(電話回線による標準時提供))を介して接続されている。なお、タイムサーバ10が、クロック調整装置の一例である。
【0050】
タイムサーバ10は、参照クロックの時刻情報を用いて、自装置のクロックを調整し、時刻情報を、クライアント端末18−1へ配信するサーバである。また、タイムサーバ10は、自装置のクロックを調整し、そのクロックの情報を用いて種々の信号を生成し、測定器18−2、無線装置18−3、映像機器18−4、及び信号受信器18−nに、生成した信号を配信する。例えば
図3に示すように、測定器18−2に対して1PPSの位相信号、無線装置18−3に対して10MHzの周波数信号、映像機器18−4に対して、BB/LTC等のアナログ映像同期信号を生成して配信する。
【0051】
参照クロック発信装置16−1〜16−nは、参照クロックの時刻情報を発信するサーバ装置である。参照クロック発信装置16−1〜16−nの具体的な態様についての説明は省略するが、参照クロック発信装置16−1〜16−nは、参照クロックを有し、参照クロックの時刻情報を、ネットワーク3とは別のネットワークや専用通信を介して配信する。
【0052】
本実施の形態におけるタイムサーバ10は、CPUと、RAMと、後述する各種処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。このタイムサーバ10は、機能的には
図4に示すように、通信部20と、信号生成・配信部21と、自システムクロック又はハードウエアクロック部22と、時差計算部24と、収束予想計算部28と、自システムクロック制御部30とを備えている。
【0053】
通信部20は、ネットワーク3とは別のネットワークや専用通信を介して、参照クロック発信装置16−1〜16−nから参照クロックの時刻情報を受信する。また、信号生成・配信部21は、ネットワーク3を介して、自システムクロック又はハードウエアクロック部22から出力された自クロックの時刻情報を、クライアント端末18−1へ送信する。また、信号生成・配信部21は、1PPSの位相信号を生成して測定器18−2に配信し、10MHzの周波数信号を生成して無線装置18−3に配信し、BB/LTC等のアナログ映像同期信号を生成して映像機器18−4に配信する。
【0054】
自システムクロック又はハードウエアクロック部22は、現在の歩度に基づいて自クロックの時刻情報を決定して、時差計算部24及び信号生成・配信部21に出力する。なお、自システムクロック又はハードウエアクロック部22は、クロック部の一例である。
【0055】
時差計算部24は、参照クロックの時刻情報を受信したときに、自クロックの時刻情報と、参照クロックの時刻情報との現在の時差を計算し、計算した現在の時差を自システムクロック制御部30に通知する。時差計算部24は、参照クロックの時刻情報を受信していない間は、現在の時差を計算しない。
【0056】
自システムクロック制御部30は、自クロック調整部34を備えている。なお、自クロック調整部34が、クロック調整部の一例である。
【0057】
自クロック調整部34は、時差計算部24によって現在の時差が通知された場合に、現在の時差に基づいて、参照クロックが自クロックに対して進んでいれば、自クロックの歩度を速め、遅れていれば自クロックの歩度を緩めるように、自クロックの歩度を更新する。
【0058】
具体的には、現在の時差と、前回の時差と、前回との間隔とに基づいて、現在の時差を0に向かわせるように、参照クロックとの時差を解消するための時差解消歩度Pを計算すると共に、参照クロックと自クロックの歩度差を0に向かわせるように、参照クロックの速度に合わせるための固有歩度Iを計算する。そして、時差解消歩度P、及び固有歩度Iに基づいて、以下の式に示すように、自クロックの歩度を更新し、それを用いて自システムクロック又はハードウエアクロック部22は現在時刻y(t
i)を計算する。
【0060】
ただし、fの単位はppb(ns/s)であり、P、Iの単位もppb(ns/s)である。
【0061】
収束予想計算部28は、現在の時差と、一時刻前の時差と、時差解消歩度Pと、固有歩度Iとに基づいて、固有歩度Iが参照クロックの歩度に一致していると仮定した場合の将来の各時刻における時差及び時差解消歩度を計算する。
【0062】
具体的には、収束予想計算部28は、まず、現時刻より一時刻先の時差の予想値を、現在の時差、時差解消歩度P、及び固有歩度Iに基づいて、上記式[数4]に従って計算すると共に、当該一時刻先の時差の予想値と、現在の時差とに基づいて、当該一時刻先の時差解消歩度Pを計算する。
【0063】
また、収束予想計算部28は、現時刻の一時刻先より後の各時刻lについて、時刻l−1の時差、時刻l−1の時差解消歩度P、及び固有歩度Iに基づいて、上記式[数4]に従って、当該時刻lの時差の予想値を計算すると共に、当該時刻lの時差の予想値と、当該時刻l−1の時差の予想値とに基づいて、当該時刻lの時差解消歩度Pを計算することを繰り返す。これにより、将来の各時刻における時差及び時差解消歩度を得る。
【0064】
収束予想計算部28は、現在までの実際の時差を表す曲線と、将来の各時刻について計算された時差の予想値を表す曲線とを示したグラフを描画し、当該グラフを出力する。将来の各時刻における時差の予想値の計算、およびグラフの描画は、参照クロックの時刻情報を受信する度に収束予想計算部28により行われ、時差の予測値及びグラフが更新される。例えば、当該グラフをGUI(Graphical User Interface)に表示したり、信号生成・配信部21を介して、クライアント端末18に当該グラフを表示させるように送信してもよい。
【0065】
<本発明の実施の形態の作用>
次に、本発明の実施の形態のタイムサーバ10による処理について
図5〜
図7を参照して説明する。タイムサーバ10が、参照クロック発信装置16−1〜16−nの何れかから参照クロックの時刻情報を受信し、自クロックの時刻情報と、参照クロックの時刻情報との現在の時差が計算されると、タイムサーバ10は、
図5に示すクロック調整処理ルーチンを実行する。クロック調整処理ルーチンは、参照クロックの時刻情報を受信する度に実行される。
【0066】
まず、ステップS100において、自クロック調整部34は、現在の自クロックの時刻情報と、時差計算部24によって計算された現在の時差とを取得する。
【0067】
ステップS102では、自クロック調整部34は、現在の時差と、前回の時差と、前回との間隔とに基づいて、現在の時差を0に向かわせるように、参照クロックとの時差を解消するための時差解消歩度Pを計算すると共に、参照クロックと自クロックの歩度差を0に向かわせるように、参照クロックの速度に合わせるための固有歩度Iを計算する。
【0068】
ステップS104において、自クロック調整部34は、上記ステップS100で取得した時刻情報及び現在の時差をメモリ(図示省略)に格納すると共に、上記ステップS102で計算された時差解消歩度P及び固有歩度Iを、収束予想計算部28へ出力する。
【0069】
そして、ステップS106において、自クロック調整部34は、時差解消歩度P、及び固有歩度Iに基づいて、自クロックの歩度を更新し、自システムクロック又はハードウエアクロック部22へ出力し、クロック調整処理ルーチンを終了する。
【0070】
また、タイムサーバ10が、参照クロック発信装置16から参照クロックの時刻情報を受信し、自クロックの時刻情報と、参照クロックの時刻情報との現在の時差が計算されると、タイムサーバ10は、
図6に示す収束予想計算処理ルーチンを実行する。クロック調整処理ルーチンは、参照クロックの時刻情報を受信する度に実行される。
【0071】
まず、ステップS110において、収束予想計算部28は、現在の自クロックの時刻情報と、時差計算部24によって計算された現在の時差とを取得する。
【0072】
そして、ステップS112において、収束予想計算部28は、メモリに格納された、前回の自クロックの時刻情報と、前回の時差とを取得すると共に、上記ステップS102で計算された時差解消歩度P及び固有歩度Iを取得する。
【0073】
ステップS114において、収束予想計算部28は、現在の時差と、一時刻前の時差と、時差解消歩度Pと、固有歩度Iとに基づいて、固有歩度Iが参照クロックの歩度に一致していると仮定した場合の将来の各時刻における時差及び時差解消歩度を計算する。
【0074】
ステップS116において、収束予想計算部28は、メモリに格納された、現在までの実際の時差と、将来の各時刻について計算された時差の予想値とを表すグラフを描画し、当該グラフを出力し、収束予想計算処理ルーチンを終了する。
【0075】
例えば、
図7に示すように、時差x(t)の実測曲線(
図7の実線参照)と、上記式[数4]による時差の予想曲線(
図7の破線参照)とを重ね合わせた曲線を表すグラフを描画する。
【0076】
このように、新たな時差x(t
i)が得られる度に、その最新情報を用いて収束予想をやり直す。すわなち、常に最新の結果からその先のj秒までの挙動を予想し直している。ここで、過去の時差x(t
k),(k=0,…,i)の記録については必ずしも全てをメモリに保存している必要はなく、例えば最新の1分だけ、あるいは過去1時間分など、グラフ描画に必要な期間のデータがメモリに記録されていればよい。
【0077】
以上説明したように、本発明の実施の形態に係るタイムサーバによれば、現在の時差と、一時刻前の時差と、時差解消歩度と、固有歩度とに基づいて、当該固有歩度が参照クロックの歩度に一致していると仮定した場合の将来の各時刻における参照クロックとの時差及び時差解消歩度を計算することにより、参照クロックとの時差を0に収束させるまでの意図した挙動を認識/把握することができる。また、予想曲線を表すグラフをユーザーに提示することにより、時差の挙動について、収束の見込みがあるのか否か、ユーザーに一目で分かるようになり、利便性が大きく向上する。
【0078】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0079】
例えば、過去の時差、収束予想の結果の両方共について、その保存方法については特に限定されない。内部メモリに保存してもよいし、都度ファイルに保存してもよい。
【0080】
また、タイムサーバがグラフを描画する場合を例に説明したが、これに限定されるものではなく、外部装置において、グラフを描画するようにしてもよい。この場合には、外部装置のグラフ描画機能への収束予想の計算結果の送信方法ついては、外部装置において、実測値と予想値を表示するグラフを描画できれば、特に限定されるものではない。例えば、最新の収束予想の計算結果だけをリアルタイムに外部装置へ送信してもよいし、一定の時間毎に全データを送り直すようにしてもよい。また、予測値と共に、将来の各時刻における時差解消歩度を外部に送出するようにしてもよい。
【解決手段】タイムサーバ10では、自クロック調整部34が、時差解消歩度及び固有歩度を計算し、自システムクロック又はハードウエアクロック部22の歩度を更新する。収束予想計算部28が、現在の時差と、時差解消歩度と、固有歩度とに基づいて、固有歩度が正しいと仮定した場合の将来の各時刻における参照クロックとの時差及び時差解消歩度を計算する。