JP7122496B2 - 時刻補正装置、時刻補正方法及び時刻補正プログラム - Google Patents
時刻補正装置、時刻補正方法及び時刻補正プログラム Download PDFInfo
- Publication number
- JP7122496B2 JP7122496B2 JP2022527443A JP2022527443A JP7122496B2 JP 7122496 B2 JP7122496 B2 JP 7122496B2 JP 2022527443 A JP2022527443 A JP 2022527443A JP 2022527443 A JP2022527443 A JP 2022527443A JP 7122496 B2 JP7122496 B2 JP 7122496B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- frequency deviation
- correction amount
- time correction
- synchronization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
-
- G—PHYSICS
- G04—HOROLOGY
- G04G—ELECTRONIC TIME-PIECES
- G04G5/00—Setting, i.e. correcting or changing, the time-indication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Electric Clocks (AREA)
Description
時刻同期の基準となる同期基準装置のクロック周波数と前記同期基準装置と時刻同期する時刻同期装置のクロック周波数との周波数偏差の単位時間あたりの変化率である周波数偏差変化率を算出する周波数偏差変化率算出部と、
前記同期基準装置のクロック周波数と前記時刻同期装置のクロック周波数との間の固定的な周波数偏差に対応する第1の補正量を算出し、前記周波数偏差変化率の時間積分を行って前記同期基準装置のクロック周波数と前記時刻同期装置のクロック周波数との間の周波数偏差の時間推移に対応する第2の補正量を算出し、前記第1の補正量と前記第2の補正量とを用いて、前記時刻同期装置の時刻を補正するための時刻補正量を算出する時刻補正量算出部と、
前記時刻補正量を用いて、前記時刻同期装置の時刻を補正する時刻補正部とを有する。
***IEEE802.1ASの時刻同期***
先ず、本実施の形態を説明する前に、本実施の形態の前提となるIEEE802.1ASの時刻同期の原理を説明する。
図28は、IEEE802.1ASの時刻同期における通信シーケンスを示す。
グランドマスタ装置及びスレーブ装置は、時刻カウンタとフリーランカウンタの2種類のカウンタを実装する。
時刻カウンタは、グランドマスタ装置の時刻に合わせてカウンタ値が補正される。
フリーランカウンタは、補正されることなく自走し続けるカウンタである。
スレーブ装置では、フリーランカウンタで時刻を刻む。そして、スレーブ装置は、フリーランカウンタの値に基づいて時刻カウンタのカウントを進める。スレーブ装置の時刻カウンタはグランドマスタの時刻(時刻カウンタの値)に定期的に補正される。
以下では、フリーランカウンタの値をT*freeと表現し、時刻カウンタの値をT*timeと表現する。
時刻同期では、以下の(1)、(2)及び(3)の処理が行われる。
(a)スレーブ装置がPdelay_Reqフレームをグランドマスタ装置に送信する。グランドマスタ装置がPdelay_Reqフレームへの応答としてPdelay_Respフレームをスレーブ装置に送信する。グランドマスタ装置は、Pdelay_Respフレームの送信時のタイムスタンプ(T3free(0))を取得する。
(b)スレーブ装置は、Pdelay_Respフレームを受信する。また、スレーブ装置は、Pdelay_Respフレームの受信時のタイムスタンプ(T4free(0))を取得する。
(c)次に、グランドマスタ装置は、T3free(0)のタイムスタンプ情報をPDelayResp_Follow_Upフレームに格納し、PdelayResp_Follow_Upフレームをスレーブ装置に送信する(図28ではPdelayResp_Follow_Upフレームの送信の図示を省略)。
(d)上記の(a)からN周期後のPdelay_Respのフレームの送信時のタイムスタンプ(T3free(N))と受信時のタイムスタンプ(T4free(N))からスレーブ装置は以下の式1により周波数偏差Rを計算する(厳密にはRは周波数偏差比であり、IEEE802.1ASでは、Rate Ratioとして定義される)。
(a)スレーブ装置がPdelay_Reqフレームを送信し、Pdelay_Reqフレームの送信時のタイムスタンプ(T1free(N))を取得する。
(b)グランドマスタ装置はPdelay_Reqフレームを受信し、Pdelay_Reqフレームの受信時のタイムスタンプ(T2free(N))を取得する。
(c)グランドマスタ装置はPdelay_Reqフレームの受信時のタイムスタンプ(T2free(N))をPdelay_Respフレームに格納し、Pdelay_Respフレームをスレーブ装置に送信する。このとき、グランドマスタ装置は、Pdelay_Respフレームの送信時のタイムスタンプ(T3free(N))を取得する。
(d)スレーブ装置は、Pdelay_Respフレームを受信し、Pdelay_Respフレームの受信時のタイムスタンプ(T4free(N))を取得する。
(e)グランドマスタ装置は、Pdelay_Resp_Follow_UpフレームにT3free(N)のタイムスタンプ情報を格納し、Pdelay_Resp_Follow_Upフレームをスレーブ装置に送信する(図28ではPdelayResp_Follow_Upフレームの送信の図示を省略)。
(f)スレーブ装置は、Pdelay_Resp_Follow_Upフレームを受信し、T3free(N)のタイムスタンプ情報を取得する。
(g)スレーブ装置は、以下の式2により伝搬遅延時間Dを計算する。
(a)グランドマスタ装置はSyncフレームを送信し、Syncフレームの送信時のタイムスタンプ(T5time(N))を取得する。
(b)スレーブ装置はSyncフレームを受信し、Syncフレームの受信時のタイムスタンプ(T6time(N))を取得する。
(c)グランドマスタ装置は、Follow_UpフレームにT5time(N)のタイムスタンプ情報を格納し、Follow_Upフレームをスレーブ装置に送信する(図28ではFollow_Upフレームの送信の図示を省略)。
(d)スレーブ装置は、Follow_Upフレームを受信し、T5time(N)のタイムスタンプ情報を取得する。
(e)スレーブ装置は、Syncフレームの受信後、時刻同期を実施する時刻Ttime,syncでのグランドマスタ装置での時刻Cs(T)を以下の式3により計算し、時刻Ttime,syncでCs(T)に時刻補正する。
INTRR = INTPD×N(N≧1の整数)
Pdelay_Req送信周期INTPDとSync送信周期INTsyncとの大小関係について規格上は特に規定はされていない。本実施の形態では、INTPD=INTsyncであることを前提とするが、INTPDとINTsyncの大小関係は問わない。
後述する周波数偏差計算周期はPdelay_Req送信周期INTPDと同等の長さとする。なお、周波数偏差計算周期は規格上定義されているものではない。
周波数偏差測定周期と周波数計算周期の関係は図5の通り。周波数偏差測定で使用するタイムスタンプはPdelay_Req送信周期毎に取得し、最新値とN周期前のタイムスタンプによって周波数偏差を計算する。よって、周波数偏差自体は、Pdelay_Req送信周期(周波数偏差計算周期)毎周期計算される。
図1は、本実施の形態に係る時刻同期システム1000の例を示す。
グランドマスタ装置100は、時刻同期の基準となる。グランドマスタ装置100は、時刻配信を実施する。グランドマスタ装置100は、同期基準装置に相当する。
スレーブ装置200は、グランドマスタ装置100と時刻同期する。スレーブ装置200は時刻同期装置に相当する。
また、スレーブ装置200は、機能構成として、後述する通信部201、制御部202、時刻管理部203、周波数偏差変化率算出部204、時刻補正量算出部205及び時刻補正部206を備える。
補助記憶装置903には、通信部201、制御部202、時刻管理部203、周波数偏差変化率算出部204、時刻補正量算出部205及び時刻補正部206の機能を実現するプログラムが記憶されている。
これらプログラムは、補助記憶装置903から主記憶装置902にロードされる。そして、プロセッサ901がこれらプログラムを実行して、後述する通信部201、制御部202、時刻管理部203、周波数偏差変化率算出部204、時刻補正量算出部205及び時刻補正部206の動作を行う。
図3では、プロセッサ901が通信部201、制御部202、時刻管理部203、周波数偏差変化率算出部204、時刻補正量算出部205及び時刻補正部206の機能を実現するプログラムを実行している状態を模式的に表している。
フリーランカウンタ2031と時刻カウンタ2032は、図28で説明したものと同様である。
周波数偏差変化率算出部204により行われる処理は、周波数偏差変化率算出処理に相当する。
時刻補正量算出部205により行われる処理は、補正量算出処理に相当する。
時刻補正部206により行われる処理は、時刻補正処理に相当する。
時刻補正装置300の動作手順は、時刻同期方法に相当する。また、時刻補正装置300の動作を実現するプログラムは、時刻同期プログラムに相当する。
本実施の形態では、周波数偏差変化率算出部204が、グランドマスタ装置100のクロック周波数とスレーブ装置200のクロック周波数との周波数偏差を定期的に算出し、また、周波数偏差変化率を定期的に算出する。また、本実施の形態では、時刻補正量算出部205が、周波数変化による時刻ずれを補正する時刻補正量を周波数偏差変化率の時間積分値として算出する。そして、時刻補正部206が、時刻補正量を用いて時刻補正を実施する。
周波数偏差変化率算出部204は、IEEE1588又はIEEE802.1ASのプロトコルを用いて周波数偏差を算出し、算出した周波数偏差の値を主記憶装置902又は補助記憶装置903に格納する。また、周波数偏差変化率算出部204は、過去N周期前の周波数偏差から周波数偏差変化率を算出する。
周波数偏差変化率はppm/sの単位で表すことができる。周波数偏差変化率P’(s)[ppm/s]とすると、絶対時間t秒が経過したときの時刻カウンタ2032の値は、以下の式4のように、p’(t)×tの時間積分で表すことができる。
図4は、本実施の形態に係るスレーブ装置200の動作例を示す。また、図5は、本実施の形態に係る時刻補正方法の具体例を示す。
より具体的には、周波数偏差変化率算出部204は、図5に示す周波数偏差測定周期INTRR(1)の区間でグランドマスタ装置100とスレーブ装置200との間のクロック周波数の周波数偏差P(1)を式6に従って算出する。
なお、周波数偏差変化率算出部204は、例えば、図28を参照して説明した手順と同じ手順に従って式6内のTRR,M(1)及びTRR,S(1)を算出する。
TRR,M(1)はマスタが計測したINTRR(1)分の時間、TRR,S(1)はスレーブが計測したINTRR(1)分の時間である。下式でマスタとスレーブの時刻の進みの比率を求めている。
つまり、周波数偏差変化率算出部204は、図5に示す周波数偏差測定周期INTRR(2)の区間でグランドマスタ装置100とスレーブ装置200との間のクロック周波数の周波数偏差P(2)を式7に従って算出する。
式6の場合と同様に、周波数偏差変化率算出部204は、例えば、図28を参照して説明した手順と同じ手順に従って式7内のTRR,M(2)及びTRR,S(2)を算出する。
TRR,M(2)はマスタが計測したINTRR(2)分の時間、TRR,S(2)はスレーブが計測したINTRR(2)分の時間である。
なお、図5に示すように、周波数偏差計算周期はINTPD(*)(=INTSync(*))である。周波数偏差計算周期INTPD(*)はPdelay_Req送信周期を兼ねる。INTSync(*)は、図28に示すように、Sync送信周期である。Sync送信周期は、時刻同期フレーム送信周期に相当する。
具体的には、通信部201がグランドマスタ装置100から時刻配信フレームであるSyncフレームを受信する。そして、周波数偏差変化率算出部204が、Syncフレームで通知されるグランドマスタ装置100でのSyncフレームの送信時刻に基づき、式9により、Sync受信時刻Cs,rx(2)を算出する。
なお、式9において、Dは伝搬遅延時間を表し、Cm,tx(2)は、Syncフレームで通知されるグランドマスタ装置100でのSyncフレームの送信時刻である。
具体的には、時刻補正量算出部205は、式10に従って、ΔCp(t)を算出する。また、時刻補正量算出部205は、式5に従って、ΔCp’(t)を算出する。ΔCp(t)は、グランドマスタ装置100とスレーブ装置200との間の固定的な周波数偏差による時刻ずれに対応する補正量である。ΔCp(t)は第1の補正量に相当する。前述したように、ΔCp’(t)は、周波数変化による時刻ずれを補正するための補正量であり、第2の補正量に相当する。ΔCp’(t)は式5により得られる。
そして、時刻補正量算出部205は、式11に示すように、ΔCp(t)とΔCp’(t)とを加算して、最終的に時刻カウンタ2032を補正するための時刻補正量ΔC(t)を算出する。時刻補正量ΔC(t)は、Syncフレームの受信から後述するステップS406での時刻補正までの時刻ずれ量を補正するための値である。
周波数偏差変化率算出部204は、時刻同期フレーム送信周期であるSync送信周期に合わせて周波数偏差変化率を算出する。また、時刻補正量算出部205は、Sync送信周期に合わせてΔCp(t)とΔCp’(t)を算出する。そして、時刻補正量算出部205は、現在のSync送信周期の1つ前のSync送信周期に算出されたΔCp(t)とΔCp’(t)とを用いて、現在のSync送信周期の時刻補正量ΔC(t)を算出する。
具体的には、時刻補正部206は、以下のように補正量ΔC(t)を用いて時刻カウンタ2032のカウンタ値を補正する。
式13において、CS,after(2)が時刻同期時の時刻カウンタ2032のカウンタ値である。また、式13において、Cm(2)は、時刻補正部206が時刻同期すべきグランドマスタ装置100の時刻カウンタのカウンタ値である。
本実施の形態によれば、周波数偏差が変動する場合に、変動する周波数偏差に合わせた時刻補正が可能である。このため、本実施の形態によれば、周波数変化が激しい環境においても周波数変化の影響を軽減することができる。更に、本実施の形態によれば、周波数変化の影響を軽減することで、ジッタの平均化回数を増やすことが可能となる。このため、ジッタによる時刻ずれも軽減することができる。
スレーブ装置を多数接続した大規模ネットワークでは、周波数変化の影響による時刻ずれ及びジッタによる時刻ずれが累積することが考えられる。本実施の形態よれば、このような大規模ネットワークであっても、周波数変化の影響を軽減することで、高精度な時刻同期を実現することができる。
時刻同期システム1000の立ち上げ時には、調停によりグランドマスタ装置100として動作するノードが決定されるため、調停が収束するまでどのノードがグランドマスタ装置100として動作するかが定まっていない。このため、スレーブ装置200として動作するノードだけでなく、グランドマスタ装置100として動作するノードにも時刻補正装置300が存在する。グランドマスタ装置100として動作するノードがグランドマスタ装置100に指定されるまでの間、時刻補正装置300により当該ノードの周波数偏差を補正することができる。
本実施の形態では、AI(Artificial Intelligence)を活用して周波数偏差変化率の時間推移を機械学習し、機械学習結果に基づいて時刻補正を行う例を説明する。
なお、本実施の形態では、主に実施の形態1との差異を説明する。
また、以下で説明していない事項は、実施の形態1と同様である。例えば、本実施の形態においても、時刻同期システム1000の構成例は図1に示す通りである。
温度が急激に上昇又は降下する現象は、設備又は機器の制御によって発生することが原因と考えられる。温度の急激な上昇又は降下の原因が設備又は機器の制御である場合は、温度が急激に上昇又は降下する現象は周期的に発生すると予想できる。もしくは、ある制御の動作を起点に温度の急激な上昇又は降下が発生すると予想できる。
そこで、本実施の形態に係るスレーブ装置200は、ニューラルネットワークを用いて、周波数偏差の周期性又は周波数が急激に変動する予兆を学習し、更に、時刻補正のための補正量を学習する。
本実施の形態では、スレーブ装置200は、機械学習方法として、「(2-a)周波数偏差の時間周期性を検出して時刻補正する方法」と「(2-b)周波数偏差の時間推移の特徴量を検出して時刻補正する方法」のいずれかを行う。以下では、「(2-a)周波数偏差の時間周期性を検出して時刻補正する方法」を時刻補正方法(2-a)という。また、「(2-b)周波数偏差の時間推移の特徴量を検出して時刻補正する方法」を時刻補正方法(2-b)という。
時刻補正方法(2-a)及び時刻補正方法(2-b)のいずれでも、スレーブ装置200に搭載された時刻同期AIが学習フェーズで、周波数偏差の特性を学習し、時刻補正量を算出する。また、スレーブ装置200は、活用フェーズで、時刻同期AIの学習により得られた時刻補正量で時刻補正を実施する。
なお、本実施の形態に係るスレーブ装置200のハードウェア構成例は図2に示す通りである。なお、後述する学習部207の機能もプログラムで実現され、学習部207の機能を実現するプログラムもプロセッサ901で実行される。
学習部207は、学習フェーズにて、周波数偏差の時間推移を学習する。つまり、学習部207は、グランドマスタ装置100のクロック周波数とスレーブ装置200のクロック周波数との周波数偏差の時間推移を学習する。そして、学習部207は、周波数偏差の時間推移のパターンを周波数偏差パターンとして抽出し、周波数偏差パターンにおける周波数偏差変化率を算出する。また、学習部207は、周波数偏差変化率と時間との積と規定タイミングでの周波数偏差とを時間積分して、スレーブ装置200の時刻補正に用いられる時刻補正量を算出する。
学習部207は、時刻補正方法(2-a)を行う場合は、周波数偏差の時間推移のパターンの周期性を学習する。前述のように、周波数偏差の時間推移のパターンを周波数偏差パターンという。また、学習部207は、規定タイミングとして、周波数偏差パターンの開始タイミングを推定する。そして、学習部207は、周波数偏差変化率と時間との積と周波数偏差パターンの開始タイミングでの周波数偏差とを時間積分して、時刻補正量を算出する。
また、学習部207は、時刻補正方法(2-b)を行う場合は、周波数偏差の時間推移のパターン(周波数偏差パターン)とスレーブ装置200への制御との関係を学習し、周波数偏差が急激に変化する予兆を推定する。つまり、学習部207は、周波数偏差変化率が急激に変化する時間推移のパターンを周波数偏差パターンとして抽出し、周波数偏差パターンが発生する前に発生する予兆を推定する。また、学習部207は、規定タイミングとして予兆の検知タイミングを推定し、周波数偏差変化率と時間との積と予兆の検知タイミングでの周波数偏差とを時間積分して、時刻補正量を算出する。
時刻補正方法(2-a)を行う場合は、時刻補正部206は、周波数偏差パターンの開始タイミングが到来した場合に、学習部207により生成された時刻補正量を用いて、時刻補正を行う。
一方、時刻補正方法(2-b)を行う場合は、時刻補正部206は、予兆が検出された場合に、学習部207により生成された時刻補正量を用いて、時刻補正を行う。
同様に、時刻補正方法(2-b)を行う場合に、予兆が検出されない場合は、実施の形態1と同様に、時刻補正量算出部205が時刻補正量を算出する。
図7は、時刻補正方法(2-a)を実現する学習部207の内部構成例を示す。
学習部207は、偏差時間特性推定部2071及び時刻補正量推定部2072を含む。
図8は、偏差時間特性推定部2071及び時刻補正量推定部2072の動作例を示す。
また、図9は、時刻補正方法(2-a)の具体例を示す。
また、時刻補正量推定部2072は、偏差時間特性推定部2071からの出力A1、出力A2及び出力A3から、時刻補正量(出力B1)を学習する。学習にはニューラルネットワークが用いられる。周波数偏差パターン(出力A1)はP(t)で表される式であるが、周波数偏差パターン(出力A1)の入力方法の詳細は実施の形態3で説明する。
以下、学習フェーズにおける偏差時間特性推定部2071及び時刻補正量推定部2072の動作を図8に従って説明する。
入力A1:IEEE802.1AS又はIEEE1588で計測された周波数偏差
入力A2:入力A1の周波数偏差を計測した時間
入力A3:水晶発振器の温度(任意)
入力A1は、計算周期ごとの周波数偏差である。計算周期は、周波数偏差及び周波数偏差変化率を算出するための単位時間である。
入力A3は、省略してもよい。
より具体的には、偏差時間特性推定部2071は、計算周期nで、計算周期(n-2)の周波数偏差と計算周期(n-1)の周波数偏差との変化率(周波数偏差変化率)を算出する。計算周期(n-2)の周波数偏差と計算周期(n-1)の周波数偏差は、入力A1で得られる。
偏差時間特性推定部2071は、入力A1、入力A2及びステップS802で得られた計算周期ごとの周波数偏差変化率に基づき、周波数偏差の時間推移のパターン(図9の波形パターン)が周期的に繰り返されていることを検知する。偏差時間特性推定部2071は周波数偏差の時間推移について、特定の規則性を検出し、検出した特定の規則性を学習する。この特定の規則性のある周波数偏差の時間推移を周波数偏差パターンとする。また、偏差時間特性推定部2071は、周波数偏差パターンの周期を周波数偏差特性周期として抽出する。このとき、偏差時間特性推定部2071は、周波数偏差特性周期の開始タイミングも推定する。
図9に周波数偏差特性周期の例を示す。
また、偏差時間特性推定部2071がステップS801で入力A3を取得している場合は、偏差時間特性推定部2071は、入力A3に基づき、水晶発振器の温度変化から周波数偏差特性周期を算出してもよい(この場合は、実施の形態3に示す方法を用いる)。
具体的には、偏差時間特性推定部2071は、以下の式14により周波数偏差P(t)を算出する。なお、P(t0)は、周波数偏差特性周期の開始タイミングでの周波数偏差である。P’(t)は時刻tにおける周波数偏差変化率である。
P(t)=P’(t)×t+P(t0) 式14
P(t0)、P’(t)の単位はそれぞれppm、ppm/sである。
具体的には、時刻補正量推定部2072は、ステップS806で算出された時刻補正量ΔC(t)を出力B1として時刻補正部206に出力する。また、時刻補正量推定部2072は、偏差時間特性推定部2071から取得した周波数偏差特性周期(出力A2)を出力B2として周波数偏差変化率算出部204に出力する。また、時刻補正量推定部2072は、偏差時間特性推定部2071から取得した周波数偏差特性周期の開始タイミング(出力A3)を出力B3として周波数偏差変化率算出部204に出力する。
周波数偏差変化率算出部204は、IEEE802.1AS又はIEEE1588のプロトコルに従い、計算周期ごとに、周波数偏差変化率を算出する。そして、周波数偏差変化率算出部204は、算出した周波数偏差変化率と時刻補正量推定部2072から取得した周波数偏差特性周期(出力A2)及び周波数偏差特性周期の開始タイミング(出力A3)とに基づき、周波数偏差特性周期の開始タイミングを検出する。
そして、周波数偏差変化率算出部204は、周波数偏差特性周期の開始タイミングを検出した後は、時刻補正部206に開始タイミングが到来したことを通知する。
時刻補正部206は、開始タイミングが到来したことを通知された場合に、時刻補正量(出力B1)を用いて時刻同期を行う。
なお、開始タイミングが到来しない場合は、実施の形態1の方法に従って時刻補正が行われる。
以下、図9を説明する。
図10は、時刻補正方法(2-b)を実現する学習部207の内部構成例を示す。
図7の例と同様に、学習部207は、偏差時間特性推定部2071及び時刻補正量推定部2072を含む。
図11は、偏差時間特性推定部2071及び時刻補正量推定部2072の動作例を示す。
また、図12は、時刻補正方法(2-b)の具体例を示す。
また、時刻補正量推定部2072は、偏差時間特性推定部2071からの出力A1、出力A2及び出力A3から、時刻補正量(出力B1)を学習する。学習にはニューラルネットワークが用いられる。
以下、学習フェーズにおける偏差時間特性推定部2071及び時刻補正量推定部2072の動作を図11に従って説明する。
入力A1:IEEE802.1AS又はIEEE1588で計測された周波数偏差
入力A2:入力A1の周波数偏差を計測した時間
入力A3:水晶発振器の温度(任意)
入力A4:制御情報
入力A1は、計算周期ごとの周波数偏差である。計算周期は、前述の通りである。
入力A3は、省略してもよい。
入力A4は、スイッチのオンオフ等の制御コマンドである。入力A4として、例えば、溶接、放電処理、冷却等を実行するコマンドが入力される。スレーブ装置200で溶接、放電処理等が実行されると、スレーブ装置200の水晶発振器の温度が急激に上昇すると考えられる。一方、スレーブ装置200で冷却が実行されると、スレーブ装置200の水晶発振器の温度が急激に降下すると考えられる。
偏差時間特性推定部2071は、予兆の学習として、例えば、周波数偏差と入力A4の制御情報との時間相関をとる。そして、偏差時間特性推定部2071は、特定のイベントが発生したとき(例えば、特定のコマンドが入力されたとき)の周波数偏差の時間推移のパターンを学習する。
また、偏差時間特性推定部2071がステップS1101で入力A3を取得している場合は、偏差時間特性推定部2071は、水晶発振器の温度変化から、周波数偏差が急激に変化する時間推移の波形のパターンと、周波数偏差が急激に変化する予兆を学習してもよい(この場合は、実施の形態3に示す方法を用いる)。
また、偏差時間特性推定部2071がステップS1101で入力A3を取得している場合は、偏差時間特性推定部2071は、水晶発振器の温度変化から、周波数偏差が急激に変化する予兆を検知し、対応する周波数偏差の時間推移のパターンを予想してもよい(この場合は、実施の形態3に示す方法を用いる)。
偏差時間特性推定部2071が予想する周波数偏差の時間推移のパターンは周波数偏差パターンに相当する。
P(t)=P’(t)×t+P(t0) 式16
P(t0)、P’(t)の単位はそれぞれppm、ppm/sである。
具体的には、時刻補正量推定部2072は、ステップS1107で算出された時刻補正量ΔC(t)を出力B1として時刻補正部206に出力する。また、時刻補正量推定部2072は、偏差時間特性推定部2071から取得した予兆検知タイミング(出力A3)を出力B2として時刻補正部206に出力する。
偏差時間特性推定部2071は、予兆検知タイミング(出力A3)に基づき、周波数偏差の急激な変化の予兆を検知する。
偏差時間特性推定部2071は、予兆を検知した場合は、時刻補正量推定部2072経由で時刻補正部206に予兆を検知したことを通知する。
時刻補正部206は、偏差時間特性推定部2071から予兆を検知したことを通知された場合に、時刻補正量推定部2072から取得した時刻補正量(出力B1)を用いて時刻補正を行う。
なお、予兆が検出されない場合は、実施の形態1の方法に従って時刻補正が行われる。
以下、図12を説明する。
時刻t1では、入力A4の制御情報として溶接実行コマンドがスレーブ装置200で発行されたものとする。
偏差時間特性推定部2071は、溶接実行コマンドに起因して周波数偏差が波形パターン1で変化することを学習する。
また、時刻補正量推定部2072が、波形パターン1に対応する時刻補正量ΔC(t1)を以下の式18により計算する。
時刻補正量推定部2072は、出力B1として時刻補正量ΔC(t1)を時刻補正部206に出力し、出力B2として溶接実行コマンドを制御部202と時刻補正部206に出力する。
時刻t2では、入力A4の制御情報として冷却コマンドがスレーブ装置200で発行されたものとする。
偏差時間特性推定部2071は、冷却コマンドに起因して周波数偏差が波形パターン2で変化することを学習する。
また、時刻補正量推定部2072が、波形パターン2に対応する時刻補正量を以下の式19により計算する。
時刻補正量推定部2072は、出力B1として時刻補正量ΔC(t2)を時刻補正部206に出力し、出力B2として冷却コマンドを制御部202と時刻補正部206に出力する。
溶接実行コマンドの発行は波形パターン1の予兆であるため、時刻補正部206は、波形パターン1に対応する時刻補正量ΔC(t1)を用いて時刻補正を行う。
具体的な時刻補正量の計算方法は実施の形態3で説明する。また、時刻補正時の、周波数偏差特性周期、開始タイミング、予兆検知タイミングの活用方法についても実施の形態3で説明する。
本実施の形態でも、AIを活用して周波数偏差変化率の時間推移を学習し、学習結果に基づいて時刻補正を行う例を説明する。
なお、本実施の形態では、主に実施の形態1及び実施の形態2との差異を説明する。
また、以下で説明していない事項は、実施の形態1及び実施の形態2と同様である。
本実施の形態においても、時刻同期システム1000の構成例は図1に示す通りである。
また、本実施の形態においてもスレーブ装置200のハードウェア構成例は図2に示す通りである。また、本実施の形態においてもスレーブ装置200の機能構成例は図6に示す通りである。
偏差温度特性推定部2075は、スレーブ装置200の水晶発振器の周波数偏差温度特性を学習して、周波数偏差温度特性を推定する。
(2)偏差時間特性推定部2076
偏差時間特性推定部2076は、偏差温度特性推定部2075により推定された周波数偏差温度特性から温度に対する周波数偏差を算出し、周波数偏差の時間推移を学習する。偏差時間特性推定部2076は、周波数偏差の時間推移から周波数偏差変化率と周波数偏差パターン(特定の規則性がある周波数偏差の時間推移)を算出し、後述の時刻補正量推定部2077に周波数偏差変化率及び周波数偏差パターンを出力する。偏差時間特性推定部2076は、実施の形態2と同様に、周波数偏差特性周期、周波数偏差パターンの開始タイミング、周波数偏差パターン、予兆検知タイミングを学習する。
(3)時刻補正量推定部2077
時刻補正量推定部2077は、偏差時間特性推定部2076が学習した周波数偏差の時間推移をもとに、スレーブ装置200の時刻補正量を学習して、時刻補正量を推定する。
図14は、周波数偏差温度特性と周波数偏差パターンP(Q(t))の式を用いて、周波数偏差と温度の関係を、周波数偏差と時刻の関係に変換し、これによって時刻補正量が推定できることを表している。
学習部207では、図14の(1)に従って偏差温度特性推定部2075が周波数偏差温度特性P(Q)を学習する。そして、図14の(2)のように、偏差時間特性推定部2076が、偏差温度特性推定部2075によって学習された周波数偏差温度特性P(Q)と、入力された時刻情報から、周波数偏差パターンP(Q(t))を推定する。そして、図14の(3)に示すように、時刻補正量推定部2077が、周波数偏差パターンP(Q(t))に対応した時刻補正量ΔCcorrectを推定する。つまり、時刻補正量推定部2077が周波数偏差パターンP(Q(t))ごとの周波数偏差および周波数偏差変化率を計算し、これらの時間積分から時刻補正量ΔCcorrectを推定する。
時刻補正量ΔCcorrectは図14の網掛け部分の面積に対応する。
本手段では、(α)学習フェーズ、(β)活用フェーズでそれぞれ以下の動作を実施する。
学習フェーズでは、教師有り学習(ニューラルネットワーク)を実施する。偏差温度特性推定部2075に水晶発振器の温度と、周波数偏差を入力し、偏差温度特性推定部2075が周波数偏差温度特性のモデルを作成する。
P(Q)=αQ3+βQ2+γQ+δ [ppm] 式20
P(Q):周波数偏差[ppm] (入力A1)
Q:水晶発振器の温度[℃] (入力A2)
実施の形態2の(2-a)と同様に、偏差時間特性推定部2076は、周波数偏差パターン(波形パターン)が周波数偏差特性周期で繰り返されていることを検知し、周波数偏差特性周期と周波数偏差特性周期の開始タイミングを学習する。偏差時間特性推定部2076は、周波数偏差特性周期(出力B3)と周期開始タイミング(出力B2)を時刻補正量推定部2077に出力する。周期開始タイミング(出力B2)は、周波数偏差特性周期の開始タイミングである。
時刻補正量推定部2077は、実施の形態2の(2-a)と同様に、周波数偏差特性パターンに対応する時刻補正量を学習する。
実施の形態2の(2-b)と同様に、偏差時間特性推定部2076は、制御情報(入力A4)を取得する。また、偏差時間特性推定部2076は、制御情報に対する周波数偏差の時間推移を周波数偏差パターンとして学習する。また、偏差時間特性推定部2076は、前記時間推移の波形の長さを周波数偏差特性周期として学習し、予兆検知タイミングを学習する。予兆検知タイミングは、周波数偏差パターンが発生する前に発生する予兆の発生タイミングである。偏差時間特性推定部2076は、予兆検知タイミング(出力B2)と周波数偏差特性周期(出力B3)を時刻補正量推定部2077に出力する。
偏差時間特性推定部2076は、P(t)の多項式の係数値と各項のtの次数、関数の形式の識別番号を時刻補正量推定部2077に出力する。図15及び図16では、この情報を出力B1:周波数偏差パターンと表記している。
なお、具体的な関数の形式と識別番号の割り当て方は実装方法に依存するため本明細書では、詳細は定義しない。
図17に記載の通り、式21より、時刻tの時の水晶発振器温度Q(t)に対する周波数偏差は下式で表せる。
P(Q(t))
=α×{Q(t)}3+β×{Q(t)}2+γ×Q(t)+δ
式21
t0=t1、tN-1=t2と置くと、時刻t1~t2における周波数偏差による時刻ずれは、区間t1からt2における周波数偏差P(Q(t))×微小時間Δtの和で表せる。すなわち前記時刻ずれを打ち消す時刻補正量は以下のように計算される。
偏差時間特性推定部2076は、水晶発振器温度(入力A3)、時刻情報(入力A2)及び制御情報(入力A4)を取得する。また、偏差時間特性推定部2076は、学習フェーズ(3-a)で学習された、周波数偏差特性周期と周波数偏差特性周期の開始タイミングを検知し、周波数偏差特性周期と周波数偏差特性周期の開始タイミングを時刻補正量推定部2077に出力する。時刻補正量推定部2077は、前記周波数偏差特性周期に対応する時刻補正量を時刻補正部206に出力する。
時刻補正量は式23の通り、周波数偏差パターンP(Q(t))を時間積分することで導出できる。
時刻補正部206は時刻補正量を用いて時刻補正を実施する。
時刻補正の方法について説明する。
(3-a)と(3-b)のケースで同様に時刻補正量推定部2077が、図20、図21のように時刻補正量を計算する。
図20において、偏差時間特性推定部2076が絶対時刻t1で予兆を検知し、時刻補正部206が絶対時刻t2で時刻補正を実施する場合を想定する。時刻補正量推定部2077は、絶対時刻t1を起点として絶対時刻t2のときの時刻カウンタ値を推定する。絶対時刻t1に対応する時刻カウンタ値が(3-a)の周波数偏差特性周期の開始タイミング又は(3-b)の予兆検知タイミングに相当する。
絶対時刻t1における時刻カウンタ値をC(t1)とする。また、絶対時刻t1における時刻カウンタ値(時刻補正済み)をCcorrect(t1)とする。また、絶対時刻t2における補正前の時刻カウンタ値をC(t2)とする。絶対時刻t2における補正後の時刻カウンタ値をCcorrect(t2)とする。この場合は、以下のように時刻カウンタが補正される。時刻補正量推定部2077から時刻補正量が時刻補正部206に入力され、時刻補正部206がスレーブ装置200の時刻補正を実施する。
絶対時刻t1から絶対時刻t2までの時刻ずれ量がC(t2)に反映されているので、式24に示すように、時刻補正部206は、時刻補正量ΔCcorrectを時刻カウンタ値C(t2)から差し引くことで時刻補正が可能である。
前述の通り、Ccorrect(t2)は、絶対時刻t2における、時刻補正後のスレーブ装置200の時刻カウンタ値を表す。Ccorrect(t1)は絶対時刻t1における時刻補正後のスレーブ装置200の時刻カウンタ値を表す。
(t2-t1)は絶対時刻におけるt1からt2の経過時間である。一方、スレーブ装置200の時刻は周波数偏差によって、絶対時刻から周波数偏差分の誤差が発生する。この誤差は、図20のグラフの網掛け部分に相当する。よって、絶対時刻t2において、周波数偏差の誤差が発生しているスレーブ装置200の時刻カウンタ値C(t2)から、時刻補正量推定部2077により推定された時刻補正量ΔCcorrectを差し引くことにより、正確な時刻に補正することができる。
なお、絶対時刻t1の時点では、前の周期で時刻補正済みであるため、絶対時刻t1の補正済みの時刻をCcorrect(t1)と表記している。また予兆を最初に検知した場合についても、予兆を検知するまで従来の方法で時刻補正済みのため、絶対時刻t1の補正済みの時刻をCcorrect(t1)と表記する。
この場合も、偏差時間特性推定部2076が予兆を検知したあと、時刻補正部206が、推定された周波数偏差特性周期に従って、Δtの微小な区間ごとに時刻補正を実施する。例えば、図21に示す周波数偏差の時間推移が繰り返されているとすると、時刻補正部206は、時刻t0から時刻t1の微小区間Δtの時刻補正を実施する。以降、時刻補正部206は微小区間Δtごとに時刻補正を実施する。そして、時刻tN-2から時刻tN-1の微小区間Δtの時刻補正を実施すると、更に、時刻補正部206は、後続する周波数偏差特性周期の時刻t0~t1の微小区間Δtの時刻補正量の時刻補正を実施する。以降、時刻補正部206は、この動作を各周波数偏差特性周期で繰り返す。
図22においても、図20と同様に、Ccorrect(t2)は絶対時刻t2における、時刻補正後のスレーブ装置200の時刻カウンタ値を表す。Ccorrect(t1)は絶対時刻t1における、時刻補正後のスレーブ装置200の時刻カウンタ値を表す。(t2-t1)は絶対時刻におけるt1からt2の経過時間である。一方、スレーブ装置200の時刻には周波数偏差によって、絶対時刻から周波数偏差分の誤差が発生する。この誤差は、図22のグラフの網掛け部分に相当する。よって、時刻補正部206は、絶対時刻t2において、周波数偏差の誤差が発生しているスレーブ装置200の時刻カウンタ値C(t2)から、時刻補正量推定部2077により推定された時刻補正量ΔCcorrectを差し引くことにより、正確な時刻に補正することができる。また、周波数偏差特性周期(周期の長さ(t2-t1))で同じ周波数偏差パターンとなっているので、時刻補正部206は、絶対時刻t3においても、時刻補正量ΔCcorrectを時刻カウンタ値C(t3)から差し引くことで時刻補正を行う。この結果、スレーブ装置200の時刻カウンタ値はCcorrect(t3)に補正される。
図23においても、図20と同様に、Ccorrect(t2)は絶対時刻t2における、時刻補正後のスレーブ装置200の時刻カウンタ値を表す。Ccorrect(t1)は絶対時刻t1における、時刻補正後のスレーブ装置200の時刻カウンタ値を表す。(t2-t1)は絶対時刻におけるt1からt2の経過時間である。一方、スレーブ装置200の時刻は周波数偏差によって、絶対時刻から周波数偏差分の誤差が発生する。この誤差は、図23のグラフの網掛け部分に相当する。よって、時刻補正部206は、絶対時刻t2において、周波数偏差の誤差が発生しているスレーブ装置200の時刻カウンタ値C(t2)から、時刻補正量推定部2077により推定された時刻補正量ΔCcorrect,aを差し引くことにより、正確な時刻に補正できる。時刻補正量ΔCcorrect,aは溶接実行コマンドが発行されてから、周波数偏差特性周期の時間が経過するまでの周波数偏差による時刻ずれ量を表している。よって、時刻補正部206は、溶接実行コマンドが発行された時刻から周波数偏差特性周期の時間が経過した時刻に時刻補正量ΔCcorrect,aの値をスレーブ装置200の時刻カウンタ値から差し引くことで、時刻を補正することができる。同様に、時刻補正量ΔCcorrect,bは冷却コマンドが発行されてから周波数偏差特性周期の時間が経過するまでの周波数偏差による時刻ずれ量を表している。溶接実行コマンドと同様に、時刻補正部206は、冷却コマンドが発行された時刻から周波数偏差特性周期の時間が経過した時刻に時刻補正量ΔCcorrect,bの値をスレーブ装置200の時刻カウンタ値から差し引くことで、時刻を補正することができる。
具体例を以下に示す。
****学習フェーズ****
(1)偏差温度特性推定部2075がセンサから水晶発振器温度(入力A3)を取得し、更に、プロトコルによって測定された周波数偏差(入力A1)を取得する。なお、偏差温度特性推定部2075は、センサから水晶発振器温度(入力A3)を取得したときの時刻情報を保持しておく。これらの時刻情報のタイムスタンプは時刻管理部203で取得する。なお、周波数偏差パターンは、周期的に同じパターンが観測される後述の(3-a)のケースと、ある制御コマンドに対応して特定の周波数偏差パターンが現れる後述の(3-b)のケースがある。(3-a)のケースでは学習部207は図15の構成で学習を実施し、(3-b)のケースでは学習部207は図16の構成で学習を実施する。
周波数温度特性は、温度変数として周波数偏差を3次関数で近似した式である。偏差時間特性推定部2076は、3次関数の各項の係数を算出し、この係数の値を時刻補正量推定部2077に入力する。周波数温度特性の推定は学習フェーズで実施される。例えば、温度に対する周波数偏差をP(Q)とすると周波数偏差特性は以下の式で表せる。
P(Q)=αQ3+βQ2+γQ+δ [ppm] 式20
上記の方法で、偏差時間特性推定部2076は上式のα、β、γ及びδの係数値を推定し、時刻補正量推定部2077に特性(計算式)を入力する。
Q(t)は時刻tにおける水晶発振器の温度を表す。時刻tでの温度周波数偏差が、P(Q(t))として表される。この時、時刻t1から時刻t2の区間における時刻補正量ΔC(t)は下式で表される。なお、下式を導出する過程は図17に記載の通りである。
P(Q(t))
=α×{Q(t)}3+β×{Q(t)}2+γ×Q(t)+δ
式21
図18は、周期性のある水晶発振器温度の時間推移と周波数偏差の時間推移の関係を表している。図18の(a)のグラフが水晶発振器の温度の時間推移を表す。また、P(Q(t))の式(式21)によって、図18の(a)に示す温度と時間の関係を図18の(b)のグラフのように周波数偏差と時間推移の関係に変換することができる。
そして、時刻補正量推定部2077は、図18のような周波数偏差特性周期、周波数偏差特性周期の開始タイミングを学習し、周波数偏差特性周期、周波数偏差特性周期の開始タイミングを予兆検知に用いる。
図19は、各種コマンドが発行されたときの水晶発振器温度の時間推移と周波数偏差の時間推移の関係を表している。図19(a)のグラフが水晶発振器の温度の時間推移を表す。また、P(Q(t)の式(式21)によって、図19の(a)に示す温度と時間の関係を図19の(b)のグラフのように周波数偏差と時間推移の関係に変換することができる。図19では周波数偏差パターンは2パターンあり、それぞれの予兆検知タイミングは、溶接実行コマンド発行の時刻、冷却コマンド発行の時刻である。活用フェーズでは、図19の例では、偏差時間特性推定部2076が、溶接実行コマンド発行の時刻及び冷却コマンド発行の時刻を予兆検知タイミングとして検知し、予兆検知タイミングを時刻補正量推定部2077に入力する。
図19に示す具体例では、温度情報を偏差時間特性に変換したものを予兆検知に用いているが、温度情報を偏差時間特性に変換せず、水晶発振器温度の時間推移を予兆検知に用いてもよい。
(3-a)
偏差時間特性推定部2076が、入力された水晶発振器温度と温度を観測したときの時刻情報から、周波数偏差が図18の周波数偏差パターンとなっていることを検知する。そして、偏差時間特性推定部2076は、周波数偏差パターンと周波数偏差特性周期と周期開始タイミングを時刻補正量推定部2077に通知する。
時刻補正量推定部2077は、入力された周波数偏差パターンに対応する時刻補正量を時刻補正部206に通知する。
時刻補正部206は、通知された時刻補正量で時刻補正を実施する。
本具体例では、温度情報を偏差時間特性に変換したものを予兆(偏差時間特性)の検知に用いているが、温度情報を偏差時間特性に変換せず、水晶発振器温度の時間推移を予兆検知に用いてもよい。
偏差時間特性推定部2076が、入力された水晶発振器温度と温度を観測したときの時刻情報及び制御情報から、周波数偏差が図19の周波数偏差パターンとなっていることを検知する。そして、偏差時間特性推定部2076は、周波数偏差パターンと周波数偏差特性周期と周期開始タイミングを時刻補正量推定部2077に通知する。
時刻補正量推定部2077は、入力された周波数偏差パターンに対応する時刻補正量を時刻補正部206に通知する。
時刻補正部206は、通知された時刻補正量で時刻補正を実施する。
本具体例では、温度情報を偏差時間特性に変換したものを予兆(偏差時間特性)の検知に用いているが、温度情報を偏差時間特性に変換せず、水晶発振器温度の時間推移を予兆検知に用いてもよい。
本実施の形態では、実施の形態1~3に示した時刻同期の方法を選択し、選択した時刻同期の方法を実施する構成を説明する。
なお、本実施の形態では、主に実施の形態1~3との差異を説明する。
また、以下で説明していない事項は、実施の形態1~3と同様である。
本実施の形態においても、時刻同期システム1000の構成例は図1に示す通りである。
なお、本実施の形態に係るスレーブ装置200のハードウェア構成例は図2に示す通りである。なお、後述する選択部208の機能もプログラムで実現され、選択部208の機能を実現するプログラムもプロセッサ901で実行される。
本実施の形態では、周波数偏差変化率算出部204、時刻補正量算出部205、時刻補正部、学習部207及び選択部208が時刻補正装置300に相当する。
以下では、実施の形態1で説明した時刻補正方法を時刻補正方法(1)という。また、実施の形態3で説明した時刻補正方法を時刻補正方法(3)という。
また、周波数偏差変化率が、監視期間の間、閾値1以上閾値2未満で推移した場合は、選択部208は、例えば、時刻補正方法(2-a)又は時刻補正方法(2-b)を選択する。
また、周波数偏差変化率が、監視期間の間、閾値2を超えている場合は、選択部208は、例えば、時刻補正方法(3)を選択する。
選択部208の時刻補正方法の選択基準は上記に限らない。選択部208は、上記以外の任意の選択基準で時刻補正方法を選択することができる。
選択部208は、時刻補正方法(2-a)を選択した場合は、学習部207に実施の形態2で説明した時刻補正方法(2-a)の学習及び時刻補正量の算出を指示する。
選択部208は、時刻補正方法(2-b)を選択した場合は、学習部207に実施の形態2で説明した時刻補正方法(2-b)の学習及び時刻補正量の算出を指示する。
選択部208は、時刻補正方法(3)を選択した場合は、学習部207に時刻補正方法(3)の学習及び時刻補正量の算出を指示する。
本実施の形態では、時刻補正装置300がスレーブ装置200とサーバ装置400に分離している例を説明する。
なお、本実施の形態では、主に実施の形態2及び実施の形態3との差異を説明する。
また、以下で説明していない事項は、実施の形態2及び実施の形態3と同様である。
図25では、図1と比較して、サーバ装置400が追加されている。
なお、本実施の形態においても、グランドマスタ装置100は同期基準装置に相当し、スレーブ装置200は時刻同期装置に相当する。
また、本実施の形態では、時刻補正部206と後述する学習部402が時刻補正装置300に相当する。
具体的には、通信部401は、スレーブ装置200から周波数偏差変化率を受信し、受信した周波数偏差変化率を学習部402に通知する。
また、通信部401は、学習部402により算出された時刻補正量をスレーブ装置200に送信する。
つまり、学習部402は、通信部401から通知された周波数偏差変化率を用いて、実施の形態2で説明した時刻補正方法(2-a)及び時刻補正方法(2-b)の学習フェーズの動作を行い、時刻補正量を算出する。学習部402が時刻補正方法(2-b)の学習フェーズの動作を行う場合は、スレーブ装置200の制御部202は周波数偏差変化率とともに予兆となり得るイベント(図12の溶接実行コマンド発行、冷却コマンド発行等)を学習部402に通知する。
また、学習部402は、通信部401から通知された周波数偏差変化率を用いて、実施の形態3で説明した時刻補正方法(3)の学習フェーズの動作を行い、時刻補正量を算出する。学習部402が時刻補正方法(3)の学習フェーズの動作を行う場合は、スレーブ装置200の制御部202は周波数偏差変化率とともにスレーブ装置200の水晶発振器の温度特性を学習部402に通知する。
学習部402は、算出した時刻補正量を通信部401を介してスレーブ装置200に送信する。また、学習部402が時刻補正方法(2-a)の学習フェーズの動作を行った場合は、周波数偏差パターンの開始タイミングも通信部401を介してスレーブ装置200に送信する。また、学習部402が時刻補正方法(2-b)の学習フェーズの動作を行った場合は、予兆検知タイミングも通信部401を介してスレーブ装置200に送信する。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
また、これらの実施の形態に記載された構成及び手順を必要に応じて変更してもよい。
最後に、スレーブ装置200のハードウェア構成の補足説明を行う。
図2に示すプロセッサ901は、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ901は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
図2に示す主記憶装置902は、RAM(Random Access Memory)である。
図2に示す補助記憶装置903は、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
図2に示す通信装置904は、データの通信処理を実行する電子回路である。
通信装置904は、例えば、通信チップ又はNIC(Network Interface Card)である。
そして、OSの少なくとも一部がプロセッサ901により実行される。
プロセッサ901はOSの少なくとも一部を実行しながら、通信部201、制御部202、時刻管理部203、周波数偏差変化率算出部204、時刻補正量算出部205、時刻補正部206、学習部207及び選択部208の機能を実現するプログラムを実行する。
プロセッサ901がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、通信部201、制御部202、時刻管理部203、周波数偏差変化率算出部204、時刻補正量算出部205、時刻補正部206、学習部207及び選択部208の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、主記憶装置902、補助記憶装置903、プロセッサ901内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、通信部201、制御部202、時刻管理部203、周波数偏差変化率算出部204、時刻補正量算出部205、時刻補正部206、学習部207及び選択部208の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。そして、通信部201、制御部202、時刻管理部203、周波数偏差変化率算出部204、時刻補正量算出部205、時刻補正部206、学習部207及び選択部208の機能を実現するプログラムが格納された可搬記録媒体を流通させてもよい。
また、スレーブ装置200は、処理回路により実現されてもよい。処理回路は、例えば、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)である。
なお、本明細書では、プロセッサと処理回路との上位概念を、「プロセッシングサーキットリー」という。
つまり、プロセッサと処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
Claims (13)
- 時刻同期の基準となる同期基準装置のクロック周波数と前記同期基準装置と時刻同期する時刻同期装置のクロック周波数との周波数偏差の単位時間あたりの変化率である周波数偏差変化率を算出する周波数偏差変化率算出部と、
前記同期基準装置のクロック周波数と前記時刻同期装置のクロック周波数との間の固定的な周波数偏差に対応する第1の補正量を算出し、前記周波数偏差変化率の時間積分を行って前記同期基準装置のクロック周波数と前記時刻同期装置のクロック周波数との間の周波数偏差の時間推移に対応する第2の補正量を算出し、前記第1の補正量と前記第2の補正量とを用いて、前記時刻同期装置の時刻を補正するための時刻補正量を算出する時刻補正量算出部と、
前記時刻補正量を用いて、前記時刻同期装置の時刻を補正する時刻補正部とを有する時刻補正装置。 - 前記時刻補正部は、
前記時刻同期装置の時刻カウンタから前記時刻補正量を減算して前記時刻同期装置の時刻を補正する請求項1に記載の時刻補正装置。 - 前記周波数偏差変化率算出部は、
前記同期基準装置が前記時刻同期装置に時刻同期のための時刻同期フレームを送信する周期である時刻同期フレーム送信周期に合わせて前記周波数偏差変化率を算出し、
前記時刻補正量算出部は、
前記時刻同期フレーム送信周期に合わせて前記第1の補正量と前記第2の補正量を算出し、
現在の時刻同期フレーム送信周期の1つ前の時刻同期フレーム送信周期に算出された前記第1の補正量と前記第2の補正量とを用いて、現在の時刻同期フレーム送信周期の前記時刻補正量を算出する請求項1に記載の時刻補正装置。 - 前記時刻補正装置は、更に、
前記時刻補正部に機械学習により算出された時刻補正量と前記時刻補正量算出部により算出された時刻補正量のいずれを用いさせるかを選択する選択部を有する請求項1に記載の時刻補正装置。 - 前記選択部は、
前記時刻補正部に機械学習により算出された時刻補正量を用いさせる場合に、更に、複数の機械学習方法のうちのいずれの機械学習方法により算出された時刻補正量を前記時刻補正部に用いさせるかを選択する請求項4に記載の時刻補正装置。 - 学習フェーズにて、時刻同期の基準となる同期基準装置のクロック周波数と前記同期基準装置と時刻同期する時刻同期装置のクロック周波数との周波数偏差の時間推移を学習し、前記周波数偏差の時間推移のパターンを周波数偏差パターンとして抽出し、前記周波数偏差パターンにおける周波数偏差変化率を算出し、前記周波数偏差変化率と時間との積と規定タイミングでの周波数偏差とを時間積分して、前記時刻同期装置の時刻を補正するための時刻補正量を算出する学習部と、
活用フェーズにて、前記時刻補正量を用いて前記時刻同期装置の時刻を補正する時刻補正部とを有する時刻補正装置。 - 前記学習部は、
前記学習フェーズにて、前記規定タイミングとして前記周波数偏差パターンの開始タイミングを推定し、前記周波数偏差変化率と時間との積と前記周波数偏差パターンの開始タイミングでの周波数偏差とを時間積分して、前記時刻補正量を算出し、
前記時刻補正部は、
前記活用フェーズにて、前記周波数偏差パターンの開始タイミングが到来した場合に、前記時刻補正量を用いて前記時刻同期装置の時刻を補正する請求項6に記載の時刻補正装置。 - 前記学習部は、
前記学習フェーズにて、前記周波数偏差変化率が急激に変化する時間推移のパターンを前記周波数偏差パターンとして抽出し、前記周波数偏差パターンが発生する前に発生する予兆を推定し、前記規定タイミングとして前記予兆の検知タイミングを推定し、前記周波数偏差変化率と時間との積と前記予兆の検知タイミングでの周波数偏差とを時間積分して、前記時刻補正量を算出し、
前記時刻補正部は、
前記活用フェーズにて、前記予兆が検知された場合に、前記時刻補正量を用いて前記時刻同期装置の時刻を補正する請求項6に記載の時刻補正装置。 - 前記学習部は、
前記学習フェーズにて、前記同期基準装置のクロックの生成に用いられる発振器での温度特性を学習し、温度特性に対応させた前記時刻補正量を算出し、
前記時刻補正部は、
前記活用フェーズにて、温度特性に対応させた前記時刻補正量を用いて前記時刻同期装置の時刻を補正する請求項6に記載の時刻補正装置。 - コンピュータが、時刻同期の基準となる同期基準装置のクロック周波数と前記同期基準装置と時刻同期する時刻同期装置のクロック周波数との周波数偏差の単位時間あたりの変化率である周波数偏差変化率を算出し、
前記コンピュータが、前記同期基準装置のクロック周波数と前記時刻同期装置のクロック周波数との間の固定的な周波数偏差に対応する第1の補正量を算出し、前記周波数偏差変化率の時間積分を行って前記同期基準装置のクロック周波数と前記時刻同期装置のクロック周波数との間の周波数偏差の時間推移に対応する第2の補正量を算出し、前記第1の補正量と前記第2の補正量とを用いて、前記時刻同期装置の時刻を補正するための時刻補正量を算出し、
前記コンピュータが、前記時刻補正量を用いて、前記時刻同期装置の時刻を補正する時刻補正方法。 - コンピュータが、学習フェーズにて、時刻同期の基準となる同期基準装置のクロック周波数と前記同期基準装置と時刻同期する時刻同期装置のクロック周波数との周波数偏差の時間推移を学習し、前記周波数偏差の時間推移のパターンを周波数偏差パターンとして抽出し、前記周波数偏差パターンにおける周波数偏差変化率を算出し、前記周波数偏差変化率と時間との積と規定タイミングでの周波数偏差とを時間積分して、前記時刻同期装置の時刻を補正するための時刻補正量を算出し、
前記コンピュータが、活用フェーズにて、前記時刻補正量を用いて前記時刻同期装置の時刻を補正する時刻補正方法。 - 時刻同期の基準となる同期基準装置のクロック周波数と前記同期基準装置と時刻同期する時刻同期装置のクロック周波数との周波数偏差の単位時間あたりの変化率である周波数偏差変化率を算出する周波数偏差変化率算出処理と、
前記同期基準装置のクロック周波数と前記時刻同期装置のクロック周波数との間の固定的な周波数偏差に対応する第1の補正量を算出し、前記周波数偏差変化率の時間積分を行って前記同期基準装置のクロック周波数と前記時刻同期装置のクロック周波数との間の周波数偏差の時間推移に対応する第2の補正量を算出し、前記第1の補正量と前記第2の補正量とを用いて、前記時刻同期装置の時刻を補正するための時刻補正量を算出する時刻補正量算出処理と、
前記時刻補正量を用いて、前記時刻同期装置の時刻を補正する時刻補正処理とをコンピュータに実行させる時刻補正プログラム。 - 学習フェーズにて、時刻同期の基準となる同期基準装置のクロック周波数と前記同期基準装置と時刻同期する時刻同期装置のクロック周波数との周波数偏差の時間推移を学習し、前記周波数偏差の時間推移のパターンを周波数偏差パターンとして抽出し、前記周波数偏差パターンにおける周波数偏差変化率を算出し、前記周波数偏差変化率と時間との積と規定タイミングでの周波数偏差とを時間積分して、前記時刻同期装置の時刻を補正するための時刻補正量を算出する学習処理と、
活用フェーズにて、前記時刻補正量を用いて前記時刻同期装置の時刻を補正する時刻補正処理とをコンピュータに実行させる時刻補正プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/021347 WO2021240783A1 (ja) | 2020-05-29 | 2020-05-29 | 時刻補正装置、時刻補正方法及び時刻補正プログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JPWO2021240783A1 JPWO2021240783A1 (ja) | 2021-12-02 |
JPWO2021240783A5 JPWO2021240783A5 (ja) | 2022-08-10 |
JP7122496B2 true JP7122496B2 (ja) | 2022-08-19 |
Family
ID=78723283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022527443A Active JP7122496B2 (ja) | 2020-05-29 | 2020-05-29 | 時刻補正装置、時刻補正方法及び時刻補正プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230010155A1 (ja) |
JP (1) | JP7122496B2 (ja) |
DE (1) | DE112020006988B4 (ja) |
TW (1) | TW202144952A (ja) |
WO (1) | WO2021240783A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102418059B1 (ko) * | 2020-12-08 | 2022-07-06 | 현대오토에버 주식회사 | 차량의 이종 제어기간 통신 응답시간 추정 장치 및 방법 |
TWI835438B (zh) * | 2022-11-29 | 2024-03-11 | 瑞昱半導體股份有限公司 | 媒體通訊系統及其具有訊號同步機制的媒體通訊裝置及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015111059A (ja) | 2013-12-06 | 2015-06-18 | ニチコン株式会社 | 電子時計 |
JP6351889B1 (ja) | 2017-06-27 | 2018-07-04 | 三菱電機株式会社 | 通信システム及びスレーブ装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717661A (en) * | 1994-12-20 | 1998-02-10 | Poulson; T. Earl | Method and apparatus for adjusting the accuracy of electronic timepieces |
JP2017069669A (ja) * | 2015-09-29 | 2017-04-06 | 富士通株式会社 | 時刻同期装置、基地局装置、及び、時刻同期方法 |
JP6953735B2 (ja) | 2016-04-01 | 2021-10-27 | 富士通株式会社 | 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム |
-
2020
- 2020-05-29 JP JP2022527443A patent/JP7122496B2/ja active Active
- 2020-05-29 DE DE112020006988.5T patent/DE112020006988B4/de active Active
- 2020-05-29 WO PCT/JP2020/021347 patent/WO2021240783A1/ja active Application Filing
- 2020-10-15 TW TW109135667A patent/TW202144952A/zh unknown
-
2022
- 2022-09-26 US US17/952,585 patent/US20230010155A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015111059A (ja) | 2013-12-06 | 2015-06-18 | ニチコン株式会社 | 電子時計 |
JP6351889B1 (ja) | 2017-06-27 | 2018-07-04 | 三菱電機株式会社 | 通信システム及びスレーブ装置 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2021240783A1 (ja) | 2021-12-02 |
DE112020006988T5 (de) | 2023-01-19 |
TW202144952A (zh) | 2021-12-01 |
DE112020006988B4 (de) | 2024-01-18 |
WO2021240783A1 (ja) | 2021-12-02 |
US20230010155A1 (en) | 2023-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8959381B2 (en) | Method and system for clock offset and skew estimation | |
CN108923876B (zh) | 时间同步方法、装置及系统 | |
JP7122496B2 (ja) | 時刻補正装置、時刻補正方法及び時刻補正プログラム | |
JP6192995B2 (ja) | 通信装置、通信システム、通信方法およびコンピュータプログラム | |
US7114091B2 (en) | Synchronization of distributed systems | |
JP4931108B2 (ja) | 高精度時刻同期処理装置およびそのプログラム,ならびにネットワーク混雑度警告装置およびそのプログラム | |
EP2893656B1 (en) | Method and system for clock offset and skew estimation | |
TWI640165B (zh) | 感測器時鐘估計方法及其裝置 | |
US10594424B2 (en) | Time synchronization slave apparatus capable of adjusting time synchronization period, and method of determining time synchronization period | |
WO2013051447A1 (ja) | 時刻制御装置、時刻制御方法、およびプログラム | |
WO2013051446A1 (ja) | 時刻制御装置、時刻制御方法、およびプログラム | |
KR101636496B1 (ko) | 신호 동기 시스템, 노드 동기 시스템, 신호 동기 방법, 및 노드 동기 방법 | |
US20230236624A1 (en) | Clock error-bound tracker | |
CN115333660A (zh) | 精确时间戳校正 | |
Luckinger et al. | Software-based AUTOSAR-compliant precision clock synchronization over CAN | |
JP2011023788A (ja) | ネットワーク同期方法と同期化回路 | |
JPWO2021240783A5 (ja) | ||
JP6654498B2 (ja) | ディジタル保護継電装置及びディジタル保護継電システム | |
CN112703705A (zh) | 通信装置、通信系统、通信方法及通信程序 | |
Kopetz | Why a global time is needed in a dependable sos | |
JP7094452B2 (ja) | 情報処理装置、プログラム及び情報処理方法 | |
WO2023062709A1 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
CN115459897B (zh) | 电力实时仿真中的步长同步校准方法、装置及相关设备 | |
CN108400827A (zh) | 基于模型预测控制的时钟同步方法 | |
CN115442244B (zh) | 电力实时仿真中通信间隔的校准方法、装置及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220531 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220531 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20220531 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220712 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220808 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7122496 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |