(57)【要約】【課題】ユーザーに携帯され、測位用信号を受信して位置を算出する電子機器が非並進移動状態にあるか否かを判定するための新しい手法の提案。【解決手段】測位用信号であるＧＰＳ衛星信号の受信信号に対して、所与の予測周波数に基づいて相関演算を行う（ステップＳ１）。そして、相関演算の結果に基づくＧＰＳ衛星信号の搬送波位相を用いて、予測周波数の誤差周波数を推定する（ステップＳ３）。次いで、誤差周波数が所定の許容条件を満たすか否かを判定し（ステップＳ５）、その判定の結果を用いて、電子機器がユーザーのボディに対して相対的に位置変化しながら移動する非並進移動状態にあるか否かを判定する（ステップＳ９）。【選択図】図２
2014119299.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーに携帯され、測位用信号を受信して位置を算出する電子機器の制御方法であって、
受信した前記測位用信号に対して、所与の予測周波数に基づいて相関演算を行うことと、
前記相関演算の結果に基づく前記測位用信号の搬送波位相を用いて、前記予測周波数の誤差周波数を推定することと、
前記誤差周波数が所定の許容条件を満たすか否かを判定することと、
前記判定の結果を用いて、前記電子機器が前記ユーザーのボディに対して相対的に位置変化しながら移動する非並進移動状態にあるか否かを判定することと、
前記非並進移動状態にあると判定された場合に、位置算出の制御方法を変更する、或いは、表示制御を変更することと、
を含む制御方法。
【請求項２】
前記非並進移動状態にあるか否かの判定は、前記許容条件を満たさないとの判定が発生した発生回数、発生頻度、及び発生割合のうちの少なくとも１つの指標値に基づいて、前記非並進移動状態にあるか否かを判定することである、
請求項１に記載の制御方法。
【請求項３】
前記測位用信号は複数の衛星それぞれから送信されている信号であり、
前記複数の衛星の中から、前記非並進移動状態の判定に利用する衛星を選択すること、
を更に含み、
前記非並進移動状態にあるか否かの判定は、前記選択された衛星に係る前記誤差周波数が前記許容条件を満たすか否かの判定の結果を用いて、前記非並進移動状態にあるか否かを判定することを含む、
請求項１又は２に記載の制御方法。
【請求項４】
前記測位用信号は複数の衛星それぞれから送信されている信号であり、
前記非並進移動状態にあるか否かの判定は、前記複数の衛星のうち、前記判定の結果が、前記許容条件を満たさないと判定された衛星の数、頻度、及び割合のうちの少なくとも１つの指標値に基づいて、前記非並進移動状態にあるか否かを判定することである、
請求項１に記載の制御方法。
【請求項５】
前記非並進移動状態にあるか否かの判定は、
前記指標値の時間変化に基づいて、当該指標値の突発値を除去するフィルター処理を施すことと、
前記フィルター処理を施した前記指標値に基づいて、前記非並進移動状態にあるか否かを判定することと、
を含む請求項２〜４の何れか一項に記載の制御方法。
【請求項６】
ユーザーに携帯され、測位用信号を受信して位置を算出する電子機器であって、
受信した前記測位用信号に対して、所与の予測周波数に基づいて相関演算を行う相関演算部と、
前記相関演算の結果に基づく前記測位用信号の搬送波位相を用いて、前記予測周波数の誤差周波数を推定する推定部と、
前記誤差周波数が所定の許容条件を満たすか否かを判定する判定部と、
前記判定の結果を用いて、前記電子機器が前記ユーザーのボディに対して相対的に位置変化しながら移動する非並進移動状態にあるか否かを判定する非並進移動状態判定部と、
前記非並進移動状態判定部により肯定判定された場合に、位置算出の制御方法を変更する、或いは、表示制御を変更する制御変更部と、
を備えた電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザーに携帯され、測位用信号を受信して位置を算出する電子機器の制御方法等に関する。
【背景技術】
【０００２】
ユーザーに携帯され、測位用信号を受信して位置を算出する電子機器として、携帯型電話機（スマートフォンを含む。）や携帯型カーナビゲーション装置、ＰＤＡ（Personal Digital Assistant）、ランナーズウォッチといった種々の電子機器が知られている。これらの電子機器では、測位用信号を受信して位置を算出し、算出した位置に基づく種々の表示をする。
これらの電子機器の技術として、移動状態を判別する技術が特許文献１や特許文献２に開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２５７３７４号公報
【特許文献２】特開２０１２−１０７９９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１や２に開示されている技術では、加速度センサーの検出結果に基づいて電子機器（ユーザー）の移動状態を判定している。このため、この技術では加速度センサーを電子機器に設けることが必須である。
【０００５】
また、例えば、半導体の微細加工技術を応用したＭＥＭＳ（Micro Electro Mechanical Systems）による加速度センサーを考えた場合、ＭＥＭＳセンサーは衝撃や振動、温度変化等に敏感であり、様々な外乱的要因によってその検出精度が大きく変化する。このため、加速度センサーの検出結果に基づいて電子機器の移動状態を判定する場合、必ずしも正しく判定できるとは限らない。
【０００６】
本発明は上記の問題に鑑みてなされたものであり、ユーザーに携帯され、測位用信号を受信して位置を算出する電子機器の移動状態、特に電子機器がユーザーのボディ（胴部）に対して相対的に位置変化しながら移動する移動状態（以下、「非並進移動状態」と称す。）にあるか否かを判定するための新しい手法を提案することを目的とする。
【課題を解決するための手段】
【０００７】
以上の課題を解決するための第１の発明は、ユーザーに携帯され、測位用信号を受信して位置を算出する電子機器の制御方法であって、受信した前記測位用信号に対して、所与の予測周波数に基づいて相関演算を行うことと、前記相関演算の結果に基づく前記測位用信号の搬送波位相を用いて、前記予測周波数の誤差周波数を推定することと、前記誤差周波数が所定の許容条件を満たすか否かを判定することと、前記判定の結果を用いて、前記電子機器が前記ユーザーのボディに対して相対的に位置変化しながら移動する非並進移動状態にあるか否かを判定することと、前記非並進移動状態にあると判定された場合に、位置算出の制御方法を変更する、或いは、表示制御を変更することと、を含む制御方法である。
【０００８】
また、他の発明として、ユーザーに携帯され、測位用信号を受信して位置を算出する電子機器であって、受信した前記測位用信号に対して、所与の予測周波数に基づいて相関演算を行う相関演算部と、前記相関演算の結果に基づく前記測位用信号の搬送波位相を用いて、前記予測周波数の誤差周波数を推定する推定部と、前記誤差周波数が所定の許容条件を満たすか否かを判定する判定部と、前記判定の結果を用いて、前記電子機器が前記ユーザーのボディに対して相対的に位置変化しながら移動する非並進移動状態にあるか否かを判定する非並進移動状態判定部と、前記非並進移動状態判定部により肯定判定された場合に、位置算出の制御方法を変更する、或いは、表示制御を変更する制御変更部と、を備えた電子機器を構成することとしてもよい。
【０００９】
この第１の発明等によれば、受信した測位用信号に対して、所与の予測周波数に基づいて相関演算が行われる。そして、当該相関演算の結果に基づく測位用信号の搬送波位相を用いて、予測周波数の誤差周波数が推定される。予測周波数の誤差周波数が大きいほど、周波数が正しく予測されなかったことを意味する。例えば、ユーザーが電子機器を手に持って移動したり、電子機器を装着した腕を振りながら移動している場合等においては、ユーザーの腕振りに応じて電子機器の速度が周期的に変化する。電子機器の速度が変化すると、測位用信号を受信する際のドップラー周波数が変化する。しかし、測位用信号を受信して位置算出を行う一般的な電子機器では、腕振りに相当する周期での周波数変化に追従できる設計とはなっておらず、予測周波数と実際の周波数との間にズレが生じ、予測周波数の誤差周波数が大きくなる傾向がある。
【００１０】
そこで、誤差周波数が所定の許容条件を満たすか否かを判定し、当該判定の結果を用いて、電子機器がユーザーのボディに対して相対的に位置変化しながら移動する非並進移動状態にあるか否かを判定する。これにより、電子機器が非並進移動状態にあることを適切に検出することができる。また、非並進移動状態にあると判定された場合に、位置算出の制御方法を変更する、或いは、表示制御を変更することで、電子機器の移動状態に応じた適切な位置算出の制御、或いは、表示制御を実現することができる。
【００１１】
また、第２の発明として、第１の発明の制御方法における前記非並進移動状態にあるか否かの判定は、前記許容条件を満たさないとの判定が発生した発生回数、発生頻度、及び発生割合のうちの少なくとも１つの指標値に基づいて、前記非並進移動状態にあるか否かを判定することである、制御方法を構成することとしてもよい。
【００１２】
この第２の発明によれば、誤差周波数が許容条件を満たさないとの判定が発生した発生回数、発生頻度、及び発生割合のうちの少なくとも１つの指標値に基づいて非並進移動状態にあるか否かを判定することで、電子機器が非並進移動状態にあるか否かを適確に判定できる。
【００１３】
また、第３の発明として、第１又は第２の発明の制御方法において、前記測位用信号は複数の衛星それぞれから送信されている信号であり、前記複数の衛星の中から、前記非並進移動状態の判定に利用する衛星を選択すること、を更に含み、前記非並進移動状態にあるか否かの判定は、前記選択された衛星に係る前記誤差周波数が前記許容条件を満たすか否かの判定の結果を用いて、前記非並進移動状態にあるか否かを判定することを含む、制御方法を構成することとしてもよい。
【００１４】
この第３の発明によれば、複数の衛星の中から、非並進移動状態の判定に利用する衛星を選択する。そして、選択された衛星に係る誤差周波数が許容条件を満たすか否かの判定の結果を用いて、電子機器が非並進移動状態にあるか否かを判定する。例えば、受信した測位用信号の品質が高い衛星を非並進移動状態の判定に利用することで、非並進移動状態の判定の正確性を向上させることができる。
【００１５】
また、第４の発明として、第１の発明の制御方法において、前記測位用信号は複数の衛星それぞれから送信されている信号であり、前記非並進移動状態にあるか否かの判定は、前記複数の衛星のうち、前記判定の結果が、前記許容条件を満たさないと判定された衛星の数、頻度、及び割合のうちの少なくとも１つの指標値に基づいて、前記非並進移動状態にあるか否かを判定することである、制御方法を構成することとしてもよい。
【００１６】
この第４の発明によれば、複数の衛星のうち、判定の結果が、許容条件を満たさないと判定された衛星の数、頻度、及び割合のうちの少なくとも１つの指標値に基づいて、非並進移動状態にあるか否かを判定する。これにより、電子機器が非並進移動状態にあるか否かを適切に判定することが可能となる。
【００１７】
また、第５の発明として、第２〜第４の何れかの発明の制御方法における前記非並進移動状態にあるか否かの判定は、前記指標値の時間変化に基づいて、当該指標値の突発値を除去するフィルター処理を施すことと、前記フィルター処理を施した前記指標値に基づいて、前記非並進移動状態にあるか否かを判定することと、を含む制御方法を構成することとしてもよい。
【００１８】
この第５の発明によれば、指標値の時間変化に基づいて、当該指標値の突発値を除去するフィルター処理を施す。そして、フィルター処理を施した指標値に基づいて、非並進移動状態にあるか否かを判定する。このため、非並進移動状態の判定の確度を向上させることができる。
【図面の簡単な説明】
【００１９】
【図１】（１）停止時のドップラー周波数と予測ドップラー周波数との関係の模式図。（２）腕振り時のドップラー周波数と予測ドップラー周波数との関係の模式図。
【図２】非並進移動状態判定の手順を示すフローチャート。
【図３】誤差周波数の推定方法の説明図。
【図４】（１）並進移動状態での実験結果の一例を示す図。（２）非並進移動状態での実験結果の一例を示す図。
【図５】（１）並進移動状態での実験結果の一例を示す図。（２）非並進移動状態での実験結果の一例を示す図。
【図６】（１）並進移動状態での実験結果の一例を示す図。（２）非並進移動状態での実験結果の一例を示す図。
【図７】航法メッセージのデコード方法の説明図。
【図８】スマートフォンの機能構成の一例を示すブロック図。
【図９】ログデータのデータ構成の一例を示す図。
【図１０】ベースバンド処理回路部の回路構成の一例を示す図。
【図１１】非並進移動状態判定用データのデータ構成の一例を示す図。
【図１２】ベースバンド処理の流れを示すフローチャート。
【図１３】デコード処理の流れを示すフローチャート。
【図１４】非並進移動状態判定処理の流れを示すフローチャート。
【図１５】スマートフォンの表示画面の一例を示す図。
【図１６】第２非並進移動状態判定処理の流れを示すフローチャート。
【発明を実施するための形態】
【００２０】
以下、本発明を適用した好適な実施形態の一例について説明する。本実施形態は、衛星測位システムとしてＧＰＳ（Global Positioning System）を適用した実施形態である。但し、本発明を適用可能な形態が以下説明する実施形態に限定されるわけでないことは勿論である。
【００２１】
１．原理
１−１．非並進移動状態判定方法
最初に、本実施形態における非並進移動状態判定方法について説明する。本実施形態の非並進移動状態判定方法は、ユーザーに携帯され、測位用信号を受信して位置を算出する電子機器であれば任意の電子機器に適用することが可能である。例えば、携帯型電話機（スマートフォンを含む。）や携帯型ナビゲーション装置、ＰＤＡ、ランナーズウォッチといった電子機器がこれに相当する。
【００２２】
測位用衛星の一種であるＧＰＳ衛星は、アルマナックやエフェメリス等の衛星軌道データを含む航法メッセージを、測位用信号の一種であるＧＰＳ衛星信号に乗せて発信している。ＧＰＳ衛星信号は、拡散符号の一種であるＣ／Ａ（Coarse and Acquisition）コードによって、スペクトラム拡散方式として知られるＣＤＭＡ（Code Division Multiple Access）方式によって変調された１．５７５４２［ＧＨｚ］の通信信号である。Ｃ／Ａコードは、コード長１０２３チップを１ＰＮフレームとする繰返し周期１ｍｓの擬似ランダム雑音符号であり、各ＧＰＳ衛星に固有のコードである。
【００２３】
ＧＰＳ衛星がＧＰＳ衛星信号を発信する際の周波数（規定キャリア周波数）は、１．５７５４２［ＧＨｚ］と予め規定されているが、ＧＰＳ衛星及びＧＰＳ受信装置の移動により生ずるドップラーの影響等により、ＧＰＳ受信装置がＧＰＳ衛星信号を受信する際の周波数は、必ずしも規定キャリア周波数とは一致しない。そのため、ＧＰＳ受信装置は、受信信号と、装置内部で発生させた擬似的なＣ／Ａコードであるレプリカコードとの相関演算を周波数方向及び位相方向それぞれについて実行して、ＧＰＳ衛星信号を捕捉する。
【００２４】
周波数方向の相関演算は、受信した搬送波（キャリア）の信号である受信キャリア信号の周波数（以下、「受信周波数」と称す。）を特定するための演算（いわゆる周波数サーチ）である。また、位相方向の相関演算は、受信信号に含まれるＣ／Ａコードである受信Ｃ／Ａコードの位相（以下、「コード位相」と称す。）を特定するための演算（いわゆる位相サーチ）である。
【００２５】
具体的には、ＧＰＳ受信装置は、受信キャリア信号からキャリアの除去（以下、「キャリアワイプオフ」と称す。）を行うために、キャリア周波数の信号であるキャリア除去用信号を受信キャリア信号に乗算する。そして、その乗算結果として得られた受信コード信号とレプリカコードとの相関演算を行い、その演算結果として得られる相関値のピークを検出することで、受信周波数及びコード位相を特定する。これがＧＰＳ衛星信号の捕捉である。
【００２６】
ＧＰＳ受信装置は、ＧＰＳ衛星信号を捕捉すると、捕捉したＧＰＳ衛星信号を追尾する。ＧＰＳ衛星信号の追尾は、コード位相を追尾する遅延ロックループＤＬＬ（Delay Locked Loop）や、搬送波の位相を追尾する位相ロックループＰＬＬ（Phase Locked Loop）、搬送波の周波数を追尾する周波数ロックループＦＬＬ（Frequency Locked Loop）といった追尾用のロックループによって実現することができる。本実施形態では、これらのロックループのうちのＦＬＬに着目し、ＦＬＬを用いて搬送波の周波数を追尾する場合に着目して説明する。
【００２７】
ＦＬＬは、キャリア除去用信号（キャリアレプリカ信号とも言う。）を生成する発振器（例えばキャリアＮＣＯ（Numerical Controlled Oscillator））を制御対象とし、受信信号の位相とキャリア除去用信号の位相とを一致させるように発振器を制御する。ＦＬＬは、周波数弁別器及びループフィルターによって、例えば過去の追尾周波数の履歴に基づいて線形的にドップラー周波数を予測するように設計される。
【００２８】
図１は、実際のドップラー周波数の時間変化、及びＦＬＬによって予測されるドップラー周波数（以下、「予測ドップラー周波数」と称す。）の時間変化を示した図である。実際のドップラー周波数を実線で、予測ドップラー周波数を点線でそれぞれ示している。図１（１）は、ＧＰＳ受信装置が停止している場合の図である。横軸は時間を示し、縦軸は周波数を示す。ここでは、ＧＰＳ衛星がＧＰＳ受信装置に近付く方向に移動している。
【００２９】
図１（１）を見ると、ＧＰＳ衛星がＧＰＳ受信装置に近付くにつれて、ドップラー周波数が増加する方向に変化し、その変化の傾向はおよそ線形的な傾向を示していることがわかる。一方、ＦＬＬはドップラー周波数を線形的に予測するため、予測ドップラー周波数も線形的に増加している。その結果、真のドップラー周波数と予測ドップラー周波数とはほぼ一致している。この状態は、キャリア周波数が適切に追尾できている状態である。
【００３０】
図１（２）は、ＧＰＳ受信装置を腕に装着したユーザーが腕を振りながら歩行している場合の図である。図の見方は図１（１）と同じであるが、図１（２）では、ＧＰＳ衛星がＧＰＳ受信装置から遠ざかる方向に移動している。
【００３１】
図１（２）を見ると、ＧＰＳ衛星がＧＰＳ受信装置から遠ざかるにつれて、予測ドップラー周波数は減少する方向に変化している。図１（１）と大きく異なるのは、真のドップラー周波数が腕振りに相当する周期で大きく振動している点である。
【００３２】
ＦＬＬは、フィルターによって過去のドップラー周波数を平均化した上で予測ドップラー周波数を求めるため、腕振りによる周期的なドップラー周波数の変化に追従することができず、線形的にドップラー周波数を予測してしまっている。つまり、予測ドップラー周波数と真のドップラー周波数との間に乖離が生じており、キャリア周波数の追尾が適切になされていない状態である。
【００３３】
これは、ユーザーが腕を振ることで、数十ミリ秒〜数秒程度の周期でＧＰＳ受信装置の移動速度が変化することに起因している。その結果、ＧＰＳ衛星とＧＰＳ受信装置の相対速度ベクトルが周期的に変化し、これに伴いドップラー周波数が変化することで、予測ドップラー周波数と真のドップラー周波数との間で乖離が生じるのである。
【００３４】
本願発明者は、上記の現象に着目し、この現象を電子機器の非並進移動状態の判定に利用する技術を発明した。以下、この技術について説明する。
【００３５】
図２は、電子機器の非並進移動状態の判定の手順を示すフローチャートである。
最初に、ＧＰＳ衛星信号の受信信号とレプリカコードとの相関演算を行う（ステップＳ１）。そして、その相関演算の結果に基づいて誤差周波数を推定する（ステップＳ３）。その後、誤差周波数が所定の許容条件を満たすか否かの判定を行う（ステップＳ５）。
【００３６】
次いで、非並進移動状態判定タイミングであるか否かを判定する（ステップＳ７）。非並進移動状態判定タイミングではないと判定したならば（ステップＳ７；Ｎｏ）、ステップＳ１に戻る。また、非並進移動状態判定タイミングであると判定したならば（ステップＳ７；Ｙｅｓ）、非並進移動状態か否かの判定を行う（ステップＳ９）。そして、ステップＳ１に戻る。
【００３７】
上記が、非並進移動状態の判定の大まかな流れである。次に、上記の処理フローの各ステップにおける処理について詳細に説明する。
【００３８】
１−１−１．相関演算（ステップＳ１）
本実施形態では、２０ミリ秒毎の期間を単位期間として説明する。単位期間は、ＧＰＳ衛星信号に搬送されている航法メッセージのビット長に相当する期間である。本実施形態では、ＧＰＳ衛星信号の受信信号を２０ミリ秒毎に区切り、それぞれの２０ミリ秒の期間を「単位期間」として、各単位期間に係る受信信号に対してレプリカコードとの相関演算を行うこととして説明する。また、単位期間を定める２０ミリ秒の時間のことを「単位時間」として説明する。
【００３９】
先ず、受信信号をＩＱ分離する。ＩＱ分離の方法は従来公知の手法を適用することができる。そして、ＩＱ分離された受信信号をデジタル化した受信データに対してレプリカコードとの相関演算を行う。これにより、Ｉ相の相関値であるＩ相相関値及びＱ相の相関値であるＱ相相関値を得る。但し、Ｉ相は受信信号の同相成分（実部）を示し、Ｑ相は受信信号の直交成分（虚部）を示す。相関値の算出タイミングは、例えば所定時間間隔（例えば１ミリ秒）毎のタイミングとすることができる。
【００４０】
１−１−２．誤差周波数の推定（ステップＳ３）
図３は、誤差周波数の推定方法の説明図である。
相関演算で得られたＩ相相関値とＱ相相関値とのそれぞれについて、各単位期間の受信データに対する相関値を当該単位期間分（２０ミリ秒分）積算して、各単位期間についてＩ相相関積算値“ＳｕｍＩ”及びＱ相相関積算値“ＳｕｍＱ”を得る。各相関積算値に対応する単位期間の番号“ｎ＝１，２，３，・・・”を括弧書きで表すことにする。例えば、第１番目（ｎ＝１）の単位期間のＩ相相関積算値及びＱ相相関積算値を、それぞれ“ＳｕｍＩ（１）”及び“ＳｕｍＱ（１）”と表記する。
【００４１】
ＩＱ座標系において、第ｎ番目の単位期間におけるＩ相相関積算値ＳｕｍＩ（ｎ）及びＱ相相関積算値ＳｕｍＱ（ｎ）を成分とするＩＱベクトル（ｎ）を基準ＩＱベクトルとする。ＩＱベクトルの位相は、受信キャリア信号の位相（搬送波位相）を示す。本実施形態では、直前の単位期間に係る受信データに対して行った相関演算の結果に基づく搬送波位相を用いて基準位相を定める。具体的には、基準ＩＱベクトルの搬送波位相を基準位相とする。
【００４２】
次に、第ｎ＋１番目の単位期間におけるＩ相相関積算値ＳｕｍＩ（ｎ＋１）及びＱ相相関積算値ＳｕｍＱ（ｎ＋１）を成分とするＩＱベクトル（ｎ＋１）をＩＱ座標上に描く。このＩＱベクトル（ｎ＋１）の搬送波位相と、基準ＩＱベクトル（ｎ）の搬送波位相（基準位相）との位相差に基づいて、第ｎ番目の単位期間での予測周波数からの誤差周波数を推定する。位相差は、基準ＩＱベクトル（ｎ）とＩＱベクトル（ｎ＋１）との成す角度Δθとして計算することができる。角度Δθは、例えば基準ＩＱベクトルに対して反時計回りを正の角度、時計回りを負の角度として計算することができる。
【００４３】
その後、角度Δθを周波数に換算することで誤差周波数を推定する。位相差から周波数への変換は、例えば次のようにして行うことができる。航法メッセージのＢＰＳＫ変調は５０ｂｐｓ（５０Ｈｚ）であるため、５０Ｈｚの周波数変化を３６０°の位相変化に対応付けて、位相差を誤差周波数に換算する。つまり、１°の位相変化につき５０／３６０Ｈｚの周波数変化が生じたとして、位相差を誤差周波数に換算する。
【００４４】
第ｎ番目の単位期間と第ｎ＋１番目の単位期間との境目で航法メッセージのビット値が変化しなければ、ＩＱベクトル（ｎ＋１）は、基準ＩＱベクトル（ｎ）からそれほど大きく回転しないはずである。しかし、第ｎ番目の単位期間と第ｎ＋１番目の単位期間との境目で航法メッセージのビット値が変化した場合は、基準ＩＱベクトル（ｎ）に対して正負の何れかの方向に１８０°程度回転したＩＱベクトル（ｎ＋１）が得られることになる。これは、航法メッセージのビット値が変化することで、相関値の極性が逆極性になるためである。
【００４５】
従って、基準ＩＱベクトル（ｎ）に対してＩＱベクトル（ｎ＋１）が正負の何れかの方向に１８０°程度回転している場合は、航法メッセージのビット値が変化している可能性が高いと判断し、これを考慮して誤差周波数を推定する。具体的には、基準ＩＱベクトル（ｎ）を原点の周りに１８０°回転させた回転基準ＩＱベクトルを考える。そして、この回転基準ＩＱベクトルとＩＱベクトル（ｎ＋１）との成す角度Δθを算出し、この角度Δθから誤差周波数を求める。
【００４６】
１−１−３．誤差周波数が許容条件を満たすか否かの判定（ステップＳ５）
本実施形態では、位相差を誤差周波数に換算した周波数の大きさが閾値周波数以下となることを許容条件として定める。本願発明者が行った実験によれば、電子機器を装着したユーザーが腕を振って歩行や走行している場合、４Ｈｚを超える周波数変動が定常的に生ずることがわかった。そこで、許容条件を定める閾値周波数を、４Ｈｚ以下の所定周波数として定める。
【００４７】
例えば、４Ｈｚに１Ｈｚ分の余裕を持たせた３Ｈｚを閾値周波数として、誤差周波数が許容条件を満たすか否かを判定する。つまり、誤差周波数が３Ｈｚ以下となる場合に許容条件を満たすと判定し、誤差周波数が３Ｈｚを超える場合に許容条件を満たさないと判定する。
【００４８】
なお、ここでは閾値周波数を３Ｈｚとして説明したが、閾値周波数はこれに限定されないことは勿論である。４Ｈｚ以下の所定周波数を閾値周波数として定めるようにすればよい。
【００４９】
再び図３を参照すると、基準ＩＱベクトルを中心とする所定の角度範囲（図中にハッチングを施した範囲）が、誤差周波数の許容範囲に相当する角度範囲である。位相差の許容範囲と言うこともできる。つまり、図３においてハッチングを施した範囲にＩＱベクトルが含まれる場合は、誤差周波数が許容条件を満たすことになる。従って、誤差周波数に対する閾値判定を行う代わりに、位相差に対する閾値判定を行って、誤差周波数が許容条件を満たすか否かを判定してもよい。
【００５０】
１−１−４．非並進移動状態判定タイミングか否かの判定（ステップＳ７）
本実施形態では、非並進移動状態判定タイミングを、単位時間よりも長い時間として定められた所定時間が経過する毎のタイミングとする。単位時間は２０ミリ秒であるため、判定タイミングの間隔はこれよりも長ければよい。例えば、１秒とすることができるが、１秒よりも短く設定してもよいし長く設定してもよいことは勿論である。また、ユーザーが非並進移動状態の判定を行うタイミングを指示入力することとしてもよい。以下、判定タイミングの間隔で規定された期間を「判定期間」という。
【００５１】
１−１−５．非並進移動状態か否かの判定（ステップＳ９）
（Ａ）１つのＧＰＳ衛星から送信されているＧＰＳ衛星信号を利用する方法
非並進移動状態か否かの判定では、誤差周波数が許容条件を満たさないとの判定が発生した発生回数、発生頻度、及び発生割合のうちの何れかの指標値に基づいて、電子機器が非並進移動状態にあるか否かを判定する。
【００５２】
１つの捕捉衛星に着目した場合の処理を例示する。１つの捕捉衛星について、判定期間に含まれる単位期間毎の許容条件の判定結果に基づいて、誤差周波数が許容条件を満たさなかった回数の合計値を、許容条件を満たさないとの判定が発生した発生回数として計算する。そして、発生回数を所定の閾値回数と比較し、発生回数が閾値回数以上（或いは超）である場合は、電子機器が非並進移動状態であると判定する。一方、発生回数が閾値回数未満（或いは以下）である場合は、電子機器が並進移動状態であると判定する。
【００５３】
図４は、所定期間内に誤差周波数が許容条件を満たさないとの判定が発生した発生回数を複数の捕捉衛星についてプロットした実験結果の一例を示す図である。図４（１）は、電子機器を自動車に固定して並進移動させた状態で発生回数を調べる実験を行った結果の一例を示しており、図４（２）は、電子機器をユーザーの腕に装着して非並進移動させた状態で発生回数を調べる実験を行った結果の一例を示している。各図において、横軸は時間であり、縦軸は発生回数である。時間軸上の同じ時刻に対応する複数のプロットは、当該時刻における各捕捉衛星の発生回数を示している。
【００５４】
最初に図４（１）を見ると、発生回数のプロットは全体的に０〜１０回近傍に集中していることがわかる。これは、電子機器が並進移動状態である場合は、誤差周波数が許容条件を満たす割合が高くなることを意味している。
【００５５】
次に図４（２）を見ると、発生回数のプロットは、図４（１）と比べて全体的に上方にシフトしていることがわかる。０回〜１０回の部分と比べて、１５回〜２５回近傍の部分に発生回数のプロットが集中していることがわかる。これは、電子機器が非並進移動状態である場合は、誤差周波数が許容条件を満たす割合が低くなることを意味している。
【００５６】
これらの実験結果から、ある捕捉衛星に係る誤差周波数が許容条件を満たさないと判定された回数に基づけば、非並進移動状態にあるか否かを判定できると考えられる。
【００５７】
なお、許容条件を満たさないと判定された回数ではなく、その頻度や、判定の是非に係る割合を用いることとしてもよい。その場合、判定期間内に許容条件を満たした回数と満たさなかった回数とに基づいて、判定期間内に誤差周波数が許容条件を満たさないとの判定が発生した発生頻度や発生割合を算出すればよい。そして、算出した発生頻度や発生割合を指標値として、例えば閾値判定を行うことで、電子機器が非並進移動状態にあるか否かを判定することができる。
【００５８】
（Ｂ）複数のＧＰＳ衛星から送信されているＧＰＳ衛星信号を利用する方法
上記の方法では、１つのＧＰＳ衛星から送信されているＧＰＳ衛星信号を利用して非並進移動状態の判定を行ったが、複数のＧＰＳ衛星から送信されているＧＰＳ衛星信号を利用して非並進移動状態の判定を行うことも可能である。
【００５９】
前述した図４の実験結果を見ると、同じ時刻における発生回数であっても、ＧＰＳ衛星毎にばらつきが生じていることがわかる。同じ方法で発生回数をカウントしたとしても、発生回数が多い衛星や少ない衛星が存在するということである。そこで、複数のＧＰＳ衛星の中から、非並進移動状態の判定に利用する衛星（以下、「判定利用衛星」と称す。）を選択する。
【００６０】
判定利用衛星の選択方法としては、各衛星から受信したＧＰＳ衛星信号の信号品質が良好である衛星を選択することが考えられる。ＧＰＳ衛星信号の信号品質は、従来公知の種々の手法を用いて判定することが可能であるが、例えばメジャメント情報の信頼度（以下、「メジャメント信頼度」と称す。）を信号品質の指標値として用いることができる。
【００６１】
メジャメント情報は、受信したＧＰＳ衛星信号に係る諸量であり、例えば前述したコード位相やドップラー周波数がこれに含まれる。メジャメント信頼度の判定材料としては、ＧＰＳ衛星信号の受信信号の強度（信号強度）や、捕捉衛星の仰角等の情報を用いることができる。信号強度が大きい捕捉衛星や、仰角の高い捕捉衛星から受信した信号に基づいて取得したメジャメント情報ほど、その信頼性が高いと判断することができる。
【００６２】
そこで、一手法としては、全ての捕捉衛星をメジャメント信頼度が一定以上か否かに分類する。そして、メジャメント信頼度が一定以上の衛星のうち、判定期間（例えば１秒間）に誤差周波数が許容条件を満たさないと判定された回数が所定の閾値回数を超えた衛星の割合（以下、「許容条件不成立衛星割合」と称す。）を指標値として用いて、電子機器が非並進移動状態にあるか否かを判定する。
【００６３】
図５は、許容条件不成立衛星割合を調べる実験を行った実験結果の一例を示す図である。図５（１）は、電子機器を自動車に固定して並進移動させた場合に許容条件不成立衛星割合を調べる実験を行った結果の一例を示しており、図５（２）は、電子機器をユーザーの腕に装着させて腕振り移動をさせることで電子機器を非並進移動させた場合に許容条件不成立衛星割合を調べる実験を行った結果の一例を示している。各図において、横軸は時間である。縦軸は許容条件不成立衛星割合であり、割合（生値）［％］として図示している。
【００６４】
図５（１）を見ると、許容条件不成立衛星割合は０％付近に集中していることがわかる。つまり誤差周波数が許容条件を満たす衛星が増加する傾向があることがわかる。
一方、図５（２）を見ると、許容条件不成立衛星割合は１００％と６０〜８０％付近とに集中していることがわかる。つまり誤差周波数が許容条件を満たさない衛星が増加する傾向があることがわかる。
【００６５】
この実験結果から、許容条件不成立衛星割合に基づけば、非並進移動状態にあるか否かを判定できると言える。例えば、許容条件不成立衛星割合が所定の閾値割合（例えば５０％）以上（或いは超）である場合は非並進移動状態と判定し、閾値割合未満（或いは以下）である場合は並進移動状態と判定する。
【００６６】
なお、ここでは誤差周波数が許容条件を満たさないと判定された衛星の割合を指標値として用いて非並進移動状態の判定を行ったが、誤差周波数が許容条件を満たさないと判定された衛星の数や頻度を指標値として用いて非並進移動状態の判定を行うこととしてもよい。
【００６７】
（Ｃ）フィルター処理
ここまで２つの方法を例示したが、非並進移動状態の判定に用いる指標値として常に信頼できる値が算出されるとは限らないという問題がある。いわゆる弱電界環境やマルチパス環境といった受信環境では、ＧＰＳ衛星信号の信号品質が十分に確保できない場合がある。この場合、上記の手法を用いて指標値を算出すると、常に正確性の高い値が算出されるわけではなく、突発的に変化した値（突発値）が算出される場合がある。このような突発値を用いて移動状態の判定を行った場合、誤った判定を行う可能性が高くなる。
【００６８】
そこで、算出した指標値の時間変化に基づいて、当該指標値の突発値を除去するフィルター処理を施し、フィルター処理を施した指標値に基づいて、非並進移動状態にあるか否かを判定するようにすると効果的である。具体的には、判定期間毎に算出される指標値の履歴を保存し、これらの指標値の履歴を用いて、指標値の時間変化の中から高周波の成分を除去するローパスフィルター処理を行う。そして、ローパスフィルター処理によって平滑化された指標値を用いて、非並進移動状態の判定を行う。
【００６９】
図６は、図５の実験で指標値として用いた許容条件不成立衛星割合に対してフィルター処理を施し、その結果を用いて非並進移動状態の判定を行った実験結果の一例を示す図である。図５と同様に、図６（１）は並進移動状態での実験結果の一例を示し、図６（２）は非並進移動状態での実験結果の一例を示す。この実験では、図５の実験で算出した許容条件不成立衛星割合に対してローパスフィルター処理を施した。
【００７０】
各図において、横軸は時間軸である。左側の縦軸は、フィルター処理後の許容条件不成立衛星割合の値（以下、「フィルタリング値」と称す。）であり、割合（フィルタリング値）［％］として図示している。これはダイヤ形のプロットに対応している。また、右側の縦軸は、移動状態の判定結果であり、これは丸形のプロットに対応している。「０」は判定結果が並進移動状態であること（並進移動判定）を表し、「１」は判定結果が非並進移動状態であること（非並進移動判定）を表し、「２」は判定が不能であったこと（判定不可）を表している。判定不可は、捕捉衛星の数が少なかったり、メジャメント信頼度の高い捕捉衛星の数が少ないなどの理由により、判定そのものが行えなかったことを意味する。
【００７１】
図６（１）を見ると、時間軸方向において図５（１）の許容条件不成立衛星割合の突発値が除去され、全体的に平滑化されたフィルタリング値が得られていることがわかる。
また、判定結果を見ると「０」か「２」となっており、並進移動と判定されたか、或いは、判定不可となっていることがわかる。判定不可を除けば全て並進移動と判定されていることから、判定が正しく行われたことがわかる。
【００７２】
次に図６（２）を見ると、時間軸方向において図５（２）の許容条件不成立衛星割合の突発値が除去され、全体的に平滑化されたフィルタリング値が得られていることがわかる。
また、最終的な判定結果を見ると「１」か「２」となっており、非並進移動と判定されたか、或いは、判定不可となっていることがわかる。判定不可を除けば全て非並進移動と判定されていることから、判定が正しく行われたことがわかる。
【００７３】
１−２．航法メッセージのデコード方法
本実施形態では、上記の非並進移動状態の判定方法の他に、ＧＰＳ衛星信号に搬送されている航法メッセージをデコードする方法にも特徴を有する。そこで、本実施形態における航法メッセージのデコード方法について以下説明する。
【００７４】
本実施形態では、単位期間毎に到来するタイミングであって、航法メッセージデータのビット値が変化（遷移）し得るタイミングのことを「ビット遷移タイミング」と定義する。本実施形態では、ビット遷移タイミングはわかっているが、ビット遷移タイミングでのビット値の変化の有無は分かっておらず、このビット値の変化の有無を正しく判定するための方法（すなわち、航法メッセージのデコード方法）について説明する。
【００７５】
航法メッセージのデコードは、各単位期間について、例えばＩＱ内積値（Ｄｏｔ値とも言う。）と呼ばれる指標値を算出してその正負の符号を判定し、単位期間の境目での航法メッセージのビット値の変化の有無を判定する手法を用いて実現することができる。しかし、この手法には問題がある。ＧＰＳ受信装置がＧＰＳ衛星信号を追尾している周波数（追尾周波数）と実際のＧＰＳ衛星信号の受信周波数とが一定以上乖離している場合に単純にＩＱ内積値に基づいてビット値の変化の有無を判定すると、高い確率で誤判定が生ずるという問題である。そこで、本実施形態では、以下の手順で航法メッセージをデコードする。
【００７６】
図７は、本実施形態における航法メッセージのデコードの流れを模式化した図である。ここでは、第ｎ番目の単位期間と第ｎ＋１番目の単位期間との境目での航法メッセージのビット値の変化の有無を判定する場合について説明する。ここでは、第ｎ番目の単位期間に係るＩ相相関積算値ＳｕｍＩ（ｎ）及びＱ相相関積算値ＳｕｍＱ（ｎ）が既に得られている状態として図示・説明する。
【００７７】
まず、第ｎ＋１番目の単位期間のＧＰＳ衛星信号の受信データに対して、第１の予測周波数に基づいて第１の相関演算を行う（ステップＴ１）。第１の予測周波数は、ＦＬＬによって予測されたドップラー周波数をキャリア周波数に加算／減算した周波数であり、キャリアＮＣＯ等のキャリア除去用信号の生成部に生成させるキャリア除去用信号の周波数である。ＧＰＳ衛星信号の追尾周波数とも言える。
第１の相関演算の結果を２０ミリ秒分積算することで、第ｎ＋１番目の単位期間に係るＩ相相関積算値ＳｕｍＩ（ｎ＋１）及びＱ相相関積算値ＳｕｍＱ（ｎ＋１）を得る（ステップＴ３）。
【００７８】
次いで、第ｎ番目の単位期間に係るＩ相相関積算値ＳｕｍＩ（ｎ）及びＱ相相関積算値ＳｕｍＱ（ｎ）と、第ｎ＋１番目の単位期間に係るＩ相相関積算値ＳｕｍＩ（ｎ＋１）及びＱ相相関積算値ＳｕｍＱ（ｎ＋１）とを用いて、第ｎ＋１番目の単位期間における第１の予測周波数の誤差周波数Δｆ（ｎ＋１）を推定する（ステップＴ５）。誤差周波数Δｆ（ｎ＋１）の推定方法は、図３で説明した通りである。
【００７９】
その後、当該誤差周波数Δｆ（ｎ＋１）が許容条件を満たすか否かを判定する（ステップＴ７）。この場合の許容条件は、例えば非並進移動状態の判定で用いた許容条件と同じとすることができる。つまり、位相差を誤差周波数に換算した周波数の大きさが閾値周波数以下となることを許容条件とすればよく、この場合の閾値周波数は例えば４Ｈｚ以下の所定周波数として定めることができる。
【００８０】
誤差周波数Δｆ（ｎ＋１）が許容条件を満たすと判定した場合は（ステップＴ７：Ｙｅｓ）、第ｎ番目の単位期間に係るＩ相相関積算値ＳｕｍＩ（ｎ）及びＱ相相関積算値ＳｕｍＱ（ｎ）と、第ｎ＋１番目の単位期間に係るＩ相相関積算値ＳｕｍＩ（ｎ＋１）及びＱ相相関積算値ＳｕｍＱ（ｎ＋１）とを用いてＩＱ内積値を計算し（ステップＴ１３）、ＩＱ内積値の正負の符号に基づいてビット値の変化の有無を判定する。
【００８１】
ここで、ＩＱ内積値は、次式（１）に従って算出することができる。
【数１】
2014119299.tif 000003
【００８２】
式（１）に従って算出されるＩＱ内積値Ｄｏｔ（ｎ｜ｎ＋１）がゼロか正である場合は（Ｄｏｔ（ｎ｜ｎ＋１）≧０）、第ｎ番目の単位期間と第ｎ＋１番目の単位期間との境目において航法メッセージのビット値が変化しなかった（ビット変化なし）と判定する。それに対し、ＩＱ内積値Ｄｏｔ（ｎ｜ｎ＋１）が負である場合は（Ｄｏｔ（ｎ｜ｎ＋１）＜０）、第ｎ番目の単位期間と第ｎ＋１番目の単位期間との境目において航法メッセージのビット値が変化した（ビット変化あり）と判定する。
【００８３】
一方、誤差周波数Δｆ（ｎ＋１）が許容条件を満たさないと判定した場合は（ステップＴ７：Ｎｏ）、第１の予測周波数を補正して第２の予測周波数を算出する。具体的には、誤差周波数を打ち消すように第１の予測周波数を補正し、補正後の周波数を新たな追尾周波数（第２の予測周波数）とする。この場合は、第２の予測周波数のキャリア除去用信号（キャリアレプリカ信号）をキャリア発振器に生成させる。そして、このキャリア除去用信号を受信キャリア信号に乗算することでキャリアワイプオフを行い、その結果として得られる信号に対してレプリカコードを用いた相関演算（第２の相関演算）を行う（ステップＴ９）。
【００８４】
次いで、第２の相関演算で得られた相関値を所定時間分（例えば２０ミリ秒分）積算する。つまり、Ｉ相相関積算値ＳｕｍＩ（ｎ＋１）及びＱ相相関積算値ＳｕｍＱ（ｎ＋１）を算出する（ステップＴ１１）。そして、算出したＩ相相関積算値ＳｕｍＩ（ｎ＋１）及びＱ相相関積算値ＳｕｍＱ（ｎ＋１）を用いて、式（１）に従ってＩＱ内積値を算出し（ステップＴ１３）、その正負の符号に基づいて、第ｎ番目の単位期間と第ｎ＋１番目の単位期間との境目での航法メッセージのビット値の変化の有無を判定する。
【００８５】
上記の手順を全ての単位期間について行うことで、各単位期間の境目における航法メッセージのビット値の変化の有無を判定する。これにより、ＧＰＳ衛星信号に搬送されている航法メッセージをデコードすることが可能となる。
【００８６】
２．実施例
次に、ユーザーに携帯され、測位用信号を受信して位置を算出する電子機器の一例として、小型電子機器であるスマートフォンの実施例について説明する。但し、本発明を適用可能な実施例がこの実施例に限定されるわけでないことは勿論である。
【００８７】
２−１．機能構成
図８は、スマートフォン１の機能構成の一例を示すブロック図である。スマートフォン１は、ＧＰＳアンテナ５と、ＧＰＳ受信部１０と、ホスト処理部３０と、操作部４０と、表示部５０と、音出力部６０と、通信部７０と、時計部８０と、記憶部９０とを備えて構成される。
【００８８】
ＧＰＳアンテナ５は、ＧＰＳ衛星から発信されているＧＰＳ衛星信号を含むＲＦ（Radio Frequency）信号を受信するアンテナであり、受信信号をＧＰＳ受信部１０に出力する。
【００８９】
ＧＰＳ受信部１０は、ＧＰＳアンテナ５から出力された信号に基づいてスマートフォン１の位置を算出する回路或いは装置であり、いわゆるＧＰＳ受信装置に相当する機能ブロックである。但し、ＧＰＳ受信部１０を有するスマートフォン１全体が受信装置に相当するとも言える。
【００９０】
ＧＰＳ受信部１０は、ＲＦ受信回路部１１と、ベースバンド処理回路部２０とを備えて構成される。なお、ＲＦ受信回路部１１と、ベースバンド処理回路部２０とは、それぞれ別のＬＳＩ（Large Scale Integration）として製造することも、１チップとして製造することも可能である。
【００９１】
ＲＦ受信回路部１１は、ＲＦ信号の受信回路であり、航法メッセージを搬送するＧＰＳ衛星信号を受信する受信部に相当する。ＲＦ受信回路部１１の回路構成としては、例えば、ＧＰＳアンテナ５から出力されたＲＦ信号をＡ／Ｄ（Analog／Digital）変換器でデジタル信号に変換し、デジタル信号を処理する受信回路を構成してもよい。また、ＧＰＳアンテナ５から出力されたＲＦ信号をアナログ信号のまま信号処理し、最終的にＡ／Ｄ変換することでデジタル信号をベースバンド処理回路部２０に出力する構成としてもよい。
【００９２】
後者の場合には、例えば、次のようにＲＦ受信回路部１１を構成することができる。すなわち、所定の発振信号を分周或いは逓倍することで、ＲＦ信号乗算用の発振信号を生成する。そして、生成した発振信号を、ＧＰＳアンテナ５から出力されたＲＦ信号に乗算することで、ＲＦ信号を中間周波数の信号（以下、「ＩＦ（Intermediate Frequency）信号」と称す。）にダウンコンバートする。そして、ＩＦ信号を増幅等した後、Ａ／Ｄ変換器でデジタル信号に変換して、ベースバンド処理回路部２０に出力する。
【００９３】
ベースバンド処理回路部２０は、ＲＦ受信回路部１１から出力されるデジタル化された受信データを利用して、キャリア除去や相関演算等のＧＰＳ衛星信号の捕捉・追尾に係る処理動作を行って、ＧＰＳ衛星信号を捕捉・追尾する回路部である。
【００９４】
ベースバンド処理回路部２０は、上記の原理に従って、ＧＰＳ衛星信号に搬送されている航法メッセージをデコードする。そして、デコードした航法メッセージを用いて衛星位置を推測する。また、受信信号とレプリカコードとの相関演算（信号捕捉）によって得られたコード位相を用いて擬似距離を算出し、この擬似距離と衛星位置とから、公知の位置計算を行って、スマートフォン１の位置を算出する。
【００９５】
ホスト処理部３０は、記憶部９０に記憶されているシステムプログラム等の各種プログラムに従ってスマートフォン１の各部を統括的に制御するプロセッサーであり、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）等のプロセッサーを有して構成される。
【００９６】
操作部４０は、例えばタッチパネルやボタンスイッチ等を有して構成される入力装置であり、押下されたキーやボタンの信号をホスト処理部３０に出力する。この操作部４０の操作により、通話要求やメール送受信要求、インターネット接続要求、位置算出要求、位置表示要求といった各種指示操作がなされる。
【００９７】
表示部５０は、ＬＣＤ（Liquid Crystal Display）等を有して構成される表示装置であり、ホスト処理部３０から出力される表示信号に基づいた各種表示を行う。表示部５０には、時刻情報や位置情報といった各種情報が表示される。
【００９８】
音出力部６０は、スピーカー等を有して構成される音出力装置であり、ホスト処理部３０から出力される音出力信号に基づいた各種音出力を行う。音出力部６０からは、音声ガイダンス等の各種音出力がなされる。
【００９９】
携帯電話用アンテナ６５は、スマートフォン１の通信サービス事業者が設置した無線基地局との間で携帯電話用無線信号の送受信を行うアンテナである。
【０１００】
通信部７０は、ＲＦ変換回路、ベースバンド処理回路等によって構成される携帯電話の通信回路部であり、携帯電話用無線信号の変調・復調等を行うことで、通話やメールの送受信等を実現する。
【０１０１】
時計部８０は、スマートフォン１の内部時計であり、水晶振動子及び発振回路でなる水晶発振器等を有して構成される。時計部８０の計時時刻はホスト処理部３０に随時出力される。
【０１０２】
記憶部９０は、ＲＯＭ（Read Only Memory）やフラッシュＲＯＭ、ＲＡＭ（Random Access Memory）等の記憶装置を有して構成され、ホスト処理部３０がスマートフォン１を制御するためのシステムプログラムや、各種アプリケーション処理を実行するための各種プログラムやデータ等を記憶する。本実施例において、記憶部９０には、例えば、位置表示プログラム９１と、ログデータ９３と、地図データ９５とが記憶される。
【０１０３】
位置表示プログラム９１は、ホスト処理部３０が、ＧＰＳ受信部１０から出力される位置情報に基づいて、表示部５０にスマートフォン１の現在位置を表示させるためのプログラムである。
【０１０４】
ログデータ９３は、算出位置等のログが記憶されたデータであり、そのデータ構成例を図９に示す。ログデータ９３には、時刻９３１と、判定期間Ｎｏ９３３と、並進／非並進の判定フラグ９３５と、許容条件不成立衛星割合９３７とが対応付けて記憶される。
【０１０５】
時刻９３１は、並進／非並進の判定を行った時刻である。
判定期間Ｎｏ９３３は、並進／非並進の判定を行った判定期間の番号である。
判定フラグ９３５は、並進／非並進の判定結果を示すフラグである。
許容条件不成立衛星割合９３７は、原理で説明した許容条件不成立衛星割合の生値と、この生値に対してフィルター処理を施した後のフィルタリング値とが記憶される。
【０１０６】
２−２．ベースバンド処理回路部の回路構成
図１０は、ベースバンド処理回路部２０の回路構成の一例を示すブロック図である。
ベースバンド処理回路部２０は、サンプルメモリ２１と、乗算部２２と、キャリア除去用信号生成部２３と、相関演算部２４と、レプリカコード生成部２５と、処理部２７と、記憶部２９とを有して構成される。
【０１０７】
サンプルメモリ２１は、ＲＦ受信回路部１１から出力されるデジタル化されたＧＰＳ衛星信号の受信データが記憶される記憶回路である。サンプルメモリ２１は、例えば、単位期間３つ分以上の受信信号のデータを格納可能なメモリ量を有するリングバッファとして構成することができる。勿論、格納容量はこれ以上でもよい。
【０１０８】
乗算部２２は、キャリア除去用信号生成部２３によって生成されたキャリア除去用信号を受信信号に乗算して、受信信号からキャリアを除去するキャリアワイプオフを行い、その結果として得られる受信コード信号を相関演算部２４に出力する。乗算部２２は、例えば乗算器を有して構成される。
【０１０９】
キャリア除去用信号生成部２３は、ＧＰＳ衛星信号のキャリア信号と同一の周波数の信号であるキャリア除去用信号を生成する回路である。ＲＦ受信回路部１１から出力される信号がＩＦ信号である場合には、ＩＦ周波数をキャリア周波数として信号を生成する。何れにしろ、ＲＦ受信回路部１１から出力される信号の周波数と同一の周波数のキャリア除去用信号を生成するための回路である。
【０１１０】
キャリア除去用信号生成部２３は、処理部２７から出力される周波数指示信号に従って指示された周波数のキャリア除去用信号を生成して、乗算部２２に出力する。キャリア除去用信号生成部２３は、同相成分の信号であるＩ相キャリア除去用信号及び直交成分の信号であるＱ相キャリア除去用信号を乗算部２２にそれぞれ出力する。
【０１１１】
相関演算部２４は、例えば複数の相関器（コリレーター）を有して構成され、乗算部２２から出力される受信データと、レプリカコード生成部２５によって生成されたレプリカコードとの相関演算を行う。
【０１１２】
レプリカコード生成部２５は、ＧＰＳ衛星信号の拡散符号であるＣ／Ａコードのレプリカコード（コードレプリカ）を生成する回路部である。レプリカコード生成部２５は、処理部２７から出力されるＰＲＮ（Pseudo Random Noise）番号及び移相量に従って、指示されたＰＲＮ番号のレプリカコードを指示された移相量で生成して、相関演算部２４に出力する。
【０１１３】
処理部２７は、ベースバンド処理回路部２０の各機能部を統括的に制御する制御装置及び演算装置であり、ＣＰＵやＤＳＰ等のプロセッサーを有して構成される。
【０１１４】
処理部２７は、主要な機能部として、相関演算制御部２７１と、誤差周波数推定部２７３と、デコード部２７５と、キャリア周波数追尾部２７６と、許容条件判定部２７７と、非並進移動状態判定部２７８と、位置算出部２７９とを有する。但し、これらの機能部は、一実施例として記載したに過ぎず、必ずしもこれら全ての機能部を必須構成要素としなければならないわけではない。また、これら以外の機能部を必須構成要素として追加してもよいことは勿論である。
【０１１５】
相関演算制御部２７１は、相関演算部２４による相関演算の実行を制御する。
誤差周波数推定部２７３は、相関演算部２４による相関演算の結果に基づいて算出されるＧＰＳ衛星信号の搬送波位相を用いて、原理で説明した手法を用いて予測周波数の誤差周波数を推定する。
【０１１６】
デコード部２７５は、相関演算制御部２７１の制御に従って実行された相関演算の結果を用いて、ＧＰＳ衛星信号に搬送されている航法メッセージをデコードする。
キャリア周波数追尾部２７６は、受信信号のキャリアを追尾する。具体的には、キャリア周波数と、キャリア除去用信号生成部２３により生成されるキャリア除去用信号の周波数との周波数差（以下、「キャリア周波数差」と称す。）を所定の周波数弁別関数に従って算出する。
【０１１７】
許容条件判定部２７７は、誤差周波数推定部２７３によって推定された誤差周波数が所定の許容条件を満たすか否かを判定する。
非並進移動状態判定部２７８は、許容条件判定部２７７の判定結果を用いて、スマートフォン１がユーザーのボディに対して相対的に位置変化しながら移動する非並進移動状態にあるか否かを判定する。
【０１１８】
位置算出部２７９は、デコード部２７５によってデコードされた航法メッセージを利用して、例えば擬似距離を用いた従来公知の位置計算を行ってスマートフォン１の位置（位置座標）及び時計誤差（クロックバイアス）を算出する。そして、その算出結果をホスト処理部３０に出力する。
【０１１９】
記憶部２９は、ベースバンド処理回路部２０のシステムプログラムや、衛星信号捕捉・追尾機能、デコード機能、非並進移動状態判定機能、位置算出機能といった各種機能を実現するための各種プログラム、データ等を記憶する。また、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを有する。
【０１２０】
記憶部２９には、プログラムとして、処理部２７によって読み出され、ベースバンド処理（図１２参照）として実行されるベースバンド処理プログラム２９１が記憶されている。ベースバンド処理プログラム２９１は、デコード処理（図１３参照）として実行されるデコードプログラム２９１Ａと、非並進移動状態判定処理（図１４参照）として実行される非並進移動状態判定プログラム２９１Ｃとをサブルーチンとして含む。
【０１２１】
また、記憶部２９には、主要なデータとして、衛星軌道データ２９２と、メジャメントデータ２９３と、メジャメント信頼度判定用データ２９４と、非並進移動状態判定用データ２９５と、デコード航法メッセージデータ２９６と、ログデータ９３とが記憶される。
【０１２２】
衛星軌道データ２９２は、アルマナックや、各ＧＰＳ衛星のエフェメリス等のデータである。衛星軌道データ２９２は、ＧＰＳ衛星から受信したＧＰＳ衛星信号をデコードすることで取得する他、例えばスマートフォン１の基地局やアシストサーバーからアシストデータとして取得する。
【０１２３】
メジャメントデータ２９３は、相関演算の結果に基づいて取得したメジャメント情報が記憶されたデータである。例えば、受信したＧＰＳ衛星信号に係るコード位相やドップラー周波数といった諸量がこれに含まれる。
【０１２４】
メジャメント信頼度判定用データ２９４は、メジャメント信頼度を判定するために用いられるデータである。例えば、受信したＧＰＳ衛星信号の信号強度や、各ＧＰＳ衛星の仰角といった情報がこれに含まれる。
【０１２５】
非並進移動状態判定用データ２９５は、非並進移動の判定に使用されるデータであり、そのデータ構成例を図１１に示す。非並進移動状態判定用データ２９５は、捕捉衛星毎に定められるデータであり、各非並進移動状態判定用データ２９５には、捕捉衛星の番号を示す捕捉衛星Ｎｏ２９５１が記憶される。また、各非並進移動状態判定用データ２９５には、判定期間Ｎｏ２９５２と、単位期間Ｎｏ２９５３と、誤差周波数２９５４と、許容範囲外フラグ２９５５と、カウンタ値２９５６と、メジャメント信頼度２９５７とが対応付けて記憶される。
【０１２６】
判定期間Ｎｏ２９５２は、並進／非並進の判定を行う期間の番号である。
単位期間Ｎｏ２９５３は、当該判定期間に含まれる単位期間の番号である。例えば、判定期間を１秒間の期間とし、単位期間を２０ミリ秒の期間とする場合は、１つの判定期間につき１〜５０までの５０個の単位期間が含まれることになる。
【０１２７】
誤差周波数２９５４は、当該単位期間について算出した誤差周波数であり、上記の原理に従って誤差周波数推定部２７３が推定した誤差周波数Δｆの値が記憶される。
許容範囲外フラグ２９５５は、当該単位期間について算出した誤差周波数２９５４が許容範囲外である場合にＯＮが設定され、許容範囲内である場合にＯＦＦが設定されるフラグであり、許容条件判定部２７７の判定結果に基づいて設定される。
【０１２８】
カウンタ値２９５６は、当該判定期間について誤差周波数２９５４が許容範囲外と判定された回数であり、許容範囲外フラグ２９５５がＯＮとなった回数の合計値として求められる。
【０１２９】
メジャメント信頼度２９５７は、当該判定期間において取得されたメジャメント信頼度であり、例えば「１〜５」までの５段階に分類される。本実施例では、数値が小さいほどメジャメント情報の信頼性が高いこととして説明する。つまり、メジャメント信頼度「１」がメジャメント情報の信頼性が最も高く、メジャメント信頼度「５」がメジャメント情報の信頼性が最も低いこととして説明する。当然ではあるが、メジャメント信頼度の定め方がこれに限定されないことは勿論である。
【０１３０】
デコード航法メッセージデータ２９６は、前述した原理に従ってデコード部２７５がデコードした航法メッセージが記憶されたデータである。
【０１３１】
２−３．処理の流れ
図１２は、処理部２７が、記憶部２９に記憶されているベースバンド処理プログラム２９１に従って実行するベースバンド処理の流れを示すフローチャートである。
【０１３２】
最初に、処理部２７は、捕捉対象衛星選定処理を行う（ステップＡ１）。具体的には、時計部８０で計時されている現在時刻において天空に位置するＧＰＳ衛星を、記憶部２９に記憶されている衛星軌道データ２９２を用いて判定して、捕捉対象衛星に選定する。
【０１３３】
次いで、処理部２７は、ステップＡ１で選定した捕捉対象衛星を捕捉・追尾する捕捉・追尾処理を行う（ステップＡ３）。そして、処理部２７は、単位時間が経過したか否かを判定し（ステップＡ５）、単位時間が経過していないと判定したならば（ステップＡ５；Ｎｏ）、ステップＡ１３へと移行する。
【０１３４】
一方、単位時間が経過したと判定したならば（ステップＡ５；Ｙｅｓ）、処理部２７は、各捕捉衛星についてループＡの処理を実行する（ステップＡ７〜Ａ１１）。ループＡの処理では、処理部２７は、記憶部２９に記憶されているデコードプログラム２９１Ａに従ってデコード処理を行う（ステップＡ９）。
【０１３５】
図１３は、デコード処理の流れを示すフローチャートである。
最初に、相関演算制御部２７１が、相関演算部２４による第１の相関演算の実行を制御する（ステップＢ１）。具体的には、サンプルメモリ２１に対してデータの出力制御信号を出力して、直近の単位期間に係る受信データを出力させるように制御する。また、１回前のデコード処理においてステップＢ１５又はステップＢ２３で算出された第１の予測周波数のキャリア除去用信号を生成させるための周波数指示信号をキャリア除去用信号生成部２３に出力する。さらに、当該捕捉衛星に係るＰＲＮ番号及びレプリカコードの移相量をレプリカコード生成部２５に出力する。これにより、サンプルメモリ２１から受信データが出力され、乗算部２２でキャリアワイプオフが実行され、相関演算部２４で第１の相関演算が実行される。
【０１３６】
次いで、誤差周波数推定部２７３は、前述した原理に従って、予測周波数の誤差周波数を推定する誤差周波数推定処理を行う（ステップＢ３）。そして、許容条件判定部２７７は、誤差周波数推定処理で推定された誤差周波数が所定の閾値周波数（例えば３Ｈｚ）を超えているか否かの許容条件の判定を行う（ステップＢ５）。
【０１３７】
誤差周波数が閾値周波数を超えている、つまり、誤差周波数が許容条件を満たさないと判定したならば（ステップＢ５；Ｙｅｓ）、処理部２７は、誤差周波数を用いて第１の予測周波数を補正して第２の予測周波数を算出する（ステップＢ７）。つまり、第１の予測周波数に誤差周波数を加算して第２の予測周波数とする。
【０１３８】
次いで、相関演算制御部２７１が、相関演算部２４による第２の相関演算の実行を制御する（ステップＢ９）。具体的には、サンプルメモリ２１に対してデータの出力制御信号を出力し、ステップＢ１と同一の受信データ（直近の単位期間に係る受信データ）を出力させるように制御する。また、ステップＢ７で算出した第２の予測周波数のキャリア除去用信号を生成させるための周波数指示信号をキャリア除去用信号生成部２３に出力するとともに、当該捕捉衛星に係るＰＲＮ番号及びレプリカコードの移相量をレプリカコード生成部２５に出力する。これにより、サンプルメモリ２１から同一の受信データが出力され、乗算部２２でキャリアワイプオフが実行され、相関演算部２４で第２の相関演算が実行される。
【０１３９】
その後、デコード部２７５は、第２の相関演算の結果を用いてＩＱ内積値を計算する（ステップＢ１１）。具体的には、ステップＢ９の第２の相関演算で求められた相関値を単位期間分積算して相関積算値（Ｉ相相関積算値及びＱ相相関積算値）を算出する。そして、算出した相関積算値と、１回前に算出した相関積算値とを用いて、式（１）に従ってＩＱ内積値を計算する。
【０１４０】
次いで、デコード部２７５は、ステップＢ１１で算出したＩＱ内積値の正負の符号に基づいてビット変化判定を行う（ステップＢ１３）。つまり、直近の単位期間と当該単位期間の１つ前の単位期間との境目でのビット値の変化の有無を判定する。そして、その判定結果に基づいて航法メッセージのビット値を判定し、そのビット値を記憶部２９のデコード航法メッセージデータ２９６に記憶させる。
【０１４１】
そして、キャリア周波数追尾部２７６は、第２の予測周波数を用いて、次の単位期間に係る次の受信データに対する第１の相関演算に用いる次の第１の予測周波数を算出する（ステップＢ１５）。すなわち、過去に算出された予測周波数（第１の予測周波数又は第２の予測周波数）と、ステップＢ７で算出された第２の予測周波数とを用いて、例えば次の単位期間に係る第１の予測周波数を線形予測する。
【０１４２】
その後、処理部２７は、当該捕捉衛星の当該単位期間に係る許容範囲外フラグ２９５５をＯＮとし、記憶部２９の当該捕捉衛星に係る非並進移動状態判定用データ２９５を更新する（ステップＢ１７）。そして、処理部２７は、デコード処理を終了する。
【０１４３】
一方、誤差周波数が許容条件を満たさないと判定したならば（ステップＢ５；Ｎｏ）、デコード部２７５は、第１の相関演算の結果を用いてＩＱ内積値を計算する（ステップＢ１９）。具体的には、ステップＢ１で算出した相関積算値と、１回前に算出した相関積算値とを用いて、式（１）に従ってＩＱ内積値を計算する。
【０１４４】
次いで、デコード部２７５は、ステップＢ１９で算出したＩＱ内積値の正負の符号に基づいてビット変化判定を行う（ステップＢ２１）。つまり、直近の単位期間と当該単位期間の１つ前の単位期間との境目でのビット値の変化の有無を判定する。そして、その判定結果に基づいて航法メッセージのビット値を判定し、そのビット値を記憶部２９のデコード航法メッセージデータ２９６に記憶させる。
【０１４５】
その後、キャリア周波数追尾部２７６は、第１の予測周波数を用いて、次の単位期間に係る次の受信データに対する第１の相関演算に用いる次の第１の予測周波数を算出する（ステップＢ２３）。つまり、過去に算出された予測周波数（第１の予測周波数又は第２の予測周波数）と、今回の第１の予測周波数とを用いて、例えば次の単位期間に係る第１の予測周波数を線形予測する。
【０１４６】
その後、処理部２７は、当該捕捉衛星の当該単位期間に係る許容範囲外フラグ２９５５をＯＦＦとし、記憶部２９の当該捕捉衛星に係る非並進移動状態判定用データ２９５を更新する（ステップＢ２５）。そして、処理部２７は、デコード処理を終了する。
【０１４７】
図１２のベースバンド処理に戻り、デコード処理を行った後、処理部２７は、次の捕捉衛星へと処理を移行する。全ての捕捉衛星についてデコード処理を行ったならば、処理部２７は、ループＡの処理を終了する（ステップＡ１１）。
【０１４８】
その後、処理部２７は、非並進移動状態判定タイミングであるか否かを判定し（ステップＡ１３）、非並進移動状態判定タイミングではないと判定したならば（ステップＡ１３；Ｎｏ）、ステップＡ３に戻る。一方、非並進移動状態判定タイミングであると判定したならば（ステップＡ１３；Ｙｅｓ）、各捕捉衛星についてループＢの処理を行う（ステップＡ１５〜Ａ２１）。
【０１４９】
ループＢの処理では、処理部２７は、当該捕捉衛星に係る非並進移動状態判定用データ２９５に記憶されている許容範囲外フラグ２９５５に基づいて当該判定期間におけるカウンタ値２９５６を判定する（ステップＡ１７）。そして、処理部２７は、記憶部２９に記憶されているメジャメント信頼度判定用データ２９４に基づいて、メジャメント信頼度２９５７を判定するメジャメント信頼度判定処理を行う（ステップＡ１９）。
【０１５０】
全ての捕捉衛星についてステップＡ１７及びＡ１９の処理を行ったならば、処理部２７は、ループＢの処理を終了する（ステップＡ２１）。その後、処理部２７は、記憶部２９に記憶されている非並進移動状態判定プログラム２９１Ｃに従って非並進移動状態判定処理を行う（ステップＡ２３）。
【０１５１】
図１４は、非並進移動状態判定処理の流れを示すフローチャートである。
非並進移動状態判定部２７８は、「カウンタ値≧Ｎ１、且つ、メジャメント信頼度≦２」の条件（第１条件）を満たす捕捉衛星数を判定し、それを第１捕捉衛星数とする（ステップＣ１）。また、非並進移動状態判定部２７８は、「カウンタ値＜Ｎ１、且つ、メジャメント信頼度≦２」の条件（第２条件）を満たす捕捉衛星数を判定し、それを第２捕捉衛星数とする（ステップＣ３）。
【０１５２】
次いで、非並進移動状態判定部２７８は、第１捕捉衛星数と第２捕捉衛星数との合算値に対する第１捕捉衛星数の割合を算出し、これを許容条件不成立衛星割合として記憶部２９のログデータ９３に記憶させる（ステップＣ５）。
【０１５３】
次いで、非並進移動状態判定部２７８は、ステップＣ５で算出した許容条件不成立衛星割合（指標値）に対するフィルター処理を実行する（ステップＣ７）。ここで実行するフィルター処理としては、例えば原理で説明したようにローパスフィルター処理を適用することが可能である。
【０１５４】
非並進移動状態判定部２７８は、フィルター処理を施した後のフィルタリング値が所定の閾値を超えているか否かを判定し（ステップＣ９）、超えている場合は（ステップＣ９；Ｙｅｓ）、電子機器の移動状態を非並進移動状態と判定し（ステップＣ１１）、その判定結果を記憶部２９のログデータ９３の判定フラグ９３５に記憶する。一方、フィルタリング値が閾値以下である場合は（ステップＣ９；Ｎｏ）、電子機器の移動状態を並進移動状態と判定し（ステップＣ１３）、その判定結果を記憶部２９のログデータ９３の判定フラグ９３５に記憶する。これらのステップの後、非並進移動状態判定部２７８は、非並進移動状態判定処理を終了する。
【０１５５】
図１２のベースバンド処理に戻り、非並進移動状態判定処理を行った後、位置算出部２７９が位置算出処理を行う（ステップＡ２５）。具体的には、記憶部２９のメジャメントデータ２９３に記憶されているメジャメント情報と、デコード航法メッセージデータ２９６に記憶されている航法メッセージとを用いて、例えば最小二乗法やカルマンフィルターのアルゴリズムを適用した従来公知の位置計算を行って、スマートフォン１の位置及び時計誤差を算出する。そして、これらの算出結果を記憶部２９のログデータ９３に記憶させる。
【０１５６】
その後、処理部２７は、処理を終了するか否かを判定する（ステップＡ２７）。まだ処理を継続すると判定したならば（ステップＡ２７；Ｎｏ）、ステップＡ１に戻る。処理を終了すると判定したならば（ステップＡ２７；Ｙｅｓ）、処理部２７は、ベースバンド処理を終了する。
【０１５７】
ホスト処理部３０は、ベースバンド処理回路部２０の記憶部２９からログデータ９３を取得する。そして、ホスト処理部３０は、記憶部９０に記憶されている位置表示プログラム９１に従って、表示部５０に位置を表示させる制御を行う。具体的には、位置算出制御部３１が、ログデータ９３に記憶されている並進／非並進の判定フラグ９３５に従って、位置算出の方法を変更して位置を算出する。そして、位置表示制御部３３が、位置算出制御部３１により算出された位置を表示部５０に表示させる。
【０１５８】
具体的には、位置算出制御部３１は、ログデータ９３を参照し、並進／非並進の判定フラグ９３５が並進であるか非並進であるかを判定する。そして、判定フラグ９３５が「非並進」である場合は、ＧＰＳ受信部１０によって算出された算出位置を表示位置に決定する。一方、判定フラグが「並進」である場合は、ＧＰＳ受信部１０から取得した算出位置に対して、地図データ９５を用いてマップマッチング処理を行う。そして、マップマッチング処理の結果として得られる位置（以下、「マップマッチング結果位置」と称す。）を表示位置に決定する。位置表示制御部３３は、位置算出制御部３１によって決定された出力位置をプロットした表示画面を生成して表示部５０に表示させる。
【０１５９】
図１５は、この場合にスマートフォン１の表示部５０に表示される表示画面の一例を示す図である。スマートフォン１を携帯したユーザーがスタート地点Ｓからゴール地点Ｇまで移動する場合の表示画面の一例を示す図である。スタート地点Ｓから中間地点Ｍまでは、ユーザーはスマートフォン１を手に持った状態で歩行している。このため、スタート地点Ｓから中間地点Ｍまでは、スマートフォン１の移動状態は「非並進」と判定される。この場合は、上述したようにＧＰＳ受信部１０による算出位置が表示画面に表示される。このため、スタート地点Ｓから中間地点Ｍまでは、算出位置の軌跡としてやや蛇行した軌跡が描かれている。
【０１６０】
中間地点Ｍにおいて、ユーザーが自動車（例えばタクシー）に乗車したとする。この場合、スマートフォン１がユーザーの腕振りによって非並進移動することがなくなるため、スマートフォン１の移動状態は「並進」と判定されることになる。この場合は、上述したように、マップマッチング結果位置を出力位置として表示画面に表示させるように制御される。このため、中間地点Ｍからゴール地点Ｇまでは、マップマッチング結果である直線的な位置の軌跡が描かれている。
【０１６１】
２−４．作用効果
ユーザーに携帯され、ＧＰＳ衛星信号を受信して位置を算出するスマートフォン１において、相関演算部２４は、受信したＧＰＳ衛星信号に対して、所与の予測周波数に基づいて相関演算を行う。そして、誤差周波数推定部２７３は、相関演算部２４の相関演算の結果に基づくＧＰＳ衛星信号の搬送波位相を用いて、予測周波数の誤差周波数を推定する。許容条件判定部２７７は、誤差周波数推定部２７３によって推定された誤差周波数が所定の許容条件を満たすか否かを判定する。非並進移動状態判定部２７８は、許容条件判定部２７７の判定の結果を用いて、スマートフォン１がユーザーのボディに対して相対的に位置変化しながら移動する非並進移動状態にあるか否かを判定する。そして、位置算出制御部３１は、非並進移動状態判定部２７８により非並進移動状態にあると判定された場合に、位置算出の制御方法を変更する。
【０１６２】
誤差周波数が許容条件を満たさないということは、ＧＰＳ受信部１０で予測したドップラー周波数と実際のドップラー周波数とが大きく乖離していることを意味する。そして、誤差周波数が許容条件を満たさない状態が継続するのであれば、スマートフォン１をユーザーが手に持った状態で腕を振って移動している可能性が高いと考えることができる。このため、誤差周波数が許容条件を満たすか否かの判定結果を用いることにより、スマートフォン１が非並進移動状態にあるか否かを適切に判定することができる。本実施例では、ＧＰＳ単体でスマートフォン１の移動状態、特に非並進移動状態を判定することができるという利点がある。
【０１６３】
この場合の判定方法としては、例えば、誤差周波数が許容条件を満たさないとの判定が発生した発生回数、発生頻度、及び発生割合のうちの何れかの指標値に基づいて、非並進移動状態にあるか否かを判定することができる。本実施例では、航法メッセージのビット長に相当する時間の単位期間が経過する毎に誤差周波数の推定を行い、誤差周波数が許容条件を満たすか否かを判定する。そして、単位期間よりも長い判定期間が経過するタイミングで、当該判定期間に含まれる単位期間毎の判定結果に基づいて誤差周波数が許容条件を満たさないとの判定が発生した発生回数をカウントする。そして、その発生回数が所定の閾値回数を超えているか否かによって、スマートフォン１が非並進移動状態であるか否かを判定する。これにより、スマートフォン１が非並進移動状態にあるか否かを適切に判定することができる。
【０１６４】
また、本実施例では、複数の捕捉衛星のうち、誤差周波数が許容条件を満たすか否かの判定結果が、許容条件を満たさないとの判定が発生した発生回数が所定の高閾値条件を満たし、且つ、メジャメント信頼度が所定の高信頼性条件を満たす捕捉衛星の割合を算出する。そして、算出した割合に対して突発値を除去するフィルター処理としてローパスフィルター処理を施し、このローパスフィルター処理を施した後の指標値に対する閾値判定を行って、スマートフォン１が非並進移動状態にあるか否かを判定する。ＧＰＳ衛星信号の受信状況や受信環境如何によっては、非並進移動状態の判定に用いる指標値として突発的な値が算出される場合がある。しかし、例えばローパスフィルター処理を施した指標値に基づいて非並進移動状態にあるか否かを判定することにすれば、非並進移動状態の判定精度が低下することを防止できる。この手法は、弱電界環境やマルチパス環境等においても高精度に非並進移動状態の判定が可能になるという利点がある。
【０１６５】
３．変形例
本発明を適用可能な実施例は、上記の実施例に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。以下、変形例について説明する。なお、上記実施形態と同一の構成については同一の符号を付して再度の説明を省略する。
【０１６６】
３−１．電子機器
上記の実施例では、電子機器の一種であるスマートフォンに本発明を適用した場合を例に挙げて説明したが、本発明を適用可能な電子機器はこれに限られるわけではない。例えば、携帯型ナビゲーション装置やノート型パソコン、ＰＤＡ（Personal Digital Assistant）、腕時計、ランナーズウォッチといった他の電子機器についても同様に適用することが可能である。
【０１６７】
例えば、電子機器の一種であるランナーズウォッチに本発明を適用する場合を例に挙げて説明する。上記の実施形態と同じ手法で、ランナーズウォッチを腕に装着したユーザーの非並進移動状態を判定する。そして、ユーザーの位置や走行距離等の情報を並進／非並進の判定結果とともにログデータとして記憶しておく。
【０１６８】
記憶しておいたログデータは、ユーザーが後から走行距離や走行経路等の情報を確認したり編集したりするために用いることができる。つまり、ランニングやマラソンを終えた後に、ユーザーがランナーズウォッチを取り外してパソコン等の外部装置に接続し、その表示画面で確認や編集を行う。この場合、非並進移動状態と判定された区間については、ユーザーは継続的に走行していると考えられるが、並進移動状態と判定された区間については、ユーザーが乗り物等で移動した可能性が高い。そのため、例えば、並進移動状態と判定された区間の走行距離は累積走行距離に加算せず、非並進移動状態と判定された区間の走行距離のみを累積走行距離に加算するなどの処理を行うことができる。
【０１６９】
３−２．非並進移動状態であると判定された場合の制御
電子機器が非並進移動状態であると判定された場合の制御としては、位置算出の制御方法を変更する、或いは、表示制御を変更することとすればよい。
【０１７０】
位置算出の制御方法を変更するのであれば、上記の実施例で説明したように、マップマッチング処理のＯＮ／ＯＦＦを、移動状態の判定結果に基づいて切り替える制御を行えばよい。上記の実施例で説明したように、例えばユーザーが手に持って移動する電子機器を考えた場合、判定結果が非並進移動状態であればユーザーが歩行又は走行しており、判定結果が並進移動状態であればユーザーが乗り物に乗って移動している状況が考えられる。そこで、判定結果が非並進移動状態であればマップマッチング機能をＯＦＦにし、判定結果が並進移動状態であればマップマッチング機能をＯＮにするとよい。
【０１７１】
また、位置算出の結果に基づいて停止判定を行うことも可能である。例えば、今回の算出位置と前回の算出位置との間の距離を算出し、算出距離が所定の閾値距離以上（或いは超）であれば移動中と判定し、算出距離が閾値距離未満（或いは以下）であれば停止中と判定することができる。本実施形態の非並進移動状態の判定結果を、この停止判定処理に反映させることも可能である。
【０１７２】
具体的には、非並進移動状態と判定された場合は、ユーザーは歩行又は走行している可能性が高く、乗り物に乗って移動している場合と比べて、ユーザーの移動距離は短くなる傾向がある。そこで、非並進移動状態と判定された場合は、並進移動状態と判定された場合と比べて、停止判定処理で用いる閾値距離を短く設定することとしてもよい。
【０１７３】
また、表示制御の方法を変更する場合は、例えば次のようにすることができる。判定結果が非並進移動状態であれば、ユーザーは電子機器を手に持って腕振りしながら歩行又は走行している可能性が高い。従って、この状態で電子機器の表示画面を視認する可能性は低いと考えられる。このため、算出位置を概略表示モード（簡易表示モード）で表示画面に表示させるように制御したり、表示の輝度を低輝度とする省電力モードで表示する。それに対し、判定結果が並進移動状態であれば、ユーザーは乗り物に乗って移動している可能性が高く、電子機器の表示画面を視認することができるため、例えば算出位置を通常表示モード（詳細表示モード）で表示画面に表示させたり、表示の輝度を通常輝度として表示するように制御する。
【０１７４】
３−３．並進移動状態判定方法
非並進移動状態判定処理は、必ずしも図１４で説明した処理フローに従って実行しなければならないわけではなく、適宜設定変更可能であることは勿論である。例えば、複数の衛星の中から、非並進移動状態の判定に利用する衛星を選択し、選択された衛星に係る許容条件の判定の結果を用いて、電子機器が非並進移動状態にあるか否かを判定することとしてもよい。
【０１７５】
図１６は、この場合に上記の実施例の処理部２７が、図１４の並進移動状態判定処理に代えて実行する第２非並進移動状態判定処理の流れを示すフローチャートである。
非並進移動状態判定部２７８は、捕捉衛星の中からメジャメント信頼度が所定の高信頼度条件を満たす捕捉衛星を選択する（ステップＤ１）。例えば、捕捉衛星の中からメジャメント信頼度が「２」以下である捕捉衛星を選択する。
【０１７６】
次いで、非並進移動状態判定部２７８は、選択した捕捉衛星のカウンタ値に対して所定の統計処理を実行する（ステップＤ３）。この場合における統計処理としては、種々の手法を適用可能である。最も単純な処理としては、選択した全ての捕捉衛星に係るカウンタ値の平均値を算出する平均処理を適用することができる。平均値を算出する代わりに、中央値や最頻値を選択する処理とすることとしてもよい。
【０１７７】
次いで、非並進移動状態判定部２７８は、統計処理で求めた値の時間変化に対して、突発値を除去するフィルター処理を行う（ステップＤ５）。そして、非並進移動状態判定部２７８は、ステップＣ９へと移行する。以降の処理は、図１４の並進移動状態判定処理と同じである。
【０１７８】
３−４．指標値
非並進移動状態であるか否かの判定を行う際の指標値は、誤差周波数が許容条件を満たさないとの判定が発生した発生回数、発生頻度、及び発生割合のうちの何れかであればよく、何れの指標値を用いることとしてもよいことは勿論である。少なくとも１つの捕捉衛星について発生回数、発生頻度、及び発生割合のうちの少なくとも１つの指標値を用いて非並進移動状態の判定を行えばよい。発生頻度を用いる場合は、例えばある捕捉衛星について、所定期間内に何回に１回の割合で誤差周波数が許容条件を満たさなかったかを判定すればよい。また、発生割合を用いる場合は、所定期間内に何割の割合で誤差周波数が許容条件を満たさなかったかを判定すればよい。
【０１７９】
また、上記の実施例では、複数の衛星のうち、誤差周波数が許容条件を満たすか否かの判定結果が、許容条件を満たさないと判定された衛星の割合を指標値として、電子機器が非並進移動状態にあるか否かを判定する場合の処理を例示した。しかし、許容条件を満たさないと判定された衛星の数、頻度や割合のうちの少なくとも１つを指標値として用いて、電子機器が非並進移動状態にあるか否かを判定することとしてもよい。
【０１８０】
これらの場合においては、前述したように指標値に突発値が発生することが考えられるため、何れの指標値を用いる場合であっても、指標値の時間変化に対して突発値を除去するフィルター処理を施し、そのフィルター処理の結果を用いて非並進移動状態の判定を行うようにするようにすると効果的である。
【０１８１】
３−５．フィルター処理
上記の実施形態では、指標値の時間変化に対するフィルター処理としてローパスフィルター処理を行う場合を例に挙げて説明したが、フィルター処理は何もこれに限られるわけではない。例えば、指標値の変動を許容する許容範囲を定め、この許容範囲を超えた指標値をクリッピングする処理をフィルター処理として施すこととしてもよい。
【０１８２】
また、突発値が発生することを考慮すると、指標値の時間変化に対してフィルター処理を施すことが効果的である。しかし、フィルター処理は必ず実行しなければならないというわけではなく、フィルター処理を省略することも可能であることは言うまでもない。
【０１８３】
３−６．周波数追尾
上記の実施例では、ベースバンド処理回路部２０の処理部２７がキャリア周波数の追尾処理を行うこととして説明したが、キャリア周波数の追尾を行うためのループ回路を電子回路で構成し、このループ回路によってキャリア周波数の追尾を行うこととしてもよい。
【０１８４】
具体的には、相関演算部２４の後段に相関値を積算する積算部を設け、この積算部の出力を、ループ回路にフィードバック入力する。ループ回路は、例えば周波数弁別器とループフィルターとによって構成し、ループフィルターの出力がキャリア除去用信号生成部２３に出力されるように構成する。この場合、処理部２７は、ループフィルターから出力される周波数を第１の予測周波数として、上記のデコード処理と同様の処理を行えばよい。
【０１８５】
３−７．基準位相
上記の実施形態では、１つ前の単位期間について得られた相関積算値（Ｉ相相関値及びＱ相相関値）から求まる搬送波位相を基準位相とした。つまり、直前の単位期間に係る受信データに対して行った第２の相関演算の結果に基づく搬送波位相を用いて基準位相を定めることとして説明した。しかし、基準位相の定め方はこれに限られるわけではない。例えば、過去所定期間分の単位期間（例えば過去２個分の単位期間）に係る相関積算値から求まる搬送波位相を平均処理することで得られる搬送波位相を基準位相として定めることとしてもよい。
【０１８６】
３−８．ビット変化判定用の指標値
上記の実施形態では、航法メッセージのビット変化の有無を判定するための指標値としてＩＱ内積値（Ｄｏｔ値）を例に挙げて説明したが、指標値はこれに限られるわけではない。ＩＱ内積値以外の指標値として、パワー値と称する指標値を用いて航法メッセージのビット値の変化の有無を判定する場合について以下説明する。
【０１８７】
隣接する単位期間の相関積算値を加算或いは減算の組合せを異ならせて合算し、その合算結果を用いてパワー値を算出する。具体的には、第ｎ番目の単位期間に係る相関積算値を「正」とし、第ｎ＋１番目の単位期間に係る相関積算値を「正」とする合算方法である第１の組合せ「（正，正）」と、第１番目の単位期間に係る相関積算値を「正」とし、第２番目の単位期間に係る相関積算値を「負」とする合算方法である第２の組合せ「（正、負）」との２種類の組合せ（合算方法）に従ってパワー値を算出する。
【０１８８】
第１の組合せ「（正，正）」に従って算出したパワー値のことを「加算パワー値」と称し、「Ｐｏｗｅｒ＋」と表記する。また、第２の組合せ「（正，負）」に従って算出したパワー値のことを「減算パワー値」と称し、「Ｐｏｗｅｒ−」と表記する。例えば、第ｎ番目の単位期間に係る相関積算値と第ｎ＋１番目の単位期間に係る相関積算値とを用いて算出した加算パワー値及び減算パワー値を、それぞれ「Ｐｏｗｅｒ＋（ｎ｜ｎ＋１）」及び「Ｐｏｗｅｒ−（ｎ｜ｎ＋１）」と表記する。
【０１８９】
加算パワー値Ｐｏｗｅｒ＋（ｎ｜ｎ＋１）及び減算パワー値Ｐｏｗｅｒ−（ｎ｜ｎ＋１）は、それぞれ次式（２）及び（３）に従って算出される。
【数２】
2014119299.tif 000004
【数３】
2014119299.tif 000005
【０１９０】
次いで、加算パワー値の大きさと減算パワー値の大きさとを比較する。そして、加算パワー値Ｐｏｗｅｒ＋（ｎ｜ｎ＋１）が減算パワー値Ｐｏｗｅｒ−（ｎ｜ｎ＋１）よりも大きければ（Ｐｏｗｅｒ＋（ｎ，ｎ＋１）＞Ｐｏｗｅｒ−（ｎ｜ｎ＋１））、第ｎ番目の単位期間と第ｎ＋１番目の単位期間との境目において航法メッセージデータのビット値が変化しなかったと判定する（ビット変化なし）。逆の場合には（Ｐｏｗｅｒ−（ｎ｜ｎ＋１）＞Ｐｏｗｅｒ＋（ｎ｜ｎ＋１））、第ｎ番目の単位期間と第ｎ＋１番目の単位期間との境目において航法メッセージのビット値が変化したと判定する（ビット変化あり）。
【０１９１】
３−９．処理の主体
上記の実施例では、非並進移動状態の判定をベースバンド処理回路部２０の処理部２７が実行するものとして説明したが、これを電子機器のホスト処理部３０が実行することとしてもよい。また、非並進移動状態の判定は処理部２７が実行し、位置算出はホスト処理部３０が実行するといったように、ベースバンド処理回路部のプロセッサーと電子機器のプロセッサーとで処理を分散させることとしてもよい。
【０１９２】
３−１０．衛星測位システム
また、上記の実施形態では、衛星測位システムとしてＧＰＳを例に挙げて説明したが、ＷＡＡＳ（Wide Area Augmentation System）、ＱＺＳＳ（Quasi Zenith Satellite System）、ＧＬＯＮＡＳＳ（GLObal NAvigation Satellite System）、ＧＡＬＩＬＥＯ等の他の衛星測位システムであってもよい。
【符号の説明】
【０１９３】
１  スマートフォン、  ５  ＧＰＳアンテナ、  １０  ＧＰＳ受信部、  １１  ＲＦ受信回路部、  ２０  ベースバンド処理回路部、  ２１  サンプルメモリ、  ２２  乗算部、  ２３  キャリア除去用信号生成部、  ２４  相関演算部、  ２５  レプリカコード生成部、  ２７  処理部、  ２９  記憶部、  ３０  ホスト処理部、  ４０  操作部、  ５０  表示部、  ６０  音出力部、  ６５  携帯電話用アンテナ、  ７０  通信部、  ８０  時計部、  ９０  記憶部
【図１】
2014119299.tif 000006
【図２】
2014119299.tif 000007
【図３】
2014119299.tif 000008
【図４】
2014119299.tif 000009
【図５】
2014119299.tif 000010
【図６】
2014119299.tif 000011
【図７】
2014119299.tif 000012
【図８】
2014119299.tif 000013
【図９】
2014119299.tif 000014
【図１０】
2014119299.tif 000015
【図１１】
2014119299.tif 000016
【図１２】
2014119299.tif 000017
【図１３】
2014119299.tif 000018
【図１４】
2014119299.tif 000019
【図１５】
2014119299.tif 000020
【図１６】
2014119299.tif 000021