(57)【要約】【課題】ドップラー周波数を用いた位置算出を行うための新たな手法を提案すること。【解決手段】衛星軌道情報に基づいて複数のＧＰＳ衛星それぞれの衛星位置及び衛星移動速度を、地球中心を原点とする球座標系で算出する。そして、複数のＧＰＳ衛星それぞれからＧＰＳ衛星信号を受信してドップラー周波数を検出し、地球中心から地表までの距離を動径とし、複数のＧＰＳ衛星それぞれの衛星位置、衛星移動速度及びドップラー周波数を用いて、ユーザーの位置、移動速度及び移動方向を球座標系で算出する。【選択図】図１
2010175426.tif 000002
【特許請求の範囲】
【請求項１】
衛星軌道情報に基づいて複数の測位用衛星それぞれの衛星位置を、地球中心を原点とする球座標系で算出することと、
前記複数の測位用衛星それぞれから測位用信号を受信してドップラー周波数を検出することと、
地球中心から地表までの距離を動径とし、前記複数の測位用衛星それぞれの前記衛星位置及び前記ドップラー周波数を用いてユーザーの位置を前記球座標系で算出することと、
を含む位置算出方法。
【請求項２】
前記衛星軌道情報に基づいて前記測位用衛星の移動速度及び移動方向を前記球座標系で算出することと、
地球中心から地表までの距離を動径とし、前記複数の測位用衛星それぞれの前記衛星位置、前記移動速度、前記移動方向、及び前記ドップラー周波数を用いてユーザーの移動速度及び移動方向を前記球座標系で算出することと、
を含む請求項１に記載の位置算出方法。
【請求項３】
前記ユーザーの移動速度及び移動方向の算出は、前記球座標系の動径方向成分をゼロとみなして算出することである、
請求項２に記載の位置算出方法。
【請求項４】
前記複数の測位用衛星それぞれに関する理論上のドップラー周波数を求める算出式を、地球中心から地表までの距離を動径とし、前記複数の測位用衛星それぞれの前記衛星位置、前記移動速度、及び前記移動方向と、前記球座標系で表した未知数であるユーザーの位置、移動速度、及び移動方向とを用いて立式することと、
前記複数の測位用衛星それぞれについて立式した前記理論上のドップラー周波数の算出式と前記検出したドップラー周波数とに基づいて、前記未知数であるユーザーの位置を求めることと、
を含む請求項２又は３に記載の位置算出方法。
【請求項５】
前記立式は、ユーザーのクロックドリフトを未知数として更に加えて立式することである、
請求項４に記載の位置算出方法。
【請求項６】
前記ユーザーの位置を初期位置として、前記受信した測位用信号に基づく所定の位置算出計算を行って最終位置を算出することを含む、
請求項１〜５の何れか一項に記載の位置算出方法。
【請求項７】
衛星軌道情報に基づいて複数の測位用衛星それぞれの衛星位置を、地球中心を原点とする球座標系で算出する衛星位置算出部と、
前記複数の測位用衛星それぞれから測位用信号を受信してドップラー周波数を検出するドップラー検出部と、
地球中心から地表までの距離を動径とし、前記複数の測位用衛星それぞれの前記衛星位置及び前記ドップラー周波数を用いてユーザーの位置を前記球座標系で算出するユーザー位置算出部と、
を備えた位置算出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置算出方法及び位置算出装置に関する。
【背景技術】
【０００２】
測位用信号を利用した測位システムとしては、ＧＰＳ（Global Positioning System）が広く知られており、携帯型電話機やカーナビゲーション装置等に内蔵された位置算出装置に利用されている。ＧＰＳでは、複数のＧＰＳ衛星の位置や各ＧＰＳ衛星から自機までの擬似距離等の情報に基づいて自機の位置を示す３次元の座標値と時計誤差とを求める位置算出演算を行う。
【０００３】
一般的には、擬似距離を用いて位置算出を行うことが多いが、擬似距離を用いた位置算出を行うためには、ある程度の信頼性を有する初期位置の情報が必要になる。しかし、位置算出装置の電源投入後に初めて位置算出する場合など、初期位置の情報を用いることができない場合があるため、かかる場合においても位置算出を行うための手法が必要となる。その一例として、特許文献１には、測位用信号のドップラー周波数を用いて位置算出を行う手法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２３５０６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
確かに、特許文献１の位置算出手法によれば、理想的には正確な位置を算出できる。しかし、位置算出装置の製品に実装しようとすると簡単に適用できるものではなかった。
【０００６】
本発明は上述した課題に鑑みて為されたものであり、ドップラー周波数を用いた位置算出を行うための新たな手法を提案することにある。
【課題を解決するための手段】
【０００７】
以上の課題を解決するための第１の発明は、衛星軌道情報に基づいて複数の測位用衛星それぞれの衛星位置を、地球中心を原点とする球座標系で算出することと、前記複数の測位用衛星それぞれから測位用信号を受信してドップラー周波数を検出することと、地球中心から地表までの距離を動径とし、前記複数の測位用衛星それぞれの前記衛星位置及び前記ドップラー周波数を用いてユーザーの位置を前記球座標系で算出することと、を含む位置算出方法である。
【０００８】
また、他の発明として、衛星軌道情報に基づいて複数の測位用衛星それぞれの衛星位置を、地球中心を原点とする球座標系で算出する衛星位置算出部と、前記複数の測位用衛星それぞれから測位用信号を受信してドップラー周波数を検出するドップラー検出部と、地球中心から地表までの距離を動径とし、前記複数の測位用衛星それぞれの前記衛星位置及び前記ドップラー周波数を用いてユーザーの位置を前記球座標系で算出するユーザー位置算出部と、を備えた位置算出装置を構成してもよい。
【０００９】
この第１の発明等によれば、衛星軌道情報に基づいて複数の測位用衛星それぞれの衛星位置を、地球中心を原点とする球座標系で算出する。そして、複数の測位用衛星それぞれから測位用信号を受信してドップラー周波数を検出し、地球中心から地表までの距離を動径とし、複数の測位用衛星それぞれの衛星位置及びドップラー周波数を用いてユーザーの位置を球座標系で算出する。
【００１０】
地球中心を原点とし、地球中心から地表までの距離を動径とする球座標系で考え、偏角を未知パラメーターとして計算することで、少ない衛星数でユーザーの位置を適切に求めることが可能となる。また、この位置算出手法は、位置算出装置の製品に簡単に実装することができる。
【００１１】
また、第２の発明として、第１の発明の位置算出方法であって、前記衛星軌道情報に基づいて前記測位用衛星の移動速度及び移動方向を前記球座標系で算出することと、地球中心から地表までの距離を動径とし、前記複数の測位用衛星それぞれの前記衛星位置、前記移動速度、前記移動方向、及び前記ドップラー周波数を用いてユーザーの移動速度及び移動方向を前記球座標系で算出することと、を含む位置算出方法を構成してもよい。
【００１２】
この第２の発明によれば、衛星軌道情報に基づいて測位用衛星の移動速度及び移動方向を球座標系で算出する。そして、地球中心から地表までの距離を動径とし、複数の測位用衛星それぞれの衛星位置、移動速度、移動方向、及びドップラー周波数を用いてユーザーの移動速度及び移動方向を球座標系で算出する。これにより、ユーザーの位置ばかりでなく、移動速度及び移動方向も併せて算出することが可能となる。
【００１３】
また、第３の発明として、第２の発明の位置算出方法であって、前記ユーザーの移動速度及び移動方向の算出は、前記球座標系の動径方向成分をゼロとみなして算出することである位置算出方法を構成してもよい。
【００１４】
この第３の発明によれば、球座標系の動径方向成分をゼロとみなして、ユーザーの移動速度及び移動方向を算出する。かかる制約条件を設けて位置算出を行うことで、未知パラメーターの数を減らすことが可能となり、位置算出に必要な衛星数を削減したり、演算量を低減したりすることができる。
【００１５】
また、第４の発明として、第２又は第３の発明の位置算出方法であって、前記複数の測位用衛星それぞれに関する理論上のドップラー周波数を求める算出式を、地球中心から地表までの距離を動径とし、前記複数の測位用衛星それぞれの前記衛星位置、前記移動速度、及び前記移動方向と、前記球座標系で表した未知数であるユーザーの位置、移動速度、及び移動方向とを用いて立式することと、前記複数の測位用衛星それぞれについて立式した前記理論上のドップラー周波数の算出式と前記検出したドップラー周波数とに基づいて、前記未知数であるユーザーの位置を求めることと、を含む位置算出方法を構成してもよい。
【００１６】
この第４の発明によれば、複数の測位用衛星それぞれに関する理論上のドップラー周波数を求める算出式を、地球中心から地表までの距離を動径とし、複数の測位用衛星それぞれの衛星位置、移動速度、及び移動方向と、球座標系で表した未知数であるユーザーの位置、移動速度、及び移動方向とを用いて立式する。そして、複数の測位用衛星それぞれについて立式した理論上のドップラー周波数の算出式と検出したドップラー周波数とに基づいて、未知数であるユーザーの位置を求める。
【００１７】
複数の測位用衛星それぞれについて、立式した理論上のドップラー周波数の算出式から求められるドップラー周波数と、実際に検出したドップラー周波数とは等しくなるはずである。この関係に基づいて、ユーザーの位置を未知数として連立方程式を解くことで、ユーザーの位置を求めることが可能となる。
【００１８】
また、第５の発明として、第４の発明の位置算出方法であって、前記立式は、ユーザーのクロックドリフトを未知数として更に加えて立式することである位置算出方法を構成してもよい。
【００１９】
この第５の発明によれば、ユーザーのクロックのドリフトを加味したドップラー周波数の算出式を用いてユーザーの位置を求めることが可能となり、位置算出の正確性が向上する。
【００２０】
また、第６の発明として、第１〜第５の何れかの発明の位置算出方法であって、前記ユーザーの位置を初期位置として、前記受信した測位用信号に基づく所定の位置算出計算を行って最終位置を算出することを含む位置算出方法を構成してもよい。
【００２１】
この第６の発明によれば、上述した位置算出方法によって求めたユーザーの位置を初期位置として、受信した測位用信号に基づく位置算出計算を行って最終位置を算出する。位置算出計算として例えば最小二乗法を用いた収束演算を行うならば、解が誤収束することを防止し、高い正確性でユーザーの位置を求めることが可能となる。
【図面の簡単な説明】
【００２２】
【図１】球座標系を示す図。
【図２】ドップラー周波数を示す図。
【図３】携帯型電話機の機能構成を示すブロック図。
【図４】ＲＯＭに格納されたデータの一例を示す図。
【図５】フラッシュＲＯＭに格納されたデータの一例を示す図。
【図６】ＲＡＭに格納されるデータの一例を示す図。
【図７】メジャメントデータのデータ構成の一例を示す図。
【図８】メイン処理の流れを示すフローチャート。
【図９】位置算出処理の流れを示すフローチャート。
【図１０】ドップラー利用位置算出処理の流れを示すフローチャート。
【図１１】第２の位置算出処理の流れを示すフローチャート。
【発明を実施するための形態】
【００２３】
以下、図面を参照して、位置算出装置を備えた電子機器の一種である携帯型電話機１に本発明を適用した場合の実施形態について説明する。また、携帯型電話機１は、ユーザーによって携帯されて移動する。このため、本実施形態では、携帯型電話機１が検出する各種方向をユーザーの方向として説明する。尚、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけではない。
【００２４】
１．原理
１−１．変数の定義
最初に、本実施形態で用いる変数を定義する。直交座標系である地球基準座標系における携帯型電話機１の位置ベクトルを次式（１）に示すような３次元のベクトル「ｐu」で表し、ｉ番目のＧＰＳ衛星の位置ベクトルを次式（２）に示すような３次元のベクトル「ｐSVi」で表す。この場合、ｉ番目のＧＰＳ衛星から携帯型電話機１に向かう視線方向ベクトル「Ｓi」は、次式（３）で表される。
【数１】
2010175426.tif 000003
【数２】
2010175426.tif 000004
【数３】
2010175426.tif 000005
【００２５】
また、地球中心を原点とする球座標系における携帯型電話機１の移動速度及び移動方向を含む移動速度ベクトルを次式（４）に示すような３次元のベクトル「ｖu」で表し、ｉ番目のＧＰＳ衛星の移動速度ベクトルを次式（５）に示すような３次元のベクトル「ｖSVi」で表す。このとき、ｉ番目のＧＰＳ衛星と携帯型電話機１間の相対速度ベクトル「Ｖi」は、次式（６）で表される。
【００２６】
【数４】
2010175426.tif 000006
【数５】
2010175426.tif 000007
【数６】
2010175426.tif 000008
【００２７】
また、携帯型電話機１がｉ番目のＧＰＳ衛星から実際に受信したＧＰＳ衛星信号のドップラー周波数を「ｆDOPi」で表し、位置「ｐu」においてｉ番目のＧＰＳ衛星からＧＰＳ衛星信号を受信したと想定した場合に理論上求められるドップラー周波数を「ｆCALi」で表す。また、携帯型電話機１のクロックのドリフトを「ｄ」で表す。
【００２８】
１−２．球座標系への変換
本実施形態では、地球基準座標系における携帯型電話機１の位置ベクトル「ｐu」を、地球中心を原点とする球座標系における位置ベクトルに変換する。具体的には、図１に示すようなｘ軸、ｙ軸、ｚ軸の３軸でなる球座標系を考え、携帯型電話機１の位置ベクトル「ｐu」を次式（７）のように変換する。
【数７】
2010175426.tif 000009
【００２９】
式（７）において「Ｒ」は動径であり、次式（８）で表される。また、「θ」及び「φ」は偏角であり、それぞれ次式（９）及び（１０）で表される。
【数８】
2010175426.tif 000010
【数９】
2010175426.tif 000011
【数１０】
2010175426.tif 000012
【００３０】
本実施形態では、動径「Ｒ」を固定値とする。例えば、地球中心から地表面（例えば海抜０メートル）までの距離を動径「Ｒ」とすることができる。これにより、ユーザーの位置についての未知数は、偏角「θ」及び「φ」の２つとなる。
【００３１】
１−３．移動速度の制約条件
本実施形態では、携帯型電話機１の移動速度ベクトルについて制約条件を設ける。具体的には、携帯型電話機１は高度方向に移動することはないものと仮定し、携帯型電話機１の移動速度ベクトル「ｖu」は、図１に示すように位置ベクトル「ｐu」で表される位置の接平面内に限定されると仮定する。すなわち、球座標系における移動速度ベクトルの動径方向成分をゼロとみなして計算する。
【００３２】
この場合、携帯型電話機１の移動速度ベクトル「ｖu」と位置ベクトル「ｐu」とは直交し、次式（１１）が成立する。
【数１１】
2010175426.tif 000013
【００３３】
また、式（１１）を「ｖuz」について解き、式（７）を代入すると、次式（１２）が導出される。
【数１２】
2010175426.tif 000014
【００３４】
移動速度ベクトル「ｖu」と位置ベクトル「ｐu」とが直交するという制約により、移動速度ベクトル「ｖu」の３成分「（ｖux，ｖuy，ｖuz）」のうちの何れか１つの成分を消去することができる。
【００３５】
１−４．ドップラー周波数
移動速度の次元で考えると、携帯型電話機１の位置ベクトル「ｐu」で表される位置でｉ番目のＧＰＳ衛星からＧＰＳ衛星信号を受信した場合の理論上のドップラー周波数「ｆCALi」は、ｉ番目のＧＰＳ衛星と携帯型電話機１間の相対速度の視線方向成分である。
【００３６】
具体的には、図２に示すような携帯型電話機１とｉ番目のＧＰＳ衛星「ＳＶｉ」との位置関係において、相対速度ベクトル「Ｖi」を視線方向ベクトル「Ｓi」の方向に投影することで、理論上のドップラー周波数「ｆCALi」を次式（１３）のように算出することができる。
【数１３】
2010175426.tif 000015
【００３７】
しかし、携帯型電話機１のクロックにはドリフトがあるため、実際に携帯型電話機１がｉ番目のＧＰＳ衛星から受信するＧＰＳ衛星信号のドップラー周波数「ｆDOPi」は、式（１３）から求められる理論上のドップラー周波数「ｆCALi」にクロックのドリフト「ｄ」を加算したものと等しくなる。従って、次式（１４）が成立する。
【数１４】
2010175426.tif 000016
【００３８】
式（１４）において、「ｆDOPi」は携帯型電話機１が実際に受信したＧＰＳ衛星信号のドップラー周波数であるため既知である。また、ＧＰＳ衛星の位置ベクトル「ｐSVi」及び移動速度ベクトル「ｖSVi」は、衛星軌道情報（例えばエフェメリス）を用いて算出することができるため既知である。そうすると、式（１４）における未知パラメーターは、携帯型電話機１の位置ベクトル「ｐu」と、移動速度ベクトル「ｖu」と、クロックのドリフト「ｄ」とである。
【００３９】
位置ベクトル「ｐu」は、前述したように球座標系で表され、動径「Ｒ」を固定値としたので、未知パラメーターは偏角「θ」及び「φ」の２つである。また、移動速度ベクトル「ｖu」は３つの成分「ｖux」、「ｖuy」及び「ｖuz」を含んでいるが、例えば式（１１）及び式（１２）により「ｖuz」を消去することができるため、未知パラメーターは「ｖux」及び「ｖuy」の２つである。従って、未知パラメーターは「φ」、「θ」、「ｖux」、「ｖuy」及び「ｄ」の計５つとなる。
【００４０】
地球基準座標系で考えた場合は、ユーザーの３次元の位置である「（ｐux，ｐuy，ｐuz）」、３次元の移動速度である「（ｖux，ｖuy，ｖuz）」、クロックドリフト「ｄ」の７つの未知パラメーターが存在するため、最低でも７個のＧＰＳ衛星を捕捉して計算することが必要となり、ＧＰＳ衛星信号の受信環境やプロセッサの処理負荷のことを考慮すると現実的ではない。しかし、本実施形態の手法では、最低でも５個のＧＰＳ衛星を捕捉して計算することでユーザーの位置、移動速度及び移動方向を求めることが可能であり、ＧＰＳ衛星信号の受信環境が悪い場合であっても位置算出を行うことができ、プロセッサの処理負荷も軽くなる。
【００４１】
式（１４）を解くことは、次式（１５）を解くことと等価である。すなわち、式（１４）の（左辺）−（右辺）を「Ｆ（φ、θ、ｖux、ｖuy、ｄ）」とおいた場合に、「Ｆ（φ、θ、ｖux、ｖuy、ｄ）＝０」となるような「φ」、「θ」、「ｖux」、「ｖuy」及び「ｄ」を求めることと等しい。本実施形態では、ニュートン法を用いて式（１５）の数値解を求める。
【数１５】
2010175426.tif 000017
【００４２】
１−５．ニュートン法
今、「Ｆ（ｘ）＝０」となるような未知パラメーター「ｘ」の値を、ニュートン法を用いてコンピューターで近似的に求めることを考える。ニュートン法における反復計算のステップを「１，２，３，・・・，ｎ，・・・」と表した場合に、ステップ「ｎ」における未知パラメーターの値「ｘn」は、ステップ「ｎ−１」における未知パラメーターの値「ｘｎ−１」と更新量「Δｘ」とを用いて、次式（１６）のように表すことができる。
【数１６】
2010175426.tif 000018
【００４３】
この場合、ステップ「ｎ」における関数「Ｆ（ｘ）」の値である「Ｆ（ｘn）」は、式（１６）を代入することで「Ｆ（ｘｎ−１−Δｘ）」と表される。これを「ｘ＝ｘｎ−１」の回りで１次の項までテーラー展開することで、次式（１７）が得られる。
【数１７】
2010175426.tif 000019
【００４４】
式（１７）を更新量「Δｘ」について解くと、次式（１８）が得られる。
【数１８】
2010175426.tif 000020
【００４５】
「ｘ」に適当な初期値を与えて式（１８）に従って更新量「Δｘ」を求め、求めた更新量「Δｘ」を用いて「ｘ」を更新する。このステップを繰り返すことで、「Ｆ（ｘn）＝０」となるような「ｘn」を近似的に求めることができる。この考え方を５次元に拡張することで、式（１５）を解くことができる。
【００４６】
この場合、式（１７）は次式（１９）のように書き表される。また、式（１９）における行列「Ｆ」、「Ｈ」及び「Δｘ」は、それぞれ次式（２０）〜（２２）のように表される。
【数１９】
2010175426.tif 000021
【数２０】
2010175426.tif 000022
【数２１】
2010175426.tif 000023
【数２２】
2010175426.tif 000024
【００４７】
行列「Ｈ」には、行列「Ｆ」を未知パラメーターである「φ」、「θ」、「ｖux」、「ｖuy」及び「ｄ」でそれぞれ偏微分した成分が含まれている。これらの成分は数学的な計算によって求めることが可能であるため、具体的な計算結果については説明を省略する。
【００４８】
１−６．クロックドリフトのキャンセル
上述した行列「Ｈ」に含まれる成分のうち、「Ｆi」をクロックのドリフト「ｄ」で偏微分した結果は「−１」となる。すなわち、次式（２３）が成立する。
【数２３】
2010175426.tif 000025
【００４９】
式（２３）が成立することを利用して、クロックのドリフトの項を消去することができる。具体的には、先ず次式（２４）に従って、全ての「Ｆi」についての平均値「ＦAVE」を算出する。
【数２４】
2010175426.tif 000026
但し、「Ｎ」は捕捉したＧＰＳ衛星の数である。
【００５０】
そして、各衛星における「Ｆi」から「ＦAVE」を減算することで、次式（２５）に示すような行列「Ｆ’」を得る。
【数２５】
2010175426.tif 000027
【００５１】
また、「Ｈ」に含まれる各成分それぞれについて、当該成分から、式（２４）で得られる平均値「ＦAVE」を対応するパラメーターで偏微分した結果を減算することで、クロックのドリフトの項を消去する。具体的には、式（２１）に示した「Ｈ」を、次式（２６）に示すような「Ｈ’」に変換する。
【数２６】
2010175426.tif 000028
【００５２】
但し、「ＦAVE」を未知パラメーターである「φ」、「θ」、「ｖux」、「ｖuy」及び「ｄ」で偏微分した結果は、それぞれ次式（２７）〜（３１）で与えられる。
【数２７】
2010175426.tif 000029
【数２８】
2010175426.tif 000030
【数２９】
2010175426.tif 000031
【数３０】
2010175426.tif 000032
【数３１】
2010175426.tif 000033
【００５３】
式（２３）及び（３１）から、行列「Ｈ’」の一番右の列の成分は全て「０」になることがわかる。すなわち、クロックドリフトの成分は全て「０」となる。このことから、クロックドリフトの項をキャンセルして計算することができ、解くべき方程式は次式（３２）に帰着する。
【数３２】
2010175426.tif 000034
【００５４】
但し、「Δｘ’」は次式（３３）で与えられる。
【数３３】
2010175426.tif 000035
【００５５】
このようにクロックドリフトの項を消去し、次数を１つ減らして計算を行うことで、演算量が減少し、プロセッサの処理負荷を軽減させることができる。また、擬似距離を用いた位置算出では、ユーザーの位置を求めるためにある程度の信頼性を有する初期位置の情報が必要となるが、本実施形態のドップラー周波数を用いた位置算出では、初期位置の情報を必要としない利点がある。
【００５６】
実際に、本願発明者は、未知パラメーター「φ」、「θ」、「ｖux」及び「ｖuy」の初期値を全て「０」として、式（３２）を用いてニュートン法による収束計算を行った。その結果、４〜５回程度の反復回数で、誤収束することなく適切な解に収束することを確認した。
【００５７】
２．機能構成
図３は、携帯型電話機１の機能構成を示すブロック図である。携帯型電話機１は、ＧＰＳアンテナ１０と、ＧＰＳ受信部２０と、ホストＣＰＵ（Central Processing Unit）４０と、操作部５０と、表示部６０と、ＲＯＭ（Read Only Memory）７０と、フラッシュＲＯＭ８０と、ＲＡＭ（Random Access Memory）９０と、携帯電話用アンテナ１００と、携帯電話用無線通信回路部１１０とを備えて構成される。
【００５８】
ＧＰＳアンテナ１０は、ＧＰＳ衛星から発信されているＧＰＳ衛星信号を含むＲＦ（Radio Frequency）信号を受信するアンテナであり、受信した信号をＧＰＳ受信部２０に出力する。尚、ＧＰＳ衛星信号は、衛星毎に異なる拡散符号の一種であるＰＲＮ（Pseudo Random Noise）コードで直接スペクトラム拡散方式により変調された１．５７５４２［ＧＨｚ］の通信信号である。ＰＲＮコードは、コード長１０２３チップを１ＰＮフレームとする繰返し周期１ｍｓの擬似ランダム雑音符号である。
【００５９】
ＧＰＳ受信部２０は、ＧＰＳアンテナ１０から出力された信号に基づいて携帯型電話機１の位置を計測する位置算出回路であり、いわゆるＧＰＳ受信機に相当する機能ブロックである。ＧＰＳ受信部２０は、ＲＦ（Radio Frequency）受信回路部２１と、ベースバンド処理回路部３０とを備えて構成される。尚、ＲＦ受信回路部２１と、ベースバンド処理回路部３０とは、それぞれ別のＬＳＩ（Large Scale Integration）として製造することも、１チップとして製造することも可能である。
【００６０】
ＲＦ受信回路部２１は、ＲＦ信号の処理回路ブロックであり、所定の発振信号を分周或いは逓倍することで、ＲＦ信号乗算用の発振信号を生成する。そして、生成した発振信号を、ＧＰＳアンテナ１０から出力されたＲＦ信号に乗算することで、ＲＦ信号を中間周波数の信号（以下、「ＩＦ（Intermediate Frequency）信号」と称す。）にダウンコンバートし、ＩＦ信号を増幅等した後、Ａ／Ｄ変換器でデジタル信号に変換して、ベースバンド処理回路部３０に出力する。
【００６１】
ベースバンド処理回路部３０は、ＲＦ受信回路部２１から出力されたＩＦ信号に対して相関処理等を行ってＧＰＳ衛星信号を捕捉・抽出し、データを復号して航法メッセージや時刻情報等を取り出す回路部である。ベースバンド処理回路部３０は、演算制御部３１と、ＲＯＭ３５と、ＲＡＭ３７とを備えて構成される。また、演算制御部３１は、メジャメント取得演算部３３を備えて構成される。
【００６２】
メジャメント取得演算部３３は、ＲＦ受信回路部２１から出力された受信信号（ＩＦ信号）からＧＰＳ衛星信号を捕捉する回路部であり、相関演算部３３１を備えて構成されている。メジャメント取得演算部３３は、捕捉したＧＰＳ衛星信号のドップラー周波数やコード位相等の情報を取得し、メジャメント観測値としてホストＣＰＵ４０に出力する。
【００６３】
相関演算部３３１は、受信信号に含まれるＰＲＮコードとレプリカコードとの相関を、例えばＦＦＴ（Fast Fourier Transform）演算を用いて算出し積算する相関演算処理を行って、ＧＰＳ衛星信号を捕捉する。レプリカコードとは、擬似的に発生させた捕捉しようとするＧＰＳ衛星信号に含まれるＰＲＮコードを模擬した信号である。
【００６４】
捕捉しようとするＧＰＳ衛星信号が間違いなければ、そのＧＰＳ衛星信号に含まれるＰＲＮコードとレプリカコードとは一致し（捕捉成功）、間違っていれば一致しない（捕捉失敗）。そのため、算出された相関値のピークを判定することによってＧＰＳ衛星信号の捕捉が成功したか否かを判定でき、レプリカコードを次々に変更して、同じ受信信号との相関演算を行うことで、ＧＰＳ衛星信号を捕捉することが可能となる。
【００６５】
また、相関演算部３３１は、上述した相関演算処理を、レプリカコードの発生信号の周波数及び位相を変更しつつ行っている。レプリカコードの発生信号の周波数と受信信号の周波数とが一致し、且つ、ＰＲＮコードとレプリカコードとの位相が一致した場合に、相関値が最大となる。
【００６６】
より具体的には、捕捉対象のＧＰＳ衛星信号に応じた所定の周波数及び位相の範囲をサーチ範囲として設定する。そして、このサーチ範囲内で、ＰＲＮコードの開始位置（コード位相）を検出するための位相方向の相関演算と、周波数を検出するための周波数方向の相関演算とを行う。サーチ範囲は、例えば、周波数についてはＧＰＳ衛星信号の搬送波周波数である１．５７５４２［ＧＨｚ］を中心とする所定の周波数掃引範囲、位相についてはＰＲＮコードのチップ長である１０２３チップのコード位相範囲内に定められる。
【００６７】
ホストＣＰＵ４０は、ＲＯＭ７０及びフラッシュＲＯＭ８０に記憶されているシステムプログラム等の各種プログラムに従って携帯型電話機１の各部を統括的に制御するプロセッサである。また、ホストＣＰＵ４０は、位置算出処理を行って携帯型電話機１の位置を計測して表示部６０に表示させる出力位置を決定し、当該出力位置をプロットしたナビゲーション画面を生成して表示部６０に表示させる。
【００６８】
操作部５０は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号をホストＣＰＵ４０に出力する。この操作部５０の操作により、目的地の入力やナビゲーション画面の表示要求等の各種指示入力がなされる。
【００６９】
表示部６０は、ＬＣＤ（Liquid Crystal Display）等により構成され、ホストＣＰＵ４０から入力される表示信号に基づいた各種表示を行う表示装置である。表示部６０には、ナビゲーション画面や時刻情報等が表示される。
【００７０】
ＲＯＭ７０は、読み取り専用の不揮発性の記憶装置であり、ホストＣＰＵ４０が携帯型電話機１を制御するためのシステムプログラムや、ナビゲーション機能を実現するための各種プログラムやデータ等を記憶している。
【００７１】
フラッシュＲＯＭ８０は、読み書き可能な不揮発性の記憶装置であり、ＲＯＭ７０と同様、ホストＣＰＵ４０が携帯型電話機１を制御するための各種プログラムやデータ等を記憶している。
【００７２】
ＲＡＭ９０は、読み書き可能な揮発性の記憶装置であり、ホストＣＰＵ４０により実行されるシステムプログラム、各種処理プログラム、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを形成している。
【００７３】
携帯電話用アンテナ１００は、携帯型電話機１の通信サービス事業者が設置した無線基地局との間で携帯電話用無線信号の送受信を行うアンテナである。
【００７４】
携帯電話用無線通信回路部１１０は、ＲＦ変換回路、ベースバンド処理回路等によって構成される携帯電話の通信回路部であり、携帯電話用無線信号の変調・復調等を行うことで、通話やメールの送受信等を実現する。
【００７５】
３．データ構成
図４は、ＲＯＭ７０に格納されたデータの一例を示す図である。ＲＯＭ７０には、ホストＣＰＵ４０により読み出され、メイン処理（図８参照）として実行されるメインプログラム７０１が記憶されている。また、メインプログラム７０１には、位置算出処理（図９参照）として実行される位置算出プログラム７０１１と、ドップラー利用位置算出処理（図１０参照）として実行されるドップラー利用位置算出プログラム７０１３とがサブルーチンとして含まれている。
【００７６】
メイン処理とは、ホストＣＰＵ４０が、携帯型電話機１の本来の機能である通話やメールの送受信のための処理を行う他、携帯型電話機１の位置を算出する処理を行う処理である。
【００７７】
位置算出処理とは、ホストＣＰＵ４０が、ドップラー利用位置算出処理で求められた位置を仮位置として、擬似距離を利用した位置算出処理（以下、「擬似距離利用位置算出処理」と称す。）を行って携帯型電話機１の出力位置を決定し、出力位置をプロットしたナビゲーション画面を生成して表示部６０に表示させる処理である。
【００７８】
また、ドップラー利用位置算出処理とは、上述した原理に従って、ＧＰＳ衛星信号のドップラー周波数を用いた位置算出を行う処理である。これらの処理については、フローチャートを用いて詳細に後述する。
【００７９】
図５は、フラッシュＲＯＭ８０に格納されたデータの一例を示す図である。フラッシュＲＯＭ８０には、衛星軌道データ８０１が記憶されている。
【００８０】
衛星軌道データ８０１は、全てのＧＰＳ衛星の概略の衛星軌道のデータを記憶したアルマナックや、各ＧＰＳ衛星それぞれについて詳細な衛星軌道のデータを記憶したエフェメリスが含まれる。衛星軌道データ８０１は、ＧＰＳ衛星から受信したＧＰＳ衛星信号をデコードすることで取得したり、例えば基地局からサーバーアシストによって取得することができる。
【００８１】
図６は、ＲＡＭ９０に格納されるデータの一例を示す図である。ＲＡＭ９０には、メジャメントデータ９０１と、仮位置データ９０３と、出力位置データ９０５とが記憶される。
【００８２】
図７は、メジャメントデータ９０１のデータ構成の一例を示す図である。メジャメントデータ９０１には、各捕捉衛星９０１１それぞれについて、当該捕捉衛星から受信したＧＰＳ衛星信号のドップラー周波数９０１３とコード位相９０１５とが、メジャメント観測値として対応付けて記憶されている。例えば、捕捉衛星「Ｓ１」についてのメジャメント観測値は、ドップラー周波数が「ｆDOP１」であり、コード位相が「ＣＰ１」である。
【００８３】
仮位置データ９０３は、ドップラー利用位置算出処理を行うことで得られる携帯型電話機１の仮位置のデータである。仮位置は、擬似距離利用位置算出処理における初期位置として利用される。
【００８４】
また、出力位置データ９０５は、擬似距離利用位置算出処理を行うことで得られる携帯型電話機１の出力位置のデータである。
【００８５】
４．処理の流れ
図８は、ＲＯＭ７０に記憶されているメインプログラム７０１がホストＣＰＵ４０により読み出されて実行されることで、携帯型電話機１において実行されるメイン処理の流れを示すフローチャートである。
【００８６】
メイン処理は、ホストＣＰＵ４０が、操作部５０を介してユーザーにより電源投入操作がなされたことを検出した場合に実行を開始する処理である。また、特に説明しないが、以下のメイン処理の実行中は、ＧＰＳアンテナ１０によるＲＦ信号の受信や、ＲＦ受信回路部２０によるＲＦ信号のＩＦ信号へのダウンコンバージョンが行われ、ＩＦ信号がベースバンド処理回路部３０に随時出力される状態にあるものとする。また、メジャメント取得演算部３３により、ＧＰＳ衛星信号のドップラー周波数及びコード位相の算出が随時行われるものとする。
【００８７】
先ず、ホストＣＰＵ４０は、操作部５０を介してユーザーによりなされた指示操作を判定し（ステップＡ１）、指示操作が通話指示操作であると判定した場合は（ステップＡ１；通話指示操作）、通話処理を行う（ステップＡ３）。具体的には、携帯電話用無線通信回路部１１０に無線基地局との間の基地局通信を行わせ、携帯型電話機１と他機との間の通話を実現する。
【００８８】
また、ステップＡ１において指示操作がメール送受信指示操作であると判定した場合は（ステップＡ１；メール送受信指示操作）、ホストＣＰＵ４０は、メール送受信処理を行う（ステップＡ５）。具体的には、携帯電話用無線通信回路部１１０に基地局通信を行わせ、携帯型電話機１と他機との間のメールの送受信を実現する。
【００８９】
また、ステップＡ１において指示操作が位置算出指示操作であると判定した場合は（ステップＡ１；位置算出指示操作）、ホストＣＰＵ４０は、ＲＯＭ７０から位置算出プログラム７０１１を読み出して実行することで、位置算出処理を行う（ステップＡ７）。
【００９０】
図９は、位置算出処理の流れを示すフローチャートである。
先ず、ホストＣＰＵ４０は、携帯型電話機１の電源投入後の初回の位置算出であるか否かを判定し（ステップＢ１）、初回の位置算出であると判定した場合は（ステップＢ１；Ｙｅｓ）、ＲＯＭ７０に記憶されているドップラー利用位置算出プログラム７０１３を読み出して実行することで、ドップラー利用位置算出処理を行う（ステップＢ３）。
【００９１】
図１０は、ドップラー利用位置算出処理の流れを示すフローチャートである。
先ず、ホストＣＰＵ４０は、各ＧＰＳ衛星それぞれについて、ループＡの処理を実行する（ステップＣ１〜Ｃ７）。ループＡの処理では、ホストＣＰＵ４０は、フラッシュＲＯＭ８０に記憶されている衛星軌道データ８０１に基づいて、地球中心を原点とする球座標系における当該ＧＰＳ衛星の位置ベクトル及び移動速度ベクトルを算出する（ステップＣ３）。
【００９２】
次いで、ホストＣＰＵ４０は、当該ＧＰＳ衛星をベースバンド処理回路部３０に捕捉させる捕捉処理を行う（ステップＣ５）。そして、ホストＣＰＵ４０は、次のＧＰＳ衛星へと処理を移行する。全てのＧＰＳ衛星についてステップＣ３及びＣ５の処理を行った後、ホストＣＰＵ４０は、ループＡの処理を終了する（ステップＣ７）。
【００９３】
その後、ホストＣＰＵ４０は、５個以上のＧＰＳ衛星の捕捉に成功したか否かを判定し（ステップＣ９）、失敗したと判定した場合は（ステップＣ９；Ｎｏ）、ステップＣ１に戻る。また、５個以上のＧＰＳ衛星の捕捉に成功したと判定した場合は（ステップＣ９；Ｙｅｓ）、ホストＣＰＵ４０は、メジャメント取得演算部３３から各捕捉衛星のドップラー周波数を取得し、ＲＡＭ９０のメジャメントデータ９０１に記憶させる（ステップＣ１１）。
【００９４】
そして、ホストＣＰＵ４０は、ステップＣ１１で取得したドップラー周波数を用いて、球座標系における携帯型電話機の位置ベクトルの偏角「θ」及び「φ」と、移動速度ベクトルの成分「ｖux」及び「ｖuy」との４つを未知パラメーターとして、式（３２）を用いてニュートン法による収束計算を実行する（ステップＣ１３）。
【００９５】
そして、ホストＣＰＵ４０は、地球中心から地表面までの距離で表される動径「Ｒ」と、ステップＣ１３の収束計算で求められた偏角「θ」及び「φ」とを用いて、式（７）に従って携帯型電話機１の位置を算出する（ステップＣ１５）。
【００９６】
また、ホストＣＰＵ４０は、ステップＣ１３の収束計算で求められた移動速度ベクトルの成分「ｖux」及び「ｖuy」を用いて式（１２）に従って「ｖuz」を算出し、携帯型電話機１の移動速度及び移動方向を算出する（ステップＣ１７）。
【００９７】
そして、ホストＣＰＵ４０は、検出したドップラー周波数と、ステップＣ１５及びＣ１７で求めた携帯型電話機１の位置、移動速度及び移動方向を用いて、式（１４）及び式（１５）に従ってクロックのドリフトを算出する（ステップＣ１９）。そして、ホストＣＰＵ４０は、ドップラー利用位置算出処理を終了する。
【００９８】
図９の位置算出処理に戻って、ドップラー利用位置算出処理を行った後、ホストＣＰＵ４０は、得られた位置を携帯型電話機１の仮位置に決定して、ＲＡＭ９０の仮位置データ９０３に記憶させる（ステップＢ５）。そして、ホストＣＰＵ４０は、擬似距離利用位置算出処理を行う（ステップＢ７）。
【００９９】
擬似距離利用位置算出処理では、ホストＣＰＵ４０は、複数の捕捉衛星について、メジャメント取得演算部３３により取得されたコード位相を用いて、当該捕捉衛星と携帯型電話機１間の擬似距離を算出する。そして、算出した擬似距離を用いて、例えば最小二乗法やカルマンフィルターを用いた位置算出計算を行う。この際、ＲＡＭ９０の仮位置データ９０３に記憶されている仮位置を初期位置として計算を行う。
【０１００】
擬似距離利用位置算出処理を行った後、ホストＣＰＵ４０は、得られた位置を携帯型電話機１の出力位置に決定して、ＲＡＭ９０の出力位置データ９０５に記憶させる（ステップＢ９）。そして、ホストＣＰＵ４０は、出力位置をプロットしたナビゲーション画面を生成して表示部６０に表示させる（ステップＢ１１）。そして、ホストＣＰＵ４０は、位置算出処理を終了する。
【０１０１】
図８のメイン処理に戻って、ステップＡ３〜Ａ７の何れかの処理を行った後、ホストＣＰＵ４０は、操作部５０を介してユーザーにより電源切断指示操作がなされたか否かを判定し（ステップＡ９）、なされなかったと判定した場合は（ステップＡ９；Ｎｏ）、ステップＡ１に戻る。また、電源切断指示操作がなされたと判定した場合は（ステップＡ９；Ｙｅｓ）、メイン処理を終了する。
【０１０２】
５．作用効果
携帯型電話機１は、衛星軌道情報に基づいて複数のＧＰＳ衛星それぞれの衛星位置及び衛星移動速度を、地球中心を原点とする球座標系で算出する。そして、複数のＧＰＳ衛星それぞれからＧＰＳ衛星信号を受信してドップラー周波数を検出し、地球中心から地表までの距離を動径とし、複数のＧＰＳ衛星それぞれの衛星位置、衛星移動速度及びドップラー周波数を用いて、ユーザーの位置、移動速度及び移動方向を球座標系で算出する。
【０１０３】
具体的には、複数のＧＰＳ衛星それぞれに関する理論上のドップラー周波数を求める算出式を、地球中心から地表までの距離を動径とし、複数のＧＰＳ衛星それぞれの衛星位置、移動速度、及び移動方向と、球座標系で表した未知数であるユーザーの位置、移動速度、及び移動方向とを用いて立式する。この際、携帯型電話機１のクロックのドリフトを考慮してドップラー周波数を求める算出式を立式する。
【０１０４】
そして、複数のＧＰＳ衛星それぞれについて、立式した理論上のドップラー周波数の算出式から求められるドップラー周波数が、実際に受信したＧＰＳ衛星信号のドップラー周波数と等しくなることを利用して、未知数であるユーザーの位置、移動速度及び移動方向を算出する。
【０１０５】
例えば、携帯型電話機１のユーザーが地表面上に位置していると仮定して動径「Ｒ」を固定し、球座標系における偏角「θ」及び「φ」を未知パラメーターとしてユーザーの位置を算出することで、ＧＰＳ衛星信号のドップラー周波数を用いてユーザーの位置を適切に求めることが可能となる。また、この位置算出手法は、位置算出装置の製品に簡単に実装することができる。
【０１０６】
また、本実施形態では、ユーザーの移動速度及び移動方向は、球座標系の動径方向成分をゼロとみなして算出することにしている。このような制約条件を設けることで、未知パラメーターの数を減らし、位置算出に必要な衛星数を削減したり、演算量を低減したりすることができる。
【０１０７】
６．変形例
６−１．電子機器
本発明は、携帯型電話機の他にも、位置算出装置を備えた電子機器であれば何れの電子機器にも適用可能である。例えば、ノート型パソコンやＰＤＡ（Personal Digital Assistant）、カーナビゲーション装置、携帯型ナビゲーション装置等についても同様に適用可能である。
【０１０８】
６−２．衛星位置算出システム
上述した実施形態では、衛星位置算出システムとしてＧＰＳを例に挙げて説明したが、ＷＡＡＳ（Wide Area Augmentation System）、ＱＺＳＳ（Quasi Zenith Satellite System）、ＧＬＯＮＡＳＳ（GLObal NAvigation Satellite System）、ＧＡＬＩＬＥＯ等の他の衛星位置算出システムであってもよい。
【０１０９】
６−３．処理の分化
ホストＣＰＵ４０が実行する処理の一部又は全部を、ベースバンド処理回路部３０の演算制御部３１が行う構成としてもよい。例えば、演算制御部３１は、メジャメント取得演算部３３により演算されたメジャメント観測値（ドップラー周波数及びコード位相）を用いて位置算出処理を行って出力位置を決定し、ホストＣＰＵ４０に出力する。そして、ホストＣＰＵ４０は、演算制御部３１から入力した出力位置を各種アプリケーションに利用する。
【０１１０】
６−４．位置の適否判定
ドップラー利用位置算出処理で求めた位置を用いて、擬似距離利用位置算出処理で求めた位置の適否を判定することとしてもよい。この場合は、ＲＯＭ７０にメインプログラム７０１のサブルーチンとして第２の位置算出プログラムを格納しておく。そして、ホストＣＰＵ４０は、メイン処理において第２の位置算出プログラムを読み出して実行することで、第２の位置算出処理を行う。
【０１１１】
図１１は、第２の位置算出処理の流れを示すフローチャートである。
先ず、ホストＣＰＵ４０は、ドップラー利用位置算出処理を行う（ステップＤ１）。そして、ホストＣＰＵ４０は、得られた位置を出力候補位置としてＲＡＭ９０に記憶させる（ステップＤ３）。
【０１１２】
次いで、ホストＣＰＵ４０は、例えばサーバーアシストによって携帯型電話機１の仮位置を取得する（ステップＤ５）。より具体的には、通信圏内に位置する基地局との間で基地局通信を行い、通信基地局から携帯型電話機１の概略位置を取得する。
【０１１３】
その後、ホストＣＰＵ４０は、ステップＤ５で取得した仮位置を初期位置として、擬似距離利用位置算出処理を行う（ステップＤ７）。そして、ホストＣＰＵ４０は、得られた位置を適否判定用位置としてＲＡＭ９０に記憶させる（ステップＤ９）。
【０１１４】
次に、ホストＣＰＵ４０は、ＲＡＭ９０に記憶されている出力候補位置と適否判定用位置との間の距離を算出する（ステップＤ１１）。そして、ホストＣＰＵ４０は、算出した距離が所定の閾値（例えば１ｋｍ）未満であるか否かを判定し（ステップＤ１３）、閾値未満であると判定した場合は（ステップＤ１３；Ｙｅｓ）、出力候補位置は適切であると判定し、出力候補位置を出力位置に決定してＲＡＭ９０に記憶させる（ステップＤ１５）。
【０１１５】
そして、ホストＣＰＵ４０は、ＲＡＭ９０に記憶されている出力位置をプロットしたナビゲーション画面を生成して表示部６０に表示させた後（ステップＤ１７）、第２の位置算出処理を終了する。
【０１１６】
また、ステップＤ１３において出力候補位置と適否判定用位置との間の距離が閾値以上であると判定した場合は（ステップＤ１３；Ｎｏ）、ホストＣＰＵ４０は、出力候補位置は不適であると判定し、例えばエラーメッセージを表示部６０に表示させる（ステップＤ１９）。そして、ホストＣＰＵ４０は、第２の位置算出処理を終了する。
【符号の説明】
【０１１７】
１  携帯型電話機、  １０  ＧＰＳアンテナ、  ２０  ＧＰＳ受信部、
２１  ＲＦ受信回路部、  ３０  ベースバンド処理回路部、  ３１  演算制御部、
３３  メジャメント取得演算部、  ３５  ＲＯＭ、  ３７  ＲＡＭ、
４０  ホストＣＰＵ、  ５０  操作部、  ６０  表示部、  ７０  ＲＯＭ、
８０  フラッシュＲＯＭ、  ９０  ＲＡＭ、  １００  携帯電話用アンテナ、
１１０  携帯電話用無線通信回路部
【図１】
2010175426.tif 000036
【図２】
2010175426.tif 000037
【図３】
2010175426.tif 000038
【図４】
2010175426.tif 000039
【図５】
2010175426.tif 000040
【図６】
2010175426.tif 000041
【図７】
2010175426.tif 000042
【図８】
2010175426.tif 000043
【図９】
2010175426.tif 000044
【図１０】
2010175426.tif 000045
【図１１】
2010175426.tif 000046