(57)【特許請求の範囲】
【請求項１】
受信された擬似雑音符号または擬似雑音符号により変調された変調符号の位相をサーチして擬似雑音符号の位相を検出する装置において、
前記擬似雑音符号の推定位相を中心として所定の位相範囲について、定められた位相差毎に位相の異なった複数の擬似雑音符号と、前記擬似雑音符号または前記変調符号との相関値を求める相関手段と、
相対的に前記位相差の大きな段階で、前記相関手段により求められた、前記位相の異なった複数の擬似雑音符号についての相関値のうち、最大の相関値を得た前記相関手段に対応する擬似雑音符号の位相を求め、前記位相差の大きな段階より後の、前記位相差の相対的に小さな段階で、前記擬似雑音符号を生成する際に、最大の相関値を得た前記相関手段に対応する擬似雑音符号の位相付近について前記複数の擬似雑音符号を生成するように、前記位相範囲と前記位相差を定める位相分解能制御手段と、
を備えて成る擬似雑音符号位相検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は擬似雑音符号または擬似雑音符号により変調された変調符号から擬似雑音符号の位相を検出する装置に関するものである。
【０００２】
【従来の技術】
例えばＧＰＳにおいては、受信機が複数の衛星からの電波を受信することによって、複数の衛星から受信機までのそれぞれの距離を計り、これをもとに受信点の測位を行う。
すべてのＧＰＳ衛星からは、測位用として１．５ＧＨｚ（Ｌ１帯）と１．２ＧＨｚ（Ｌ２帯）の２波の電波が連続送信されている。両波とも擬似雑音符号で位相変調されているが、この擬似雑音符号は衛星毎に異なっていて、受信機側で生成する擬似雑音符号を切り換えることによって、選択受信できるように構成されている。
【０００３】
Ｌ１帯の電波はｍ系列の擬似雑音符号を２つ組み合わせて生成されるゴールド符号と呼ばれる擬似雑音符号で位相変調されている。この擬似雑音符号は衛星ごとに異なり、Ｌ１帯における擬似雑音符号はＣ／Ａコードと呼ばれている。ＧＰＳ受信機は、内部で生成するＣ／Ａコードを切り替えることによって、所望の衛星からの電波を分離受信できるように構成されている。以下、Ｃ／Ａコードを擬似雑音符号の一例として説明する。
【０００４】
ＧＰＳにおいては上記Ｃ／Ａコードが一巡するのに要する時間を周期、Ｃ／Ａコードの変化する最小の単位をチップ、一周期の中にあるチップの数をコード長と称している。
【０００５】
Ｃ／Ａコードはｍ系列の擬似雑音符号に準じ、自己相関に関しては以下(1) 〜(3) のような特徴を持つ。
(1) 図１に示すように遅延量（位相差）τが０で相関出力は最大となる。因みに、この相関出力の最大値を１としたときの相関値が相関係数である。
(2) ±１チップ以上ずれると相関出力は得られない。（相関値は殆ど０となる。）
(3) 位相差τ＝０から±１チップの間で、相関出力は、位相のずれ量に比例して直線的に減少する。＋側と−側の減少の割合は等しく、相関関数の形（以下「相関カーブ」という）はピーク位置を中心として左右対称となる。
【０００６】
ところで、ＧＰＳ衛星はその位置が時々刻々変化しており、衛星と受信機間の距離（この距離を「擬似距離」と呼んでいる。）もそれに応じて変化している。したがって衛星信号のキャリア周波数はドップラ周波数を含んでおり、常に一定でない。
【０００７】
ＧＰＳ受信機では、まず衛星信号の帯域において信号が存在するキャリア周波数とコード位相を特定して信号を検出するためのサーチを行い、続いて、検出した信号を擬似距離の変化によって引き起こされる位相のずれのために見失わないように追尾する動作を行っている。
【０００８】
衛星をサーチする際、すなわちＣ／Ａコードの位相をサーチする際には、受信機で発生させる擬似雑音符号の位相（以下、推定コード位相という）をすべての範囲に亘って変化させ、受信した信号との相関をとる。相関が一定のレベル以上あれば推定コード位相から±０．５チップ以内にピークが存在するものと判断する。
【０００９】
ＧＰＳに用いられている擬似雑音符号のコード長は１０２３チップであり、一度に相関をとれる範囲を上記のように推定コード位相±０．５チップとすると、存在する可能性のあるすべての範囲をサーチするには１０２３回推定コード位相を変化させ、都度相関出力をチェックする必要がある。
【００１０】
１回の相関を得るのにｔ秒かかるとすれば、すべての範囲をサーチするには１０２３×ｔ秒が必要である。
【００１１】
サーチにより衛星を検出すると、その後は追尾動作によって、推定コード位相が受信した信号の位相と常に一致するように制御され、相関が最大に維持されるように動作する。
【００１２】
但し、追尾のために、相関値が最大となる位相を直接検出する方法は存在しない。一般には、相関カーブが左右対称である性質を利用し、中心と考えられるＣ／Ａコード位相(PUNCTUAL)に対して一定量進んだＣ／Ａコード(EARLY) と遅れたＣ／Ａコード(LATE)を作り、EARLY 、LATEそれぞれについて受信信号との相関をとり、両者の相関値が等しくなるように、受信機が発生する位相を制御する方法が採られている。位相の進んだＣ／ＡコードEARLY と遅れたＣ／ＡコードLATEの間の位相差を以下「スペーシング」という。
【００１３】
この方法によれば、EARLY 、LATEそれぞれの相関値が等しくなるときの上記２つのＣ／Ａコードの中間の位相が、受信したＣ／Ａコードのコード位相であるものと推定できる。
図２は、推定コード位相の設定に応じて生成されたＣ／Ａコードを０．５チップ進ませてEARLY を、および生成されたＣ／Ａコードを０．５チップ遅らせてLATEを生成し、それぞれについて受信信号との相関値を出力するようにした構成の一例である。
【００１４】
また、図３はEARLY 、LATEの相関値出力を利用して推定コード位相を求める方法の説明図である。推定コード位相が受信信号のコード位相と一致した場合、図３の(a) のようにEARLY とLATEの相関値は等しい。一方、推定コード位相が受信信号のコード位相より進んでいる場合、(b) のようにEARLY の相関出力はLATEの相関出力より小さな値を示す。このような場合は推定コード位相をより遅れる方向に制御すれば受信信号のコード位相に近づくことがわかる。逆に、推定コード位相が受信信号のコード位相より遅れている場合、(c) のようにEARLY の相関出力はLATEの相関出力より大きな値を示すので、推定コード位相をより進む方向に制御すれば受信信号のコード位相に近づくことがわかる。
【００１５】
サーチにより衛星が検出された位相の近傍では、EARLY とLATEの振幅の差（以下、Ｅ−Ｌと呼ぶ）は図５のようになっており、実際の受信機ではＥ−Ｌを推定コード位相の決定に用いるのが一般的である。矢印Ａの区間では相関のピークを得るために位相を制御すべき方向と量をＥ−Ｌの値から知ることができ、この範囲をコード引き込み範囲と呼んでいる。コード引き込み範囲においてはＥ−Ｌ＝０となるように位相を制御すれば相関のピークが求められるのは明らかである。
【００１６】
また、スペーシングは一般に１チップにとられることから、コード引き込み範囲はピークを中心に±０．５チップであり、サーチにより、受信信号のＣ／Ａコードの位相が検出された時点で推定コード位相はコード引き込み範囲に含まれているので、ただちにコード追尾を始めることができる。
【００１７】
【発明が解決しようとする課題】
ところで、ＧＰＳ測位を行う実際の状況においては、ＧＰＳ衛星から送信された電波がアンテナに直接入射する経路だけでなく、何らかの物体に反射してからアンテナに入射する経路（以下この経路を「マルチパス」という。）が存在する。
【００１８】
このようなマルチパスがあると、相関カーブは直接波による相関カーブと反射波による相関カーブを重ね合わせた形となる。図４は直接波よりレベルが６ｄＢ低く、０．５チップ遅れた反射波が直接波と共にアンテナに入った場合の例について示している。このように、相関カーブのピークはマルチパスの有無によらず変化しないが、相関カーブの傾きはマルチパスの影響がある場合、ピークの前後で異なり、相関カーブが左右対称でなくなる。したがってEARLY と LATE の相関値出力が等しい位置を求めると、図４のように、その中央はピーク位置からずれた位置として検出されてしまう。
【００１９】
この誤差は、スペーシングを狭めるほどスペーシングに反比例して小さくなることが知られている。
【００２０】
ところが、例えば、スペーシングを０．１チップにした場合、Ｅ−Ｌのカーブは図６のようになる。これによればコード引き込み範囲は０．１チップしかない。したがってサーチにおいて一度に相関をとれる範囲を±０．５チップにとってあると、信号の存在を検出しても推定コード位相がコード引き込み範囲の外にある可能性が高い。この場合、Ｅ−Ｌ＝０にするために必要な位相の制御量と方向を知ることができず、追尾動作に移行するのに時間がかかったり、信号を見失ったりするおそれがある。
【００２１】
一方、サーチ幅をコード引き込み範囲と同じく０．１チップにとってあると、信号の存在を検出してすぐに追尾を始められるが、すべてのコード位相の範囲をサーチするのに１０倍の時間がかかり、信号の捕捉までに長時間を要することになる。
【００２２】
この発明は上記の問題を解決するためになされたものであり、マルチパスの影響を低減しつつ、推定コード位相の検出を短時間にできる擬似雑音符号位相検出装置を提供することを目的とする。
【００２３】
【課題を解決するための手段】
この発明は、受信された擬似雑音符号または擬似雑音符号により変調された変調符号の位相をサーチして擬似雑音符号の位相を検出する装置において、
前記擬似雑音符号の推定位相を中心として所定の位相範囲について、定められた位相差毎に位相の異なった複数の擬似雑音符号と、前記擬似雑音符号または前記変調符号との相関値を求める相関手段と、
相対的に前記位相差の大きな段階で、前記相関手段により求められた、前記位相の異なった複数の擬似雑音符号についての相関値のうち、最大の相関値を得た前記相関手段に対応する擬似雑音符号の位相を求め、前記位相差の大きな段階より後の、前記位相差の相対的に小さな段階で、前記擬似雑音符号を生成する際に、最大の相関値を得た前記相関手段に対応する擬似雑音符号の位相付近について前記複数の擬似雑音符号を生成するように、前記位相範囲と前記位相差を定める位相分解能制御手段と、
を備える。
【００２４】
例えば、サーチ時の位相分解能を１チップとして受信信号と複数個の擬似雑音符号との相関を同時にとり、相関を検出した場合にはその最大の相関を得た擬似雑音符号の位相を中心に幅１チップの範囲内に擬似雑音符号の位相が存在することがわかる。相関が得られなかった場合には、擬似雑音符号の推定位相をずらせて再度相関が得られるか否かを調べる。
【００２５】
ここで、複数の相関器を例えばｎ個を有し、これらが互いに１チップずつ位相差を持つ擬似雑音符号との相関を求められるように構成すれば、サーチにおいてずらせる量はｎチップになる。したがって、全コード位相すべてにわたって相関の有無を判断するのに要する時間は単一の相関器でサーチを行うときの１／ｎに短縮され、性能を落とすことなく、高速なサーチが可能になる。
【００２６】
相関が得られた場合、擬似雑音符号の位相は最大の相関が得られた位相を中心にして１チップの範囲内にあるとすることができる。しかし、この状態で、マルチパスの影響を低減するためにEARLY,LATEのスペーシングを例えば０．１チップに狭めてコード位相誤差（前記Ｅ−Ｌの値）を検出するとともに、擬似雑音符号の位相を追尾したとしても、擬似雑音符号の推定位相がコード引き込み範囲に入っていない可能性があり、直ちに追尾を行うことができない。
【００２７】
そこで、例えば位相差を０．１チップとして設定したｎ個の相関器によって受信信号と相関をとることにより、最大の相関を得るコード位相を０．１チップの分解能で求める。これにより、擬似雑音符号の推定位相を前記コード引き込み範囲に含めることができる。したがって、その後、EARLY,LATEのスペーシングを１チップ未満に設定してコード位相誤差を検出するとともに擬似雑音符号の位相を正常に追尾することができるようになる。
【００２８】
【発明の実施の形態】
この発明の実施形態に係るＧＰＳ受信機におけるＣ／Ａコード位相検出装置の構成を図９および図１０を参照して説明する。
図９はＣ／Ａコード位相検出装置の構成を示すブロック図である。図９においてＣ／Ａコード発生器１は信号検出制御部２から指定されるＣ／Ａコードの種類（衛星番号）とその位相の設定データ（推定コード位相）に応じてＣ／Ａコードを発生する。
【００２９】
シフトレジスタ３は、信号検出制御部から与えられる遅延時間間隔設定データによって選択されたクロックに応じて、Ｃ／Ａコード発生器１から出力されるＣ／Ａコードを順次シフトしていく。
【００３０】
相関器＃１〜＃１０（４−１〜４−１０）はそれぞれシフトレジスタ３の所定の出力段から出力されるＣ／Ａコードと受信データであるＩ相データとＱ相データとのそれぞれの相関を求めて、相関データを信号検出制御部２へ与える。
【００３１】
信号検出制御部２は、各相関器から出力された相関出力から相関の有無を判定し、その結果に応じてＣ／Ａコード発生器１に対して、衛星番号、推定コード位相を与える。またシフトレジスタ３に対して遅延時間間隔設定データを与える。
まずＣ／Ａコードの概略位相を検出する段階では、信号検出制御部２は、シフトレジスタ３の遅延時間間隔が１チップになるように設定し、シフトレジスタ３の各段から出力されるＣ／Ａコード位相が１チップずつの位相差を持つように設定する。これにより相関器＃１〜＃１０の出力には１チップずつ異なった位相を持つＣ／Ａコードと受信データとの相関を同時に得る。
【００３２】
図７は、シフトレジスタ３に与えられるクロックを１チップ周期にした場合、推定コード位相に対する受信信号の位相遅れに対して、各相関出力を示すものである。コード位相遅れが０±０．５チップであれば、すべての相関出力の中で相関出力＃１が最大となり、コード位相遅れが１±０．５チップであれば、相関出力＃２が最大となる。以下同様に、コード位相遅れが９±０．５チップのときは、相関出力＃１０が最大となる。したがって、逆に、相関出力が最大となる相関器を検知することにより、受信信号の位相を±０．５チップの範囲内（分解能）で求める。
【００３３】
図８はシフトレジスタに与えられるクロックを０．１チップ周期にした場合、推定コード位相に対する受信信号の位相遅れに対して、各相関出力を示すものである。コード位相遅れが０．０±０．０５チップであれば、すべての相関出力の中で相関出力＃１が最大となり、コード位相遅れが０．１±０．０５チップのときは相関出力＃２が最大となる。以下同様に、コード位相遅れが０．９±０．０５チップのときは相関出力＃１０が最大となる。したがって、逆に、相関出力が最大となる相関器を検知することにより、受信信号の位相を±０．０５チップの範囲内（分解能）で求める。
【００３４】
図１０は上記信号検出制御部２の処理手順を示すフローチャートである。まずＣ／Ａコード発生器１に対して、どのＣ／Ａコードを発生すべきかを示すデータ（衛星番号）を設定し（ｓ１）、最初は概略位相を検出するため、シフトレジスタのクロックを１チップ周期に設定する（ｓ２）。その後、Ｃ／Ａコード発生器１に対して、発生すべきＣ／Ａコードの位相の初期設定を行う（ｓ３）。これによりＣ／Ａコード発生器１は、その位相からＣ／Ａコードの発生を開始する。その後、相関器＃１〜＃１０から相関データが出力されるのを待って、各相関器の出力から最大の相関データを出力する相関器を検出する（ｓ４）。もし相関器＃１〜＃１０のいずれの相関器から出力される相関データも所定値より低ければ、Ｃ／Ａコード位相を切り替える（ｓ５→ｓ６→ｓ７）。すなわちＣ／Ａコード発生器１に対して、位相が現在より１０チップ分進んだＣ／Ａコードを発生するようにＣ／Ａコード位相設定データを与える。上記ｓ４〜ｓ７の処理を繰り返すことによって、１０チップ単位で並行して１０個の相関器を用いて、相関カーブがピークを示す概略位相を検出する。相関器＃１〜＃１０の出力からピークを検出すれば、シフトレジスタのクロックを０．１チップ周期に設定する（ｓ８）。またＣ／Ａコード発生器１に対して、発生すべきＣ／Ａコードの位相が、上記１チップ分解能の概略位相を中心として、１チップ範囲に亘ってＣ／Ａコードが発生されるように、Ｃ／Ａコード位相設定データを設定する（ｓ９）。その後、相関器＃１〜＃１０の出力から相関データの最も大きな値を検出する（ｓ１０）。これにより０．１チップ単位で受信データに含まれるＣ／Ａコードの位相を検出する。
【００３５】
なお、概略位相を検出するモードで、Ｃ／Ａコードの１周期分（１０２３チップ）について順次相関データを求め、これを所定回繰り返しても、ピークが現れなければ、そのＣ／Ａコードについての位相検出はできなかったもの見なして、次にＣ／Ａコードの切り替えを行い、以降そのＣ／Ａコードについて同様の処理を行う（ｓ６→ｓ１１→ｓ３→．．．）。
【００３６】
このようにしてＣ／Ａコードの位相を０．１チップの分解能で検出した後は、０．１チップのスペーシングで位相の進んだ相関と位相の遅れた相関との差（Ｅ−Ｌ）を求め、発生するＣ／Ａコードの位相をわずかずつ変化させて、その（Ｅ−Ｌ）の値が０となる位相を検出することにより、ＣＡコード位相の追尾を行うことになる。
【００３７】
次に第２の実施形態に係るＣ／Ａコード位相検出装置の構成を図１１を参照して説明する。
このＣ／Ａコード位相検出装置は、相関処理をパイプライン化して、１つの積算器と１つの加算器を時分割的に用いて、実質上所定の位相だけ順次ずれた複数のＣ／Ａコードとの相関データを求めるものである。図１１においてＣ／Ａコード発生器１、シフトレジスタ３の構成は図９に示したものと同様である。ラッチ回路５は受信データをサンプリング間隔でラッチする。マルチプレクサ４はシフトレジスタ３の各段から出力される信号を順次サンプリング間隔で切り替えて積算器６へ与える。積算器６はマルチプレクサ４の出力信号とラッチ回路５にラッチされたデータとの積算を行う。例えばラッチ回路５の出力データは２ビットであれば、＋３，＋１，−１，−３の４値を採り、マルチプレクサの出力データは１ビットであって、−１，＋１の値を採る。
【００３８】
図１１において８はパイプライン化したラッチ回路（以下「パイプライン化ラッチ回路」という。）であり、シフトレジスタ３の出力段数に応じた段数を備えている。このパイプライン化ラッチ回路８の最終段の出力は加算器７の一方の入力に与えられる。加算器７は積算器６の出力値とパイプライン化ラッチ回路８の最終段の出力値とを加算してパイプライン化ラッチ回路８の初段へ与える。パイプライン化ラッチ回路８のシフトタイミングおよび加算器７の加算タイミングはマルチプレクサ４の入力切り替えのタイミングに同期している。たとえば概略位相検出モードでは、１チップ分の時間でパイプライン化ラッチ回路８のデータを一巡させ、詳細位相検出モードでは、０．１チップ分の時間でパイプライン化ラッチ回路８のデータを一巡させる。
【００３９】
したがって、積算器６と加算器７による積和を所定時間繰り返すことによって、パイプライン化ラッチ回路８の各段にはシフトレジスタ３の各段から出力されるＣ／Ａコードと受信データとの相関データが求まることになる。信号検出制御部２は、Ｃ／Ａコードの１周期である１ｍｓ経過後、パイプライン化ラッチ回路８からすべての相関データを読み出し、パイプライン化ラッチ回路８の各段の値をクリアする。
【００４０】
信号検出制御部２はパイプライン化ラッチ回路８からシリアルに出力される各相関データからピークを示すＣ／Ａコードの概略位相を求め、次にその位相範囲についてシフトレジスタ３の遅延時間間隔および発生するＣ／Ａコードの位相を制御する。この信号検出制御部２、Ｃ／Ａコード発生器１およびシフトレジスタ３の動作は第１の実施形態で示したものと同様である。この構成によれば、単一の積算器と単一の加算器を時分割して用いるため、ハードウェアの規模が縮小化される。
【００４１】
なお、実施形態では概略位相検出モードと詳細位相検出モード、という２つのモードで、２段階にＣ／Ａコードの位相を絞り込んで検出するようにしたが、これをさらに３段階以上で擬似雑音符号の位相を順次絞り込んで検出するようにしてもよい。
【００４２】
【発明の効果】
この発明によれば、まず擬似雑音符号の位相分解能が１チップで位相差が１チップずつであるような複数個（ｎ個）の擬似雑音符号と受信信号との相関をそれぞれ求められるｎ個の相関器を並べて、ｎチップ分の範囲を並行してサーチできるので、サーチに要する時間が短縮できる。
【００４３】
さらに、上記の過程で検出された位相の範囲において、位相分解能が０．１チップで位相差が０．１チップずつであるようにしたｎ個の擬似雑音符号の受信信号との相関をそれぞれ求められるｎ個の相関器を並べて、相関データのピークを０．１チップの分解能で求めることにより、スペーシングが０．１チップであるようにして、位相誤差が小さくなるように位相を追尾するループにおいて、擬似雑音符号の位相追尾をただちに開始することができる。結果的に、マルチパスの影響を軽減するためにＥ−Ｌのスペーシングを狭くするように構成した受信機の衛星のサーチ開始から追尾に至るまでの時間を短縮することができる。
【図面の簡単な説明】
【図１】ＧＰＳにおけるＣ／Ａコードの自己相関を求める例と、その結果を示す図
【図２】擬似雑音符号の位相追尾のための相関値を求める構成を示す図
【図３】受信信号と位相の異なった２つの擬似雑音符号との相関値と、推定コード位相との関係を示す図
【図４】マルチパスによる影響を受けた相関カーブの例を示す図
【図５】スペーシングを設けた２つのＣ／Ａコードによる相関カーブとその差の特性を示す図
【図６】微少なスペーシングを設けた２つのＣ／Ａコードによる相関カーブとその差の特性を示す図
【図７】シフトレジスタ３に与えられるクロックを１チップ周期にした場合の、推定コード位相に対する受信信号の位相遅れに対しての各相関出力を示す図
【図８】シフトレジスタ３に与えられるクロックを０．１チップ周期にした場合の、推定コード位相に対する受信信号の位相遅れに対しての各相関出力を示す図
【図９】第１の実施形態に係るＣ／Ａコード位相検出装置のブロック図
【図１０】同装置の信号検出制御部の処理手順を示すフローチャート
【図１１】第２の実施形態に係るＣ／Ａコード位相検出装置のブロック図
【符号の説明】
７−加算器
８−パイプライン化ラッチ回路
【図１】
0004149079.tif 000002
【図２】
0004149079.tif 000003
【図３】
0004149079.tif 000004
【図４】
0004149079.tif 000005
【図５】
0004149079.tif 000006
【図６】
0004149079.tif 000007
【図７】
0004149079.tif 000008
【図８】
0004149079.tif 000009
【図９】
0004149079.tif 000010
【図１０】
0004149079.tif 000011
【図１１】
0004149079.tif 000012