相関演算方法、衛星信号捕捉方法及び相関演算回路
【課題】相関演算量を削減するための新たな手法を提案すること。
【解決手段】CAコードのチップ周期の到来タイミングを1/nチップずつずらした第1〜第nの到来タイミングでの受信コード信号の値それぞれと、チップ周期でのレプリカコード信号の値とを相関演算する。そして、その相関演算の結果を合成することで、1/nチップ間隔での相関演算結果を得る。
【解決手段】CAコードのチップ周期の到来タイミングを1/nチップずつずらした第1〜第nの到来タイミングでの受信コード信号の値それぞれと、チップ周期でのレプリカコード信号の値とを相関演算する。そして、その相関演算の結果を合成することで、1/nチップ間隔での相関演算結果を得る。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、測位用衛星信号を受信した受信信号を復調して得られた受信コード信号と、レプリカコード信号とを相関演算する方法等に関する。
【背景技術】
【0002】
測位用衛星信号を利用した測位システムとしては、GPS(Global Positioning System)が広く知られており、携帯型電話機やカーナビゲーション装置等に内蔵された位置算出装置に利用されている。GPSでは、複数のGPS衛星の位置や各GPS衛星から位置算出装置までの擬似距離等の情報に基づいて位置算出装置の位置座標と時計誤差とを求める位置算出計算を行う。
【0003】
GPS衛星から送出されるGPS衛星信号は、CA(Coarse and Acquisition)コードと呼ばれるGPS衛星毎に異なる拡散符号で変調されている。位置算出装置は、微弱な受信信号の中からGPS衛星信号を捕捉するために、受信したCAコードの信号(受信コード信号)と、CAコードを模擬したレプリカコードの信号(レプリカコード信号)との相関演算を行ってGPS衛星信号を捕捉する。
【0004】
GPS衛星信号を捕捉するための具体的な回路構成としては、例えば複数の相関器を並列に配設して相関演算回路を構成し、レプリカコード信号の位相をずらしながら、各々の相関器に相関演算を並列的に行わせる構成などが用いられる(例えば特許文献1。)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−159670号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来の相関演算回路では、サンプリング信号に基づいてサンプリングされた受信コード信号のサンプリング値と、レプリカコード信号のサンプリング値との相関演算を、例えばCAコード1周期分続けて行い、その合計値に基づいて信号の捕捉の成否を判定している。例えば、CAコードの1/2チップ周期でサンプリングする場合には、CAコードのコード長が1023チップであるため、CAコード1周期の相関演算には乗算だけで1023×2=2046回の演算が必要となり、2046回の演算値の合計値に基づいて信号の捕捉の成否を判定する。
【0007】
CAコードはいわゆるゴールド符号であるため、捕捉に成功した場合にのみ合計値が高くなる。そのため、レプリカコード信号の位相をずらして、各々の位相において同様の処理を行い、高い値が得られた場合に、信号が捕捉できた、すなわち位相(コード位相)を特定できたと判断できる。レプリカコード信号の位相をずらすことは、例えば相関演算対象とするサンプリング位置を1つずつずらすことで実現している。例えば、1/2チップ周期でサンプリングする場合には、サンプリング位置が2046箇所ある。ゆえに、全位相についてCAコード1周期分の相関演算を行うには、乗算だけで2046×2046回の演算が必要となる。
【0008】
従って、サンプリング間隔を短くすればするほど、それだけ指数関数的に相関演算量が増加するという問題があった。また、サンプリング間隔を短くするために、より高周波のサンプリング信号を生成する必要もある。これらの問題は、測位用衛星信号の受信回路の消費電力が増大する大きな要因の1つであった。
【0009】
本発明は上述した課題に鑑みて為されたものであり、その目的とするところは、相関演算量を削減するための新たな手法を提案することにある。
【課題を解決するための手段】
【0010】
以上の課題を解決するための第1の形態は、測位用衛星信号を受信した受信信号を復調して得られた受信コード信号と、レプリカコード信号とを相関演算する方法であって、チップ周期の到来タイミングを1/n(nは2以上の整数)チップずつずらした第1〜第nの到来タイミングでの前記受信コード信号の値それぞれと、チップ周期での前記レプリカコード信号の値とを相関演算することと、前記相関演算の結果を合成することで、1/nチップ間隔での相関演算結果を得ることと、を含む相関演算方法である。
【0011】
また、他の形態として、測位用衛星信号を受信した受信信号を復調して得られた受信コード信号と、レプリカコード信号とを相関演算する相関演算回路であって、1/n(nは2以上の整数)チップずつずらした第1〜第nのチップ周期での前記受信コード信号の値それぞれと、チップ周期での前記レプリカコード信号の値とを相関演算する相関演算部と、前記相関演算の結果を合成することで、1/nチップ間隔での相関演算結果を得る合成部と、を備えた相関演算回路を構成してもよい。
【0012】
この第1の形態等によれば、チップ周期の到来タイミングを1/nチップずつずらした第1〜第nの到来タイミングでの受信コード信号の値それぞれと、チップ周期でのレプリカコード信号の値とを相関演算する。そして、相関演算の結果を合成することで、1/nチップ間隔での相関演算結果を得る。これにより、受信コード信号及びレプリカコード信号それぞれを1/nチップ間隔でサンプリングし、更に全位相について総当たりで相関演算を行う場合と比べて演算量を大幅に減少させることができる。なお、演算量の減少は、相関演算回路全体における消費電力の削減にも繋がる。
【0013】
また、第2の形態として、第1の形態の相関演算方法を実行することにより得られた相関演算結果を用いて、前記測位用衛星信号を捕捉する衛星信号捕捉方法を構成してもよい。
【0014】
この第2の形態によれば、上述した形態の相関演算結果を用いて測位用衛星信号を捕捉することで、測位用衛星信号を正確且つ確実に捕捉することができる。
【図面の簡単な説明】
【0015】
【図1】(A)レプリカコード信号のサンプリング値「r」を奇数次に統一した結果を示す図。(B)乗算項の組合せの一例を示す図。(C)乗算項の組合せの別例を示す図。
【図2】(A)レプリカコード信号のサンプリング値「r」を偶数次に統一した結果を示す図。(B)乗算項の組合せの一例を示す図。(C)乗算項の組合せの別例を示す図。
【図3】携帯型電話機の機能構成の一例を示すブロック図。
【図4】ベースバンド処理回路部の回路構成の一例を示すブロック図。
【図5】n=2の場合の第1方式の相関演算回路部の回路構成の一例を示す図。
【図6】n=2の場合の相関演算のタイミングチャート。
【図7】n=2の場合の相関演算のタイミングチャート。
【図8】n=2の場合の相関演算のタイミングチャート。
【図9】n=2の場合の相関演算のタイミングチャート。
【図10】n=2の場合について相関演算のタイミングを図表化した図。
【図11】n=Nの場合の第1方式の相関演算回路部の回路構成の一例を示す図。
【図12】n=Nの場合について相関演算のタイミングを図表化した図。
【図13】ベースバンド処理の流れを示すフローチャート。
【図14】n=2の場合の第2方式の相関演算回路部の回路構成の一例を示す図。
【図15】n=Nの場合の第2方式の相関演算回路部の回路構成の一例を示す図。
【発明を実施するための形態】
【0016】
1.原理
先ず、本実施形態における相関演算の原理について説明する。
GPS衛星を利用した位置算出システムにおいて、測位用衛星の一種であるGPS衛星は、アルマナックやエフェメリス等の衛星軌道データを含む航法メッセージデータを、測位用衛星信号の一種であるGPS衛星信号に乗せて発信している。
【0017】
GPS衛星信号は、拡散符号の一種であるCA(Coarse and Acquisition)コードによって、スペクトラム拡散方式として知られるCDMA(Code Division Multiple Access)方式によって変調された1.57542[GHz]の通信信号である。CAコードは、コード長1023チップを1PNフレームとする繰返し周期1msの擬似ランダム雑音符号であり、衛星毎に異なる。
【0018】
GPS衛星がGPS衛星信号を発信する際の周波数(規定搬送波周波数)は、1.57542[GHz]と予め規定されているが、GPS衛星やGPS受信装置の移動により生ずるドップラーの影響等により、GPS受信装置がGPS衛星信号を受信する際の周波数は、必ずしも規定搬送波周波数とは一致しない。そのため、従来のGPS受信装置は、受信信号の中からGPS衛星信号を捕捉するための周波数方向の相関演算である周波数サーチを行ってGPS衛星信号を捕捉する。また、受信したGPS衛星信号(CAコード)の位相を特定するため、GPS受信装置は、位相方向の相関演算である位相サーチを行ってGPS衛星信号を捕捉する。
【0019】
より具体的には、GPS衛星信号を受信した受信信号を復調(検波)し、得られたCAコードの信号である受信コード信号と、GPS受信装置内部で発生させた擬似的なCAコードの信号であるレプリカコード信号との相関演算を行う。
【0020】
相関演算を行う際には、例えば受信コード信号及びレプリカコード信号を、それぞれCAコードのチップ周期の1/n(nは2以上の整数)のサンプリング間隔でサンプリングする。言い換えると、CAコードのコード長1023チップを、1チップの1/nの間隔(1/nチップ間隔)でサンプリングする。そして、レプリカコード信号の位相をずらしながら、受信コード信号のサンプリング値とレプリカコード信号のサンプリング値との相関演算を行う。
【0021】
これを式で表すと、次式(1)のようになる。
【数1】
式(1)は、受信コード信号と、受信コード信号に対して位相を遅らせたレプリカコード信号との相関演算を行うことを表している。
【0022】
式(1)において、「corr」は相関値を示している。また、「d」は受信コード信号のサンプリング値を示しており、「r」はレプリカコード信号のサンプリング値を示している。添え字の「i」は相関演算の番号を示しており、添え字の「j」はサンプリングの番号を示している。1023チップを1/nチップ間隔でサンプリングするため、「j=1,2,3,・・・,1023n」となる。
【0023】
実施例で後述するように、複数の相関器を並列的に並べて配置して相関演算回路を構成し、各々の相関器に受信コード信号と位相の異なるレプリカコード信号との相関演算を行わせる回路構成を採用する場合には、相関演算番号「i」は相関器の番号となる。
【0024】
この相関演算手法では、各々の相関演算番号「i」について、受信コード信号のサンプリング値「d」とレプリカコード信号のサンプリング値「r」との乗算を1023×n回行い、更に1/nチップずつずらした1023×n個の位相について行うため、乗算だけで演算量は(1023×n)2回必要となり、演算量が膨大になるという問題がある。そこで、本願発明者は、各々の相関演算番号「i」における相関演算の演算量を減少させることができないかを考えた。
【0025】
問題を簡単にするために、先ず「n=2」の場合について考える。すなわち、受信コード信号及びレプリカコード信号を1/2チップ間隔でサンプリングする場合である。この場合、式(1)を具体的に書き表すと、次式(2)のようになる。
【数2】
【0026】
「n=2」であるため、「i=0,1,2,・・・,2045」であり、「j=1,2,3,・・・,2046」である。また、「j+2046」が「j」と等しい(周期が異なるだけで位相は同一)として計算を行う。
【0027】
ここで、レプリカコード信号を1/2チップ間隔でサンプリングしているため、レプリカコード信号のサンプリング値「r」のうちの隣接するサンプリング値同士は等しい。すなわち「r1=r2,r3=r4,r5=r6,・・・,r2045=r2046」が成立する。この場合、式(2)は、例えば次式(3)のように書き換えることができる。
【数3】
【0028】
式(3)を見ると、右辺の受信コード信号のサンプリング値とレプリカコード信号のサンプリング値との乗算値を表す項(以下、「乗算項」と称す。)について、隣接するi番目とi+1番目の相関演算番号とで共通項が存在することがわかる。この共通項の存在に着目し、新たな相関値(以下、「新相関値」と称す。)「NewCorr」を、次式(4)のように定義する。
【数4】
【0029】
式(4)を見ると、偶数番の新相関値は、右辺が奇数番の乗算項のみで構成されているのに対し、奇数番の新相関値は、右辺が偶数番の乗算項のみで構成されていることがわかる。そして、隣接する相関演算番号について、一方の乗算項が他方の乗算項を補う関係にあることがわかる。
【0030】
この式からわかることは、i番目の相関演算結果と、i+1番目の相関演算結果とを用いれば、式(3)におけるi番目の相関値「corri」と等しい値を算出することができるということである。そこで、n=2の場合について、隣接する2個(=n個)の相関演算番号の組合せを「相関演算組」と定義する。結果的に、この相関演算組はサンプルタイミングが異なるもの同士の組合せとなっている。そして、各々の相関演算組について、隣接する2つの相関演算番号の相関演算結果を合成する。
【0031】
これを式で表すと、i番目の相関演算組の合成相関値「CorrSet」は、次式(5)のように表される。
【数5】
【0032】
式(4)からわかるように、i番目の相関演算結果(時系列データ)と、i+1番目の相関演算結果(時系列データ)とでは、右辺の乗算項の算出タイミングが1つずつずれている。これは、受信コード信号のサンプルタイミングがずれていることを意味する。そのため、相関演算結果同士の単純な加算によっては、合成相関値「CorrSet」を表現することができない。そこで、合成相関値「CorrSet」がサンプルタイミングの異なる乗算項同士の加算によって導き出されることを明確にするため、式(5)では加算を示す「+」を「○」で囲んだ表記で相関演算結果の合成を表現している。
【0033】
また、式(4)を見ると、各々の相関演算組について、受信コード信号は1/2チップ間隔でサンプリングされた全てのサンプリング値「d1,d2,d3,・・・」が用いられているのに対し、レプリカコード信号は1つおきのサンプリング値「r1,r3,r5,・・・」のみが用いられていることがわかる。従って、受信コード信号は1/2チップ間隔でサンプリングする必要があるのに対し、レプリカコード信号は1チップ間隔のサンプリングで済むことを意味する。
【0034】
以上をまとめると、n=2の場合は、受信信号を復調して得られる受信コード信号を1/2チップ間隔でサンプリングする。また、レプリカコード信号を1チップ間隔でサンプリングする。そして、受信コード信号の1個(=n−1個)おきのサンプリング値の時系列データのうち、サンプルタイミングが異なる2通り(=n通り)の時系列データそれぞれについて、レプリカコード信号の各サンプリング値を乗算する。そして、2通りの時系列データそれぞれについて得られた相関演算結果を合成することで、当該相関演算組の相関演算結果を得る。
【0035】
これは、CAコードのチップ周期の到来タイミングを1/2チップずつずらした異なる2個の到来タイミング(第1及び第2の到来タイミング)での受信コード信号の値それぞれと、チップ周期でのレプリカコード信号の値とを相関演算することを意味する。これにより、第1及び第2の相関演算の結果が得られる。そして、第1及び第2の相関演算の結果を合成することで、1/2チップ間隔での最終的な相関演算結果を得る。
【0036】
なお、上記の説明では、式(4)に示した乗算項の組合せで相関演算を行ったが、乗算項の組合せを変えて相関演算を行うことも可能である。具体的には、「r1=r2,r3=r4,r5=r6,・・・,r2045=r2046」が成立するため、レプリカコード信号のサンプリング値「r」のうち、偶数次のサンプリング値を奇数次のサンプリング値に書き換える、又は、奇数次のサンプリング値を偶数次のサンプリング値に書き換えることができる。
【0037】
図1は、レプリカコード信号のサンプリング値「r」を奇数次に統一した場合の説明図である。図1(A)は、式(2)に示した相関値「corr」の算出式に含まれる受信コード信号のサンプリング値「d」とレプリカコード信号のサンプリング値「r」との乗算項を各算出式に対応する順序で配置し、偶数次のサンプリング値「r2m」を奇数次のサンプリング値「r2m−1」に書き換えた結果を示している。
【0038】
図1(A)を見ると、レプリカコード信号のサンプリング値「r」が奇数次に統一されていることがわかる。また、乗算項に着目すると、点線の矩形で囲った乗算項のペアが共通項のペアとなっていることがわかる。この場合、1組の共通項のうちの上側の共通項を削除することで、図1(B)に示すような乗算項の組合せを得ることができる。また、1組の共通項のうちの下側の共通項を削除することで、図1(C)に示すような乗算項の組合せを得ることができる。
【0039】
図2は、レプリカコード信号のサンプリング値「r」を偶数次に統一した場合の説明図である。図の見方は図1と同じであり、図2(A)には、奇数次のサンプリング値「r2m−1」を偶数次のサンプリング値「r2m」に書き換えた結果を示している。この場合も、点線の矩形で囲った乗算項のペアが共通項のペアとなっていることがわかる。そして、1組の共通項のうちの上側の共通項を削除することで、図2(B)に示すような乗算項の組合せを得ることができる。また、1組の共通項のうちの下側の共通項を削除することで、図2(C)に示すような乗算項の組合せを得ることができる。
【0040】
上記の4通りの組合せのうちの何れかの組合せを用いて新相関値「NewCorr」を算出することで、本実施形態の相関演算手法を実現することができる。例えば、図1(B)及び図2(B)の組合せでは、i番目の合成相関値「CorrSeti」を得るための新相関値の組合せは、i番目の新相関値「NewCorri」とi+1番目の新相関値「NewCorri+1」との組合せとなる。図1(C)及び図2(C)の組合せでは、i番目の合成相関値「CorrSeti」を得るための新相関値の組合せは、i−1番目の新相関値「NewCorri-1」とi番目の新相関値「NewCorri」との組合せとなる。
【0041】
また、レプリカコード信号のサンプリング値を奇数次及び偶数次の何れに統一してもよいことから、次のようにすることも可能である。すなわち、受信コード信号を1/2チップ間隔でサンプリングした場合の1個おきのサンプリング値の時系列データであって、サンプルタイミングが異なる2通りの時系列データそれぞれについて、レプリカコード信号を同じサンプリング間隔でサンプリングした場合の1個おきのサンプリング値の時系列データ(偶数次の時系列データ又は奇数次の時系列データ)のうちの任意の1つの時系列データと相関演算する。そして、上記と同様に、隣接する相関演算番号の相関演算結果を合成する。
【0042】
ここまで「n=2」の場合に着目して説明してきたが、これを一般化して「n=n」の場合についても同様に考えることができる。測位用衛星信号の拡散符号のコード長を「L」と表記した場合、h番目の相関演算番号についての新相関値「NewCorrh」は、次式(6)のように定式化される。
【数6】
【0043】
また、k番目の相関演算番号についての合成相関値「CorrSetk」は、次式(7)で定式化される。
【数7】
【0044】
ここで、「k」は合成相関値「CorrSet」の番号であり、「0≦k<L・n」を満たす値である。また、「h」は新相関値「NewCorr」の番号であり、「0≦h<L・n」を満たす値であるとともに、次式(8)を満たす値である。
【数8】
【0045】
また、「i」は受信コード信号のサンプリング番号であり、「0<i≦L・n」を満たす値であるとともに、次式(9)を満たす値である。
【数9】
但し、「u」は、「h」を「n」で割った場合の余りである。
【0046】
また、「j」はレプリカコード信号のサンプリング番号であり、「0<j≦L・n」を満たす値であるとともに、次式(10)を満たす値である。
【数10】
但し、「t」は、「h」を「n」で割った場合の商である。
【0047】
この場合も、受信コード信号は1/nチップ間隔でサンプリングする必要があるのに対し、レプリカコード信号は1チップ間隔のサンプリングで済むことになる。
【0048】
なお、この場合は、レプリカコード信号のサンプリング値「r」について「r1=r2=r3=・・・=rn,rn+1=rn+2=rn+3=・・・=r2n,・・・」の関係が成立する。この関係を用いれば、「n=2」の場合と同様に、レプリカコード信号のサンプリング値の時系列データを複数組取得することができる。そのため、レプリカコード信号を1/nチップ間隔でサンプリングした場合の(n−1)個おきのサンプリング値の任意の1つの時系列データと、受信コード信号のサンプリング値の時系列データとを相関演算することとしてもよい。
【0049】
本実施形態の相関演算手法の演算量について考察する。本実施形態の相関演算手法では、レプリカコード信号の各位相について、受信コード信号のサンプリング値「d」とレプリカコード信号のサンプリング値「r」とを乗算する回数と、乗算項同士を加算する加算の回数とが、それぞれ“1/n”となる。従って、本実施形態の相関演算手法では、従来の相関演算手法と比べて演算量は“1/n2”で済むことになる。例えば、上述した「n=2」の場合は、従来の相関演算手法と比べて演算量は“1/4”で済む。
【0050】
2.実施例
次に、相関演算回路を含む位置算出装置を備えた電子機器の一種である携帯型電話機に本発明を適用した場合の実施例について説明する。但し、本発明を適用可能な実施例が以下説明する実施例に限定されるわけではないことは勿論である。
【0051】
[第1実施例]
2−1.機能構成
図3は、本実施例における携帯型電話機1の機能構成の一例を示すブロック図である。携帯型電話機1は、GPSアンテナ5と、GPS受信部10と、ホストCPU(Central Processing Unit)30と、操作部40と、表示部50と、携帯電話用アンテナ60と、携帯電話用無線通信回路部70と、記憶部80とを備えて構成される。
【0052】
GPSアンテナ5は、GPS衛星から発信されているGPS衛星信号を含むRF(Radio Frequency)信号を受信するアンテナであり、受信信号をGPS受信部10に出力する。
【0053】
GPS受信部10は、GPSアンテナ5から出力された信号に基づいて携帯型電話機1の位置を計測する位置算出回路或いは位置算出装置であり、いわゆるGPS受信装置に相当する機能ブロックである。GPS受信部10は、RF受信回路部11と、ベースバンド処理回路部20とを備えて構成される。なお、RF受信回路部11と、ベースバンド処理回路部20とは、それぞれ別のLSI(Large Scale Integration)として製造することも、1チップとして製造することも可能である。
【0054】
RF受信回路部11は、RF信号の受信回路である。回路構成としては、例えば、GPSアンテナ5から出力されたRF信号をA/D変換器でデジタル信号に変換し、デジタル信号を処理する受信回路を構成してもよい。また、GPSアンテナ5から出力されたRF信号をアナログ信号のまま信号処理し、最終的にA/D変換することでデジタル信号をベースバンド処理回路部20に出力する構成としてもよい。
【0055】
後者の場合には、例えば、次のようにRF受信回路部11を構成することができる。すなわち、所定の発振信号を分周或いは逓倍することで、RF信号乗算用の発振信号を生成する。そして、生成した発振信号を、GPSアンテナ5から出力されたRF信号に乗算することで、RF信号を中間周波数の信号(以下、「IF(Intermediate Frequency)信号」と称す。)にダウンコンバートし、IF信号を増幅等した後、A/D変換器でデジタル信号に変換して、ベースバンド処理回路部20に出力する。
【0056】
ベースバンド処理回路部20は、RF受信回路部11から出力された受信信号に対して相関処理等を行ってGPS衛星信号を捕捉し、GPS衛星信号から取り出した衛星軌道データや時刻データ等に基づいて、所定の位置算出計算を行って携帯型電話機1の位置(位置座標)を算出する処理回路ブロックである。ベースバンド処理回路部20は、受信信号に対する相関演算を行う相関演算回路や、相関演算回路の相関演算結果に基づいてGPS衛星信号を捕捉するGPS衛星信号捕捉回路を有する。
【0057】
図4は、ベースバンド処理回路部20の回路構成の一例を示す図であり、本実施例に係わる回路ブロックを中心に記載した図である。ベースバンド処理回路部20は、例えば、乗算部21と、キャリア除去用信号発生部22と、相関演算回路部23と、レプリカコード信号発生部24と、処理部25と、記憶部27とを備えて構成される。
【0058】
乗算部21は、キャリア除去用信号発生部22により生成・発生されたキャリア除去用信号を受信信号に乗算することで、受信信号から搬送波(キャリア)を除去する回路部であり、例えば乗算器を有して構成される。乗算部21からは、搬送波が除去された受信コード信号が相関演算回路部23に出力される。
【0059】
キャリア除去用信号発生部22は、GPS衛星信号のキャリア信号の周波数と同一の周波数のキャリア除去用信号を生成する回路であり、例えばキャリアNCO(Numerical Controlled Oscillator)等の発振器を有して構成される。なお、RF受信回路部11から出力される信号がIF信号である場合には、IF周波数のキャリア除去用信号を生成する。このように、RF受信回路部11が受信信号をIF信号にダウンコンバージョンする場合も、本実施形態は実質的に同一に適用可能である。
【0060】
キャリア除去用信号発生部22により発生されたキャリア除去用信号が乗算部21において受信信号に乗算されることで、受信信号の復調(検波)が行われ、搬送波(キャリア)が除去された受信コード信号が生成・出力される。従って、乗算部21及びキャリア除去用信号発生部22は、復調部(検波部)とも言える。
【0061】
相関演算回路部23は、乗算部21から出力された受信コード信号と、レプリカコード信号発生部24から出力されたレプリカコード信号との相関演算を行う相関演算回路であり、後述するように本実施形態における特徴的な回路ブロックである。
【0062】
レプリカコード信号発生部24は、GPS衛星信号の拡散符号であるCAコードを模擬したレプリカコード(レプリカCAコード)の信号を発生する回路部であり、例えばコードNCO等の発振器を有して構成される。レプリカコード信号発生部24は、処理部25から指示されたPRN番号(衛星番号)に応じたレプリカコード信号を生成・発生して、相関演算回路部23に出力する。
【0063】
相関演算回路部23は、受信信号のIQ成分それぞれに対して、レプリカコード信号発生部24から入力したレプリカコード信号との相関演算を行う。なお、受信信号のIQ成分の分離(IQ分離)を行う回路ブロックについては図示を省略するが、どのように回路ブロックを構成してもよい。例えば、RF受信回路部11において受信信号をIF信号にダウンコンバージョンする際に、位相が90度異なる局部発振信号を受信信号に乗算することでIQ分離を行うこととしてもよい。
【0064】
図5は、相関演算回路部23の回路構成の一例を示す図である。図5の相関演算回路部23は、n=2の場合の回路構成の一例を示す図である。チップ周期のイネーブル信号に従って、受信コード信号を1/2チップ間隔(=チップ周期の1/nに相当)でサンプリングするとともに、レプリカコード信号を1チップ間隔(=チップ周期に相当)でサンプリングして相関演算を行う場合における相関演算回路の一例である。
【0065】
第1実施例における相関演算回路部23は、相関演算部としての複数の相関器231(第0相関器231−0,第1相関器231−1,第2相関器231−2,第3相関器231−3,・・・)と、合成部としての複数の切替器233(第0切替器233−0,第1切替器233−1,第2切替器233−2,第3切替器233−3,・・・)と、複数の遅延回路DCと、EXOR(EXclusive OR)回路EXとを備えて構成される。
【0066】
相関器231は、イネーブル信号に従って受信コード信号及びレプリカコード信号のサンプリング及び乗算を行う相関演算部であり、例えば乗算器を有して構成される。各々の相関器231には、受信コード信号が並列に入力される。また、m番目(m=0,1,2,・・・)の相関器231−mには、複数段の遅延回路DCによって遅延量「mT」だけ遅延されたレプリカコード信号が入力される。1つの遅延回路DCによって「T」だけ信号が遅延される。「T」は受信コード信号のサンプリング間隔を示しており、ここでは「T=1/2チップ」である。
【0067】
より具体的には、第0相関器231−0には遅延量「0」のレプリカコード信号が、第1相関器231−1には遅延量「T=1/2チップ」のレプリカコード信号が、第2相関器231−2には遅延量「2T=1チップ」のレプリカコード信号が・・・、といったように遅延量「T」ずつ遅延されたレプリカコード信号が各相関器に入力される。そして、各相関器において、受信コード信号をサンプリングして得られたサンプリング値と、レプリカコード信号をサンプリングして得られたサンプリング値との相関演算が行われる。
【0068】
また、偶数番の相関器231−2mには遅延量「0」のイネーブル信号(以下、「第1イネーブル信号」と称す。)が入力され、奇数番の相関器231−(2m+1)には、遅延量「T=1/2チップ」のイネーブル信号(以下、「第2イネーブル信号」と称す。)が入力される。すなわち、偶数番と奇数番の相関器とで遅延量が「T」だけ異なるイネーブル信号が入力される。
【0069】
偶数番の相関器231−2mでは、第1イネーブル信号に従ってチップ周期(=1チップ間隔)でのサンプリング及び乗算がなされる。同様に、奇数番の相関器231−(2m+1)でも、第2イネーブル信号に従ってチップ周期(=1チップ間隔)でのサンプリング及び乗算がなされる。但し、各相関器231には、時間的な差異のない(同一位相の)受信コード信号が並列に入力される。そのため、隣接する2個の相関器231の組(相関演算組)により、受信コード信号は1/2チップ間隔で互い違いにサンプリングされて乗算される。それに対し、レプリカコード信号は1/2チップずつ遅延されて各相関器231に入力される。そのため、各相関器231において、レプリカコード信号は1チップ間隔でサンプリングされて乗算される。
【0070】
このように、n=2の場合は、第1及び第2イネーブル信号によって、チップ周期の到来タイミングを1/2チップずつずらした第1及び第2の到来タイミングでの受信コード信号の値それぞれと、チップ周期でのレプリカコード信号の値とが相関演算される。
【0071】
その一方で、第1イネーブル信号と第2イネーブル信号とは、EXOR回路EXに入力される。EXOR回路EXによって、イネーブル信号は2倍に逓倍される。EXOR回路EXの出力信号は、各々の切替器233に並列に入力される。つまり、切替器233を1/2チップ間隔(=チップ周期の1/2)で動作させるためのイネーブル信号がEXOR回路EXにおいて生成されて、各切替器233に入力される。
【0072】
各切替器233には、連続する2つの相関器231の出力信号が入力される。すなわち、第0切替器233−0には、第0相関器231−0及び第1相関器231−1の出力信号がそれぞれ入力され、第1切替器233−1には、第1相関器231−1及び第2相関器231−2の出力信号がそれぞれ入力され、・・・といったように、第m切替器233−mには、第m相関器231−m及び第m+1相関器231−(m+1)の出力信号がそれぞれ入力される。
【0073】
各切替器233は、EXOR回路EXの出力信号に従って、入力した2つの相関器からの出力信号を順次切り替える切替回路であり、フリップフロップ回路等の論理回路によって実現される。切替器233は、2つの相関器からの出力信号を順次切り替えて出力することで、当該2つの相関器により演算された相関演算結果を合成する合成部である。より具体的には、各切替器233は、EXOR回路EXにおいて2逓倍されたイネーブル信号に従って、隣接する2つの相関器231から出力される乗算結果を1/2チップ間隔で順次に切り替えて、処理部25に出力する。
【0074】
図6は、相関演算回路部23の各部の動作を説明するタイミングチャートである。図6は、図1(B)の組合せで相関演算を行った場合のタイミングチャートである。n=2であるため、サンプリング番号は1/2チップ間隔の番号に相当する。また、直感的に分かり易いように、受信コード信号及びレプリカコード信号と、相関演算結果と、相関演算結果の合成結果とを、それぞれ「1」と「−1」の二値で表現している。
【0075】
最上段に受信コード信号の時系列データの一例を示す。横方向は時間を示しており、最上部に示す番号は受信コード信号のサンプリング番号を示している。ここでは、受信コード信号のPRN番号(衛星番号)及び位相が既知であるものとして説明する。
【0076】
遅延量「0」のレプリカコード信号を2段目に示す。第0相関器231−0には、このレプリカコード信号と受信コード信号とが入力され、第1イネーブル信号に従って1チップ間隔で相関演算が行われる。
【0077】
各サンプルタイミングについて、受信コード信号のサンプリング値とレプリカコード信号のサンプリング値とが同じであれば(両方とも“1”か“−1”)、サンプリング値の乗算により相関演算結果は“1”となる。それに対して、受信コード信号のサンプリング値とレプリカコード信号のサンプリング値とが異なれば(一方が“1”で他方が“−1”)、サンプリング値の乗算により相関演算結果は“−1”となる。
【0078】
最上段の受信コード信号と2段目のレプリカコード信号とは位相がぴったり一致しているため(遅延量=0)、各サンプルタイミングについて受信コード信号のサンプリング値とレプリカコード信号のサンプリング値とは同じとなる。そのため、全てのサンプルタイミングについて相関演算結果は“1”となる。その結果、3段目に示すような第0相関演算結果が算出されて、第0切替器233−0に出力される。相関演算結果の上に示した矢印は、サンプルタイミングを示している。
【0079】
遅延量「T=1/2チップ」のレプリカコード信号を4段目に示す。第1相関器231−1には、このレプリカコード信号と受信コード信号とが入力され、第2イネーブル信号に従って1チップ間隔で相関演算が行われる。
【0080】
4段目のレプリカコード信号は、最上段の受信コード信号と比べて位相が1/2チップだけ遅れている(遅延量=1/2チップ)。各サンプルタイミングにおける受信コード信号のサンプリング値とレプリカコード信号のサンプリング値とを時系列に比較していくと、時刻“t=2”のサンプルタイミングではサンプリング値は両方とも“−1”であるため、相関演算結果は“(−1)×(−1)=1”となる。時刻“t=4”及び“t=6”のサンプルタイミングではサンプリング値は両方とも“1”であるため、相関演算結果は“1×1=1”となる。時刻“t=8”のサンプルタイミングではサンプリング値は両方とも“−1”であるため、相関演算結果は“(−1)×(−1)=1”となる。以下同様に、全てのサンプルタイミングについて相関演算結果は“1”となる。その結果、5段目に示すような第1相関演算結果が算出されて、第0切替器233−0及び第1切替器233−1に出力される。
【0081】
ここで、第1イネーブル信号と第2イネーブル信号とは周期が1チップの信号であって、互いに1/2チップずれた信号である。このため、第0相関器231−0と第1相関器231−1とは、1/2チップ毎に交互にサンプリング及び相関演算を実行していることになる。
【0082】
第0切替器233−0は、EXOR回路EXの出力信号に従って、第0相関器231−0及び第1相関器231−1の出力を1/2チップ毎に交互に選択して出力する。具体的には、第0相関器231−0の出力信号が変化した場合に第0相関器231−0を選択し、第1相関器231−1の出力信号が変化した場合に第1相関器231−1を選択するように、イネーブル信号に基づいて同期制御されている。この結果、第0切替器233−0から出力される合成結果は、第0相関演算組の相関演算結果となる。
【0083】
第0相関演算組の合成結果は、3段目の第0相関演算結果と5段目の第1相関演算結果とを合成した結果となる。第0相関演算結果と第1相関演算結果とはサンプルタイミングが1/2チップずつずれているため、2つの相関演算結果を交互に選択することで相関演算結果が合成される。この場合、第0相関演算結果は全てのサンプルタイミングで“1”であり、第1相関演算結果も全てのサンプルタイミングで“1”である。従って、相関演算結果を交互に選択していくと全てのサンプルタイミングについて“1”となり、6段目に示すような直線状の第0相関演算組の合成結果が得られる。
【0084】
遅延量「2T=1チップ」のレプリカコード信号を7段目に示す。第2相関器231−2には、このレプリカコード信号と受信コード信号とが入力され、第1イネーブル信号に従って1チップ間隔で相関演算が行われる。その結果、8段目に示すような第2相関演算結果が算出されて、第1切替器233−1及び第2切替器233−2に出力される。
【0085】
第1切替器233−1は、EXOR回路EXの出力信号に従って、第1相関器231−1及び第2相関器231−2の出力を1/2チップ毎に交互に選択して出力する。これにより、9段目に示すような相関演算結果の合成結果が算出されて、第1切替器233−1から出力される。第1切替器233−1から出力される合成結果は、第1相関演算組の相関演算結果となる。
【0086】
第1相関演算組の合成結果は、5段目の第1相関演算結果と8段目の第2相関演算結果とを合成した結果となる。この場合、相関演算結果を交互に選択していくと、第2相関演算結果が“−1”となるサンプルタイミングで“−1”に下がり、その直後の第1相関演算結果のサンプルタイミングで“1”に立ち上がるため、9段目に示すような第1相関演算組の合成結果が得られる。
【0087】
以下同様に、各々の相関演算組について、隣接する2つの相関器231からの出力信号が切替器233によって切り替えられることで相関演算結果が合成され、その合成結果が切替器233から出力される。
【0088】
図6において、全てのサンプルタイミングについて合成結果が“1”となるのは、第0相関演算組の合成結果のみである。ゆえに、第0相関演算組〜第2045相関演算組それぞれについて、全てのサンプルタイミングについての合成結果を合算して相関値を算出すると、第0相関演算組の相関値が最大となる。従って、第0相関演算組に対応する遅延量“0”のレプリカコード信号が、受信コード信号と位相がぴったり一致したレプリカコード信号であると判断することができる。
【0089】
なお、図1及び図2で説明した残りの組合せについても、タイミングチャートを同様に作成した。図1(C)、図2(B)及び図2(C)の組合せに対応するタイミングチャートをそれぞれ図7〜図9に示す。原理で説明したように、合成相関値「CorrSet」を得るための新相関値「NewCorr」の組合せは、図1(B)及び図2(B)の組合せでは、i番目の新相関値「NewCorri」とi+1番目の新相関値「NewCorri+1」との組合せとなる。また、図1(C)及び図2(C)の組合せでは、i−1番目の新相関値「NewCorri-1」とi番目の新相関値「NewCorri」との組合せとなる。そこで、対応するタイミングチャートを比較してみる。
【0090】
図1(B)及び図2(B)の組合せに対応する図6及び図8を比較すると、何れも第0相関演算結果と第1相関演算結果とを合成した第0相関演算組が、相関値が最大となる組合せであることがわかる。他方、図1(C)及び図2(C)の組合せに対応する図7及び図9を比較すると、何れも第2045相関演算結果と第0相関演算結果とを合成した第0相関演算組が、相関値が最大となる組合せであることがわかる。何れの組合せも遅延量「0」のレプリカコード信号に対応する組合せとなっており、正しい結果が得られていることがわかる。
【0091】
図10は、n=2の場合について相関演算のタイミングを図表化したグラフであり、図6のタイミングチャートに対応するグラフを示している。グラフの横方向は、受信コード信号のサンプルタイミング及び受信コード信号のサンプリング値を示している。各サンプルタイミングは「T=1/2チップ」毎のタイミングを示している。n=2であるため、連続する2個のサンプルタイミングが1チップ周期に相当する。一方、グラフの縦方向は相関器231の番号を示している。n=2であるため、連続する2個の相関器によって相関演算組が1つ構成される。また、相関演算が行われるサンプルタイミングにはレプリカコード信号のサンプリング値を記載しており、相関演算が行われないサンプリングタイミングは「−」としている。
【0092】
第1サンプルタイミングでは、偶数番の相関器231−2mが、受信コード信号のサンプリング値「d」とレプリカコード信号のサンプリング値「r」との相関演算を行う。例えば、第0相関器231−0は「d1」と「r1」との相関演算を行い、第2相関器231−2は「d1」と「r2045」との相関演算を行い、第4相関器231−4は「d1」と「r2043」との相関演算を行うといった具合である。
【0093】
第2サンプルタイミングでは、奇数番の相関器231−(2m+1)が受信コード信号のサンプリング値「d」とレプリカコード信号のサンプリング値「r」との相関演算を行う。例えば、第1相関器231−1は「d2」と「r1」との相関演算を行い、第3相関器231−3は「d2」と「r2045」との相関演算を行い、第5相関器231−5は「d2」と「r2043」との相関演算を行うといった具合である。
【0094】
図11は、相関演算回路部23を一般化して、1/Nチップ(n=N)間隔で受信コード信号をサンプリングして相関演算を行う場合の回路構成の一例を示す図であり、第0相関演算組に着目した図を示している。受信コード信号のサンプリング間隔は「T=1/Nチップ」である。
【0095】
図11の相関演算回路部23では、連続するN個の相関器によって一組の相関演算組が構成される。例えば、第0相関器231−0〜第N−1相関器231−(N−1)のN個の相関器によって第0相関演算組が構成され、各々の相関器の出力信号が第0切替器233−0に出力される。同様に、第1相関器231−1〜第N相関器231−NのN個の相関器によって第1相関演算組が構成され、各相関器の出力信号が第1切替器233−1に出力される。
【0096】
また、各々の相関演算組に含まれるN個の相関器には、それぞれ遅延量「T=1/Nチップ」ずつ遅延されたレプリカコード信号が入力されるように、複数段の遅延回路DCが配設されている。すなわち、第0相関演算組において、第0相関器231−0には遅延量「0」のレプリカコード信号が、第1相関器231−1には遅延量「T」のレプリカコード信号が、第2相関器231−2には遅延量「2T」のレプリカコード信号が入力され、以降も同様である。
【0097】
各々の相関演算組を構成する各相関器には、遅延量「T=1/Nチップ」ずつ遅延された1チップ周期のイネーブル信号が入力されるように、複数段の遅延回路DCが形成されている。すなわち、第0相関演算組において、第0相関器231−0には遅延量「0」の第1イネーブル信号が、第1相関器231−1には遅延量「T=1/Nチップ」の第2イネーブル信号が、第2相関器231−2には遅延量「2T=2/Nチップ」の第3イネーブル信号が入力され、以降も同様である。
【0098】
図12は、n=Nの場合について相関演算のタイミングを図表化したグラフである。グラフの見方は図10と同じである。n=Nであるため、連続するN個のサンプルタイミングが1チップ周期に相当する。また、連続するN個の相関器によって相関演算組が1つ構成される。
【0099】
例えば、第0相関演算組に着目した場合、第1サンプルタイミングでは、第0相関器231−0が「d1」と「r1」との相関演算を行い、第2サンプルタイミングでは、第1相関器231−1が「d2」と「r1」との相関演算を行い、第3サンプルタイミングでは、第2相関器231−2が「d3」と「r1」との相関演算を行い、・・・、第Nサンプルタイミングでは、第N−1相関器231−(N−1)が「dN」と「r1」との相関演算を行う。
【0100】
図4の回路ブロックの説明に戻って、処理部25は、ベースバンド処理回路部20の各機能部を統括的に制御する制御装置であり、例えばCPU等のプロセッサーを有して構成される。処理部25は、相関演算回路部23から出力された相関演算結果を用いてGPS衛星信号を捕捉する捕捉部として機能する。主要な機能部として、処理部25は、衛星信号捕捉部251と、位置算出部253とを有する。
【0101】
衛星信号捕捉部251は、相関演算回路部23から出力される相関演算結果に対するピーク検出を行って受信コード信号の位相(コード位相)を検出することで、GPS衛星信号を捕捉する信号捕捉部である。
【0102】
より具体的には、衛星信号捕捉部251は、相関演算回路部23の各切替器233から出力される相関演算結果の合成信号に基づいて相関値を算出する。すなわち、各切替器233(第0切替器233−0,第1切替器233−1,第2切替器233−2,・・・)から出力される時系列の合成結果を合算して、各々の相関演算組の相関値を算出する。そして、各々の相関演算組の相関値の大きさを比較することで相関値のピーク判定を行い、相関値が最大となった相関演算組に対応するレプリカコード信号の遅延量から、受信コード信号の位相(コード位相)を特定する。
【0103】
位置算出部253は、衛星信号捕捉部251により捕捉されたGPS衛星信号を利用して、公知の位置算出計算を行って携帯型電話機1の位置を算出する算出部であり、算出した位置をホストCPU30に出力する。
【0104】
記憶部27は、ROM(Read Only Memory)やフラッシュROM、RAM(Random Access Memory)等の記憶装置(メモリー)によって構成され、ベースバンド処理回路部20のシステムプログラムや、衛星信号捕捉機能、位置算出機能等の各種機能を実現するための各種プログラム、データ等を記憶している。また、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを有する。
【0105】
記憶部27には、例えば図4に示すように、プログラムとして、処理部25により読み出され、ベースバンド処理(図13参照)として実行されるベースバンド処理プログラム271が記憶されている。また、データとして、衛星軌道データ272と、相関演算結果データ273とが記憶される。
【0106】
ベースバンド処理とは、処理部25が、捕捉対象とするGPS衛星(以下、「捕捉対象衛星」と称す。)それぞれについて、相関演算回路部23から出力される各相関演算組の相関演算結果に基づいてGPS衛星信号を捕捉する処理を行い、捕捉したGPS衛星信号を利用した位置算出計算を行って携帯型電話機1の位置を算出する処理である。ベースバンド処理については、フローチャートを用いて詳細に後述する。
【0107】
衛星軌道データ272は、全てのGPS衛星の概略の衛星軌道情報を記憶したアルマナックや、各GPS衛星それぞれについて詳細な衛星軌道情報を記憶したエフェメリス等のデータである。衛星軌道データ272は、GPS衛星から受信したGPS衛星信号をデコードすることで取得する他、例えば携帯型電話機1の基地局やアシストサーバーからアシストデータとして取得する。
【0108】
相関演算結果データ273は、各々の相関演算組について相関演算回路部23から出力される各相関演算組の相関演算結果のデータである。
【0109】
図3の機能ブロックに戻って、ホストCPU30は、記憶部80に記憶されているシステムプログラム等の各種プログラムに従って携帯型電話機1の各部を統括的に制御するプロセッサーである。ホストCPU30は、ベースバンド処理回路部20から出力された位置座標をもとに、表示部50に現在位置を指し示した地図を表示させたり、その位置座標を各種のアプリケーション処理に利用する。
【0110】
操作部40は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号をホストCPU30に出力する。この操作部40の操作により、通話要求やメール送受信要求、位置算出要求等の各種指示入力がなされる。
【0111】
表示部50は、LCD(Liquid Crystal Display)等により構成され、ホストCPU30から入力される表示信号に基づいた各種表示を行う表示装置である。表示部50には、位置表示画面や時刻情報等が表示される。
【0112】
携帯電話用アンテナ60は、携帯型電話機1の通信サービス事業者が設置した無線基地局との間で携帯電話用無線信号の送受信を行うアンテナである。
【0113】
携帯電話用無線通信回路部70は、RF変換回路、ベースバンド処理回路等によって構成される携帯電話の通信回路部であり、携帯電話用無線信号の変調・復調等を行うことで、通話やメールの送受信等を実現する。
【0114】
記憶部80は、ホストCPU30が携帯型電話機1を制御するためのシステムプログラムや、各種アプリケーション処理を実行するための各種プログラムやデータ等を記憶する記憶装置である。
【0115】
2−2.処理の流れ
図13は、記憶部27に記憶されているベースバンド処理プログラム271が処理部25により読み出されることで、ベースバンド処理回路部20において実行されるベースバンド処理の流れを示すフローチャートである。
【0116】
最初に、衛星信号捕捉部251は、捕捉対象衛星判定処理を行う(ステップA1)。具体的には、不図示の時計部で計時されている現在時刻において、所与の基準位置の天空に位置するGPS衛星を、記憶部27に記憶されたアルマナックやエフェメリス等の衛星軌道データ272を用いて判定して、捕捉対象衛星に決定する。基準位置は、例えば、電源投入後の初回の位置算出の場合は、いわゆるサーバーアシストによってアシストサーバーから取得した位置とし、2回目以降の位置算出の場合は、最新の算出位置とする等の方法で設定できる。
【0117】
次いで、衛星信号捕捉部251は、ステップA1で判定した各捕捉対象衛星それぞれについて、ループAの処理を実行する(ステップA3〜A9)。ループAの処理では、衛星信号捕捉部251は、当該捕捉対象衛星のPRN番号(衛星番号)の指示信号をレプリカコード信号発生部24に出力する(ステップA5)。
【0118】
ステップA5の処理を行うと、レプリカコード信号発生部24により、当該捕捉対象衛星のCAコードを模擬したレプリカコード信号が生成・発生されて、相関演算回路部23に出力される。そして、上述した原理に従った相関演算が相関演算回路部23において行われ、各々の相関演算組の相関演算結果が処理部25に出力される。
【0119】
衛星信号捕捉部251は、相関演算回路部23から出力された各々の相関演算組の相関演算結果に対するピーク判定を行う(ステップA7)。そして、次の捕捉対象衛星へと処理を移行する。全ての捕捉対象衛星についてステップA5及びA7の処理を行った後、衛星信号捕捉部251は、ループAの処理を終了する(ステップA9)。
【0120】
その後、位置算出部253は、各捕捉対象衛星について捕捉されたGPS衛星信号を利用した位置算出計算を実行する(ステップA11)。位置算出計算は、携帯型電話機1と各捕捉衛星間の擬似距離を利用して、例えば最小二乗法やカルマンフィルターを用いた公知の収束演算を行うことで実現することができる。
【0121】
擬似距離は、次のようにして算出することができる。すなわち、衛星軌道データ272から求められる捕捉衛星の衛星位置と、携帯型電話機1の最新の算出位置とを用いて、擬似距離の整数部分を算出する。また、ステップA7で検出された相関演算結果のピークに相当するレプリカコード信号の位相(コード位相)を用いて、擬似距離の端数部分を算出する。このようにして求めた整数部分と端数部分とを合算することで、擬似距離を算出することができる。
【0122】
次いで、位置算出部253は、算出した位置(位置座標)をホストCPU30に出力する(ステップA13)。そして、処理部25は、処理を終了するか否かを判定し(ステップA15)、まだ終了しないと判定した場合は(ステップA15;No)、ステップA1に戻る。また、処理を終了すると判定した場合は(ステップA15;Yes)、ベースバンド処理を終了する。
【0123】
2−3.作用効果
ベースバンド処理回路部20において、GPS衛星信号を受信した受信信号に、キャリア除去用信号発生部22により発生されたキャリア除去用信号が乗算部21で乗算されることで、受信信号が復調される。復調された受信コード信号は、相関演算回路部23において、CAコードのチップ周期の1/n(nは2以上の整数)チップ間隔でサンプリングされる。また、レプリカコード信号発生部24により発生されたレプリカコード信号はCAコードのチップ周期である1チップ間隔でサンプリングされる。
【0124】
つまり、CAコードのチップ周期の到来タイミングを1/nチップずつずらした第1〜第nの到来タイミングでの受信コード信号の値が得られる。また、チップ周期でのレプリカコード信号が得られる。そして、第1〜第nの到来タイミングでの受信コード信号の値それぞれと、チップ周期でのレプリカコード信号の値とが相関器231において相関演算され、その相関演算の結果が切替器233において合成されることで、1/nチップ間隔での相関演算結果が得られる。
【0125】
この結果、受信コード信号及びレプリカコード信号それぞれを1/nチップ間隔でサンプリングし、更に全位相について総当たりで相関演算を行う場合と比べて、演算量を大幅に減少させることができる。また、本実施形態の手法では、従来のようにレプリカコード信号を1/nチップ間隔でサンプリングする必要がない。つまり、レプリカコード信号のサンプリング間隔を長くすることができるため、従来よりもサンプリング信号が低周波で済む。そのため、演算量の削減はもとより、サンプリングに係る消費電力の削減を実現することができる。
【0126】
勿論、相関演算回路部23により演算された相関演算結果を用いて受信コード信号のコード位相を検出することで、GPS衛星信号を正確且つ確実に捕捉することができることは言うまでもない。
【0127】
[第2実施例]
第2実施例は、第1実施例で説明した第1方式の相関演算回路とは異なり、相関器の内部にサンプリング値の乗算結果を積算・蓄積しておき、所定のタイミングで値を取り出して相関演算を行う処理方式の相関演算回路の実施例である。本明細書では、当該処理方式のことを「第2方式」と称する。
【0128】
図14及び図15は、第2方式の相関演算回路の回路構成の一例を示すブロック図である。図14は、n=2の場合の相関演算回路部23Bの回路構成の一例であり、図15は、n=Nの場合の相関演算回路部23Bの回路構成の一例である。
【0129】
n=2の場合について、図14の相関演算回路部23Bは、相関演算部としての複数の相関器235(第0相関器235−0,第1相関器235−1,第2相関器235−2,第3相関器235−3,・・・)と、合成部としての複数の加算器237(第0加算器237−0,第1加算器237−1,第2加算器237−2,第3加算器237−3,・・・)とを備えて構成される。
【0130】
各相関器235は、乗算器235Aとレジスタ235Bとを有する。乗算器235Aは、イネーブル信号に従って受信コード信号及びレプリカコード信号をサンプリングして乗算する。レジスタ235Bは、乗算器235Aの乗算結果を積算・蓄積する記憶回路である。具体的には、各乗算タイミングにおける乗算器235Aの乗算結果がレジスタ235Bにおいて累積的に加算されていく。
【0131】
偶数番の相関器235−2mには、チップ周期(=1チップ間隔)の第1イネーブル信号が入力される。同様に、奇数番の相関器235−(2m+1)にも、チップ周期(=1チップ間隔)の第2イネーブル信号が入力される。但し、第2イネーブル信号は、第1イネーブル信号よりも時間的に「T=1/2チップ」だけずれて遅延している。
【0132】
偶数番の相関器235−2mでは、第1イネーブル信号に従ってチップ周期でのサンプリング及び乗算がなされ、乗算結果がレジスタ235Bに積算・蓄積される。また、奇数番の相関器235−(2m+1)では、第2イネーブル信号に従ってチップ周期でのサンプリング及び乗算がなされ、乗算結果がレジスタ235Bに積算・蓄積される。第1イネーブル信号と第2イネーブル信号とは時間的に1/2チップずれている。そのため、隣接する2つの相関器235の組(相関演算組)により、チップ周期の到来タイミングを1/2チップずつずらした第1及び第2の到来タイミングでの受信コード信号の値それぞれと、チップ周期でのレプリカコード信号のサンプリング値とが相関演算される。
【0133】
各加算器237には、コード周期(=1023チップ間隔)の加算イネーブル信号が入力される。各加算器237は、加算イネーブル信号に従ったコード周期のタイミングで、隣接する相関器235の相関演算結果を取り出す。つまり、各相関器235のレジスタ235Bに蓄積された1023チップ分の乗算結果の合算値を読み出す。そして、隣接する2つの相関器235から取り出した合算値を加算して、1/2チップ間隔での相関演算結果として処理部25に出力する。
【0134】
n=Nの場合の相関演算回路部23Bの動作も同様である。すなわち、図15の相関演算回路部23Bでは、連続するN個の相関器235によって一組の相関演算組が構成される。具体的には、第0相関器235−0〜第N−1相関器235−(N−1)のN個の相関器235によって第0相関演算組が構成される。そして、各相関器235のレジスタ235Bに積算・蓄積された相関演算結果が第0加算器237−0に出力される。同様に、第1相関器235−1〜第N相関器235−NのN個の相関器235によって第1相関演算組が構成され、各相関器235のレジスタ235Bに積算・蓄積された相関演算結果が第1加算器237−1に出力される。
【0135】
各相関演算組のN個の相関器235には、時間的に「T=1/Nチップ」ずつ遅延されたチップ周期の第1イネーブル信号〜第Nイネーブル信号が入力される。また、各加算器237には、コード周期の加算イネーブル信号が入力される。これにより、各相関演算組のN個の相関器235は、1/Nチップずつずらしたタイミングで受信コード信号とレプリカコード信号とを相関演算する。そして、加算器237は、各相関器235のレジスタ235Bに蓄積された1023チップ分の乗算結果の合算値を読み出し、それらの合算値を加算して、1/Nチップ間隔での相関演算結果として処理部25に出力する。
【0136】
3.変形例
3−1.電子機器
上述した実施例では、電子機器の一種である携帯型電話機に本発明を適用した場合を例に挙げて説明したが、本発明を適用可能な電子機器はこれに限られるわけではない。例えば、カーナビゲーション装置や携帯型ナビゲーション装置、パソコン、PDA(Personal Digital Assistant)、腕時計といった他の電子機器についても同様に適用することが可能である。
【0137】
3−2.位置算出システム
また、上述した実施形態では、位置算出システムとしてGPSを例に挙げて説明したが、WAAS(Wide Area Augmentation System)、QZSS(Quasi Zenith Satellite System)、GLONASS(GLObal NAvigation Satellite System)、GALILEO等の他の衛星測位システムを利用した位置算出システムであってもよい。
【0138】
3−3.相関演算
上述した実施形態では、受信コード信号とレプリカコード信号との相関演算を、相関演算回路においてハードウェア的に行うものとして説明したが、処理部25がデジタル信号処理によってソフトウェア的に行うこととしてもよい。
【0139】
この場合は、受信コード信号のサンプリング値のデータと、レプリカコード信号のサンプリング値のデータとを記憶部27に蓄積的に記憶させる。そして、予め蓄積記憶させておいたサンプリング値のデータを用いて、原理で説明した相関演算手法に従って、受信コード信号とレプリカコード信号との相関演算処理をソフトウェア的に行えばよい。
【0140】
3−4.相関演算回路
原理説明において、レプリカコード信号の奇数次のサンプリング値の時系列データと偶数次のサンプリング値の時系列データとのうちの任意の1つの時系列データと、受信コード信号のサンプリング値の時系列データとを相関演算しても、同様の結果が得られることを説明した。そのため、上記実施例の相関演算回路部23を以下のように構成することも可能である。
【0141】
例えば、「n=2」の場合の図5の相関演算回路部23の回路構成において、レプリカコード信号が第0相関器231−0と初段の遅延回路DCとに分岐する分岐点の前段に、レプリカコード信号を「T=1/2チップ」だけ遅延させる遅延回路DCを設けることとしてもよい。この場合は、遅延量「T」のレプリカコード信号が第0相関器231−0に入力され、遅延量「2T」のレプリカコード信号が第1相関器231−1に入力され、遅延量「3T」のレプリカコード信号が第2相関器231−2に入力され、・・・、遅延量「(m+1)T」のレプリカコード信号が第m相関器231−mに入力される。これは、図1(C)に示した乗算項の組合せで相関演算を行うことに相当し、相関演算回路部23は、図7に示したタイミングチャートに従って動作する。
【符号の説明】
【0142】
1 携帯型電話機、 10 GPS受信部、 11 RF受信回路部、 20 ベースバンド処理回路部、 21 乗算部、 22 キャリア除去用信号発生部、 23 相関演算回路部、 24 レプリカコード信号発生部、 25 処理部、 27 記憶部、 30 ホストCPU、 40 操作部、 50 表示部、 60 携帯電話用アンテナ、 70 携帯電話用無線通信回路部、 80 記憶部、 231 相関器、 233 切替器、 235 相関器、 235A 乗算器、 235B レジスタ、 237 加算器、 DC 遅延回路、 EX EXOR回路
【技術分野】
【0001】
本発明は、測位用衛星信号を受信した受信信号を復調して得られた受信コード信号と、レプリカコード信号とを相関演算する方法等に関する。
【背景技術】
【0002】
測位用衛星信号を利用した測位システムとしては、GPS(Global Positioning System)が広く知られており、携帯型電話機やカーナビゲーション装置等に内蔵された位置算出装置に利用されている。GPSでは、複数のGPS衛星の位置や各GPS衛星から位置算出装置までの擬似距離等の情報に基づいて位置算出装置の位置座標と時計誤差とを求める位置算出計算を行う。
【0003】
GPS衛星から送出されるGPS衛星信号は、CA(Coarse and Acquisition)コードと呼ばれるGPS衛星毎に異なる拡散符号で変調されている。位置算出装置は、微弱な受信信号の中からGPS衛星信号を捕捉するために、受信したCAコードの信号(受信コード信号)と、CAコードを模擬したレプリカコードの信号(レプリカコード信号)との相関演算を行ってGPS衛星信号を捕捉する。
【0004】
GPS衛星信号を捕捉するための具体的な回路構成としては、例えば複数の相関器を並列に配設して相関演算回路を構成し、レプリカコード信号の位相をずらしながら、各々の相関器に相関演算を並列的に行わせる構成などが用いられる(例えば特許文献1。)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−159670号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来の相関演算回路では、サンプリング信号に基づいてサンプリングされた受信コード信号のサンプリング値と、レプリカコード信号のサンプリング値との相関演算を、例えばCAコード1周期分続けて行い、その合計値に基づいて信号の捕捉の成否を判定している。例えば、CAコードの1/2チップ周期でサンプリングする場合には、CAコードのコード長が1023チップであるため、CAコード1周期の相関演算には乗算だけで1023×2=2046回の演算が必要となり、2046回の演算値の合計値に基づいて信号の捕捉の成否を判定する。
【0007】
CAコードはいわゆるゴールド符号であるため、捕捉に成功した場合にのみ合計値が高くなる。そのため、レプリカコード信号の位相をずらして、各々の位相において同様の処理を行い、高い値が得られた場合に、信号が捕捉できた、すなわち位相(コード位相)を特定できたと判断できる。レプリカコード信号の位相をずらすことは、例えば相関演算対象とするサンプリング位置を1つずつずらすことで実現している。例えば、1/2チップ周期でサンプリングする場合には、サンプリング位置が2046箇所ある。ゆえに、全位相についてCAコード1周期分の相関演算を行うには、乗算だけで2046×2046回の演算が必要となる。
【0008】
従って、サンプリング間隔を短くすればするほど、それだけ指数関数的に相関演算量が増加するという問題があった。また、サンプリング間隔を短くするために、より高周波のサンプリング信号を生成する必要もある。これらの問題は、測位用衛星信号の受信回路の消費電力が増大する大きな要因の1つであった。
【0009】
本発明は上述した課題に鑑みて為されたものであり、その目的とするところは、相関演算量を削減するための新たな手法を提案することにある。
【課題を解決するための手段】
【0010】
以上の課題を解決するための第1の形態は、測位用衛星信号を受信した受信信号を復調して得られた受信コード信号と、レプリカコード信号とを相関演算する方法であって、チップ周期の到来タイミングを1/n(nは2以上の整数)チップずつずらした第1〜第nの到来タイミングでの前記受信コード信号の値それぞれと、チップ周期での前記レプリカコード信号の値とを相関演算することと、前記相関演算の結果を合成することで、1/nチップ間隔での相関演算結果を得ることと、を含む相関演算方法である。
【0011】
また、他の形態として、測位用衛星信号を受信した受信信号を復調して得られた受信コード信号と、レプリカコード信号とを相関演算する相関演算回路であって、1/n(nは2以上の整数)チップずつずらした第1〜第nのチップ周期での前記受信コード信号の値それぞれと、チップ周期での前記レプリカコード信号の値とを相関演算する相関演算部と、前記相関演算の結果を合成することで、1/nチップ間隔での相関演算結果を得る合成部と、を備えた相関演算回路を構成してもよい。
【0012】
この第1の形態等によれば、チップ周期の到来タイミングを1/nチップずつずらした第1〜第nの到来タイミングでの受信コード信号の値それぞれと、チップ周期でのレプリカコード信号の値とを相関演算する。そして、相関演算の結果を合成することで、1/nチップ間隔での相関演算結果を得る。これにより、受信コード信号及びレプリカコード信号それぞれを1/nチップ間隔でサンプリングし、更に全位相について総当たりで相関演算を行う場合と比べて演算量を大幅に減少させることができる。なお、演算量の減少は、相関演算回路全体における消費電力の削減にも繋がる。
【0013】
また、第2の形態として、第1の形態の相関演算方法を実行することにより得られた相関演算結果を用いて、前記測位用衛星信号を捕捉する衛星信号捕捉方法を構成してもよい。
【0014】
この第2の形態によれば、上述した形態の相関演算結果を用いて測位用衛星信号を捕捉することで、測位用衛星信号を正確且つ確実に捕捉することができる。
【図面の簡単な説明】
【0015】
【図1】(A)レプリカコード信号のサンプリング値「r」を奇数次に統一した結果を示す図。(B)乗算項の組合せの一例を示す図。(C)乗算項の組合せの別例を示す図。
【図2】(A)レプリカコード信号のサンプリング値「r」を偶数次に統一した結果を示す図。(B)乗算項の組合せの一例を示す図。(C)乗算項の組合せの別例を示す図。
【図3】携帯型電話機の機能構成の一例を示すブロック図。
【図4】ベースバンド処理回路部の回路構成の一例を示すブロック図。
【図5】n=2の場合の第1方式の相関演算回路部の回路構成の一例を示す図。
【図6】n=2の場合の相関演算のタイミングチャート。
【図7】n=2の場合の相関演算のタイミングチャート。
【図8】n=2の場合の相関演算のタイミングチャート。
【図9】n=2の場合の相関演算のタイミングチャート。
【図10】n=2の場合について相関演算のタイミングを図表化した図。
【図11】n=Nの場合の第1方式の相関演算回路部の回路構成の一例を示す図。
【図12】n=Nの場合について相関演算のタイミングを図表化した図。
【図13】ベースバンド処理の流れを示すフローチャート。
【図14】n=2の場合の第2方式の相関演算回路部の回路構成の一例を示す図。
【図15】n=Nの場合の第2方式の相関演算回路部の回路構成の一例を示す図。
【発明を実施するための形態】
【0016】
1.原理
先ず、本実施形態における相関演算の原理について説明する。
GPS衛星を利用した位置算出システムにおいて、測位用衛星の一種であるGPS衛星は、アルマナックやエフェメリス等の衛星軌道データを含む航法メッセージデータを、測位用衛星信号の一種であるGPS衛星信号に乗せて発信している。
【0017】
GPS衛星信号は、拡散符号の一種であるCA(Coarse and Acquisition)コードによって、スペクトラム拡散方式として知られるCDMA(Code Division Multiple Access)方式によって変調された1.57542[GHz]の通信信号である。CAコードは、コード長1023チップを1PNフレームとする繰返し周期1msの擬似ランダム雑音符号であり、衛星毎に異なる。
【0018】
GPS衛星がGPS衛星信号を発信する際の周波数(規定搬送波周波数)は、1.57542[GHz]と予め規定されているが、GPS衛星やGPS受信装置の移動により生ずるドップラーの影響等により、GPS受信装置がGPS衛星信号を受信する際の周波数は、必ずしも規定搬送波周波数とは一致しない。そのため、従来のGPS受信装置は、受信信号の中からGPS衛星信号を捕捉するための周波数方向の相関演算である周波数サーチを行ってGPS衛星信号を捕捉する。また、受信したGPS衛星信号(CAコード)の位相を特定するため、GPS受信装置は、位相方向の相関演算である位相サーチを行ってGPS衛星信号を捕捉する。
【0019】
より具体的には、GPS衛星信号を受信した受信信号を復調(検波)し、得られたCAコードの信号である受信コード信号と、GPS受信装置内部で発生させた擬似的なCAコードの信号であるレプリカコード信号との相関演算を行う。
【0020】
相関演算を行う際には、例えば受信コード信号及びレプリカコード信号を、それぞれCAコードのチップ周期の1/n(nは2以上の整数)のサンプリング間隔でサンプリングする。言い換えると、CAコードのコード長1023チップを、1チップの1/nの間隔(1/nチップ間隔)でサンプリングする。そして、レプリカコード信号の位相をずらしながら、受信コード信号のサンプリング値とレプリカコード信号のサンプリング値との相関演算を行う。
【0021】
これを式で表すと、次式(1)のようになる。
【数1】
式(1)は、受信コード信号と、受信コード信号に対して位相を遅らせたレプリカコード信号との相関演算を行うことを表している。
【0022】
式(1)において、「corr」は相関値を示している。また、「d」は受信コード信号のサンプリング値を示しており、「r」はレプリカコード信号のサンプリング値を示している。添え字の「i」は相関演算の番号を示しており、添え字の「j」はサンプリングの番号を示している。1023チップを1/nチップ間隔でサンプリングするため、「j=1,2,3,・・・,1023n」となる。
【0023】
実施例で後述するように、複数の相関器を並列的に並べて配置して相関演算回路を構成し、各々の相関器に受信コード信号と位相の異なるレプリカコード信号との相関演算を行わせる回路構成を採用する場合には、相関演算番号「i」は相関器の番号となる。
【0024】
この相関演算手法では、各々の相関演算番号「i」について、受信コード信号のサンプリング値「d」とレプリカコード信号のサンプリング値「r」との乗算を1023×n回行い、更に1/nチップずつずらした1023×n個の位相について行うため、乗算だけで演算量は(1023×n)2回必要となり、演算量が膨大になるという問題がある。そこで、本願発明者は、各々の相関演算番号「i」における相関演算の演算量を減少させることができないかを考えた。
【0025】
問題を簡単にするために、先ず「n=2」の場合について考える。すなわち、受信コード信号及びレプリカコード信号を1/2チップ間隔でサンプリングする場合である。この場合、式(1)を具体的に書き表すと、次式(2)のようになる。
【数2】
【0026】
「n=2」であるため、「i=0,1,2,・・・,2045」であり、「j=1,2,3,・・・,2046」である。また、「j+2046」が「j」と等しい(周期が異なるだけで位相は同一)として計算を行う。
【0027】
ここで、レプリカコード信号を1/2チップ間隔でサンプリングしているため、レプリカコード信号のサンプリング値「r」のうちの隣接するサンプリング値同士は等しい。すなわち「r1=r2,r3=r4,r5=r6,・・・,r2045=r2046」が成立する。この場合、式(2)は、例えば次式(3)のように書き換えることができる。
【数3】
【0028】
式(3)を見ると、右辺の受信コード信号のサンプリング値とレプリカコード信号のサンプリング値との乗算値を表す項(以下、「乗算項」と称す。)について、隣接するi番目とi+1番目の相関演算番号とで共通項が存在することがわかる。この共通項の存在に着目し、新たな相関値(以下、「新相関値」と称す。)「NewCorr」を、次式(4)のように定義する。
【数4】
【0029】
式(4)を見ると、偶数番の新相関値は、右辺が奇数番の乗算項のみで構成されているのに対し、奇数番の新相関値は、右辺が偶数番の乗算項のみで構成されていることがわかる。そして、隣接する相関演算番号について、一方の乗算項が他方の乗算項を補う関係にあることがわかる。
【0030】
この式からわかることは、i番目の相関演算結果と、i+1番目の相関演算結果とを用いれば、式(3)におけるi番目の相関値「corri」と等しい値を算出することができるということである。そこで、n=2の場合について、隣接する2個(=n個)の相関演算番号の組合せを「相関演算組」と定義する。結果的に、この相関演算組はサンプルタイミングが異なるもの同士の組合せとなっている。そして、各々の相関演算組について、隣接する2つの相関演算番号の相関演算結果を合成する。
【0031】
これを式で表すと、i番目の相関演算組の合成相関値「CorrSet」は、次式(5)のように表される。
【数5】
【0032】
式(4)からわかるように、i番目の相関演算結果(時系列データ)と、i+1番目の相関演算結果(時系列データ)とでは、右辺の乗算項の算出タイミングが1つずつずれている。これは、受信コード信号のサンプルタイミングがずれていることを意味する。そのため、相関演算結果同士の単純な加算によっては、合成相関値「CorrSet」を表現することができない。そこで、合成相関値「CorrSet」がサンプルタイミングの異なる乗算項同士の加算によって導き出されることを明確にするため、式(5)では加算を示す「+」を「○」で囲んだ表記で相関演算結果の合成を表現している。
【0033】
また、式(4)を見ると、各々の相関演算組について、受信コード信号は1/2チップ間隔でサンプリングされた全てのサンプリング値「d1,d2,d3,・・・」が用いられているのに対し、レプリカコード信号は1つおきのサンプリング値「r1,r3,r5,・・・」のみが用いられていることがわかる。従って、受信コード信号は1/2チップ間隔でサンプリングする必要があるのに対し、レプリカコード信号は1チップ間隔のサンプリングで済むことを意味する。
【0034】
以上をまとめると、n=2の場合は、受信信号を復調して得られる受信コード信号を1/2チップ間隔でサンプリングする。また、レプリカコード信号を1チップ間隔でサンプリングする。そして、受信コード信号の1個(=n−1個)おきのサンプリング値の時系列データのうち、サンプルタイミングが異なる2通り(=n通り)の時系列データそれぞれについて、レプリカコード信号の各サンプリング値を乗算する。そして、2通りの時系列データそれぞれについて得られた相関演算結果を合成することで、当該相関演算組の相関演算結果を得る。
【0035】
これは、CAコードのチップ周期の到来タイミングを1/2チップずつずらした異なる2個の到来タイミング(第1及び第2の到来タイミング)での受信コード信号の値それぞれと、チップ周期でのレプリカコード信号の値とを相関演算することを意味する。これにより、第1及び第2の相関演算の結果が得られる。そして、第1及び第2の相関演算の結果を合成することで、1/2チップ間隔での最終的な相関演算結果を得る。
【0036】
なお、上記の説明では、式(4)に示した乗算項の組合せで相関演算を行ったが、乗算項の組合せを変えて相関演算を行うことも可能である。具体的には、「r1=r2,r3=r4,r5=r6,・・・,r2045=r2046」が成立するため、レプリカコード信号のサンプリング値「r」のうち、偶数次のサンプリング値を奇数次のサンプリング値に書き換える、又は、奇数次のサンプリング値を偶数次のサンプリング値に書き換えることができる。
【0037】
図1は、レプリカコード信号のサンプリング値「r」を奇数次に統一した場合の説明図である。図1(A)は、式(2)に示した相関値「corr」の算出式に含まれる受信コード信号のサンプリング値「d」とレプリカコード信号のサンプリング値「r」との乗算項を各算出式に対応する順序で配置し、偶数次のサンプリング値「r2m」を奇数次のサンプリング値「r2m−1」に書き換えた結果を示している。
【0038】
図1(A)を見ると、レプリカコード信号のサンプリング値「r」が奇数次に統一されていることがわかる。また、乗算項に着目すると、点線の矩形で囲った乗算項のペアが共通項のペアとなっていることがわかる。この場合、1組の共通項のうちの上側の共通項を削除することで、図1(B)に示すような乗算項の組合せを得ることができる。また、1組の共通項のうちの下側の共通項を削除することで、図1(C)に示すような乗算項の組合せを得ることができる。
【0039】
図2は、レプリカコード信号のサンプリング値「r」を偶数次に統一した場合の説明図である。図の見方は図1と同じであり、図2(A)には、奇数次のサンプリング値「r2m−1」を偶数次のサンプリング値「r2m」に書き換えた結果を示している。この場合も、点線の矩形で囲った乗算項のペアが共通項のペアとなっていることがわかる。そして、1組の共通項のうちの上側の共通項を削除することで、図2(B)に示すような乗算項の組合せを得ることができる。また、1組の共通項のうちの下側の共通項を削除することで、図2(C)に示すような乗算項の組合せを得ることができる。
【0040】
上記の4通りの組合せのうちの何れかの組合せを用いて新相関値「NewCorr」を算出することで、本実施形態の相関演算手法を実現することができる。例えば、図1(B)及び図2(B)の組合せでは、i番目の合成相関値「CorrSeti」を得るための新相関値の組合せは、i番目の新相関値「NewCorri」とi+1番目の新相関値「NewCorri+1」との組合せとなる。図1(C)及び図2(C)の組合せでは、i番目の合成相関値「CorrSeti」を得るための新相関値の組合せは、i−1番目の新相関値「NewCorri-1」とi番目の新相関値「NewCorri」との組合せとなる。
【0041】
また、レプリカコード信号のサンプリング値を奇数次及び偶数次の何れに統一してもよいことから、次のようにすることも可能である。すなわち、受信コード信号を1/2チップ間隔でサンプリングした場合の1個おきのサンプリング値の時系列データであって、サンプルタイミングが異なる2通りの時系列データそれぞれについて、レプリカコード信号を同じサンプリング間隔でサンプリングした場合の1個おきのサンプリング値の時系列データ(偶数次の時系列データ又は奇数次の時系列データ)のうちの任意の1つの時系列データと相関演算する。そして、上記と同様に、隣接する相関演算番号の相関演算結果を合成する。
【0042】
ここまで「n=2」の場合に着目して説明してきたが、これを一般化して「n=n」の場合についても同様に考えることができる。測位用衛星信号の拡散符号のコード長を「L」と表記した場合、h番目の相関演算番号についての新相関値「NewCorrh」は、次式(6)のように定式化される。
【数6】
【0043】
また、k番目の相関演算番号についての合成相関値「CorrSetk」は、次式(7)で定式化される。
【数7】
【0044】
ここで、「k」は合成相関値「CorrSet」の番号であり、「0≦k<L・n」を満たす値である。また、「h」は新相関値「NewCorr」の番号であり、「0≦h<L・n」を満たす値であるとともに、次式(8)を満たす値である。
【数8】
【0045】
また、「i」は受信コード信号のサンプリング番号であり、「0<i≦L・n」を満たす値であるとともに、次式(9)を満たす値である。
【数9】
但し、「u」は、「h」を「n」で割った場合の余りである。
【0046】
また、「j」はレプリカコード信号のサンプリング番号であり、「0<j≦L・n」を満たす値であるとともに、次式(10)を満たす値である。
【数10】
但し、「t」は、「h」を「n」で割った場合の商である。
【0047】
この場合も、受信コード信号は1/nチップ間隔でサンプリングする必要があるのに対し、レプリカコード信号は1チップ間隔のサンプリングで済むことになる。
【0048】
なお、この場合は、レプリカコード信号のサンプリング値「r」について「r1=r2=r3=・・・=rn,rn+1=rn+2=rn+3=・・・=r2n,・・・」の関係が成立する。この関係を用いれば、「n=2」の場合と同様に、レプリカコード信号のサンプリング値の時系列データを複数組取得することができる。そのため、レプリカコード信号を1/nチップ間隔でサンプリングした場合の(n−1)個おきのサンプリング値の任意の1つの時系列データと、受信コード信号のサンプリング値の時系列データとを相関演算することとしてもよい。
【0049】
本実施形態の相関演算手法の演算量について考察する。本実施形態の相関演算手法では、レプリカコード信号の各位相について、受信コード信号のサンプリング値「d」とレプリカコード信号のサンプリング値「r」とを乗算する回数と、乗算項同士を加算する加算の回数とが、それぞれ“1/n”となる。従って、本実施形態の相関演算手法では、従来の相関演算手法と比べて演算量は“1/n2”で済むことになる。例えば、上述した「n=2」の場合は、従来の相関演算手法と比べて演算量は“1/4”で済む。
【0050】
2.実施例
次に、相関演算回路を含む位置算出装置を備えた電子機器の一種である携帯型電話機に本発明を適用した場合の実施例について説明する。但し、本発明を適用可能な実施例が以下説明する実施例に限定されるわけではないことは勿論である。
【0051】
[第1実施例]
2−1.機能構成
図3は、本実施例における携帯型電話機1の機能構成の一例を示すブロック図である。携帯型電話機1は、GPSアンテナ5と、GPS受信部10と、ホストCPU(Central Processing Unit)30と、操作部40と、表示部50と、携帯電話用アンテナ60と、携帯電話用無線通信回路部70と、記憶部80とを備えて構成される。
【0052】
GPSアンテナ5は、GPS衛星から発信されているGPS衛星信号を含むRF(Radio Frequency)信号を受信するアンテナであり、受信信号をGPS受信部10に出力する。
【0053】
GPS受信部10は、GPSアンテナ5から出力された信号に基づいて携帯型電話機1の位置を計測する位置算出回路或いは位置算出装置であり、いわゆるGPS受信装置に相当する機能ブロックである。GPS受信部10は、RF受信回路部11と、ベースバンド処理回路部20とを備えて構成される。なお、RF受信回路部11と、ベースバンド処理回路部20とは、それぞれ別のLSI(Large Scale Integration)として製造することも、1チップとして製造することも可能である。
【0054】
RF受信回路部11は、RF信号の受信回路である。回路構成としては、例えば、GPSアンテナ5から出力されたRF信号をA/D変換器でデジタル信号に変換し、デジタル信号を処理する受信回路を構成してもよい。また、GPSアンテナ5から出力されたRF信号をアナログ信号のまま信号処理し、最終的にA/D変換することでデジタル信号をベースバンド処理回路部20に出力する構成としてもよい。
【0055】
後者の場合には、例えば、次のようにRF受信回路部11を構成することができる。すなわち、所定の発振信号を分周或いは逓倍することで、RF信号乗算用の発振信号を生成する。そして、生成した発振信号を、GPSアンテナ5から出力されたRF信号に乗算することで、RF信号を中間周波数の信号(以下、「IF(Intermediate Frequency)信号」と称す。)にダウンコンバートし、IF信号を増幅等した後、A/D変換器でデジタル信号に変換して、ベースバンド処理回路部20に出力する。
【0056】
ベースバンド処理回路部20は、RF受信回路部11から出力された受信信号に対して相関処理等を行ってGPS衛星信号を捕捉し、GPS衛星信号から取り出した衛星軌道データや時刻データ等に基づいて、所定の位置算出計算を行って携帯型電話機1の位置(位置座標)を算出する処理回路ブロックである。ベースバンド処理回路部20は、受信信号に対する相関演算を行う相関演算回路や、相関演算回路の相関演算結果に基づいてGPS衛星信号を捕捉するGPS衛星信号捕捉回路を有する。
【0057】
図4は、ベースバンド処理回路部20の回路構成の一例を示す図であり、本実施例に係わる回路ブロックを中心に記載した図である。ベースバンド処理回路部20は、例えば、乗算部21と、キャリア除去用信号発生部22と、相関演算回路部23と、レプリカコード信号発生部24と、処理部25と、記憶部27とを備えて構成される。
【0058】
乗算部21は、キャリア除去用信号発生部22により生成・発生されたキャリア除去用信号を受信信号に乗算することで、受信信号から搬送波(キャリア)を除去する回路部であり、例えば乗算器を有して構成される。乗算部21からは、搬送波が除去された受信コード信号が相関演算回路部23に出力される。
【0059】
キャリア除去用信号発生部22は、GPS衛星信号のキャリア信号の周波数と同一の周波数のキャリア除去用信号を生成する回路であり、例えばキャリアNCO(Numerical Controlled Oscillator)等の発振器を有して構成される。なお、RF受信回路部11から出力される信号がIF信号である場合には、IF周波数のキャリア除去用信号を生成する。このように、RF受信回路部11が受信信号をIF信号にダウンコンバージョンする場合も、本実施形態は実質的に同一に適用可能である。
【0060】
キャリア除去用信号発生部22により発生されたキャリア除去用信号が乗算部21において受信信号に乗算されることで、受信信号の復調(検波)が行われ、搬送波(キャリア)が除去された受信コード信号が生成・出力される。従って、乗算部21及びキャリア除去用信号発生部22は、復調部(検波部)とも言える。
【0061】
相関演算回路部23は、乗算部21から出力された受信コード信号と、レプリカコード信号発生部24から出力されたレプリカコード信号との相関演算を行う相関演算回路であり、後述するように本実施形態における特徴的な回路ブロックである。
【0062】
レプリカコード信号発生部24は、GPS衛星信号の拡散符号であるCAコードを模擬したレプリカコード(レプリカCAコード)の信号を発生する回路部であり、例えばコードNCO等の発振器を有して構成される。レプリカコード信号発生部24は、処理部25から指示されたPRN番号(衛星番号)に応じたレプリカコード信号を生成・発生して、相関演算回路部23に出力する。
【0063】
相関演算回路部23は、受信信号のIQ成分それぞれに対して、レプリカコード信号発生部24から入力したレプリカコード信号との相関演算を行う。なお、受信信号のIQ成分の分離(IQ分離)を行う回路ブロックについては図示を省略するが、どのように回路ブロックを構成してもよい。例えば、RF受信回路部11において受信信号をIF信号にダウンコンバージョンする際に、位相が90度異なる局部発振信号を受信信号に乗算することでIQ分離を行うこととしてもよい。
【0064】
図5は、相関演算回路部23の回路構成の一例を示す図である。図5の相関演算回路部23は、n=2の場合の回路構成の一例を示す図である。チップ周期のイネーブル信号に従って、受信コード信号を1/2チップ間隔(=チップ周期の1/nに相当)でサンプリングするとともに、レプリカコード信号を1チップ間隔(=チップ周期に相当)でサンプリングして相関演算を行う場合における相関演算回路の一例である。
【0065】
第1実施例における相関演算回路部23は、相関演算部としての複数の相関器231(第0相関器231−0,第1相関器231−1,第2相関器231−2,第3相関器231−3,・・・)と、合成部としての複数の切替器233(第0切替器233−0,第1切替器233−1,第2切替器233−2,第3切替器233−3,・・・)と、複数の遅延回路DCと、EXOR(EXclusive OR)回路EXとを備えて構成される。
【0066】
相関器231は、イネーブル信号に従って受信コード信号及びレプリカコード信号のサンプリング及び乗算を行う相関演算部であり、例えば乗算器を有して構成される。各々の相関器231には、受信コード信号が並列に入力される。また、m番目(m=0,1,2,・・・)の相関器231−mには、複数段の遅延回路DCによって遅延量「mT」だけ遅延されたレプリカコード信号が入力される。1つの遅延回路DCによって「T」だけ信号が遅延される。「T」は受信コード信号のサンプリング間隔を示しており、ここでは「T=1/2チップ」である。
【0067】
より具体的には、第0相関器231−0には遅延量「0」のレプリカコード信号が、第1相関器231−1には遅延量「T=1/2チップ」のレプリカコード信号が、第2相関器231−2には遅延量「2T=1チップ」のレプリカコード信号が・・・、といったように遅延量「T」ずつ遅延されたレプリカコード信号が各相関器に入力される。そして、各相関器において、受信コード信号をサンプリングして得られたサンプリング値と、レプリカコード信号をサンプリングして得られたサンプリング値との相関演算が行われる。
【0068】
また、偶数番の相関器231−2mには遅延量「0」のイネーブル信号(以下、「第1イネーブル信号」と称す。)が入力され、奇数番の相関器231−(2m+1)には、遅延量「T=1/2チップ」のイネーブル信号(以下、「第2イネーブル信号」と称す。)が入力される。すなわち、偶数番と奇数番の相関器とで遅延量が「T」だけ異なるイネーブル信号が入力される。
【0069】
偶数番の相関器231−2mでは、第1イネーブル信号に従ってチップ周期(=1チップ間隔)でのサンプリング及び乗算がなされる。同様に、奇数番の相関器231−(2m+1)でも、第2イネーブル信号に従ってチップ周期(=1チップ間隔)でのサンプリング及び乗算がなされる。但し、各相関器231には、時間的な差異のない(同一位相の)受信コード信号が並列に入力される。そのため、隣接する2個の相関器231の組(相関演算組)により、受信コード信号は1/2チップ間隔で互い違いにサンプリングされて乗算される。それに対し、レプリカコード信号は1/2チップずつ遅延されて各相関器231に入力される。そのため、各相関器231において、レプリカコード信号は1チップ間隔でサンプリングされて乗算される。
【0070】
このように、n=2の場合は、第1及び第2イネーブル信号によって、チップ周期の到来タイミングを1/2チップずつずらした第1及び第2の到来タイミングでの受信コード信号の値それぞれと、チップ周期でのレプリカコード信号の値とが相関演算される。
【0071】
その一方で、第1イネーブル信号と第2イネーブル信号とは、EXOR回路EXに入力される。EXOR回路EXによって、イネーブル信号は2倍に逓倍される。EXOR回路EXの出力信号は、各々の切替器233に並列に入力される。つまり、切替器233を1/2チップ間隔(=チップ周期の1/2)で動作させるためのイネーブル信号がEXOR回路EXにおいて生成されて、各切替器233に入力される。
【0072】
各切替器233には、連続する2つの相関器231の出力信号が入力される。すなわち、第0切替器233−0には、第0相関器231−0及び第1相関器231−1の出力信号がそれぞれ入力され、第1切替器233−1には、第1相関器231−1及び第2相関器231−2の出力信号がそれぞれ入力され、・・・といったように、第m切替器233−mには、第m相関器231−m及び第m+1相関器231−(m+1)の出力信号がそれぞれ入力される。
【0073】
各切替器233は、EXOR回路EXの出力信号に従って、入力した2つの相関器からの出力信号を順次切り替える切替回路であり、フリップフロップ回路等の論理回路によって実現される。切替器233は、2つの相関器からの出力信号を順次切り替えて出力することで、当該2つの相関器により演算された相関演算結果を合成する合成部である。より具体的には、各切替器233は、EXOR回路EXにおいて2逓倍されたイネーブル信号に従って、隣接する2つの相関器231から出力される乗算結果を1/2チップ間隔で順次に切り替えて、処理部25に出力する。
【0074】
図6は、相関演算回路部23の各部の動作を説明するタイミングチャートである。図6は、図1(B)の組合せで相関演算を行った場合のタイミングチャートである。n=2であるため、サンプリング番号は1/2チップ間隔の番号に相当する。また、直感的に分かり易いように、受信コード信号及びレプリカコード信号と、相関演算結果と、相関演算結果の合成結果とを、それぞれ「1」と「−1」の二値で表現している。
【0075】
最上段に受信コード信号の時系列データの一例を示す。横方向は時間を示しており、最上部に示す番号は受信コード信号のサンプリング番号を示している。ここでは、受信コード信号のPRN番号(衛星番号)及び位相が既知であるものとして説明する。
【0076】
遅延量「0」のレプリカコード信号を2段目に示す。第0相関器231−0には、このレプリカコード信号と受信コード信号とが入力され、第1イネーブル信号に従って1チップ間隔で相関演算が行われる。
【0077】
各サンプルタイミングについて、受信コード信号のサンプリング値とレプリカコード信号のサンプリング値とが同じであれば(両方とも“1”か“−1”)、サンプリング値の乗算により相関演算結果は“1”となる。それに対して、受信コード信号のサンプリング値とレプリカコード信号のサンプリング値とが異なれば(一方が“1”で他方が“−1”)、サンプリング値の乗算により相関演算結果は“−1”となる。
【0078】
最上段の受信コード信号と2段目のレプリカコード信号とは位相がぴったり一致しているため(遅延量=0)、各サンプルタイミングについて受信コード信号のサンプリング値とレプリカコード信号のサンプリング値とは同じとなる。そのため、全てのサンプルタイミングについて相関演算結果は“1”となる。その結果、3段目に示すような第0相関演算結果が算出されて、第0切替器233−0に出力される。相関演算結果の上に示した矢印は、サンプルタイミングを示している。
【0079】
遅延量「T=1/2チップ」のレプリカコード信号を4段目に示す。第1相関器231−1には、このレプリカコード信号と受信コード信号とが入力され、第2イネーブル信号に従って1チップ間隔で相関演算が行われる。
【0080】
4段目のレプリカコード信号は、最上段の受信コード信号と比べて位相が1/2チップだけ遅れている(遅延量=1/2チップ)。各サンプルタイミングにおける受信コード信号のサンプリング値とレプリカコード信号のサンプリング値とを時系列に比較していくと、時刻“t=2”のサンプルタイミングではサンプリング値は両方とも“−1”であるため、相関演算結果は“(−1)×(−1)=1”となる。時刻“t=4”及び“t=6”のサンプルタイミングではサンプリング値は両方とも“1”であるため、相関演算結果は“1×1=1”となる。時刻“t=8”のサンプルタイミングではサンプリング値は両方とも“−1”であるため、相関演算結果は“(−1)×(−1)=1”となる。以下同様に、全てのサンプルタイミングについて相関演算結果は“1”となる。その結果、5段目に示すような第1相関演算結果が算出されて、第0切替器233−0及び第1切替器233−1に出力される。
【0081】
ここで、第1イネーブル信号と第2イネーブル信号とは周期が1チップの信号であって、互いに1/2チップずれた信号である。このため、第0相関器231−0と第1相関器231−1とは、1/2チップ毎に交互にサンプリング及び相関演算を実行していることになる。
【0082】
第0切替器233−0は、EXOR回路EXの出力信号に従って、第0相関器231−0及び第1相関器231−1の出力を1/2チップ毎に交互に選択して出力する。具体的には、第0相関器231−0の出力信号が変化した場合に第0相関器231−0を選択し、第1相関器231−1の出力信号が変化した場合に第1相関器231−1を選択するように、イネーブル信号に基づいて同期制御されている。この結果、第0切替器233−0から出力される合成結果は、第0相関演算組の相関演算結果となる。
【0083】
第0相関演算組の合成結果は、3段目の第0相関演算結果と5段目の第1相関演算結果とを合成した結果となる。第0相関演算結果と第1相関演算結果とはサンプルタイミングが1/2チップずつずれているため、2つの相関演算結果を交互に選択することで相関演算結果が合成される。この場合、第0相関演算結果は全てのサンプルタイミングで“1”であり、第1相関演算結果も全てのサンプルタイミングで“1”である。従って、相関演算結果を交互に選択していくと全てのサンプルタイミングについて“1”となり、6段目に示すような直線状の第0相関演算組の合成結果が得られる。
【0084】
遅延量「2T=1チップ」のレプリカコード信号を7段目に示す。第2相関器231−2には、このレプリカコード信号と受信コード信号とが入力され、第1イネーブル信号に従って1チップ間隔で相関演算が行われる。その結果、8段目に示すような第2相関演算結果が算出されて、第1切替器233−1及び第2切替器233−2に出力される。
【0085】
第1切替器233−1は、EXOR回路EXの出力信号に従って、第1相関器231−1及び第2相関器231−2の出力を1/2チップ毎に交互に選択して出力する。これにより、9段目に示すような相関演算結果の合成結果が算出されて、第1切替器233−1から出力される。第1切替器233−1から出力される合成結果は、第1相関演算組の相関演算結果となる。
【0086】
第1相関演算組の合成結果は、5段目の第1相関演算結果と8段目の第2相関演算結果とを合成した結果となる。この場合、相関演算結果を交互に選択していくと、第2相関演算結果が“−1”となるサンプルタイミングで“−1”に下がり、その直後の第1相関演算結果のサンプルタイミングで“1”に立ち上がるため、9段目に示すような第1相関演算組の合成結果が得られる。
【0087】
以下同様に、各々の相関演算組について、隣接する2つの相関器231からの出力信号が切替器233によって切り替えられることで相関演算結果が合成され、その合成結果が切替器233から出力される。
【0088】
図6において、全てのサンプルタイミングについて合成結果が“1”となるのは、第0相関演算組の合成結果のみである。ゆえに、第0相関演算組〜第2045相関演算組それぞれについて、全てのサンプルタイミングについての合成結果を合算して相関値を算出すると、第0相関演算組の相関値が最大となる。従って、第0相関演算組に対応する遅延量“0”のレプリカコード信号が、受信コード信号と位相がぴったり一致したレプリカコード信号であると判断することができる。
【0089】
なお、図1及び図2で説明した残りの組合せについても、タイミングチャートを同様に作成した。図1(C)、図2(B)及び図2(C)の組合せに対応するタイミングチャートをそれぞれ図7〜図9に示す。原理で説明したように、合成相関値「CorrSet」を得るための新相関値「NewCorr」の組合せは、図1(B)及び図2(B)の組合せでは、i番目の新相関値「NewCorri」とi+1番目の新相関値「NewCorri+1」との組合せとなる。また、図1(C)及び図2(C)の組合せでは、i−1番目の新相関値「NewCorri-1」とi番目の新相関値「NewCorri」との組合せとなる。そこで、対応するタイミングチャートを比較してみる。
【0090】
図1(B)及び図2(B)の組合せに対応する図6及び図8を比較すると、何れも第0相関演算結果と第1相関演算結果とを合成した第0相関演算組が、相関値が最大となる組合せであることがわかる。他方、図1(C)及び図2(C)の組合せに対応する図7及び図9を比較すると、何れも第2045相関演算結果と第0相関演算結果とを合成した第0相関演算組が、相関値が最大となる組合せであることがわかる。何れの組合せも遅延量「0」のレプリカコード信号に対応する組合せとなっており、正しい結果が得られていることがわかる。
【0091】
図10は、n=2の場合について相関演算のタイミングを図表化したグラフであり、図6のタイミングチャートに対応するグラフを示している。グラフの横方向は、受信コード信号のサンプルタイミング及び受信コード信号のサンプリング値を示している。各サンプルタイミングは「T=1/2チップ」毎のタイミングを示している。n=2であるため、連続する2個のサンプルタイミングが1チップ周期に相当する。一方、グラフの縦方向は相関器231の番号を示している。n=2であるため、連続する2個の相関器によって相関演算組が1つ構成される。また、相関演算が行われるサンプルタイミングにはレプリカコード信号のサンプリング値を記載しており、相関演算が行われないサンプリングタイミングは「−」としている。
【0092】
第1サンプルタイミングでは、偶数番の相関器231−2mが、受信コード信号のサンプリング値「d」とレプリカコード信号のサンプリング値「r」との相関演算を行う。例えば、第0相関器231−0は「d1」と「r1」との相関演算を行い、第2相関器231−2は「d1」と「r2045」との相関演算を行い、第4相関器231−4は「d1」と「r2043」との相関演算を行うといった具合である。
【0093】
第2サンプルタイミングでは、奇数番の相関器231−(2m+1)が受信コード信号のサンプリング値「d」とレプリカコード信号のサンプリング値「r」との相関演算を行う。例えば、第1相関器231−1は「d2」と「r1」との相関演算を行い、第3相関器231−3は「d2」と「r2045」との相関演算を行い、第5相関器231−5は「d2」と「r2043」との相関演算を行うといった具合である。
【0094】
図11は、相関演算回路部23を一般化して、1/Nチップ(n=N)間隔で受信コード信号をサンプリングして相関演算を行う場合の回路構成の一例を示す図であり、第0相関演算組に着目した図を示している。受信コード信号のサンプリング間隔は「T=1/Nチップ」である。
【0095】
図11の相関演算回路部23では、連続するN個の相関器によって一組の相関演算組が構成される。例えば、第0相関器231−0〜第N−1相関器231−(N−1)のN個の相関器によって第0相関演算組が構成され、各々の相関器の出力信号が第0切替器233−0に出力される。同様に、第1相関器231−1〜第N相関器231−NのN個の相関器によって第1相関演算組が構成され、各相関器の出力信号が第1切替器233−1に出力される。
【0096】
また、各々の相関演算組に含まれるN個の相関器には、それぞれ遅延量「T=1/Nチップ」ずつ遅延されたレプリカコード信号が入力されるように、複数段の遅延回路DCが配設されている。すなわち、第0相関演算組において、第0相関器231−0には遅延量「0」のレプリカコード信号が、第1相関器231−1には遅延量「T」のレプリカコード信号が、第2相関器231−2には遅延量「2T」のレプリカコード信号が入力され、以降も同様である。
【0097】
各々の相関演算組を構成する各相関器には、遅延量「T=1/Nチップ」ずつ遅延された1チップ周期のイネーブル信号が入力されるように、複数段の遅延回路DCが形成されている。すなわち、第0相関演算組において、第0相関器231−0には遅延量「0」の第1イネーブル信号が、第1相関器231−1には遅延量「T=1/Nチップ」の第2イネーブル信号が、第2相関器231−2には遅延量「2T=2/Nチップ」の第3イネーブル信号が入力され、以降も同様である。
【0098】
図12は、n=Nの場合について相関演算のタイミングを図表化したグラフである。グラフの見方は図10と同じである。n=Nであるため、連続するN個のサンプルタイミングが1チップ周期に相当する。また、連続するN個の相関器によって相関演算組が1つ構成される。
【0099】
例えば、第0相関演算組に着目した場合、第1サンプルタイミングでは、第0相関器231−0が「d1」と「r1」との相関演算を行い、第2サンプルタイミングでは、第1相関器231−1が「d2」と「r1」との相関演算を行い、第3サンプルタイミングでは、第2相関器231−2が「d3」と「r1」との相関演算を行い、・・・、第Nサンプルタイミングでは、第N−1相関器231−(N−1)が「dN」と「r1」との相関演算を行う。
【0100】
図4の回路ブロックの説明に戻って、処理部25は、ベースバンド処理回路部20の各機能部を統括的に制御する制御装置であり、例えばCPU等のプロセッサーを有して構成される。処理部25は、相関演算回路部23から出力された相関演算結果を用いてGPS衛星信号を捕捉する捕捉部として機能する。主要な機能部として、処理部25は、衛星信号捕捉部251と、位置算出部253とを有する。
【0101】
衛星信号捕捉部251は、相関演算回路部23から出力される相関演算結果に対するピーク検出を行って受信コード信号の位相(コード位相)を検出することで、GPS衛星信号を捕捉する信号捕捉部である。
【0102】
より具体的には、衛星信号捕捉部251は、相関演算回路部23の各切替器233から出力される相関演算結果の合成信号に基づいて相関値を算出する。すなわち、各切替器233(第0切替器233−0,第1切替器233−1,第2切替器233−2,・・・)から出力される時系列の合成結果を合算して、各々の相関演算組の相関値を算出する。そして、各々の相関演算組の相関値の大きさを比較することで相関値のピーク判定を行い、相関値が最大となった相関演算組に対応するレプリカコード信号の遅延量から、受信コード信号の位相(コード位相)を特定する。
【0103】
位置算出部253は、衛星信号捕捉部251により捕捉されたGPS衛星信号を利用して、公知の位置算出計算を行って携帯型電話機1の位置を算出する算出部であり、算出した位置をホストCPU30に出力する。
【0104】
記憶部27は、ROM(Read Only Memory)やフラッシュROM、RAM(Random Access Memory)等の記憶装置(メモリー)によって構成され、ベースバンド処理回路部20のシステムプログラムや、衛星信号捕捉機能、位置算出機能等の各種機能を実現するための各種プログラム、データ等を記憶している。また、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを有する。
【0105】
記憶部27には、例えば図4に示すように、プログラムとして、処理部25により読み出され、ベースバンド処理(図13参照)として実行されるベースバンド処理プログラム271が記憶されている。また、データとして、衛星軌道データ272と、相関演算結果データ273とが記憶される。
【0106】
ベースバンド処理とは、処理部25が、捕捉対象とするGPS衛星(以下、「捕捉対象衛星」と称す。)それぞれについて、相関演算回路部23から出力される各相関演算組の相関演算結果に基づいてGPS衛星信号を捕捉する処理を行い、捕捉したGPS衛星信号を利用した位置算出計算を行って携帯型電話機1の位置を算出する処理である。ベースバンド処理については、フローチャートを用いて詳細に後述する。
【0107】
衛星軌道データ272は、全てのGPS衛星の概略の衛星軌道情報を記憶したアルマナックや、各GPS衛星それぞれについて詳細な衛星軌道情報を記憶したエフェメリス等のデータである。衛星軌道データ272は、GPS衛星から受信したGPS衛星信号をデコードすることで取得する他、例えば携帯型電話機1の基地局やアシストサーバーからアシストデータとして取得する。
【0108】
相関演算結果データ273は、各々の相関演算組について相関演算回路部23から出力される各相関演算組の相関演算結果のデータである。
【0109】
図3の機能ブロックに戻って、ホストCPU30は、記憶部80に記憶されているシステムプログラム等の各種プログラムに従って携帯型電話機1の各部を統括的に制御するプロセッサーである。ホストCPU30は、ベースバンド処理回路部20から出力された位置座標をもとに、表示部50に現在位置を指し示した地図を表示させたり、その位置座標を各種のアプリケーション処理に利用する。
【0110】
操作部40は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号をホストCPU30に出力する。この操作部40の操作により、通話要求やメール送受信要求、位置算出要求等の各種指示入力がなされる。
【0111】
表示部50は、LCD(Liquid Crystal Display)等により構成され、ホストCPU30から入力される表示信号に基づいた各種表示を行う表示装置である。表示部50には、位置表示画面や時刻情報等が表示される。
【0112】
携帯電話用アンテナ60は、携帯型電話機1の通信サービス事業者が設置した無線基地局との間で携帯電話用無線信号の送受信を行うアンテナである。
【0113】
携帯電話用無線通信回路部70は、RF変換回路、ベースバンド処理回路等によって構成される携帯電話の通信回路部であり、携帯電話用無線信号の変調・復調等を行うことで、通話やメールの送受信等を実現する。
【0114】
記憶部80は、ホストCPU30が携帯型電話機1を制御するためのシステムプログラムや、各種アプリケーション処理を実行するための各種プログラムやデータ等を記憶する記憶装置である。
【0115】
2−2.処理の流れ
図13は、記憶部27に記憶されているベースバンド処理プログラム271が処理部25により読み出されることで、ベースバンド処理回路部20において実行されるベースバンド処理の流れを示すフローチャートである。
【0116】
最初に、衛星信号捕捉部251は、捕捉対象衛星判定処理を行う(ステップA1)。具体的には、不図示の時計部で計時されている現在時刻において、所与の基準位置の天空に位置するGPS衛星を、記憶部27に記憶されたアルマナックやエフェメリス等の衛星軌道データ272を用いて判定して、捕捉対象衛星に決定する。基準位置は、例えば、電源投入後の初回の位置算出の場合は、いわゆるサーバーアシストによってアシストサーバーから取得した位置とし、2回目以降の位置算出の場合は、最新の算出位置とする等の方法で設定できる。
【0117】
次いで、衛星信号捕捉部251は、ステップA1で判定した各捕捉対象衛星それぞれについて、ループAの処理を実行する(ステップA3〜A9)。ループAの処理では、衛星信号捕捉部251は、当該捕捉対象衛星のPRN番号(衛星番号)の指示信号をレプリカコード信号発生部24に出力する(ステップA5)。
【0118】
ステップA5の処理を行うと、レプリカコード信号発生部24により、当該捕捉対象衛星のCAコードを模擬したレプリカコード信号が生成・発生されて、相関演算回路部23に出力される。そして、上述した原理に従った相関演算が相関演算回路部23において行われ、各々の相関演算組の相関演算結果が処理部25に出力される。
【0119】
衛星信号捕捉部251は、相関演算回路部23から出力された各々の相関演算組の相関演算結果に対するピーク判定を行う(ステップA7)。そして、次の捕捉対象衛星へと処理を移行する。全ての捕捉対象衛星についてステップA5及びA7の処理を行った後、衛星信号捕捉部251は、ループAの処理を終了する(ステップA9)。
【0120】
その後、位置算出部253は、各捕捉対象衛星について捕捉されたGPS衛星信号を利用した位置算出計算を実行する(ステップA11)。位置算出計算は、携帯型電話機1と各捕捉衛星間の擬似距離を利用して、例えば最小二乗法やカルマンフィルターを用いた公知の収束演算を行うことで実現することができる。
【0121】
擬似距離は、次のようにして算出することができる。すなわち、衛星軌道データ272から求められる捕捉衛星の衛星位置と、携帯型電話機1の最新の算出位置とを用いて、擬似距離の整数部分を算出する。また、ステップA7で検出された相関演算結果のピークに相当するレプリカコード信号の位相(コード位相)を用いて、擬似距離の端数部分を算出する。このようにして求めた整数部分と端数部分とを合算することで、擬似距離を算出することができる。
【0122】
次いで、位置算出部253は、算出した位置(位置座標)をホストCPU30に出力する(ステップA13)。そして、処理部25は、処理を終了するか否かを判定し(ステップA15)、まだ終了しないと判定した場合は(ステップA15;No)、ステップA1に戻る。また、処理を終了すると判定した場合は(ステップA15;Yes)、ベースバンド処理を終了する。
【0123】
2−3.作用効果
ベースバンド処理回路部20において、GPS衛星信号を受信した受信信号に、キャリア除去用信号発生部22により発生されたキャリア除去用信号が乗算部21で乗算されることで、受信信号が復調される。復調された受信コード信号は、相関演算回路部23において、CAコードのチップ周期の1/n(nは2以上の整数)チップ間隔でサンプリングされる。また、レプリカコード信号発生部24により発生されたレプリカコード信号はCAコードのチップ周期である1チップ間隔でサンプリングされる。
【0124】
つまり、CAコードのチップ周期の到来タイミングを1/nチップずつずらした第1〜第nの到来タイミングでの受信コード信号の値が得られる。また、チップ周期でのレプリカコード信号が得られる。そして、第1〜第nの到来タイミングでの受信コード信号の値それぞれと、チップ周期でのレプリカコード信号の値とが相関器231において相関演算され、その相関演算の結果が切替器233において合成されることで、1/nチップ間隔での相関演算結果が得られる。
【0125】
この結果、受信コード信号及びレプリカコード信号それぞれを1/nチップ間隔でサンプリングし、更に全位相について総当たりで相関演算を行う場合と比べて、演算量を大幅に減少させることができる。また、本実施形態の手法では、従来のようにレプリカコード信号を1/nチップ間隔でサンプリングする必要がない。つまり、レプリカコード信号のサンプリング間隔を長くすることができるため、従来よりもサンプリング信号が低周波で済む。そのため、演算量の削減はもとより、サンプリングに係る消費電力の削減を実現することができる。
【0126】
勿論、相関演算回路部23により演算された相関演算結果を用いて受信コード信号のコード位相を検出することで、GPS衛星信号を正確且つ確実に捕捉することができることは言うまでもない。
【0127】
[第2実施例]
第2実施例は、第1実施例で説明した第1方式の相関演算回路とは異なり、相関器の内部にサンプリング値の乗算結果を積算・蓄積しておき、所定のタイミングで値を取り出して相関演算を行う処理方式の相関演算回路の実施例である。本明細書では、当該処理方式のことを「第2方式」と称する。
【0128】
図14及び図15は、第2方式の相関演算回路の回路構成の一例を示すブロック図である。図14は、n=2の場合の相関演算回路部23Bの回路構成の一例であり、図15は、n=Nの場合の相関演算回路部23Bの回路構成の一例である。
【0129】
n=2の場合について、図14の相関演算回路部23Bは、相関演算部としての複数の相関器235(第0相関器235−0,第1相関器235−1,第2相関器235−2,第3相関器235−3,・・・)と、合成部としての複数の加算器237(第0加算器237−0,第1加算器237−1,第2加算器237−2,第3加算器237−3,・・・)とを備えて構成される。
【0130】
各相関器235は、乗算器235Aとレジスタ235Bとを有する。乗算器235Aは、イネーブル信号に従って受信コード信号及びレプリカコード信号をサンプリングして乗算する。レジスタ235Bは、乗算器235Aの乗算結果を積算・蓄積する記憶回路である。具体的には、各乗算タイミングにおける乗算器235Aの乗算結果がレジスタ235Bにおいて累積的に加算されていく。
【0131】
偶数番の相関器235−2mには、チップ周期(=1チップ間隔)の第1イネーブル信号が入力される。同様に、奇数番の相関器235−(2m+1)にも、チップ周期(=1チップ間隔)の第2イネーブル信号が入力される。但し、第2イネーブル信号は、第1イネーブル信号よりも時間的に「T=1/2チップ」だけずれて遅延している。
【0132】
偶数番の相関器235−2mでは、第1イネーブル信号に従ってチップ周期でのサンプリング及び乗算がなされ、乗算結果がレジスタ235Bに積算・蓄積される。また、奇数番の相関器235−(2m+1)では、第2イネーブル信号に従ってチップ周期でのサンプリング及び乗算がなされ、乗算結果がレジスタ235Bに積算・蓄積される。第1イネーブル信号と第2イネーブル信号とは時間的に1/2チップずれている。そのため、隣接する2つの相関器235の組(相関演算組)により、チップ周期の到来タイミングを1/2チップずつずらした第1及び第2の到来タイミングでの受信コード信号の値それぞれと、チップ周期でのレプリカコード信号のサンプリング値とが相関演算される。
【0133】
各加算器237には、コード周期(=1023チップ間隔)の加算イネーブル信号が入力される。各加算器237は、加算イネーブル信号に従ったコード周期のタイミングで、隣接する相関器235の相関演算結果を取り出す。つまり、各相関器235のレジスタ235Bに蓄積された1023チップ分の乗算結果の合算値を読み出す。そして、隣接する2つの相関器235から取り出した合算値を加算して、1/2チップ間隔での相関演算結果として処理部25に出力する。
【0134】
n=Nの場合の相関演算回路部23Bの動作も同様である。すなわち、図15の相関演算回路部23Bでは、連続するN個の相関器235によって一組の相関演算組が構成される。具体的には、第0相関器235−0〜第N−1相関器235−(N−1)のN個の相関器235によって第0相関演算組が構成される。そして、各相関器235のレジスタ235Bに積算・蓄積された相関演算結果が第0加算器237−0に出力される。同様に、第1相関器235−1〜第N相関器235−NのN個の相関器235によって第1相関演算組が構成され、各相関器235のレジスタ235Bに積算・蓄積された相関演算結果が第1加算器237−1に出力される。
【0135】
各相関演算組のN個の相関器235には、時間的に「T=1/Nチップ」ずつ遅延されたチップ周期の第1イネーブル信号〜第Nイネーブル信号が入力される。また、各加算器237には、コード周期の加算イネーブル信号が入力される。これにより、各相関演算組のN個の相関器235は、1/Nチップずつずらしたタイミングで受信コード信号とレプリカコード信号とを相関演算する。そして、加算器237は、各相関器235のレジスタ235Bに蓄積された1023チップ分の乗算結果の合算値を読み出し、それらの合算値を加算して、1/Nチップ間隔での相関演算結果として処理部25に出力する。
【0136】
3.変形例
3−1.電子機器
上述した実施例では、電子機器の一種である携帯型電話機に本発明を適用した場合を例に挙げて説明したが、本発明を適用可能な電子機器はこれに限られるわけではない。例えば、カーナビゲーション装置や携帯型ナビゲーション装置、パソコン、PDA(Personal Digital Assistant)、腕時計といった他の電子機器についても同様に適用することが可能である。
【0137】
3−2.位置算出システム
また、上述した実施形態では、位置算出システムとしてGPSを例に挙げて説明したが、WAAS(Wide Area Augmentation System)、QZSS(Quasi Zenith Satellite System)、GLONASS(GLObal NAvigation Satellite System)、GALILEO等の他の衛星測位システムを利用した位置算出システムであってもよい。
【0138】
3−3.相関演算
上述した実施形態では、受信コード信号とレプリカコード信号との相関演算を、相関演算回路においてハードウェア的に行うものとして説明したが、処理部25がデジタル信号処理によってソフトウェア的に行うこととしてもよい。
【0139】
この場合は、受信コード信号のサンプリング値のデータと、レプリカコード信号のサンプリング値のデータとを記憶部27に蓄積的に記憶させる。そして、予め蓄積記憶させておいたサンプリング値のデータを用いて、原理で説明した相関演算手法に従って、受信コード信号とレプリカコード信号との相関演算処理をソフトウェア的に行えばよい。
【0140】
3−4.相関演算回路
原理説明において、レプリカコード信号の奇数次のサンプリング値の時系列データと偶数次のサンプリング値の時系列データとのうちの任意の1つの時系列データと、受信コード信号のサンプリング値の時系列データとを相関演算しても、同様の結果が得られることを説明した。そのため、上記実施例の相関演算回路部23を以下のように構成することも可能である。
【0141】
例えば、「n=2」の場合の図5の相関演算回路部23の回路構成において、レプリカコード信号が第0相関器231−0と初段の遅延回路DCとに分岐する分岐点の前段に、レプリカコード信号を「T=1/2チップ」だけ遅延させる遅延回路DCを設けることとしてもよい。この場合は、遅延量「T」のレプリカコード信号が第0相関器231−0に入力され、遅延量「2T」のレプリカコード信号が第1相関器231−1に入力され、遅延量「3T」のレプリカコード信号が第2相関器231−2に入力され、・・・、遅延量「(m+1)T」のレプリカコード信号が第m相関器231−mに入力される。これは、図1(C)に示した乗算項の組合せで相関演算を行うことに相当し、相関演算回路部23は、図7に示したタイミングチャートに従って動作する。
【符号の説明】
【0142】
1 携帯型電話機、 10 GPS受信部、 11 RF受信回路部、 20 ベースバンド処理回路部、 21 乗算部、 22 キャリア除去用信号発生部、 23 相関演算回路部、 24 レプリカコード信号発生部、 25 処理部、 27 記憶部、 30 ホストCPU、 40 操作部、 50 表示部、 60 携帯電話用アンテナ、 70 携帯電話用無線通信回路部、 80 記憶部、 231 相関器、 233 切替器、 235 相関器、 235A 乗算器、 235B レジスタ、 237 加算器、 DC 遅延回路、 EX EXOR回路
【特許請求の範囲】
【請求項1】
測位用衛星信号を受信した受信信号を復調して得られた受信コード信号と、レプリカコード信号とを相関演算する方法であって、
チップ周期の到来タイミングを1/n(nは2以上の整数)チップずつずらした第1〜第nの到来タイミングでの前記受信コード信号の値それぞれと、チップ周期での前記レプリカコード信号の値とを相関演算することと、
前記相関演算の結果を合成することで、1/nチップ間隔での相関演算結果を得ることと、
を含む相関演算方法。
【請求項2】
請求項1に記載の相関演算方法を実行することにより得られた相関演算結果を用いて、前記測位用衛星信号を捕捉する衛星信号捕捉方法。
【請求項3】
測位用衛星信号を受信した受信信号を復調して得られた受信コード信号と、レプリカコード信号とを相関演算する相関演算回路であって、
チップ周期の到来タイミングを1/n(nは2以上の整数)チップずつずらした第1〜第nの到来タイミングでの前記受信コード信号の値それぞれと、チップ周期での前記レプリカコード信号の値とを相関演算する相関演算部と、
前記相関演算の結果を合成することで、1/nチップ間隔での相関演算結果を得る合成部と、
を備えた相関演算回路。
【請求項1】
測位用衛星信号を受信した受信信号を復調して得られた受信コード信号と、レプリカコード信号とを相関演算する方法であって、
チップ周期の到来タイミングを1/n(nは2以上の整数)チップずつずらした第1〜第nの到来タイミングでの前記受信コード信号の値それぞれと、チップ周期での前記レプリカコード信号の値とを相関演算することと、
前記相関演算の結果を合成することで、1/nチップ間隔での相関演算結果を得ることと、
を含む相関演算方法。
【請求項2】
請求項1に記載の相関演算方法を実行することにより得られた相関演算結果を用いて、前記測位用衛星信号を捕捉する衛星信号捕捉方法。
【請求項3】
測位用衛星信号を受信した受信信号を復調して得られた受信コード信号と、レプリカコード信号とを相関演算する相関演算回路であって、
チップ周期の到来タイミングを1/n(nは2以上の整数)チップずつずらした第1〜第nの到来タイミングでの前記受信コード信号の値それぞれと、チップ周期での前記レプリカコード信号の値とを相関演算する相関演算部と、
前記相関演算の結果を合成することで、1/nチップ間隔での相関演算結果を得る合成部と、
を備えた相関演算回路。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2011−220998(P2011−220998A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2010−274804(P2010−274804)
【出願日】平成22年12月9日(2010.12.9)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願日】平成22年12月9日(2010.12.9)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]