(57)【特許請求の範囲】
【請求項１】
人工衛星から送信される信号を受信して、前記信号に含まれる前記人工衛星のエフェメリス情報を取得する受信処理部と；
前記受信処理部により取得された前記エフェメリス情報が記録される記憶部と；
正弦関数と余弦関数の和で表わされる前記人工衛星のエフェメリス情報の推定式に、任意の時刻を代入することにより、前記任意の時刻における前記人工衛星のエフェメリス情報を推定する衛星位置推定部と；
前記記憶部に記録されている前記エフェメリス情報から、前記推定式における前記正弦関数と前記余弦関数の各々の係数を算出する係数算出部と；
を備え、
前記係数算出部は、第１の期間内に前記受信処理部により取得されたエフェメリス情報に基づき、前記正弦関数と前記余弦関数のうちで周期の長い方の関数の係数を算出し、前記第１の期間より短い第２の期間内に前記受信処理部により取得されたエフェメリス情報に基づき、前記正弦関数と前記余弦関数のうちで周期の短い方の関数の係数を算出する、情報処理装置。
【請求項２】
前記人工衛星から送信される信号には複数のエフェメリス情報が含まれ、
前記推定式は、前記複数のエフェメリス情報の各々に応じて異なることを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、スリープ状態にある前記受信処理部を間欠的に起動して前記受信処理部に前記エフェメリス情報を取得させる受信制御部をさらに備えることを特徴とする、請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、前記係数算出部により前記正弦関数と前記余弦関数の係数が算出されてから所定時間が経過したか否かを判断する経過時間判断部をさらに備え、
前記係数算出部は、前記経過時間判断部により前記所定時間が経過したと判断されると、前記正弦関数と前記余弦関数の各々の係数を再度算出することを特徴とする、請求項３に記載の情報処理装置。
【請求項５】
前記係数算出部は、前記推定式により得られるエフェメリス情報と、実際に前記受信処理部により取得されたエフェメリス情報との差分が最小になるように、最小二乗法により前記正弦関数と前記余弦関数の各々の係数を算出する、請求項４に記載の情報処理装置。
【請求項６】
前記係数算出部は、前記正弦関数と前記余弦関数のうちで周期の長い方の関数の係数を算出した後に、周期の短い方の関数の係数を算出し、
前記周期の短い方の関数の係数は、周期の長い方の関数の係数を算出済みの係数で固定して算出する、請求項５に記載の情報処理装置。
【請求項７】
人工衛星から送信される信号を受信して、前記信号に含まれる前記人工衛星のエフェメリス情報を取得するステップと；
前記取得された前記エフェメリス情報を記憶媒体に記録するステップと；
正弦関数と余弦関数の和で表わされる前記人工衛星のエフェメリス情報の推定式における前記正弦関数と前記余弦関数の各々の係数を算出するステップと；
前記推定式に任意の時刻を代入することにより、前記任意の時刻における前記人工衛星のエフェメリス情報を推定するステップと；
を含み、
前記正弦関数と前記余弦関数のうちで周期の長い方の関数の係数は、第１の期間内に取得されたエフェメリス情報に基づいて算出し、
前記正弦関数と前記余弦関数のうちで周期の短い方の関数の係数は、前記第１の期間より短い第２の期間内に取得されたエフェメリス情報に基づいて算出する、位置推定方法。
【請求項８】
コンピュータを、
人工衛星から送信される信号を受信して、前記信号に含まれる前記人工衛星のエフェメリス情報を取得する受信処理部と；
前記受信処理部により取得された前記エフェメリス情報が記録される記憶部と；
正弦関数と余弦関数の和で表わされる前記人工衛星のエフェメリス情報の推定式に、任意の時刻を代入することにより、前記任意の時刻における前記人工衛星のエフェメリス情報を推定する衛星位置推定部と；
前記記憶部に記録されている前記エフェメリス情報から、前記推定式における前記正弦関数と前記余弦関数の各々の係数を算出する係数算出部と；
を備え、
前記係数算出部は、第１の期間内に前記受信処理部により取得されたエフェメリス情報に基づき、前記正弦関数と前記余弦関数のうちで周期の長い方の関数の係数を算出し、前記第１の期間より短い第２の期間内に前記受信処理部により取得されたエフェメリス情報に基づき、前記正弦関数と前記余弦関数のうちで周期の短い方の関数の係数を算出する、情報処理装置として機能させるための、プログラム。
【請求項９】
人工衛星と、前記人工衛星から送信される信号を受信する受信装置とを含む人工衛星システムであって：
前記人工衛星は、前記人工衛星のエフェメリス情報を含む信号を送信し、
前記受信装置は、
前記人工衛星から送信される信号を受信して、前記信号に含まれる前記人工衛星のエフェメリス情報を取得する受信処理部と；
前記受信処理部により取得された前記エフェメリス情報が記録される記憶部と；
正弦関数と余弦関数の和で表わされる前記人工衛星のエフェメリス情報の推定式に、任意の時刻を代入することにより、前記任意の時刻における前記人工衛星のエフェメリス情報を推定する衛星位置推定部と；
前記記憶部に記録されている前記エフェメリス情報から、前記推定式における前記正弦関数と前記余弦関数の各々の係数を算出する係数算出部と；
を備え、
前記係数算出部は、第１の期間内に前記受信処理部により取得されたエフェメリス情報に基づき、前記正弦関数と前記余弦関数のうちで周期の長い方の関数の係数を算出し、前記第１の期間より短い第２の期間内に前記受信処理部により取得されたエフェメリス情報に基づき、前記正弦関数と前記余弦関数のうちで周期の短い方の関数の係数を算出する、人工衛星システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、位置推定方法、プログラム、および人工衛星システムに関する。
【背景技術】
【０００２】
近年、人工衛星から送信される航法メッセージを受信して現在位置を計算可能なＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）受信機が、携帯電話やカーナビゲーションシステムに適用されるなど、広く普及している。
【０００３】
具体的には、人工衛星から送信される航法メッセージには、人工衛星の軌道を示す軌道情報、信号の送信時刻などの情報が含まれる。ＧＰＳ受信機は、４個以上の人工衛星から上記航法メッセージを受信し、航法メッセージに含まれる軌道情報から各人工衛星の位置を算出する。そして、ＧＰＳ受信機は、各人工衛星の位置と、航法メッセージの送信時刻と受信時刻の差分に基づいて現在の３次元位置を連立方程式により計算することができる。軌道情報から各人工衛星の位置を算出する方法については、例えば特許文献１に記載されている。
【０００４】
なお、３次元位置を計算する際に４個以上の人工衛星から送信された航法メッセージが必要となるのは、ＧＰＳ受信機に内蔵される時計と、人工衛星に設けられている原子時計とに誤差が存在するためである。４個以上の人工衛星から送信された航法メッセージを利用することにより、３次元位置および時間からなる４つの未知のパラメータを計算することが可能となる。
【０００５】
【特許文献１】特開平１１−６４４８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、人工衛星から送信される航法メッセージのフレームは、長さが３０秒程度であり、５つのサブフレームから構成される。また、ＧＰＳ受信機が人工衛星の位置を算出する際に利用される軌道情報などは最初の３つのサブフレームに含まれており、該３つのサブフレームを受信するまでに１８秒程度を要する。その結果、ＧＰＳ受信機は、人工衛星の軌道情報を有していない場合、または有効期限が過ぎている場合などには、現在位置を計算するまでに数十秒〜数分を要するため、ユーザビリティに問題があった。
【０００７】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、人工衛星の位置を早期に推定可能な、新規かつ改良された情報処理装置、位置推定方法、プログラム、および人工衛星システムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある観点によれば、１または２以上の周期関数項の和で表される人工衛星の位置の推定式に任意の時刻を代入することにより、前記任意の時刻における前記人工衛星の位置を推定する衛星位置推定部を備える情報処理装置が提供される。
【０００９】
かかる構成においては、衛星位置推定部が、航法メッセージに含まれる衛星位置情報を利用することなく人工衛星の位置を推定することができる。すなわち、当該情報処理装置は、より迅速に、かつ、周期関数項の和で表される推定式を演算するという比較的に簡易な方法により人工衛星の位置を把握することが可能である。
【００１０】
前記情報処理装置は、前記人工衛星から送信される信号を受信して、前記信号に含まれる前記人工衛星の位置を示す衛星位置情報を取得する受信処理部と、前記受信処理部により取得された前記衛星位置情報が記録される記憶部と、前記記憶部に記録されている衛星位置情報から、前記推定式における前記周期関数項の各々の係数を算出する係数算出部と、をさらに備えてもよい。さらに、前記衛星位置推定部は、前記任意の時刻に加え、前記係数算出部により算出された係数を前記推定式に代入して前記人工衛星の位置を推定してもよい。
【００１１】
かかる構成においては、記憶部には、新たな衛星位置情報が記録されていく。また、係数算出部は、記憶部に記録されている衛星位置情報から周期関数項の各々の係数を算出するため、周期関数項の各々の係数が順次新たな値に更新される。したがって、当該情報処理装置によれば、時間が経過しても、人工衛星の位置の推定式の正確性を維持することが可能である。
【００１２】
前記係数算出部は、第１の期間内に前記受信処理部により取得された衛星位置情報に基づいて第１の周期を有する周期関数項の係数を算出し、前記第１の期間より短い第２の期間内に前記受信処理部により取得された衛星位置情報に基づいて前記第１の周期より短い第２の周期を有する周期関数項の係数を算出してもよい。例えば、所定周期を有する周期関数項の係数を、該所定周期より極端に短い期間内に取得された衛星位置情報に基づいて算出した場合や、該所定周期より極端に長い期間内に取得された衛星位置情報に基づいて算出した場合、該係数の精度が懸念される。そこで、上記のように、周期関数項の周期が長いほど、該周期関数項の係数をより長期間にわたって取得された衛星位置情報に基づいて算出することにより、推定式の精度および人工衛星の推定位置の精度向上を図ることができる。
【００１３】
前記衛星位置情報は、前記人工衛星の位置を特定するための複数のパラメータを含み、前記推定式は、前記複数のパラメータの各々に応じて異なってもよい。かかる構成においては、各パラメータが時間の経過と共に異なる変化をするため、各パラメータごとに異なる推定式を適用することにより、パラメータごとに適切な推定値を算出することが可能となる。
【００１４】
前記情報処理装置は、スリープ状態にある前記受信処理部を間欠的に起動して前記受信処理部に前記衛星位置情報を取得させる受信制御部をさらに備えてもよい。かかる構成においては、間欠的に受信処理部により新たな衛星位置情報が取得される。その結果、係数算出部により、推定式における周期関数項の各々の係数が順次新たな値に更新される。このため、当該情報処理装置は、長期間にわたり衛星位置情報が取得されず係数の信頼性が低下してしまう場合を抑制することができる。
【００１５】
前記情報処理装置は、前記係数算出部により前記周期関数項の各々の係数が算出されてから所定時間が経過したか否かを判断する経過時間判断部をさらに備えてもよい。さらに前記係数算出部は、前記経過時間判断部により前記所定時間が経過したと判断されると、前記周期関数項の各々の係数を再度算出してもよい。
【００１６】
前記情報処理装置は、前記衛星位置推定部により推定された前記任意の時刻における前記人工衛星の位置に基づいて、前記任意の時刻における自装置の位置を推定する装置位置推定部をさらに備えてもよい。上記のように、当該情報処理装置によれば、航法メッセージに含まれる衛星位置情報を利用することなく人工衛星の位置を推定することができる。したがって、装置位置推定部を備える当該情報処理装置は、自装置の位置推定に要する時間が短縮し、ユーザビリティを向上することができる。
【００１７】
前記情報処理装置は、外部装置において得られた前記推定式が記録される記憶部をさらに備えてもよい。さらに、前記衛星位置推定部は、前記記憶部に記録されている前記推定式に基づいて前記人工衛星の位置を推定してもよい。かかる構成においては、必ずしも推定式を導出する構成を情報処理装置に設けなくてもよいため、当該情報処理装置の構成の簡素化を図ることができる。
【００１８】
また、上記課題を解決するために、本発明の別の観点によれば、人工衛星の以前の位置を示す衛星位置情報から、１または２以上の周期関数項の和で表される前記人工衛星の位置の推定式における前記周期関数項の各々の係数を算出するステップと、前記推定式に任意の時刻および前記係数を代入することにより、前記任意の時刻における前記人工衛星の位置を推定するステップと、を含む位置推定方法が提供される。
【００１９】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、１または２以上の周期関数項の和で表される人工衛星の位置の推定式に任意の時刻を代入することにより、前記任意の時刻における前記人工衛星の位置を推定する衛星位置推定部として機能させるための、プログラムが提供される。
【００２０】
かかるプログラムは、例えばＣＰＵ、ＲＯＭまたはＲＡＭなどを含むコンピュータのハードウェア資源に、上記のような衛星位置推定部の機能を実行させることができる。すなわち、当該プログラムを用いるコンピュータを、上述の衛星位置推定部として機能させることが可能である。
【００２１】
また、上記課題を解決するために、本発明の別の観点によれば、人工衛星と、前記人工衛星から送信される信号を受信する受信装置とを含む人工衛星システムが提供される。より詳細には、前記人工衛星は、前記人工衛星の位置を示す衛星位置情報を含む信号を送信する。さらに、前記受信装置は、前記人工衛星から送信される信号を受信して、前記信号に含まれる前記人工衛星の位置を示す衛星位置情報を取得する受信処理部と、前記受信処理部により取得された前記衛星位置情報が記録される記憶部と、前記記憶部に記録されている衛星位置情報から、１または２以上の周期関数項の和で表される前記人工衛星の位置の推定式における前記周期関数項の各々の係数を算出する係数算出部と、前記推定式に任意の時刻および前記係数算出部により算出された係数を代入することにより、前記任意の時刻における前記人工衛星の位置を推定する衛星位置推定部と、を備える。
【００２２】
かかる構成においては、記憶部には、新たな衛星位置情報が記録されていく。また、係数算出部は、記憶部に記録されている衛星位置情報から周期関数項の各々の係数を算出するため、周期関数項の各々の係数が順次新たな値に更新される。したがって、当該情報処理装置は、時間が経過しても、人工衛星の位置の推定式の正確性を維持することが可能である。さらに、衛星位置推定部は、航法メッセージに含まれる衛星位置情報を利用することなく人工衛星の位置を推定することができる。すなわち、当該情報処理装置は、より迅速に、かつ、周期関数項の和で表される推定式を演算するという比較的に簡易な方法により人工衛星の位置を把握することが可能である。
【発明の効果】
【００２３】
以上説明したように本発明にかかる情報処理装置、位置推定方法、プログラム、および人工衛星システムによれば、人工衛星の位置を早期に推定することができる。
【発明を実施するための最良の形態】
【００２４】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２５】
また、以下に示す項目順序に従って当該「発明を実施するための最良の形態」を説明する。
〔１〕人工衛星システムの概要
〔１−１〕ＧＰＳによる位置測位の概要
〔１−２〕人工衛星位置の表現方法
〔１−３〕航法メッセージの構成
〔２〕本実施形態に至る経緯
〔３〕本実施形態にかかる受信機の構成
〔３−１〕受信機のハードウェア構成
〔３−２〕受信機の動作例の概要
〔３−３〕ＣＰＵの詳細な機能
〔３−４〕位置推定方法の流れ
〔４〕まとめ
【００２６】
〔１〕人工衛星システムの概要
まず、図１〜図４を参照し、本実施形態にかかる人工衛星システム１について概略的に説明する。
【００２７】
〔１−１〕ＧＰＳによる位置測位の概要
図１は、本実施形態にかかる人工衛星システム１の構成を示した説明図である。図１に示したように、当該人工衛星システム１は、複数の人工衛星１０Ａ〜１０Ｄと、受信機２０と、を備える。図１においては、各人工衛星を区別するために、人工衛星１０Ａ〜１０Ｄのように符号の後に大文字のアルファベットを付しているが、各人工衛星を特に区別する必要が無い場合、単に人工衛星１０と総称する。
【００２８】
人工衛星１０（ＧＰＳ衛星）は、地球８の上空を周回している。図１には、４個の人口衛星１０Ａ〜１０Ｄのみを示しているが、例えば、６軌道面に４個ずつで計２４個の人口衛星が地球８の上空を周回する。
【００２９】
また、人工衛星１０は、人工衛星の軌道情報や、航法メッセージの送信時刻などのエフェメリス（Ｅｐｈｅｍｅｒｉｓ）情報を含む航法メッセージ（詳細については「〔１−３〕航法メッセージの内容」において説明する。）を送信する。人工衛星１０には原子時計が設けられており、送信時刻は、人工衛星１０に設けられている原子時計に従って例えば１秒単位で表現される。
【００３０】
なお、人工衛星１０は、Ｌ１帯、Ｃ／Ａコードと呼ばれる信号、すなわち、符号長が１，０２３でありチップレートが１．０２３ＭＨｚであるＧｏｌｄ符号で５０ｂｐｓのデータをスペクトラム拡散し、スペクトラム拡散した信号で１，５７５．４２ＭＨｚのキャリアをＢＰＳＫ（Ｂｉｎａｒｙ  Ｐｈａｓｅ  Ｓｈｉｆｔ  Ｋｅｙｉｎｇ）変調した信号により上記航法メッセージを送信する。
【００３１】
地球８に存在する受信機２０は、人工衛星１０Ａ〜１０Ｄから送信される航法メッセージを受信し、受信した航法メッセージに基づいて自装置の現在位置を計算することができる。
【００３２】
より詳細には、受信機２０は、人工衛星１０Ａ〜１０Ｄから送信された航法メッセージを受信し、航法メッセージからエフェメリス情報を取得する。そして、受信機２０は、エフェメリス情報から、人工衛星１０Ａ〜１０Ｄの位置を算出する。また、受信機２０は、エフェメリス情報に含まれる送信時刻と、航法メッセージの受信時刻の差分により、人工衛星１０Ａ〜１０Ｄと受信機２０の間の距離を算出する。その後、受信機２０は、算出した人工衛星１０Ａ〜１０Ｄの各々の位置と、人工衛星１０Ａ〜１０Ｄの各々と受信機２０の間の距離を利用し、受信機２０の現在の３次元位置を未知数とした方程式を演算する。
【００３３】
このように受信機２０の現在の３次元位置を演算する際には、４個以上の人工衛星１０から送信された航法メッセージが必要となる。これは、受信機２０に内蔵される時計（ＲＴＣ：Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）と、人工衛星１０に設けられている原子時計とに誤差が存在するためである。なお、本実施形態にかかる受信機２０は、「〔３〕本実施形態にかかる受信機の構成」において説明するように、航法メッセージに含まれるエフェメリス情報を利用することなく人工衛星１０の位置を算出することが可能である。
【００３４】
また、人工衛星１０は、所定周期でエフェメリス情報を更新し、更新したエフェメリス情報を含む航法メッセージを送信する。ここで、人工衛星１０は常に移動しているため、エフェメリス情報の更新時から時間が経過するにつれ、エフェメリス情報に基づいて算出される人工衛星１０の位置と、実際の人工衛星１０の位置との誤差が大きくなる。このため、航法メッセージに含まれるエフェメリス情報には例えば２時間程度の有効期限が設定されている。
【００３５】
以上、図１を参照してＧＰＳによる位置測位について概略的に説明した。図１においては受信機２０を情報処理装置の一例として丸印で示しているが、受信機２０は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、家庭用映像処理装置（ＤＶＤレコーダ、ビデオデッキなど）、携帯電話、ＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙｐｈｏｎｅ  Ｓｙｓｔｅｍ）、携帯用音楽再生装置、携帯用映像処理装置、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、家庭用ゲーム機器、携帯用ゲーム機器、家電機器、および車載器などの情報処理装置であってもよい。
【００３６】
〔１−２〕人工衛星位置の表現方法
続いて、図２および図３を参照し、人工衛星１０の位置を表現するために用いられる衛星位置情報としてのパラメータについて説明する。
【００３７】
図２は、ＸＹ座標系における人工衛星１０の軌道例を示した説明図である。図２に示したように、ＸＹ座標系において、地球８を周回する人工衛星１０の軌道は、ケプラーの法則を満たし、地球８の重心Ｆ１を一つの焦点とする楕円軌道を描くと考えられる。かかる楕円軌道は、楕円の軌道長半径Ａと、楕円の偏平さを表す離心率ｅと、平均近点角Ｍにより表現される。軌道上で最も地球８に近い点は近地点と呼ばれる。また、離心率ｅは、以下に示す数式１を満たす値である。なお、数式１において、Ｂは楕円の短径に該当する。
【００３８】
【数１】
0004766067.tif 000002
【００３９】
図３は、ＥＣＥＦ（Ｅａｒｔｈ−Ｃｅｎｔｅｒｅｄ  Ｅａｒｔｈ−Ｆｉｘｅｄ）座標系における人工衛星１０の軌道例を示した説明図である。ＥＣＥＦ座標系は、地球８の重心を原点とし、Ｘ軸が春分点に向けられている座標系である。
【００４０】
図３に示したように、ＥＣＥＦ座標系において人工衛星１０の軌道は、昇降点経度Ωと、近地点引数ωと、軌道傾斜角ｉとから表現される。人工衛星１０が赤道面を通過する点は昇降点と呼ばれ、昇降点経度Ωは、昇降点とＸ軸との間の角度を示す。近地点引数ωは、原点から見た近地点の方向を昇降点を基準にして示す角度である。また、軌道傾斜角ｉは、赤道面と軌道面とのなす角度を示す。
【００４１】
以上説明したように、軌道長半径Ａ、離心率ｅ、平均近点角Ｍ、昇降点経度Ω、近地点引数ω、および軌道傾斜角ｉからなる軌道の６要素により、ある特定の時刻における人工衛星１０の位置を表現することが可能である。
【００４２】
〔１−３〕航法メッセージの構成
続いて、図４を参照し、航法メッセージの構成について説明する。
【００４３】
図４は、航法メッセージのフレーム構成を示した説明図である。図４に示したように、航法メッセージの１フレームは、５つのサブフレームから構成される。また、１フレーム長さは３０秒であり、１５００ｂｉｔｓの情報量を有する。
【００４４】
各サブフレームには固定パターンであるプリアンブルに続いてデータが記載される。図４においては、当該プリアンブルを色を付して示している。また、各サブフレームの長さは６秒であり、３００ｂｉｔｓの情報量を有する。
【００４５】
最初のサブフレーム１から、３つ目のサブフレーム３には、「〔１−２〕人工衛星位置の表現方法」において説明した６要素を算出するためのパラメータや、航法メッセージの送信時刻ｔｏｃなどのエフェメリス情報が含まれる。６要素を算出するためのパラメータとしては、基準時刻における平均近点離角Ｍ０、近地点引数ω０、現ＧＰＳ週開始時の昇交点赤経Ω０、基準時刻における軌道傾斜角ｉ０があげられる。以下に、これら要素を用いて平均近点角Ｍ、昇降点経度Ω、近地点引数ω、および軌道傾斜角ｉを算出するための数式を示す。
【００４６】
【数２】
0004766067.tif 000003
【００４７】
また、４つ目のサブフレーム４および５つ目のサブフレーム５には、全ての人工衛星１０で共通のアルマナック（Ａｌｍａｎａｃ）情報が含まれる。アルマナック情報は、全ての人工衛星１０の６要素や、いずれの人工衛星１０が使用可能であるかを示す情報などが含まれる。
【００４８】
また、各サブフレームは、図４の下段に示したように、１０のワードから構成される。各ワードは６０ミリ秒であり、３０ｂｉｔｓの情報量を有する。また、各ワードは、データの後にパリティビットが配されている。図４においては、パリティビットを斜線で示している。
【００４９】
このような航法メッセージには、その他、週番号（Ｗｅｅｋ  ＮＯ）、Ｚ−ｃｏｕｎｔ、エポック時刻ｔｏｅ、ａｆ０（衛星時計のオフセット）、ａｆ１（衛星時計のドリフト）、ａｆ２（衛星時計周波数のドリフト）、Ωｄｏｔ（昇交点赤への時間変化率）、ｉｄｏｔ（軌道傾斜角の時間変化率）、Δｎ（平均運動差）、ＣｕｃおよびＣｕｓ（緯度引数に対する調和補正項の大きさ）、ＣｒｃおよびＣｒｉ（軌道半径に対する調和補正項の大きさ）、ＳＶｈｅａｌｔｈ、Ａ−Ｓ、Ｉｏｎｏｓｐｈｅｒｉｃ  Ｃｏｒｒｅｃｔｉｏｎ、ＵＴＣ  Ｐａｒａｍｅｒｅｒｓなどが含まれる。また、エポック時刻ｔｏｅは、エフェメリス情報を更新、生成した時刻を示す。
【００５０】
〔２〕本実施形態に至る経緯
以上、図１〜図４を参照して本実施形態にかかる人工衛星システム１について概略的に説明した。続いて、本実施形態に関連する受信機を比較例としてあげ、本実施形態に至った経緯について説明する。
【００５１】
本実施形態に関連する受信機は、「〔１〕人工衛星システムの概要」において説明したように、人工衛星１０から航法メッセージを受信し、航法メッセージに含まれるエフェメリス情報に基づいて人工衛星１０の位置を算出する。そして、本実施形態に関連する受信機は、算出した人工衛星１０の位置を利用し、当該受信機の現在の３次元位置を未知数とした方程式を演算する。
【００５２】
しかし、「〔１−３〕航法メッセージの構成」において説明したように、人工衛星１０から送信される航法メッセージのフレームは、長さが３０秒程度であり、５つのサブフレームから構成される。また、エフェメリス情報は最初のサブフレームから３番目のサブフレームに含まれているため、本実施形態に関連する受信機は、エフェメリス情報を有していない場合、または有効期限が過ぎている場合などには、現在位置を計算するまでに数十秒〜数分を要する。
【００５３】
かかる問題は、カーナビゲーションシステムが主な用途であったＧＰＳの受信機が、携帯電話や携帯型撮像装置などにも搭載されるようになったため、一層重要となりつつある。例えば、写真の撮像場所を事後的に確認できるよう、撮像した写真と、ＧＰＳにより取得した位置情報を対応付けて記録する携帯型撮像装置があったとする。この携帯型撮像装置を利用するユーザが写真を撮像した直後に移動した場合、位置情報の取得が写真の撮影から数十秒〜数分が経過した後では、撮像した写真に対応付けられる位置情報が実際の撮像場所と大きく相違してしまうという懸念がある。
【００５４】
そこで、上記のような事情を一着眼点にして本実施形態にかかる受信機２０を創作するに至った。本実施形態にかかる受信機２０によれば、航法メッセージに含まれるエフェメリス情報を利用することなく人工衛星１０の位置を算出することが可能である。以下、このような受信機２０について、図５〜図１０を参照して詳細に説明する。
【００５５】
〔３〕本実施形態にかかる受信機の構成
〔３−１〕受信機のハードウェア構成
図５は、本実施形態にかかる受信機２０のハードウェア構成を示した説明図である。図５に示したように、受信機２０は、アンテナ２１２、周波数変換部２２０、同期捕捉部２４０、および同期保持部２５０を含む受信処理部２１０と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２６０と、ＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）２６４と、タイマ２６８と、メモリ２７０と、ＸＯ（水晶発振器、Ｘ’ｔａｌ  Ｏｓｃｉｌｌａｔｏｒ）２７２、ＴＣＸＯ（Ｔｅｍｐｅｒａｔｕｒｅ  Ｃｏｍｐｅｎｓａｔｅｄ  Ｘ’ｔａｌ  Ｏｓｃｉｌｌａｔｏｒ）２７４と、逓倍／分周器２７６と、を備える。
【００５６】
ＸＯ２７２は、所定の周波数を有する信号を発振し、発振した信号をＲＴＣ２６４へ供給する。ＴＣＸＯ２７４は、ＸＯ２７２と異なる周波数を有する信号を発振し、発振した信号を逓倍／分周器２７６へ供給する。逓倍／分周器２７６は、ＴＣＸＯ２７４から供給された信号を、ＣＰＵ２６０からの指示に基づいて、逓倍、分周またはその双方を行なう。そして、逓倍／分周器２７６は、逓倍、分周またはその双方を行った信号を、周波数変換部２２０の周波数シンセサイザ２２８、ＣＰＵ２６０、タイマ２６８、メモリ２７０、同期捕捉部２４０、および同期保持部２５０へ供給する。
【００５７】
アンテナ２１２は、人工衛星１０から送信された航法メッセージなどの無線信号を受信し、該無線信号を電気信号に変換して周波数変換部２２０へ供給する。
【００５８】
周波数変換部２２０は、ＬＮＡ（Ｌｏｗ  Ｎｏｉｓｅ  Ａｍｐｌｉｆｉｅｒ）２２２と、ＢＰＦ（Ｂａｎｄ  Ｐａｓｓ  Ｆｉｌｔｅｒ）２２４と、増幅器２２６と、周波数シンセサイザ２２８と、乗算器２３０と、増幅器２３２と、ＬＰＦ（Ｌｏｗ  Ｐａｓｓ  Ｆｉｌｔｅｒ）２３４と、ＡＤＣ（Ａｎａｌｏｇ  Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ）２３６と、を備える。
【００５９】
ＬＮＡ２２２は、アンテナ２１２から供給された信号を増幅し、ＢＰＦ２２４へ供給する。ＢＰＦ２２４は、ＬＮＡにより増幅された信号の周波数成分のうちで、特定の周波数成分のみを抽出して増幅器２２６へ供給する。増幅器２２６は、ＢＰＦ２２４により抽出された周波数成分を有する信号（周波数ＦＲＦ）を増幅し、乗算器２３０へ供給する。
【００６０】
周波数シンセサイザ２２８は、ＴＣＸＯ２７４から供給される信号を利用し、ＣＰＵ２６０からの指示に基づいて周波数ＦＬＯを有する信号を生成する。そして、周波数シンセサイザ２２８は、生成した周波数ＦＬＯを有する信号を乗算器２３０へ供給する。
【００６１】
乗算器２３０は、増幅器２２６から供給される周波数ＦＲＦを有する信号と、周波数シンセサイザ２２８から供給される周波数ＦＬＯを有する信号を乗算する。すなわち、乗算器２３０は、高周波信号をＩＦ（Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｆｒｅｑｕｅｎｃｙ）信号（中間周波数信号）にダウンコンバージョンする。
【００６２】
増幅器２３２は、乗算器２３０によりダウンコンバージョンされたＩＦ信号を増幅し、ＬＰＦ２３４へ供給する。
【００６３】
ＬＰＦ２３４は、増幅器２３０により増幅されたＩＦ信号の周波数成分のうちで低周波成分を抽出し、抽出した低周波成分を有する信号をＡＤＣ２３６へ供給する。なお、図５においては増幅器２３２とＡＤＣ２３６の間にＬＰＦ２３４が配置される例を説明しているが、増幅器２３２とＡＤＣ２３６の間にはＢＰＦが配置されてもよい。
【００６４】
ＡＤＣ２３６は、ＬＰＦ２３４から供給されたアナログ形式のＩＦ信号をデジタル形式に変換し、デジタル形式に変換したＩＦ信号を同期捕捉部２４０および同期保持部２５０へ供給する。
【００６５】
同期捕捉部２４０は、ＣＰＵ２６０による制御に基づき、逓倍／分周器２７６から供給される信号を利用してＡＤＣ２３６から供給されるＩＦ信号の拡散符号の同期捕捉を行い、また、ＩＦ信号のキャリア周波数を検出する。同期捕捉には、例えば、スライディング相関器やマッチドフィルタなどの任意の構成を用いてもよい。そして、同期捕捉部２４０は、拡散符号の位相やＩＦ信号のキャリア周波数などを同期保持部２５０およびＣＰＵ２６０へ供給する。
【００６６】
同期保持部２５０は、ＣＰＵ２６０による制御に基づき、逓倍／分周器２７６から供給される信号を利用してＡＤＣ２３６から供給されるＩＦ信号の拡散符号とキャリアの同期保持を行なう。より詳細には、同期保持部２５０は、同期捕捉部２４０から供給される拡散符号の位相やＩＦ信号のキャリア周波数を初期値として動作する。また、同期保持部２５０は、ＡＤＣ２３６から供給されるＩＦ信号に含まれる航法メッセージを復調し、ＣＰＵ２６０へ供給する。
【００６７】
ＣＰＵ２６０は、同期保持部２５０から供給される航法メッセージに基づいて、各人工衛星１０の位置や速度を算出し、「〔１〕人工衛星システムの概要」で説明したような方法により受信機２０の位置を計算する。また、ＣＰＵ２６０は、航法メッセージに基づいてＲＴＣ２６４の時間情報を補正を行なったり、制御端子、Ｉ／Ｏ端子、および付加機能端子などに接続され各種制御を行なったりする。さらに、本実施形態にかかるＣＰＵ２６０は、「〔３−３〕ＣＰＵの詳細な機能」において詳細に説明するように、航法メッセージを利用しなくても人工衛星１０の位置を算出することができる。
【００６８】
ＲＴＣ２６４は、ＸＯ２７２から供給される所定の周波数を有する信号を利用して時間を計測する。ＲＴＣ２６４が計測する時間は、ＣＰＵ２６０により適宜補正される。
【００６９】
タイマ２６８は、逓倍／分周器２７６から供給される信号を利用して計時する。かかるタイマ２６８は、ＣＰＵ２６０による各種制御の開始タイミングを決定する際などに参照される。
【００７０】
メモリ２７０は、ＣＰＵ２６０による作業空間、プログラムの記憶部、航法メッセージの記憶部、および後述のモデル式の記憶部などとしての機能を有する。かかるメモリ２７０は、例えば、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの不揮発性メモリや、ハードディスクおよび円盤型磁性体ディスクなどの磁気ディスクや、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ）／ＲＷ（ＲｅＷｒｉｔａｂｌｅ）、ＤＶＤ−Ｒ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ）／ＲＷ／＋Ｒ／＋ＲＷ／ＲＡＭ（Ｒａｍｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびＢＤ（Ｂｌｕ−Ｒａｙ  Ｄｉｓｃ（登録商標））―Ｒ／ＢＤ−ＲＥなどの光ディスクや、ＭＯ（Ｍａｇｎｅｔｏ  Ｏｐｔｉｃａｌ）ディスクなどの記憶媒体であってもよい。
【００７１】
〔３−２〕受信機の動作例の概要
以上、図５を参照して本実施形態にかかる受信機２０のハードウェア構成について説明した。続いて、図６を参照し、受信機２０の動作例について概略的に説明する。
【００７２】
図６は、本実施形態にかかる受信機２０の動作例の流れを示したフローチャートである。図６に示したように、受信機２０が起動されると、ＣＰＵ２６０が初期設定を行う（Ｓ４２）。続いて、ＲＴＣ２６４により１秒がカウントされると（Ｓ４４）、ＣＰＵ２６０は各チャンネルに対して人工衛星１０を割当てる（Ｓ４６）。
【００７３】
その後、受信処理部２１０により航法メッセージが取得されると（Ｓ４８）、ＣＰＵ２６０は実際に捕捉する少なくとも４個以上の人工衛星１０を選択する（Ｓ５０）。そして、ＣＰＵ２６０は、選択した人工衛星１０の現在位置、および速度を算出し（Ｓ５２）、算出された人工衛星１０の現在位置、および速度に基づいて受信機２０の現在位置、および速度を計算する（Ｓ５４）。
【００７４】
続いて、ＣＰＵ２６０は、計算した受信機２０の現在位置、および速度を表す出力メッセージを作成し（Ｓ５６）、該出力メッセージに応じたコマンド処理を実行した後にＳ４４の処理に戻る（Ｓ５８）。
【００７５】
〔３−３〕ＣＰＵの詳細な機能
以上、図５および図６を参照して本実施形態にかかる受信機２０について概略的に説明した。次に、図７および図８を参照し、本実施形態にかかる受信機２０に設けられるＣＰＵ２６０の詳細な機能を説明する。
【００７６】
図７は、ＣＰＵ２６０に実装される機能の一例を模式的に示した機能ブロック図である。図７に示したように、ＣＰＵ２６０は、位置測位部３１０と、モデル式決定部３２０と、係数算出部３３０と、衛星位置推定部３４０と、スリープ制御部３５０と、更新判断部３６０と、を備える。
【００７７】
位置測位部３１０は、受信処理部２１０から供給される航法メッセージを利用して受信機２０の現在位置を計算する。また、位置測位部３１０は、衛星位置推定部３４０により推定された人工衛星１０の位置に基づいて受信機２０の位置を推定する装置位置推定部としての機能も有する。
【００７８】
モデル式決定部３２０は、エフェメリス情報のパラメータである軌道長半径Ａの平方根、離心率ｅ、平均近点離角Ｍ０、近地点引数ω０、昇交点赤経Ω０、軌道傾斜角ｉ０などのパラメータの値を推定するためのモデル式を決定する。以下、当該モデル式について説明する。
【００７９】
エフェメリス情報の各パラメータの変化には、人工衛星１０が地球を周回する周期（約２３時間５６分）、引力を及ぼす月との位置関係に関する周期（約１ヶ月）、引力を及ぼす太陽との位置関係に関する周期（約１年）が関係していると考えられる。したがって、エフェメリス情報の各パラメータの値は、以下の数式３に示すように、各パラメータの変化に関係する周期や、該周期の整数分の１の正弦関数と余弦関数の和にオフセット量Ｃを加えたモデル式で表現される。
【００８０】
【数３】
0004766067.tif 000004
【００８１】
数式３において、Ｔｎは上述したような各パラメータの変化に関係する周期の各々を示し、Ａｎは正弦関数の係数を示し、Ｂｎは余弦関数の係数を示し、Ｘは特定の時刻示し、Ｎは考慮する周期の数を示す。すなわち、数式３は、エフェメリス情報の各パラメータの値を、周期関数項の和で表されるモデル式（推定式）で表現したものである。
【００８２】
このようにエフェメリス情報の各パラメータの値を周期関数項の和で表すモデル式の妥当性について、図８を用いて検証する。
【００８３】
図８は、エフェメリス情報の各パラメータの実測値を示した説明図である。より詳細に説明すると、図８Ａは離心率ｅの実測値を示し、図８Ｂは軌道長半径Ａの平方根の実測値を示し、図８Ｃは軌道傾斜角ｉ０の実測値を示し、図８Ｄは平均近点角Ｍ０の実測値を示し、図８Ｅは近地点引数ω０の実測値を示し、図８Ｆは昇降点経度Ω０の実測値を示している。
【００８４】
図８Ａを参照すると、離心率ｅは時間の経過と共に全体的にはグラフ下方へ値が変化しているが、例えば１０日などの短周期では上昇、下降を周期的に繰り返していることが確認できる。軌道長半径Ａの平方根も同様に、図８Ｂに示したように時間の経過と共に全体的には上昇しているが、例えば１０日などの短周期では上昇、下降を周期的に繰り返している。図８Ｃ〜図８Ｆを参照すると、平均近点角Ｍ０、昇降点経度Ω０、近地点引数ω０、および軌道傾斜角ｉ０についても、複数の周波数成分の合成により表現することに妥当性がある変化をしていることが確認できる。
【００８５】
しかし、図８に示したように、エフェメリス情報の各パラメータは異なる変化をするため、エフェメリス情報の各パラメータのモデル式、すなわちＮの値や、ＡｎおよびＢｎなどの係数も各パラメータに応じて決定されるべきである。
【００８６】
そこで、モデル式決定部３２０は、エフェメリス情報の各パラメータの特性に応じ、パラメータごとにＮおよびＴｎの値を決定する。ここで、モデル式決定部３２０は、パラメータの値に対して寄与の少ない周期の周期関数項はモデル式から排除してもよい。かかる構成により、算出すべき係数の数やメモリ２７０への記録量を抑制することができる。
【００８７】
係数算出部３３０は、メモリ２７０に記録されている過去のエフェメリス情報の各パラメータに基づいて、数式３におけるＡｎおよびＢｎを算出する。その際、係数算出部３３０は、例えば以下の数式４の値が最小になるような値にＡｎおよびＢｎを最小二乗法により算出する。なお、数式４においては、時刻Ｘｍにおけるあるパラメータの値がＹｍに該当する。
【００８８】
【数４】
0004766067.tif 000005
【００８９】
ここで、所定周期を有する周期関数項の係数を、該所定周期より極端に短い期間内に取得されたエフェメリス情報に基づいて算出した場合や、該所定周期より極端に長い期間内に取得されたエフェメリス情報に基づいて算出した場合、該係数の精度が懸念される。そこで、係数算出部３３０は、各周期関数項の周期Ｔｎに応じて使用する過去のエフェメリス情報の期間を変えて最小二乗法を複数回行なってもよい。
【００９０】
例えば、係数算出部３３０は、周期Ｔｎが長い第１の周期関数項の係数を第１の期間のエフェメリス情報を使用して算出し、第１の周期関数項の係数を固定し、第１の周期関数項より周期が短い第２の周期関数項の係数を、第１の期間の後半の時間のエフェメリス情報を使用して算出してもよい。かかる構成により、モデル式の精度の向上を図ることができる。
【００９１】
このようにして係数算出部３３０により算出された各周期関数項の係数ＡｎおよびＢｎは、エフェメリス情報のパラメータごとにメモリ２７０に記録される。なお、メモリ２７０には受信処理部２１０により取得されたエフェメリス情報も記録されるが、新たなエフェメリス情報が記録される際に古いエフェメリス情報を削除することにより、メモリ２７０に保持されるエフェメリス情報のデータ量の増加を抑止できる。
【００９２】
なお、各周期関数項の係数ＡｎおよびＢｎは、受信機２０の製造時に外部演算装置３０によりメモリ２７０に記録されてもよい。外部演算装置３０は、エフェメリス情報記憶部３２と、モデル式決定部３４と、係数算出部３６とを備える。
【００９３】
エフェメリス情報記憶部３２は、過去のエフェメリス情報が記録されている記憶媒体である。エフェメリス情報記憶部３２は、メモリ２７０と同様に、例えば、ＥＥＰＲＯＭ、ＥＰＲＯＭなどの不揮発性メモリや、ハードディスクおよび円盤型磁性体ディスクなどの磁気ディスクや、ＣＤ−Ｒ／ＲＷ、ＤＶＤ−Ｒ／ＲＷ／＋Ｒ／＋ＲＷ／ＲＡＭおよびＢＤ（Ｂｌｕ−Ｒａｙ  Ｄｉｓｃ（登録商標））―Ｒ／ＢＤ−ＲＥなどの光ディスクや、ＭＯディスクなどの記憶媒体であってもよい。
【００９４】
モデル式決定部３４は、受信機２０のモデル式決定部３２０と同様に、エフェメリス情報のパラメータごとに、適切なモデル式を決定する。係数算出部３６は、受信機２０の係数算出部３３０と同様に、モデル式決定部３４により決定されたモデル式における各周期関数項の係数を、エフェメリス情報記憶部３２に記録されている過去のエフェメリス情報に基づいて算出する。
【００９５】
このように、受信機２０の製造時に、外部演算装置３０により算出された各周期関数項の係数ＡｎおよびＢｎがメモリ２７０に記録されれば、受信機２０に必ずしもモデル式決定部３２０および係数算出部３３０を設けなくてもよい。その結果、受信機２０の構成の簡素化を図ることができる。
【００９６】
衛星位置推定部３４０は、モデル式決定部３２０により決定されたモデル式に、係数算出部３３０により算出された係数、および任意の時刻の一例として現在時刻を代入することにより、エフェメリス情報の各パラメータの値を算出する。その際、衛星位置推定部３４０は、保持されている時刻情報を利用しても、航法メッセージのＨＯＷ（Ｈａｎｄ  Ｏｖｅｒ  Ｗｏｒｄ）に含まれる時刻情報（ＴＯＷ）を利用してもよい。そして、衛星位置推定部３４０は、算出したエフェメリス情報の各パラメータの値に基づいて人工衛星１０の現在位置を推定する。例えば、衛星位置推定部３４０は、平均近点離角Ｍ０、近地点引数ω０、昇交点赤経Ω０、軌道傾斜角ｉ０などから平均近点離角Ｍ、近地点引数ω、昇交点赤経Ω、軌道傾斜角ｉの値を推定する。
【００９７】
位置測位部３１０は、このように衛星位置推定部３４０により推定された人工衛星１０の現在位置を利用して受信機２０の現在位置を推定することが可能である。その際、位置測位部３１０は、衛星位置推定部３４０と同様に、保持されている時刻情報を利用しても、航法メッセージのＨＯＷに含まれる時刻情報を利用してもよい。
【００９８】
以上説明したように、本実施形態にかかる受信機２０によれば、衛星位置推定部３４０がモデル式に基づいて人工衛星１０の位置を早期に推定することができる。しかし、係数算出部３３０により算出された各周期関数項の係数の値は、時間の経過と共に信頼性が低下する。そこで、本実施形態にかかるＣＰＵ２６０には、係数の値を更新するための更新判断部３６０の機能が実装される。
【００９９】
さらに、係数の値を更新する際にはメモリ２７０に過去のエフェメリス情報が十分に記録されている必要があるが、受信機２０が長期間にわたって起動されていなかった場合、メモリ２７０には過去のエフェメリス情報が十分に記録されていない場合がある。そこで、本実施形態にかかるＣＰＵ２６０には、エフェメリス情報を定期的にメモリ２７０に記録するためのスリープ制御部３５０の機能が実装される。以下、このようなスリープ制御部３５０および更新判断部３６０の機能について説明する。
【０１００】
（スリープ制御部３５０）
スリープ制御部３５０は、受信機２０が起動しているがスリープ状態である場合、タイマ２６８を参照し、間欠的に、測位に支障の出ない優先順位で受信処理部２１０に航法メッセージを取得させる。
【０１０１】
また、スリープ制御部３５０は、受信機２０が起動していない場合でも、タイマ２６８を参照して定期的に受信機２０を起動させ、受信処理部２１０に航法メッセージを取得させる。
【０１０２】
かかる構成により、間欠的に受信処理部２１０により新たなエフェメリス情報が取得される。その結果、長期間にわたりエフェメリス情報が取得されず各周期関数項の係数を適切に算出できなくなる場合を抑制することができる。
【０１０３】
（更新判断部３６０）
更新判断部３６０は、タイマ２６８を参照し、所定のタイミングで係数算出部３３０に各周期関数項の係数を再度算出させる、すなわち更新させる。所定のタイミングは、前回の係数算出部３３０による更新時から所定期間が経過した後であっても、ユーザによる要求があったときであってもよい。
【０１０４】
かかる構成により、各周期関数項の係数の値の信頼性が時間の経過と共に低下してしまう場合を防止し、各周期関数項の係数の値の信頼性を維持することができる。
【０１０５】
〔３−４〕位置推定方法の流れ
以上、図７および図８を参照してＣＰＵ２６０の詳細な機能を説明した。続いて、図９および図１０を参照し、位置推定方法の流れを説明する。
【０１０６】
図９は、製造時におけるモデル式の決定から人工衛星１０の位置が推定されるまでの流れを示したフローチャートである。まず、図９に示したように、外部演算装置３０のモデル式決定部３４がエフェメリス情報のパラメータごとにモデル式を決定する（Ｓ４０４）。そして、係数算出部３６は、算出するパラメータごとに使用する過去のエフェメリス情報の期間を決定する（Ｓ４０８）。
【０１０７】
その後、係数算出部３６は、最小二乗法によりモデル式における周期関数項の係数を算出する（Ｓ４１２）。そして、あるパラメータについての全ての係数の算出が終了し（Ｓ４１６）、全てのパラメータの係数の算出が終了すると（Ｓ４２０）、パラメータごとの係数を含むモデル式が受信機２０のメモリ２７０に記録される（Ｓ４２４）。受信機２０の衛星位置推定部３４０は、こうしてメモリ２７０に記録されたモデル式に基づいて人工衛星１０の位置を推定することができる（Ｓ４２８）。
【０１０８】
図１０は、係数の更新から人工衛星１０の位置が推定されるまでの流れを示したフローチャートである。まず、図１０に示したように、受信機２０のモデル式決定部３２０がエフェメリス情報のパラメータごとにモデル式を決定する（Ｓ４５４）。そして、係数算出部３３０は、メモリ２７０に記録されている過去のエフェメリス情報を利用し、最小二乗法によりモデル式における周期関数項の係数を算出する（Ｓ４５８）。
【０１０９】
そして、係数算出部３３０は、あるパラメータについての全ての係数の算出が終了し（Ｓ４６２）、全てのパラメータの係数の算出が終了すると（Ｓ４６６）、メモリ２７０に記録されているモデル式における係数を算出した係数に更新する（Ｓ４７０）。受信機２０の衛星位置推定部３４０は、こうして更新された係数を含むモデル式に基づいて人工衛星１０の位置を推定することができる（Ｓ４７４）。
【０１１０】
〔４〕まとめ
以上説明したように、本実施形態においては、衛星位置推定部３４０が航法メッセージに含まれるエフェメリス情報を利用することなく人工衛星１０の位置を推定することができる。すなわち、本実施形態にかかる受信機２０は、より迅速に、かつ、周期関数項の和で表されるモデル式を演算するという比較的に簡易な方法により人工衛星１０の位置を把握することが可能である。
【０１１１】
また、メモリ２７０には、新たなエフェメリス情報が記録されていく。また、係数算出部３３０は、更新判断部３６０からの指示に基づいてメモリ２７０に記録されているエフェメリス情報から周期関数項の各々の係数を算出するため、周期関数項の各々の係数が順次新たな値に更新される。したがって、当該受信機２０によれば、時間が経過しても、人工衛星１０の位置推定のためのモデル式の正確性を維持することが可能である。
【０１１２】
また、当該受信機２０は、人工衛星１０からのエフェメリス情報を利用することなく人工衛星１０の位置を推定できるため、人工衛星１０からのエフェメリス情報を復調することなく受信機２０の位置を推定することができる。このため、受信機２０の位置推定に要する時間が短縮され、ユーザビリティが向上される。
【０１１３】
また、上記では、軌道長半径Ａの平方根、離心率ｅ、平均近点離角Ｍ０、近地点引数ω０、昇交点赤経Ω０、軌道傾斜角ｉ０などのパラメータを推定する例を説明したが、本発明はかかる例に限定されない。例えば、上記説明した方法を適用することにより、Ωｄｏｔ、ｉｄｏｔ、Δｎ、ＣｕｃおよびＣｕｓ、ＣｒｃおよびＣｒｉなどの他の要素を推定することも可能である。  
【０１１４】
なお、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【０１１５】
例えば、本明細書の受信機２０の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、受信機２０の処理における各ステップは、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）を含んでもよい。
【０１１６】
また、ＣＰＵ２６０を、位置測位部３１０、モデル式決定部３２０、係数算出部３３０、衛星位置推定部３４０、スリープ制御部３５０、および更新判断部３６０として機能させるためのコンピュータプログラムも提供される。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。また、図７の機能ブロック図で示したそれぞれの機能ブロックをハードウェアで構成することで、一連の処理をハードウェアで実現することもできる。
【図面の簡単な説明】
【０１１７】
【図１】本実施形態にかかる人工衛星システムの構成を示した説明図である。
【図２】ＸＹ座標系における人工衛星の軌道例を示した説明図である。
【図３】ＥＣＥＦ座標系における人工衛星１０の軌道例を示した説明図である。
【図４】航法メッセージのフレーム構成を示した説明図である。
【図５】本実施形態にかかる受信機のハードウェア構成を示した説明図である。
【図６】本実施形態にかかる受信機の動作例の流れを示したフローチャートである。
【図７】ＣＰＵに実装される機能の一例を模式的に示した機能ブロック図である。
【図８Ａ】離心率ｅの実測値を示した説明図である。
【図８Ｂ】軌道長半径Ａの平方根の実測値を示した説明図である。
【図８Ｃ】軌道傾斜角ｉ０の実測値を示した説明図である。
【図８Ｄ】平均近点角Ｍ０の実測値を示した説明図である。
【図８Ｅ】近地点引数ω０の実測値を示した説明図である。
【図８Ｆ】昇降点経度Ω０の実測値を示した説明図である。
【図９】製造時におけるモデル式の決定から人工衛星の位置が推定されるまでの流れを示したフローチャートである。
【図１０】係数の更新から人工衛星の位置が推定されるまでの流れを示したフローチャートである。
【符号の説明】
【０１１８】
１０、１０Ａ、１０Ｂ、１０Ｃ、１０Ｄ    人工衛星
２０      受信機
３０      外部演算装置
３２      エフェメリス情報記憶部
２１０    受信処理部
２２０    周波数変換部
２４０    同期捕捉部
２５０    同期保持部
２６０    ＣＰＵ
２６４    ＲＴＣ
２６８    タイマ
２７０    メモリ
３１０    位置測位部
３４、３２０    モデル式決定部
３６、３３０    係数算出部
３４０    衛星位置推定部
３５０    スリープ制御部
３６０    更新判断部
【図１】
0004766067.tif 000006
【図２】
0004766067.tif 000007
【図３】
0004766067.tif 000008
【図４】
0004766067.tif 000009
【図５】
0004766067.tif 000010
【図６】
0004766067.tif 000011
【図７】
0004766067.tif 000012
【図９】
0004766067.tif 000013
【図１０】
0004766067.tif 000014
【図８Ａ】
0004766067.tif 000015
【図８Ｂ】
0004766067.tif 000016
【図８Ｃ】
0004766067.tif 000017
【図８Ｄ】
0004766067.tif 000018
【図８Ｅ】
0004766067.tif 000019
【図８Ｆ】
0004766067.tif 000020