(57)【要約】【課題】相関演算量を削減するための新たな手法を提案すること。【解決手段】ＣＡコードのチップ周期の到来タイミングを１／ｎチップずつずらした第１〜第ｎの到来タイミングでの受信コード信号の値それぞれと、チップ周期でのレプリカコード信号の値とを相関演算する。そして、その相関演算の結果を合成することで、１／ｎチップ間隔での相関演算結果を得る。【選択図】図１
2011220998.tif 000002
【特許請求の範囲】
【請求項１】
測位用衛星信号を受信した受信信号を復調して得られた受信コード信号と、レプリカコード信号とを相関演算する方法であって、
チップ周期の到来タイミングを１／ｎ（ｎは２以上の整数）チップずつずらした第１〜第ｎの到来タイミングでの前記受信コード信号の値それぞれと、チップ周期での前記レプリカコード信号の値とを相関演算することと、
前記相関演算の結果を合成することで、１／ｎチップ間隔での相関演算結果を得ることと、
を含む相関演算方法。
【請求項２】
請求項１に記載の相関演算方法を実行することにより得られた相関演算結果を用いて、前記測位用衛星信号を捕捉する衛星信号捕捉方法。
【請求項３】
測位用衛星信号を受信した受信信号を復調して得られた受信コード信号と、レプリカコード信号とを相関演算する相関演算回路であって、
チップ周期の到来タイミングを１／ｎ（ｎは２以上の整数）チップずつずらした第１〜第ｎの到来タイミングでの前記受信コード信号の値それぞれと、チップ周期での前記レプリカコード信号の値とを相関演算する相関演算部と、
前記相関演算の結果を合成することで、１／ｎチップ間隔での相関演算結果を得る合成部と、
を備えた相関演算回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測位用衛星信号を受信した受信信号を復調して得られた受信コード信号と、レプリカコード信号とを相関演算する方法等に関する。
【背景技術】
【０００２】
測位用衛星信号を利用した測位システムとしては、ＧＰＳ（Global Positioning System）が広く知られており、携帯型電話機やカーナビゲーション装置等に内蔵された位置算出装置に利用されている。ＧＰＳでは、複数のＧＰＳ衛星の位置や各ＧＰＳ衛星から位置算出装置までの擬似距離等の情報に基づいて位置算出装置の位置座標と時計誤差とを求める位置算出計算を行う。
【０００３】
ＧＰＳ衛星から送出されるＧＰＳ衛星信号は、ＣＡ（Coarse and Acquisition）コードと呼ばれるＧＰＳ衛星毎に異なる拡散符号で変調されている。位置算出装置は、微弱な受信信号の中からＧＰＳ衛星信号を捕捉するために、受信したＣＡコードの信号（受信コード信号）と、ＣＡコードを模擬したレプリカコードの信号（レプリカコード信号）との相関演算を行ってＧＰＳ衛星信号を捕捉する。
【０００４】
ＧＰＳ衛星信号を捕捉するための具体的な回路構成としては、例えば複数の相関器を並列に配設して相関演算回路を構成し、レプリカコード信号の位相をずらしながら、各々の相関器に相関演算を並列的に行わせる構成などが用いられる（例えば特許文献１。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−１５９６７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の相関演算回路では、サンプリング信号に基づいてサンプリングされた受信コード信号のサンプリング値と、レプリカコード信号のサンプリング値との相関演算を、例えばＣＡコード１周期分続けて行い、その合計値に基づいて信号の捕捉の成否を判定している。例えば、ＣＡコードの１／２チップ周期でサンプリングする場合には、ＣＡコードのコード長が１０２３チップであるため、ＣＡコード１周期の相関演算には乗算だけで１０２３×２＝２０４６回の演算が必要となり、２０４６回の演算値の合計値に基づいて信号の捕捉の成否を判定する。
【０００７】
ＣＡコードはいわゆるゴールド符号であるため、捕捉に成功した場合にのみ合計値が高くなる。そのため、レプリカコード信号の位相をずらして、各々の位相において同様の処理を行い、高い値が得られた場合に、信号が捕捉できた、すなわち位相（コード位相）を特定できたと判断できる。レプリカコード信号の位相をずらすことは、例えば相関演算対象とするサンプリング位置を１つずつずらすことで実現している。例えば、１／２チップ周期でサンプリングする場合には、サンプリング位置が２０４６箇所ある。ゆえに、全位相についてＣＡコード１周期分の相関演算を行うには、乗算だけで２０４６×２０４６回の演算が必要となる。
【０００８】
従って、サンプリング間隔を短くすればするほど、それだけ指数関数的に相関演算量が増加するという問題があった。また、サンプリング間隔を短くするために、より高周波のサンプリング信号を生成する必要もある。これらの問題は、測位用衛星信号の受信回路の消費電力が増大する大きな要因の１つであった。
【０００９】
本発明は上述した課題に鑑みて為されたものであり、その目的とするところは、相関演算量を削減するための新たな手法を提案することにある。
【課題を解決するための手段】
【００１０】
以上の課題を解決するための第１の形態は、測位用衛星信号を受信した受信信号を復調して得られた受信コード信号と、レプリカコード信号とを相関演算する方法であって、チップ周期の到来タイミングを１／ｎ（ｎは２以上の整数）チップずつずらした第１〜第ｎの到来タイミングでの前記受信コード信号の値それぞれと、チップ周期での前記レプリカコード信号の値とを相関演算することと、前記相関演算の結果を合成することで、１／ｎチップ間隔での相関演算結果を得ることと、を含む相関演算方法である。
【００１１】
また、他の形態として、測位用衛星信号を受信した受信信号を復調して得られた受信コード信号と、レプリカコード信号とを相関演算する相関演算回路であって、１／ｎ（ｎは２以上の整数）チップずつずらした第１〜第ｎのチップ周期での前記受信コード信号の値それぞれと、チップ周期での前記レプリカコード信号の値とを相関演算する相関演算部と、前記相関演算の結果を合成することで、１／ｎチップ間隔での相関演算結果を得る合成部と、を備えた相関演算回路を構成してもよい。
【００１２】
この第１の形態等によれば、チップ周期の到来タイミングを１／ｎチップずつずらした第１〜第ｎの到来タイミングでの受信コード信号の値それぞれと、チップ周期でのレプリカコード信号の値とを相関演算する。そして、相関演算の結果を合成することで、１／ｎチップ間隔での相関演算結果を得る。これにより、受信コード信号及びレプリカコード信号それぞれを１／ｎチップ間隔でサンプリングし、更に全位相について総当たりで相関演算を行う場合と比べて演算量を大幅に減少させることができる。なお、演算量の減少は、相関演算回路全体における消費電力の削減にも繋がる。
【００１３】
また、第２の形態として、第１の形態の相関演算方法を実行することにより得られた相関演算結果を用いて、前記測位用衛星信号を捕捉する衛星信号捕捉方法を構成してもよい。
【００１４】
この第２の形態によれば、上述した形態の相関演算結果を用いて測位用衛星信号を捕捉することで、測位用衛星信号を正確且つ確実に捕捉することができる。
【図面の簡単な説明】
【００１５】
【図１】（Ａ）レプリカコード信号のサンプリング値「ｒ」を奇数次に統一した結果を示す図。（Ｂ）乗算項の組合せの一例を示す図。（Ｃ）乗算項の組合せの別例を示す図。
【図２】（Ａ）レプリカコード信号のサンプリング値「ｒ」を偶数次に統一した結果を示す図。（Ｂ）乗算項の組合せの一例を示す図。（Ｃ）乗算項の組合せの別例を示す図。
【図３】携帯型電話機の機能構成の一例を示すブロック図。
【図４】ベースバンド処理回路部の回路構成の一例を示すブロック図。
【図５】ｎ＝２の場合の第１方式の相関演算回路部の回路構成の一例を示す図。
【図６】ｎ＝２の場合の相関演算のタイミングチャート。
【図７】ｎ＝２の場合の相関演算のタイミングチャート。
【図８】ｎ＝２の場合の相関演算のタイミングチャート。
【図９】ｎ＝２の場合の相関演算のタイミングチャート。
【図１０】ｎ＝２の場合について相関演算のタイミングを図表化した図。
【図１１】ｎ＝Ｎの場合の第１方式の相関演算回路部の回路構成の一例を示す図。
【図１２】ｎ＝Ｎの場合について相関演算のタイミングを図表化した図。
【図１３】ベースバンド処理の流れを示すフローチャート。
【図１４】ｎ＝２の場合の第２方式の相関演算回路部の回路構成の一例を示す図。
【図１５】ｎ＝Ｎの場合の第２方式の相関演算回路部の回路構成の一例を示す図。
【発明を実施するための形態】
【００１６】
１．原理
先ず、本実施形態における相関演算の原理について説明する。
ＧＰＳ衛星を利用した位置算出システムにおいて、測位用衛星の一種であるＧＰＳ衛星は、アルマナックやエフェメリス等の衛星軌道データを含む航法メッセージデータを、測位用衛星信号の一種であるＧＰＳ衛星信号に乗せて発信している。
【００１７】
ＧＰＳ衛星信号は、拡散符号の一種であるＣＡ（Coarse and Acquisition）コードによって、スペクトラム拡散方式として知られるＣＤＭＡ（Code Division Multiple Access）方式によって変調された１．５７５４２［ＧＨｚ］の通信信号である。ＣＡコードは、コード長１０２３チップを１ＰＮフレームとする繰返し周期１ｍｓの擬似ランダム雑音符号であり、衛星毎に異なる。
【００１８】
ＧＰＳ衛星がＧＰＳ衛星信号を発信する際の周波数（規定搬送波周波数）は、１．５７５４２［ＧＨｚ］と予め規定されているが、ＧＰＳ衛星やＧＰＳ受信装置の移動により生ずるドップラーの影響等により、ＧＰＳ受信装置がＧＰＳ衛星信号を受信する際の周波数は、必ずしも規定搬送波周波数とは一致しない。そのため、従来のＧＰＳ受信装置は、受信信号の中からＧＰＳ衛星信号を捕捉するための周波数方向の相関演算である周波数サーチを行ってＧＰＳ衛星信号を捕捉する。また、受信したＧＰＳ衛星信号（ＣＡコード）の位相を特定するため、ＧＰＳ受信装置は、位相方向の相関演算である位相サーチを行ってＧＰＳ衛星信号を捕捉する。
【００１９】
より具体的には、ＧＰＳ衛星信号を受信した受信信号を復調（検波）し、得られたＣＡコードの信号である受信コード信号と、ＧＰＳ受信装置内部で発生させた擬似的なＣＡコードの信号であるレプリカコード信号との相関演算を行う。
【００２０】
相関演算を行う際には、例えば受信コード信号及びレプリカコード信号を、それぞれＣＡコードのチップ周期の１／ｎ（ｎは２以上の整数）のサンプリング間隔でサンプリングする。言い換えると、ＣＡコードのコード長１０２３チップを、１チップの１／ｎの間隔（１／ｎチップ間隔）でサンプリングする。そして、レプリカコード信号の位相をずらしながら、受信コード信号のサンプリング値とレプリカコード信号のサンプリング値との相関演算を行う。
【００２１】
これを式で表すと、次式（１）のようになる。
【数１】
2011220998.tif 000003
式（１）は、受信コード信号と、受信コード信号に対して位相を遅らせたレプリカコード信号との相関演算を行うことを表している。
【００２２】
式（１）において、「ｃｏｒｒ」は相関値を示している。また、「ｄ」は受信コード信号のサンプリング値を示しており、「ｒ」はレプリカコード信号のサンプリング値を示している。添え字の「ｉ」は相関演算の番号を示しており、添え字の「ｊ」はサンプリングの番号を示している。１０２３チップを１／ｎチップ間隔でサンプリングするため、「ｊ＝１，２，３，・・・，１０２３ｎ」となる。
【００２３】
実施例で後述するように、複数の相関器を並列的に並べて配置して相関演算回路を構成し、各々の相関器に受信コード信号と位相の異なるレプリカコード信号との相関演算を行わせる回路構成を採用する場合には、相関演算番号「ｉ」は相関器の番号となる。
【００２４】
この相関演算手法では、各々の相関演算番号「ｉ」について、受信コード信号のサンプリング値「ｄ」とレプリカコード信号のサンプリング値「ｒ」との乗算を１０２３×ｎ回行い、更に１／ｎチップずつずらした１０２３×ｎ個の位相について行うため、乗算だけで演算量は（１０２３×ｎ）2回必要となり、演算量が膨大になるという問題がある。そこで、本願発明者は、各々の相関演算番号「ｉ」における相関演算の演算量を減少させることができないかを考えた。
【００２５】
問題を簡単にするために、先ず「ｎ＝２」の場合について考える。すなわち、受信コード信号及びレプリカコード信号を１／２チップ間隔でサンプリングする場合である。この場合、式（１）を具体的に書き表すと、次式（２）のようになる。
【数２】
2011220998.tif 000004
【００２６】
「ｎ＝２」であるため、「ｉ＝０，１，２，・・・，２０４５」であり、「ｊ＝１，２，３，・・・，２０４６」である。また、「ｊ＋２０４６」が「ｊ」と等しい（周期が異なるだけで位相は同一）として計算を行う。
【００２７】
ここで、レプリカコード信号を１／２チップ間隔でサンプリングしているため、レプリカコード信号のサンプリング値「ｒ」のうちの隣接するサンプリング値同士は等しい。すなわち「ｒ1＝ｒ2，ｒ3＝ｒ4，ｒ5＝ｒ6，・・・，ｒ2045＝ｒ2046」が成立する。この場合、式（２）は、例えば次式（３）のように書き換えることができる。
【数３】
2011220998.tif 000005
【００２８】
式（３）を見ると、右辺の受信コード信号のサンプリング値とレプリカコード信号のサンプリング値との乗算値を表す項（以下、「乗算項」と称す。）について、隣接するｉ番目とｉ＋１番目の相関演算番号とで共通項が存在することがわかる。この共通項の存在に着目し、新たな相関値（以下、「新相関値」と称す。）「ＮｅｗＣｏｒｒ」を、次式（４）のように定義する。
【数４】
2011220998.tif 000006
【００２９】
式（４）を見ると、偶数番の新相関値は、右辺が奇数番の乗算項のみで構成されているのに対し、奇数番の新相関値は、右辺が偶数番の乗算項のみで構成されていることがわかる。そして、隣接する相関演算番号について、一方の乗算項が他方の乗算項を補う関係にあることがわかる。
【００３０】
この式からわかることは、ｉ番目の相関演算結果と、ｉ＋１番目の相関演算結果とを用いれば、式（３）におけるｉ番目の相関値「ｃｏｒｒi」と等しい値を算出することができるということである。そこで、ｎ＝２の場合について、隣接する２個（＝ｎ個）の相関演算番号の組合せを「相関演算組」と定義する。結果的に、この相関演算組はサンプルタイミングが異なるもの同士の組合せとなっている。そして、各々の相関演算組について、隣接する２つの相関演算番号の相関演算結果を合成する。
【００３１】
これを式で表すと、ｉ番目の相関演算組の合成相関値「ＣｏｒｒＳｅｔ」は、次式（５）のように表される。
【数５】
2011220998.tif 000007
【００３２】
式（４）からわかるように、ｉ番目の相関演算結果（時系列データ）と、ｉ＋１番目の相関演算結果（時系列データ）とでは、右辺の乗算項の算出タイミングが１つずつずれている。これは、受信コード信号のサンプルタイミングがずれていることを意味する。そのため、相関演算結果同士の単純な加算によっては、合成相関値「ＣｏｒｒＳｅｔ」を表現することができない。そこで、合成相関値「ＣｏｒｒＳｅｔ」がサンプルタイミングの異なる乗算項同士の加算によって導き出されることを明確にするため、式（５）では加算を示す「＋」を「○」で囲んだ表記で相関演算結果の合成を表現している。
【００３３】
また、式（４）を見ると、各々の相関演算組について、受信コード信号は１／２チップ間隔でサンプリングされた全てのサンプリング値「ｄ1，ｄ2，ｄ3，・・・」が用いられているのに対し、レプリカコード信号は１つおきのサンプリング値「ｒ1，ｒ3，ｒ5，・・・」のみが用いられていることがわかる。従って、受信コード信号は１／２チップ間隔でサンプリングする必要があるのに対し、レプリカコード信号は１チップ間隔のサンプリングで済むことを意味する。
【００３４】
以上をまとめると、ｎ＝２の場合は、受信信号を復調して得られる受信コード信号を１／２チップ間隔でサンプリングする。また、レプリカコード信号を１チップ間隔でサンプリングする。そして、受信コード信号の１個（＝ｎ−１個）おきのサンプリング値の時系列データのうち、サンプルタイミングが異なる２通り（＝ｎ通り）の時系列データそれぞれについて、レプリカコード信号の各サンプリング値を乗算する。そして、２通りの時系列データそれぞれについて得られた相関演算結果を合成することで、当該相関演算組の相関演算結果を得る。
【００３５】
これは、ＣＡコードのチップ周期の到来タイミングを１／２チップずつずらした異なる２個の到来タイミング（第１及び第２の到来タイミング）での受信コード信号の値それぞれと、チップ周期でのレプリカコード信号の値とを相関演算することを意味する。これにより、第１及び第２の相関演算の結果が得られる。そして、第１及び第２の相関演算の結果を合成することで、１／２チップ間隔での最終的な相関演算結果を得る。
【００３６】
なお、上記の説明では、式（４）に示した乗算項の組合せで相関演算を行ったが、乗算項の組合せを変えて相関演算を行うことも可能である。具体的には、「ｒ1＝ｒ2，ｒ3＝ｒ4，ｒ5＝ｒ6，・・・，ｒ2045＝ｒ2046」が成立するため、レプリカコード信号のサンプリング値「ｒ」のうち、偶数次のサンプリング値を奇数次のサンプリング値に書き換える、又は、奇数次のサンプリング値を偶数次のサンプリング値に書き換えることができる。
【００３７】
図１は、レプリカコード信号のサンプリング値「ｒ」を奇数次に統一した場合の説明図である。図１（Ａ）は、式（２）に示した相関値「ｃｏｒｒ」の算出式に含まれる受信コード信号のサンプリング値「ｄ」とレプリカコード信号のサンプリング値「ｒ」との乗算項を各算出式に対応する順序で配置し、偶数次のサンプリング値「ｒ２ｍ」を奇数次のサンプリング値「ｒ２ｍ−１」に書き換えた結果を示している。
【００３８】
図１（Ａ）を見ると、レプリカコード信号のサンプリング値「ｒ」が奇数次に統一されていることがわかる。また、乗算項に着目すると、点線の矩形で囲った乗算項のペアが共通項のペアとなっていることがわかる。この場合、１組の共通項のうちの上側の共通項を削除することで、図１（Ｂ）に示すような乗算項の組合せを得ることができる。また、１組の共通項のうちの下側の共通項を削除することで、図１（Ｃ）に示すような乗算項の組合せを得ることができる。
【００３９】
図２は、レプリカコード信号のサンプリング値「ｒ」を偶数次に統一した場合の説明図である。図の見方は図１と同じであり、図２（Ａ）には、奇数次のサンプリング値「ｒ２ｍ−１」を偶数次のサンプリング値「ｒ２ｍ」に書き換えた結果を示している。この場合も、点線の矩形で囲った乗算項のペアが共通項のペアとなっていることがわかる。そして、１組の共通項のうちの上側の共通項を削除することで、図２（Ｂ）に示すような乗算項の組合せを得ることができる。また、１組の共通項のうちの下側の共通項を削除することで、図２（Ｃ）に示すような乗算項の組合せを得ることができる。
【００４０】
上記の４通りの組合せのうちの何れかの組合せを用いて新相関値「ＮｅｗＣｏｒｒ」を算出することで、本実施形態の相関演算手法を実現することができる。例えば、図１（Ｂ）及び図２（Ｂ）の組合せでは、ｉ番目の合成相関値「ＣｏｒｒＳｅｔi」を得るための新相関値の組合せは、ｉ番目の新相関値「ＮｅｗＣｏｒｒi」とｉ＋１番目の新相関値「ＮｅｗＣｏｒｒi+1」との組合せとなる。図１（Ｃ）及び図２（Ｃ）の組合せでは、ｉ番目の合成相関値「ＣｏｒｒＳｅｔi」を得るための新相関値の組合せは、ｉ−１番目の新相関値「ＮｅｗＣｏｒｒi-1」とｉ番目の新相関値「ＮｅｗＣｏｒｒi」との組合せとなる。
【００４１】
また、レプリカコード信号のサンプリング値を奇数次及び偶数次の何れに統一してもよいことから、次のようにすることも可能である。すなわち、受信コード信号を１／２チップ間隔でサンプリングした場合の１個おきのサンプリング値の時系列データであって、サンプルタイミングが異なる２通りの時系列データそれぞれについて、レプリカコード信号を同じサンプリング間隔でサンプリングした場合の１個おきのサンプリング値の時系列データ（偶数次の時系列データ又は奇数次の時系列データ）のうちの任意の１つの時系列データと相関演算する。そして、上記と同様に、隣接する相関演算番号の相関演算結果を合成する。
【００４２】
ここまで「ｎ＝２」の場合に着目して説明してきたが、これを一般化して「ｎ＝ｎ」の場合についても同様に考えることができる。測位用衛星信号の拡散符号のコード長を「Ｌ」と表記した場合、ｈ番目の相関演算番号についての新相関値「ＮｅｗＣｏｒｒh」は、次式（６）のように定式化される。
【数６】
2011220998.tif 000008
【００４３】
また、ｋ番目の相関演算番号についての合成相関値「ＣｏｒｒＳｅｔk」は、次式（７）で定式化される。
【数７】
2011220998.tif 000009
【００４４】
ここで、「ｋ」は合成相関値「ＣｏｒｒＳｅｔ」の番号であり、「０≦ｋ＜Ｌ・ｎ」を満たす値である。また、「ｈ」は新相関値「ＮｅｗＣｏｒｒ」の番号であり、「０≦ｈ＜Ｌ・ｎ」を満たす値であるとともに、次式（８）を満たす値である。
【数８】
2011220998.tif 000010
【００４５】
また、「ｉ」は受信コード信号のサンプリング番号であり、「０＜ｉ≦Ｌ・ｎ」を満たす値であるとともに、次式（９）を満たす値である。
【数９】
2011220998.tif 000011
但し、「ｕ」は、「ｈ」を「ｎ」で割った場合の余りである。
【００４６】
また、「ｊ」はレプリカコード信号のサンプリング番号であり、「０＜ｊ≦Ｌ・ｎ」を満たす値であるとともに、次式（１０）を満たす値である。
【数１０】
2011220998.tif 000012
但し、「ｔ」は、「ｈ」を「ｎ」で割った場合の商である。
【００４７】
この場合も、受信コード信号は１／ｎチップ間隔でサンプリングする必要があるのに対し、レプリカコード信号は１チップ間隔のサンプリングで済むことになる。
【００４８】
なお、この場合は、レプリカコード信号のサンプリング値「ｒ」について「ｒ1＝ｒ2＝ｒ3＝・・・＝ｒn，ｒn+1＝ｒn+2＝ｒn+3＝・・・＝ｒ2n，・・・」の関係が成立する。この関係を用いれば、「ｎ＝２」の場合と同様に、レプリカコード信号のサンプリング値の時系列データを複数組取得することができる。そのため、レプリカコード信号を１／ｎチップ間隔でサンプリングした場合の（ｎ−１）個おきのサンプリング値の任意の１つの時系列データと、受信コード信号のサンプリング値の時系列データとを相関演算することとしてもよい。
【００４９】
本実施形態の相関演算手法の演算量について考察する。本実施形態の相関演算手法では、レプリカコード信号の各位相について、受信コード信号のサンプリング値「ｄ」とレプリカコード信号のサンプリング値「ｒ」とを乗算する回数と、乗算項同士を加算する加算の回数とが、それぞれ“１／ｎ”となる。従って、本実施形態の相関演算手法では、従来の相関演算手法と比べて演算量は“１／ｎ2”で済むことになる。例えば、上述した「ｎ＝２」の場合は、従来の相関演算手法と比べて演算量は“１／４”で済む。
【００５０】
２．実施例
次に、相関演算回路を含む位置算出装置を備えた電子機器の一種である携帯型電話機に本発明を適用した場合の実施例について説明する。但し、本発明を適用可能な実施例が以下説明する実施例に限定されるわけではないことは勿論である。
【００５１】
［第１実施例］
２−１．機能構成
図３は、本実施例における携帯型電話機１の機能構成の一例を示すブロック図である。携帯型電話機１は、ＧＰＳアンテナ５と、ＧＰＳ受信部１０と、ホストＣＰＵ（Central Processing Unit）３０と、操作部４０と、表示部５０と、携帯電話用アンテナ６０と、携帯電話用無線通信回路部７０と、記憶部８０とを備えて構成される。
【００５２】
ＧＰＳアンテナ５は、ＧＰＳ衛星から発信されているＧＰＳ衛星信号を含むＲＦ（Radio Frequency）信号を受信するアンテナであり、受信信号をＧＰＳ受信部１０に出力する。
【００５３】
ＧＰＳ受信部１０は、ＧＰＳアンテナ５から出力された信号に基づいて携帯型電話機１の位置を計測する位置算出回路或いは位置算出装置であり、いわゆるＧＰＳ受信装置に相当する機能ブロックである。ＧＰＳ受信部１０は、ＲＦ受信回路部１１と、ベースバンド処理回路部２０とを備えて構成される。なお、ＲＦ受信回路部１１と、ベースバンド処理回路部２０とは、それぞれ別のＬＳＩ（Large Scale Integration）として製造することも、１チップとして製造することも可能である。
【００５４】
ＲＦ受信回路部１１は、ＲＦ信号の受信回路である。回路構成としては、例えば、ＧＰＳアンテナ５から出力されたＲＦ信号をＡ／Ｄ変換器でデジタル信号に変換し、デジタル信号を処理する受信回路を構成してもよい。また、ＧＰＳアンテナ５から出力されたＲＦ信号をアナログ信号のまま信号処理し、最終的にＡ／Ｄ変換することでデジタル信号をベースバンド処理回路部２０に出力する構成としてもよい。
【００５５】
後者の場合には、例えば、次のようにＲＦ受信回路部１１を構成することができる。すなわち、所定の発振信号を分周或いは逓倍することで、ＲＦ信号乗算用の発振信号を生成する。そして、生成した発振信号を、ＧＰＳアンテナ５から出力されたＲＦ信号に乗算することで、ＲＦ信号を中間周波数の信号（以下、「ＩＦ（Intermediate Frequency）信号」と称す。）にダウンコンバートし、ＩＦ信号を増幅等した後、Ａ／Ｄ変換器でデジタル信号に変換して、ベースバンド処理回路部２０に出力する。
【００５６】
ベースバンド処理回路部２０は、ＲＦ受信回路部１１から出力された受信信号に対して相関処理等を行ってＧＰＳ衛星信号を捕捉し、ＧＰＳ衛星信号から取り出した衛星軌道データや時刻データ等に基づいて、所定の位置算出計算を行って携帯型電話機１の位置（位置座標）を算出する処理回路ブロックである。ベースバンド処理回路部２０は、受信信号に対する相関演算を行う相関演算回路や、相関演算回路の相関演算結果に基づいてＧＰＳ衛星信号を捕捉するＧＰＳ衛星信号捕捉回路を有する。
【００５７】
図４は、ベースバンド処理回路部２０の回路構成の一例を示す図であり、本実施例に係わる回路ブロックを中心に記載した図である。ベースバンド処理回路部２０は、例えば、乗算部２１と、キャリア除去用信号発生部２２と、相関演算回路部２３と、レプリカコード信号発生部２４と、処理部２５と、記憶部２７とを備えて構成される。
【００５８】
乗算部２１は、キャリア除去用信号発生部２２により生成・発生されたキャリア除去用信号を受信信号に乗算することで、受信信号から搬送波（キャリア）を除去する回路部であり、例えば乗算器を有して構成される。乗算部２１からは、搬送波が除去された受信コード信号が相関演算回路部２３に出力される。
【００５９】
キャリア除去用信号発生部２２は、ＧＰＳ衛星信号のキャリア信号の周波数と同一の周波数のキャリア除去用信号を生成する回路であり、例えばキャリアＮＣＯ（Numerical Controlled Oscillator）等の発振器を有して構成される。なお、ＲＦ受信回路部１１から出力される信号がＩＦ信号である場合には、ＩＦ周波数のキャリア除去用信号を生成する。このように、ＲＦ受信回路部１１が受信信号をＩＦ信号にダウンコンバージョンする場合も、本実施形態は実質的に同一に適用可能である。
【００６０】
キャリア除去用信号発生部２２により発生されたキャリア除去用信号が乗算部２１において受信信号に乗算されることで、受信信号の復調（検波）が行われ、搬送波（キャリア）が除去された受信コード信号が生成・出力される。従って、乗算部２１及びキャリア除去用信号発生部２２は、復調部（検波部）とも言える。
【００６１】
相関演算回路部２３は、乗算部２１から出力された受信コード信号と、レプリカコード信号発生部２４から出力されたレプリカコード信号との相関演算を行う相関演算回路であり、後述するように本実施形態における特徴的な回路ブロックである。
【００６２】
レプリカコード信号発生部２４は、ＧＰＳ衛星信号の拡散符号であるＣＡコードを模擬したレプリカコード（レプリカＣＡコード）の信号を発生する回路部であり、例えばコードＮＣＯ等の発振器を有して構成される。レプリカコード信号発生部２４は、処理部２５から指示されたＰＲＮ番号（衛星番号）に応じたレプリカコード信号を生成・発生して、相関演算回路部２３に出力する。
【００６３】
相関演算回路部２３は、受信信号のＩＱ成分それぞれに対して、レプリカコード信号発生部２４から入力したレプリカコード信号との相関演算を行う。なお、受信信号のＩＱ成分の分離（ＩＱ分離）を行う回路ブロックについては図示を省略するが、どのように回路ブロックを構成してもよい。例えば、ＲＦ受信回路部１１において受信信号をＩＦ信号にダウンコンバージョンする際に、位相が９０度異なる局部発振信号を受信信号に乗算することでＩＱ分離を行うこととしてもよい。
【００６４】
図５は、相関演算回路部２３の回路構成の一例を示す図である。図５の相関演算回路部２３は、ｎ＝２の場合の回路構成の一例を示す図である。チップ周期のイネーブル信号に従って、受信コード信号を１／２チップ間隔（＝チップ周期の１／ｎに相当）でサンプリングするとともに、レプリカコード信号を１チップ間隔（＝チップ周期に相当）でサンプリングして相関演算を行う場合における相関演算回路の一例である。
【００６５】
第１実施例における相関演算回路部２３は、相関演算部としての複数の相関器２３１（第０相関器２３１−０，第１相関器２３１−１，第２相関器２３１−２，第３相関器２３１−３，・・・）と、合成部としての複数の切替器２３３（第０切替器２３３−０，第１切替器２３３−１，第２切替器２３３−２，第３切替器２３３−３，・・・）と、複数の遅延回路ＤＣと、ＥＸＯＲ（EXclusive OR）回路ＥＸとを備えて構成される。
【００６６】
相関器２３１は、イネーブル信号に従って受信コード信号及びレプリカコード信号のサンプリング及び乗算を行う相関演算部であり、例えば乗算器を有して構成される。各々の相関器２３１には、受信コード信号が並列に入力される。また、ｍ番目（ｍ＝０，１，２，・・・）の相関器２３１−ｍには、複数段の遅延回路ＤＣによって遅延量「ｍＴ」だけ遅延されたレプリカコード信号が入力される。１つの遅延回路ＤＣによって「Ｔ」だけ信号が遅延される。「Ｔ」は受信コード信号のサンプリング間隔を示しており、ここでは「Ｔ＝１／２チップ」である。
【００６７】
より具体的には、第０相関器２３１−０には遅延量「０」のレプリカコード信号が、第１相関器２３１−１には遅延量「Ｔ＝１／２チップ」のレプリカコード信号が、第２相関器２３１−２には遅延量「２Ｔ＝１チップ」のレプリカコード信号が・・・、といったように遅延量「Ｔ」ずつ遅延されたレプリカコード信号が各相関器に入力される。そして、各相関器において、受信コード信号をサンプリングして得られたサンプリング値と、レプリカコード信号をサンプリングして得られたサンプリング値との相関演算が行われる。
【００６８】
また、偶数番の相関器２３１−２ｍには遅延量「０」のイネーブル信号（以下、「第１イネーブル信号」と称す。）が入力され、奇数番の相関器２３１−（２ｍ＋１）には、遅延量「Ｔ＝１／２チップ」のイネーブル信号（以下、「第２イネーブル信号」と称す。）が入力される。すなわち、偶数番と奇数番の相関器とで遅延量が「Ｔ」だけ異なるイネーブル信号が入力される。
【００６９】
偶数番の相関器２３１−２ｍでは、第１イネーブル信号に従ってチップ周期（＝１チップ間隔）でのサンプリング及び乗算がなされる。同様に、奇数番の相関器２３１−（２ｍ＋１）でも、第２イネーブル信号に従ってチップ周期（＝１チップ間隔）でのサンプリング及び乗算がなされる。但し、各相関器２３１には、時間的な差異のない（同一位相の）受信コード信号が並列に入力される。そのため、隣接する２個の相関器２３１の組（相関演算組）により、受信コード信号は１／２チップ間隔で互い違いにサンプリングされて乗算される。それに対し、レプリカコード信号は１／２チップずつ遅延されて各相関器２３１に入力される。そのため、各相関器２３１において、レプリカコード信号は１チップ間隔でサンプリングされて乗算される。
【００７０】
このように、ｎ＝２の場合は、第１及び第２イネーブル信号によって、チップ周期の到来タイミングを１／２チップずつずらした第１及び第２の到来タイミングでの受信コード信号の値それぞれと、チップ周期でのレプリカコード信号の値とが相関演算される。
【００７１】
その一方で、第１イネーブル信号と第２イネーブル信号とは、ＥＸＯＲ回路ＥＸに入力される。ＥＸＯＲ回路ＥＸによって、イネーブル信号は２倍に逓倍される。ＥＸＯＲ回路ＥＸの出力信号は、各々の切替器２３３に並列に入力される。つまり、切替器２３３を１／２チップ間隔（＝チップ周期の１／２）で動作させるためのイネーブル信号がＥＸＯＲ回路ＥＸにおいて生成されて、各切替器２３３に入力される。
【００７２】
各切替器２３３には、連続する２つの相関器２３１の出力信号が入力される。すなわち、第０切替器２３３−０には、第０相関器２３１−０及び第１相関器２３１−１の出力信号がそれぞれ入力され、第１切替器２３３−１には、第１相関器２３１−１及び第２相関器２３１−２の出力信号がそれぞれ入力され、・・・といったように、第ｍ切替器２３３−ｍには、第ｍ相関器２３１−ｍ及び第ｍ＋１相関器２３１−（ｍ＋１）の出力信号がそれぞれ入力される。
【００７３】
各切替器２３３は、ＥＸＯＲ回路ＥＸの出力信号に従って、入力した２つの相関器からの出力信号を順次切り替える切替回路であり、フリップフロップ回路等の論理回路によって実現される。切替器２３３は、２つの相関器からの出力信号を順次切り替えて出力することで、当該２つの相関器により演算された相関演算結果を合成する合成部である。より具体的には、各切替器２３３は、ＥＸＯＲ回路ＥＸにおいて２逓倍されたイネーブル信号に従って、隣接する２つの相関器２３１から出力される乗算結果を１／２チップ間隔で順次に切り替えて、処理部２５に出力する。
【００７４】
図６は、相関演算回路部２３の各部の動作を説明するタイミングチャートである。図６は、図１（Ｂ）の組合せで相関演算を行った場合のタイミングチャートである。ｎ＝２であるため、サンプリング番号は１／２チップ間隔の番号に相当する。また、直感的に分かり易いように、受信コード信号及びレプリカコード信号と、相関演算結果と、相関演算結果の合成結果とを、それぞれ「１」と「−１」の二値で表現している。
【００７５】
最上段に受信コード信号の時系列データの一例を示す。横方向は時間を示しており、最上部に示す番号は受信コード信号のサンプリング番号を示している。ここでは、受信コード信号のＰＲＮ番号（衛星番号）及び位相が既知であるものとして説明する。
【００７６】
遅延量「０」のレプリカコード信号を２段目に示す。第０相関器２３１−０には、このレプリカコード信号と受信コード信号とが入力され、第１イネーブル信号に従って１チップ間隔で相関演算が行われる。
【００７７】
各サンプルタイミングについて、受信コード信号のサンプリング値とレプリカコード信号のサンプリング値とが同じであれば（両方とも“１”か“−１”）、サンプリング値の乗算により相関演算結果は“１”となる。それに対して、受信コード信号のサンプリング値とレプリカコード信号のサンプリング値とが異なれば（一方が“１”で他方が“−１”）、サンプリング値の乗算により相関演算結果は“−１”となる。
【００７８】
最上段の受信コード信号と２段目のレプリカコード信号とは位相がぴったり一致しているため（遅延量＝０）、各サンプルタイミングについて受信コード信号のサンプリング値とレプリカコード信号のサンプリング値とは同じとなる。そのため、全てのサンプルタイミングについて相関演算結果は“１”となる。その結果、３段目に示すような第０相関演算結果が算出されて、第０切替器２３３−０に出力される。相関演算結果の上に示した矢印は、サンプルタイミングを示している。
【００７９】
遅延量「Ｔ＝１／２チップ」のレプリカコード信号を４段目に示す。第１相関器２３１−１には、このレプリカコード信号と受信コード信号とが入力され、第２イネーブル信号に従って１チップ間隔で相関演算が行われる。
【００８０】
４段目のレプリカコード信号は、最上段の受信コード信号と比べて位相が１／２チップだけ遅れている（遅延量＝１／２チップ）。各サンプルタイミングにおける受信コード信号のサンプリング値とレプリカコード信号のサンプリング値とを時系列に比較していくと、時刻“ｔ＝２”のサンプルタイミングではサンプリング値は両方とも“−１”であるため、相関演算結果は“（−１）×（−１）＝１”となる。時刻“ｔ＝４”及び“ｔ＝６”のサンプルタイミングではサンプリング値は両方とも“１”であるため、相関演算結果は“１×１＝１”となる。時刻“ｔ＝８”のサンプルタイミングではサンプリング値は両方とも“−１”であるため、相関演算結果は“（−１）×（−１）＝１”となる。以下同様に、全てのサンプルタイミングについて相関演算結果は“１”となる。その結果、５段目に示すような第１相関演算結果が算出されて、第０切替器２３３−０及び第１切替器２３３−１に出力される。
【００８１】
ここで、第１イネーブル信号と第２イネーブル信号とは周期が１チップの信号であって、互いに１／２チップずれた信号である。このため、第０相関器２３１−０と第１相関器２３１−１とは、１／２チップ毎に交互にサンプリング及び相関演算を実行していることになる。
【００８２】
第０切替器２３３−０は、ＥＸＯＲ回路ＥＸの出力信号に従って、第０相関器２３１−０及び第１相関器２３１−１の出力を１／２チップ毎に交互に選択して出力する。具体的には、第０相関器２３１−０の出力信号が変化した場合に第０相関器２３１−０を選択し、第１相関器２３１−１の出力信号が変化した場合に第１相関器２３１−１を選択するように、イネーブル信号に基づいて同期制御されている。この結果、第０切替器２３３−０から出力される合成結果は、第０相関演算組の相関演算結果となる。
【００８３】
第０相関演算組の合成結果は、３段目の第０相関演算結果と５段目の第１相関演算結果とを合成した結果となる。第０相関演算結果と第１相関演算結果とはサンプルタイミングが１／２チップずつずれているため、２つの相関演算結果を交互に選択することで相関演算結果が合成される。この場合、第０相関演算結果は全てのサンプルタイミングで“１”であり、第１相関演算結果も全てのサンプルタイミングで“１”である。従って、相関演算結果を交互に選択していくと全てのサンプルタイミングについて“１”となり、６段目に示すような直線状の第０相関演算組の合成結果が得られる。
【００８４】
遅延量「２Ｔ＝１チップ」のレプリカコード信号を７段目に示す。第２相関器２３１−２には、このレプリカコード信号と受信コード信号とが入力され、第１イネーブル信号に従って１チップ間隔で相関演算が行われる。その結果、８段目に示すような第２相関演算結果が算出されて、第１切替器２３３−１及び第２切替器２３３−２に出力される。
【００８５】
第１切替器２３３−１は、ＥＸＯＲ回路ＥＸの出力信号に従って、第１相関器２３１−１及び第２相関器２３１−２の出力を１／２チップ毎に交互に選択して出力する。これにより、９段目に示すような相関演算結果の合成結果が算出されて、第１切替器２３３−１から出力される。第１切替器２３３−１から出力される合成結果は、第１相関演算組の相関演算結果となる。
【００８６】
第１相関演算組の合成結果は、５段目の第１相関演算結果と８段目の第２相関演算結果とを合成した結果となる。この場合、相関演算結果を交互に選択していくと、第２相関演算結果が“−１”となるサンプルタイミングで“−１”に下がり、その直後の第１相関演算結果のサンプルタイミングで“１”に立ち上がるため、９段目に示すような第１相関演算組の合成結果が得られる。
【００８７】
以下同様に、各々の相関演算組について、隣接する２つの相関器２３１からの出力信号が切替器２３３によって切り替えられることで相関演算結果が合成され、その合成結果が切替器２３３から出力される。
【００８８】
図６において、全てのサンプルタイミングについて合成結果が“１”となるのは、第０相関演算組の合成結果のみである。ゆえに、第０相関演算組〜第２０４５相関演算組それぞれについて、全てのサンプルタイミングについての合成結果を合算して相関値を算出すると、第０相関演算組の相関値が最大となる。従って、第０相関演算組に対応する遅延量“０”のレプリカコード信号が、受信コード信号と位相がぴったり一致したレプリカコード信号であると判断することができる。
【００８９】
なお、図１及び図２で説明した残りの組合せについても、タイミングチャートを同様に作成した。図１（Ｃ）、図２（Ｂ）及び図２（Ｃ）の組合せに対応するタイミングチャートをそれぞれ図７〜図９に示す。原理で説明したように、合成相関値「ＣｏｒｒＳｅｔ」を得るための新相関値「ＮｅｗＣｏｒｒ」の組合せは、図１（Ｂ）及び図２（Ｂ）の組合せでは、ｉ番目の新相関値「ＮｅｗＣｏｒｒi」とｉ＋１番目の新相関値「ＮｅｗＣｏｒｒi+1」との組合せとなる。また、図１（Ｃ）及び図２（Ｃ）の組合せでは、ｉ−１番目の新相関値「ＮｅｗＣｏｒｒi-1」とｉ番目の新相関値「ＮｅｗＣｏｒｒi」との組合せとなる。そこで、対応するタイミングチャートを比較してみる。
【００９０】
図１（Ｂ）及び図２（Ｂ）の組合せに対応する図６及び図８を比較すると、何れも第０相関演算結果と第１相関演算結果とを合成した第０相関演算組が、相関値が最大となる組合せであることがわかる。他方、図１（Ｃ）及び図２（Ｃ）の組合せに対応する図７及び図９を比較すると、何れも第２０４５相関演算結果と第０相関演算結果とを合成した第０相関演算組が、相関値が最大となる組合せであることがわかる。何れの組合せも遅延量「０」のレプリカコード信号に対応する組合せとなっており、正しい結果が得られていることがわかる。
【００９１】
図１０は、ｎ＝２の場合について相関演算のタイミングを図表化したグラフであり、図６のタイミングチャートに対応するグラフを示している。グラフの横方向は、受信コード信号のサンプルタイミング及び受信コード信号のサンプリング値を示している。各サンプルタイミングは「Ｔ＝１／２チップ」毎のタイミングを示している。ｎ＝２であるため、連続する２個のサンプルタイミングが１チップ周期に相当する。一方、グラフの縦方向は相関器２３１の番号を示している。ｎ＝２であるため、連続する２個の相関器によって相関演算組が１つ構成される。また、相関演算が行われるサンプルタイミングにはレプリカコード信号のサンプリング値を記載しており、相関演算が行われないサンプリングタイミングは「−」としている。
【００９２】
第１サンプルタイミングでは、偶数番の相関器２３１−２ｍが、受信コード信号のサンプリング値「ｄ」とレプリカコード信号のサンプリング値「ｒ」との相関演算を行う。例えば、第０相関器２３１−０は「ｄ1」と「ｒ1」との相関演算を行い、第２相関器２３１−２は「ｄ1」と「ｒ2045」との相関演算を行い、第４相関器２３１−４は「ｄ1」と「ｒ2043」との相関演算を行うといった具合である。
【００９３】
第２サンプルタイミングでは、奇数番の相関器２３１−（２ｍ＋１）が受信コード信号のサンプリング値「ｄ」とレプリカコード信号のサンプリング値「ｒ」との相関演算を行う。例えば、第１相関器２３１−１は「ｄ2」と「ｒ1」との相関演算を行い、第３相関器２３１−３は「ｄ2」と「ｒ2045」との相関演算を行い、第５相関器２３１−５は「ｄ2」と「ｒ2043」との相関演算を行うといった具合である。
【００９４】
図１１は、相関演算回路部２３を一般化して、１／Ｎチップ（ｎ＝Ｎ）間隔で受信コード信号をサンプリングして相関演算を行う場合の回路構成の一例を示す図であり、第０相関演算組に着目した図を示している。受信コード信号のサンプリング間隔は「Ｔ＝１／Ｎチップ」である。
【００９５】
図１１の相関演算回路部２３では、連続するＮ個の相関器によって一組の相関演算組が構成される。例えば、第０相関器２３１−０〜第Ｎ−１相関器２３１−（Ｎ−１）のＮ個の相関器によって第０相関演算組が構成され、各々の相関器の出力信号が第０切替器２３３−０に出力される。同様に、第１相関器２３１−１〜第Ｎ相関器２３１−ＮのＮ個の相関器によって第１相関演算組が構成され、各相関器の出力信号が第１切替器２３３−１に出力される。
【００９６】
また、各々の相関演算組に含まれるＮ個の相関器には、それぞれ遅延量「Ｔ＝１／Ｎチップ」ずつ遅延されたレプリカコード信号が入力されるように、複数段の遅延回路ＤＣが配設されている。すなわち、第０相関演算組において、第０相関器２３１−０には遅延量「０」のレプリカコード信号が、第１相関器２３１−１には遅延量「Ｔ」のレプリカコード信号が、第２相関器２３１−２には遅延量「２Ｔ」のレプリカコード信号が入力され、以降も同様である。
【００９７】
各々の相関演算組を構成する各相関器には、遅延量「Ｔ＝１／Ｎチップ」ずつ遅延された１チップ周期のイネーブル信号が入力されるように、複数段の遅延回路ＤＣが形成されている。すなわち、第０相関演算組において、第０相関器２３１−０には遅延量「０」の第１イネーブル信号が、第１相関器２３１−１には遅延量「Ｔ＝１／Ｎチップ」の第２イネーブル信号が、第２相関器２３１−２には遅延量「２Ｔ＝２／Ｎチップ」の第３イネーブル信号が入力され、以降も同様である。
【００９８】
図１２は、ｎ＝Ｎの場合について相関演算のタイミングを図表化したグラフである。グラフの見方は図１０と同じである。ｎ＝Ｎであるため、連続するＮ個のサンプルタイミングが１チップ周期に相当する。また、連続するＮ個の相関器によって相関演算組が１つ構成される。
【００９９】
例えば、第０相関演算組に着目した場合、第１サンプルタイミングでは、第０相関器２３１−０が「ｄ1」と「ｒ1」との相関演算を行い、第２サンプルタイミングでは、第１相関器２３１−１が「ｄ2」と「ｒ1」との相関演算を行い、第３サンプルタイミングでは、第２相関器２３１−２が「ｄ3」と「ｒ1」との相関演算を行い、・・・、第Ｎサンプルタイミングでは、第Ｎ−１相関器２３１−（Ｎ−１）が「ｄN」と「ｒ1」との相関演算を行う。
【０１００】
図４の回路ブロックの説明に戻って、処理部２５は、ベースバンド処理回路部２０の各機能部を統括的に制御する制御装置であり、例えばＣＰＵ等のプロセッサーを有して構成される。処理部２５は、相関演算回路部２３から出力された相関演算結果を用いてＧＰＳ衛星信号を捕捉する捕捉部として機能する。主要な機能部として、処理部２５は、衛星信号捕捉部２５１と、位置算出部２５３とを有する。
【０１０１】
衛星信号捕捉部２５１は、相関演算回路部２３から出力される相関演算結果に対するピーク検出を行って受信コード信号の位相（コード位相）を検出することで、ＧＰＳ衛星信号を捕捉する信号捕捉部である。
【０１０２】
より具体的には、衛星信号捕捉部２５１は、相関演算回路部２３の各切替器２３３から出力される相関演算結果の合成信号に基づいて相関値を算出する。すなわち、各切替器２３３（第０切替器２３３−０，第１切替器２３３−１，第２切替器２３３−２，・・・）から出力される時系列の合成結果を合算して、各々の相関演算組の相関値を算出する。そして、各々の相関演算組の相関値の大きさを比較することで相関値のピーク判定を行い、相関値が最大となった相関演算組に対応するレプリカコード信号の遅延量から、受信コード信号の位相（コード位相）を特定する。
【０１０３】
位置算出部２５３は、衛星信号捕捉部２５１により捕捉されたＧＰＳ衛星信号を利用して、公知の位置算出計算を行って携帯型電話機１の位置を算出する算出部であり、算出した位置をホストＣＰＵ３０に出力する。
【０１０４】
記憶部２７は、ＲＯＭ（Read Only Memory）やフラッシュＲＯＭ、ＲＡＭ（Random Access Memory）等の記憶装置（メモリー）によって構成され、ベースバンド処理回路部２０のシステムプログラムや、衛星信号捕捉機能、位置算出機能等の各種機能を実現するための各種プログラム、データ等を記憶している。また、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを有する。
【０１０５】
記憶部２７には、例えば図４に示すように、プログラムとして、処理部２５により読み出され、ベースバンド処理（図１３参照）として実行されるベースバンド処理プログラム２７１が記憶されている。また、データとして、衛星軌道データ２７２と、相関演算結果データ２７３とが記憶される。
【０１０６】
ベースバンド処理とは、処理部２５が、捕捉対象とするＧＰＳ衛星（以下、「捕捉対象衛星」と称す。）それぞれについて、相関演算回路部２３から出力される各相関演算組の相関演算結果に基づいてＧＰＳ衛星信号を捕捉する処理を行い、捕捉したＧＰＳ衛星信号を利用した位置算出計算を行って携帯型電話機１の位置を算出する処理である。ベースバンド処理については、フローチャートを用いて詳細に後述する。
【０１０７】
衛星軌道データ２７２は、全てのＧＰＳ衛星の概略の衛星軌道情報を記憶したアルマナックや、各ＧＰＳ衛星それぞれについて詳細な衛星軌道情報を記憶したエフェメリス等のデータである。衛星軌道データ２７２は、ＧＰＳ衛星から受信したＧＰＳ衛星信号をデコードすることで取得する他、例えば携帯型電話機１の基地局やアシストサーバーからアシストデータとして取得する。
【０１０８】
相関演算結果データ２７３は、各々の相関演算組について相関演算回路部２３から出力される各相関演算組の相関演算結果のデータである。
【０１０９】
図３の機能ブロックに戻って、ホストＣＰＵ３０は、記憶部８０に記憶されているシステムプログラム等の各種プログラムに従って携帯型電話機１の各部を統括的に制御するプロセッサーである。ホストＣＰＵ３０は、ベースバンド処理回路部２０から出力された位置座標をもとに、表示部５０に現在位置を指し示した地図を表示させたり、その位置座標を各種のアプリケーション処理に利用する。
【０１１０】
操作部４０は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号をホストＣＰＵ３０に出力する。この操作部４０の操作により、通話要求やメール送受信要求、位置算出要求等の各種指示入力がなされる。
【０１１１】
表示部５０は、ＬＣＤ（Liquid Crystal Display）等により構成され、ホストＣＰＵ３０から入力される表示信号に基づいた各種表示を行う表示装置である。表示部５０には、位置表示画面や時刻情報等が表示される。
【０１１２】
携帯電話用アンテナ６０は、携帯型電話機１の通信サービス事業者が設置した無線基地局との間で携帯電話用無線信号の送受信を行うアンテナである。
【０１１３】
携帯電話用無線通信回路部７０は、ＲＦ変換回路、ベースバンド処理回路等によって構成される携帯電話の通信回路部であり、携帯電話用無線信号の変調・復調等を行うことで、通話やメールの送受信等を実現する。
【０１１４】
記憶部８０は、ホストＣＰＵ３０が携帯型電話機１を制御するためのシステムプログラムや、各種アプリケーション処理を実行するための各種プログラムやデータ等を記憶する記憶装置である。
【０１１５】
２−２．処理の流れ
図１３は、記憶部２７に記憶されているベースバンド処理プログラム２７１が処理部２５により読み出されることで、ベースバンド処理回路部２０において実行されるベースバンド処理の流れを示すフローチャートである。
【０１１６】
最初に、衛星信号捕捉部２５１は、捕捉対象衛星判定処理を行う（ステップＡ１）。具体的には、不図示の時計部で計時されている現在時刻において、所与の基準位置の天空に位置するＧＰＳ衛星を、記憶部２７に記憶されたアルマナックやエフェメリス等の衛星軌道データ２７２を用いて判定して、捕捉対象衛星に決定する。基準位置は、例えば、電源投入後の初回の位置算出の場合は、いわゆるサーバーアシストによってアシストサーバーから取得した位置とし、２回目以降の位置算出の場合は、最新の算出位置とする等の方法で設定できる。
【０１１７】
次いで、衛星信号捕捉部２５１は、ステップＡ１で判定した各捕捉対象衛星それぞれについて、ループＡの処理を実行する（ステップＡ３〜Ａ９）。ループＡの処理では、衛星信号捕捉部２５１は、当該捕捉対象衛星のＰＲＮ番号（衛星番号）の指示信号をレプリカコード信号発生部２４に出力する（ステップＡ５）。
【０１１８】
ステップＡ５の処理を行うと、レプリカコード信号発生部２４により、当該捕捉対象衛星のＣＡコードを模擬したレプリカコード信号が生成・発生されて、相関演算回路部２３に出力される。そして、上述した原理に従った相関演算が相関演算回路部２３において行われ、各々の相関演算組の相関演算結果が処理部２５に出力される。
【０１１９】
衛星信号捕捉部２５１は、相関演算回路部２３から出力された各々の相関演算組の相関演算結果に対するピーク判定を行う（ステップＡ７）。そして、次の捕捉対象衛星へと処理を移行する。全ての捕捉対象衛星についてステップＡ５及びＡ７の処理を行った後、衛星信号捕捉部２５１は、ループＡの処理を終了する（ステップＡ９）。
【０１２０】
その後、位置算出部２５３は、各捕捉対象衛星について捕捉されたＧＰＳ衛星信号を利用した位置算出計算を実行する（ステップＡ１１）。位置算出計算は、携帯型電話機１と各捕捉衛星間の擬似距離を利用して、例えば最小二乗法やカルマンフィルターを用いた公知の収束演算を行うことで実現することができる。
【０１２１】
擬似距離は、次のようにして算出することができる。すなわち、衛星軌道データ２７２から求められる捕捉衛星の衛星位置と、携帯型電話機１の最新の算出位置とを用いて、擬似距離の整数部分を算出する。また、ステップＡ７で検出された相関演算結果のピークに相当するレプリカコード信号の位相（コード位相）を用いて、擬似距離の端数部分を算出する。このようにして求めた整数部分と端数部分とを合算することで、擬似距離を算出することができる。
【０１２２】
次いで、位置算出部２５３は、算出した位置（位置座標）をホストＣＰＵ３０に出力する（ステップＡ１３）。そして、処理部２５は、処理を終了するか否かを判定し（ステップＡ１５）、まだ終了しないと判定した場合は（ステップＡ１５；Ｎｏ）、ステップＡ１に戻る。また、処理を終了すると判定した場合は（ステップＡ１５；Ｙｅｓ）、ベースバンド処理を終了する。
【０１２３】
２−３．作用効果
ベースバンド処理回路部２０において、ＧＰＳ衛星信号を受信した受信信号に、キャリア除去用信号発生部２２により発生されたキャリア除去用信号が乗算部２１で乗算されることで、受信信号が復調される。復調された受信コード信号は、相関演算回路部２３において、ＣＡコードのチップ周期の１／ｎ（ｎは２以上の整数）チップ間隔でサンプリングされる。また、レプリカコード信号発生部２４により発生されたレプリカコード信号はＣＡコードのチップ周期である１チップ間隔でサンプリングされる。
【０１２４】
つまり、ＣＡコードのチップ周期の到来タイミングを１／ｎチップずつずらした第１〜第ｎの到来タイミングでの受信コード信号の値が得られる。また、チップ周期でのレプリカコード信号が得られる。そして、第１〜第ｎの到来タイミングでの受信コード信号の値それぞれと、チップ周期でのレプリカコード信号の値とが相関器２３１において相関演算され、その相関演算の結果が切替器２３３において合成されることで、１／ｎチップ間隔での相関演算結果が得られる。
【０１２５】
この結果、受信コード信号及びレプリカコード信号それぞれを１／ｎチップ間隔でサンプリングし、更に全位相について総当たりで相関演算を行う場合と比べて、演算量を大幅に減少させることができる。また、本実施形態の手法では、従来のようにレプリカコード信号を１／ｎチップ間隔でサンプリングする必要がない。つまり、レプリカコード信号のサンプリング間隔を長くすることができるため、従来よりもサンプリング信号が低周波で済む。そのため、演算量の削減はもとより、サンプリングに係る消費電力の削減を実現することができる。
【０１２６】
勿論、相関演算回路部２３により演算された相関演算結果を用いて受信コード信号のコード位相を検出することで、ＧＰＳ衛星信号を正確且つ確実に捕捉することができることは言うまでもない。
【０１２７】
［第２実施例］
第２実施例は、第１実施例で説明した第１方式の相関演算回路とは異なり、相関器の内部にサンプリング値の乗算結果を積算・蓄積しておき、所定のタイミングで値を取り出して相関演算を行う処理方式の相関演算回路の実施例である。本明細書では、当該処理方式のことを「第２方式」と称する。
【０１２８】
図１４及び図１５は、第２方式の相関演算回路の回路構成の一例を示すブロック図である。図１４は、ｎ＝２の場合の相関演算回路部２３Ｂの回路構成の一例であり、図１５は、ｎ＝Ｎの場合の相関演算回路部２３Ｂの回路構成の一例である。
【０１２９】
ｎ＝２の場合について、図１４の相関演算回路部２３Ｂは、相関演算部としての複数の相関器２３５（第０相関器２３５−０，第１相関器２３５−１，第２相関器２３５−２，第３相関器２３５−３，・・・）と、合成部としての複数の加算器２３７（第０加算器２３７−０，第１加算器２３７−１，第２加算器２３７−２，第３加算器２３７−３，・・・）とを備えて構成される。
【０１３０】
各相関器２３５は、乗算器２３５Ａとレジスタ２３５Ｂとを有する。乗算器２３５Ａは、イネーブル信号に従って受信コード信号及びレプリカコード信号をサンプリングして乗算する。レジスタ２３５Ｂは、乗算器２３５Ａの乗算結果を積算・蓄積する記憶回路である。具体的には、各乗算タイミングにおける乗算器２３５Ａの乗算結果がレジスタ２３５Ｂにおいて累積的に加算されていく。
【０１３１】
偶数番の相関器２３５−２ｍには、チップ周期（＝１チップ間隔）の第１イネーブル信号が入力される。同様に、奇数番の相関器２３５−（２ｍ＋１）にも、チップ周期（＝１チップ間隔）の第２イネーブル信号が入力される。但し、第２イネーブル信号は、第１イネーブル信号よりも時間的に「Ｔ＝１／２チップ」だけずれて遅延している。
【０１３２】
偶数番の相関器２３５−２ｍでは、第１イネーブル信号に従ってチップ周期でのサンプリング及び乗算がなされ、乗算結果がレジスタ２３５Ｂに積算・蓄積される。また、奇数番の相関器２３５−（２ｍ＋１）では、第２イネーブル信号に従ってチップ周期でのサンプリング及び乗算がなされ、乗算結果がレジスタ２３５Ｂに積算・蓄積される。第１イネーブル信号と第２イネーブル信号とは時間的に１／２チップずれている。そのため、隣接する２つの相関器２３５の組（相関演算組）により、チップ周期の到来タイミングを１／２チップずつずらした第１及び第２の到来タイミングでの受信コード信号の値それぞれと、チップ周期でのレプリカコード信号のサンプリング値とが相関演算される。
【０１３３】
各加算器２３７には、コード周期（＝１０２３チップ間隔）の加算イネーブル信号が入力される。各加算器２３７は、加算イネーブル信号に従ったコード周期のタイミングで、隣接する相関器２３５の相関演算結果を取り出す。つまり、各相関器２３５のレジスタ２３５Ｂに蓄積された１０２３チップ分の乗算結果の合算値を読み出す。そして、隣接する２つの相関器２３５から取り出した合算値を加算して、１／２チップ間隔での相関演算結果として処理部２５に出力する。
【０１３４】
ｎ＝Ｎの場合の相関演算回路部２３Ｂの動作も同様である。すなわち、図１５の相関演算回路部２３Ｂでは、連続するＮ個の相関器２３５によって一組の相関演算組が構成される。具体的には、第０相関器２３５−０〜第Ｎ−１相関器２３５−（Ｎ−１）のＮ個の相関器２３５によって第０相関演算組が構成される。そして、各相関器２３５のレジスタ２３５Ｂに積算・蓄積された相関演算結果が第０加算器２３７−０に出力される。同様に、第１相関器２３５−１〜第Ｎ相関器２３５−ＮのＮ個の相関器２３５によって第１相関演算組が構成され、各相関器２３５のレジスタ２３５Ｂに積算・蓄積された相関演算結果が第１加算器２３７−１に出力される。
【０１３５】
各相関演算組のＮ個の相関器２３５には、時間的に「Ｔ＝１／Ｎチップ」ずつ遅延されたチップ周期の第１イネーブル信号〜第Ｎイネーブル信号が入力される。また、各加算器２３７には、コード周期の加算イネーブル信号が入力される。これにより、各相関演算組のＮ個の相関器２３５は、１／Ｎチップずつずらしたタイミングで受信コード信号とレプリカコード信号とを相関演算する。そして、加算器２３７は、各相関器２３５のレジスタ２３５Ｂに蓄積された１０２３チップ分の乗算結果の合算値を読み出し、それらの合算値を加算して、１／Ｎチップ間隔での相関演算結果として処理部２５に出力する。
【０１３６】
３．変形例
３−１．電子機器
上述した実施例では、電子機器の一種である携帯型電話機に本発明を適用した場合を例に挙げて説明したが、本発明を適用可能な電子機器はこれに限られるわけではない。例えば、カーナビゲーション装置や携帯型ナビゲーション装置、パソコン、ＰＤＡ（Personal Digital Assistant）、腕時計といった他の電子機器についても同様に適用することが可能である。
【０１３７】
３−２．位置算出システム
また、上述した実施形態では、位置算出システムとしてＧＰＳを例に挙げて説明したが、ＷＡＡＳ（Wide Area Augmentation System）、ＱＺＳＳ（Quasi Zenith Satellite System）、ＧＬＯＮＡＳＳ（GLObal NAvigation Satellite System）、ＧＡＬＩＬＥＯ等の他の衛星測位システムを利用した位置算出システムであってもよい。
【０１３８】
３−３．相関演算
上述した実施形態では、受信コード信号とレプリカコード信号との相関演算を、相関演算回路においてハードウェア的に行うものとして説明したが、処理部２５がデジタル信号処理によってソフトウェア的に行うこととしてもよい。
【０１３９】
この場合は、受信コード信号のサンプリング値のデータと、レプリカコード信号のサンプリング値のデータとを記憶部２７に蓄積的に記憶させる。そして、予め蓄積記憶させておいたサンプリング値のデータを用いて、原理で説明した相関演算手法に従って、受信コード信号とレプリカコード信号との相関演算処理をソフトウェア的に行えばよい。
【０１４０】
３−４．相関演算回路
原理説明において、レプリカコード信号の奇数次のサンプリング値の時系列データと偶数次のサンプリング値の時系列データとのうちの任意の１つの時系列データと、受信コード信号のサンプリング値の時系列データとを相関演算しても、同様の結果が得られることを説明した。そのため、上記実施例の相関演算回路部２３を以下のように構成することも可能である。
【０１４１】
例えば、「ｎ＝２」の場合の図５の相関演算回路部２３の回路構成において、レプリカコード信号が第０相関器２３１−０と初段の遅延回路ＤＣとに分岐する分岐点の前段に、レプリカコード信号を「Ｔ＝１／２チップ」だけ遅延させる遅延回路ＤＣを設けることとしてもよい。この場合は、遅延量「Ｔ」のレプリカコード信号が第０相関器２３１−０に入力され、遅延量「２Ｔ」のレプリカコード信号が第１相関器２３１−１に入力され、遅延量「３Ｔ」のレプリカコード信号が第２相関器２３１−２に入力され、・・・、遅延量「（ｍ＋１）Ｔ」のレプリカコード信号が第ｍ相関器２３１−ｍに入力される。これは、図１（Ｃ）に示した乗算項の組合せで相関演算を行うことに相当し、相関演算回路部２３は、図７に示したタイミングチャートに従って動作する。
【符号の説明】
【０１４２】
１  携帯型電話機、  １０  ＧＰＳ受信部、  １１  ＲＦ受信回路部、  ２０  ベースバンド処理回路部、  ２１  乗算部、  ２２  キャリア除去用信号発生部、  ２３  相関演算回路部、  ２４  レプリカコード信号発生部、  ２５  処理部、  ２７  記憶部、  ３０  ホストＣＰＵ、  ４０  操作部、  ５０  表示部、  ６０  携帯電話用アンテナ、  ７０  携帯電話用無線通信回路部、  ８０  記憶部、  ２３１  相関器、  ２３３  切替器、  ２３５  相関器、  ２３５Ａ  乗算器、  ２３５Ｂ  レジスタ、  ２３７  加算器、  ＤＣ  遅延回路、  ＥＸ  ＥＸＯＲ回路
【図１】
2011220998.tif 000013
【図２】
2011220998.tif 000014
【図３】
2011220998.tif 000015
【図４】
2011220998.tif 000016
【図５】
2011220998.tif 000017
【図６】
2011220998.tif 000018
【図７】
2011220998.tif 000019
【図８】
2011220998.tif 000020
【図９】
2011220998.tif 000021
【図１０】
2011220998.tif 000022
【図１１】
2011220998.tif 000023
【図１２】
2011220998.tif 000024
【図１３】
2011220998.tif 000025
【図１４】
2011220998.tif 000026
【図１５】
2011220998.tif 000027