以下、図面を参照して、位置算出装置を備えた電子機器の一種である携帯型電話機に本発明を適用した場合の実施形態について説明する。尚、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけではない。
1.機能構成
図1は、本実施形態における携帯型電話機1の機能構成を示すブロック図である。携帯型電話機1は、GPSアンテナ10と、GPS受信部20と、ホストCPU(Central Processing Unit)40と、操作部50と、表示部60と、携帯電話用アンテナ65と、携帯電話用無線通信回路部70と、ROM(Read Only Memory)80と、RAM(Random Access Memory)90とを備えて構成される。
GPSアンテナ10は、GPS衛星から発信されているGPS衛星信号を含むRF(Radio Frequency)信号を受信するアンテナであり、受信した信号をGPS受信部20に出力する。尚、GPS衛星信号は、衛星毎に異なる拡散符号の一種であるPRN(Pseudo Random Noise)コードで直接スペクトラム拡散方式により変調された1.57542[GHz]の通信信号である。PRNコードは、コード長1023チップを1PNフレームとする繰返し周期1msの擬似ランダム雑音符号である。
GPS受信部20は、GPSアンテナ10から出力された信号に基づいて携帯型電話機1の位置を計測する位置算出回路であり、いわゆるGPS受信機に相当する機能ブロックである。GPS受信部20は、RF(Radio Frequency)受信回路部21と、ベースバンド処理回路部30とを備えて構成される。尚、RF受信回路部21と、ベースバンド処理回路部30とは、それぞれ別のLSI(Large Scale Integration)として製造することも、1チップとして製造することも可能である。
RF受信回路部21は、RF信号の処理回路ブロックであり、所定の発振信号を分周或いは逓倍することで、RF信号乗算用の発振信号を生成する。そして、生成した発振信号を、GPSアンテナ10から出力されたRF信号に乗算することで、RF信号を中間周波数の信号(以下、「IF(Intermediate Frequency)信号」と称す。)にダウンコンバートし、IF信号を増幅等した後、A/D変換器でデジタル信号に変換して、ベースバンド処理回路部30に出力する。
ベースバンド処理回路部30は、RF受信回路部21から出力されたIF信号に対して相関処理等を行ってGPS衛星信号を捕捉・抽出し、データを復号して航法メッセージや時刻情報等を取り出す回路部である。ベースバンド処理回路部30は、演算制御部31と、ROM35と、RAM37とを備えて構成される。また、演算制御部31は、メジャメント取得演算部33を備えて構成される。
メジャメント取得演算部33は、RF受信回路部21から出力された受信信号(IF信号)から、GPS衛星信号の捕捉を行う回路部であり、相関演算部331を備えて構成されている。メジャメント取得演算部33は、GPS衛星信号の受信周波数やコード位相等の情報を取得し、メジャメント観測値としてホストCPU40に出力する。また、メジャメント取得演算部33は、捕捉したGPS衛星信号の信号強度を測定し、測定した信号強度をホストCPU40に出力する。
相関演算部331は、受信信号に含まれるPRNコードと、装置内部で発生させたレプリカコードとの相関を、例えばFFT(Fast Fourier transform)演算を用いて算出し積算する相関演算処理を行うことで、受信信号からGPS衛星信号を捕捉する。レプリカコードとは、擬似的に発生させた捕捉しようとするGPS衛星信号に含まれるPRNコードを模擬した信号である。
捕捉しようとするGPS衛星信号が間違いなければ、そのGPS衛星信号に含まれるPRNコードとレプリカコードとは一致し(捕捉成功)、間違っていれば一致しない(捕捉失敗)。そのため、算出された相関値のピークを判定することによってGPS衛星信号の捕捉が成功したか否かを判定でき、レプリカコードを次々に変更して、同じ受信信号との相関演算を行うことで、GPS衛星信号を捕捉することが可能となる。
また、相関演算部331は、上述した相関演算処理を、レプリカコードの発生信号の周波数及び位相を変更しつつ行っている。レプリカコードの発生信号の周波数と受信信号の周波数とが一致し、且つ、PRNコードとレプリカコードとの位相が一致した場合に、相関値が最大となる。
より具体的には、捕捉対象のGPS衛星信号に応じた所定の周波数及び位相の範囲をサーチ範囲として設定する。そして、このサーチ範囲内で、PRNコードの開始位置(コード位相)を検出するための位相方向の相関演算と、周波数を検出するための周波数方向の相関演算とを行う。サーチ範囲は、例えば、周波数についてはGPS衛星信号の搬送波周波数である1.57542[GHz]を中心とする所定の周波数掃引範囲、位相についてはPRNコードのチップ長である1023チップのコード位相範囲内に定められる。
ホストCPU40は、ROM80に記憶されているシステムプログラム等の各種プログラムに従って携帯型電話機1の各部を統括的に制御するプロセッサーである。また、ホストCPU40は、位置算出処理を行って携帯型電話機1の位置を計測して出力位置を決定し、当該出力位置をプロットした位置表示画面を生成して表示部60に表示させる。
操作部50は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号をホストCPU40に出力する。この操作部50の操作により、通話要求やメール送受信要求、位置算出要求等の各種指示操作入力がなされる。
表示部60は、LCD(Liquid Crystal Display)等により構成され、ホストCPU40から入力される表示信号に基づいた各種表示を行う表示装置である。表示部60には、位置表示画面や時刻情報等が表示される。
携帯電話用アンテナ65は、携帯型電話機1の通信サービス事業者が設置した無線基地局との間で携帯電話用無線信号の送受信を行うアンテナである。
携帯電話用無線通信回路部70は、RF変換回路、ベースバンド処理回路等によって構成される携帯電話の通信回路部であり、携帯電話用無線信号の変調・復調等を行うことで、通話やメールの送受信等を実現する。
ROM80は、読み取り専用の不揮発性の記憶装置であり、ホストCPU40が携帯型電話機1を制御するためのシステムプログラムや、位置算出機能を実現するための各種プログラムやデータ等を記憶している。
RAM90は、読み書き可能な揮発性の記憶装置であり、ホストCPU40により実行されるシステムプログラム、各種処理プログラム、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを形成している。
2.原理
携帯型電話機1は、カルマンフィルター(以下、適宜「KF(Kalman Filter)」と表す。)を利用した位置算出処理(以下、「KF位置算出処理」と称す。)を行って位置を算出する。カルマンフィルターは、誤差を含む観測値を利用して、時々刻々と変化する状態量を推定する確率理論に基づく推定手法である。
本実施形態では、携帯型電話機1の状態を表す状態量として、状態ベクトル「X」と呼ばれる行列を定義する。状態ベクトル「X」は、例えば、携帯型電話機1の3次元の位置「(x,y,z)」、3次元の移動速度「(u,v,w)」、3次元の加速度「(a
x,a
y,a
z)」、クロックのバイアス「b」及びクロックのドリフト「d」を成分とする次式(1)に示すような行列とすることができる。
また、携帯型電話機1の状態量に含まれる誤差を表すための行列として、誤差共分散行列「P」を定義する。誤差共分散行列「P」は、状態ベクトル「X」の各成分の誤差の共分散を表す11×11の行列である。
KF位置算出処理では、携帯型電話機1は、状態ベクトル「X」及び誤差共分散行列「P」の予測処理と補正処理とを行って、携帯型電話機1の位置を算出する。予測処理では、直前の補正処理において算出された状態ベクトルの補正値「X+」に対して、状態遷移行列「φ」と呼ばれる行列を作用させることで、現在の時刻における状態ベクトルの予測値「X−」を演算する。
補正処理では、GPS衛星からのGPS衛星信号の受信に係る外部観測量(以下、本実施形態において「メジャメント」と称す。)を観測値として、予測処理により算出された状態ベクトルの予測値「X−」を補正・更新して、現在の時刻における状態ベクトルの補正値「X+」を演算する。具体的には、GPS衛星信号の受信周波数及びコード位相の2つの成分をメジャメントとし、メジャメント取得演算部33により取得・演算されたメジャメント(以下、このメジャメントを受信機が観測したメジャメントという意味で「メジャメント観測値」と称する。)を用いて補正処理を行う。尚、メジャメントはGPS衛星信号の受信周波数及びコード位相に限られず、適宜追加・変更することができる。
カルマンフィルターの理論では、観測値には誤差が含まれることを前提とし、この観測値に含まれる誤差を観測誤差(いわゆるR値)として、補正処理に反映させる。本実施形態では、GPS衛星信号のコード位相及び受信周波数の2つの成分であるメジャメントが観測値となるため、この2つの成分に含まれる誤差をそれぞれ設定する必要がある。
具体的には、コード位相に含まれる誤差をコード位相観測誤差「RCP」、受信周波数に含まれる誤差を受信周波数観測誤差「RF」とした場合に、図2に示すような、コード位相観測誤差「RCP」と受信周波数観測誤差「RF」とを成分とする2×2の観測誤差行列「R」を定義する。本実施形態では観測誤差は行列の形で表されるため、「観測誤差行列」ともいう。
観測値がホワイトノイズの特性を示すとき、観測値の分散「σ2」を観測誤差として設定すると、効果的なフィルターを実現できることが知られている。しかし、観測値がホワイトノイズの特性を示すことは少なく、実際には、携帯型電話機1が備えるクロックのドリフトやバイアスの影響、GPS衛星信号を受信する際のマルチパスの影響等により、ホワイトノイズ以外のノイズ成分が含まれ得る。そのため、観測値の分散「σ2」を単純に観測誤差として設定したのでは、効果的なフィルターを実現できるとは限らない。
このことを実証するため、本願発明者は次の2つの実験を行った。第1の実験は、メジャメントを取得・収集してメジャメントの分散「σ2」を求め、求めた分散「σ2」を観測誤差として設定して位置算出計算を行う実験である。第2の実験は、メジャメントに実際に含まれている誤差(メジャメントの実誤差)を計測・収集し、このメジャメントの実誤差を観測誤差として設定して位置算出計算を行う実験である。
メジャメントの実誤差は、携帯型電話機1が観測したGPS衛星信号のコード位相及び受信周波数(メジャメント観測値)と、数学モデルによって理論的に求められるGPS衛星信号のコード位相及び受信周波数の真値(メジャメント理論値)との差である。メジャメント理論値は、GPS受信機の位置、移動速度及び移動方向の情報(受信機情報)が既知である場合に、当該受信機情報と、衛星軌道モデルを用いて算出したGPS衛星の位置、移動速度及び移動方向の情報(衛星情報)とを用いて、公知の手法に基づいて算出することができる。以下、この2つの実験の実験結果について説明する。
図3は、第1の実験において、観測誤差行列「R」に設定したコード位相観測誤差「RCP」の大きさと、コード位相の実誤差「ECP」の大きさとを2次元的にプロットしたグラフである。同様に、図4は、第1の実験において、受信周波数観測誤差「RF」の大きさと、受信周波数の実誤差「EF」の大きさとを2次元的にプロットしたグラフである。図3において、横軸はコード位相観測誤差「RCP」、縦軸はコード位相の実誤差「ECP」であり、それぞれメートル換算[m]で示している。また、図4において、横軸は受信周波数観測誤差「RF」、縦軸は受信周波数の実誤差「EF」であり、それぞれメートル毎秒換算[m/s]で示している。また、各図において、1つのプロットが、1回の実験で得られた結果を示している。
図3のコード位相の実験結果を見ると、コード位相観測誤差「RCP」の大きさは、「100m」の近傍のグループと、「1000m」の近傍のグループとの2つのグループに大きく分けられていることがわかる。しかし、コード位相観測誤差「RCP」の大きさが同じであっても、プロットが縦軸方向に広がっており、コード位相の実誤差「ECP」は広範な値となっていることがわかる。
図4の受信周波数の実験結果についても同様であり、受信周波数観測誤差「RF」の大きさは、「2m/s」の近傍のグループと、「10m/s」の近傍のグループとの2つのグループに大きく分けられていることがわかる。しかし、受信周波数観測誤差「RF」の大きさが同じであっても、受信周波数の実誤差「EF」は広範な値となっている。
図5は、第2の実験において、観測誤差行列「R」に設定したコード位相観測誤差「RCP」の大きさと、コード位相の実誤差「ECP」の大きさとを2次元的にプロットしたグラフであり、横軸がコード位相観測誤差「RCP」、縦軸がコード位相の実誤差「ECP」である。この実験結果を見ると、コード位相の実誤差「ECP」をコード位相観測誤差「RCP」に設定したことで(RCP=ECP)、「RCP」と「ECP」との関係が線形となっていることがわかる。
図6は、第2の実験において、観測誤差行列「R」に設定した受信周波数観測誤差「RF」の大きさと、受信周波数の実誤差「EF」の大きさとを2次元的にプロットしたグラフであり、横軸が受信周波数観測誤差「RF」、縦軸が受信周波数の実誤差「EF」である。この場合も、受信周波数の実誤差「ECP」を受信周波数観測誤差「RF」に設定したことで(RF=EF)、「RF」と「EF」との関係が線形となっている。
図7〜図9は、第1及び第2の実験それぞれについて、位置算出計算で求められた算出位置に含まれていた誤差(位置誤差)の大きさを示す実験結果である。位置算出計算で求められた算出位置と、携帯型電話機1の真位置との間の距離を計測して位置誤差とした。図7が緯度方向の誤差を、図8が経度方向の誤差を、図9が高度方向の誤差をそれぞれ示しており、各図において、横軸は時間、縦軸は誤差の大きさ[m]を示している。また、第1の実験で求められた誤差を点線で、第2の実験で求められた誤差を実線でそれぞれ示している。
これらの実験結果を見ると、第1の実験では、緯度方向、経度方向、高度方向それぞれについて誤差が上下に大きく揺らいでおり、位置誤差が大きくなっていることがわかる。一方、第2の実験では、緯度方向、経度方向、高度方向のどれを見ても誤差は「0」の近傍の値をとっており、位置誤差が小さくなっていることがわかる。
図10は、第1及び第2の実験それぞれについて、全ての算出位置の位置誤差を平均することで得られた平均位置誤差の大きさを示す図である。また、第1及び第2の実験では、位置の他に、GPS衛星信号の受信周波数の時間変化に基づいて携帯型電話機1の移動速度も算出したため、全ての移動速度を平均することで得られた平均移動速度誤差の大きさも併せて図示している。
この実験結果を見ると、第1の実験では、平均位置誤差が「7.103m」、平均移動速度誤差が「0.3620m/s」であるのに対し、第2の実験では、平均位置誤差が「0.9699m」、平均速度誤差が「0.1897m/s」となっており、どちらも第1の実験結果に比べて誤差が小さくなっていることがわかる。特に、平均位置誤差はその差が顕著であり、第1の実験と比べて平均位置誤差がおよそ1/10となっていることがわかる。
これらの実験結果から、メジャメントの実誤差との間で強い相関を示すパラメーターを見つけることができれば、当該パラメーターの値を用いて適切な観測誤差を設定することが可能となり、位置算出の正確性が向上することがわかる。そこで、本願発明者は、3種類のパラメーターに着目し、これらのパラメーターを第1種〜第3種メジャメントパラメーターとして、メジャメントの実誤差との関係を調べた。
図11は、メジャメントパラメーターの説明図であり、メジャメントを模式化して概念的に示したものである。図11において、白丸はメジャメント観測値を示している。メジャメント観測値は、GPS衛星信号を受信した際に観測したメジャメントであり、GPS衛星信号のコード位相及び受信周波数の実測値である。
メジャメント予測値は、カルマンフィルターの理論を用いて予測されたメジャメントであり、GPS衛星信号のコード位相及び受信周波数の予測値である。本実施形態では、予測処理を行うことで得られた状態ベクトルの予測値「X−」に対して観測行列「H」と呼ばれる行列を作用させることで、メジャメントの予測値「HX−」を算出する。
観測行列「H」は、状態ベクトルの予測値「X
−」の各成分を用いて、メジャメントであるGPS衛星信号のコード位相及び受信周波数を予測するための行列であり、次式(2)に示すような2×11の行列で表される。
ここで、観測行列「H」に含まれる「D
x」、「D
y」及び「D
z」は、次式(3−1)〜(3−3)で表される。
但し、「x
u」、「y
u」及び「z
u」は、予測処理で求められた状態ベクトルの予測値「X
−」に含まれる3次元の位置成分、すなわちGPS受信機の予測位置の3次元成分をそれぞれ示している。また、「x
s」、「y
s」及び「z
s」は、捕捉衛星の現在の位置の3次元成分をそれぞれ示している。捕捉衛星の現在の位置は、衛星軌道モデル(例えばエフェメリス)と現在の時刻とを用いて算出することができる。また、「R」は、GPS受信機の予測位置と捕捉衛星の衛星位置との間の距離である。
図11の説明に戻って、メジャメント観測値のうち、最新のメジャメント観測値(以下、「最新メジャメント観測値」と称す。)の直前に取得されたメジャメント観測値を「前回メジャメント観測値」とし、前回メジャメント観測値を最新メジャメント観測値の取得時刻までプロパゲートさせた値(以下、「メジャメントのプロパゲート値」と称す。)を求める。ここで、プロパゲートとは、経過時間を用いた値の推定演算処理のことであり、ある時刻において取得・演算されたメジャメント観測値から、当該時刻よりも後の所定時刻(ここでは、最新メジャメント観測値の取得時刻)で取得した場合の値を推定する処理である。
具体的には、受信周波数及びコード位相それぞれについて、次式(4)及び(5)に従って、前回メジャメント観測値のプロパゲート値を求める。
但し、「F」は受信周波数、「CP」はコード位相、「t」は最新のメジャメント取得時刻、「t−1」は前回のメジャメント取得時刻、「Δt」は最新のメジャメント取得時刻と前回のメジャメント取得時刻との時刻差、「ΔF
d」は単位時間あたりのドップラー変化量、「ΔF」は単位時間当たりの受信周波数の変化量をそれぞれ示している。
第1種メジャメントパラメーターは、最新メジャメント観測値と最新メジャメント予測値との差(以下、「最新観測予測差値」と称す。)として表されるパラメーターである。GPS衛星信号のコード位相及び受信周波数それぞれについて、最新観測予測差値を算出する。
第2種メジャメントパラメーターは、最新メジャメント観測値と、前回メジャメント観測値のプロパゲート値との差(以下、「最新前回観測差値」と称す。)として表されるパラメーターである。GPS衛星信号のコード位相及び受信周波数それぞれについて、最新前回観測差値を算出する。
第3種メジャメントパラメーターは、GPS衛星信号の信号品質を評価するためのパラメーターの一種である信頼度指標XPR(以下、単に「XPR」と称す。)である。XPRは、相関演算部331がコード位相方向の相関演算を行うことで得られた相関積算値の最大値「P
1」と、相関積算値が最大となったコード位相から±1/2チップ以上離れたコード位相における相関積算値のうちの最大の相関積算値「P
2」とを用いて、次式(6)に従って算出することができる。
尚、XPRは、コード位相及び受信周波数それぞれに共通の値である。
これらの3種類のメジャメントパラメーターそれぞれについて、実際に取得・演算されたメジャメント観測値と、予測処理により求めたメジャメント予測値とを用いてメジャメントパラメーターの値を実際に計算し、その計算値と、メジャメントの実誤差との関係を調べる実験を行った。その実験結果を以下に示す。
図12は、コード位相について、第1種メジャメントパラメーターである最新観測予測差値と、コード位相の実誤差との関係を示すグラフである。1つのプロットが、1回の計測における結果を示している。横軸はコード位相の最新観測予測差値、縦軸はコード位相の実誤差である。このグラフを見ると、プロットが原点近傍から右上方向に向けて広がっており、コード位相の最新観測予測差値と実誤差とはおよそ線形的な関係にあり、強い正の相関を示すことがわかる。
図13は、コード位相について、第2種メジャメントパラメーターである最新前回観測差値と、コード位相の実誤差との関係を示すグラフである。1つのプロットが、1回の計測における結果を示している。横軸はコード位相の最新前回観測差値、縦軸はコード位相の実誤差である。このグラフを見ると、プロットは縦軸方向にはそれほど広がっていないが、横軸方向には広範に広がっていることがわかる。また、図12の結果ほどではないが、プロットが原点近傍から右上方向に向けて広がっており、弱い正の相関が見られる。
図14は、コード位相について、第3種メジャメントパラメーターであるXPRと、コード位相の実誤差とを2次元的にプロットしたグラフである。1つのプロットが、1回の計測における結果を示している。横軸はコード位相のXPR、縦軸はコード位相の実誤差である。このグラフを見ると、プロットは、原点近傍には存在せず、グラフの中央部に集中していることがわかる。この中央部のプロットを見ると、プロットは左上方向から右下方向に広がっており、XPRとメジャメントの実誤差との間には負の相関が見られる。
図15〜図17は、受信周波数について同様の実験を行った実験結果である。図15が、第1種メジャメントパラメーターである最新観測予測差値と受信周波数の実誤差との関係を示すグラフであり、図16が、第2種メジャメントパラメーターである最新前回観測差値と受信周波数の実誤差との関係を示すグラフであり、図17が、第3種メジャメントパラメーターであるXPRと受信周波数の実誤差との関係を示すグラフである。これらのグラフを見ると、受信周波数についても、コード位相の場合と同様の相関特性を示していることがわかる。
以上の実験結果から、第1種メジャメントパラメーターである最新観測予測差値は、メジャメントの実誤差との関係で強い正の相関を示すことがわかった。また、第2種及び第3種メジャメントパラメーターである最新前回観測差値及びXPRについても、第1種メジャメントパラメーターほどではないものの、メジャメントの実誤差との間で相関を示すことがわかった。
この結果に基づき、メジャメントパラメーターの値と、想定されるメジャメント観測値に含まれる誤差の値(以下、「メジャメント想定誤差値」と称す。)との対応関係を定めたモデル式(以下、「メジャメント想定誤差値モデル式」と称す。)を定式化し、このメジャメント想定誤差値モデル式に従って算出したメジャメント想定誤差値を用いて、観測誤差行列「R」に設定する観測誤差の値を決定する実施形態を考案した。
具体的には、図12〜図17の実験結果を用いて、全てのプロットとの間の距離が最小となるような近似式を最小二乗法を用いて求め、当該近似式をメジャメント想定誤差モデル式に決定する。例えば、図12に示した第1種メジャメントパラメーターについてのコード位相の実験結果に対して最小二乗法を利用した関数のフィッティングを行うことで、図12に示すような正の一次関数で表される近似式を得ることができる。この近似式を、第1種メジャメントパラメーターの値を用いてコード位相の想定誤差値を算出するためのモデル式とし、以下、第2種及び第3種メジャメントパラメーターに関する近似式も同様のモデル式とする。また、これらのモデル式を包括的に「メジャメント想定誤差値モデル式」と呼ぶ。
同様に、図13に示した第2種メジャメントパラメーターについてのコード位相の実験結果に対して関数のフィッティングを行うと、図13に示すような正の一次関数で表される近似式を得ることができ、図14に示した第3種メジャメントパラメーターについてのコード位相の実験結果に対して関数のフィッティングを行うと、図14に示すような2つの負の一次関数を組み合わせた近似式を得ることができる。
また、本願発明者は、GPS受信機の受信感度によって、得られるメジャメント想定誤差値モデル式が変化することを発見した。具体的には、屋内環境(インドア環境)と屋外環境(アウトドア環境)のそれぞれについて、受信感度を変えながらメジャメントパラメーターの値とメジャメントの実誤差との関係を求め、上述した関数のフィッティングを行ってメジャメント想定誤差値モデル式を決定した。
図18は、GPS衛星信号の受信感度とメジャメント想定誤差値モデル式の係数(モデル式係数)との関係を示すグラフである。ここで示すモデル式係数は、第1種メジャメントパラメーターについて求めたメジャメント想定誤差値モデル式の一次の係数(一次関数の傾き)である。図18において、横軸は受信感度[dBm]、縦軸はモデル式係数をそれぞれ示している。ダイヤ形は、受信周波数についての実験結果を示しており、白のダイヤ形はアウトドア環境で求めたモデル式係数、黒のダイヤ形はインドア環境で求めたモデル式係数である。また、矩形は、コード位相についての実験結果を示しており、白の矩形はアウトドア環境で求めたモデル式係数、黒の矩形はインドア環境で求めたモデル式係数である。
この結果を見ると、受信周波数については、アウトドア環境では、モデル式係数はほぼ横ばいであるが、インドア環境では、受信感度が良くなるにつれて、モデル式係数が漸増していることがわかる。また、コード位相については、アウトドア環境では、受信感度が「−130dBm〜−142dBm」の範囲ではモデル式係数は横ばいであるが、「−142dBm〜−144dBm」の範囲では漸増し、「−144dBm〜−145dBm」の範囲では急増していることがわかる。他方、インドア環境では、モデル式係数はほぼ横ばいである。
この結果からわかることは、GPS受信機の受信感度に応じてモデル式係数が変化するため、1つのモデル式に従ってメジャメント想定誤差値を算出するのは適切ではないということである。すなわち、受信したGPS衛星信号の信号強度を測定し、測定した信号強度に応じたモデル式に従ってメジャメント想定誤差値を算出することが適切であるということである。
ところで、上述した3種類のメジャメントパラメーターの値は、GPS衛星信号の受信環境に応じて、その正確性が変化する。すなわち、GPS衛星信号の受信環境が良ければ、メジャメントパラメーターの値の正確性は高くなり、GPS衛星信号の受信環境が悪ければ、メジャメントパラメーターの値の正確性は低くなる。メジャメント想定誤差値は、メジャメントパラメーターの値をメジャメント想定誤差値モデル式に代入することで算出されるため、メジャメント想定誤差値の正確性は、メジャメントパラメーターの値の正確性に依存する。
そこで、本実施形態では、メジャメントパラメーターの値に基づいて、算出されたメジャメント想定誤差値の信頼性を判定する。具体的には、メジャメント想定誤差値の信頼性を示す指標値として、「1」〜「3」の3段階で表される信頼度を定義する。信頼度は、数値が低い方が信頼性が高く、「1」が最も信頼性が高いことを意味する。信頼度の判定方法は、メジャメントパラメーターの種類に応じて異なる。
図19は、信頼度の判定方法を定めた信頼度判定用データのデータ構成例を示す図である。信頼度判定用データには、「1」〜「3」の信頼度と、メジャメント想定誤差値の種類とが対応付けられている。第1〜第3種メジャメントパラメーターを用いて算出されたメジャメント想定誤差値を、それぞれ「第1種〜第3種メジャメント想定誤差値」と称する。
本願発明者が実験を行った結果、携帯型電話機1(GPS受信機)が急加速状態にある場合は、第1種メジャメントパラメーターである最新観測予測差値が極端に大きくなる傾向があることがわかった。これは次の理由によるものである。携帯型電話機1が急加速の状態にある場合には、カルマンフィルターの予測処理において状態ベクトル「X」の予測が正しく行われず、求められる状態ベクトルの予測値「X−」の正確性が低下する。その結果、式(2)及び(3)に従って算出される観測行列「H」が適切なものではなくなり、状態ベクトルの予測値「X−」に観測行列「H」を作用させることで得られるメジャメントの予測値「HX−」の正確性が低下する。最新観測予測差値は、最新メジャメント観測値と最新メジャメント予測値との差であるため、メジャメント予測値の正確性が低くなると、結果的に、最新観測予測差値の正確性も低下する。
そこで、第1種メジャメント想定誤差値の信頼性については、最新観測予測差値に対する閾値判定を行うための所定の閾値(以下、「第1の閾値」として説明する。)を設定しておき、最新観測予測差値が第1の閾値に満たない場合は信頼度「1」、最新観測予測差値が第1の閾値以上である場合は信頼度「2」と判定する。また、初期定点化前(First Fix前)は、状態ベクトル「X」の予測が正確に行われない可能性が高いため、信頼度「3」と判定する。第1種メジャメント想定誤差値の信頼性は、最新観測予測差値の信頼性と等価であり、最新観測予測差値の信頼性はメジャメント予測値の正確性によって決まるため、メジャメント予測値の信頼性とも言える。
次に、第2種メジャメント想定誤差値の信頼性について説明する。図13及び図16のグラフを見ると、最新前回観測差値が小さい領域では、メジャメントの実誤差が縦軸方向に広範に分布しており、実誤差の振れ幅が大きくなっていることがわかる。すなわち、最新前回観測差値が小さい領域では、実誤差の収束性が悪い。このことから、最新前回観測差値が小さい場合には、メジャメント想定誤差値モデル式に従って算出されるメジャメント想定誤差値の正確性が低下するものと考えられる。
そこで、第2種メジャメントパラメーターについては、最新前回観測差値に対する閾値判定を行うための所定の閾値(以下、「第2の閾値」として説明する。)を設定しておき、算出された最新観測予測差値が第2の閾値以上である場合は信頼度「1」、最新前回観測差値が第2の閾値に満たない場合は信頼度「2」と判定する。また、前回メジャメント観測値が取得できていない場合は、最新前回観測差値を算出することができない。そのため、この場合は、メジャメント想定誤差値の算出が不可であるとして信頼度「3」と判定する。第2種メジャメント想定誤差値の信頼性は、最新前回観測差値の信頼性と等価であり、最新前回観測差値の信頼性はメジャメントのプロパゲート値の正確性によって決まるため、プロパゲート値の信頼性とも言える。
第3種メジャメント想定誤差値の信頼性については、XPRが大きいほど、受信したGPS衛星信号に含まれるノイズ成分の割合が低いため信号品質が高く、XPRが小さいほど、受信したGPS衛星信号に含まれるノイズ成分の割合が高いため信号品質は低いと言える。そのため、XPRに対する閾値判定を行うための所定の閾値(以下、「第3の閾値」として説明する。)を設定しておき、算出されたXPRが第3の閾値以上である場合は信頼度「1」、XPRが第3の閾値に満たない場合は信頼度「2」と判定する。第3種メジャメント想定値の信頼性は、XPRの信頼性と等価である。
上述した判定方法に従ってメジャメント想定誤差値の信頼性を判定したら、第1種〜第3種メジャメント想定誤差値に優先順位を付ける。詳細は第2実施例で説明するが、基本的には、第1種メジャメント想定誤差値の優先順位を最も高くする。但し、第1種メジャメント想定誤差値の信頼性が低い場合があるため、その場合は第2種メジャメント想定誤差値の優先順位を高くし、第2種メジャメント想定誤差値の信頼性が低い場合は、第3種メジャメント想定誤差値の優先順位を高くする。
優先順位が決まれば、優先順位の最も高いメジャメント想定誤差値を用いて観測誤差行列「R」に設定する観測誤差の値を決定する。具体的には、コード位相については、優先順位の最も高いメジャメント想定誤差値の二乗値を算出してコード位相観測誤差「RCF」に設定し、受信周波数については、優先順位の最も高いメジャメント想定誤差値の二乗値を算出して受信周波数観測誤差「RF」に設定する。
3.第1実施例
第1実施例は、原理で説明した第1種〜第3種メジャメント想定誤差値のうち、第1種メジャメント想定誤差値のみを用いて観測誤差行列「R」を設定して、カルマンフィルターを利用した位置算出処理を行って位置を算出する実施例である。
3−1.データ構成
図20は、第1実施例において携帯型電話機1のROM80に格納されるデータの一例を示す図である。ROM80には、ホストCPU40により読み出され、メイン処理(図24参照)として実行されるメインプログラム801と、メジャメント想定誤差値モデル式データ803とが記憶されている。また、メインプログラム801には、KF位置算出処理(図25参照)として実行されるKF位置算出プログラム8011と、第1の観測誤差行列設定処理(図26参照)として実行される第1の観測誤差行列設定プログラム8013と、第1のメジャメント想定誤差値調整処理(図27参照)として実行される第1のメジャメント想定誤差値調整プログラム8015とがサブルーチンとして含まれている。
メイン処理とは、ホストCPU40が、通話処理やメール送受信処理といった携帯電話機としての本来の機能を実現するための処理を行う他、KF位置算出処理を行って携帯型電話機1の位置を算出する処理である。
KF位置算出処理とは、ホストCPU40が、カルマンフィルターの理論に基づいて、携帯型電話機1の位置及び移動速度を含む状態ベクトル「X」に対する予測処理及び補正処理を行って携帯型電話機1の位置を算出し、算出した位置を出力位置として表示部60に表示させる処理である。
第1の観測誤差行列設定処理とは、ホストCPU40が、上述した原理に従って、KF位置算出処理の補正処理で使用するKFパラメーターの一種である観測誤差行列「R」を設定する処理である。
また、第1のメジャメント想定誤差値調整処理とは、ホストCPU40が、第1の観測誤差行列設定処理で算出したメジャメント想定誤差値の信頼性が低いと判定した場合に、過去に位置算出計算に使用されたメジャメント想定誤差値の平均値を用いて、メジャメント想定誤差値を調整する処理である。これらの処理については、フローチャートを用いて詳細に後述する。
図22は、メジャメント想定誤差値モデル式データ803のデータ構成の一例を示す図である。メジャメント想定誤差値モデル式データ803には、GPS衛星信号の信号強度8031と対応付けて、メジャメント観測値であるコード位相及び受信周波数それぞれについて、メジャメント想定誤差値を算出するためのメジャメント想定誤差値モデル式8033が記憶されている。
メジャメント想定誤差値モデル式8033において、「ECP」はコード位相想定誤差値、「EF」は受信周波数想定誤差値を示している。「x」はメジャメントパラメーターを示しており、本実施例では最新観測予測差値がこれに該当する。また、「a(a1,a2,a3,・・・)」及び「b(b1,b2,b3,・・・)」は、それぞれコード位相用のモデル式の1次及び0次の係数、すなわちモデル式の傾き及び切片を示している。同様に、「c(c1,c2,c3,・・・)」及び「d(d1,d2,d3,・・・)」は、それぞれ受信周波数用のモデル式の1次及び0次の係数を示している。
例えば、GPS衛星信号の信号強度が「−132dBm」である場合は、コード位相については「ECP=a3x+b3」という一次のモデル式に従ってコード位相想定誤差値「ECP」を算出し、受信周波数については「EF=c3x+d3」という一次のモデル式に従って受信周波数想定誤差値「EF」を算出する。
図21は、第1実施例において携帯型電話機1のRAM90に格納されるデータの一例を示す図である。RAM90には、メジャメントデータ901と、衛星軌道データ903と、KFパラメーターデータ905と、最終メジャメント想定誤差値履歴データ907とが記憶される。
図23は、メジャメントデータ901のデータ構成の一例を示す図である。メジャメントデータ901には、各捕捉衛星9011について、メジャメント取得演算部33により取得・演算されたGPS衛星信号のコード位相及び受信周波数の観測値であるメジャメント観測値9013と、KF位置算出処理において予測されたGPS衛星信号の受信周波数及びコード位相の予測値であるメジャメント予測値9015とが対応付けて記憶される。
例えば、捕捉衛星9011のうちの衛星「S1」についてメジャメント取得演算部33により取得・演算されたメジャメント観測値9013は、コード位相が「CP11」、受信周波数が「F11」であり、メジャメント予測値9015は、コード位相が「CP21」、受信周波数が「F21」である。
衛星軌道データ903は、GPS衛星の衛星軌道情報を記憶したデータであり、各GPS衛星の概略の衛星軌道を示すアルマナックや、各GPS衛星の詳細な衛星軌道を示すエフェメリスがこれに含まれる。衛星軌道データ903は、例えばGPS衛星から受信したGPS衛星信号を復調することで取得したり、基地局のサーバーからサーバーアシストによって取得することができる。
KFパラメーターデータ905は、KF位置算出処理において予測処理及び補正処理が行われることで随時更新されるKFパラメーターのデータである。例えば、状態ベクトル「X」や誤差共分散行列「P」の値がこれに含まれ、特に本実施例では、観測誤差行列「R」9051がこれに含まれる。
最終メジャメント想定誤差値履歴データ907は、第1のメジャメント想定誤差値調整処理により最終的なメジャメント想定誤差値として求められたメジャメント想定誤差値(以下、「最終メジャメント想定誤差値」と称す。)の履歴のデータである。GPS衛星信号のコード位相及び受信周波数それぞれについて、過去に求められた最終メジャメント想定誤差値が蓄積記憶される。
3−2.処理の流れ
図24は、ホストCPU40によりROM80に記憶されているメインプログラム801が読み出されて実行されることで、携帯型電話機1において実行されるメイン処理の流れを示すフローチャートである。メイン処理は、ホストCPU40が、操作部50を介してユーザーにより携帯型電話機1の電源投入指示操作がなされたことを検出した場合に実行を開始する処理である。
特に説明しないが、以下のメイン処理の実行中は、GPSアンテナ10によるRF信号の受信や、RF受信回路部21によるIF信号へのダウンコンバート、メジャメント取得演算部33によるGPS衛星信号の受信周波数やコード位相(メジャメント観測値)の取得・演算等が随時行われている状態にあるものとする。
先ず、ホストCPU40は、操作部50を介してなされた指示操作を判定し(ステップA1)、指示操作が通話指示操作であると判定した場合は(ステップA1;通話指示操作)、通話処理を行う(ステップA3)。具体的には、携帯電話用無線通信回路部70に無線基地局との間の基地局通信を行わせ、携帯型電話機1と他機との間の通話を実現する。
また、ステップA1において指示操作がメール送受信指示操作であると判定した場合は(ステップA1;メール送受信指示操作)、ホストCPU40は、メール送受信処理を行う(ステップA5)。具体的には、携帯電話用無線通信回路部70に基地局通信を行わせ、携帯型電話機1と他機との間のメールの送受信を実現する。
また、ステップA1において指示操作が位置算出指示操作であると判定した場合は(ステップA1;位置算出指示操作)、ホストCPU40は、ROM80に記憶されているKF位置算出プログラム8011を読み出して実行することで、KF位置算出処理を行う(ステップA7)。
図25は、KF位置算出処理の流れを示すフローチャートである。
先ず、ホストCPU40は、KF位置算出処理用の状態ベクトル「X」及び誤差共分散行列「P」の初期値を設定する(ステップB1)。状態ベクトル「X」及び誤差共分散行列「P」の初期値は、例えば直前の補正処理で求められた状態ベクトル「X」及び誤差共分散行列「P」の補正値「X+」及び「P+」とすることができる。
次いで、ホストCPU40は、状態ベクトル「X」及び誤差共分散行列「P」について、次式(7)及び(8)に従って予測処理を行い、状態ベクトルの予測値「X
−」及び誤差共分散行列の予測値「P
−」を算出する(ステップB3)。
但し、各式における添え字の「−」は予測値、「+」は補正値であることを示しており、「T」は転置行列であることを示している。また、「φ」は、状態遷移行列と呼ばれる状態ベクトル「X」の遷移を表す11×11の行列であり、「Q」は、システムノイズ行列と呼ばれる状態ベクトル「X」に含まれる各成分の変化の許容度を決定付ける11×11の行列である。状態遷移行列「φ」及びシステムノイズ行列「Q」は、例えば固定値として計算することができる。
次いで、ホストCPU40は、式(2)及び(3)に従って観測行列「H」を設定する(ステップB5)。具体的には、RAM90の衛星軌道データ903と現在の時刻とを用いて、捕捉衛星の衛星位置を算出する。そして、ステップB3の予測処理で求めた携帯型電話機1の予測位置と、捕捉衛星の衛星位置とを用いて、式(3−1)〜(3−3)に従って「Dx」、「Dy」及び「Dz」の値を算出し、これらの値を用いて、式(2)に従って観測行列「H」を設定する。
その後、ホストCPU40は、メジャメント取得演算部33から各捕捉衛星からのGPS衛星信号のコード位相及び受信周波数を取得して、メジャメント観測値9013としてRAM90のメジャメントデータ901に記憶させるとともに、当該メジャメント観測値9013を含む2×1の行列を観測ベクトル「Z」として設定する(ステップB7)。
次いで、ホストCPU40は、ステップB3で算出した状態ベクトルの予測値「X−」にステップB5で設定した観測行列「H」を乗算することで、予測観測ベクトル「HX−」を算出する。そして、予測観測ベクトル「HX−」の成分であるGPS衛星信号のコード位相及び受信周波数の予測値をメジャメント予測値9015として、メジャメントデータ901に記憶させる(ステップB9)。
その後、ホストCPU40は、ROM80に記憶されている第1の観測誤差行列設定プログラム8013を読み出して実行することで、第1の観測誤差行列設定処理を行う(ステップB11)。
図26は、第1の観測誤差行列設定処理の流れを示すフローチャートである。
先ず、ホストCPU40は、メジャメント取得演算部33から、捕捉されたGPS衛星信号の信号強度を取得する(ステップC1)。そして、ホストCPU40は、ROM80に記憶されているメジャメント想定誤差値モデル式データ803を参照し、取得した信号強度8031に対応付けられているメジャメント想定誤差値モデル式8033を選択する(ステップC3)。
次いで、ホストCPU40は、コード位相と受信周波数それぞれについて、ループAの処理を実行する(ステップC5〜C15)。ループAの処理では、ホストCPU40は、RAM90のメジャメントデータ901に記憶されている最新のメジャメント観測値9013と、最新のメジャメント予測値9015との差を算出して、最新観測予測差値とする(ステップC7)。そして、ホストCPU40は、算出した最新観測予測差値を用いて、ステップC1で選択したメジャメント想定誤差値モデル式に従ってメジャメント想定誤差値を算出する(ステップC9)。
次いで、ホストCPU40は、ステップC9で算出したメジャメント想定誤差値の信頼度を判定する(ステップC11)。具体的には、図19に示した信頼度判定用データに含まれる第1種メジャメントパラメーターの信頼度の判定方法に従い、最新観測予測差値に対する閾値判定を行うことで、算出したメジャメント想定誤差値の信頼度が「1」〜「3」の何れに該当するかを判定する。
その後、ホストCPU40は、ROM80に記憶されている第1のメジャメント想定誤差値調整プログラム8015を読み出して実行することで、第1のメジャメント想定誤差値調整処理を行う(ステップC13)。
図27は、第1のメジャメント想定誤差値調整処理の流れを示すフローチャートである。
先ず、ホストCPU40は、第1のメジャメント想定誤差値の信頼度が「2」であるか否かを判定し(ステップD1)、「2」であると判定した場合は(ステップD1;Yes)、RAM90に記憶されている最終メジャメント想定誤差値履歴データ907を参照し、過去に求められた最終メジャメント想定誤差値の平均値(以下、「過去平均値」と称す。)を算出する(ステップD3)。
そして、ホストCPU40は、メジャメント想定誤差値と過去平均値とを加重平均計算し、その計算値を最終メジャメント想定誤差値として、最終メジャメント想定誤差値履歴データ907に記憶させる(ステップD5)。メジャメント想定誤差値の信頼度が「2」である場合は、メジャメント想定誤差値の信頼性が低いため、過去に求められた最終メジャメント想定誤差値を用いて、メジャメント想定誤差値を調整することにしている。具体的には、メジャメント想定誤差値の重みを「α」、過去平均値の重みを「1−α」として加重平均計算を行う。重み「α」は「0〜1」までの値で表され、例えば固定値(α=0.5)として計算することができる。
一方、ステップD1において第1のメジャメント想定誤差値の信頼度が「2」ではなく「1」又は「3」であると判定した場合は(ステップD1:No)、ホストCPU40は、メジャメント想定誤差値を最終メジャメント想定誤差値として、最終メジャメント想定誤差値履歴データ907に記憶させる(ステップD7)。
メジャメント想定誤差値の信頼度が「1」である場合は、メジャメント想定誤差値の信頼性が高いと言えるため、メジャメント想定誤差値の調整を行わずに最終メジャメント想定誤差値とする。また、メジャメント想定誤差値の信頼度が「3」である場合は、初期定点化前(First Fix前)であり、メジャメント想定誤差値の信頼性は低いと言える。しかし、この場合は過去のメジャメント想定誤差値が存在せず、メジャメント想定誤差値の調整を行うことができないため、メジャメント想定誤差値を最終メジャメント想定誤差値としている。
ステップD5又はD7の処理を行った後、ホストCPU40は、第1のメジャメント想定誤差値調整処理を終了する。
図26の第1の観測誤差行列設定処理に戻って、第1のメジャメント想定誤差値調整処理を行った後、ホストCPU40は、次のメジャメントの種類へと処理を移行する。そして、コード位相及び受信周波数のそれぞれについてステップC7〜C13の処理を行った後、ホストCPU40は、ループAの処理を終了する(ステップC15)。
ループAの処理を終了すると、ホストCPU40は、コード位相及び受信周波数それぞれについて、ステップC11で得られた最終メジャメント想定誤差値の二乗値を観測誤差とした観測誤差行列「R」を設定する(ステップC17)。具体的には、コード位相について得られた最終メジャメント想定誤差値の二乗値をコード位相観測誤差「RCP」、受信周波数について得られた最終メジャメント想定誤差値の二乗値を受信周波数観測誤差「RF」として、図2に示したような観測誤差行列「R」を設定する。そして、ホストCPU40は、第1の観測誤差行列設定処理を終了する。
図25のKF位置算出処理に戻って、第1の観測誤差行列設定処理を行った後、ホストCPU40は、次式(9)〜(11)に従って補正処理を行い、状態ベクトルの補正値「X
+」及び誤差共分散行列の補正値「P
+」を算出する(ステップB13)。
但し、「K」はカルマンゲイン行列と呼ばれる行列であり、「R」はステップB11で設定した観測誤差行列である。また、「I」は単位行列である。
次いで、ホストCPU40は、補正処理で求めた状態ベクトルの補正値「X+」に含まれる3次元の位置成分(x,y,z)で表される位置を出力位置に決定する(ステップB15)。そして、ホストCPU40は、出力位置をプロットした位置表示画面を生成して、表示部60に表示させる(ステップB17)。
そして、ホストCPU40は、操作部50を介してユーザーにより位置算出終了指示がなされたか否かを判定し(ステップB19)、なされなかったと判定した場合は(ステップB19;No)、ステップB1に戻る。また、位置算出終了指示がなされたと判定した場合は(ステップB19;Yes)、位置算出処理を終了する。
図24のメイン処理に戻って、ステップA3〜A7の何れかの処理を行った後、ホストCPU40は、操作部50を介してユーザーにより電源切断指示操作がなされたか否かを判定する(ステップA9)。そして、なされなかったと判定した場合は(ステップA9;No)、ステップA1に戻る。また、電源切断指示操作がなされたと判定した場合は(ステップA9;Yes)、メイン処理を終了する。
3−3.作用効果
携帯型電話機1は、GPS衛星から受信したGPS衛星信号の受信周波数及びコード位相をメジャメントとし、このメジャメントを観測値として用いて、カルマンフィルターの理論に基づく位置算出処理を行って位置を算出する。位置算出処理では、最新のメジャメント観測値と最新のメジャメント予測値との差で表される最新観測予測差値(第1のメジャメントパラメーターの値)を算出し、算出した最新観測予測差値を用いて、カルマンフィルターの補正処理に使用する観測誤差行列「R」を設定する。
より具体的には、最新観測予測差値を用いてメジャメントに含まれる想定誤差値を算出するためのモデル式が、GPS衛星信号の信号強度に応じて予め定められている。携帯型電話機1は、受信したGPS衛星信号の信号強度を測定し、測定した信号強度に対応付けられたモデル式を選択する。そして、選択したモデル式に最新観測予測差値を代入することで、メジャメントの想定誤差値を算出する。
最新観測予測差値と、メジャメントに含まれる実誤差とはおよそ線形的な関係にあり、相関性が強い。メジャメントに含まれる実誤差との間で強い相関を示すパラメーターを用いて想定誤差値を算出し、その二乗値を観測誤差行列「R」に設定することで、位置算出処理においてフィルターを効果的に作用させることができる。これにより、算出位置が真位置に対して時間的に遅れる“位置遅れ”や、カーブや曲がり角において算出位置の追従性が悪化する“ショートカット”といった事象が発生することを抑制し、位置算出の正確性を向上させることができる。
また、最新観測予測差値を用いて算出したメジャメント想定誤差値の信頼度が「2」である場合は、過去のメジャメント想定誤差値の平均値を用いて、算出したメジャメント想定誤差値を調整することにしている。具体的には、算出したメジャメント想定誤差値とメジャメント想定誤差値の過去平均値との加重平均計算を行うことにしている。これにより、算出したメジャメント想定誤差値の信頼性がそれほど高くない場合であっても、過去の値に基づいて妥当な値に修正して観測誤差を設定することが可能となる。
4.第2実施例
第2実施例は、原理で説明した第1種〜第3種メジャメント想定誤差値を切り替えながら観測誤差行列「R」を設定し、カルマンフィルターを利用した位置算出処理を行って位置を算出する実施例である。
4−1.データ構成
図28は、第2実施例において携帯型電話機1のROM82に格納されたデータの一例を示す図である。ROM82には、メインプログラム801と、第2のメジャメント想定誤差値モデル式データ823と、信頼度判定用データ825とが記憶されている。また、メインプログラム801には、KF位置算出プログラム8011と、第2の観測誤差行列設定処理(図30及び図31参照)として実行される第2の観測誤差行列設定プログラム8213と、第2のメジャメント想定誤差値調整処理(図32参照)として実行される第2のメジャメント想定誤差値調整プログラム8215とがサブルーチンとして含まれている。
図29は、第2のメジャメント想定誤差値モデル式データ823のデータ構成の一例を示す図である。第2のメジャメント想定誤差値モデル式データ823には、GPS衛星信号の信号強度8231と対応付けて、メジャメント想定誤差値モデル式8233が記憶されている。メジャメント想定誤差値モデル式8233には、第1種〜第3種メジャメントパラメーターそれぞれについて、メジャメント観測値であるコード位相及び受信周波数のメジャメント想定誤差値を算出するためのモデル式が記憶されている。
4−2.処理の流れ
図30及び図31は、ホストCPU40が、ROM82に記憶されている第2の観測誤行列設定プログラム8213を読み出して実行することで、携帯型電話機1において実行される第2の観測誤差行列設定処理の流れを示すフローチャートである。
先ず、ホストCPU40は、メジャメント取得演算部33から、捕捉されたGPS衛星信号の信号強度を取得する(ステップE1)。そして、ホストCPU40は、ROM82に記憶されている第2のメジャメント想定誤差値モデル式データ823を参照し、3種類の各メジャメントパラメーターそれぞれについて、取得した信号強度8231に対応付けられているメジャメント想定誤差値モデル式8233を選択する(ステップE3)。
次いで、ホストCPU40は、コード位相と受信周波数それぞれについて、ループBの処理を実行する(ステップE5〜E39)。ループBの処理では、ホストCPU40は、RAM90のメジャメントデータ901に記憶されている最新のメジャメント観測値9013と、最新のメジャメント予測値9015との差を算出して、最新観測予測差値とする(ステップE7)。そして、ホストCPU40は、算出した最新観測予測差値を用いて、ステップE3で選択したメジャメント想定誤差値モデル式に従ってメジャメント想定誤差値を算出して、第1種メジャメント想定誤差値とする(ステップE9)。
次いで、ホストCPU40は、ステップE9で算出した第1種メジャメント想定誤差値の信頼度を判定する(ステップE11)。具体的には、ROM82に記憶されている信頼度判定用データ823を参照し、第1種メジャメントパラメーターに対応付けられている信頼度の判定方法に従って最新観測予測差値に対する閾値判定を行うことで、第1種メジャメント想定誤差値の信頼度が「1」〜「3」の何れに該当するかを判定する。
その後、ホストCPU40は、プロパゲート処理を行って、メジャメントデータ901に記憶されている前回のメジャメント観測値9013を、最新のメジャメント観測値9013の取得時刻までプロパゲートする(ステップE13)。
そして、ホストCPU40は、プロパゲート処理で得られた前回のメジャメント観測値9013のプロパゲート値と、最新のメジャメント観測値との差を算出して、最新前回観測差値とする(ステップE15)。また、ホストCPU40は、算出した最新前回観測差値を用いて、ステップE3で選択したメジャメント想定誤差値モデル式に従ってメジャメント想定誤差値を算出して、第2種メジャメント想定誤差値とする(ステップE17)。
次いで、ホストCPU40は、ステップE17で算出した第2種メジャメント想定誤差値の信頼度を判定する(ステップE19)。具体的には、ROM82に記憶されている信頼度判定用データ823を参照し、第2種メジャメントパラメーターに対応付けられている信頼度の判定方法に従って最新前回観測差値に対する閾値判定を行うことで、第2種メジャメント想定誤差値の信頼度が「1」〜「3」の何れに該当するかを判定する。
その後、ホストCPU40は、捕捉衛星から受信したGPS衛星信号の相関積算値に基づいてXPRを算出する(ステップE21)。そして、ホストCPU40は、算出したXPRを用いて、ステップE3で選択したメジャメント想定誤差値モデル式に従ってメジャメント想定誤差値を算出して、第3種メジャメント想定誤差値とする(ステップE23)。
次に、ホストCPU40は、ステップE23で算出した第3種メジャメント想定誤差値の信頼度を判定する(ステップE25)。具体的には、ROM82に記憶されている信頼度判定用データ825を参照し、第3種メジャメントパラメーターに対応付けられている信頼度の判定方法に従ってXPRに対する閾値判定を行うことで、第3種メジャメント想定誤差値の信頼度が「1」と「2」の何れに該当するかを判定する。
その後、ホストCPU40は、第1種メジャメント想定誤差値の信頼度が「3」であるか否かを判定し(ステップE27)、「3」ではない、すなわち「1」か「2」であると判定した場合は(ステップE27;No)、第1種メジャメント想定誤差値を暫定メジャメント想定誤差値とする(ステップE29)。
一方、ステップE27において第1種メジャメント想定誤差値の信頼度が「3」であると判定した場合は(ステップE27;Yes)、ホストCPU40は、第2種メジャメント想定誤差値の信頼度が、第3種メジャメント想定誤差値の信頼度以下であるか否かを判定する(ステップE31)。すなわち、第2種メジャメント想定誤差値の信頼性が、第3種メジャメント想定誤差値の信頼性と同じかそれよりも高いかどうかを判定する。
そして、上述した条件を満たすと判定した場合は(ステップE31;Yes)、ホストCPU40は、第2種メジャメント想定誤差値を暫定メジャメント想定誤差値とする(ステップE33)。一方、上述した条件を満たさないと判定した場合は(ステップE31;No)、ホストCPU40は、第3種メジャメント想定誤差値を暫定メジャメント想定誤差値とする(ステップE35)。
ステップE29、E33及びE35の何れかの処理を行った後、ホストCPU40は、ROM82に記憶されている第2のメジャメント想定誤差値調整プログラム8215を読み出して実行することで、第2のメジャメント想定誤差値調整処理を行う(ステップE37)。
図32は、第2のメジャメント想定誤差値調整処理の流れを示すフローチャートである。
先ず、ホストCPU40は、暫定メジャメント想定誤差値が第1種メジャメント想定誤差値であるか否かを判定し(ステップF1)、第1種メジャメント想定誤差値であると判定した場合は(ステップF1;Yes)、暫定メジャメント想定誤差値である第1種メジャメント想定誤差値の信頼度が「2」であるか否かを判定する(ステップF3)。
そして、信頼度が「2」であると判定した場合は(ステップF3;Yes)、ホストCPU40は、暫定メジャメント想定誤差値の大きさが所定の閾値以下であるか否かを判定する(ステップF5)。そして、閾値以下であると判定した場合は(ステップF5;Yes)、ホストCPU40は、RAM90の最終メジャメント想定誤差値履歴データ907を参照し、過去に求められた最終メジャメント想定誤差値の平均値を算出して過去平均値とする(ステップF7)。
そして、ホストCPU40は、暫定メジャメント想定誤差値と過去平均値とを加重平均計算し、その計算値を最終メジャメント想定誤差値とし、最終メジャメント想定誤差値履歴データ907に記憶させる(ステップF9)。具体的には、暫定メジャメント想定誤差値の重みを「α」、過去平均値の重みを「1−α」として加重平均計算を行う。
一方、ステップF5において暫定メジャメント想定誤差値が閾値を超えていると判定した場合は(ステップF5;No)、ホストCPU40は、第2種メジャメント想定誤差値と第3種メジャメント想定誤差値とのうち、信頼性が高い方のメジャメント想定誤差値を選択して最終メジャメント想定誤差値とし、最終メジャメント想定誤差値履歴データ907に記憶させる(ステップF11)。
また、ステップF1において暫定メジャメント想定誤差値が第1種メジャメント想定誤差値ではなく第2種又は第3種メジャメント想定誤差値であると判定した場合は(ステップF1;No)、ホストCPU40は、暫定メジャメント想定誤差値を最終メジャメント想定誤差値とし、最終メジャメント想定誤差値履歴データ907に記憶させる(ステップF13)。この場合は、第2種又は第3種メジャメント想定誤差値が最終メジャメント想定誤差値となる。
また、ステップF3において暫定メジャメント想定誤差値である第1種メジャメント想定誤差値の信頼度が「2」ではなく「1」であると判定した場合にも(ステップF3;No)、ホストCPU40は、暫定メジャメント想定誤差値を最終メジャメント想定誤差値とし、最終メジャメント想定誤差値履歴データ907に記憶させる(ステップF13)。この場合は、第1種メジャメント想定誤差値が最終メジャメント想定誤差値となる。
尚、図31のステップE27、E29より、第1種メジャメント想定誤差値が暫定メジャメント想定誤差値となるのは、第1種メジャメント想定誤差値の信頼度が「1」か「2」の場合である。従って、図32でステップF1;Yesとなるのは、第1種メジャメント想定誤差値の信頼度が「1」か「2」の場合であり、ステップF3;Noとなるのは、第1種メジャメント想定誤差値の信頼度が「1」の場合に限られる。
そして、ステップF9〜F13の何れかの処理を行った後、ホストCPU40は、第2のメジャメント想定誤差値調整処理を終了する。
図31の第2の観測誤差行列設定処理に戻って、第2のメジャメント想定誤差値調整処理を行った後、ホストCPU40は、次のメジャメントの種類へと処理を移行する。そして、コード位相及び受信周波数のそれぞれについてステップE7〜E37の処理を行った後、ホストCPU40は、ループBの処理を終了する(ステップE39)。
ループBの処理を終了すると、ホストCPU40は、コード位相及び受信周波数それぞれについて、ステップE37で得られた最終メジャメント想定誤差値の二乗値を観測誤差とした観測誤差行列「R」を設定する(ステップE41)。そして、ホストCPU40は、第2の観測誤差行列設定処理を終了する。
4−3.作用効果
第2実施例によれば、第1種〜第3種メジャメントパラメーターそれぞれについて、メジャメント想定誤差値モデル式に従って算出した第1種〜第3種メジャメント想定誤差値の信頼度に基づいて、観測誤差として設定するメジャメント想定誤差値を切り替える。具体的には、第1種メジャメント想定誤差値の信頼度が「1」か「2」であれば、第1種メジャメント想定誤差値を用いて観測誤差を設定するが、第1種メジャメント想定誤差値の信頼度が「3」である場合は、第2種メジャメント想定誤差値の信頼度が第3種メジャメント想定誤差値の信頼度以下であれば、第2種メジャメント想定誤差値を用いて観測誤差を設定する。
第1種メジャメントパラメーターである最新観測予測差値は、メジャメントの実誤差との間で強い正の相関を示し、第1種〜第3種メジャメントパラメーターの中で観測誤差の設定に最も適したパラメーターである。そのため、第1種メジャメントパラメーターの信頼度が「3」となる場合を除いて、第1種メジャメント想定誤差値を用いて観測誤差を設定することにした。
また、第2種メジャメントパラメーターである最新前回観測差値は、メジャメントの実誤差との相関が第1種メジャメントパラメーターほど強くはないが、ある程度の正の相関を示すことがわかった。そのため、第1種メジャメントパラメーターの信頼性が低い場合は、第2種メジャメントパラメーター想定誤差値を用いて観測誤差を設定することにした。
このように、メジャメント想定誤差値の信頼性に応じて観測誤差の設定に使用するメジャメント想定誤差値を切り替えることで、適切な観測誤差を設定して位置算出計算を行うことが可能となり、位置算出の正確性が一層向上する。
5.実験結果
図33は、第1実施例で説明した手法と、第2実施例で説明した手法と、従来の手法とのそれぞれについて、位置算出計算を行って携帯型電話機1の位置を算出した場合の位置誤差の大きさを示す実験結果である。携帯型電話機1を搭載した自動車を高速走行と低速走行させ、位置算出計算で求められた算出位置と自動車の真位置との間の距離を位置誤差として計測した。
図33において、横軸はGPS受信機の受信感度[dBm]、縦軸は位置誤差[m]である。また、丸印が第2実施例の手法で位置算出を行った場合の実験結果を、三角形が第1実施例の手法で位置算出を行った場合の実験結果を、矩形が従来の手法で位置算出を行った場合の実験結果をそれぞれ示している。
この結果を見ると、全ての受信感度において、従来の手法を用いて位置算出計算を行った場合の位置誤差が最大となっていることがわかる。その一方で、第2実施例の手法を用いて位置算出を行った場合の位置誤差が最小となっており、それに次いで、第1実施例の手法を用いて位置算出を行った場合の位置誤差も小さくなっていることがわかる。
6.変形例
6−1.電子機器
本発明は、携帯型電話機の他にも、位置算出装置を備えた電子機器であれば何れの電子機器にも適用可能である。例えば、ノート型パソコンやPDA(Personal Digital Assistant)、カーナビゲーション装置、携帯型ナビゲーション装置等についても同様に適用可能である。
6−2.衛星位置算出システム
上述した実施形態では、衛星位置算出システムとしてGPSを例に挙げて説明したが、WAAS(Wide Area Augmentation System)、QZSS(Quasi Zenith Satellite System)、GLONASS(GLObal NAvigation Satellite System)、GALILEO等の他の衛星位置算出システムであってもよい。
6−3.処理の分化
ホストCPU40が実行する処理の一部又は全部を、ベースバンド処理回路部30の演算制御部31が行う構成としてもよい。例えば、メジャメント取得演算部33により演算されたメジャメント観測値を用いて演算制御部31がKF位置算出処理を行って出力位置を決定し、ホストCPU40に出力することとしてもよい。そして、ホストCPU40は、演算制御部31から入力した出力位置を各種アプリケーションに利用する。
6−4.メジャメント想定誤差値の切替
第2実施例では、メジャメント想定誤差値の信頼度に基づいて、暫定メジャメント想定誤差値を第1種〜第3種メジャメント想定誤差値を切り替えて観測誤差の設定に使用するものとして説明したが、第3種メジャメント想定誤差値を用いずに、第1種及び第2種メジャメント想定誤差値の2種類を切り替えて観測誤差の設定に使用してもよい。
具体的には、例えば、第1種メジャメント想定誤差値の信頼度が「3」である場合は、第1種メジャメント想定誤差値は信用できないものとして、第2種メジャメント想定誤差値を暫定メジャメント想定誤差値とする。一方、第1種メジャメント想定誤差値の信頼度が「1」か「2」である場合は、第1種メジャメント想定誤差値を信用して、第1種メジャメント想定誤差値を暫定メジャメント想定誤差値とする。
また、第1種メジャメント想定誤差値の信頼度と第2種メジャメント想定誤差値の信頼度とがともに「1」か「2」の場合には両方の値を信用して、第1種メジャメント想定誤差値と第2種メジャメント想定誤差値の平均値を暫定メジャメント想定誤差値としてもよい。
6−5.メジャメント想定誤差値の調整
上述した実施形態では、メジャメント想定誤差値の調整処理において、メジャメント想定誤差値とメジャメント想定誤差値の過去平均値との加重平均計算を行ってメジャメント想定誤差値を調整するものとして説明した。この際、加重平均計算の重み「α」を固定値とするものとして説明したが、重み「α」を可変に設定することとしてもよい。
例えば、過去のメジャメント想定誤差値が信頼性の高いもの(例えば信頼度「1」)を多く含んでいる場合は、過去平均値を重視するように重み「α」に小さな値(例えばα=0.2)を設定することが考えられる。逆に、過去のメジャメント想定誤差値が信頼性の低いもの(例えば信頼度「3」)を多く含んでいる場合は、メジャメント想定誤差値を重視するように重み「α」に大きな値(例えばα=0.8)を設定すればよい。
また、過去のメジャメント想定誤差値の履歴に基づいて位置算出時刻におけるメジャメント想定誤差値を推定し、その推定値(以下、「メジャメント想定誤差推定値」と称す。)を用いてメジャメント想定誤差値を調整してもよい。例えば、メジャメント想定誤差値をメジャメント想定誤差推定値に修正してもよいし、メジャメント想定誤差値とメジャメント想定誤差推定値との平均値を求めて当該平均値に修正することとしてもよい。
6−6.対応関係
上述した実施形態では、GPS衛星信号の信号強度別に、メジャメント想定誤差値を算出するためのモデル式が定められているものとして説明したが、モデル式ではなくテーブルを定めておいてもよい。すなわち、GPS衛星信号の信号強度別に、メジャメントパラメーターの値とメジャメント想定誤差値とが対応付けられたテーブルを用意しておき、当該テーブルからメジャメント想定誤差値を読み出して、観測誤差を設定するようにする。
6−7.メジャメント想定誤差値モデル式
上述した実施形態では、第3種メジャメントパラメーターであるXPRを用いてメジャメント想定誤差値を算出するためのモデル式として、2つの一次関数を組み合わせたモデル式を定義するものとして説明したが、例えば双曲線によってモデル式を定義することとしてもよく、モデル式の種類は適宜設定変更可能である。