(57)【要約】【課題】位置を正しく算出するための新しい手法の提案。【解決手段】衛星信号受信部２０は、ＧＰＳ衛星からのＧＰＳ衛星信号を受信する。ＫＦ移動速度算出部１１は、ＧＰＳ衛星信号の受信周波数を用いて移動速度を算出するＫＦ移動速度算出処理（第１のカルマンフィルター処理）を実行する。そして、ＫＦ位置算出部１３は、ＫＦ移動速度算出処理で算出された移動速度と、ＧＰＳ衛星信号を受信した受信信号のコード位相とを用いて位置を算出するＫＦ位置算出処理（第２のカルマンフィルター処理）を実行する。【選択図】図１
2014016234.tif 000002
【特許請求の範囲】
【請求項１】
衛星からの測位用信号を受信することと、
前記測位用信号の受信周波数を用いて移動速度を算出する第１のカルマンフィルター処理を実行することと、
前記第１のカルマンフィルター処理で算出された移動速度と、前記測位用信号を受信した受信信号のコード位相とを用いて位置を算出する第２のカルマンフィルター処理を実行することと、
を含む位置算出方法。
【請求項２】
前記第２のカルマンフィルター処理は、
前記第１のカルマンフィルター処理で算出された移動速度を用いて位置を予測する予測演算と、
前記予測された位置を前記コード位相を用いて補正する補正演算と、
を含む、
請求項１に記載の位置算出方法。
【請求項３】
前記第２のカルマンフィルター処理で用いる位置変化の許容範囲を表すパラメーターを、前記第１のカルマンフィルター処理で算出された移動速度を用いて設定することを更に含み、
前記第２のカルマンフィルター処理は、前記設定されたパラメーターを用いて位置を算出する処理である、
請求項１又は２に記載の位置算出方法。
【請求項４】
衛星からの測位用信号を受信する受信部と、
前記測位用信号の受信周波数を用いて移動速度を算出する第１のカルマンフィルター処理を実行する第１の算出部と、
前記第１のカルマンフィルター処理で算出された移動速度と、前記測位用信号を受信した受信信号のコード位相とを用いて位置を算出する第２のカルマンフィルター処理を実行する第２の算出部と、
を備えた位置算出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置を算出する方法等に関する。
【背景技術】
【０００２】
測位用信号を利用した測位システムとしては、例えばＧＰＳ（Global Positioning System）が広く知られており、携帯型電話機やカーナビゲーション装置等に内蔵されたＧＰＳ受信機に利用されている。ＧＰＳでは、複数のＧＰＳ衛星の位置や各ＧＰＳ衛星までの擬似距離等の情報を用いた位置計算を行ってＧＰＳ受信機の位置やクロックバイアスを求める。
【０００３】
このような測位用信号を利用した位置計算の手法としては、最小二乗法を用いた手法や、カルマンフィルターを用いた手法が広く知られている。例えば、特許文献１には、ＧＰＳ衛星信号を受信した信号のコード位相を観測値として、カルマンフィルターを用いて位置を算出する手法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２６６４６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、アーバンキャニオン等のマルチパス環境で測位用信号の受信機が受信する信号は、測位用衛星から送出される測位用信号である直接波に、建物や地面等に反射した反射波や障害物を透過した透過波、障害物を回折した回折波等の間接波が重畳したマルチパス信号となる。間接波は直接波よりも長い経路長で受信機に到達する。このため、受信機で観測されるコード位相には、間接波の存在に起因する大きな誤差が含まれ得る。このため、測位用信号の受信環境等によっては、位置算出の正確性が低下する問題があった。
【０００６】
本発明は上述した課題に鑑みてなされたものであり、その目的とするところは、位置を正しく算出するための新しい手法を提案することにある。
【課題を解決するための手段】
【０００７】
以上の課題を解決するための第１の形態は、衛星からの測位用信号を受信することと、前記測位用信号の受信周波数を用いて移動速度を算出する第１のカルマンフィルター処理を実行することと、前記第１のカルマンフィルター処理で算出された移動速度と、前記測位用信号を受信した受信信号のコード位相とを用いて位置を算出する第２のカルマンフィルター処理を実行することと、を含む位置算出方法である。
【０００８】
また、他の形態として、衛星からの測位用信号を受信する受信部と、前記測位用信号の受信周波数を用いて移動速度を算出する第１のカルマンフィルター処理を実行する第１の算出部と、前記第１のカルマンフィルター処理で算出された移動速度と、前記測位用信号を受信した受信信号のコード位相とを用いて位置を算出する第２のカルマンフィルター処理を実行する第２の算出部と、を備えた位置算出装置を構成することとしてもよい。
【０００９】
この第１の形態等によれば、衛星からの測位用信号を受信し、その受信周波数を用いて移動速度を算出する第１のカルマンフィルター処理を実行する。そして、第１のカルマンフィルター処理で算出された移動速度と、測位用信号を受信した受信信号のコード位相とを用いて位置を算出する第２のカルマンフィルター処理を実行する。最初に、第１のカルマンフィルター処理を実行して移動速度を算出しておき、この移動速度を位置を算出する第２のカルマンフィルター処理に活用することで、位置を正しく算出することが可能となる。
【００１０】
また、第２の形態として、第１の形態の位置算出方法における前記第２のカルマンフィルター処理は、前記第１のカルマンフィルター処理で算出された移動速度を用いて位置を予測する予測演算と、前記予測された位置を前記コード位相を用いて補正する補正演算と、を含む、位置算出方法を構成することとしてもよい。
【００１１】
この第２の形態によれば、第２のカルマンフィルター処理において、第１のカルマンフィルター処理で算出された移動速度を用いて位置を予測する予測演算を行うことで、位置の予測の確度を高めることができる。このようにして予測した位置をコード位相を用いて補正する補正演算を行うことで、位置算出の正確性が向上する。
【００１２】
また、第３の形態として、第１又は第２の形態の位置算出方法において、前記第２のカルマンフィルター処理で用いる位置変化の許容範囲を表すパラメーターを、前記第１のカルマンフィルター処理で算出された移動速度を用いて設定することを更に含み、前記第２のカルマンフィルター処理は、前記設定されたパラメーターを用いて位置を算出する処理である、位置算出方法を構成することとしてもよい。
【００１３】
この第３の形態によれば、第２のカルマンフィルター処理で用いる位置変化の許容範囲を表すパラメーターを、第１のカルマンフィルター処理で算出された移動速度を用いて設定する。例えば、移動速度が大きいほど、移動方向に対する位置変化の許容範囲をより広くするようにパラメーターを設定する。このようにして設定したパラメーターを用いて第２のカルマンフィルター処理を実行することで、移動速度を考慮した適切な位置算出を実現することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】位置算出装置の機能構成の一例を示すブロック図。
【図２】位置算出処理の流れを示すフローチャート。
【図３】位置Ｑ行列設定処理の流れを示すフローチャート。
【図４】位置Ｑ行列の設定方法の説明図。
【図５】（１）従来の手法で位置Ｑ行列を設定した場合の作用の説明図。（２）実施形態の手法で位置Ｑ行列を設定した場合の作用の説明図。
【図６】変形例における位置Ｑ行列の設定方法の説明図。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明を適用した好適な実施形態の一例について説明する。本実施形態は、衛星測位システムの一種であるＧＰＳを適用した実施形態である。本発明を適用可能な形態が以下説明する実施形態に限定されるわけでないことは勿論である。
【００１６】
１．構成
図１は、本実施形態における位置算出装置１の機能構成の一例を示すブロック図である。位置算出装置１は、処理部１０と、衛星信号受信部２０と、センサー部３０と、操作部４０と、表示部５０と、音出力部６０と、通信部７０と、時計部８０と、記憶部９０とを備えて構成される。
【００１７】
処理部１０は、記憶部９０に記憶されているシステムプログラム等の各種プログラムに従って位置算出装置１の各部を統括的に制御するプロセッサーであり、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）等のプロセッサーを有して構成される。
【００１８】
本実施形態において、処理部１０は、主要な機能部として、ＫＦ（Kalman Filter）移動速度算出部１１と、ＫＦ位置算出部１３と、位置Ｑ行列設定部１５とを有する。但し、これらの機能部は一実施例として記載したものに過ぎず、必ずしもこれら全ての機能部を必須構成要素としなければならないわけではない。また、これら以外の機能部を必須構成要素としてもよい。
【００１９】
ＫＦ移動速度算出部１１は、衛星信号受信部２０で受信されたＧＰＳ衛星信号の受信周波数を用いて移動速度を算出する第１のカルマンフィルター処理として、ＫＦ移動速度算出処理を実行する。ＫＦ移動速度算出部１１は、第１のカルマンフィルター処理を実行する第１の算出部に相当する。本実施形態では、移動速度を、移動の速さ及び移動方向を含む概念（つまり移動速度ベクトル）として説明する。
【００２０】
ＫＦ位置算出部１３は、ＫＦ移動速度算出部１１によってＫＦ移動速度算出処理で算出された移動速度と、衛星信号受信部２０がＧＰＳ衛星信号を受信した受信信号のコード位相とを用いて位置を算出する第２のカルマンフィルター処理として、ＫＦ位置算出処理を実行する。ＫＦ位置算出部１３は、第２のカルマンフィルター処理を実行する第２の算出部に相当する。
【００２１】
位置Ｑ行列設定部１５は、ＫＦ位置算出処理で用いる位置変化の許容範囲を表すパラメーターとして位置Ｑ行列と称する行列を設定する。カルマンフィルター処理では、プロセスノイズ（システムノイズ）として知られる時間遷移に関する雑音を表すパラメーターを推定演算に用いる。このプロセスノイズはＱ値とも呼ばれる。多次元の状態推定を行うカルマンフィルター処理では、Ｑ値を行列形式で定義したＱ行列を用いる。
【００２２】
本実施形態では、ＫＦ位置算出処理において、３次元の位置成分を推定対象とする状態（状態ベクトル）として演算を行う。そのため、Ｑ値は行列形式で表されることになる。このため、位置の計算に用いるＱ行列という意味で位置Ｑ行列と称して説明する。この位置Ｑ行列によって、位置変化の許容範囲が定められる。位置Ｑ行列の設定方法については、詳細に後述する。
【００２３】
衛星信号受信部２０は、測位用衛星の一種であるＧＰＳ衛星から発信されている測位用信号としてのＧＰＳ衛星信号を受信する受信装置である。衛星信号受信部２０は、不図示のＧＰＳアンテナで受信されたＲＦ（Radio Frequency）信号に対する信号処理を行ってＧＰＳ衛星信号を捕捉し、捕捉したＧＰＳ衛星信号に係る諸量（以下、「メジャメント情報」と称す。）を演算・取得する。メジャメント情報には、ＧＰＳ衛星信号を受信した受信信号の受信周波数やコード位相といった諸量が含まれる。衛星信号受信部２０は、取得したメジャメント情報を処理部１０に出力する。
【００２４】
センサー部３０は、例えば加速度センサーやジャイロセンサーといった慣性センサーを有して構成されるセンサーユニットである。センサー部３０は、その検出結果を処理部１０に出力する。
【００２５】
操作部４０は、例えばタッチパネルやボタンスイッチ等を有して構成される入力装置であり、押下されたキーやボタンの信号を処理部１０に出力する。この操作部４０の操作により、位置算出要求等の各種指示入力がなされる。
【００２６】
表示部５０は、ＬＣＤ（Liquid Crystal Display）等を有して構成される表示装置であり、処理部１０から出力される表示信号に基づいた各種表示を行う。表示部５０には、位置の算出結果や時刻情報等が表示される。
【００２７】
音出力部６０は、スピーカー等を有して構成される音出力装置であり、処理部１０から出力される音出力信号に基づいた各種音出力を行う。音出力部６０からは、各種アプリケーションに係る音声や音楽等が音出力される。
【００２８】
通信部７０は、処理部１０の制御に従って、装置内部で利用される情報を外部の情報処理装置との間で送受するための通信装置である。通信部７０の通信方式としては、所定の通信規格に準拠したケーブルを介して有線接続する形式や、クレイドルと呼ばれる充電器と兼用の中間装置を介して接続する形式、近距離無線通信を利用して無線接続する形式等、種々の方式を適用可能である。
【００２９】
時計部８０は、位置算出装置１の内部時計であり、水晶振動子及び発振回路でなる水晶発振器等を有して構成される。時計部８０の計時時刻は処理部１０に随時出力される。
【００３０】
記憶部９０は、ＲＯＭ（Read Only Memory）やフラッシュＲＯＭ、ＲＡＭ（Random Access Memory）等の記憶装置を有して構成され、処理部１０が位置算出装置１を制御するためのシステムプログラムや、各種アプリケーション処理を実行するための各種プログラムやデータ等を記憶する。
【００３１】
記憶部９０には、処理部１０によって読み出され、位置算出処理（図２参照）として実行される位置算出プログラム９１が記憶されている。位置算出プログラム９１は、ＫＦ移動速度算出処理（図２参照）として実行されるＫＦ移動速度算出プログラム９１１と、ＫＦ位置算出処理（図２参照）として実行されるＫＦ位置算出プログラム９１３と、位置Ｑ行列設定処理（図３参照）として実行される位置Ｑ行列設定プログラム９１５とをサブルーチンとして含む。これらの処理については、フローチャートを用いて詳細に後述する。
【００３２】
また、記憶部９０には、メジャメントデータ９３と、算出移動速度データ９５と、算出位置データ９７とが記憶される。
【００３３】
メジャメントデータ９３は、衛星信号受信部２０から出力されるメジャメント情報が記憶されたデータである。このメジャメント情報には、ＫＦ移動速度算出処理で用いられる受信周波数や、ＫＦ位置算出処理で用いられるコード位相といった諸量が含まれる。
【００３４】
算出移動速度データ９５は、ＫＦ移動速度算出処理で算出された移動速度のデータであり、算出位置データ９７は、ＫＦ位置算出処理で算出された位置のデータである。
【００３５】
２．処理の流れ
図２は、処理部１０が、記憶部９０に記憶されている位置算出プログラム９１に従って実行する位置算出処理の流れを示すフローチャートである。この位置算出処理においては、衛星信号受信部２０においてＧＰＳ衛星信号の捕捉及びメジャメント情報の演算・取得が随時行われ、処理部１０がメジャメント情報を随時取得可能な状態にあるものとして説明する。
【００３６】
最初に、処理部１０は、初期設定を行う（ステップＡ１）。具体的には、所与の絶対座標系において、移動速度を成分とする状態ベクトル（以下、「移動速度状態ベクトル」と称す。）と、位置を成分とする状態ベクトル（以下、「位置状態ベクトル」と称す。）とを定義し、それぞれ所定の初期値を設定する。
【００３７】
本実施形態では、絶対座標系としてＥＣＥＦ（Earth Centered Earth Fixed）座標系を考え、ＥＣＥＦ座標系で移動速度状態ベクトル及び位置状態ベクトルを定義する。ＥＣＥＦ座標系は、地球中心地球固定座標系として知られる三次元直交座標系である。
【００３８】
具体的には、例えば次式（１）及び（２）に示すような移動速度状態ベクトル「ＶｅｌＸ」及び位置状態ベクトル「ＰｏｓＸ」を定義する。
【数１】
2014016234.tif 000003
【数２】
2014016234.tif 000004
但し、「（Ｕ，Ｖ，Ｗ）」はＥＣＥＦ座標系の各軸方向の速度成分である。「ｄ」は位置算出装置１のクロックのドリフトである。「（Ｘ，Ｙ，Ｚ）」はＥＣＥＦ座標系における各軸方向の位置成分である。「ｂ」は位置算出装置１のクロックのバイアスである。
【００３９】
また、移動速度状態ベクトル「ＶｅｌＸ」の誤差共分散を表す移動速度誤差共分散行列「ＶｅｌＰ」と、位置状態ベクトル「ＰｏｓＸ」の誤差共分散を表す位置誤差共分散行列「ＰｏｓＰ」とを定義し、それぞれの行列の各成分に所定の初期値を設定する。
【００４０】
次いで、ＫＦ移動速度算出部１１が、記憶部９０に記憶されているＫＦ移動速度算出プログラム９１１に従って、ＫＦ移動速度算出処理を実行する（ステップＡ３）。
【００４１】
ＫＦ移動速度算出処理では、ＫＦ移動速度算出部１１は、移動速度予測演算を行う（ステップＡ５）。具体的には、次式（３）及び（４）に従って、移動速度状態ベクトル「ＶｅｌＸ」及び移動速度誤差共分散行列「ＶｅｌＰ」をそれぞれ予測する。
【数３】
2014016234.tif 000005
【数４】
2014016234.tif 000006
但し、下付きの添え字の「ｋ」は時刻を表す。また、上付きの添え字の「−」は予測演算で得られる予測値を意味し、上付きの添え字の「＋」は補正演算で得られる補正値を意味する。「ＶｅｌＱ」は、ＫＦ移動速度算出処理に係るシステムノイズ（プロセスノイズ）である。
【００４２】
その後、ＫＦ移動速度算出部１１は、移動速度補正演算を行う（ステップＡ７）。移動速度補正演算では、ＫＦ移動速度算出部１１は、衛星信号受信部２０から受信周波数をメジャメント情報として取得し、メジャメントデータ９３として記憶部９０に記憶させる。
【００４３】
そして、取得した受信周波数を観測値として、公知のカルマンフィルターの補正演算式に従って、移動速度状態ベクトル「ＶｅｌＸ」及び移動速度誤差共分散行列「ＶｅｌＰ」を補正する。そして、補正結果として得られた移動速度を算出移動速度データ９５として記憶部９０に記憶させる。
【００４４】
次いで、位置Ｑ行列設定部１５が、記憶部９０に記憶されている位置Ｑ行列設定プログラム９１５に従って、位置Ｑ行列設定処理を行う（ステップＡ９）。
【００４５】
図３は、位置Ｑ行列設定処理の流れを示すフローチャートである。本実施形態では、ＥＣＥＦ座標系において位置状態ベクトル「ＰｏｓＸ」及び位置誤差共分散行列「ＰｏｓＰ」を定義している。そのため、ＥＣＥＦ座標系での演算を可能とするために、位置Ｑ行列設定処理では、ＥＣＥＦ座標系での位置Ｑ行列を設定する処理を行う。
【００４６】
最初に、位置Ｑ行列設定部１５は、ＫＦ移動速度算出処理で算出された最新の移動速度を用いて、位置Ｑ行列をボディ座標系で設定する（ステップＢ１）。
【００４７】
ボディ座標系は、位置算出装置１に固定され、実空間を移動、回転する座標系である。ボディフレームとも呼ばれる。具体的には、例えば、位置算出装置１の前方方向を正とする前後方向をｘ軸、位置算出装置１の右方向を正とする左右方向をｙ軸、位置算出装置１の下方向を正とする上下方向をｚ軸とする三次元直交座標系をボディ座標系と定義する。
【００４８】
本実施形態では、移動方向に対する位置変化の許容度が最大となるように位置Ｑ行列を設定する。位置Ｑ行列は、ボディ座標系において、前後方向に対する位置変化の許容度を定めるＱ値である「ＱHead」と、左右方向に対する位置変化の許容度を定めるＱ値である「ＱSide」と、上下方向に対する位置変化の許容度を定めるＱ値である「ＱUp」とを成分として含む行列として定義することができる。
【００４９】
図４は、ボディ座標系における位置Ｑ行列の設定方法の説明図である。実際にはボディ座標系は３次元の座標系であるが、簡明化のために、移動空間を上空から俯瞰した平面視の座標系、すなわち図４では前後方向の軸と左右方向の軸とでなる２次元の座標系として図示している。
【００５０】
本実施形態では、移動方向に対する位置変化の許容度が最大となるように、楕円形状の位置変化許容範囲を設定する。前後方向の軸に対する楕円の半径を「α」、左右方向の軸に対する楕円の半径を「β」と表記する。この場合、例えば、「α＝ｍ||ｖ＋k||×Δｔ」、「β＝ｎα」とする位置変化許容範囲を定める。
【００５１】
但し、||ｖ＋k||は、時刻ｋにおいてＫＦ移動速度算出処理で算出された移動速度の大きさ（移動速度のベクトルノルム）である。「Δｔ」は、前回のＫＦ位置算出処理からの経過時間である。また、「ｍ」及び「ｎ」は、それぞれ前後方向及び左右方向に対する位置変化の許容度を定める係数（以下、「位置変化許容度係数」と称す。）である。位置変化許容度係数の値は適宜選択可能であるが、前後方向に対する位置変化の許容度が左右方向に対する位置変化の許容度よりも高くなるような値を選択する。例えば、「α：β＝１０：１」となるような値を選択する。
【００５２】
この場合、前後方向の軸に対するＱ値には「α2」を設定し（ＱHead＝α2）、左右方向の軸に対するＱ値には「β2」を設定する（ＱHead＝β2）。また、移動方向に対する位置変化の許容度を高くすることが目的であるため、上下方向に対する位置変化の許容度は低くてよい。そのため、上下方向の軸に対するＱ値には、例えば左右方向の軸に対するＱ値と同じ値を設定する（ＱUp＝β2）。このようにボディ座標系の３軸それぞれに対するＱ値を設定することで、楕円体形状の位置変化許容範囲が定められることになる。
【００５３】
図３に戻り、ステップＢ１の後、位置Ｑ行列設定部１５は、ステップＡ３のＫＦ移動速度算出処理で算出されたＥＣＥＦ座標系での移動速度を、ＥＮＵ（East North Up）座標系での移動速度に座標変換する（ステップＢ３）。ＥＮＵ座標系は、東北上座標系として知られる三次元直交座標系である。ＥＣＥＦ座標系からＥＮＵ座標系への座標変換は、公知の座標変換行列を用いた座標変換（行列演算）によって実現することができる。
【００５４】
その後、位置Ｑ行列設定部１５は、ボディ座標系からＥＮＵ座標系への座標変換行列を算出する（ステップＢ５）。具体的には、ステップＢ３で座標変換したＥＮＵ座標系での移動速度を用いて、ボディ座標系からＥＮＵ座標系に座標変換するための回転角を算出する。
【００５５】
具体的には、次式（５）及び（６）に従って、上下方向に対する回転角θUp及び左右方向に対する回転角θSideを算出する。
【数５】
2014016234.tif 000007
【数６】
2014016234.tif 000008
但し、「ｖE」は移動速度の東西方向の成分であり、「ｖN」は移動速度の南北方向の成分である。
【００５６】
そして、上記のようにして算出した回転角を用いて、次式（７）〜（９）に従って座標変換行列Ｒを算出する。
【数７】
2014016234.tif 000009
【数８】
2014016234.tif 000010
【数９】
2014016234.tif 000011
【００５７】
次いで、位置Ｑ行列設定部１５は、ステップＢ５で算出した座標変換行列Ｒを用いて、ステップＢ１においてボディ座標系で設定した位置Ｑ行列を、ＥＮＵ座標系での位置Ｑ行列に座標変換する（ステップＢ７）。
【００５８】
その後、位置Ｑ行列設定部１５は、ＥＮＵ座標系からＥＣＥＦ座標系への座標変換行列を用いて、ステップＢ７において座標変換したＥＮＵ座標系での位置Ｑ行列を、ＥＣＥＦ座標系での位置Ｑ行列に座標変換する（ステップＢ９）。そして、位置Ｑ行列設定部１５は、位置Ｑ行列設定処理を終了する。
【００５９】
図２に戻り、位置Ｑ行列設定処理を行った後、ＫＦ位置算出部１３は、記憶部９０に記憶されているＫＦ位置算出プログラム９１３に従って、ＫＦ位置算出処理を行う（ステップＡ１１）。
【００６０】
ＫＦ位置算出処理では、ＫＦ位置算出部１３は、位置予測演算を行う（ステップＡ１３）。位置予測演算では、次式（１０）及び（１１）に従って、位置状態ベクトル「ＰｏｓＸ」及び位置誤差共分散行列「ＰｏｓＰ」をそれぞれ予測する。
【数１０】
2014016234.tif 000012
【数１１】
2014016234.tif 000013
【００６１】
式（１０）及び式（１１）において、「φ」は状態遷移行列である。状態遷移行列「φ」は、前回のＫＦ位置算出処理からの経過時間「Δｔ」を成分として含む行列として定義される。そのため、式（１０）によれば、前回のＫＦ移動速度算出処理で算出された移動速度と、今回のＫＦ移動速度算出処理で算出された移動速度とを平均することで平均移動速度を算出する。そして、この平均移動速度に経過時間「Δｔ」を乗算することで、経過時間「Δｔ」における位置の変化分を求め、この位置の変化分を前回の算出位置に加算することで、新たに位置を予測することを意味する。
【００６２】
なお、式（１０）では、前回のＫＦ移動速度算出処理で算出された移動速度と、今回のＫＦ移動速度算出処理で算出された移動速度とを平均した平均移動速度を用いて位置を予測したが、前回のＫＦ移動速度算出処理で算出された移動速度は用いずに、今回のＫＦ移動速度算出処理で算出された移動速度を用いて位置を予測することとしてもよい。
【００６３】
また、式（１１）において、「ＰｏｓＱ」は、ステップＡ９の位置Ｑ行列設定処理で設定されたＥＣＥＦ座標系での位置Ｑ行列である。位置Ｑ行列設定処理で設定された位置Ｑ行列は、位置算出装置１の移動方向に対する位置変化の許容度が最大となるように設定された行列である。この位置Ｑ行列を用いて、位置誤差共分散行列「ＰｏｓＰ」の予測を行うことになる。
【００６４】
次いで、ＫＦ位置算出部１３は、位置補正演算を行う（ステップＡ１５）。位置補正演算では、衛星信号受信部２０からＧＰＳ衛星信号を受信した信号のコード位相をメジャメント情報として取得し、メジャメントデータ９３として記憶部９０に記憶させる。
【００６５】
そして、取得したコード位相を観測値として、公知のカルマンフィルターの補正演算式に従って、位置状態ベクトル「ＰｏｓＸ」及び位置誤差共分散行列「ＰｏｓＰ」を補正する。そして、補正結果として得られた位置を算出位置データ９７として記憶部９０に記憶させる。
【００６６】
その後、処理部１０は、ＫＦ位置算出処理で算出された算出位置を出力する（ステップＡ１７）。そして、処理部１０は、処理を終了するか否かを判定し（ステップＡ１９）、処理を継続すると判定した場合は（ステップＡ１９；Ｎｏ）、ステップＡ３に戻る。また、処理を終了すると判定した場合は（ステップＡ１９；Ｙｅｓ）、位置算出処理を終了する。
【００６７】
図５は、本実施形態における位置Ｑ行列の作用を説明するための図である。
図５（１）は、従来の手法で位置Ｑ行列を設定した場合の説明図である。「Ｘ＋k-1」と表記した黒丸は、時刻ｋ−１においてＫＦ位置算出処理で算出された算出位置を示している。この算出位置Ｘ＋k-1を囲む白い円は、算出位置Ｘ＋k-1に内在する位置誤差の範囲（以下、「位置誤差範囲」と称す。）を示している。この位置誤差範囲は、時刻ｋ−１においてＫＦ位置算出処理で算出された位置誤差共分散Ｐ＋k-1によって定められる。
【００６８】
「Ｘ−k」と表記した白丸は、時刻ｋにおいてＫＦ位置算出処理の予測演算で予測された予測位置を示している。予測位置Ｘ−kを囲む白い円は、時刻ｋ−１における位置誤差範囲を示している。また、「Ｘ＋k」と表記した黒丸は、時刻ｋにおいてＫＦ位置算出処理の補正演算で補正された補正位置を示しており、点線で示した丸は位置算出装置１の真位置を示している。
【００６９】
時刻ｋにおける予測演算により、白い円で囲まれる位置誤差範囲が、新たに設定される位置Ｑ行列によって定まる位置変化許容範囲だけ広げられることになる。白い円を囲むように図示したハッチングを示した範囲が、位置Ｑ行列によって定められる位置変化許容範囲である。但し、計算上、位置誤差範囲も算出位置が変化し得る範囲と言えるため、白い円を含めて位置変化許容範囲と言ってもよい。
【００７０】
従来の方法では、全ての方向に対して同じ長さ分だけ位置誤差範囲を拡張するように位置Ｑ行列を設定していた。時刻ｋにおける位置の補正演算では、この拡張された位置誤差範囲に収まるように予測位置Ｘ−kが補正される。しかし、全ての方向に対して同じ長さだけ位置誤差範囲を拡張したがために、マルチパス環境等において観測値（コード位相）に大きな誤差が混入すると、補正演算で求められる補正位置Ｘ＋kが真位置から大きく揺らいでしまう。
【００７１】
図５（２）は、本実施形態の手法で位置Ｑ行列を設定した場合の説明図である。図の見方は図５（１）と同じである。本実施形態では、位置算出装置１の移動方向に対する位置変化の許容度が最大となるように位置変化許容範囲を定めることにしている。このため、仮に観測値に大きな誤差が混入したとしても、補正演算で得られる補正位置Ｘ＋kが真位置から大きく揺らぐことが防止され、真位置に近い位置が算出位置として得られるようになる。
【００７２】
３．作用効果
マルチパス環境では、間接波が直接波よりも長い経路長でＧＰＳ受信機に到達するため、受信機で観測されるコード位相に含まれる誤差が大きくなる。このようなコード位相を用いて位置を算出するカルマンフィルター処理を実行した場合、コード位相に内在する大きな誤差に引きずられて、位置算出の正確性が低下してしまう。
【００７３】
一方で、ＧＰＳ受信機がＧＰＳ衛星信号を受信する場合の受信周波数は、ＧＰＳ受信機とＧＰＳ衛星との相対的な位置関係及び相対的な移動速度の関係によって定まり、ＧＰＳ衛星信号の伝搬経路は問題とならないため、マルチパスの影響を受けにくい特性がある。そこで、本実施形態では、最初にＧＰＳ衛星信号の受信周波数を用いて移動速度を算出する第１のカルマンフィルター処理を実行する。その後、第１のカルマンフィルター処理で算出された移動速度と、ＧＰＳ衛星信号を受信した受信信号のコード位相を用いて位置を算出する第２のカルマンフィルター処理を実行する。
【００７４】
第２のカルマンフィルター処理では、第１のカルマンフィルター処理で算出された移動速度を用いて位置を予測する予測演算を行う。第１のカルマンフィルター処理では、上記のように正しい移動速度が算出されるため、この移動速度を用いた予測演算を行うことで、位置の予測を高い確度で行うことができる。そして、このようにして予測した位置をコード位相を用いて補正することで、マルチパス環境においても、高い正確性で位置を算出することが可能となる。
【００７５】
また、本実施形態では、第２のカルマンフィルター処理で用いる位置変化の許容範囲を表すパラメーターの一種である位置Ｑ行列を、第１のカルマンフィルター処理で算出された移動速度を用いて設定する。移動方向に対する位置変化の許容度が最大となるように移動速度を用いて位置変化の許容範囲を定めることで、移動方向以外の方向に対する位置の揺らぎを抑え、より真位置に近い位置が算出されるようにフィルターを作用させることができる。
【００７６】
カルマンフィルターを用いた計算方法としては、位置と移動速度とを同じ状態ベクトルとして定義して計算を行う手法も考えられる。しかし、この手法では、計算上、コード位相の誤差が移動速度の成分に影響を及ぼしてしまうため、マルチパス環境においては、位置ばかりでなく移動速度も正しく算出されなくなってしまう。その点、本実施形態の手法では、位置と移動速度とを分離して別々の状態ベクトルを定義し、別々にカルマンフィルター処理することにしているため、コード位相の誤差が移動速度に影響を及ぼすことを防止することができる。
【００７７】
本願発明者が実際に実験を行った結果、移動速度及び位置の何れについても、従来の手法と比べて、算出移動速度及び算出位置に含まれる誤差が低減する効果を確認した。その中でも位置については、従来の手法ではおよそ１３メートルの位置誤差が観測されたのに対し、本実施形態の手法ではおよそ１０メートルの位置誤差となり、３メートル程度の精度改善が見られた。
【００７８】
４．変形例
本発明を適用可能な実施例は、上記の実施例に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。以下、変形例について説明する。
【００７９】
４−１．位置Ｑ行列の設定方法
図４で説明した位置Ｑ行列の設定方法はあくまでも一例であり、適宜変更可能である。例えば、位置算出装置１の移動状態に基づいて位置変化許容度係数を定めることとしてもよい。
【００８０】
図６は、変形例における位置Ｑ行列の設定方法の説明図であり、位置算出装置１の移動状態と、その移動状態に対応する位置変化許容度係数とを定めたテーブルを図示している。移動状態には、位置算出装置１が停止から移動を開始した直後の状態であることを示す「停止→移動開始」と、移動中であることを示す「移動中」とが定められている。
【００８１】
移動変化許容範囲係数には、位置算出装置１の前後方向の軸に対する楕円の半径を定める係数「ｍ」と、位置算出装置１の左右方向の軸に対する楕円の半径を定める係数「ｎ」の値とが定められている。
【００８２】
具体的には、「停止→移動開始」の移動状態に対しては、前後方向に対する位置変化許容度係数を「ｍ＝１０Ａ」とし、左右方向に対する位置変化許容度係数を「ｎ＝０．１」とすることが定められている。また、「移動中」の移動状態に対しては、前後方向に対する位置変化許容度係数を「ｍ＝８Ａ」とし、左右方向に対する位置変化許容度係数を「ｎ＝０．２」とすることが定められている。但し、「Ａ」は正の定数である。
【００８３】
この設定方法によれば、位置算出装置１が停止状態から移動を開始した直後の状態である場合は、移動中の場合と比べて、移動方向に対する位置変化の許容範囲を広くし、左右方向に対する位置変化の許容範囲を狭くするように位置Ｑ行列を設定することになる。
なお、位置算出装置１の移動状態は、位置算出装置１が備えるセンサー部３０が有する加速度センサーやジャイロセンサーの検出結果に基づいて、従来公知の手法を用いて検出することが可能である。
【００８４】
また、上記の実施形態では、ＫＦ移動速度算出処理で算出された移動速度を用いてＱ行列を構成する各軸方向に対するＱ値（ＱHead，ＱSide，ＱUp）を設定したが、移動速度の代わりに加速度を用いて各軸方向に対するＱ値を設定してもよい。この場合の加速度としては、ＫＦ移動速度算出処理で算出された移動速度を時間微分することで得られる加速度を用いてもよいし、センサー部３０が有する加速度の検出加速度を用いてもよい。
【００８５】
この場合は、上記の何れかの方法で取得した３軸の加速度を用いて加速度ノルムを計算する。また、各軸方向に対する係数を予め定めておく。具体的には、移動方向に対する位置変化の許容度が最大となるように、例えば、前後方向、左右方向及び上下方向に対する係数として「１０：１：１」の比率で表される係数を定めておく。そして、各軸方向それぞれについて定められた係数と加速度ノルムとを乗算し、その乗算値を用いて、各軸方向それぞれに対するＱ値を設定する。
【００８６】
４−２．状態ベクトル
上記の実施形態では、ＫＦ移動速度算出処理で用いる状態ベクトルを、３次元の速度成分及びクロックドリフトでなる４次元のベクトルとして定義したが、これは適宜設定変更可能である。例えば、３次元の速度成分ではなく２次元の速度成分（この場合は地表面方向の２次元）として定義してもよいし、クロックドリフトは既知であるとして状態ベクトルから除外してもよい。
【００８７】
これは、ＫＦ位置算出処理で用いる状態ベクトルについても同様である。つまり、３次元の位置成分ではなく２次元の位置成分として定義してもよいし、クロックバイアスは既知であるとして状態ベクトルから除外することとしてもよい。
【００８８】
４−３．電子機器
上記の実施形態の位置算出装置１は、種々の電子機器に内蔵配置して利用することが可能である。例えば、携帯型電話機やカーナビゲーション装置、携帯型ナビゲーション装置、パソコン、ＰＤＡ（Personal Digital Assistance）、歩数計、腕時計といった種々の電子機器に搭載することが可能である。
【００８９】
４−４．衛星測位システム
上記の実施例では、位置算出装置１が備える衛星信号受信装置を、ＧＰＳを適用したＧＰＳ衛星信号受信装置として説明したが、ＧＰＳ以外の衛星測位システムであるＷＡＡＳ（Wide Area Augmentation System）やＱＺＳＳ（Quasi Zenith Satellite System）、ＧＬＯＮＡＳＳ（GLObal NAvigation Satellite System）、ＧＡＬＩＬＥＯ等の衛星測位システムを適用した衛星信号受信装置としてもよい。
【符号の説明】
【００９０】
１  位置算出装置、  １０  処理部、  ２０  衛星信号受信部、  ３０  センサー部、  ４０  操作部、  ５０  表示部、  ６０  音出力部、  ７０  通信部、  ８０  時計部、  ９０  記憶部
【図１】
2014016234.tif 000014
【図２】
2014016234.tif 000015
【図３】
2014016234.tif 000016
【図４】
2014016234.tif 000017
【図５】
2014016234.tif 000018
【図６】
2014016234.tif 000019