(57)【要約】【課題】カルマンフィルター処理を用いた位置算出において算出位置の直進性を向上させること。【解決手段】位置算出装置を具備した携帯型電話機において、カルマンフィルター処理で用いる位置変化の許容度を表す位置変化許容パラメーターの値を、検出された移動方向に基づいて設定する。そして、設定した位置変化許容パラメーターの値を用いてカルマンフィルター処理を実行して位置を算出する。【選択図】図６
2010181361.tif 000002
【特許請求の範囲】
【請求項１】
測位用衛星からの衛星信号に基づき、カルマンフィルター処理を用いて位置を算出する位置算出方法であって、
移動方向を検出することと、
前記カルマンフィルター処理で用いる位置変化の許容度を表す位置変化許容パラメーターの値を、前記検出された移動方向に基づいて設定することと、
前記位置変化許容パラメーターの値を用いて前記カルマンフィルター処理を実行して位置を算出することと、
を含む位置算出方法。
【請求項２】
前記位置変化許容パラメーターの値を設定することは、
位置変化の許容範囲の形状を前記検出された移動方向に基づき定めることと、
前記許容範囲に基づいて前記位置変化許容パラメーターの値を設定することと、
を含む請求項１に記載の位置算出方法。
【請求項３】
前記許容範囲の形状を定めることは、オーバル状に前記許容範囲を定めることを含む請求項２に記載の位置算出方法。
【請求項４】
前記許容範囲の形状を定めることは、所与の基準方向と前記検出された移動方向との成す角度を用いて前記許容範囲の形状を定めることを含む請求項２又は３に記載の位置算出方法。
【請求項５】
前記基準方向を前回位置算出した際の移動方向とすることを更に含む請求項４に記載の位置算出方法。
【請求項６】
停止及び移動を少なくとも含む移動状態を判定することと、
前記許容範囲の大きさを前記判定された移動状態に基づいて変更することと、
を更に含む請求項２〜５の何れか一項に記載の位置算出方法。
【請求項７】
移動速度を検出することと、
前記許容範囲の大きさを前記検出された移動速度に基づいて変更することと、
を更に含む請求項２〜５の何れか一項に記載の位置算出方法。
【請求項８】
測位用衛星からの衛星信号に基づき、カルマンフィルター処理を用いて位置を算出する位置算出装置であって、
移動方向を検出する検出部と、
前記カルマンフィルター処理で用いる位置変化の許容度を表す位置変化許容パラメーターの値を、前記検出された移動方向に基づいて設定する設定部と、
前記位置変化許容パラメーターの値を用いて前記カルマンフィルター処理を実行して位置を算出する算出部と、
を備えた位置算出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置算出方法及び位置算出装置に関する。
【背景技術】
【０００２】
測位用信号を利用した測位システムとしては、ＧＰＳ（Global Positioning System）が広く知られており、携帯型電話機やカーナビゲーション装置等に内蔵された位置算出装置に利用されている。ＧＰＳでは、複数のＧＰＳ衛星の位置や各ＧＰＳ衛星から自機までの擬似距離等の情報に基づいて自機の位置を示す３次元の座標値と時計誤差とを求める位置算出演算を行う。
【０００３】
位置算出演算としては、最小二乗法を用いた位置算出演算や、カルマンフィルターを用いた位置算出演算が知られている。このカルマンフィルターに関連する技術として、例えば特許文献１には、速度センサー及び方位センサーにより検出された位置算出装置の移動速度及び方位をカルマンフィルターの入力として用いて、位置算出装置の状態を推定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第４６８０７１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
カルマンフィルターを用いて位置算出を行う場合には、位置変化の許容度を決定付ける位置変化許容パラメーターの値をどのように設定するかが問題となる。位置変化許容パラメーターは、システムノイズと呼ばれるカルマンフィルターのモデル誤差を表すパラメーターの一種である。
【０００６】
図２３は、位置変化許容パラメーターの概念を説明するための図である。概念的には、時刻「ｔ−１」における位置算出装置の位置を「ｐ（ｔ−１）」とした場合、位置「ｐ（ｔ−１）」を中心とする円の範囲を位置変化許容範囲と考えることができる。位置変化許容範囲の半径が位置変化許容パラメーターの値によって定まる。
【０００７】
位置算出計算では、次の時刻「ｔ」における位置「ｐ（ｔ）」がこの位置変化許容範囲内に収まるようにカルマンフィルターが作用する。具体的には、位置変化許容パラメーターの値が小さいと、図２３（Ａ）に示すように位置変化許容範囲が狭くなり、位置の変化を抑制するようにフィルターが作用する。一方、位置変化許容パラメーターの値が大きいと、図２３（Ｂ）に示すように位置変化許容範囲が広くなり、図２３（Ａ）に比べて位置の大きな変化を許容するようにフィルターが作用する。
【０００８】
従来は、固定的な位置変化許容パラメーターの値を用いて位置計算を行っていた。また、図２３に示すように位置変化許容範囲は全ての方向に対して同じ長さを持っていた。この結果、位置算出装置の移動方向とは直角の方向に対しても、移動方向と同じ長さの位置変化が許容されるため、算出位置の直進性を低下させる大きな要因となっていた。
【０００９】
本発明は、上述した課題に鑑みて為されたものであり、カルマンフィルター処理を用いた位置算出において算出位置の直進性を向上させることを目的としている。
【課題を解決するための手段】
【００１０】
以上の課題を解決するための第１の発明は、測位用衛星からの衛星信号に基づき、カルマンフィルター処理を用いて位置を算出する位置算出方法であって、移動方向を検出することと、前記カルマンフィルター処理で用いる位置変化の許容度を表す位置変化許容パラメーターの値を、前記検出された移動方向に基づいて設定することと、前記位置変化許容パラメーターの値を用いて前記カルマンフィルター処理を実行して位置を算出することと、を含む位置算出方法である。
【００１１】
また、他の発明として、測位用衛星からの衛星信号に基づき、カルマンフィルター処理を用いて位置を算出する位置算出装置であって、移動方向を検出する検出部と、前記カルマンフィルター処理で用いる位置変化の許容度を表す位置変化許容パラメーターの値を、前記検出された移動方向に基づいて設定する設定部と、前記位置変化許容パラメーターの値を用いて前記カルマンフィルター処理を実行して位置を算出する算出部と、を備えた位置算出装置を構成してもよい。
【００１２】
この第１の発明等によれば、カルマンフィルター処理で用いる位置変化の許容度を表す位置変化許容パラメーターの値を、検出された移動方向に基づいて設定する。そして、設定した位置変化許容パラメーターの値を用いてカルマンフィルター処理を実行して位置を算出する。検出された移動方向に対する位置変化の許容度が大きくなるように位置変化許容パラメーターの値を設定することで、算出位置の直進性を向上させることが可能となる。
【００１３】
また、第２の発明として、第１の発明の位置算出方法であって、前記位置変化許容パラメーターの値を設定することは、位置変化の許容範囲の形状を前記検出された移動方向に基づき定めることと、前記許容範囲に基づいて前記位置変化許容パラメーターの値を設定することと、を含む位置算出方法を構成してもよい。
【００１４】
この第２の発明によれば、位置変化の許容範囲の形状を検出された移動方向に基づき定める。そして、定めた許容範囲に基づいて位置変化許容パラメーターの値を設定する。検出された移動方向に対しては長く、移動方向以外の方向に対しては短くなるように位置変化の許容範囲を定める。このことにより、移動方向以外の方向へ算出位置が大きくずれることがなくなり、算出位置の直進性を向上させることができる。
【００１５】
また、第３の発明として、第２の発明の位置算出方法であって、前記許容範囲の形状を定めることは、オーバル状に前記許容範囲を定めることを含む位置算出方法を構成してもよい。
【００１６】
この第３の発明によれば、位置変化の許容範囲をオーバル状に定める。例えば、楕円形状や角丸長方形状、卵型形状の許容範囲を定めることができる。
【００１７】
また、第４の発明として、第２又は第３の発明の位置算出方法であって、前記許容範囲の形状を定めることは、所与の基準方向と前記検出された移動方向との成す角度を用いて前記許容範囲の形状を定めることを含む位置算出方法を構成してもよい。
【００１８】
この第４の発明によれば、所与の基準方向と検出された移動方向との成す角度を用いて、位置変化の許容範囲の形状を定める。基準方向を予め設定しておくことで、位置変化の許容範囲の形状を定める演算が容易となる。
【００１９】
また、第５の発明として、第４の発明の位置算出方法であって、前記基準方向を前回位置算出した際の移動方向とすることを更に含む位置算出方法を構成してもよい。
【００２０】
この第５の発明によれば、基準方向を前回位置算出した際の移動方向とし、前回位置算出した際の移動方向と検出された移動方向との成す角度を用いて、位置変化の許容範囲を定める。これにより、実際の移動方向を加味して位置変化許容範囲の形状を定めることが可能となり、算出位置の直進性が一層向上する。
【００２１】
また、第６の発明として、第２〜第５の何れかの発明の位置算出方法であって、停止及び移動を少なくとも含む移動状態を判定することと、前記許容範囲の大きさを前記判定された移動状態に基づいて変更することと、を更に含む位置算出方法を構成してもよい。
【００２２】
この第６の発明によれば、停止及び移動を少なくとも含む移動状態を判定する。そして、位置変化の許容範囲の大きさを判定された移動状態に基づいて変更する。移動状態が停止である場合は、位置変化を抑制するように許容範囲を小さくし、移動状態が移動である場合は、ある程度の位置変化を許容するように許容範囲を大きくすれば好適である。
【００２３】
また、第７の発明として、第２〜第５の何れかの発明の位置算出方法であって、移動速度を検出することと、前記許容範囲の大きさを前記検出された移動速度に基づいて変更することと、を更に含む位置算出方法を構成してもよい。
【００２４】
この第７の発明によれば、移動速度を検出する。そして、位置変化の許容範囲の大きさを検出された移動速度に基づいて変更する。移動速度が大きいほど、大きい位置変化を許容するように許容範囲を大きくすれば好適である。
【図面の簡単な説明】
【００２５】
【図１】携帯型電話機の機能構成を示すブロック図。
【図２】ＲＯＭに格納されたデータの一例を示す図。
【図３】ＲＡＭに格納されるデータの一例を示す図。
【図４】システムノイズ行列の一例を示す図。
【図５】従来における位置変化許容範囲の一例を示す図。
【図６】実施形態における位置変化許容範囲の一例を示す図。
【図７】停止判定時における位置変化許容範囲の一例を示す図。
【図８】移動判定時における位置変化許容範囲の一例を示す図。
【図９】センサーデータのデータ構成の一例を示す図。
【図１０】メジャメントデータのデータ構成の一例を示す図。
【図１１】計測履歴データのデータ構成の一例を示す図。
【図１２】メイン処理の流れを示すフローチャート。
【図１３】位置算出処理の流れを示すフローチャート。
【図１４】システムノイズ行列設定処理の流れを示すフローチャート。
【図１５】ＫＦ位置算出処理の流れを示すフローチャート。
【図１６】実験結果の一例を示す図。
【図１７】変形例におけるシステムノイズ行列の一例を示す図。
【図１８】変形例における位置変化許容範囲の一例を示す図。
【図１９】変形例における位置変化許容範囲の一例を示す図。
【図２０】変形例における位置変化許容範囲の一例を示す図。
【図２１】第２のシステムノイズ行列設定処理の流れを示すフローチャート。
【図２２】基礎ＫＦ位置算出処理の流れを示すフローチャート。
【図２３】（Ａ）は位置変化許容パラメーターの値が小さい場合の説明図。（Ｂ）は位置変化許容パラメーターの値が大きい場合の説明図。
【発明を実施するための形態】
【００２６】
以下、図面を参照して、位置算出装置を備えた電子機器の一種である携帯型電話機に本発明を適用した場合の実施形態について説明する。また、携帯型電話機は、ユーザーによって携帯されて移動したり、自動車等に配置設定されて移動する。このため、本実施形態では、携帯型電話機を保持或いは搭載した人や物のことを“移動体”として説明し、携帯型電話機が検出する各種方向を移動体の方向として説明する。尚、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけでないことは勿論である。
【００２７】
１．機能構成
図１は、携帯型電話機１の機能構成を示すブロック図である。携帯型電話機１は、ＧＰＳアンテナ１０と、ＧＰＳ受信部２０と、ホストＣＰＵ（Central Processing Unit）４０と、操作部５０と、表示部６０と、センサー部７０と、ＲＯＭ（Read Only Memory）８０と、ＲＡＭ（Random Access Memory）９０と、携帯電話用アンテナ１００と、携帯電話用無線通信回路部１１０とを備えて構成される。
【００２８】
ＧＰＳアンテナ１０は、ＧＰＳ衛星から発信されているＧＰＳ衛星信号を含むＲＦ（Radio Frequency）信号を受信するアンテナであり、受信した信号をＧＰＳ受信部２０に出力する。尚、ＧＰＳ衛星信号は、衛星毎に異なる拡散符号の一種であるＰＲＮ（Pseudo Random Noise）コードで直接スペクトラム拡散方式により変調された１．５７５４２［ＧＨｚ］の通信信号である。ＰＲＮコードは、コード長１０２３チップを１ＰＮフレームとする繰返し周期１ｍｓの擬似ランダム雑音符号である。
【００２９】
ＧＰＳ受信部２０は、ＧＰＳアンテナ１０から出力された信号に基づいて携帯型電話機１の位置を計測する位置算出回路であり、いわゆるＧＰＳ受信機に相当する機能ブロックである。ＧＰＳ受信部２０は、ＲＦ（Radio Frequency）受信回路部２１と、ベースバンド処理回路部３０とを備えて構成される。尚、ＲＦ受信回路部２１と、ベースバンド処理回路部３０とは、それぞれ別のＬＳＩ（Large Scale Integration）として製造することも、１チップとして製造することも可能である。
【００３０】
ＲＦ受信回路部２１は、ＲＦ信号の処理回路ブロックであり、所定の発振信号を分周或いは逓倍することで、ＲＦ信号乗算用の発振信号を生成する。そして、生成した発振信号を、ＧＰＳアンテナ１０から出力されたＲＦ信号に乗算することで、ＲＦ信号を中間周波数の信号（以下、「ＩＦ（Intermediate Frequency）信号」と称す。）にダウンコンバートし、ＩＦ信号を増幅等した後、Ａ／Ｄ変換器でデジタル信号に変換して、ベースバンド処理回路部３０に出力する。
【００３１】
ベースバンド処理回路部３０は、ＲＦ受信回路部２１から出力されたＩＦ信号に対して相関処理等を行ってＧＰＳ衛星信号を捕捉・抽出し、データを復号して航法メッセージや時刻情報等を取り出す回路部である。ベースバンド処理回路部３０は、演算制御部３１と、ＲＯＭ３５と、ＲＡＭ３７とを備えて構成される。また、演算制御部３１は、メジャメント取得演算部３３を備えて構成される。
【００３２】
メジャメント取得演算部３３は、ＲＦ受信回路部２１から出力された受信信号（ＩＦ信号）から、ＧＰＳ衛星信号の捕捉・追尾を行う回路部であり、相関演算部３３１を備えて構成されている。メジャメント取得演算部３３は、捕捉・追尾したＧＰＳ衛星信号の受信周波数やコード位相等の情報を取得し、メジャメント観測値としてホストＣＰＵ４０に出力する。
【００３３】
相関演算部３３１は、受信信号に含まれるＰＲＮコードとレプリカコードとの相関を、例えばＦＦＴ演算を用いて算出し積算する相関演算処理を行って、ＧＰＳ衛星信号を捕捉する。レプリカコードとは、擬似的に発生させた捕捉しようとするＧＰＳ衛星信号に含まれるＰＲＮコードを模擬した信号である。
【００３４】
捕捉しようとするＧＰＳ衛星信号が間違いなければ、そのＧＰＳ衛星信号に含まれるＰＲＮコードとレプリカコードとは一致し（捕捉成功）、間違っていれば一致しない（捕捉失敗）。そのため、算出された相関値のピークを判定することによってＧＰＳ衛星信号の捕捉が成功したか否かを判定でき、レプリカコードを次々に変更して、同じ受信信号との相関演算を行うことで、ＧＰＳ衛星信号を捕捉することが可能となる。
【００３５】
また、相関演算部３３１は、上述した相関演算処理を、レプリカコードの発生信号の周波数及び位相を変更しつつ行っている。レプリカコードの発生信号の周波数と受信信号の周波数とが一致し、且つ、ＰＲＮコードとレプリカコードとの位相が一致した場合に、相関値が最大となる。
【００３６】
より具体的には、捕捉対象のＧＰＳ衛星信号に応じた所定の周波数及び位相の範囲をサーチ範囲として設定する。そして、このサーチ範囲内で、ＰＲＮコードの開始位置（コード位相）を検出するための位相方向の相関演算と、周波数を検出するための周波数方向の相関演算とを行う。サーチ範囲は、例えば、周波数についてはＧＰＳ衛星信号の搬送波周波数である１．５７５４２［ＧＨｚ］を中心とする所定の周波数掃引範囲、位相についてはＰＲＮコードのチップ長である１０２３チップのコード位相範囲内に定められる。
【００３７】
ホストＣＰＵ４０は、ＲＯＭ８０に記憶されているシステムプログラム等の各種プログラムに従って携帯型電話機１の各部を統括的に制御するプロセッサーである。また、ホストＣＰＵ４０は、位置算出処理を行って携帯型電話機１の位置を計測して表示部６０に表示させる出力位置を決定し、当該出力位置をプロットしたナビゲーション画面を生成して表示部６０に表示させる。
【００３８】
操作部５０は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号をホストＣＰＵ４０に出力する。この操作部５０の操作により、目的地の入力やナビゲーション画面の表示要求等の各種指示入力がなされる。
【００３９】
表示部６０は、ＬＣＤ（Liquid Crystal Display）等により構成され、ホストＣＰＵ４０から入力される表示信号に基づいた各種表示を行う表示装置である。表示部６０には、ナビゲーション画面や時刻情報等が表示される。
【００４０】
センサー部７０は、移動体の移動状態を検出するための各種センサーで構成されており、例えば、加速度センサー７１と、ジャイロセンサー７３と、方位センサー７５とを備えている。
【００４１】
加速度センサー７１は、直交３軸の加速度を検出するセンサーであり、歪みゲージ式や圧電式の何れであってもよく、またＭＥＭＳ（Micro Electro Mechanical Systems）センサーであってもよい。
【００４２】
ジャイロセンサー７３は、直交３軸の角速度を検出するセンサーであり、加速度センサー７１と軸方向が同一となるように配置設定されている。尚、加速度センサー７１とジャイロセンサー７３とは一体型のセンサーであってもよい。
【００４３】
また、方位センサー７５は、例えば磁場の強さによって抵抗値やインピーダンス値が増減する素子等で構成される２軸の地磁気センサーであり、移動体の方位角を検出する。
【００４４】
ＲＯＭ８０は、読み取り専用の不揮発性の記憶装置であり、ホストＣＰＵ４０が携帯型電話機１を制御するためのシステムプログラムや、ナビゲーション機能を実現するための各種プログラムやデータ等を記憶している。
【００４５】
ＲＡＭ９０は、読み書き可能な揮発性の記憶装置であり、ホストＣＰＵ４０により実行されるシステムプログラム、各種処理プログラム、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを形成している。
【００４６】
携帯電話用アンテナ１００は、携帯型電話機１の通信サービス事業者が設置した無線基地局との間で携帯電話用無線信号の送受信を行うアンテナである。
【００４７】
携帯電話用無線通信回路部１１０は、ＲＦ変換回路、ベースバンド処理回路等によって構成される携帯電話の通信回路部であり、携帯電話用無線信号の変調・復調等を行うことで、通話やメールの送受信等を実現する。
【００４８】
２．データ構成
図２は、ＲＯＭ８０に格納されたデータの一例を示す図である。ＲＯＭ８０には、ホストＣＰＵ４０により読み出され、メイン処理（図１２参照）として実行されるメインプログラム８０１が記憶されている。また、メインプログラム８０１には、位置算出処理（図１３参照）として実行される位置算出プログラム８０１１と、ＬＳ（Least Squared）位置算出処理として実行されるＬＳ位置算出プログラム８０１３と、ＫＦ（Kalman Filter）位置算出処理（図１５参照）として実行されるＫＦ位置算出プログラム８０１５と、システムノイズ行列設定処理（図１４参照）として実行されるシステムノイズ行列設定プログラム８０１７とがサブルーチンとして含まれている。
【００４９】
メイン処理では、ホストＣＰＵ４０は、携帯型電話機１の本来の機能である通話やメールの送受信のための処理を行う他、携帯型電話機１の位置を算出する処理を行う。
【００５０】
位置算出処理では、ホストＣＰＵ４０は、ＫＦ位置算出処理の基礎となる位置算出処理として、最小二乗法を用いた位置算出処理（ＬＳ位置算出処理）を行って移動体の位置、移動速度及び移動方向を求める。そして、これらの情報を観測情報としてカルマンフィルターを用いた位置算出処理（ＫＦ位置算出処理）を行うことで、最終的に表示部６０に出力させる位置を決定する。
【００５１】
より具体的には、ホストＣＰＵ４０は、ＬＳ位置算出処理を行ってＥＣＥＦ（Earth Centered Earth Fixed）座標系における移動体の位置、移動速度及び移動方向を求める。そして、このＥＣＥＦ座標系における処理結果に対して所定の座標変換演算を行うことで、ＥＮＵ（East, North, Up）座標系における移動体の位置、移動速度及び移動方向を算出する。そして、ホストＣＰＵ４０は、算出した位置、移動速度及び移動方向を観測情報とするＫＦ位置算出処理を行うことで、ＥＮＵ座標系における移動体の位置を出力位置として求める。
【００５２】
ＥＣＥＦ座標系は、地球中心地球固定座標系として知られ、地球の中心（地球重心）を原点とし、地球自転軸をＺ軸、グリニジ子午面と赤道面とが交わる軸をＸ軸、これらの２軸と直交する軸をＹ軸とする３軸直交座標系である。また、ＥＮＵ座標系は、東北上座標系として知られ、地表面付近のある点を原点として、天頂方向（地表面に対する垂直線の上方向）をＵ軸、東方向をＥ軸、北方向をＮ軸とする３軸直交座標系である。
【００５３】
ＥＮＵ座標系における移動体の位置、移動速度及び移動方向は、ＥＣＥＦ座標系において求めた移動体の位置、移動速度及び移動方向に対して公知の座標変換演算（行列演算）を行うことで求めることができる。
【００５４】
システムノイズ行列設定処理では、ホストＣＰＵ４０は、位置算出処理において算出されたＥＮＵ座標系における移動体の移動速度及び移動方向に基づいて、カルマンフィルターにおける誤差パラメーターの一種であるシステムノイズを設定する。
【００５５】
図４は、本実施形態において使用するシステムノイズであるシステムノイズ行列「Ｑ」の一例を示す図である。本実施形態では、移動体の状態を示すベクトルとして、次式（１）に示すような状態ベクトル「Ｘ」を用いてＫＦ位置算出処理を行う。
【数１】
2010181361.tif 000003
【００５６】
式（１）において、「ＥａｓｔＰｏｓ」は、ＥＮＵ座標系における移動体の東西方向の位置座標を示しており、「ＮｏｒｔｈＰｏｓ」は、ＥＮＵ座標系における移動体の南北方向の位置座標を示している。また、「Ｓｐｅｅｄ」は、ＥＮＵ座標系において天頂方向の位置変化がゼロであると仮定した場合における東西南北の２次元平面（以下、この平面を「位置算出平面」と称す。）における移動体の移動速度を示している。また、「Ｈｅａｄｉｎｇ」は、位置算出平面における移動体の移動方向を示しており、「ｄＨｅａｄｉｎｇ」は、位置算出平面における移動体の移動方向の時間変化である時間毎移動方向を示している。
【００５７】
状態ベクトル「Ｘ」を５次元のベクトルとしているため、システムノイズも５次元で考える必要がある。具体的には、状態ベクトル「Ｘ」の５次元の成分に対応する５×５の行列で表されるシステムノイズを考える。行と列の並びは、状態ベクトル「Ｘ」の５次元の成分にそれぞれ対応している。本実施形態において、システムノイズは行列の形で表されるため「システムノイズ行列」ともいう。
【００５８】
図４のシステムノイズ行列を見ると、対角成分以外の成分は全て「０」であり、対角成分にのみ値が設定されている。具体的には、東西方向の位置に対応する成分には「ＱEastPos」が設定され、南北方向の位置に対応する成分には「ＱNorthPos」が設定されている。また、移動速度に対応する成分には「ＱSpeed」が設定され、移動方向に対応する成分には「ＱHeading」が設定され、時間毎移動方向に対応する成分には「ＱdHeading」が設定されている。
【００５９】
本実施形態では、「ＱSpeed」、「ＱHeading」及び「ＱdHeading」には固定値を設定するが、「ＱEastPos」及び「ＱNorthPos」を移動体の移動方向に基づいて可変に設定する。「ＱEastPos」及び「ＱNorthPos」は、移動体の位置変化の許容度を表すパラメーターであるため、これらを包括的に「位置変化許容パラメーター」という。
【００６０】
図５及び図６は、位置変化許容パラメーターの値の算出方法を説明するための図である。これらの図において、横軸は東西方向（右方向が東方向）、縦軸は南北方向（上方向が北方向）を示している。また、実線で囲まれる範囲が、位置変化が許容される範囲（以下、「位置変化許容範囲」と称する。）を示している。
【００６１】
従来は、位置変化許容パラメーターの値を固定値としていた。具体的には、例えば図５に示すように、前回出力位置を中心とする半径「ｒ」の円で囲まれる範囲を位置変化許容範囲とし、移動体の移動方向に関わらず、半径「ｒ」の二乗値を「ＱEastPos」及び「ＱNorthPos」としていた。すなわち、「ＱEastPos＝ＱNorthPos＝ｒ2」としていた。ＫＦ位置算出処理では、今回の位置計算により算出される位置が位置変化許容範囲内に収まるようにフィルターが作用する。
【００６２】
例えば、移動体が東方向に走行しているような場合を考えると、東方向に沿った位置が算出されるようにフィルターが作用することが望まれる。しかし、図５に示す位置変化許容範囲は、北方向に対しても東方向と同じだけの長さを持っているため、算出位置が北方向に大きくずれて算出される場合がある。これは、算出位置の直進性を低下させる大きな要因となっていた。
【００６３】
そこで、本実施形態では、移動体の移動方向を考慮して位置変化許容範囲を設定し、位置変化許容パラメーターの値を設定する。具体的には、図６に示すように、前回出力位置を中心とし、オーバル状の一種である楕円形状の位置変化許容範囲を設定する。この場合、位置変化許容範囲の形状は、位置変化許容範囲の大きさを決定付ける長さ「Ｌ」と、例えば東方向を基準方向とした場合に、基準方向と移動方向との成す角度「θ」とによって定めることができる。
【００６４】
この場合、位置変化許容範囲の東西方向の半径（以下、「東西方向径」と称す。）「ＬEastPos」は「Ｌｃｏｓθ」となり、位置変化許容範囲の南北方向の半径（以下、「南北方向径」と称す。）「ＬNorthPos」は「Ｌｓｉｎθ」となる。そして、東西方向径「ＬEastPos」の二乗値を「ＱEastPos」として設定し、南北方向径「ＬNorthPos」の二乗値を「ＱNorthPos」として設定する。すなわち、「ＱEastPos＝Ｌ2EastPos＝Ｌ2ｃｏｓ2θ」、「ＱNorthPos＝Ｌ2NorthPos＝Ｌ2ｓｉｎ2θ」とする。
【００６５】
但し、「θ＝０、π」の場合は「ＱNorthPos＝０」となり、「θ＝π／２、３π／２」の場合は「ＱEastPos＝０」となるため、楕円形状の位置変化許容範囲を定義することができない。そこで、位置変化許容パラメーター「ＱEastPos」及び「ＱNorthPos」に下限値「Ｑmin」を設定し、位置変化許容パラメーターの値が下限値「Ｑmin」に満たない場合には、位置変化許容パラメーターの値を下限値「Ｑmin」に補正する。下限値「Ｑmin」は、長さ「Ｌ」を用いて、例えば「Ｑmin＝（Ｌ／１０）2」とすることができる。
【００６６】
例えば、移動体が東方向に走行している場合を考える。この場合、「θ＝０」であり、「Ｌ＝３」を設定することにすると、「ＱEastPos＝３2ｃｏｓ2０＝９」となる。また、「ＱNorthPos＝３2ｓｉｎ2０＝０」となるが、これは下限値「Ｑmin＝（３／１０）2＝０．０９」に満たないため、「ＱNorthPos＝０．０９」となる。そうすると、位置変化許容範囲は、東西方向に対しては長いが、南北方向に対しては非常に短い楕円形状となる。その結果、東西方向に対しては位置変化が許容されるが南北方向に対しては位置変化が許容されにくくなり、移動方向に沿った位置が算出されるようにフィルターが作用し、算出位置の直進性が向上する。
【００６７】
ここまで位置変化許容パラメーターの値の算出方法について説明したが、本実施形態では、さらに移動体の移動状態に基づいて、位置変化許容範囲（楕円形状）の大きさを変更する。移動体の移動状態としては、例えば「停止」及び「移動」の２つの状態に分けることができる。
【００６８】
この場合、移動体が停止しているか移動しているかの判定は、例えばセンサー部７０の検出結果に基づいて行うことができる。例えば、加速度センサー７１の検出結果（移動体の加速度）とジャイロセンサー７３の検出結果（移動体の回転有無）とを併用することで、移動体の移動状態を適確に把握できる。
【００６９】
その結果、移動体が停止していると判定した場合は、図７に示すように、例えば「Ｌ＝１」とすることによって、位置変化許容範囲の大きさを小さくする。一方、移動体が移動していると判定した場合は、図８に示すように、例えば「Ｌ＝４」とすることによって、位置変化許容範囲の大きさを大きくする。これにより、移動体が停止していると考えられる場合は、位置の変化を抑制するようにフィルターを作用させ、逆に、移動体が移動していると考えられる場合は、位置の変化を許容するようにフィルターを作用させることができる。すなわち、移動体の移動状態に応じて適切な位置変化許容パラメーターの値を設定して位置算出を行うことが可能となる。
【００７０】
データ構成の説明に戻って、図３は、ＲＡＭ９０に格納されるデータの一例を示す図である。ＲＡＭ９０には、センサーデータ９０１と、メジャメントデータ９０３と、計測履歴データ９０５と、ＫＦパラメーターデータ９０７とが記憶される。
【００７１】
図９は、センサーデータ９０１のデータ構成の一例を示す図である。センサーデータ９０１には、検出時刻９０１１（例えばミリ秒）と対応付けて、加速度センサー７１により検出された３次元の加速度９０１３と、ジャイロセンサー７３により検出された３次元の角速度９０１５と、方位センサー７５により検出された方位９０１７とが対応付けて記憶される。方位９０１７は、２次元平面における方位角で表される。例えば、検出時刻「ｔ１」において検出された加速度９０１３は「（Ａｘ１，Ａｙ１，Ａｚ１）」であり、角速度９０１５は「（ωｘ１，ωｙ１，ωｚ１）」、方位９０１７は「ｈ１」である。
【００７２】
図１０は、メジャメントデータ９０３のデータ構成の一例を示す図である。メジャメントデータ９０３は、メジャメント取得演算部３３により取得・演算されたメジャメント観測値に関するデータであり、捕捉衛星９０３１と、当該捕捉衛星から受信したＧＰＳ衛星信号の受信周波数及びコード位相でなるメジャメント観測値９０３３とが対応付けて記憶される。例えば、捕捉衛星「Ｓ１」についてのメジャメント観測値９０３３は、受信周波数が「ｆ１」、コード位相が「ＣＰ１」である。
【００７３】
図１１は、計測履歴データ９０５のデータ構成の一例を示す図である。計測履歴データ９０５は、ＥＮＵ座標系における移動体の位置、移動速度及び移動方向についてのデータである。具体的には、各位置算出時刻９０５１について、東西方向の位置９０５２と、南北方向の位置９０５３と、東西方向の移動速度９０５４と、南北方向の移動速度９０５５と、位置算出平面における移動速度９０５６と、位置算出平面における移動方向９０５７とが対応付けて記憶される。
【００７４】
例えば、位置算出時刻「Ｔ１」においては、東西方向の位置として「ＥａｓｔＰｏｓ１」、南北方向の位置として「ＮｏｒｔｈＰｏｓ１」が記憶されている。また、東西方向の移動速度として「ＥａｓｔＶｅｌ１」、南北方向の移動速度として「ＮｏｒｔｈＶｅｌ１」が記憶されている。そして、位置算出平面における移動速度として「Ｓｐｅｅｄ１」、位置算出平面における移動方向として「θ１」が記憶されている。
【００７５】
ＫＦパラメーターデータ９０７は、ＫＦ位置算出処理で用いるカルマンフィルターの各種パラメーターの値が記憶されたデータであり、例えば図４に示したようなシステムノイズ行列９０７１がこれに含まれる。
【００７６】
３．処理の流れ
図１２は、ホストＣＰＵ４０によりＲＯＭ８０に記憶されているメインプログラム８０１が読み出されて実行されることで、携帯型電話機１において実行されるメイン処理の流れを示すフローチャートである。メイン処理は、ホストＣＰＵ４０が、操作部５０を介してユーザーにより電源投入操作がなされたことを検出した場合に実行を開始する処理である。
【００７７】
特に説明しないが、以下のメイン処理の実行中は、ＧＰＳアンテナ１０によるＲＦ信号の受信や、ＲＦ受信回路部２１によるＲＦ信号からＩＦ信号へのダウンコンバージョンが行われ、ＩＦ信号がベースバンド処理回路部３０に随時出力される状態にあるものとする。また、メジャメント取得演算部３３によりＧＰＳ衛星信号の受信周波数やコード位相（メジャメント観測値）の取得・演算が随時行われるものとし、ホストＣＰＵ４０は、メジャメント取得演算部３３からメジャメント観測値を取得して、ＲＡＭ９０のメジャメントデータ９０３に随時記憶させるものとする。また、ホストＣＰＵ４０は、センサー部７０から検出結果を取得し、ＲＡＭ９０のセンサーデータ９０１に随時記憶させるものとする。
【００７８】
先ず、ホストＣＰＵ４０は、操作部５０を介してユーザーによりなされた指示操作を判定し（ステップＡ１）、指示操作が通話指示操作であると判定した場合は（ステップＡ１；通話指示操作）、通話処理を行う（ステップＡ３）。具体的には、携帯電話用無線通信回路部１１０に無線基地局との間の基地局通信を行わせ、携帯型電話機１と他機との間の通話を実現する。
【００７９】
また、ステップＡ１において指示操作がメール送受信指示操作であると判定した場合は（ステップＡ１；メール送受信指示操作）、ホストＣＰＵ４０は、メール送受信処理を行う（ステップＡ５）。具体的には、携帯電話用無線通信回路部１１０に基地局通信を行わせ、携帯型電話機１と他機との間のメールの送受信を実現する。
【００８０】
また、ステップＡ１において指示操作が位置算出指示操作であると判定した場合は（ステップＡ１；位置算出指示操作）、ホストＣＰＵ４０は、ＲＯＭ８０から位置算出プログラム８０１１を読み出して実行することで、位置算出処理を行う（ステップＡ７）。
【００８１】
図１３は、位置算出処理の流れを示すフローチャートである。
先ず、ホストＣＰＵ４０は、ＫＦ位置算出処理の基礎となる位置算出処理として、ＲＯＭ８０に記憶されているＬＳ位置算出プログラム８０１３を読み出して実行することでＬＳ位置算出処理を行う（ステップＢ１）。
【００８２】
ＬＳ位置算出処理では、ホストＣＰＵ４０は、メジャメントデータ９０３に記憶されている最新のメジャメント観測値９０３３に含まれるコード位相を用いて、携帯型電話機１と捕捉衛星間の擬似距離を算出し、算出した擬似距離を用いて最小二乗法を用いた位置算出演算を行って、ＥＣＥＦ座標系における移動体の位置を算出する。また、ホストＣＰＵ４０は、最新のメジャメント観測値に含まれるＧＰＳ衛星信号の受信周波数を用いて、１秒間における受信周波数の変化量を算出し、算出した受信周波数の変化量を用いて、ＥＣＥＦ座標系における移動体の移動速度及び移動方向を算出する。
【００８３】
ＬＳ位置算出処理を行った後、ホストＣＰＵ４０は、ＬＳ位置算出処理の処理結果に対して所定の座標変換演算を行うことで、ＥＮＵ座標系における東西方向の位置「ＥａｓｔＰｏｓ」、南北方向の位置「ＮｏｒｔｈＰｏｓ」、東西方向の移動速度「ＥａｓｔＶｅｌ」、南北方向の移動速度「ＮｏｒｔｈＶｅｌ」を算出し、現在の位置算出時刻と対応付けてＲＡＭ９０の計測履歴データ９０５に記憶させる（ステップＢ３）。
【００８４】
そして、ホストＣＰＵ４０は、ステップＢ３で算出した東西方向の移動速度「ＥａｓｔＶｅｌ」及び南北方向の移動速度「ＮｏｒｔｈＶｅｌ」を用いて、次式（２）に従って位置算出平面における移動体の移動速度「Ｓｐｅｅｄ」を算出するとともに、次式（３）に従って移動体の移動方向「Ｈｅａｄｉｎｇ」を算出し、計測履歴データ９０５に記憶させる（ステップＢ５）。
【数２】
2010181361.tif 000004
【数３】
2010181361.tif 000005
【００８５】
その後、ホストＣＰＵ４０は、ＲＯＭ８０に記憶されているシステムノイズ行列設定プログラム８０１７を読み出して実行することで、システムノイズ行列設定処理を行う（ステップＢ７）。
【００８６】
図１４は、システムノイズ行列設定処理の流れを示すフローチャートである。
先ず、ホストＣＰＵ４０は、ＲＡＭ９０のセンサーデータ９０１に記憶されているセンサー部７０の最新の検出結果に基づいて、移動体の移動状態を判定する（ステップＣ１）。
【００８７】
その後、ホストＣＰＵ４０は、判定した移動状態に基づいて、位置変化許容範囲の大きさを決定付ける長さ「Ｌ」を決定する（ステップＣ３）。そして、ホストＣＰＵ４０は、決定した長さ「Ｌ」を用いて、位置変化許容パラメーターの下限値「Ｑmin」を算出する（ステップＣ５）。
【００８８】
次いで、ホストＣＰＵ４０は、長さ「Ｌ」と移動体の移動方向「θ」とを用いて、東西方向径「ＬEastPos」及び南北方向径「ＬNorthPos」を算出する（ステップＣ７）。そして、ホストＣＰＵ４０は、算出した東西方向径「ＬEastPos」及び南北方向径「ＬNorthPos」を用いて、位置変化許容パラメーターの値「ＱEastPos」及び「ＱNorthPos」を算出する（ステップＣ９）。
【００８９】
その後、ホストＣＰＵ４０は、位置変化許容パラメーターの値「ＱEastPos」及び「ＱNorthPos」のそれぞれが、ステップＣ５で算出した下限値「Ｑmin」未満であるか否かを判定する（ステップＣ１１、Ｃ１５）。そして、下限値「Ｑmin」未満であると判定した場合は（ステップＣ１１；Ｙｅｓ、Ｃ１５；Ｙｅｓ）、位置変化許容パラメーターの値を下限値「Ｑmin」に補正する（ステップＣ１３、Ｃ１７）。
【００９０】
次に、ホストＣＰＵ４０は、位置変化許容パラメーターの値に「ＱEastPos」及び「ＱNorthPos」を設定し、位置以外の成分の変化許容パラメーターに所定値を設定することで、５×５のシステムノイズ行列を設定する（ステップＣ１９）。そして、ホストＣＰＵ４０は、システムノイズ行列設定処理を終了する。
【００９１】
図１３の位置算出処理に戻って、システムノイズ行列設定処理を行った後、ホストＣＰＵ４０は、ＲＯＭ８０に記憶されているＫＦ位置算出プログラム８０１５を読み出して実行することで、ＫＦ位置算出処理を行う（ステップＢ９）。
【００９２】
図１５は、ＫＦ位置算出処理の流れを示すフローチャートである。
先ず、ＫＦ位置算出処理用の状態ベクトル「Ｘ」及び誤差共分散行列「Ｐ」のＫＦ初期値を設定する（ステップＤ１）。ＫＦ位置算出処理では、ＥＮＵ座標系における移動体の東西方向の位置「ＥａｓｔＰｏｓ」、南北方向の位置「ＮｏｒｔｈＰｏｓ」、位置算出平面における移動速度「Ｓｐｅｅｄ」、移動方向「Ｈｅａｄｉｎｇ」及び時間毎移動方向「ｄＨｅａｄｉｎｇ」を成分とする式（１）に示した状態ベクトル「Ｘ」を用いて、予測演算及び補正演算を行う。特徴的であるのは、時間毎移動方向を状態ベクトルの成分とすることで、移動方向の演算精度を高めている点である。
【００９３】
また、誤差共分散行列「Ｐ」は、状態ベクトル「Ｘ」の５次元の各成分の誤差の共分散を示す５×５の行列である。状態ベクトル「Ｘ」及び誤差共分散行列「Ｐ」の初期値は、例えば１時刻前のＫＦ位置算出処理で求められた状態ベクトル「Ｘ」及び誤差共分散行列「Ｐ」の補正値「Ｘ＋」及び「Ｐ＋」とすることができる。
【００９４】
次いで、ホストＣＰＵ４０は、状態ベクトル「Ｘ」及び誤差共分散行列「Ｐ」について、次式（４）及び（５）に従って予測演算を行い、状態ベクトルの予測値「Ｘ−」及び誤差共分散行列の予測値「Ｐ−」を算出する（ステップＣ３）。
【数４】
2010181361.tif 000006
【数５】
2010181361.tif 000007
【００９５】
この際、状態ベクトル「Ｘ」の５次元の各成分については、次式（６）〜（１０）に従って予測演算を行う。
【数６】
2010181361.tif 000008
【数７】
2010181361.tif 000009
【数８】
2010181361.tif 000010
【数９】
2010181361.tif 000011
【数１０】
2010181361.tif 000012
【００９６】
但し、各式における添え字の「−」は予測値、「＋」は補正値であることを示しており、「Ｔ」は転置行列であることを示している。また、「φ」は、状態遷移行列と呼ばれる状態ベクトルの遷移を表す５×５の行列であり、「Ｑ」は、５×５のシステムノイズ行列である。状態遷移行列「φ」は予め定められた行列とすることができる。また、システムノイズ行列「Ｑ」は、ステップＢ７のシステムノイズ行列設定処理で設定した行列とする。
【００９７】
その後、ホストＣＰＵ４０は、ＲＡＭ９０の計測履歴データ９０５に記憶されている移動体の最新の東西方向の位置「ＥａｓｔＰｏｓ」、南北方向の位置「ＮｏｒｔｈＰｏｓ」、位置算出平面における移動速度「Ｓｐｅｅｄ」及び移動方向「Ｈｅａｄｉｎｇ」を成分とする次式（１１）で表される４×１の行列を、ＫＦ位置算出処理における観測ベクトル「Ｚ」として設定する（ステップＤ５）。
【数１１】
2010181361.tif 000013
【００９８】
また、ホストＣＰＵ４０は、ステップＤ３で算出した状態ベクトルの予測値「Ｘ−」に所定の観測行列「Ｈ」を乗算することで、予測された観測ベクトル（以下、「予測観測ベクトル」と称す。）「ＨＸ−」を算出する（ステップＤ７）。
【００９９】
観測行列「Ｈ」は、状態ベクトルの予測値「Ｘ−」の各成分を用いて、観測ベクトル「Ｚ」の成分である東西方向の位置「ＥａｓｔＰｏｓ」、南北方向の位置「ＮｏｒｔｈＰｏｓ」、位置算出平面における移動速度「Ｓｐｅｅｄ」及び移動方向「Ｈｅａｄｉｎｇ」を予測するための行列である。観測行列「Ｈ」は４×５の行列であり、状態ベクトルの予測値「Ｘ−」は５×１の行列であるため、予測観測ベクトル「ＨＸ−」は４×１の行列となる。
【０１００】
次いで、ホストＣＰＵ４０は、状態ベクトル「Ｘ」及び誤差共分散行列「Ｐ」について、次式（１２）〜（１４）に従って状態ベクトルの補正値「Ｘ＋」及び誤差共分散行列の補正値「Ｐ＋」を算出する補正演算を行う（ステップＤ９）。
【数１２】
2010181361.tif 000014
【数１３】
2010181361.tif 000015
【数１４】
2010181361.tif 000016
【０１０１】
但し、「Ｋ」はカルマンゲイン行列と呼ばれる５×４の行列である。また、「Ｒ」は、観測ベクトル「Ｚ」に含まれる各成分の誤差の共分散を示す４×４の行列であり、その行と列の並びは、観測ベクトル「Ｚ」の４つの成分（東西方向の位置、南北方向の位置、移動速度及び移動方向）にそれぞれ対応している。また、「Ｉ」は単位行列である。そして、ホストＣＰＵ４０は、ＫＦ位置算出処理を終了する。
【０１０２】
図１３の位置算出処理に戻って、ホストＣＰＵ４０は、ＫＦ位置算出処理で算出した状態ベクトルの補正値「Ｘ＋」に含まれる東西方向の位置「ＥａｓｔＰｏｓ」及び南北方向の位置「ＮｏｒｔｈＰｏｓ」で表される位置を出力位置に決定する（ステップＢ１１）。そして、ホストＣＰＵ４０は、出力位置をプロットしたナビゲーション画面を生成して表示部６０に表示させる（ステップＢ１３）。
【０１０３】
そして、ホストＣＰＵ４０は、操作部５０を介してユーザーにより位置算出終了指示操作がなされたか否かを判定し（ステップＢ１５）、なされなかったと判定した場合は（ステップＢ１５；Ｎｏ）、ステップＢ１に戻る。また、位置算出終了指示操作がなされたと判定した場合は（ステップＢ１５；Ｙｅｓ）、位置算出処理を終了する。
【０１０４】
図１２のメイン処理に戻って、ステップＡ３〜Ａ７の何れかの処理を行った後、ホストＣＰＵ４０は、操作部５０を介してユーザーにより電源切断指示操作がなされたか否かを判定し（ステップＡ９）、なされなかったと判定した場合は（ステップＡ９；Ｎｏ）、ステップＡ１に戻る。また、電源切断指示操作がなされたと判定した場合は（ステップＡ９；Ｙｅｓ）、メイン処理を終了する。
【０１０５】
４．実験結果
図１６は、本実施形態の手法を用いて実際に位置算出を行った実験結果の一例を示す図である。携帯型電話機１を搭載した移動体を道路に沿って南方向から北方向に向かって直進させた後、東方向に右折させた場合における出力位置をプロットした結果を示している。分かり易いように、従来の手法を用いて位置算出を行った結果も併せて示している。丸印が本実施形態の手法で位置算出を行った場合の出力位置を示しており、三角印が従来の手法で位置算出を行った場合の出力位置を示している。
【０１０６】
この結果を見ると、従来の手法を用いた場合は、出力位置が道路に対して蛇行しており、出力位置の直進性が悪いことがわかる。一方、本実施形態の手法を用いた場合は、出力位置が道路に対してほぼ真っ直ぐとなっており、出力位置の直進性が向上していることがわかる。
【０１０７】
５．作用効果
位置算出装置を具備した携帯型電話機１において、カルマンフィルター処理で用いる位置変化の許容度を表す位置変化許容パラメーターの値を、検出された移動方向に基づいて設定する。そして、設定した位置変化許容パラメーターの値を用いてカルマンフィルター処理を実行して位置を算出する。
【０１０８】
カルマンフィルター処理の基礎となる位置算出処理（例えばＬＳ位置算出処理）を行うことで得られた移動方向と、所与の基準方向（例えば東方向）との成す角度を用いて、オーバル状の一種である楕円形状の位置変化許容範囲を定める。そして、定めた位置変化許容範囲の長軸及び短軸の長さを用いて、位置変化許容パラメーターの値を設定する。
【０１０９】
移動方向に対しては長く、移動方向以外の方向に対しては短くなるように位置変化許容範囲を設定することで、移動方向以外の方向に算出位置が大きくずれることを防止し、移動方向に沿った位置が算出されるようにすることができる。すなわち、算出位置の直進性を向上させることができる。
【０１１０】
また、本実施形態では、センサー部７０の検出結果に基づいて、移動体が停止及び移動の何れの移動状態であるかを判定する。そして、判定した移動状態に基づいて、位置変化許容範囲の大きさを変更する。具体的には、移動状態が停止であると判定した場合は、位置変化許容範囲を小さくし、移動状態が移動である場合は、位置変化許容範囲を大きくする。
【０１１１】
これにより、移動体が停止していると考えられる場合は、位置の変化を抑制するようにフィルターを作用させ、逆に、移動体が移動していると考えられる場合は、位置の変化を許容するようにフィルターを作用させることができる。すなわち、移動体の移動状態に応じて適切な位置変化許容パラメーターの値を設定して位置算出を行うことが可能となる。
【０１１２】
６．変形例
６−１．携帯型ナビゲーションシステム
本発明は、自動車やバイクといった移動体に着脱可能な“携帯ナビ（携帯型ナビゲーションシステム）”に適用することも可能である。
【０１１３】
６−２．電子機器
また、本発明は、携帯型電話機の他にも、位置算出装置を備えた電子機器であれば何れの電子機器にも適用可能である。例えば、ノート型パソコンやＰＤＡ（Personal Digital Assistant）、カーナビゲーション装置、腕時計等についても同様に適用可能である。
【０１１４】
６−３．衛星位置算出システム
上述した実施形態では、衛星位置算出システムとしてＧＰＳを例に挙げて説明したが、ＷＡＡＳ（Wide Area Augmentation System）、ＱＺＳＳ（Quasi Zenith Satellite System）、ＧＬＯＮＡＳＳ（GLObal NAvigation Satellite System）、ＧＡＬＩＬＥＯ等の他の衛星位置算出システムであってもよい。
【０１１５】
６−４．処理の分化
ホストＣＰＵ４０が実行する処理の一部又は全部を、ベースバンド処理回路部３０の演算制御部３１が行う構成としてもよい。例えば、位置算出処理をホストＣＰＵ４０が行うのではなく演算制御部３１が行う。この場合、演算制御部３１は、位置算出処理により求めた出力位置をホストＣＰＵ４０に出力する。そして、ホストＣＰＵ４０は、演算制御部３１から入力した出力位置を各種アプリケーションに利用する。
【０１１６】
６−５．位置変化許容範囲の形状
上述した実施形態では、オーバル状の一例として楕円形状に位置変化許容範囲を定める場合について説明したが、楕円形状の他にも、例えば角丸長方形状や卵型形状に位置変化許容範囲を定めることとしてもよい。
【０１１７】
６−６．３次元への拡張
上述した実施形態では、天頂方向の位置変化をゼロとみなして、２次元平面において位置算出を行う場合について説明したが、天頂方向の位置変化も考慮して、３次元空間において位置算出を行うこととしてもよい。
【０１１８】
この場合は、携帯型電話機１の状態を示すベクトルとして、式（１）の状態ベクトルの各成分に、天頂方向の位置「ＵｐＰｏｓ」及び天頂方向の移動速度「ＵｐＶｅｌ」を加えた次式（１５）に示すような７×１の行列で表される状態ベクトル「Ｘ」を用いてＫＦ位置算出処理を行うといった方法が考えられる。
【数１５】
2010181361.tif 000017
【０１１９】
図１７は、この場合に用いるシステムノイズ行列「Ｑ」の一例を示す図である。システムノイズ行列「Ｑ」は７×７の行列で表され、その行と列の並びは、式（１５）の状態ベクトル「Ｘ」の７次元の各成分に対応している。対角成分以外の成分は全て「０」であり、対角成分にのみ値が設定されている。天頂方向の位置に対応する成分には「ＱUpPos」が設定され、天頂方向の移動速度に対応する成分には「ＱUpVel」が設定されている。この場合は、「ＱEastPos」、「ＱNorthPos」及び「ＱUpPos」の値を移動体の移動方向に基づいて可変に設定する。
【０１２０】
図１８は、位置変化許容パラメーターの値の算出方法を説明するための図である。この場合は、前回出力位置を中心とする楕円体を考え、楕円体の内部を位置変化許容範囲として設定する。位置変化許容範囲の形状は、位置変化許容範囲の大きさを決定付ける長さ「Ｌ」と、例えば天頂方向と移動方向との成す角度「θ」と、東西南北の平面において東方向と移動方向との成す角度「φ」とによって定めることができる。
【０１２１】
この場合、東西方向径「ＬEastPos」は「Ｌｓｉｎθｃｏｓφ」となり、南北方向径「ＬNorthPos」は「Ｌｓｉｎθｓｉｎφ」となる。また、位置変化許容範囲の天頂方向の半径（以下、「天頂方向径」と称す。）「ＬUpPos」は「Ｌｃｏｓθ」となる。そして、東西方向径「ＬEastPos」の二乗値を「ＱEastPos」に設定し、南北方向径「ＬNorthPos」の二乗値を「ＱNorthPos」に設定し、天領方向径「ＬUpPos」の二乗値を「ＱUpPos」に設定する。すなわち、「ＱEastPos＝Ｌ2EastPos＝Ｌ2ｓｉｎ2θｃｏｓ2φ」、「ＱNorthPos＝Ｌ2NorthPos＝Ｌ2ｓｉｎ2θｓｉｎ2φ」、「ＱUpPos＝Ｌ2UpPos＝Ｌ2ｃｏｓ2θ」とする。
【０１２２】
６−７．基準方向
上述した実施形態では、東方向を基準方向として、東方向と移動方向との成す角度「θ」を用いて位置変化許容範囲（楕円形状）を定義するものとして説明したが、基準方向は適宜設定変更することが可能である。
【０１２３】
例えば図１９に示すように、前回位置算出した際の移動方向（前回移動方向）を仮想東方向（基準方向）とし、仮想東方向に直交する方向を仮想北方向として定義する。この場合、東方向と仮想東方向との成す角度を「α」とすると、仮想東方向及び仮想北方向で成る座標系（以下、「仮想座標系」と称す。）は、東方向及び北方向で成る座標系（以下、「基準座標系」と称す。）を角度「α」だけ回転させた座標系として定義される。そして、仮想座標系において、仮想東方向と今回算出された移動方向との成す角度「θ」を用いて、位置変化許容範囲（楕円形状）を定義する。
【０１２４】
また、例えば図２０に示すように、今回の位置算出において算出された移動方向を仮想東方向（基準方向）として、同様に仮想座標系を定義することとしてもよい。この場合は、位置変化許容範囲の長軸方向は必ず移動体の移動方向と一致することになる。従って、移動体の移動方向に対して位置変化の許容度が必ず大きくなり、算出位置の直進性が格段に向上する。尚、これらの位置変化許容範囲の設定方法は、公知の行列演算によって座標系を回転させることで容易に実現することができる。
【０１２５】
６−８．位置変化許容範囲の大きさを移動速度に基づいて変更
上述した実施形態では、移動体の移動状態に基づいて位置変化許容範囲の大きさを変更するものとして説明したが、移動体の移動速度に基づいて位置変化許容範囲の大きさを変更することにしてもよい。
【０１２６】
この場合は、ＲＯＭ８０にシステムノイズ行列設定プログラム８０１７の代わりに第２のシステムノイズ行列設定プログラムを格納しておき、ホストＣＰＵ４０は、図１３の位置算出処理のステップＢ７において、第２のシステムノイズ行列設定プログラムを読み出して実行することで第２のシステムノイズ行列設定処理を行う。
【０１２７】
図２１は、第２のシステムノイズ行列設定処理の流れを示すフローチャートである。尚、図１４のシステムノイズ行列設定処理と同一のステップについては同一の符号を付して説明を省略し、システムノイズ行列設定処理とは異なる部分について説明する。
【０１２８】
先ず、ホストＣＰＵ４０は、図１３の位置算出処理のステップＢ５で算出された位置算出平面における移動速度に基づいて、位置変化許容範囲の長さ「Ｌ」を決定する（ステップＦ１）。具体的には、移動速度が大きいほど、長さ「Ｌ」が大きくなるようにする。すなわち、次式（１６）に従って長さ「Ｌ」を算出する。
【数１６】
2010181361.tif 000018
但し、「λ」は定数であり、「Ｓｐｅｅｄ」は移動速度である。
【０１２９】
その後、ホストＣＰＵ４０は、ステップＦ１で決定した長さ「Ｌ」を用いて、位置変化許容パラメーターの下限値「Ｑmin」を算出し（ステップＣ５）、ステップＣ７以降へと処理を移行する。
【０１３０】
６−９．観測情報の算出
上述した実施形態では、ＫＦ位置算出処理の基礎となる位置算出処理としてＬＳ位置算出処理を行い、ＫＦ位置算出処理の観測情報とする移動体の位置、移動速度及び移動方向を算出するものとして説明したが、観測情報の算出方法は適宜設定変更可能である。例えば、基礎となる位置算出処理として、カルマンフィルターを用いた位置算出処理（以下、「基礎ＫＦ位置算出処理」と称す。）を行って観測情報を算出することとしてもよい。
【０１３１】
この場合は、ＲＯＭ８０にＬＳ位置算出プログラム８０１３の代わりに基礎ＫＦ位置算出プログラムを格納しておき、ホストＣＰＵ４０は、図１３の位置算出処理のステップＢ１において、基礎ＫＦ位置算出プログラムを読み出して実行することで基礎ＫＦ位置算出処理を行う。
【０１３２】
図２２は、基礎ＫＦ位置算出処理の流れを示すフローチャートである。
先ず、ホストＣＰＵ４０は、基礎ＫＦ位置算出処理用の状態ベクトル「Ｘ1」及び誤差共分散行列「Ｐ1」の初期値を設定する（ステップＥ１）。基礎ＫＦ位置算出処理では、状態ベクトル「Ｘ1」を、例えば、ＥＣＥＦ座標系における携帯型電話機１の３次元の位置（ｘ，ｙ，ｚ）、３次元の移動速度ベクトル（ｕ，ｖ，ｗ）、クロックバイアス（ｂ）及びクロックドリフト（ｄ）を成分とする８×１の行列とすることができる。
【０１３３】
その後、ホストＣＰＵ４０は、式（４）及び（５）に従って予測演算を行い、状態ベクトルの予測値「Ｘ1−」及び誤差共分散行列の予測値「Ｐ1−」を算出する（ステップＥ３）。そして、ホストＣＰＵ４０は、メジャメント取得演算部３３からＧＰＳ衛星信号の受信周波数及びコード位相（メジャメント観測値）を取得して、２×１の観測ベクトル「Ｚ1」とする（ステップＥ５）。基礎ＫＦ位置算出処理では、ＧＰＳ衛星信号の受信周波数及びコード位相を観測情報としてカルマンフィルター処理を行う。
【０１３４】
次いで、ホストＣＰＵ４０は、状態ベクトルの予測値「Ｘ1−」と所定の観測行列「Ｈ1」とを用いて予測観測ベクトル「Ｈ1Ｘ1−」を算出する（ステップＥ７）。観測行列「Ｈ1」は、状態ベクトルの予測値「Ｘ1−」の各成分を用いて、観測ベクトル「Ｚ1」の成分である受信周波数及びコード位相を予測するための行列である。観測行列「Ｈ1」は２×８の行列であり、状態ベクトルの予測値「Ｘ1−」は８×１の行列であるため、予測観測ベクトル「Ｈ1Ｘ1−」は２×１の行列となる。
【０１３５】
その後、ホストＣＰＵ４０は、式（１２）〜（１４）に従って補正演算を行い、状態ベクトルの予測値「Ｘ1＋」及び誤差共分散行列の予測値「Ｐ1＋」を算出する（ステップＥ９）。そして、ホストＣＰＵ４０は、基礎ＫＦ位置算出処理を終了する。
【０１３６】
基礎ＫＦ位置算出処理を行った後、ホストＣＰＵ４０は、得られた状態ベクトルの補正値「Ｘ1＋」に含まれるＥＣＥＦ座標系における位置（ｘ，ｙ，ｚ）及び移動速度（ｕ，ｖ，ｗ）に対して座標変換演算を行って、ＥＮＵ座標系における位置、移動速度及び移動方向を求める。そして、求めた位置、移動速度及び移動方向を観測情報として、図１５のＫＦ位置算出処理を行う。
【０１３７】
この場合には、基礎ＫＦ位置算出処理とＫＦ位置算出処理との２段階のカルマンフィルター処理を行って出力位置を決定することになる。尚、この他にも、例えば慣性航法演算処理を行ってＫＦ位置算出処理の観測情報を算出することも可能であり、観測情報の算出方法は適宜変更可能である。
【０１３８】
６−１０．移動状態の種類
上述した実施形態では、移動体の移動状態を「停止」と「移動」の２状態の何れかとし、判定した移動状態に基づいて位置変化許容範囲の形状を変化させるものとして説明したが、移動体の移動状態を３以上の状態としても良い。
【０１３９】
例えば、センサー部７０の検出結果に基づいて、移動体の移動状態が「停止可能性大」、「停止可能性小」、「移動可能性小」、「移動可能性大」の４状態の何れであるかを判定する。そして、例えば、「停止可能性大」の場合は「Ｌ＝１」とし、「停止可能性小」及び「移動可能性小」の場合は「Ｌ＝３」とし、「移動可能性大」の場合は「Ｌ＝４」とすることで、位置変化許容範囲の大きさを変更する。
【０１４０】
６−１１．移動方向の検出
上述した実施形態では、ＬＳ位置算出処理の処理結果を用いて移動体の移動方向を算出し、ＫＦ位置算出処理における観測情報として利用するものとして説明したが、方位センサー７５により検出された方位を移動体の移動方向として、ＫＦ位置算出処理における観測情報として利用することとしてもよい。
【符号の説明】
【０１４１】
１  携帯型電話機、  １０  ＧＰＳアンテナ、  ２０  ＧＰＳ受信部、
２１  ＲＦ受信回路部、  ３０  ベースバンド処理回路部、  ３１  演算制御部、
３３  メジャメント取得演算部、  ３５  ＲＯＭ、  ３７  ＲＡＭ、
４０  ホストＣＰＵ、  ５０  操作部、  ６０  表示部、  ７０  センサー部、
７１  加速度センサー、  ７３  ジャイロセンサー、  ７５  方位センサー、
８０  ＲＯＭ、  ９０  ＲＡＭ、  １００  携帯電話用アンテナ、
１１０  携帯電話用無線通信回路部
【図１】
2010181361.tif 000019
【図２】
2010181361.tif 000020
【図３】
2010181361.tif 000021
【図４】
2010181361.tif 000022
【図５】
2010181361.tif 000023
【図６】
2010181361.tif 000024
【図７】
2010181361.tif 000025
【図８】
2010181361.tif 000026
【図９】
2010181361.tif 000027
【図１０】
2010181361.tif 000028
【図１１】
2010181361.tif 000029
【図１２】
2010181361.tif 000030
【図１３】
2010181361.tif 000031
【図１４】
2010181361.tif 000032
【図１５】
2010181361.tif 000033
【図１６】
2010181361.tif 000034
【図１７】
2010181361.tif 000035
【図１８】
2010181361.tif 000036
【図１９】
2010181361.tif 000037
【図２０】
2010181361.tif 000038
【図２１】
2010181361.tif 000039
【図２２】
2010181361.tif 000040
【図２３】
2010181361.tif 000041