【解決手段】 パケットフィルタ処理部100は、時刻マスタ機器600からのパケット送信時刻(t1)と第一の時計250によって打刻したパケット受信時刻(t2’)との時刻差(t2’−t1)の最小値(最小PDV)に基づき、パケット送信時刻(t1)を補正するとともに、第一の時計250によって打刻したパケット送信時刻(t3’)と時刻マスタ機器600でのパケット受信時刻(t4)との時刻差(t4−t3’)の最小値(最小PDV)に基づき、パケット受信時刻(t4)を補正する。
第一の時計を有するとともに、時刻マスタ機器からのパケット送信時刻と前記第一の時計によって打刻したパケット受信時刻との時刻差が一定になるように、前記第一の時計の動作を制御する周波数同期部と、
前記時刻マスタ機器からのパケット送信時刻と前記第一の時計によって打刻したパケット受信時刻との時刻差の最小値に基づき、前記時刻マスタ機器からのパケット送信時刻を補正するとともに、前記第一の時計によって打刻したパケット送信時刻と前記時刻マスタ機器でのパケット受信時刻との時刻差の最小値に基づき、前記時刻マスタ機器でのパケット受信時刻を補正するパケットフィルタ部と、
第二の時計を有するとともに、前記パケットフィルタ部で補正された前記時刻マスタ機器からのパケット送信時刻と前記第二の時計によって打刻したパケット受信時刻とから下り方向遅延時間を算出し、前記第二の時計で打刻したパケット送信時刻と前記パケットフィルタ部で補正された前記時刻マスタ機器でのパケット受信時刻とから上り方向遅延時間を算出し、前記下り方向遅延時間と前記上り方向遅延時間とが等しくなるように前記第二の時計の動作を制御する時刻同期部と、
を備えた時刻同期装置。
時刻マスタ機器からのパケット送信時刻と第一の時計によって打刻したパケット受信時刻との時刻差が一定になるように、前記第一の時計の動作を制御する周波数同期ステップと、
前記時刻マスタ機器からのパケット送信時刻と前記第一の時計によって打刻したパケット受信時刻との時刻差の最小値に基づき、前記時刻マスタ機器からのパケット送信時刻を補正するとともに、前記第一の時計によって打刻したパケット送信時刻と前記時刻マスタ機器でのパケット受信時刻との時刻差の最小値に基づき、前記時刻マスタ機器でのパケット受信時刻を補正するパケットフィルタステップと、
前記パケットフィルタステップで補正された前記時刻マスタ機器からのパケット送信時刻と第二の時計によって打刻したパケット受信時刻とから下り方向遅延時間を算出し、前記第二の時計で打刻したパケット送信時刻と前記パケットフィルタステップで補正された前記時刻マスタ機器でのパケット受信時刻とから上り方向遅延時間を算出し、前記下り方向遅延時間と前記上り方向遅延時間とが等しくなるように前記第二の時計の動作を制御する時刻同期ステップと、
を含む時刻同期方法。
時刻マスタ機器からのパケット送信時刻と第一の時計によって打刻したパケット受信時刻との時刻差が一定になるように、前記第一の時計の動作を制御する周波数同期手段と、
前記時刻マスタ機器からのパケット送信時刻と前記第一の時計によって打刻したパケット受信時刻との時刻差の最小値に基づき、前記時刻マスタ機器からのパケット送信時刻を補正するとともに、前記第一の時計によって打刻したパケット送信時刻と前記時刻マスタ機器でのパケット受信時刻との時刻差の最小値に基づき、前記時刻マスタ機器でのパケット受信時刻を補正するパケットフィルタ手段と、
前記パケットフィルタ手段で補正された前記時刻マスタ機器からのパケット送信時刻と第二の時計によって打刻したパケット受信時刻とから下り方向遅延時間を算出し、前記第二の時計で打刻したパケット送信時刻と前記パケットフィルタ手段で補正された前記時刻マスタ機器でのパケット受信時刻とから上り方向遅延時間を算出し、前記下り方向遅延時間と前記上り方向遅延時間とが等しくなるように前記第二の時計の動作を制御する時刻同期手段と、
をコンピュータに機能させるための時刻同期プログラム。
【発明を実施するための形態】
【0016】
以下、本発明を実施するための形態(以下「実施形態」という。)について説明する。まず、本実施形態1の概要を説明する。
【0017】
関連技術1にパケットフィルタ機能を実装した場合の前述の課題を解決するには、時刻サーボとは独立した周波数サーボを設け、周波数サーボでSyncE相当のクロックを生成し、そのクロックをパケット良否判定に使えば良い。ただし、周波数サーボを独立化しても、ITU-T G.8261で定義されているテストケース13や14の場合は、負荷変動が一定ではなく、過負荷のときもあれば負荷がないときもある。この場合に、周波数サーボでは、平均化フィルタの時定数を大きくすれば、安定したクロックがいずれ生成可能であるが、基地局装置特有の規格である電源立ち上げ後30分以内の時刻同期引き込みを満足しにくくなる。本実施形態1は、この場合でも、ある区間の平均値を基準とし、その後の周波数偏差を算出・補正することで、短時間でも高精度な時刻同期を可能とするものである。
【0018】
本実施形態1では、ITU-T G.8261で定義されているパケットネットワーク上の負荷モデルであるテストケース13(トラフィックモデル2)が印加された場合、時刻精度を±200ns以内にすることを可能とするものである。なお、本実施形態1は、IEEE1588v2プロトコル自体の変更は不要であり、かつ、時刻精度安定化のための外部ソフトウェアアルゴリズムも不要であることから、非常にシンプルな回路構成で実現することができる。更に、本実施形態1では、SyncEを使わなくとも、高精度な時刻同期が可能である。
【0019】
本実施形態1は、LTE(Long Term Evolution)など、無線基地局間同期をIEEE1588v2で実現した場合の時刻同期安定化のためのスレーブシステムあり、具体的には、理想的な時刻パケットのみを使い、高精度な時刻同期が可能であることを特徴としている。
【0020】
次に、本実施形態1の詳細について、図面を参照しつつ説明する。
図1は、本実施形態1の時刻同期装置を示すブロック図である。
図2は、本実施形態1の時刻同期装置におけるIIRフィルタを示すブロック図である。
【0021】
本実施形態1の時刻同期装置400は、パケットフィルタ処理部100、PTP周波数同期部200及びPTP時刻同期部300を備えている。PTP周波数同期部200は「PTP Frequency Servo」、PTP時刻同期部300は「PTP Time Servo」と、それぞれ表記することもできる。
【0022】
パケットフィルタ処理部100は、t1パケット受信部111、フォローアップパケット受信部112、t3パケット送信部113、t4パケット受信部114、t2’打刻部130、t2’−t1算出部131、t2’−t1最小時間選択部132、t2’−t1補正部133、t1補正値更新部134、t3’打刻部140、t4−t3’算出部141、t4−t3’最小時間選択部142、t4−t3’補正部143、t4補正値更新部144などを備えている。t2’打刻部130は「t2' Time to stamp (for Packet Filter)」、t2’−t1最小時間選択部132は「t2'-t1 min. PDV(Packet Delay Variation) Search & Keephold」、t2’−t1補正部133は「t2'-t1 Correction」、t1補正値更新部134は「Update to PTP t1 Correction Field」、t3’打刻部140は「t3' Time to stamp (for Packet Filter)」、t4−t3’最小時間選択部142は「t4-t3' min. PDV Search & Keephold」、t4−t3’補正部143は「t4-t3' Correction」、t4補正値更新部144は「Update to PTP t4 Correction Field」と、それぞれ表記することもできる。
【0023】
PTP周波数同期部200は、t2’打刻部210、位相比較器220、IIR(Infinite Impulse Response)フィルタ230、PI制御器240、第一の時計250などを備えている。t2’打刻部210は「t2' Time to stamp (for F/Servo)」、位相比較器220は「PD(Phase Detector) (for F/Servo)」、IIRフィルタ230は「IIR Filter W/ Smoothing Algorithm」、第一の時計250は「Servo t1 Epoch Counter」と、それぞれ表記することもできる。第一の時計250からt2’打刻部210へ出力されるローカルタイムは、「t1 time (recovered)」と表記することもできる。
【0024】
IIRフィルタ230は、フィルタ部510及びディザリング部520を備えている。フィルタ部510は、加算器511、分周器512、加算器513及び積分器514を備えている。ディザリング部520は、最大時間選択部521、データ出力部522、ディザリング処理部523及び加算器524を備えている。分周器512は「Divider (1/N) N-Average」、積分器514は「Integrator (Z^-1)」、最大時間選択部521は「MAX Time Search & Keephold」、データ出力部522は「=N Count Filter data Keephold, >N Count Filter data」、ディザリング処理部523は「Dithering (x-∞)/abs (MAX Time)」と、それぞれ表記することもできる。
【0025】
PTP時刻同期部300は、OCXO(Oven Controlled Crystal Oscillator)310、第二の時計311、t2打刻部320、t2−t1算出部321、加算器322、t3打刻部330、t4−t3算出部331、補数化部332、PI制御器340などを備えている。
【0026】
PTP時刻同期部300、並びに、パケットフィルタ処理部100のt1パケット受信部111、フォローアップパケット受信部112、t3パケット送信部113及びt4パケット受信部114は、
図6に示す関連技術1の時刻同期装置50の構成に準ずる。時刻マスタ機器600は一般的な構成である。
【0027】
次に、本実施形態1の時刻同期装置400の特徴について説明する。前述したように、時刻同期装置400は、パケットフィルタ処理部100、PTP周波数同期部200及びPTP時刻同期部300を備えている。
【0028】
PTP周波数同期部200は、第一の時計250を有するとともに、時刻マスタ機器600からのパケット送信時刻(t1)と第一の時計250によって打刻したパケット受信時刻(t2’)との時刻差(t2’−t1)が一定になるように、第一の時計250の動作を制御する。つまり、PTP周波数同期部200は、時刻マスタ機器600の出力信号(時刻)の周波数に、第一の時計250の出力信号(時刻)の周波数を同期させる。
【0029】
パケットフィルタ処理部100は、時刻マスタ機器600からのパケット送信時刻(t1)と第一の時計250によって打刻したパケット受信時刻(t2’)との時刻差(t2’−t1)の最小値(最小PDV)に基づき、パケット送信時刻(t1)を補正するとともに、第一の時計250によって打刻したパケット送信時刻(t3’)と時刻マスタ機器600でのパケット受信時刻(t4)との時刻差(t4−t3’)の最小値(最小PDV)に基づき、パケット受信時刻(t4)を補正する。ここで「補正する」には、各パケットの補正フィールド(Correction Field)に補正値を加算することも含まれる。
【0030】
PTP時刻同期部300は、第二の時計311を有するとともに、パケットフィルタ処理部100で補正されたパケット送信時刻(t1)と、第二の時計311によって打刻したパケット受信時刻(t2)とから下り方向遅延時間(t2−t1)を算出し、第二の時計311によって打刻したパケット送信時刻(t3)と、パケットフィルタ処理部100で補正されたパケット受信時刻(t4)とから上り方向遅延時間(t4−t3)を算出し、下り方向遅延時間(t4−t3)と上り方向遅延時間(t2−t1)とが等しくなるように第二の時計311の動作を制御する。つまり、PTP時刻同期部300は、時刻マスタ機器600の出力信号(時刻)に、第二の時計311の出力信号(時刻)を同期させる。
【0031】
パケット送信時刻(t1)は受信パケット(フォローアップパケット)に含まれ、パケット受信時刻(t2’)は受信パケット(t1パケット)に対応し、パケット送信時刻(t3’)は送信パケット(t3パケット)に対応し、パケット受信時刻(t4)は受信パケット(t4パケット)に含まれる。
【0032】
本実施形態1によれば、時刻同期用の時計311ではなくSyncE相当の周波数同期用の時計250を用いてパケットフィルタ処理部100を動作させることにより、パケット送信時刻(t1)及びパケット受信時刻(t4)を正確に補正できるので、特定のプロトコルによる通信において時刻精度を向上できる。
【0033】
また、本実施形態1の時刻同期装置400は、次のように言い換えることも可能である。
【0034】
時刻同期装置400は、IEEE1588プレシジョンタイムプロトコルを用いた時刻同期装置であって、パケットフィルタ処理部100、PTP周波数同期部200及びPTP時刻同期部300を備える。
【0035】
PTP周波数同期部200は、第一の時計250を有するとともに、時刻マスタ機器600からのパケット送信時刻t1と第一の時計250によって打刻したパケット受信時刻t2’との時刻差t2’−t1が一定になるように、第一の時計250に対してPLL制御を実行する。
【0036】
パケットフィルタ処理部100は、パケット送信時刻t1とパケット受信時刻t2’との時刻差t2’−t1の最小値に基づき、パケット送信時刻t1に対する補正フィールドに補正値を加算するとともに、第一の時計250によって打刻したパケット送信時刻t3’と時刻マスタ機器600でのパケット受信時刻t4との時刻差t4−t3’の最小値に基づき、パケット受信時刻t4に対する補正フィールドに補正値を加算する。
【0037】
PTP時刻同期部300は、第二の時計311を有するとともに、パケットフィルタ処理部100で補正フィールドに補正値が加算されたパケット送信時刻t1と第二の時計311によって打刻したパケット受信時刻t2とから下り方向遅延時間t2−t1を算出し、第二の時計311で打刻したパケット送信時刻t3とパケットフィルタ処理部100で補正フィールドに補正値が加算されたパケット受信時刻t4とから上り方向遅延時間t4−t3を算出し、下り方向遅延時間t2−t1と上り方向遅延時間t4−t3とが等しくなるように第二の時計311に対してPLL制御を実行する。
【0038】
詳しく言えば、関連技術1では、時刻サーボ部が周波数サーボ相当の機能を担うことにより、ネットワークの負荷変動に同期したクロックしか抽出できないので、この揺らぎ成分が加わったクロックをパケットの良否判定に使おうとすると、正確な時刻を打刻できない。これに対し、本実施形態1によれば、時刻サーボ部(PTP時刻同期部300)とは独立した周波数サーボ部(PTP周波数同期部200)を設けることにより、ネットワークの負荷変動に影響されない正確なクロックを抽出できるので、このクロックをパケットの良否判定に使うことによって正確な時刻を打刻できる。
【0039】
また、PTP周波数同期部200は、時刻マスタ機器600からのパケット送信時刻(t1)と、第一の時計250によって打刻したパケット受信時刻(t2’)との時刻差(t2’−t1)について、Nを2以上の自然数かつ定数、Mを自然数かつ1から1ずつ増加する変数としたとき、1番目からN番目までのサンプリングデータの平均値に基づくデータを基準値とし、M番目からN+M番目までのサンプリングデータの平均値に基づくデータを検出値とし、基準値に検出値が等しくなるように、第一の時計250へ制御信号を出力する、ようにしてもよい。この場合は、ある区間の平均値を基準とし、その後の周波数偏差を算出・補正することにより、短時間でも高精度な時刻同期が可能である。
【0040】
更に、PTP周波数同期部200は、時刻マスタ機器600からのパケット送信時刻(t1)と、第一の時計250によって打刻したパケット受信時刻(t2’)との時刻差(t2’−t1)の最大値を検出し、その最大値が大きいほど第一の時計250の周波数の変化が少なくなるよう制御信号を補正する、としてもよい。この場合は、時刻差(t2’−t1)の大きな変動に対しても、第一の時計250の周波数を安定化できる。
【0041】
次に、本実施形態1の時刻同期装置400について、更に詳細に説明する。
【0042】
PTP周波数同期部200及びPTP時刻同期部300は、それぞれ独立した第一及び第二の時計(PTP Epoch Counter)250,311を配備している。それぞれが独立した時計を持つ理由は、各時計の用途が異なるからである。PTP周波数同期部200の第一の時計250は、前述したように受信パケットの良否判定用の時計であり、OCXO310から出力されたジッタ・ワンダフリーのクリーンなクロックを元に生成されている。PTP時刻同期部300の第二の時計311は、その名の通りマスタ時刻と同一時刻にするための時計である。この第二の時計311が、いわゆる時刻同期用の時計であり、装置内の時計となる。
【0043】
パケットフィルタ処理部100は、時刻同期用の4種類のメッセージを送受信する。まず、t1パケット受信部111は、時刻マスタ機器600からt1(Sync message)パケットを受信する。t2’打刻部130は、その受信時刻をt2’時刻として、PTP周波数同期部200で生成された第一の時計250のローカルタイムによって打刻する。t2’−t1算出部131は、t2’時刻とt1時刻との差を算出する。
【0044】
本実施形態1では、IEEE1588v2で一般的な2STEP方式で説明しているため、フォローアップパケット受信部112で得たt2(Follow-up Message)パケットに含まれる値をt1時刻としている。なお、本実施形態1は、1STEP方式・2STEP方式のどちらでも採用できる。1STEP方式は、t1時刻の情報がt1パケットに入っている点を除き、2STEP方式に準ずる。
【0045】
t2’−t1最小時間選択部132は、t2’−t1算出部131で算出された時刻差から最小時間を探し、それを保持する。つまり、t2’−t1最小時間選択部132は、その最小時間を保持する機能と、最小時間以外を分離する機能とを有する。t2’−t1補正部133は、t2’−t1最小時間選択部132の結果に基づいて、下り方向時刻の補正値を生成する。t1補正値更新部134は、その補正値をt1パケットのCorrection Fieldに加算する。
【0046】
例えば、最小PDV(min.PDV)が「2」であるとする。これが基準となるので、「3」以上のPDVは他のPDV(other min.PDV)として扱う。つまり、他のPDV(other min.PDV)が「3」の場合は、「3−2=1」を補正フィールドに加算することになる。ただし、減算はあり得ない。なぜなら、最小PDV(min.PDV)が「1」になった場合は、それ以前の最小PDVである「2」は他のPDV(other min.PDV)になるからである。
【0047】
上り方向では、PTP時刻同期部300から送信されるt3パケットについて、下り方向と同様に、PTP周波数同期部200で生成された第一の時計250のローカルタイムを用いて、t3’打刻部140がその送信時刻を打刻する。打刻されたt3’時刻は、パケットフィルタ処理部100のみで使用し、元のt3パケット内のt3時刻の上書きには用いない。よって、t3パケット送信部113は、t3(Delay Request Message)パケットをそのまま時刻マスタ機器600へ送信する。t4パケット受信部114は、時刻マスタ機器600から送信されたt4(Delay Response Message)パケットを受信する。t4−t3’算出部141は、そのt4時刻とt3’時刻との時刻差を算出する。
【0048】
t4−t3’最小時間選択部142は、t4−t3’算出部141で算出された時刻差から最小時間を探し、それを保持する。つまり、t4−t3’最小時間選択部142は、その最小時間を保持する機能と、最小時間以外を分離する機能とを有する。t4−t3’補正部143は、t4−t3’最小時間選択部142の結果に基づいて、上り方向時刻の補正値を生成する。t4補正値更新部144は、その補正値をt4パケットのCorrection Fieldに加算する。
【0049】
以上説明したように、最小時間パケットを取得し、そのパケットを元に時刻を補正することで、上り・下りの遅延差を最小限に抑えることができ、結果、高精度な時刻精度を得ることが可能となる。更に、最小時間パケットは常時更新されるため、時刻精度が前回から悪くなるということがなく、本実施形態1では、必ず、精度が良くなる方向にしかならない。ここで、最小時間パケットを取得すると、上り・下りの遅延差が最小になる理由は、最小時間パケットには正確なネットワーク伝搬遅延が反映されているからである。
【0050】
以上の説明から、パケットフィルタ処理部100のt2’打刻部130及びt3’打刻部140では、時刻マスタ機器600に周波数同期し、かつジッタ・ワンダフリーなクロックが必要である。その理由は、周波数同期していない場合は毎回の打刻時刻に誤差が発生することにより、また、ジッタ・ワンダがある場合は周波数同期していても誤った時刻を打刻してしまうことにより、最小時刻パケットを正確に得られないので、パケットフィルタとして正常に機能しないからである。
【0051】
そのような問題は、SyncEを使えば解決するが、全ネットワークをSyncEに張り替える必要があるため、実現性が低い。したがって、本実施形態1では、SyncEではなく、Asyncイーサネットをベースした周波数同期方式を採用する。
【0052】
具体的には、PTP周波数同期部200を実装することで、時刻マスタ機器600との周波数同期と、ジッタ・ワンダフリーなクロック再生とを実現する。詳細を説明すると、まず、t2’打刻部210は、t1パケット受信部111でt1パケットを受信した時刻を時計250によって打刻し、これをt2’時刻とする。続いて、位相比較器220は、フォローアップパケット受信部112で受信したフォローアップメッセージからt1時刻を取り出し、t1時刻とt2’時刻とを比較(すなわち位相比較)する。その比較結果である差分信号は、IIRフィルタ230でフィルタ処理されることにより、ジッタやノイズが除去され平滑化された差分信号となる。そして、その平滑化された差分信号は、PI制御器240で比例・積分処理されることにより、その差分信号を最終的に一定に収束させる制御信号として、時計250内のDCOへ出力される。これにより、周波数同期が行われる。
【0053】
なお、時計250内のDCOで使用するクロックCLKは、外部のOCXO310とする。OCXOにした理由は、DCOの周波数ドリフトを限りなく小さくすることにより、PTP周波数同期部200の直流ループゲインを下げられるので、高精度なクロックを再生できるためである。ここで、なぜ、DCOを使うのか、なぜ、PI制御が必要なのか、更にDCOに対するPI制御方法などについては、通常のディジタルPLLと同様である。本実施形態1の特徴は、PTP周波数同期部200そのものではなく、パケットフィルタ処理部100の基準クロック用としてPTP周波数同期部200が必須であること、更に次項に述べることである。
【0054】
IIRフィルタ230の詳細ブロック図を
図2に示す。IIRフィルタ230内は、大きく分けてフィルタ部510とディザリング部520で構成されている。フィルタ部510は分周器512を除き一般的なIIRフィルタであるので、分周器512についてのみ説明する。分周器512に設定される分母Nは、User Settableであるため外部制御によって変えられる。このN値が、PTP周波数同期部200の学習時間となる。パケットネットワークの遅延分布が正規分布の場合は、分母Nを小さくしてもよい。しかし、その分布が一定でない場合は、周波数の正確な平均化処理のために、N値を大きくする必要がある。N値は、実際にパケットネットワーク運用者が、そのパケットネットワークに適した値にすることが望ましい。また、パケットネットワークによっては、急激に負荷変動が発生する場合や段階的に負荷が増減する場合があり、それらの場合はN値を大きくすれば解決する。しかし、基地局などでは、運用上、電源起動後30分以内に時刻同期している必要があるので、N値をあまり大きくできない。そのような場合に、ディザリング部520が有効である。
【0055】
ディザリング部520では、PTP周波数同期部200内の位相比較器220から出力された比較結果の最大値を検出し、その最大値を保持し(最大時間選択部521)、フィルタ部510でNカウントした結果を基準とするために保持しておく(データ出力ブロック522)。N<カウントした結果は、フィルタ部510のサンプリング周期単位で、「Nカウント値(基準値)−N<カウント値」を算出し、その結果を最大時間選択部521で保持しておいた最大時刻差で除算する(ディザリング処理部523)。
【0056】
基本的に「Nカウント値(基準値)−N<カウント値」のみで動作させても良い。しかし、そのようにすると、時刻マスタ機器600で時刻が変化した場合(第一の問題)や、PTP周波数同期部200が不感帯動作した場合(第二の問題)に、正常な周波数同期ができなくなるおそれがある。そこで、加算器524では、フィルタ部510からのNカウント結果に、「(Nカウント値(基準値)−N<カウント値)/最大時刻差」の補数を加算することで、前記二つの問題を解決している。
【0057】
次に、ディザリング部520の有効性について、
図3乃至
図5に基づき説明する。
図3乃至
図5は、ディザリング部520の有無について、ITU-T G.8261に示されるテストケースTC13_TM2を印加した場合のシミュレーション結果である。
【0058】
図3は、ディザリング部520を実装しない場合(比較例1)における時刻オフセット量の変動グラフである。比較例1では、フィルタ部510は実装しており、N=300sとしている。
図3からわかるように、ほぼ、時刻オフセットの生データ(黒色点)に従って、移動平均データ(灰色点)が遷移している。この状態では、PTP周波数同期部200からのローカルタイムを、パケットフィルタ処理部100の基準クロックに使うことは難しくなる。なぜなら、時刻オフセットの変動が約±10μsになると、パケットフィルタ処理部100が誤動作しがちになるからである。
【0059】
図4は、ディザリング部520を実装した場合(本実施形態1)の時刻オフセット結果である。この結果を見ると、時刻オフセットはほぼ4μsに収束していることがわかる。
図4を拡大した
図5からわかるように、厳密には、時刻オフセットの変動が、約±200ns以下であり、LTE-A規格である±500ns以下を満たす。このように、ディザリング部520の効果は、十分にあると考えられる。
【0060】
以上説明したように、本実施形態1によれば、ITU-T G.8261で定義されているパケットネットワーク上の負荷モデルであるテストケース13(トラフィックモデル2)が印加された場合、時刻精度を±200ns以内にできる。なお、本実施形態1は、IEEE1588v2プロトコル自体の変更は不要であり、かつ、時刻精度安定化のための外部ソフトウェアアルゴリズムも不要であることから、非常にシンプルな回路構成で実現することができる。更にSyncEも不要である。
【0061】
次に、本実施形態1の時刻同期方法及び時刻同期プログラムについて説明する。
【0062】
本実施形態1の時刻同期方法は、本実施形態1の時刻同期装置400の動作を方法の発明として捉えたものである。すなわち本実施形態1の時刻同期方法は、パケットフィルタ処理ステップ、PTP周波数同期ステップ及びPTP時刻同期ステップを含む。
【0063】
PTP周波数同期ステップでは、時刻マスタ機器600からのパケット送信時刻(t1)と第一の時計250によって打刻したパケット受信時刻(t2’)との時刻差(t2’−t1)が一定になるように、第一の時計250の動作を制御する。
【0064】
パケットフィルタ処理ステップでは、時刻マスタ機器600からのパケット送信時刻(t1)と第一の時計250によって打刻したパケット受信時刻(t2’)との時刻差(t2’−t1)の最小値(最小PDV)に基づき、パケット送信時刻(t1)を補正するとともに、第一の時計250によって打刻したパケット送信時刻(t3’)と時刻マスタ機器600でのパケット受信時刻(t4)との時刻差(t4−t3’)の最小値(最小PDV)に基づき、パケット受信時刻(t4)を補正する。
【0065】
PTP時刻同期ステップでは、パケットフィルタ処理ステップで補正されたパケット送信時刻(t1)と第二の時計311によって打刻したパケット受信時刻(t2)とから下り方向時刻差(t2−t1)を算出し、第二の時計311によって打刻したパケット送信時刻(t3)とパケットフィルタ処理ステップで補正されたパケット受信時刻(t4)とから上り方向時刻差(t4−t3)を算出し、下り方向時刻差(t4−t3)と上り方向時刻差(t2−t1)とが等しくなるように第二の時計311の動作を制御する。
【0066】
本実施形態1の時刻同期プログラムは、本実施形態1の時刻同期装置400の各手段(各部)をコンピュータに機能させるためのものである。すなわち本実施形態1の時刻同期方法は、パケットフィルタ処理部手段(100)、PTP周波数同期手段(200)及びPTP時刻同期手段(300)を含む。
【0067】
PTP周波数同期手段(200)は、時刻マスタ機器600からのパケット送信時刻(t1)と第一の時計250によって打刻したパケット受信時刻(t2’)との時刻差(t2’−t1)が一定になるように、第一の時計250の動作を制御する。
【0068】
パケットフィルタ処理手段(100)は、時刻マスタ機器600からのパケット送信時刻(t1)と第一の時計250によって打刻したパケット受信時刻(t2’)との時刻差(t2’−t1)の最小値(最小PDV)に基づき、パケット送信時刻(t1)を補正するとともに、第一の時計250によって打刻したパケット送信時刻(t3’)と時刻マスタ機器600でのパケット受信時刻(t4)との時刻差(t4−t3’)の最小値(最小PDV)に基づき、パケット受信時刻(t4)を補正する。
【0069】
PTP時刻同期手段(300)は、パケットフィルタ手段(100)で補正されたパケット送信時刻(t1)と第二の時計311によって打刻したパケット受信時刻(t2)とから下り方向遅延時間(t2−t1)を算出し、第二の時計311によって打刻したパケット送信時刻(t3)とパケットフィルタ手段(100)で補正されたパケット受信時刻(t4)とから上り方向遅延時間(t4−t3)を算出し、下り方向遅延時間(t4−t3)と上り方向遅延時間(t2−t1)とが等しくなるように第二の時計311の動作を制御する。
【0070】
本プログラムは、非一時的な記録媒体(non-transitory storage medium)、例えば光ディスク、半導体メモリなどに記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
【0071】
本実施形態1の時刻同期方法及び時刻同期プログラムのその他の構成、作用及び効果は、本実施形態1の時刻同期装置400のそれらと同様である。
【0072】
以上、上記実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細については、当業者が理解し得るさまざまな変更を加えることができる。また、上記の実施形態の一部又は全部は以下の付記のようにも記載され得るが、本発明は以下の構成に限定されるものではない。
【0073】
[付記1]第一の時計を有するとともに、時刻マスタ機器からのパケット送信時刻と前記第一の時計によって打刻したパケット受信時刻との時刻差が一定になるように、前記第一の時計の動作を制御する周波数同期部と、
前記時刻マスタ機器からのパケット送信時刻と前記第一の時計によって打刻したパケット受信時刻との時刻差の最小値に基づき、前記時刻マスタ機器からのパケット送信時刻を補正するとともに、前記第一の時計によって打刻したパケット送信時刻と前記時刻マスタ機器でのパケット受信時刻との時刻差の最小値に基づき、前記時刻マスタ機器でのパケット受信時刻を補正するパケットフィルタ部と、
第二の時計を有するとともに、前記パケットフィルタ部で補正された前記時刻マスタ機器からのパケット送信時刻と前記第二の時計によって打刻したパケット受信時刻とから下り方向遅延時間を算出し、前記第二の時計で打刻したパケット送信時刻と前記パケットフィルタ部で補正された前記時刻マスタ機器でのパケット受信時刻とから上り方向遅延時間を算出し、前記下り方向遅延時間と前記上り方向遅延時間とが等しくなるように前記第二の時計の動作を制御する時刻同期部と、
を備えた時刻同期装置。
【0074】
[付記2]前記周波数同期部は、
前記時刻マスタ機器からのパケット送信時刻と、前記第一の時計によって打刻したパケット受信時刻との時刻差について、
Nを2以上の自然数かつ定数、Mを自然数かつ1から1ずつ増加する変数としたとき、
1番目からN番目までのサンプリングデータの平均値に基づくデータを基準値とし、M番目からN+M番目までのサンプリングデータの平均値に基づくデータを検出値とし、
前記基準値に前記検出値が等しくなるように、前記第一の時計へ制御信号を出力する、
付記1記載の時刻同期装置。
【0075】
[付記3]前記周波数同期部は、
前記時刻マスタ機器からのパケット送信時刻と、前記第一の時計によって打刻したパケット受信時刻との時刻差の最大値を検出し、
当該最大値が大きいほど前記第一の時計の周波数の変化が少なくなるように、前記制御信号を補正する、
付記2記載の時刻同期装置。
【0076】
[付記4]IEEE1588プレシジョンタイムプロトコルを用いた時刻同期装置であって、
第一の時計を有するとともに、時刻マスタ機器からのパケット送信時刻t1と前記第一の時計によって打刻したパケット受信時刻t2’との時刻差t2’−t1が一定になるように、前記第一の時計に対してPLL制御を実行する周波数同期部と、
前記パケット送信時刻t1と前記パケット受信時刻t2’との時刻差t2’−t1の最小値に基づき、前記パケット送信時刻t1に対する補正フィールドに補正値を加算するとともに、前記第一の時計によって打刻したパケット送信時刻t3’と前記時刻マスタ機器でのパケット受信時刻t4との時刻差t4−t3’の最小値に基づき、前記パケット受信時刻t4に対する補正フィールドに補正値を加算するパケットフィルタ部と、
第二の時計を有するとともに、前記パケットフィルタ部で前記補正フィールドに前記補正値が加算された前記パケット送信時刻t1と前記第二の時計によって打刻したパケット受信時刻t2とから下り方向遅延時間t2−t1を算出し、前記第二の時計で打刻したパケット送信時刻t3と前記パケットフィルタ部で前記補正フィールドに前記補正値が加算されたパケット受信時刻t4とから上り方向遅延時間t4−t3を算出し、前記下り方向遅延時間t2−t1と前記上り方向遅延時間t4−t3とが等しくなるように前記第二の時計に対してPLL制御を実行する時刻同期部と、
を備えた時刻同期装置。
【0077】
[付記5]時刻マスタ機器からのパケット送信時刻と第一の時計によって打刻したパケット受信時刻との時刻差が一定になるように、前記第一の時計の動作を制御する周波数同期ステップと、
前記時刻マスタ機器からのパケット送信時刻と前記第一の時計によって打刻したパケット受信時刻との時刻差の最小値に基づき、前記時刻マスタ機器からのパケット送信時刻を補正するとともに、前記第一の時計によって打刻したパケット送信時刻と前記時刻マスタ機器でのパケット受信時刻との時刻差の最小値に基づき、前記時刻マスタ機器でのパケット受信時刻を補正するパケットフィルタステップと、
前記パケットフィルタステップで補正された前記時刻マスタ機器からのパケット送信時刻と第二の時計によって打刻したパケット受信時刻とから下り方向遅延時間を算出し、前記第二の時計で打刻したパケット送信時刻と前記パケットフィルタステップで補正された前記時刻マスタ機器でのパケット受信時刻とから上り方向遅延時間を算出し、前記下り方向遅延時間と前記上り方向遅延時間とが等しくなるように前記第二の時計の動作を制御する時刻同期ステップと、
を含む時刻同期方法。
【0078】
[付記6]時刻マスタ機器からのパケット送信時刻と第一の時計によって打刻したパケット受信時刻との時刻差が一定になるように、前記第一の時計の動作を制御する周波数同期手段と、
前記時刻マスタ機器からのパケット送信時刻と前記第一の時計によって打刻したパケット受信時刻との時刻差の最小値に基づき、前記時刻マスタ機器からのパケット送信時刻を補正するとともに、前記第一の時計によって打刻したパケット送信時刻と前記時刻マスタ機器でのパケット受信時刻との時刻差の最小値に基づき、前記時刻マスタ機器でのパケット受信時刻を補正するパケットフィルタ手段と、
前記パケットフィルタ手段で補正された前記時刻マスタ機器からのパケット送信時刻と第二の時計によって打刻したパケット受信時刻とから下り方向遅延時間を算出し、前記第二の時計で打刻したパケット送信時刻と前記パケットフィルタ手段で補正された前記時刻マスタ機器でのパケット受信時刻とから上り方向遅延時間を算出し、前記下り方向遅延時間と前記上り方向遅延時間とが等しくなるように前記第二の時計の動作を制御する時刻同期手段と、
をコンピュータに機能させるための時刻同期プログラム。