以下、添付図面を参照して、本発明の実施の形態について説明する。本発明の実施の形態においては、長波帯の標準時刻電波を受信して、その信号を検波して、信号中に含まれるタイムコードを示す符号の列を取り出して、当該符号の列に基づいて時刻を修正する電波時計に、本発明にかかる時刻情報取得装置を設けている。
現在、日本、ドイツ、イギリス、スイスなどにおいて、所定の送信所から標準時刻電波が送信されるようになっている。たとえば、日本では、福島県および佐賀県の送信所から、それぞれ、40kHzおよび60kHzの振幅変調された標準時刻電波が送出されている。標準時刻電波は、年月日時分を示すタイムコードを構成する符号の列を含み、1周期60秒で送出されている。1つの符号は単位時間長(1秒)であるため、1周期では60個の符号を含み得る。
図1は、本発明の第1の実施の形態にかかる電波時計の構成を示すブロックダイヤグラムである。図1に示すように、電波時計10は、CPU11、入力部12、表示部13、ROM14、RAM15、受信回路16、内部計時回路17、および、信号比較回路18を備える。
CPU11は、所定のタイミングで、或いは、入力部12から入力された操作信号に応じてROM14に格納されたプログラムを読み出して、RAM15に展開し、当該プログラムに基づいて、電波時計10を構成する各部への指示やデータの転送などを実行する。具体的には、たとえば所定時間毎に受信回路16を制御して標準時刻電波を受信させて、受信回路16から得られた信号に基づくディジタルデータから、標準時刻電波信号に含まれる符号の列を特定し、この符号の列に基づいて内部計時回路17により得られる時刻であるベースタイムBTを修正する処理や、内部計時回路17によって得られたベースタイムを表示部13に転送する処理などを実行する。
本実施の形態においては、後述するように、内部計時回路17によって得られる時刻であるベースタイムBTを用いて、処理開始時刻Nowを特定し、処理開始時刻Nowの前後所定の時刻を開始時刻とする、1以上の単位時間長の予測波形データパターンを複数生成し、複数の予測波形データパターンと、受信波形から生成した入力波形データパターンとをそれぞれ比較する。
上記比較の結果、受信信号に含まれる符号が特定され、ベースタイムBTと受信信号に基づく時刻との誤差が算出され、内部計時回路17におけるベースタイムBTを修正することができる。
入力部12は、電波時計10の各種機能の実行を指示するためのスイッチを含み、スイッチが操作されると、対応する操作信号をCPU11に出力する。表示部13は、文字盤やCPU11によって制御されたアナログ指針機構、液晶パネルを含み、内部計時回路17によって計時されたベースタイムに基づく時刻を表示する。ROM14は、電波時計10を動作させ、また、所定の機能を実現するためのシステムプログラムやアプリケーションプログラムなどを記憶する。所定の機能を実現するためのプログラムには、秒パルス位置の検出処理、本実施の形態における予測波形データパターンおよび入力波形データパターンとの比較処理、分先頭位置の検出処理、並びに、符号のデコード処理等のために信号比較回路18を制御するプログラムも含まれる。RAM15は、CPU11の作業領域として用いられ、ROM14から読み出されたプログラムやデータ、CPU11にて処理されたデータなどを一時的に記憶する。
受信回路16は、アンテナ回路や検波回路などを含み、アンテナ回路にて受信された標準時刻電波から復調された信号を得て、信号比較回路18に出力する。内部計時回路17は、発振回路を含み、発振回路から出力されるクロック信号を計数してベースタイムに基づく時刻を計時し、時刻のデータをCPU11に出力する。
図2は、本実施の形態にかかる受信回路16の構成例を示すブロックダイヤグラムである。図2に示すように、受信回路16は、標準時刻電波を受信するアンテナ回路50、アンテナ回路50により受信された標準時刻電波信号のノイズを除去するフィルタ回路51、フィルタ回路51の出力である高周波信号を増幅するRF増幅回路52、RF増幅回路52から出力された信号を検波して、標準時刻電波信号を復調する検波回路53を備え、検波回路53によって復調された信号が、信号比較回路18に出力される。
図3は、本実施の形態にかかる信号比較回路18の構成を示すブロックダイヤグラムである。図3に示すように、本実施の形態にかかる信号比較回路18は、入力波形データ生成部21、受信波形データバッファ22、予測波形データパターン生成部23、波形切り出し部24、エラー検出部25、一致判定部26および秒同期実行部27を有する。
入力波形データ生成部21は、受信回路16から出力された信号を、所定のサンプリング間隔で、その値が複数の値(「1」または「0」)のうちの何れかをとるようなディジタルデータに変換する。第1の実施の形態においては、たとえば、上記サンプリング間隔は50msであり、1秒あたり20サンプルのデータを取得することができる。受信波形データバッファ22は、入力波形データ生成部21において生成されたデータを順次記憶する。受信波形データバッファ22は、複数の単位時間長(1単位時間:1秒)のデータ(たとえば、20秒のデータ)を記憶することができ、新たにデータを記憶する場合には、古い順にデータを消去していく。
さらに、入力波形データ生成部21は、秒同期実行部27による秒同期により秒の先頭位置が確定した後に、秒先頭位置から秒毎、つまり、符号毎に入力波形データのサンプル値D(n)を生成する。この場合、たとえば、上記所定のサンプリング間隔で取得された値のうち、所定の時間帯(500ms〜800ms)に対応するデータを得て、データ値「1」、「0」の何れが多く存在するかを判断することにより、秒毎の入力波形データのサンプル値D(n)を得ることができる。
なお、第1の実施の形態において、入力波形データ生成部21により生成された、1つの符号に対応するデータを入力波形データ、その値をサンプル値と称する。また、複数秒にわたって取得された複数の符号のデータを、入力波形データパターンと称する。以下に述べる予測波形データパターン生成部23においても、1つの符号に対応するデータを予測波形データ、複数の符号のデータを、予測波形データパターンと称する。
予測波形データパターン生成部23は、入力波形データパターンと比較すべき複数の予測波形データパターンを生成する。複数の予測波形データパターンについては後に詳述する。波形切り出し部24は、予測波形データパターンの時間長と同じ時間長の入力波形データパターンを、受信波形データバッファ22から取り出す。
秒同期実行部27は、たとえば、周知の従来の手法によって、入力波形データ生成部21にて生成された入力波形データにおいて、その秒先頭位置を検出する。たとえば、JJYにしたがった標準時刻電波においては、図8に示すように全ての符号において、秒の先頭位置で立ち上がる。したがって、この信号の立ち上がりを検出することで秒の先頭位置を検出することが可能である。
エラー検出部25は、複数の予測波形データパターンのそれぞれと、入力波形データパターンとの値の不一致を示すエラー数を算出する。上述したように入力波形データパターンは、秒毎の入力波形データのサンプル値D(n)を有する。また、予測波形データパターンも、同様に、秒毎の予測波形データのサンプル値P(n)を有する。したがって、入力波形データのサンプル値と、対応する予測波形データのサンプル値とを比較して、不一致の場合にエラー数が「1」だけカウントアップされるように構成すれば、エラー数の算出が可能となる。
また、一致判定部26は、複数の予測波形データパターンごとのエラー数に基づくビットエラーレート(BER)を算出して、算出されたBERに基づき、入力波形データパターンと一致する予測波形データパターンを特定する。
図4は、本実施の形態にかかる電波時計10において実行される処理の概略を示すフローチャートである。図4に示す処理は、主として、CPU11およびCPU11の指示に基づく信号比較回路18により実行される。図4に示すように、CPU11および信号比較回路18(以下、説明の便宜上「CPU11等」とも称する。)は、秒パルス位置を検出する(ステップ401)。秒パルス位置の検出の処理は、秒同期とも称される。
秒同期は、信号比較回路18の秒同期実行部27により、たとえば、周知の従来の手法によって実現される。秒同期により、入力波形データにおける秒先頭位置が特定され、入力波形データの先頭と、特定された秒先頭位置との時間差Δtが得られる。
図7は、JJYの規格にしたがった標準時刻電波信号の例を示す図である。図7に示すように、JJYの規格にしたがった標準時刻電波信号は、JJYの符号が、決められた順序で送信される。JJYの標準時刻電波信号においては、1秒の単位時間長の「P」、「1」および「0」を示す符号が連なっている。標準時刻電波は、60秒を1フレームとしており、1フレームには60個の符号が含まれる。また、標準時刻電波においては、10秒毎にポジションマーカー「P1」、「P2」、・・・或いはマーカー「M」が到来し、また、フレームの末尾に配置されたポジションマーカー「P0」およびフレームの先頭に配置されたマーカー「M」が連続している部分を検出することで、60秒毎に到来するフレームの先頭、つまり分の先頭位置を見出すことができる。また、秒同期は、上記60個の符号の何れかの先頭位置を見出すことである。
図8は、JJYにしたがった標準時刻電波信号を構成する符号のそれぞれをより詳細に示す図である。図8に示すように、JJYにおいては、1秒の単位時間長の「P」、「1」および「0」を示す符号が含まれる。符号「0」では、先頭の800msの区間でハイレベル(値「1」)となり、残りの200msの区間でローレベル(値「0」)となる。符号「1」では、最初の500msの区間でハイレベル(値「1」)となり、残りの500msの区間でローレベル(値「0」)となる。また、符号「P」では、最初の200msの区間でハイレベル(値「1」)となり、残りの800msの区間でローレベル(値「0」)となる。
図6は、本実施の形態にかかる入力波形データ、入力波形データパターンおよび複数の予測波形データパターンを説明するための図である。図6において、内部計時回路17により計時された時刻であるベースタイムBTに基づく処理開始時刻Nowがデータ先頭となる入力波形データ600を考える。秒同期実行部27が秒同期を行なうことにより、秒先頭位置がベースタイムBTに基づく処理開始時刻NowよりΔtだけ時間軸上で後方であったことを示している。以下、入力波形データにおいて、Now+Δt、および、Now+Δtから秒単位で離間した位置を基準としてデータの切り出しが行なわれる。以下、時刻Now+Δtを符号先頭時刻と称する。ベースタイムBTは、本実施の形態にかかる電子時計10の内部計時回路17により計時される時刻をいう。また、処理開始時刻Nowは、ベースタイムBTにしたがった標準時刻電波の受信が開始された時刻である。
秒同期(ステップ401)が終了すると、CPU11等は、先の処理において取得し、RAM15の所定の領域に格納されている最終修正時刻Tlastが存在するかを判断する(ステップ402)。なお、Tlastは、電子時計10の全体がリセットされたとき、或いは、ユーザが入力部12を操作して、内部計時回路17の時刻を変更したときにリセットされる。したがって、このような場合に、ステップ402でNoと判断される。
ステップ402でYesと判断された場合には、CPU11等は、電子時計10における内部時計精度Prから、想定される誤差である想定最大誤差ΔSを算出する(ステップ403)。ΔSは以下の式に基づいて算出される。
ΔS=Pr×(BT−Tlast)
(BT−Tlast)は、前回の処理で時刻が修正されたときから、内部計時回路17により計時された時刻BTまでの期間、すなわち、時刻修正が行なわれていない期間を示す。Prが、月差±15秒に対応する値(たとえば15秒)である場合に、(BT−Tlast)が30日であれば、ΔSは、15秒となる。
次いで、想定最大誤差ΔSが、閾値Sthより大きいかを判断する(ステップ404)。本実施の形態では、電子時計10が月差±15秒であり、時刻修正が行なわれていない期間が30日以内(つまりSthが30日に相当する)であれば、本実施の形態にかかる複数の予測波形データパターンを用いた時刻取得処理が実行される(ステップ405)。ΔSを秒数とすると、2ΔS+1個の複数の予測波形データパターンが生成される。
図5は、本実施の形態にかかるステップ405をより詳細に示すフローチャートである。図5に示すように、信号比較回路18の波形切り出し部24は、受信波形データバッファ22から入力波形データを読み出して、秒同期に基づく秒先頭位置Now+Δtから、所定秒数の時間長を有する入力波形データパターンDPを生成する。図6に示す例では、入力波形データのサンプル値D(0)〜D(4)の5秒分の入力波形データパターンDPが示されている(符号602参照)。実際には、サンプル値D(n)(n=0〜N−1)の個数は、受信回路16において受信される標準時刻電波の受信強度などにより決定される。たとえば、CPU11は、N−1=20程度を最小値として、標準時刻電波の受信強度が小さくなるのにしたがって、サンプル値の個数が増大するように、サンプル値の個数を決定すれば良い。
図6において、サンプル値D(0)〜D(4)は、それぞれ、時刻Now+Δt、Now+Δt+1、Now+Δt+2、Now+Δt+3、Now+Δt+4から開始され、また、それぞれが1つの符号を示す値(「0」または「1」)を含む。
次いで、予測波形データパターン生成部23は、ベースタイムに基づく上記処理開始時刻Nowを中心にして、前後にΔSの範囲で開始時刻がずれた複数の予測波形データパターンを生成する(ステップ502)。すなわち、予測波形データパターン生成部23は、Now±ΔSをそれぞれパターンの先頭とする、入力波形データパターンと同一の時間長を有する複数の予測波形データパターンを生成する。図6に示す例では、ΔS=2(秒)であり、ΔS=−2〜2の、5つの予測波形データパターンが生成されている。
第1の予測波形データパターンPP(0)〜第5の予測波形データパターンPP(4)(符号610〜614参照)は、それぞれ、Now−2、Now−1、Now、Now+1、Now+2をパターンの開始時刻としている。たとえば、第1の予測波形データパターンPP(0)は、時刻Now−2における符号に対応するサンプル値P(−2)、時刻Now−1における符号に対応するサンプル値P(−1)、時刻Nowにおける符号に対応するサンプル値P(0)、時刻Now+1における符号に対応するサンプル値P(1)および時刻Now+2における符号に対応するサンプル値P(2)から構成される。
次いで、エラー検出部25は、入力波形データパターンDPと、複数の予測波形データパターンのそれぞれと、対応する符号のサンプル値を比較して、サンプル値の不一致に相当するエラー数を算出する(ステップ503)。図6の例においては、入力波形データパターンDPと、予測波形データパターンPP(0)〜PP(4)のそれぞれとが比較される。
たとえば、入力波形データパターンDPと、第1の予測波形データパターンPP(0)との比較を考える。この場合には、対応するサンプル値、つまり、D(0)とP(−2)、D(1)とP(−1)、D(2)とP(0)、D(3)とP(1)、D(4)とP(2)がそれぞれ比較される。また、入力波形データパターンDPと、第2の予測波形データパターンPP(1)との比較を考えると、D(0)とP(−1)、D(1)とP(0)、D(2)とP(1)、D(3)とP(2)、D(4)とP(3)がそれぞれ比較される。
対応する符号データの比較の結果、双方が一致すればエラー数は「0」となる。双方が不一致の場合には、エラー数は「1」となる。エラー検出部25は、全ての対応する符号データにおけるエラー数の総計を算出する。
次いで、一致判定部26は、上記複数の予測波形データパターンのそれぞれについて算出されたエラー数(エラー数の総計)に基づき、複数の予測波形データパターンのそれぞれに対応するビットエラーレート(BER)を算出する(ステップ504)。たとえば、ビットエラーレート(BER)は、(エラー数の総計)/(入力波形データパターンのサンプル数I)を演算することにより求めることができる。一致判定部26は、ビットエラーレートBERのうちの最小ビットエラーレート(最小BER)を見出す(ステップ505)。その後、一致判定部26は、入力波形データパターンのサンプル数Iにより決定される許容最大ビットエラーレートBERmax(I)を取得し(ステップ506)、最小BERが、許容最大ビットエラーレートBERmax(I)より小さいかを判断する(ステップ507)。
以下、ビットエラーレートについて説明する。許容最大ビットエラーレートBERmax(I)は、受信するデータの数(入力波形データパターンのサンプル数)が大きくなる(つまり、データ長が大きくなる)のにしたがって大きくなる。つまり、データ長が大きくなるのにしたがって、エラーレートが大きくなっても、データの一致の信頼性は高くなる。
入力波形データパターンと予測波形データパターンの一致判定において、誤った一致判定を行なわないようにするには、偶然データが一致してしまう確率(エラーレート)を限りなく「0」に近づける必要がある。
電波時計10が、1日に24回標準時刻電波を受信し、それを100年繰り返しても1回しか間違わないとすると、誤一致の確率を、1/10^6程度=1/(24×365×100)に設定すれば良い。以下、誤一致の確率について、余裕をみて1/10^8を目標値と考える。
Nビット(Nサンプル)の入力波形データパターン(サンプル値:「0」または「1」)が、偶然に予測波形データパターンと一致する確率は、「0」と「1」との出現確率が等しい場合には、以下のとおりとなる。
P0=P1=0.5 (P0:「0」が出現する確率、P1:「1」が出現する確率)
誤一致する確率を、P0^N<1/10^8とすると、N≧27となる。これは、27ビットのデータを受信して、Nビットの全てが予測波形データパターンと一致したとき信頼性を得られることになる。仮にビット数Nがこれより小さい場合には信頼性は得られないことを意味する。
実際には、「0」と「1」との出現確率は等しくない場合がある。すなわち、P0>P1というように、出現確率は偏ってしまう。このような場合、上記と同様の計算をすると
P0>P1となる。常識的に、最も出現確率が大きい数値は全Nビット「0」であり、誤一致する確率として最大である。また、その出現確率は、P0^Nとなる。
符号出現確率の偏りを、P0=0.55、P1=0.45と考えて、P0^N<1/10^8を解くと、N≧31となる。すなわち、P0=P1の例(N=27)と比較して、4ビット余分に受信しなければ信頼性が得られないことを意味する。
Nビットの全てが一致する場合について説明した。しかしながら、弱電界時には、ノイズの影響で全てのビットが一致することは珍しい。このような一致しないビットが若干ある不完全一致でも、その出現頻度が1/10〜8以下となる解が1つであれば、それを一致と判定することが出来る。
入力波形データパターンがNビット(Nサンプル)で、予測波形データパターンと一致しないサンプル数(エラービット数)をeとすると、データの0/1の符号の列中で、入力波形データバターンと予測波形データパターンとが完全一致するものは1通り、不一致がe個存在する場合がCOMBIN(N,e)通り存在する。なお、COMBIN(N,e)は、N個からe個選ぶ組み合わせの数である。
Nがeに対して十分大きい(つまり、e<<N)とすれば、その不完全一致の個々の出現確率は、完全一致の出現確率にほぼ等しいとみなすことが出来る。P0>P1の下で、全ての不完全一致のうち最も大きい出現確率は、P0^N・COMBIN(N,e)となる。この値が、1/10^8以下であれば、不完全一致でも一致とみなすことができる。これは以下の式で表せる。
P0^N・COMBIN(N,e)<1/10^8
この式をe=1の場合をNについて解くと
N≧40となる。
同様に、e=10、21、31、42について演算すると以下のような結果が得られる。
e=10 N≧80 BER=0.125
e=21 N≧120 BER=0.175
e=31 N≧160 BER=0.194
e=42 N≧200 BER=0.21
このように受信ビット数Nに応じて、信頼性を確保するために必要な許容エラービット数eは変化することがわかる。
一般に、Nが大きくなるに従って、eは大きくなるので、この特性を利用すれば、BERが悪くて時刻修正が出来ない場合でも、受信時間を長くし、ビット数(サンプル値の数)Nを大きくすれば、時刻修正が出来る可能性が高い。
本実施の形態では、入力波形データのサンプル数の範囲ごとに、たとえば、図9に示すような許容最大BERテーブルを備える。一致判定部26は、入力波形データパターンのサンプル数Iに応じて、対応するBERmax(I)を取得することができる(ステップ506)。
一致判定部26は、ステップ505で取得した最小BERと、ステップ506で取得したBERmax(I)とを比較して、最小BER<BERmax(I)であるかを判断する(ステップ507)。ステップ507でYesと判断された場合には、一致判定部26は、修正情報として修正成功を示す情報、および、最小BERを示した予測波形データパターンの情報(BTとのずれを示す情報)をCPU11に出力する(ステップ508)。
ベースタイムBTとのずれ時間ΔTは以下のように表される。
ΔT=BT+s−(BT+Δt)=s−Δt
ここに、sは、予測波形データパターンの先頭の符号データにおけるベースタイムBTとのずれの時間である。
ステップ507でNoと判断された場合には、一致判定部26は、修正情報として修正失敗を示す情報をCPU11に出力する(ステップ509)。CPU11は、修正情報として修正成功を受けた場合には(ステップ406でYes)、ベースタイムBTを、最終修正時刻TlastとしてRAM15に格納する(ステップ407)。また、ベースタイムBTとのずれ時間ΔTに基づいて、ベースタイムBTを修正する(ステップ408)。ステップ408においては、CPU11は、内部計時回路17の時刻を修正することに加え、修正された現在時刻を表示部13に表示する。
ステップ402でNo、或いは、ステップ404でNoと判断された場合には、CPU11は、従来の周知の手法で分先頭位置を検出し(ステップ409)、かつ、分先頭位置から1秒毎の符号を特定して、分、時、曜日などをデコードして現在時刻を得る(ステップ410)。
本実施の形態によれば、波形切り出し部24は、秒先頭位置から、前記標準電波の信号を、所定のサンプリング周期でサンプリングして、各サンプル点のサンプル値が、ローレベルを示す第1の値およびハイレベルを示す第2の値の何れかをとり、かつ、1以上の単位時間長を有する入力波形データパターンを生成する。また、予測波形データパターン生成部23は、各サンプル点のサンプル値が、第1の値および第2の値の何れかをとり、入力波形データパターンと同一の時間長を有し、それぞれが、内部計時回路17により計時されたベースタイムBTに基づく符号の列を表し、かつ、その先頭位置が、ベースタイムBTおよび当該ベースタイム前後所定の秒数(±ΔS)だけずらされた時刻となるような複数の予測波形データパターンを生成する。エラー検出部25は、入力波形データパターンのサンプル値と、予測波形データパターンのサンプル値との一致・不一致を判断し、不一致を示すエラー数を計数し、複数の予測波形データパターンのそれぞれについてのエラー数を取得し、一致判定部26は、最小値のエラー数を示す予測波形データパターンの先頭位置に基づいて、ベースタイムBTの誤差を算出する。CPU11は、現在時刻修正手段により前記ベースタイムが修正された時刻と現在のベースタイムとの時間差、および、予め定められた計時精度に基づいて、所定の秒数を決定し、生成すべき予測波形データパターンの数を決定する。したがって、本実施の形態によれば、前回からの修正からの時間間隔に基づいて予測波形データパターンの数が決定され、多数の予測波形データパターンの生成による処理時間の増大を避けることができる。
また、本実施の形態においては、生成される入力波形データパターンは、符号ごとに1つのサンプル値を有する。入力波形データ生成部21および波形切り出し部24は、当該サンプル値の取得において、符号ごとに、複数の時間的に異なる位置のデータ値を取得し、当該複数のデータ値に基づいて、当該符号についてのサンプル値を決定する。これにより、入力波形データパターンのデータ長を短くすることができ、処理時間をより短縮することができる。
本実施の形態において、一致検出部26は、エラー数の最小値が、サンプル数に対応して予め定められた許容最大エラー数より小さいときに、当該最小値のエラー数を示す予測波形データパターンの先頭位置に基づいて、ベースタイムの誤差を取得する。これにより、誤検出の可能性を著しく小さくすることができる。
また、本実施の形態において、CPU11は、受信された標準時刻電波の受信強度が小さくなるのにしたがって、サンプル値の個数が増大するように決定し、決定されたサンプル値の個数にしたがって、入力波形データパターンが生成される。したがって、受信強度に応じた最適なデータ長の入力波形データパターンおよび予測波形データパターンを生成することができる。
さらに、本実施の形態において、CPU11は、時間差および計時精度に基づき、想定される最大誤差ΔSを算出し、予測波形データパターン生成部23は、先頭位置が、最大誤差の範囲内(±ΔS)となるような複数の予測波形データパターンを生成する。これにより、精度の良さを維持しつつ、予測波形データパターンの数を最小限とすることが可能となる。
次に、本発明の第2の実施の形態について説明する。第1の実施の形態では、符号毎(1秒毎)に1つの値を示す入力波形データのサンプル値D(n)を得て、N秒分の入力波形データパターンを生成していた(図6参照)。予測波形データパターンも、入力波形データパターンと同様に秒毎のサンプル値P(n)をN秒分備えていた。第2の実施の形態においては、1つの符号を複数の区間(4つの区間)に分割して、各区間の値を取得して、1秒分の入力波形データを取得している。すなわち、1秒分の入力波形データは、4つのサンプル値から構成される。さらに、入力波形データパターン中の入力波形データと、予測波形データパターン中の予測波形データとの比較およびエラー数の検出においても、特定の区間のサンプル値の比較結果のみが有効値として使用される。
図10は、第2の実施の形態にかかる信号比較回路18の構成を示すブロックダイヤグラムである。図10に示すように、第2の実施の形態にかかる信号比較回路18は、入力波形データ生成部21、受信波形データバッファ22、予測波形データパターン生成部23、波形切り出し部24、エラー検出部25、一致判定部26、秒同期実行部27および有効値取得部28を有する。
有効値取得部28は、後述する入力波形データパターンと予測波形データパターンとの比較結果(エラー検出)のうち、有効なもののみを取得して、エラー数を累算する。有効値取得部28の動作については後に詳述する。
図11は、JJYの符号、および、本実施の形態における1秒分の入力波形データのデータ構成例を示す図である。前述したように、JJYにおいては、1秒の単位時間長の「P」、「1」および「0」を示す符号が含まれる。ここで、符号の先頭の200msの区間(第1の区間)では、全ての符号でハイレベル(値「1」)を示す。引き続く300msの区間(第2の区間:200ms〜500ms)では、符号「P」のみがローレベル(値「0」)を示す。さらに、次に300msの区間(第3の区間:500ms〜800ms)では、符号「0」のみがハイレベル(値「1」)で他の符号「1」および「P」はローレベル(値「0」)を示す。最後の200msの区間(第4の区間:800ms〜1000ms)では、全ての符号でローレベル(値「0」)を示す。第2の実施の形態においては、上記JJYを構成する符号の値の変化点、つまり、0ms、200ms、500msおよび800msの間の区間である第1の区間から第4の区間に着目し1つの符号に対応する(1秒分の)入力波形データ(符号1100)は、上記第1の区間〜第4の区間のそれぞれにおけるサンプル値D(0,n)、D(1,n)、D(2,n)およびD(3,n)から構成される(符号1101から1104参照)。
同様に、予測波形データも、1つの符号に対応する予測波形データは、サンプル値P(0,p)、P(1,p)、P(2,p)およびP(3,p)から構成される。
第2の実施の形態にかかる入力波形データ生成部21は、所定のサンプリング間隔(たとえば、1秒あたり64サンプル)で、受信回路16から出力された信号を、所定のサンプリング間隔で、その値が複数の値(「1」または「0」)のうちの何れかをとるようなディジタルデータに変換する。さらに、秒同期が終了した後、入力波形データ生成部21は、1秒につき64サンプルある入力波形データのうち、第1の区間として第2サンプル〜第12サンプルの値を取得して、値「1」或いは値「0」の何れかが多いかによって、第1の区間のサンプル値D(0,n)を決定する。同様に、入力波形データ生成部21は、第2の区間〜第4の区間として、それぞれ、第14サンプル〜第30サンプル、第33サンプル〜第51サンプル、第53サンプル〜第63サンプルの値に基づき、第2の区間〜第4の区間のサンプル値D(1,n)、D(2,n)、D(3,n)を決定する。なお、第1の実施の形態と同様に、CPU11は、標準時刻電波の受信強度が小さくなるのにしたがって、サンプル値の個数が増大する、つまり、入力波形データのデータ長が大きくなるように、入力波形データパターンにおけるサンプル値の個数を決定すれば良い。
第2の実施の形態においても、図4と同様の処理が実行される。ステップ404でYesと判断された場合には、CPU11等は、本実施の形態にかかる複数の予測波形データパターンを用いた時刻取得処理が実行される(ステップ405)。図12は、第2の実施の形態にかかるステップ405をより詳細に示すフローチャートである。
信号比較回路18の波形切り出し部24は、受信波形データバッファ22から入力波形データを読み出して、秒同期に基づく秒先頭位置Now+Δtから、所定秒数の時間長を有する入力波形データパターンDPを生成する。図13に示す例では、4秒分の入力波形データパターンが示されている。この入力波形データパターンは、最初の符号データを構成するサンプル値D(0、0)〜D(3,0)、2番目の符号データを構成するサンプル値D(0,1)〜D(3,1)、3番目の符号データを構成するサンプル値D(0,2)〜D(3,2)および4番目の符号データを構成するサンプル値D(0,3)〜D(3,3)を含む。
また、予測波形データパターン生成部23も、ベースタイムBTに基づく処理開始時刻Nowを中心にして、前後にΔSの範囲で開始時刻がずれた複数の予測波形データパターンを生成する(ステップ1202)。図13に示す例では、第1の実施の形態と同様にΔS=−2〜2として、5つの予測波形データパターンPP(0)〜PP(4)が生成されている。
第1の予測波形データパターンPP(0)では、ΔS=−2、つまり、パターンの開始時刻がNow−2であり、第1の予測波形データパターンPP(0)最初の符号データを構成する第1〜第4のサンプル値P(0,−2)、P(1,−2)、P(2,−2)、P(3,−2)、2番目の符号データを構成する第1〜第4のサンプル値P(0,−1)、P(1,−1)、P(2,−1)、P(3,−1)、3番目の符号データを構成する第1〜第4のサンプル値P(0,0)、P(1,0)、P(2,0)、P(3,0)、および、第4の符号データを構成する第1〜第4のサンプル値P(0,1)、P(1,1)、P(2,1)、P(3,1)を含む。
同様に、第2の予測波形データパターンPP(1)では、ΔS=−1であり、パターンの開始時刻がNow−1である。第3の予測波形データパターンPP(2)では、ΔS=0であり、パターンの開始時刻がNowであり、第4の予測波形データパターンデータPP(3)では、ΔS=1であり、パターンの開始時刻がNow+1であり、第5の予測波形データパターンデータPP(4)では、パターンの開始時刻がNow+2である。
次いで、エラー検出部25は、入力波形データパターンDPと、複数の予測波形データパターンのそれぞれと、対応する符号を比較して、符号の不一致に相当するエラー数を算出する(ステップ1203)。図13の例においては、入力波形データパターンDPと、予測波形データパターンPP(0)〜PP(4)のそれぞれとが比較される。
本実施の形態においては、入力波形データパターンの1秒分の入力波形データは、4つのサンプル値を有し、同様に、予測波形データパターンの1秒分の予測波形データは、4つのサンプル値を有する。したがって、1秒あたり、対応する4組のサンプル値について値の一致・不一致が検出される。
たとえば、図13において、入力波形データパターンの最初の符号データD(0,0)〜D(3,0)と、予測波形データパターンPP(0)の最初の符号データP(0,−2)〜P(3,−2)とを考えると、D(0,0)とP(0,−2)、D(1,0)とP(1,−2)、D(2,0)とP(2,−2)、D(3,0)とP(3,−2)とが、それぞれ比較され、一致、不一致が検出される。
不一致のときのエラー数は「1」となり、エラー検出部25は、第1のサンプル値〜第4のサンプル値のそれぞれのエラー数を累算していく。図13の例について、入力波形データパターンと、予測波形データパターンPP(0)との間では、第1の区間のエラー数(D(0,s)(s=0〜3)とP(0,t)(t=−2〜1)のそれぞれのエラー数の総計)であるE(0,0)(図14の符号1401参照)、第2の区間のエラー数(D(1,s)(s=0〜3)とP(1,t)(t=−2〜1)のそれぞれのエラー数の総計)であるE(0,1)(図14の符号1402参照)、第3の区間のエラー数((D(2,s)(s=0〜3)とP(2,t)(t=−2〜1)のそれぞれのエラー数の総計)であるE(0,2)(図14の符号1403参照)、および、第4の区間のエラー数(D(3,s)(s=0〜3)とP(3,t)(t=−2〜1)のそれぞれのエラー数の総計)であるE(0,3)(図14の符号1404参照)が得られる。図14に示すように、他の予測波形データパターンPP(1)〜PP(4)についても同様に、第1の区間〜第4の区間のそれぞれについてのエラー数が取得される。
図11に示すように、第1の区間は、符号「0」、「1」および「P」のいずれにおいても、値「1」をとる。また、第4の区間は、符号「0」、「1」および「P」の何れにおいても、値「0」をとる。その一方、第2の区間では、符号「P」は他の符号と異なる値をとり、また、第3の区間では、符号「0」が他の符号と異なる値をとる。したがって、第2の区間および第3の区間の値を参照することにより、符号の特定は可能である。
第2の実施の形態においては、有効値取得部28が、予測波形データパターンのそれぞれについて、第2の区間および第3の区間のエラー数の総計を有効値として、第2の区間および第3の区間のエラー数の総計を加算して、この加算結果をエラー数の最終的な総計とする(ステップ1204、図14の符号1410参照)。
一致判定部26は、上記複数の予測波形データパターンのそれぞれについて算出されたエラー数(エラー数の最終的な総計)に基づき、複数の予測波形データパターンのそれぞれに対応するビットエラーレート(BER)を算出する(ステップ1205)。ビットエラーレート(BER)は、第1の実施の形態と同様に、(エラー数の最終的な総計)/(サンプル値の数I)を演算することにより求めることができる。一致判定部26は、ビットエラーレートBERのうちの最小ビットエラーレート(最小BER)を見出す(ステップ1206)。その後、一致判定部26は、受信した符号データ数Iにより決定される許容最大ビットエラーレートBERmax(I)を取得し(ステップ1207)、最小BERが、許容最大ビットエラーレートBERmax(I)より小さいかを判断する(ステップ1208)。
ステップ507でYesと判断された場合には、一致判定部26は、修正情報として修正成功を示す情報、および、最小BERを示した予測波形データパターンの情報(BTとのずれを示す情報)をCPU11に出力する(ステップ1209)。ステップ1208でNoと判断された場合には、一致判定部26は、修正情報として修正失敗を示す情報をCPU11に出力する(ステップ1210)。
第2の実施の形態によれば、第1の実施の形態よりも1秒(1符号)あたりのサンプル値の比較の数が増大して(4倍になって)いる。したがって、受信するサンプル数について考えると、第1の実施の形態と比較して4倍のデータを受信していることと等価である。したがって、第1の実施の形態よりも、さらに受信時間を短く(1/4程度)にすることが可能となる。
受信ビット数(サンプル数)をN、許容されるエラービット数をeとする。また、第1の実施の形態と同様に、符号出現確率の偏りを、P0=0.55、P1=0.45と考える。誤一致の確率も、第1の実施の形態と同様に、1/10^8とする。この条件で、P0^N・COMBIN(N,e)<1/10^8をeについて解き、許容されるエラービット数e、および、そのときのBERを演算した。
以下、受信ビット数(サンプル数)をN、そのときの受信秒数をSと表している。
S=10 N=40 e=1 BER=0.1
S=20 N=80 e=10 BER=0.125
S=30 N=120 e=21 BER=0.175
S=40 N=160 e=31 BER=0.194
S=50 N=200 e=42 BER=0.210
S=60 N=240 e=53 BER=0.221
S=90 N=360 e=87 BER=0.242
第1の実施の形態と比較すると第1の実施の形態の1/4の受信時間で、同様の許容されるBERを得られることが理解される。
第2の実施の形態においては、波形切り出し部24において生成される入力波形データパターンでは、各サンプル点のサンプル値が、ローレベルを示す第1の値およびハイレベルを示す第2の値の何れかをとり、また、サンプル値が、前記標準時刻電波を構成する何れかの符号の値の変化点の間の区間における値となる。エラー検出部25は、入力波形データパターンのサンプル値と、予測波形データパターンの対応するサンプル値との一致・不一致を判断し、不一致を示すエラー数を計数し、複数の予測波形データパターンのそれぞれにおいて、各区間についてのエラー数を取得する。また、有効値取得部28は、区間ごとのエラー数のうち、有効な区間に関するエラー数である有効エラー数を算出する。一致判定部26は、最小値の有効エラー数を示す予測波形データパターンの先頭位置に基づいて、ベースタイムBTの誤差を算出する。
特に、第2の実施の形態においては、符号に相当する単位時間あたり、複数のサンプル点のサンプル値を含む入力波形データパターンが生成され、入力波形データパターンと同一の時間長および同一のサンプル数を有する予測波形データパターンと比較される。すなわち、単位時間あたり複数のサンプル点での一致・不一致が判断される。したがって、入力波形データパターンのデータ長を小さくすることができ、したがって、受信時間を短縮させることが可能となる。
また、第2の実施の形態においては、有効な区間が、前記標準時刻電波を構成する符号の何れかの値が他の符号の値と異なるような区間である。すなわち、予測波形データパターンのサンプル値に変化の無い区間についてはエラー数の算出対象から除外し、サンプル値が予測波形データパターンによって変化する区間を有効な区間としてエラー数の算出対象としている。したがって、より少ない区間による、少ない演算により適切なエラー数の算出が可能となる。
また、本実施の形態においては、CPU11は、現在時刻修正手段により前記ベースタイムが修正された時刻と現在のベースタイムとの時間差、および、予め定められた計時精度に基づいて、所定の秒数を決定し、生成すべき予測波形データパターンの数を決定する。したがって、本実施の形態によれば、前回からの修正からの時間間隔に基づいて予測波形データパターンの数が決定され、多数の予測波形データパターンの生成による処理時間の増大を避けることができる。
また、第2の実施の形態においては、生成される入力波形データパターンは、区間ごとに1つのサンプル値を有する。入力波形データ生成部21および波形切り出し部24は、当該サンプル値の取得において、区間ごとに、複数の時間的に異なる位置のデータ値を取得し、当該複数のデータ値に基づいて、当該区間についてのサンプル値を決定する。これにより、入力波形データパターンのサンプル値の適切さを確保しつつ、入力波形データパターンのデータ長を短くすることができ、処理時間をより短縮することができる。
また、第2の実施の形態において、一致検出部26は、有効エラー数の最小値が、サンプル数に対応して予め定められた許容最大エラー数より小さいときに、当該最小値の有効エラー数を示す予測波形データパターンの先頭位置に基づいて、ベースタイムの誤差を取得する。これにより、誤検出の可能性を著しく小さくすることができる。
また、本実施の形態において、CPU11は、受信された標準時刻電波の受信強度が小さくなるのにしたがって、サンプル値の個数が増大するように決定し、決定されたサンプル値の個数にしたがって、入力波形データパターンが生成される。したがって、受信強度に応じた最適なデータ長の入力波形データパターンおよび予測波形データパターンを生成することができる。
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
たとえば、第1の実施の形態および第2の実施の形態において、得られた最小BERが、許容最大ビットエラーBERmax(I)以上であった場合に、修正は失敗したと判断される(ステップ1208、1210参照)。この場合に、再度、ステップ405を実行しても良い。再度のステップ405の実行においては、入力波形データパターンの秒数(つまり符号数)を、先のステップ405において生成した入力波形データパターンの秒数より、大きくする。受信時間を長くし、ビット数(サンプル値の数)Nを大きくすることにより、時刻修正が出来る可能性が高くなる。
また、第2の実施の形態は、JJYにしたがった標準時刻電波を受信し、JJYを構成する符号の値の変化点、つまり、0ms、200ms、500msおよび800msの間の区間のそれぞれについてのサンプル値を得た。本発明は、JJY以外の規格にしたがった標準時刻電波についても適用することができる。図15は、WWVBの符号、および、1秒分の入力波形データのデータ構成例を示す図である。
図15に示すように、WWVBでは、JJYと同様に、0ms、200ms、500msおよび800msで何れかの符号の値が変化している。符号の先頭の200msの区間(第1の区間)では、全ての符号でローレベル(値「0」)を示す。引き続く300msの区間(第2の区間:200ms〜500ms)では、符号「0」のみがハイレベル(値「1」)を示す。さらに、次に300msの区間(第3の区間:500ms〜800ms)では、マーカーのみがローレベル(値「0」)で他の符号「0」および「1」はハイレベル(値「1」)を示す。最後の200msの区間(第4の区間:800ms〜1000ms)では、全ての符号でハイレベル(値「1」)を示す。したがって、WWVBにしたがった標準時刻電波の信号を受信して時刻情報を取得する場合にも、1つの符号に対応する(1秒分の)入力波形データ(符号1500)は、上記第1の区間〜第4の区間のそれぞれにおけるサンプル値D(0,n)、D(1,n)、D(2,n)およびD(3,n)から構成される(符号1501から1504参照)。
また、WWVBにしたがった符号においても、第1の区間および第4の区間は、全ての符号で同じ値をとるが、第2の区間および第3の区間では、何れかの符号が、他の符号と異なる値をとる。したがって、WWVBにしたがった標準時刻電波の信号を受信して時刻情報を取得する場合でも、第2の区間および第3の区間のエラー数の総計を有効値として、第2の区間および第3の区間のエラー数の総計を加算して、この加算結果をエラー数の最終的な総計とすれば良い(図12のステップ1204参照)。
図16は、MSFの符号、および、1秒分の入力波形データのデータ構成例を示す図である。図16に示すように、MSFでは、0ms、100ms、200ms300msおよび500msで何れかの値が変化している。すなわち、0ms〜100msの第1の区間では、6種類ある全ての符号がローレベル(値「0」)、100ms〜200msの第2の区間では、符号「10」、符号「11」およびマーカーのみがローレベル(値「0」)で、他の符号はハイレベル(値「1」)、200ms〜300msの第3の区間では、符号「01」、符号「11」およびマーカーのみがローレベル(値「0」)で、他の符号はハイレベル(値「1」)、300ms〜500msの第4の区間では、マーカーのみがローレベル(値「0」)で、他の符号はハイレベル(「1」)、500ms〜1000msの第5の区間では全ての符号がハイレベル(値「1」)となっている。
したがって、MSFにしたがった標準時刻電波の信号を受信して時刻情報を取得する場合にも、1つの符号に対応する(1秒分の)入力波形データ(符号1600)は、上記第1の区間〜第5の区間のそれぞれにおけるサンプル値D(0,n)、D(1,n)、D(2,n)、D(3,n)およびD(4,n)から構成される(符号1601から1605参照)。
また、MSFにしたがった符号においては、第1の区間および第5の区間は、全ての符号で同じ値をとるが、第2の区間、第3の区間および第4の区間では、何れかの符号が、他の符号と異なる値をとる。したがって、MSFにしたがった標準時刻電波の信号を受信して時刻情報を取得する場合でも、第2の区間、第3の区間および第4区間のエラー数の総計を有効値として、第2の区間、第3の区間および第4の区間のエラー数の総計を加算して、この加算結果をエラー数の最終的な総計とすれば良い(図12のステップ1204参照)。
また、第1の実施の形態および第2の実施の形態においては、最小BERと、許容最大ビットエラーBERmax(I)とを比較しているが、これに限定されず、他の手法を採用することも可能である。
たとえば、受信された標準時刻電波の信号にノイズが含まれていなければ、入力波形データパターンと、修正すべき時刻に対応する予測波形データパターンとのエラー数は「0」(つまり、ビットエラーレートBERも「0」)となる。たとえば、予測波形データパターンについてのエラー数を例示した図17においては、実線のグラフが、標準時刻電波の受信状況が良好なときの予測波形データパターンPPのそれぞれについてのエラー数を示す。このように、受信状況が良好であり、信号中にノイズが含まれていなければ、予測波形データパターンPP(3)について、エラー数が「0」となり、予測波形データパターンPP(3)が、入力波形データパターンと一致するパターンであると判断することができる。
しかしながら、実際には、標準時刻電波の信号にはノイズが含まれるため、エラー数(およびビットエラーレートBER)は、「0」より大きい値をとり、ノイズが増大するのにしたがって、エラー数(およびビットエラーレートBER)も増大する(図17の破線参照)。
図18(a)、(b)は、それぞれ、予測波形データパターンとエラー数との対応を示す他のグラフの例である。図18(a)、(b)に示す例において、エラー数の小さいものから、順に、E1、E2、・・・と番号が付されている。図18(a)に示すように、エラー数の最小値E1と、2番目に小さい値E2とが比較的接近している場合には、E1とE2が著しく離間している場合(図18(b)参照)と比較すると、最小値E1を示した予測波形データパターンPP(j)を、入力波形データパターンと一致していると判断するのが望ましくない可能性もある。
そこで、この実施の形態においては、エラー数の最小値E1および2番目に小さい値E2とが、所定よりも離間している場合には、最小値E1に信頼性があると判断している。所定よりも離間しているかを判断するために、2番目に小さい値E2の下限を、エラー率Pd、サンプル数Nおよびエラー数の最小値E1に基づき決定している。
エラー数の最小値E1が、一致点(つまり、入力波形データパターンと一致するポイント)ではないことを示すエラー率をPとすると、Pは、上記N、E1およびE2の関数として表すことができる。
P=f(N,E1,E2)
より具体的には、たとえば、以下の式により表すことができる。
ただし、N>0、E1<E2
上記エラー率Pを用いて、当該エラー率P(=f(N,E1,E2))が、判定基準値Pd(たとえば、Pd=1e−8)より小さい場合、つまり、
f(N,E1,E2)<Pdである場合には、エラー数E1を一致点とすることの信頼性が十分あると判断する。
実際に、上記数1に示す式にしたがって、エラー率Pを求め、エラー率Pと予め定められた判定基準値Pdとを比較しても良いが、演算時間を要することもある。したがって、サンプル数Nおよびエラー数の最小値E1の組み合わせのそれぞれについて、f(N,E1,E2)<Pdを満たすE2の下限値を示す信頼性判定テーブルを、RAM15に格納し、処理の際に信頼性判定テーブルの値が読み出されるように構成しても良い。たとえば、図19に示すように、信頼性判定テーブル1900は、サンプル数N(図19の例では、N=1、2、3、4、・・・)およびエラー数の最小値(E1=1、2、・・・)として、(N,E1)のそれぞれについて、E2の下限値Emin(N,E1)が格納されている。
図20は、この実施の形態にかかる信頼性判定処理の例を示すフローチャートである。図20に示す処理は、第1の実施の形態の図5のステップ504〜ステップ507の代わりに実行される。図20に示すように、一致判定部26は、予測波形データパターンごとのエラー数に基づき、エラー数の最小値E1および2番目に小さい値E2を特定する(ステップ2001)。次いで、一致判定部26は、サンプル数Nおよび最小値E1に基づき、RAM15中の信頼性判定テーブルを参照して、対応する下限値Emin(N,E1)を取得する(ステップ2002)。
一致判定部26は、値E2が下限値Emin以上であるかを判断する(ステップ2003)。ステップ2003でYesと判断された場合には、信頼性ありとして、ステップ508に進む。その一方、ステップ2003でNoと判断された場合には、信頼性なしとして、ステップ509に進む。第2の実施の形態についても、同様に上記手法を適用することができる。
第2の実施の形態においては、ステップ2001において、有効値の累算値の最小値E1、および、有効値の累算値で2番目に小さい値E2が特定される。また、一致判定部26は、有効値の累算値に基づくE1およびE2を用いて、下限値Eminを取得すれば良い。
上記実施の形態によれば、エラー数の最小値E1だけではなく、2番目に小さい値E2を考慮して、最小値E1が、2番目に小さい値E2よりも所定以上離間していれば、最小値E1について予測波形データパターンの、入力波形データパターンとの一致が信頼性ありと判断している。これにより、信頼性の高い一致の判断を実現することができる。