説明

位置算出方法及び位置算出装置

【課題】ドップラー周波数を用いた位置算出を行うための新たな手法を提案すること。
【解決手段】衛星軌道情報に基づいて複数のGPS衛星それぞれの衛星位置及び衛星移動速度を、地球中心を原点とする球座標系で算出する。そして、複数のGPS衛星それぞれからGPS衛星信号を受信してドップラー周波数を検出し、地球中心から地表までの距離を動径とし、複数のGPS衛星それぞれの衛星位置、衛星移動速度及びドップラー周波数を用いて、ユーザーの位置、移動速度及び移動方向を球座標系で算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位置算出方法及び位置算出装置に関する。
【背景技術】
【0002】
測位用信号を利用した測位システムとしては、GPS(Global Positioning System)が広く知られており、携帯型電話機やカーナビゲーション装置等に内蔵された位置算出装置に利用されている。GPSでは、複数のGPS衛星の位置や各GPS衛星から自機までの擬似距離等の情報に基づいて自機の位置を示す3次元の座標値と時計誤差とを求める位置算出演算を行う。
【0003】
一般的には、擬似距離を用いて位置算出を行うことが多いが、擬似距離を用いた位置算出を行うためには、ある程度の信頼性を有する初期位置の情報が必要になる。しかし、位置算出装置の電源投入後に初めて位置算出する場合など、初期位置の情報を用いることができない場合があるため、かかる場合においても位置算出を行うための手法が必要となる。その一例として、特許文献1には、測位用信号のドップラー周波数を用いて位置算出を行う手法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−235067号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
確かに、特許文献1の位置算出手法によれば、理想的には正確な位置を算出できる。しかし、位置算出装置の製品に実装しようとすると簡単に適用できるものではなかった。
【0006】
本発明は上述した課題に鑑みて為されたものであり、ドップラー周波数を用いた位置算出を行うための新たな手法を提案することにある。
【課題を解決するための手段】
【0007】
以上の課題を解決するための第1の発明は、衛星軌道情報に基づいて複数の測位用衛星それぞれの衛星位置を、地球中心を原点とする球座標系で算出することと、前記複数の測位用衛星それぞれから測位用信号を受信してドップラー周波数を検出することと、地球中心から地表までの距離を動径とし、前記複数の測位用衛星それぞれの前記衛星位置及び前記ドップラー周波数を用いてユーザーの位置を前記球座標系で算出することと、を含む位置算出方法である。
【0008】
また、他の発明として、衛星軌道情報に基づいて複数の測位用衛星それぞれの衛星位置を、地球中心を原点とする球座標系で算出する衛星位置算出部と、前記複数の測位用衛星それぞれから測位用信号を受信してドップラー周波数を検出するドップラー検出部と、地球中心から地表までの距離を動径とし、前記複数の測位用衛星それぞれの前記衛星位置及び前記ドップラー周波数を用いてユーザーの位置を前記球座標系で算出するユーザー位置算出部と、を備えた位置算出装置を構成してもよい。
【0009】
この第1の発明等によれば、衛星軌道情報に基づいて複数の測位用衛星それぞれの衛星位置を、地球中心を原点とする球座標系で算出する。そして、複数の測位用衛星それぞれから測位用信号を受信してドップラー周波数を検出し、地球中心から地表までの距離を動径とし、複数の測位用衛星それぞれの衛星位置及びドップラー周波数を用いてユーザーの位置を球座標系で算出する。
【0010】
地球中心を原点とし、地球中心から地表までの距離を動径とする球座標系で考え、偏角を未知パラメーターとして計算することで、少ない衛星数でユーザーの位置を適切に求めることが可能となる。また、この位置算出手法は、位置算出装置の製品に簡単に実装することができる。
【0011】
また、第2の発明として、第1の発明の位置算出方法であって、前記衛星軌道情報に基づいて前記測位用衛星の移動速度及び移動方向を前記球座標系で算出することと、地球中心から地表までの距離を動径とし、前記複数の測位用衛星それぞれの前記衛星位置、前記移動速度、前記移動方向、及び前記ドップラー周波数を用いてユーザーの移動速度及び移動方向を前記球座標系で算出することと、を含む位置算出方法を構成してもよい。
【0012】
この第2の発明によれば、衛星軌道情報に基づいて測位用衛星の移動速度及び移動方向を球座標系で算出する。そして、地球中心から地表までの距離を動径とし、複数の測位用衛星それぞれの衛星位置、移動速度、移動方向、及びドップラー周波数を用いてユーザーの移動速度及び移動方向を球座標系で算出する。これにより、ユーザーの位置ばかりでなく、移動速度及び移動方向も併せて算出することが可能となる。
【0013】
また、第3の発明として、第2の発明の位置算出方法であって、前記ユーザーの移動速度及び移動方向の算出は、前記球座標系の動径方向成分をゼロとみなして算出することである位置算出方法を構成してもよい。
【0014】
この第3の発明によれば、球座標系の動径方向成分をゼロとみなして、ユーザーの移動速度及び移動方向を算出する。かかる制約条件を設けて位置算出を行うことで、未知パラメーターの数を減らすことが可能となり、位置算出に必要な衛星数を削減したり、演算量を低減したりすることができる。
【0015】
また、第4の発明として、第2又は第3の発明の位置算出方法であって、前記複数の測位用衛星それぞれに関する理論上のドップラー周波数を求める算出式を、地球中心から地表までの距離を動径とし、前記複数の測位用衛星それぞれの前記衛星位置、前記移動速度、及び前記移動方向と、前記球座標系で表した未知数であるユーザーの位置、移動速度、及び移動方向とを用いて立式することと、前記複数の測位用衛星それぞれについて立式した前記理論上のドップラー周波数の算出式と前記検出したドップラー周波数とに基づいて、前記未知数であるユーザーの位置を求めることと、を含む位置算出方法を構成してもよい。
【0016】
この第4の発明によれば、複数の測位用衛星それぞれに関する理論上のドップラー周波数を求める算出式を、地球中心から地表までの距離を動径とし、複数の測位用衛星それぞれの衛星位置、移動速度、及び移動方向と、球座標系で表した未知数であるユーザーの位置、移動速度、及び移動方向とを用いて立式する。そして、複数の測位用衛星それぞれについて立式した理論上のドップラー周波数の算出式と検出したドップラー周波数とに基づいて、未知数であるユーザーの位置を求める。
【0017】
複数の測位用衛星それぞれについて、立式した理論上のドップラー周波数の算出式から求められるドップラー周波数と、実際に検出したドップラー周波数とは等しくなるはずである。この関係に基づいて、ユーザーの位置を未知数として連立方程式を解くことで、ユーザーの位置を求めることが可能となる。
【0018】
また、第5の発明として、第4の発明の位置算出方法であって、前記立式は、ユーザーのクロックドリフトを未知数として更に加えて立式することである位置算出方法を構成してもよい。
【0019】
この第5の発明によれば、ユーザーのクロックのドリフトを加味したドップラー周波数の算出式を用いてユーザーの位置を求めることが可能となり、位置算出の正確性が向上する。
【0020】
また、第6の発明として、第1〜第5の何れかの発明の位置算出方法であって、前記ユーザーの位置を初期位置として、前記受信した測位用信号に基づく所定の位置算出計算を行って最終位置を算出することを含む位置算出方法を構成してもよい。
【0021】
この第6の発明によれば、上述した位置算出方法によって求めたユーザーの位置を初期位置として、受信した測位用信号に基づく位置算出計算を行って最終位置を算出する。位置算出計算として例えば最小二乗法を用いた収束演算を行うならば、解が誤収束することを防止し、高い正確性でユーザーの位置を求めることが可能となる。
【図面の簡単な説明】
【0022】
【図1】球座標系を示す図。
【図2】ドップラー周波数を示す図。
【図3】携帯型電話機の機能構成を示すブロック図。
【図4】ROMに格納されたデータの一例を示す図。
【図5】フラッシュROMに格納されたデータの一例を示す図。
【図6】RAMに格納されるデータの一例を示す図。
【図7】メジャメントデータのデータ構成の一例を示す図。
【図8】メイン処理の流れを示すフローチャート。
【図9】位置算出処理の流れを示すフローチャート。
【図10】ドップラー利用位置算出処理の流れを示すフローチャート。
【図11】第2の位置算出処理の流れを示すフローチャート。
【発明を実施するための形態】
【0023】
以下、図面を参照して、位置算出装置を備えた電子機器の一種である携帯型電話機1に本発明を適用した場合の実施形態について説明する。また、携帯型電話機1は、ユーザーによって携帯されて移動する。このため、本実施形態では、携帯型電話機1が検出する各種方向をユーザーの方向として説明する。尚、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけではない。
【0024】
1.原理
1−1.変数の定義
最初に、本実施形態で用いる変数を定義する。直交座標系である地球基準座標系における携帯型電話機1の位置ベクトルを次式(1)に示すような3次元のベクトル「pu」で表し、i番目のGPS衛星の位置ベクトルを次式(2)に示すような3次元のベクトル「pSVi」で表す。この場合、i番目のGPS衛星から携帯型電話機1に向かう視線方向ベクトル「Si」は、次式(3)で表される。
【数1】

【数2】

【数3】

【0025】
また、地球中心を原点とする球座標系における携帯型電話機1の移動速度及び移動方向を含む移動速度ベクトルを次式(4)に示すような3次元のベクトル「vu」で表し、i番目のGPS衛星の移動速度ベクトルを次式(5)に示すような3次元のベクトル「vSVi」で表す。このとき、i番目のGPS衛星と携帯型電話機1間の相対速度ベクトル「Vi」は、次式(6)で表される。
【0026】
【数4】

【数5】

【数6】

【0027】
また、携帯型電話機1がi番目のGPS衛星から実際に受信したGPS衛星信号のドップラー周波数を「fDOPi」で表し、位置「pu」においてi番目のGPS衛星からGPS衛星信号を受信したと想定した場合に理論上求められるドップラー周波数を「fCALi」で表す。また、携帯型電話機1のクロックのドリフトを「d」で表す。
【0028】
1−2.球座標系への変換
本実施形態では、地球基準座標系における携帯型電話機1の位置ベクトル「pu」を、地球中心を原点とする球座標系における位置ベクトルに変換する。具体的には、図1に示すようなx軸、y軸、z軸の3軸でなる球座標系を考え、携帯型電話機1の位置ベクトル「pu」を次式(7)のように変換する。
【数7】

【0029】
式(7)において「R」は動径であり、次式(8)で表される。また、「θ」及び「φ」は偏角であり、それぞれ次式(9)及び(10)で表される。
【数8】

【数9】

【数10】

【0030】
本実施形態では、動径「R」を固定値とする。例えば、地球中心から地表面(例えば海抜0メートル)までの距離を動径「R」とすることができる。これにより、ユーザーの位置についての未知数は、偏角「θ」及び「φ」の2つとなる。
【0031】
1−3.移動速度の制約条件
本実施形態では、携帯型電話機1の移動速度ベクトルについて制約条件を設ける。具体的には、携帯型電話機1は高度方向に移動することはないものと仮定し、携帯型電話機1の移動速度ベクトル「vu」は、図1に示すように位置ベクトル「pu」で表される位置の接平面内に限定されると仮定する。すなわち、球座標系における移動速度ベクトルの動径方向成分をゼロとみなして計算する。
【0032】
この場合、携帯型電話機1の移動速度ベクトル「vu」と位置ベクトル「pu」とは直交し、次式(11)が成立する。
【数11】

【0033】
また、式(11)を「vuz」について解き、式(7)を代入すると、次式(12)が導出される。
【数12】

【0034】
移動速度ベクトル「vu」と位置ベクトル「pu」とが直交するという制約により、移動速度ベクトル「vu」の3成分「(vux,vuy,vuz)」のうちの何れか1つの成分を消去することができる。
【0035】
1−4.ドップラー周波数
移動速度の次元で考えると、携帯型電話機1の位置ベクトル「pu」で表される位置でi番目のGPS衛星からGPS衛星信号を受信した場合の理論上のドップラー周波数「fCALi」は、i番目のGPS衛星と携帯型電話機1間の相対速度の視線方向成分である。
【0036】
具体的には、図2に示すような携帯型電話機1とi番目のGPS衛星「SVi」との位置関係において、相対速度ベクトル「Vi」を視線方向ベクトル「Si」の方向に投影することで、理論上のドップラー周波数「fCALi」を次式(13)のように算出することができる。
【数13】

【0037】
しかし、携帯型電話機1のクロックにはドリフトがあるため、実際に携帯型電話機1がi番目のGPS衛星から受信するGPS衛星信号のドップラー周波数「fDOPi」は、式(13)から求められる理論上のドップラー周波数「fCALi」にクロックのドリフト「d」を加算したものと等しくなる。従って、次式(14)が成立する。
【数14】

【0038】
式(14)において、「fDOPi」は携帯型電話機1が実際に受信したGPS衛星信号のドップラー周波数であるため既知である。また、GPS衛星の位置ベクトル「pSVi」及び移動速度ベクトル「vSVi」は、衛星軌道情報(例えばエフェメリス)を用いて算出することができるため既知である。そうすると、式(14)における未知パラメーターは、携帯型電話機1の位置ベクトル「pu」と、移動速度ベクトル「vu」と、クロックのドリフト「d」とである。
【0039】
位置ベクトル「pu」は、前述したように球座標系で表され、動径「R」を固定値としたので、未知パラメーターは偏角「θ」及び「φ」の2つである。また、移動速度ベクトル「vu」は3つの成分「vux」、「vuy」及び「vuz」を含んでいるが、例えば式(11)及び式(12)により「vuz」を消去することができるため、未知パラメーターは「vux」及び「vuy」の2つである。従って、未知パラメーターは「φ」、「θ」、「vux」、「vuy」及び「d」の計5つとなる。
【0040】
地球基準座標系で考えた場合は、ユーザーの3次元の位置である「(pux,puy,puz)」、3次元の移動速度である「(vux,vuy,vuz)」、クロックドリフト「d」の7つの未知パラメーターが存在するため、最低でも7個のGPS衛星を捕捉して計算することが必要となり、GPS衛星信号の受信環境やプロセッサの処理負荷のことを考慮すると現実的ではない。しかし、本実施形態の手法では、最低でも5個のGPS衛星を捕捉して計算することでユーザーの位置、移動速度及び移動方向を求めることが可能であり、GPS衛星信号の受信環境が悪い場合であっても位置算出を行うことができ、プロセッサの処理負荷も軽くなる。
【0041】
式(14)を解くことは、次式(15)を解くことと等価である。すなわち、式(14)の(左辺)−(右辺)を「F(φ、θ、vux、vuy、d)」とおいた場合に、「F(φ、θ、vux、vuy、d)=0」となるような「φ」、「θ」、「vux」、「vuy」及び「d」を求めることと等しい。本実施形態では、ニュートン法を用いて式(15)の数値解を求める。
【数15】

【0042】
1−5.ニュートン法
今、「F(x)=0」となるような未知パラメーター「x」の値を、ニュートン法を用いてコンピューターで近似的に求めることを考える。ニュートン法における反復計算のステップを「1,2,3,・・・,n,・・・」と表した場合に、ステップ「n」における未知パラメーターの値「xn」は、ステップ「n−1」における未知パラメーターの値「xn−1」と更新量「Δx」とを用いて、次式(16)のように表すことができる。
【数16】

【0043】
この場合、ステップ「n」における関数「F(x)」の値である「F(xn)」は、式(16)を代入することで「F(xn−1−Δx)」と表される。これを「x=xn−1」の回りで1次の項までテーラー展開することで、次式(17)が得られる。
【数17】

【0044】
式(17)を更新量「Δx」について解くと、次式(18)が得られる。
【数18】

【0045】
「x」に適当な初期値を与えて式(18)に従って更新量「Δx」を求め、求めた更新量「Δx」を用いて「x」を更新する。このステップを繰り返すことで、「F(xn)=0」となるような「xn」を近似的に求めることができる。この考え方を5次元に拡張することで、式(15)を解くことができる。
【0046】
この場合、式(17)は次式(19)のように書き表される。また、式(19)における行列「F」、「H」及び「Δx」は、それぞれ次式(20)〜(22)のように表される。
【数19】

【数20】

【数21】

【数22】

【0047】
行列「H」には、行列「F」を未知パラメーターである「φ」、「θ」、「vux」、「vuy」及び「d」でそれぞれ偏微分した成分が含まれている。これらの成分は数学的な計算によって求めることが可能であるため、具体的な計算結果については説明を省略する。
【0048】
1−6.クロックドリフトのキャンセル
上述した行列「H」に含まれる成分のうち、「Fi」をクロックのドリフト「d」で偏微分した結果は「−1」となる。すなわち、次式(23)が成立する。
【数23】

【0049】
式(23)が成立することを利用して、クロックのドリフトの項を消去することができる。具体的には、先ず次式(24)に従って、全ての「Fi」についての平均値「FAVE」を算出する。
【数24】

但し、「N」は捕捉したGPS衛星の数である。
【0050】
そして、各衛星における「Fi」から「FAVE」を減算することで、次式(25)に示すような行列「F’」を得る。
【数25】

【0051】
また、「H」に含まれる各成分それぞれについて、当該成分から、式(24)で得られる平均値「FAVE」を対応するパラメーターで偏微分した結果を減算することで、クロックのドリフトの項を消去する。具体的には、式(21)に示した「H」を、次式(26)に示すような「H’」に変換する。
【数26】

【0052】
但し、「FAVE」を未知パラメーターである「φ」、「θ」、「vux」、「vuy」及び「d」で偏微分した結果は、それぞれ次式(27)〜(31)で与えられる。
【数27】

【数28】

【数29】

【数30】

【数31】

【0053】
式(23)及び(31)から、行列「H’」の一番右の列の成分は全て「0」になることがわかる。すなわち、クロックドリフトの成分は全て「0」となる。このことから、クロックドリフトの項をキャンセルして計算することができ、解くべき方程式は次式(32)に帰着する。
【数32】

【0054】
但し、「Δx’」は次式(33)で与えられる。
【数33】

【0055】
このようにクロックドリフトの項を消去し、次数を1つ減らして計算を行うことで、演算量が減少し、プロセッサの処理負荷を軽減させることができる。また、擬似距離を用いた位置算出では、ユーザーの位置を求めるためにある程度の信頼性を有する初期位置の情報が必要となるが、本実施形態のドップラー周波数を用いた位置算出では、初期位置の情報を必要としない利点がある。
【0056】
実際に、本願発明者は、未知パラメーター「φ」、「θ」、「vux」及び「vuy」の初期値を全て「0」として、式(32)を用いてニュートン法による収束計算を行った。その結果、4〜5回程度の反復回数で、誤収束することなく適切な解に収束することを確認した。
【0057】
2.機能構成
図3は、携帯型電話機1の機能構成を示すブロック図である。携帯型電話機1は、GPSアンテナ10と、GPS受信部20と、ホストCPU(Central Processing Unit)40と、操作部50と、表示部60と、ROM(Read Only Memory)70と、フラッシュROM80と、RAM(Random Access Memory)90と、携帯電話用アンテナ100と、携帯電話用無線通信回路部110とを備えて構成される。
【0058】
GPSアンテナ10は、GPS衛星から発信されているGPS衛星信号を含むRF(Radio Frequency)信号を受信するアンテナであり、受信した信号をGPS受信部20に出力する。尚、GPS衛星信号は、衛星毎に異なる拡散符号の一種であるPRN(Pseudo Random Noise)コードで直接スペクトラム拡散方式により変調された1.57542[GHz]の通信信号である。PRNコードは、コード長1023チップを1PNフレームとする繰返し周期1msの擬似ランダム雑音符号である。
【0059】
GPS受信部20は、GPSアンテナ10から出力された信号に基づいて携帯型電話機1の位置を計測する位置算出回路であり、いわゆるGPS受信機に相当する機能ブロックである。GPS受信部20は、RF(Radio Frequency)受信回路部21と、ベースバンド処理回路部30とを備えて構成される。尚、RF受信回路部21と、ベースバンド処理回路部30とは、それぞれ別のLSI(Large Scale Integration)として製造することも、1チップとして製造することも可能である。
【0060】
RF受信回路部21は、RF信号の処理回路ブロックであり、所定の発振信号を分周或いは逓倍することで、RF信号乗算用の発振信号を生成する。そして、生成した発振信号を、GPSアンテナ10から出力されたRF信号に乗算することで、RF信号を中間周波数の信号(以下、「IF(Intermediate Frequency)信号」と称す。)にダウンコンバートし、IF信号を増幅等した後、A/D変換器でデジタル信号に変換して、ベースバンド処理回路部30に出力する。
【0061】
ベースバンド処理回路部30は、RF受信回路部21から出力されたIF信号に対して相関処理等を行ってGPS衛星信号を捕捉・抽出し、データを復号して航法メッセージや時刻情報等を取り出す回路部である。ベースバンド処理回路部30は、演算制御部31と、ROM35と、RAM37とを備えて構成される。また、演算制御部31は、メジャメント取得演算部33を備えて構成される。
【0062】
メジャメント取得演算部33は、RF受信回路部21から出力された受信信号(IF信号)からGPS衛星信号を捕捉する回路部であり、相関演算部331を備えて構成されている。メジャメント取得演算部33は、捕捉したGPS衛星信号のドップラー周波数やコード位相等の情報を取得し、メジャメント観測値としてホストCPU40に出力する。
【0063】
相関演算部331は、受信信号に含まれるPRNコードとレプリカコードとの相関を、例えばFFT(Fast Fourier Transform)演算を用いて算出し積算する相関演算処理を行って、GPS衛星信号を捕捉する。レプリカコードとは、擬似的に発生させた捕捉しようとするGPS衛星信号に含まれるPRNコードを模擬した信号である。
【0064】
捕捉しようとするGPS衛星信号が間違いなければ、そのGPS衛星信号に含まれるPRNコードとレプリカコードとは一致し(捕捉成功)、間違っていれば一致しない(捕捉失敗)。そのため、算出された相関値のピークを判定することによってGPS衛星信号の捕捉が成功したか否かを判定でき、レプリカコードを次々に変更して、同じ受信信号との相関演算を行うことで、GPS衛星信号を捕捉することが可能となる。
【0065】
また、相関演算部331は、上述した相関演算処理を、レプリカコードの発生信号の周波数及び位相を変更しつつ行っている。レプリカコードの発生信号の周波数と受信信号の周波数とが一致し、且つ、PRNコードとレプリカコードとの位相が一致した場合に、相関値が最大となる。
【0066】
より具体的には、捕捉対象のGPS衛星信号に応じた所定の周波数及び位相の範囲をサーチ範囲として設定する。そして、このサーチ範囲内で、PRNコードの開始位置(コード位相)を検出するための位相方向の相関演算と、周波数を検出するための周波数方向の相関演算とを行う。サーチ範囲は、例えば、周波数についてはGPS衛星信号の搬送波周波数である1.57542[GHz]を中心とする所定の周波数掃引範囲、位相についてはPRNコードのチップ長である1023チップのコード位相範囲内に定められる。
【0067】
ホストCPU40は、ROM70及びフラッシュROM80に記憶されているシステムプログラム等の各種プログラムに従って携帯型電話機1の各部を統括的に制御するプロセッサである。また、ホストCPU40は、位置算出処理を行って携帯型電話機1の位置を計測して表示部60に表示させる出力位置を決定し、当該出力位置をプロットしたナビゲーション画面を生成して表示部60に表示させる。
【0068】
操作部50は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号をホストCPU40に出力する。この操作部50の操作により、目的地の入力やナビゲーション画面の表示要求等の各種指示入力がなされる。
【0069】
表示部60は、LCD(Liquid Crystal Display)等により構成され、ホストCPU40から入力される表示信号に基づいた各種表示を行う表示装置である。表示部60には、ナビゲーション画面や時刻情報等が表示される。
【0070】
ROM70は、読み取り専用の不揮発性の記憶装置であり、ホストCPU40が携帯型電話機1を制御するためのシステムプログラムや、ナビゲーション機能を実現するための各種プログラムやデータ等を記憶している。
【0071】
フラッシュROM80は、読み書き可能な不揮発性の記憶装置であり、ROM70と同様、ホストCPU40が携帯型電話機1を制御するための各種プログラムやデータ等を記憶している。
【0072】
RAM90は、読み書き可能な揮発性の記憶装置であり、ホストCPU40により実行されるシステムプログラム、各種処理プログラム、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを形成している。
【0073】
携帯電話用アンテナ100は、携帯型電話機1の通信サービス事業者が設置した無線基地局との間で携帯電話用無線信号の送受信を行うアンテナである。
【0074】
携帯電話用無線通信回路部110は、RF変換回路、ベースバンド処理回路等によって構成される携帯電話の通信回路部であり、携帯電話用無線信号の変調・復調等を行うことで、通話やメールの送受信等を実現する。
【0075】
3.データ構成
図4は、ROM70に格納されたデータの一例を示す図である。ROM70には、ホストCPU40により読み出され、メイン処理(図8参照)として実行されるメインプログラム701が記憶されている。また、メインプログラム701には、位置算出処理(図9参照)として実行される位置算出プログラム7011と、ドップラー利用位置算出処理(図10参照)として実行されるドップラー利用位置算出プログラム7013とがサブルーチンとして含まれている。
【0076】
メイン処理とは、ホストCPU40が、携帯型電話機1の本来の機能である通話やメールの送受信のための処理を行う他、携帯型電話機1の位置を算出する処理を行う処理である。
【0077】
位置算出処理とは、ホストCPU40が、ドップラー利用位置算出処理で求められた位置を仮位置として、擬似距離を利用した位置算出処理(以下、「擬似距離利用位置算出処理」と称す。)を行って携帯型電話機1の出力位置を決定し、出力位置をプロットしたナビゲーション画面を生成して表示部60に表示させる処理である。
【0078】
また、ドップラー利用位置算出処理とは、上述した原理に従って、GPS衛星信号のドップラー周波数を用いた位置算出を行う処理である。これらの処理については、フローチャートを用いて詳細に後述する。
【0079】
図5は、フラッシュROM80に格納されたデータの一例を示す図である。フラッシュROM80には、衛星軌道データ801が記憶されている。
【0080】
衛星軌道データ801は、全てのGPS衛星の概略の衛星軌道のデータを記憶したアルマナックや、各GPS衛星それぞれについて詳細な衛星軌道のデータを記憶したエフェメリスが含まれる。衛星軌道データ801は、GPS衛星から受信したGPS衛星信号をデコードすることで取得したり、例えば基地局からサーバーアシストによって取得することができる。
【0081】
図6は、RAM90に格納されるデータの一例を示す図である。RAM90には、メジャメントデータ901と、仮位置データ903と、出力位置データ905とが記憶される。
【0082】
図7は、メジャメントデータ901のデータ構成の一例を示す図である。メジャメントデータ901には、各捕捉衛星9011それぞれについて、当該捕捉衛星から受信したGPS衛星信号のドップラー周波数9013とコード位相9015とが、メジャメント観測値として対応付けて記憶されている。例えば、捕捉衛星「S1」についてのメジャメント観測値は、ドップラー周波数が「fDOP1」であり、コード位相が「CP1」である。
【0083】
仮位置データ903は、ドップラー利用位置算出処理を行うことで得られる携帯型電話機1の仮位置のデータである。仮位置は、擬似距離利用位置算出処理における初期位置として利用される。
【0084】
また、出力位置データ905は、擬似距離利用位置算出処理を行うことで得られる携帯型電話機1の出力位置のデータである。
【0085】
4.処理の流れ
図8は、ROM70に記憶されているメインプログラム701がホストCPU40により読み出されて実行されることで、携帯型電話機1において実行されるメイン処理の流れを示すフローチャートである。
【0086】
メイン処理は、ホストCPU40が、操作部50を介してユーザーにより電源投入操作がなされたことを検出した場合に実行を開始する処理である。また、特に説明しないが、以下のメイン処理の実行中は、GPSアンテナ10によるRF信号の受信や、RF受信回路部20によるRF信号のIF信号へのダウンコンバージョンが行われ、IF信号がベースバンド処理回路部30に随時出力される状態にあるものとする。また、メジャメント取得演算部33により、GPS衛星信号のドップラー周波数及びコード位相の算出が随時行われるものとする。
【0087】
先ず、ホストCPU40は、操作部50を介してユーザーによりなされた指示操作を判定し(ステップA1)、指示操作が通話指示操作であると判定した場合は(ステップA1;通話指示操作)、通話処理を行う(ステップA3)。具体的には、携帯電話用無線通信回路部110に無線基地局との間の基地局通信を行わせ、携帯型電話機1と他機との間の通話を実現する。
【0088】
また、ステップA1において指示操作がメール送受信指示操作であると判定した場合は(ステップA1;メール送受信指示操作)、ホストCPU40は、メール送受信処理を行う(ステップA5)。具体的には、携帯電話用無線通信回路部110に基地局通信を行わせ、携帯型電話機1と他機との間のメールの送受信を実現する。
【0089】
また、ステップA1において指示操作が位置算出指示操作であると判定した場合は(ステップA1;位置算出指示操作)、ホストCPU40は、ROM70から位置算出プログラム7011を読み出して実行することで、位置算出処理を行う(ステップA7)。
【0090】
図9は、位置算出処理の流れを示すフローチャートである。
先ず、ホストCPU40は、携帯型電話機1の電源投入後の初回の位置算出であるか否かを判定し(ステップB1)、初回の位置算出であると判定した場合は(ステップB1;Yes)、ROM70に記憶されているドップラー利用位置算出プログラム7013を読み出して実行することで、ドップラー利用位置算出処理を行う(ステップB3)。
【0091】
図10は、ドップラー利用位置算出処理の流れを示すフローチャートである。
先ず、ホストCPU40は、各GPS衛星それぞれについて、ループAの処理を実行する(ステップC1〜C7)。ループAの処理では、ホストCPU40は、フラッシュROM80に記憶されている衛星軌道データ801に基づいて、地球中心を原点とする球座標系における当該GPS衛星の位置ベクトル及び移動速度ベクトルを算出する(ステップC3)。
【0092】
次いで、ホストCPU40は、当該GPS衛星をベースバンド処理回路部30に捕捉させる捕捉処理を行う(ステップC5)。そして、ホストCPU40は、次のGPS衛星へと処理を移行する。全てのGPS衛星についてステップC3及びC5の処理を行った後、ホストCPU40は、ループAの処理を終了する(ステップC7)。
【0093】
その後、ホストCPU40は、5個以上のGPS衛星の捕捉に成功したか否かを判定し(ステップC9)、失敗したと判定した場合は(ステップC9;No)、ステップC1に戻る。また、5個以上のGPS衛星の捕捉に成功したと判定した場合は(ステップC9;Yes)、ホストCPU40は、メジャメント取得演算部33から各捕捉衛星のドップラー周波数を取得し、RAM90のメジャメントデータ901に記憶させる(ステップC11)。
【0094】
そして、ホストCPU40は、ステップC11で取得したドップラー周波数を用いて、球座標系における携帯型電話機の位置ベクトルの偏角「θ」及び「φ」と、移動速度ベクトルの成分「vux」及び「vuy」との4つを未知パラメーターとして、式(32)を用いてニュートン法による収束計算を実行する(ステップC13)。
【0095】
そして、ホストCPU40は、地球中心から地表面までの距離で表される動径「R」と、ステップC13の収束計算で求められた偏角「θ」及び「φ」とを用いて、式(7)に従って携帯型電話機1の位置を算出する(ステップC15)。
【0096】
また、ホストCPU40は、ステップC13の収束計算で求められた移動速度ベクトルの成分「vux」及び「vuy」を用いて式(12)に従って「vuz」を算出し、携帯型電話機1の移動速度及び移動方向を算出する(ステップC17)。
【0097】
そして、ホストCPU40は、検出したドップラー周波数と、ステップC15及びC17で求めた携帯型電話機1の位置、移動速度及び移動方向を用いて、式(14)及び式(15)に従ってクロックのドリフトを算出する(ステップC19)。そして、ホストCPU40は、ドップラー利用位置算出処理を終了する。
【0098】
図9の位置算出処理に戻って、ドップラー利用位置算出処理を行った後、ホストCPU40は、得られた位置を携帯型電話機1の仮位置に決定して、RAM90の仮位置データ903に記憶させる(ステップB5)。そして、ホストCPU40は、擬似距離利用位置算出処理を行う(ステップB7)。
【0099】
擬似距離利用位置算出処理では、ホストCPU40は、複数の捕捉衛星について、メジャメント取得演算部33により取得されたコード位相を用いて、当該捕捉衛星と携帯型電話機1間の擬似距離を算出する。そして、算出した擬似距離を用いて、例えば最小二乗法やカルマンフィルターを用いた位置算出計算を行う。この際、RAM90の仮位置データ903に記憶されている仮位置を初期位置として計算を行う。
【0100】
擬似距離利用位置算出処理を行った後、ホストCPU40は、得られた位置を携帯型電話機1の出力位置に決定して、RAM90の出力位置データ905に記憶させる(ステップB9)。そして、ホストCPU40は、出力位置をプロットしたナビゲーション画面を生成して表示部60に表示させる(ステップB11)。そして、ホストCPU40は、位置算出処理を終了する。
【0101】
図8のメイン処理に戻って、ステップA3〜A7の何れかの処理を行った後、ホストCPU40は、操作部50を介してユーザーにより電源切断指示操作がなされたか否かを判定し(ステップA9)、なされなかったと判定した場合は(ステップA9;No)、ステップA1に戻る。また、電源切断指示操作がなされたと判定した場合は(ステップA9;Yes)、メイン処理を終了する。
【0102】
5.作用効果
携帯型電話機1は、衛星軌道情報に基づいて複数のGPS衛星それぞれの衛星位置及び衛星移動速度を、地球中心を原点とする球座標系で算出する。そして、複数のGPS衛星それぞれからGPS衛星信号を受信してドップラー周波数を検出し、地球中心から地表までの距離を動径とし、複数のGPS衛星それぞれの衛星位置、衛星移動速度及びドップラー周波数を用いて、ユーザーの位置、移動速度及び移動方向を球座標系で算出する。
【0103】
具体的には、複数のGPS衛星それぞれに関する理論上のドップラー周波数を求める算出式を、地球中心から地表までの距離を動径とし、複数のGPS衛星それぞれの衛星位置、移動速度、及び移動方向と、球座標系で表した未知数であるユーザーの位置、移動速度、及び移動方向とを用いて立式する。この際、携帯型電話機1のクロックのドリフトを考慮してドップラー周波数を求める算出式を立式する。
【0104】
そして、複数のGPS衛星それぞれについて、立式した理論上のドップラー周波数の算出式から求められるドップラー周波数が、実際に受信したGPS衛星信号のドップラー周波数と等しくなることを利用して、未知数であるユーザーの位置、移動速度及び移動方向を算出する。
【0105】
例えば、携帯型電話機1のユーザーが地表面上に位置していると仮定して動径「R」を固定し、球座標系における偏角「θ」及び「φ」を未知パラメーターとしてユーザーの位置を算出することで、GPS衛星信号のドップラー周波数を用いてユーザーの位置を適切に求めることが可能となる。また、この位置算出手法は、位置算出装置の製品に簡単に実装することができる。
【0106】
また、本実施形態では、ユーザーの移動速度及び移動方向は、球座標系の動径方向成分をゼロとみなして算出することにしている。このような制約条件を設けることで、未知パラメーターの数を減らし、位置算出に必要な衛星数を削減したり、演算量を低減したりすることができる。
【0107】
6.変形例
6−1.電子機器
本発明は、携帯型電話機の他にも、位置算出装置を備えた電子機器であれば何れの電子機器にも適用可能である。例えば、ノート型パソコンやPDA(Personal Digital Assistant)、カーナビゲーション装置、携帯型ナビゲーション装置等についても同様に適用可能である。
【0108】
6−2.衛星位置算出システム
上述した実施形態では、衛星位置算出システムとしてGPSを例に挙げて説明したが、WAAS(Wide Area Augmentation System)、QZSS(Quasi Zenith Satellite System)、GLONASS(GLObal NAvigation Satellite System)、GALILEO等の他の衛星位置算出システムであってもよい。
【0109】
6−3.処理の分化
ホストCPU40が実行する処理の一部又は全部を、ベースバンド処理回路部30の演算制御部31が行う構成としてもよい。例えば、演算制御部31は、メジャメント取得演算部33により演算されたメジャメント観測値(ドップラー周波数及びコード位相)を用いて位置算出処理を行って出力位置を決定し、ホストCPU40に出力する。そして、ホストCPU40は、演算制御部31から入力した出力位置を各種アプリケーションに利用する。
【0110】
6−4.位置の適否判定
ドップラー利用位置算出処理で求めた位置を用いて、擬似距離利用位置算出処理で求めた位置の適否を判定することとしてもよい。この場合は、ROM70にメインプログラム701のサブルーチンとして第2の位置算出プログラムを格納しておく。そして、ホストCPU40は、メイン処理において第2の位置算出プログラムを読み出して実行することで、第2の位置算出処理を行う。
【0111】
図11は、第2の位置算出処理の流れを示すフローチャートである。
先ず、ホストCPU40は、ドップラー利用位置算出処理を行う(ステップD1)。そして、ホストCPU40は、得られた位置を出力候補位置としてRAM90に記憶させる(ステップD3)。
【0112】
次いで、ホストCPU40は、例えばサーバーアシストによって携帯型電話機1の仮位置を取得する(ステップD5)。より具体的には、通信圏内に位置する基地局との間で基地局通信を行い、通信基地局から携帯型電話機1の概略位置を取得する。
【0113】
その後、ホストCPU40は、ステップD5で取得した仮位置を初期位置として、擬似距離利用位置算出処理を行う(ステップD7)。そして、ホストCPU40は、得られた位置を適否判定用位置としてRAM90に記憶させる(ステップD9)。
【0114】
次に、ホストCPU40は、RAM90に記憶されている出力候補位置と適否判定用位置との間の距離を算出する(ステップD11)。そして、ホストCPU40は、算出した距離が所定の閾値(例えば1km)未満であるか否かを判定し(ステップD13)、閾値未満であると判定した場合は(ステップD13;Yes)、出力候補位置は適切であると判定し、出力候補位置を出力位置に決定してRAM90に記憶させる(ステップD15)。
【0115】
そして、ホストCPU40は、RAM90に記憶されている出力位置をプロットしたナビゲーション画面を生成して表示部60に表示させた後(ステップD17)、第2の位置算出処理を終了する。
【0116】
また、ステップD13において出力候補位置と適否判定用位置との間の距離が閾値以上であると判定した場合は(ステップD13;No)、ホストCPU40は、出力候補位置は不適であると判定し、例えばエラーメッセージを表示部60に表示させる(ステップD19)。そして、ホストCPU40は、第2の位置算出処理を終了する。
【符号の説明】
【0117】
1 携帯型電話機、 10 GPSアンテナ、 20 GPS受信部、
21 RF受信回路部、 30 ベースバンド処理回路部、 31 演算制御部、
33 メジャメント取得演算部、 35 ROM、 37 RAM、
40 ホストCPU、 50 操作部、 60 表示部、 70 ROM、
80 フラッシュROM、 90 RAM、 100 携帯電話用アンテナ、
110 携帯電話用無線通信回路部

【特許請求の範囲】
【請求項1】
衛星軌道情報に基づいて複数の測位用衛星それぞれの衛星位置を、地球中心を原点とする球座標系で算出することと、
前記複数の測位用衛星それぞれから測位用信号を受信してドップラー周波数を検出することと、
地球中心から地表までの距離を動径とし、前記複数の測位用衛星それぞれの前記衛星位置及び前記ドップラー周波数を用いてユーザーの位置を前記球座標系で算出することと、
を含む位置算出方法。
【請求項2】
前記衛星軌道情報に基づいて前記測位用衛星の移動速度及び移動方向を前記球座標系で算出することと、
地球中心から地表までの距離を動径とし、前記複数の測位用衛星それぞれの前記衛星位置、前記移動速度、前記移動方向、及び前記ドップラー周波数を用いてユーザーの移動速度及び移動方向を前記球座標系で算出することと、
を含む請求項1に記載の位置算出方法。
【請求項3】
前記ユーザーの移動速度及び移動方向の算出は、前記球座標系の動径方向成分をゼロとみなして算出することである、
請求項2に記載の位置算出方法。
【請求項4】
前記複数の測位用衛星それぞれに関する理論上のドップラー周波数を求める算出式を、地球中心から地表までの距離を動径とし、前記複数の測位用衛星それぞれの前記衛星位置、前記移動速度、及び前記移動方向と、前記球座標系で表した未知数であるユーザーの位置、移動速度、及び移動方向とを用いて立式することと、
前記複数の測位用衛星それぞれについて立式した前記理論上のドップラー周波数の算出式と前記検出したドップラー周波数とに基づいて、前記未知数であるユーザーの位置を求めることと、
を含む請求項2又は3に記載の位置算出方法。
【請求項5】
前記立式は、ユーザーのクロックドリフトを未知数として更に加えて立式することである、
請求項4に記載の位置算出方法。
【請求項6】
前記ユーザーの位置を初期位置として、前記受信した測位用信号に基づく所定の位置算出計算を行って最終位置を算出することを含む、
請求項1〜5の何れか一項に記載の位置算出方法。
【請求項7】
衛星軌道情報に基づいて複数の測位用衛星それぞれの衛星位置を、地球中心を原点とする球座標系で算出する衛星位置算出部と、
前記複数の測位用衛星それぞれから測位用信号を受信してドップラー周波数を検出するドップラー検出部と、
地球中心から地表までの距離を動径とし、前記複数の測位用衛星それぞれの前記衛星位置及び前記ドップラー周波数を用いてユーザーの位置を前記球座標系で算出するユーザー位置算出部と、
を備えた位置算出装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2010−175426(P2010−175426A)
【公開日】平成22年8月12日(2010.8.12)
【国際特許分類】
【出願番号】特願2009−19197(P2009−19197)
【出願日】平成21年1月30日(2009.1.30)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】