(57)【要約】【課題】より迅速かつ簡便に正確な測位を実行可能な衛星電波受信装置、電子時計、測位制御方法及びプログラムを提供する。【解決手段】衛星電波受信装置の制御部は、受信される各ビットデータの継続時間をそれぞれ複数に分割し、各々ビットデータのビット値を同定して受信順に配列した同定ビット値配列を取得し、複数のビット値の配列に基づいて、受信された送信電波においてビット値が切り替わるビットデータの先頭タイミングを決定するビットエッジ検出動作を行い、計数されている現在日時に対する決定された先頭タイミングのずれ量に応じて継続時間未満の現在日時のずれを修正し、修正された現在日時を用いて測位を行う。【選択図】図６
2018132303.tif 000002
【特許請求の範囲】
【請求項１】
衛星から送信されるビットデータの配列からなるメッセージ信号を含む送信電波を受信する受信部と、
制御部と、
を備え、
前記制御部は、
前記メッセージ信号における各ビットデータの継続時間をそれぞれ複数に分割した区分期間ごとに当該メッセージ信号のビット値を同定して、同定されたビット値を受信順に配列した同定ビット値配列を取得し、
当該同定ビット値配列における複数のビット値の配列に基づいて、受信された前記送信電波においてビット値が切り替わる前記ビットデータの先頭タイミングを決定するビットエッジ検出動作を行い、
計数されている現在日時に対する決定された前記先頭タイミングのずれ量に応じて前記継続時間未満の現在日時のずれを修正し、
修正された現在日時を用いて測位を行う
ことを特徴とする衛星電波受信装置。
【請求項２】
前記制御部は、測位に用いられる複数の測位衛星からの送信電波のうち少なくともいずれか一つについて前記ビットエッジ検出動作を行い、決定された前記先頭タイミングに応じて修正された現在日時を用いて測位を行うことを特徴とする請求項１記載の衛星電波受信装置。
【請求項３】
前記制御部は、複数の測位衛星の位置情報を外部から取得して、当該位置情報と修正された現在日時とを用いて測位を行うことを特徴とする請求項２記載の衛星電波受信装置。
【請求項４】
前記区分期間は、前記メッセージ信号をスペクトラム拡散している擬似雑音符号の一周期分の長さであり、各周期に各々同期して定められることを特徴とする請求項１〜３のいずれか一項に記載の衛星電波受信装置。
【請求項５】
前記制御部は、前記ビットエッジ検出動作において、
２以上の所定数のビット値の配列からなり、当該所定数のビット値が予め定められた境界位置の前後で互いに異なる照合ビット値配列と、取得された前記同定ビット値配列をなす各ビット値のうち連続する前記所定数からなる配列部分とを、当該配列部分の先頭位置を前記継続時間に応じた数にわたって一つずつ前記照合ビット値配列に対してずらしながらそれぞれ照合し、
当該照合の結果、前記配列部分のうち前記照合ビット値配列との一致の度合及び不一致の度合のうち最も大きいものに対応する第一の配列部分における前記境界位置と対応する位置に基づいて前記先頭タイミングを決定する
ことを特徴とする請求項１〜４のいずれか一項に記載の衛星電波受信装置。
【請求項６】
前記所定数は、前記継続時間内における前記区分期間の数と等しく定められていることを特徴とする請求項５記載の衛星電波受信装置。
【請求項７】
前記制御部は、前記配列部分のうち前記照合ビット値配列との間の一致の度合及び不一致の度合のうち二番目に大きいものに対応する第二の配列部分に対して前記第一の配列部分が所定の確率以上で誤認定を生じない当該第一の配列部分における前記境界位置と対応する位置に基づいて、受信された前記送信電波における前記ビットデータの先頭タイミングを決定することを特徴とする請求項５又は６記載の衛星電波受信装置。
【請求項８】
前記制御部は、前記配列部分の各々について、前記照合により得られた一致の度合及び不一致の度合のうち小さい方を不一致の度合として定め、当該不一致の度合が最も小さいものと二番目に小さいものとを用いて前記ビットエッジ検出動作を行うことを特徴とする請求項７記載の衛星電波受信装置。
【請求項９】
前記制御部は、前記不一致の度合が二番目に小さい配列部分の検出確率に対する前記不一致の度合が最も小さい配列部分の検出確率の比率が所定の基準比率以下となる場合に前記先頭タイミングを決定することを特徴とする請求項８記載の衛星電波受信装置。
【請求項１０】
前記制御部は、前記一致の度合と前記不一致の度合の差が所定の基準差以下の場合には前記先頭タイミングの決定を行わずに前記照合の結果を放棄し、前記差が前記基準差より大きくかつ前記比率が前記所定の基準比率以下ではない場合には、前記照合の結果を複数周期積算して前記所定の基準比率以下の比率が得られるまで繰り返すことを特徴とする請求項９記載の衛星電波受信装置。
【請求項１１】
前記制御部は、前記第一の配列部分及び前記第二の配列部分からそれぞれ所定数ずれた位置を先頭位置とする配列部分における前記照合ビット値配列との不一致の度合を考慮して前記誤認定の確率を算出して、前記ビットエッジ検出動作を行うことを特徴とする請求項７〜１０のいずれか一項に記載の衛星電波受信装置。
【請求項１２】
前記制御部は、測位が前回行われてからの経過時間と計数されている現在日時に生じ得るずれの割合に係る予め保持された情報とに基づいて、現在日時のずれが前記継続時間以下の基準時間未満であると判別された場合に、前記ビットエッジ検出動作に基づく前記継続時間未満の現在日時のずれを修正することを特徴とする請求項１〜１１のいずれか一項に記載の衛星電波受信装置。
【請求項１３】
前記制御部は、
計数する現在日時を修正した場合には、独立に現在日時を計数する所定の外部計時部が計数する当該現在日時を修正させるための日時情報を出力し、
当該制御部の動作が中断後に再開された場合には、前記外部計時部から現在日時に係る情報を取得して現在日時の計数を開始し、
前記外部計時部が計数する日時に生じ得るずれの割合に係る情報と前記動作の中断期間の長さとに応じて前記現在日時のずれが前記基準時間未満であるか否かを判別して、前記ビットエッジ検出動作に基づく前記継続時間未満の現在日時のずれを修正する
ことを特徴とする請求項１２記載の衛星電波受信装置。
【請求項１４】
前記制御部の動作時に計数される現在日時のずれの割合は、前記外部計時部が計数する現在日時のずれの割合よりも小さいことを特徴とする請求項１３記載の衛星電波受信装置。
【請求項１５】
自機の運動状態を計測する計測部を備え、
前記制御部は、前回の測位により得られた現在位置からの移動量が所定の基準距離未満である場合に、前記ビットエッジ検出動作に基づく前記継続時間未満の現在日時のずれを修正する
ことを特徴とする請求項１〜１４のいずれか一項に記載の衛星電波受信装置。
【請求項１６】
請求項１〜１５のいずれか一項に記載の衛星電波受信装置と、
現在日時を計数する計時部と、
前記計時部が計数する現在日時に基づいて少なくとも時刻の表示を行う表示部と、
を備え、
前記制御部は、日時情報が修正された場合に前記計時部が計数する日時を修正するための日時情報を出力し、当該制御部の動作の中断後に再開された場合には、前記計時部が計数する日時を取得して現在日時の計数を開始する
ことを特徴とする電子時計。
【請求項１７】
前記衛星電波受信装置による測位結果を前記表示部により行わせる表示制御部を備えることを特徴とする請求項１６記載の電子時計。
【請求項１８】
衛星から送信されるビットデータの配列からなるメッセージ信号を含む送信電波を受信する受信部を備える衛星電波受信装置の測位制御方法であって、
前記メッセージ信号における各ビットデータの継続時間をそれぞれ複数に分割した区分期間ごとに当該メッセージ信号のビット値を同定して、同定されたビット値を受信順に配列した同定ビット値配列を取得するビット値同定ステップ、
当該同定ビット値配列における複数のビット値の配列に基づいて、受信された前記送信電波においてビット値が切り替わる前記ビットデータの先頭タイミングを決定するビットエッジ検出動作を行うビットエッジ検出ステップ、
計数されている現在日時に対する決定された前記先頭タイミングのずれ量に応じて前記継続時間未満の現在日時のずれを修正する日時ずれ修正ステップ、
修正された現在日時を用いて測位を行う測位実行ステップ、
を含むことを特徴とする測位制御方法。
【請求項１９】
衛星から送信されるビットデータの配列からなるメッセージ信号を含む送信電波を受信する受信部を備える衛星電波受信装置のコンピュータを
前記メッセージ信号における各ビットデータの継続時間をそれぞれ複数に分割した区分期間ごとに当該メッセージ信号のビット値を同定して、同定されたビット値を受信順に配列した同定ビット値配列を取得するビット値同定手段、
当該同定ビット値配列における複数のビット値の配列に基づいて、受信された前記送信電波においてビット値が切り替わる前記ビットデータの先頭タイミングを決定するビットエッジ検出動作を行うビットエッジ検出手段、
計数されている現在日時に対する決定された前記先頭タイミングのずれ量に応じて前記継続時間未満の現在日時のずれを修正する日時ずれ修正手段、
修正された現在日時を用いて測位を行う測位実行手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、衛星電波受信装置、電子時計、測位制御方法及びプログラムに関する。
【背景技術】
【０００２】
ＧＰＳ（Global Positioning System）といった全地球衛星測位システムに係る測位衛星からの電波を受信して、電波の受信位置（現在位置）や日時を取得する技術がある。測位衛星からの電波を受信する衛星電波受信装置では、複数（通常では、４機以上）の測位衛星からの送信電波に含まれる信号（航法メッセージ）の受信タイミングと、当該複数の測位衛星の位置に係る情報とに基づいて現在位置及び正確な日時を算出することができる。
【０００３】
航法メッセージは、測位衛星ごとに固有の擬似雑音符号（ＰＲＮ符号）を用いてスペクトラム拡散されて、すなわち、航法メッセージのビット値に応じて位相反転されたＰＲＮ符号により搬送波を位相変調（ＢＰＳＫ）することで送信されている。航法メッセージを復調、解読する場合には、ＰＲＮ符号の種別と位相（繰り返し用いられるＰＲＮ符号の先頭タイミング）を同定し、同定されたＰＲＮ符号により航法メッセージを逆スペクトラム拡散させる。
【０００４】
測位衛星からの電波の受信環境が悪く十分な強度やＣＮ比が得られない場合には、信号を捕捉、復調し、情報を取得することが困難な場合がある。このような場合に、反復される符号を複数回受信して重ねることで、受信感度（ＣＮ比）を向上させる技術がある。民間に公開され、通常一般的に用いられるＰＲＮ符号の一周期は、各ビット値の継続時間より短い。特許文献１では、受信電波が微弱な場合にも所持、計数されている日時を修正する技術として、航法メッセージの各ビット値によるＰＲＮ符号の位相反転を考慮しながら受信されたＰＲＮ符号を適切に同期加算することで受信感度を向上させ、ＰＲＮ符号の位相（先頭タイミング）と各ビット値の位相（先頭タイミング）を同定する点が開示されている。
【０００５】
一方で、現在位置を取得する際に、測位衛星の一時情報を航法メッセージから取得せずに別途通信手段を用いて外部から取得する補助型の測位技術（アシステッドＧＰＳなど）が知られている。このように測位衛星の位置情報を予め保持しておくことで、測位衛星からの電波の伝搬時間が取得され次第速やかに現在位置を同定する技術が知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−９６６７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、測位衛星からの送信電波を確実に捕捉、追尾し、当初から正確な位置情報を取得するには、正確な日時情報が不可欠であるが、前回の測位から時間が経過するにつれて、得られる日時が徐々にずれていくという問題がある。その結果、当初から位置が迅速かつ適切に求められなくなったり、求められたとしても位置精度が低下したりしやすくなるという課題がある。
【０００８】
この発明の目的は、より迅速かつ簡便に正確な測位を実行可能な衛星電波受信装置、電子時計、測位制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明は、
衛星から送信されるビットデータの配列からなるメッセージ信号を含む送信電波を受信する受信部と、
制御部と、
を備え、
前記制御部は、
前記メッセージ信号における各ビットデータの継続時間をそれぞれ複数に分割した区分期間ごとに当該メッセージ信号のビット値を同定して、同定されたビット値を受信順に配列した同定ビット値配列を取得し、
当該同定ビット値配列における複数のビット値の配列に基づいて、受信された前記送信電波においてビット値が切り替わる前記ビットデータの先頭タイミングを決定するビットエッジ検出動作を行い、
計数されている現在日時に対する決定された前記先頭タイミングのずれ量に応じて前記継続時間未満の現在日時のずれを修正し、
修正された現在日時を用いて測位を行う
ことを特徴とする衛星電波受信装置である。
【発明の効果】
【００１０】
本発明に従うと、衛星電波受信装置において、より迅速かつ簡便に正確な測位を実行することができるという効果がある。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態の電子時計の機能構成を示すブロック図である。
【図２】ＧＰＳ衛星における航法メッセージのフォーマットについて説明する図である。
【図３】ビット同期を行う場合に用いる比較ビット値配列を示す図である。
【図４】第１実施形態の電子時計で実行される位置取得処理の制御手順を示すフローチャートである。
【図５】第１実施形態の電子時計の衛星電波受信処理部により実行される測位制御処理の制御手順を示すフローチャートである。
【図６】測位制御処理で呼び出されるビット同期制御処理の制御手順を示すフローチャートである。
【図７】第２実施形態の電子時計で実行される位置取得処理の制御手順を示すフローチャートである。
【図８】第２実施形態の電子時計の衛星電波受信処理部で実行される測位制御処理の制御手順を示すフローチャートである。
【図９】第２実施形態の電子時計の測位制御処理で呼び出されるビット同期制御処理の制御手順を示すフローチャートである。
【図１０】第３実施形態の電子時計の測位制御処理で呼び出されるビット同期制御処理の制御手順を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を図面に基づいて説明する。
図１は、本実施形態の電子時計１の機能構成を示すブロック図である。
【００１３】
この電子時計１は、測位衛星（衛星）、少なくとも米国のＧＰＳ（Global Positioning System）に係る測位衛星（以下、ＧＰＳ衛星と記す）からの電波を受信して信号を復調し、日時情報を取得することが可能な時計である。
電子時計１は、ホストＣＰＵ４１（Central Processing Unit）（表示制御部）と、ＲＯＭ４２（Read Only Memory）と、ＲＡＭ４３（Random Access Memory）と、発振回路４４と、分周回路４５と、計時回路４６（外部計時部、計時部）と、表示部４７と、表示ドライバ４８と、操作受付部４９と、電力供給部５０と、衛星電波受信装置としての衛星電波受信処理部６０と、アンテナＡＮと、通信部７０と、計測部７１などを備える。
【００１４】
ホストＣＰＵ４１は、各種演算処理を行い、電子時計１の全体動作を統括制御する。ホストＣＰＵ４１は、ＲＯＭ４２から制御プログラムを読み出し、ＲＡＭ４３にロードして日時の表示や各種機能に係る演算制御や表示などの各種動作処理を行う。また、ホストＣＰＵ４１は、衛星電波受信処理部６０を動作させて測位衛星からの電波を受信させ、当該衛星電波受信処理部６０で受信内容に基づいて求められた日時情報や位置情報を取得する。
【００１５】
ＲＯＭ４２は、マスクＲＯＭや書き換え可能な不揮発性メモリなどであり、制御プログラムや初期設定データが記憶されている。制御プログラムの中には、測位衛星から各種情報を取得するための各種処理の制御に係るプログラム４２１が含まれる。
【００１６】
ＲＡＭ４３は、ＳＲＡＭやＤＲＡＭなどの揮発性のメモリであり、ホストＣＰＵ４１に作業用のメモリ空間を提供して一時データを記憶するとともに、各種設定データを記憶する。各種設定データには、電子時計１における日時の計数、表示に係る地方時設定、すなわち、タイムゾーンに係るホーム都市設定や、夏時間の適用有無に係る設定が含まれる。また、通信部７０を介して外部から測位衛星の精密軌道情報を含むデータ（エフェメリスデータ）が取得される場合には、当該エフェメリスデータは、ＲＡＭ４３に記憶され、適切なタイミングで衛星電波受信処理部６０の記憶部６４６にコピー又は移動される。ＲＡＭ４３に記憶される各種設定データの一部又は全部は、不揮発性メモリに記憶されても良い。
【００１７】
発振回路４４は、予め定められた所定の周波数信号を生成して出力する。この発振回路４４には、例えば、水晶発振子が用いられている。
【００１８】
分周回路４５は、発振回路４４から入力された周波数信号を計時回路４６やホストＣＰＵ４１が利用するクロック信号の周波数の信号に分周して出力する。この出力信号の周波数は、ホストＣＰＵ４１による設定に基づいて変更されることが可能であっても良い。
【００１９】
計時回路４６は、分周回路４５から入力された所定の周波数信号（クロック信号）の入力回数を計数して初期値に加算することで現在の日時を計数する。計時回路４６としては、ソフトウェア的にＲＡＭに記憶させる値を変化させるものであっても良いし、あるいは、専用のカウンタ回路を備えていても良い。計時回路４６の計数する日時は、特には限られないが、例えば、所定のタイミングからの累積時間、ＵＴＣ日時（協定世界時）、又は予め設定されたホーム都市の日時（地方時）などのうちいずれかが用いられ得る。また、この計時回路４６の計数する日時自体は、必ずしも年月日、時分秒の形式で保持される必要がない。分周回路４５から計時回路４６に入力されるクロック信号には、正確な時間経過とは若干のずれが含まれ得る。計時回路４６が計数する日時の１日当たりのずれの大きさ（歩度；ずれの割合）は、動作環境、例えば温度によって変化するが、通常では、±０．５秒以内である。
上記のホストＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、発振回路４４、分周回路４５及び計時回路４６は、マイコンとして単一のＩＣ基板上に形成され得る。発振回路４４に用いられる水晶発振子は外付けされても良い。
【００２０】
表示部４７は、例えば、液晶ディスプレイ（ＬＣＤ）や有機ＥＬ（Electro-Luminescent）ディスプレイなどの表示画面を備え、ドットマトリクス方式及びセグメント方式のいずれか又はこれらの組み合わせにより、計時回路４６の計数する日時に基づく少なくとも時刻の表示や各種機能に係る表示をデジタル的に行う。
表示ドライバ４８は、表示画面の種別に応じた駆動信号をホストＣＰＵ４１からの制御信号に基づいて表示部４７に出力して、表示画面上に表示を行わせる。
あるいは、表示部４７及び表示ドライバ４８には、デジタル表示画面に加えて又は代えて指針及び当該指針を回転動作させるステッピングモータや当該ステッピングモータに駆動信号を出力する駆動回路などが含まれていても良い。
【００２１】
操作受付部４９は、ユーザからの入力操作を受け付けて、当該入力操作に応じた電気信号を入力信号としてホストＣＰＵ４１に出力する。この操作受付部４９には、例えば、押しボタンスイッチやりゅうずスイッチが含まれる。
あるいは、表示部４７の表示画面と重ねてタッチセンサが設けられ、当該タッチセンサによるユーザの接触動作に係る接触位置や接触態様の検出に応じた操作信号を出力するタッチパネルとして表示画面を機能させることで、表示部４７と操作受付部４９とが一体的に設けられても良い。
【００２２】
通信部７０は、ホストＣＰＵ４１の制御に基づいて外部の電子機器との通信動作を実行、制御する。ここでは、通信部７０は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）による無線通信動作を制御する。Ｂｌｕｅｔｏｏｔｈ通信としては、バージョン３の高速通信が可能であり、また、バージョン４の省電力通信が可能であっても良い。あるいは、通信部７０は、無線ＬＡＮなどによる通信が可能であっても良いし、接続端子を備え、通信ケーブルを介して有線での外部電子機器との通信が可能とされていても良い。
【００２３】
計測部７１は、電子時計１（自機）の運動状態に係る物理量を計測して計測値をホストＣＰＵ４１に出力する。計測部７１には、例えば、加速度センサと方位センサが含まれる。ホストＣＰＵ４１は、これらの計測値を継続的に取得して電子時計１（そのユーザ）の移動方向や移動量を積算していくことで（自律航法）所定時間内の移動距離と移動方向とを算出することができる。歩行時などの特定の加速度変動パターンが計測される場合の移動量の計算方法については種々の技術が知られており、いずれか又は複数を組み合わせて用いることができる。また、計測部７１には、気圧センサが含まれ、ＲＯＭ４２などに気圧と高度との対応関係を示すテーブルを保持させておくことで高度方向の運動（移動方向や移動量）を計測可能としても良い。
【００２４】
電力供給部５０は、バッテリから出力される電力を所定の電圧で各部に供給する。電力供給部５０のバッテリとしては、ここでは、ソーラパネルと二次電池が用いられている。ソーラパネルは、入射した光により起電力を生じてホストＣＰＵ４１などの各部に電力供給を行うとともに、余剰電力が生じた場合には、当該電力を二次電池に蓄電する。一方、ソーラパネルへの外部からの入射光量により発電可能な電力が消費電力に対して不足している場合には、二次電池から各部に電力が供給される。バッテリとしては、外部から着脱可能なボタン型乾電池などの一次電池が用いられても良い。
【００２５】
衛星電波受信処理部６０は、アンテナＡＮを介して測位衛星からの送信電波に同調して受信する。衛星電波受信処理部６０は、受信された送信電波に含まれる航法メッセージ（メッセージ信号）をスペクトラム拡散している擬似雑音符号（Ｃ／Ａコード）及びその位相を同定し、航法メッセージの信号を捕捉する。衛星電波受信処理部６０は、当該捕捉された航法メッセージを復調、符号列（各ビット）を同定して必要な処理を行い、所望の情報を取得する。衛星電波受信処理部６０は、ＲＦ部６３と、ベースバンド部６４と、発振回路６５などを備える。
【００２６】
ＲＦ部６３は、受信された電波（ＲＦ信号）から所望の周波数信号を選択、増幅し、中間周波数帯の信号（ＩＦ信号）に変換した後、当該ＩＦ信号を所定のサンプリング周波数でデジタル変換してベースバンド部６４に出力する。
【００２７】
ベースバンド部６４は、デジタル離散値化されたＩＦ信号データを処理して所望の情報を取得、算出する。ベースバンド部６４は、捕捉部６４１と、追尾部６４２と、Ｃ／Ａコード生成部６４３と、分周回路６４４と、モジュールＣＰＵ６４５（制御部、コンピュータ）と、記憶部６４６などを備える。
【００２８】
モジュールＣＰＵ６４５は、ホストＣＰＵ４１からの制御信号や設定データの入力に応じて衛星電波受信処理部６０の動作を制御するプロセッサである。モジュールＣＰＵ６４５は、記憶部６４６から必要なプログラムや設定データを読み出して、ＲＦ部６３及びベースバンド部６４の各部を動作させ、受信された各測位衛星からの送信電波を受信、復調（逆スペクトラム拡散及び各ビットの同定）させて日時情報や位置情報を取得する。このモジュールＣＰＵ６４５は、復調された信号から所望の情報を取得する。モジュールＣＰＵ６４５は、復調された航法メッセージの信号を予め設定されている航法メッセージのフォーマットに従って復号して所望の情報を解読しても良いし、航法メッセージのフォーマットに従って予め設定された比較照合用のビット配列と、復調された信号のビット配列とを比較照合して一致検出することで符号列を直接解読せずに受信内容及びそのタイミングの同定を行うことができる。
【００２９】
また、モジュールＣＰＵ６４５は、分周回路６４４から入力された所定の周波数のクロック信号を用いて日時の計数を行う。モジュールＣＰＵ６４５が現在日時のデータを有しない場合、モジュールＣＰＵ６４５は、ホストＣＰＵ４１から入力された計時回路４６の計数日時や、衛星電波受信処理部６０が備える図示略のＲＴＣ（Real Time Clock）が計数する日時を初期データとして用いて日時の計数を行う。
【００３０】
記憶部６４６は、フラッシュメモリやＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）などの各種不揮発性メモリと、ＲＡＭとを有する。記憶部６４６の不揮発性メモリには、測位や日時情報の取得に係る各種プログラム６４６ａ、設定データや、測位及び日時情報取得の履歴を記憶する。不揮発性メモリに記憶されるデータには、各測位衛星の精密軌道情報（エフェメリス）、予測軌道情報（アルマナック）、前回の測位日時及び位置、ビット値の同定に係る検定に用いられるＢＥＲ記憶部６４６ｂ（Bit error rate；ビット誤り率）、及びビットエッジの検出に用いられる比較ビット値配列Ｒｒｐを含む比較ビット値配列データ６４６ｃが含まれる。ここでは、ＢＥＲ記憶部６４６ｂには、衛星電波の複数段階の受信強度と各々対応付けられたビット誤り率のデータ（受信強度とビット誤り率の対応関係）が記憶されている。プログラム６４６ａには、本発明の実施形態のプログラムであって後述の測位制御処理（ビット同期制御処理を含む）を実行するプログラムが含まれる。また、ＲＡＭは、衛星電波受信処理部６０におけるモジュールＣＰＵ６４５に作業用のメモリ空間を提供し、各種一時データを記憶する。
【００３１】
捕捉部６４１は、ＲＦ部６３から入力されたＩＦ信号のデジタル離散値に対して各測位衛星の各位相でのＣ／Ａコードとの間で各々相関値を算出してそのピークを検出することで、受信されている測位衛星の種別、すなわち、Ｃ／Ａコードと当該Ｃ／Ａコードの位相とを同定する。この捕捉動作には、例えば、マッチドフィルタが用いられ、複数の測位衛星のＣ／Ａコードに対して同時並列的に相関値の算出がなされる。
【００３２】
追尾部６４２は、同定された測位衛星のＣ／Ａコードとその位相とを維持して、当該測位衛星から送信されている航法メッセージの信号を継続的に取得する。追尾部６４２は、追尾している信号におけるＣ／Ａコードの位相とＣ／Ａコード生成部６４３から入力されるＣ／Ａコードの位相との差分情報を取得してフィードバックを行い、位相ずれを微調整しながらＩＦ信号を逆スペクトラム拡散、復調して各ビット値を同定する。追尾部６４２の各構成は、並列に処理可能とする測位衛星の数に応じて複数並列に設けられる。
【００３３】
Ｃ／Ａコード生成部６４３は、受信対象となり得る全ての測位衛星のＣ／Ａコードのチップ配列情報を予め保持しており、受信候補となる測位衛星、又は同定された測位衛星のＣ／Ａコードを順次生成して適切な速さで捕捉部６４１及び追尾部６４２のいずれかに選択的に出力する。捕捉済みの測位衛星のＣ／Ａコードを追尾部６４２に出力しながら捕捉されていない測位衛星のＣ／Ａコードを捕捉部６４１に出力しても良い。Ｃ／Ａコード生成部６４３は、捕捉部６４１及び追尾部６４２に対して、複数の測位衛星に係るＣ／Ａコードを同時に生成して並列的に出力させることが可能である。また、追尾部６４２に出力されるＣ／Ａコードは、後述するように、追尾部６４２からの制御信号に従って位相が変更され得る。
【００３４】
分周回路６４４は、発振回路６５から入力された所定の周波数の信号を分周してベースバンド部６４の各部に所定のクロック信号を供給する。分周回路６４４の生成するクロック信号は、例えば、追尾部６４２に入力されたＩＦ信号の処理など、データの入力速度や出力速度に応じた処理速度に従った周波数に定められる。
ベースバンド部６４の各部、特に、捕捉部６４１及び追尾部６４２は、専用のハードウェア構成（プロセッサ）を備えることで効率良く処理が行われるが、プロセッサとしてのＣＰＵがソフトウェア制御により各部の機能動作の一部又は全部を行っても良い。
【００３５】
発振回路６５は、所定の周波数の信号を生成してＲＦ部６３やベースバンド部６４に出力する。この発振回路６５の出力周波数は、例えば、１６ＭＨｚ〜３２ＭＨｚなどであって、発振回路４４よりも精度の高いもの、特には限られないが、例えば、ＴＣＸＯ（温度補償付水晶発振器）などが用いられる。
【００３６】
この衛星電波受信処理部６０は、電力供給部５０から直接電力が供給され、そのオンオフ及び受信動作のみの停止（スリープ）がホストＣＰＵ４１の制御信号により切り替えられる。すなわち、衛星電波受信処理部６０は、測位衛星からの電波受信及び日時取得や測位に係る算出動作が行われている期間以外には、常時動作しているホストＣＰＵ４１などとは別個に電力供給が遮断される。
これらのうち、少なくともＲＦ部６３並びにベースバンド部６４のうち捕捉部６４１及び追尾部６４２が本実施形態の電子時計１において航法メッセージを含む測位衛星からの送信電波を受信する受信部を構成する。
【００３７】
次に、測位衛星からの送信電波について説明する。
上述のように、測位衛星では、所定のフォーマットで配列された複数のビットデータ（符号列）により日時、測位衛星の位置や状態などに係る情報を表現したメッセージ信号（航法メッセージ）を生成している。この航法メッセージをなすビットデータの配列は、測位衛星ごとに予め定められたＣ／Ａコードの各チップとの排他論理和によりスペクトラム拡散され、当該スペクトラム拡散された信号によって搬送波信号が位相変調（ＢＰＳＫ）されて送信電波として出力（出射）、送信される。すなわち、測位衛星からの送信電波には、搬送波と、チップの配列であるＣ／Ａコードと、ビットデータの配列からなる航法メッセージとが含まれる。
【００３８】
図２は、ＧＰＳ衛星における航法メッセージのフォーマットについて説明する図である。
ＧＰＳ衛星では、航法メッセージは、５０ｂｐｓ（１ビット当たりの継続時間が２０ｍｓｅｃ）で出力されている。Ｃ／Ａコードは、１ｍｓｅｃ周期であり、したがって、ビットデータ１個分の長さ（時間長）の間に２０周期繰り返される。この航法メッセージは、３０ビット０．６秒を一ワードとし、３００ビット６秒を一単位（サブフレーム）として、各サブフレームの２番目のワードで１７ビットの符号により表現された日時情報の一部（ＴＯＷ；週内経過時間）を含む。また、この航法メッセージには、３０秒（５サブフレーム、１フレーム）ごとに当該測位衛星の精密軌道情報（エフェメリス；サブフレーム２、３）と、日時情報の残り（ＷＮ：週番号；サブフレーム１）とが含まれる。
【００３９】
各サブフレームは、必ず固定の８ビット符号（プリアンブル）から開始される。また、各サブフレームには、サブフレームの番号（サブフレームＩＤ）を示す符号が含まれている。航法メッセージを復号、解読する場合、まず、このプリアンブルを検出して当該プリアンブルの位置を基準とする。
【００４０】
電子時計１が概略日時を保持しており、ＷＮを受信、解読せずともＷＮ（日付）を特定可能である場合には、いずれかのサブフレームにおけるＴＯＷのみを受信し、解読することで、完全な日時情報が取得され得る。また、概略日時に想定されるずれが十分小さく、いずれのサブフレームであるかを同定可能である場合、すなわち、概略日時の誤差が６秒未満（ずれ方向に制限がなければ±３秒未満）である場合には、プリアンブルが同定されるだけで日時が特定され得る。さらに、電子時計１がほぼ正確な日時を保持しており、航法メッセージ中のどのビットデータであるかを特定可能である場合、すなわち、日時の誤差が２０ｍｓｅｃ未満（ずれ方向に制限がなければ±１０ｍｓｅｃ未満）であり、かつ受信された測位衛星と現在位置との概略距離、すなわち、電波の伝搬時間が２０ｍｓｅｃと比較して十分に小さい誤差範囲内で既知の場合には、プリアンブルをはじめとするビット配列を同定したり、符号列を解読したりする必要もなく、ビットの先頭タイミングが同定されれば、この先頭タイミングのずれ量に応じて日時のずれの修正を行うことができる。このように受信、取得が必要な情報の量を減少させていくことで、日時の算出に必要な情報の受信時間を短縮し、処理量を低減することができる。
【００４１】
発振回路６５にＴＣＸＯが用いられており、温度変化などが通常の使用範囲内である場合、日時の計数誤差（ずれの割合）は、１ｐｐｍ以下である。したがって、±１０ｍｓｅｃのずれが生じるまでの時間は、最短でも１０４ｓｅｃ（２時間４６分）程度となる。測位の開始前や再開前に衛星電波受信処理部６０（モジュールＣＰＵ６４５）への電力供給がオフされていた場合には、その間モジュールＣＰＵ６４５の動作が停止（中断）されて日時情報を計数していないので、上述のように、ホストＣＰＵ４１又はＲＴＣから日時情報（初期値）を取得して日時の計数を開始する。この場合、モジュールＣＰＵ６４５による日時の計数とは独立に日時を計数する計時回路４６やＲＴＣの日時の計数誤差（ずれの割合）は、１０ｐｐｍ以下程度である（すなわち、ＴＣＸＯを用いた日時の計数誤差は、計時回路４６による日時の計数誤差よりも小さい）ので、±１０ｍｓｅｃのずれが生じるまでの時間は、最短で１０３ｓｅｃ（１６分４０秒）程度となる。モジュールＣＰＵ６４５が日時を計数している時間（モジュールＣＰＵ６４５の動作の継続期間）と計数していない時間（モジュールＣＰＵ６４５の動作の中断期間）とが混在する場合には、これらの組み合わせに応じて±１０ｍｓｅｃのずれが生じるまでの最短時間が１０３ｓｅｃから１０４ｓｅｃの間となる。衛星電波受信処理部６０の動作期間や受信期間に係る情報は、受信履歴としてＲＡＭ４３に記憶される。
【００４２】
次に、本実施形態の電子時計１における電波受信動作について説明する。
電子時計１では、連続的に測位を行う連続測位と、所定の時間間隔で間欠的に測位を行って移動履歴を取得する間欠測位と、一回のみ測位を行って終了する単独測位とが可能である。連続測位や、測位間の時間間隔の短い間欠測位及び単独測位（例えば数秒〜数分程度の間隔）では、一度取得されたエフェメリスを複数回の測位にわたり継続して利用することができる。また、通信部７０を介して所定のデータサーバにアクセス可能な場合には、測位衛星からエフェメリスを受信せずとも当該外部のデータサーバから取得されたエフェメリスを用いることができる。
【００４３】
測位を行う場合、４機以上の測位衛星の位置座標及び信号の受信タイミングのずれ時間と、現在日時とに基づいて、現在位置の位置座標３成分及び現在日時のずれの４成分が求められる。これらの算出は、通常、所定の初期値から数値的に収束させる（例えば、ニュートン・ラフソン法などによる）ことで行われるので、初期値の設定が収束値に近いほど短時間かつより確実に正しい結果が得られやすい。また、求められる位置の精度は、複数の測位衛星からの送信電波の受信タイミングの決定精度による。電子時計１では、通常、Ｃ／Ａコードの位相同期をとることで、１チップ１μｓｅｃ弱程度の精度で複数の衛星からの電波受信タイミングのずれを決定することができる。
【００４４】
日時のずれ量の初期値としては、通常、ゼロが設定される。前回の測位及びモジュールＣＰＵ６４５による計数日時の修正からの経過時間が十分に小さい、例えば、１０秒から数分程度の場合には、各測位衛星の位置座標、電子時計１の現在位置及び計数日時のずれのいずれも大きく変化しないので、測位衛星からの送信電波の受信タイミング（伝搬時間）のずれの変化も微小であり、すなわち、Ｃ／Ａコードの送信周期（１ｍｓｅｃ）以下程度でしか変化しない。したがって、このような頻度での間欠測位を行う場合には、航法メッセージの符号列の解読やさらにはビットデータの境界タイミング（ビットエッジ）の決定（ビット同期、ビットエッジ検出動作）を行うことなくＣ／Ａコード周期の位相を決定しさえすれば、前回の測位衛星からの送信電波の受信タイミングのずれ時間に基づいてその微小変化を正確に同定し、より容易かつ短時間で現在位置及び計数日時のずれが同定され得る。
【００４５】
一方で、上述の日時の計数誤差に基づいて生じ得る計数日時のずれは、日時修正が行われてからの経過時間に応じて大きくなり、また、測位及び計数日時のずれの修正が前回行われてからの経過時間に応じて測位衛星と現在位置との位置関係の変化も大きくなり得る。その結果、測位衛星からの電波受信タイミングのずれ時間が前回のずれ時間と比較してＣ／Ａコードの送信周期の長さ（１ｍｓｅｃ）より大きく異なったり、さらには、実際に受信、同定されたビットデータが計数日時から想定されるビットデータと異なったりし得る。
【００４６】
本実施形態の電子時計１では、前回の測位及び計数日時の修正後の経過時間及び衛星電波受信処理部６０の動作状況などに基づいて計数日時の最大誤差を見積もる。そして、この最大誤差に応じて、Ｃ／Ａコード周期内の同期タイミングのみを取得するか、ビットデータの境界タイミングを決定する（ビット同期を行う）必要があるか、又は更にプリアンブルなどの符号位置を同定する必要があるかを判断する。
【００４７】
なお、計数日時の修正後の経過時間が長くなると、計数日時のずれが小さいままであっても測位衛星が移動して電波受信タイミングのずれ時間（伝搬時間）が１ｍｓｅｃ以上変化する場合があるので、ビット同期を行うか否かについては、計数日時の最大誤差だけではなく単純な経過時間も考慮することとして良い。また、測位時に得られる正確な日時に基づいて各測位衛星からの送信電波の伝搬時間を改めて算出し、１ｍｓｅｃ以上の桁の値が変化するか否かを毎回又は所定の間隔で判別しても良い。
【００４８】
次に、ビット同期に係る動作について説明する。
図３は、ビット同期を行う場合に用いる比較ビット値配列Ｒｒｐを示す図である。
電子時計１では、Ｃ／Ａコードとの位相同期がなされると、Ｃ／Ａコードの一周期分の長さ（１ｍｓｅｃ長；区分期間）ごとに各周期に同期してそれぞれ航法メッセージの信号のビット値を同定して、これらを受信順に配列した同定ビット値配列を取得（生成）する。上述のように、１ビットの長さはＣ／Ａコード２０周期分であるので、すなわち、Ｃ／Ａコードの一周期分（区分期間）の長さは、１ビットの継続時間（２０ｍｓｅｃ長）を複数に分割した長さとなる。これにより、同定されるビット値は、２０個ごとに変化し得る。したがって、同定ビット値配列の各ビット値のうち先頭位置を１つずつ（すなわち、１ｍｓｅｃずつ）最大１９個（２０ｍｓｅｃ、すなわち、１ビットの継続時間に応じた数にわたって）ずらしながら得られる２０通りの連続する２０個（２以上の所定数、ここでは、１ビットの継続時間内におけるＣ／Ａコードの周期数と等しい）からなるビット値の配列（配列部分）のうちいずれか１つは、ビット値の１０個目と１１個目の間を境界（境界位置）として１０個目以前と１１個目以降とでビット値が異なることになる。すなわち、この配列部分は、図３の比較ビット値配列Ｒｒｐ（照合ビット値配列）のように、予め定められた境界位置の前後で互いに異なる（すなわち、「０」と「１」）ビット値の配列パターンと完全に一致（ビット値が０→１）又は完全に不一致（ビット値が１→０）のいずれかとなる。また、配列部分の先頭位置がこの完全一致又は完全不一致となる先頭位置から１つずつ（先頭タイミングから１ｍｓｅｃずつ）前後にずれていくごとに１つずつ一致しない（不一致とならない）ビット値の数が増えていく。
【００４９】
なお、航法メッセージにおいて同一ビット値が続けて送信されている期間に得られる同定ビット値配列では同定されるビット値が途中で切り替わらない（１→１、０→０）場合があるので、この場合には、２０通りの配列部分の間で一致個数や不一致個数に変化が生じない。このような状況は、比較ビット値配列Ｒｒｐと各配列部分との間で一致するビット値の数がそれぞれ全体の半分（２０個のうち１０個）となることで判別される。この場合には、取得した同定ビット値配列の期間より２０ｍｓｅｃ又は４０ｍｓｅｃ後の期間で改めて同じ処理を行う。
【００５０】
しかしながら、測位衛星からの送信電波の受信強度が低下していくのに従ってビット値の同定を誤る（誤同定）頻度が徐々に高まる。本実施形態の電子時計１では、同定ビット値配列から得られる２０通りの配列部分における２０個のビット値を各々比較ビット値配列Ｒｒｐの２０個のビット値とそれぞれ比較（照合）する処理をそれぞれ行い、確率的に所定の精度で比較ビット値配列Ｒｒｐとの一致の度合及び不一致の度合が最も大きいと認められるものに対応する配列部分の１１個目のビット値のデータが取得された先頭のタイミング（比較ビット値配列Ｒｒｐの境界位置と対応する位置）をビットデータの境界タイミング（ビットエッジ）として決定する。２０通りの配列部分は、各々並列に用意されて比較ビット値配列Ｒｒｐと比較されても良い。ここでは、この比較ビット値配列Ｒｒｐは、比較ビット値配列データ６４６ｃに含まれて記憶部６４６に記憶保持され、必要に応じて読み出されて利用される。あるいは、ベースバンド部６４は、比較ビット値配列Ｒｒｐとの照合と同等の処理が可能なハードウェア構成（例えば、比較対象の配列部分の前半１０ビットをそのまま出力し、後半１０ビットを反転して出力して加算するなど）を有していても良い。
【００５１】
ここでは、２０通りの配列部分と比較ビット値配列Ｒｒｐとの一致個数及び不一致個数のうち最大のものと二番目に大きいものを抽出し、当該最大のものに対応する配列部分（第一の配列部分）と二番目に大きいものに対応する配列部分（第二の配列部分、すなわち、他の配列部分）とを入れ違えて誤認定する確率が十分に低いか否か（所定の確率以上で誤認定を生じないか）によりビットデータの境界タイミングの決定可否を判断する。Ｎ個のビット値のうち任意のｍ個を誤同定する確率Ｐは、ビット誤り率εを用いてＰ＝（１−ε）Ｎ−ｍ・εｍ・ＮＣｍと表される。ビット誤り率εは、受信強度（ＣＮ比など）に基づいて変化するが、ここでは一例として単純にε＝０．５として、Ｐ＝ＮＣｍ／２Ｎと求められる。これらの演算結果は、予めＮやｍと対応付けられて記憶保持され、必要に応じて参照取得されても良いし、あるいは、近似式を用いて簡便に算出されることとしても良い。また、２Ｎの値は比率の算出時に相殺されるので、初めから計算しないこととしても良い。
【００５２】
電子時計１では、各配列部分の比較照合に係る２０個のビット値における一致個数（２０−ｍ）（一致の度合）と不一致個数ｍ（不一致の度合）のうち、大きい方が一致個数、小さい方が不一致個数（不一致の度合）として定められる。すなわち、一致個数Ｆ＝｜２０−２×ｍ｜とされ、これに応じて不一致個数Ｅ＝（２０−Ｆ）／２と求められる。
【００５３】
上述のように、比較ビット値配列Ｒｒｐとビット値の切り替わり境界の位置が一致する配列部分についての不一致個数Ｅは０となり、この不一致個数Ｅがそのまま誤同定されたビット値の数である。したがって、二番目に小さいｍ２個を誤同定した確率Ｐ２（ｍ２個が誤同定される配列部分の検出確率）に対する最小のｍ１個を誤同定した確率Ｐ１（ｍ１個が誤同定される配列部分の検出確率）の比率Ｐｄ＝Ｐ１／Ｐ２が所定の基準比率以下、例えば、１０−７以下であれば、最小のｍ１個が誤同定された配列部分が比較ビット値配列Ｒｒｐと十分な精度で最も一致（又は不一致）したと判別され、ビットデータの境界タイミングが決定される。受信強度（ＣＮ比）が低く誤同定が増えて一度では十分な精度が得られない場合（基準比率以下ではない場合）には、比率Ｐｄが基準比率以下となるまで複数周期積算して精度を向上させることができる。上述のように、一致個数及び不一致個数のうち大きい方が機械的に一致個数Ｆとして扱われるので、この一致個数Ｆを積算することにより、ビット値が「０」、「１」の間でいずれの向きに変化するかを考慮する必要がない。なお、確率Ｐ１、Ｐ２を別個に算出してから比率Ｐｄを算出せず、近似式などを用いて比率Ｐｄを直接簡便に算出しても良い。
【００５４】
航法メッセージにおいて同一ビット値が続けて送信されている期間には、多少の誤同定が混入しても一致個数及び不一致個数のうち最大のものにおける当該一致個数と不一致個数の差が大きく開かないので、この差が所定の基準差以下、例えば、１０以下（すなわち、一致個数及び不一致個数の両方が５以上かつ１５以下）である場合には、同一ビット値が続けて送信されていると判断してビットデータの境界タイミングの決定に係る以降の処理を行わない（ビットエッジの決定を行わない）こととして、比較結果（照合の結果）を放棄することができる。また、これにより、符号の同定が困難なほど受信感度が一時的に低下した（ＣＮ比が悪化した）期間のデータを除外して精度良くビットエッジの検出を行うことができる。
【００５５】
図４は、本実施形態の電子時計１で実行される位置取得処理のホストＣＰＵ４１による制御手順を示すフローチャートである。この位置取得処理は、ユーザ操作に基づいて開始され、又は、ユーザの設定操作などに基づいて所定の時間間隔で周期的に呼び出されて実行される。
【００５６】
位置取得処理が開始されると、ホストＣＰＵ４１は、衛星電波受信処理部６０への電力供給が停止されている（オフである）か否かを判別する（ステップＳ４０１）。停止されていないと判別された場合には（ステップＳ４０１で“ＮＯ”）、ホストＣＰＵ４１の処理は、ステップＳ４０４に移行する。
【００５７】
停止されていると判別された場合には（ステップＳ４０１で“ＹＥＳ”）、ホストＣＰＵ４１は、衛星電波受信処理部６０に電力供給部５０から電力を供給させて起動させる（ステップＳ４０２）。ホストＣＰＵ４１は、計数している日時の情報を衛星電波受信処理部６０に送信する（ステップＳ４０３）。それから、ホストＣＰＵ４１の処理は、ステップＳ４０４に移行する。
【００５８】
ステップＳ４０１、Ｓ４０３の処理からステップＳ４０４の処理に移行すると、ホストＣＰＵ４１は、衛星電波受信処理部６０からエフェメリスデータの要求があったか否かを判別する（ステップＳ４０４）。要求があったと判別された場合には（ステップＳ４０４で“ＹＥＳ”）、ホストＣＰＵ４１は、エフェメリスデータを衛星電波受信処理部６０に送信する（ステップＳ４０５）。送信対象とされるエフェメリスデータは、全測位衛星のデータであっても良いし、衛星電波受信処理部６０から指定された一部の（直近の計測位置と現在日時から可視状態であると想定される）測位衛星のデータのみであっても良い。それから、ホストＣＰＵ４１の処理は、ステップＳ４０６に移行する。エフェメリスデータの要求がないと判別された場合には（ステップＳ４０４で“ＮＯ”）、ホストＣＰＵ４１の処理は、ステップＳ４０６に移行する。
【００５９】
ステップＳ４０６の処理に移行すると、ホストＣＰＵ４１は、位置情報取得の終了命令が検出されたか否かを判別する（ステップＳ４０６）。この終了命令には、操作受付部４９が受け付けたユーザ操作に応じたものと、ホストＣＰＵ４１が設定した間欠測位時の測位の中断期間に自動的に設定出力されるものとが含まれる。終了命令が検出されていないと判別された場合には（ステップＳ４０６で“ＮＯ”）、ホストＣＰＵ４１は、衛星電波受信処理部６０から測位結果の入力を待ち受け、入力された測位結果を取得して当該取得された測位結果に基づく表示部４７への表示制御信号を表示ドライバ４８に出力する（ステップＳ４０７）。また、ホストＣＰＵ４１は、測位結果とともに取得された現在日時のデータに基づいて計時回路４６が計数する日時を修正することができる。それから、ホストＣＰＵ４１の処理は、ステップＳ４０６に戻る。
【００６０】
終了命令が検出されたと判別された場合には（ステップＳ４０６で“ＹＥＳ”）、ホストＣＰＵ４１は、衛星電波受信処理部６０に対して測位終了命令を出力する（ステップＳ４０８）。ホストＣＰＵ４１は、間欠測位における測位の中断期間などで、今後再度の測位が実行される予定があるか否かを判別する（ステップＳ４０９）。予定があると判別された場合には（ステップＳ４０９で“ＹＥＳ”）、ホストＣＰＵ４１の処理は、ステップＳ４１１に移行する。予定がないと判別された場合には（ステップＳ４０９で“ＮＯ”）、ホストＣＰＵ４１は、衛星電波受信処理部６０をオフさせて電力供給部５０からの電力供給を中止させる（ステップＳ４１０）。それから、ホストＣＰＵ４１の処理は、ステップＳ４１１に移行する。
【００６１】
ステップＳ４１１の処理に移行すると、ホストＣＰＵ４１は、受信履歴情報を更新してＲＡＭ４３に記憶させる（ステップＳ４１１）。そして、ホストＣＰＵ４１は、位置取得処理を終了する。
【００６２】
図５は、衛星電波受信処理部６０により実行される測位制御処理のモジュールＣＰＵ６４５による制御手順を示すフローチャートである。
この測位制御処理は、本発明の日時修正処理の実施形態を含み、ホストＣＰＵ４１からの起動命令又は実行命令に応じて開始される。
【００６３】
測位制御処理が開始されると、モジュールＣＰＵ６４５は、衛星電波受信処理部６０が起動されて本処理の制御が開始されたか否かを判別する（ステップＳ６０１）。起動されて開始されたのではない（既に衛星電波受信処理部６０自体は起動されていた）と判別された場合には（ステップＳ６０１で“ＮＯ”）、モジュールＣＰＵ６４５の処理は、ステップＳ６０４に移行する。衛星電波受信処理部６０が起動されて開始された（すなわち、前回の測位終了に伴って不定期間中断後に再開された）と判別された場合には（ステップＳ６０１で“ＹＥＳ”）、モジュールＣＰＵ６４５は、衛星電波受信処理部６０の初期設定及び起動時の初期チェックを行う（ステップＳ６０２）。モジュールＣＰＵ６４５は、ホストＣＰＵ４１から送信された日時情報（現在日時に係る情報）を取得し、計数日時を更新して日時の計数を開始する（ステップＳ６０３）。それから、モジュールＣＰＵ６４５の処理は、ステップＳ６０４に移行する。
【００６４】
ステップＳ６０４の処理に移行すると、モジュールＣＰＵ６４５は、現在日時（計数日時）において可視状態である想定される測位衛星に係る有効期間内のエフェメリスを保持しているか否かを判別する（ステップＳ６０４）。可視状態の判定は、例えば、現在位置からみて測位衛星の仰角が所定の基準角度以上であるかなどによって行われ、実際の地形の起伏や建築構造物などは考慮されなくて良い。保持していると判別された場合には（ステップＳ６０４で“ＹＥＳ”）、モジュールＣＰＵ６４５の処理は、ステップＳ６０６に移行する。有効なエフェメリスを保持していないと判別された場合には（ステップＳ６０４で“ＮＯ”）、モジュールＣＰＵ６４５は、ホストＣＰＵ４１に対してエフェメリスデータを要求し、取得されたエフェメリスデータを記憶部６４６に記憶させる（ステップＳ６０５）。それから、モジュールＣＰＵ６４５の処理は、ステップＳ６０６に移行する。
【００６５】
ステップＳ６０６の処理に移行すると、モジュールＣＰＵ６４５は、ＲＦ部６３やベースバンド部６４の捕捉部６４１などの動作を開始させて、測位衛星からの電波受信動作を開始する（ステップＳ６０６）。モジュールＣＰＵ６４５は、受信された電波の信号（デジタルサンプリングされたＩＦ信号）とＣ／Ａコードの照合を捕捉部６４１により行わせ、また、同期を取ることで、測位衛星からの送信電波を捕捉する（ステップＳ６０７）。このとき、モジュールＣＰＵ６４５は、保持しているエフェメリスと前回の測位結果（現在位置）とに基づいて、捕捉されると想定される測位衛星を優先的に捕捉対象とするように捕捉動作の順番を設定することができる。
【００６６】
モジュールＣＰＵ６４５は、ホストＣＰＵ４１から測位動作の終了命令が入力されているか否かを判別する（ステップＳ６０８）。入力されていると判別された場合には（ステップＳ６０８で“ＹＥＳ”）、モジュールＣＰＵ６４５は、ＲＦ部６３や追尾部６４２の動作を停止させて、測位衛星からの電波受信動作を終了する（ステップＳ６３０）。そして、モジュールＣＰＵ６４５は、測位制御処理を終了する。
【００６７】
ホストＣＰＵ４１から測位動作の終了命令が入力されていないと判別された場合には（ステップＳ６０８で“ＮＯ”）、モジュールＣＰＵ６４５は、捕捉された測位衛星の追尾動作を行い、また、追尾されている測位衛星からの信号の受信タイミングのずれ（擬似距離）と計数している現在日時（計数日時）とに基づいて現在位置及び正確な現在日時の算出を行う（ステップＳ６０９）。
【００６８】
モジュールＣＰＵ６４５は、前回の測位後の経過時間や日時の計数状況に基づいて、計数日時（現在日時）のずれの最大見積もり値である想定誤差ｄＴｅが基準時間ｄＴｃ以上であるか否かを判別する（ステップＳ６１０）。ここでは、ＴＣＸＯのずれの割合（１ｐｐｍ）や計時回路４６のずれの割合（１０ｐｐｍ）の情報を予め保持しておき、例えば、モジュールＣＰＵ６４５は、前回の測位及び計数日時の修正を行ってからの衛星電波受信処理部６０がオン状態での経過時間Ｔｎ（ｓｅｃ）とオフ状態での経過時間Ｔｆ（ｓｅｃ）（モジュールＣＰＵ６４５の動作の中断期間の長さ）とを用いて求められる想定誤差ｄＴｅ＝１０−６Ｔｎ＋１０−５Ｔｆが基準時間ｄＴｃ＝１０−２（ｓｅｃ）以上であるか否かを判別する。
【００６９】
想定誤差ｄＴｅが基準時間ｄＴｃ以上ではない（未満である）と判別された場合には（ステップＳ６１０で“ＮＯ”）、モジュールＣＰＵ６４５は、今回の測位制御処理で既にビット同期を行ったか否かを判別する（ステップＳ６１１）。ビット同期を行ったか否かについては、初期状態ではリセットされており（セットされていない状態であり）、後述のビット同期制御処理に成功した場合にセット状態とされるフラグなどを定めることで判別可能とすることができる。
【００７０】
ビット同期を行っていないと判別された場合には（ステップＳ６１１で“ＮＯ”）、モジュールＣＰＵ６４５は、捕捉済みの測位衛星から一機（測位に用いられる複数の測位衛星からの送信電波のうちいずれか一つ）を選択して（ステップＳ６１２）、当該一機の測位衛星について、後述するビット同期制御処理を呼び出して実行する（ステップＳ６１３）。モジュールＣＰＵ６４５は、決定されたビットデータの境界タイミングに応じて（必要に応じて当該測位衛星からの伝搬時間を補正して）計数日時を±１０ｍｓｅｃの範囲で前後させる更新を行う（ステップＳ６１４；日時ずれ修正ステップ、日時ずれ修正手段）。それから、モジュールＣＰＵ６４５の処理は、ステップＳ６２６に移行する。ビット同期を行ったと判別された場合には（ステップＳ６１１で“ＹＥＳ”）、モジュールＣＰＵ６４５の処理は、ステップＳ６２８に移行する。
【００７１】
ステップＳ６１０の判別処理で、想定誤差ｄＴｅが基準時間ｄＴｃ以上であると判別された場合には（ステップＳ６１０で“ＹＥＳ”）、モジュールＣＰＵ６４５は、捕捉した全ての測位衛星をビット同期制御処理の対象として選択し（ステップＳ６２１）、各々ビット同期制御処理を実行する（ステップＳ６２２）。モジュールＣＰＵ６４５は、ビットデータの境界タイミングが決定された各測位衛星から受信、復調された航法メッセージにおける各ビット値を順番に同定する動作を行う（ステップＳ６２３）。モジュールＣＰＵ６４５は、同定されたビット値の配列からプリアンブルを検出し、更にＴＯＷを取得する。モジュールＣＰＵ６４５は、ＴＯＷが取得されたか否かを判別し（ステップＳ６２４）、取得されていないと判別された場合には（ステップＳ６２４で“ＮＯ”）、処理をステップＳ６０８に戻す。
【００７２】
ＴＯＷが取得されたと判別された場合には（ステップＳ６２４で“ＹＥＳ”）、モジュールＣＰＵ６４５は、当該ＴＯＷの取得タイミング及びＴＯＷの解読内容（日時）に基づいて計数日時を更新する（ステップＳ６２５）。この場合に得られる日時は、測位衛星からの送信電波の正確な伝搬時間が求められていないので、若干（最大で±１０〜１５ｍｓｅｃ程度）のずれが含まれ得る。それから、モジュールＣＰＵ６４５の処理は、ステップＳ６２６に移行する。
【００７３】
ステップＳ６１４、Ｓ６２５の処理からステップＳ６２６の処理に移行すると、モジュールＣＰＵ６４５は、更新された計数日時を用いて現在位置の算出を行う（ステップＳ６２６；測位実行ステップ、測位実行手段）。モジュールＣＰＵ６４５は、現在位置の算出に成功したか否かを判別する（ステップＳ６２７）。成功していないと判別された場合には（ステップＳ６２７で“ＮＯ”）、モジュールＣＰＵ６４５の処理は、ステップＳ６０８に戻る。成功したと判別された場合には（ステップＳ６２７で“ＹＥＳ”）、モジュールＣＰＵ６４５の処理は、ステップＳ６２８に移行する。
【００７４】
ステップＳ６１１、Ｓ６２７の処理からステップＳ６２８の処理に移行すると、モジュールＣＰＵ６４５は、計数日時を更新する（ステップＳ６２８）。モジュールＣＰＵ６４５は、測位結果をホストＣＰＵ４１に出力する（ステップＳ６２９）。それから、モジュールＣＰＵ６４５の処理は、ステップＳ６０８に戻る。なお、ステップＳ６０８の処理に戻った後、測位動作を行う間隔は、適宜定められる。
【００７５】
図６は、測位制御処理で呼び出されるビット同期制御処理のモジュールＣＰＵ６４５による制御手順を示すフローチャートである。
ビット同期制御処理が呼び出されると、モジュールＣＰＵ６４５は、取得された入力信号をＣ／Ａコード周期に同期して１ｍｓｅｃごとに分割し、当該１ｍｓｅｃ間のビット値を同定して、同定ビット値配列ｐにおけるｉ番目のビット値ｐ（ｉ）とする。モジュールＣＰＵ６４５は、この処理を４０ｍｓｅｃ分（ｉ＝０〜３９）続けて行う（ステップＳ６５１；ビット値同定ステップ、ビット値同定手段）。
【００７６】
モジュールＣＰＵ６４５は、変数ｎを初期値「０」に設定し、また、２０個の不一致個数Ｅ（ｊ）（配列番号ｊ；０≦ｊ≦１９）をそれぞれ初期値として「０」に設定する（ステップＳ６５２）。モジュールＣＰＵ６４５は、ビット値ｐ（ｊ＋ｎ）と比較ビット値配列のｊ番目のビット値Ｒｒｐ（ｊ）との排他論理和を取ってＥ（ｊ）に加算していく。モジュールＣＰＵ６４５は、変数ｎに１を加算し、また、カウント数Ｎに１を加算する（ステップＳ６５３）。
【００７７】
モジュールＣＰＵ６４５は、変数ｎが２０であるか否かを判別する（ステップＳ６５４）。変数ｎが２０ではないと判別された場合には（ステップＳ６５４で“ＮＯ”）、モジュールＣＰＵ６４５の処理は、ステップＳ６５３に戻る。変数ｎが２０であると判別された場合には（ステップＳ６５４で“ＹＥＳ”）、モジュールＣＰＵ６４５は、得られた２０個の不一致個数Ｅ（ｊ）のうち最小値が５以下又は最大値が１５以上であるか否かを判別する（ステップＳ６５５）。いずれでもないと判別された場合には（ステップＳ６５５で“ＮＯ”）、モジュールＣＰＵ６４５は、ビット同期制御処理を終了して処理を測位制御処理に戻す。このとき、モジュールＣＰＵ６４５は、ビット同期制御処理で設定されている各値を消去、初期化しない。
【００７８】
不一致個数Ｅ（ｊ）のうち最小値が５以下又は最大値が１５以上であると判別された場合には（ステップＳ６５５で“ＹＥＳ”）、モジュールＣＰＵ６４５は、不一致個数が「１０」以上の場合に不一致個数と一致個数を反転させて、積算一致個数Ｆ（ｊ）に加算する（ステップＳ６５６）。すなわち、モジュールＣＰＵ６４５は、一致個数を｜２０−２×Ｅ（ｊ）｜として、もともと定められていた積算一致個数Ｆ（ｊ）に加算する。
【００７９】
モジュールＣＰＵ６４５は、積算一致個数Ｆ（ｊ）のうち最も大きい値ｍａｘ１（Ｆ（ｊ））を最大積算一致個数Ｆｍ１とし、また、二番目に大きい値ｍａｘ２（Ｆ（ｊ））を次点積算一致個数Ｆｍ２とする（ステップＳ６５７）。最大のものが２個以上ある場合には、最大積算一致個数Ｆｍ１及び次点積算一致個数Ｆｍ２は同一の値になる。モジュールＣＰＵ６４５は、最大積算一致個数Ｆｍ１を最小積算不一致個数Ｅｍ１＝（Ｎ−Ｆｍ１）／２に換算し、また、次点積算一致個数Ｆｍ２を次点積算不一致個数Ｅｍ２＝（Ｎ−Ｆｍ２）／２に換算する（ステップＳ６５８）。
【００８０】
モジュールＣＰＵ６４５は、最小積算不一致個数Ｅｍ１、次点積算不一致個数Ｅｍ２の不一致箇所がそれぞれ生じる配列パターンの発生確率として、Ｐｍａｘ＝ＮＣＥｍ１／２Ｎ、Ｐｍａｘ２＝ＮＣＥｍ２／２Ｎを求める（ステップＳ６５９）。モジュールＣＰＵ６４５は、それぞれの発生確率の比率Ｐｄ＝Ｐｍａｘ／Ｐｍａｘ２を算出する（ステップＳ６６０）。モジュールＣＰＵ６４５は、比率Ｐｄが所定の基準値以下であるか否かを判別する（ステップＳ６６１）。基準値以下であると判別された場合には（ステップＳ６６１で“ＹＥＳ”）、モジュールＣＰＵ６４５は、最小積算不一致個数Ｅｍ１に応じた不一致個数Ｅ（ｊ）の配列番号ｊの配列部分における１１個目のビット値の取得タイミング先頭をビットデータの境界タイミング（ビットエッジ）として決定する（ステップＳ６６２）。そして、モジュールＣＰＵ６４５は、ビット同期制御処理を終了し、処理を測位制御処理に戻す。このとき、モジュールＣＰＵ６４５は、上述のビット同期実施に係るフラグをセットすることができる。基準値以下ではないと判別された場合には（ステップＳ６６１で“ＮＯ”）、モジュールＣＰＵ６４５は、ビット同期制御処理を終了し、処理を測位制御処理に戻す。
上述のステップＳ６５３、Ｓ６５６〜Ｓ６６２の各処理により本実施形態の測位制御方法におけるビットエッジ検出ステップが構成され、日時修正に係るプログラムにおけるビットエッジ検出手段が構成される。
【００８１】
なお、上述のように、ビット同期制御処理におけるカウント数Ｎ及び積算一致個数Ｆ（ｊ）はリセットされず、必要に応じて積算される。したがって、測位制御処理でビット同期制御処理が呼び出される場合には、当該ビット同期制御処理は、最初に設定された２０ｍｓｅｃ周期に同期して行われる必要がある。
【００８２】
以上のように、第１実施形態の衛星電波受信処理部６０は、測位衛星から送信されるビットデータの配列からなる航法メッセージを含む送信電波を受信するＲＦ部６３、捕捉部６４１及び追尾部６４２を含む受信部と、モジュールＣＰＵ６４５と、を備え、モジュールＣＰＵ６４５は、航法メッセージにおける各ビットデータの継続時間（２０ｍｓｅｃ）をそれぞれＣ／Ａ周期（１ｍｓｅｃ）ごとに２０個に分割した区分期間ごとに当該航法メッセージのビット値を同定して、同定されたビット値を受信順に配列した同定ビット値配列を取得し、当該同定ビット値配列における複数のビット値の配列に基づいて、受信された送信電波においてビット値が切り替わる先頭タイミングを決定するビットエッジ検出動作を行い、計数されて（して）いる現在日時に対する決定された先頭タイミングのずれ量に応じて２０ｍｓｅｃ未満の現在日時のずれを修正し、修正された現在日時を用いて測位を行う。
このように、航法メッセージの各ビットデータの境界を検出して微小な日時のずれを検出することで、容易かつ速やかに日時の微小なずれを修正することができる。そして、この修正された日時に基づいて測位を行うことで、より迅速かつ簡便に正確な測位を実行することができる。特に、Ｃ／Ａコードとの同期を通常通り行った後、各ビットデータの継続時間を複数の区分期間に分割してビット値の切り替わりの検出を行うので、ビットエッジの検出に関してＣ／Ａコードのチップ単位で多くのデータを保持して高速処理する必要がない。
【００８３】
また、モジュールＣＰＵ６４５は、測位に用いられる複数の測位衛星からの送信電波のうち少なくともいずれか一つについてビットエッジ検出動作を行い、決定された先頭タイミングに応じて修正された現在日時を用いて測位を行う。このように、測位を行う前に迅速かつ簡便に現在日時の修正がなされるので、当該現在日時を用いて測位演算を行うことで、より確実かつ迅速に現在位置に収束させることができる。これにより、衛星電波受信処理部６０では、精度良く正確な現在位置を取得することができる。
【００８４】
また、モジュールＣＰＵ６４５は、複数の測位衛星のエフェメリスを外部から取得して、当該エフェメリスと修正された現在日時とを用いて測位を行う。
これにより、測位衛星からの送信電波の受信再開後、擬似距離が取得され次第速やかに測位が行われる。そして、この測位に係る最初の演算の際に、通常最初の測位演算がなされる場合よりも正確な現在日時を用いることができるので、より確実かつ迅速に正確な現在位置に収束させて測位演算を終了させることができる。
【００８５】
また、区分期間は、航法メッセージをスペクトラム拡散しているＣ／Ａコードの一周期分の長さ（１ｍｓｅｃ）であり、各周期に各々同期して定められる。初めに測位衛星からの送信電波を捕捉するためにＣ／Ａコードの位相同期が必要であり、また、ビットエッジはＣ／Ａコードに同期しているので、このように、Ｃ／Ａコード周期に同期した区分期間を設定することで、ビットエッジの検出を迅速かつ容易に行うことができる。
【００８６】
また、ビットエッジ検出動作において、モジュールＣＰＵ６４５は、２０個のビット値の配列からなり、当該２０個のビット値が予め定められた境界位置（１０個目と１１個目の間）の前後で「０」と「１」とで互いに異なる比較ビット値配列Ｒｒｐと、取得された同定ビット値配列をなす各ビット値のうち連続する２０個からなる配列部分とを、当該配列部分の先頭位置を航法メッセージにおける一つビット値の継続時間に応じた数（すなわち、２０ｍｓｅｃに応じた２０個）にわたって一つずつ比較ビット値配列Ｒｒｐに対してずらしながらそれぞれ比較照合し、比較照合の結果、配列部分のうち比較ビット値配列Ｒｒｐとの一致個数及び不一致個数のうち最も大きいものに対応する第一の配列部分が、他の配列部分に対して所定の確率以上で誤認定を生じない当該第一の配列部分における前記境界位置と対応する位置に基づいて、受信された送信電波におけるビットデータの先頭タイミングを決定する。
このように、ビットエッジの検出時に複数の区分期間におけるビット値配列の先頭位置をずらしながら単一の比較ビット値配列Ｒｒｐと比較して、一致個数と不一致個数のうち少ない方を不一致個数とするので、ビット値に応じた位相反転の向きを考慮せずとも画一的な処理で容易にビットエッジを同定することができる。また、比較ビット値配列Ｒｒｐ及び同定ビット値配列の記憶容量を小さく抑えながら、配列部分ごとに一致個数や不一致個数のみ記憶させていけば良いので、大容量のメモリを必要としない。
【００８７】
また、比較ビット値配列Ｒｒｐの配列数（所定数）は、各ビットデータの継続時間（２０ｍｓｅｃ）内における区分期間（１ｍｓｅｃ）の数と等しく定められていることで、処理を冗長化しない範囲で十分なビット数を比較照合することができ、これにより、ビットエッジ自体が検出されなかったり、検出されたビットエッジの確率精度が不足してかえって処理時間が長引いたりするおそれを適切に低減させることができる。
【００８８】
また、モジュールＣＰＵ６４５は、配列部分のうち比較ビット値配列Ｒｒｐとの間の一致の度合及び不一致の度合のうち二番目に大きいものに対応する第二の配列部分に対して最も大きいものに対応する第一の配列部分が所定の確率以上で誤認定を生じない当該第一の配列部分におけるビット値の切り替わり境界位置と対応する位置に基づいて、受信された送信電波におけるビットデータの先頭タイミングを決定する。
このように、二番目に不一致が小さいものとの間で誤認定する確率が十分に低ければ、その他の配列部分と誤認定する確率は更に低いので、考慮する必要がなく、単純な２つの候補の比較で十分な精度が得られるか否かを容易に判断することができる。
【００８９】
また、モジュールＣＰＵ６４５は、配列部分の各々について、比較照合により得られた一致個数及び不一致個数のうち小さい方を不一致個数として定め、当該不一致個数が最も小さいものと二番目に小さいものとを用いてビットエッジ検出動作を行う。
このように、単純に一致個数と不一致個数のうち小さい方を不一致個数とすることで、容易な処理で符号の反転の方向を意識することなく容易に処理を行うことができる。また、本実施形態のようにビット誤り率εを０．５とすることで、一致個数と不一致個数との取り違えが問題を及ぼさない。また、ビット誤り率εが別途定められたとしても、一致個数と不一致個数の大小が反転するほどビット値の誤同定が多い場合には、十分に精度の高いビットエッジの決定ができないので、結局問題を生じない。したがって、このような処理により符号の反転を考慮した処理を大幅に軽減し、容易かつ迅速にビットエッジを決定することができる。
【００９０】
また、モジュールＣＰＵ６４５は、不一致個数が二番目に小さい配列部分の検出の確率Ｐ２に対する不一致個数が最も小さい配列部分の検出の確率Ｐ１の比率Ｐｄが所定の基準比率以下となる場合に先頭タイミングを決定する。このように、検出確率の確率比に基づいてビットエッジの決定可否を定めるので、定量的に十分な精度でビットエッジが定められる。また、確率の比率Ｐｄのみを算出すれば良く、検出確率Ｐ１、Ｐ２を二項分布に従って求める場合などに演算処理を簡略化することができる。
【００９１】
また、モジュールＣＰＵ６４５は、一致個数と不一致個数の差が所定の基準差（１０個）以下の場合には先頭タイミングの決定を行わずに比較照合の結果を放棄する。これにより、電波受信強度（ＣＮ比）が低い場合には、初めからビットエッジの検出処理を行わないことで、無駄な処理量を低減させることができる。
また、差が基準差より大きくかつ比率Ｐｄが所定の基準比率以下ではない場合には、比較照合の結果を複数周期積算して所定の基準比率以下の比率Ｐｄが得られるまで繰り返す。上記のように、一致個数と不一致個数と意識する必要のない処理を行っているので、電波受信強度（ＣＮ比）が低く、十分な精度でビットエッジが決定できない場合でも、短時間で容易に複数周期分の比較照合結果を積算して精度を高めたビットエッジの決定が可能となる。
【００９２】
また、モジュールＣＰＵ６４５は、測位が前回行われてからの経過時間と計数されている現在日時に生じ得るずれの割合（歩度）に係る予め保持された情報とに基づいて、現在日時のずれがビットデータの継続時間（２０ｍｓｅｃ）以下の基準時間未満であると判別された場合に、ビットエッジ検出動作に基づく継続時間未満の現在日時の修正を行う。
計数日時のずれの割合は、発振回路６５の発振器により定まるものであり、前回の測位からの経過時間とこの歩度とに応じて計数日時の最大ずれ量が容易に想定される。したがって、計数日時に想定される最大ずれ量がビットエッジの検出のみで修正可能な範囲内、すなわち、どのビット間のビットエッジであるかを一意に特定可能である場合に容易な日時修正処理を行うこととすることで、かえって不正確な日時に変更されることを防ぎつつ、適切な範囲で処理を軽減して速やかに正確な日時に修正することができる。
【００９３】
また、モジュールＣＰＵ６４５は、計数する現在日時を修正した場合には、独立に現在日時を計数する計時回路４６が計数する現在日時を修正させるための日時情報をホストＣＰＵ４１に出力し、モジュールＣＰＵ６４５の動作が中断後に再開された場合には、計時回路４６からホストＣＰＵ４１を介して現在日時に係る情報を取得して現在日時の計数を開始し、計時回路４６が計数する日時に生じ得るずれの割合（歩度）に係る情報とモジュールＣＰＵ６４５の動作の中断期間の長さとに応じて現在日時のずれが基準時間未満であるか否かを判別して、ビットエッジ検出動作に基づく継続時間（２０ｍｓｅｃ）未満の現在日時の修正を行う。
衛星電波受信処理部６０のように測位動作に応じて間欠的に動作と停止が切り替えられる場合、モジュールＣＰＵ６４５が計数する日時は、動作再開時に外部から取得する必要があるが、当該取得先の外部の計時回路４６の計時誤差を適切に認識し、また、衛星電波受信処理部６０の動作に応じて適切に正しい日時に修正しておくことで、計時回路４６の歩度に応じた範囲で有効にビットエッジ検出動作に基づく現在日時のずれの修正を容易に行うことができる。
【００９４】
また、モジュールＣＰＵ６４５の動作時に計数される（する）現在日時のずれの割合は、計時回路４６が計数する現在日時のずれの割合よりも小さい。したがって、測位動作に係る測位衛星からの電波受信を行わない場合でもモジュールＣＰＵ６４５が動作している場合には、当該期間内に計数される現在日時の歩度を考慮し、より長い時間容易な現在日時の修正を行うことができる。特に、短い間隔で間欠的に測位を行う場合などは、受信部のみ電力供給をオフすることで、測位時の処理をかえって効率化することが可能になる。
【００９５】
また、本実施形態の電子時計１は、衛星電波受信処理部６０と、現在日時を計数する計時回路４６と、計時回路４６が計数する現在日時に基づいて少なくとも時刻の表示を行う表示部４７と、を備える。そして、モジュールＣＰＵ６４５は、日時情報が修正された場合に計時回路４６が計数する日時を修正するための日時情報を出力し、当該モジュールＣＰＵ６４５の動作が中断後に再開された場合には、計時回路４６が計数する日時を取得して現在日時の計数を開始する。
このように、電子時計１では、測位衛星からの電波受信に基づいて表示日時を正確に保つとともに、不要な場合には衛星電波受信処理部６０への電力供給をオフしつつ動作の再開時に計時回路４６から日時を取得することで、特に短期間のインターバルで測位を繰り返す場合に確実かつ速やかに正確な測位を行うことが可能になる。これにより電力消費の増大を抑制し、また、特殊な構成や複雑な処理の追加を要さずに、効率的な日時や位置の取得動作を行うことができる。
【００９６】
また、電子時計１は、衛星電波受信処理部６０による測位結果を表示部４７により行わせるホストＣＰＵ４１を備える。すなわち、この電子時計１では、現在日時だけでなく、現在位置に係る情報を表示部４７による表示からユーザが知得することができる。
【００９７】
また、本実施形態の衛星電波受信処理部６０の測位制御方法は、衛星から送信されるビットデータの配列からなる航法メッセージを含む送信電波を受信する受信部（ＲＦ部６３、捕捉部６４１及び追尾部６４２）を備える衛星電波受信処理部６０の測位制御方法であって、航法メッセージにおける各ビットデータの継続時間（２０ｍｓｅｃ）をそれぞれ複数に分割した区分期間（１ｍｓｅｃ）ごとに当該航法メッセージのビット値を同定して、同定されたビット値を受信順に配列した同定ビット値配列を取得するビット値同定ステップ（ビット同期制御処理におけるステップＳ６５１）、当該同定ビット値配列における複数のビット値の配列に基づいて、受信された送信電波においてビット値が切り替わる先頭タイミングを決定するビットエッジ検出動作を行うビットエッジ検出ステップ（ビット同期制御処理におけるステップＳ６５３、Ｓ６５６〜Ｓ６６２）、計数されて（して）いる現在日時に対する決定された先頭タイミングのずれ量に応じて継続時間（２０ｍｓｅｃ）未満の現在日時のずれを修正する日時ずれ修正ステップ（測位制御処理におけるステップＳ６１４）、修正された現在日時を用いて測位を行う測位実行ステップ（測位制御処理におけるステップＳ６２６）、を含む。
このような日時修正を行うことで、構成の拡大や処理の増大を抑えつつより迅速かつ簡便に日時の微小なずれを修正することができる。
【００９８】
また、本実施形態のプログラム６４６ａは、衛星から送信されるビットデータの配列からなる航法メッセージを含む送信電波を受信する受信部（ＲＦ部６３、捕捉部６４１及び追尾部６４２）を備える衛星電波受信処理部６０のコンピュータ（モジュールＣＰＵ６４５）を、航法メッセージにおける各ビットデータの継続時間（２０ｍｓｅｃ）をそれぞれ複数に分割した区分期間（各Ｃ／Ａコード周期）ごとに当該航法メッセージのビット値を同定して、同定されたビット値を受信順に配列した同定ビット値配列を取得するビット値同定手段（ビット同期制御処理におけるステップＳ６５１）、当該同定ビット値配列における複数のビット値の配列に基づいて、受信された送信電波においてビット値が切り替わる先頭タイミングを決定するビットエッジ検出動作を行うビットエッジ検出手段（ビット同期制御処理におけるステップＳ６５３、Ｓ６５６〜Ｓ６６２）、計数されて（して）いる現在日時に対する決定された先頭タイミングのずれ量に応じて継続時間（２０ｍｓｅｃ）未満の現在日時のずれを修正する日時ずれ修正手段（測位制御処理におけるステップＳ６１４）、修正された現在日時を用いて測位を行う測位実行手段（測位制御処理におけるステップＳ６２６）、として機能させる。
このようなプログラム６４６ａをインストールしてソフトウェア的に制御処理を行うことで、構成の拡大や処理の増大を抑えつつより迅速かつ簡便に日時の微小なずれを修正することができる。
【００９９】
［第２実施形態］
次に、本発明の第２実施形態の電子時計について説明する。
第２実施形態の電子時計１は、第１実施形態の電子時計１と同一の構成であるので、説明を省略して同一の符号を用いることとする。
【０１００】
次に、第２実施形態の電子時計１における測位動作について説明する。
本実施形態の電子時計１では、間欠的に測位衛星からの電波受信に基づく測位動作を行う場合に、当該測位動作が休止されている間、計測部７１の計測値に基づいて移動量を算出する。この移動量に係る情報（移動情報）は、表示部４７による表示に用いられても良い。ここでは、移動量が予め定められた基準距離以上となった場合には、航法メッセージのビット配列を同定し、現在日時情報を取得して擬似距離（送信電波の伝搬時間）を取得しなおすこととする。基準距離としては、擬似距離がＣ／Ａ周期以上（又は符号周期以上）変化しない範囲で適宜定められる。なお、計測部７１の計測値に基づく移動量が表示などに用いられない場合には、移動量が基準距離を超過した時点で以降の移動量の算出を中止しても良い。
【０１０１】
また、本実施形態の電子時計１では、ビット同期を行う場合に、ビット誤り率εを受信状況に基づいて変動させる。
【０１０２】
図７は、本実施形態の電子時計１で実行される位置取得処理のホストＣＰＵ４１による制御手順を示すフローチャートである。
この位置取得処理は、第１実施形態の電子時計で実行される位置取得処理に対してステップＳ４２１が追加された点を除いて同一であり、同一の処理内容には同一の符号を付して説明を省略する。
【０１０３】
ステップＳ４０１の処理で衛星電波受信処理部６０がオフではないと判別された場合（ステップＳ４０１で“ＮＯ”）、及びステップＳ４０３の処理で日時情報を送信した後、ホストＣＰＵ４１は、計測部７１の計測結果に基づいて得られた前回の測位からの移動情報を衛星電波受信処理部６０に送信する（ステップＳ４２１）。それから、ホストＣＰＵ４１の処理は、ステップＳ４０４に移行する。
【０１０４】
図８は、本実施形態の電子時計１の衛星電波受信処理部６０で実行される測位制御処理のモジュールＣＰＵ６４５による制御手順を示すフローチャートである。
この測位制御処理は、第１実施形態の電子時計１における位置取得処理で呼び出される測位制御処理と比較して、ステップＳ６４１の処理が追加され、また、ステップＳ６１０、Ｓ６２４の処理がそれぞれステップＳ６１０ａ、Ｓ６２４ａの処理に置き換えられている。その他の処理は、第１実施形態の電子時計１と第２実施形態の電子時計１とで同一であり、同一の処理内容には同一の符号を付して説明を省略する。
【０１０５】
ステップＳ６０１の処理で衛星電波受信処理部６０が測位制御処理に伴って起動されたのではないと判別された場合（ステップＳ６０１で“ＮＯ”）、及びステップＳ６０３の処理で日時情報が取得されて計時日時が更新された後、モジュールＣＰＵ６４５は、ホストＣＰＵ４１から移動情報を取得する（ステップＳ６４１）。それから、モジュールＣＰＵ６４５の処理は、ステップＳ６０４に移行する。
【０１０６】
また、ステップＳ６０９の処理に続いて、モジュールＣＰＵ６４５は、計数日時の前回の測位後における想定誤差が基準値以上であるか、又は前回の測位やビット同期実施のタイミングから自機（現在位置）が所定の基準距離以上移動したか否かを判別する（ステップＳ６１０ａ）。ここでは、ステップＳ６４１の処理で取得された移動情報に加えて、測位衛星からの送信電波に基づく連続測位が実施されている場合における当該測位期間中の移動距離も考慮対象とすることができる。いずれかであると判別された場合には（ステップＳ６１０ａで“ＹＥＳ”）、モジュールＣＰＵ６４５の処理はステップＳ６２１に移行し、いずれでもないと（想定誤差が基準値未満かつ移動量が所定の基準距離未満）判別された場合には（ステップＳ６１０ａで“ＮＯ”）、モジュールＣＰＵ６４５の処理は、ステップＳ６１１に移行する。
【０１０７】
ステップＳ６２３で受信、復調された航法メッセージの各ビット値を順番に同定していく処理を進め、モジュールＣＰＵ６４５は、ビット配列から日時を取得したか否かを判別する（ステップＳ６２４ａ）。この日時の取得には、第１実施形態のようにＴＯＷを直接解読する場合のほか、計数日時の誤差が±３秒以内などで、プリアンブルを同定するだけでどのサブフレームのプリアンブルであるか、すなわち、プリアンブルの受信日時を一意に定める場合などを含む。日時を取得したと判別された場合には（ステップＳ６２４ａで“ＹＥＳ”）、モジュールＣＰＵ６４５の処理はステップＳ６２５に移行し、日時が取得されていないと判別された場合には（ステップＳ６２４ａで“ＮＯ”）、モジュールＣＰＵ６４５の処理は、ステップＳ６０８に戻る。
【０１０８】
図９は、本実施形態の電子時計１の測位制御処理で呼び出されるビット同期制御処理のモジュールＣＰＵ６４５による制御手順を示すフローチャートである。
このビット同期制御処理は、第１実施形態の電子時計１の測位制御処理で呼び出されるビット同期制御処理と比較して、ステップＳ６７１の処理が追加され、また、ステップＳ６５９の処理がステップＳ６５９ａの処理に置き換えられている点が異なる。その他の処理は第１実施形態の電子時計１と第２実施形態の電子時計１とで同一であり、同一の処理内容には同一の符号を用いることとして説明を省略する。
【０１０９】
ステップＳ６５８の処理の後、モジュールＣＰＵ６４５は、受信状況に応じたビット誤り率εを取得する（ステップＳ６７１）。このビット誤り率εは、厳密な実測値に限られるものではなく、例えば、受信された電波の受信強度（ＣＮ比）とビット誤り率εとの平均的な対応関係を予めテーブルデータとして記憶部６４６に記憶保持させておき、実際のＣＮ比に基づいてビット誤り率εを取得しても良い。また、必ずしもリアルタイムな受信状況が反映されていなくても良く、例えば、前回の間欠測位に係る受信時の受信強度（ＣＮ比）に基づいてビット誤り率εが決定されても良い。また、ビット誤り率εとしては、ＣＮ比に対応する本来の値よりも高い値に設定されることで急激かつ一時的な受信状況の悪化などを見込んでも良い。
【０１１０】
モジュールＣＰＵ６４５は、このビット誤り率εに基づいて、カウント数Ｎのビット値のうち、最小積算不一致個数Ｅｍ１のビット値が誤同定される確率Ｐｍａｘと、次点積算不一致個数Ｅｍ２のビット値が誤同定される確率Ｐｍａｘ２とを算出する（ステップＳ６５９ａ）。すなわち、ステップＳ６６０で算出される比率Ｐｄは、比較ビット値配列Ｒｒｐと完全一致する期間における２０個のビット値の配列と、その他の期間における２０個のビット値の配列とが誤認定される確率の下限値であり、この誤認定の確率が十分に小さいか否かがステップＳ６６１で判別される。
【０１１１】
以上のように、第２実施形態の電子時計１は、自機の運動状態を計測する計測部７１を備え、モジュールＣＰＵ６４５は、前回の測位により得られた現在位置（電子時計１の位置）からの移動量が所定の基準距離未満である場合に、ビットエッジ検出動作に基づく航法メッセージの１ビット長継続時間（２０ｍｓｅｃ）未満の現在日時の修正を行う。
このように、計数日時のずれだけではなく、測位衛星と現在位置との間の距離変化に応じた伝搬時間の変化を考慮に入れてビットエッジ検出動作のみで日時の修正が可能か否かを判断するので、より適切に簡便かつ短時間で日時の修正が可能になる。
【０１１２】
［第３実施形態］
次に、第３実施形態の電子時計について説明する。
この第３実施形態の電子時計１の構成は、第１実施形態の電子時計１の構成と同一であり、同一の符号を用いることとして説明を省略する。
【０１１３】
次に、第３実施形態の電子時計１の測位動作について説明する。
本実施形態の電子時計１における測位動作は、モジュールＣＰＵ６４５が制御する測位制御処理で呼び出されるビット同期制御処理の制御内容が異なる点を除き、第１実施形態の電子時計１における測位動作と同一である。ビット同期制御処理において、この電子時計１では、同定ビット値配列の各タイミング（位置）で開始された２０ｍｓｅｃ分（２０個）のビット値の配列部分と、これらの配列部分に対して各々タイミングが±１ｍｓｅｃ（先頭位置が±１個）異なる２０ｍｓｅｃ分のビット値の配列部分（前後配列部分）とをそれぞれ合わせて考慮してビットエッジを決定する。全てのビット値が正確に同定された場合には、比較ビット値配列Ｒｒｐと完全一致（又は完全不一致）するいずれか一つの配列部分の前後配列部分では、一致個数が「１」（又は不一致個数が「１」）となる。また、一致個数（又は不一致個数）がｍ（１≦ｍ≦１９）の配列部分の前後配列部分では、一致個数がそれぞれ「ｍ±１」となる。
【０１１４】
ここでは、積算一致個数Ｆ（ｊ）が最大となる開始位置（ｊ＝ｊｍ１）で特定される配列部分（積算誤同定数Ｅｍ１ｃ＝最小積算不一致個数Ｅｍ１）に対して１つずつ前後の（所定数ずれた）開始位置（ｊ＝ｊｍ１±１）で特定される前後配列部分における積算一致個数Ｆ（ｊｍ１±１）の「Ｎ−１」からのずれ（すなわち、誤同定数の「１」からのずれ）、｜（Ｎ−Ｆ（ｊｍ１±１））／２−１｜を積算誤同定数Ｅｍ１ｎ、Ｅｍ１ｐとしてそれぞれ用いる。すなわち、これら３つの配列部分について、誤同定の発生確率は、次の数式（数式１）で表される。
Ｐｍａｘ＝（１−ε）（Ｎ−Ｅｍ１ｃ＋Ｎ−Ｅｍ１ｎ＋Ｎ−Ｅｍ１ｐ）・ε（Ｅｍ１ｃ＋Ｅｍ１ｎ＋Ｅｍ１ｐ）・ＮＣＥｍ１ｃ・ＮＣＥｍ１ｎ・ＮＣＥｍ１ｐ  …  （数式１）
第１実施形態と同様に、ε＝０．５とすると、以下の数式（数式２）となる。
Ｐｍａｘ＝（１／２）３Ｎ・ＮＣＥｍ１ｃ・ＮＣＥｍ１ｎ・ＮＣＥｍ１ｐ  …  （数式２）
【０１１５】
積算一致個数Ｆ（ｊ）が二番目に大きい配列部分の開始位置（ｊ＝ｊｍ２）に対しても同様に、積算誤同定数Ｅｍ２ｃ、Ｅｍ２ｎ、Ｅｍ２ｐを用いて誤同定の発生確率を求めると、次の数式（数式３）のようになる。
Ｐｍａｘ２＝（１／２）３Ｎ・ＮＣＥｍ２ｃ・ＮＣＥｍ２ｎ・ＮＣＥｍ２ｐ  …  （数式３）
なお、ｊ＝０の配列部分（すなわち、同定ビット値配列の最初の２０ビット）よりも１ｍｓｅｃ前の配列部分としては、ｊ＝１９の配列部分（すなわち、同定ビット値配列の最後の２０ビット）が利用され、ｊ＝１９の配列部分よりも１ｍｓｅｃ後の配列部分には、ｊ＝０の配列部分が利用されれば良い。
【０１１６】
よって、これらの誤同定発生確率Ｐｍａｘ、Ｐｍａｘ２の比率Ｐｄが十分に小さければ、開始位置（ｊ＝ｊｍ１）の配列部分における１１個目のビット値のデータ受信開始タイミング（先頭のタイミング）がビットエッジとして決定される。
【０１１７】
図１０は、本実施形態の電子時計１で実行される測位制御処理で呼び出されるビット同期制御処理のモジュールＣＰＵ６４５による制御手順を示すフローチャートである。
このビット同期制御処理は、第１実施形態の電子時計１で実行されるビット同期制御処理と比較して、ステップＳ６５７〜Ｓ６５９の処理がそれぞれステップＳ６５７ａ〜Ｓ６５９ａに置き換えられた点を除いて同一である。同一の処理内容については同一の符号を用いることとして説明を省略する。
【０１１８】
ビット同期制御処理においてステップＳ６５６の処理が終了すると、モジュールＣＰＵ６４５は、最大積算一致個数Ｆｍ１と次点積算一致個数Ｆｍ２とを同定し、また、これらが得られる配列部分の同定ビット値配列における先頭位置を示す配列番号ｊをそれぞれ第１番号ｊｍ１、第２番号ｊｍ２とする（ステップＳ６５７ａ）。
【０１１９】
モジュールＣＰＵ６４５は、最大積算一致個数Ｆｍ１、次点積算一致個数Ｆｍ２をそれぞれ最小積算不一致個数Ｅｍ１、次点積算不一致個数Ｅｍ２に換算し、これらをそれぞれ積算誤同定数Ｅｍ１ｃ、Ｅｍ２ｃとする。また、モジュールＣＰＵ６４５は、第１番号ｊｍ１、第２番号ｊｍ２の各々前後のタイミングの配列部分における積算誤同定数Ｅｍ１ｎ、Ｅｍ１ｐ、Ｅｍ２ｎ、Ｅｍ２ｐをそれぞれ求める（ステップＳ６５８ａ）。
【０１２０】
モジュールＣＰＵ６４５は、積算誤同定数Ｅｍ１ｃ、Ｅｍ１ｎ、Ｅｍ１ｐを用いて誤同定発生確率Ｐｍａｘを求め、また、積算誤同定数Ｅｍ２ｃ、Ｅｍ２ｎ、Ｅｍ２ｐを用いて誤同定発生確率Ｐｍａｘ２を求める（ステップＳ６５９ａ）。それから、モジュールＣＰＵ６４５の処理は、ステップＳ６６０に移行する。
【０１２１】
以上のように、第３実施形態の電子時計１では、モジュールＣＰＵ６４５は、不一致個数が最も少ない第一の配列部分及び不一致個数が二番目に少ない第二の配列部分からそれぞれ１ビットずつ前後にずれた位置を先頭位置とする配列部分の比較ビット値配列Ｒｒｐとの不一致の度合を考慮して誤認定の確率を算出して、ビットエッジ検出動作を行う。
比較ビット値配列Ｒｒｐと完全一致（又は完全不一致）の配列部分と±１ビット先頭位置がずれた配列部分では、比較ビット値配列Ｒｒｐとの不一致（又は一致）が必ず１ビットになるので、この特性を利用して照合ビット数を増やすことで、より確実にビットエッジの正確な決定を行うことができる。特に、完全一致（又は完全不一致）となる配列部分に１ビットの誤同定が生じた場合などでも短時間で適切にビットエッジの決定が可能になる。
【０１２２】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。
例えば、上記実施の形態では、４０ビットのビット値が同定されて同定ビット値配列が完全に取得されてから、当該同定ビット値配列から２０ビットずつ先頭をずらしながら比較ビット値配列Ｒｒｐと比較照合を行ったが、先頭から２０ビットのビット値が同定された後、同定ビット値配列を更に延長しながら並行で比較ビット値配列Ｒｒｐとの比較照合を行っても良い。また、同定ビット値配列のうち先頭付近のビット値で既に配列部分として用いられなくなったものは全ての配列部分と比較ビット値配列Ｒｒｐとの比較照合が終了する前に消去されても良い。
【０１２３】
また、２０通りの配列部分の生成順は特に限られず、後ろから順に比較ビット値配列Ｒｒｐと比較されていっても良い。
【０１２４】
また、上記実施の形態では、一の比較ビット値配列Ｒｒｐに対して同定ビット値配列から配列部分をずらしながら比較照合することとしたが、ビット境界位置の異なる複数の比較ビット値配列に対して単一の２０ビット同定ビット値配列と比較照合することでも同様にビットの切り替わり位置が決定可能である。あるいは、確率的な処理を行わずに、単純に切り替わり位置（誤同定がある場合には、複数周期で最も切り替わり回数が多かった位置など）を特定するだけであっても良い。
【０１２５】
また、ビット値が各々同定される区分期間は、Ｃ／Ａコード一周期単位ではなく、半周期単位（０．５ｍｓｅｃごと）にビット値を同定しても良い。この場合、Ｃ／Ａコードの前半側と後半側との間にビットエッジが来ないように処理を限定しても良い。
【０１２６】
また、ビットデータの長さ（２０ｍｓｅｃ）に応じて２０個のビット値を比較ビット値配列Ｒｒｐと比較照合することとしたが、これよりも比較されるビット数が少なくても適切にビットエッジを検出することができる。ただし、確率的に誤認定を除外する精度に応じた最低ビット数以上とされる必要があり、また、２０ビットに近い（ビット数が多い）方がより好ましい。また、比較ビット値配列Ｒｒｐにおけるビット値の切り替わり位置は、中央に限られない。多少ずれていても一致する配列部分を検出することができる。また、いずれの側のビット値が「０」であっても良い。
【０１２７】
また、４０ビットの同定ビット値配列を取得して、先頭位置を１つずつずらしながら２０通りの配列部分を得ることとしたが、２０ビットの同定ビット値配列の最後尾と先頭とをつなげて最後尾のビットの次のビットを先頭のビットとして配列部分を得ることとしても良い。
【０１２８】
また、上記実施の形態では、積算一致個数Ｆ（ｊ）が最も大きいものと二番目に大きいものの二つが単純に選択可能として説明したが、二番目に大きいものが複数ある場合に最大のものと二番目に大きいものとの位置関係などを考慮しても良い。また、当初は第１実施形態や第２実施形態で示したように各配列部分についての比較照合結果を各々用い、十分な精度が得られない場合に第３実施形態で示したように前後の配列部分を追加して考慮する形態であっても良い。
【０１２９】
また、上記実施の形態では、間欠測位の場合には、モジュールＣＰＵ６４５の動作を中断させないこととしたが、中断させても良いし、測位間隔に応じて中断有無を切り替えても良い。
【０１３０】
また、上記実施の形態では、ビット同期を行う場合にいずれか一機の測位衛星を選択することとしたが、測位衛星の移動に伴い１ｍｓｅｃ以上移動している可能性のある測位衛星がある場合には、当該測位衛星についても同時にビット同期を行うこととしても良い。計数日時の修正は、いずれか一機の測位衛星について行われたビット同期に基づいて行われ得る。
【０１３１】
また、上記実施の形態では、エフェメリスを外部機器から取得可能としたが、取得可能でなくても短い時間間隔で測位を繰り返すような場合には本発明を好適に用いることができる。
【０１３２】
また、上記実施の形態で示したフローチャートでは、一度ビットエッジが決定されると、連続的に測位が行なわれている間は、時間が経過したり現在位置が移動したりしてＴＯＷの取得が必要になるまでＣ／Ａコードの周期内でのみ日時の微修正及び擬似距離の修正が行われることとしたが、このような連続的な測位が継続される場合でも現在位置や測位衛星の移動などに伴ってＣ／Ａコードの周期をまたいで擬似距離が変化する場合に当該測位衛星についてビットエッジの再同定を行うことができる。
【０１３３】
また、上記実施の形態では、ＧＰＳ及びこれを補完するみちびきなどの測位衛星からの送信電波を受信する場合の航法メッセージの送信フォーマットを例に挙げて説明したが、ロシアのＧＬＯＮＡＳＳなどについても本発明を適用することができる。ＧＬＯＮＡＳＳでは、Ｌ１帯の標準精度信号（ＳＰ）では、１００ｂｐｓ（１０ｍｓｅｃ長）で生成される航法メッセージが５１１ＫｂｐｓのＰＲＮ符号（１μｓｅｃ長の５１１チップ）により１ｍｓｅｃ周期でスペクトラム拡散されている。したがって、この場合には、ＰＲＮ符号に同期して１ｍｓｅｃごとに１０個のビット値を配列した同定ビット値配列と、前半５個と後半５個のビット値が異なる１０ビット長の比較ビット値配列とが比較照合されることで、上記実施形態と同様にビットエッジが検出される。比較数が足りない場合には、２周期分を積算したり、第３実施形態のように前後の配列部分を考慮に入れたりして精度を向上させることができる。
【０１３４】
また、上記実施の形態では、衛星電波受信装置の一例として電子時計１が備える衛星電波受信処理部６０を挙げて説明したが、衛星電波受信装置は、電子時計１に内蔵されるものに限られない。時計機能をメインとしない各種電子機器、例えば、測位機器やナビゲーション機器などに搭載されるものであっても良い。
【０１３５】
また、測位の結果が必ずしも電子時計１で表示可能である必要はなく、地方時を設定するための情報として用いられたり、履歴のみを保持して詳細な表示は外部機器でのみ可能とされたりしても良い。
【０１３６】
また、以上の説明では、本発明に係るモジュール制御部５２の処理動作に係るビット同期制御処理を含む測位制御処理の動作処理のプログラム６４６ａのコンピュータ読み取り可能な媒体としてフラッシュメモリやＥＥＰＲＯＭなどの各種不揮発性メモリを有する記憶部６４６を例に挙げて説明したが、これに限定されない。その他のコンピュータ読み取り可能な媒体として、ＨＤＤ（Hard Disk Drive）や、ＣＤ−ＲＯＭやＤＶＤディスクなどの可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウェーブ（搬送波）も本発明に適用される。
【０１３７】
また、各実施形態で示した種々の処理の内容は、互いに矛盾したり効果を相殺したりしない限りにおいて任意に組み合わせて実施することができる。
その他、上記実施の形態で示した構成、制御内容や手順などの具体的な細部は、本発明の趣旨を逸脱しない範囲において適宜変更可能である。
【０１３８】
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
【０１３９】
［付記］
＜請求項１＞
衛星から送信されるビットデータの配列からなるメッセージ信号を含む送信電波を受信する受信部と、
制御部と、
を備え、
前記制御部は、
前記メッセージ信号における各ビットデータの継続時間をそれぞれ複数に分割した区分期間ごとに当該メッセージ信号のビット値を同定して、同定されたビット値を受信順に配列した同定ビット値配列を取得し、
当該同定ビット値配列における複数のビット値の配列に基づいて、受信された前記送信電波においてビット値が切り替わる前記ビットデータの先頭タイミングを決定するビットエッジ検出動作を行い、
計数されている現在日時に対する決定された前記先頭タイミングのずれ量に応じて前記継続時間未満の現在日時のずれを修正し、
修正された現在日時を用いて測位を行う
ことを特徴とする衛星電波受信装置。
＜請求項２＞
前記制御部は、測位に用いられる複数の測位衛星からの送信電波のうち少なくともいずれか一つについて前記ビットエッジ検出動作を行い、決定された前記先頭タイミングに応じて修正された現在日時を用いて測位を行うことを特徴とする請求項１記載の衛星電波受信装置。
＜請求項３＞
前記制御部は、複数の測位衛星の位置情報を外部から取得して、当該位置情報と修正された現在日時とを用いて測位を行うことを特徴とする請求項２記載の衛星電波受信装置。
＜請求項４＞
前記区分期間は、前記メッセージ信号をスペクトラム拡散している擬似雑音符号の一周期分の長さであり、各周期に各々同期して定められることを特徴とする請求項１〜３のいずれか一項に記載の衛星電波受信装置。
＜請求項５＞
前記制御部は、前記ビットエッジ検出動作において、
２以上の所定数のビット値の配列からなり、当該所定数のビット値が予め定められた境界位置の前後で互いに異なる照合ビット値配列と、取得された前記同定ビット値配列をなす各ビット値のうち連続する前記所定数からなる配列部分とを、当該配列部分の先頭位置を前記継続時間に応じた数にわたって一つずつ前記照合ビット値配列に対してずらしながらそれぞれ照合し、
当該照合の結果、前記配列部分のうち前記照合ビット値配列との一致の度合及び不一致の度合のうち最も大きいものに対応する第一の配列部分における前記境界位置と対応する位置に基づいて前記先頭タイミングを決定する
ことを特徴とする請求項１〜４のいずれか一項に記載の衛星電波受信装置。
＜請求項６＞
前記所定数は、前記継続時間内における前記区分期間の数と等しく定められていることを特徴とする請求項５記載の衛星電波受信装置。
＜請求項７＞
前記制御部は、前記配列部分のうち前記照合ビット値配列との間の一致の度合及び不一致の度合のうち二番目に大きいものに対応する第二の配列部分に対して前記第一の配列部分が所定の確率以上で誤認定を生じない当該第一の配列部分における前記境界位置と対応する位置に基づいて、受信された前記送信電波における前記ビットデータの先頭タイミングを決定することを特徴とする請求項５又は６記載の衛星電波受信装置。
＜請求項８＞
前記制御部は、前記配列部分の各々について、前記照合により得られた一致の度合及び不一致の度合のうち小さい方を不一致の度合として定め、当該不一致の度合が最も小さいものと二番目に小さいものとを用いて前記ビットエッジ検出動作を行うことを特徴とする請求項７記載の衛星電波受信装置。
＜請求項９＞
前記制御部は、前記不一致の度合が二番目に小さい配列部分の検出確率に対する前記不一致の度合が最も小さい配列部分の検出確率の比率が所定の基準比率以下となる場合に前記先頭タイミングを決定することを特徴とする請求項８記載の衛星電波受信装置。
＜請求項１０＞
前記制御部は、前記一致の度合と前記不一致の度合の差が所定の基準差以下の場合には前記先頭タイミングの決定を行わずに前記照合の結果を放棄し、前記差が前記基準差より大きくかつ前記比率が前記所定の基準比率以下ではない場合には、前記照合の結果を複数周期積算して前記所定の基準比率以下の比率が得られるまで繰り返すことを特徴とする請求項９記載の衛星電波受信装置。
＜請求項１１＞
前記制御部は、前記第一の配列部分及び前記第二の配列部分からそれぞれ所定数ずれた位置を先頭位置とする配列部分における前記照合ビット値配列との不一致の度合を考慮して前記誤認定の確率を算出して、前記ビットエッジ検出動作を行うことを特徴とする請求項７〜１０のいずれか一項に記載の衛星電波受信装置。
＜請求項１２＞
前記制御部は、測位が前回行われてからの経過時間と計数されている現在日時に生じ得るずれの割合に係る予め保持された情報とに基づいて、現在日時のずれが前記継続時間以下の基準時間未満であると判別された場合に、前記ビットエッジ検出動作に基づく前記継続時間未満の現在日時のずれを修正することを特徴とする請求項１〜１１のいずれか一項に記載の衛星電波受信装置。
＜請求項１３＞
前記制御部は、
計数する現在日時を修正した場合には、独立に現在日時を計数する所定の外部計時部が計数する当該現在日時を修正させるための日時情報を出力し、
当該制御部の動作が中断後に再開された場合には、前記外部計時部から現在日時に係る情報を取得して現在日時の計数を開始し、
前記外部計時部が計数する日時に生じ得るずれの割合に係る情報と前記動作の中断期間の長さとに応じて前記現在日時のずれが前記基準時間未満であるか否かを判別して、前記ビットエッジ検出動作に基づく前記継続時間未満の現在日時のずれを修正する
ことを特徴とする請求項１２記載の衛星電波受信装置。
＜請求項１４＞
前記制御部の動作時に計数される現在日時のずれの割合は、前記外部計時部が計数する現在日時のずれの割合よりも小さいことを特徴とする請求項１３記載の衛星電波受信装置。
＜請求項１５＞
自機の運動状態を計測する計測部を備え、
前記制御部は、前回の測位により得られた現在位置からの移動量が所定の基準距離未満である場合に、前記ビットエッジ検出動作に基づく前記継続時間未満の現在日時のずれを修正する
ことを特徴とする請求項１〜１４のいずれか一項に記載の衛星電波受信装置。
＜請求項１６＞
請求項１〜１５のいずれか一項に記載の衛星電波受信装置と、
現在日時を計数する計時部と、
前記計時部が計数する現在日時に基づいて少なくとも時刻の表示を行う表示部と、
を備え、
前記制御部は、日時情報が修正された場合に前記計時部が計数する日時を修正するための日時情報を出力し、当該制御部の動作の中断後に再開された場合には、前記計時部が計数する日時を取得して現在日時の計数を開始する
ことを特徴とする電子時計。
＜請求項１７＞
前記衛星電波受信装置による測位結果を前記表示部により行わせる表示制御部を備えることを特徴とする請求項１６記載の電子時計。
＜請求項１８＞
衛星から送信されるビットデータの配列からなるメッセージ信号を含む送信電波を受信する受信部を備える衛星電波受信装置の測位制御方法であって、
前記メッセージ信号における各ビットデータの継続時間をそれぞれ複数に分割した区分期間ごとに当該メッセージ信号のビット値を同定して、同定されたビット値を受信順に配列した同定ビット値配列を取得するビット値同定ステップ、
当該同定ビット値配列における複数のビット値の配列に基づいて、受信された前記送信電波においてビット値が切り替わる前記ビットデータの先頭タイミングを決定するビットエッジ検出動作を行うビットエッジ検出ステップ、
計数されている現在日時に対する決定された前記先頭タイミングのずれ量に応じて前記継続時間未満の現在日時のずれを修正する日時ずれ修正ステップ、
修正された現在日時を用いて測位を行う測位実行ステップ、
を含むことを特徴とする測位制御方法。
＜請求項１９＞
衛星から送信されるビットデータの配列からなるメッセージ信号を含む送信電波を受信する受信部を備える衛星電波受信装置のコンピュータを
前記メッセージ信号における各ビットデータの継続時間をそれぞれ複数に分割した区分期間ごとに当該メッセージ信号のビット値を同定して、同定されたビット値を受信順に配列した同定ビット値配列を取得するビット値同定手段、
当該同定ビット値配列における複数のビット値の配列に基づいて、受信された前記送信電波においてビット値が切り替わる前記ビットデータの先頭タイミングを決定するビットエッジ検出動作を行うビットエッジ検出手段、
計数されている現在日時に対する決定された前記先頭タイミングのずれ量に応じて前記継続時間未満の現在日時のずれを修正する日時ずれ修正手段、
修正された現在日時を用いて測位を行う測位実行手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【０１４０】
１     電子時計
４１   ホストＣＰＵ
４２   ＲＯＭ
４２１ プログラム
４３   ＲＡＭ
４４   発振回路
４５   分周回路
４６   計時回路
４７   表示部
４８   表示ドライバ
４９   操作受付部
５０   電力供給部
６０   衛星電波受信処理部
６３   ＲＦ部
６４   ベースバンド部
６４１ 捕捉部
６４２ 追尾部
６４３ Ｃ／Ａコード生成部
６４４ 分周回路
６４５ モジュールＣＰＵ
６４６ 記憶部
６４６ａ      プログラム
６４６ｂ      ＢＥＲ記憶部
６４６ｃ      比較ビット値配列データ
６５   発振回路
７０   通信部
７１   計測部
ＡＮ   アンテナ
ｄＴｃ 基準時間
ｄＴｅ 想定誤差
Ｅｍ１ 最小積算不一致個数
Ｅｍ１ｃ、Ｅｍ１ｎ、Ｅｍ１ｐ       積算誤同定数
Ｅｍ２ 次点積算不一致個数
Ｅｍ２ｃ、Ｅｍ２ｎ、Ｅｍ２ｐ       積算誤同定数
Ｆｍ１ 最大積算一致個数
Ｆｍ２ 次点積算一致個数
ｐ     同定ビット値配列
Ｒｒｐ 比較ビット値配列
【図１】
2018132303.tif 000003
【図２】
2018132303.tif 000004
【図３】
2018132303.tif 000005
【図４】
2018132303.tif 000006
【図５】
2018132303.tif 000007
【図６】
2018132303.tif 000008
【図７】
2018132303.tif 000009
【図８】
2018132303.tif 000010
【図９】
2018132303.tif 000011
【図１０】
2018132303.tif 000012