(57)【要約】  第１時点（ｔ１）においてデバイス（１１１）が５機以上の衛星からデータを受信した結果に基づいて、デバイス（１１１）の３次元位置を示す変数Ｘ，Ｙ，Ｚと、時間ずれに関する変数ｔ，ｄｔと、を含む方程式の解を算出する。また、第２時点（ｔ２）においてデバイス（１１１）が４機の衛星からデータを受信した結果と、第１時点（ｔ１）について算出した変数ｄｔの解と、に基づいて変数Ｘ，Ｙ，Ｚ，ｔを含む方程式の解を算出する。そして、第１時点（ｔ１）および第２時点（ｔ２）のそれぞれについて、算出した変数Ｘ，Ｙ，Ｚの各解に基づくデバイス（１１１）の位置情報を出力する。
2020174635.tif 000002
【特許請求の範囲】
【請求項１】
第１時点においてデバイスが５機以上の衛星からデータを受信した結果に基づいて、前記デバイスの３次元位置を示す第１〜第３変数と、前記デバイスの内部時刻のずれを示す第４変数と、前記デバイスと前記衛星との間のドップラー効果による時間ずれを示す第５変数と、を含む方程式の解を算出し、
前記第１時点と異なる第２時点において前記デバイスが４機の衛星からデータを受信した結果と、前記第１時点について算出した前記第５変数の解と、に基づいて前記第１〜第４変数を含む方程式の解を算出し、
前記第１時点および前記第２時点のそれぞれについて、算出した前記第１〜第３変数の各解に基づく前記デバイスの位置情報を出力する、
ことを特徴とする検出方法。
【請求項２】
前記第２時点についての前記解を算出する際に、前記第１〜第５変数を含む方程式において前記第５変数の値を前記第１時点についての前記第５変数の解に固定した方程式の解を算出することを特徴とする請求項１に記載の検出方法。
【請求項３】
前記第１時点についての前記解を算出する際に、前記第１〜第５変数を含む方程式の解をスナップショット測位演算により算出することを特徴とする請求項１または２に記載の検出方法。
【請求項４】
前記第１時点は、前記デバイスが衛星からのデータを受信した各時点のうち前記第２時点の直前の時点であることを特徴とする請求項１〜３のいずれか一つに記載の検出方法。
【請求項５】
前記デバイスの位置情報を、前記デバイスの位置情報の算出に用いたデータを前記デバイスが衛星から受信した時刻と対応付けて出力することを特徴とする請求項１〜４のいずれか一つに記載の検出方法。
【請求項６】
コンピュータに、
第１時点においてデバイスが５機以上の衛星からデータを受信した結果に基づいて、前記デバイスの３次元位置を示す第１〜第３変数と、前記デバイスの内部時刻のずれを示す第４変数と、前記デバイスと前記衛星との間のドップラー効果による時間ずれを示す第５変数と、を含む方程式の解を算出し、
前記第１時点と異なる第２時点において前記デバイスが４機の衛星からデータを受信した結果と、前記第１時点について算出した前記第５変数の解と、に基づいて前記第１〜第４変数を含む方程式の解を算出し、
前記第１時点および前記第２時点のそれぞれについて、算出した前記第１〜第３変数の各解に基づく前記デバイスの位置情報を出力する、
処理を実行させることを特徴とする検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出方法および検出プログラムに関する。
【背景技術】
【０００２】
従来、ＧＮＳＳ（Ｇｌｏｂａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ  Ｓｙｓｔｅｍ：全地球航法衛星システム）などの人工衛星を利用した測位システムが知られている（たとえば、下記特許文献１〜３参照。）。たとえば、測位対象のデバイスが４機以上の衛星からのデータを受信した結果を用いることで、そのデバイスのＸＹＺ座標およびそのデバイスの時刻ずれを変数として含む方程式の解を測位解として算出する方法が知られている。また、測位対象のデバイスが５機以上の衛星からのデータを受信した結果を用いることで、そのデバイスが衛星からのデータを短時間しか受信しなくても測位解を得ることが可能になるスナップショット測位が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１２−５２４２７３号公報
【特許文献２】特開２０１１−２５７４１５号公報
【特許文献３】特開２０１３−２１７９２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、たとえばスナップショット測位において、測位対象のデバイスと衛星との間が建物等により遮られると、デバイスが捕捉する衛星の数が所定数に達せずに、測位解を得ることができない場合がある。【０００５】
１つの側面では、本発明は、捕捉衛星数が所定数より少なくても測位解を得ることができる検出方法および検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、１つの実施態様では、第１時点においてデバイスが５機以上の衛星からデータを受信した結果に基づいて、前記デバイスの３次元位置を示す第１〜第３変数と、前記デバイスの内部時刻のずれを示す第４変数と、前記デバイスと前記衛星との間のドップラー効果による時間ずれを示す第５変数と、を含む方程式の解を算出し、前記第１時点と異なる第２時点において前記デバイスが４機の衛星からデータを受信した結果と、前記第１時点について算出した前記第５変数の解と、に基づいて前記第１〜第４変数を含む方程式の解を算出し、前記第１時点および前記第２時点のそれぞれについて、算出した前記第１〜第３変数の各解に基づく前記デバイスの位置情報を出力する検出方法および検出プログラムが提案される。
【発明の効果】
【０００７】
１つの側面では、本発明は、捕捉衛星数が所定数より少なくても測位解を得ることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態にかかる端末位置検出システムの一例を示す図である。
【図２】図２は、実施の形態にかかるデバイスによる捕捉衛星数の変化の一例を示す図である。
【図３】図３は、実施の形態にかかる検出装置の一例を示す図である。
【図４】図４は、実施の形態にかかる検出装置のハードウェア構成の一例を示す図である。
【図５】図５は、実施の形態にかかる検出装置による処理の一例を示すフローチャートである。
【図６】図６は、実施の形態にかかる検出装置による４機の衛星についての測定データに基づく測位の一例を示す図である。
【図７】図７は、実施の形態にかかる検出装置を用いた移動経路の特定の一例を示す図である。
【図８】図８は、実施の形態にかかる検出装置により得られるトレース情報の一例を示す図である。
【図９】図９は、実施の形態にかかる検出装置による測位データの第１の算出方法の一例を示す図である。
【図１０】図１０は、実施の形態にかかる検出装置による測位データの第２の算出方法の一例を示す図である。
【図１１】図１１は、実施の形態にかかる検出装置による通常のスナップショット測位演算の一例を示すフローチャートである。
【図１２】図１２は、実施の形態にかかる検出装置による通常のスナップショット測位演算において算出される各情報の一例を示す図である。
【図１３】図１３は、実施の形態にかかる検出装置による通常のスナップショット測位演算における解の算出の一例を示す図である。
【図１４】図１４は、実施の形態にかかる検出装置による参照元データを用いたスナップショット測位演算の一例を示すフローチャートである。
【図１５】図１５は、実施の形態にかかる検出装置による参照元データを用いたスナップショット測位演算において算出される各情報の一例を示す図である。
【図１６】図１６は、実施の形態にかかる検出装置による参照元データを用いたスナップショット測位演算における解の算出の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に図面を参照して、本発明にかかる検出方法および検出プログラムの実施の形態を詳細に説明する。
【００１０】
（実施の形態）
（実施の形態にかかる端末位置検出システム）
図１は、実施の形態にかかる端末位置検出システムの一例を示す図である。図１に示すように、実施の形態にかかる端末位置検出システム１００は、デバイス１１１と、受信局１２０と、検出装置１３０と、を含む。
【００１１】
デバイス１１１は、端末位置検出システム１００による測位対象の端末である。図１に示す例では、デバイス１１１はトラック１１０に搭載されており、その結果、端末位置検出システム１００によってトラック１１０の位置が検出される。トラック１１０の位置は、たとえば緯度および経度によって表される。
【００１２】
たとえば、端末位置検出システム１００は、トラック１１０の現在位置の検出結果の時系列をトレース情報として生成する。これにより、たとえば、トラック１１０による運送を管理する運送業者が、トラック１１０のトレース情報に基づいて、トラック１１０が移動した経路を特定することが可能になる。
【００１３】
衛星１１〜１５を含む各衛星は、測位衛星として地球の軌道上に存在する人工衛星である。各衛星は、それぞれに搭載された原子時計に基づく時刻情報などを含むデータを無線送信する。デバイス１１１は、各衛星から無線送信されるデータを受信可能である。
【００１４】
デバイス１１１が捕捉する衛星の数（以下、「捕捉衛星数」とも称する。）は、そのときのデバイス１１１の位置や、デバイス１１１と各衛星との間の遮蔽物（建物など）によって異なる。デバイス１１１が衛星を捕捉するとは、たとえばデバイス１１１がその衛星から無線送信されたデータを受信できることである。
【００１５】
デバイス１１１は、ある時点において受信した１機以上の衛星からのデータに基づく情報を、その時点におけるデバイス１１１の位置を特定するための測定データとして受信局１２０へ無線送信する。上述のように、端末位置検出システム１００においてトラック１１０のトレース情報を生成する場合は、デバイス１１１は、衛星からのデータの受信および測定データの無線送信を繰り返し（たとえば周期的に）行う。
【００１６】
受信局１２０は、たとえば地上に固定された基地局であり、デバイス１１１との間で無線通信が可能である。たとえば、受信局１２０は、デバイス１１１から無線送信された測定データを受信し、受信した測定データを検出装置１３０へ送信する。このとき、受信局１２０は、測定データを受信したときの受信局１２０の内部時刻を示すタイムスタンプを、検出装置１３０へ送信する測定データに付加してもよい。受信局１２０と検出装置１３０との間の通信は、無線通信であってもよいし有線通信であってもよい。
【００１７】
検出装置１３０は、受信局１２０から受信した測定データに基づいて、デバイス１１１の現在位置を検出する。たとえば、検出装置１３０は、デバイス１１１が捕捉した１機以上の衛星についての測定データに基づく連立方程式の解（近似解を含む）を最小二乗法等により算出することにより、デバイス１１１の現在位置を検出する。
【００１８】
ここで、端末位置検出システム１００においては、デバイス１１１の測位方法として、コード位相とドップラー周波数のみから測位計算を行うスナップショット測位が用いられる。スナップショット測位は、たとえば、検出装置１３０がデバイス１１１の測位解を得るために５つの変数（たとえば後述の変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔ）を含む連立方程式を用いる測位方法である。
【００１９】
スナップショット測位においては、４つの変数（たとえば後述の変数Ｘ，Ｙ，Ｚ，ｔ）を含む連立方程式を用いる測位方法（通常の測位方法と称する。）と比べて、１回の測位のためにデバイス１１１が衛星からのデータを受信する時間を短くすることができる。
【００２０】
たとえば、通常の測位方法においては、デバイス１１１は１回の測位のために衛星からのデータを３０秒程度受信することを要する。一方、スナップショット測位においては、デバイス１１１は１回の測位のために衛星からのデータを数ミリ秒（たとえば４［ｍｓ］あるいは１００［ｍｓ］程度）だけ受信すればよい。
【００２１】
したがって、端末位置検出システム１００において、デバイス１１１は、スナップショット測位に十分な時間（数ミリ秒）だけ衛星からのデータを受信する。このため、デバイス１１１の消費電力を低減することができる。
【００２２】
ただし、スナップショット測位においては、５つの変数を含む連立方程式の解を算出するため、１回の測位のために５機以上の衛星についての測定データを要する。したがって、スナップショット測位は、デバイス１１１が５機以上の衛星（たとえば衛星１１〜１５）を捕捉していることを要する。以下、５機以上の衛星についての測定データを用いたスナップショット測位を通常のスナップショット測位と称する。
【００２３】
これに対して、検出装置１３０は、たとえばデバイス１１１が４機のみの衛星しか捕捉できていない時点についても、デバイス１１１による数ミリの受信により得られた４機の衛星の測定データに基づいてデバイス１１１の位置を検出することができる。この検出の方法については後述する。
【００２４】
また、端末位置検出システム１００においては、デバイス１１１の位置の検出を、デバイス１１１ではなく外部の検出装置１３０において行う測位方法が用いられている。たとえば検出装置１３０がクラウドコンピューティングにより実現される場合に、このような測位方法はたとえばＣＯ−ＧＰＳ（Ｃｌｏｕｄ  Ｏｆｆｌｏａｄｅｄ−Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）と呼ばれる。ＣＯ−ＧＰＳのスナップショット測位においては、上述の５つの変数の第５変数（ｄｔ）はｃｏａｒｓｅ  ｔｉｍｅ  ｅｒｒｏｒ（ｅ）と呼ばれる。
【００２５】
（実施の形態にかかるデバイスによる捕捉衛星数の変化）
図２は、実施の形態にかかるデバイスによる捕捉衛星数の変化の一例を示す図である。たとえば、トラック１１０が、区間２１１、区間２１２、区間２１３の順に移動したとする。このとき、区間２１２において、衛星１３からのデータが建物等の遮蔽物２１に遮られてデバイス１１１が衛星１３を捕捉できなかったとする。ただし、区間２１１〜２１３のそれぞれにおいて、デバイス１１１は、衛星１１，１２，１４，１５を捕捉していたとする。また、衛星１３についても、区間２１１，２１３においては捕捉していたとする。
【００２６】
この場合に、区間２１１〜２１３におけるデバイス１１１による捕捉衛星数は、それぞれ５機、４機、５機となる。したがって、区間２１１，２１３については通常のスナップショット測位によりデバイス１１１の測位解を得ることができるが、区間２１２については通常のスナップショット測位ではデバイス１１１の測位解を得ることができない。
【００２７】
これに対して、検出装置１３０は、区間２１１，２１３については通常のスナップショット測位によりデバイス１１１の測位解を算出する。また、検出装置１３０は、区間２１２については、区間２１２の近くの区間（たとえば区間２１１や区間２１３）におけるデバイス１１１の測位解を用いたスナップショット測位により、区間２１２におけるデバイス１１１の測位解を算出する。
【００２８】
（実施の形態にかかる検出装置）
図３は、実施の形態にかかる検出装置の一例を示す図である。検出装置１３０は、たとえば、図３に示すように、入力部３０１と、捕捉衛星数判定部３０２と、第１算出部３０３と、記憶部３０４と、第２算出部３０５と、出力部３０６と、を備える。
【００２９】
入力部３０１には、デバイス１１１が各時点において衛星からデータを受信した結果である測定データが入力される。入力部３０１は、入力された時点ごとの測定データを捕捉衛星数判定部３０２へ出力する。
【００３０】
捕捉衛星数判定部３０２は、入力部３０１から出力された測定データが何機の衛星についての測定データであるかを判定する。そして、捕捉衛星数判定部３０２は、５機以上の衛星についての測定データを第１算出部３０３へ出力し、４機の衛星についての測定データを第２算出部３０５へ出力する。３機以下の衛星についての測定データは、たとえば捕捉衛星数判定部３０２において破棄される。
【００３１】
第１算出部３０３は、捕捉衛星数判定部３０２から出力された５機以上の衛星についての測定データに基づいて、変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔ（第１〜第５変数）を含む第１方程式の解を算出する。変数Ｘ，Ｙ，Ｚは、デバイス１１１のＸＹＺ座標（３次元位置）を示す変数である。すなわち、変数Ｘ（第１変数）はデバイス１１１のＸ座標を示し、変数Ｙ（第２変数）はデバイス１１１のＹ座標を示し、変数Ｚ（第３変数）はデバイス１１１のＺ座標を示す。
【００３２】
変数ｔ（第４変数）は、各衛星の原子時計に基づく時刻に対する、デバイス１１１の内部時刻のずれを示す変数である。変数ｄｔ（第５変数）は、上述のようにデバイス１１１が衛星からのデータを短い時間しか受信しないことに起因する、デバイス１１１と衛星との間のドップラー効果による時間ずれを示す変数である。たとえば、第１算出部３０３による解の算出は、５機以上の衛星についての測定データに基づくスナップショット測位演算による解の算出である。
【００３３】
第１算出部３０３は、たとえば算出した変数Ｘ，Ｙ，Ｚの解を出力部３０６へ出力する。また、第１算出部３０３は、算出した変数ｄｔの解を記憶部３０４へ出力する。記憶部３０４は、第１算出部３０３から出力された変数ｄｔの解を、第２算出部３０５から参照可能な参照元データとして記憶する。
【００３４】
第２算出部３０５は、捕捉衛星数判定部３０２から出力された４機の衛星についての測定データと、記憶部３０４によって参照元データとして記憶された変数ｄｔの解と、に基づいて変数Ｘ，Ｙ，Ｚ，ｔ（第１〜第４変数）を含む第２方程式の解を算出する。第２方程式は、たとえば上述の第１方程式において、変数ｄｔの値を記憶部３０４が記憶する変数ｄｔの解に固定した方程式である。第２算出部３０５は、たとえば算出した変数Ｘ，Ｙ，Ｚの解を出力部３０６へ出力する。
【００３５】
また、第２算出部３０５は、複数の時点について算出された変数ｄｔの解が記憶部３０４に記憶されている場合は、直前の時点について算出された変数ｄｔの解を用いて解を算出してもよい。直前の時点とは、たとえば、デバイス１１１が衛星からのデータを受信した各時点のうち、捕捉衛星数判定部３０２から第２算出部３０５へ出力された測定データが受信された第２時点の直前の１つの時点（第１時点）である。これにより、４機の衛星についての測定データしか得られなかった時点のデバイス１１１の位置を正確に推定することができる。
【００３６】
ただし、第２算出部３０５が用いる変数ｄｔの解は、直前の時点について算出された解に限らず、直後の１つの時点について算出された解や、直前および直後の各時点について算出された各解の平均などであってもよい。
【００３７】
出力部３０６は、第１算出部３０３から出力された変数Ｘ，Ｙ，Ｚの解に基づくデバイス１１１の位置情報と、第２算出部３０５から出力された変数Ｘ，Ｙ，Ｚの解に基づくデバイス１１１の位置情報と、をそれぞれ出力する。これにより、５機以上の衛星についての測定データが得られた時点におけるデバイス１１１の位置情報だけでなく、４機のみの衛星についての測定データしか得られなかった時点におけるデバイス１１１の位置情報も得ることができる。
【００３８】
たとえば、出力部３０６は、デバイス１１１の位置情報を、そのデバイス１１１の位置情報の算出に用いたデータをデバイス１１１が受信した時刻と対応付けて出力する。これにより、デバイス１１１の位置情報の時系列を示すトレース情報を得ることができる。
【００３９】
出力部３０６による位置情報の出力方法には各種の出力方法を用いることができる。たとえば、出力部３０６の位置情報の出力は、ディスプレイによる表示、スピーカによる音声出力、印刷装置や記憶デバイスへの出力、ネットワークを介した他の通信装置への送信など各種の出力とすることができる。
【００４０】
（実施の形態にかかる検出装置のハードウェア構成）
図４は、実施の形態にかかる検出装置のハードウェア構成の一例を示す図である。図３に示した検出装置１３０は、たとえば図４に示す情報処理装置４００により実現することができる。情報処理装置４００は、プロセッサ４０１と、メモリ４０２と、通信インタフェース４０３と、を備える。また、情報処理装置４００は、ユーザインタフェース４０４を備えてもよい。プロセッサ４０１、メモリ４０２、通信インタフェース４０３およびユーザインタフェース４０４は、たとえばバス４０９によって接続される。
【００４１】
プロセッサ４０１は、信号処理を行う回路であり、たとえば情報処理装置４００の全体の制御を司るＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。メモリ４０２には、たとえばメインメモリおよび補助メモリが含まれる。メインメモリは、たとえばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。メインメモリは、プロセッサ４０１のワークエリアとして使用される。
【００４２】
補助メモリは、たとえば磁気ディスク、光ディスク、フラッシュメモリなどの不揮発性メモリである。補助メモリには、情報処理装置４００を動作させる各種のプログラムが記憶されている。補助メモリに記憶されたプログラムは、メインメモリにロードされてプロセッサ４０１によって実行される。
【００４３】
また、補助メモリは、情報処理装置４００から取り外し可能な可搬型のメモリを含んでもよい。可搬型のメモリには、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュドライブやＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードなどのメモリカードや、外付けハードディスクドライブなどがある。
【００４４】
通信インタフェース４０３は、情報処理装置４００の外部（たとえば受信局１２０）との間で通信を行う通信インタフェースである。通信インタフェース４０３は、プロセッサ４０１によって制御される。
【００４５】
ユーザインタフェース４０４は、たとえば、ユーザ（たとえばトラック１１０のトレース情報の管理者）からの操作入力を受け付ける入力デバイスや、ユーザへ情報を出力する出力デバイスなどを含む。入力デバイスは、たとえばポインティングデバイス（たとえばマウス）、キー（たとえばキーボード）やリモコンなどにより実現することができる。出力デバイスは、たとえばディスプレイやスピーカなどにより実現することができる。また、タッチパネルなどによって入力デバイスおよび出力デバイスを実現してもよい。ユーザインタフェース４０４は、プロセッサ４０１によって制御される。
【００４６】
図３に示した入力部３０１は、たとえば通信インタフェース４０３により実現することができる。図３に示した捕捉衛星数判定部３０２、第１算出部３０３および第２算出部３０５は、たとえばプロセッサ４０１およびメモリ４０２により実現することができる。図３に示した入力部３０１は、たとえばメモリ４０２により実現することができる。図３に示した出力部３０６は、たとえばメモリ４０２または通信インタフェース４０３により実現することができる。
【００４７】
（実施の形態にかかる検出装置による処理）
図５は、実施の形態にかかる検出装置による処理の一例を示すフローチャートである。実施の形態にかかる検出装置１３０は、たとえば図５に示す各ステップを実行する。まず、検出装置１３０は、デバイス１１１から受信局１２０を介して送信された、１機以上の衛星についての測定データを受信したか否かを判断し（ステップＳ５０１）、測定データを受信するまで待つ（ステップＳ５０１：Ｎｏのループ）。
【００４８】
ある衛星についての測定データは、たとえば、デバイス１１１がその衛星から受信したデータのコード位相を特定可能な情報と、その衛星の識別番号と、その測定データが得られたときの時刻を示すタイムスタンプと、を含む情報である。
【００４９】
ステップＳ５０１において、測定データを受信すると（ステップＳ５０１：Ｙｅｓ）、検出装置１３０は、デバイス１１１が捕捉した衛星の数（捕捉衛星数）が５機以上であるか否かを判断する（ステップＳ５０２）。すなわち、検出装置１３０は、受信した測定データが、５機以上の衛星についての測定データであるか否かを判断する。
【００５０】
ステップＳ５０２において、捕捉衛星数が５機以上である場合（ステップＳ５０２：Ｙｅｓ）は、検出装置１３０は、受信した５機以上の衛星についての測定データに基づいて通常のスナップショット測位演算を行う（ステップＳ５０３）。この通常のスナップショット測位演算については後述する。ステップＳ５０３のスナップショット測位演算により、デバイス１１１のＸＹＺ座標を示す変数Ｘ，Ｙ，Ｚと、デバイス１１１と衛星との間の時刻ずれを示す変数ｔ，ｄｔと、の解が得られる。
【００５１】
つぎに、検出装置１３０は、スナップショット測位演算により得られた変数ｄｔ（第５変数）の解を参照元データとしてメモリ４０２に記憶する（ステップＳ５０４）。このとき、検出装置１３０は、スナップショット測位演算に用いた測定データのタイムスタンプも参照元データとしてメモリ４０２に記憶してもよい。また、スナップショット測位演算により得られた変数ｄｔの解が参照元データとしてメモリ４０２に記憶済みである場合に、検出装置１３０は、たとえば新たに得られた変数ｄｔの解をメモリ４０２に記憶済みの解に上書きして記憶してもよい。
【００５２】
つぎに、検出装置１３０は、スナップショット測位演算により得られた変数Ｘ，Ｙ，Ｚの解に基づいて算出した測位データを保存する（ステップＳ５０５）。測位データは、たとえば、変数Ｘ，Ｙ，Ｚの解が示すデバイス１１１のＸＹＺ座標を、緯度、経度および高度の座標系へ変換して得られる情報である。
【００５３】
また、ステップＳ５０５において、検出装置１３０は、算出した測位データを、測定時刻と対応付けて保存してもよい。測定時刻は、たとえば、測位データの算出に用いた測定データに付加されたタイムスタンプが示す時刻である。また、測定時刻は、変数ｔ，ｄｔの解に基づいて修正された時刻であってもよい。
【００５４】
つぎに、検出装置１３０は、後述のステップＳ５０８において記憶し、後述のステップＳ５０９において処理していない未処理測定データがあるか否かを判断する（ステップＳ５０６）。未処理測定データがない場合（ステップＳ５０６：Ｎｏ）は、検出装置１３０は、ステップＳ５０１へ戻る。
【００５５】
ステップＳ５０２において、捕捉衛星数が５機以上でない場合（ステップＳ５０２：Ｎｏ）は、検出装置１３０は、ステップＳ５０４によって参照元データ（変数ｄｔの解）を記憶したか否かを判断する（ステップＳ５０７）。参照元データを記憶していない場合（ステップＳ５０７：Ｎｏ）は、検出装置１３０は、受信した測定データ（４機以下の衛星についての測定データ）を未処理測定データとして記憶し（ステップＳ５０８）、ステップＳ５０１へ戻る。
【００５６】
ステップＳ５０７において、参照元データを記憶している場合（ステップＳ５０７：Ｙｅｓ）は、検出装置１３０は、ステップＳ５０９へ移行する。すなわち、検出装置１３０は、たとえば受信した４機の衛星についての測定データに基づいて、記憶した参照元データを用いたスナップショット測位演算を行う（ステップＳ５０９）。ステップＳ５０９における参照元データを用いたスナップショット測位演算については後述する。
【００５７】
ステップＳ５０９のスナップショット測位演算により、ステップＳ５０３と同様に、デバイス１１１のＸＹＺ座標を示す変数Ｘ，Ｙ，Ｚと、デバイス１１１と衛星との間の時刻ずれを示す変数ｔ，ｄｔと、の解が得られる。ステップＳ５０９のつぎに、検出装置１３０は、ステップＳ５０５へ移行し、ステップＳ５０９のスナップショット測位演算により得られた解（たとえば変数Ｘ，Ｙ，Ｚの解）に基づいて算出した測位データを保存する。
【００５８】
ステップＳ５０６において、未処理測定データがある場合（ステップＳ５０６：Ｙｅｓ）は、検出装置１３０は、ステップＳ５０７へ移行する。このとき、ステップＳ５０７からステップＳ５０９へ移行する場合に、検出装置１３０は、ステップＳ５０９において、たとえば４機の衛星についての未処理測定データに基づいて、参照元データを用いたスナップショット測位演算を行う。
【００５９】
図５に示したように、検出装置１３０は、５機以上の衛星についての測定データを受信した場合は、通常のスナップショット測位演算を行い、得られた測位データを保存する。また、このとき、検出装置１３０は、通常のスナップショット測位演算において得られた変数ｄｔの解を参照元データとして記憶しておく。
【００６０】
また、検出装置１３０は、４機のみの衛星についての測定データを受信した場合は、参照元データを記憶していれば参照元データを用いたスナップショット測位演算を行い、参照元データを記憶していなければ測定データを未処理測定データとして記憶しておく。
【００６１】
一例として、測定データにおける捕捉衛星数が４機、４機、５機、…のように変化したとする。捕捉衛星数が４機である１つ目の測定データおよび２つ目の測定データについてはスナップショット測位演算が行われずにそれぞれ未処理測定データとして記憶される。
【００６２】
そして、捕捉衛星数が５機である３つ目の測定データについては通常のスナップショット測位演算が行われて測位データが保存される。また、このときの通常のスナップショット測位演算により得られた参照元データを用いて、未処理測定データとして記憶されていた１つ目の測定データおよび２つ目の測定データについてのスナップショット測位演算が行われて測位データが保存される。
【００６３】
なお、捕捉衛星数が３機以下であった場合は、参照元データを用いてもスナップショット測位演算を行うことができない。したがって、検出装置１３０は、たとえば、３機以下の衛星についての測定データは、処理不可能なデータとして保存し、または破棄する。
【００６４】
図５に示す例では、ステップＳ５０９において、捕捉衛星数が４機であった場合に、捕捉衛星数が５機以上であった各時点の参照元データのうち最新の参照元データを用いたスナップショット測位演算を行う処理について説明したが、このような処理に限らない。
【００６５】
たとえば、ステップＳ５０４の実行ごとに、参照元データが測定データのタイムスタンプと対応付けて上書きせずに記憶されてもよい。たとえば、検出装置１３０は、ステップＳ５０９において、現在の測定データのタイムスタンプの直前または直後のタイムスタンプと対応する参照元データを用いてスナップショット測位演算を行う。
【００６６】
また、検出装置１３０は、ステップＳ５０９において、複数の参照元データの平均値等を用いてスナップショット測位演算を行ってもよい。たとえば、検出装置１３０は、現在の測定データのタイムスタンプの直前のタイムスタンプと対応する参照元データと、現在の測定データのタイムスタンプの直後のタイムスタンプと対応する参照元データと、の平均等を用いてスナップショット測位演算を行う。
【００６７】
また、検出装置１３０は、現在の測定データのタイムスタンプより前の２以上のタイムスタンプと対応する各参照元データの平均値等を用いてスナップショット測位演算を行ってもよい。また、検出装置１３０は、現在の測定データのタイムスタンプより後の２以上のタイムスタンプと対応する各参照元データの平均値等を用いてスナップショット測位演算を行ってもよい。
【００６８】
また、検出装置１３０は、現在の測定データの前後の複数のタイムスタンプと対応する各参照元データから、現在の測定データに対応する参照元データの値を推測（補間）し、推測した参照元データを用いてスナップショット測位演算を行ってもよい。
【００６９】
（実施の形態にかかる検出装置による４機の衛星についての測定データに基づく測位）
図６は、実施の形態にかかる検出装置による４機の衛星についての測定データに基づく測位の一例を示す図である。たとえば、トラック１１０が地点Ｐ１、地点Ｐ２、地点Ｐ３の順に移動し、地点Ｐ１，Ｐ３においてはデバイス１１１が５機の衛星を捕捉したが、地点Ｐ２においてはデバイス１１１が４機のみの衛星を捕捉したとする。時点ｔ１〜ｔ３は、それぞれトラック１１０が地点Ｐ１〜Ｐ３を通過した時点である。
【００７０】
この場合に、検出装置１３０は、デバイス１１１が地点Ｐ１において得た５機の衛星についての測定データに基づく通常のスナップショット測位演算により地点Ｐ１の測位データを算出する。また、検出装置１３０は、地点Ｐ１についてのスナップショット測位演算により得られた変数ｄｔの解と、デバイス１１１が地点Ｐ２において得た４機の衛星についての測定データと、に基づくスナップショット測位演算により地点Ｐ２の測位データを算出する。
【００７１】
また、検出装置１３０は、デバイス１１１が地点Ｐ３において得た５機の衛星についての測定データに基づく通常のスナップショット測位演算により地点Ｐ３の測位データを算出する。これにより、トラック１１０が通過した地点Ｐ１〜Ｐ３の測位データをトラック１１０のトレース情報として保存することができる。
【００７２】
グラフ６０１は、図６の条件で地点Ｐ２の測位データを繰り返し算出した結果を示す分布図である。グラフ６０１の横軸は、地点Ｐ２の東西方向の実際の位置座標に対する、上述の算出方法による地点Ｐ２の測位データの東西方向の位置座標の誤差を示している。グラフ６０１の縦軸は、地点Ｐ２の南北方向の実際の位置座標に対する、上述の算出方法による地点Ｐ２の測位データの南北方向の位置座標の誤差を示している。
【００７３】
グラフ６０１の各プロット点に示すように、上述の算出方法を用いることにより、デバイス１１１が４機のみの衛星を捕捉した地点Ｐ２についても、数十メートル以内の誤差の測位データを得ることができる。
【００７４】
（実施の形態にかかる検出装置を用いた移動経路の特定）
図７は、実施の形態にかかる検出装置を用いた移動経路の特定の一例を示す図である。図７において、マップ７１０は、トラック１１０が通った地域を示している。マップ７１０の道路７１１や遮蔽物７１２〜７１５は、トラック１１０が通った地域における道路や遮蔽物（たとえば建物）である。
【００７５】
移動経路７２０は、トラック１１０が実際に通った経路を示している。時刻ｔ１〜ｔ８は、トラック１１０が移動経路７２０を移動中に、デバイス１１１が衛星からのデータの受信を行った各時刻である。地点７２１〜７２８は、移動経路７２０における、時刻ｔ１〜ｔ８にトラック１１０が位置していた各地点である。
【００７６】
移動経路７２０のうち実線で示す部分はデバイス１１１が５機以上の衛星を捕捉していた部分であり、移動経路７２０のうち点線で示す部分はデバイス１１１が４機のみの衛星を捕捉していた部分である。この場合に、地点７２１，７２２，７２６〜７２８においては５機以上の衛星についての測定データが得られ、地点７２３〜７２５においては４機のみの衛星についての測定データが得られる。
【００７７】
図７に示す例において、検出装置１３０は、地点７２１，７２２，７２６〜７２８については５機以上の衛星についての測定データに基づく通常のスナップショット測位演算によりデバイス１１１の測位データを得る。また、検出装置１３０は、地点７２３〜７２５についても、たとえば地点７２２についてのスナップショット測位演算において得られた変数ｄｔの解と、４機のみの衛星についての測定データと、に基づくスナップショット測位演算を行う。これにより、地点７２３〜７２５についてもデバイス１１１の測位データを得ることができる。
【００７８】
推定経路７３０は、５機以上の衛星についての測定データが得られた地点７２１，７２２，７２６〜７２８の測位データのみから線形補間により推定したトラック１１０の移動経路を参考として示している。推定経路７３０は、トラック１１０が通過した地点７２３〜７２５が考慮されていないため、実際のトラック１１０の移動経路７２０から大きく逸脱したものとなる。
【００７９】
これに対して、検出装置１３０によれば、地点７２１，７２２，７２６〜７２８の測位データだけでなく地点７２３〜７２５の測位データも得ることができる。これにより、トラック１１０の移動経路７２０を正確に推定することが可能になる。
【００８０】
（実施の形態にかかる検出装置により得られるトレース情報）
図８は、実施の形態にかかる検出装置により得られるトレース情報の一例を示す図である。図７に示した例において、検出装置１３０は、たとえば図８に示すトレース情報８００を生成する。トレース情報８００は、上述の時刻ｔ１〜ｔ８のそれぞれと対応付けて、緯度および経度の推定結果（測位データ）を示す情報である。
【００８１】
緯度Φ１〜Φ８は、それぞれ図７に示した地点７２１〜７２８について検出装置１３０により算出された測位データの緯度である。経度λ１〜λ８は、それぞれ図７に示した地点７２１〜７２８について検出装置１３０により算出された測位データの経度である。トレース情報８００により、移動経路７２０を正確に推定することが可能になる。
【００８２】
一例としては、マップ７１０の道路７１１の範囲を示す情報と、トレース情報８００と、を用いることにより、マップ７１０に対して移動経路７２０を示す線を重ねた画像を生成することができる。なお、トレース情報８００は、時刻ｔ１〜ｔ８を省いた情報であってもよい。
【００８３】
（実施の形態にかかる検出装置による測位データの第１の算出方法）
図９は、実施の形態にかかる検出装置による測位データの第１の算出方法の一例を示す図である。エフェメリス９０１は、衛星ごとに、衛星の軌道および状態や、衛星の内部時計（原子時計）の補正情報等を示す情報である。タイムスタンプ９０２（タイムスタンプ＿１）は、検出装置１３０が受信局１２０を介してデバイス１１１から取得した測定データに付されたタイムスタンプである。
【００８４】
軌道計算式９０３は、エフェメリス９０１に基づいて特定の時間における各衛星の位置座標を算出可能な計算式である。検出装置１３０は、エフェメリス９０１および軌道計算式９０３に基づいて、タイムスタンプ９０２が示す時刻における、測定データが示す各衛星の位置座標を示す衛星座標９０４を算出する。
【００８５】
受信局位置９０５は、受信局１２０の位置座標である。検出装置１３０は、エフェメリス９０１および受信局位置９０５に基づいて、測定データが示す衛星ごとに受信局疑似距離９０６を算出する。受信局疑似距離９０６は、タイムスタンプ９０２が示す時刻における、測定データが示す各衛星と受信局１２０との間の距離であって、誤差を含む。検出装置１３０は、衛星ごとの受信局疑似距離９０６のそれぞれについて、コード位相成分を切り捨てることにより、衛星ごとのプリアンブル補正値９０７を算出する。
【００８６】
コード位相９０８は、検出装置１３０が受信局１２０を介してデバイス１１１から取得した測定データが示す、デバイス１１１が各衛星から受信したデータのコード位相である。検出装置１３０は、プリアンブル補正値９０７とコード位相９０８とを加算することにより得た観測値に光速ｃを乗算することにより、衛星ごとの疑似距離９０９を算出する。疑似距離９０９は、タイムスタンプ９０２が示す時刻における、測定データが示す各衛星とデバイス１１１との間の距離であって、誤差を含む。
【００８７】
検出装置１３０は、衛星座標９０４および疑似距離９０９に基づく最小二乗法９１０を行うことにより解９１１，９１２を算出する。解９１１は、デバイス１１１のＸＹＺ座標を示す変数Ｘ，Ｙ，Ｚの解である。解９１２は、デバイス１１１の時刻ずれに関する上述の変数ｔ，ｄｔの解である。
【００８８】
つぎに、検出装置１３０は、解９１１が示すデバイス１１１のＸＹＺ座標を、緯度、経度および高度の座標系であるデバイス緯度経度高度９１３に変換する。また、検出装置１３０は、デバイス緯度経度高度９１３と、解９１２が示す変数ｔ，ｄｔの解と、をタイムスタンプ９０２と対応付けて測位結果９１４として保存する。また、検出装置１３０は、測位結果９１４として保存したタイムスタンプ９０２および変数ｄｔの解を、参照元データ９１５（タイムスタンプ＿０およびｄｔ＿０）として記憶しておく。
【００８９】
上述の最小二乗法９１０において、検出装置１３０は、たとえば｜（衛星座標）−（デバイス位置）｜＋ｔ＋α×ｄｔ＋補正項＝（疑似距離）を満たす変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの解を算出する。このとき、５機以上の衛星についての測定データ（タイムスタンプ９０２およびコード位相９０８）が得られている場合は、最小二乗法９１０として５変数の最小二乗法を行うことによって変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの解を算出することができる。５変数の最小二乗法を行うことによる変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの解の算出例については後述する（たとえば図１１〜図１３参照）。
【００９０】
一方で、４機のみの衛星についての測定データしか得られていない場合は、最小二乗法９１０として５変数の最小二乗法を行うことができない。この場合に、検出装置１３０は、参照元データ９１５に含まれるｄｔの解（ｄｔ＿０）を上記の式の変数ｄｔに代入し、最小二乗法９１０として４変数の最小二乗法を行うことによって変数Ｘ，Ｙ，Ｚ，ｔの解を算出することができる。４変数の最小二乗法を行うことによる変数Ｘ，Ｙ，Ｚ，ｔの解の算出例については後述する（たとえば図１４〜図１６参照）。
【００９１】
図９に示す例では、５機以上の衛星についての測定データが得られている場合に受信局疑似距離９０６やプリアンブル補正値９０７を算出する方法について説明したが、このような算出方法に限らない。たとえば、検出装置１３０は、５機以上の衛星についての測定データが得られている場合は、受信局疑似距離９０６やプリアンブル補正値９０７に代えて、衛星ごとのランドマークやグリッドポイントを算出してもよい。この場合に、検出装置１３０は、得られたデバイス緯度経度高度９１３を、地上のランドマークとして想定可能な所定範囲の標高によりフィルタリングして測位結果９１４として保存する。
【００９２】
（実施の形態にかかる検出装置による測位データの第２の算出方法）
図１０は、実施の形態にかかる検出装置による測位データの第２の算出方法の一例を示す図である。図１０において、図９に示した部分と同様の部分については同一の符号を付して説明を省略する。４機のみの衛星についての測定データしか得られていない場合に、検出装置１３０は、たとえば図１０に示す第２の算出方法によって変数Ｘ，Ｙ，Ｚ，ｔの解を算出してもよい。
【００９３】
図１０に示す例では、衛星座標９０４として、タイムスタンプ９０２が示す時刻に参照元データ９１５のｄｔ＿０の解を加算した時刻における、測定データが示す衛星ごとの位置座標を算出する。これにより、衛星座標９０４の対象時刻を、ｄｔの解が０となる時刻に修正しておくことができる。
【００９４】
そして、検出装置１３０は、最小二乗法９１０において、上記の式の変数ｄｔに０を代入する。これにより、図９に示した第１の算出方法と同じ変数Ｘ，Ｙ，Ｚ，ｔの解を算出することができる。
【００９５】
（実施の形態にかかる検出装置による通常のスナップショット測位演算）
図１１は、実施の形態にかかる検出装置による通常のスナップショット測位演算の一例を示すフローチャートである。図１２は、実施の形態にかかる検出装置による通常のスナップショット測位演算において算出される各情報の一例を示す図である。
【００９６】
検出装置１３０は、たとえば図５に示したステップＳ５０３において、５機以上の衛星についての測定データに基づく通常のスナップショット測位演算として、たとえば図１１に示す処理を実行する。
【００９７】
まず、検出装置１３０は、受信局１２０から受信した、タイムスタンプおよび衛星ごとのコード位相を含む測定データを取得する（ステップＳ１１０１）。たとえば、検出装置１３０は、図１２に示す測定データ１２０１を取得する。測定データ１２０１は、タイムスタンプ、衛星番号およびコード位相を含む。
【００９８】
測定データ１２０１のタイムスタンプは、測定データ１２０１が得られた時刻を示す情報である。たとえば、タイムスタンプは、受信局１２０がデバイス１１１から測定データ１２０１（タイムスタンプを除く）を受信したときに受信局１２０の内部時刻に基づいて生成して測定データ１２０１に付加したタイムスタンプである。また、タイムスタンプは、デバイス１１１が各衛星からのデータを受信して測定データ１２０１（タイムスタンプを除く）を生成したときにデバイス１１１の内部時刻に基づいて生成して測定データ１２０１に付加したタイムスタンプであってもよい。図１２に示す例では、タイムスタンプは“２６１８５８”である。
【００９９】
測定データ１２０１の衛星番号は、デバイス１１１が捕捉した（データを受信した）各衛星の識別子である。図１２に示す例では、衛星番号は“ＰＲＮ７”、“ＰＲＮ８”、“ＰＲＮ１０”、…の７機分の衛星の衛星番号である。
【０１００】
測定データ１２０１のコード位相は、衛星が送信するデータのコードにおける、デバイス１１１が受信した部分の位相である。図１２に示す例では、衛星番号は“ＰＲＮ７”、“ＰＲＮ８”、“ＰＲＮ１０”、…が示す７機の衛星についてのコード位相はそれぞれ“０．１４１”、“０．７１３”、“０．８８３”、…である。
【０１０１】
測定データ１２０１の衛星番号およびコード位相は、たとえばデバイス１１１が衛星から受信したデータを復号することにより得られる。以上のように、図１２に示す測定データ１２０１は、タイムスタンプの“２６１８５８”が示す時刻に、デバイス１１１が７機の衛星からのデータを受信し、それぞれのコード位相が“０．１４１”、“０．７１３”、“０．８８３”、…であったことを示している。
【０１０２】
つぎに、検出装置１３０は、受信局１２０の位置を示す受信局位置情報を取得する（ステップＳ１１０２）。たとえば、受信局位置情報は検出装置１３０のメモリ４０２に予め記憶されており、検出装置１３０はメモリ４０２からその位置情報を読み出す。または、検出装置１３０は受信局位置情報を受信局１２０や他の通信装置から受信してもよい。たとえば、検出装置１３０は、図１２に示す受信局位置情報１２０２を取得する。受信局位置情報１２０２は、受信局１２０の位置（受信局位置）を、緯度、経度および高度により示している。
【０１０３】
つぎに、検出装置１３０は、ステップＳ１１０１によって取得した測定データ１２０１に含まれるタイムスタンプと、ステップＳ１１０２によって取得した受信局位置情報１２０２と、に基づいて衛星ごとのプリアンブル補正値を算出する（ステップＳ１１０３）。たとえば、検出装置１３０は、図１２に示すプリアンブル補正値情報１２０３を算出する。図１２に示す例では、プリアンブル補正値情報１２０３は、上述の７機の衛星のそれぞれについて算出される。
【０１０４】
また、検出装置１３０は、エフェメリスに基づいて、各衛星の軌道計算を行い、測定データ１２０１のタイムスタンプが示す時刻における各衛星のＸＹＺ座標（Ｘ，Ｙ，Ｚ）および時計誤差補正値を算出する（ステップＳ１１０４）。エフェメリスは、上述の７機の衛星を含む各衛星の軌道および状態や、各衛星の内部時計（原子時計）の補正情報等を含む情報である。たとえば、検出装置１３０は、ネットワークを介してサーバ等からエフェメリスを受信する。または、検出装置１３０は、各衛星から送信されるエフェメリスを、デバイス１１１や受信局１２０を介して受信してもよい。
【０１０５】
たとえば、検出装置１３０は、図１２に示す衛星座標・時計誤差補正値情報１２０４を生成する。衛星座標・時計誤差補正値情報１２０４は、上述の７機の衛星のそれぞれについて、測定データ１２０１のタイムスタンプが示す時刻における、各衛星のＸＹＺ座標（Ｘ，Ｙ，Ｚ）および時計誤差補正値を示す。
【０１０６】
つぎに、検出装置１３０は、プリアンブル補正値情報１２０３のプリアンブル補正値、測定データ１２０１のコード位相および衛星座標・時計誤差補正値情報１２０４の時計誤差補正値に基づいて、各衛星の観測値を算出する（ステップＳ１１０５）。ある衛星についての観測値は、たとえばプリアンブル補正値＋コード位相＋時計誤差補正値により算出される。たとえば、検出装置１３０は、図１２に示す観測値情報１２０５を生成する。観測値情報１２０５において、たとえば、“ＰＲＮ７”の衛星についての観測値は、０．１４１＋７２＋０．１４９≒７２．２９１となる。
【０１０７】
つぎに、検出装置１３０は、観測値情報１２０５の観測値および光速に基づいて、各衛星の疑似距離（観測した疑似距離）を算出する（ステップＳ１１０６）。各衛星の疑似距離は、各衛星とデバイス１１１との間の各距離であり、誤差を含む。ある衛星についての疑似距離は、たとえば観測値×光速により算出される。たとえば、検出装置１３０は、図１２に示す疑似距離情報１２０６を生成する。疑似距離情報１２０６において、たとえば“ＰＲＮ７”の衛星についての疑似距離は、７２．２９１＊光速≒２１６７２２９０となる。
【０１０８】
つぎに、検出装置１３０は、ステップＳ１１０４において算出した各衛星のＸＹＺ座標と、ステップＳ１１０６において算出した各衛星の疑似距離と、に基づく最小二乗法により、変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの解を算出する（ステップＳ１１０７）。たとえば、検出装置１３０は、図１２に示す解情報１２０７を生成する。最小二乗法による解の算出については後述する（たとえば図１３参照）。
【０１０９】
つぎに、検出装置１３０は、解情報１２０７が示すデバイス１１１のＸＹＺ座標を、緯度、経度および高度の座標系に変換し（ステップＳ１１０８）、一連の処理を終了する。たとえば、検出装置１３０は、図１２に示す測位データ１２０８を生成する。測位データ１２０８は、解情報１２０７が示すデバイス１１１のＸＹＺ座標の座標変換後の値として、デバイス１１１の緯度、経度および高度を含む。
【０１１０】
ステップＳ１１０７の最小二乗法における立式について説明する。ある衛星（ｉ）についての誤差（ｉ）は、たとえば下記（１）式により表すことができる。
【０１１１】
誤差（ｉ）＝（疑似距離（ｉ）−｜衛星位置（ｉ）−変数（Ｘ，Ｙ，Ｚ）｜）−変数（ｔ）−補正項  …（１）
【０１１２】
ここで、変数であるＸ，Ｙ，Ｚ，ｔは、初期値として適当な値（たとえば０）が与えられる。上記（１）式を衛星ごとに立式した行列式は、下記（２）式のようになる。
【０１１３】
（変換行列）＊（変数ベクトル（Ｘ，Ｙ，Ｚ，ｔ））＝（誤差ベクトル）
⇔（変数（Ｘ，Ｙ，Ｚ，ｔ））＝（変換行列）＼（誤差ベクトル）  …（２）
【０１１４】
ここで、たとえばＸからＸ＋ｄＸのように、デバイス１１１の位置座標の微小変化を考える。上記（２）式の各項を座標Ｘ，Ｙ，Ｚでそれぞれ偏微分すると、下記（３）式のようになる。
【０１１５】
微小変化（Ｘ，Ｙ，Ｚ，ｔ）＝ｄ変換行列＼（誤差ベクトル）  …（３）
【０１１６】
検出装置１３０は、上記（３）式の立式と、誤差ベクトルを小さくする方向への変数ベクトルの修正と、を繰り返す演算を、誤差が十分に小さくなるまで行う。これにより、観測した疑似距離（疑似距離情報１２０６）と、軌道計算上の距離とが一致するときのデバイス１１１の位置（変数Ｘ，Ｙ，Ｚの解）を求めることができる。
【０１１７】
（実施の形態にかかる検出装置による通常のスナップショット測位演算における解の算出）
図１３は、実施の形態にかかる検出装置による通常のスナップショット測位演算における解の算出の一例を示す図である。図１１に示したステップＳ１１０７における、通常のスナップショット測位演算における解の算出例について説明する。
【０１１８】
たとえば、検出装置１３０は、ステップＳ１１０４において算出した各衛星のＸＹＺ座標と、ステップＳ１１０６において算出した各衛星の疑似距離と、に基づいて、図１３に示す式１３１０を生成（立式）する。式１３１０は、（変換行列１３１１）＼（誤差ベクトル１３１２）＝（デバイス座標修正量１３２０）である。
【０１１９】
変換行列１３１１は、デバイス１１１がデータを受信した各衛星（ここでは７機の衛星）に対応する各行と、５つの列と、を有する行列である。変換行列１３１１の第１列（最も左側の列）は、７機の衛星のそれぞれについて、（衛星Ｘ座標−デバイスＸ座標）÷疑似距離により算出された値である。ここで、衛星Ｘ座標は、ステップＳ１１０４において軌道計算により算出された衛星のＸ座標である。デバイスＸ座標は、初期値として適当な値（たとえば０）が割り当てられたデバイス１１１のＸ座標である。
【０１２０】
変換行列１３１１の第２列は、７機の衛星のそれぞれについて、（衛星Ｙ座標−デバイスＹ座標）÷疑似距離により算出された値である。ここで、衛星Ｙ座標は、ステップＳ１１０４において軌道計算により算出された衛星のＹ座標である。デバイスＹ座標は、初期値として適当な値（たとえば０）が割り当てられたデバイス１１１のＹ座標である。
【０１２１】
変換行列１３１１の第３列は、７機の衛星のそれぞれについて、（衛星Ｚ座標−デバイスＺ座標）÷疑似距離により算出された値である。ここで、衛星Ｚ座標は、ステップＳ１１０４において軌道計算により算出された衛星のＺ座標である。デバイスＺ座標は、初期値として適当な値（たとえば０）が割り当てられたデバイス１１１のＺ座標である。
【０１２２】
変換行列１３１１の第４列は、各行の値が１である。変換行列１３１１の第５列は、７機の衛星のそれぞれについてのドップラー係数である。ドップラー係数は、たとえば上述のエフェメリスと、測定データ１２０１のタイムスタンプと、に基づく各衛星の軌道計算によって算出される。
【０１２３】
誤差ベクトル１３１２は、７機の衛星のそれぞれについて、（疑似距離−｜衛星ＸＹＺ座標−デバイスＸＹＺ座標｜）−ｔ−ドップラー係数×ｄｔにより算出された各値を示す。ここで、衛星ＸＹＺ座標は、ステップＳ１１０４において軌道計算により算出された衛星のＸＹＺ座標である。デバイスＸＹＺ座標は、変数Ｘ，Ｙ，Ｚの現在の値が示す、デバイス１１１のＸＹＺ座標である。ｔは、衛星の内部時刻に対するデバイス１１１の内部時刻のずれ（オフセット）を示す変数である。
【０１２４】
ドップラー係数×ｄｔは、たとえば、スナップショット測位においてはデバイス１１１が衛星からの電波を短時間しか受信しないことに起因するドップラー効果によって生じる時間ずれを示す変数である。すなわち、ｄｔは、ｔの修正量に関する変数である。変数ｔ，ｄｔには、初期値として適当な値（たとえば０）が割り当てられる。
【０１２５】
デバイス座標修正量１３２０は、式１３１０の左辺の計算結果であり、変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの各値の、次回の演算における修正量を示す。前回デバイス座標１３３０は、直前に立式した式１３１０に用いた変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの各値である。したがって、変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの初期値を０とした場合は、デバイス座標修正量１３２０の各値の初期値も０である。
【０１２６】
検出装置１３０は、前回デバイス座標１３３０に、直前に立式した式１３１０により算出したデバイス座標修正量１３２０を加算することにより次回デバイス座標１３４０を算出する。次回デバイス座標１３４０は、次回の演算における変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの各値である。すなわち、検出装置１３０は、次回デバイス座標１３４０の各値を用いて式１３１０を再度生成する。
【０１２７】
図１３において説明したように、検出装置１３０は、式１３１０により得られたデバイス座標修正量１３２０を用いて変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔを更新した式１３１０を生成する処理を繰り返す演算を誤差ベクトル１３１２が示す誤差が十分に小さくなるまで行う。たとえば、検出装置１３０は、誤差ベクトル１３１２が示す誤差が十分に小さくなるように予め定められた回数だけ繰り返し演算を行う。または、検出装置１３０は、式１３１０を生成するごとに誤差ベクトル１３１２の値の大きさを判定し、誤差ベクトル１３１２の値の大きさが所定の範囲内になるまで繰り返し演算を行う。
【０１２８】
そして、検出装置１３０は、繰り返し演算において最後に得られた次回デバイス座標１３４０が示す変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの各値を、変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの各解として得る。
【０１２９】
（実施の形態にかかる検出装置による参照元データを用いたスナップショット測位演算）
図１４は、実施の形態にかかる検出装置による参照元データを用いたスナップショット測位演算の一例を示すフローチャートである。図１５は、実施の形態にかかる検出装置による参照元データを用いたスナップショット測位演算において算出される各情報の一例を示す図である。図１５において、図１２に示した部分と同様の部分については同一の符号を付して説明を省略する。
【０１３０】
検出装置１３０は、たとえば図５に示したステップＳ５０９において、４機の衛星についての測定データと参照元データとに基づくスナップショット測位演算として、たとえば図１４に示す処理を実行する。ここでは、検出装置１３０は、他の時点の測位データに基づいて通常のスナップショット測位演算により変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの解を算出済みであり、算出した変数ｄｔの解（−１．８１１８３）を参照元データ１５０１として記憶しているものとする。なお、図１５に示す例では、参照元データ１５０１にはタイムスタンプ（上述の２６１８５８）も含まれている。
【０１３１】
図１４に示すステップＳ１４０１，Ｓ１４０２は、図１１に示したステップＳ１１０１，Ｓ１１０２と同様である。検出装置１３０は、ステップＳ１４０１において測定データ１２０１を取得する。また、検出装置１３０は、ステップＳ１４０２において受信局位置情報１２０２を取得する。ステップＳ１４０２のつぎに、検出装置１３０は、参照元データ１５０１の変数ｄｔの解を取得する（ステップＳ１４０３）。
【０１３２】
図１５に示すステップＳ１４０４〜Ｓ１４０９は、図１１に示したステップＳ１１０３〜Ｓ１１０８と同様である。ただし、図９に示した第１の算出方法を用いる場合、ステップＳ１４０５において、検出装置１３０は、測定データ１２０１のタイムスタンプが示す時刻における各衛星のＸＹＺ座標および時計誤差補正値を算出する。また、図１０に示した第２の算出方法を用いる場合、検出装置１３０は、測定データ１２０１のタイムスタンプが示す時刻に、ステップＳ１４０３において取得した変数ｄｔの解を加算した時刻における各衛星のＸＹＺ座標および時計誤差補正値を算出する。
【０１３３】
また、図９に示した第１の算出方法を用いる場合、ステップＳ１４０８において、検出装置１３０は、変数ｄｔの値をステップＳ１４０３において取得した変数ｄｔの解に固定した４変数の最小二乗法により変数Ｘ，Ｙ，Ｚ，ｔの解を算出する。また、図１０に示した第２の算出方法を用いる場合、検出装置１３０は、変数ｄｔの値を０に固定した４変数の最小二乗法により変数Ｘ，Ｙ，Ｚ，ｔの解を算出する。
【０１３４】
これにより、４機のみの衛星についての測定データに基づいて変数Ｘ，Ｙ，Ｚ，ｔの解を算出することができる。ステップＳ１４０８における解の算出例について、図１６において説明する。
【０１３５】
（実施の形態にかかる検出装置による参照元データを用いたスナップショット測位演算における解の算出）
図１６は、実施の形態にかかる検出装置による参照元データを用いたスナップショット測位演算における解の算出の一例を示す図である。図１４に示したステップＳ１４０８における、参照元データを用いたスナップショット測位演算における解の算出例について説明する。
【０１３６】
たとえば、検出装置１３０は、ステップＳ１４０３により取得した変数ｄｔの解と、ステップＳ１４０５において算出した各衛星のＸＹＺ座標と、ステップＳ１４０７において算出した各衛星の疑似距離と、に基づいて図１６に示す式１６１０を生成（立式）する。式１６１０は、（変換行列１６１１）＼（誤差ベクトル１６１２）＝（デバイス座標修正量１６２０）である。
【０１３７】
変換行列１６１１は、デバイス１１１が捕捉した各衛星（ここでは４機の衛星）に対応する各行と、４つの列と、を有する行列である。変換行列１６１１の第１列（最も左側の列）は、４機の衛星のそれぞれについて、（衛星Ｘ座標−デバイスＸ座標）÷疑似距離により算出された値である。
【０１３８】
変換行列１６１１の第２列は、４機の衛星のそれぞれについて、（衛星Ｙ座標−デバイスＹ座標）÷疑似距離により算出された値である。変換行列１６１１の第３列は、４機の衛星のそれぞれについて、（衛星Ｚ座標−デバイスＺ座標）÷疑似距離により算出された値である。変換行列１６１１の第４列は、各行の値が１である。
【０１３９】
誤差ベクトル１６１２は、４機の衛星のそれぞれについて、（疑似距離−｜衛星ＸＹＺ座標−デバイスＸＹＺ座標｜）−ｔ−ドップラー係数×ｄｔにより算出された各値を示す。ここで、図９に示した第１の算出方法を用いる場合、ｄｔには、ステップＳ１４０３により取得した変数ｄｔの解が固定値として代入される。また、図１０に示した第２の算出方法を用いる場合、ｄｔには０が固定値として代入される。
【０１４０】
デバイス座標修正量１６２０は、式１６１０の左辺の計算結果であり、変数Ｘ，Ｙ，Ｚ，ｔの各値の、次回の演算における修正量を示す。前回デバイス座標１６３０は、直前に立式した式１６１０に用いた変数Ｘ，Ｙ，Ｚ，ｔの各値である。
【０１４１】
検出装置１３０は、前回デバイス座標１６３０に、直前に立式した式１６１０により算出したデバイス座標修正量１６２０を加算することにより次回デバイス座標１６４０を算出する。次回デバイス座標１６４０は、次回の演算における変数Ｘ，Ｙ，Ｚ，ｔの各値である。すなわち、検出装置１３０は、次回デバイス座標１６４０の各値を用いて式１６１０を再度生成する。
【０１４２】
図１６において説明したように、検出装置１３０は、式１６１０により得られたデバイス座標修正量１６２０を用いて変数Ｘ，Ｙ，Ｚ，ｔを更新した式１６１０を生成する処理を繰り返す演算を、誤差ベクトル１６１２が示す誤差が十分に小さくなるまで行う。そして、検出装置１３０は、繰り返し演算において最後に得られた次回デバイス座標１６４０が示す変数Ｘ，Ｙ，Ｚ，ｔの各値を、変数Ｘ，Ｙ，Ｚ，ｔの各解として得る。
【０１４３】
このように、実施の形態によれば、第１時点においてデバイスが５機以上の衛星から受信した各データにより算出した測位解のうちの第５変数の解を用いることで、第２時点においてデバイスが４機の衛星から受信した各データにより測位解を得ることができる。これにより、スナップショット測位において、デバイスによる捕捉衛星数が所定数（５機）より少なくても測位解を求めることができる。
【０１４４】
また、たとえば加速度センサなどをデバイスに設けなくても、デバイスが４機以下の衛星からしかデータを受信できなかった時点についても測位解を求めることができる。このため、デバイスの製造コストや消費電力を抑制することが可能になる。
【０１４５】
上述の実施の形態において、デバイス１１１からの測定データが受信局１２０を介して検出装置１３０へ送信される構成について説明したが、このような構成に限らない。たとえば、検出装置１３０に受信局１２０の機能を設け、検出装置１３０がデバイス１１１からの測定データを直接受信する構成としてもよい。
【０１４６】
また、上述の実施の形態において、デバイス１１１の位置の検出を、デバイス１１１ではなく外部の検出装置１３０において行う測位方法（たとえばＣＯ−ＧＰＳ）について説明したが、このような構成に限らない。たとえば、デバイス１１１に検出装置１３０の機能を設け、デバイス１１１の位置の検出をデバイス１１１が行う構成としてもよい。
【０１４７】
また、上述の実施の形態において、トラック１１０のトレース情報を得るためにデバイス１１１の測位を行う構成について説明したが、このような構成に限らない。すなわち、デバイス１１１を設置し、またはデバイス１１１を所持させる対象はトラック１１０に限らない。たとえば、子供や高齢者にデバイス１１１を所持させることにより、子供や高齢者の位置や移動経路を特定することによる見守りサービスが可能になる。
【０１４８】
また、野生動物等にデバイス１１１を取り付けることにより、野生動物等の位置や移動経路を特定することによる調査が可能になる。また、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ：モノのインターネット）の各種のフロント端末にデバイス１１１を設けることにより、フロント端末の位置や移動経路を特定することによるＩｏＴの各種のサービスが可能になる。
【０１４９】
以上説明したように、検出方法および検出プログラムによれば、捕捉衛星数が所定数より少なくても測位解を得ることができる。
【０１５０】
たとえば、捕捉衛星数が４機しかなく測位解を得られない対象データについて、異なる時点の測位可能なデータとその測定時刻（ｄｔ）に基づいてスナップショット測位演算における第５変数を固定することで、測位解を得ることができる。
【０１５１】
なお、本実施の形態で説明した検出方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【符号の説明】
【０１５２】
１１〜１５  衛星
２１，７１２〜７１５  遮蔽物
１００  端末位置検出システム
１１０  トラック
１１１  デバイス
１２０  受信局
１３０  検出装置
２１１〜２１３  区間
６０１  グラフ
７１０  マップ
７１１  道路
７２０  移動経路
７２１〜７２８  地点
７３０  推定経路
８００  トレース情報
９０１  エフェメリス
９０２  タイムスタンプ
９０３  軌道計算式
９０４  衛星座標
９０５  受信局位置
９０６  受信局疑似距離
９０７  プリアンブル補正値
９０８  コード位相
９０９  疑似距離
９１０  最小二乗法
９１１，９１２  解
９１３  デバイス緯度経度高度
９１４  測位結果
９１５，１５０１  参照元データ
１２０１  測定データ
１２０２  受信局位置情報
１２０３  プリアンブル補正値情報
１２０４  衛星座標・時計誤差補正値情報
１２０５  観測値情報
１２０６  疑似距離情報
１２０７  解情報
１２０８  測位データ
１３１０，１６１０  式
１３１１，１６１１  変換行列
１３１２，１６１２  誤差ベクトル
１３２０，１６２０  デバイス座標修正量
１３３０，１６３０  前回デバイス座標
１３４０，１６４０  次回デバイス座標
【図１】
2020174635.tif 000003
【図２】
2020174635.tif 000004
【図３】
2020174635.tif 000005
【図４】
2020174635.tif 000006
【図５】
2020174635.tif 000007
【図６】
2020174635.tif 000008
【図７】
2020174635.tif 000009
【図８】
2020174635.tif 000010
【図９】
2020174635.tif 000011
【図１０】
2020174635.tif 000012
【図１１】
2020174635.tif 000013
【図１２】
2020174635.tif 000014
【図１３】
2020174635.tif 000015
【図１４】
2020174635.tif 000016
【図１５】
2020174635.tif 000017
【図１６】
2020174635.tif 000018
【手続補正書】
【提出日】令和3年5月24日(2021.5.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１時点においてデバイスが５機以上の衛星からデータを受信した結果に基づいて、前記デバイスの３次元位置を示す第１〜第３変数と、前記デバイスの内部時刻のずれを示す第４変数と、前記デバイスと前記衛星との間のドップラー効果による時間ずれを示す第５変数と、を含む方程式の解を算出し、
前記第１時点と異なる第２時点において前記デバイスが４機の衛星からデータを受信した結果と、前記第１時点について算出した前記第５変数の解と、に基づいて前記第１〜第４変数を含む方程式の解を算出し、
前記第１時点および前記第２時点のそれぞれについて、算出した前記第１〜第３変数の各解に基づく前記デバイスの位置情報を出力する、
ことを特徴とする検出方法。
【請求項２】
前記第２時点についての前記解を算出する際に、前記第１〜第５変数を含む方程式において前記第５変数の値を前記第１時点についての前記第５変数の解に固定した方程式の解を算出することを特徴とする請求項１に記載の検出方法。
【請求項３】
コンピュータに、
第１時点においてデバイスが５機以上の衛星からデータを受信した結果に基づいて、前記デバイスの３次元位置を示す第１〜第３変数と、前記デバイスの内部時刻のずれを示す第４変数と、前記デバイスと前記衛星との間のドップラー効果による時間ずれを示す第５変数と、を含む方程式の解を算出し、
前記第１時点と異なる第２時点において前記デバイスが４機の衛星からデータを受信した結果と、前記第１時点について算出した前記第５変数の解と、に基づいて前記第１〜第４変数を含む方程式の解を算出し、
前記第１時点および前記第２時点のそれぞれについて、算出した前記第１〜第３変数の各解に基づく前記デバイスの位置情報を出力する、
処理を実行させることを特徴とする検出プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出方法および検出プログラムに関する。
【背景技術】
【０００２】
従来、ＧＮＳＳ（Ｇｌｏｂａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ  Ｓｙｓｔｅｍ：全地球航法衛星システム）などの人工衛星を利用した測位システムが知られている（たとえば、下記特許文献１〜３参照。）。たとえば、測位対象のデバイスが４機以上の衛星からのデータを受信した結果を用いることで、そのデバイスのＸＹＺ座標およびそのデバイスの時刻ずれを変数として含む方程式の解を測位解として算出する方法が知られている。また、測位対象のデバイスが５機以上の衛星からのデータを受信した結果を用いることで、そのデバイスが衛星からのデータを短時間しか受信しなくても測位解を得ることが可能になるスナップショット測位が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１２−５２４２７３号公報
【特許文献２】特開２０１１−２５７４１５号公報
【特許文献３】特開２０１３−２１７９２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、たとえばスナップショット測位において、測位対象のデバイスと衛星との間が建物等により遮られると、デバイスが捕捉する衛星の数が所定数に達せずに、測位解を得ることができない場合がある。
【０００５】
１つの側面では、本発明は、捕捉衛星数が所定数より少なくても測位解を得ることができる検出方法および検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、１つの実施態様では、第１時点においてデバイスが５機以上の衛星からデータを受信した結果に基づいて、前記デバイスの３次元位置を示す第１〜第３変数と、前記デバイスの内部時刻のずれを示す第４変数と、前記デバイスと前記衛星との間のドップラー効果による時間ずれを示す第５変数と、を含む方程式の解を算出し、前記第１時点と異なる第２時点において前記デバイスが４機の衛星からデータを受信した結果と、前記第１時点について算出した前記第５変数の解と、に基づいて前記第１〜第４変数を含む方程式の解を算出し、前記第１時点および前記第２時点のそれぞれについて、算出した前記第１〜第３変数の各解に基づく前記デバイスの位置情報を出力する検出方法および検出プログラムが提案される。
【発明の効果】
【０００７】
１つの側面では、本発明は、捕捉衛星数が所定数より少なくても測位解を得ることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態にかかる端末位置検出システムの一例を示す図である。
【図２】図２は、実施の形態にかかるデバイスによる捕捉衛星数の変化の一例を示す図である。
【図３】図３は、実施の形態にかかる検出装置の一例を示す図である。
【図４】図４は、実施の形態にかかる検出装置のハードウェア構成の一例を示す図である。
【図５】図５は、実施の形態にかかる検出装置による処理の一例を示すフローチャートである。
【図６】図６は、実施の形態にかかる検出装置による４機の衛星についての測定データに基づく測位の一例を示す図である。
【図７】図７は、実施の形態にかかる検出装置を用いた移動経路の特定の一例を示す図である。
【図８】図８は、実施の形態にかかる検出装置により得られるトレース情報の一例を示す図である。
【図９】図９は、実施の形態にかかる検出装置による測位データの第１の算出方法の一例を示す図である。
【図１０】図１０は、実施の形態にかかる検出装置による測位データの第２の算出方法の一例を示す図である。
【図１１】図１１は、実施の形態にかかる検出装置による通常のスナップショット測位演算の一例を示すフローチャートである。
【図１２】図１２は、実施の形態にかかる検出装置による通常のスナップショット測位演算において算出される各情報の一例を示す図である。
【図１３】図１３は、実施の形態にかかる検出装置による通常のスナップショット測位演算における解の算出の一例を示す図である。
【図１４】図１４は、実施の形態にかかる検出装置による参照元データを用いたスナップショット測位演算の一例を示すフローチャートである。
【図１５】図１５は、実施の形態にかかる検出装置による参照元データを用いたスナップショット測位演算において算出される各情報の一例を示す図である。
【図１６】図１６は、実施の形態にかかる検出装置による参照元データを用いたスナップショット測位演算における解の算出の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に図面を参照して、本発明にかかる検出方法および検出プログラムの実施の形態を詳細に説明する。
【００１０】
（実施の形態）
（実施の形態にかかる端末位置検出システム）
図１は、実施の形態にかかる端末位置検出システムの一例を示す図である。図１に示すように、実施の形態にかかる端末位置検出システム１００は、デバイス１１１と、受信局１２０と、検出装置１３０と、を含む。
【００１１】
デバイス１１１は、端末位置検出システム１００による測位対象の端末である。図１に示す例では、デバイス１１１はトラック１１０に搭載されており、その結果、端末位置検出システム１００によってトラック１１０の位置が検出される。トラック１１０の位置は、たとえば緯度および経度によって表される。
【００１２】
たとえば、端末位置検出システム１００は、トラック１１０の現在位置の検出結果の時系列をトレース情報として生成する。これにより、たとえば、トラック１１０による運送を管理する運送業者が、トラック１１０のトレース情報に基づいて、トラック１１０が移動した経路を特定することが可能になる。
【００１３】
衛星１１〜１５を含む各衛星は、測位衛星として地球の軌道上に存在する人工衛星である。各衛星は、それぞれに搭載された原子時計に基づく時刻情報などを含むデータを無線送信する。デバイス１１１は、各衛星から無線送信されるデータを受信可能である。
【００１４】
デバイス１１１が捕捉する衛星の数（以下、「捕捉衛星数」とも称する。）は、そのときのデバイス１１１の位置や、デバイス１１１と各衛星との間の遮蔽物（建物など）によって異なる。デバイス１１１が衛星を捕捉するとは、たとえばデバイス１１１がその衛星から無線送信されたデータを受信できることである。
【００１５】
デバイス１１１は、ある時点において受信した１機以上の衛星からのデータに基づく情報を、その時点におけるデバイス１１１の位置を特定するための測定データとして受信局１２０へ無線送信する。上述のように、端末位置検出システム１００においてトラック１１０のトレース情報を生成する場合は、デバイス１１１は、衛星からのデータの受信および測定データの無線送信を繰り返し（たとえば周期的に）行う。
【００１６】
受信局１２０は、たとえば地上に固定された基地局であり、デバイス１１１との間で無線通信が可能である。たとえば、受信局１２０は、デバイス１１１から無線送信された測定データを受信し、受信した測定データを検出装置１３０へ送信する。このとき、受信局１２０は、測定データを受信したときの受信局１２０の内部時刻を示すタイムスタンプを、検出装置１３０へ送信する測定データに付加してもよい。受信局１２０と検出装置１３０との間の通信は、無線通信であってもよいし有線通信であってもよい。
【００１７】
検出装置１３０は、受信局１２０から受信した測定データに基づいて、デバイス１１１の現在位置を検出する。たとえば、検出装置１３０は、デバイス１１１が捕捉した１機以上の衛星についての測定データに基づく連立方程式の解（近似解を含む）を最小二乗法等により算出することにより、デバイス１１１の現在位置を検出する。
【００１８】
ここで、端末位置検出システム１００においては、デバイス１１１の測位方法として、コード位相とドップラー周波数のみから測位計算を行うスナップショット測位が用いられる。スナップショット測位は、たとえば、検出装置１３０がデバイス１１１の測位解を得るために５つの変数（たとえば後述の変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔ）を含む連立方程式を用いる測位方法である。
【００１９】
スナップショット測位においては、４つの変数（たとえば後述の変数Ｘ，Ｙ，Ｚ，ｔ）を含む連立方程式を用いる測位方法（通常の測位方法と称する。）と比べて、１回の測位のためにデバイス１１１が衛星からのデータを受信する時間を短くすることができる。
【００２０】
たとえば、通常の測位方法においては、デバイス１１１は１回の測位のために衛星からのデータを３０秒程度受信することを要する。一方、スナップショット測位においては、デバイス１１１は１回の測位のために衛星からのデータを数ミリ秒（たとえば４［ｍｓ］あるいは１００［ｍｓ］程度）だけ受信すればよい。
【００２１】
したがって、端末位置検出システム１００において、デバイス１１１は、スナップショット測位に十分な時間（数ミリ秒）だけ衛星からのデータを受信する。このため、デバイス１１１の消費電力を低減することができる。
【００２２】
ただし、スナップショット測位においては、５つの変数を含む連立方程式の解を算出するため、１回の測位のために５機以上の衛星についての測定データを要する。したがって、スナップショット測位は、デバイス１１１が５機以上の衛星（たとえば衛星１１〜１５）を捕捉していることを要する。以下、５機以上の衛星についての測定データを用いたスナップショット測位を通常のスナップショット測位と称する。
【００２３】
これに対して、検出装置１３０は、たとえばデバイス１１１が４機のみの衛星しか捕捉できていない時点についても、デバイス１１１による数ミリの受信により得られた４機の衛星の測定データに基づいてデバイス１１１の位置を検出することができる。この検出の方法については後述する。
【００２４】
また、端末位置検出システム１００においては、デバイス１１１の位置の検出を、デバイス１１１ではなく外部の検出装置１３０において行う測位方法が用いられている。たとえば検出装置１３０がクラウドコンピューティングにより実現される場合に、このような測位方法はたとえばＣＯ−ＧＰＳ（Ｃｌｏｕｄ  Ｏｆｆｌｏａｄｅｄ−Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）と呼ばれる。ＣＯ−ＧＰＳのスナップショット測位においては、上述の５つの変数の第５変数（ｄｔ）はｃｏａｒｓｅ  ｔｉｍｅ  ｅｒｒｏｒ（ｅ）と呼ばれる。
【００２５】
（実施の形態にかかるデバイスによる捕捉衛星数の変化）
図２は、実施の形態にかかるデバイスによる捕捉衛星数の変化の一例を示す図である。たとえば、トラック１１０が、区間２１１、区間２１２、区間２１３の順に移動したとする。このとき、区間２１２において、衛星１３からのデータが建物等の遮蔽物２１に遮られてデバイス１１１が衛星１３を捕捉できなかったとする。ただし、区間２１１〜２１３のそれぞれにおいて、デバイス１１１は、衛星１１，１２，１４，１５を捕捉していたとする。また、衛星１３についても、区間２１１，２１３においては捕捉していたとする。
【００２６】
この場合に、区間２１１〜２１３におけるデバイス１１１による捕捉衛星数は、それぞれ５機、４機、５機となる。したがって、区間２１１，２１３については通常のスナップショット測位によりデバイス１１１の測位解を得ることができるが、区間２１２については通常のスナップショット測位ではデバイス１１１の測位解を得ることができない。
【００２７】
これに対して、検出装置１３０は、区間２１１，２１３については通常のスナップショット測位によりデバイス１１１の測位解を算出する。また、検出装置１３０は、区間２１２については、区間２１２の近くの区間（たとえば区間２１１や区間２１３）におけるデバイス１１１の測位解を用いたスナップショット測位により、区間２１２におけるデバイス１１１の測位解を算出する。
【００２８】
（実施の形態にかかる検出装置）
図３は、実施の形態にかかる検出装置の一例を示す図である。検出装置１３０は、たとえば、図３に示すように、入力部３０１と、捕捉衛星数判定部３０２と、第１算出部３０３と、記憶部３０４と、第２算出部３０５と、出力部３０６と、を備える。
【００２９】
入力部３０１には、デバイス１１１が各時点において衛星からデータを受信した結果である測定データが入力される。入力部３０１は、入力された時点ごとの測定データを捕捉衛星数判定部３０２へ出力する。
【００３０】
捕捉衛星数判定部３０２は、入力部３０１から出力された測定データが何機の衛星についての測定データであるかを判定する。そして、捕捉衛星数判定部３０２は、５機以上の衛星についての測定データを第１算出部３０３へ出力し、４機の衛星についての測定データを第２算出部３０５へ出力する。３機以下の衛星についての測定データは、たとえば捕捉衛星数判定部３０２において破棄される。
【００３１】
第１算出部３０３は、捕捉衛星数判定部３０２から出力された５機以上の衛星についての測定データに基づいて、変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔ（第１〜第５変数）を含む第１方程式の解を算出する。変数Ｘ，Ｙ，Ｚは、デバイス１１１のＸＹＺ座標（３次元位置）を示す変数である。すなわち、変数Ｘ（第１変数）はデバイス１１１のＸ座標を示し、変数Ｙ（第２変数）はデバイス１１１のＹ座標を示し、変数Ｚ（第３変数）はデバイス１１１のＺ座標を示す。
【００３２】
変数ｔ（第４変数）は、各衛星の原子時計に基づく時刻に対する、デバイス１１１の内部時刻のずれを示す変数である。変数ｄｔ（第５変数）は、上述のようにデバイス１１１が衛星からのデータを短い時間しか受信しないことに起因する、デバイス１１１と衛星との間のドップラー効果による時間ずれを示す変数である。たとえば、第１算出部３０３による解の算出は、５機以上の衛星についての測定データに基づくスナップショット測位演算による解の算出である。
【００３３】
第１算出部３０３は、たとえば算出した変数Ｘ，Ｙ，Ｚの解を出力部３０６へ出力する。また、第１算出部３０３は、算出した変数ｄｔの解を記憶部３０４へ出力する。記憶部３０４は、第１算出部３０３から出力された変数ｄｔの解を、第２算出部３０５から参照可能な参照元データとして記憶する。
【００３４】
第２算出部３０５は、捕捉衛星数判定部３０２から出力された４機の衛星についての測定データと、記憶部３０４によって参照元データとして記憶された変数ｄｔの解と、に基づいて変数Ｘ，Ｙ，Ｚ，ｔ（第１〜第４変数）を含む第２方程式の解を算出する。第２方程式は、たとえば上述の第１方程式において、変数ｄｔの値を記憶部３０４が記憶する変数ｄｔの解に固定した方程式である。第２算出部３０５は、たとえば算出した変数Ｘ，Ｙ，Ｚの解を出力部３０６へ出力する。
【００３５】
また、第２算出部３０５は、複数の時点について算出された変数ｄｔの解が記憶部３０４に記憶されている場合は、直前の時点について算出された変数ｄｔの解を用いて解を算出してもよい。直前の時点とは、たとえば、デバイス１１１が衛星からのデータを受信した各時点のうち、捕捉衛星数判定部３０２から第２算出部３０５へ出力された測定データが受信された第２時点の直前の１つの時点（第１時点）である。これにより、４機の衛星についての測定データしか得られなかった時点のデバイス１１１の位置を正確に推定することができる。
【００３６】
ただし、第２算出部３０５が用いる変数ｄｔの解は、直前の時点について算出された解に限らず、直後の１つの時点について算出された解や、直前および直後の各時点について算出された各解の平均などであってもよい。
【００３７】
出力部３０６は、第１算出部３０３から出力された変数Ｘ，Ｙ，Ｚの解に基づくデバイス１１１の位置情報と、第２算出部３０５から出力された変数Ｘ，Ｙ，Ｚの解に基づくデバイス１１１の位置情報と、をそれぞれ出力する。これにより、５機以上の衛星についての測定データが得られた時点におけるデバイス１１１の位置情報だけでなく、４機のみの衛星についての測定データしか得られなかった時点におけるデバイス１１１の位置情報も得ることができる。
【００３８】
たとえば、出力部３０６は、デバイス１１１の位置情報を、そのデバイス１１１の位置情報の算出に用いたデータをデバイス１１１が受信した時刻と対応付けて出力する。これにより、デバイス１１１の位置情報の時系列を示すトレース情報を得ることができる。
【００３９】
出力部３０６による位置情報の出力方法には各種の出力方法を用いることができる。たとえば、出力部３０６の位置情報の出力は、ディスプレイによる表示、スピーカによる音声出力、印刷装置や記憶デバイスへの出力、ネットワークを介した他の通信装置への送信など各種の出力とすることができる。
【００４０】
（実施の形態にかかる検出装置のハードウェア構成）
図４は、実施の形態にかかる検出装置のハードウェア構成の一例を示す図である。図３に示した検出装置１３０は、たとえば図４に示す情報処理装置４００により実現することができる。情報処理装置４００は、プロセッサ４０１と、メモリ４０２と、通信インタフェース４０３と、を備える。また、情報処理装置４００は、ユーザインタフェース４０４を備えてもよい。プロセッサ４０１、メモリ４０２、通信インタフェース４０３およびユーザインタフェース４０４は、たとえばバス４０９によって接続される。
【００４１】
プロセッサ４０１は、信号処理を行う回路であり、たとえば情報処理装置４００の全体の制御を司るＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。メモリ４０２には、たとえばメインメモリおよび補助メモリが含まれる。メインメモリは、たとえばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。メインメモリは、プロセッサ４０１のワークエリアとして使用される。
【００４２】
補助メモリは、たとえば磁気ディスク、光ディスク、フラッシュメモリなどの不揮発性メモリである。補助メモリには、情報処理装置４００を動作させる各種のプログラムが記憶されている。補助メモリに記憶されたプログラムは、メインメモリにロードされてプロセッサ４０１によって実行される。
【００４３】
また、補助メモリは、情報処理装置４００から取り外し可能な可搬型のメモリを含んでもよい。可搬型のメモリには、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュドライブやＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードなどのメモリカードや、外付けハードディスクドライブなどがある。
【００４４】
通信インタフェース４０３は、情報処理装置４００の外部（たとえば受信局１２０）との間で通信を行う通信インタフェースである。通信インタフェース４０３は、プロセッサ４０１によって制御される。
【００４５】
ユーザインタフェース４０４は、たとえば、ユーザ（たとえばトラック１１０のトレース情報の管理者）からの操作入力を受け付ける入力デバイスや、ユーザへ情報を出力する出力デバイスなどを含む。入力デバイスは、たとえばポインティングデバイス（たとえばマウス）、キー（たとえばキーボード）やリモコンなどにより実現することができる。出力デバイスは、たとえばディスプレイやスピーカなどにより実現することができる。また、タッチパネルなどによって入力デバイスおよび出力デバイスを実現してもよい。ユーザインタフェース４０４は、プロセッサ４０１によって制御される。
【００４６】
図３に示した入力部３０１は、たとえば通信インタフェース４０３により実現することができる。図３に示した捕捉衛星数判定部３０２、第１算出部３０３および第２算出部３０５は、たとえばプロセッサ４０１およびメモリ４０２により実現することができる。図３に示した入力部３０１は、たとえばメモリ４０２により実現することができる。図３に示した出力部３０６は、たとえばメモリ４０２または通信インタフェース４０３により実現することができる。
【００４７】
（実施の形態にかかる検出装置による処理）
図５は、実施の形態にかかる検出装置による処理の一例を示すフローチャートである。実施の形態にかかる検出装置１３０は、たとえば図５に示す各ステップを実行する。まず、検出装置１３０は、デバイス１１１から受信局１２０を介して送信された、１機以上の衛星についての測定データを受信したか否かを判断し（ステップＳ５０１）、測定データを受信するまで待つ（ステップＳ５０１：Ｎｏのループ）。
【００４８】
ある衛星についての測定データは、たとえば、デバイス１１１がその衛星から受信したデータのコード位相を特定可能な情報と、その衛星の識別番号と、その測定データが得られたときの時刻を示すタイムスタンプと、を含む情報である。
【００４９】
ステップＳ５０１において、測定データを受信すると（ステップＳ５０１：Ｙｅｓ）、検出装置１３０は、デバイス１１１が捕捉した衛星の数（捕捉衛星数）が５機以上であるか否かを判断する（ステップＳ５０２）。すなわち、検出装置１３０は、受信した測定データが、５機以上の衛星についての測定データであるか否かを判断する。
【００５０】
ステップＳ５０２において、捕捉衛星数が５機以上である場合（ステップＳ５０２：Ｙｅｓ）は、検出装置１３０は、受信した５機以上の衛星についての測定データに基づいて通常のスナップショット測位演算を行う（ステップＳ５０３）。この通常のスナップショット測位演算については後述する。ステップＳ５０３のスナップショット測位演算により、デバイス１１１のＸＹＺ座標を示す変数Ｘ，Ｙ，Ｚと、デバイス１１１と衛星との間の時刻ずれを示す変数ｔ，ｄｔと、の解が得られる。
【００５１】
つぎに、検出装置１３０は、スナップショット測位演算により得られた変数ｄｔ（第５変数）の解を参照元データとしてメモリ４０２に記憶する（ステップＳ５０４）。このとき、検出装置１３０は、スナップショット測位演算に用いた測定データのタイムスタンプも参照元データとしてメモリ４０２に記憶してもよい。また、スナップショット測位演算により得られた変数ｄｔの解が参照元データとしてメモリ４０２に記憶済みである場合に、検出装置１３０は、たとえば新たに得られた変数ｄｔの解をメモリ４０２に記憶済みの解に上書きして記憶してもよい。
【００５２】
つぎに、検出装置１３０は、スナップショット測位演算により得られた変数Ｘ，Ｙ，Ｚの解に基づいて算出した測位データを保存する（ステップＳ５０５）。測位データは、たとえば、変数Ｘ，Ｙ，Ｚの解が示すデバイス１１１のＸＹＺ座標を、緯度、経度および高度の座標系へ変換して得られる情報である。
【００５３】
また、ステップＳ５０５において、検出装置１３０は、算出した測位データを、測定時刻と対応付けて保存してもよい。測定時刻は、たとえば、測位データの算出に用いた測定データに付加されたタイムスタンプが示す時刻である。また、測定時刻は、変数ｔ，ｄｔの解に基づいて修正された時刻であってもよい。
【００５４】
つぎに、検出装置１３０は、後述のステップＳ５０８において記憶し、後述のステップＳ５０９において処理していない未処理測定データがあるか否かを判断する（ステップＳ５０６）。未処理測定データがない場合（ステップＳ５０６：Ｎｏ）は、検出装置１３０は、ステップＳ５０１へ戻る。
【００５５】
ステップＳ５０２において、捕捉衛星数が５機以上でない場合（ステップＳ５０２：Ｎｏ）は、検出装置１３０は、ステップＳ５０４によって参照元データ（変数ｄｔの解）を記憶したか否かを判断する（ステップＳ５０７）。参照元データを記憶していない場合（ステップＳ５０７：Ｎｏ）は、検出装置１３０は、受信した測定データ（４機以下の衛星についての測定データ）を未処理測定データとして記憶し（ステップＳ５０８）、ステップＳ５０１へ戻る。
【００５６】
ステップＳ５０７において、参照元データを記憶している場合（ステップＳ５０７：Ｙｅｓ）は、検出装置１３０は、ステップＳ５０９へ移行する。すなわち、検出装置１３０は、たとえば受信した４機の衛星についての測定データに基づいて、記憶した参照元データを用いたスナップショット測位演算を行う（ステップＳ５０９）。ステップＳ５０９における参照元データを用いたスナップショット測位演算については後述する。
【００５７】
ステップＳ５０９のスナップショット測位演算により、ステップＳ５０３と同様に、デバイス１１１のＸＹＺ座標を示す変数Ｘ，Ｙ，Ｚと、デバイス１１１と衛星との間の時刻ずれを示す変数ｔ，ｄｔと、の解が得られる。ステップＳ５０９のつぎに、検出装置１３０は、ステップＳ５０５へ移行し、ステップＳ５０９のスナップショット測位演算により得られた解（たとえば変数Ｘ，Ｙ，Ｚの解）に基づいて算出した測位データを保存する。
【００５８】
ステップＳ５０６において、未処理測定データがある場合（ステップＳ５０６：Ｙｅｓ）は、検出装置１３０は、ステップＳ５０７へ移行する。このとき、ステップＳ５０７からステップＳ５０９へ移行する場合に、検出装置１３０は、ステップＳ５０９において、たとえば４機の衛星についての未処理測定データに基づいて、参照元データを用いたスナップショット測位演算を行う。
【００５９】
図５に示したように、検出装置１３０は、５機以上の衛星についての測定データを受信した場合は、通常のスナップショット測位演算を行い、得られた測位データを保存する。また、このとき、検出装置１３０は、通常のスナップショット測位演算において得られた変数ｄｔの解を参照元データとして記憶しておく。
【００６０】
また、検出装置１３０は、４機のみの衛星についての測定データを受信した場合は、参照元データを記憶していれば参照元データを用いたスナップショット測位演算を行い、参照元データを記憶していなければ測定データを未処理測定データとして記憶しておく。
【００６１】
一例として、測定データにおける捕捉衛星数が４機、４機、５機、…のように変化したとする。捕捉衛星数が４機である１つ目の測定データおよび２つ目の測定データについてはスナップショット測位演算が行われずにそれぞれ未処理測定データとして記憶される。
【００６２】
そして、捕捉衛星数が５機である３つ目の測定データについては通常のスナップショット測位演算が行われて測位データが保存される。また、このときの通常のスナップショット測位演算により得られた参照元データを用いて、未処理測定データとして記憶されていた１つ目の測定データおよび２つ目の測定データについてのスナップショット測位演算が行われて測位データが保存される。
【００６３】
なお、捕捉衛星数が３機以下であった場合は、参照元データを用いてもスナップショット測位演算を行うことができない。したがって、検出装置１３０は、たとえば、３機以下の衛星についての測定データは、処理不可能なデータとして保存し、または破棄する。
【００６４】
図５に示す例では、ステップＳ５０９において、捕捉衛星数が４機であった場合に、捕捉衛星数が５機以上であった各時点の参照元データのうち最新の参照元データを用いたスナップショット測位演算を行う処理について説明したが、このような処理に限らない。
【００６５】
たとえば、ステップＳ５０４の実行ごとに、参照元データが測定データのタイムスタンプと対応付けて上書きせずに記憶されてもよい。たとえば、検出装置１３０は、ステップＳ５０９において、現在の測定データのタイムスタンプの直前または直後のタイムスタンプと対応する参照元データを用いてスナップショット測位演算を行う。
【００６６】
また、検出装置１３０は、ステップＳ５０９において、複数の参照元データの平均値等を用いてスナップショット測位演算を行ってもよい。たとえば、検出装置１３０は、現在の測定データのタイムスタンプの直前のタイムスタンプと対応する参照元データと、現在の測定データのタイムスタンプの直後のタイムスタンプと対応する参照元データと、の平均等を用いてスナップショット測位演算を行う。
【００６７】
また、検出装置１３０は、現在の測定データのタイムスタンプより前の２以上のタイムスタンプと対応する各参照元データの平均値等を用いてスナップショット測位演算を行ってもよい。また、検出装置１３０は、現在の測定データのタイムスタンプより後の２以上のタイムスタンプと対応する各参照元データの平均値等を用いてスナップショット測位演算を行ってもよい。
【００６８】
また、検出装置１３０は、現在の測定データの前後の複数のタイムスタンプと対応する各参照元データから、現在の測定データに対応する参照元データの値を推測（補間）し、推測した参照元データを用いてスナップショット測位演算を行ってもよい。
【００６９】
（実施の形態にかかる検出装置による４機の衛星についての測定データに基づく測位）
図６は、実施の形態にかかる検出装置による４機の衛星についての測定データに基づく測位の一例を示す図である。たとえば、トラック１１０が地点Ｐ１、地点Ｐ２、地点Ｐ３の順に移動し、地点Ｐ１，Ｐ３においてはデバイス１１１が５機の衛星を捕捉したが、地点Ｐ２においてはデバイス１１１が４機のみの衛星を捕捉したとする。時点ｔ１〜ｔ３は、それぞれトラック１１０が地点Ｐ１〜Ｐ３を通過した時点である。
【００７０】
この場合に、検出装置１３０は、デバイス１１１が地点Ｐ１において得た５機の衛星についての測定データに基づく通常のスナップショット測位演算により地点Ｐ１の測位データを算出する。また、検出装置１３０は、地点Ｐ１についてのスナップショット測位演算により得られた変数ｄｔの解と、デバイス１１１が地点Ｐ２において得た４機の衛星についての測定データと、に基づくスナップショット測位演算により地点Ｐ２の測位データを算出する。
【００７１】
また、検出装置１３０は、デバイス１１１が地点Ｐ３において得た５機の衛星についての測定データに基づく通常のスナップショット測位演算により地点Ｐ３の測位データを算出する。これにより、トラック１１０が通過した地点Ｐ１〜Ｐ３の測位データをトラック１１０のトレース情報として保存することができる。
【００７２】
グラフ６０１は、図６の条件で地点Ｐ２の測位データを繰り返し算出した結果を示す分布図である。グラフ６０１の横軸は、地点Ｐ２の東西方向の実際の位置座標に対する、上述の算出方法による地点Ｐ２の測位データの東西方向の位置座標の誤差を示している。グラフ６０１の縦軸は、地点Ｐ２の南北方向の実際の位置座標に対する、上述の算出方法による地点Ｐ２の測位データの南北方向の位置座標の誤差を示している。
【００７３】
グラフ６０１の各プロット点に示すように、上述の算出方法を用いることにより、デバイス１１１が４機のみの衛星を捕捉した地点Ｐ２についても、数十メートル以内の誤差の測位データを得ることができる。
【００７４】
（実施の形態にかかる検出装置を用いた移動経路の特定）
図７は、実施の形態にかかる検出装置を用いた移動経路の特定の一例を示す図である。図７において、マップ７１０は、トラック１１０が通った地域を示している。マップ７１０の道路７１１や遮蔽物７１２〜７１５は、トラック１１０が通った地域における道路や遮蔽物（たとえば建物）である。
【００７５】
移動経路７２０は、トラック１１０が実際に通った経路を示している。時刻ｔ１〜ｔ８は、トラック１１０が移動経路７２０を移動中に、デバイス１１１が衛星からのデータの受信を行った各時刻である。地点７２１〜７２８は、移動経路７２０における、時刻ｔ１〜ｔ８にトラック１１０が位置していた各地点である。
【００７６】
移動経路７２０のうち実線で示す部分はデバイス１１１が５機以上の衛星を捕捉していた部分であり、移動経路７２０のうち点線で示す部分はデバイス１１１が４機のみの衛星を捕捉していた部分である。この場合に、地点７２１，７２２，７２６〜７２８においては５機以上の衛星についての測定データが得られ、地点７２３〜７２５においては４機のみの衛星についての測定データが得られる。
【００７７】
図７に示す例において、検出装置１３０は、地点７２１，７２２，７２６〜７２８については５機以上の衛星についての測定データに基づく通常のスナップショット測位演算によりデバイス１１１の測位データを得る。また、検出装置１３０は、地点７２３〜７２５についても、たとえば地点７２２についてのスナップショット測位演算において得られた変数ｄｔの解と、４機のみの衛星についての測定データと、に基づくスナップショット測位演算を行う。これにより、地点７２３〜７２５についてもデバイス１１１の測位データを得ることができる。
【００７８】
推定経路７３０は、５機以上の衛星についての測定データが得られた地点７２１，７２２，７２６〜７２８の測位データのみから線形補間により推定したトラック１１０の移動経路を参考として示している。推定経路７３０は、トラック１１０が通過した地点７２３〜７２５が考慮されていないため、実際のトラック１１０の移動経路７２０から大きく逸脱したものとなる。
【００７９】
これに対して、検出装置１３０によれば、地点７２１，７２２，７２６〜７２８の測位データだけでなく地点７２３〜７２５の測位データも得ることができる。これにより、トラック１１０の移動経路７２０を正確に推定することが可能になる。
【００８０】
（実施の形態にかかる検出装置により得られるトレース情報）
図８は、実施の形態にかかる検出装置により得られるトレース情報の一例を示す図である。図７に示した例において、検出装置１３０は、たとえば図８に示すトレース情報８００を生成する。トレース情報８００は、上述の時刻ｔ１〜ｔ８のそれぞれと対応付けて、緯度および経度の推定結果（測位データ）を示す情報である。
【００８１】
緯度Φ１〜Φ８は、それぞれ図７に示した地点７２１〜７２８について検出装置１３０により算出された測位データの緯度である。経度λ１〜λ８は、それぞれ図７に示した地点７２１〜７２８について検出装置１３０により算出された測位データの経度である。トレース情報８００により、移動経路７２０を正確に推定することが可能になる。
【００８２】
一例としては、マップ７１０の道路７１１の範囲を示す情報と、トレース情報８００と、を用いることにより、マップ７１０に対して移動経路７２０を示す線を重ねた画像を生成することができる。なお、トレース情報８００は、時刻ｔ１〜ｔ８を省いた情報であってもよい。
【００８３】
（実施の形態にかかる検出装置による測位データの第１の算出方法）
図９は、実施の形態にかかる検出装置による測位データの第１の算出方法の一例を示す図である。エフェメリス９０１は、衛星ごとに、衛星の軌道および状態や、衛星の内部時計（原子時計）の補正情報等を示す情報である。タイムスタンプ９０２（タイムスタンプ＿１）は、検出装置１３０が受信局１２０を介してデバイス１１１から取得した測定データに付されたタイムスタンプである。
【００８４】
軌道計算式９０３は、エフェメリス９０１に基づいて特定の時間における各衛星の位置座標を算出可能な計算式である。検出装置１３０は、エフェメリス９０１および軌道計算式９０３に基づいて、タイムスタンプ９０２が示す時刻における、測定データが示す各衛星の位置座標を示す衛星座標９０４を算出する。
【００８５】
受信局位置９０５は、受信局１２０の位置座標である。検出装置１３０は、エフェメリス９０１および受信局位置９０５に基づいて、測定データが示す衛星ごとに受信局疑似距離９０６を算出する。受信局疑似距離９０６は、タイムスタンプ９０２が示す時刻における、測定データが示す各衛星と受信局１２０との間の距離であって、誤差を含む。検出装置１３０は、衛星ごとの受信局疑似距離９０６のそれぞれについて、コード位相成分を切り捨てることにより、衛星ごとのプリアンブル補正値９０７を算出する。
【００８６】
コード位相９０８は、検出装置１３０が受信局１２０を介してデバイス１１１から取得した測定データが示す、デバイス１１１が各衛星から受信したデータのコード位相である。検出装置１３０は、プリアンブル補正値９０７とコード位相９０８とを加算することにより得た観測値に光速ｃを乗算することにより、衛星ごとの疑似距離９０９を算出する。疑似距離９０９は、タイムスタンプ９０２が示す時刻における、測定データが示す各衛星とデバイス１１１との間の距離であって、誤差を含む。
【００８７】
検出装置１３０は、衛星座標９０４および疑似距離９０９に基づく最小二乗法９１０を行うことにより解９１１，９１２を算出する。解９１１は、デバイス１１１のＸＹＺ座標を示す変数Ｘ，Ｙ，Ｚの解である。解９１２は、デバイス１１１の時刻ずれに関する上述の変数ｔ，ｄｔの解である。
【００８８】
つぎに、検出装置１３０は、解９１１が示すデバイス１１１のＸＹＺ座標を、緯度、経度および高度の座標系であるデバイス緯度経度高度９１３に変換する。また、検出装置１３０は、デバイス緯度経度高度９１３と、解９１２が示す変数ｔ，ｄｔの解と、をタイムスタンプ９０２と対応付けて測位結果９１４として保存する。また、検出装置１３０は、測位結果９１４として保存したタイムスタンプ９０２および変数ｄｔの解を、参照元データ９１５（タイムスタンプ＿０およびｄｔ＿０）として記憶しておく。
【００８９】
上述の最小二乗法９１０において、検出装置１３０は、たとえば｜（衛星座標）−（デバイス位置）｜＋ｔ＋α×ｄｔ＋補正項＝（疑似距離）を満たす変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの解を算出する。このとき、５機以上の衛星についての測定データ（タイムスタンプ９０２およびコード位相９０８）が得られている場合は、最小二乗法９１０として５変数の最小二乗法を行うことによって変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの解を算出することができる。５変数の最小二乗法を行うことによる変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの解の算出例については後述する（たとえば図１１〜図１３参照）。
【００９０】
一方で、４機のみの衛星についての測定データしか得られていない場合は、最小二乗法９１０として５変数の最小二乗法を行うことができない。この場合に、検出装置１３０は、参照元データ９１５に含まれるｄｔの解（ｄｔ＿０）を上記の式の変数ｄｔに代入し、最小二乗法９１０として４変数の最小二乗法を行うことによって変数Ｘ，Ｙ，Ｚ，ｔの解を算出することができる。４変数の最小二乗法を行うことによる変数Ｘ，Ｙ，Ｚ，ｔの解の算出例については後述する（たとえば図１４〜図１６参照）。
【００９１】
図９に示す例では、５機以上の衛星についての測定データが得られている場合に受信局疑似距離９０６やプリアンブル補正値９０７を算出する方法について説明したが、このような算出方法に限らない。たとえば、検出装置１３０は、５機以上の衛星についての測定データが得られている場合は、受信局疑似距離９０６やプリアンブル補正値９０７に代えて、衛星ごとのランドマークやグリッドポイントを算出してもよい。この場合に、検出装置１３０は、得られたデバイス緯度経度高度９１３を、地上のランドマークとして想定可能な所定範囲の標高によりフィルタリングして測位結果９１４として保存する。
【００９２】
（実施の形態にかかる検出装置による測位データの第２の算出方法）
図１０は、実施の形態にかかる検出装置による測位データの第２の算出方法の一例を示す図である。図１０において、図９に示した部分と同様の部分については同一の符号を付して説明を省略する。４機のみの衛星についての測定データしか得られていない場合に、検出装置１３０は、たとえば図１０に示す第２の算出方法によって変数Ｘ，Ｙ，Ｚ，ｔの解を算出してもよい。
【００９３】
図１０に示す例では、衛星座標９０４として、タイムスタンプ９０２が示す時刻に参照元データ９１５のｄｔ＿０の解を加算した時刻における、測定データが示す衛星ごとの位置座標を算出する。これにより、衛星座標９０４の対象時刻を、ｄｔの解が０となる時刻に修正しておくことができる。
【００９４】
そして、検出装置１３０は、最小二乗法９１０において、上記の式の変数ｄｔに０を代入する。これにより、図９に示した第１の算出方法と同じ変数Ｘ，Ｙ，Ｚ，ｔの解を算出することができる。
【００９５】
（実施の形態にかかる検出装置による通常のスナップショット測位演算）
図１１は、実施の形態にかかる検出装置による通常のスナップショット測位演算の一例を示すフローチャートである。図１２は、実施の形態にかかる検出装置による通常のスナップショット測位演算において算出される各情報の一例を示す図である。
【００９６】
検出装置１３０は、たとえば図５に示したステップＳ５０３において、５機以上の衛星についての測定データに基づく通常のスナップショット測位演算として、たとえば図１１に示す処理を実行する。
【００９７】
まず、検出装置１３０は、受信局１２０から受信した、タイムスタンプおよび衛星ごとのコード位相を含む測定データを取得する（ステップＳ１１０１）。たとえば、検出装置１３０は、図１２に示す測定データ１２０１を取得する。測定データ１２０１は、タイムスタンプ、衛星番号およびコード位相を含む。
【００９８】
測定データ１２０１のタイムスタンプは、測定データ１２０１が得られた時刻を示す情報である。たとえば、タイムスタンプは、受信局１２０がデバイス１１１から測定データ１２０１（タイムスタンプを除く）を受信したときに受信局１２０の内部時刻に基づいて生成して測定データ１２０１に付加したタイムスタンプである。また、タイムスタンプは、デバイス１１１が各衛星からのデータを受信して測定データ１２０１（タイムスタンプを除く）を生成したときにデバイス１１１の内部時刻に基づいて生成して測定データ１２０１に付加したタイムスタンプであってもよい。図１２に示す例では、タイムスタンプは“２６１８５８”である。
【００９９】
測定データ１２０１の衛星番号は、デバイス１１１が捕捉した（データを受信した）各衛星の識別子である。図１２に示す例では、衛星番号は“ＰＲＮ７”、“ＰＲＮ８”、“ＰＲＮ１０”、…の７機分の衛星の衛星番号である。
【０１００】
測定データ１２０１のコード位相は、衛星が送信するデータのコードにおける、デバイス１１１が受信した部分の位相である。図１２に示す例では、衛星番号は“ＰＲＮ７”、“ＰＲＮ８”、“ＰＲＮ１０”、…が示す７機の衛星についてのコード位相はそれぞれ“０．１４１”、“０．７１３”、“０．８８３”、…である。
【０１０１】
測定データ１２０１の衛星番号およびコード位相は、たとえばデバイス１１１が衛星から受信したデータを復号することにより得られる。以上のように、図１２に示す測定データ１２０１は、タイムスタンプの“２６１８５８”が示す時刻に、デバイス１１１が７機の衛星からのデータを受信し、それぞれのコード位相が“０．１４１”、“０．７１３”、“０．８８３”、…であったことを示している。
【０１０２】
つぎに、検出装置１３０は、受信局１２０の位置を示す受信局位置情報を取得する（ステップＳ１１０２）。たとえば、受信局位置情報は検出装置１３０のメモリ４０２に予め記憶されており、検出装置１３０はメモリ４０２からその位置情報を読み出す。または、検出装置１３０は受信局位置情報を受信局１２０や他の通信装置から受信してもよい。たとえば、検出装置１３０は、図１２に示す受信局位置情報１２０２を取得する。受信局位置情報１２０２は、受信局１２０の位置（受信局位置）を、緯度、経度および高度により示している。
【０１０３】
つぎに、検出装置１３０は、ステップＳ１１０１によって取得した測定データ１２０１に含まれるタイムスタンプと、ステップＳ１１０２によって取得した受信局位置情報１２０２と、に基づいて衛星ごとのプリアンブル補正値を算出する（ステップＳ１１０３）。たとえば、検出装置１３０は、図１２に示すプリアンブル補正値情報１２０３を算出する。図１２に示す例では、プリアンブル補正値情報１２０３は、上述の７機の衛星のそれぞれについて算出される。
【０１０４】
また、検出装置１３０は、エフェメリスに基づいて、各衛星の軌道計算を行い、測定データ１２０１のタイムスタンプが示す時刻における各衛星のＸＹＺ座標（Ｘ，Ｙ，Ｚ）および時計誤差補正値を算出する（ステップＳ１１０４）。エフェメリスは、上述の７機の衛星を含む各衛星の軌道および状態や、各衛星の内部時計（原子時計）の補正情報等を含む情報である。たとえば、検出装置１３０は、ネットワークを介してサーバ等からエフェメリスを受信する。または、検出装置１３０は、各衛星から送信されるエフェメリスを、デバイス１１１や受信局１２０を介して受信してもよい。
【０１０５】
たとえば、検出装置１３０は、図１２に示す衛星座標・時計誤差補正値情報１２０４を生成する。衛星座標・時計誤差補正値情報１２０４は、上述の７機の衛星のそれぞれについて、測定データ１２０１のタイムスタンプが示す時刻における、各衛星のＸＹＺ座標（Ｘ，Ｙ，Ｚ）および時計誤差補正値を示す。
【０１０６】
つぎに、検出装置１３０は、プリアンブル補正値情報１２０３のプリアンブル補正値、測定データ１２０１のコード位相および衛星座標・時計誤差補正値情報１２０４の時計誤差補正値に基づいて、各衛星の観測値を算出する（ステップＳ１１０５）。ある衛星についての観測値は、たとえばプリアンブル補正値＋コード位相＋時計誤差補正値により算出される。たとえば、検出装置１３０は、図１２に示す観測値情報１２０５を生成する。観測値情報１２０５において、たとえば、“ＰＲＮ７”の衛星についての観測値は、０．１４１＋７２＋０．１４９≒７２．２９１となる。
【０１０７】
つぎに、検出装置１３０は、観測値情報１２０５の観測値および光速に基づいて、各衛星の疑似距離（観測した疑似距離）を算出する（ステップＳ１１０６）。各衛星の疑似距離は、各衛星とデバイス１１１との間の各距離であり、誤差を含む。ある衛星についての疑似距離は、たとえば観測値×光速により算出される。たとえば、検出装置１３０は、図１２に示す疑似距離情報１２０６を生成する。疑似距離情報１２０６において、たとえば“ＰＲＮ７”の衛星についての疑似距離は、７２．２９１＊光速≒２１６７２２９０となる。
【０１０８】
つぎに、検出装置１３０は、ステップＳ１１０４において算出した各衛星のＸＹＺ座標と、ステップＳ１１０６において算出した各衛星の疑似距離と、に基づく最小二乗法により、変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの解を算出する（ステップＳ１１０７）。たとえば、検出装置１３０は、図１２に示す解情報１２０７を生成する。最小二乗法による解の算出については後述する（たとえば図１３参照）。
【０１０９】
つぎに、検出装置１３０は、解情報１２０７が示すデバイス１１１のＸＹＺ座標を、緯度、経度および高度の座標系に変換し（ステップＳ１１０８）、一連の処理を終了する。たとえば、検出装置１３０は、図１２に示す測位データ１２０８を生成する。測位データ１２０８は、解情報１２０７が示すデバイス１１１のＸＹＺ座標の座標変換後の値として、デバイス１１１の緯度、経度および高度を含む。
【０１１０】
ステップＳ１１０７の最小二乗法における立式について説明する。ある衛星（ｉ）についての誤差（ｉ）は、たとえば下記（１）式により表すことができる。
【０１１１】
誤差（ｉ）＝（疑似距離（ｉ）−｜衛星位置（ｉ）−変数（Ｘ，Ｙ，Ｚ）｜）−変数（ｔ）−補正項  …（１）
【０１１２】
ここで、変数であるＸ，Ｙ，Ｚ，ｔは、初期値として適当な値（たとえば０）が与えられる。上記（１）式を衛星ごとに立式した行列式は、下記（２）式のようになる。
【０１１３】
（変換行列）＊（変数ベクトル（Ｘ，Ｙ，Ｚ，ｔ））＝（誤差ベクトル）
⇔（変数（Ｘ，Ｙ，Ｚ，ｔ））＝（変換行列）＼（誤差ベクトル）  …（２）
【０１１４】
ここで、たとえばＸからＸ＋ｄＸのように、デバイス１１１の位置座標の微小変化を考える。上記（２）式の各項を座標Ｘ，Ｙ，Ｚでそれぞれ偏微分すると、下記（３）式のようになる。
【０１１５】
微小変化（Ｘ，Ｙ，Ｚ，ｔ）＝ｄ変換行列＼（誤差ベクトル）  …（３）
【０１１６】
検出装置１３０は、上記（３）式の立式と、誤差ベクトルを小さくする方向への変数ベクトルの修正と、を繰り返す演算を、誤差が十分に小さくなるまで行う。これにより、観測した疑似距離（疑似距離情報１２０６）と、軌道計算上の距離とが一致するときのデバイス１１１の位置（変数Ｘ，Ｙ，Ｚの解）を求めることができる。
【０１１７】
（実施の形態にかかる検出装置による通常のスナップショット測位演算における解の算出）
図１３は、実施の形態にかかる検出装置による通常のスナップショット測位演算における解の算出の一例を示す図である。図１１に示したステップＳ１１０７における、通常のスナップショット測位演算における解の算出例について説明する。
【０１１８】
たとえば、検出装置１３０は、ステップＳ１１０４において算出した各衛星のＸＹＺ座標と、ステップＳ１１０６において算出した各衛星の疑似距離と、に基づいて、図１３に示す式１３１０を生成（立式）する。式１３１０は、（変換行列１３１１）＼（誤差ベクトル１３１２）＝（デバイス座標修正量１３２０）である。
【０１１９】
変換行列１３１１は、デバイス１１１がデータを受信した各衛星（ここでは７機の衛星）に対応する各行と、５つの列と、を有する行列である。変換行列１３１１の第１列（最も左側の列）は、７機の衛星のそれぞれについて、（衛星Ｘ座標−デバイスＸ座標）÷疑似距離により算出された値である。ここで、衛星Ｘ座標は、ステップＳ１１０４において軌道計算により算出された衛星のＸ座標である。デバイスＸ座標は、初期値として適当な値（たとえば０）が割り当てられたデバイス１１１のＸ座標である。
【０１２０】
変換行列１３１１の第２列は、７機の衛星のそれぞれについて、（衛星Ｙ座標−デバイスＹ座標）÷疑似距離により算出された値である。ここで、衛星Ｙ座標は、ステップＳ１１０４において軌道計算により算出された衛星のＹ座標である。デバイスＹ座標は、初期値として適当な値（たとえば０）が割り当てられたデバイス１１１のＹ座標である。
【０１２１】
変換行列１３１１の第３列は、７機の衛星のそれぞれについて、（衛星Ｚ座標−デバイスＺ座標）÷疑似距離により算出された値である。ここで、衛星Ｚ座標は、ステップＳ１１０４において軌道計算により算出された衛星のＺ座標である。デバイスＺ座標は、初期値として適当な値（たとえば０）が割り当てられたデバイス１１１のＺ座標である。
【０１２２】
変換行列１３１１の第４列は、各行の値が１である。変換行列１３１１の第５列は、７機の衛星のそれぞれについてのドップラー係数である。ドップラー係数は、たとえば上述のエフェメリスと、測定データ１２０１のタイムスタンプと、に基づく各衛星の軌道計算によって算出される。
【０１２３】
誤差ベクトル１３１２は、７機の衛星のそれぞれについて、（疑似距離−｜衛星ＸＹＺ座標−デバイスＸＹＺ座標｜）−ｔ−ドップラー係数×ｄｔにより算出された各値を示す。ここで、衛星ＸＹＺ座標は、ステップＳ１１０４において軌道計算により算出された衛星のＸＹＺ座標である。デバイスＸＹＺ座標は、変数Ｘ，Ｙ，Ｚの現在の値が示す、デバイス１１１のＸＹＺ座標である。ｔは、衛星の内部時刻に対するデバイス１１１の内部時刻のずれ（オフセット）を示す変数である。
【０１２４】
ドップラー係数×ｄｔは、たとえば、スナップショット測位においてはデバイス１１１が衛星からの電波を短時間しか受信しないことに起因するドップラー効果によって生じる時間ずれを示す変数である。すなわち、ｄｔは、ｔの修正量に関する変数である。変数ｔ，ｄｔには、初期値として適当な値（たとえば０）が割り当てられる。
【０１２５】
デバイス座標修正量１３２０は、式１３１０の左辺の計算結果であり、変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの各値の、次回の演算における修正量を示す。前回デバイス座標１３３０は、直前に立式した式１３１０に用いた変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの各値である。したがって、変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの初期値を０とした場合は、デバイス座標修正量１３２０の各値の初期値も０である。
【０１２６】
検出装置１３０は、前回デバイス座標１３３０に、直前に立式した式１３１０により算出したデバイス座標修正量１３２０を加算することにより次回デバイス座標１３４０を算出する。次回デバイス座標１３４０は、次回の演算における変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの各値である。すなわち、検出装置１３０は、次回デバイス座標１３４０の各値を用いて式１３１０を再度生成する。
【０１２７】
図１３において説明したように、検出装置１３０は、式１３１０により得られたデバイス座標修正量１３２０を用いて変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔを更新した式１３１０を生成する処理を繰り返す演算を誤差ベクトル１３１２が示す誤差が十分に小さくなるまで行う。たとえば、検出装置１３０は、誤差ベクトル１３１２が示す誤差が十分に小さくなるように予め定められた回数だけ繰り返し演算を行う。または、検出装置１３０は、式１３１０を生成するごとに誤差ベクトル１３１２の値の大きさを判定し、誤差ベクトル１３１２の値の大きさが所定の範囲内になるまで繰り返し演算を行う。
【０１２８】
そして、検出装置１３０は、繰り返し演算において最後に得られた次回デバイス座標１３４０が示す変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの各値を、変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの各解として得る。
【０１２９】
（実施の形態にかかる検出装置による参照元データを用いたスナップショット測位演算）
図１４は、実施の形態にかかる検出装置による参照元データを用いたスナップショット測位演算の一例を示すフローチャートである。図１５は、実施の形態にかかる検出装置による参照元データを用いたスナップショット測位演算において算出される各情報の一例を示す図である。図１５において、図１２に示した部分と同様の部分については同一の符号を付して説明を省略する。
【０１３０】
検出装置１３０は、たとえば図５に示したステップＳ５０９において、４機の衛星についての測定データと参照元データとに基づくスナップショット測位演算として、たとえば図１４に示す処理を実行する。ここでは、検出装置１３０は、他の時点の測位データに基づいて通常のスナップショット測位演算により変数Ｘ，Ｙ，Ｚ，ｔ，ｄｔの解を算出済みであり、算出した変数ｄｔの解（−１．８１１８３）を参照元データ１５０１として記憶しているものとする。なお、図１５に示す例では、参照元データ１５０１にはタイムスタンプ（上述の２６１８５８）も含まれている。
【０１３１】
図１４に示すステップＳ１４０１，Ｓ１４０２は、図１１に示したステップＳ１１０１，Ｓ１１０２と同様である。検出装置１３０は、ステップＳ１４０１において測定データ１２０１を取得する。また、検出装置１３０は、ステップＳ１４０２において受信局位置情報１２０２を取得する。ステップＳ１４０２のつぎに、検出装置１３０は、参照元データ１５０１の変数ｄｔの解を取得する（ステップＳ１４０３）。
【０１３２】
図１５に示すステップＳ１４０４〜Ｓ１４０９は、図１１に示したステップＳ１１０３〜Ｓ１１０８と同様である。ただし、図９に示した第１の算出方法を用いる場合、ステップＳ１４０５において、検出装置１３０は、測定データ１２０１のタイムスタンプが示す時刻における各衛星のＸＹＺ座標および時計誤差補正値を算出する。また、図１０に示した第２の算出方法を用いる場合、検出装置１３０は、測定データ１２０１のタイムスタンプが示す時刻に、ステップＳ１４０３において取得した変数ｄｔの解を加算した時刻における各衛星のＸＹＺ座標および時計誤差補正値を算出する。
【０１３３】
また、図９に示した第１の算出方法を用いる場合、ステップＳ１４０８において、検出装置１３０は、変数ｄｔの値をステップＳ１４０３において取得した変数ｄｔの解に固定した４変数の最小二乗法により変数Ｘ，Ｙ，Ｚ，ｔの解を算出する。また、図１０に示した第２の算出方法を用いる場合、検出装置１３０は、変数ｄｔの値を０に固定した４変数の最小二乗法により変数Ｘ，Ｙ，Ｚ，ｔの解を算出する。
【０１３４】
これにより、４機のみの衛星についての測定データに基づいて変数Ｘ，Ｙ，Ｚ，ｔの解を算出することができる。ステップＳ１４０８における解の算出例について、図１６において説明する。
【０１３５】
（実施の形態にかかる検出装置による参照元データを用いたスナップショット測位演算における解の算出）
図１６は、実施の形態にかかる検出装置による参照元データを用いたスナップショット測位演算における解の算出の一例を示す図である。図１４に示したステップＳ１４０８における、参照元データを用いたスナップショット測位演算における解の算出例について説明する。
【０１３６】
たとえば、検出装置１３０は、ステップＳ１４０３により取得した変数ｄｔの解と、ステップＳ１４０５において算出した各衛星のＸＹＺ座標と、ステップＳ１４０７において算出した各衛星の疑似距離と、に基づいて図１６に示す式１６１０を生成（立式）する。式１６１０は、（変換行列１６１１）＼（誤差ベクトル１６１２）＝（デバイス座標修正量１６２０）である。
【０１３７】
変換行列１６１１は、デバイス１１１が捕捉した各衛星（ここでは４機の衛星）に対応する各行と、４つの列と、を有する行列である。変換行列１６１１の第１列（最も左側の列）は、４機の衛星のそれぞれについて、（衛星Ｘ座標−デバイスＸ座標）÷疑似距離により算出された値である。
【０１３８】
変換行列１６１１の第２列は、４機の衛星のそれぞれについて、（衛星Ｙ座標−デバイスＹ座標）÷疑似距離により算出された値である。変換行列１６１１の第３列は、４機の衛星のそれぞれについて、（衛星Ｚ座標−デバイスＺ座標）÷疑似距離により算出された値である。変換行列１６１１の第４列は、各行の値が１である。
【０１３９】
誤差ベクトル１６１２は、４機の衛星のそれぞれについて、（疑似距離−｜衛星ＸＹＺ座標−デバイスＸＹＺ座標｜）−ｔ−ドップラー係数×ｄｔにより算出された各値を示す。ここで、図９に示した第１の算出方法を用いる場合、ｄｔには、ステップＳ１４０３により取得した変数ｄｔの解が固定値として代入される。また、図１０に示した第２の算出方法を用いる場合、ｄｔには０が固定値として代入される。
【０１４０】
デバイス座標修正量１６２０は、式１６１０の左辺の計算結果であり、変数Ｘ，Ｙ，Ｚ，ｔの各値の、次回の演算における修正量を示す。前回デバイス座標１６３０は、直前に立式した式１６１０に用いた変数Ｘ，Ｙ，Ｚ，ｔの各値である。
【０１４１】
検出装置１３０は、前回デバイス座標１６３０に、直前に立式した式１６１０により算出したデバイス座標修正量１６２０を加算することにより次回デバイス座標１６４０を算出する。次回デバイス座標１６４０は、次回の演算における変数Ｘ，Ｙ，Ｚ，ｔの各値である。すなわち、検出装置１３０は、次回デバイス座標１６４０の各値を用いて式１６１０を再度生成する。
【０１４２】
図１６において説明したように、検出装置１３０は、式１６１０により得られたデバイス座標修正量１６２０を用いて変数Ｘ，Ｙ，Ｚ，ｔを更新した式１６１０を生成する処理を繰り返す演算を、誤差ベクトル１６１２が示す誤差が十分に小さくなるまで行う。そして、検出装置１３０は、繰り返し演算において最後に得られた次回デバイス座標１６４０が示す変数Ｘ，Ｙ，Ｚ，ｔの各値を、変数Ｘ，Ｙ，Ｚ，ｔの各解として得る。
【０１４３】
このように、実施の形態によれば、第１時点においてデバイスが５機以上の衛星から受信した各データにより算出した測位解のうちの第５変数の解を用いることで、第２時点においてデバイスが４機の衛星から受信した各データにより測位解を得ることができる。これにより、スナップショット測位において、デバイスによる捕捉衛星数が所定数（５機）より少なくても測位解を求めることができる。
【０１４４】
また、たとえば加速度センサなどをデバイスに設けなくても、デバイスが４機以下の衛星からしかデータを受信できなかった時点についても測位解を求めることができる。このため、デバイスの製造コストや消費電力を抑制することが可能になる。
【０１４５】
上述の実施の形態において、デバイス１１１からの測定データが受信局１２０を介して検出装置１３０へ送信される構成について説明したが、このような構成に限らない。たとえば、検出装置１３０に受信局１２０の機能を設け、検出装置１３０がデバイス１１１からの測定データを直接受信する構成としてもよい。
【０１４６】
また、上述の実施の形態において、デバイス１１１の位置の検出を、デバイス１１１ではなく外部の検出装置１３０において行う測位方法（たとえばＣＯ−ＧＰＳ）について説明したが、このような構成に限らない。たとえば、デバイス１１１に検出装置１３０の機能を設け、デバイス１１１の位置の検出をデバイス１１１が行う構成としてもよい。
【０１４７】
また、上述の実施の形態において、トラック１１０のトレース情報を得るためにデバイス１１１の測位を行う構成について説明したが、このような構成に限らない。すなわち、デバイス１１１を設置し、またはデバイス１１１を所持させる対象はトラック１１０に限らない。たとえば、子供や高齢者にデバイス１１１を所持させることにより、子供や高齢者の位置や移動経路を特定することによる見守りサービスが可能になる。
【０１４８】
また、野生動物等にデバイス１１１を取り付けることにより、野生動物等の位置や移動経路を特定することによる調査が可能になる。また、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ：モノのインターネット）の各種のフロント端末にデバイス１１１を設けることにより、フロント端末の位置や移動経路を特定することによるＩｏＴの各種のサービスが可能になる。
【０１４９】
以上説明したように、検出方法および検出プログラムによれば、捕捉衛星数が所定数より少なくても測位解を得ることができる。
【０１５０】
たとえば、捕捉衛星数が４機しかなく測位解を得られない対象データについて、異なる時点の測位可能なデータとその測定時刻（ｄｔ）に基づいてスナップショット測位演算における第５変数を固定することで、測位解を得ることができる。
【０１５１】
なお、本実施の形態で説明した検出方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【０１５２】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１５３】
（付記１）第１時点においてデバイスが５機以上の衛星からデータを受信した結果に基づいて、前記デバイスの３次元位置を示す第１〜第３変数と、前記デバイスの内部時刻のずれを示す第４変数と、前記デバイスと前記衛星との間のドップラー効果による時間ずれを示す第５変数と、を含む方程式の解を算出し、
前記第１時点と異なる第２時点において前記デバイスが４機の衛星からデータを受信した結果と、前記第１時点について算出した前記第５変数の解と、に基づいて前記第１〜第４変数を含む方程式の解を算出し、
前記第１時点および前記第２時点のそれぞれについて、算出した前記第１〜第３変数の各解に基づく前記デバイスの位置情報を出力する、
ことを特徴とする検出方法。
【０１５４】
（付記２）前記第２時点についての前記解を算出する際に、前記第１〜第５変数を含む方程式において前記第５変数の値を前記第１時点についての前記第５変数の解に固定した方程式の解を算出することを特徴とする付記１に記載の検出方法。
【０１５５】
（付記３）前記第１時点についての前記解を算出する際に、前記第１〜第５変数を含む方程式の解をスナップショット測位演算により算出することを特徴とする付記１または２に記載の検出方法。
【０１５６】
（付記４）前記第１時点は、前記デバイスが衛星からのデータを受信した各時点のうち前記第２時点の直前の時点であることを特徴とする付記１〜３のいずれか一つに記載の検出方法。
【０１５７】
（付記５）前記デバイスの位置情報を、前記デバイスの位置情報の算出に用いたデータを前記デバイスが衛星から受信した時刻と対応付けて出力することを特徴とする付記１〜４のいずれか一つに記載の検出方法。
【０１５８】
（付記６）コンピュータに、
第１時点においてデバイスが５機以上の衛星からデータを受信した結果に基づいて、前記デバイスの３次元位置を示す第１〜第３変数と、前記デバイスの内部時刻のずれを示す第４変数と、前記デバイスと前記衛星との間のドップラー効果による時間ずれを示す第５変数と、を含む方程式の解を算出し、
前記第１時点と異なる第２時点において前記デバイスが４機の衛星からデータを受信した結果と、前記第１時点について算出した前記第５変数の解と、に基づいて前記第１〜第４変数を含む方程式の解を算出し、
前記第１時点および前記第２時点のそれぞれについて、算出した前記第１〜第３変数の各解に基づく前記デバイスの位置情報を出力する、
処理を実行させることを特徴とする検出プログラム。
【符号の説明】
【０１５９】
１１〜１５  衛星
２１，７１２〜７１５  遮蔽物
１００  端末位置検出システム
１１０  トラック
１１１  デバイス
１２０  受信局
１３０  検出装置
２１１〜２１３  区間
６０１  グラフ
７１０  マップ
７１１  道路
７２０  移動経路
７２１〜７２８  地点
７３０  推定経路
８００  トレース情報
９０１  エフェメリス
９０２  タイムスタンプ
９０３  軌道計算式
９０４  衛星座標
９０５  受信局位置
９０６  受信局疑似距離
９０７  プリアンブル補正値
９０８  コード位相
９０９  疑似距離
９１０  最小二乗法
９１１，９１２  解
９１３  デバイス緯度経度高度
９１４  測位結果
９１５，１５０１  参照元データ
１２０１  測定データ
１２０２  受信局位置情報
１２０３  プリアンブル補正値情報
１２０４  衛星座標・時計誤差補正値情報
１２０５  観測値情報
１２０６  疑似距離情報
１２０７  解情報
１２０８  測位データ
１３１０，１６１０  式
１３１１，１６１１  変換行列
１３１２，１６１２  誤差ベクトル
１３２０，１６２０  デバイス座標修正量
１３３０，１６３０  前回デバイス座標
１３４０，１６４０  次回デバイス座標
【国際調査報告】
2020174635.tif 000019
2020174635.tif 000020
2020174635.tif 000021
2020174635.tif 000022