(57)【特許請求の範囲】
【請求項１】
拡散符号でデータをスペクトラム拡散した信号により搬送波が変調されている受信信号を高速フーリエ変換して第１のメモリに書き込む工程と、
前記第１のメモリに書き込まれた前記受信信号の高速フーリエ変換結果と、第２のメモリに書き込まれている拡散符号の高速フーリエ変換結果とを、それぞれ読み出して乗算することにより、前記受信信号と前記拡散符号の相関を検出する工程であって、前記受信信号の高速フーリエ変換結果または前記拡散符号の高速フーリエ変換結果のいずれか一方については、前記受信信号の搬送波周波数に応じた分だけ読み出しアドレスをシフトして前記第１のメモリまたは前記第２のメモリから読み出して、前記受信信号の搬送波成分を除去するようにする工程と、
前記乗算の結果を逆高速フーリエ変換して、前記受信信号と前記拡散符号との相関点を検出する工程と、
を備えることを特徴とするスペクトラム拡散信号復調方法。
【請求項２】
請求項１に記載のスペクトラム拡散信号復調方法において、
前記受信信号の高速フーリエ変換および前記拡散符号の高速フーリエ変換は、前記拡散符号のＭ周期（Ｍは２以上の２のべき乗）を単位として行う
ことを特徴とするスペクトラム拡散信号復調方法。
【請求項３】
拡散符号でデータをスペクトラム拡散した信号により搬送波が変調されている受信信号を高速フーリエ変換して第１のメモリに書き込む工程と、
前記第１のメモリから読み出された前記受信信号の高速フーリエ変換結果と、第２のメモリから読み出された拡散符号の高速フーリエ変換結果とを乗算する工程と、
前記乗算の結果を逆高速フーリエ変換して、前記受信信号と前記拡散符号との相関検出出力を得る工程と、
前記相関検出出力に基づいて、前記受信信号の高速フーリエ変換結果または前記拡散符号の高速フーリエ変換結果のいずれか一方の前記第１のメモリまたは前記第２のメモリからの読み出しアドレスをシフト制御しながら、前記相関のピークを判別して、前記受信信号と前記拡散符号との相関点を検出する工程と、
を備え、
前記受信信号の高速フーリエ変換および前記拡散符号の高速フーリエ変換は、前記拡散符号のＭ周期（Ｍは２以上の２のべき乗）を単位として行う
ことを特徴とするスペクトラム拡散信号復調方法。
【請求項４】
請求項３に記載のスペクトラム拡散信号復調方法において、
前記受信信号の高速フーリエ変換は、その全周波数成分を一括して計算せず、高速フーリエ変換の計算構造として、同じ計算構造となる単位で、Ｌ回（Ｌは２以上の整数）に分けて、前記受信信号の１／Ｌずつの高速フーリエ変換を行うことを特徴とするスペクトラム拡散信号復調方法。
【請求項５】
拡散符号でデータをスペクトラム拡散した信号により搬送波が変調されている受信信号を高速フーリエ変換する高速フーリエ変換手段と、
前記高速フーリエ変換手段からの前記受信信号の高速フーリエ変換結果が書き込まれる第１のメモリと、
前記受信信号で使用される前記拡散符号の高速フーリエ変換結果が書き込まれている第２のメモリと、
前記第１のメモリから読み出された前記受信信号の高速フーリエ変換結果と、前記第２のメモリから読み出された前記拡散符号の高速フーリエ変換結果とを乗算する乗算手段と、
前記受信信号の高速フーリエ変換結果または前記拡散符号の高速フーリエ変換結果のいずれか一方については、前記受信信号の搬送波周波数に応じた分だけ読み出しアドレスをシフトして、前記第１のメモリまたは前記第２のメモリから読み出して、前記受信信号の搬送波成分を除去するようにするメモリ制御手段と、
前記乗算手段からの前記乗算の結果を逆高速フーリエ変換して、前記受信信号と前記拡散符号との相関検出出力を得る逆高速フーリエ変換手段と、
前記逆高速フーリエ変換手段からの前記相関検出出力に基づいて前記受信信号と前記拡散符号との相関のピークを検索して、前記受信信号と前記拡散符号との相関点を検出する手段と、
を備えることを特徴とするスペクトラム拡散信号復調装置。
【請求項６】
請求項５に記載のスペクトラム拡散信号復調装置において、
前記受信信号の高速フーリエ変換および前記拡散符号の高速フーリエ変換は、前記拡散符号のＭ周期（Ｍは２以上の２のべき乗）を単位として行う
ことを特徴とするスペクトラム拡散信号復調装置。
【請求項７】
拡散符号でデータをスペクトラム拡散した信号により搬送波が変調されている受信信号を高速フーリエ変換する高速フーリエ変換手段と、
前記高速フーリエ変換手段からの前記受信信号の高速フーリエ変換結果が書き込まれる第１のメモリと、
前記受信信号で使用される前記拡散符号の高速フーリエ変換結果が書き込まれている第２のメモリと、
前記第１のメモリから読み出された前記受信信号の高速フーリエ変換結果と、前記第２のメモリから読み出された前記拡散符号の高速フーリエ変換結果とを乗算する乗算手段と、
前記乗算手段からの前記乗算の結果を逆高速フーリエ変換して、前記受信信号と前記拡散符号との相関検出出力を得る逆高速フーリエ変換手段と、
前記逆高速フーリエ変換手段からの前記相関検出出力に基づいて、前記受信信号の高速フーリエ変換結果または前記拡散符号の高速フーリエ変換結果のいずれか一方の前記第１のメモリまたは前記第２のメモリからの読み出しアドレスをシフト制御しながら、前記相関のピークを判別して、前記受信信号と前記拡散符号との相関点を検出する手段と、
を備え、
前記受信信号の高速フーリエ変換および前記拡散符号の高速フーリエ変換は、前記拡散符号のＭ周期（Ｍは２以上の２のべき乗）を単位として行う
ことを特徴とするスペクトラム拡散信号復調装置。
【請求項８】
請求項６または請求項７に記載のスペクトラム拡散信号復調装置において、
前記受信信号の高速フーリエ変換は、高速フーリエ変換の計算構造として、同じ計算構造となる単位で、Ｌ回（Ｌは２以上の整数）に分けて、前記受信信号の１／Ｌずつの高速フーリエ変換を行うことを特徴とするスペクトラム拡散信号復調装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えばＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）衛星信号などのスペクトラム拡散信号の復調方法および装置に関する。
【０００２】
【従来の技術】
人工衛星（ＧＰＳ衛星）を利用して移動体の位置を測定するＧＰＳシステムにおいて、ＧＳＰ受信機は、４個以上のＧＰＳ衛星からの信号を受信し、その受信信号から受信機の位置を計算し、ユーザに知らせることが基本機能である。
【０００３】
ＧＰＳ受信機は、ＧＰＳ衛星からの信号を復調してＧＰＳ衛星の軌道データを獲得し、ＧＰＳ衛星の軌道および時間情報と受信信号の遅延時間から、自受信機の３次元位置を連立方程式により導き出す。受信信号を得るＧＰＳ衛星が４個必要となるのは、ＧＰＳ受信機内部の時間と衛星の時間とで誤差があり、その誤差の影響を除去するためである。
【０００４】
民生用ＧＰＳ受信機の場合には、ＧＰＳ衛星（Ｎａｖｓｔａｒ）からのＬ１帯、Ｃ／Ａ（Ｃｌｅａｒ  ａｎｄ  Ａｑｕｉｓｉｔｉｏｎ）コードと呼ばれるスペクトラム拡散信号電波を受信して、測位演算を行う。
【０００５】
Ｃ／Ａコードは、送信信号速度（チップレート）が１．０２３ＭＨｚ、符号長が１０２３のＰＮ（Ｐｓｅｕｄｏｒａｎｄｏｍ  Ｎｏｉｓｅ；擬似ランダム雑音）系列の符号、例えばＧｏｌｄ符号で、５０ｂｐｓのデータを拡散した信号により、周波数が１５７５．４２ＭＨｚの搬送波（以下、キャリアという）をＢＰＳＫ（Ｂｉｎａｒｙ  Ｐｈａｓｅ  Ｓｈｉｆｔ  Ｋｅｙｉｎｇ）変調した信号である。この場合、符号長が１０２３であるので、Ｃ／Ａコードは、ＰＮ系列の符号が、図２１（Ａ）に示すように、１０２３チップを１周期（したがって、１周期＝１ミリ秒）として、繰り返すものとなっている。
【０００６】
このＣ／ＡコードのＰＮ系列の符号は、ＧＰＳ衛星ごとに異なっているが、どのＧＰＳ衛星が、どのＰＮ系列の符号を用いているかは、予めＧＰＳ受信機で検知できるようにされている。また、後述するような航法メッセージによって、ＧＰＳ受信機では、どのＧＰＳ衛星からの信号を、その地点およびその時点で受信できるかが判るようになっている。したがって、ＧＰＳ受信機では、例えば３次元測位であれば、その地点およびその時点で取得できる４個以上のＧＰＳ衛星からの電波を受信して、スペクトラム逆拡散し、測位演算を行って、自分の位置を求めるようにする。
【０００７】
そして、図２１（Ｂ）に示すように、衛星信号データの１ビットは、ＰＮ系列の符号の２０周期分、つまり、２０ミリ秒単位として伝送される。つまり、データ伝送速度は、５０ｂｐｓである。ＰＮ系列の符号の１周期分の１０２３チップは、ビットが“１”のときと、“０”のときとでは、反転したものとなる。
【０００８】
図２１（Ｃ）に示すように、ＧＰＳでは、３０ビット（６００ミリ秒）で１ワードが形成される。そして、図２１（Ｄ）に示すように、１０ワードで、１サブフレーム（６秒）が形成される。図２１（Ｅ）に示すように、１サブフレームの先頭のワードには、データが更新されたときであっても常に規定のビットパターンとされるプリアンブルが挿入され、このプリアンブルの後にデータが伝送されてくる。
【０００９】
さらに、５サブフレームで、１フレーム（３０秒）が形成される。そして、航法メッセージは、この１フレームのデータ単位で伝送されてくる。この１フレームのデータのうちの始めの３個のサブフレームは、エフェメリス情報と呼ばれる衛星固有の情報である。このエフェメリス情報は、１メインフレーム単位（３０秒）で繰り返し送られるものであり、その情報を送信してくる衛星の軌道を求めるためのパラメータと、衛星からの信号の送出時刻とを含む。
【００１０】
ＧＰＳ衛星のすべては、原子時計を備え、共通の時刻情報を用いており、ＧＰＳ衛星からの信号の送出時刻は、原子時計に同期したものとされている。上記の２つの時刻データを受信することにより絶対時刻を求める。６秒以下の値は、衛星の電波に同期ロックする過程で、そのＧＰＳ受信機が備える基準発振器の精度で、衛星の時刻に同期するようにする。
【００１１】
また、各ＧＰＳ衛星のＰＮ系列の符号は、原子時計に同期したものとして生成される。また、このエフェメリス情報から、ＧＰＳ受信機における測位計算の際に用いられる衛星の位置および衛星の速度が求められる。
【００１２】
エフェメリス情報は、地上の管制局からの制御により比較的頻繁に更新される精度の高い暦である。ＧＰＳ受信機では、このエフェメリス情報をメモリに保持しておくことにより、当該エフェメリス情報を測位計算に使用することができる。しかし、その精度上、使用可能な寿命は、通常、２時間程度とされており、ＧＰＳ受信機では、エフェメリス情報をメモリに記憶した時点からの時間経過を監視して、その寿命を超えたときには、メモリのエフェメリス情報を更新して書き換えるようにしている。
【００１３】
１フレームのデータの残りの２サブフレームの航法メッセージは、アルマナック情報と呼ばれる全ての衛星から共通に送信される情報である。このアルマナック情報は、全情報を取得するために２５フレーム分必要となるもので、各ＧＰＳ衛星のおおよその位置情報や、どのＧＰＳ衛星が使用可能かを示す情報などからなる。
【００１４】
このアルマナック情報も、地上の制御局からの制御により数日ごとに更新される。このアルマナック情報も、これをＧＰＳ受信機のメモリに保持して使用することができるが、その寿命は、数か月とされており、通常は、数ヶ月毎に、メモリのアルマナック情報は、ＧＰＳ衛星から取得した新しい情報に更新される。ＧＰＳ受信機のメモリに、このアルマナック情報を蓄えておけば、電源投入後、どのチャンネルにどの衛星を割り当てればよいかを計算することができる。
【００１５】
ＧＰＳ受信機で、ＧＰＳ衛星信号を受信して、上述のデータを得るためには、まず、キャリアを除去した後、ＧＰＳ受信機に用意される受信しようとするＧＰＳ衛星で用いられているＣ／Ａコードと同じＰＮ系列の符号（以下、ＰＮ系列の符号をＰＮ符号という）を用いて、そのＧＰＳ衛星からの信号について、Ｃ／Ａコードの位相同期を取ることによりＧＰＳ衛星からの信号を捕捉し、スペクトラム逆拡散を行う。Ｃ／Ａコードとの位相同期が取れて、逆拡散が行われると、ビットが検出されて、ＧＰＳ衛星からの信号から時刻情報等を含む航法メッセージを取得することが可能になる。
【００１６】
ＧＰＳ衛星からの信号の捕捉は、Ｃ／Ａコードの位相同期検索により行われるが、この位相同期検索においては、ＧＰＳ受信機のＰＮ符号とＧＰＳ衛星からの受信信号のＰＮ符号との相関を検出し、例えば、その相関検出結果の相関値が予め定めた値よりも大きい時に、両者が同期していると判定する。そして、同期が取れていないと判別されたときには、何らかの同期手法を用いて、ＧＰＳ受信機のＰＮ符号の位相を制御して、受信信号のＰＮ符号と同期させるようにしている。
【００１７】
ところで、上述したように、ＧＰＳ衛星信号は、データを拡散符号で拡散した信号によりキャリアをＢＰＳＫ変調した信号であるので、当該ＧＰＳ衛星信号をＧＰＳ受信機が受信するには、拡散符号のみでなく、キャリアおよびデータの同期をとる必要があるが、拡散符号とキャリアの同期は独立に行うことはできない。
【００１８】
そして、ＧＰＳ受信機では、受信信号は、そのキャリア周波数を数ＭＨｚ以内の中間周波数に変換して、その中間周波数信号で、上述の同期検出処理するのが普通である。この中間周波数信号におけるキャリアには、主にＧＰＳ衛星の移動速度に応じたドップラーシフトによる周波数誤差と、受信信号を中間周波数信号に変換する際に、ＧＰＳ受信機内部で発生させる局部発振器の周波数誤差分が含まれる。
【００１９】
したがって、これらの周波数誤差要因により、中間周波数信号におけるキャリア周波数は未知であり、その周波数サーチが必要となる。また、拡散符号の１周期内での同期点（同期位相）は、ＧＰＳ受信機とＧＰＳ衛星との位置関係に依存するのでこれも未知であるから、上述のように、何らかの同期手法が必要となる。
【００２０】
従来のＧＰＳ受信機では、キャリアについての周波数サーチと、スライディング相関器＋ＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）＋コスタスループによる同期手法を用いている。これについて、以下に説明を加える。
【００２１】
ＧＰＳ受信機のＰＮ符号の発生器を駆動するクロックは、ＧＰＳ受信機に用意される基準周波数発振器を分周したものが、一般に用いられている。この基準周波数発振器としては、高精度の水晶発振器が用いられており、この基準周波数発振器の出力から、ＧＰＳ衛星からの受信信号を中間周波数信号に変換するのに用いる局部発振信号を生成する。
【００２２】
図２２は、この周波数サーチを説明するための図である。すなわち、ＧＰＳ受信機のＰＮ符号の発生器を駆動するクロック信号の周波数が、ある周波数ｆ１であるときに、ＰＮ符号についての位相同期検索、つまり、ＰＮ符号の位相を１チップずつ順次ずらして、それぞれのチップ位相のときのＧＰＳ受信信号とＰＮ符号との相関を検出し、相関のピーク値を検出することにより、同期が取れる位相を検出するようにする。
【００２３】
前記クロック信号の周波数がｆ１のときにおいて、１０２３チップ分の位相検索の全てで同期する位相が存在しなければ、例えば基準周波数発振器に対する分周比を変えて、前記駆動クロック信号の周波数を周波数ｆ２に変更し、同様に１０２３チップ分の位相検索を行う。これを、図２２のように、前記駆動クロック信号の周波数をステップ的に変更して繰り返す。以上の動作が周波数サーチである。
【００２４】
そして、この周波数サーチにより、同期可能とされる駆動クロック信号の周波数が検出されると、そのクロック周波数で最終的なＰＮ符号の位相同期が行われる。これにより、水晶周波数発振器の発振周波数ずれがあっても、衛星信号を捕捉することが可能になる。
【００２５】
【発明が解決しようとする課題】
しかしながら、同期方法として上述したような従来からの手法を用いたのでは、原理的に高速同期には不向きで、実際の受信機においては、それを補うため、多チャンネル化してパラレルに同期点を探索する必要が生じる。そして、上記のように拡散符号およびキャリアの同期に時間を要すると、ＧＰＳ受信機の反応が遅くなり、使用上において不便を生ずる。
【００２６】
拡散符号の位相同期に関しては、上述のようなスライディング相関の手法を用いることなく、高速フーリエ変換（以下、ＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）という）処理を用いたデジタルマッチドフィルタにより、符号同期を高速に行う手法が、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）に代表されるハードウエアの能力の向上によって実現している。
【００２７】
しかしながら、このデジタルマッチドフィルタを用いる場合は、受信信号のキャリアとの同期を取ってキャリア成分をキャンセルする必要がある。従来は、このキャリア成分のキャンセルは、例えば無線回線等を通じて他からキャリア周波数に関する情報を得て、その情報に基づいて、可変周波数発振器の発振周波数を制御し、ＦＦＴを行う前の時間領域において、受信信号と、当該可変周波数発振器の発振出力とを乗算することで行っている。
【００２８】
このため、中間周波数信号への変換のための乗算器のほかに、さらに乗算器が必要になり、受信信号についての同期のための構成が複雑になる問題があった。
【００２９】
この発明は、以上の点にかんがみ、ＧＰＳ衛星信号などのスペクトラム拡散信号についての拡散符号同期捕捉およびキャリア同期捕捉を、比較的簡単な構成で、ＦＦＴを利用して高速に行うことができる方法およびその方法を適用した装置を提供することを目的とする。
【００３０】
【課題を解決するための手段】
前記課題を解決するため、請求項１の発明によるスペクトラム拡散信号復調方法は、
拡散符号でデータをスペクトラム拡散した信号により搬送波が変調されている受信信号を高速フーリエ変換して第１のメモリに書き込む工程と、
前記第１のメモリに書き込まれた前記受信信号の高速フーリエ変換結果と、第２のメモリに書き込まれている拡散符号の高速フーリエ変換結果とを、それぞれ読み出して乗算することにより、前記受信信号と前記拡散符号の相関を検出する工程であって、前記受信信号の高速フーリエ変換結果または前記拡散符号の高速フーリエ変換結果のいずれか一方については、前記受信信号の搬送波周波数に応じた分だけ読み出しアドレスをシフトして前記第１のメモリまたは前記第２のメモリから読み出して、前記受信信号の搬送波成分を除去するようにする工程と、
前記乗算の結果を逆高速フーリエ変換して、前記受信信号と前記拡散符号との相関点を検出する工程と、
を備えることを特徴とする。
【００３２】
また、請求項３の発明のスペクトラム拡散信号復調方法は、
拡散符号でデータをスペクトラム拡散した信号により搬送波が変調されている受信信号を高速フーリエ変換して第１のメモリに書き込む工程と、
前記第１のメモリから読み出された前記受信信号の高速フーリエ変換結果と、第２のメモリから読み出された拡散符号の高速フーリエ変換結果とを乗算する工程と、
前記乗算の結果を逆高速フーリエ変換して、前記受信信号と前記拡散符号との相関検出出力を得る工程と、
前記相関検出出力に基づいて、前記受信信号の高速フーリエ変換結果または前記拡散符号の高速フーリエ変換結果のいずれか一方の前記第１のメモリまたは前記第２のメモリからの読み出しアドレスをシフト制御しながら、前記相関のピークを判別して、前記受信信号と前記拡散符号との相関点を検出する工程と、
を備え、
前記受信信号の高速フーリエ変換および前記拡散符号の高速フーリエ変換は、前記拡散符号のＭ周期（Ｍは２以上の２のべき乗）を単位として行う
ことを特徴とする。
【００３４】
また、請求項４の発明は、請求項３に記載のスペクトラム拡散信号復調方法において、
前記受信信号のＦＦＴは、その全周波数成分を一括して計算せず、高速フーリエ変換の計算構造として、同じ計算構造となる単位で、Ｌ回（Ｌは２以上の整数）に分けて、前記受信信号の１／Ｌずつの高速フーリエ変換を行うことを特徴とする。
【００３５】
後述するように、例えば、受信信号とキャリア信号との乗算結果をＦＦＴしたものは、受信信号のＦＦＴ結果を、離散周波数についてキャリア周波数分だけシフトしたものに等しくなる。
【００３６】
このＦＦＴの性質を利用して、請求項１の発明においては、受信信号のＦＦＴ結果、または、拡散符号のＦＦＴ結果のいずれか一方は、受信信号のキャリア周波数に応じた分だけシフトして、メモリから読み出すようにする。このようにシフトして読み出したものは、キャリア成分を除去したものに等しくなる。
【００３７】
したがって、これらのメモリから読み出した受信信号のＦＦＴ結果と拡散符号のＦＦＴ結果とを乗算し、その乗算結果を逆ＦＦＴして、両者の相関を求めと、キャリアの周波数サーチを行うことなく、相関のピーク値が得られ、拡散符号の同期検出ができる。すなわち、請求項１の発明によれば、キャリア除去用の乗算器を用いることなく、拡散符号の同期およびキャリア同期を取ることができる。
【００３８】
上記の請求項１の発明は、キャリア周波数が既知である場合に、非常に有効である。例えばドップラーシフト量が正確に見積もられ、かつ、ＧＰＳ受信機内部の発振周波数および時間情報が正確であれば、キャリア周波数が既知となるので、その既知のキャリア周波数を用いて、メモリの読み出しアドレスのシフトを行うことにより、キャリア同期ができるものである。
【００３９】
請求項３の発明も基本的には、請求項１の発明と同様に、ＦＦＴ結果の読み出しアドレスを制御することにより、キャリアの同期を取るものであるが、この請求項３は、キャリア周波数が未知である場合に有効なものである。
【００４０】
すなわち、この請求項３の発明においては、逆ＦＦＴの結果の相関検出出力に基づいて、受信信号のＦＦＴ結果または拡散符号のＦＦＴ結果のいずれか一方の読み出しアドレスのシフト量を変更しながら、受信信号と拡散符号との相関点を検索する。そして、相関検出出力のピーク値を検出することにより、相関点を検出する。この相関検出出力がピークを取るときのシフト位相によりキャリア周波数が検出できる。
【００４１】
また、請求項２または請求項３の発明によれば、受信信号のＦＦＴは、拡散符号の１周期分単位で行うのではなく、拡散符号の複数周期単位で行われる。このように、ＦＦＴを拡散符号の複数周期単位で行うと、１周期分のＦＦＴ結果が複数周期分累積されると共に、統計的にランダムに分布するノイズ成分は減少することにより、相関検出結果のＣ／Ｎが向上する。
【００４２】
請求項２または請求項３のように拡散符号の複数周期単位でＦＦＴが行われると、メモリとして容量の大きなものが必要となるが、請求項４の発明においては、ＦＦＴ計算の流れを考慮して、同じ計算構造となる単位で、Ｌ回（Ｌは２以上の整数）に分けて、前記受信信号の１／ＬずつのＦＦＴを行うことにより、メモリとしては、それぞれの回のＦＦＴ計算に必要な容量でよくなる。
【００４３】
【発明の実施の形態】
以下、この発明によるスペクトラム拡散信号復調方法の実施の形態を、上述したＧＰＳ受信機に適用した場合について、図を参照しながら説明する。
【００４４】
［第１の実施の形態］
図１は、スペクトラム拡散信号復調装置の第１の実施の形態としてのＧＰＳ受信機の構成例を示すブロック図である。この図１に示すように、アンテナ１１にて受信されたＧＰＳ衛星からの受信信号（スペクトラム拡散信号）は、高周波増幅回路１２を通じて中間周波変換回路１３に供給される。また、水晶発振器からなる基準発振器１４の出力が局部発振回路１５に供給され、これより基準発振器の出力周波数と周波数比が固定された局部発振出力が得られる。
【００４５】
そして、この局部発振出力が中間周波変換回路１３に供給されて、衛星信号が中間周波数１．０２３ＭＨｚの中間周波信号に低域変換される。この中間周波信号は、増幅回路１６で増幅され、バンドパスフィルタ１７で帯域制限された後、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）１００に供給される。
【００４６】
図１の点線で囲んだ部分のブロック図は、ＤＳＰ１００で実行される機能をハードウエア的に示したものである。もっとも、これらのブロックをディスクリートの回路によりハードウエアとして構成することも勿論できる。この図１のＤＳＰ１００の構成は、デジタルマッチドフィルタの構成を示すものである。
【００４７】
ＤＳＰ１００に供給された信号は、まず、Ａ／Ｄ変換器１０１でデジタル信号に変換されて、バッファメモリ１０２に書き込まれる。このバッファメモリ１０２に書き込まれた信号は、拡散符号の１周期分（１０２３チップ分）ずつ、読み出されてＦＦＴ処理部１０３でＦＦＴ処理され、そのＦＦＴ結果がメモリ１０４に書き込まれる。メモリ１０４から読み出された受信信号のＦＦＴ結果は、乗算部１０５に供給される。
【００４８】
一方、拡散符号発生部１０６からは、そのときにＤＳＰ１００で処理対象となっている衛星からの受信信号に使用されている拡散符号と同じ系列の拡散符号が発生する。この拡散符号発生部１０６からの１周期分（１０２３チップ）の拡散符号は、ＦＦＴ処理部１０７に供給されてＦＦＴ処理され、さらにその複素共役が計算され、その処理結果が拡散符号のＦＦＴ結果としてメモリ１０８に供給される。このメモリ１０８からは、通常の場合と同様に、ＦＦＴ結果が低い周波数から順に読み出されて乗算部１０５に供給される。
【００４９】
乗算部１０５では、メモリ１０４からの受信信号のＦＦＴ結果と、メモリ１０８からの拡散符号のＦＦＴ結果とが乗算され、周波数領域における受信信号と拡散符号との相関の度合いが演算される。そして、その乗算結果は逆ＦＦＴ処理部１０９に供給されて、周波数領域の信号が時間領域の信号に戻される。
【００５０】
逆ＦＦＴ処理部１０９から得られる逆ＦＦＴ結果は、受信信号と拡散符号との時間領域における相関検出信号となっており、この相関検出信号は、相関点検出部１１０に供給される。相関点検出部１１０では、受信信号と拡散符号との同期が取れたかどうかを検出し、同期が取れたと検出した場合には、前記ピーク値の位相を相関点として検知する。
【００５１】
この相関検出信号は、拡散符号の１周期分の各チップ位相における相関値を示すものとなっており、受信信号中の拡散符号と、拡散符号発生部１０６からの拡散符号とが同期している場合には、図２に示すように、１０２３チップのうちのある一つの位相での相関値が、予め定められるスレッショールド値を超えるようなピーク値を示す相関波形が得られる。このピーク値の立つチップ位相が、相関点の位相となる。
【００５２】
一方、受信信号中の拡散符号と、拡散符号発生部１０６からの拡散符号とが同期していない場合には、図２のようなピーク値が立つ相関波形は得られず、いずれのチップ位相においても、予め定められるスレッショールド値を超えるようなピークは立たない。
【００５３】
相関点検出部１１０は、例えば、予め定めた値を超えるピーク値が、この相関点検出部１１０に供給される相関検出信号に存在するかどうかにより、受信信号と拡散符号との同期が取れたかどうかを検出し、同期が取れたと検出した場合には、前記ピーク値の位相を相関点として検知する。
【００５４】
以上の説明では、受信信号のキャリアについては考慮していないが、実際には、受信信号ｒ（ｎ）は、図２３の式（３）に示すようにキャリアを含んでいる。この式（３）において、Ａは振幅、ｄ（ｎ）はデータ、ｆｏは中間周波信号におけるキャリア角周波数、ｎ（ｎ）はノイズを表している。
【００５５】
Ａ／Ｄ変換部１０１でのサンプリング周波数をｆs 、サンプリング数をＮ（したがって、０≦ｎ＜Ｎ、０≦ｋ＜Ｎ）とすると、離散フーリエ変換後の離散周波数ｋと実周波数ｆとの関係は、０≦ｋ≦Ｎ／２ではｆ＝ｋ・ｆs ／Ｎ、Ｎ／２＜ｋ＜Ｎではｆ＝（ｋ−Ｎ）・ｆs ／Ｎ（ｆ＜０）である。なお、離散フーリエ変換の性質により、Ｒ（ｋ）、Ｃ（ｋ）は、ｋ＜０、ｋ≧Ｎでは循環性を示す。
【００５６】
そして、受信信号ｒ（ｎ）から、データｄ（ｎ）を得るためには、拡散符号ｃ（ｎ）とキャリアｃｏｓ２πｎｆ0との同期をとってキャリア成分を除去する必要がある。すなわち、後述する図２３の式（２）で、Ｒ（ｋ）のみにキャリア成分が含まれている場合には、図２のような相関波形が得られない。
【００５７】
この実施の形態では、ＦＦＴによる周波数領域での処理のみの簡単な構成により、拡散符号ｃ（ｎ）とキャリアｃｏｓ２πｎｆ0との同期をとってキャリア成分を除去することができるようにしている。
【００５８】
すなわち、ＦＦＴ処理部１０３から得られるＧＰＳ衛星からの受信信号のＦＦＴ結果は、通常は、受信信号の周波数成分の周波数が低いものから順にメモリ１０４から読み出されて、乗算部１０５に供給されるが、この実施の形態では、メモリ１０４からは、読み出しアドレス制御部１１１からの制御に従って、読み出しアドレスがシフト制御されて、順次、受信信号のＦＦＴ結果が読み出される。
【００５９】
読み出しアドレス制御部１１１には、受信信号を得たＧＰＳ衛星についてのドップラーシフト量を正確に見積もり、かつ、ＧＰＳ受信機内部の発振周波数および時間情報を正確に校正することに基づいて検出した受信信号のキャリア周波数の情報が供給される。このキャリア周波数の情報は、ＧＰＳ受信機内部でのみ作成することもできるが、通常は、外部から取得するようにする。
【００６０】
そして、読み出しアドレス制御部１１１は、この取得したキャリア周波数の情報に基づいて、そのキャリア周波数分だけ、読み出しアドレスをシフトして、メモリ１０４から受信信号のＦＦＴ結果を、順次、読み出し、乗算部１０５に供給するようにする。
【００６１】
このように受信信号ｒ（ｎ）のＦＦＴ結果を、メモリ１０４から、受信信号のキャリア周波数分だけシフトして読み出すことにより、後述するように、キャリア成分を除去した受信信号のＦＦＴ結果と等価なＦＦＴ結果を得ることができ、そのキャリア成分を除去したＦＦＴ結果と、拡散符号の１周期分のＦＦＴ結果との乗算結果を逆拡散することにより、確実に図２のように相関点でピークを生じる相関検出出力が得られる。
【００６２】
なお、後述もするように、メモリ１０４からのＦＦＴ結果の読み出しアドレスを制御するのではなく、メモリ１０８からの拡散符号のＦＦＴ結果の読み出しアドレスを制御することにより、拡散符号のＦＦＴ結果に、受信信号ｒ（ｎ）のキャリア分を加え、乗算部１０５での乗算によって、実質的によりキャリア成分の除去を行うようにすることもできる。
【００６３】
以下に、メモリ１０４または１０８からの読み出しアドレスの制御によって、受信信号のキャリアと拡散符号との同期によるキャリア成分の除去について、ＤＳＰ１００でのデジタルマッチドフィルタの処理の動作説明と共に、さらに詳細に説明する。
【００６４】
この実施の形態において、ＤＳＰ１００では、デジタルマッチドフィルタの処理が行われるものであるが、このデジタルマッチドフィルタの処理の原理は、図２３の式（１）に示すように、時間領域での畳み込みのフーリエ変換が周波数領域では乗算になるという定理に基づくものである。
【００６５】
この式（１）において、ｒ（ｎ）は時間領域の受信信号、Ｒ（ｋ）はその離散フーリエ変換を表す。また、ｃ（ｎ）は拡散符号発生部からの拡散符号、Ｃ（ｋ）はその離散フーリエ変換を表す。ｎは離散時間、ｋは離散周波数である。そして、Ｆ［］は、フーリエ変換を表している。
【００６６】
２つの信号ｒ（ｎ）、ｃ（ｎ）の相関関数を改めてｆ（ｎ）と定義すると、ｆ（ｎ）の離散フーリエ変換Ｆ（ｋ）は、図２３の式（２）のような関係になる。したがって、ｒ（ｎ）を図１のＡ／Ｄ変換部１０１からの信号とし、ｃ（ｎ）を拡散符号発生部１０６からの拡散符号とすれば、ｒ（ｎ）とｃ（ｎ）の相関関数ｆ（ｎ）は、通常の定義式によらず、前記式（２）により以下の手順で計算できる。
【００６７】
なお、以下の説明において、離散フーリエ変換Ｃ（ｋ）の複素共役は、図面においては、Ｃ（ｋ）にオーバーバーを付加して示すが、明細書中においては、便宜上、記号「！」を付加した！Ｃ（ｋ）と記載することにする。
【００６８】
・受信信号ｒ（ｎ）の離散フーリエ変換Ｒ（ｋ）を計算する。
【００６９】
・拡散符号ｃ（ｎ）の離散フーリエ変換の複素共役！Ｃ（ｋ）を計算する。
【００７０】
・Ｒ（ｋ）、Ｃ（ｋ）の複素共役！Ｃ（ｋ）より、式（２）のＦ（ｋ）を計算する。
【００７１】
・Ｆ（ｋ）の逆離散フーリエ変換により相関関数ｆ（ｎ）を計算する。
【００７２】
ところで、前述したように、受信信号ｒ（ｎ）に含まれる拡散符号が、拡散符号発生部１０６からの拡散符号ｃ（ｎ）と一致していれば、上記手順により計算した相関関数ｆ（ｎ）は、図２のように相関点でピークを生ずる時間波形となる。上述したように、この実施の形態では、離散フーリエ変換および逆フーリエ変換に、ＦＦＴおよび逆ＦＦＴの高速化アルゴリズムを適用したので、定義に基づいて相関を計算するより、かなり高速に計算を行うことができる。
【００７３】
次に、受信信号ｒ（ｎ）に含まれるキャリアと拡散符号との同期について説明する。
【００７４】
前述したように、受信信号ｒ（ｎ）は、図２３の式（３）に示すようにキャリアを含んでいる。受信信号ｒ（ｎ）から、データｄ（ｎ）を得るためには、拡散符号ｃ（ｎ）とキャリアｃｏｓ２πｎｆ0との同期をとって除去する必要がある。すなわち、前述の図２３の式（２）で、Ｒ（ｋ）のみにキャリアが含まれている場合には、図２のような相関波形が得られない。
【００７５】
ドップラーシフト量が正確に見積もられ、かつ、ＧＰＳ受信機内部の発振周波数および時間情報が正確であれば、受信信号ｒ（ｎ）のキャリア周波数ｆ0が既知となる。その場合には、図３に示すように、ＦＦＴ処理部１０３の前段に乗算部１２１を設け、この乗算部１２１において受信信号ｒ（ｎ）と信号発生部１２２からの周波数ｆ0のキャリアとを乗算して周波数変換することにより、ＦＦＴを行う前に受信信号ｒ（ｎ）からキャリア成分を除くことができる。
【００７６】
その場合には、メモリ１０４からは、そのキャリア成分が除去された受信信号ｒ（ｎ）のＦＦＴ結果が得られ、このＦＦＴ結果と、拡散符号ｃ（ｎ）のＦＦＴ結果とが乗算部１０５で乗算されるので、逆ＦＦＴ処理部１０９の出力としては、図２のように相関点にピークを生じる時間波形が確実に得られる。
【００７７】
なお、図３で括弧内に記載したように、受信信号ｒ（ｎ）からキャリア成分を除去するのではなく、拡散符号ｃ（ｎ）についてのＦＦＴ処理部１０７の前段に乗算部１２１を設けて、この乗算部１２１において拡散符号ｃ（ｎ）と信号発生部１２２からの周波数ｆ0のキャリアとを乗算して周波数変換することにより、拡散符号にキャリア成分を加えるようにしても同様である。
【００７８】
すなわち、その場合には、メモリ１０４から読み出した受信信号のＦＦＴ結果に含まれるキャリア成分と、メモリ１０８から読み出した拡散符号のＦＦＴ結果に含まれる、加えられたキャリア成分とが同期しているため、逆ＦＦＴ処理部１０９からは、図２のように相関点でピークを生じる相関検出出力が得られる。
【００７９】
しかし、以上説明したような図３のように時間領域の信号にキャリア周波数の信号を乗算する方法による場合には、キャリア成分を除くための乗算部が特に必要になり、構成が複雑になると共に、その乗算演算の分だけ、処理速度が遅くなるという不利益がある。
【００８０】
ところで、ＦＦＴの性質として、上述のような周波数乗算は、図２３の式（４）のように表すことができる。この式（４）で、Ｆ［］は離散フーリエ変換、φ0 はキャリアとの位相差、ｋ0 はｆ0 に対応するｋであって、ｆ0 ＝ｋ0 ・ｆs ／Ｎである。この式（４）より、受信信号ｒ（ｎ）を図３のように周波数変換した信号のＦＦＴは、ｒ（ｎ）のＦＦＴであるＲ（ｋ）を、キャリア周波数分ｋ0だけシフトした形になる。
【００８１】
以上のことから、図３の構成は、図４のような構成に置換可能となる。すなわち、受信信号ｒ（ｎ）や拡散符号ｃ（ｎ）にキャリア周波数を乗算する代わりに、受信信号のＦＦＴ結果または拡散符号のＦＦＴ結果をメモリ１０４またはメモリ１０８からの読み出す際の読み出しアドレスを、キャリア周波数分だけシフトするようにするものである。
【００８２】
この場合に、図４で、受信信号ｒ（ｎ）をシフトする場合はダウンコンバージョンで、ｋ0 ＞０とし、また、拡散符号ｃ（ｎ）をシフトする場合はアップコンバージョンで、ｋ0 ＜０とする。
【００８３】
以上説明したように、式（４）に示したＦＦＴの性質を利用すれば、図３の信号発生器１２２は不要になり、図４のように、ＦＦＴ結果のメモリからの読み出しアドレス位相をシフトするだけでよくなり、構成が簡単になると共に、処理の高速化に繋がる。
【００８４】
なお、前述の式（４）における位相差φ0 は未知であるため、図４では無視しているが、例えば、図２３の式（５）により計算されるＦ’（ｋ）の逆ＦＦＴの演算結果として得られる相関関数ｆ’（ｎ）（０≦ｎ＜Ｎ）は複素数となり、その実部をｆR’（ｎ）、虚部をｆI’（ｎ）とすると、相関ピークの振幅｜ｆ’（ｎ）｜は、図２３の式（６）に示すようにして得られ、位相差φ0は、図２３の式（７）に示すようにして得られるので、式（４）の右辺のｅｘｐ（ｊφ0 ）の乗算は省略してよい。なお、位相差φ0 は、式（３）のデータｄ（ｎ）の符号に対応したπだけ異なる２つの値となる。
【００８５】
以上説明したような第１の実施の形態の処理動作を図１のブロック図に反映させた構成図を図５に示す。この図５の各ブロックの出力には、上述したような信号出力ｒ（ｎ）、ｃ（ｎ）および演算結果Ｒ（ｋ）、！Ｃ（ｋ）、ｆ'（ｎ）が示されている。
【００８６】
以上のように、第１の実施の形態の方法によれば、ＧＰＳ受信機において、ＦＦＴを利用してデジタルマッチドフィルタを構成する場合に、図５のように受信信号のＦＦＴ結果を、キャリア周波数分だけメモリのアドレスをシフトして、拡散符号と乗算する構成によって、相関点ｎp が、例えば図５に示すような波形で得られ、４個のＧＰＳ衛星、つまり４種類の拡散符号ｃ（ｎ）について、相関点ｎp が判れば、ＧＰＳ受信機位置の計算が可能になる。
【００８７】
すなわち、第１の実施の形態によれば、ＦＦＴを利用したデジタルマッチドフィルタ処理を行う場合において、受信信号のキャリアと拡散符号との同期を取るために、時間領域で乗算を行うことなく、受信信号のＦＦＴ結果と拡散符号のＦＦＴ結果同士の周波数領域での乗算の際に、受信信号のＦＦＴ結果と拡散符号のＦＦＴ結果のうちの一方のＦＦＴ結果をシフトするという簡便な方法により、受信信号のキャリア成分を除去することができる。
【００８８】
なお、図５の例では、受信信号のＦＦＴ結果Ｒ（ｋ）の方の、メモリの読み出しアドレスをシフトさせたが、拡散符号のＦＦＴ結果！Ｃ（ｋ）の方のメモリの読み出しアドレスを、受信信号のＦＦＴ結果Ｒ（ｋ）の場合とは逆方向にシフト（乗算器でのアップコンバージョンの形になる）しても良い。
【００８９】
また、上述の実施の形態の説明においては、拡散符号発生器１０６とＦＦＴ処理部１０７とを別々に設けるようにしたが、それぞれのＧＰＳ衛星に対応する拡散符号をあらかじめＦＦＴしておいたものをメモリに記憶させておくことで、衛星信号の受信時における拡散符号ｃ（ｎ）のＦＦＴ計算を省略することができる。
【００９０】
［第２の実施の形態］
上述の第１の実施の形態は、ＧＰＳ衛星からの受信信号のキャリア周波数が既知である場合であったが、この第２の実施の形態は、キャリア周波数が未知である場合である。図６は、第２の実施の形態としてのＧＰＳ受信機の構成例を示すブロック図である。この図６において、前述した第１の実施の形態として示した図１のＧＰＳ受信機と同一部分には、同一番号を付してある。
【００９１】
この第２の実施の形態では、図６に示すように、相関点検出部１１０の相関検出出力を、読み出しアドレス制御部１１２に供給する。読み出しアドレス制御部１１２は、受信信号ｒ（ｎ）のＦＦＴ結果のメモリ１０４からの読み出しアドレスの前記シフト量を、過去のデータから決定した予測アドレスを中心に、相関点検出部１１０の相関検出出力に基づいて変更制御して、相関点検出部１１０で図２に示したようなピークが得られるようにする。相関点検出部１１０で図２に示したようなピークが得られたときには、読み出しアドレス制御部１１２は、読み出しアドレスのシフト制御を、そのときのシフト量で停止する。
【００９２】
この第２の実施の形態におけるＤＳＰ１００での処理の流れを、図７および図８のフローチャートを参照しながら説明する。なお、この図７および図８のフローチャートは、ＤＳＰ１００でのソフトウエア処理に対応するものである。
【００９３】
まず、Ａ／Ｄ変換部１０１にてデジタル信号に変換された受信信号を信号ｒ（ｎ）としてメモリ１０２に取り込む（ステップＳ１）。次に、この信号ｒ（ｎ）をＦＦＴ処理部１０３でＦＦＴし、そのＦＦＴ結果Ｒ（ｋ）をメモリ１０４に書き込む（ステップＳ２）。次に、信号を受信したＧＰＳ衛星に対応する拡散符号のＦＦＴ結果！Ｃ（ｋ）をメモリ１０８にセットする（ステップＳ３）。
【００９４】
次に、受信信号ｒ（ｎ）のＦＦＴ結果Ｒ（ｋ）のメモリ１０４からの読み出しアドレスのシフト量の初期値ｋ0’を、過去のデータから決定する（ステップＳ４）。そして、決定した初期値ｋ0’を、メモリ１０４からのＦＦＴ結果の読み出しアドレスのシフト量ｋ'として設定すると共に、シフト制御の変更回数ｍを初期値ｍ＝０にセットする（ステップＳ５）。
【００９５】
次に、メモリ１０４から、受信信号ｒ（ｎ）のＦＦＴ結果Ｒ（ｋ）を、読み出しアドレスを、ｋ'だけシフトして読み出す（ステップＳ６）。そして、読み出したＦＦＴ結果Ｒ（ｋ−ｋ'）と、拡散符号のＦＦＴ結果とを乗算して相関関数Ｆ’（ｋ）を求める（ステップＳ７）。
【００９６】
次に、この相関関数Ｆ’（ｋ）の逆ＦＦＴを行って時間領域の関数ｆ’（ｎ）を求める（ステップＳ８）。そして、この関数ｆ’（ｎ）について、ピーク値ｆ’（ｎp）を求め（ステップＳ９）、そのピーク値ｆ’（ｎｐ）が予め設定されているスレッショールド値ｆthより大きいかどうか判別する（ステップＳ１１）。
【００９７】
ステップＳ１１での判別の結果、ピーク値ｆ’（ｎｐ）が、予め設定されているスレッショールド値ｆth以下であるときには、相関点が検出できなかったとして、シフト制御の変更回数ｍが予め設定された最大値ｍmaxよりも小さいかどうか判別する（ステップＳ１６）。そして、シフト制御の変更回数ｍが予め設定された最大値ｍmaxよりも小さいと判別したときには、シフト制御の変更回数ｍを１だけインクリメント（ｍ＝ｍ＋１）すると共に、新たなシフト量ｋ'を、
ｋ'＝ｋ'＋（−１）ｍ×ｍ
として設定し（ステップＳ１７）、その後、ステップＳ６に戻る。そして、上述したステップＳ６以降の処理を繰り返す。
【００９８】
また、ステップＳ１６で、シフト制御の変更回数ｍが、予め設定された最大値ｍmax以上であると判別したときには、すべての衛星について、上述の拡散符号同期サーチ処理が終了したか否か判別し（ステップＳ１４）、すべての衛星についての拡散符号同期サーチ処理が終了したと判別したときには、サーチ動作を終了する（ステップＳ１８）。
【００９９】
また、ステップＳ１４で、拡散符号同期サーチが終了していない衛星があると判別したときには、次に拡散符号同期サーチを行う衛星を選択し、その選択した衛星が用いる拡散符号ｃ（ｎ）に拡散符号を変更する（ステップＳ１５）。そして、ステップＳ３に戻り、上述したステップＳ３以降の処理を実行する。
【０１００】
また、ステップS１１において、ピーク値ｆ’（ｎｐ）が、予め設定されているスレッショールド値ｆthより大きいと判別したときには、そのピーク値ｆ’（ｎｐ）を取る離散時間（拡散符号の位相）ｎｐを相関点として検出すると共に、前記ＦＦＴ結果Ｒ（ｋ）のメモリ１０４からの読み出しアドレスのシフト量の初期値ｋ0’を、そのときのシフト量ｋ'に設定し直す（ステップＳ１２）。
【０１０１】
そして、検出した相関点ｎｐが、４個目であるか否か判別し（ステップＳ１３）、４個目であると判別したときには、受信機位置計算処理および同期保持処理へ移行する。なお、ステップＳ１２で検出した相関点ｎｐが得られるときの読み出しアドレスシフト量ｋ'から、当該受信中のＧＰＳ衛星についてのドップラーシフト量およびＧＰＳ受信機の発振周波数の誤差を推定することができる。すなわち、受信信号のキャリア周波数を検知することができる。
【０１０２】
ステップＳ１３で、検出した相関点ｎｐが、４個目未満であると判別したときには、すべての衛星について、上述の拡散符号同期サーチ処理が終了したか否か判別し（ステップＳ１４）、すべての衛星についての拡散符号同期サーチ処理が終了したと判別したときには、サーチ動作を終了する（ステップＳ１８）。
【０１０３】
また、ステップＳ１４で、拡散符号同期サーチが終了していない衛星があると判別したときには、次に拡散符号同期サーチを行う衛星を選択し、その選択した衛星が用いる拡散符号ｃ（ｎ）に拡散符号を変更する（ステップＳ１５）。そして、ステップＳ３に戻り、上述したステップＳ３以降の処理を実行する。
【０１０４】
以上説明したような第２の実施の形態の処理動作を図６のＤＳＰ１００の内部構成のブロック図に反映させた構成図を図８に示す。この図８の各ブロックの出力には、上述したような信号出力および演算結果が示されている。
【０１０５】
以上のようにして、この第２の実施の形態によれば、ＧＰＳ衛星からの受信信号のキャリア周波数が未知であっても、ＦＦＴによる周波数領域での処理を積極的に用いて、受信信号のキャリアと拡散符号との同期検出を行って、キャリア成分を除去することができる。したがって、ＦＦＴを利用したデジタルマッチドフィルタによるＧＰＳ受信信号と拡散符号との相関点の検出を、高速、かつ簡単な構成で実現することができる。
【０１０６】
なお、この第２の実施の形態の場合においても、それぞれの衛星に対応する拡散符号をあらかじめＦＦＴしておいたものをメモリに記憶させておくことで、衛星信号の受信時における拡散符号ｃ（ｎ）のＦＦＴ計算を省略することができる。
【０１０７】
［第３の実施の形態］
上述したように、デジタルマッチドフィルタによって受信信号と拡散符号の相関点を検出する場合には、その相関点を検出する単位データ長は、拡散符号の１周期長とするのが通常である。
【０１０８】
しかし、ＧＰＳ衛星からの受信信号では、前述したように、データの１ビットは、拡散符号の２０周期分であり、この２０周期分では、すべて同じパターンの符号となっている。この第３の実施の形態では、この特質を生かして、デジタルマッチドフィルタによって受信信号と拡散符号の相関点を検出する単位データ長は、拡散符号の複数周期長とする。
【０１０９】
このように、受信信号について、拡散符号の複数周期分単位でＦＦＴ演算処理をすることにより、この第３の実施の形態によれば、受信感度が向上し、同じ時間領域の信号を累積加算する方法に比べてキャリア周波数のサーチがし易くなる。以下、この第３の実施の形態を、さらに説明する。
【０１１０】
時間領域において、拡散符号のＭ周期（Ｍは２以上の整数）に渡って累積加算を行った１周期長のデータに対して相関点を検出する先行例がある（例えば米国特許４９９８１１１号明細書または「An Introduction to Snap  TrackTM Server−Aided GPS Technology， ION GPS−９８ Proceedings」参照）。
【０１１１】
すなわち、図１０に示すように、この先行例の方法においては、受信信号ｒ（ｎ）について、拡散符号との乗算結果を、Ｍ周期分に渡って累積加算するものである。この先行例の方法は、ＧＰＳ衛星からの受信信号の周期性とノイズの統計的な性質とを利用してＣ／Ｎを高めるもので、受信信号のキャリアと拡散符号の同期が事前にとれている状態であれば、Ｃ／ＮがＭ倍に改善され、したがって受信感度（相関点の検出感度）はＭ倍に向上する。
【０１１２】
しかし、受信信号のキャリアと拡散符号との同期がとれていないと位相の異なるＭ個のキャリアが加算合成されてしまい、累積加算した結果においては肝心のＧＰＳ信号が相殺されてしまって相関ピークは検出できなくなる。
【０１１３】
このため、受信信号のキャリア周波数が未知の場合には、キャリア周波数をサーチする必要があり、サーチする各々の周波数毎に累計加算を行うといった効率の悪い操作を行わざるを得なくなる。
【０１１４】
これに対して、上述した第１および第２の実施の形態では、上述したようにして周波数領域において、ＦＦＴ結果のメモリからの読み出しアドレスをシフトするという簡便な方法により、受信信号のキャリアと拡散符号との同期がとれるので、累積加算の効果を最大限に発揮させることができる。
【０１１５】
この第３の実施の形態では、第２の実施の形態と同様に、ＧＰＳ衛星からの受信信号のキャリア周波数は未知として、キャリア周波数のサーチを行うのであるが、その場合に、受信信号ｒ（ｎ）については、拡散符号のＭ周期分毎にＦＦＴを行うようにする。そして、この拡散符号のＭ周期分毎に、受信信号のＦＦＴ結果のメモリからの読み出しアドレスのシフト量の制御による受信信号のキャリア周波数のサーチを行う。
【０１１６】
前述した図２３の式（３）中のデータｄ（ｎ）は、Ｍ≦２０とすれば、拡散符号のＭ周期中では１または−１の固定値になるので無視できる。すると、式（３）は、
ｒ（ｎ）＝Ａ・ｃ（ｎ）ｃｏｓ２πｎｆ0 ＋ｎ（ｎ）
となり、これをＭ周期長で離散フーリエ変換すると、データの数はＭ×Ｎ（Ｎは拡散符号の１周期分のデータ数）なので、離散フーリエ変換後のｋと実周波数ｆの関係は、サンプリング周波数ｆs に対して０≦ｋ≦ＭＮ／２では、ｆ＝ｋｆs ／ＭＮとなり、ＭＮ／２＜ｋ＜ＭＮでは、ｆ＝（ｋ−ＭＮ）ｆs ／ＭＮ（ｆ＜０）となって、分解能がＭ倍になる。
【０１１７】
しかし、拡散符号ｃ（ｎ）は周期信号であり、その１周期長の時間をＴ（ＧＰＳのＣ／ＡコードではＴ＝１ミリ秒）とすると、ｆ＝１／Ｔ以下の精度の周波数成分はない。したがって、受信信号ｒ（ｎ）の離散フーリエ変換後のＦＦＴ結果Ｒ（ｋ）（ただし、０≦ｋ＜ＭＮ）中の拡散符号ｃ（ｎ）の周波数成分はＭ個おき、すなわち、ＭＮ個のデータのうちのＮ個の点に集中し、その振幅は、Ｍ周期分が累積加算されるため、１周期長での同じ周波数成分のＭ倍になる。Ｍ＝４としたときのスペクトラム例を図１１に示す。
【０１１８】
図１１の例では、信号のスペクトラムが４個おきにあり、それらの間には信号成分はない。Ｎ個の点以外では、拡散符号ｃ（ｎ）の周波数成分は０になる。一方、ノイズｎ（ｎ）は、多くの場合、非周期信号であるから、ＭＮ個の全周波数成分にエネルギーが分散される。したがって、受信信号ｒ（ｎ）のＦＦＴ結果Ｒ（Ｋ）中における拡散符号ｃ（ｎ）のＮ個の周波数成分の総和において、時間領域での累積加算と同様に、Ｃ／ＮがＭ倍向上することになる。
【０１１９】
受信信号ｒ（ｎ）中に、式（３）に示したキャリア成分ｃｏｓ２πｎｆ0がなければ、ＦＦＴ結果Ｒ（ｋ）中の拡散符号ｃ（ｎ）の周波数成分は、ｋ＝ｉ×Ｍ（０≦ｉ＜Ｎ）に集中するが、キャリア成分が存在するので、この第３の実施の形態では、メモリからのＦＦＴ結果Ｒ（ｋ）の読み出しアドレスを、拡散符号の１周期当たりについて、ｋ＝（ｉ×Ｍ）−ｋ0 として、キャリア周波数分のｋ0 だけ循環的にシフトするようにする。
【０１２０】
以上説明した第３の実施の形態の全体の構成は、図６に示した第２の実施の形態の場合と同様となるが、メモリ１０２の容量は、拡散符号のＭ周期分とされ、ＤＳＰ２３では、この拡散符号のＭ周期分のデータ単位で処理動作を行なう。上述の処理動作を、そのＤＳＰ１００の内部構成に反映させた構成図を図１２に示す。
【０１２１】
すなわち、ＦＦＴ処理部１０３からは、ＦＦＴ演算処理単位を拡散符号のＭ周期とするＦＦＴ結果Ｒ（Ｋ）が得られ、メモリ１０４に書き込まれる。図１２では、０≦ｋ＜Ｎ、０≦Ｋ＜ＭＮとしている。
【０１２２】
そして、このメモリ１０４から、読み出しアドレスがシフト制御されてＦＦＴ結果が読み出されて乗算部１０５に供給され、メモリ１０８からの拡散符号ｃ（ｎ）のＦＦＴ結果Ｃ（ｋ）の複素共役！Ｃ（ｋ）と乗算される。
【０１２３】
この第３の実施の形態の場合、この乗算部１０５から得られる相関関数Ｆ（ｋ）は、図２３の式（８）に示すようなものとなるようにされる。なお、ｋ0 については、ｆ0 ＝ｋ0 ・ｆs ／ＭＮである。
【０１２４】
このとき、図１２において、逆ＦＦＴ処理部１０９から得られる相関関数ｆ’（ｎ）のピークは、Ｒ（Ｋ）がＭ周期の拡散符号を含むので、０≦ｎ＜ＭＮの範囲においてＭ個現れることになる。しかし、相関点の検出は、拡散符号の１周期についての１個でよいので、逆ＦＦＴ処理部１０９での計算は、前述の第１および第２の実施の形態の場合と同様に、０≦ｎ＜Ｎの範囲だけで済み、Ｎ≦ｎ＜ＭＮにおける計算は必要ない。
【０１２５】
以上のようにして、この第３の実施の形態によれば、受信信号ｒ（ｎ）のＦＦＴを拡散符号の１周期のＭ倍とすることにより、相関点の検出感度、したがって、受信感度を向上させることができる。
【０１２６】
なお、この第３の実施の形態の場合においても、それぞれの衛星に対応する拡散符号をあらかじめＦＦＴしておいたものをメモリに記憶させておくことで、衛星信号の受信時における拡散符号ｃ（ｎ）のＦＦＴ計算を省略することができる。
【０１２７】
［第４の実施の形態］
前述の第３の実施の形態では、拡散符号のＭ周期（Ｍ＞１）分を含む受信信号ｒ（ｎ）をＦＦＴ処理することで、未知のキャリア周波数のサーチを可能にすると共に、受信感度の向上を図ることができるものであるが、データサンプルの数が、拡散符号１周期分の場合のＮ個からＭ倍のＭＮ個になるため、ＦＦＴの計算時間および図１２におけるメモリ１０４の容量が大きくなる。第４の実施の形態は、このメモリ容量の問題を改善したものである。
【０１２８】
図１１の例のように、拡散符号のＭ周期（Ｍ＞１）をＦＦＴ処理単位とした場合のＦＦＴ結果Ｒ（Ｋ）中の周波数成分はＭ個おきにしか存在しないので、それらのＭ個おきの周波数成分の間の成分は不要である。
【０１２９】
ここで、ＦＦＴ結果Ｒ（Ｋ）（ただし、０≦Ｋ＜ＭＮ）を、Ｒ（ｉ×Ｍ）、Ｒ（ｉ×Ｍ＋１）、Ｒ（ｉ×Ｍ＋２）、・・・、Ｒ（ｉ×Ｍ＋Ｍ−１）（０≦ｉ＜Ｎ）のＭ組に分ける。Ｍ＝４組に分けた場合の、それぞれの組の分割スペクトラムの例を図１３〜図１６に示す。キャリア周波数は未知であるが、Ｍ組のうちの１組に、相関を検出する対象となるＧＰＳ信号のエネルギーがある。図１３〜図１６の例では、図１３のＲ（ｉ×Ｍ）の組に、受信信号ｒ（ｎ）の周波数成分が含まれ、それ以外の３つの分割スペクトラムにはノイズしかない状態を表している。
【０１３０】
なお、実際の信号ではキャリア周波数ｋ0は、正確にはｋ'＝ｋ0でないため、例えばｋ0がｋ0’とｋ0’＋１との間にあったとすると、ｋ'＝ｋ0’とｋ'＝ｋ0’＋１との両方で相関が検出され、ｋ0に近い方が大きな相関を示す。
【０１３１】
ＦＦＴ結果Ｒ（Ｋ）を前記のようにＭ組に分割した場合、Ｍが２のべき乗であれば、ＦＦＴ計算手順の性質から、各組は、それぞれ独立に計算できる。
【０１３２】
図１７は、８個のデータｇ（０）〜ｇ（７）のＦＦＴ計算の信号の流れ図である。図１７のＦＦＴ結果Ｇ（Ｋ）を、４個おきのデータに分けるとすると、（Ｇ（０），Ｇ（４））、（Ｇ（１），Ｇ（５））、（Ｇ（２），Ｇ（６））、（Ｇ（３），Ｇ（７））の４組となる。この中の（Ｇ（０），Ｇ（４））に注目すると、図１８に示す部分だけの計算でよいことが判る。そして、この計算の構造は、他の組（Ｇ（１），Ｇ（５））、（Ｇ（２），Ｇ（６））、（Ｇ（３），Ｇ（７））においても同様となるものである。
【０１３３】
この４組のデータを１組ずつ調べることにすると、まず、（Ｇ（０），Ｇ（４））を計算し、調べ終わったら（Ｇ（０），Ｇ（４））を格納したメモリを開放して次の組に進む。（Ｇ（１），Ｇ（５））、（Ｇ（２），Ｇ（６））、（Ｇ（３），Ｇ（７））と、順次計算して調べ終わったらメモリを開放するという操作を行うことにより、メモリは、Ｇ（０）〜Ｇ（７）を一括してＦＦＴを求めるのに比べて、１／４のメモリ容量でよくなる。乗算回数は、Ｍ個に分割して計算した場合と全体を一括してＦＦＴ計算をした場合とでは同じになる。
【０１３４】
上記の例と同様のことが、Ｍを２のべき乗にすることで、Ｒ（ｉ×Ｍ）、Ｒ（ｉ×Ｍ＋１）、Ｒ（ｉ×Ｍ＋２）、・・・、Ｒ（ｉ×Ｍ＋Ｍ−１）に適用でき、ＦＦＴ結果を格納するメモリの容量は、ＭＮの１／Ｍ、すなわち、Ｎで済む。また、Ｒ（ｉ×Ｍ）、Ｒ（ｉ×Ｍ＋１）、Ｒ（ｉ×Ｍ＋２）、・・・、Ｒ（ｉ×Ｍ＋Ｍ−１）の順で相関を検出する際に、途中の組で相関点が検出できてしまえば、残る組については調べる必要がなくなるので、拡散符号のＭ周期毎の受信信号を一括してＦＦＴ処理して検出するより、処理時間が短くなると期待できる。
【０１３５】
以上説明した第４の実施の形態の場合の拡散符号およびキャリア同期のフローチャートを、図１９および図２０に示す。図１９および図２０の例ではＦＦＴの回数を最小にするため、キャリア周波数のサーチを、各ＦＦＴの組毎に、対象とする衛星すべてについて相関検出を行うようにしている。なお、この図１９および図２０のフローチャートは、ＤＳＰ１００でのソフトウエア処理に対応するものである。
【０１３６】
まず、Ｒ（Ｋ）（０≦Ｋ＜ＭＮであり、Ｋ＝ｉ×Ｍ＋ｊ）の分割組数についての変数ｊ（０≦ｊ＜Ｍ）を初期化し（ステップＳ２１）、次に、Ａ／Ｄ変換部１０１にてデジタル信号に変換された受信信号を信号ｒ（ｎ）（ただし、０≦ｎ≦ＭＮ）としてメモリ１０２に取り込む（ステップＳ２２）。次に、この信号ｒ（ｎ）をＦＦＴ処理部１０３でＦＦＴし、そのＦＦＴ結果Ｒ（Ｋ）をメモリ１０４に書き込む（ステップＳ２３）。次に、信号を受信したＧＰＳ衛星に対応する拡散符号のＦＦＴ結果Ｃ（ｋ）をメモリ１０８にセットする（ステップＳ２４）。
【０１３７】
次に、受信信号ｒ（ｎ）のＦＦＴ結果Ｒ（Ｋ）のメモリ１０４からの読み出しアドレスのシフト量の初期値ｋ0’を、例えば過去のデータから決定する（ステップＳ２５）。そして、決定した初期値ｋ0’を、メモリ１０４からのＦＦＴ結果の読み出しアドレスのシフト量ｋ'として設定すると共に、シフト制御の変更回数ｍを、初期値ｍ＝０にセットする（ステップＳ２６）。
【０１３８】
次に、メモリ１０４から、受信信号ｒ（ｎ）のＦＦＴ結果Ｒ（Ｋ）を、その読み出しアドレスを、ｋ'だけシフトして読み出す（ステップＳ２７）。そして、読み出したＦＦＴ結果Ｒ（Ｋ−ｋ'）と、拡散符号のＦＦＴ結果とを乗算して相関関数Ｆ’（ｋ）を求める（ステップＳ２８）。
【０１３９】
次に、この相関関数Ｆ’（ｋ）の逆ＦＦＴを行って時間領域の関数ｆ’（ｎ）を求める（ステップＳ２９）。そして、この関数ｆ’（ｎ）について、ピーク値ｆ’（ｎp）を求め（ステップＳ３０）、そのピーク値ｆ’（ｎｐ）が予め設定されているスレッショールド値ｆthより大きいかどうか判別する（ステップＳ３１）。
【０１４０】
ステップＳ３１での判別の結果、ピーク値ｆ’（ｎｐ）が、予め設定されているスレッショールド値ｆth以下であるときには、相関点が検出できなかったとして、シフト制御の変更回数ｍが予め設定された最大値ｍmaxよりも小さいかどうか判別する（ステップＳ３２）。そして、シフト制御の変更回数ｍが予め設定された最大値ｍmaxよりも小さいと判別したときには、シフト制御の変更回数ｍを１だけインクリメント（ｍ＝ｍ＋１）すると共に、新たなシフト量ｋ'を、
ｋ'＝ｋ'＋（−１）ｍ×ｍ
として（ステップＳ３３）、ステップＳ２７に戻る。そして、上述したステップＳ２７以降の処理を繰り返す。
【０１４１】
また、ステップＳ３２で、シフト制御の変更回数ｍが、予め設定された最大値ｍmax以上であると判別したときには、すべての衛星について、上述の拡散符号同期サーチ処理が終了したか否か判別し（ステップＳ３６）、すべての衛星についての拡散符号同期サーチ処理が終了したと判別したときには、変数ｊがその最大値Ｍより小さいかどうか判別し（ステップＳ３８）、小さいときには、変数ｊをインクリメントし（ステップＳ３９）、その後、ステップＳ２３に戻り、このステップＳ２３以降の処理を繰り返す。
【０１４２】
また、ステップＳ３８で、変数ｊが最大値Ｍに等しいあるいは最大値Ｍより大きいと判別したときには、サーチ動作を終了する（ステップＳ４０）。
【０１４３】
また、ステップＳ３６で、拡散符号同期サーチが終了していない衛星があると判別したときには、次に拡散符号同期サーチを行う衛星を選択し、その選択した衛星が用いる拡散符号ｃ（ｎ）に拡散符号を変更する（ステップＳ３７）。そして、ステップＳ２４に戻り、上述したステップＳ２４以降の処理を実行する。
【０１４４】
また、ステップＳ３１において、ピーク値ｆ’（ｎｐ）が、予め設定されているスレッショールド値ｆthより大きいと判別したときには、そのピーク値ｆ’（ｎｐ）を取る離散時間（拡散符号の位相）ｎｐを相関点として検出すると共に、前記ＦＦＴ結果Ｒ（ｋ）のメモリ１０４からの読み出しアドレスのシフト量の初期値ｋ0’を、そのときのシフト量ｋ'に設定し直す（ステップＳ３４）。
【０１４５】
そして、検出した相関点ｎｐが、４個目であるか否か判別し（ステップＳ３５）、４個目であると判別したときには、受信機位置計算処理および同期保持処理へ移行する。なお、ステップＳ３４で検出した相関点ｎｐが得られるときのシフト量ｋ'から、当該受信中のＧＰＳ衛星についてのドップラーシフト量およびＧＰＳ受信機の発振周波数の誤差が推定することができる。
【０１４６】
ステップＳ３５で、検出した相関点ｎｐが、４個目未満であると判別したときには、ステップＳ３６に進み、上述したステップＳ３６以降の処理を実行する。
【０１４７】
なお、第１の実施の形態の場合のように、キャリア周波数が既知である場合には、Ｒ（ｉ×Ｍ）、Ｒ（ｉ×Ｍ＋１）、Ｒ（ｉ×Ｍ＋２）、・・・、Ｒ（ｉ×Ｍ＋Ｍ−１）の中で該当するものだけを計算すれば、拡散符号の多周期分を含む時間分を単位として受信信号をＦＦＴする方法は、同様に適用できる。
【０１４８】
以上説明した第１〜第４の実施の形態のＧＰＳ受信機の拡散符号およびキャリアの同期捕捉方法は、従来の手法であるスライディング相関器が原理的に時間を要するのに対し、高速なＤＳＰ等の活用で処理時間の大幅な短縮が期待できる。
【０１４９】
なお、以上の実施の形態の説明では、ＧＰＳ衛星からの受信信号の場合に、この発明を適用したが、この発明は、ＧＰＳ衛星からの信号に限らず、拡散符号でデータをスペクトラム拡散した信号により搬送波が変調されている受信信号の拡散符号およびキャリアの同期捕捉を行う場合のすべてに適用可能である。
【０１５０】
【発明の効果】
以上説明したように、この発明によれば、ＦＦＴを利用したデジタルマッチドフィルタ処理において、時間領域で発振器との乗算を行うことなく、受信信号と拡散符号のＦＦＴ結果同士の乗算において、一方のＦＦＴ結果をシフトするという簡単な方法によりキャリア成分を除くことができる。
【０１５１】
また、拡散符号の複数周期を処理単位として受信信号のＦＦＴを行う方法をとることにより、受信感度が向上し、同じ目的のために時間領域で信号を累積加算する方法に比べてキャリア周波数のサーチがし易いというメリットがある。そして、受信感度の向上により、アンテナの小型化、受信エリアの拡大等が期待できる。
【０１５２】
また、この発明によれば、従来の手法であるスライディング相関器が同期するまで原理的に時間を要するのに対し、高速なＤＳＰ等の活用による処理時間の大幅な短縮により、ＧＰＳ受信機としての反応が速くなるという効果が得られる。
【図面の簡単な説明】
【図１】この発明によるスペクトラム拡散信号復調装置の第１の実施の形態としてのＧＰＳ受信機の構成を示すブロック図である。
【図２】相関検出出力のスペクトラムの例を示す図である。
【図３】受信信号のキャリアと拡散符号との同期を取る方法の一般的な例を説明するための図である。
【図４】この発明の実施の形態において、受信信号のキャリアと拡散符号との同期を取る方法を説明するための図である。
【図５】第１の実施の形態において、動作を考慮した要部の構成を示す図である。
【図６】この発明によるスペクトラム拡散信号復調装置の第２の実施の形態としてのＧＰＳ受信機の構成を示すブロック図である。
【図７】第２の実施の形態における動作を説明するためのフローチャートの一部である。
【図８】第２の実施の形態における動作を説明するためのフローチャートの一部である。
【図９】第２の実施の形態において、動作を考慮した要部の構成を示す図である。
【図１０】この発明によるスペクトラム拡散信号復調装置の第３の実施の形態を説明するための図である。
【図１１】この発明によるスペクトラム拡散信号復調装置の第３の実施の形態を説明するための図である。
【図１２】第３の実施の形態において、動作を考慮した要部の構成を示す図である。
【図１３】この発明によるスペクトラム拡散信号復調装置の第４の実施の形態を説明するための図である。
【図１４】この発明によるスペクトラム拡散信号復調装置の第４の実施の形態を説明するための図である。
【図１５】この発明によるスペクトラム拡散信号復調装置の第４の実施の形態を説明するための図である。
【図１６】この発明によるスペクトラム拡散信号復調装置の第４の実施の形態を説明するための図である。
【図１７】第４の実施の形態の要部の説明に用いる図である。
【図１８】第４の実施の形態の要部の説明に用いる図である。
【図１９】第４の実施の形態における動作を説明するためのフローチャートの一部である。
【図２０】第４の実施の形態における動作を説明するためのフローチャートの一部である。
【図２１】ＧＰＳ衛星からの信号の構成を示す図である。
【図２２】従来のキャリアおよび拡散符号の同期処理を説明するための図である。
【図２３】この発明の実施の形態の説明に用いる図である。
【符号の説明】
１３…中間周波変換回路、１００…ＤＳＰ、１０３…ＦＦＴ処理部、１０４…メモリ、１０５…乗算部、１０６…拡散符号発生部、１０７…ＦＦＴ処理部、１０８…メモリ、１０９…逆ＦＦＴ処理部、１１０…相関点検出部、１１１，１１２…読み出しアドレス制御部
【図１】
0003906913.tif 000002
【図２】
0003906913.tif 000003
【図３】
0003906913.tif 000004
【図４】
0003906913.tif 000005
【図５】
0003906913.tif 000006
【図６】
0003906913.tif 000007
【図７】
0003906913.tif 000008
【図８】
0003906913.tif 000009
【図９】
0003906913.tif 000010
【図１０】
0003906913.tif 000011
【図１１】
0003906913.tif 000012
【図１２】
0003906913.tif 000013
【図１３】
0003906913.tif 000014
【図１４】
0003906913.tif 000015
【図１５】
0003906913.tif 000016
【図１６】
0003906913.tif 000017
【図１７】
0003906913.tif 000018
【図１８】
0003906913.tif 000019
【図１９】
0003906913.tif 000020
【図２０】
0003906913.tif 000021
【図２１】
0003906913.tif 000022
【図２２】
0003906913.tif 000023
【図２３】
0003906913.tif 000024