説明

情報処理装置、位置推定方法、プログラム、および人工衛星システム

【課題】航法メッセージに含まれる衛星位置情報を利用することなく、人工衛星の位置を早期に推定可能とする。
【解決手段】1または2以上の周期関数項の和で表される人工衛星の位置の推定式に任意の時刻を代入することにより、前記任意の時刻における前記人工衛星の位置を推定することにより、前記任意の時刻における前記人工衛星の位置を推定する衛星位置推定部を情報処理装置に設ける。前期周期関数項の各々の係数が算出されてから所定時間が経過したか否かを判断し所定時間が経過したと判断されると、前記周期関数項の各々の係数を再度算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、位置推定方法、プログラム、および人工衛星システムに関する。
【背景技術】
【0002】
近年、人工衛星から送信される航法メッセージを受信して現在位置を計算可能なGPS(Global Positioning System)受信機が、携帯電話やカーナビゲーションシステムに適用されるなど、広く普及している。
【0003】
具体的には、人工衛星から送信される航法メッセージには、人工衛星の軌道を示す軌道情報、信号の送信時刻などの情報が含まれる。GPS受信機は、4個以上の人工衛星から上記航法メッセージを受信し、航法メッセージに含まれる軌道情報から各人工衛星の位置を算出する。そして、GPS受信機は、各人工衛星の位置と、航法メッセージの送信時刻と受信時刻の差分に基づいて現在の3次元位置を連立方程式により計算することができる。軌道情報から各人工衛星の位置を算出する方法については、例えば特許文献1に記載されている。
【0004】
なお、3次元位置を計算する際に4個以上の人工衛星から送信された航法メッセージが必要となるのは、GPS受信機に内蔵される時計と、人工衛星に設けられている原子時計とに誤差が存在するためである。4個以上の人工衛星から送信された航法メッセージを利用することにより、3次元位置および時間からなる4つの未知のパラメータを計算することが可能となる。
【0005】
【特許文献1】特開平11−64481号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかし、人工衛星から送信される航法メッセージのフレームは、長さが30秒程度であり、5つのサブフレームから構成される。また、GPS受信機が人工衛星の位置を算出する際に利用される軌道情報などは最初の3つのサブフレームに含まれており、該3つのサブフレームを受信するまでに18秒程度を要する。その結果、GPS受信機は、人工衛星の軌道情報を有していない場合、または有効期限が過ぎている場合などには、現在位置を計算するまでに数十秒〜数分を要するため、ユーザビリティに問題があった。
【0007】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、人工衛星の位置を早期に推定可能な、新規かつ改良された情報処理装置、位置推定方法、プログラム、および人工衛星システムを提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある観点によれば、1または2以上の周期関数項の和で表される人工衛星の位置の推定式に任意の時刻を代入することにより、前記任意の時刻における前記人工衛星の位置を推定する衛星位置推定部を備える情報処理装置が提供される。
【0009】
かかる構成においては、衛星位置推定部が、航法メッセージに含まれる衛星位置情報を利用することなく人工衛星の位置を推定することができる。すなわち、当該情報処理装置は、より迅速に、かつ、周期関数項の和で表される推定式を演算するという比較的に簡易な方法により人工衛星の位置を把握することが可能である。
【0010】
前記情報処理装置は、前記人工衛星から送信される信号を受信して、前記信号に含まれる前記人工衛星の位置を示す衛星位置情報を取得する受信処理部と、前記受信処理部により取得された前記衛星位置情報が記録される記憶部と、前記記憶部に記録されている衛星位置情報から、前記推定式における前記周期関数項の各々の係数を算出する係数算出部と、をさらに備えてもよい。さらに、前記衛星位置推定部は、前記任意の時刻に加え、前記係数算出部により算出された係数を前記推定式に代入して前記人工衛星の位置を推定してもよい。
【0011】
かかる構成においては、記憶部には、新たな衛星位置情報が記録されていく。また、係数算出部は、記憶部に記録されている衛星位置情報から周期関数項の各々の係数を算出するため、周期関数項の各々の係数が順次新たな値に更新される。したがって、当該情報処理装置によれば、時間が経過しても、人工衛星の位置の推定式の正確性を維持することが可能である。
【0012】
前記係数算出部は、第1の期間内に前記受信処理部により取得された衛星位置情報に基づいて第1の周期を有する周期関数項の係数を算出し、前記第1の期間より短い第2の期間内に前記受信処理部により取得された衛星位置情報に基づいて前記第1の周期より短い第2の周期を有する周期関数項の係数を算出してもよい。例えば、所定周期を有する周期関数項の係数を、該所定周期より極端に短い期間内に取得された衛星位置情報に基づいて算出した場合や、該所定周期より極端に長い期間内に取得された衛星位置情報に基づいて算出した場合、該係数の精度が懸念される。そこで、上記のように、周期関数項の周期が長いほど、該周期関数項の係数をより長期間にわたって取得された衛星位置情報に基づいて算出することにより、推定式の精度および人工衛星の推定位置の精度向上を図ることができる。
【0013】
前記衛星位置情報は、前記人工衛星の位置を特定するための複数のパラメータを含み、前記推定式は、前記複数のパラメータの各々に応じて異なってもよい。かかる構成においては、各パラメータが時間の経過と共に異なる変化をするため、各パラメータごとに異なる推定式を適用することにより、パラメータごとに適切な推定値を算出することが可能となる。
【0014】
前記情報処理装置は、スリープ状態にある前記受信処理部を間欠的に起動して前記受信処理部に前記衛星位置情報を取得させる受信制御部をさらに備えてもよい。かかる構成においては、間欠的に受信処理部により新たな衛星位置情報が取得される。その結果、係数算出部により、推定式における周期関数項の各々の係数が順次新たな値に更新される。このため、当該情報処理装置は、長期間にわたり衛星位置情報が取得されず係数の信頼性が低下してしまう場合を抑制することができる。
【0015】
前記情報処理装置は、前記係数算出部により前記周期関数項の各々の係数が算出されてから所定時間が経過したか否かを判断する経過時間判断部をさらに備えてもよい。さらに前記係数算出部は、前記経過時間判断部により前記所定時間が経過したと判断されると、前記周期関数項の各々の係数を再度算出してもよい。
【0016】
前記情報処理装置は、前記衛星位置推定部により推定された前記任意の時刻における前記人工衛星の位置に基づいて、前記任意の時刻における自装置の位置を推定する装置位置推定部をさらに備えてもよい。上記のように、当該情報処理装置によれば、航法メッセージに含まれる衛星位置情報を利用することなく人工衛星の位置を推定することができる。したがって、装置位置推定部を備える当該情報処理装置は、自装置の位置推定に要する時間が短縮し、ユーザビリティを向上することができる。
【0017】
前記情報処理装置は、外部装置において得られた前記推定式が記録される記憶部をさらに備えてもよい。さらに、前記衛星位置推定部は、前記記憶部に記録されている前記推定式に基づいて前記人工衛星の位置を推定してもよい。かかる構成においては、必ずしも推定式を導出する構成を情報処理装置に設けなくてもよいため、当該情報処理装置の構成の簡素化を図ることができる。
【0018】
また、上記課題を解決するために、本発明の別の観点によれば、人工衛星の以前の位置を示す衛星位置情報から、1または2以上の周期関数項の和で表される前記人工衛星の位置の推定式における前記周期関数項の各々の係数を算出するステップと、前記推定式に任意の時刻および前記係数を代入することにより、前記任意の時刻における前記人工衛星の位置を推定するステップと、を含む位置推定方法が提供される。
【0019】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、1または2以上の周期関数項の和で表される人工衛星の位置の推定式に任意の時刻を代入することにより、前記任意の時刻における前記人工衛星の位置を推定する衛星位置推定部として機能させるための、プログラムが提供される。
【0020】
かかるプログラムは、例えばCPU、ROMまたはRAMなどを含むコンピュータのハードウェア資源に、上記のような衛星位置推定部の機能を実行させることができる。すなわち、当該プログラムを用いるコンピュータを、上述の衛星位置推定部として機能させることが可能である。
【0021】
また、上記課題を解決するために、本発明の別の観点によれば、人工衛星と、前記人工衛星から送信される信号を受信する受信装置とを含む人工衛星システムが提供される。より詳細には、前記人工衛星は、前記人工衛星の位置を示す衛星位置情報を含む信号を送信する。さらに、前記受信装置は、前記人工衛星から送信される信号を受信して、前記信号に含まれる前記人工衛星の位置を示す衛星位置情報を取得する受信処理部と、前記受信処理部により取得された前記衛星位置情報が記録される記憶部と、前記記憶部に記録されている衛星位置情報から、1または2以上の周期関数項の和で表される前記人工衛星の位置の推定式における前記周期関数項の各々の係数を算出する係数算出部と、前記推定式に任意の時刻および前記係数算出部により算出された係数を代入することにより、前記任意の時刻における前記人工衛星の位置を推定する衛星位置推定部と、を備える。
【0022】
かかる構成においては、記憶部には、新たな衛星位置情報が記録されていく。また、係数算出部は、記憶部に記録されている衛星位置情報から周期関数項の各々の係数を算出するため、周期関数項の各々の係数が順次新たな値に更新される。したがって、当該情報処理装置は、時間が経過しても、人工衛星の位置の推定式の正確性を維持することが可能である。さらに、衛星位置推定部は、航法メッセージに含まれる衛星位置情報を利用することなく人工衛星の位置を推定することができる。すなわち、当該情報処理装置は、より迅速に、かつ、周期関数項の和で表される推定式を演算するという比較的に簡易な方法により人工衛星の位置を把握することが可能である。
【発明の効果】
【0023】
以上説明したように本発明にかかる情報処理装置、位置推定方法、プログラム、および人工衛星システムによれば、人工衛星の位置を早期に推定することができる。
【発明を実施するための最良の形態】
【0024】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0025】
また、以下に示す項目順序に従って当該「発明を実施するための最良の形態」を説明する。
〔1〕人工衛星システムの概要
〔1−1〕GPSによる位置測位の概要
〔1−2〕人工衛星位置の表現方法
〔1−3〕航法メッセージの構成
〔2〕本実施形態に至る経緯
〔3〕本実施形態にかかる受信機の構成
〔3−1〕受信機のハードウェア構成
〔3−2〕受信機の動作例の概要
〔3−3〕CPUの詳細な機能
〔3−4〕位置推定方法の流れ
〔4〕まとめ
【0026】
〔1〕人工衛星システムの概要
まず、図1〜図4を参照し、本実施形態にかかる人工衛星システム1について概略的に説明する。
【0027】
〔1−1〕GPSによる位置測位の概要
図1は、本実施形態にかかる人工衛星システム1の構成を示した説明図である。図1に示したように、当該人工衛星システム1は、複数の人工衛星10A〜10Dと、受信機20と、を備える。図1においては、各人工衛星を区別するために、人工衛星10A〜10Dのように符号の後に大文字のアルファベットを付しているが、各人工衛星を特に区別する必要が無い場合、単に人工衛星10と総称する。
【0028】
人工衛星10(GPS衛星)は、地球8の上空を周回している。図1には、4個の人口衛星10A〜10Dのみを示しているが、例えば、6軌道面に4個ずつで計24個の人口衛星が地球8の上空を周回する。
【0029】
また、人工衛星10は、人工衛星の軌道情報や、航法メッセージの送信時刻などのエフェメリス(Ephemeris)情報を含む航法メッセージ(詳細については「〔1−3〕航法メッセージの内容」において説明する。)を送信する。人工衛星10には原子時計が設けられており、送信時刻は、人工衛星10に設けられている原子時計に従って例えば1秒単位で表現される。
【0030】
なお、人工衛星10は、L1帯、C/Aコードと呼ばれる信号、すなわち、符号長が1,023でありチップレートが1.023MHzであるGold符号で50bpsのデータをスペクトラム拡散し、スペクトラム拡散した信号で1,575.42MHzのキャリアをBPSK(Binary Phase Shift Keying)変調した信号により上記航法メッセージを送信する。
【0031】
地球8に存在する受信機20は、人工衛星10A〜10Dから送信される航法メッセージを受信し、受信した航法メッセージに基づいて自装置の現在位置を計算することができる。
【0032】
より詳細には、受信機20は、人工衛星10A〜10Dから送信された航法メッセージを受信し、航法メッセージからエフェメリス情報を取得する。そして、受信機20は、エフェメリス情報から、人工衛星10A〜10Dの位置を算出する。また、受信機20は、エフェメリス情報に含まれる送信時刻と、航法メッセージの受信時刻の差分により、人工衛星10A〜10Dと受信機20の間の距離を算出する。その後、受信機20は、算出した人工衛星10A〜10Dの各々の位置と、人工衛星10A〜10Dの各々と受信機20の間の距離を利用し、受信機20の現在の3次元位置を未知数とした方程式を演算する。
【0033】
このように受信機20の現在の3次元位置を演算する際には、4個以上の人工衛星10から送信された航法メッセージが必要となる。これは、受信機20に内蔵される時計(RTC:Real Time Clock)と、人工衛星10に設けられている原子時計とに誤差が存在するためである。なお、本実施形態にかかる受信機20は、「〔3〕本実施形態にかかる受信機の構成」において説明するように、航法メッセージに含まれるエフェメリス情報を利用することなく人工衛星10の位置を算出することが可能である。
【0034】
また、人工衛星10は、所定周期でエフェメリス情報を更新し、更新したエフェメリス情報を含む航法メッセージを送信する。ここで、人工衛星10は常に移動しているため、エフェメリス情報の更新時から時間が経過するにつれ、エフェメリス情報に基づいて算出される人工衛星10の位置と、実際の人工衛星10の位置との誤差が大きくなる。このため、航法メッセージに含まれるエフェメリス情報には例えば2時間程度の有効期限が設定されている。
【0035】
以上、図1を参照してGPSによる位置測位について概略的に説明した。図1においては受信機20を情報処理装置の一例として丸印で示しているが、受信機20は、PC(Personal Computer)、家庭用映像処理装置(DVDレコーダ、ビデオデッキなど)、携帯電話、PHS(Personal Handyphone System)、携帯用音楽再生装置、携帯用映像処理装置、PDA(Personal Digital Assistants)、家庭用ゲーム機器、携帯用ゲーム機器、家電機器、および車載器などの情報処理装置であってもよい。
【0036】
〔1−2〕人工衛星位置の表現方法
続いて、図2および図3を参照し、人工衛星10の位置を表現するために用いられる衛星位置情報としてのパラメータについて説明する。
【0037】
図2は、XY座標系における人工衛星10の軌道例を示した説明図である。図2に示したように、XY座標系において、地球8を周回する人工衛星10の軌道は、ケプラーの法則を満たし、地球8の重心F1を一つの焦点とする楕円軌道を描くと考えられる。かかる楕円軌道は、楕円の軌道長半径Aと、楕円の偏平さを表す離心率eと、平均近点角Mにより表現される。軌道上で最も地球8に近い点は近地点と呼ばれる。また、離心率eは、以下に示す数式1を満たす値である。なお、数式1において、Bは楕円の短径に該当する。
【0038】
【数1】

【0039】
図3は、ECEF(Earth−Centered Earth−Fixed)座標系における人工衛星10の軌道例を示した説明図である。ECEF座標系は、地球8の重心を原点とし、X軸が春分点に向けられている座標系である。
【0040】
図3に示したように、ECEF座標系において人工衛星10の軌道は、昇降点経度Ωと、近地点引数ωと、軌道傾斜角iとから表現される。人工衛星10が赤道面を通過する点は昇降点と呼ばれ、昇降点経度Ωは、昇降点とX軸との間の角度を示す。近地点引数ωは、原点から見た近地点の方向を昇降点を基準にして示す角度である。また、軌道傾斜角iは、赤道面と軌道面とのなす角度を示す。
【0041】
以上説明したように、軌道長半径A、離心率e、平均近点角M、昇降点経度Ω、近地点引数ω、および軌道傾斜角iからなる軌道の6要素により、ある特定の時刻における人工衛星10の位置を表現することが可能である。
【0042】
〔1−3〕航法メッセージの構成
続いて、図4を参照し、航法メッセージの構成について説明する。
【0043】
図4は、航法メッセージのフレーム構成を示した説明図である。図4に示したように、航法メッセージの1フレームは、5つのサブフレームから構成される。また、1フレーム長さは30秒であり、1500bitsの情報量を有する。
【0044】
各サブフレームには固定パターンであるプリアンブルに続いてデータが記載される。図4においては、当該プリアンブルを色を付して示している。また、各サブフレームの長さは6秒であり、300bitsの情報量を有する。
【0045】
最初のサブフレーム1から、3つ目のサブフレーム3には、「〔1−2〕人工衛星位置の表現方法」において説明した6要素を算出するためのパラメータや、航法メッセージの送信時刻tocなどのエフェメリス情報が含まれる。6要素を算出するためのパラメータとしては、基準時刻における平均近点離角M、近地点引数ω、現GPS週開始時の昇交点赤経Ω、基準時刻における軌道傾斜角iがあげられる。以下に、これら要素を用いて平均近点角M、昇降点経度Ω、近地点引数ω、および軌道傾斜角iを算出するための数式を示す。
【0046】
【数2】

【0047】
また、4つ目のサブフレーム4および5つ目のサブフレーム5には、全ての人工衛星10で共通のアルマナック(Almanac)情報が含まれる。アルマナック情報は、全ての人工衛星10の6要素や、いずれの人工衛星10が使用可能であるかを示す情報などが含まれる。
【0048】
また、各サブフレームは、図4の下段に示したように、10のワードから構成される。各ワードは60ミリ秒であり、30bitsの情報量を有する。また、各ワードは、データの後にパリティビットが配されている。図4においては、パリティビットを斜線で示している。
【0049】
このような航法メッセージには、その他、週番号(Week NO)、Z−count、エポック時刻toe、af0(衛星時計のオフセット)、af1(衛星時計のドリフト)、af2(衛星時計周波数のドリフト)、Ωdot(昇交点赤への時間変化率)、idot(軌道傾斜角の時間変化率)、Δn(平均運動差)、CucおよびCus(緯度引数に対する調和補正項の大きさ)、CrcおよびCri(軌道半径に対する調和補正項の大きさ)、SVhealth、A−S、Ionospheric Correction、UTC Paramerersなどが含まれる。また、エポック時刻toeは、エフェメリス情報を更新、生成した時刻を示す。
【0050】
〔2〕本実施形態に至る経緯
以上、図1〜図4を参照して本実施形態にかかる人工衛星システム1について概略的に説明した。続いて、本実施形態に関連する受信機を比較例としてあげ、本実施形態に至った経緯について説明する。
【0051】
本実施形態に関連する受信機は、「〔1〕人工衛星システムの概要」において説明したように、人工衛星10から航法メッセージを受信し、航法メッセージに含まれるエフェメリス情報に基づいて人工衛星10の位置を算出する。そして、本実施形態に関連する受信機は、算出した人工衛星10の位置を利用し、当該受信機の現在の3次元位置を未知数とした方程式を演算する。
【0052】
しかし、「〔1−3〕航法メッセージの構成」において説明したように、人工衛星10から送信される航法メッセージのフレームは、長さが30秒程度であり、5つのサブフレームから構成される。また、エフェメリス情報は最初のサブフレームから3番目のサブフレームに含まれているため、本実施形態に関連する受信機は、エフェメリス情報を有していない場合、または有効期限が過ぎている場合などには、現在位置を計算するまでに数十秒〜数分を要する。
【0053】
かかる問題は、カーナビゲーションシステムが主な用途であったGPSの受信機が、携帯電話や携帯型撮像装置などにも搭載されるようになったため、一層重要となりつつある。例えば、写真の撮像場所を事後的に確認できるよう、撮像した写真と、GPSにより取得した位置情報を対応付けて記録する携帯型撮像装置があったとする。この携帯型撮像装置を利用するユーザが写真を撮像した直後に移動した場合、位置情報の取得が写真の撮影から数十秒〜数分が経過した後では、撮像した写真に対応付けられる位置情報が実際の撮像場所と大きく相違してしまうという懸念がある。
【0054】
そこで、上記のような事情を一着眼点にして本実施形態にかかる受信機20を創作するに至った。本実施形態にかかる受信機20によれば、航法メッセージに含まれるエフェメリス情報を利用することなく人工衛星10の位置を算出することが可能である。以下、このような受信機20について、図5〜図10を参照して詳細に説明する。
【0055】
〔3〕本実施形態にかかる受信機の構成
〔3−1〕受信機のハードウェア構成
図5は、本実施形態にかかる受信機20のハードウェア構成を示した説明図である。図5に示したように、受信機20は、アンテナ212、周波数変換部220、同期捕捉部240、および同期保持部250を含む受信処理部210と、CPU(Central Processing Unit)260と、RTC(Real Time Clock)264と、タイマ268と、メモリ270と、XO(水晶発振器、X’tal Oscillator)272、TCXO(Temperature Compensated X’tal Oscillator)274と、逓倍/分周器276と、を備える。
【0056】
XO272は、所定の周波数を有する信号を発振し、発振した信号をRTC264へ供給する。TCXO274は、XO272と異なる周波数を有する信号を発振し、発振した信号を逓倍/分周器276へ供給する。逓倍/分周器276は、TCXO274から供給された信号を、CPU260からの指示に基づいて、逓倍、分周またはその双方を行なう。そして、逓倍/分周器276は、逓倍、分周またはその双方を行った信号を、周波数変換部220の周波数シンセサイザ228、CPU260、タイマ268、メモリ270、同期捕捉部240、および同期保持部250へ供給する。
【0057】
アンテナ212は、人工衛星10から送信された航法メッセージなどの無線信号を受信し、該無線信号を電気信号に変換して周波数変換部220へ供給する。
【0058】
周波数変換部220は、LNA(Low Noise Amplifier)222と、BPF(Band Pass Filter)224と、増幅器226と、周波数シンセサイザ228と、乗算器230と、増幅器232と、LPF(Low Pass Filter)234と、ADC(Analog Digital Converter)236と、を備える。
【0059】
LNA222は、アンテナ212から供給された信号を増幅し、BPF224へ供給する。BPF224は、LNAにより増幅された信号の周波数成分のうちで、特定の周波数成分のみを抽出して増幅器226へ供給する。増幅器226は、BPF224により抽出された周波数成分を有する信号(周波数FRF)を増幅し、乗算器230へ供給する。
【0060】
周波数シンセサイザ228は、TCXO274から供給される信号を利用し、CPU260からの指示に基づいて周波数FLOを有する信号を生成する。そして、周波数シンセサイザ228は、生成した周波数FLOを有する信号を乗算器230へ供給する。
【0061】
乗算器230は、増幅器226から供給される周波数FRFを有する信号と、周波数シンセサイザ228から供給される周波数FLOを有する信号を乗算する。すなわち、乗算器230は、高周波信号をIF(Intermediate Frequency)信号(中間周波数信号)にダウンコンバージョンする。
【0062】
増幅器232は、乗算器230によりダウンコンバージョンされたIF信号を増幅し、LPF234へ供給する。
【0063】
LPF234は、増幅器230により増幅されたIF信号の周波数成分のうちで低周波成分を抽出し、抽出した低周波成分を有する信号をADC236へ供給する。なお、図5においては増幅器232とADC236の間にLPF234が配置される例を説明しているが、増幅器232とADC236の間にはBPFが配置されてもよい。
【0064】
ADC236は、LPF234から供給されたアナログ形式のIF信号をデジタル形式に変換し、デジタル形式に変換したIF信号を同期捕捉部240および同期保持部250へ供給する。
【0065】
同期捕捉部240は、CPU260による制御に基づき、逓倍/分周器276から供給される信号を利用してADC236から供給されるIF信号の拡散符号の同期捕捉を行い、また、IF信号のキャリア周波数を検出する。同期捕捉には、例えば、スライディング相関器やマッチドフィルタなどの任意の構成を用いてもよい。そして、同期捕捉部240は、拡散符号の位相やIF信号のキャリア周波数などを同期保持部250およびCPU260へ供給する。
【0066】
同期保持部250は、CPU260による制御に基づき、逓倍/分周器276から供給される信号を利用してADC236から供給されるIF信号の拡散符号とキャリアの同期保持を行なう。より詳細には、同期保持部250は、同期捕捉部240から供給される拡散符号の位相やIF信号のキャリア周波数を初期値として動作する。また、同期保持部250は、ADC236から供給されるIF信号に含まれる航法メッセージを復調し、CPU260へ供給する。
【0067】
CPU260は、同期保持部250から供給される航法メッセージに基づいて、各人工衛星10の位置や速度を算出し、「〔1〕人工衛星システムの概要」で説明したような方法により受信機20の位置を計算する。また、CPU260は、航法メッセージに基づいてRTC264の時間情報を補正を行なったり、制御端子、I/O端子、および付加機能端子などに接続され各種制御を行なったりする。さらに、本実施形態にかかるCPU260は、「〔3−3〕CPUの詳細な機能」において詳細に説明するように、航法メッセージを利用しなくても人工衛星10の位置を算出することができる。
【0068】
RTC264は、XO272から供給される所定の周波数を有する信号を利用して時間を計測する。RTC264が計測する時間は、CPU260により適宜補正される。
【0069】
タイマ268は、逓倍/分周器276から供給される信号を利用して計時する。かかるタイマ268は、CPU260による各種制御の開始タイミングを決定する際などに参照される。
【0070】
メモリ270は、CPU260による作業空間、プログラムの記憶部、航法メッセージの記憶部、および後述のモデル式の記憶部などとしての機能を有する。かかるメモリ270は、例えば、EEPROM(Electrically Erasable Programmable Read−Only Memory)、EPROM(Erasable Programmable Read Only Memory)などの不揮発性メモリや、ハードディスクおよび円盤型磁性体ディスクなどの磁気ディスクや、CD−R(Compact Disc Recordable)/RW(ReWritable)、DVD−R(Digital Versatile Disc Recordable)/RW/+R/+RW/RAM(Ramdom Access Memory)およびBD(Blu−Ray Disc(登録商標))―R/BD−REなどの光ディスクや、MO(Magneto Optical)ディスクなどの記憶媒体であってもよい。
【0071】
〔3−2〕受信機の動作例の概要
以上、図5を参照して本実施形態にかかる受信機20のハードウェア構成について説明した。続いて、図6を参照し、受信機20の動作例について概略的に説明する。
【0072】
図6は、本実施形態にかかる受信機20の動作例の流れを示したフローチャートである。図6に示したように、受信機20が起動されると、CPU260が初期設定を行う(S42)。続いて、RTC264により1秒がカウントされると(S44)、CPU260は各チャンネルに対して人工衛星10を割当てる(S46)。
【0073】
その後、受信処理部210により航法メッセージが取得されると(S48)、CPU260は実際に捕捉する少なくとも4個以上の人工衛星10を選択する(S50)。そして、CPU260は、選択した人工衛星10の現在位置、および速度を算出し(S52)、算出された人工衛星10の現在位置、および速度に基づいて受信機20の現在位置、および速度を計算する(S54)。
【0074】
続いて、CPU260は、計算した受信機20の現在位置、および速度を表す出力メッセージを作成し(S56)、該出力メッセージに応じたコマンド処理を実行した後にS44の処理に戻る(S58)。
【0075】
〔3−3〕CPUの詳細な機能
以上、図5および図6を参照して本実施形態にかかる受信機20について概略的に説明した。次に、図7および図8を参照し、本実施形態にかかる受信機20に設けられるCPU260の詳細な機能を説明する。
【0076】
図7は、CPU260に実装される機能の一例を模式的に示した機能ブロック図である。図7に示したように、CPU260は、位置測位部310と、モデル式決定部320と、係数算出部330と、衛星位置推定部340と、スリープ制御部350と、更新判断部360と、を備える。
【0077】
位置測位部310は、受信処理部210から供給される航法メッセージを利用して受信機20の現在位置を計算する。また、位置測位部310は、衛星位置推定部340により推定された人工衛星10の位置に基づいて受信機20の位置を推定する装置位置推定部としての機能も有する。
【0078】
モデル式決定部320は、エフェメリス情報のパラメータである軌道長半径Aの平方根、離心率e、平均近点離角M、近地点引数ω、昇交点赤経Ω、軌道傾斜角iなどのパラメータの値を推定するためのモデル式を決定する。以下、当該モデル式について説明する。
【0079】
エフェメリス情報の各パラメータの変化には、人工衛星10が地球を周回する周期(約23時間56分)、引力を及ぼす月との位置関係に関する周期(約1ヶ月)、引力を及ぼす太陽との位置関係に関する周期(約1年)が関係していると考えられる。したがって、エフェメリス情報の各パラメータの値は、以下の数式3に示すように、各パラメータの変化に関係する周期や、該周期の整数分の1の正弦関数と余弦関数の和にオフセット量Cを加えたモデル式で表現される。
【0080】
【数3】

【0081】
数式3において、Tnは上述したような各パラメータの変化に関係する周期の各々を示し、Anは正弦関数の係数を示し、Bnは余弦関数の係数を示し、Xは特定の時刻示し、Nは考慮する周期の数を示す。すなわち、数式3は、エフェメリス情報の各パラメータの値を、周期関数項の和で表されるモデル式(推定式)で表現したものである。
【0082】
このようにエフェメリス情報の各パラメータの値を周期関数項の和で表すモデル式の妥当性について、図8を用いて検証する。
【0083】
図8は、エフェメリス情報の各パラメータの実測値を示した説明図である。より詳細に説明すると、図8Aは離心率eの実測値を示し、図8Bは軌道長半径Aの平方根の実測値を示し、図8Cは軌道傾斜角iの実測値を示し、図8Dは平均近点角Mの実測値を示し、図8Eは近地点引数ωの実測値を示し、図8Fは昇降点経度Ωの実測値を示している。
【0084】
図8Aを参照すると、離心率eは時間の経過と共に全体的にはグラフ下方へ値が変化しているが、例えば10日などの短周期では上昇、下降を周期的に繰り返していることが確認できる。軌道長半径Aの平方根も同様に、図8Bに示したように時間の経過と共に全体的には上昇しているが、例えば10日などの短周期では上昇、下降を周期的に繰り返している。図8C〜図8Fを参照すると、平均近点角M、昇降点経度Ω、近地点引数ω、および軌道傾斜角iについても、複数の周波数成分の合成により表現することに妥当性がある変化をしていることが確認できる。
【0085】
しかし、図8に示したように、エフェメリス情報の各パラメータは異なる変化をするため、エフェメリス情報の各パラメータのモデル式、すなわちNの値や、AnおよびBnなどの係数も各パラメータに応じて決定されるべきである。
【0086】
そこで、モデル式決定部320は、エフェメリス情報の各パラメータの特性に応じ、パラメータごとにNおよびTnの値を決定する。ここで、モデル式決定部320は、パラメータの値に対して寄与の少ない周期の周期関数項はモデル式から排除してもよい。かかる構成により、算出すべき係数の数やメモリ270への記録量を抑制することができる。
【0087】
係数算出部330は、メモリ270に記録されている過去のエフェメリス情報の各パラメータに基づいて、数式3におけるAnおよびBnを算出する。その際、係数算出部330は、例えば以下の数式4の値が最小になるような値にAnおよびBnを最小二乗法により算出する。なお、数式4においては、時刻Xmにおけるあるパラメータの値がYmに該当する。
【0088】
【数4】

【0089】
ここで、所定周期を有する周期関数項の係数を、該所定周期より極端に短い期間内に取得されたエフェメリス情報に基づいて算出した場合や、該所定周期より極端に長い期間内に取得されたエフェメリス情報に基づいて算出した場合、該係数の精度が懸念される。そこで、係数算出部330は、各周期関数項の周期Tnに応じて使用する過去のエフェメリス情報の期間を変えて最小二乗法を複数回行なってもよい。
【0090】
例えば、係数算出部330は、周期Tnが長い第1の周期関数項の係数を第1の期間のエフェメリス情報を使用して算出し、第1の周期関数項の係数を固定し、第1の周期関数項より周期が短い第2の周期関数項の係数を、第1の期間の後半の時間のエフェメリス情報を使用して算出してもよい。かかる構成により、モデル式の精度の向上を図ることができる。
【0091】
このようにして係数算出部330により算出された各周期関数項の係数AnおよびBnは、エフェメリス情報のパラメータごとにメモリ270に記録される。なお、メモリ270には受信処理部210により取得されたエフェメリス情報も記録されるが、新たなエフェメリス情報が記録される際に古いエフェメリス情報を削除することにより、メモリ270に保持されるエフェメリス情報のデータ量の増加を抑止できる。
【0092】
なお、各周期関数項の係数AnおよびBnは、受信機20の製造時に外部演算装置30によりメモリ270に記録されてもよい。外部演算装置30は、エフェメリス情報記憶部32と、モデル式決定部34と、係数算出部36とを備える。
【0093】
エフェメリス情報記憶部32は、過去のエフェメリス情報が記録されている記憶媒体である。エフェメリス情報記憶部32は、メモリ270と同様に、例えば、EEPROM、EPROMなどの不揮発性メモリや、ハードディスクおよび円盤型磁性体ディスクなどの磁気ディスクや、CD−R/RW、DVD−R/RW/+R/+RW/RAMおよびBD(Blu−Ray Disc(登録商標))―R/BD−REなどの光ディスクや、MOディスクなどの記憶媒体であってもよい。
【0094】
モデル式決定部34は、受信機20のモデル式決定部320と同様に、エフェメリス情報のパラメータごとに、適切なモデル式を決定する。係数算出部36は、受信機20の係数算出部330と同様に、モデル式決定部34により決定されたモデル式における各周期関数項の係数を、エフェメリス情報記憶部32に記録されている過去のエフェメリス情報に基づいて算出する。
【0095】
このように、受信機20の製造時に、外部演算装置30により算出された各周期関数項の係数AnおよびBnがメモリ270に記録されれば、受信機20に必ずしもモデル式決定部320および係数算出部330を設けなくてもよい。その結果、受信機20の構成の簡素化を図ることができる。
【0096】
衛星位置推定部340は、モデル式決定部320により決定されたモデル式に、係数算出部330により算出された係数、および任意の時刻の一例として現在時刻を代入することにより、エフェメリス情報の各パラメータの値を算出する。その際、衛星位置推定部340は、保持されている時刻情報を利用しても、航法メッセージのHOW(Hand Over Word)に含まれる時刻情報(TOW)を利用してもよい。そして、衛星位置推定部340は、算出したエフェメリス情報の各パラメータの値に基づいて人工衛星10の現在位置を推定する。例えば、衛星位置推定部340は、平均近点離角M、近地点引数ω、昇交点赤経Ω、軌道傾斜角iなどから平均近点離角M、近地点引数ω、昇交点赤経Ω、軌道傾斜角iの値を推定する。
【0097】
位置測位部310は、このように衛星位置推定部340により推定された人工衛星10の現在位置を利用して受信機20の現在位置を推定することが可能である。その際、位置測位部310は、衛星位置推定部340と同様に、保持されている時刻情報を利用しても、航法メッセージのHOWに含まれる時刻情報を利用してもよい。
【0098】
以上説明したように、本実施形態にかかる受信機20によれば、衛星位置推定部340がモデル式に基づいて人工衛星10の位置を早期に推定することができる。しかし、係数算出部330により算出された各周期関数項の係数の値は、時間の経過と共に信頼性が低下する。そこで、本実施形態にかかるCPU260には、係数の値を更新するための更新判断部360の機能が実装される。
【0099】
さらに、係数の値を更新する際にはメモリ270に過去のエフェメリス情報が十分に記録されている必要があるが、受信機20が長期間にわたって起動されていなかった場合、メモリ270には過去のエフェメリス情報が十分に記録されていない場合がある。そこで、本実施形態にかかるCPU260には、エフェメリス情報を定期的にメモリ270に記録するためのスリープ制御部350の機能が実装される。以下、このようなスリープ制御部350および更新判断部360の機能について説明する。
【0100】
(スリープ制御部350)
スリープ制御部350は、受信機20が起動しているがスリープ状態である場合、タイマ268を参照し、間欠的に、測位に支障の出ない優先順位で受信処理部210に航法メッセージを取得させる。
【0101】
また、スリープ制御部350は、受信機20が起動していない場合でも、タイマ268を参照して定期的に受信機20を起動させ、受信処理部210に航法メッセージを取得させる。
【0102】
かかる構成により、間欠的に受信処理部210により新たなエフェメリス情報が取得される。その結果、長期間にわたりエフェメリス情報が取得されず各周期関数項の係数を適切に算出できなくなる場合を抑制することができる。
【0103】
(更新判断部360)
更新判断部360は、タイマ268を参照し、所定のタイミングで係数算出部330に各周期関数項の係数を再度算出させる、すなわち更新させる。所定のタイミングは、前回の係数算出部330による更新時から所定期間が経過した後であっても、ユーザによる要求があったときであってもよい。
【0104】
かかる構成により、各周期関数項の係数の値の信頼性が時間の経過と共に低下してしまう場合を防止し、各周期関数項の係数の値の信頼性を維持することができる。
【0105】
〔3−4〕位置推定方法の流れ
以上、図7および図8を参照してCPU260の詳細な機能を説明した。続いて、図9および図10を参照し、位置推定方法の流れを説明する。
【0106】
図9は、製造時におけるモデル式の決定から人工衛星10の位置が推定されるまでの流れを示したフローチャートである。まず、図9に示したように、外部演算装置30のモデル式決定部34がエフェメリス情報のパラメータごとにモデル式を決定する(S404)。そして、係数算出部36は、算出するパラメータごとに使用する過去のエフェメリス情報の期間を決定する(S408)。
【0107】
その後、係数算出部36は、最小二乗法によりモデル式における周期関数項の係数を算出する(S412)。そして、あるパラメータについての全ての係数の算出が終了し(S416)、全てのパラメータの係数の算出が終了すると(S420)、パラメータごとの係数を含むモデル式が受信機20のメモリ270に記録される(S424)。受信機20の衛星位置推定部340は、こうしてメモリ270に記録されたモデル式に基づいて人工衛星10の位置を推定することができる(S428)。
【0108】
図10は、係数の更新から人工衛星10の位置が推定されるまでの流れを示したフローチャートである。まず、図10に示したように、受信機20のモデル式決定部320がエフェメリス情報のパラメータごとにモデル式を決定する(S454)。そして、係数算出部330は、メモリ270に記録されている過去のエフェメリス情報を利用し、最小二乗法によりモデル式における周期関数項の係数を算出する(S458)。
【0109】
そして、係数算出部330は、あるパラメータについての全ての係数の算出が終了し(S462)、全てのパラメータの係数の算出が終了すると(S466)、メモリ270に記録されているモデル式における係数を算出した係数に更新する(S470)。受信機20の衛星位置推定部340は、こうして更新された係数を含むモデル式に基づいて人工衛星10の位置を推定することができる(S474)。
【0110】
〔4〕まとめ
以上説明したように、本実施形態においては、衛星位置推定部340が航法メッセージに含まれるエフェメリス情報を利用することなく人工衛星10の位置を推定することができる。すなわち、本実施形態にかかる受信機20は、より迅速に、かつ、周期関数項の和で表されるモデル式を演算するという比較的に簡易な方法により人工衛星10の位置を把握することが可能である。
【0111】
また、メモリ270には、新たなエフェメリス情報が記録されていく。また、係数算出部330は、更新判断部360からの指示に基づいてメモリ270に記録されているエフェメリス情報から周期関数項の各々の係数を算出するため、周期関数項の各々の係数が順次新たな値に更新される。したがって、当該受信機20によれば、時間が経過しても、人工衛星10の位置推定のためのモデル式の正確性を維持することが可能である。
【0112】
また、当該受信機20は、人工衛星10からのエフェメリス情報を利用することなく人工衛星10の位置を推定できるため、人工衛星10からのエフェメリス情報を復調することなく受信機20の位置を推定することができる。このため、受信機20の位置推定に要する時間が短縮され、ユーザビリティが向上される。
【0113】
また、上記では、軌道長半径Aの平方根、離心率e、平均近点離角M、近地点引数ω、昇交点赤経Ω、軌道傾斜角iなどのパラメータを推定する例を説明したが、本発明はかかる例に限定されない。例えば、上記説明した方法を適用することにより、Ωdot、idot、Δn、CucおよびCus、CrcおよびCriなどの他の要素を推定することも可能である。
【0114】
なお、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0115】
例えば、本明細書の受信機20の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、受信機20の処理における各ステップは、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)を含んでもよい。
【0116】
また、CPU260を、位置測位部310、モデル式決定部320、係数算出部330、衛星位置推定部340、スリープ制御部350、および更新判断部360として機能させるためのコンピュータプログラムも提供される。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。また、図7の機能ブロック図で示したそれぞれの機能ブロックをハードウェアで構成することで、一連の処理をハードウェアで実現することもできる。
【図面の簡単な説明】
【0117】
【図1】本実施形態にかかる人工衛星システムの構成を示した説明図である。
【図2】XY座標系における人工衛星の軌道例を示した説明図である。
【図3】ECEF座標系における人工衛星10の軌道例を示した説明図である。
【図4】航法メッセージのフレーム構成を示した説明図である。
【図5】本実施形態にかかる受信機のハードウェア構成を示した説明図である。
【図6】本実施形態にかかる受信機の動作例の流れを示したフローチャートである。
【図7】CPUに実装される機能の一例を模式的に示した機能ブロック図である。
【図8A】離心率eの実測値を示した説明図である。
【図8B】軌道長半径Aの平方根の実測値を示した説明図である。
【図8C】軌道傾斜角iの実測値を示した説明図である。
【図8D】平均近点角Mの実測値を示した説明図である。
【図8E】近地点引数ωの実測値を示した説明図である。
【図8F】昇降点経度Ωの実測値を示した説明図である。
【図9】製造時におけるモデル式の決定から人工衛星の位置が推定されるまでの流れを示したフローチャートである。
【図10】係数の更新から人工衛星の位置が推定されるまでの流れを示したフローチャートである。
【符号の説明】
【0118】
10、10A、10B、10C、10D 人工衛星
20 受信機
30 外部演算装置
32 エフェメリス情報記憶部
210 受信処理部
220 周波数変換部
240 同期捕捉部
250 同期保持部
260 CPU
264 RTC
268 タイマ
270 メモリ
310 位置測位部
34、320 モデル式決定部
36、330 係数算出部
340 衛星位置推定部
350 スリープ制御部
360 更新判断部

【特許請求の範囲】
【請求項1】
1または2以上の周期関数項の和で表される人工衛星の位置の推定式に任意の時刻を代入することにより、前記任意の時刻における前記人工衛星の位置を推定する衛星位置推定部を備えることを特徴とする、情報処理装置。
【請求項2】
前記情報処理装置は、
前記人工衛星から送信される信号を受信して、前記信号に含まれる前記人工衛星の位置を示す衛星位置情報を取得する受信処理部と;
前記受信処理部により取得された前記衛星位置情報が記録される記憶部と;
前記記憶部に記録されている衛星位置情報から、前記推定式における前記周期関数項の各々の係数を算出する係数算出部と;
をさらに備え、
前記衛星位置推定部は、前記任意の時刻に加え、前記係数算出部により算出された係数を前記推定式に代入して前記人工衛星の位置を推定することを特徴とする、請求項1に記載の情報処理装置。
【請求項3】
前記係数算出部は、第1の期間内に前記受信処理部により取得された衛星位置情報に基づいて第1の周期を有する周期関数項の係数を算出し、前記第1の期間より短い第2の期間内に前記受信処理部により取得された衛星位置情報に基づいて前記第1の周期より短い第2の周期を有する周期関数項の係数を算出することを特徴とする、請求項2に記載の情報処理装置。
【請求項4】
前記衛星位置情報は、前記人工衛星の位置を特定するための複数のパラメータを含み、
前記推定式は、前記複数のパラメータの各々に応じて異なることを特徴とする、請求項2に記載の情報処理装置。
【請求項5】
前記情報処理装置は、スリープ状態にある前記受信処理部を間欠的に起動して前記受信処理部に前記衛星位置情報を取得させる受信制御部をさらに備えることを特徴とする、請求項2に記載の情報処理装置。
【請求項6】
前記情報処理装置は、前記係数算出部により前記周期関数項の各々の係数が算出されてから所定時間が経過したか否かを判断する経過時間判断部をさらに備え、
前記係数算出部は、前記経過時間判断部により前記所定時間が経過したと判断されると、前記周期関数項の各々の係数を再度算出することを特徴とする、請求項2に記載の情報処理装置。
【請求項7】
前記情報処理装置は、前記衛星位置推定部により推定された前記任意の時刻における前記人工衛星の位置に基づいて、前記任意の時刻における自装置の位置を推定する装置位置推定部をさらに備えることを特徴とする、請求項2に記載の情報処理装置。
【請求項8】
前記情報処理装置は、
外部装置において得られた前記推定式が記録される記憶部をさらに備え、
前記衛星位置推定部は、前記記憶部に記録されている前記推定式に基づいて前記人工衛星の位置を推定することを特徴とする、請求項1に記載の情報処理装置。
【請求項9】
人工衛星の以前の位置を示す衛星位置情報から、1または2以上の周期関数項の和で表される前記人工衛星の位置の推定式における前記周期関数項の各々の係数を算出するステップと;
前記推定式に任意の時刻および前記係数を代入することにより、前記任意の時刻における前記人工衛星の位置を推定するステップと;
を含むことを特徴とする、位置推定方法。
【請求項10】
コンピュータを、
1または2以上の周期関数項の和で表される人工衛星の位置の推定式に任意の時刻を代入することにより、前記任意の時刻における前記人工衛星の位置を推定する衛星位置推定部として機能させるための、プログラム。
【請求項11】
人工衛星と、前記人工衛星から送信される信号を受信する受信装置とを含む人工衛星システムであって:
前記人工衛星は、前記人工衛星の位置を示す衛星位置情報を含む信号を送信し、
前記受信装置は、
前記人工衛星から送信される信号を受信して、前記信号に含まれる前記人工衛星の位置を示す衛星位置情報を取得する受信処理部と;
前記受信処理部により取得された前記衛星位置情報が記録される記憶部と;
前記記憶部に記録されている衛星位置情報から、1または2以上の周期関数項の和で表される前記人工衛星の位置の推定式における前記周期関数項の各々の係数を算出する係数算出部と;
前記推定式に任意の時刻および前記係数算出部により算出された係数を代入することにより、前記任意の時刻における前記人工衛星の位置を推定する衛星位置推定部と;
を備えることを特徴とする、人工衛星システム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図9】
image rotate

【図10】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図8C】
image rotate

【図8D】
image rotate

【図8E】
image rotate

【図8F】
image rotate


【公開番号】特開2009−243946(P2009−243946A)
【公開日】平成21年10月22日(2009.10.22)
【国際特許分類】
【出願番号】特願2008−88078(P2008−88078)
【出願日】平成20年3月28日(2008.3.28)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】