(58)【調査した分野】(Int.Cl.,DB名)
前記初期位置設定手段は、前記複数の測位衛星の位置をそれぞれ所定の重みで平均した位置の緯度経度に応じた地球表面上の位置に前記初期位置を設定することを特徴とする請求項1記載の測位装置。
前記初期位置修正手段は、前記経過時間に所定の移動速度を乗じた最大推定移動距離が、前記前回の現在位置から前記初期位置までの距離よりも小さい場合に、前記前回の現在位置から前記初期位置への方向に当該最大推定移動距離移動させた位置に前記初期位置を設定することを特徴とする請求項1又は2記載の測位装置。
前記初期位置修正手段は、前記経過時間に所定の移動速度を乗じた最大推定移動距離が、前記前回の現在位置から前記初期位置までの距離よりも小さい場合に、前記初期位置を通り、前記平面と地球表面との交線に対して垂直な線上であって、且つ、前記前回の現在位置から前記最大推定移動距離となる地球表面上の点に前記初期位置を移動させて設定することを特徴とする請求項1又は2記載の測位装置。
前記初期位置修正手段は、前記経過時間に所定の移動速度を乗じた最大推定移動距離が、前記前回の現在位置から前記初期位置までの距離よりも小さい場合に、前記初期位置から前記前回の現在位置への方向と、前記平面と地球表面との交線に垂直な方向と、を二等分する方向であって、且つ、前記前回の現在位置から前記最大推定移動距離となる地球表面上の点に前記初期位置を移動させて設定することを特徴とする請求項1又は2記載の測位装置。
測位衛星からの電波を受信する受信手段を備える測位装置において、前記電波が受信された複数の測位衛星の位置及び当該複数の測位衛星からの電波の伝播時間差に基づいて、現在位置を求めるための設定位置を修正しながら前記現在位置に収束させていくことで、前記現在位置を数値的に算出する現在位置算出方法であって、
前記電波が受信された複数の測位衛星の位置に基づいて前記設定位置の初期位置を設定する初期位置設定ステップ、
前記複数の測位衛星が地球表面に対して垂直な平面から所定の範囲内に偏在している場合に、前回算出された現在位置と、当該前回の算出からの経過時間とに基づいて前記初期位置を前記平面から離れる方向に移動させて設定する初期位置修正ステップ、
を含むことを特徴とする現在位置算出方法。
【発明を実施するための形態】
【0010】
以下、本発明の測位装置及び電波時計の実施形態について図面に基づいて説明する。
[第1実施形態]
図1は、本発明の測位装置及び電波時計の第1実施形態である電子時計1の機能構成を示すブロック図である。
【0011】
この電子時計1は、測位衛星(ここでは、少なくともGPS衛星)からの電波を受信して日時情報を取得することが可能な電波時計である。
電子時計1は、ホストCPU41(Central Processing Unit)(機内モード設定手段、表示制御手段)と、ROM42(Read Only Memory)と、RAM43(Random Access Memory)と、発振回路44と、分周回路45と、計時手段としての計時回路46と、表示手段としての表示部47と、表示ドライバ48と、操作手段としての操作部49と、電源部50と、衛星電波受信処理部60(受信手段)と、アンテナANなどを備える。
【0012】
ホストCPU41は、各種演算処理を行い、電子時計1の全体動作を統括制御する。ホストCPU41は、ROM42から制御プログラムを読み出し、RAM43にロードして日時の表示や各種機能に係る演算制御や表示などの各種動作処理を行う。また、ホストCPU41は、衛星電波受信処理部60を動作させて測位衛星からの電波を受信させ、受信内容に基づいて求められた日時情報や位置情報を取得する。
【0013】
ROM42は、マスクROMや書き換え可能な不揮発性メモリなどであり、制御プログラムや初期設定データが記憶されている。制御プログラムの中には、測位衛星から各種情報を取得するための各種処理の制御に係るプログラム421が含まれる。また、初期設定データとしては、例えば、区分けされた世界の各地がそれぞれ属するタイムゾーンに係る情報や夏時間実施ルールに係る情報を記憶した時差テーブル422が含まれる。
【0014】
RAM43は、SRAMやDRAMなどの揮発性のメモリであり、ホストCPU41に作業用のメモリ空間を提供して一時データを記憶すると共に、各種設定データを記憶する。各種設定データには、電子時計1のホーム都市設定や、日時の計数、表示における夏時間の適用可否に係る設定が含まれる。
【0015】
発振回路44は、予め定められた所定の周波数信号を生成して出力する。この発振回路44には、例えば、水晶発振器が用いられている。
【0016】
分周回路45は、発振回路44から入力された周波数信号を計時回路46やホストCPU41が利用する周波数の信号に分周して出力する。この出力信号の周波数は、ホストCPU41による設定に基づいて変更することが可能であっても良い。
【0017】
計時回路46は、分周回路45から入力された所定の周波数信号の入力回数を計数して初期値に加算することで現在の日時を計数する。計時回路46としては、ソフトウェア的にRAMに記憶させる値を変化させるものであっても良いし、或いは、専用のカウンタ回路を備えていても良い。計時回路46の計数する日時は、特には限られないが、所定のタイミングからの累積時間、UTC日時(協定世界時)、又は予め設定されたホーム都市の日時(地方時)などのうち何れかである。また、この計時回路46の計数する日時自体は、必ずしも年月日、時分秒の形式で保持される必要がない。
【0018】
表示部47は、例えば、液晶ディスプレイ(LCD)や有機EL(Electro-Luminescent)ディスプレイなどの表示画面を備え、ドットマトリクス方式及びセグメント方式の何れか又はこれらの組み合わせにより日時や各種機能に係るデジタル表示動作を行う。
表示ドライバ48は、表示画面の種別に応じた駆動信号をホストCPU41からの制御信号に基づいて表示部47に出力して、表示画面上に表示を行わせる。
【0019】
操作部49は、ユーザからの入力操作を受け付けて、当該入力操作に応じた電気信号を入力信号としてホストCPU41に出力する。この操作部49には、例えば、押しボタンスイッチやりゅうずスイッチが含まれる。
或いは、表示部47の表示画面にタッチセンサが設けられ、当該タッチセンサへのユーザの接触動作に係る接触位置や接触態様に応じた操作信号を出力するタッチパネルとして機能させることで、表示部47と操作部49とが一体的に設けられても良い。
【0020】
電源部50は、電子時計1の動作に係る電力を所定の電圧で各部に供給する。電源部50のバッテリとしては、ここでは、ソーラパネルと二次電池が用いられている。ソーラパネルは、入射した光により起電力を生じてホストCPU41などの各部に電力供給を行うと共に、余剰電力が生じた場合には、当該電力を二次電池に蓄電する。一方、ソーラパネルへの外部からの入射光量により発電可能な電力が消費電力に対して不足している場合には、二次電池から電力が供給される。或いは、バッテリとしてボタン型などの一次電池が用いられても良い。
【0021】
衛星電波受信処理部60は、アンテナANを介して測位衛星からの電波に同調してC/Aコードを同定、捕捉することで当該電波を受信し、測位衛星が送信する航法メッセージを復調、復号して必要な情報を取得する。衛星電波受信処理部60は、モジュールCPU61(現在位置算出手段、初期位置設定手段、初期位置修正手段、地方時取得手段)と、メモリ62と、記憶部63と、RF部64と、ベースバンド変換部65と、捕捉追尾部66などを備える。
【0022】
モジュールCPU61は、ホストCPU41からの制御信号や設定データの入力に応じて衛星電波受信処理部60の動作を制御する。モジュールCPU61は、記憶部63から必要なデータを読み出して、RF部64、ベースバンド変換部65及び捕捉追尾部66を動作させ、受信された各測位衛星からの受信タイミングの差(疑似距離)と当該測位衛星の位置情報とに基づいて現在位置を算出する。
【0023】
メモリ62は、衛星電波受信処理部60におけるモジュールCPU61に作業用のメモリ空間を提供するRAMである。
記憶部63は、GPS測位に係る各種設定データや測位の履歴を記憶する。記憶部63には、フラッシュメモリやEEPROM(Electrically Erasable and Programmable Read Only Memory)などの各種不揮発性メモリが用いられる。記憶部63に記憶されるデータには、各測位衛星の予測軌道情報(アルマナック)や、前回の測位日時及び位置が含まれる。また、記憶部63には、時差テーブル631が記憶されている。この時差テーブル631は、RAM43に記憶された時差テーブル422と同一のものであり、衛星電波受信処理部60において測位が行われた際にこの時差テーブル631が参照されて、標準時間での時差や夏時間実施情報などの地方時情報が特定される。
また、記憶部63には、測位を行ってこの地方時情報を特定するためのプログラム632が記憶されており、モジュールCPU61により読み出されて実行される。
【0024】
RF部64は、受信されたL1帯(GPS衛星では、1.6425GHz)の信号を選択し、増幅して中間周波数信号に変換する。RF部64には、LNA(低雑音増幅器)、BPF(帯域透過フィルタ)、局部発振器やミキサなどが含まれる。
【0025】
ベースバンド変換部65は、RF部64で得られた中間周波数信号からベースバンド信号を取得する。
捕捉追尾部66は、受信された信号に対して各測位衛星の各位相でのC/Aコード(疑似ランダムノイズ)との間で各々相関値を算出してそのピークを特定することで、受信されている測位衛星からの信号とその位相を同定する。また、捕捉追尾部66は、同定された測位衛星のC/Aコードとその位相により当該測位衛星からの航法メッセージを継続的に復調、復号する。
【0026】
この衛星電波受信処理部60は、電源部50から直接電力が供給され、そのオンオフがホストCPU41の制御信号により切り替えられる。即ち、衛星電波受信処理部60は、測位衛星からの電波受信及び日時取得や測位に係る算出動作が行われている期間以外には、常時動作しているホストCPU41などとは別個に電源がオフされる。また、本実施形態の衛星電波受信処理部60では、操作部49への入力操作に基づいて、航空機の飛行期間中における電波利用を制限するための機内モードへの切替が可能になっており、当該機内モード中には、ホストCPU41により衛星電波受信処理部60の電源オンが禁止される。或いは、機内モード中には、衛星電波受信処理部60における電波受信動作のみが禁止されても良い。
【0027】
次に、本実施形態の電子時計1における測位動作について説明する。
本実施形態の電子時計1では、4機以上の測位衛星から航法メッセージを取得し、当該取得された航法メッセージの取得タイミングのずれ(伝播時間差)に基づいて疑似距離を算出する。そして、取得された航法メッセージに含まれるエフェメリスデータを用いて又は記憶部63から当該測位衛星の予測軌道情報を読み出して現在の測位衛星の位置を取得(算出)し、これら疑似距離と測位衛星の位置とに基づいて現在位置を未知数とした連立方程式の解を求める。
【0028】
電子時計1では、従来通り、初期位置を設定し、ニュートン・ラフソン法などを用いて数値的に収束解を求めることで現在位置が得られる。初期位置としては、前回の測定位置や今回の測位に用いられる測位衛星の配置に基づいて、必要に応じて修正がなされることで定められる。
【0029】
図2は、初期位置の設定について示す図である。
この図では、上空から地表を見下ろした場合の平面図が示されている。GPS衛星は、略球面状の地球表面の上空を略円軌道を描いて移動しており、位置S1〜S4は平面内への投影位置、距離t1〜t4は、平面内に投影された距離であり、破線で示された円は、位置S1〜S4から距離t1〜t4の点をそれぞれ含む地表面上の円を便宜上示したものである。
図2(a)に示すように、測位に用いられる4機の測位衛星の現在の位置S1〜S4と距離t1〜t4に応じた疑似距離がそれぞれ得られた場合に、位置S1〜S4に基づいて、例えば、ここでは、位置S1〜S4を平均した位置の緯度経度における地表面上の位置を初期位置c0として定めることが出来る。このとき、これらの位置S1〜S4には、各測位衛星の疑似距離などに応じて重み付け(例えば、疑似距離が小さいほど重みを大きくする)が行われても良いし、単純に、均等な重みであっても良い。また、このとき、初期位置の高さ方向の値としては、地球表面上(平均地球半径約6370km)の位置に設定することが出来る。測位衛星の配位(位置の分布)が適切に分散されている場合には、この初期位置c0から速やかに唯一の収束点c1に収束させて現在位置を求めることが出来る。
ここで、地球表面上とは、実際の地形における凹凸を考慮した高さである必要はなく、ジオイド面(平均海水面)、即ち、標高0mの位置やこれに準ずる位置(例えば、標高100mなど)で良く、更には、単一の半径(例えば、6370km)で定まる球面の表面位置であっても良い。ジオイド面などを利用する場合には、予め緯度経度ごとに地心距離をテーブルデータとして記憶部63などに記憶させておくことが出来る。
【0030】
これに対し、測位に用いられる測位衛星の配位(位置の分布)が偏っている場合、特に、
図2(b)に示すように、一の平面上(例えば、平面視で略一直線)上に偏在する場合、当該平面(平面視で直線)に対して対称な位置に二つの収束点c1、c2が存在し得る。この場合、上記のように単純に位置S1〜S4を用いて初期位置c0を定めると、当該初期位置も同一の平面(平面視で直線)上となる。従って、収束点c1、c2のうち何れにも収束し得ることになり、両収束点の近傍領域間を往復して収束がうまくいかなかったり、誤った収束点に係る測位結果が得られたりする場合が生じる。
【0031】
図3は、本実施形態の電波時計における初期位置の設定例について示す図である。
図2(b)に示した例と同様に、一の平面(平面視で直線)上付近に4衛星が偏在する場合、この電子時計1では、前回の測位で同定された位置と、前回の測位からの経過時間に基づいて初期位置を変更する。ここでは、前回の測位から経過時間dt後において、当該経過時間dtに所定の移動速度vpを乗じることで最大推定移動距離tmを算出する。そして、前回の測位で同定された前回位置cから初期位置c0までの距離tsよりも最大推定移動距離tmが小さい場合には、前回位置cから初期位置c0に向かって当該最大推定移動距離tm移動させた補正位置c0mに初期位置を変更することで、初期位置を4衛星が偏在する平面上から遠ざかる方向へと外し、当該最大推定移動距離tmの範囲内にある収束点c2に収束しやすい初期位置設定とすることが出来る。
【0032】
移動速度vpは、条件に応じて変更させることが出来る。例えば、この電子時計1では、通常、移動速度vpとして、自動車による移動を想定して、vp=80km/hに設定されているが、操作部49への入力操作に基づいて機内モードに切り替えられている期間中は、航空機による移動を想定して、vp=1000km/hに変更される。
【0033】
これらの演算は、特には限られないが、ここでは例えば、緯度経度及び高度から一度デカルト座標系に変換して行われる。最大推定移動距離tmが地球半径(曲率)に比して十分に小さい場合には、直線移動で近似しても良く、最大推定移動距離tmが大きい場合には、地表面に沿った移動は円弧状として見積もられる。
【0034】
図4は、本実施形態の電子時計1で実行されるタイムゾーン算出処理のモジュールCPU61による制御手順を示すフローチャートである。
【0035】
このタイムゾーン算出処理は、ユーザの操作部49への入力操作に基づいて、又は機内モードの解除動作に応じて自動で起動され、モジュールCPU61により読み出されたプログラム632に従って行われる。
タイムゾーン算出処理が開始されると、モジュールCPU61は、初期設定と動作チェックを行う(ステップS101)。モジュールCPU61は、このときにバッテリ状態の確認を行い、電源部50のバッテリ容量が十分に無い場合には、後述するタイムアウト時間を短縮設定したり、タイムゾーン算出処理自体を中止して処理を終了させたりする。
【0036】
モジュールCPU61は、RF部64、ベースバンド変換部65及び捕捉追尾部66を動作させて、GPS衛星からの電波受信を開始させる(ステップS102)。モジュールCPU61は、捕捉追尾部66に先ず捕捉動作を行わせる(ステップS103)。そして、GPS衛星からの送信電波が捕捉されると、モジュールCPU61は、当該捕捉された電波について、捕捉追尾部66に順次追尾動作を行わせて航法メッセージを復調、復号する(ステップS104)。このとき、予め設定された機数のGPS衛星からの送信電波が捕捉された段階で捕捉動作を中止させることが出来る。
【0037】
4機以上のGPS衛星から測位に必要な情報が取得されると、モジュールCPU61は、当該4機以上のGPS衛星の位置を算出する。また、モジュールCPU61は、算出されたGPS衛星の位置に基づいて、現在位置(測位対象位置)をニュートン・ラフソン法で算出するための初期位置を算出する(ステップS105)。
【0038】
モジュールCPU61は、捕捉されたGPS衛星の位置が同一平面内にあるか否かを判別する(ステップS106)。ここで、同一平面内とは、必ずしも完全な同一平面を意味するものではなく、例えば、2機のGPS衛星を含む平面に対する他のGPS衛星の距離や、1機のGPS衛星を基準として当該GPS衛星と他の3機のGPS衛星とをそれぞれ含む平面間の角度差が基準値以内にあるか否かにより実質的に同一平面内であるか否かを判別する。同一平面内にはないと判別された場合には(ステップS106で“NO”)、モジュールCPU61の処理は、ステップS112に移行する。
【0039】
捕捉されたGPS衛星の位置が同一平面内にあると判別された場合には(ステップS106で“YES”)、モジュールCPU61は、記憶部63に前回位置cが記憶されているか否かを判別する(ステップS107)。記憶されていないと判別された場合には(ステップS107で“NO”)、モジュールCPU61の処理は、ステップS103に戻り、モジュールCPU61は、捕捉動作からやり直す。記憶されていると判別された場合には(ステップS107で“YES”)、モジュールCPU61は、当該前回の測位が行われてからの経過時間に基づいて前回の測位地点からの最大推定移動距離tmを算出する(ステップS108)。
【0040】
モジュールCPU61は、最大推定移動距離tmが初期位置c0と前回位置cとの間の距離よりも小さいか否かを判別する(ステップS109)。小さくないと判別された場合には(ステップS109で“NO”)、モジュールCPU61の処理は、ステップS103に戻る。
【0041】
最大推定移動距離tmが初期位置c0と前回位置cとの間の距離よりも小さいと判別された場合には(ステップS109で“YES”)、モジュールCPU61は、前回位置cが上述の捕捉衛星が位置する平面と同一面内にあるか否かを判別する(ステップS110)。同一平面内にあると判別された場合には(ステップS110で“YES”)、モジュールCPU61の処理は、ステップS103に戻る。同一平面内にないと判別された場合には(ステップS110で“NO”)、モジュールCPU61は、初期位置c0を補正位置c0mに変更する補正を行う(ステップS111)。それから、モジュールCPU61の処理は、ステップS112に移行する。
【0042】
ステップS106、S111の処理からステップS112の処理に移行すると、モジュールCPU61は、ニュートン・ラフソン法を用いて初期位置c0から現在位置に収束させる測位演算を行う(ステップS112)。現在位置が求められると、モジュールCPU61は、当該現在位置の精度が十分(OK)であるか否かを判別する(ステップS113)。この精度は、現在位置の算出に伴って得られるDOP(Dilution of Position)などを予め設定された基準値と比較することで行われる。
【0043】
位置精度が十分であると判別された場合には(ステップS113で“YES”)、モジュールCPU61は、時差テーブル631を参照し、求められた現在位置に対応する時差と夏時間実施情報とを取得する(ステップS114)。モジュールCPU61は、現在のUTC日時及び夏時間の実施有無を考慮した時差に係る情報を含む日時情報を所定のフォーマットでホストCPU41に出力し(ステップS115)、タイムゾーン算出処理を終了する。
【0044】
一方、位置精度が十分ではないと判別された場合には(ステップS113で“NO”)、モジュールCPU61は、ステップS101で設定されたタイムアウト時間が経過してタイムアウトとなったか否かを判別する(ステップS116)。タイムアウトとなっていないと判別された場合には(ステップS116で“NO”)、モジュールCPU61の処理は、ステップS104に戻る。タイムアウトとなったと判別された場合には(ステップS116で“YES”)、モジュールCPU61は、ホストCPU41に対してエラー出力を行い(ステップS117)、タイムゾーン算出処理を終了する。
【0045】
以上のように、本実施形態の電子時計1は、測位衛星からの電波を受信する衛星電波受信処理部60と、電波が受信された複数の測位衛星の位置及び当該複数の測位衛星からの電波の伝播時間差に基づいて、現在位置を求めるための設定位置を修正しながら現在位置に収束させていくことで、この現在位置を数値的に算出する現在位置算出手段としてのモジュールCPU61と、を備える。
モジュールCPU61は、電波が受信された複数の測位衛星の位置に基づいて設定位置の初期位置を設定し(初期位置設定手段)、現在位置の算出に係る複数の測位衛星が地球表面に垂直な平面から所定の範囲内に複数の測位衛星が偏在している場合に、前回算出された現在位置と、当該前回の算出からの経過時間とに基づいて初期位置を一の領域から離れる方向に移動させて設定する(初期位置修正手段)。
従って、現在位置を求めるための収束演算の初期位置情報が不足している場合であっても、前回の測位位置と今回の測位に係る衛星位置とに基づいて、ニュートン・ラフソン法などで解に収束し難い位置から初期位置をより確度の高い収束点の側にずらすことで、速やかに測位演算を収束させることが可能に初期位置を設定することが出来る。また、例え誤った収束点の側に収束した場合でも、収束までに要する時間が短縮されるので、他の条件により、得られた結果が正しくないと判別可能な場合に、速やかに初期位置を再設定して再度測位を行っても合計の受信時間が短縮可能となる。
【0046】
また、初期位置は、先ず、測位に用いられる複数の測位衛星の位置をそれぞれ所定の重みで平均した位置の緯度経度に応じた地球表面上の位置に設定されるので、可視状態の測位衛星の配置に応じた適切な初期位置を容易に算出することが出来る。
【0047】
また、モジュールCPU61(初期位置修正手段)は、前回の測位からの経過時間dtに所定の移動速度vpを乗じた最大推定移動距離tmが、前回の現在位置cから初期位置c0までの距離よりも小さい場合に、前回の現在位置cから初期位置c0への方向に最大推定移動距離移動tmさせた位置c0mに初期位置の設定を変更する。従って、前回位置からの移動可能距離に応じた範囲内で初期位置をより適切な収束点に近い側に変更させるので、速やか且つより適切に正確な現在位置に収束させて現在位置を取得することが出来る。
【0048】
また、ホストCPU41は、衛星電波受信処理部60による測位衛星からの電波受信動作を禁止する機内モード設定機能を有し(機内モード設定手段)、電子時計1は、ユーザの入力操作を受け付けて、機内モード設定機能のオンオフを切り替える操作部49を備え、所定の移動速度vpとしては、機内モード設定機能により測位衛星からの電波受信動作が禁止されている期間には、航空機の飛行速度に応じた速度、例えば、vp=1000km/hに設定され、測位衛星からの電波受信動作が禁止されていない期間には、地上走行移動速度に応じた速度、例えば、vp=80km/hに設定され、経過時間は、異なる移動速度の各々について計数される。従って、一律に最高の移動可能速度で最大推定移動距離tmを算出する場合よりも経過時間の増大に伴うこの最大推定移動距離tmの増大を防ぐことが出来るので、より正確な側に初期位置の補正位置c0mを設定して、正確な現在位置を速やかに求めやすくすることが出来る。
【0049】
また、電子時計1は、上述の測位装置としての各構成と、現在の日時を計数する計時回路46と、を備え、ホストCPU41は、算出された現在位置に応じた地方時情報を取得し(地方時取得手段)、現在の日時に取得された地方時情報に基づく時差を反映させて表示部47に表示させる(表示制御手段)。従って、電力供給に余裕の無いことの多い電波時計、特に、腕時計などの携帯型のものであっても、速やかに測位を行って現在位置及びこの現在位置に応じた地方時情報を取得し、世界の各地で正確な地方時の表示を行わせることが出来る。
【0050】
また、上述の初期位置の設定及び変更に係る方法を用いて速やかに測位演算を収束させることで、初期位置情報が不足している状況でも速やかに結果を得ることが出来る。
【0051】
また、衛星電波受信処理部60及びアンテナANを備えるコンピュータに当該プログラムをインストールして実行することで、測位の際に初期位置情報が不足していても、収束に時間がかかったり収束しなかったりすることによるコンピュータの負荷を低減させ、速やかに結果を得ることが出来る。
【0052】
[第2実施形態]
次に、第2実施形態の電波時計について説明する。
図5は、第2実施形態の電子時計1aの機能構成を示すブロック図である。
この電子時計1aは、第1実施形態の電子時計1に対して計測手段としてのセンサ部51とそのドライバ52が設けられている点を除き同一であり、同一の構成要素には同一の符号を付して説明を省略する。
【0053】
センサ部51は、電子時計1aの運動状態を計測するセンサを備える。このようなセンサとしては、例えば、加速度センサ、方位センサや気圧センサなどが挙げられる。
【0054】
加速度センサは、互いに直交する3軸方向の加速度を計測するセンサであり、例えば、圧電素子を用いた半導体センサである。この加速度センサの出力には、重力加速度が含まれていなくても良いが、3軸方向に対する重力加速度の方向が同定され得ることが好ましい。
【0055】
方位センサには、地磁気を主に検出することで磁北を同定する磁気センサが用いられる。磁気センサとしては、例えば、磁気抵抗素子(MR素子)を用いた小型軽量なものが用いられる。
【0056】
気圧センサは、圧電素子などを用いて気圧を計測するセンサであり、予めROM42などに保持された気圧と高度の換算テーブルを参照することで高度の概算を得るためのセンサである。この気圧センサの計測値は、気象変動に伴う気圧変化の影響を受けるので、厳密な値ではなく、また、航空機内部のように機密状態が保たれている場合には、気圧センサにより高度を計測することが出来ない。
【0057】
ドライバ52は、これらのセンサに対して所定の駆動電圧を印加して適切に動作させると共に、所定のサンプリングレートでこれらのセンサの出力値をデジタル変換して取得し、ホストCPU41に出力する。
【0058】
次に、本実施形態の電子時計1aによる測位動作について説明する。
この電子時計1aでは、センサ部51の計測データに基づいて、移動速度設定手段としてのホストCPU41が運動状態の判別を行ってその履歴を取得する。モジュールCPU61は、タイムゾーン算出処理において、この履歴に基づいて最大推定移動距離tmを算出して、初期位置c0の補正を行う。
【0059】
ここでは、運動状態として、以下の4種類が設定される。
状態1:通常移動状態(移動速度vp=80km/h)。
状態2:高速飛行移動状態(移動速度vp=1000km/h)、航空機による移動に対応。
状態3:高速走行移動状態(移動速度vp=400km/h)、新幹線やTGVといった高速鉄道による移動に対応。
状態4:静止状態(移動速度vp=0km/h)。
【0060】
図6は、本実施形態の電子時計1aにおける運動状態取得処理のホストCPU41による制御手順を示すフローチャートである。
【0061】
この運動状態取得処理は、衛星電波受信処理部60から時差情報や測位情報が取得されるごとに起動される。
運動状態取得処理が開始されると、ホストCPU41は、RAM43に記憶されている運動履歴を初期化する(ステップS201)。ホストCPU41は、初期設定として、状態1(移動速度vp=80km/h)に設定する(ステップS202)。また、ホストCPU41は、この初期設定状態と開始日時とを履歴データとして記憶させる(ステップS203)。それから、ホストCPU41の処理は、ステップS204〜S216のループ処理に入る。
【0062】
ホストCPU41は、機内モードに移行したか否かを判別する(ステップS204)。機内モードに移行したと判別された場合には(ステップS204で“YES”)、ホストCPU41は、状態2に設定し(ステップS205)、それから処理をステップS206に移行させる。機内モードに移行していない又は既に機内モード中であると判別された場合には(ステップS204で“NO”)、ホストCPU41の処理は、ステップS206に移行する。
【0063】
ステップS204、S205の処理からステップS206の処理に移行すると、ホストCPU41は、ドライバ52から出力された加速度データを取得する(ステップS206)。ホストCPU41は、所定時間以上連続して重力加速度を除いた加速度が「0」のまま変化が無いか否かを判別する(ステップS207)。変化がないと判別された場合には(ステップS208で“YES”)、ホストCPU41は、状態4に設定し(ステップS208)、それから、処理をステップS209に移行させる。所定時間以上加速度変化がない状態ではない、即ち、所定時間が経過する前に加速度変化があった、又は加速度変化が「0」となってから所定時間が経過していないと判別された場合には(ステップS207で“NO”)、ホストCPU41の処理は、ステップS209に移行する。
【0064】
ステップS207、S208の処理からステップS209の処理に移行すると、ホストCPU41は、「0」でない同一符号の加速度が継続的に計測されて、当該加速度による速度変化が基準値以上(例えば、200km/h以上)となったか否かを判別する(ステップS208)。基準値以上の速度となったと判別された場合には(ステップS209で“YES”)、ホストCPU41は、状態3に設定し(ステップS210)、それから、処理をステップS211に移行させる。継続的に計測された加速度により基準値以上の速度になっていないと判別された場合、即ち、加速度の符号が反転したり「0」となったりした、又は同一符号の加速度が継続されていても速度が基準値以上となっていないと判別された場合には、ホストCPU41の処理は、ステップS211に移行する。
【0065】
ステップS209、S210の処理からステップS211の処理に移行すると、ホストCPU41は、機内モードが解除されたか否かを判別する(ステップS211)。機内モードが解除されたと判別された場合には(ステップS211で“YES”)、ホストCPU41の処理は、ステップS215に移行する。機内モードが解除されていない、即ち、機内モードであるか、既に機内モードではない状態であると判別された場合には(ステップS211で“NO”)、ホストCPU41は、状態4であり、且つ「0」でない加速度が検出されたか否かを判別する(ステップS212)。状態4であり、且つ「0」でない加速度が検出されたと判別された場合には(ステップS212で“YES”)、ホストCPU41の処理は、ステップS215に移行する。
【0066】
状態4ではないか、又は加速度が「0」の状態が継続していると判別された場合には(ステップS212で“NO”)、ホストCPU41は、状態3であり、且つ継続的な同一符号の加速度により基準値以上の速度変化が生じ、更にその後加速度が予め設定された下限値以下となったか否かを判別する(ステップS213)。状態3において上記条件が満たされたと判別された場合には(ステップS213で“YES”)、ホストCPU41の処理は、ステップS215に移行する。状態3ではないか、又は上記条件が満たされていないと判別された場合には、状態2又は状態3となってから所定の上限時間が経過したか否かを判別する(ステップS214)。この上限時間は、状態2、3で別個に設定されて良い。状態2、3で上限時間が経過したと判別された場合には(ステップS214で“YES”)、ホストCPU41の処理は、ステップS215に移行する。状態2、3ではないか、又は上限時間が経過していないと判別された場合には(ステップS214で“NO”)、ホストCPU41の処理は、ステップS216に移行する。
【0067】
ステップS211〜S214の処理の何れかからステップS215の処理に移行すると、ホストCPU41は、状態1に設定し(ステップS215)、それから、処理をステップS216に移行させる。
【0068】
ステップS214、S215の処理からステップS216の処理に移行すると、ホストCPU41は、今回のループ処理におけるステップS204〜S215の処理の間で、状態が変更設定されたか否かを判別する(ステップS216)。状態の変更がないと判別された場合には(ステップS216で“NO”)、ホストCPU41の処理は、ステップS204に戻る。
【0069】
状態の変更があったと判別された場合には(ステップS216で“YES”)、ホストCPU41は、当該状態と、その開始日時を履歴に追加記憶させる(ステップS217)。CPU41は、前回の状態における移動速度と継続時間を用いて移動距離を算出し、それから、前回の状態が1であり、且つ当該状態1の間の移動距離が予め設定された上限値(例えば、50km)以上であるか否かを判別する(ステップS218)。状態1であり、且つ上限値以上であると判別された場合には(ステップS218で“YES”)、移動距離をこの上限値に設定する(ステップS219)。それから、ホストCPU41の処理は、ステップS220に移行する。状態1ではないか、又は移動距離が上限値以上ではないと判別された場合には(ステップS218で“NO”)、ホストCPU41の処理は、ステップS220に移行する。
【0070】
ステップS218、S219の処理からステップS220の処理に移行すると、ホストCPU41は、前回の移動距離を前回の状態及び開始日時に対応付けて記憶させる(ステップS220)。
【0071】
ホストCPU41は、これまでに履歴として記憶された各状態における移動距離の合計が地球半周分(約20000km)以上であるか否かを判別する(ステップS221)。地球半周分以上ではないと判別された場合には(ステップS221で“NO”)、ホストCPU41の処理は、ステップS204に戻る。地球半周分以上であると判別された場合には(ステップS221で“YES”)、ホストCPU41は、運動履歴取得処理を終了する。
【0072】
図7は、本実施形態の電子時計1aで実行されるタイムゾーン算出処理のモジュールCPU61による制御手順を示すフローチャートである。
このタイムゾーン算出処理は、第1実施形態の電子時計1におけるタイムゾーン算出処理におけるステップS108がステップS108aに置き換えられた点を除き同一であり、同一の処理については説明を省略する。
【0073】
ステップS108aの処理では、モジュールCPU61は、上述の運動履歴取得処理でRAM43の履歴に記憶させた移動距離の合計値をホストCPU41から取得して、最大推定移動距離tmとする(ステップS108a)。なお、この最大推定移動距離tmは、初期設定(ステップS101)で予め取得しておいても良い。
【0074】
図8は、タイムゾーン算出処理のステップS111で補正される初期位置c0の他の設定例を示す図である。
【0075】
図8(a)に示すように、初期位置c0が算出された後、前回位置cに対する最大推定移動距離tmが求められると、前回位置cを中心として地表面に沿った半径が最大推定移動距離tmの円と、初期位置c0を通り位置S1〜S4を含む平面αと地表面との交線に対して垂直方向に地表面に沿って伸びる線bとの交点を初期位置の補正位置c0mとすることが出来る。このように定めることで、平面αから初期位置c0をより離すことが出来るので、速やかに収束点c2に収束させやすくなる。
【0076】
なお、最大推定移動距離tmが小さい場合などで、交点が定まらない場合には、例えば、線bに対して前回位置cから更に垂線を延ばし、この垂線と半径が最大推定移動距離tmの円との交点を補正位置c0mとすることが可能である。
【0077】
また、
図8(b)に示すように、上述の線bと初期位置c0及び前回位置cを結ぶ線とがなす角の二等分線b2が前回位置cを中心とした半径が最大推定移動距離tmの円と交わる点を補正位置c0mとしても良い。
【0078】
以上のように、第2実施形態の電子時計1aでは、モジュールCPU61(初期位置修正手段)は、前回の測位からの経過時間dtに所定の移動速度vpを乗じた最大推定移動距離tmが、前回の現在位置cから初期位置c0までの距離よりも小さい場合に、初期位置c0を通り、上述の測位衛星が偏在する平面と地球表面との交線に対して垂直な線上であって、且つ、前回の現在位置cから最大推定移動距離tmとなる地球表面上の点に初期位置を移動させて設定する。従って、特に、疑似距離の大小に応じた重み付で初期位置c0を求めた場合に、上述の平面に垂直な方向に関してはこの重みを有効に利用しつつ、平面から有効に離して初期位置の設定を行うことで、より正確な現在位置に近づけて収束させやすくさせることが出来る可能性を上昇させることが出来る。
【0079】
また、モジュールCPU61(初期位置修正手段)は、同様に、前回の測位からの経過時間dtに所定の移動速度vpを乗じた最大推定移動距離tmが、前回の現在位置cから初期位置c0までの距離よりも小さい場合に、初期位置c0から前回の現在位置cへの方向と、平面αと地球表面との交線に垂直な方向とを二等分する方向であって、且つ、前回の現在位置cから最大推定移動距離tmとなる地球表面上の点に初期位置を移動させて設定する。従って、最大推定移動距離tmが、現在位置cから初期位置c0までの距離と比較して十分小さいような場合などに、前回の現在位置c0と、初期位置c0において比較的精度が望める平面αに垂直な方向の位置との影響を均等に考慮に入れて効率良くより正確な初期値設定がなされる可能性を上昇させることが出来る。これにより、測位演算における収束までの時間を短縮させることが出来る。
【0080】
また、電子時計1aの運動状態を計測するセンサ部51を備え、ホストCPU41は、計測された運動状態に応じて異なる移動速度vpに変更して、対応する経過時間をそれぞれ計数する(移動速度設定手段)。
モジュールCPU61は、これら異なる移動速度vpと対応する経過時間に応じて最大推定移動距離tmを算出することで、より正確に実際の推定移動距離に近い最大推定移動距離を用いて適切な初期位置の変更を行うことが出来る。
【0081】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。
例えば、上記実施の形態では、4機以上の測位衛星からの受信データを用いて現在位置の三次元座標(未知数4)を求めることとしたが、高度を固定(例えば、標高0mや、前回の標高)することで、3機の測位衛星からの受信データを用いて二次元座標(未知数3)を算出することが可能であっても良い。また、直近に測位が行われていて計時回路46の計数する日時に十分な精度がある場合や、更に、計時回路に温度補償回路が設けられているなどで、水晶発振器のみの発振回路44による日時の計数よりも精度が良い場合には、位置座標のみを未知数として、二次元座標(未知数2)又は三次元座標(未知数3)を算出しても良い。
【0082】
また、上記実施の形態では、測位演算に用いられる測位衛星が地球表面に垂直な面内に偏在する場合に限って補正を行ったが、地球表面に垂直でない場合でも一の平面内にある場合には、収束点が複数存在することになる。しかしながら、地球表面と平面との角度が大きい場合には、少なくとも一方の収束点は、上空高い位置か地底深い位置の何れかとなって現実的ではないケースが多いことから、上記角度が小さい場合についてのみ、これらの測位衛星が所定の垂直平面からのずれ範囲内に全て収まるような状況において、上記実施形態と同一の処理を行うことで、何れか一方の収束点に収束させやすく、且つ、より確度の高い収束点に収束させることが出来る。また、このように複数の測位衛星が地球表面に対して若干傾いた面上に偏在している場合には、最大推定移動距離tmだけではなく、当該最大推定移動距離tmの内部において、上述の面の一方の側では収束点が地底になるといったあり得ない状況を判断して移動方向を設定しても良い。
【0083】
また、上記第2実施形態では、低速(80km/h)移動時には、長距離移動を考慮しないこととしたが、在来線特急、高速バスや高速道路を利用した自家用車移動などでの長距離移動を考慮しても良い。その他、速度の設定ステップ数や設定条件は、適宜設定可能であり、例えば、車移動の多いユーザと列車や飛行機などでの移動の多いユーザとで選択が可能であっても良い。
【0084】
また、上記実施の形態では、ニュートン・ラフソン法を用いるものとして説明したが、周知の他の求根アルゴリズムを用いて又は併用して、設定位置を初期位置から正確な現在位置に収束させることが出来る。
【0085】
また、上記実施の形態では、GPS衛星からの電波を受信する場合について説明したが、他の測位衛星、例えば、GLONASS衛星の電波を受信しても良いし、複数種類の全地球ナビゲーションシステムに係る測位衛星からの受信電波を併用しても良い。
【0086】
また、上記実施の形態では、電子時計1においてタイムゾーンの判定を行うための測位動作を例に挙げて説明したが、これに限られるものではない。現在位置を取得するための通常の測位動作でも、同様に本発明を適用して収束を速め、また、誤った収束点への収束の確率を低下させることが出来る。
【0087】
また、上記実施の形態では、測位衛星の位置情報を当該測位衛星から受信されるエフェメリスデータにより取得することとしたが、外部から取得可能な場合には、当該外部情報を用いても良い。
【0088】
また、上記実施の形態では、最大推定移動距離tmの算出をスカラー量としてのみ取り扱ったが、方位センサを併用してベクトル量として算出し、真円ではなく異方性を有する最大推定移動範囲を算出しても良い。
【0089】
また、上記実施の形態では、最大推定移動距離tmの上限として、機内モードの設定や高速鉄道の利用などを除外条件として固定値を用いる例を示したが、これに限られない。例えば、標準電波が受信可能な電子時計などでは、受信可能な標準電波送信局に応じて当該エリア内に最大推定移動距離tmや現在位置の同定範囲を限定することが出来る。
【0090】
また、上記実施の形態では、ホストCPU41とモジュールCPU61とで完全に機能が分離されて各処理がなされているが、単一のCPUで全ての制御が行われても良い。また、第2実施形態の電子時計1aにおいて、モジュールCPU61の動作がセンサ部51の検出データを直接取得したり動作制御を行ったりしても良い。
【0091】
また、以上の説明では、本発明に係るモジュールCPU61の処理動作に係るタイムゾーン算出処理などの測位に係る動作処理プログラムのコンピュータ読み取り可能な媒体として不揮発性メモリからなる記憶部63を例に挙げて説明したが、これに限定されない。その他のコンピュータ読み取り可能な媒体として、HDD(Hard Disk Drive)や、CD−ROMやDVDディスクなどの可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウェーブ(搬送波)も本発明に適用される。
その他、上記実施の形態で示した具体的な構成、処理内容やその手順は、本発明の趣旨を逸脱しない範囲において適宜変更可能である。
【0092】
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定されるものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
【0093】
[付記]
<請求項1>
測位衛星からの電波を受信する受信手段と、
前記電波が受信された複数の測位衛星の位置及び当該複数の測位衛星からの電波の伝播時間差に基づいて、現在位置を求めるための設定位置を修正しながら前記現在位置に収束させていくことで、前記現在位置を数値的に算出する現在位置算出手段と、
を備え、
前記現在位置算出手段は、
前記電波が受信された複数の測位衛星の位置に基づいて前記設定位置の初期位置を設定する初期位置設定手段と、
前記複数の測位衛星が地球表面に対して垂直な平面から所定の範囲内に偏在している場合に、前回算出された現在位置と、当該前回の算出からの経過時間とに基づいて前記初期位置を前記平面から離れる方向に移動させて設定する初期位置修正手段と、
を備えることを特徴とする測位装置。
<請求項2>
前記初期位置設定手段は、前記複数の測位衛星の位置をそれぞれ所定の重みで平均した位置の緯度経度に応じた地球表面上の位置に前記初期位置を設定することを特徴とする請求項1記載の測位装置。
<請求項3>
前記初期位置修正手段は、前記経過時間に所定の移動速度を乗じた最大推定移動距離が、前記前回の現在位置から前記初期位置までの距離よりも小さい場合に、前記前回の現在位置から前記初期位置への方向に当該最大推定移動距離移動させた位置に前記初期位置を設定することを特徴とする請求項1又は2記載の測位装置。
<請求項4>
前記初期位置修正手段は、前記経過時間に所定の移動速度を乗じた最大推定移動距離が、前記前回の現在位置から前記初期位置までの距離よりも小さい場合に、前記初期位置を通り、前記平面と地球表面との交線に対して垂直な線上であって、且つ、前記前回の現在位置から前記最大推定移動距離となる地球表面上の点に前記初期位置を移動させて設定することを特徴とする請求項1又は2記載の測位装置。
<請求項5>
前記初期位置修正手段は、前記経過時間に所定の移動速度を乗じた最大推定移動距離が、前記前回の現在位置から前記初期位置までの距離よりも小さい場合に、前記初期位置から前記前回の現在位置への方向と、前記平面と地球表面との交線に垂直な方向と、を二等分する方向であって、且つ、前記前回の現在位置から前記最大推定移動距離となる地球表面上の点に前記初期位置を移動させて設定することを特徴とする請求項1又は2記載の測位装置。
<請求項6>
前記受信手段の動作を禁止する機内モード設定手段と、
ユーザの入力操作を受け付けて、前記機内モード設定手段のオンオフを切り替える操作手段と、
を備え、
前記所定の移動速度は、前記機内モード設定手段により前記受信手段の動作が禁止されている期間には、航空機の飛行速度に応じた所定の速度に設定され、前記受信手段の動作が禁止されていない期間には、所定の地上走行移動速度に応じた速度に設定され、前記経過時間は、異なる前記所定の移動速度の各々について計数される
ことを特徴とする請求項3〜5の何れか一項に記載の測位装置。
<請求項7>
当該測位装置の運動状態を計測する計測手段と、
前記計測された運動状態に応じて前記所定の移動速度を変更する移動速度設定手段と、
を備えることを特徴とする請求項3〜6の何れか一項に記載の測位装置。
<請求項8>
請求項1〜7の何れか一項に記載の測位装置と、
現在の日時を計数する計時手段と、
前記算出された現在位置に応じた地方時情報を取得する地方時取得手段と、
前記現在の日時に前記取得された地方時情報に基づく時差を反映させて表示手段に表示させる表示制御手段と、
を備えることを特徴とする電波時計。
<請求項9>
測位衛星からの電波を受信する受信手段を備える測位装置において、前記電波が受信された複数の測位衛星の位置及び当該複数の測位衛星からの電波の伝播時間差に基づいて、現在位置を求めるための設定位置を修正しながら前記現在位置に収束させていくことで、前記現在位置を数値的に算出する現在位置算出方法であって、
前記電波が受信された複数の測位衛星の位置に基づいて前記設定位置の初期位置を設定する初期位置設定ステップ、
前記複数の測位衛星が地球表面に対して垂直な平面から所定の範囲内に偏在している場合に、前回算出された現在位置と、当該前回の算出からの経過時間とに基づいて前記初期位置を前記平面から離れる方向に移動させて設定する初期位置修正ステップ、
を含むことを特徴とする現在位置算出方法。
<請求項10>
測位衛星からの電波を受信する受信手段を備えるコンピュータを、
前記電波が受信された複数の測位衛星の位置及び当該複数の測位衛星からの電波の伝播時間差に基づいて、現在位置を求めるための設定位置を修正しながら前記現在位置に収束させていくことで、前記現在位置を数値的に算出する現在位置算出手段として機能させるプログラムであって、
前記現在位置算出手段は、
前記電波が受信された複数の測位衛星の位置に基づいて前記設定位置の初期位置を設定する初期位置設定手段と、
前記複数の測位衛星が地球表面に対して垂直な平面から所定の範囲内に偏在している場合に、前回算出された現在位置と、当該前回の算出からの経過時間とに基づいて前記初期位置を前記平面から離れる方向に移動させて設定する初期位置修正手段と、
を備えることを特徴とするプログラム。