以下、添付図面を参照して、本発明の実施の形態について説明する。本発明の実施の形態においては、長波帯の標準時刻電波を受信して、その信号を検波して、信号中に含まれるタイムコードを示す符号の列を取り出して、当該符号の列に基づいて時刻を修正する電波時計に、本発明にかかる時刻情報取得装置を設けている。
現在、日本、ドイツ、イギリス、スイスなどにおいて、所定の送信所から標準時刻電波が送信されるようになっている。たとえば、日本では、福島県および佐賀県の送信所から、それぞれ、40kHzおよび60kHzの振幅変調された標準時刻電波が送出されている。標準時刻電波は、年月日時分を示すタイムコードを構成する符号の列を含み、1周期60秒で送出されている。1つの符号は単位時間長(1秒)であるため、1周期では60個の符号を含み得る。
図1は、本実施の形態にかかる電波時計の構成を示すブロックダイヤグラムである。図1に示すように、電波時計10は、CPU11、入力部12、表示部13、ROM14、RAM15、受信回路16、内部計時回路17、信号比較回路18および平均値追従回路19を備える。
CPU11は、所定のタイミングで、或いは、入力部12から入力された操作信号に応じてROM14に格納されたプログラムを読み出して、RAM15に展開し、当該プログラムに基づいて、電波時計10を構成する各部への指示やデータの転送などを実行する。具体的には、たとえば所定時間毎に受信回路16を制御して標準時刻電波を受信させて、受信回路16から得られた信号に基づくディジタルデータから、標準時刻電波信号に含まれる符号の列を特定し、この符号の列に基づいて内部計時回路17で計時される現在時刻を修正する処理や、内部計時回路17によって計時された現在時刻を表示部13に転送する処理などを実行する。本実施の形態においては、1以上の単位時間長の、所定の形態の予測波形データを生成して、予測波形データと、受信回路16により受信された標準時刻電波から得た入力波形データとを比較することで、秒の先頭を特定している。
また、本実施の形態においては、1以上の単位時間長の所定の符号を含む予測波形データを生成して、分の先頭を特定する。さらに、本実施の形態においては、入力波形データの所定の区間(特徴区間)のデータ値の累算値と、予測波形データに基づく乗算値とを乗じた演算値を用いて、時、分、年月日を含む各種符号(コード)の値を特定している。年月日および時分が特定されることで、内部計時回路17における誤差が算出され、内部計時回路17における現在時刻を修正することができる。
入力部12は、電波時計10の各種機能の実行を指示するためのスイッチを含み、スイッチが操作されると、対応する操作信号をCPU11に出力する。表示部13は、文字盤やCPU11によって制御されたアナログ指針機構、液晶パネルを含み、内部計時回路17によって計時された現在時刻を表示する。ROM14は、電波時計10を動作させ、また、所定の機能を実現するためのシステムプログラムやアプリケーションプログラムなどを記憶する。所定の機能を実現するためのプログラムには、後述する秒パルス位置の検出処理、分先頭位置の検出処理、および、符号のデコード処理のために信号比較回路18を制御するプログラムも含まれる。RAM15は、CPU11の作業領域として用いられ、ROM14から読み出されたプログラムやデータ、CPU11にて処理されたデータなどを一時的に記憶する。
受信回路16は、アンテナ回路や検波回路などを含み、アンテナ回路にて受信された標準時刻電波から復調された信号を得て、信号比較回路18に出力する。内部計時回路17は、発振回路を含み、発振回路から出力されるクロック信号を計数して現在時刻を計時し、現在時刻のデータをCPU11に出力する。
平均値追従回路19は、いわゆる平均値追従型スライサと称され、受信回路16の出力を受け入れて、その直流成分を除去して信号比較回路18に出力する。平均値追従回路19は、入力信号の平均値を基準にして、平均値より大きな値の信号に対しては、ハイレベルの信号が出力され、平均値より小さな値の信号に対してローレベルの信号が出力される。したがって出力信号の平均値は「0」となる。平均値追従回路19については、図3を参照して後述する。
図2は、本実施の形態にかかる受信回路16の構成例を示すブロックダイヤグラムである。図2に示すように、受信回路16は、標準時刻電波を受信するアンテナ回路50、アンテナ回路50により受信された標準時刻電波の信号(標準時刻電波信号)のノイズを除去するフィルタ回路51、フィルタ回路51の出力である高周波信号を増幅するRF増幅回路52、RF増幅回路52から出力された信号を検波して、標準時刻電波信号を復調する検波回路53を備え、検波回路53によって復調された信号が、平均値追従回路19に出力される。
図3(a)は、本実施の形態にかかる平均値追従回路19の構成例を示す図、図3(b)は平均値追従回路19の入力信号および出力信号の例を示す図である。図3(a)に示すように、本実施の形態にかかる平均値追従回路19は、抵抗器301、キャパシタ302およびコンパレータ303を有する。抵抗器301を経る経路は、キャパシタ302およびコンパレータの−(マイナス)端子に接続される。この経路において、抵抗器301およびキャパシタ302により、入力信号inの平均値に対応する基準電圧Vthの信号が生成される。したがって、図3(b)に示すように、入力信号inにおいて、基準電圧Vthより大きい電圧のときには、コンパレータ303からの出力信号outがハイレベルHとなる。その一方、入力信号inにおいて、基準電圧Vthより小さい電圧のときには、コンパレータ303からの出力信号がローレベルLとなる。また、平均値追従回路19からの出力信号outでは、直流成分が除去されている。したがって、本実施の形態においては、その平均値Vthを、中心値である「0」と考え、二値化された後のデータでは、平均値Vthより大きな値を「1」、平均値Vthより小さい値を「−1」としている。
図4は、本実施の形態にかかる信号比較回路18の構成を示すブロックダイヤグラムである。図4に示すように、本実施の形態にかかる信号比較回路18は、入力波形データ生成部21、受信波形データバッファ22、予測波形データ生成部23、波形切り出し部24、相関値算出部25および相関値比較部26を有する。また、本実施の形態にかかる信号比較回路18は、特徴区間抽出部27、28、データ値累算部29および累算値バッファ30を有する。
入力波形データ生成部21は、平均値追従回路19から出力された信号を、所定のサンプリング間隔で、その値が複数の値のうちの何れかをとるようなディジタルデータに変換して出力する。たとえば、上記サンプリング間隔は50msであり、1秒あたり20サンプルのデータを取得することができる。受信波形データメモリ22は、入力波形データ生成部21において生成されたデータを順次記憶する。受信波形データメモリ22は、複数の単位時間長(1秒)のデータ(たとえば、10単位時間(10秒))を記憶することができ、新たにデータを記憶する場合には、古い順にデータを消去していく。
本実施の形態において、入力波形データ生成部21は、受信回路16から出力されたアナログ信号(後述する図10の符号1010参照)を二値化する。本実施の形態においては、平均値追従回路19において、ハイレベルH或いはローレベルLの信号outが出力される。本実施の形態において、ニ値化の際に、ローレベルLのときには、データ値として第1の値「−1」が与えられ、ハイレベルHのときには、データ値として第2の値「1」が与えられる。したがって、受信波形データバッファ22には、第1の値および第2の値からなるディジタルデータが格納される。したがって、波形切り出し部24により抽出される入力波形データSn(j)のデータ値も、第1の値或いは第2の値の何れかの値をとる。
予測波形データ生成部23は、後述する秒パルス位置の検出処理、分先頭位置の検出処理などにおいて使用する、比較対象とする所定の時間長の予測波形データを生成する。予測波形データ生成部23において生成する予測波形データについてはそれぞれの検出処理において詳細に説明する。波形切り出し部24は、予測波形データの時間長と同じ時間長の入力波形データを、受信波形データバッファ22から取り出す。
特徴区間抽出部28は、予測波形データの符号の種別にしたがって、予測波形データにおける特徴区間におけるデータ値(特徴値)を抽出する。また、特徴区間抽出部27は、入力波形データにおける、上記特徴区間抽出部28と対応する区間のデータ値を抽出する。本実施の形態においては、秒パルス位置の検出処理、分先頭位置の検出処理、符号のデコード処理において、入力波形データおよび予測波形データの双方で、対応する所定区間(特徴区間)のみのデータ値(特徴値)が演算に使用される。この特徴区間は、予測波形データの符号の種別により決定される。この特徴区間については後に詳述する。
相関値算出部25は、複数の予測波形データのそれぞれと、入力波形データとの相関値を算出する。本実施の形態においては、後述するように相関をとるために共分散を採用している。相関値比較部26は、相関値算出部25において算出された相関値(共分散値)を比較して、その最適値を特定する。
図5は、本実施の形態にかかる電波時計10において実行される処理の概略を示すフローチャートである。図5に示す処理は、主として、CPU11およびCPU11の指示に基づく信号比較回路18により実行される。図5に示すように、CPU11および信号比較回路18(以下、説明の便宜上「CPU11等」と称する。)は、秒パルス位置を検出する(ステップ501)。秒パルス位置の検出の処理は、秒同期とも称される。図6は、JJYの規格にしたがった標準時刻電波信号の規格を説明する図である。図6に示すように、JJYの規格にしたがった標準時刻電波信号は、JJYの符号が、決められた順序で送信される。JJYの標準時刻電波信号においては、1秒の単位時間長の「P」、「1」および「0」を示す符号が連なっている。標準時刻電波は、60秒を1フレームとしており、1フレームには60個の符号が含まれる。また、標準時刻電波においては、10秒ごとにポジションマーカー「P1」、「P2」、・・・或いはマーカー「M」が到来し、また、フレームの末尾に配置されたポジションマーカー「P0」およびフレームの先頭に配置されたマーカー「M」が連続している部分を検出することで、60秒ごとに到来するフレームの先頭、つまり分の先頭位置を見出すことができる。
また、図7(a)〜(c)は、それぞれ、JJY、WWVB、および、MSFのそれぞれの規格にしたがった符号の例を示す図である。図6および図7(a)に示すように、JJYには、「0」、「1」および「P」をそれぞれ示す3つの符号が含まれる。JJYの符号は、単位時間長(1秒)の符号であり、秒の先頭でローレベルからハイレベルに立ち上がる。JJYの符号「0」は、最初の800msだけハイレベルとなり、引き続く200msではローレベルとなる。すなわち、符号「0」は、80%デューティの信号である。符号「1」は、最初の500msだけハイレベルとなり、引き続く500msではローレベルとなる。すなわち、符号「1」は、50%デューティの信号である。符号「P」は、ポジションマーカー或いはマーカーとして使用される符号であり、最初の200msだけハイレベルとなり引き続く800msではローレベルとなる。すなわち、符号「P」は、20パーセントデューティの信号である。
本実施の形態においては、上記JJYの信号が、秒の先頭でローレベルからハイレベルに立ち上がることを正確に検出するために、所定のデータ値を有する単位時間長の波形データを所定数(本実施の形態においては4つ)だけ連続させ、それを50msずつずらしたような複数の予測波形データを生成している。このような複数の予測波形データと、入力波形データとの共分散値を算出し、最適な共分散値を示す予測波形データのローレベルからハイレベルへの立ち上がりを示す変化点を、秒パルス位置(秒の先頭位置)と判断する。
次いで、CPU11は、分の先頭位置、つまり、上記1フレームの標準時刻電波信号の先頭位置を検出する(ステップ502)。
その後、CPU11は、符号のデコード処理を実行する(ステップ503)。ステップ503においては、標準時刻電波信号の種々の符号(分の一の位の符号(M1)、分の十の位の符号(M10)、日時や曜日など他の符号)が、予測波形データと入力波形データとの比較に基づいてデコードされる。
本実施の形態においては、JJYにしたがった標準電波信号を受信して、その秒同期をする場合についてまず説明するが、他の規格、たとえば、WWVBやMSFにしたがった標準電波信号を受信する場合にも適用できる。ここで、WWVBおよびMSFにしたがった符号についても簡単に説明する。
図7(b)は、米国のWWVBに含まれる符号を示す図である。図7(b)に示すように、WWVBには、「0」、「1」および「P」をそれぞれ示す3つの符号が含まれる。WWVBの符号は、秒の先頭でハイレベルからローレベルに立ち下がる。WWVBの符号「0」は、最初の200msだけローレベルとなり、引き続く800msではハイレベルとなる。符号「1」は、最初の500msだけローレベルとなり、引き続く500msではハイレベルとなる。また、符号「P」は、最初の800msだけローレベルとなり引き続く200msではハイレベルとなる。
図7(c)は、英国のMSFに含まれる符号を示す図である。MSFでは、JJYやWWVBと異なり、5つの符号を有し、そのうち4つは、2つのビット(A、B)のそれぞれの値を表すことができる。MSFの符号は、秒の先頭でハイレベルからローレベルに立ち下がる。「A=0、B=0」に相当する符号は、最初の100msだけローレベルとなり、引き続く900msではハイレベルとなる。「A=1、B=0」に相当する符号は、最初の200msだけローレベルとなり、引き続く800msでローレベルとなる。また、マーカーに相当する符号「M」は、最初の500msだけローレベルとなり、引き続く500msでハイレベルとなる。「A=0、B=1」に相当する符号は、最初の300msにおいて、100msずつ順次ローレベル、ハイレベル、ローレベルとなり、その後の700msでハイレベルとなる。また、「A=1、B=1」に相当する符号は、最初の300msだけローレベルとなり、引き続く700msではハイレベルとなる。
以下、本実施の形態にかかる秒パルス位置の検出処理(ステップ501)についてより詳細に説明する。図8は、本実施の形態にかかる秒同期において利用される予測波形データの部分を例示する図である。図8において、予測波形データそれぞれの最初の単位時間長に相当する1秒分が表示されている。符号800で示す破線が、予測波形データの先頭を示している。実際には、本実施の形態においては、図8に示す単位時間長の所定のデータを4つ連続させた、4単位時間長、つまり、4秒分の予測波形データが、予測波形データ生成部23により生成される。また、本実施の形態では、それぞれ、50msずつ、データの先頭(ローレベルからハイレベルへの立ち上がり)の位置がずれた20個の予測波形データP(1,j)〜P(20,j)が、予測波形データ生成部23により生成される。
図8に示すように、第1の予測波形データP(1,j)は、データの先頭(符号800参照)でローレベルからハイレベルに立ち上がる。本実施の形態にかかる予測波形データにおいて、ローレベルからハイレベルに立ち上がるポイント(第1の予測波形データでは、符号800で示すポイント)の前方(時間的に古い側)に所定区間だけ、ローレベルを示す第1の値を有し、上記ポイントの後方(時間的に新しい側)に所定区間だけ、ハイレベルを示す第2の値を有する。また、上記ポイントの前後所定区間以外については、「0」を示す他の第3の値を有する。図8の例では、第1の値として「−1」、第2の値として「1」、第3の値として「0」を用いている。本実施の形態においては、ローレベルを示す第1の値の所定区間、および、ハイレベルを示す第2の値の所定区間は、ともに50msである。
また、実際の演算においては、第1の値を有する部分と第2の値を有する部分、つまり、第1の予測波形データP(1,j)(符号801参照)では、符号811、812に示す部分、第2の予測波形データP(2、j)〜第20の予測波形データP(20,j)では、それぞれ、符号821、831、841、851で示す部分のみの演算が実質的に有効となる。
図8から理解できるように、第2の予測波形データP(2,j)(符号802参照)は、データの先頭から50msだけ経過した位置でローレベルからハイレベルに立ち上がる。以下、第3の予測波形データP(3,j)、第4の予測波形データP(4,j)、・・・・は、ローレベルからハイレベルへの立ち上がりの位置が、50msに対応する位置だけ順次後ろになっていく。
図9は、本実施の形態にかかる秒パルス位置の検出(秒同期)をより詳細に示すフローチャートである。また、図10は、本実施の形態にかかる秒パルス位置の検出処理を模式的に示す図である。図9に示すように、予測波形データ生成部23は、CPU11の指示にしたがって、上述したような、4単位時間長(4秒)の、それぞれ、50msずつ、ローレベルからハイレベルへの立ち上がりの位置がずれた20個の予測波形データP(1,j)〜P(20,j)を生成する(ステップ901、図10の符号1001)。予測波形データの値は、図7を参照して説明したように、第1の値、第2の値および第3の値の何れかとなる。
次いで、CPU11の指示にしたがって、波形切り出し部24は、受信波形データバッファ22から、4単位時間長(4秒)のデータを切り出して、入力波形データSn(j)を生成する(ステップ902、図10の符号1011参照)。本実施の形態では、1秒あたり20サンプルのデータが取得されるため、Sn(j)は、80サンプルを含むデータとなる。なお、処理を高速化させ、或いは、受信波形データバッファ22のサイズを小さくするために、波形切り出し部24は、4単位時間長のデータの全てが受信波形データバッファ22に格納されない状態で、Sn(1)、Sn(2)、・・・という順で順次、サンプルデータを取り出していっても良い。
次いで、相関値算出部25は、CPU11の指示に従って、予測波形データを特定するパラメータpを「1」に初期化し(ステップ903)、入力波形データSn(j)のデータ値と、予測波形データP(p,j)のデータ値との間の相関値(共分散値)C(p)を算出する(ステップ904)。また、ステップ904において、相関値算出部25は、相関値C(p)の累算値Ca(p)を算出する。先の処理で累算され、RAM15に格納されている累算値Ca(p)を読み出して、Ca(p)に今回算出されたC(p)を加算すれば良い。
本実施の形態においては、相関値算出部25は、入力波形データのデータ値Sn(j)と、予測波形データのデータ値P(p,j)値とを用いて、共分散値C(p)を算出する。図9に示すように、Sn(j)と、P(1,j)、P(2,j)、・・・、P(20,j)のそれぞれとの共分散値の算出により、C(1)、C(2)、・・・、C(20)が得られる。共分散値は、一般には以下の数式により得ることができる。
C(p)=(1/N)*Σ((Sn(j)−Sm)*(P(p,j)−Pm))
Smは、Sn(j)の平均値、Pmは、P(p,j)の平均値である。 Sm=(1/N)*Σ(Sn(j))、Pm=(1/N)*Σ(P(p,j))
なお、シグマは、j=1〜Nについてのものである。
上記C(p)は、
C(p)=(1/N)Σ(Sn(j)*P(p,j))−Sm*Pm
と変形される。したがって、一般には、波形切り出し部24が、サンプルデータSn(j)を取得するごとに、相関値算出部25は、Sn(j)*P(p,j)を演算して、乗算結果である演算値を、加算結果に累算することを繰り返し、最後のサンプルデータSn(N)が得られたときに、相関値算出部25が、平均値Smを算出して、累算結果から、Sm*Pmを減算すればよい。
特に、本実施の形態においては、入力波形データ生成部21は、平均値追従回路19からの出力信号outがローレベルLのときには、データ値として第1の値「−1」を与え、ハイレベルHのときには、データ値として第2の値「1」を与えて二値化している。この二値化されたデータの平均値は「0」と考えることができる。したがって、入力波形データSn(j)の平均値Smも「0」と考えることができる。そこで、本実施の形態においては、Sm*Pm=0としている。
さらに、後述するように、本実施の形態においては、共分散値自体が必要なのではなく、パラメータpごとの共分散値或いはその累算値が比較できれば良い。したがって、サンプル点の積(Sn(j)*P(p,j)の総和Σ(Sn(j)*P(p,j)が算出できれば良く、総和をサンプル点の数Nで除する必要が無い。したがって、本実施の形態においては、共分散値C(p)として、Σ(Sn(j)*P(p,j)を算出している。
本実施の形態において、Sn(j)が第1の値「−1」で、P(p,j)が第1の値「−1」であるとき、Sn(j)*P(p,j)は「1」となる。同様に、Sn(j)が第2の値「1」で、P(p,j)が第2の値「1」であるときにも、Sn(j)*P(p,j)は「1」となる。つまり、P(p,j)が第1の値或いは第2の値をとり、かつ、Sn(j)とP(p,j)との値が一致するときに、正の相関を示す所定値(本実施の形態では「1」)となる。
その一方、Sn(j)が第1の値「−1」で、P(p,j)が第2の値「1」であるとき、Sn(j)*P(p,j)は「−1」となる。同様に、Sn(j)が第2の値「1」で、P(p,j)が第1の値「−1」であるときにも、Sn(j)*P(p,j)は「−1」となる。つまり、P(p,j)が第1の値或いは第2の値をとり、Sn(j)とP(p,j)との値が一致しないときに、負の相関を示す負の所定値(本実施の形態では「−1」)となる。
さらに、P(p,j)が第3の値「0」であるときには、Sn(j)の値にかかわらず、Sn(j)*P(p,j)は、共分散値の算出に影響しない値「0」となる。
図11は、本実施の形態にかかる共分散値の算出例を説明する図である。図11の例では、入力波形データ、予測波形データのうち、最初の1秒(j=1〜20)を示している。入力波形データSn(j)においては、j=4、5のときにハイレベルとなり、第2の値「1」を示す。それ以外ではローレベルであり、第1の値「−1」を示している。
予測波形データP(1,j)〜P(3,j)では、C(1)〜C(3)はそれぞれ「0」となる。その一方、波形の立ち上がり位置が、入力波形データSn(j)の波形の立ち上がり位置と一致する予想波形データP(4,j)では、C(4)は「2」となる。これに対して、波形の立ち上がり位置が、入力波形データSn(j)の波形の立ち下がり位置と一致する予測波形データP(6,j)では、C(6)は「−2」となる。このように、本実施の形態においては、入力波形データの立ち上がり位置と、予測波形の立ち上がり位置とが一致する場合には、より強い相関があることを示すようにより大きい共分散値が現れる。また、入力波形データの立ち下がり位置と、予測波形の立ち上がり位置とが一致する場合、つまり、波形の形状が逆位相になる場合には、負の相関を示す負の共分散値が現れる。その一方、予測波形データの立ち上がり位置以外については、演算結果に影響を与えない値「0」が現れる。
パラメータpが「20」より小さい場合には(ステップ905でNo)、パラメータpがインクリメントされて(ステップ906)、ステップ904に戻る。全てのパラメータpについて、共分散値C(1)〜C(20)が取得されると(ステップ905でYes)、所定回数だけ共分散値が算出されたかが判断される(ステップ907)。ステップ907でNoと判断された場合には、ステップ902に戻る。
ステップ907でYesと判断された場合には、相関値比較部26は、共分散値C(1)〜C(20)の累算値Ca(1)〜Ca(20)を比較して、最適値(この場合には最大値)C(x)を見出す(ステップ908)。CPU11は、最適値C(x)を受け入れて、当該最適値が有効であるか否かを判断する(ステップ909)。
得られた共分散値C(p)の累算値Ca(p)の中で最大値を示すC(x)が最も相関の高い予測波形であるが、母数の不十分な標本から得られた共分散値においては、ノイズによる偶発的な要因で最大値が出現する場合もある。このような場合を排除する目的で、たとえば、ステップ909においては、たとえば、以下のような判断基準を設け、誤検出を避ける。
(1)共分散計算に使用した入力波形データの数が既定数以上であること。
(2)C(x)を示すxの値が複数回数出現し、かつ、複数回数xの値が等しく、その頻度が他に比べて大きいこと(xが最頻値)。
(3)既定回数以上連続してxの値が等しいこと(最頻値の連続性)。
(4)C(p)やCa(p)の分散が規定値以下であること。
(5)C(p)やCa(p)の統計量である尖度や歪度もしくは、それに準ずる評価関数を計算し、その結果が規定値に達しているかを判断すること。
無論、有効性の判断は上述した手法に限定されず、共分散値の平均値や標準偏差を利用して、たとえば、共分散値の極大値であっても、平均値より小さいものは有意ではないと判断しても良いし、統計において一般的な有意水準(たとえば、5パーセント)を利用しても良い。
最適値C(x)が有効であれば(ステップ909でYes)、CPU11は、最適値C(x)が示す予想波形データにおける信号レベルの変化点、つまり、ローレベルを示す第1の値からハイレベルを示す第2の値に変化する位置を、秒パルス位置と判断する(ステップ910)。CPU11は、秒パルス位置の情報を、RAM15に格納しておく。この秒パルス位置は、以下に述べる分先頭位置の検出等の処理で使用される。
秒パルス位置の検出(ステップ501)、つまり、秒同期が終了すると、分先頭位置が検出される(ステップ502)。分先頭位置の検出を、分同期とも称する。ステップ501により、すでに秒パルス位置(秒の先頭位置)は確定している。また、JJYでは、1分のフレームにおいて、末尾にポジションマーカー「P0」を示す符号が配置され、また、先頭にマーカー「M」を示す符号が配置される。したがって、分同期においては、CPU11および信号比較回路18は、フレームの末尾に配置されたポジションマーカー「P0」を示す符号およびフレームの先頭に配置されたマーカー「M」を示す符号が連続したことを判断する。
次に、分先頭位置の検出について詳細に説明する。分先頭位置の検出を分同期とも称する。図12は、本実施の形態にかかる分先頭位置の検出(分同期)をより詳細に示すフローチャートである。また、図13は、本実施の形態にかかる分先頭位置の検出における入力波形データおよび予測波形データを説明する図である。秒同期によって、すでに秒パルス位置(秒の先頭位置)は確定している。また、図6に示すように、分先頭位置では、その前後(60秒および1秒)で、デューティ20%の符号「P」が連続している。そこで、分同期においては、デューティ20%の符号「P」が連続している形態の2単位時間長の予測波形データを生成する。また、それぞれ秒パルス位置(秒先頭位置)から開始される2単位時間長(2秒)の入力波形データを60個生成する。予測波形データと、60個の入力波形データの各々との相関値を算出することにより60個の相関値(共分散値)C(1)〜C(60)を得ることができる。
図12に示すように、予測波形データ生成部23は、CPU11からの指示にしたがって、符号「P」を2つ連ねた形態の2単位時間長の予測波形データP(j)を生成する(ステップ1201)。図13に示すように、この予測波形データ(符号1300参照)は、単位時間長(1秒)において最初の200ms(20%)がハイレベルで残りがローレベルであるような波形を2つ連ねたものである。
特徴区間抽出部28は、予測波形データP(j)の特徴区間に属するデータ値(特徴値)を抽出する(ステップ1202)。図14(a)、(b)は、JJYの各符号における特徴区間を説明する図である。図14(a)に示すように、符号「P」(符号1401参照)、符号「1」(符号1402参照)および符号「0」(符号1403参照)においては、その値が他の符号の値と異なるような、固有の値を有する区間が存在する。たとえば、符号「P」では、200ms〜500msに至る区間(符号1411参照)がローレベル(データ値「−1」)であり、この区間において、他と異なる固有の値「−1」を有している。
したがって、本実施の形態においては、符号「P」において200ms〜500msの区間が特徴区間となり、また、そのデータ値(特徴値)は「−1」となる。図13に示す予測波形データP(j)において、単位時間長のサンプル数が20であれば、j=1〜40となる。この場合には、特徴区間抽出部28は、特徴値として、200ms〜500msの区間および1200ms〜1500msの区間のデータ値、つまり、P(5)〜P(10)およびP(25)〜P(30)のみを抽出する。
後述するが、符号のデコード処理においても、予測波形データの特徴区間の特徴値が利用される。符号のデコード処理では、符号「0」或いは符号「1」の何れであるかが判断できれば良い。つまり、分同期は終了しているため、符号「P」の判別は不要である。
図14(b)に示すように、符号「1」では、500ms〜800msに至る区間(符号1412参照)がローレベル(データ値「−1」)であり、この区間において、他の符号「0」と異なる固有の値「−1」を有している。その一方、符号「0」では、500ms〜800msに至る区間(符号1413参照)がハイレベル(データ値「1」)であり、この区間において、他の符号「1」と異なる固有の値「1」を有している。したがって、符号「1」および「0」においては、それぞれ、500ms〜800msの区間が特徴区間となる。また、符号「1」の特徴区間における特徴値は「−1」であり、符号「0」の特徴区間における特徴値は「1」である。
次いで、秒先頭位置を特定するためのパラメータiが初期化され、CPU11の指示にしたがって、波形切り出し部24は、受信波形データバッファ22から秒先頭位置から2単位時間長(2秒)の入力波形データSn(i,j)を生成する(ステップ1204)。また、特徴区間抽出部27は、特徴区間抽出部28からの情報にしたがって、予測波形データの特徴区間に対応するよう、Sn(i,j)の特徴区間に属するデータ値を抽出する(ステップ1205)。特徴区間抽出部27は、i=1のときには、Sn(1,5)〜Sn(1,10)およびSn(1,25)〜Sn(1,30)を、特徴区間に属するデータ値として抽出する。一般には、
Sn(i,5)〜Sn(i,10)、および、
Sn(i,25)〜Sn(i,30)が、特徴区間に属するデータとして抽出される。
次いで、相関値算出部25は、特徴区間に属する入力波形データSn(i,j)と、特徴区間に属する予測波形データP(j)との相関値(共分散値)C(i)を算出する(ステップ1206)。共分散値の算出は、秒同期処理と同様である。以下、特徴区間との兼ね合いのみを説明する。本実施の形態においては、入力波形データについて、Sn(i,5)〜Sn(i,10)、および、Sn(i,25)〜Sn(i,30)が、特徴区間に属するデータ値として抽出される。また、予測波形データについても、P(5)〜P(10)およびP(25)〜(P30)が抽出される。
したがって、共分散値C(i)の算出の際に、入力波形データのデータ値と、予測波形データのデータ値との乗算値の総和
ΣSn(i,j)*P(j)において、j=5〜10,25〜30となる。ここで、図14(a)を参照して説明したように、符号「P」の特徴区間のデータ値(特徴値)は「−1」である。したがって、予測区間における予測波形データP(j)(j=5〜10、25〜30)は、「−1」となる。したがって、上記乗算値の総和を算出する際に、Sn(i,j)(j=5〜10,25〜30)を求め、それに、特徴値「−1」を乗じれば良い。
次いで、CPU11は、パラメータiが60であるか否かを判断し(ステップ1207)、ステップ1207でNoと判断された場合には、パラメータiをインクリメントする(ステップ1208)。引き続くステップ1204においては、CPU11の指示にしたがって、波形切り出し部24は、次の秒先頭位置(つまり、先の入力波形データの秒先頭位置から20サンプルだけ後ろの位置)から2単位時間長(2秒)の入力波形データSn(i,j)を取得する。以下、新たに取得した入力波形データSn(i,j)と予測波形データP(j)との間で共分散値が算出される。
図13に示すように、入力波形データSn(1,j)は、ある秒先頭位置からの2単位時間長のデータ1301、1302から構成される。次の入力波形データSn(2,j)は、次の秒先頭位置からの2単位時間長のデータ1302、1303から構成される。このように、Sn(n−1,j)とSn(n,j)とは、単位時間長(1秒)だけ秒先頭位置がずれたデータとなっている。最後尾の入力波形データSn(60,j)は、先頭の入力波形データSn(1,j)から59秒ずれた2単位時間長のデータ1359、1360から構成される。
入力波形データSn(1,j)、Sn(2,j)、Sn(3,j)、・・・、Sn(60,j)の特徴区間に属するデータ値と、予測波形データの特徴区空間に属する値とが用いられて、それぞれの共分散値が算出される。図13においては、図示の便宜上、Sn(1,j)、Sn(2,j)、Sn(3,j)、・・・、Sn(60,j)との間で共分散を算出する予測波形データを、P(1,j)、P(2,j)、P(3,j)、・・・、P(60,j)としているが、実際にはこれらは同じ値P(j)である。
なお、秒パルス位置の検出の処理において説明したように、入力波形データSn(j)の平均値Smは「0」と考えることができる。したがって、分の先頭位置の検出処理においても、共分散値として、入力波形データSn(i,j)のサンプル点のデータ値と、予測波形データP(j)の対応するサンプル点のデータ値との乗算値の総和を算出すれば良く、予測波形データP(j)の平均値Pmおよび入力波形データSn(i,j)の平均値Smを算出する必要が無い。
全ての相関値(共分散値)C(1)〜C(60)が取得されると、相関値比較部26は、共分散値C(1)〜C(60)を比較して、最適値(この場合には最大値)C(x)を見出す(ステップ1209)。CPU11は、最適値C(x)を受け入れて、当該最適値が有効であるか否かを判断する(ステップ1210)。有効であるか否かの判断も秒同期処理の場合(図9のステップ909)と同様である。なお、ステップ909で説明した判断基準(1)〜(3)を適用する場合には、図12のステップ1203〜1209が所定回数繰り返される。
ステップ1210でNoと判断された場合には、ステップ1203に戻り、波形切り出し部24は、CPU11の指示にしたがって、受信波形バッファ22に格納された、先の処理に用いられたデータとは別の入力波形データを取得する。
ステップ1210でYesと判断された場合には、CPU11は、最適値C(x)が示す入力波形データにおいて、2番目の符号「P」の先頭位置、つまり、2番目のローレベルからハイレベルへの立ち上がりの位置を、分の先頭位置と判断する(ステップ1211)。CPU11は、分の先頭位置の情報を、RAM15に格納しておく。
次に、タイムコードを構成する符号のデコード処理(ステップ503)について説明する。分の先頭位置が確定することにより、タイムコードにおける年、日、曜日、時、分など種々の符号の位置が確定する。
図15は、本発明の実施の形態にかかる分の一の位の検出処理の例を示すフローチャートである。この実施の態様においては、波形切り出し部24が、符号(分の一の位)の先頭位置から4単位時間長の入力波形データSn(j)を取得する(ステップ1501)。1秒あたり20サンプルであれば、80サンプル(j=1〜80)の入力波形データを得ることができる。
次いで、波形切り出し部24は、入力波形データSn(j)の特徴区間を抽出する(ステップ1502)。図14(b)に示すように、JJYに基づく符号「0」、「1」についての特徴区間は、符号の先頭から500msの位置から800msの位置である。したがって、入力波形データSn(j)の特徴区間は、
Sn(10)〜Sn(16)、Sn(30)〜Sn(36)、Sn(50)〜Sn(56)、および、Sn(70)〜Sn(76)のデータ値の区間となる。
次いで、BCDにより表される分の一の位の値を特定するパラメータBCDが「0000」に初期化される(ステップ1503)。予測波形データ生成部23は、パラメータBCDが示す符号に対応する4単位時間長の予測波形データP(j)を生成する(ステップ1504)。また、予測波形データ生成部23は、上記予測波形データP(j)の特徴区間を抽出する(ステップ1505)。この特徴区間は、
P(10)〜P(16)、P(30)〜P(36)、P(50)〜P(56)、および、P(70)〜P(76)のデータ値の区間となる。
次いで、相関値算出部25は、Sn(j)の特徴区間のデータ値と、P(j)の特徴区間の対応するデータ値(特徴値)とを乗じて演算値を取得し、得られた演算値に基づき、共分散値C(p)を算出する(ステップ1506)。なお、予測波形データP(j)の特徴区間は4つあり、それぞれのデータ値は「1」または「0」となる。したがって、データ値の乗算は以下のように取得することができる。
(特徴区間(P(10)〜P(16))の特徴値)×Σ(Sn(10)〜Sn(16))+(特徴区間(P(30)〜P(36))の特徴値)×Σ(Sn(30)〜Sn(36))+(特徴区間(P(50)〜P(56))の特徴値)×Σ(Sn(50)〜Sn(56))+(特徴区間(P(70)〜P(76))の特徴値)×Σ(Sn(70)〜Sn(76))
したがって、全てのデータ値の乗算値の総和を求める必要は無い。
また、秒パルス位置の検出の処理において説明したように、入力波形データSn(j)の平均値Smは「0」と考えることができる。したがって、分の一の位の検出処理においても、共分散値の演算の際に、予測波形データP(j)の平均値Pmおよび入力波形データSn(i,j)の平均値Smを算出する必要が無い。
パラメータが「BCD=1001」より小さければ(ステップ1507)、パラメータBCDをインクリメント(ステップ1508)してステップ1504に戻る。ステップ1507でYesと判断された場合には、ステップ1509に進む。
全ての相関値(共分散値)C(1)〜C(10)が取得されると、相関値比較部26は、共分散値C(1)〜C(10)を比較して、最適値(この場合には最大値)C(x)を見出す(ステップ1509)。CPU11は、最適値C(x)を受け入れて、当該最適値が有効であるか否かを判断する(ステップ1510)。有効であるか否かの判断も秒同期処理の場合(図9のステップ909)と同様である。ステップ1510でNoと判断された場合には、ステップ1501に戻る。その一方、ステップ1510でYesと判断された場合には、CPU11は、最適値C(x)が示す予測波形データが示す値(BCD)を、分の一の位の値と判断する(ステップ1511)。CPU11は、分の一の位の値を、RAM15に格納しておく。
分の十の位、時の一の位および十の位、曜日など、他の符号のデコードも、分の一の位と同様の処理により実現できる。符号のデコードにより、現在日時、曜日、現在時刻などを含む時刻情報が取得されると、CPU11は、得られた時刻情報をRAM15に記憶する。また、CPU11は、符号から得られた現在時刻に基づいて、内部計時回路17において計時された現在時刻を修正するとともに、得られた現在時刻を表示部13に表示する(ステップ504)。
JJYの信号についての、秒同期、分同期、および、符号のデコードを説明したが、WWVBおよびMSFなど他の規格についても、秒同期、分同期、および、符号のデコードが可能である。
WWVBやMSFの場合の秒同期について説明する。図7(b)、(c)に示すように、WWVBやMSFでは、秒の先頭でハイレベルからローレベルに立ち下がる。このように先頭で立ち下がる信号に対して、JJYについて適用した予測波形データを適用した場合について説明する。
図16(a)〜(c)は、入力波形データと予測波形データとの間の共分散値を説明する図である。図16(a)において、入力波形データSn(j)は、秒の先頭位置(符号1600参照)で、ローレベルからハイレベルに立ち上がる。上記立ち上がりのポイントの前方で、ローレベルに対応する第1の値をとり、立ち上がりのポイントの後方で、ハイレベルに対応する第2の値をとるような予測波形データP(j)と、上記入力波形データSn(j)との共分散値Cを考えると、最大値である「2」をとる。
その一方、図16(b)に示すように、秒の先頭位置で、ハイレベルからローレベルに立ち下がるような入力波形データS’n(j)を考える。この入力波形データS’n(j)と、予測波形データP(j)との共分散値Cを考えると、最小値である「−2」をとる。すなわち、WWBVやMSFのように、秒の先頭位置でハイレベルからローレベルに立ち下がるようなデータについて、秒の先頭位置を検出するためには、たとえば、図9の処理において、最適値C(x)として、共分散値(の累算類)の最小値を選択すれば良い。
或いは、WWVBやMSFのように秒の先頭位置でハイレベルからローレベルに立ち下がるような形態のデータの秒の先頭位置を検出するために、上述した予測波形データP(j)を反転させた他の予測波形データを適用しても良い。図16(c)において、入力波形データS’n(j)は、図16(b)のものと同様である。また、予測波形データP’(j)は、図16(b)に示す予測波形データP(j)を反転させたものである。この場合には、p=2のときの共分散値C(2)が最大値をとる。したがって、予測波形データP(2)および入力波形データSn(2)に基づいて、秒の先頭位置を決定すれば良い。
次に、WWVBやMSFの場合の分同期および符号のデコードについて説明する。WWVBにおいても、特徴区間に属するデータ値を抽出することにより、特徴区間のデータ値のみを用いて共分散値を算出することが可能である。図17は、WWVBの各符号における特徴区間を説明する図である。図17に示すように、WWVBの符号においても、マーカー(符号1701参照)、符号「0」(符号1702参照)および符号「1」(符号1703参照)において、その値が他の符号の値と異なるような、固有の値を有する区間が存在する。マーカーでは、500ms〜800msに至る区間(符号1711参照)がローレベル(データ値「−1」)であり、この区間において、他と異なる固有の値「−1」を有している。本実施の形態においては、WWVBのマーカーにおいて500ms〜800msの区間が特徴区間となる。また、特徴区間のデータ値(特徴値)はローレベルを示す「−1」となる。
また、符号「0」では、200ms〜500msに至る区間(符号1712参照)がハイレベル(データ値「1」)であり、この区間において、他の符号「1」と異なる固有の値「1」を有している。その一方、符号「1」では、200ms〜500msに至る区間(符号1713参照)がローレベル(データ値「−1」)であり、この区間において、他の符号「0」と異なる固有の値「−1」を有している。したがって、符号「0」および「1」においては、それぞれ、500ms〜800msの区間が特徴区間となる。また、特徴区間におけるデータ値(特徴値)は、それぞれ、「1」、「−1」となる。
したがって、分先頭位置の検出、および、符号のデコードの各処理において、JJYの場合と同様に、特徴区間のデータ値を利用して処理を実行することが可能である。
図18は、MSFの各符号における特徴区間を説明する図である。図18に示すように、MSFの符号においても、マーカー(符号1801参照)、符号「00」(符号1802参照)、符号「01」(符号1803参照)、符号「10」(符号1804参照)および符号「11」(符号1805参照)において、その値が他の符号の値と異なるような、固有の値を有する区間が存在する。
マーカーでは、300ms〜500msに至る区間(符号1811参照)がローレベル(データ値「−1」)であり、この区間において、他と異なる固有の値「−1」を有している。本実施の形態においては、MSFのマーカーにおいて300ms〜500msの区間が特徴区間となる。また、特徴区間のデータ値(特徴値)はローレベルを示す「−1」となる。
また、符号「00」では、100ms〜300msに至る区間(符号1812参照)がハイレベル(データ値「1」)であり、この区間において、他の符号と異なる固有の値「1」を有している。符号「01」では、100ms〜200msに至る区間(符号1813参照)においてハイレベル(データ値「1」)、200ms〜300msに至る区間(符号1814参照)においてローレベル(データ値「−1」)であり、上記区間において、他の符号と異なる値の組み合わせ(前半が「1」で後半が「−1」)を有している。符号「10」では、100ms〜200msに至る区間(符号1815参照)においてローレベル(データ値「−1」)、200ms〜300msに至る区間(符号1816参照)においてハイレベル(データ値「1」)であり、上記区間において、他の符号と異なる値の組み合わせ(前半が「−1」で後半が「1」)を有している。さらに、符号「11」では、100ms〜300msに至る区間(符号1817参照)がローレベル(データ値「−1」)であり、この区間において、他の符号と異なる固有の値「−1」を有している。したがって、100ms〜300msに至る区間が特徴区間となる。それぞれのデータ値は、図18に示すようなものとなる。
MSFにおいては、符号「00」〜符号「11」の特徴区間のデータ値が一定ではない。たとえば、符号「01」について特徴区間の前半のデータ値が「1」で後半のデータ値が「−1」である。したがって、MSFの規格にしたがった符号のデコード処理においては、分先頭位置の検出と同様に、入力波形データの特徴区間に属するデータ値と、予測波形データの特徴区間に属する、対応するデータ値とを乗算して演算値を得て、この演算値の総和を求め、求められた総和に基づいて共分散値を求めれば良い。
次に、本発明の第2の実施の形態について説明する。上記実施の形態においては、秒パルス位置の検出の際に、ローレベルからハイレベルに立ち上がるポイントの前方(時間的に古い側)に所定区間だけ、ローレベルを示す第1の値「−1」を有し、上記ポイントの後方(時間的に新しい側)に所定区間だけ、ハイレベルを示す第2の値「1」を有し、さらに、上記ポイントの前後所定区間以外については、「0」を示す他の第3の値を有する予測波形データを用いている。しかしながら、これに限定されるものではなく、タイムコードを構成する符号、たとえば、符号「0」を繰り返したような形態の予測波形データを用いても良い。
図19は、本発明の第2の実施の形態にかかる秒パルス位置の検出(秒同期)をより詳細に示すフローチャートである。また、図20は、第2の実施の形態にかかる秒パルス位置の検出処理を模式的に示す図である。図19に示すように、予測波形データ生成部23は、CPU11の指示にしたがって、上述したような、4単位時間長(4秒)の、それぞれ、50msずつ、符号「0」の先頭(ローレベルからハイレベルへの立ち上がり)の位置がずれた20個の予測波形データP(1,j)〜P(20,j)を生成する(ステップ1901、図20の符号2001)。
次いで、特徴区間抽出部28は、予測波形データP(1,j)〜P(20,j)の特徴区間を抽出する(ステップ1902)。前述したように、符号「0」においては、図14(b)に示すように、符号の先頭から500msの位置〜800msの位置までが特徴区間であり、また、特徴区間における特徴値は「1」である。したがって、特徴区間抽出部28は、予測波形データP(1,j)〜P(20,j)の各々において、符号「0」の先頭から500msの位置〜800msの位置を特定する。
たとえば、予測波形データP(1,j)の特徴区間は、
P(1,10)〜P(1,16)、P(1,30)〜P(1,36)、P(1,50)〜P(1,56)、および、P(1,70)〜P(1,76)のデータ値の区間となり、また、予測波形データP(2,j)の特徴区間は、
P(2,11)〜P(2,17)、P(2,31)〜P(2,37)、P(2,51)〜P(2,57)、および、P(2,71)〜P(2,77)のデータ値の区間となる。
一般に、予測波形データ(p,j)の特徴区間は、
P(p,10+(p−1))〜P(p,16+(p−1))、P(p,30+(p−1))〜P(p,36+(p−1))、P(p,50+(p−1))〜P(p,56+(p−1))、および、P(p,70+(p−1))〜P(p,76+(p−1))のデータ値の区間となる。なお、P(p,j)において、右側の数j>80となった場合には、(j−80)となる。また、上記特徴区間のデータ値(特徴値)は、図14(b)に示すように「1」となる。
また、CPU11の指示にしたがって、波形切り出し部24は、受信波形データバッファ22から、4単位時間長(4秒)のデータを切り出して、入力波形データSn(j)を生成する(ステップ1903、図20の符号2011)。第2の実施の形態においても、1秒あたり20サンプルのデータが取得されるため、Sn(j)は、80サンプルを含むデータとなる。次いで、CPU11は、予測波形データを特定するパラメータpを「1」に初期化する(ステップ1904)。
次いで、特徴区間抽出部27は、入力波形データSn(j)において、予測波形データの特徴区間に対応する特徴区間のデータ値を取得する(ステップ1905)。ステップ1905においては、予測波形データP(p,j)に対応して、入力波形データSn(j)の特徴区間のデータ値は、
Sn(10+(p−1))〜Sn(16+(p−1))、Sn(30+(p−1))〜Sn(36+(p−1))、Sn(50+(p−1))〜Sn(56+(p−1))、および、Sn(70+(p−1))〜Sn(76+(p−1))となる。
次いで、相関値算出部25は、Sn(j)の特徴区間のデータ値と、P(p,j)の特徴区間の対応するデータ値(特徴値)とを乗じて演算値を取得し、得られた演算値に基づき、共分散値を算出する(ステップ1906)。なお、上述したように、予測波形データP(p、j)の特徴区間のデータ値は「1」である。したがって、Sn(j)の特徴区間のデータ値と、P(p,j)の特徴区間の対応するデータ値(特徴値)との乗算においては、Sn(j)の特徴区間のデータ値を累算して、ΣSn(j)を求めるだけで良い。
また、入力波形データの平均値Smは「0」と考えることできるため、Sm*Pmは「0」と考えることができる。したがって、共分散値C(p)は、単にΣSn(j)で求めることが可能である。また、ステップ1906において、相関値算出部25は、相関値C(p)の累算値Ca(p)を算出する。
次いで、パラメータpが「20」より小さいかが判断され(ステップ1907)、パラメータpが「20」より小さければ(ステップ1907でNo)、パラメータpがインクリメントされて(ステップ1908)、ステップ1905に戻る。全てのパラメータpについて、共分散値C(1)〜C(20)が取得されると(ステップ1907でYes)、所定回数だけ共分散値が算出されたかが判断される(ステップ1909)。ステップ1909でNoと判断された場合には、ステップ1902に戻る。図19のステップ1910〜ステップ1912は、図9のステップ908〜910と同様である。
本実施の形態においては、受信回路16からの入力信号から直流成分を除去して、当該入力信号の平均値を中心として、当該平均値より大きい値および平均値より小さい値の何れかを示す出力信号を生成する平均値追従回路19を備えることで、相関値算出部25において、入力波形データのデータ値と、予測波形データのデータ値とを乗算して演算値を算出し、当該演算値の総和を、入力波形データと予測波形データとの間の共分散値に相当する相関値として算出することができ、入力波形データの平均値および予測波形データの平均値の算出を省略することができる。したがって、共分散値の算出における演算量を削減し、演算時間を短縮することが可能となる。
また、本実施の形態においては、平均値追従回路19は、入力信号の平均値Vthに相当する信号を生成する、抵抗器301およびキャパシタ302からなるフィルタ回路と、平均値に相当する信号と入力信号とを比較してその比較結果を示す出力信号を出力するコンパレータ303と、を有する。本実施の形態によれば、簡易な構成の回路で入力信号の直流成分を除去した出力信号を生成することが可能となる。
さらに、前記実施の形態においては、予測波形データ生成部23は、各サンプル点が、信号レベルの変化点の前後の何れかの所定区間におけるローレベルを示す第1の値、変化点の前後の他の何れかの所定区間におけるハイレベルを示す第2の値、および、所定区間以外の他の区間における第3の値の何れかをとり、入力波形データと同一の時間長を有し、かつ、その波形形状が、所定サンプルだけ順次ずれている複数の予測波形データを生成する。ここで、第3の値と、前記第1の値或いは前記第2の値との演算値は、相関値に影響を与えない値、たとえば、「0」である。また、CPU11は、最適値を示した予測波形データに基づいて、タイムコードにおける秒先頭位置を特定する。
したがって、本実施の形態によれば、上記演算量の削減、および、演算時間の短縮を実現しつつ、正確な秒先頭位置の特定が可能となる。
また、本実施の形態によれば、入力波形データ生成部21は、秒の先頭位置のそれぞれから開始される、複数の単位時間長を有する、複数の入力波形データを生成し、予測波形データ生成部23は、その波形形状がタイムコードにおける分の先頭位置の前後の所定の符号を含む、入力波形データと同一の時間長を有する予測波形データを生成する。また、特徴区間抽出部28は、所定の符号において、他の符号と異なる固有でかつ一定のデータ値を有する特徴区間の特徴値を予測波形データから取得し、特徴区間抽出部27は、入力波形データから予測波形データの特徴区間に対応する特徴区間のデータ値を取得する。相関値算出部25は、複数の入力波形データのそれぞれの、特徴区間のデータ値と、予想波形データの特徴区間の特徴値とを乗算して演算値を算出し、CPU11は、最適値を示した入力波形データに基づいて、タイムコードにおける分先頭位置を特定する。
本実施の形態によれば、共分散値の算出の際に、平均値の算出の省略に加えて、特徴区間におけるデータ値の乗算をすれば良いため、より演算量を削減することが可能となる。
さらに、本実施の形態においては、入力波形データ生成部21が、タイムコードに含まれる時刻情報を構成する、所定の符号の列の先頭位置に対応する位置から開始される、複数の単位時間長を有する入力波形データを生成し、予測波形データ生成部23が、所定の符号の列を示す、入力波形データと同一の時間長を有する複数の予測波形データを生成する。また、特徴区間抽出部28は、所定の符号の列を構成する符号の各々において、他の符号と異なる固有でかつ一定のデータ値を有する特徴区間の特徴値を予測波形データから取得し、特徴区間抽出部27は、入力波形データから予測波形データの特徴区間に対応する特徴区間のデータ値を取得する。相関値算出部25は、入力波形データの特徴区間のデータ値と、複数の予測波形データのそれぞれの、特徴区間の特徴値とを乗算して演算値を算出し、CPU11は、最適値を示した前記符号の列に基づいて、タイムコードに含まれる時刻情報を取得する。
したがって、本実施の形態によれば、共分散値の算出の際に、平均値の算出の省略に加えて、特徴区間におけるデータ値の乗算をすれば良いため、より演算量を削減することが可能となる。
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
前記実施の形態において、秒パルス位置の検出では、入力波形データおよび予測波形データのローレベルを示す第1の値を「−1」、ハイレベルを示す第2の値を「1」として、それ以外の他の第3の値を「0」とした。また、分先頭位置の算出および符号のデコードにおいては、入力波形データおよび予測波形データのローレベルを示す第1の値を「−1」、ハイレベルを示す第2の値を「1」とした。しかしながら、これらの値に限定されるものではない。第1の値および第2の値は、以下のようなものであれば良い。
(1)入力波形データにおいて第1の値が現れ、かつ、予測波形データにおいて第1の値が現れた場合、或いは、入力波形データにおいて第2の値が現れ、かつ、予測波形データにおいて第2の値が現れた場合に、第1の値と第1の値と、或いは、第2の値と第2の値とを演算することにより正の相関があることを示す所定の正の演算値が算出される。つまり、入力波形データおよび予測波形データにおいて、同じ値が現れた場合には、所定の正の演算値が算出される。
(2)入力波形データにおいて第1の値が現れ、かつ、予測波形データにおいて第2の値が現れた場合、或いは、入力波形データにおいて第2の値が現れ、かつ、予測波形データにおいて第1の値が現れた場合に、第1の値と第2の値とを演算することにより負の相関があることを示す所定の負の演算値が算出される。つまり、入力波形データおよび予測波形データにおいて、異なる値が現れた場合には、所定の負の演算値が算出される。また、所定の負の演算値は、上記所定の正の値の符号を「−(マイナス)」としたものが望ましい。
秒パルス位置の算出において、第3の値も「0」でなくとも良いが、第1の値と演算されたとき、および、第2の値と演算されたときに、上記共分散値など相関値に影響を与えない値となる必要がある。