JP3912511B2 - Positioning satellite signal receiver and positioning satellite signal receiving method - Google Patents

Positioning satellite signal receiver and positioning satellite signal receiving method Download PDF

Info

Publication number
JP3912511B2
JP3912511B2 JP2002191997A JP2002191997A JP3912511B2 JP 3912511 B2 JP3912511 B2 JP 3912511B2 JP 2002191997 A JP2002191997 A JP 2002191997A JP 2002191997 A JP2002191997 A JP 2002191997A JP 3912511 B2 JP3912511 B2 JP 3912511B2
Authority
JP
Japan
Prior art keywords
mode
synchronization
data
synchronization acquisition
positioning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002191997A
Other languages
Japanese (ja)
Other versions
JP2004040297A (en
Inventor
洋一 浦本
隆保 武藤
勝之 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2002191997A priority Critical patent/JP3912511B2/en
Publication of JP2004040297A publication Critical patent/JP2004040297A/en
Application granted granted Critical
Publication of JP3912511B2 publication Critical patent/JP3912511B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)
  • Radio Relay Systems (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、例えばGPS(Global Positioning System)受信機などの測位用衛星信号の受信機に関し、特に、人工衛星(以下、単に衛星という)からの受信信号についての拡散符号および搬送波(キャリア)の同期捕捉に関する。
【0002】
【従来の技術】
人工衛星を利用して移動体の位置を測定するGPSシステムにおいて、GSP受信機は、4個以上のGPS衛星からの信号を受信し、その受信信号から受信機の位置を計算し、ユーザに知らせることが基本機能である。
【0003】
GPS受信機は、GPS衛星からの受信信号(以下、この信号をGPS衛星信号という)を復調してGPS衛星の軌道データを獲得し、GPS衛星の軌道および時間情報とGPS衛星信号の遅延時間から、自受信機の3次元位置を連立方程式により導き出す。測位演算のために4個のGPS衛星からの信号が必要となるのは、GPS受信機内部の時間と衛星の時間とで誤差があり、その誤差の影響を除去するためである。
【0004】
民生用GPS受信機の場合には、GPS衛星(Navstar)からのL1帯、C/A(Clear and Aquisition)コードと呼ばれるスペクトラム拡散信号電波を受信して、測位演算を行う。
【0005】
C/Aコードは、送信信号速度(チップレート)が1.023MHz、符号長が1023のPN(Pseudorandom Noise;擬似ランダム雑音)系列の符号、例えばGold符号で、50bpsのデータを拡散した信号により、周波数が1575.42MHzの搬送波(以下、キャリアという)をBPSK(Binary Phase Shift Keying)変調した信号である。この場合、符号長が1023であるので、C/Aコードは、PN系列の符号が、図46(A)に示すように、1023チップを1周期(したがって、1周期=1ミリ秒)として、繰り返すものとなっている。
【0006】
このC/AコードのPN系列の符号(拡散符号)は、GPS衛星ごとに異なっているが、どのGPS衛星が、どのPN系列の符号を用いているかは、予めGPS受信機で検知できるようにされている。また、後述するような航法メッセージによって、GPS受信機では、どのGPS衛星からの信号を、その地点およびその時点で受信できるかが判るようになっている。したがって、GPS受信機では、例えば3次元測位であれば、その地点およびその時点で取得できる4個以上のGPS衛星からの電波を受信して、スペクトラム逆拡散し、測位演算を行って、自分の位置を求めるようにする。
【0007】
そして、図46(B)に示すように、衛星信号データ(航法メッセージデータ)の1ビットは、PN系列の符号の20周期分、つまり、20ミリ秒単位として伝送される。つまり、データ伝送速度は、50bpsである。PN系列の符号の1周期分の1023チップは、ビットが“1”のときと、“0”のときとでは、反転したものとなる。
【0008】
図46(C)に示すように、GPSでは、30ビット(600ミリ秒)で1ワードが形成される。そして、図46(D)に示すように、10ワードで、1サブフレーム(6秒)が形成される。図46(E)に示すように、1サブフレームの先頭のワードには、データが更新されたときであっても常に規定のビットパターンとされるプリアンブルが挿入され、このプリアンブルの後にデータが伝送されてくる。
【0009】
さらに、5サブフレームで、1フレーム(30秒)が形成される。そして、航法メッセージは、この1フレームのデータ単位で伝送されてくる。この1フレームのデータのうちの始めの3個のサブフレームは、エフェメリス情報と呼ばれる衛星固有の軌道情報である。このエフェメリス情報は、1メインフレーム単位(30秒)で繰り返し送られるものであり、その情報を送信してくる衛星の軌道を求めるためのパラメータと、衛星からの信号の送出時刻とを含む。
【0010】
すなわち、エフェメリス情報の3個のサブフレームの2番目のワードには、Week Numberと、TOW(Time Of Week)と呼ばれる時刻データが含まれる。Week Numberは、1980年1月6日(日曜日)を第0週として1週ごとにカウントアップする情報である。また、TOWは、日曜日の午前0時を0として6秒ごとにカウントアップ(サブフレームの周期でカウントアップ)する時間の情報である。
【0011】
GPS衛星のすべては、原子時計を備え、共通の時刻情報を用いており、GPS衛星からの信号の送出時刻は、原子時計に同期したものとされている。上記の2つの時刻データを受信することにより絶対時刻を求める。6秒以下の値は、衛星の電波に同期ロックする過程で、そのGPS受信機が備える基準発振器の精度で、衛星の時刻に同期するようにする。
【0012】
また、各GPS衛星のPN系列の符号は、原子時計に同期したものとして生成される。また、このエフェメリス情報から、GPS受信機における測位計算の際に用いられる衛星の位置および衛星の速度が求められる。
【0013】
エフェメリス情報は、地上の管制局からの制御により比較的頻繁に更新される精度の高い暦である。GPS受信機では、このエフェメリス情報をメモリに保持しておくことにより、当該エフェメリス情報を測位計算に使用することができる。しかし、その精度上、使用可能な寿命は、通常、2時間程度とされており、GPS受信機では、エフェメリス情報をメモリに記憶した時点からの時間経過を監視して、その寿命を超えたときには、メモリのエフェメリス情報を更新して書き換えるようにしている。
【0014】
なお、新しいエフェメリス情報をGPS受信機から取得して、その取得したエフェメリス情報にメモリの内容を更新するには、最低18秒(3サブフレーム分)が必要であり、サブフレームの途中からデータが取れたときには、連続30秒が必要となる。
【0015】
1フレームのデータの残りの2サブフレームの航法メッセージは、アルマナック情報と呼ばれる全ての衛星から共通に送信される情報である。このアルマナック情報は、全情報を取得するために25フレーム分必要となるもので、各GPS衛星のおおよその位置情報や、どのGPS衛星が使用可能かを示す情報などからなる。
【0016】
このアルマナック情報も、地上の制御局からの制御により数日ごとに更新される。このアルマナック情報も、これをGPS受信機のメモリに保持して使用することができるが、その寿命は、数か月とされており、通常は、数ヶ月毎に、メモリのアルマナック情報は、GPS衛星から取得した新しい情報に更新される。GPS受信機のメモリに、このアルマナック情報を蓄えておけば、電源投入後、どのチャンネルにどの衛星を割り当てればよいかを計算することができる。
【0017】
GPS受信機で、GPS衛星信号を受信して、上述のデータを得るためには、GPS受信機に用意される受信しようとするGPS衛星で用いられているC/Aコードと同じPN系列の符号(以下、PN系列の符号をPN符号という)を用いて、そのGPS衛星信号について、C/Aコードの位相同期を取ることによりGPS衛星信号を捕捉し、スペクトラム逆拡散を行う。C/Aコードとの位相同期が取れて、逆拡散が行われると、ビットが検出されて、GPS衛星信号から時刻情報等を含む航法メッセージを取得することが可能になる。
【0018】
GPS衛星信号の捕捉は、C/Aコードの位相同期検索により行われるが、この位相同期検索においては、GPS受信機のPN符号とGPS衛星からの受信信号のPN符号との相関を検出し、例えば、その相関検出結果の相関値が予め定めた値よりも大きい時に、両者が同期していると判定する。そして、同期が取れていないと判別されたときには、何らかの同期手法を用いて、GPS受信機のPN符号の位相を制御して、受信信号のPN符号と同期させるようにしている。
【0019】
ところで、上述したように、GPS衛星信号は、データを拡散符号で拡散した信号によりキャリアをBPSK変調した信号であるので、当該GPS衛星信号をGPS受信機が受信するには、拡散符号のみでなく、キャリアおよびデータの同期をとる必要があるが、拡散符号とキャリアの同期は独立に行うことはできない。
【0020】
そして、GPS受信機では、受信信号は、そのキャリア周波数を数MHz以内の中間周波数に変換して、その中間周波数信号で、上述の同期検出処理するのが普通であるが、この中間周波数信号におけるキャリアには、主にGPS衛星の移動速度に応じたドップラーシフトによる周波数誤差と、受信信号を中間周波数信号に変換する際に、GPS受信機内部で局部発振器から発生させる局部発振信号の周波数誤差分が含まれる。
【0021】
したがって、これらの周波数誤差要因により、中間周波数信号におけるキャリア周波数は未知であり、その周波数サーチが必要となる。また、拡散符号の1周期内での同期点(同期位相)は、GPS受信機とGPS衛星との位置関係に依存するのでこれも未知であるから、上述のように、何らかの同期手法が必要となる。
【0022】
従来のGPS受信機では、周波数サーチを伴なうスライディング相関によりキャリアおよび拡散符号についての同期検出を行うと同時に、DLL(DelayLocked Loop)とコスタスループとにより、同期捕捉および同期保持動作をするようにしている。これについて、以下に説明を加える。
【0023】
GPS受信機のPN符号の発生器を駆動するクロックは、GPS受信機に用意される基準周波数発振器を分周したものが、一般に用いられている。この基準周波数発振器としては、高精度の水晶発振器が用いられており、この基準周波数発振器の出力から、GPS衛星からの受信信号を中間周波数信号に変換するのに用いる局部発振信号を生成する。
【0024】
図47は、上述した周波数サーチを説明するための図である。すなわち、GPS受信機のPN符号の発生器を駆動するクロック信号の周波数が、ある周波数f1であるときに、PN符号についての位相同期検索、つまり、PN符号の位相を1チップずつ順次ずらして、それぞれのチップ位相のときのGPS受信信号とPN符号との相関を検出し、相関のピーク値を検出することにより、PN符号の同期が取れる位相(拡散符号の位相)を検出するようにする。
【0025】
前記クロック信号の周波数がf1のときにおいて、1023チップ分の位相検索の全てで同期する位相が存在しなければ、キャリア周波数の同期が取れていないので、例えば基準周波数発振器に対する分周比を変えて、前記駆動クロック信号の周波数を周波数f2に変更し、同様に1023チップ分の位相検索を行う。これを、図47のように、前記駆動クロック信号の周波数をステップ的に変更して繰り返す。以上の動作が周波数サーチである。
【0026】
そして、この周波数サーチにより、同期可能とされる駆動クロック信号の周波数が検出されると、そのクロック周波数で最終的なPN符号の同期捕捉が行われる。このときのクロック周波数からキャリア周波数が検出できる。これにより、水晶周波数発振器の発振周波数ずれがあっても、衛星信号を捕捉することが可能になる。
【0027】
【発明が解決しようとする課題】
ところで、従来のGPS受信機においては、使用環境を考慮して、同期捕捉のモードを切り換えるという考えはなかった。
【0028】
このため、例えば、従来のデジタルマッチドフィルタを用いるGPS受信機では、衛星からの電波が強い環境においては、迅速に同期捕捉することができるが、ノイズの電波や、いわゆるマルチパスをも受信してしまうので、正確な位置を求めることが困難になる場合があった。
【0029】
また、室内などの衛星からの電波が弱い場所では、従来のデジタルマッチドフィルタを用いるGPS受信機では感度が低いため、同期捕捉するのに時間がかかり、使用者にいらいら感を与えてしまう問題があった。
【0030】
この発明は、以上の点にかんがみ、GPS衛星信号についての同期捕捉が、環境条件に合わせて、迅速、かつ、正確に行えることが期待できる測位用衛星の受信機および測位用衛星信号の受信方法を提供することを目的とする。
【0031】
【課題を解決するための手段】
上記課題を解決するために、請求項1の発明による測位用衛星信号の受信機は、
受信側の拡散符号の位相を実質的に変えながら、衛星からの受信信号の拡散符号と受信側の拡散符号との相関を検出して前記受信信号の拡散符号の同期捕捉を行う際の、前記受信側の拡散符号の実質的な位相の変化幅が大きい高速モードと、前記実質的な位相の変化幅が小さい高感度モードとを備えると共に、
前記高速モードと、前記高感度モードとの切り換え選択操作を受け付けるためのモード切り換え操作手段と、
前記モード切り換え操作手段により切り換えられたモードを前記現在モードとして前記同期捕捉を実行する同期捕捉手段と、
を備え、
前記同期捕捉手段は、高速フーリエ変換処理を用いたデジタルマッチドフィルタを用いるものであり、少なくとも高感度モードにおいては、前記拡散符号のM周期(Mは2以上の2のべき乗)分の前記測位用衛星からの受信信号のデータを単位として行う
ことを特徴とする。
【0032】
上記の構成を備える請求項1の発明による測位用衛星信号の受信機よれば、同期捕捉が高速に行える高速モードと、同期捕捉が高感度で行える高感度モードとを備え、使用環境に応じて切り換えが可能とされるので、測位用衛星信号についての同期捕捉が、使用環境条件に合わせて、迅速、かつ、正確に行えるようになる。
【0033】
また、請求項2の発明による測位用衛星信号の受信機は、
受信側の拡散符号の位相を実質的に変えながら、測位用衛星からの受信信号の拡散符号と受信側の拡散符号との相関を検出して前記受信信号の拡散符号の同期捕捉を行う際の、前記受信側の拡散符号の実質的な位相の変化幅が大きい高速モードと、前記実質的な位相の変化幅が小さい高感度モードとを備えると共に、
前記高速モードまたは前記高感度モードのいずれか一方を現在モードとして、前記同期捕捉を行う同期捕捉手段と、
前記現在モードでは前記同期捕捉が困難であるかどうかを判別する判別手段と、
前記判別手段において、前記現在モードでは前記同期捕捉が困難であると判別したときに、現在モードを、前記高速モードおよび前記高感度モードのうちの他方のモードに変更するモード変更手段と、
を備え、
前記同期捕捉手段は、高速フーリエ変換処理を用いたデジタルマッチドフィルタを用いるものであり、少なくとも高感度モードにおいては、前記拡散符号のM周期(Mは2以上の2のべき乗)分の前記測位用衛星からの受信信号のデータを単位として行う
ことを特徴とする。
【0034】
この請求項2の発明によれば、同期捕捉が高速に行える高速モードと、同期捕捉が高感度で行える高感度モードとを備え、使用環境に応じて自動的にモード切り換えが行われるので、測位用衛星信号についての同期捕捉が、使用環境条件に合わせて、迅速、かつ、正確に行えるようになる。
【0043】
【発明の実施の形態】
上述した周波数サーチを伴なうスライディング相関と、DLL(Delay Locked Loop)およびコスタスループとにより、キャリアおよび拡散符号についての同期捕捉を行うと同時に同期保持動作をするという、従来の手法では、周波数サーチを伴なうスライディング相関の方法が、上述したように、原理的に高速同期には不向きであって、拡散符号およびキャリアの同期に時間を要するという問題があった。そして、このように拡散符号およびキャリアの同期に時間を要すると、GPS受信機の反応が遅くなり、使用上において不便を生ずる。
【0044】
従来、実際のGPS受信機においては、この問題点を改善するため、多チャンネル化してパラレルに同期点を探索する必要があり、従来方式のままで大幅なチャンネル増を行うとGPS受信機の構成が複雑となると共に、コスト高となり、また、多チャンネルでパラレルに同期点を検索するものであるため、消費電力も大きくなっていた。消費電力の問題は、携帯型のGPS受信機の場合には大きな問題である。
【0045】
また、上述の従来の手法の場合には、拡散符号およびキャリアの同期捕捉と同期保持とは、周波数サーチを伴なうスライディング相関と、DLL(DelayLocked Loop)およびコスタスループとにより、一体的に行っているので、例えばGPS衛星からの信号が途切れたときには、同期捕捉および同期保持を、再度、一体的に行う必要があり、再同期捕捉および再同期保持までの時間が長くなってしまうという問題もある。
【0046】
さらに、上述の従来の場合には、拡散符号およびキャリアの同期捕捉と同期保持とは、周波数サーチを伴なうスライディング相関と、DLL(Delay Locked Loop)およびコスタスループとにより、一体的に行っているので、GPS受信機の感度を上げようとすると、原理的に同期捕捉および同期保持のための処理時間がかなり長くなってしまうことから、GPS受信機の感度を上げることが容易ではないという問題もあった。
【0047】
以下に説明する実施形態は、上記の問題点を改善したものである。以下、この発明による測位用衛星信号の受信機の実施形態を、GPS受信機の場合を例にとって、図を参照しながら説明する。
【0048】
[実施形態のGPS受信機の全体構成]
図1は、この実施形態のGPS受信機の構成例を示すブロック図であり、また、図2は、この実施形態のGPS受信機の外観を示す図である。図1に示すように、この実施形態のGPS受信機は、周波数変換部10と、同期捕捉部20と、同期保持部30と、制御演算部40と、GPSアンテナ1と、温度補償付き水晶発振回路からなる基準発振回路2と、タイミング信号生成回路3と、水晶発振回路4と、ディスプレイ5と、操作ボタン群6と、ジョグダイヤル7と、地図メモリ8とを備えて構成される。
【0049】
制御演算部40は、CPU(Central Processing Unit)41に対して、プログラムROM(Read Only Memory)42と、ワークエリア用のRAM(Random Access Memory)43と、実時間(RTC(Real Time Clock))を計測するための時計回路44と、タイマ45と、軌道情報用メモリ46と、ディスプレイインターフェース47と、操作ボタンインターフェース48と、ジョグダイヤルデコーダ49と、地図メモリ8とが接続されて構成されている。
【0050】
ディスプレイインターフェース47には、例えばLCD(Liquid Crystal Display)からなるディスプレイ5が接続される。後述するように、ディスプレイ5の画面には、CPU41の制御により、現在地などを表示するための地図が表示されると共に、操作メニューなどが表示される。
【0051】
また、操作ボタンインターフェース48には、操作ボタン群6が接続される。操作ボタン群6には、この例では、図2に示すように、地図拡大ボタン61、地図縮小ボタン62、カーソル位置を前後左右に動かすためのカーソルボタン63が含まれる。
【0052】
ジョグデコーダ49には、ジョグダイヤル7が接続される。ジョグダイヤル7は、アップダウンキーとしての役割と、決定キーとしての役割などの複数の役割を有する操作部である。この例の場合、ジョグダイヤル7は、図2のGPS受信機の外観図に示すように、回転が可能である円形のダイヤルつまみにより構成される。
【0053】
そして、このダイヤルつまみの回転により、ジョグダイヤル7は、アップダウンキーとしての役割を果たす。また、ジョグダイヤル7は、半径方向に押下されることにより、ノンロック式の押ボタンとしての機能を有する。この押ボタンの機能は、決定キーとしての役割を果たすものである。
【0054】
ジョグダイヤル7の操作入力は、ジョグダイヤルデコーダ49で検出され、その操作入力が、ダイヤルつまみの回転、ダイヤルつまみの押下、のどれであるかを示す情報が、ジョグダイヤルデコーダ49からCPU41に送られる。
【0055】
CPU41は、ROM44に書き込まれているプログラムに操作ボタン入力情報やジョグダイヤルデコーダ49からのジョグダイヤル7の操作入力の情報を受け、その解析を行い、それに応じた処理をする。また、CPU41は、RAM43や軌道情報用メモリ46に、必要な情報の格納処理を行ったり、ディスプレイ5の表示画面に、所定の表示画像を表示するための情報を、ディスプレイインターフェース47を通じて送ったりするようにする。
【0056】
また、CPU41は、同期捕捉部20に対して、モード切り換え信号等の制御信号を供給すると共に、同期捕捉部20から後述するような情報を受け取って、同期保持部30を制御したり、GPS衛星からの電波の状況を使用者に告知する処理等をしたりする。さらに、CPU41は、同期保持した4個以上の衛星からの電波に基づく測位演算処理を実行するようにする。すなわち、制御演算部40のCPU41は、このGPS受信機の全体を制御すると共に、測位演算をするためのものである。
【0057】
タイマ45は、各部の動作に必要な各種タイミング信号の生成および時間参照に使用される。軌道情報用メモリ46は、不揮発性メモリとされ、これにはGPS衛星信号から抽出したアルマナック情報およびエフェメリス情報からなる軌道情報が記憶される。軌道情報用メモリ46に対して、エフェメリス情報は、例えば2時間毎に更新され、また、アルマナック情報は、例えば数日あるいは数ヶ月毎に更新される。
【0058】
地図メモリ8は、この例では、地図データが格納された半導体メモリで構成されるが、着脱自在なカード型メモリを用いることもできる。
【0059】
図1のGPS受信機において、基準発振回路2からの基準クロック信号は、逓倍/分周回路3に供給されると共に、後述するように、周波数変換部10の周波数変換用の局部発振回路15に供給される。逓倍/分周回路3は、基準クロック信号を逓倍して、また、分周して、同期捕捉部20、同期保持部30および制御演算部40などに供給するクロック信号を生成する。逓倍/分周回路3は、制御演算部40のCPU41により逓倍比や分周比が制御される。
【0060】
なお、水晶発振回路4からのクロック信号は、制御演算部40の時計回路44用のものとされている。制御演算部40の時計回路44以外の部位のクロック信号は、逓倍/分周回路3からのクロック信号とされる。
【0061】
[周波数変換部10の構成]
GPS衛星信号は、前述もしたように、各GPS衛星から送信される信号であり、50bpsの送信データを、送信信号速度が1.023MHzで、符号長が1023であって、GPS衛星ごとに決められているパターンのPN符号(拡散符号)によりスペクトラム拡散した信号(C/Aコード)により、周波数が1575.42MHzのキャリア(搬送波)をBPSK変調したものである。
【0062】
アンテナ1にて受信された1575.42MHzのGPS衛星信号は、周波数変換部10に供給される。周波数変換部10では、アンテナ1にて受信されたGPS衛星信号が、低雑音増幅回路11にて増幅された後、バンドパスフィルタ12に供給されて、不要帯域成分が除去される。バンドパスフィルタ12からの信号は、高周波増幅回路13を通じて中間周波変換回路14に供給される。
【0063】
また、基準発振回路2の出力が、PLL(Phase Locked Loop)シンセサイザ方式の局部発振回路15に供給され、この局部発振回路15より基準発振器2の出力周波数に対して周波数比が固定された局部発振出力が得られる。そして、この局部発振出力が中間周波変換回路14に供給されて、GPS衛星信号が、信号処理し易い中間周波数、例えば1.023MHzの中間周波信号に低域変換される。
【0064】
中間周波変換回路14からの中間周波信号は、増幅回路16で増幅され、ローパスフィルタ17で帯域制限された後、A/D変換器18で1ビットのデジタル信号(以下、この信号をIFデータという)に変換される。このIFデータは、同期捕捉部20および同期保持部30に供給される。
【0065】
すなわち、この実施形態では、IFデータは、従来のスライディング相関およびコスタスループ+DLLのような同期捕捉・同期保持一体化回路に供給されるのではなく、機能的に分離された同期捕捉部20と、同期保持部30に供給される。
【0066】
この実施形態において、同期捕捉部20は、GPS衛星信号についての同期捕捉、つまり、GPS衛星信号の拡散符号の位相検出および中間周波信号の周波数(以下、IFキャリア周波数という)の検出を行う。同期保持部30は、同期捕捉部20で捕捉したGPS衛星信号の拡散符号とIFキャリアの同期保持を行う。
【0067】
[同期捕捉部20と同期保持部30の構成]
この実施形態では、後述するように、同期捕捉部20では、周波数変換部10からのIFデータの所定時間分をメモリに取り込み、このメモリに取り込んだIFデータについて、GPS衛星信号の拡散符号と、GPS受信機が持つ個々のGPS衛星の拡散符号に対応する拡散符号との相関演算を行って、拡散符号の位相同期捕捉およびIFキャリア周波数の検出を行う。
【0068】
拡散符号の位相同期捕捉に関しては、上述のようなスライディング相関の手法を用いることなく、スペクトラム拡散信号の同期捕捉を高速に行う方法として、マッチドフィルタを用いる方法がある。
【0069】
マッチドフィルタは、トランスバーサルフィルタにより、デジタル的に実現可能である。また、近年は、DSP(Digital Signal Processor)に代表されるハードウエアの能力の向上によって、高速フーリエ変換(以下、FFT(Fast Fourier Transform)という)処理を用いたデジタルマッチドフィルタにより、拡散符号の同期を高速に行う手法が実現している。ただし、デジタルマッチドフィルタそのものは、拡散符号の同期を保持する機能を有しない。
【0070】
後者のFFT処理を用いる方法は、古くから知られる相関計算の高速化方法に基づいており、受信機側の拡散符号と、受信信号の拡散符号との間に相関がある場合には、後述する図5に示すような相関のピークが検出され、ピークの位置が拡散符号の先頭の位相である。したがって、この相関のピークを検出することで、拡散符号の同期を捕捉、すなわち、受信信号における拡散符号の位相を検出することができる。
【0071】
受信信号のキャリア(中間周波数)は、FFTを利用した方法で、FFTの周波数領域での操作により、拡散符号の位相とともに検出することができる。拡散符号の位相は、疑似距離に換算され、4個以上の衛星が検出されれば、GPS受信機の位置を計算することができる。また、キャリア周波数が検出されると、ドップラーシフト量が判り、これにより、GPS受信機の速度が計算できる。
【0072】
以上のことから、この実施形態では、高速フーリエ変換(以下、FFT(Fast Fourier Transform)という)処理を用いたデジタルマッチドフィルタにより拡散符号についての相関計算を行い、その相関計算に基づいて同期捕捉処理を高速に行う。
【0073】
アンテナ1で受信されるGPS衛星信号には、複数のGPS衛星からの信号が含まれているが、同期捕捉部20では、すべてのGPS衛星についての拡散符号の情報を用意しており、その用意されている拡散符号の情報を用いて、その時点でGPS受信機が利用可能な複数個のGPS衛星信号の拡散符号との相関を計算することにより、それらの複数個のGPS衛星信号の同期捕捉をすることが可能である。
【0074】
同期捕捉部20では、いずれのGPS衛星用の拡散符号の情報を用いて同期捕捉したかにより、いずれのGPS衛星からの信号の同期捕捉をしたかを検知する。当該同期捕捉したGPS衛星の識別子としては、例えばGPS衛星番号が用いられる。
【0075】
そして、同期捕捉部20は、同期捕捉したGPS衛星の衛星番号の情報と、同期捕捉により検出した拡散符号の位相の情報と、IFキャリア周波数の情報と、また、必要に応じて、相関の度合いを示す相関検出信号からなる信号強度の情報を、同期保持部30に渡すようにする。
【0076】
同期捕捉部20で検出した衛星番号、拡散符号の位相、IFキャリア周波数、信号強度の情報を、同期保持部30へ渡す方法としては、データのフォーマット、割り込みの方法等を決めた上で、同期捕捉部20から同期保持部30へ直接渡す方法と、制御演算部40を介して渡す方法とがある。
【0077】
前者の場合には、同期捕捉部20のDSP23で、同期保持部30に渡す情報を生成する。あるいは、同期保持部30に、例えばDSPで構成される制御部を設け、その制御部で、同期捕捉部20からの情報に基づいて、同期保持部30で必要な情報を生成する構成とする。
【0078】
また、後者の場合には、制御演算部40のCPU41が制御し、CPU41を介して情報の受け渡し、またCPU41から同期捕捉部20および同期保持部30の制御を行うことができるので、後述する拡散符号の位相補正や、同期捕捉部20と同期保持部30の状況に応じた多様な同期手順を設定しやすくなる。
【0079】
そこで、以下に説明する実施形態では、同期捕捉部20から、衛星番号、拡散符号の位相、IFキャリア周波数、信号強度の情報を、同期保持部30へ渡す方法としては、制御演算部40を介して渡す方法を採用している。
【0080】
[同期捕捉部20の構成]
図3は、同期捕捉部20の構成例を示すものであって、この例では、サンプリング回路21と、データバッファ用のRAM(Random Access Memory)22と、DSP(Digital Signal Processor)23と、プログラムROM(Read Only Memory)と、ワークエリア用のRAMとからなるDSP23用のメモリ部24とを備えて構成される。DSP22およびDSP用のメモリ部24とは、制御演算部40のCPU41に接続されている。
【0081】
サンプリング回路21では、周波数変換部10からの1.023MHzのIFデータを、2倍以上の所定の周波数でサンプリングし、各サンプリング値をRAM22に書き込む。RAM22は、所定時間長分のIFデータを記憶する容量を有する。DSP23では、このRAM22の容量分の時間長のIFデータ単位に同期捕捉処理を行う。
【0082】
すなわち、この例では、DSP23は、RAM22に取り込んだIFデータについて、高速フーリエ変換(以下、FFT(Fast Fourier Transform)という)処理を用いたデジタルマッチドフィルタにより、拡散符号の同期捕捉を高速に行う。そして、DSP23は、その同期捕捉の結果として、同期捕捉したGPS衛星番号と、同期捕捉したGPS衛星信号の拡散符号の位相およびそのIFキャリア周波数とを検出する。
【0083】
サンプリング回路21におけるサンプリング周波数により、拡散符号の位相の検出精度が決まる。このサンプリング周波数は、サンプリング定理からIF信号に含まれる最大周波数の2倍以上である必要があり、IFキャリア周波数の整数倍の周波数が望ましい。
【0084】
また、RAM22の容量により決まるDSP23での処理単位の時間長により、IFキャリア周波数の検出精度が決まる。このDSP23での処理単位の時間長は、拡散符号の1周期の整数倍、後述のように、特に2のべき乗倍が望ましい。
【0085】
ここで、サンプリング回路21でのサンプリング周波数を、拡散符号のチップレートのα倍、RAM22に取り込むIFデータの時間長を拡散符号の1周期のβ倍(βミリ秒)とすると、DSP23では、FFTの周波数領域での操作により、拡散符号の位相は1/αチップの精度で検出することができ、IFキャリア周波数は、1/βkHz(±1/2βkHz)の精度で検出することができる。
【0086】
そして、この実施形態では、DSP23では、同期捕捉のサーチモード(以下、測位モードという)として、高速モードと、高感度モードとが選択可能とされている。高速モードは、後述するように、同期捕捉のサーチを粗く行って、拡散符号の位相およびIFキャリア周波数の検出を高速に行うようにするためのものであり、衛星からの電波が強いときに有効である。
【0087】
高感度モードは、後述するように、同期捕捉のサーチを精細に行って、拡散符号の位相およびIFキャリア周波数の検出を確実に行うようにするためのものであり、衛星からの電波が弱い状況のときに有効である。
【0088】
この2つのモードの切り換えは、この例では、自動(オートモード)の場合と、手動(マニュアルモード)の場合とが、選択可能とされている。そして、制御演算部40のCPU41は、自動により切り換え設定されるいずれかの測位モード、あるいは使用者の手動の切り換え操作により設定される測位モードで、同期捕捉のサーチ動作を行うように、同期捕捉部20のDSP23を制御するようにする。
【0089】
オートモードにおいては、この例では、初期モードは常に高速モードとし、高速モードで衛星電波の受信(同期捕捉)ができなかったときに、高感度モードに自動切り換えするようにする。そして、高感度モードのときに、GPS衛星からの電波の受信電界強度が大きくなって、再び高速モードでの同期捕捉が可能になる状態に復帰したら、高速モードに戻すようにする。
【0090】
なお、ユーザの設定により、オートモードの初期モードを、高感度モードと、高速モードのいずれかを指定することができるようにすることも勿論できる。
【0091】
次に、DSP23におけるFFTを用いたデジタルマッチドフィルタによる同期捕捉のいくつかの例について詳述する。
【0092】
〔デジタルマッチドフィルタによる同期捕捉の第1の例〕
この例においては、サンプリング回路21でのサンプリング周波数は、拡散符号のチップレートのほぼ4倍の4.096MHzとされる。そして、RAM22には、拡散符号の1周期分(1ミリ秒)である4096サンプル点のデータを記憶する。DSP23は、このRAM22に取り込まれた1ミリ秒単位のデータについて、GPS衛星信号の拡散符号とGPS受信機の拡散符号との相関を、FFTを用いた相関演算により計算して、同期捕捉を行う。拡散符号の1周期分は、1023チップであるから、1/4チップの精度で拡散符号の位相検出が可能となる。また、IFキャリア周波数の検出精度は、1ミリ秒単位のFFT処理であるので、1kHzである。
【0093】
この例では、図3に示すように、DSP23では、RAM22に書き込まれた1ミリ秒単位のIFデータを読み出して、FFT処理部101でFFT処理し、そのFFT結果をメモリ102に書き込む。そして、メモリ102に書き込まれたFFT結果は、読み出しアドレス制御部109の読み出し制御にしたがって、順に読み出されて、乗算部103に供給される。この読み出しアドレス制御部109は、メモリ102からのFFT結果の順次読み出しだけを行うのではない。
【0094】
この例では、読み出しアドレス制御部109には、相関点検出部108の出力が供給され、相関点検出部108で、相関のピークが得られなかったときには、メモリ102からのFFT結果の読み出しアドレスの初期値を、シフトするようにする制御をも行うものである。
【0095】
一方、拡散符号発生部104から、GPS衛星からの受信信号に使用されている拡散符号と同じ系列と考えられる拡散符号を発生させる。実際的には、拡散符号発生部104からは、予め用意されている複数個のGPS衛星の拡散符号が順次に切り換えられて出力されることになる。
【0096】
この拡散符号発生部104からの1周期分(1023チップ)の拡散符号は、FFT処理部105に供給されてFFT処理され、その処理結果がメモリ106に供給される。このメモリ106からは、読み出しアドレス制御部110の読み出し制御にしたがって、FFT結果が低い周波数から順に読み出されて乗算部103に供給される。この例では、この読み出しアドレス制御部110は、常に、メモリ106からFFT結果を、低い周波数から順に読み出すようにする処理のみを行う。
【0097】
乗算部103では、メモリ102からの受信信号のFFT結果と、メモリ106からの拡散符号のFFT結果とが乗算され、周波数領域における受信信号と拡散符号との相関の度合いが演算される。ここで、乗算部105での乗算は、受信信号の離散フーリエ変換結果と、拡散符号の離散フーリエ変換結果とのどちらか一方の複素共役と他方とを乗算する演算となる。そして、その乗算結果は逆FFT処理部107に供給されて、周波数領域の信号が時間領域の信号に戻される。
【0098】
逆FFT処理部107から得られる逆FFT結果は、受信信号と拡散符号との時間領域における相関検出信号となっている。この相関検出信号は、相関点検出部108に供給される。
【0099】
この相関検出信号は、拡散符号の1周期分の各チップ位相における相関値を示すものとなっており、所定の強度以上である受信信号中の拡散符号と、拡散符号発生部104からの拡散符号とが同期している位相(拡散符号の1周期分単位の位相)においては、図5に示すように、1023チップのうちのある一つの位相での相関値が、予め定められるスレッショールド値を超えるようなピーク値を示す相関波形が得られる。このピーク値の立つチップ位相が、相関点の位相であり、GPS受信機側の拡散符号に対するGPS衛星信号の拡散符号の1周期の先頭の位相となる。
【0100】
一方、受信信号が所定の強度以下である場合、受信信号中の拡散符号と、拡散符号発生部104からの拡散符号とが同期しても、図5のようなピーク値が立つ相関波形は得られず、いずれのチップ位相においても、予め定められるスレッショールド値を超えるようなピークは立たない。
【0101】
相関点検出部108は、例えば、予め定めた値を超えるピーク値が、この相関点検出部108に供給される相関検出信号に存在するかどうかにより、受信信号と拡散符号との同期が取れたかどうかを検出する。
【0102】
相関点検出部108で同期が取れたことを検出した場合には、前記ピーク値の位相を相関点、つまり、GPS衛星信号の拡散符号の位相として検出する。そして、DSP23は、そのときの拡散符号発生部104からの拡散符号がいずれのGPS衛星用のものであるかにより、GPS衛星番号を認識する。
【0103】
また、図5に示した相関検出信号は時間領域のものであるが、後述する処理により中間周波受信信号におけるキャリア成分を正しく除去した場合にのみ相関のピークが検出される。
【0104】
そして、除去を行ったキャリア成分の周波数が、前記の予め定めた値を超えるピーク値が立つ相関点に対応する、ドップラーシフト分を含めたIFキャリア周波数となる。したがって、このドップラーシフト分を含めたIFキャリア周波数が、相関点検出の結果としてDSP23において、検出される。
【0105】
以上のようにして、一つのGPS衛星についての同期捕捉が完了すると、この例では、拡散符号発生部104から発生させる拡散符号を他のGPS衛星信号の拡散符号に対応するものに変更して、上記の処理を繰り返す。また、同期が取れなかった場合にも、DSP23では、拡散符号発生部104から発生させる拡散符号を他のGPS衛星信号の拡散符号に対応するものに変更して、上記の処理を繰り返す。
【0106】
そして、DSP23では、サーチすべき全GPS衛星についての同期捕捉処理が終了したとき、あるいは制御演算部40のCPU41からの情報により、例えば4個以上のGPS衛星についての拡散符号の同期が取れたときに、以上の同期捕捉処理を終了する。
【0107】
DSP23は、その同期捕捉の結果として検出した、同期捕捉したGPS衛星番号と、同期捕捉したGPS衛星信号の拡散符号の位相およびそのIFキャリア周波数とからなる情報を、制御演算部40に供給する。また、この例では、DSP23は、同期捕捉した各GPS衛星信号についての相関点のピーク値をも、制御演算部40に供給するようにしている。
【0108】
以上の説明では、受信信号のキャリアの処理を考慮していないが、実際には、受信信号r(n)は、図48の式(3)に示すようにキャリアを含んでいる。この式(3)において、Aは振幅、d(n)はデータ、foは中間周波信号におけるキャリア角周波数、n(n)はノイズを表している。
【0109】
サンプリング部21でのサンプリング周波数をfs 、拡散符号の1周期分についてのサンプリング数をN(したがって、0≦n<N)とすると、離散フーリエ変換後の離散周波数k(0≦k<N)と実周波数fとの関係は、
0≦k≦N/2ではf=k・fs /N、
N/2<k<Nではf=(k−N)・fs /N(f<0)
である。なお、離散フーリエ変換の性質により、R(k)、C(k)は、k<0およびk≧Nでは循環性を示す。
【0110】
そして、受信信号r(n)から、データd(n)を得るためには、拡散符号c(n)とキャリアcos2πnf0との同期をとってキャリア成分を除去する必要がある。すなわち、後述する図48の式(2)で、R(k)のみにキャリア成分が含まれている場合には、図5にしたようなピークが立つ相関波形は得られない。
【0111】
この実施の形態では、FFTによる周波数領域での処理のみの簡単な構成により、拡散符号c(n)とキャリアcos2πnf0との同期をとってキャリア成分を除去することができるようにしている。
【0112】
すなわち、この実施の形態では、FFT処理部105から得られる拡散符号発生部104からの拡散符号のFFT結果は、演算制御部40の制御の元に、読み出しアドレス制御部110により、通常のように、常に、周波数が低い周波数成分から順にメモリ106から読み出して、乗算部103に供給する。
【0113】
一方、FFT処理部101から得られるGPS衛星からの受信信号のFFT結果については、メモリ102からのFFT結果についての読み出し開始アドレスが、キャリア周波数に応じた分だけ最低周波数成分のアドレス位置よりもシフトしたアドレスとなるように、演算制御部40の制御の元に、読み出しアドレス制御部109により制御される。
【0114】
すなわち、あるアドレス位相の周波数成分から始めて、メモリ102の全ての周波数成分を読み出しても、相関のピークが得られなかったときには、読み出しアドレス制御部109は、メモリ102からの読み出し開始アドレスを、シフト制御して、そのシフト制御したアドレスから順次FFT結果の再度の読み出しを行うようにする。
【0115】
このとき、この実施形態では、読み出しアドレス制御部109は、制御演算部40からのモード切り換え制御を受けて、測位モードが高速モードのときには、読み出し開始アドレスの一回当たりのシフト量を大きくして、粗いサーチを行うようにし、また、測位モードが高感度モードのときには、読み出し開始アドレスの一回当たりのシフト量を最小(隣の周波数成分のアドレス位置にシフト)として、精細なサーチを行うようにする。
【0116】
すなわち、メモリ102からは、読み出しアドレス制御部109からの制御に従って、読み出し開始アドレスがシフト制御されて、複数回、順次、受信信号のFFT結果が読み出される。このときのシフト制御量が、精細に変更されるのが高感度モードであり、粗く変更されるのが高速モードである。
【0117】
つまり、高感度モードにおいては、ある読み出し開始アドレスからのFFT結果のメモリ102からの読み出しでは、相関のピークが得られなかったときには、読み出しアドレス制御部109は、メモリ102についての前記読み出し開始アドレスを、前回のものに隣接する、一つ高い周波数あるいは一つ低い周波数のアドレスにシフトして、FFT結果を読み出すようにする。そして、相関のピークが得られるようになるまで、そのような読み出し開始アドレスの精細なシフト制御を繰り返す。
【0118】
これに対して、高速モードにおいては、ある読み出し開始アドレスからのFFT結果のメモリ102からの読み出しでは、相関のピークが得られなかったときには、読み出しアドレス制御部109は、メモリ102についての読み出し開始アドレスを、n個(nは2以上の整数)離れたアドレス位置にシフトして、n個離れた高い周波数あるいは低い周波数の成分から、FFT結果をメモリ102から読み出し開始するようにシフト制御する。そして、相関のピークが得られるようになるまで、そのような読み出し開始アドレスの粗いシフト制御を繰り返す。
【0119】
拡散符号発生部104からの拡散符号と、受信信号に含まれる拡散符号とが同一の系列のものであれば、上記の読み出し開始アドレスのシフト制御により、いずれかの読み出し開始アドレスのときのメモリ102からのFFT結果と、メモリ106からのFFT結果とについて、相関のピークが得られる。
【0120】
ところで、受信信号を得たGPS衛星についてのドップラーシフト量が正確に見積もられ、かつ、GPS受信機内部の発振周波数および時間情報を正確に校正することに基づいて検出された受信信号のキャリア周波数の情報が、GPS受信機内部で生成され、あるいは外部から取得される場合には、読み出しアドレス制御部109により、そのキャリア周波数分だけ、メモリ102の読み出し開始アドレスをシフトすることにより、相関点検出部108において、即座に相関のピークが得られる。
【0121】
しかし、キャリア周波数が不明である場合には、上述のように、メモリ102からの読み出し開始アドレスを順次に、測位モードに応じたシフト量でシフトして、サーチを行い、相関のピークが得られる読み出し開始アドレスを検索する。
【0122】
このように受信信号r(n)のFFT結果を、メモリ102から、受信信号のキャリア周波数分だけシフトして読み出すことにより、後述するように、キャリア成分を除去した受信信号のFFT結果と等価なFFT結果を得ることができ、そのキャリア成分を除去したFFT結果と、拡散符号の1周期分のFFT結果との乗算結果を逆拡散すれば、確実に図5のように相関点でピークを生じる相関検出出力が得られる。
【0123】
なお、後述もするように、メモリ102からのFFT結果の読み出しアドレスを制御するのではなく、メモリ106からの拡散符号のFFT結果の読み出しアドレスを制御することにより、拡散符号のFFT結果に、受信信号r(n)のキャリア分を加え、乗算部103での乗算によって、上述と同様にして、キャリア成分の除去を行うようにすることもできる。
【0124】
以下に、メモリ102またはメモリ106からの読み出しアドレスの制御によって、受信信号のキャリアと拡散符号との同期によるキャリア成分の除去について、DSP23でのデジタルマッチドフィルタの処理の動作説明と共に、さらに詳細に説明する。
【0125】
この実施の形態において、DSP23では、デジタルマッチドフィルタの処理が行われるものであるが、このデジタルマッチドフィルタの処理の原理は、図48の式(1)に示すように、時間領域での畳み込みのフーリエ変換が周波数領域では乗算になるという定理に基づくものである。
【0126】
この式(1)において、r(n)は時間領域の受信信号、R(k)はその離散フーリエ変換を表す。また、c(n)は拡散符号発生部からの拡散符号、C(k)はその離散フーリエ変換を表す。nは離散時間、kは離散周波数である。そして、F[]は、フーリエ変換を表している。
【0127】
2つの信号r(n)、c(n)の相関関数を改めてf(n)と定義すると、f(n)の離散フーリエ変換F(k)は、図48の式(2)のような関係になる。したがって、r(n)を周波数変換部10からの信号とし、c(n)を拡散符号発生部104からの拡散符号とすれば、r(n)とc(n)の相関関数f(n)は、通常の定義式によらず、前記式(2)により以下の手順で計算できる。
【0128】
・受信信号r(n)の離散フーリエ変換R(k)を計算する。
【0129】
・拡散符号c(n)の離散フーリエ変換C(k)の複素共役を計算する。
【0130】
・R(k)、C(k)の複素共役より、式(2)のF(k)を計算する。
【0131】
・F(k)の逆離散フーリエ変換により相関関数f(n)を計算する。
【0132】
ところで、前述したように、受信信号r(n)に含まれる拡散符号が、拡散符号発生部104からの拡散符号c(n)と一致していれば、上記手順により計算した相関関数f(n)は、図5のように相関点でピークを生ずる時間波形となる。上述したように、この実施の形態では、離散フーリエ変換および逆フーリエ変換に、FFTおよび逆FFTの高速化アルゴリズムを適用したので、定義に基づいて相関を計算するより、かなり高速に計算を行うことができる。
【0133】
次に、受信信号r(n)に含まれるキャリアと拡散符号との同期について説明する。
【0134】
前述したように、受信信号r(n)は、図48の式(3)に示すようにキャリアを含んでいる。受信信号r(n)から、データd(n)を得るためには、拡散符号c(n)とキャリアcos2πnf0との同期をとって除去する必要がある。すなわち、前述の図48の式(2)で、R(k)のみにキャリアが含まれている場合には、図5のような相関波形が得られない。
【0135】
前述したように、ドップラーシフト量が正確に見積もられ、かつ、GPS受信機内部の発振周波数および時間情報が正確であれば、受信信号r(n)のキャリア周波数f0が既知となる。その場合には、図6に示すように、FFT処理部101の前段に乗算部121を設け、この乗算部121において受信信号r(n)と信号発生部122からの周波数f0のキャリアとを乗算して周波数変換することにより、FFTを行う前に受信信号r(n)からキャリア成分を除くことができる。
【0136】
その場合には、メモリ102からは、そのキャリア成分が除去された受信信号r(n)のFFT結果が得られ、このFFT結果と、拡散符号c(n)のFFT結果とが乗算部103で乗算されるので、逆FFT処理部107の出力としては、図5のように相関点にピークを生じる時間波形が確実に得られる。
【0137】
図6で括弧内に記載したように、受信信号r(n)からキャリア成分を除去するのではなく、拡散符号c(n)についてのFFT処理部105の前段に乗算部121を設けて、この乗算部121において拡散符号c(n)と信号発生部122からの周波数f0のキャリアとを乗算して周波数変換することにより、拡散符号にキャリア成分を加えるようにしても同様である。
【0138】
すなわち、その場合には、メモリ102から読み出した受信信号のFFT結果に含まれるキャリア成分と、メモリ106から読み出した拡散符号のFFT結果に含まれる、加えられたキャリア成分とが同期しているため、逆FFT処理部107からは、図5のように相関点でピークを生じる相関検出出力が得られる。
【0139】
しかし、この図6のように時間領域の信号にキャリア周波数の信号を乗算する方法による場合には、キャリア成分を除くための乗算部が特に必要になり、構成が複雑になると共に、その乗算演算の分だけ、処理速度が遅くなるという不利益がある。また、キャリア周波数が未知である場合には、信号発生部22を可変周波数発振器の構成として、周波数サーチを行う手段がさらに必要となる。
【0140】
一方、FFTの性質として、上述のような周波数乗算は、図48の式(4)のように表すことができる。この式(4)で、F[]は離散フーリエ変換、φ0 はキャリアとの位相差、k0 はf0 に対応するkであって、f0 =k0 ・fs /Nである。この式(4)より、受信信号r(n)を図6のように周波数変換した信号のFFTは、r(n)のFFTであるR(k)を、キャリア周波数分k0だけシフトした形になる。
【0141】
以上のことから、図6の構成は、図7のような構成に置換可能となる。すなわち、受信信号r(n)や拡散符号c(n)にキャリア周波数を乗算する代わりに、受信信号のFFT結果または拡散符号のFFT結果をメモリ102またはメモリ106からの読み出す際の読み出しアドレスを、キャリア周波数分だけシフトするようにするものである。
【0142】
この場合に、図7で、受信信号r(n)をシフトする場合はダウンコンバージョンで、k0 >0とし、また、拡散符号c(n)をシフトする場合はアップコンバージョンで、k0 <0とする。
【0143】
以上説明したように、式(4)に示したFFTの性質を利用すれば、図6の信号発生器122は不要になり、図7のように、FFT結果のメモリからの読み出しアドレス位相をシフトするだけでよくなり、構成が簡単になると共に、処理の高速化につながる。
【0144】
なお、前述の式(4)における位相差φ0 は未知であるため、図7では無視しているが、例えば、図48の式(5)により計算されるF’(k)の逆FFTの演算結果として得られる相関関数f’(n)(0≦n<N)は複素数となり、その実部をfR’(n)、虚部をfI’(n)とすると、相関ピークの振幅|f’(n)|は、図48の式(6)に示すようにして得られ、位相φは、図48の式(7)に示すようにして得られるので、式(4)の右辺のexp(jφ0 )の乗算は省略してよい。なお、位相φ は、式(3)のデータd(n)の符号に対応したπだけ異なる2つの値に式(7)のφ0が加わった値となる。
【0145】
GPS衛星信号のキャリア周波数が既知とした場合において、DSP23における同期捕捉処理の動作を図4のブロック図に反映させた構成図の例を図8に示す。この図8の各ブロックの出力には、上述したような信号出力r(n)、c(n)および演算結果R(k)、C(k)、f'(n)が示されている。この図8は、メモリ102における読み出し開始アドレスのアドレスシフト量が、丁度、キャリア周波数分に相当する分となっている状態におけるものである。
【0146】
次に、キャリア周波数が未知である場合には、図4に示したように、読み出しアドレス制御部109は、相関点検出部108からの相関検出出力に基づいて読み出し開始アドレスをシフト制御する。すなわち、読み出しアドレス制御部109は、相関点検出部108の相関結果を解析し、相関のピークが得られるまで、メモリ102(またはメモリ106)の読み出し開始アドレスのシフト制御を行うものである。
【0147】
この場合に、読み出しアドレス制御部109は、制御演算部40からの測位モードの情報により、そのときの測位モードが高速モードか、高感度モードかを認識し、認識結果の測位モードに応じたシフト量で、メモリ102(またはメモリ106)の読み出し開始アドレスのシフト制御を行うものである。
【0148】
この場合において、メモリ102(またはメモリ106)のFFT結果の読み出し開始アドレスの初期値は、過去のデータから決定した予測アドレスとされる。すなわち、読み出しアドレス制御部109は、受信信号r(n)のFFT結果のメモリ102からの読み出し開始アドレスを、前記過去のデータから決定した予測アドレスを読み出し開始アドレスの初期値として、この初期値を中心に、測位モードに応じたシフト量で、相関点検出部108の相関検出出力に基づいて変更制御して、相関点検出部108で図5に示したようなピークが得られるようにする。
【0149】
相関点検出部108で図5に示したようなピークが得られたときには、読み出しアドレス制御部109は、読み出し開始アドレスのシフト制御を、そのときのシフト量で停止するようにする。その停止したときのアドレスシフト位置により、拡散符号の位相およびキャリア周波数が求まる。
【0150】
以上の同期捕捉の第1の例における同期捕捉部20での処理の流れを、図9〜図11のフローチャートを参照しながら説明する。なお、この図9〜図11のフローチャートは、主としてDSP23でのソフトウエア処理に対応するものである。
【0151】
まず、周波数変換部10からのIFデータをサンプリング回路21でサンプリングし、信号r(n)としてRAM22に取り込む(ステップS1)。次に、この信号r(n)をFFT処理部101でFFT処理し、そのFFT結果R(k)をメモリ102に書き込む(ステップS2)。次に、信号を受信したGPS衛星に対応する拡散符号のFFT結果C(k)をメモリ106にセットする(ステップS3)。
【0152】
次に、受信信号r(n)のFFT結果R(k)のメモリ102からの読み出し開始アドレスのシフト量の初期値k0’を、過去のデータから決定する(ステップS4)。そして、決定した初期値k0’を、メモリ102からのFFT結果の読み出し開始アドレスのシフト量k'として設定すると共に、シフト制御の変更回数vを初期値v=0にセットする(ステップS5)。
【0153】
次に、メモリ102から、受信信号r(n)のFFT結果R(k)を、読み出し開始アドレスを、k'だけシフトして読み出す(ステップS6)。そして、読み出したFFT結果R(k−k')と、拡散符号のFFT結果C(k)の複素共役とを乗算して相関関数F’(k)を求める(ステップS7)。
【0154】
次に、この相関関数F’(k)の逆FFTを行って時間領域の関数f’(n)を求める(ステップS8)。そして、この関数f’(n)について、ピーク値f’(np)を求め(ステップS9)、そのピーク値f’(np)が予め設定されているスレッショールド値fthより大きいかどうか判別する(図10のステップS11)。
【0155】
ステップS11において、ピーク値f’(np)が、予め設定されているスレッショールド値fthより大きいと判別したときには、そのピーク値f’(np)を取る離散時間(拡散符号の位相)npを相関点として検出する(ステップS12)。
【0156】
そして、検出した相関点npが、4個目であるか否か判別し(ステップS13)、4個目であると判別したときには、受信機位置計算処理を開始し、同期保持部30における同期保持処理をする(ステップS14)。その後、ステップS15に移行する。ステップS14の処理は、4個目以降でも行うにようにしてもよい。
【0157】
なお、ステップS12で検出した相関点npが得られるときの読み出し開始アドレスのシフト量k'から、当該受信中のGPS衛星についてのドップラーシフト量およびGPS受信機の発振周波数の誤差を推定することができる。すなわち、受信信号のキャリア周波数を検知することができる。
【0158】
ステップS13で、検出した相関点npが、4個目以外であると判別したときには、サーチすべきすべての衛星について、上述の拡散符号同期サーチ処理が終了したか否か判別し(ステップS15)、サーチすべきすべての衛星についての拡散符号同期サーチ処理が終了したと判別したときには、サーチ動作を終了する(ステップS16)。
【0159】
また、ステップS15で、拡散符号同期サーチが終了していない衛星があると判別したときには、次に拡散符号同期サーチを行う衛星を選択し、その選択した衛星が用いる拡散符号c(n)に拡散符号を変更する(ステップS17)。そして、ステップS3に戻り、上述したステップS3以降の処理を実行する。
【0160】
ステップS11での判別の結果、ピーク値f’(np)が、予め設定されているスレッショールド値fthより小さく、相関点が検出できなかったときには、現在モードは何であるかを判別する(図11のステップS21)。そして、現在モードが高感度モードであると判別したときには、シフト制御の変更回数vが予め設定された最大値vmaxよりも小さいかどうか判別する(ステップS22)。この最大値vmaxは、周波数に換算したときに、1kHzに相当する。
【0161】
そして、シフト制御の変更回数vが予め設定された前記最大値vmaxよりも小さいと判別したときには、シフト制御の変更回数vを1だけインクリメント(v=v+1)すると共に、新たなシフト量k'を、
k'=k'+(−1)×v
として設定し(ステップS23)、その後、図9のステップS6に戻る。そして、上述したステップS6以降の処理を繰り返す。
【0162】
また、ステップS21で現在モードが高速モードであると判別したときには、高速モードでは、高感度モードのときのシフト量のn倍(nは2以上の整数)でメモリ102からの読み出し開始アドレスのシフトを行うことから、シフト制御の変更回数vのn倍が予め設定された最大値vmaxよりも小さいかどうか判別する(ステップS24)。
【0163】
そして、シフト制御の変更回数vのn倍が予め設定された前記最大値vmaxよりも小さいと判別したときには、シフト制御の変更回数vを1だけインクリメント(v=v+1)すると共に、新たなシフト量k'を、
k'=k'+(−1)×n×v
として設定し(ステップS25)、その後、図9のステップS6に戻る。そして、上述したステップS6以降の処理を繰り返す。
【0164】
また、ステップS22で、シフト制御の変更回数vが、予め設定された前記最大値vmaxよりも大きいと判別したとき、また、ステップS24で、シフト制御の変更回数vのn倍が、予め設定された前記最大値vmaxよりも大きいと判別したときには、そのように大きいと判別された回数が、現在のRAM22のデータに対して予め定められた所定回数以上となったか否か判別し(ステップS26)、前記所定回数以上でなければ、ステップS1に戻り、RAM22に新たなデータを取り込んで、以上の処理を繰り返す。
【0165】
また、ステップS26で、前記所定回数以上であると判別したときには、サーチすべきすべての衛星について、上述の拡散符号同期サーチ処理が終了したか否か判別し(ステップS27)、すべての衛星についての拡散符号同期サーチ処理が終了したと判別したときには、同期捕捉ができなかったことを、同期捕捉部20から制御演算部40に通知し(ステップS28)、サーチ動作を終了する(ステップS29)。
【0166】
また、ステップS27で、拡散符号同期サーチが終了していないサーチすべき衛星があると判別したときには、次に拡散符号同期サーチを行う衛星を選択し、その選択した衛星が用いる拡散符号c(n)に拡散符号を変更する(ステップS30)。そして、ステップS3に戻り、上述したステップS3以降の処理を実行する。
【0167】
以上説明したような同期捕捉の第1の例の処理動作を、図4のDSP23の内部構成のブロック図に反映させた構成図を図12に示す。この図12の各ブロックの出力には、上述したような信号出力および演算結果が示されている。
【0168】
以上のように、DSP23での捕捉処理の第1の例によれば、GPS受信機において、FFTを利用してデジタルマッチドフィルタを構成する場合に、図12のように、受信信号のFFT結果のメモリからの読み出し開始アドレスを、キャリア周波数分だけ、シフトして、拡散符号と乗算する構成によって、所定の値以上のピークを示す相関点np を得ることができる。そして、4個のGPS衛星、つまり4種類の拡散符号c(n)について、相関点np が判れば、GPS受信機位置の計算が可能になる。
【0169】
すなわち、第1の例によれば、FFTを利用したデジタルマッチドフィルタ処理を行う場合において、受信信号のキャリアと拡散符号との同期を取るために、時間領域で乗算を行うことなく、受信信号のFFT結果と拡散符号のFFT結果同士の周波数領域での乗算の際に、受信信号のFFT結果と拡散符号のFFT結果のうちの一方のFFT結果をシフトするという簡便な方法により、受信信号のキャリア成分を除去することができる。
【0170】
なお、図8および図12では、受信信号のFFT結果R(k)の方の、メモリ102の読み出しアドレスをシフトさせたが、拡散符号のFFT結果C(k)の方のメモリ106の読み出しアドレスを、受信信号のFFT結果R(k)の場合とは逆方向にシフト(乗算器でのアップコンバージョンの形になる)しても良い。
【0171】
また、上述の第1の例の説明においては、拡散符号発生器104とFFT処理部105とを別々に設けるようにしたが、それぞれのGPS衛星に対応する拡散符号を予めFFTしておいたものをメモリに記憶させておくことで、衛星信号の受信時における拡散符号c(n)のFFT計算を省略することができる。
【0172】
[測位モードの設定処理]
次に、この例のGPS受信機における測位モードの設定処理について、図13およびその続きである図14のフローチャートを参照しながら説明する。この図13および図14のフローチャートの各ステップは、主として、制御演算部40のCPU41の処理動作を示すものである。
【0173】
まず、電源の投入を待ち(ステップS41)、電源が投入されたら前回の最後の測位モードを検出する(ステップS42)。次に、検出した測位モードがオートモードであるかマニュアルモードであるか判別する(ステップS43)。
【0174】
そして、マニュアルモードであると判別したときには、高速モードか高感度モードかを判別する(ステップS44)。このステップS44で、高速モードであると判別したときには、同期捕捉部20に高速モードを通知して、同期捕捉部20の測位モードを高速モードにする(ステップS45)。
【0175】
次に、同期捕捉部20から、衛星電波を捕捉することができず、衛星電波の受信ができない旨の通知を受け取ったか否か判別し(ステップS46)、前記通知を受け取ったと判別したときには、図15に示すように、GPS受信機のディスプレイ5の画面に、例えば「高速モードで電波を受信できませんでした。」と表示して、現在モードが高速モードであること、および現在モードでは衛星電波を受信できないことをユーザに告知する(ステップS47)。
【0176】
このとき、後述のオートモードの場合には、高感度モードへの切り換えについての問い合わせをするが、マニュアルモードでは、ユーザによる切り換えを促す趣旨であるため、上述のような告知を行うものである。勿論、図15の告知表示において、測位モードの変更を促したり、電波のより強い場所への移動を促したりする告知を併せて行うようにしてもよい。
【0177】
この図15の告知表示を見て、ユーザは、測位モードを高感度モードに変更したり、電波の強い場所に移動したりすることができる。また、この告知表示により、GPS受信機の現在状況を知ることができるので、なかなか測位結果が表示されずにユーザがいらいらするという事態を防止することもできる。
【0178】
ステップS46において、衛星電波の受信ができない旨の通知を受け取らなかったとき、また、ステップS47の次には、例えばジョグダイヤル7を用いたユーザによる測位モードの変更指示があったか否か判別し(ステップS48)、変更指示がなかったと判別したときには、電源がオフにされたか否か判別し(ステップS55)、電源がオフにされたときには、そのときの測位モードをラストモードとして不揮発性のメモリ(図示は省略)に記憶して(ステップS56)、この処理ルーチンを終了する。また、電源がオフにされなかったときには、ステップS45に戻る。
【0179】
また、ステップS48で、測位モードの変更指示があったと判別したときには、測位モード選択変更処理を実行し(ステップS49)、変更結果として決定された測位モードを認識し(ステップS50)、その後、ステップS43に戻る。
【0180】
また、ステップS44で、高感度モードであると判別したときには、同期捕捉部20に高感度モードを通知して、同期捕捉部20の測位モードを高感度モードにする(ステップS51)。
【0181】
次に、同期捕捉部20から、衛星電波の受信ができたが、測位位置が正確でない可能性がある旨の通知を受け取ったか否か判別し(ステップS52)、前記通知を受け取ったと判別したときには、図16に示すように、GPS受信機のディスプレイ5の画面に、例えば「高感度モードですが、電波が弱く、位置が正確でない可能性があります。」と表示して、現在モードが高感度モードであること、および現在モードでは正確な測位位置を検出できないことをユーザに告知する(ステップS53)。この場合にも、図16の告知表示において、電波のより強い場所への移動を促したりする告知を併せて行うようにしてもよい。
【0182】
この告知表示により、ユーザは、GPS受信機の現在状況を知ることができて、測位結果を的確に利用することができる。
【0183】
ステップS52において、測位位置が正確でない可能性がある旨の通知を受け取らなかったとき、また、ステップS53の次には、例えばジョグダイヤル7を用いたユーザによる測位モードの変更指示があったか否か判別し(ステップS54)、変更指示がなかったと判別したときには、電源がオフにされたか否か判別し(ステップS57)、電源がオフにされたときには、そのときの測位モードをラストモードとして不揮発性のメモリ(図示は省略)に記憶して(ステップS58)、この処理ルーチンを終了する。また、電源がオフにされなかったときには、ステップS51に戻る。
【0184】
また、ステップS54で、測位モードの変更指示があったと判別したときには、測位モード選択変更処理を実行し(ステップS49)、変更結果として決定された測位モードを認識し(ステップS50)、その後、ステップS43に戻る。
【0185】
また、ステップS43において、測位モードがオートモードであると判別したときには、この例の場合には、オートモードの初期モードは高速モードとしているので、同期捕捉部20の測位モードを高速モードにする(図14のステップS61)。
【0186】
次に、同期捕捉部20から、衛星電波を捕捉することができず、衛星電波の受信ができない旨の通知を受け取ったか否か判別し(ステップS62)、前記通知を受け取ったと判別したときには、図17に示すように、GPS受信機のディスプレイ5の画面に、例えば「高速モードで電波を受信できませんでした。これより高感度モードで受信を始めます」と表示して、現在モードがオートモードの高速モードであること、および現在モードでは衛星電波を受信できないので、高感度モードに変更することをユーザに告知する(ステップS63)。そして、同期捕捉部20の測位モードを高感度モードに変更する(ステップS64)。
【0187】
その後、GPS受信機の位置が移動するなどして受信電界強度が上がったか否か判別し(ステップS65)、上がったときには、同期捕捉部20の測位モードを高感度モードに戻す(ステップS66)。そして、ステップS62に戻る。
【0188】
また、ステップS65で、受信電界強度が上がっていないと判別したときには、ユーザによる測位モードの変更指示があったか否か判別し(ステップS67)、変更指示がなかったと判別したときにはステップS65に戻る。また、ステップS67で、測位モードの変更指示があったと判別したときには、測位モード選択変更処理を実行し(ステップS69)、変更結果として決定された測位モードを認識し(ステップS70)、その後、ステップS43に戻る。
【0189】
また、ステップS62で衛星電波の受信ができない旨の通知を受け取らなかったときには、ユーザによる測位モードの変更指示があったか否か判別し(ステップS68)、変更指示がなかったと判別したときにはステップS62に戻る。また、ステップS68で、測位モードの変更指示があったと判別したときには、測位モード選択変更処理を実行し(ステップS69)、変更結果として決定された測位モードを認識し(ステップS70)、その後、ステップS43に戻る。
【0190】
図14のオートモードについての動作処理は、図18のようにすることもできる。すなわち、この図18の例においては、図14のフローチャートにおけるステップS63の代わりに、ステップS71、ステップS72が設けられる。
【0191】
そして、図18の例においては、ステップS62で、衛星電波の受信ができない旨の通知を受け取ったと判別したときには、図19に示すように、GPS受信機のディスプレイ5の画面に、例えば「高速モードで電波を受信できませんでした。これより高感度モードで受信を始めて良いですか?」と表示して、現在モードがオートモードの高速モードであること、および現在モードでは衛星電波を受信できないので、高感度モードに変更しても良いかどうかをユーザに問い合わせる告知をする(ステップS71)。このとき、図19に示すように、ディスプレイ5の画面には、問い合わせに対するユーザの応答入力を受け付ける表示として、例えば[YES]、[NO]を併せて表示する。
【0192】
そして、ユーザの応答を判別し(ステップS72)、[YES]が選択操作されて高感度モードへの変更が承認されたときには、同期捕捉部20の測位モードを高感度モードに変更する(ステップS64)。
【0193】
また、ユーザにより[NO]が選択操作されて、高感度モードへの変更が拒否されたときには、ステップS68に進んで、ユーザによる測位モードの変更指示があったか否か判別し、変更指示がなかったと判別したときにはステップS62に戻る。その他は、図14の例の場合と同様とする。
【0194】
この図18の例によれば、オートモードであっても、ユーザの意志を反映した測位モードの切り換えを行うことができるようになり、便利である。
【0195】
[測位モードの選択操作処理]
次に、上述の例におけるステップS49およびステップS69の測位モード選択変更処理について、図20のフローチャートを参照しながら説明する。この図20のフローチャートの各ステップは、主として、制御演算部40のCPU41の処理動作を示すものである。
【0196】
まず、ユーザがジョグダイヤル7を回転させて、メニュー表示を選択し、そのメニューから測位モードを選択したか否か判別し(ステップS80)、測位モードが選択されると、制御演算部40のCPU41は、図21に示すように、ディスプレイ5の画面にメニューおよびオートモードとマニュアルモードとの選択肢を表示する(ステップS81)。
【0197】
この状態で、ジョグダイヤル7あるいはカーソルボタン63により、オートモードとマニュアルモードとのいずれかのモードの選択肢の選択操作がなされたかどうかを判別し(ステップS82)、モードの選択肢が選択されないと判別したときには、ジョグダイヤル7により中止が選択されたか否か判別し(ステップS83)、中止が選択されたと判別したときには、この処理ルーチンを終了する。中止が選択されなかったと判別したときには、ステップS82に戻る。
【0198】
そして、ステップS82で、モードの選択肢が選択されたと判別したときには、選択されたのはいずれであるかを判別する(ステップS84)。そして、選択されたのが、オートモードであると判別したときには、制御演算部40のCPU41は、同期捕捉部20の測位モードをオートモードと決定する(ステップS85)。
【0199】
前述したように、この例においては、オートモードのときには、初期モードは、高速モードとするので、その旨を同期捕捉部20に通知する。そして、このステップS85の後は、ステップS80に戻る。この通知を受けた同期捕捉部20のDSP23は、高速モードに設定され、メモリ102の読み出しアドレスシフトを粗くして、同期捕捉動作を行う。
【0200】
ステップS84でマニュアルモードが選択されたと判別したときには、図22に示すように、GPS受信機のディスプレイ5の画面に、高速モードと、高感度モードとの選択肢の表示を行う(ステップS86)。
【0201】
この状態で、ジョグダイヤル7あるいはカーソルボタン63により、高速モードと高感度モードとのいずれかのモードの選択肢の選択操作がなされたかを判別し(ステップS87)、モードの選択肢が選択されないと判別したときには、ジョグダイヤル7により中止が選択されたか否か判別し(ステップS88)、中止が選択されたと判別したときには、ステップS80に戻る。ステップS88で中止が選択されなかったと判別したときには、ステップS87に戻る。
【0202】
そして、ステップS87で、モードの選択肢が選択されたと判別したときには、選択されたのはいずれであるかを判別する(ステップS89)。そして、選択されたのが、高感度モードであると判別したときには、制御演算部40のCPU41は、同期捕捉部20の測位モードを高感度モードと決定し、その旨を同期捕捉部20に通知する(ステップS90)。また、選択されたのが、高速モードであると判別したときには、制御演算部40のCPU41は、同期捕捉部20の測位モードを高速モードと決定し、その旨を同期捕捉部20に通知する(ステップS91)。
【0203】
通知を受けた同期捕捉部20は、前述したように、高感度モードのときには、メモリ102の読み出し開始アドレスのシフトを細かくして、同期捕捉動作を行い、高速モードのときには、メモリ102の読み出し開始アドレスのシフトを粗くして、同期捕捉動作を行う。ステップS90およびステップS91の後は、ステップS80に戻る。
【0204】
以上のようにして、同期捕捉の第1の例によれば、GPS衛星からの受信信号のキャリア周波数が未知であっても、FFTによる周波数領域での処理を積極的に用いて、受信信号のキャリアと拡散符号との同期検出を行って、キャリア成分を除去することができる。したがって、FFTを利用したデジタルマッチドフィルタによるGPS受信信号と拡散符号との相関点の検出を、高速、かつ簡単な構成で実現することができる。そして、メモリ102の読み出し開始アドレスのシフト量から、IFキャリア周波数を検出することができる。
【0205】
そして、上述の例によれば、GPS受信機は、高速モードと、高感度モードとの二つのモードを備えることにより、受信場所や受信環境に応じて、常に、迅速かつ正確に測位を行えるようにすることが可能になる。
【0206】
そして、上述の例によれば、高速モードと、高感度モードとを、ユーザの手動操作により切り換え選択することができると共に、現在モードと、衛星電波の受信状況をユーザに告知するようにしたので、その告知に基づいて、ユーザは、適切な測位モードを選択することができるという効果がある。
【0207】
また、上述の例のGPS受信機においては、衛星電波が弱く、高速モードでは受信しにくいときには、測位モードを、自動的に高感度モードに変更することができるので、使い勝手がよい。また、その際に、ユーザに告知されるので、ユーザは、GPS受信機の現在の受信状況を的確に把握することができる。
【0208】
また、測位モードを高速モードから高感度モードに切り換える際に、ユーザに承認を得るようにした場合には、ユーザ毎の使い勝手を優先した測位モードのオートモードを実現することができる。
【0209】
なお、GPS受信機のディスプレイ5の画面には、常に、現在の測位モードが何であるかを表示しておくようにしてもよい。
【0210】
なお、上述の例において、それぞれの衛星に対応する拡散符号を予めFFTしておいたものをメモリに記憶させておくことで、衛星信号の受信時における拡散符号c(n)のFFT計算を省略することができる。つまり、図4の拡散符号発生部104およびFFT処理部105を省略することができる。
【0211】
[測位モードの選択処理の他の例]
図23は、この例の場合におけるGPS受信機の外観を示すものである。この例においては、前述したジョグダイヤル7を用いて測位モードの選択切り換え設定ができるほか、「室内」、「戸外」、「ビルの谷間」などの受信位置を指示するための操作ボタン64,65,66を設け、それらの操作ボタン64,65,66のいずれかが押されると、GPS受信機は、それぞれの操作ボタンに対応して予め定められている測位モードで同期捕捉を行うようにするものである。
【0212】
すなわち、この例においては、操作ボタン64は「室内」ボタンであり、この操作ボタン64が押されると、GPS受信機は、高感度モードで同期捕捉を行うように設定されている。また、操作ボタン65は「戸外」ボタンであり、この操作ボタン65が押されると、GPS受信機は、高速モードで同期捕捉を行うように設定されている。
【0213】
さらに、操作ボタン66は「ビルの谷間」ボタンであり、この操作ボタン66が押されると、GPS受信機は、高速モードで同期捕捉を行うように設定されている。そして、ビルの谷間ではマルチパスが多いことから、より正確であろう電波を選択するように同期捕捉部20を制御する。
【0214】
すなわち、同期捕捉部20では、受信電界強度が強い環境であって、かつ、マルチパスが多い環境では、複数個の電波を同時に捕捉する状態になる。この場合に、ビルなどに反射した電波は、衛星からの直接波に比べて遅延したものとなる。そこで、GPS受信機では、ビルの谷間ボタン66が操作されたときには、同時に捕捉した複数個の電波のうちの、相関の強さではなく、GPS受信機に最も早く到達したもの(位相的に最も遅延の小さいもの)を衛星からの直接波として捕捉するようにする。
【0215】
図24は、この例の場合におけるGPS受信機の測位モード選択処理を説明するためのフローチャートである。このフローチャートにおける各ステップは、主として制御演算部40のCPU41が実行するものである。
【0216】
まず、図20のステップS80と同様に、ユーザがジョグダイヤル7を回転させて、メニュー表示を選択し、そのメニューから測位モードを選択したか否か判別し(ステップS101)、測位モードが選択されると、前述の図20のステップS81以降の処理を行い、ステップS101に戻る。
【0217】
そして、この例においては、ステップS101で、メニューからの測位モードの選択がなされないと判別されたときには、「室内」ボタン64が押されたか否か判別し(ステップS102)、押されたと判別したときには、制御演算部40のCPU41は、同期捕捉部20の測位モードを高感度モードと決定し、その旨を同期捕捉部20に通知する(ステップS103)。そして、ステップS101に戻る。
【0218】
ステップS102で、「室内」ボタン64は押されなかったと判別したときには、「戸外」ボタン65が押されたか否か判別し(ステップS104)、押されたと判別したときには、制御演算部40のCPU41は、同期捕捉部20の測位モードを高速モードと決定し、その旨を同期捕捉部20に通知する(ステップS105)。そして、ステップS101に戻る。
【0219】
ステップS104で、「戸外」ボタン65は押されなかったと判別したときには、「ビルの谷間」ボタン66が押されたか否か判別し(ステップS106)、押されたと判別したときには、制御演算部40のCPU41は、同期捕捉部20の測位モードを高速モードと決定し、その旨と、前述したマルチパスを考慮した同期捕捉処理を行うようにする指示とを同期捕捉部20に通知する(ステップS107)。そして、ステップS101に戻る。
【0220】
この例によれば、ユーザは、高感度モードと、高速モードがどの環境に適応しているかを知らなくても、自分が現在、GPS受信機を使用している環境を示す操作ボタンを操作するだけで、GPS受信機を適切な測位モードに設定することができるという効果がある。
【0221】
この例においても、ディスプレイ5の画面には、室内モード、戸外モード、ビルの谷間モード、あるいは、それらに対応する高感度モードまたは高速モードをそれぞれ示す表示して、現在モードが何であるかをユーザに報知するようにしてもよい。
【0222】
〔デジタルマッチドフィルタによる同期捕捉の第2の例〕
上述したように、デジタルマッチドフィルタによって受信信号と拡散符号の相関点を検出する場合には、その相関点を検出する単位データ長は、拡散符号の1周期長とするのが通常である。
【0223】
しかし、GPS衛星からの受信信号では、前述したように、データの1ビットは、拡散符号の20周期分であり、この20周期分では、すべて同じパターンの符号となっている。この同期捕捉の第2の例では、この特質を生かして、デジタルマッチドフィルタによって受信信号と拡散符号の相関点を検出する単位データ長は、拡散符号の複数周期長とする。サンプリング回路21におけるサンプリング周波数は、前述の例と同様でよい。
【0224】
受信信号について、拡散符号の複数周期分単位でFFT演算処理をすることにより、この同期捕捉の第2の例によれば、IFキャリア周波数の検出精度が高くなると共に、受信感度が向上し、同じ時間領域の信号を累積加算する方法に比べて、拡散符号の同期捕捉およびIFキャリア周波数のサーチがし易くなる。以下、この同期捕捉の第2の例を、さらに説明する。
【0225】
時間領域において、拡散符号のM周期(Mは2以上の整数)に渡って累積加算を行った1周期長のデータに対して相関点を検出する先行例がある(例えば米国特許4998111号明細書または「An Introduction to Snap TrackTM Server−Aided GPS Technology, ION GPS−98 Proceedings」参照)。
【0226】
すなわち、図25に示すように、この先行例の方法においては、受信信号r(n)について、拡散符号との乗算結果を、M周期分に渡って累積加算するものである。この先行例の方法は、GPS衛星からの受信信号の周期性とノイズの統計的な性質とを利用してC/Nを高めるもので、受信信号のキャリアと拡散符号の同期が事前にとれている状態であれば、C/NがM倍に改善され、したがって受信感度(相関点の検出感度)はM倍に向上する。そして、キャリア周波数の検出精度のM倍に向上する。
【0227】
しかし、受信信号のキャリアと拡散符号との同期がとれていないと位相の異なるM個のキャリアが加算合成されてしまい、累積加算した結果においては肝心のGPS信号が相殺されてしまって相関ピークは検出できなくなる。
【0228】
このため、受信信号のキャリア周波数が未知の場合には、キャリア周波数をサーチする必要があり、サーチする各々の周波数毎に累計加算を行うといった効率の悪い操作を行わざるを得なくなる。
【0229】
これに対して、上述した同期捕捉の第1の例では、上述したようにして周波数領域において、FFT結果のメモリからの読み出しアドレスをシフトするという簡便な方法により、受信信号のキャリアと拡散符号との同期がとれるので、累積加算の効果を最大限に発揮させることができる。
【0230】
この同期捕捉の第2の例では、上述の第1の例と同様に、GPS衛星からの受信信号のキャリア周波数は未知として、キャリア周波数のサーチを行うのであるが、その場合に、受信信号r(n)については、拡散符号のM周期分毎にFFTを行うようにする。そして、この拡散符号のM周期分毎に、受信信号のFFT結果のメモリからの読み出しアドレスのシフト量の制御による受信信号のキャリア周波数のサーチを行う。
【0231】
前述した図48の式(3)中のデータd(n)は、M≦20とすれば、拡散符号のM周期中では1または−1の固定値になるので無視できる。すると、式(3)は、
r(n)=A・c(n)cos2πnf0 +n(n)
となり、これをM周期長で離散フーリエ変換すると、データの数はM×N(Nは拡散符号の1周期分のデータ数)なので、離散フーリエ変換後のkと実周波数fの関係は、サンプリング周波数fs に対して
0≦k≦MN/2では、f=kfs /MN
となり、
MN/2<k<MNでは、f=(k−MN)fs /MN(ただしf<0)
となって、分解能がM倍になる。
【0232】
しかし、拡散符号c(n)は周期信号であり、その1周期長の時間をT(GPSのC/AコードではT=1ミリ秒)とすると、f=1/T以下の精度の周波数成分はない。したがって、受信信号r(n)の離散フーリエ変換後のFFT結果R(k)(ただし、0≦k<MN)中の拡散符号c(n)の周波数成分はM個おき、すなわち、MN個のデータのうちのN個の点に集中し、その振幅は、M周期分が累積加算されるため、1周期長での同じ周波数成分のM倍になる。説明の簡単のため、M=4としたときのスペクトラム例を図26に示す。
【0233】
図26の例では、信号のスペクトラムがM=4個おきにあり、それらの間には信号成分はない。N個の点以外では、拡散符号c(n)の周波数成分は0になる。一方、ノイズn(n)は、多くの場合、非周期信号であるから、MN個の全周波数成分にエネルギーが分散される。したがって、受信信号r(n)のFFT結果R(k)中における拡散符号c(n)のN個の周波数成分の総和において、時間領域での累積加算と同様に、C/NがM倍向上することになる。
【0234】
受信信号r(n)中に、式(3)に示したキャリア成分cos2πnf0がなければ、FFT結果R(k)中の拡散符号c(n)の周波数成分は、k=i×M(ただし、0≦i<N)に集中するが、キャリア成分が存在するので、この第3の例では、メモリからのFFT結果R(k)の読み出しアドレスを、拡散符号の1周期当たりについて、k=(i×M)−k0 として、キャリア周波数分のk0 だけ循環的にシフトするようにする。
【0235】
以上説明した第2の例のDSP23の構成は、図4に示したものと同様となるが、RAM22の容量は、拡散符号のM周期分、例えば16周期分(16ミリ秒)とされ、DSP23では、この拡散符号のM周期分のデータ単位で、捕捉処理動作を行う。上述の捕捉処理動作を、DSP23の内部構成に反映させた構成図を図27に示す。
【0236】
すなわち、FFT処理部101からは、FFT演算処理単位を拡散符号のM周期とするFFT結果R(K)が得られ、メモリ104に書き込まれる。この図27では、0≦k<N、0≦K<MNとしている。
【0237】
そして、このメモリ102から、読み出しアドレスがシフト制御されてFFT結果が読み出されて乗算部103に供給され、メモリ106からの拡散符号c(n)のFFT結果C(k)の複素共役と乗算される。
【0238】
この第3の例の場合、この乗算部103から得られる相関関数F(k)は、図48の式(8)に示すようなものとなるようにされる。なお、式(8)で、kは、拡散符号のFFT結果C(k)の複素共役におけるkであり、k0 については、f0 =k0 ・fs /MNである。
【0239】
このとき、図27において、逆FFT処理部107から得られる相関関数f’(n)のピークは、R(K)がM周期の拡散符号を含むので、0≦n<MNの範囲においてM個現れることになる。しかし、相関点の検出は、拡散符号の1周期についての1個でよいので、逆FFT処理部107での計算は、前述の第1および第2の実施の形態の場合と同様に、0≦n<Nの範囲だけで済み、N≦n<MNにおける計算は必要ない。
【0240】
以上のようにして、この第2の例によれば、受信信号r(n)のFFTを拡散符号の1周期のM倍とすることにより、相関点の検出感度、したがって、受信感度を向上させることができる。この場合に、Mが大きいほど、受信感度が高くなるものである。したがって、Mの値を制御することにより、受信感度を制御することが可能になる。
【0241】
以上のことから、この同期捕捉の第2の例を用いるGPS受信機の実施形態においては、この同期捕捉の第2の例を高感度モードのときに用いるようにし、高速モードのときには、通常のように、相関点を検出する単位データ長は、拡散符号の1周期長とするようにする。
【0242】
なお、高感度モードのみでなく、高速モードにおいても、この同期捕捉の第2の例を用いるようにしてもよい。
【0243】
さらに、高感度モードのみでなく、高速モードにおいても、この同期捕捉の第2の例を用いる場合において、相関点を検出する単位データ長を決める前記Mの値を、高感度モードでは、高速モードの場合よりも大きくするように構成してもよい。
【0244】
なお、この同期捕捉の第2の例の場合においても、それぞれの衛星に対応する拡散符号をあらかじめFFTしておいたものをメモリに記憶させておくことで、衛星信号の受信時における拡散符号c(n)のFFT計算を省略することができる。
【0245】
〔デジタルマッチドフィルタによる同期捕捉の第3の例〕
前述の同期捕捉の第2の例では、拡散符号のM周期(M>1)分を含む受信信号r(n)をFFT処理することで、未知のキャリア周波数のサーチを可能にすると共に、受信感度の向上を図ることができるものであるが、データサンプルの数が、拡散符号1周期分の場合のN個からM倍のMN個になるため、FFTの計算時間が長くなると共に、メモリ102の容量が大きくなる。同期捕捉の第3の例は、この問題を改善したものである。
【0246】
図26に示したように、拡散符号のM周期(M>1)をFFT処理単位とした場合のFFT結果R(K)中の周波数成分はM個おきにしか存在しないので、それらのM個おきの周波数成分の間の成分は不要である。
【0247】
ここで、FFT結果R(K)(ただし、0≦K<NM)を、R(i×M)、R(i×M+1)、R(i×M+2)、・・・、R(i×M+M−1)(0≦i<N)のM組に分ける。説明の簡単のため、M=4組に分けた場合の、それぞれの組の分割スペクトラムの例を図28〜図31に示す。キャリア周波数は未知であるが、M組のうちの1組に、相関を検出する対象となるGPS信号のエネルギーがある。図28〜図31の例では、図28のR(i×M)の組に、受信信号r(n)の周波数成分が含まれ、それ以外の3つの分割スペクトラムにはノイズしかない状態を表している。
【0248】
なお、実際の信号ではキャリア周波数k0は、正確にはk'=k0でないため、例えばk0がk0’とk0’+1との間、つまり、k0’≦K<k0’+1であったとすると、k'=k0’と、k'=k0’+1との両方で相関が検出され、k0に近い方が大きな相関を示す。
【0249】
FFT結果R(K)を前記のようにM組に分割した場合、Mが2のべき乗であれば、FFT計算手順の性質から、各組は、それぞれ独立に計算できる。
【0250】
図32は、8個のデータg(0)〜g(7)のFFT計算の信号の流れ図である。図32のFFT結果G(K)を、4個おきのデータに分けるとすると、(G(0),G(4))、(G(1),G(5))、(G(2),G(6))、(G(3),G(7))の4組となる。この中の(G(0),G(4))に注目すると、図33に示す部分だけの計算でよいことが判る。そして、この計算の構造は、他の組(G(1),G(5))、(G(2),G(6))、(G(3),G(7))においても同様となるものである。
【0251】
この4組のデータを1組ずつ調べることにすると、まず、(G(0),G(4))を計算し、調べ終わったら(G(0),G(4))を格納したメモリを開放して次の組に進む。(G(1),G(5))、(G(2),G(6))、(G(3),G(7))と、順次計算して調べ終わったらメモリを開放するという操作を行うことにより、メモリは、G(0)〜G(7)を一括してFFTを求めるのに比べて、1/4のメモリ容量でよくなる。乗算回数は、M個に分割して計算した場合と全体を一括してFFT計算をした場合とでは同じになる。
【0252】
上記の例と同様のことが、Mを2のべき乗にすることで、R(i×M)、R(i×M+1)、R(i×M+2)、・・・、R(i×M+M−1)に適用でき、FFT結果を格納するメモリの容量は、MNの1/M、すなわち、Nで済む。また、R(i×M)、R(i×M+1)、R(i×M+2)、・・・、R(i×M+M−1)の順で相関を検出する際に、途中の組で相関点が検出できてしまえば、残る組については調べる必要がなくなるので、拡散符号のM周期毎の受信信号を一括してFFT処理して検出するより、処理時間が短くなると期待できる。
【0253】
以上説明した同期捕捉の第3の例における同期捕捉部20での処理の流れを、図34および図35のフローチャートを参照しながら説明する。図34および図35の例ではFFTの回数を最小にするため、キャリア周波数のサーチを、各FFTの組毎に、対象とする衛星すべてについて相関検出を行うようにしている。なお、この図34および図35のフローチャートは、主としてDSP23でのソフトウエア処理に対応するものである。
【0254】
まず、R(K)(ただし、0≦K<NMであり、K=i×M+u)の分割組数についての変数u(0≦u<M)を初期化し(ステップS111)、次に、周波数変換部10からのIFデータをサンプリング回路21でサンプリングし、そのサンプリングデータを、拡散符号のM周期分、例えば16周期分(16ミリ秒)、信号r(n)(ただし、0≦n≦MN)としてRAM22に取り込む(ステップS112)。次に、この信号r(n)をFFT処理部101でFFTし、そのFFT結果R(K)をメモリ102に書き込む(ステップS113)。次に、信号を受信したGPS衛星に対応する拡散符号のFFT結果C(k)をメモリ106にセットする(ステップS114)。
【0255】
次に、受信信号r(n)のFFT結果R(K)のメモリ102からの読み出しアドレスのシフト量の初期値k0’を、例えば過去のデータから決定する(ステップS115)。そして、決定した初期値k0’を、メモリ102からのFFT結果の読み出しアドレスのシフト量k'として設定すると共に、シフト制御の変更回数vを、初期値v=0にセットする(ステップS116)。
【0256】
次に、メモリ102から、受信信号r(n)のFFT結果R(K)を、その読み出しアドレスを、k'だけシフトして読み出す(ステップS117)。そして、読み出したFFT結果R(K−k')と、拡散符号のFFT結果C(k)の複素共役とを乗算して相関関数F’(k)を求める(ステップS118)。
【0257】
次に、この相関関数F’(k)の逆FFTを行って時間領域の関数f’(n)を求める(ステップS119)。そして、この関数f’(n)について、ピーク値f’(np)を求め(ステップS120)、そのピーク値f’(np)が予め設定されているスレッショールド値fthより大きいかどうか判別する(図35のステップS121)。
【0258】
ステップS121において、ピーク値f’(np)が、予め設定されているスレッショールド値fthより大きいと判別したときには、そのピーク値f’(np)を取る離散時間(拡散符号の位相)npを相関点として検出する(ステップS122)。
【0259】
そして、検出した相関点npが、4個目であるか否か判別し(ステップS123)、4個目であると判別したときには、CPU41は、受信機位置計算処理を開始し、同期保持部30における同期保持処理をする(ステップS124)。その後、ステップS125に進む。ステップS124の処理は、4個目以降でも行うにようにしてもよい。
【0260】
なお、ステップS122で検出した相関点npが得られるときのシフト量k'とR(k)の分割組数についての変数uから、当該受信中のGPS衛星についてのドップラーシフト量およびGPS受信機の発振周波数の誤差が推定することができる。
【0261】
ステップS123で、検出した相関点npが、4個目以外であると判別したときには、サーチすべきすべての衛星について、上述の拡散符号同期サーチ処理が終了したか否か判別し(ステップS125)、すべての衛星についての拡散符号同期サーチ処理が終了したと判別したときには、変数uがその最大値Mより小さいかどうか判別し(ステップS127)、小さいときには、変数uをインクリメントし(ステップS128)、その後、ステップS113に戻り、このステップS113以降の処理を繰り返す。
【0262】
また、ステップS127で、変数uが最大値Mに等しいあるいは最大値Mより大きいと判別したときには、サーチ動作を終了する(ステップS129)。
【0263】
また、ステップS125で、拡散符号同期サーチが終了していない衛星があると判別したときには、次に拡散符号同期サーチを行う衛星を選択し、その選択した衛星が用いる拡散符号c(n)に拡散符号を変更する(ステップS126)。そして、ステップS114に戻り、上述したステップS114以降の処理を実行する。
【0264】
ステップS121での判別の結果、ピーク値f’(np)が、予め設定されているスレッショールド値fthより小さく、相関点が検出できなかったときには、現在モードは何であるかを判別する(図11のステップS21)。そして、現在モードが高感度モードであると判別したときには、シフト制御の変更回数vが予め設定された最大値vmaxよりも小さいかどうか判別する(図36のステップS131)。この最大値vmaxは、周波数に換算したときに、1kHzに相当する。
【0265】
そして、シフト制御の変更回数vが予め設定された最大値vmaxよりも小さいかどうか判別する(ステップS132)。この最大値vmaxは、周波数に換算したときに、1kHzに相当する。
【0266】
そして、シフト制御の変更回数vが予め設定された最大値vmaxよりも小さいと判別したときには、シフト制御の変更回数vを1だけインクリメント(v=v+1)すると共に、新たなシフト量k'を、
k'=k'+(−1)×v
として(ステップS133)、ステップS117に戻る。そして、上述したステップS117以降の処理を繰り返す。
【0267】
また、ステップS132で、シフト制御の変更回数vが、予め設定された最大値mmaxよりも大きいと判別したときには、そのように大きいと判別された回数が、現在のRAM22のデータに対して予め定められた所定回数以上となったか否か判別し(ステップS136)、前記所定回数以上でなければ、ステップS112に戻り、RAM22に新たなデータを取り込んで、以上の処理を繰り返す。
【0268】
また、ステップS136で、前記所定回数以上であると判別したときには、サーチすべきすべての衛星について、上述の拡散符号同期サーチ処理が終了したか否か判別し(ステップS137)、すべての衛星についての拡散符号同期サーチ処理が終了したと判別したときには、変数uがその最大値Mより小さいかどうか判別し(ステップS138)、小さいときには、変数uをインクリメントし(ステップS139)、その後、ステップS113に戻り、このステップS113以降の処理を繰り返す。
【0269】
また、ステップS138で、変数uが最大値Mに等しいあるいは最大値Mより大きいと判別したときには、同期捕捉ができなかった旨を制御演算部40に通知し(ステップS140)、その後、サーチ動作を終了する(ステップS141)。
【0270】
また、ステップS137で、拡散符号同期サーチが終了していない衛星があると判別したときには、次に拡散符号同期サーチを行う衛星を選択し、その選択した衛星が用いる拡散符号c(n)に拡散符号を変更する(ステップS142)。そして、ステップS114に戻り、上述したステップS114以降の処理を実行する。
【0271】
なお、キャリア周波数が既知である場合には、R(i×M)、R(i×M+1)、R(i×M+2)、・・・、R(i×M+M−1)の中で該当するものだけを計算すれば、拡散符号の多周期分を含む時間分を単位として受信信号をFFTする方法は、同様に適用できる。
【0272】
〔デジタルマッチドフィルタによる同期捕捉の第4の例〕
前述した同期捕捉の第2の例、第3の例の場合には、拡散符号のM周期分をRAM22に取り込み、当該M周期分のデータをDSP23が読み込んで、上述のようなFFT処理を行って、同期捕捉処理をするようにしている。このため、DSP23での処理データ量が多く、計算量が多くなり、処理速度が遅くなるおそれがある。
【0273】
この同期捕捉の第4の例は、第2の例において説明したように、拡散符号のM周期分、例えば16周期分(16ミリ秒)のIFデータをRAM22に取り込み、当該M周期分のデータ単位で、FFT演算を伴なう同期捕捉処理を行うものであるが、FFT処理部101でFFT処理を行う前に、データサンプル数を低減する前処理を行って、処理の高速化を図るものである。なお、サンプリング回路21でのサンプリング周波数は、例えば4.096MHzとされる。
【0274】
図37は、この第4の例におけるDSP23の構成例を示すものであり、この第4の例においては、FFT処理部101の前に、前処理部130を設ける。その他の構成は、前述の例と同様である。
【0275】
前処理部130は、RAMを備え、そのメモリ容量は、拡散符号の1周期分とされる。すなわち、この第4の例においては、RAM22に取り込まれたM周期分のデータは、同じ拡散符号の1周期分のデータが、M回繰り返されるものに等しく、同期捕捉の第2の例において説明したように、周波数成分としては、拡散符号の1周期分のデータが備えるものしか存在しないことから、前処理部130においては、前記拡散符号のM周期分のデータ量から、拡散符号の1周期分のデータ量に減らす処理を行う。
【0276】
この第4の例においては、その前処理として、M周期分のデータd(n)(0≦n<L、Lは拡散符号のM周期分の全データ数)の離散フーリエ変換の部分集合(S[0]、S[1]・・・S[N−1](ただし、Nは拡散符号の1周期分のサンプリングデータ数))を計算するアルゴリズムを行う。ここで、部分集合S[k](kは離散フーリエ変換後の離散周波数で、0≦k<N)は、次のように定義できる。
【0277】
S[k]=D[k×M+r]
ただし、Dはデータdの離散フーリエ変換、
M=L/N、
rはドップラー周波数による定数、0≦r<M。
【0278】
図38は、前処理部130で行われるアルゴリズムを実行するためのフローチャートである。
【0279】
まず、変数kの初期化(k=0)を行い(ステップS151)、次に、部分集合S[k]を初期化するために、S[k]=0とする(ステップS152)。そして、繰り返しの変数t(0≦t<M)を初期化(t=0)する(ステップS153)。次に、次の(式Q1)を計算する(ステップS154)。
【0280】

Figure 0003912511
この(式Q1)の処理は、変数tの値が「1」だけ前の値S[k]oldに、現在の変数tの値についての次の項
d[t×N+k]×exp(2πj・r・t/M)
を加算する演算である。
【0281】
データd(n)は、A/D変換器18からの1ビットのIFデジタルデータをサンプリングしたデータであるので、d[t×N+k]は+1または−1となる。そのため、(式Q1)の演算は、一つの足し算または引き算になる。
【0282】
また、exp(2πj・r・t/M)においては、変数はtのみであり、tは、0からM−1の値しかとらないので、この項exp(2πj・r・t/M)の値を、M点のテーブルとして記憶しておき、そのテーブルを用いることにより、この項exp(2πj・r・t/M)をtの変更の度に毎回計算しなくてもよくなり、計算を早くすることができる。
【0283】
ステップS154の(式Q1)の計算が終了したら、変数tを「1」だけインクリメントする(ステップS155)。そして、変数tがMより小さいか否か判別し(ステップS156)、変数tがMより小さいときには、ステップS154に戻って、前記(式Q1)の計算を繰り返す。変数tがM以上のときには、次の(式Q2)を計算する(ステップS157)。
【0284】
S[k]=S[k]old×exp(2πj・r・k/L)・・・(式Q2)
この(式Q2)の処理は、変数kの値が「1」だけ前の値S[k]oldに、現在の変数kの値についての次の項
exp(2πj・r・k/L)
を乗算する演算である。
【0285】
ステップS157の(式Q2)の計算が終了したら、求めたS[k]の値を前処理部130が備えるメモリに書き込む(ステップS158)。次に、変数kを「1」だけインクリメントする(ステップS159)。そして、変数kがNより小さいか否か判別し(ステップS160)、変数kがNより小さいときには、ステップS152に戻って、以上の計算処理を繰り返す。変数kがN以上のときには、前処理を終了して、高速フーリエ変換処理を開始する。
【0286】
以上の前処理により、FFTの対象となるのは、拡散符号のM周期分の全データ数のL点から、拡散符号の1周期分のN点に減るので、FFT演算を高速にすることができる。
【0287】
〔デジタルマッチドフィルタによる同期捕捉の第5の例〕
この同期捕捉の第5の例は、第4の例と同様に、DSP23において、FFT処理部101でFFT処理を行う前に、データサンプル数を低減する前処理を行って、処理の高速化を図るものである。
【0288】
この第5の例の場合におけるDSP23の構成例は、前述した第4の例の場合の図23に示したものと同じである。ただし、第5の例では、前処理部130で行う前処理の内容が第4の例とは異なる。
【0289】
この第5の例も、RAM22に取り込まれたM周期分のデータは、同じ拡散符号の1周期分のデータが、M回繰り返されるものに等しく、同期捕捉の第2の例において説明したように、周波数成分としては、拡散符号の1周期分のデータが備えるものしか存在しないことから、前処理部130においては、前記拡散符号のM周期分のデータ量から、拡散符号の1周期分のデータ量に減らす処理を行う。
【0290】
図39は、この第5の例の前処理を説明するための図である。図39の例においては、サンプリング回路21でのサンプリング周波数は、4.096MHzであり、また、M=16、つまり、16ミリ秒単位でRAM22にデータを取り込んで、FFT処理をする場合である。
【0291】
図39に示すように、この例において、RAM22に記憶するIFデータは、拡散符号の1周期分の16個のデータ群d1(n)、d2(n)、d3(n)、・・・、d16(n)からなる。そして、この例の場合、データ群d1(n)、d2(n)、d3(n)、・・・、d16(n)のそれぞれは、4096点のポイントからなり、16ミリ秒分のデータ全体では、65536点のポイントからなる。
【0292】
そして、16個のデータ群d1(n)、d2(n)、d3(n)、・・・、d16(n)のそれぞれの先頭から、同じポイント位置の値は、GPS衛星信号の場合には、拡散符号の同じ成分を有しているはずである。しかも、前述したように、各ポイントのデータは、1ビットである。
【0293】
以上のことを考慮して、この第5の例の場合には、前処理部130に備えるメモリ130MEMとして、1ワードが16ビットで、4096ワード分の容量を有するメモリを用いる。
【0294】
そして、16個の拡散符号1周期分のデータ群d1(n)、d2(n)、d3(n)、・・・、d16(n)のそれぞれの先頭から、同じポイント位置のデータは、1ワードを構成するように、メモリ130MEMの同じワードアドレスに書き込むようにする。この結果、16ミリ秒分のデータは、メモリ130MEMに、4096ワードのデータとして取り込まれる。
【0295】
FFT演算処理は、この16ビット1ワードのデータについて実行するようにする。DSP23が、16ビット単位の処理が可能であるものであった場合には、FFTの際のメモリアクセス回数は、4096回となり、前処理を行わない場合の65536回に比較して、16分の1にすることができ、FFT処理を高速化することができる。
【0296】
上述のことを、一般化すると、拡散符号の1周期分のデータ数がNであるデータのM周期分を処理単位としてFFT処理する場合において、前処理部130では、同じ拡散符号の成分となる位置のデータを、メモリ130MEMの同じワードアドレスに書き込むようにする。
【0297】
すなわち、NM個のデータを[0]から順に番号をつけたとき、0,N,2N,・・・,(M−1)N番目のデータは、メモリMEMのワードアドレス「0」に書き込み、1,1+N,1+2N,・・・,1+(M−1)N番目のデータは、メモリMEMのワードアドレス「1」に書き込み、・・・・、(N−1),(N−1)+N,(N−1)+2N,・・・,(N−1)+(M−1)N番目のデータは、メモリMEMのワードアドレス「N−1」に書き込むようにするものである。
【0298】
FFT演算処理は、このMビット1ワードのデータについて実行するようにする。DSP23が、wビット単位の処理が可能であるものであった場合には、FFTの際のメモリアクセス回数は、N×M/w回となり、前処理を行わない場合のNM回に比較して、w分の1にすることができ、FFT処理を高速化することができる。
【0299】
以上説明した第1〜第5の例の同期捕捉方法は、従来の手法であるスライディング相関器が原理的に時間を要するのに対し、FFTを用いたデジタルマッチドフィルタによる処理を高速なDSPで行うようにしたことにより、処理時間の大幅な短縮が期待できる。特に、第2の例〜第5の例の場合には、拡散符号のM周期単位でFFT処理をするようにしたことにより、同期捕捉を高感度で行うことができる。
【0300】
さらに、第3の例〜第5の例の場合には、拡散符号のM周期単位でFFT処理を、より高速に行うようにすることができる。
【0301】
したがって、同期捕捉の第2の例を用いるGPS受信機の実施形態の場合と同様にして、同期捕捉の第3の例〜第5の例を高感度モードのときに用いるようにし、高速モードのときには、通常のように、相関点を検出する単位データ長は、拡散符号の1周期長とするようにすることができる。
【0302】
また、高感度モードのみでなく、高速モードにおいても、この同期捕捉の第3の例〜第5の例を用いるようにしてもよい。
【0303】
さらに、高感度モードのみでなく、高速モードにおいても、この同期捕捉の第3の例〜第5の例を用いる場合において、相関点を検出する単位データ長を決める前記Mの値を、高感度モードでは、高速モードの場合よりも大きくするように構成してもよい。
【0304】
なお、以上の同期捕捉の例に用いたデジタルマッチドフィルタによる相関計算の方法は、GPS衛星からの信号に限らず、拡散符号でデータをスペクトラム拡散した信号により搬送波が変調されている受信信号の拡散符号およびキャリアの同期捕捉を行う場合に適用可能である。ただし、第2の例、第3の例、第4の例および第5の例は、GPS衛星信号のように、拡散符号の1周期の複数倍の周期がデータビットとなっていて、拡散符号の複数周期分の信号は、同じ信号となっている必要がある。
【0305】
以上のような同期捕捉方法によって、同期捕捉部20で4個以上のGPS衛星からの信号の同期捕捉ができれば、GPS受信機としては、それらの拡散符号の位相とIFキャリア周波数とからGPS受信機の位置と速度を計算することが可能である。つまり、同期保持部30を設けなくても測位演算を行うことは可能である。
【0306】
しかし、GPS受信機として十分な高精度の測位および速度計算を行うためには、高精度で拡散符号の位相とIFキャリア周波数を検出する必要があり、そのためには、サンプリング回路21におけるサンプリング周波数を高くする、RAM22に取り込むIFデータの時間長を長くするといったことが必要になる。
【0307】
さらに、同期捕捉部20にデジタルマッチドフィルタを用いた構成とした場合には、デジタルマッチドフィルタ自身は、同期保持機能を有しないことをも考慮しなければならない。
【0308】
また、GPS受信機の外部から航法メッセージを取得しないとすると、同期捕捉部20は、4個以上のGPS衛星の航法メッセージを20ms毎に復調する必要があり、DSP23は常に同期の検出と航法メッセージの復調をかなり高速に行う必要がある。
【0309】
以上のように、同期捕捉部20のみにより、GPS受信機の位置計算および速度計算を十分な精度で行おうとすると、ハードウェアのサイズ増によるコストアップと消費電力増となり、GPS受信機を実際に製造する際の大きな問題となってしまう。
【0310】
そこで、この実施形態では、粗い精度での同期捕捉を専用の同期捕捉部20で行い、複数のGPS衛星信号の同期保持および航法メッセージの復調は同期保持部30で行うものとしている。そして、同期捕捉部20は、検出したGPS衛星番号と、その拡散符号の位相と、IFキャリア周波数と、相関検出信号からなる信号強度の情報を、制御演算部40を通じて同期保持部30にデータとして渡し、後述するように、同期保持部30は、そのデータを初期値として動作を開始するようにする。
【0311】
[同期保持部30の構成]
複数のGPS衛星信号の同期保持を並列して行うために、同期保持部30は、1つずつのGPS衛星信号を1チャンネルとして、複数チャンネル分を備える構成とされる。
【0312】
図40は、この実施形態における同期保持部30の構成例を示す。この同期保持部30は、nチャンネル分のチャンネル同期保持部30CH1、30CH2、・・・、30CHnと、コントロールレジスタ33とからなる。チャンネル同期保持部30CH1、30CH2、・・・、30CHnのそれぞれは、コスタスループ31とDLL(Delay Locked Loop)32とを備える。
【0313】
コントロールレジスタ33は、制御演算部40のCPU41に接続され、後述するように、コスタスループ31やDLL32のループフィルタのパラメータや、フィルタ特性を定めるためのデータを受け取り、CPU41により指示されるチャンネルの、CPU41により指示される部位に、そのデータを設定するようにする。また、コントロールレジスタ33は、コスタスループ31やDLL32のループフィルタからの相関値情報や周波数情報を受け取り、CPU41からのアクセスに応じてそれらの情報をCPU41に渡すようにする。
【0314】
〔コスタスループ31と、DLL32の構成〕
図41はコスタスループ31の構成例を示すブロック図であり、また、図42は、DLL32の構成例を示すブロック図である。
【0315】
コスタスループ31は、IFキャリア周波数の同期保持、送信データである航法メッセージの抽出を行う部分であり、DLL32は、GPS衛星信号の拡散符号の位相同期保持を行う部分である。そして、コスタスループ31とDLL32とが協働し、GPS衛星信号についてスペクトラム逆拡散を行って、スペクトラム拡散前の信号を得るとともに、このスペクトラム拡散前の信号を復調して航法メッセージを得て、制御演算部40のCPU41に供給する。以下、コスタスループ31とDLL32との動作について具体的に説明する。
【0316】
〔コスタスループ31について〕
周波数変換部10からのIFデータは、乗算器201に供給される。この乗算器201には、図42に示すDLL32の拡散符号発生器320からの拡散符号が供給される。
【0317】
DLL32の拡散符号発生部320からは、一致(プロンプト)拡散符号P、進み(アーリ)拡散符号E、遅れ(レート)拡散符号Lの、3つの位相の拡散符号が発生する。DLL32では、後述するように、進み拡散符号Eおよび遅れ拡散符号Lと、IFデータとの相関を計算し、それぞれの相関値が等しくなるように、拡散符号発生器320からの拡散符号の発生位相を制御し、これにより、一致拡散符号Pの位相が、GPS衛星信号の拡散符号の位相と一致するようにする。
【0318】
コスタスループ31の逆拡散用の乗算器201には、拡散符号発生器320からの一致拡散符号Pが供給されて、逆拡散される。この乗算器201からの逆拡散されたIFデータは、乗算器202および203に供給される。
【0319】
コスタスループ31は、図41に示すように、乗算器202および203と、ローパスフィルタ204,205と、位相検出器206と、ループフィルタ207と、NCO(Numerical Controlled Oscillator;数値制御型発振器)208と、相関検出器209と、2値化回路210と、ロック判定部211と、スイッチ回路212とからなっている。
【0320】
ローパスフィルタ204,205のカットオフ周波数情報と、ループフィルタ207のフィルタ特性を定めるパラメータと、NCO208の発振中心周波数を定めるための周波数情報とは、後述するように、同期捕捉部20での同期捕捉結果に基づいて、CPU41からコントロールレジスタ33を通じて設定される。
【0321】
スイッチ回路212は、コスタスループ31のループを開閉制御するためのもので、CPU41からの切り換え制御信号によりオンオフされる。なお、同期保持動作がスタートする前の初期的な状態では、スイッチ回路212はオフとされ、ループ開の状態とされ、後述するように、同期保持動作がスタートして、コスタスループの相関検出器209の相関出力が有意なレベルとなったときに、このスイッチ回路212がオンとされて、ループ閉とされるようにされる。
【0322】
乗算器201において逆拡散された信号は、乗算器202、203に供給される。これら乗算器202,203には、制御演算部40のCPU41からの周波数情報により、ほぼIFキャリア周波数にされたNCO208からの、直交位相のI(Sine)信号と、Q(Cosine)信号とが供給される。
【0323】
これら乗算器202および203の乗算結果は、ローパスフィルタ204および205を通じて位相検出器206に供給される。ローパスフィルタ204および205は、制御演算部40のCPU41からのカットオフ周波数情報の供給を受け、これに供給された信号の帯域外ノイズを除去するものである。
【0324】
位相検出器206は、ローパスフィルタ204および205からの信号に基づいて、IFキャリアとNCO208からの周波数信号との位相誤差を検出し、この位相誤差をループフィルタ207を介してNCO208に供給する。これによりNCO208が制御されて、NCO208からの出力周波数信号の位相が、IFキャリア成分に同期するようにされる。
【0325】
なお、ループフィルタ207は、制御演算部40のCPU41から供給されるパラメータに応じて、位相検出器206からの位相誤差情報を積分して、NCO208を制御するNCO制御信号を形成するものである。NCO208は、ループフィルタ207からのNCO制御信号によって、前述したように、NCO208からの出力周波数信号の位相が、IFキャリア成分に同期するようにされる。
【0326】
また、コスタスループ31のローパスフィルタ204および205の出力は、相関検出器209に供給される。相関検出器209は、これに供給されるローパスフィルタ204および205の出力信号をそれぞれ自乗して加算して出力する。この相関検出器209の出力は、IFデータと拡散符号発生器320からの一致拡散符号Pとの相関値CV(P)示すものである。この相関値CV(P)は、コントロールレジスタ33を通じて制御演算部40のCPU41に渡される。
【0327】
そして、ローパスフィルタ204の出力信号は2値化回路210に供給されており、この2値化回路210より航法メッセージデータが出力される。
【0328】
また、相関検出器209からの相関値CV(P)出力は、ロック判定部211に供給される。ロック判定部211は、相関値CV(P)出力と、予め定められているスレッショールド値とを比較し、相関値CV(P)出力がスレッショールド値よりも大きいときには、同期保持がロック状態であることを示し、相関値CV(P)出力がスレッショールド値よりも小さいときには、同期保持がアンロック状態であることを示すロック判定出力を出力する。
【0329】
この実施形態では、このロック判定出力は制御演算部40のCPU41に送られ、CPU41は、このロック判定出力から、同期保持部30のロック状態、アンロック状態を認識するようにする。
【0330】
〔DLL32について〕
図42に示すように、DLL32においては、周波数変換部10からのIFデータは、乗算器301および311に供給される。そして、乗算器301には、拡散符号発生器320からの進み拡散符号Eが供給され、また、乗算器311には、拡散符号発生器320からの遅れ拡散符号Lが供給される。
【0331】
乗算器301は、IFデータと進み拡散符号Eとを乗算することにより、スペクトラム逆拡散を行い、この逆拡散がなされた信号を乗算器302、303に供給する。そして、乗算器302には、前述のコスタスループ31のNCO208からのI信号が供給され、乗算器303には、NCO208からのQ信号が供給される。
【0332】
乗算器302は、逆拡散されたIFデータとNCO208からのI信号とを乗算し、その結果をローパスフィルタ304を通じて相関検出器306に供給する。同様に、乗算器303は、逆拡散されたIFデータとNCO208からのQ信号とを乗算し、その結果をローパスフィルタ305を通じて相関検出器306に供給する。
【0333】
なお、ローパスフィルタ304、305は、コスタスループ31のローパスフィルタ204,205と同様に、制御演算部40のCPU41からのカットオフ周波数情報の供給を受け、これに供給された信号の帯域外ノイズを除去するものである。
【0334】
相関検出器306は、これに供給されるローパスフィルタ304,305からの出力信号をそれぞれ自乗して加算して出力する。この相関検出器306からの出力は、IFデータと、拡散符号発生器320からの進み拡散符号Eとの相関値CV(E)示すものである。この相関値CV(E)は、位相検出器321に供給されるとともに、コントロールレジスタ33に格納され、制御演算部40のCPU41が用いることができるようにされる。
【0335】
同様に、乗算器311は、IFデータと遅れ拡散符号Lとを乗算することにより、スペクトラム逆拡散を行い、この逆拡散がなされた信号を乗算器312、313に供給する。乗算器312には、前述したように、NCO208からのI信号が供給され、乗算器313には、NCO208からのQ信号が供給される。
【0336】
乗算器312は、逆拡散されたIFデータとNCO208からのI信号とを乗算し、その結果をローパスフィルタ314を通じて相関検出器316に供給する。同様に、乗算器313は、逆拡散されたIFデータとNCO208からのQ信号とを乗算し、その結果をローパスフィルタ315を通じて相関検出器316に供給する。ローパスフィルタ314、315は、前述のローパスフィルタ304、305と同様に、制御演算部40のCPU41からのカットオフ周波数情報の供給を受け、これに供給された信号の帯域外ノイズを除去するものである。
【0337】
相関検出器316は、これに供給されるローパスフィルタ314,315からの出力信号をそれぞれ自乗して加算し、その演算結果を出力する。この相関検出器316からの出力は、IFデータと、拡散符号発生器320からの遅れ拡散符号Lとの相関値CV(L)を示すものである。この相関値CV(L)は、位相検出器321に供給されるとともに、コントロールレジスタ33に格納され、制御演算部40のCPU41が用いることができるようにされる。
【0338】
位相検出器321は、相関検出器306からの相関値CV(E)と、相関検出器316からの相関値CV(L)との差分として、一致拡散符号とGPS衛星信号の拡散符号との位相差を検出し、その位相差に応じた信号をループフィルタ322を介してNCO323の数値制御信号として供給する。
【0339】
拡散符号発生器320には、このNCO(Numerical Controlled Oscillator;数値制御型発振器)323の出力信号が供給されており、このNCO323の出力周波数が制御されることにより、拡散符号発生器320からの拡散符号の発生位相が制御される。
【0340】
なお、NCO323は、後述するように、同期捕捉部20の同期捕捉結果に応じた制御演算部40のCPU41からの初期発振周波数を制御する周波数情報の供給を受ける。
【0341】
以上のDLL32におけるループ制御により、NCO323が制御されて、拡散符号発生器320は、相関値CV(E)と相関値CV(L)とが同じレベルとなるように、拡散符号P、E,Lの発生位相を制御する。これにより、拡散符号発生器320から発生する一致拡散符号Pが、IFデータをスペクトラム拡散している拡散符号と位相同期するようにされ、この結果、一致拡散符号PによりIFデータが正確に逆スペクトラム拡散され、コスタスループ31において、2値化回路210から航法メッセージデータが復調されて出力される。
【0342】
そして、その航法メッセージデータの復調出力は、図示しないデータ復調回路に供給されて制御演算部40で使用可能なデータに復調された後、制御演算部40に供給される。制御演算部40では、航法メッセージデータは、測位計算に用いられ、また、適宜、軌道情報(アルマナック情報やエフェメリス情報)が抽出されて、軌道情報用メモリ46に格納される。
【0343】
なお、DLL32のループフィルタ322は、前述したコスタスループ31のループフィルタ207と同様に、制御演算部40のCPU41から供給されるパラメータに基づいて、位相検出器321からの位相誤差情報を積分して、NCO323を制御するNCO制御信号を形成するものである。
【0344】
DLL32においても、ループフィルタ322と、NCO320との間に、ループの開閉制御用のスイッチ回路324が設けられ、CPU41からの切り換え制御信号によりオンオフされる。
【0345】
なお、同期保持動作がスタートする前の初期的な状態では、スイッチ回路324はオフとされ、ループ開の状態とされ、後述するように、同期保持動作がスタートして、コスタスループの相関検出器209の相関出力が有意なレベルとなったときに、このスイッチ回路324がオンとされて、ループ閉とされるようにされる。
【0346】
[同期捕捉から同期保持への移行について]
この実施形態では、前述したように、同期捕捉部20は、検出したGPS衛星番号と、その拡散符号の位相と、IFキャリア周波数と、信号強度の情報とを、データとして制御演算部40のCPU41に渡す。なお、信号強度の情報は、同期保持処理への移行のための情報としては、必須のものではない。
【0347】
取得したデータに基づいて制御演算部40のCPU41は、同期保持部30に供給するデータを生成し、それを同期保持部30に渡す。同期保持部30はそのデータを初期値として同期保持動作を開始するようにする。
【0348】
制御演算部40のCPU41から同期保持部30に渡されるデータは、DLL32の拡散符号発生器320からの拡散符号の発生位相を制御するNCO323の初期発振周波数(発振中心周波数)を決定するための数値情報と、コスタスループ31のNCO208の初期発振周波数(発振中心周波数)を決定するための数値情報と、ループフィルタ207および322のフィルタ特性を決定するためのパラメータと、ローパスフィルタ204,205,304,305,314,315のカットオフ周波数を決定して、その周波数帯域の広狭を決定するための係数情報である。
【0349】
このとき、CPU41から同期保持部30に供給される情報は、同期保持部30で、拡散符号の同期保持およびIFキャリアの同期保持を開始するGPS衛星番号、位相や周波数、また、フィルタ特性を定めるための初期値データであるが、CPU41は、同期捕捉部20で同期捕捉した結果として検出された拡散符号の位相およびIFキャリア周波数の近傍から同期保持を開始するように、前記初期値データを生成する。
【0350】
したがって、同期保持部30では、同期捕捉部20で検出された拡散符号の位相近傍および検出されたIFキャリア周波数の近傍から同期保持動作を開始して、迅速に同期保持のロック状態にすることができるようになる。
【0351】
ところで、GPS受信機が位置および速度を計算するためには、同期捕捉開始から4個以上のGPS衛星に対して同期を確立し、保持しなければならない。同期捕捉部20と同期保持部30および両者を制御するCPU41とによって、4個以上のGPS衛星からの信号の同期を保持するまでの過程の一例を次に説明する。
【0352】
〔同期捕捉・同期保持過程の一例〕
この例では、同期捕捉部20は、GPS衛星信号の一つを同期捕捉すると、すぐに、CPU41に、同期保持動作開始のための割り込み指示と、同期捕捉結果としてのGPS衛星番号、その拡散符号の位相、IFキャリア周波数、相関検出レベルを表わす信号強度を転送し、転送が終わると別のGPS衛星についての同期捕捉に移る。
【0353】
CPU41は、同期捕捉部20からの割り込み指示を受け取る毎に、同期保持部30に対して独立のチャンネルの割り当てを行うと共に、初期値の設定を行って、同期保持動作を開始させるようにする。
【0354】
図43は、この同期捕捉・同期保持過程の一例における同期捕捉部20での同期捕捉処理の流れを説明するためのフローチャートである。
【0355】
まず、同期捕捉のための初期設定を行う(ステップS171)。この初期設定においては、同期捕捉のためにサーチするGPS衛星およびそのサーチの順番を、GPS受信機が軌道情報用メモリ46に記憶している有効な軌道情報に基づいて設定する。また、その軌道情報から、ドップラーシフトを考慮したキャリア周波数を計算して、サーチするIFキャリア周波数の中心と範囲を設定するようにする。
【0356】
また、電源投入前の過去の動作で得た大体の発振器誤差が、GPS受信機で判明しているのであれば、GPS受信機位置を電源投入時に記憶されている位置、すなわち、前回電源を切る直前の位置と仮定して、軌道情報から計算したドップラーシフトに合わせて、サーチするIFキャリア周波数の中心と範囲を決めるようにすると、さらに同期保持に至るまでに要する時間を短縮できる。
【0357】
初期設定が終了したら、サーチの順番に従って、同期捕捉する一つのGPS衛星を設定する(ステップS172)。これにより、同期捕捉対象の衛星番号が決まり、また、相関を検出しようとする拡散符号が決まる。
【0358】
次に、同期捕捉部20では、RAM22に、サンプリング回路21でサンプリングしたIFデータの取り込みを開始し、この開始タイミングで、タイマをスタートさせる(ステップS173)。ここで、このタイマとしては、制御演算部40のタイマ45を用いるようにする。このタイマ45は、後述のように、同期保持処理スタートタイミングを設定する際にも用いられる。
【0359】
次に、DSP23において、前述したデジタルマッチドフィルタを用いた同期捕捉の例のいずれかを用いて、ステップS172で設定したGPS衛星信号の拡散符号について相関検出処理を行う(ステップS174)。
【0360】
そして、GPS衛星信号の拡散符号について相関が検出されたか否か、つまり、GPS衛星信号の同期捕捉ができたか否か判別し(ステップS175)、相関が検出できたときには、CPU41に対して割り込み指示を発生させると共に、同期捕捉の検出結果として、GPS衛星番号、拡散符号の位相、IFキャリア周波数、信号強度の情報をCPU41に渡す(ステップS176)。
【0361】
そして、サーチすべきGPS衛星のすべてについての同期捕捉サーチが終了したか否か判別し(ステップS177)、未だサーチすべきGPS衛星が残っているときには、ステップS172に戻り、同期捕捉する次のGPS衛星を設定して、以上の同期捕捉処理を繰り返す。また、ステップS177で、サーチすべきすべてのGPS衛星についての同期捕捉が終了したと判別したときには、同期捕捉動作を終了して、同期捕捉部20を待機状態(スタンバイ状態)にする。
【0362】
また、ステップS175で相関が検出できないと判別したときには、その状態が予め定めた所定時間以上経過したか否か判別し(ステップS178)、所定時間経過していなければ、ステップS175に戻って、相関検出を継続する。
【0363】
ステップS178で、所定時間経過したと判別したときには、ステップS177に進み、サーチすべきGPS衛星のすべてについての同期捕捉サーチが終了したか否か判別し、未だサーチすべきGPS衛星が残っているときには、ステップS172に戻り、同期捕捉する次のGPS衛星を設定し、以上の同期捕捉処理を繰り返す。
【0364】
また、ステップS177で、サーチすべきすべてのGPS衛星についての同期捕捉が終了したと判別したときには、同期捕捉動作を終了して、同期捕捉部20を待機状態(スタンバイ状態)にする。
【0365】
この実施形態では、CPU41は、同期捕捉部20への電源供給のオンオフ制御、または、この同期捕捉部20に対する逓倍/分周回路3からの動作クロックの供給のオンオフ制御を行うことができるように構成されており、上記の同期捕捉部20のスタンバイ状態では、CPU41により、同期捕捉部20への電源の供給はオフ、または、動作クロックの供給が停止されて、不要な消費電力が抑えられている。
【0366】
同期捕捉部20を、上述のように、デジタルマッチドフィルタで構成すると、DSP23でのFFT計算を速くするためには高いクロックで動作させることが望ましく、したがって、動作時の消費電力が大きくなるが、同期捕捉部20において、初期設定したすべてのGPS衛星からの信号の同期捕捉検出が終わり、同期保持部30で4個以上の同期保持ができていれば、同期捕捉部20の役割は終了する。
【0367】
この実施形態では、上述のように、CPU41は、同期捕捉部20の役割終了後は、スタンバイ状態にしているので、同期捕捉部20における不要な消費電力が抑えられている。
【0368】
なお、上記の例では、初期設定したすべてのGPS衛星についての同期捕捉が完了した後、CPU41は、同期捕捉部20をスタンバイ状態に移行させるようにしたが、同期保持部30で同期保持できたGPS衛星が4個以上になったことを確認してから、CPU41が同期捕捉部20をスタンバイ状態に移行させるようにしてもよい。
【0369】
なお、CPU41は、一旦、スタンバイ状態になった同期捕捉部20を、再同期捕捉が必要な状態になったときに、動作状態に復帰させるようにすることができることは勿論である。
【0370】
次に、同期捕捉部20からの割り込み指示を受けたCPU41による同期保持部30の制御処理について、図44および図45のフローチャートを参照しながら説明する。
【0371】
図44は、CPU41が、同期捕捉部20から、割り込み指示および同期捕捉結果としての拡散符号の位相、IFキャリア周波数、GPS衛星番号、信号強度の情報を受け取ったときに、同期保持部30においてチャンネル割り当てし、同期保持スタートをさせるための処理である。また、図45は、CPU41が、同期保持スタートさせた同期保持部30の各1チャンネルにおいての同期保持処理制御のためのフローチャートである。まず、図44の同期保持スタート処理について説明する。
【0372】
まず、GPS受信機への電源投入時などにおいて、CPU41は、同期保持部30のNCO、ローパスフィルタ、ループフィルタなどへ定数の初期設定を行っておく(ステップS181)。なお、このとき、コスタスループ31およびDLL32は、いずれも初期状態はループ開とされる。
【0373】
次に、CPU41は、同期捕捉部20からの割り込み指示を監視し(ステップS182)、割り込み指示を検出したときには、同期捕捉部20から、GPS衛星番号、拡散符号の位相、IFキャリア周波数、信号強度の情報を受け取ると共に、同期保持部30に対して、受け取ったGPS衛星番号に対して独立のチャンネルを割り当てるようにする設定する(ステップS183)。
【0374】
そして、CPU41は、同期捕捉部20から受け取った拡散符号の位相から、同期保持スタートタイミングを計算するとともに、同期保持部30の、割り当てられたチャンネル内の各部に供給する初期値を、同期捕捉部20から受け取ったIFキャリア周波数に基づいて生成する(ステップS184)。
【0375】
そして、CPU41は、生成した初期値を、コントロールレジスタ33を通じて同期保持部30の、ステップS183で割り当てられたチャンネル内の各部に送ると共に、同期保持部30の、ステップS183で割り当てられたチャンネル内の拡散符号発生器320からの一致拡散符号Pの発生位相を、前記同期保持スタートタイミングとするように制御して、同期保持動作をスタートさせる(ステップS185)。なお、このとき、コスタスループ31およびDLL32のループは開のままとする。
【0376】
以上のようにして、同期捕捉されたGPS衛星信号について、同期保持のためのチャンネルが割り当てられ、同期保持スタートを行ったら、ステップS182に戻り、次の割り込みを待つ。
【0377】
次に、以上のようにしてスタートしたチャンネル毎の同期保持処理を、図45のフローチャートについて説明する。
【0378】
CPU41は、まず、同期保持部30からの相関値CV(P)が有意なレベルになったか否か判別し(ステップS191)、相関値CV(P)が有意なレベルになったら、コスタスループ31およびDLL32のループを閉じて、同期保持動作を行う(ステップS192)。
【0379】
次に、CPU41は、同期保持部30のコスタスループ31のロック判定部211からのロック判定出力を監視し(ステップS193)、同期保持部30のロックを確認したときには、同期保持しているGPS衛星の数を1だけインクリメントし(ステップS194)、同期保持状態を継続する(ステップS195)。
【0380】
そして、CPU41は、この同期保持動作中において、コスタスループ31のロック判定部211からのロック判定出力を監視し(ステップS196)、同期保持のロックを確認したときには、ステップS195に戻って、同期保持状態を継続する。そして、ステップS196で同期保持のロックが外れたと判別したときには、同期保持しているGPS衛星の数を1だけデクリメントし(ステップS197)、同期保持が外れたときの処理を行うようにする。この同期保持が外れたときの処理については、後述する。
【0381】
CPU41は、同期保持部30で4個以上のGPS衛星信号の同期保持ができたと判別したときには、GPS受信機の位置の計算および速度の計算を行うようにする。
【0382】
ステップS191において、相関値CV(P)が有意なレベルにならないと判別したときには、その状態が予め定めた所定時間以上経過しかたどうか判別し(ステップS199)、所定時間以上経過したと判別したときには、図44のステップS183で割り当てた同期保持部30のチャンネルを空きチャンネルに戻し、当該チャンネルの同期保持を停止する(ステップS200)。
【0383】
また、ステップS193において、ロック判定出力によりロック状態が検出できなかったときには、その状態が予め定めた所定時間以上経過しかたどうか判別し(ステップS201)、所定時間以上経過したと判別したときには、ステップS183で割り当てた同期保持部30のチャンネルを空きチャンネルに戻し、当該チャンネルの同期保持を停止する(ステップS200)。
【0384】
ステップS199、ステップS201およびステップS200の部分は、次のような理由により設けられたものである。すなわち、同期捕捉部20が検出した相関が有意なレベルであっても、ノイズで偶々発生した偽の同期である場合もあり得る。突発的に生じたような持続性のない偽の同期に対しては、同期保持部30で同期が確立することはない。そこで、同期保持部30で一定のサーチ時間内に同期が確立できない場合には、同期保持動作を停止して、割り当てられたチャンネルを、空きチャンネルの状態に戻し、次の割り込みを待つようにしたものである。
【0385】
ところで、前述の図44のステップS184では、CPU41は、同期捕捉部20で検出した拡散符号の位相に、同期保持部30の拡散符号発生器320からの拡散符号の位相を合わせるように、同期保持部30の同期保持スタートタイミングを計算する必要があるが、その計算の際には、同期捕捉部20で、一つのGPS衛星信号についての同期捕捉が完了するまでに所定時間が経過しており、ドップラーシフトと、GPS受信機の基準発振器2の誤差の影響を受けることを考慮する必要がある。
【0386】
後者の問題は、IFキャリア周波数が、周波数変換部10からのIFデータのメモリに取り込むためのサンプリングクロックを生成している大元の基準発振器2の誤差を含むことによる。
【0387】
なお、この実施形態では、同期捕捉部20と同期保持部30とが同じ基準発振器2を発信源とするクロックで動作しているので、同期捕捉部20と同期保持部30とでは、全く同じ周波数誤差を持つことになる。したがって、IFキャリアの同期に関しては、同期保持部30が同期捕捉部20で検出したIFキャリア周波数を初期値として動作を開始することに関しては、全く問題ない。
【0388】
以上のようにして、同期捕捉部20は、CPU41が軌道情報から決めたGPS衛星を検出していく順番に従って有意な相関をサーチする。そして、同期捕捉部41が確実な信号強度で最初の衛星を検出できたら、CPU41は、第1の例と同様に、同期保持部30の1つのチャンネルを割当て、検出された衛星番号と拡散符号の位相、IFキャリア周波数を設定して、同期保持動作を開始する。
【0389】
[その他の実施形態]
以上の実施形態の説明では、同期捕捉部20からの検出結果は、CPU41を介して同期保持部30に渡すようにしたが、前述したように、同期捕捉部20から、同期保持部30に直接的に渡すように構成することができるものである。
【0390】
また、上述の例では、同期捕捉部20には、デジタルマッチドフィルタを用いた例としたが、この発明では、粗い精度の同期捕捉を同期捕捉部が行い、その結果を同期保持部に渡して、同期確立までを高速化することが目的であるので、同期捕捉部20は、デジタルマッチドフィルタを用いた例に限られるものではない。
【0391】
また、デジタルマッチドフィルタには、上述の例のようなFFTを用いた例のみではなく、前述したように、トランスバーサルフィルタを用いた構成とすることができるものである。
【0392】
なお、室内では高感度モード、戸外では高速モードとする場合において、GPS受信機に室内か戸外かを検出する手段を設けて、その検出結果に応じて、測位モードを自動的に設定するようにすることもできる。室内か戸外かの検出手段としては、例えば、GPS受信機の筐体に対して、回転軸を中心にして、常に、電波の放射方向が鉛直方向を向くように送信アンテナを取り付けると共に、その放射電波の反射波の受信手段とを取り付け、室内であれば、受信手段により放射電波の反射波が得られるが、戸外であれば、反射波が殆ど得られないことなどを利用することができる。
【0393】
なお、以上は,GPS衛星信号の場合であるが、この出願は、GPS衛星信号に限らず、例えば欧州の各国が中心となって構築が進められているGALILEOなど、拡散符号を用いたものであれば、適用可能である。
【0394】
【発明の効果】
以上説明したように、この発明によれば、同期捕捉が高速に行える高速モードと、同期捕捉が高感度で行える高感度モードとを備え、使用環境に応じて切り換えが可能とされるので、測位用衛星信号についての同期捕捉が、使用環境条件に合わせて、迅速、かつ、正確に行えるようになる。
【0395】
そして、受信機の動作環境を、ユーザから提供してもらうようにすることにより、受信機は適切な測位モードに切り換わることができるので、結果的に測位するまでの時間を速くすることができるようになる。
【0396】
また、この発明によれば、受信機が測位状況をユーザに告知するようにしたことにより、測位までのユーザのいらいら感を緩和することができる。
【0397】
また、この発明によれば、同期捕捉と同期保持とを機能分離し、同期捕捉を高速化できるようにしたことで、従来のGPS受信機よりGPS信号との同期までに要する時間が短くなり、GPS受信機は、電源オン後に速やかに位置、速度を表示できるようになったので、高速モードと高感度モードとの2つのモードを有効に切り換え利用することができる。すなわち、高速モードおよび高感度モードのいずれであっても、測位までの時間が比較的短くなり、使用者にいらいら感を与えることを緩和することができる。
【図面の簡単な説明】
【図1】この発明による測位用衛星信号の受信機の実施形態の構成例を示すブロック図である。
【図2】実施形態の受信機の外観の一例を示す図である。
【図3】図1の実施形態の受信機の一部である同期捕捉部の構成例を示すブロック図である。
【図4】図3の例の同期捕捉部の一部を構成するDSPの内部構成例を示すブロック図である。
【図5】デジタルマッチドフィルタを用いた拡散符号の相関結果の例を示す図である。
【図6】受信信号のキャリアと拡散符号との同期を取る方法の一般的な例を説明するための図である。
【図7】この発明の実施の形態において、同期捕捉方法の第1の例を説明するための図である。
【図8】同期捕捉方法の第1の例の動作を考慮した要部の構成を示す図である。
【図9】同期捕捉方法の第1の例の動作を説明するためのフローチャートの一部を示す図である。
【図10】同期捕捉方法の第1の例の動作を説明するためのフローチャートの一部を示す図である。
【図11】同期捕捉方法の第1の例の動作を説明するためのフローチャートの一部を示す図である。
【図12】同期捕捉方法の第1の例の動作を考慮した要部の構成を示す図である。
【図13】この発明の実施形態における測位モードの設定動作を説明するためのフローチャートの一部を示す図である。
【図14】この発明の実施形態における測位モードの設定動作を説明するためのフローチャートの一部を示す図である。
【図15】この発明の実施形態における測位モードの設定動作の説明に供する図である。
【図16】この発明の実施形態における測位モードの設定動作の説明に供する図である。
【図17】この発明の実施形態における測位モードの設定動作の説明に供する図である。
【図18】この発明の実施形態における測位モードの設定動作を説明するためのフローチャートの一部を示す図である。
【図19】図18の実施形態における測位モードの設定動作の説明に供する図である。
【図20】この発明の実施形態の測位モードの選択操作処理を説明するためのフローチャートである。
【図21】図20の測位モードの選択操作処理動作の説明に供する図である。
【図22】図20の測位モードの選択操作処理動作の説明に供する図である。
【図23】この発明による受信機の他の実施形態の外観例を示す図である。
【図24】他の実施形態における測位モードの選択操作処理を説明するためのフローチャートである。
【図25】同期捕捉方法の第2の例を説明するための図である。
【図26】同期捕捉方法の第2の例を説明するための図である。
【図27】同期捕捉方法の第2の例の動作を考慮した要部の構成を示す図である。
【図28】同期捕捉方法の第3の例を説明するための図である。
【図29】同期捕捉方法の第3の例を説明するための図である。
【図30】同期捕捉方法の第3の例を説明するための図である。
【図31】同期捕捉方法の第3の例を説明するための図である。
【図32】同期捕捉方法の第3の例を説明するための図である。
【図33】同期捕捉方法の第3の例を説明するための図である。
【図34】同期捕捉方法の第3の例の動作を説明するためのフローチャートの一部を示す図である。
【図35】同期捕捉方法の第3の例の動作を説明するためのフローチャートの一部を示す図である。
【図36】同期捕捉方法の第3の例の動作を説明するためのフローチャートの一部を示す図である。
【図37】同期捕捉方法の第4の例を説明するためのブロック図である。
【図38】同期捕捉方法の第4の例の要部の動作を説明するためのフローチャートを示す図である。
【図39】同期捕捉方法の第5の例の要部の動作を説明するための図である。
【図40】図1の一部である同期保持部の構成例を示すブロック図である。
【図41】図40の同期保持部の一部を構成するコスタスループの構成例を示すブロック図である。
【図42】図40の同期保持部の一部を構成するDLLの構成例を示すブロック図である。
【図43】同期捕捉処理の一例の流れを説明するためのフローチャートである。
【図44】同期保持スタート処理の流れを説明するためのフローチャートである。
【図45】チャンネル毎同期保持処理の流れを説明するためのフローチャートである。
【図46】GPS衛星からの信号の構成を示す図である。
【図47】従来のキャリアおよび拡散符号の同期処理を説明するための図である。
【図48】この発明の実施の形態の説明に用いる図である。
【符号の説明】
10…周波数変換部、20…同期捕捉部、21…サンプリング回路、22…RAM、23…DSP、24…DSP用メモリ、30…同期捕捉部、31…コスタスループ、32…DLL、33…コントロールレジスタ、40…制御部、41…CPU、44…時計回路、45…タイマ、46…軌道情報用メモリ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a receiver for positioning satellite signals such as a GPS (Global Positioning System) receiver, and more particularly to synchronization of spread codes and carrier waves for received signals from artificial satellites (hereinafter simply referred to as satellites). Regarding capture.
[0002]
[Prior art]
In a GPS system that measures the position of a moving object using an artificial satellite, a GSP receiver receives signals from four or more GPS satellites, calculates the position of the receiver from the received signals, and informs the user. Is the basic function.
[0003]
The GPS receiver demodulates a received signal from a GPS satellite (hereinafter, this signal is referred to as a GPS satellite signal) to acquire GPS satellite orbit data, and from the GPS satellite orbit and time information and the GPS satellite signal delay time. The three-dimensional position of the receiver is derived by simultaneous equations. The reason why the signals from the four GPS satellites are necessary for the positioning calculation is that there is an error between the time in the GPS receiver and the time of the satellite, and the influence of the error is removed.
[0004]
In the case of a consumer-use GPS receiver, a spread spectrum radio wave called an L1 band, C / A (Clear and Acquisition) code from a GPS satellite (Navstar) is received and a positioning calculation is performed.
[0005]
The C / A code is a PN (Pseudorandom Noise) code having a transmission signal speed (chip rate) of 1.023 MHz and a code length of 1023, for example, a Gold code, and a signal obtained by spreading 50 bps data. This is a signal obtained by modulating a BPSK (Binary Phase Shift Keying) carrier wave having a frequency of 1575.42 MHz (hereinafter referred to as a carrier). In this case, since the code length is 1023, as shown in FIG. 46A, the C / A code has 1023 chips as one period (and therefore one period = 1 millisecond). It is to repeat.
[0006]
The PN sequence code (spreading code) of this C / A code is different for each GPS satellite, but which GPS satellite uses which PN sequence code can be detected in advance by the GPS receiver. Has been. In addition, the GPS receiver can know from which GPS satellite the signal from which GPS satellite can be received by the navigation message described later. Therefore, in the GPS receiver, for example, in the case of three-dimensional positioning, radio waves from four or more GPS satellites that can be acquired at that point and at that point are received, the spectrum is despread, and the positioning calculation is performed. Try to find the position.
[0007]
Then, as shown in FIG. 46B, one bit of the satellite signal data (navigation message data) is transmitted for 20 periods of the PN sequence code, that is, in units of 20 milliseconds. That is, the data transmission rate is 50 bps. The 1023 chips for one period of the PN sequence code are inverted when the bit is “1” and when it is “0”.
[0008]
As shown in FIG. 46C, in GPS, one word is formed with 30 bits (600 milliseconds). Then, as shown in FIG. 46D, 10 words form one subframe (6 seconds). As shown in FIG. 46E, a preamble that always has a prescribed bit pattern is inserted into the first word of one subframe even when the data is updated, and data is transmitted after this preamble. It will be.
[0009]
Furthermore, one frame (30 seconds) is formed by 5 subframes. The navigation message is transmitted in data units of one frame. The first three subframes of this one-frame data are orbit information unique to the satellite called ephemeris information. The ephemeris information is repeatedly sent in units of one main frame (30 seconds), and includes parameters for obtaining the orbit of the satellite that transmits the information, and the transmission time of the signal from the satellite.
[0010]
In other words, the second word of the three subframes of the ephemeris information includes time data called “Week Number” and “TOW (Time Of Week)”. The Week Number is information that counts up every week, starting from January 6, 1980 (Sunday) as the 0th week. Further, TOW is information on the time to count up every 6 seconds (counting up at a subframe period) with 0 am on Sunday as 0.
[0011]
All of the GPS satellites have an atomic clock and use common time information, and the transmission time of the signal from the GPS satellite is synchronized with the atomic clock. The absolute time is obtained by receiving the above two time data. The value of 6 seconds or less is synchronized with the time of the satellite with the accuracy of the reference oscillator provided in the GPS receiver in the process of synchronously locking to the satellite radio wave.
[0012]
Further, the PN sequence code of each GPS satellite is generated in synchronization with the atomic clock. Further, from this ephemeris information, the position of the satellite and the speed of the satellite used for the positioning calculation in the GPS receiver are obtained.
[0013]
The ephemeris information is a highly accurate calendar that is updated relatively frequently by control from the control station on the ground. In the GPS receiver, by holding this ephemeris information in a memory, the ephemeris information can be used for positioning calculation. However, due to its accuracy, the usable lifetime is normally about 2 hours, and the GPS receiver monitors the elapse of time from the time when the ephemeris information is stored in the memory. The ephemeris information in the memory is updated and rewritten.
[0014]
In order to acquire new ephemeris information from the GPS receiver and update the contents of the memory to the acquired ephemeris information, at least 18 seconds (for 3 subframes) are required. When it is removed, 30 seconds are required continuously.
[0015]
The navigation message of the remaining two subframes of the data of one frame is information commonly transmitted from all the satellites called almanac information. This almanac information is required for 25 frames in order to acquire all information, and includes approximate position information of each GPS satellite, information indicating which GPS satellite can be used, and the like.
[0016]
This almanac information is also updated every few days under the control of the control station on the ground. This almanac information can also be stored and used in the GPS receiver's memory, but its lifetime is set to several months. Normally, every few months, the almanac information in the memory is GPS Updated with new information obtained from the satellite. If this almanac information is stored in the memory of the GPS receiver, it is possible to calculate which channel should be assigned to which channel after the power is turned on.
[0017]
In order to receive the GPS satellite signal by the GPS receiver and obtain the above-mentioned data, the same PN sequence code as the C / A code used in the GPS satellite to be received prepared in the GPS receiver. (Hereinafter, the PN sequence code is referred to as a PN code), the GPS satellite signal is captured by phase synchronization of the C / A code for the GPS satellite signal, and spectrum despreading is performed. When phase synchronization with the C / A code is taken and despreading is performed, bits are detected, and a navigation message including time information and the like can be acquired from a GPS satellite signal.
[0018]
The acquisition of the GPS satellite signal is performed by the phase synchronization search of the C / A code. In this phase synchronization search, the correlation between the PN code of the GPS receiver and the PN code of the received signal from the GPS satellite is detected, For example, when the correlation value of the correlation detection result is larger than a predetermined value, it is determined that the two are synchronized. When it is determined that the synchronization is not achieved, the phase of the PN code of the GPS receiver is controlled using some synchronization method so as to synchronize with the PN code of the received signal.
[0019]
By the way, as described above, a GPS satellite signal is a signal obtained by BPSK modulation of a carrier using a signal obtained by spreading data with a spreading code. Therefore, in order for a GPS receiver to receive the GPS satellite signal, However, it is necessary to synchronize the carrier and data, but the synchronization of the spreading code and the carrier cannot be performed independently.
[0020]
In the GPS receiver, the received signal is usually converted to an intermediate frequency within several MHz, and the above-mentioned synchronization detection processing is performed on the intermediate frequency signal. The carrier mainly includes a frequency error due to Doppler shift according to the moving speed of the GPS satellite, and a frequency error of the local oscillation signal generated from the local oscillator inside the GPS receiver when the received signal is converted into an intermediate frequency signal. Is included.
[0021]
Therefore, the carrier frequency in the intermediate frequency signal is unknown due to these frequency error factors, and the frequency search is required. In addition, since the synchronization point (synchronization phase) within one cycle of the spread code depends on the positional relationship between the GPS receiver and the GPS satellite, it is also unknown, so that some kind of synchronization method is necessary as described above. Become.
[0022]
In the conventional GPS receiver, the synchronization detection for the carrier and the spread code is performed by the sliding correlation accompanied by the frequency search, and at the same time, the synchronization acquisition and the synchronization holding operation are performed by the DLL (Delay Locked Loop) and the Costas loop. ing. This will be described below.
[0023]
As a clock for driving the PN code generator of the GPS receiver, a clock obtained by dividing a reference frequency oscillator prepared in the GPS receiver is generally used. As this reference frequency oscillator, a high-precision crystal oscillator is used, and a local oscillation signal used to convert a received signal from a GPS satellite into an intermediate frequency signal is generated from the output of the reference frequency oscillator.
[0024]
FIG. 47 is a diagram for explaining the frequency search described above. That is, when the frequency of the clock signal driving the PN code generator of the GPS receiver is a certain frequency f1, the phase synchronization search for the PN code, that is, the phase of the PN code is sequentially shifted by one chip, By detecting the correlation between the GPS reception signal and the PN code at each chip phase and detecting the peak value of the correlation, the phase (spread code phase) that can synchronize the PN code is detected.
[0025]
When the frequency of the clock signal is f1, if there is no phase that is synchronized in all phase searches for 1023 chips, the carrier frequency is not synchronized. For example, the frequency division ratio for the reference frequency oscillator is changed. The frequency of the drive clock signal is changed to the frequency f2, and the phase search for 1023 chips is performed in the same manner. This is repeated by changing the frequency of the drive clock signal stepwise as shown in FIG. The above operation is a frequency search.
[0026]
When the frequency of the drive clock signal that can be synchronized is detected by this frequency search, the final PN code synchronization is acquired at the clock frequency. The carrier frequency can be detected from the clock frequency at this time. Thereby, even if there is a deviation in the oscillation frequency of the crystal frequency oscillator, the satellite signal can be captured.
[0027]
[Problems to be solved by the invention]
By the way, in the conventional GPS receiver, there has been no idea of switching the synchronization acquisition mode in consideration of the use environment.
[0028]
For this reason, for example, a conventional GPS receiver using a digital matched filter can quickly capture and synchronize in an environment where the radio wave from the satellite is strong, but it also receives noise radio waves and so-called multipaths. Therefore, it may be difficult to obtain an accurate position.
[0029]
In addition, in a place where radio waves from satellites such as indoors are weak, the sensitivity of a conventional GPS receiver using a digital matched filter is low, so it takes time to capture the synchronization, which gives an annoyance to the user. there were.
[0030]
In view of the above points, the present invention provides a positioning satellite receiver and a positioning satellite signal receiving method that can be expected to be able to perform synchronization acquisition of GPS satellite signals quickly and accurately in accordance with environmental conditions. The purpose is to provide.
[0031]
[Means for Solving the Problems]
In order to solve the above problem, a positioning satellite signal receiver according to the invention of claim 1
While substantially changing the phase of the spreading code on the receiving side, detecting the correlation between the spreading code of the received signal from the satellite and the spreading code on the receiving side and performing synchronization acquisition of the spreading code of the received signal, A high-speed mode in which the substantial phase change width of the spreading code on the receiving side is large, and a high-sensitivity mode in which the substantial phase change width is small, and
A mode switching operation means for accepting a switching selection operation between the high speed mode and the high sensitivity mode;
Synchronization acquisition means for executing the acquisition with the mode switched by the mode switching operation means as the current mode;
With
The synchronization acquisition means includes Using fast Fourier transform processing A digital matched filter is used, and at least in the high sensitivity mode, the received signal data from the positioning satellite for M periods (M is a power of 2 or more) of the spreading code is used as a unit.
It is characterized by that.
[0032]
According to the positioning satellite signal receiver having the above-described configuration, the positioning satellite signal receiver includes a high-speed mode in which synchronization acquisition can be performed at high speed and a high-sensitivity mode in which synchronization acquisition can be performed with high sensitivity. Since the switching is enabled, the synchronous acquisition of the positioning satellite signal can be performed quickly and accurately in accordance with the use environment conditions.
[0033]
According to a second aspect of the present invention, a positioning satellite signal receiver comprises:
While detecting the correlation between the spreading code of the received signal from the positioning satellite and the spreading code of the receiving side while substantially changing the phase of the spreading code on the receiving side, A high-speed mode in which the substantial phase change width of the spreading code on the receiving side is large, and a high-sensitivity mode in which the substantial phase change width is small,
Either one of the high-speed mode or the high-sensitivity mode as a current mode, and synchronization acquisition means for performing the synchronization acquisition;
Discriminating means for discriminating whether the synchronization acquisition is difficult in the current mode;
In the determination means, when it is determined that the synchronization acquisition is difficult in the current mode, the mode change means for changing the current mode to the other one of the high speed mode and the high sensitivity mode;
With
The synchronization acquisition means includes Using fast Fourier transform processing A digital matched filter is used, and at least in the high sensitivity mode, the received signal data from the positioning satellite for M periods (M is a power of 2 or more) of the spreading code is used as a unit.
It is characterized by that.
[0034]
According to the second aspect of the present invention, a high-speed mode in which synchronization acquisition can be performed at high speed and a high-sensitivity mode in which synchronization acquisition can be performed with high sensitivity are provided, and mode switching is automatically performed according to the use environment. Acquisition of satellite signals can be performed quickly and accurately in accordance with the use environment conditions.
[0043]
DETAILED DESCRIPTION OF THE INVENTION
In the conventional method of performing synchronization acquisition on the carrier and spreading code simultaneously with the above-described sliding correlation with frequency search, DLL (Delay Locked Loop) and Costas loop, the synchronization holding operation is performed in the conventional method. As described above, the sliding correlation method accompanied by the problem is not suitable for high-speed synchronization in principle, and there is a problem that it takes time to synchronize spreading codes and carriers. If it takes time to synchronize the spread code and the carrier in this way, the response of the GPS receiver is slowed, resulting in inconvenience in use.
[0044]
Conventionally, in an actual GPS receiver, in order to improve this problem, it is necessary to search for synchronization points in parallel by increasing the number of channels. Is complicated, and the cost is high, and since the synchronization point is searched in parallel with multiple channels, the power consumption is large. The problem of power consumption is a big problem in the case of a portable GPS receiver.
[0045]
Further, in the case of the above-described conventional method, the synchronization acquisition and the synchronization maintenance of the spread code and the carrier are integrally performed by the sliding correlation accompanied by the frequency search, the DLL (Delay Locked Loop), and the Costas loop. Therefore, for example, when the signal from the GPS satellite is interrupted, it is necessary to perform synchronization acquisition and synchronization maintenance again, and the time until resynchronization acquisition and resynchronization maintenance becomes longer. is there.
[0046]
Further, in the conventional case described above, the synchronization acquisition and the synchronization maintenance of the spread code and the carrier are integrally performed by a sliding correlation accompanied by a frequency search, a DLL (Delay Locked Loop), and a Costas loop. Therefore, if you try to increase the sensitivity of the GPS receiver, the processing time for acquisition and maintenance of synchronization will be considerably longer in principle, so it is not easy to increase the sensitivity of the GPS receiver. There was also.
[0047]
The embodiment described below improves the above problems. Hereinafter, embodiments of a positioning satellite signal receiver according to the present invention will be described with reference to the drawings, taking a GPS receiver as an example.
[0048]
[Overall Configuration of GPS Receiver of Embodiment]
FIG. 1 is a block diagram illustrating a configuration example of a GPS receiver according to this embodiment, and FIG. 2 is a diagram illustrating an appearance of the GPS receiver according to this embodiment. As shown in FIG. 1, the GPS receiver of this embodiment includes a frequency conversion unit 10, a synchronization acquisition unit 20, a synchronization holding unit 30, a control calculation unit 40, a GPS antenna 1, and a crystal oscillator with temperature compensation. The circuit includes a reference oscillation circuit 2, a timing signal generation circuit 3, a crystal oscillation circuit 4, a display 5, an operation button group 6, a jog dial 7, and a map memory 8.
[0049]
The control operation unit 40 has a CPU (Central Processing Unit) 41, a program ROM (Read Only Memory) 42, a work area RAM (Random Access Memory) 43, and real time (RTC (Real Time Clock)). The clock circuit 44, the timer 45, the orbit information memory 46, the display interface 47, the operation button interface 48, the jog dial decoder 49, and the map memory 8 are connected to each other.
[0050]
The display interface 47 is connected to a display 5 made of, for example, an LCD (Liquid Crystal Display). As will be described later, a map for displaying the current location is displayed on the screen of the display 5 under the control of the CPU 41, and an operation menu is displayed.
[0051]
The operation button group 6 is connected to the operation button interface 48. In this example, the operation button group 6 includes a map enlargement button 61, a map reduction button 62, and a cursor button 63 for moving the cursor position back and forth and left and right, as shown in FIG.
[0052]
A jog dial 7 is connected to the jog decoder 49. The jog dial 7 is an operation unit having a plurality of roles such as a role as an up / down key and a role as a determination key. In the case of this example, the jog dial 7 is constituted by a circular dial knob that can rotate as shown in the external view of the GPS receiver in FIG.
[0053]
The jog dial 7 serves as an up / down key by the rotation of the dial knob. Further, the jog dial 7 has a function as a non-locking push button when pressed in the radial direction. The function of this push button serves as a decision key.
[0054]
The operation input of the jog dial 7 is detected by the jog dial decoder 49, and information indicating whether the operation input is rotation of the dial knob or depression of the dial knob is sent from the jog dial decoder 49 to the CPU 41.
[0055]
The CPU 41 receives the operation button input information and the operation input information of the jog dial 7 from the jog dial decoder 49 in the program written in the ROM 44, analyzes them, and performs processing corresponding thereto. Further, the CPU 41 stores necessary information in the RAM 43 and the trajectory information memory 46, and sends information for displaying a predetermined display image on the display screen of the display 5 through the display interface 47. Like that.
[0056]
In addition, the CPU 41 supplies a control signal such as a mode switching signal to the synchronization acquisition unit 20 and receives information as described later from the synchronization acquisition unit 20 to control the synchronization holding unit 30 or a GPS satellite. And processing to notify the user of the status of radio waves from. Further, the CPU 41 executes a positioning calculation process based on radio waves from four or more satellites held in synchronization. That is, the CPU 41 of the control calculation unit 40 controls the entire GPS receiver and performs positioning calculation.
[0057]
The timer 45 is used for generation of various timing signals necessary for the operation of each unit and for time reference. The orbit information memory 46 is a non-volatile memory in which orbit information composed of almanac information and ephemeris information extracted from GPS satellite signals is stored. The ephemeris information is updated with respect to the orbit information memory 46, for example, every two hours, and the almanac information is updated, for example, every few days or months.
[0058]
In this example, the map memory 8 is composed of a semiconductor memory storing map data, but a detachable card type memory can also be used.
[0059]
In the GPS receiver of FIG. 1, the reference clock signal from the reference oscillation circuit 2 is supplied to the multiplication / division circuit 3 and, as will be described later, to the local oscillation circuit 15 for frequency conversion of the frequency conversion unit 10. Supplied. The multiplier / divider circuit 3 multiplies and divides the reference clock signal to generate a clock signal to be supplied to the synchronization acquisition unit 20, the synchronization holding unit 30, the control operation unit 40, and the like. The multiplication / division circuit 3 is controlled by the CPU 41 of the control calculation unit 40 for the multiplication ratio and the division ratio.
[0060]
The clock signal from the crystal oscillation circuit 4 is for the clock circuit 44 of the control arithmetic unit 40. A clock signal other than the clock circuit 44 of the control arithmetic unit 40 is used as a clock signal from the multiplier / divider circuit 3.
[0061]
[Configuration of Frequency Conversion Unit 10]
As described above, the GPS satellite signal is a signal transmitted from each GPS satellite, and transmission data of 50 bps is determined for each GPS satellite with a transmission signal speed of 1.023 MHz and a code length of 1023. A carrier (carrier wave) having a frequency of 1575.42 MHz is BPSK-modulated with a signal (C / A code) spectrum-spread by a PN code (spreading code) of the specified pattern.
[0062]
A GPS satellite signal of 1575.42 MHz received by the antenna 1 is supplied to the frequency converter 10. In the frequency converter 10, the GPS satellite signal received by the antenna 1 is amplified by the low noise amplifier circuit 11, and then supplied to the bandpass filter 12 to remove unnecessary band components. The signal from the band pass filter 12 is supplied to the intermediate frequency conversion circuit 14 through the high frequency amplifier circuit 13.
[0063]
The output of the reference oscillation circuit 2 is supplied to a local oscillation circuit 15 of a PLL (Phase Locked Loop) synthesizer system, and the local oscillation whose frequency ratio is fixed to the output frequency of the reference oscillator 2 from the local oscillation circuit 15 Output is obtained. Then, this local oscillation output is supplied to the intermediate frequency conversion circuit 14, and the GPS satellite signal is low-frequency converted into an intermediate frequency signal of an intermediate frequency that is easy to process, for example, 1.023 MHz.
[0064]
The intermediate frequency signal from the intermediate frequency conversion circuit 14 is amplified by the amplification circuit 16, band-limited by the low-pass filter 17, and then a 1-bit digital signal (hereinafter referred to as IF data) by the A / D converter 18. ). This IF data is supplied to the synchronization capturing unit 20 and the synchronization holding unit 30.
[0065]
That is, in this embodiment, the IF data is not supplied to a conventional synchronization acquisition / synchronization holding integrated circuit such as a sliding correlation and Costas loop + DLL, but a functionally separated synchronization acquisition unit 20; It is supplied to the synchronization holding unit 30.
[0066]
In this embodiment, the synchronization acquisition unit 20 performs synchronization acquisition for a GPS satellite signal, that is, phase detection of a spread code of the GPS satellite signal and detection of a frequency of an intermediate frequency signal (hereinafter referred to as IF carrier frequency). The synchronization holding unit 30 holds the spread code of the GPS satellite signal captured by the synchronization capturing unit 20 and the IF carrier in synchronization.
[0067]
[Configuration of Synchronization Capturing Unit 20 and Synchronization Holding Unit 30]
In this embodiment, as will be described later, the synchronization acquisition unit 20 captures a predetermined amount of IF data from the frequency conversion unit 10 into a memory, and for the IF data captured in the memory, a spread code of a GPS satellite signal, The correlation calculation with the spreading code corresponding to the spreading code of each GPS satellite possessed by the GPS receiver is performed, and phase synchronization acquisition of the spreading code and IF carrier frequency detection are performed.
[0068]
As for the phase synchronization acquisition of a spread code, there is a method using a matched filter as a method for performing synchronization acquisition of a spread spectrum signal at high speed without using the above-described sliding correlation technique.
[0069]
The matched filter can be digitally realized by a transversal filter. In recent years, spreading code synchronization has been achieved by a digital matched filter using fast Fourier transform (hereinafter referred to as FFT (Fast Fourier Transform)) processing due to improvements in hardware capabilities typified by DSP (Digital Signal Processor). Has been realized at high speed. However, the digital matched filter itself does not have a function of maintaining the synchronization of the spread code.
[0070]
The latter method using the FFT processing is based on a correlation calculation speed-up method that has been known for a long time, and will be described later when there is a correlation between the spread code on the receiver side and the spread code of the received signal. A correlation peak as shown in FIG. 5 is detected, and the peak position is the leading phase of the spread code. Therefore, by detecting this correlation peak, the synchronization of the spread code can be captured, that is, the phase of the spread code in the received signal can be detected.
[0071]
The carrier (intermediate frequency) of the received signal can be detected together with the phase of the spread code by an operation in the FFT frequency domain by a method using FFT. The phase of the spread code is converted into a pseudorange, and if four or more satellites are detected, the position of the GPS receiver can be calculated. Further, when the carrier frequency is detected, the Doppler shift amount is known, and thereby the speed of the GPS receiver can be calculated.
[0072]
As described above, in this embodiment, correlation calculation is performed on a spread code by a digital matched filter using fast Fourier transform (hereinafter referred to as FFT (Fast Fourier Transform)) processing, and synchronization acquisition processing is performed based on the correlation calculation. To do at high speed.
[0073]
The GPS satellite signal received by the antenna 1 includes signals from a plurality of GPS satellites. The synchronization acquisition unit 20 prepares spread code information for all GPS satellites. By using the information of the spread codes being used, the correlation between the spread codes of a plurality of GPS satellite signals that can be used by the GPS receiver at that time is calculated, and the synchronization acquisition of the plurality of GPS satellite signals is performed. It is possible to
[0074]
The synchronization acquisition unit 20 detects which GPS satellite has acquired the synchronization by detecting which GPS satellite has been used to acquire the synchronization code. For example, a GPS satellite number is used as the identifier of the GPS satellite that has been acquired by synchronization.
[0075]
The synchronization acquisition unit 20 then synchronizes and acquires the satellite number information of the GPS satellite, the information of the phase of the spread code detected by the synchronization acquisition, the information of the IF carrier frequency, and, if necessary, the degree of correlation. The signal strength information consisting of the correlation detection signal indicating the above is passed to the synchronization holding unit 30.
[0076]
The method of passing the satellite number, spreading code phase, IF carrier frequency, and signal strength information detected by the synchronization acquisition unit 20 to the synchronization holding unit 30 is determined after determining the data format, interrupt method, etc. There are a method of passing directly from the capturing unit 20 to the synchronization holding unit 30 and a method of passing through the control calculation unit 40.
[0077]
In the former case, information to be passed to the synchronization holding unit 30 is generated by the DSP 23 of the synchronization capturing unit 20. Or the control part comprised by DSP is provided in the synchronous holding | maintenance part 30, for example, It is set as the structure which produces | generates required information in the synchronous holding | maintenance part 30 based on the information from the synchronous acquisition part 20 with the control part.
[0078]
In the latter case, the CPU 41 of the control calculation unit 40 can control and pass information through the CPU 41, and the CPU 41 can control the synchronization capturing unit 20 and the synchronization holding unit 30. It becomes easier to set various synchronization procedures according to the phase correction of the code and the situation of the synchronization acquisition unit 20 and the synchronization holding unit 30.
[0079]
Therefore, in the embodiment described below, as a method of passing the satellite number, the phase of the spreading code, the IF carrier frequency, and the signal strength information from the synchronization acquisition unit 20 to the synchronization holding unit 30, the control calculation unit 40 is used. Is adopted.
[0080]
[Configuration of Synchronization Acquisition Unit 20]
FIG. 3 shows an example of the configuration of the synchronization acquisition unit 20. In this example, a sampling circuit 21, a RAM (Random Access Memory) 22 for data buffer, a DSP (Digital Signal Processor) 23, and a program are shown. A memory unit 24 for the DSP 23 including a ROM (Read Only Memory) and a RAM for a work area is provided. The DSP 22 and the DSP memory unit 24 are connected to the CPU 41 of the control calculation unit 40.
[0081]
In the sampling circuit 21, 1.023 MHz IF data from the frequency conversion unit 10 is sampled at a predetermined frequency more than twice, and each sampling value is written in the RAM 22. The RAM 22 has a capacity for storing IF data for a predetermined time length. In the DSP 23, the synchronization acquisition process is performed in units of IF data having a time length corresponding to the capacity of the RAM 22.
[0082]
In other words, in this example, the DSP 23 performs high-speed acquisition of the spread code with a digital matched filter using fast Fourier transform (hereinafter referred to as FFT (Fast Fourier Transform)) processing on the IF data taken into the RAM 22. Then, as a result of the synchronization acquisition, the DSP 23 detects the GPS satellite number acquired in synchronization, the phase of the spread code of the GPS satellite signal acquired in synchronization and the IF carrier frequency thereof.
[0083]
The sampling frequency in the sampling circuit 21 determines the detection accuracy of the phase of the spread code. This sampling frequency needs to be at least twice the maximum frequency included in the IF signal from the sampling theorem, and is preferably an integer multiple of the IF carrier frequency.
[0084]
Further, the detection accuracy of the IF carrier frequency is determined by the time length of the processing unit in the DSP 23 determined by the capacity of the RAM 22. The time length of the processing unit in the DSP 23 is desirably an integral multiple of one period of the spread code, and in particular, a power of 2 as described later.
[0085]
Here, if the sampling frequency in the sampling circuit 21 is α times the chip rate of the spreading code and the time length of the IF data fetched into the RAM 22 is β times (β milliseconds) of one cycle of the spreading code, the DSP 23 performs FFT. By operating in the frequency domain, the phase of the spread code can be detected with an accuracy of 1 / α chip, and the IF carrier frequency can be detected with an accuracy of 1 / β kHz (± 1/2 β kHz).
[0086]
In this embodiment, the DSP 23 can select a high-speed mode or a high-sensitivity mode as a synchronization acquisition search mode (hereinafter referred to as a positioning mode). As described later, the high-speed mode is intended to perform coarse acquisition search and to detect the phase of the spread code and IF carrier frequency at high speed, and is effective when the radio wave from the satellite is strong. It is.
[0087]
The high-sensitivity mode, as described later, is intended to perform precise acquisition search and ensure detection of the spread code phase and IF carrier frequency. It is effective when.
[0088]
In this example, the switching between the two modes can be selected between automatic (auto mode) and manual (manual mode). Then, the CPU 41 of the control calculation unit 40 performs synchronization acquisition so as to perform a synchronization acquisition search operation in any one of the positioning modes automatically set for switching or the positioning mode set by a manual switching operation by the user. The DSP 23 of the unit 20 is controlled.
[0089]
In the auto mode, in this example, the initial mode is always the high-speed mode, and when the satellite radio wave reception (synchronization acquisition) is not possible in the high-speed mode, the automatic mode is automatically switched to the high-sensitivity mode. Then, when the received electric field intensity of the radio wave from the GPS satellite is increased in the high sensitivity mode and the state is restored to the state where the synchronization acquisition in the high speed mode is possible again, the high speed mode is restored.
[0090]
Of course, it is possible to designate either the high sensitivity mode or the high speed mode as the initial mode of the auto mode according to user settings.
[0091]
Next, some examples of synchronization acquisition by a digital matched filter using FFT in the DSP 23 will be described in detail.
[0092]
[First example of synchronization acquisition by digital matched filter]
In this example, the sampling frequency in the sampling circuit 21 is 4.096 MHz, which is almost four times the chip rate of the spread code. The RAM 22 stores data of 4096 sample points, which is one cycle (1 millisecond) of the spread code. The DSP 23 obtains the synchronization by calculating the correlation between the spread code of the GPS satellite signal and the spread code of the GPS receiver by the correlation calculation using FFT with respect to the data of 1 millisecond unit captured in the RAM 22. . Since one period of the spreading code is 1023 chips, the phase of the spreading code can be detected with an accuracy of 1/4 chip. The IF carrier frequency detection accuracy is 1 kHz because FFT processing is performed in units of 1 millisecond.
[0093]
In this example, as shown in FIG. 3, the DSP 23 reads IF data in 1-millisecond units written in the RAM 22, performs FFT processing in the FFT processing unit 101, and writes the FFT result in the memory 102. The FFT results written in the memory 102 are sequentially read out according to the read control of the read address control unit 109 and supplied to the multiplication unit 103. The read address control unit 109 does not only read the FFT results from the memory 102 sequentially.
[0094]
In this example, the output of the correlation point detection unit 108 is supplied to the read address control unit 109, and when the correlation point detection unit 108 fails to obtain a correlation peak, the read address of the FFT result from the memory 102 is set. Control to shift the initial value is also performed.
[0095]
On the other hand, the spreading code generation unit 104 generates a spreading code that is considered to be the same series as the spreading code used for the received signal from the GPS satellite. In practice, the spread code generator 104 sequentially switches and outputs spread codes of a plurality of GPS satellites prepared in advance.
[0096]
The spread code for one period (1023 chips) from the spread code generation unit 104 is supplied to the FFT processing unit 105 and subjected to FFT processing, and the processing result is supplied to the memory 106. From the memory 106, the FFT results are read in order from the lowest frequency according to the read control of the read address control unit 110 and supplied to the multiplier 103. In this example, the read address control unit 110 always performs only the process of reading the FFT results from the memory 106 in order from the lowest frequency.
[0097]
Multiplier 103 multiplies the FFT result of the received signal from memory 102 and the FFT result of the spread code from memory 106, and calculates the degree of correlation between the received signal and the spread code in the frequency domain. Here, the multiplication in the multiplication unit 105 is an operation of multiplying one of the complex conjugate of the discrete Fourier transform result of the received signal and the discrete Fourier transform result of the spread code by the other. The multiplication result is supplied to the inverse FFT processing unit 107, and the frequency domain signal is returned to the time domain signal.
[0098]
The inverse FFT result obtained from the inverse FFT processing unit 107 is a correlation detection signal in the time domain between the received signal and the spread code. The correlation detection signal is supplied to the correlation point detection unit 108.
[0099]
This correlation detection signal indicates the correlation value in each chip phase for one cycle of the spread code, and the spread code in the received signal having a predetermined strength or more and the spread code from the spread code generation unit 104 In the phase in which 1 and 2 are synchronized (phase in units of one period of the spreading code), as shown in FIG. 5, the correlation value at one phase of the 1023 chips is a predetermined threshold value. A correlation waveform showing a peak value exceeding the value is obtained. The chip phase at which this peak value is the phase of the correlation point, and is the leading phase of one cycle of the spread code of the GPS satellite signal with respect to the spread code on the GPS receiver side.
[0100]
On the other hand, when the received signal is less than or equal to a predetermined strength, a correlation waveform with a peak value as shown in FIG. 5 is obtained even if the spreading code in the received signal and the spreading code from the spreading code generator 104 are synchronized. In any chip phase, a peak exceeding a predetermined threshold value does not stand.
[0101]
For example, the correlation point detection unit 108 determines whether the received signal and the spread code are synchronized depending on whether a peak value exceeding a predetermined value is present in the correlation detection signal supplied to the correlation point detection unit 108. Detect if.
[0102]
When the correlation point detection unit 108 detects that synchronization is established, the phase of the peak value is detected as a correlation point, that is, the phase of the spread code of the GPS satellite signal. Then, the DSP 23 recognizes the GPS satellite number depending on which GPS satellite the spreading code from the spreading code generation unit 104 at that time is for.
[0103]
Although the correlation detection signal shown in FIG. 5 is in the time domain, the correlation peak is detected only when the carrier component in the intermediate frequency reception signal is correctly removed by the processing described later.
[0104]
Then, the frequency of the removed carrier component becomes the IF carrier frequency including the Doppler shift corresponding to the correlation point where the peak value exceeding the predetermined value stands. Therefore, the IF carrier frequency including this Doppler shift is detected by the DSP 23 as a result of the correlation point detection.
[0105]
When synchronization acquisition for one GPS satellite is completed as described above, in this example, the spreading code generated from the spreading code generator 104 is changed to one corresponding to the spreading code of another GPS satellite signal, Repeat the above process. Even when synchronization cannot be achieved, the DSP 23 changes the spreading code generated from the spreading code generator 104 to one corresponding to the spreading code of another GPS satellite signal, and repeats the above processing.
[0106]
Then, in the DSP 23, when the synchronization acquisition processing for all GPS satellites to be searched is completed, or the spread codes for four or more GPS satellites are synchronized by the information from the CPU 41 of the control calculation unit 40, for example. Then, the synchronization acquisition process is completed.
[0107]
The DSP 23 supplies the control calculation unit 40 with information including the GPS satellite number acquired as a result of the synchronization acquisition, the phase of the spread code of the GPS satellite signal acquired in synchronization and the IF carrier frequency thereof. Further, in this example, the DSP 23 also supplies the control arithmetic unit 40 with the peak value of the correlation point for each GPS satellite signal acquired in synchronization.
[0108]
In the above description, processing of the carrier of the received signal is not considered, but actually, the received signal r (n) includes a carrier as shown in Expression (3) in FIG. In this equation (3), A represents amplitude, d (n) represents data, fo represents carrier angular frequency in the intermediate frequency signal, and n (n) represents noise.
[0109]
Assuming that the sampling frequency in the sampling unit 21 is fs and the number of samplings for one period of the spreading code is N (and therefore 0 ≦ n <N), the discrete frequency k after discrete Fourier transform (0 ≦ k <N) The relationship with the actual frequency f is
For 0 ≦ k ≦ N / 2, f = k · fs / N,
For N / 2 <k <N, f = (k−N) · fs / N (f <0)
It is. Note that due to the nature of the discrete Fourier transform, R (k) and C (k) exhibit circularity when k <0 and k ≧ N.
[0110]
In order to obtain the data d (n) from the received signal r (n), the spread code c (n) and the carrier cos2πnf 0 It is necessary to remove the carrier component in synchronization with. That is, in the equation (2) shown in FIG. 48 described later, when a carrier component is included only in R (k), a correlation waveform having a peak as shown in FIG. 5 cannot be obtained.
[0111]
In this embodiment, the spread code c (n) and the carrier cos 2πnf are obtained by a simple configuration that only performs processing in the frequency domain by FFT. 0 And the carrier component can be removed.
[0112]
In other words, in this embodiment, the FFT result of the spread code from the spread code generation unit 104 obtained from the FFT processing unit 105 is obtained as usual by the read address control unit 110 under the control of the arithmetic control unit 40. The frequency components are always read from the memory 106 in order from the lowest frequency component and supplied to the multiplier 103.
[0113]
On the other hand, for the FFT result of the received signal from the GPS satellite obtained from the FFT processing unit 101, the read start address for the FFT result from the memory 102 is shifted from the address position of the lowest frequency component by an amount corresponding to the carrier frequency. Under the control of the arithmetic control unit 40, the read address control unit 109 controls the address so that the address becomes the same.
[0114]
In other words, even if all the frequency components of the memory 102 are read out starting from the frequency component of a certain address phase, if the correlation peak is not obtained, the read address control unit 109 shifts the read start address from the memory 102. The FFT result is sequentially read again from the shift-controlled address.
[0115]
At this time, in this embodiment, the read address control unit 109 receives the mode switching control from the control calculation unit 40 and increases the shift amount per read start address when the positioning mode is the high speed mode. The coarse search is performed, and when the positioning mode is the high sensitivity mode, the shift amount per read start address is minimized (shifted to the address position of the adjacent frequency component) and the fine search is performed. To.
[0116]
That is, from the memory 102, the read start address is shift-controlled according to the control from the read address control unit 109, and the FFT result of the received signal is read sequentially multiple times. The shift control amount at this time is finely changed in the high sensitivity mode, and coarsely changed in the high speed mode.
[0117]
That is, in the high sensitivity mode, when the FFT result from the certain read start address is not read from the memory 102, the read address control unit 109 sets the read start address for the memory 102 when the correlation peak is not obtained. The FFT result is read out by shifting to the address of one higher frequency or one lower frequency adjacent to the previous one. Then, such fine shift control of the read start address is repeated until a correlation peak is obtained.
[0118]
On the other hand, in the high-speed mode, when a correlation peak is not obtained in reading the FFT result from a certain read start address from the memory 102, the read address control unit 109 reads the read start address for the memory 102. Are shifted to address positions separated by n (n is an integer equal to or greater than 2), and shift control is performed so as to start reading the FFT result from the memory 102 from high frequency or low frequency components separated by n. Then, such coarse shift control of the read start address is repeated until a correlation peak is obtained.
[0119]
If the spread code from the spread code generation unit 104 and the spread code included in the received signal are of the same series, the memory 102 at any read start address is controlled by the shift control of the read start address. The correlation peak is obtained for the FFT result from the FFT and the FFT result from the memory 106.
[0120]
By the way, the carrier frequency of the received signal detected based on the accurate estimation of the Doppler shift amount for the GPS satellite from which the received signal was obtained and the accurate calibration of the oscillation frequency and time information inside the GPS receiver. If the information is generated inside the GPS receiver or acquired from the outside, the read address control unit 109 shifts the read start address of the memory 102 by the carrier frequency, thereby detecting the correlation point. In the unit 108, a correlation peak is immediately obtained.
[0121]
However, when the carrier frequency is unknown, as described above, the search start address from the memory 102 is sequentially shifted by the shift amount corresponding to the positioning mode, and a search is performed to obtain a correlation peak. Search for the read start address.
[0122]
Thus, by reading out the FFT result of the received signal r (n) from the memory 102 by shifting by the carrier frequency of the received signal, it is equivalent to the FFT result of the received signal from which the carrier component has been removed, as will be described later. If an FFT result can be obtained and the result of multiplication of the FFT result from which the carrier component is removed and the FFT result for one cycle of the spread code is despread, a peak is reliably generated at the correlation point as shown in FIG. Correlation detection output is obtained.
[0123]
As will be described later, instead of controlling the read address of the FFT result from the memory 102, the FFT result read address of the spread code from the memory 106 is controlled to receive the FFT result of the spread code. It is also possible to remove the carrier component in the same manner as described above by adding the signal r (n) for the carrier and multiplying by the multiplier 103.
[0124]
Hereinafter, the removal of the carrier component by the synchronization of the carrier of the received signal and the spread code by the control of the read address from the memory 102 or the memory 106 will be described in more detail together with the operation of the digital matched filter processing in the DSP 23. To do.
[0125]
In this embodiment, the DSP 23 performs digital matched filter processing. The principle of this digital matched filter processing is the convolution of the time domain as shown in the equation (1) in FIG. This is based on the theorem that Fourier transform is multiplication in the frequency domain.
[0126]
In this equation (1), r (n) represents the received signal in the time domain, and R (k) represents its discrete Fourier transform. Further, c (n) represents a spreading code from the spreading code generator, and C (k) represents its discrete Fourier transform. n is a discrete time and k is a discrete frequency. F [] represents the Fourier transform.
[0127]
When the correlation function of the two signals r (n) and c (n) is defined again as f (n), the discrete Fourier transform F (k) of f (n) has a relationship as shown in Expression (2) in FIG. become. Therefore, if r (n) is a signal from the frequency converter 10 and c (n) is a spreading code from the spreading code generator 104, the correlation function f (n) of r (n) and c (n). Can be calculated by the following procedure according to the above equation (2), regardless of the normal definition equation.
[0128]
Calculate the discrete Fourier transform R (k) of the received signal r (n).
[0129]
Calculate the complex conjugate of the discrete Fourier transform C (k) of the spreading code c (n).
[0130]
-F (k) of Formula (2) is calculated from the complex conjugate of R (k) and C (k).
[0131]
Calculate the correlation function f (n) by inverse discrete Fourier transform of F (k).
[0132]
As described above, if the spread code included in the received signal r (n) matches the spread code c (n) from the spread code generator 104, the correlation function f (n calculated by the above procedure is used. ) Is a time waveform that causes a peak at a correlation point as shown in FIG. As described above, in this embodiment, the FFT and inverse FFT speed-up algorithms are applied to the discrete Fourier transform and the inverse Fourier transform, so that the calculation is performed much faster than the correlation is calculated based on the definition. Can do.
[0133]
Next, synchronization between the carrier included in the received signal r (n) and the spreading code will be described.
[0134]
As described above, the received signal r (n) includes a carrier as shown in Expression (3) in FIG. In order to obtain the data d (n) from the received signal r (n), the spread code c (n) and the carrier cos 2πnf 0 Must be removed in synchronization with That is, in the above-described equation (2) in FIG. 48, when only a carrier is included in R (k), a correlation waveform as shown in FIG. 5 cannot be obtained.
[0135]
As described above, if the Doppler shift amount is accurately estimated and the oscillation frequency and time information inside the GPS receiver are accurate, the carrier frequency f of the received signal r (n) is obtained. 0 Becomes known. In this case, as shown in FIG. 6, a multiplier 121 is provided in the previous stage of the FFT processing unit 101, and in this multiplier 121, the received signal r (n) and the frequency f from the signal generator 122 are provided. 0 The carrier component can be removed from the received signal r (n) before performing the FFT by performing frequency conversion by multiplying with the carrier.
[0136]
In this case, the FFT result of the received signal r (n) from which the carrier component has been removed is obtained from the memory 102, and this FFT result and the FFT result of the spread code c (n) are multiplied by the multiplier 103. Since multiplication is performed, a time waveform that causes a peak at the correlation point as shown in FIG. 5 is reliably obtained as the output of the inverse FFT processing unit 107.
[0137]
As described in parentheses in FIG. 6, instead of removing the carrier component from the received signal r (n), a multiplier 121 is provided in the preceding stage of the FFT processing unit 105 for the spread code c (n). In the multiplier 121, the spread code c (n) and the frequency f from the signal generator 122 0 The same applies to the case where a carrier component is added to the spread code by multiplying the carrier code by frequency conversion.
[0138]
That is, in this case, the carrier component included in the FFT result of the received signal read from the memory 102 is synchronized with the added carrier component included in the FFT result of the spread code read from the memory 106. From the inverse FFT processing unit 107, a correlation detection output that produces a peak at a correlation point as shown in FIG. 5 is obtained.
[0139]
However, in the case of the method of multiplying the signal in the time domain by the signal of the carrier frequency as shown in FIG. 6, a multiplication unit for removing the carrier component is particularly necessary, the configuration becomes complicated, and the multiplication operation is performed. There is a disadvantage that the processing speed is reduced by this amount. Further, when the carrier frequency is unknown, a means for performing a frequency search is further required with the signal generator 22 as a variable frequency oscillator configuration.
[0140]
On the other hand, the frequency multiplication as described above can be expressed as an equation (4) in FIG. In this equation (4), F [] is the discrete Fourier transform, φ 0 Is the phase difference from the carrier, k 0 Is f 0 K corresponding to, f 0 = K 0 Fs / N. From this equation (4), the FFT of the signal obtained by frequency-converting the received signal r (n) as shown in FIG. 6 is expressed as R (k), which is the FFT of r (n), for the carrier frequency k. 0 Only shifted form.
[0141]
From the above, the configuration of FIG. 6 can be replaced with the configuration of FIG. That is, instead of multiplying the received signal r (n) or the spread code c (n) by the carrier frequency, the read address when reading the FFT result of the received signal or the FFT result of the spread code from the memory 102 or the memory 106 is The shift is made by the carrier frequency.
[0142]
In this case, in FIG. 7, when the received signal r (n) is shifted, down conversion is performed. 0 > 0, and if the spreading code c (n) is shifted, up-conversion 0 <0.
[0143]
As described above, if the FFT property shown in the equation (4) is used, the signal generator 122 of FIG. 6 is not necessary, and the read address phase from the memory of the FFT result is shifted as shown in FIG. It is only necessary to do this, which simplifies the configuration and speeds up the processing.
[0144]
It should be noted that the phase difference φ in the above equation (4) 0 Is unknown and is ignored in FIG. 7. For example, the correlation function f ′ (n) () obtained as the result of the inverse FFT of F ′ (k) calculated by equation (5) in FIG. 0 ≦ n <N) is a complex number, and its real part is f R '(N), imaginary part is f I If '(n)', then the correlation peak amplitude | f '(n) | is obtained as shown in equation (6) in FIG. 48, and the phase φ is as shown in equation (7) in FIG. Exp (jφ on the right side of Equation (4) 0 ) Multiplication may be omitted. Note that the phase φ is changed to two values different from each other by π corresponding to the sign of the data d (n) in the equation (3). 0 It becomes the value with added.
[0145]
FIG. 8 shows an example of a configuration diagram in which the operation of the synchronization acquisition process in the DSP 23 is reflected in the block diagram of FIG. 4 when the carrier frequency of the GPS satellite signal is known. The output of each block in FIG. 8 shows the signal outputs r (n) and c (n) and the calculation results R (k), C (k), and f ′ (n) as described above. FIG. 8 shows a state in which the address shift amount of the read start address in the memory 102 is just equivalent to the carrier frequency.
[0146]
Next, when the carrier frequency is unknown, the read address control unit 109 shift-controls the read start address based on the correlation detection output from the correlation point detection unit 108 as shown in FIG. That is, the read address control unit 109 analyzes the correlation result of the correlation point detection unit 108 and performs shift control of the read start address of the memory 102 (or the memory 106) until a correlation peak is obtained.
[0147]
In this case, the read address control unit 109 recognizes whether the positioning mode at that time is the high-speed mode or the high-sensitivity mode based on the positioning mode information from the control calculation unit 40, and shifts according to the positioning mode of the recognition result. The shift control of the read start address of the memory 102 (or the memory 106) is performed by the amount.
[0148]
In this case, the initial value of the read start address of the FFT result of the memory 102 (or the memory 106) is a predicted address determined from past data. In other words, the read address control unit 109 sets the read start address from the memory 102 of the FFT result of the received signal r (n) as the initial value of the read start address using the predicted address determined from the past data as the initial value of the read start address. At the center, change control is performed based on the correlation detection output of the correlation point detection unit 108 with a shift amount corresponding to the positioning mode so that the correlation point detection unit 108 can obtain a peak as shown in FIG.
[0149]
When the correlation point detection unit 108 obtains a peak as shown in FIG. 5, the read address control unit 109 stops the shift control of the read start address at the shift amount at that time. The phase of the spread code and the carrier frequency are obtained from the address shift position at the time of the stop.
[0150]
The flow of processing in the synchronization acquisition unit 20 in the first example of synchronization acquisition will be described with reference to the flowcharts of FIGS. Note that the flowcharts of FIGS. 9 to 11 mainly correspond to software processing in the DSP 23.
[0151]
First, the IF data from the frequency conversion unit 10 is sampled by the sampling circuit 21 and taken into the RAM 22 as a signal r (n) (step S1). Next, the signal r (n) is subjected to FFT processing by the FFT processing unit 101, and the FFT result R (k) is written in the memory 102 (step S2). Next, the FFT result C (k) of the spread code corresponding to the GPS satellite that received the signal is set in the memory 106 (step S3).
[0152]
Next, the initial value k of the shift amount of the read start address from the memory 102 of the FFT result R (k) of the received signal r (n). 0 'Is determined from past data (step S4). And the determined initial value k 0 'Is set as the shift amount k of the read start address of the FFT result from the memory 102, and the shift control change count v is set to the initial value v = 0 (step S5).
[0153]
Next, the FFT result R (k) of the received signal r (n) is read from the memory 102 with the read start address shifted by k ′ (step S6). Then, the read FFT result R (k−k ′) is multiplied by the complex conjugate of the FFT result C (k) of the spread code to obtain a correlation function F ′ (k) (step S7).
[0154]
Next, inverse FFT of the correlation function F ′ (k) is performed to obtain a time domain function f ′ (n) (step S8). For this function f ′ (n), a peak value f ′ (np) is obtained (step S9), and it is determined whether or not the peak value f ′ (np) is greater than a preset threshold value fth. (Step S11 in FIG. 10).
[0155]
In step S11, when it is determined that the peak value f ′ (np) is larger than the preset threshold value fth, the discrete time (spread code phase) np for taking the peak value f ′ (np) is set. It is detected as a correlation point (step S12).
[0156]
Then, it is determined whether or not the detected correlation point np is the fourth one (step S13). When it is determined that the correlation point np is the fourth, the receiver position calculation process is started, and the synchronization holding unit 30 holds the synchronization. Processing is performed (step S14). Thereafter, the process proceeds to step S15. The process in step S14 may be performed for the fourth and subsequent items.
[0157]
Note that the error of the Doppler shift amount for the GPS satellite being received and the oscillation frequency of the GPS receiver can be estimated from the shift amount k ′ of the read start address when the correlation point np detected in step S12 is obtained. it can. That is, the carrier frequency of the received signal can be detected.
[0158]
If it is determined in step S13 that the detected correlation point np is other than the fourth one, it is determined whether or not the above-described spread code synchronization search process has been completed for all satellites to be searched (step S15). When it is determined that the spread code synchronization search process for all the satellites to be searched is finished, the search operation is finished (step S16).
[0159]
If it is determined in step S15 that there is a satellite for which the spread code synchronization search has not ended, the satellite for which the spread code synchronization search is performed next is selected and spread to the spread code c (n) used by the selected satellite. The sign is changed (step S17). And it returns to step S3 and performs the process after step S3 mentioned above.
[0160]
If the peak value f ′ (np) is smaller than the preset threshold value fth as a result of the determination in step S11 and the correlation point cannot be detected, it is determined what the current mode is (see FIG. 11 step S21). When it is determined that the current mode is the high sensitivity mode, the shift control change count v is set to a preset maximum value v. max It is determined whether it is smaller than (step S22). This maximum value v max Corresponds to 1 kHz when converted to frequency.
[0161]
Then, the number of shift control changes v is a preset maximum value v. max When it is determined that the shift control change number is smaller than 1, the shift control change count v is incremented by 1 (v = v + 1), and a new shift amount k ′ is
k ′ = k ′ + (− 1) v × v
(Step S23), and then the process returns to step S6 in FIG. Then, the processes after step S6 described above are repeated.
[0162]
When it is determined in step S21 that the current mode is the high speed mode, in the high speed mode, the shift of the read start address from the memory 102 is performed by n times the shift amount in the high sensitivity mode (n is an integer of 2 or more). Therefore, n times the number of shift control changes v is a preset maximum value v max It is determined whether it is smaller than (step S24).
[0163]
Then, n times the shift control change count v is set to the preset maximum value v. max When it is determined that the shift control change number is smaller than 1, the shift control change count v is incremented by 1 (v = v + 1), and a new shift amount k ′ is
k ′ = k ′ + (− 1) v × n × v
(Step S25), and then the process returns to step S6 in FIG. Then, the processes after step S6 described above are repeated.
[0164]
In step S22, the shift control change count v is set to the preset maximum value v. max In step S24, n times the shift control change count v is set to the preset maximum value v. max If it is determined that the number of times is greater than the predetermined number of times, it is determined whether or not the number of times determined to be larger is equal to or greater than a predetermined number of times predetermined for the current data in the RAM 22 (step S26). If not, the process returns to step S1, new data is taken into the RAM 22, and the above processing is repeated.
[0165]
If it is determined in step S26 that the number of times is equal to or greater than the predetermined number, it is determined whether or not the above-described spread code synchronization search process has been completed for all satellites to be searched (step S27). When it is determined that the spread code synchronization search process has been completed, the synchronization acquisition unit 20 notifies the control calculation unit 40 that the synchronization acquisition has not been performed (step S28), and the search operation ends (step S29).
[0166]
If it is determined in step S27 that there is a satellite to be searched for which the spread code synchronization search has not been completed, the satellite for which the spread code synchronization search is performed next is selected, and the spread code c (n) used by the selected satellite is selected. ) Is changed (step S30). And it returns to step S3 and performs the process after step S3 mentioned above.
[0167]
FIG. 12 shows a configuration diagram in which the processing operation of the first example of synchronization acquisition as described above is reflected in the block diagram of the internal configuration of the DSP 23 in FIG. The output of each block in FIG. 12 shows the signal output and the calculation result as described above.
[0168]
As described above, according to the first example of the acquisition process in the DSP 23, when the digital matched filter is configured using the FFT in the GPS receiver, the FFT result of the received signal is obtained as shown in FIG. A correlation point np indicating a peak greater than or equal to a predetermined value can be obtained by shifting the read start address from the memory by the carrier frequency and multiplying by the spread code. If the correlation point np is known for four GPS satellites, that is, four types of spreading codes c (n), the GPS receiver position can be calculated.
[0169]
That is, according to the first example, when performing digital matched filter processing using FFT, in order to synchronize the carrier of the received signal and the spread code, the multiplication of the received signal without performing multiplication in the time domain. When multiplying the FFT result and the FFT result of the spreading code in the frequency domain, the carrier of the received signal is shifted by a simple method of shifting one of the FFT result of the received signal and the FFT result of the spreading code. Components can be removed.
[0170]
8 and 12, the read address of the memory 102 is shifted for the FFT result R (k) of the received signal, but the read address of the memory 106 for the FFT result C (k) of the spread code is shifted. May be shifted in the opposite direction to the case of the FFT result R (k) of the received signal (in the form of up-conversion by a multiplier).
[0171]
In the description of the first example described above, the spread code generator 104 and the FFT processing unit 105 are provided separately, but the spread codes corresponding to the respective GPS satellites are subjected to FFT in advance. Is stored in the memory, the FFT calculation of the spread code c (n) when receiving the satellite signal can be omitted.
[0172]
[Setting process of positioning mode]
Next, positioning mode setting processing in the GPS receiver of this example will be described with reference to FIG. 13 and the flowchart of FIG. Each step in the flowcharts of FIG. 13 and FIG. 14 mainly shows the processing operation of the CPU 41 of the control calculation unit 40.
[0173]
First, it waits for the power to be turned on (step S41). When the power is turned on, the last positioning mode of the previous time is detected (step S42). Next, it is determined whether the detected positioning mode is the auto mode or the manual mode (step S43).
[0174]
If it is determined that the manual mode is selected, it is determined whether the mode is the high speed mode or the high sensitivity mode (step S44). When it is determined in step S44 that the mode is the high speed mode, the high speed mode is notified to the synchronization acquisition unit 20, and the positioning mode of the synchronization acquisition unit 20 is set to the high speed mode (step S45).
[0175]
Next, it is determined whether or not a notification indicating that the satellite radio wave cannot be received and the satellite radio wave cannot be received is received from the synchronization acquisition unit 20 (step S46). As shown in FIG. 15, for example, “The radio wave could not be received in the high-speed mode” is displayed on the screen of the display 5 of the GPS receiver, and the current mode is the high-speed mode and the current mode is the satellite radio wave. The user is notified that the data cannot be received (step S47).
[0176]
At this time, in the case of an auto mode, which will be described later, an inquiry about switching to the high sensitivity mode is made. However, in the manual mode, since the purpose is to prompt the user to switch, the notification as described above is performed. Of course, in the notification display of FIG. 15, a notification for prompting the user to change the positioning mode or to prompt the user to move to a place where the radio wave is stronger may be performed.
[0177]
The user can change the positioning mode to the high sensitivity mode or move to a place with strong radio waves by looking at the notification display in FIG. In addition, since the current status of the GPS receiver can be known by this notification display, it is possible to prevent the user from getting frustrated without displaying the positioning result.
[0178]
In step S46, when a notification indicating that satellite radio waves cannot be received is not received, and after step S47, it is determined whether or not there has been an instruction to change the positioning mode by the user using, for example, the jog dial 7 (step S48). When it is determined that there is no change instruction, it is determined whether or not the power is turned off (step S55). When the power is turned off, the positioning mode at that time is set as the last mode and a nonvolatile memory (not shown) (Omitted) (step S56), and this processing routine is terminated. If the power is not turned off, the process returns to step S45.
[0179]
If it is determined in step S48 that there has been an instruction to change the positioning mode, positioning mode selection change processing is executed (step S49), the positioning mode determined as the change result is recognized (step S50), and then step Return to S43.
[0180]
If it is determined in step S44 that the mode is the high sensitivity mode, the synchronization capturing unit 20 is notified of the high sensitivity mode, and the positioning mode of the synchronization capturing unit 20 is set to the high sensitivity mode (step S51).
[0181]
Next, it is determined whether or not a satellite radio wave has been received from the synchronization acquisition unit 20 but a notification that the positioning position may not be accurate has been received (step S52), and when it is determined that the notification has been received. As shown in FIG. 16, on the screen of the GPS receiver display 5, for example, “High sensitivity mode, but the radio wave may be weak and the position may not be accurate” is displayed, and the current mode is high sensitivity. The user is notified that the current mode is the mode and that the accurate positioning position cannot be detected in the current mode (step S53). Also in this case, in the notification display of FIG. 16, a notification for urging movement to a place where the radio wave is stronger may be performed together.
[0182]
By this notification display, the user can know the current status of the GPS receiver, and can accurately use the positioning result.
[0183]
In step S52, when a notification that the positioning position may not be accurate is not received, and next to step S53, it is determined whether or not there is an instruction to change the positioning mode by the user using the jog dial 7, for example. (Step S54) When it is determined that there is no change instruction, it is determined whether or not the power is turned off (Step S57). When the power is turned off, the positioning mode at that time is set as the last mode and the non-volatile memory. (Not shown) is stored (step S58), and this processing routine is terminated. If the power is not turned off, the process returns to step S51.
[0184]
If it is determined in step S54 that there has been a positioning mode change instruction, positioning mode selection change processing is executed (step S49), the positioning mode determined as the change result is recognized (step S50), and then step Return to S43.
[0185]
If it is determined in step S43 that the positioning mode is the auto mode, in this example, the initial mode of the auto mode is the high speed mode, so the positioning mode of the synchronization acquisition unit 20 is set to the high speed mode ( Step S61 in FIG. 14).
[0186]
Next, it is determined whether or not a notification indicating that the satellite radio wave cannot be received and the satellite radio wave cannot be received is received from the synchronization acquisition unit 20 (step S62). As shown in FIG. 17, the display 5 of the GPS receiver displays, for example, “The radio wave could not be received in the high speed mode. The reception starts in the high sensitivity mode.”, And the current mode is set to the auto mode. Since the satellite radio wave cannot be received in the high speed mode and in the current mode, the user is notified that the mode is changed to the high sensitivity mode (step S63). Then, the positioning mode of the synchronization acquisition unit 20 is changed to the high sensitivity mode (step S64).
[0187]
Thereafter, it is determined whether or not the received electric field strength has increased due to the movement of the position of the GPS receiver (step S65), and when it has increased, the positioning mode of the synchronization acquisition unit 20 is returned to the high sensitivity mode (step S66). Then, the process returns to step S62.
[0188]
If it is determined in step S65 that the received electric field strength is not increased, it is determined whether or not the user has instructed to change the positioning mode (step S67). If it is determined that there has been no change instruction, the process returns to step S65. If it is determined in step S67 that a positioning mode change instruction has been issued, positioning mode selection change processing is executed (step S69), the positioning mode determined as the change result is recognized (step S70), and then step Return to S43.
[0189]
If no notification indicating that satellite radio waves cannot be received is not received in step S62, it is determined whether or not the user has instructed to change the positioning mode (step S68). If it is determined that there has been no change instruction, the process returns to step S62. . If it is determined in step S68 that there is an instruction to change the positioning mode, positioning mode selection change processing is executed (step S69), the positioning mode determined as the change result is recognized (step S70), and then step Return to S43.
[0190]
The operation process for the auto mode of FIG. 14 can also be as shown in FIG. That is, in the example of FIG. 18, steps S71 and S72 are provided instead of step S63 in the flowchart of FIG.
[0191]
In the example of FIG. 18, when it is determined in step S62 that a notification indicating that satellite radio waves cannot be received has been received, as shown in FIG. Could n’t receive the radio signal. Is it okay to start receiving in the higher sensitivity mode? ”And that the current mode is the auto mode high-speed mode and that the current mode cannot receive satellite radio waves, A notification is made to inquire the user whether the mode can be changed to the high sensitivity mode (step S71). At this time, as shown in FIG. 19, for example, [YES] and [NO] are displayed together on the screen of the display 5 as a display for accepting the user's response input to the inquiry.
[0192]
Then, the user's response is discriminated (step S72), and when [YES] is selected and the change to the high sensitivity mode is approved, the positioning mode of the synchronization acquisition unit 20 is changed to the high sensitivity mode (step S64). ).
[0193]
If [NO] is selected by the user and the change to the high sensitivity mode is rejected, the process proceeds to step S68 to determine whether or not the user has instructed to change the positioning mode. When it is determined, the process returns to step S62. Others are the same as in the example of FIG.
[0194]
According to the example of FIG. 18, the positioning mode reflecting the user's will can be switched even in the auto mode, which is convenient.
[0195]
[Positioning mode selection operation processing]
Next, the positioning mode selection changing process in steps S49 and S69 in the above example will be described with reference to the flowchart of FIG. Each step of the flowchart of FIG. 20 mainly shows the processing operation of the CPU 41 of the control calculation unit 40.
[0196]
First, the user rotates the jog dial 7 to select menu display, and determines whether or not the positioning mode is selected from the menu (step S80). When the positioning mode is selected, the CPU 41 of the control calculation unit 40 As shown in FIG. 21, the menu and options for the auto mode and the manual mode are displayed on the screen of the display 5 (step S81).
[0197]
In this state, the jog dial 7 or the cursor button 63 is used to determine whether or not an option selection of either the auto mode or the manual mode has been performed (step S82), and when it is determined that the mode option is not selected. Then, it is determined whether or not the cancel is selected by the jog dial 7 (step S83). When it is determined that the cancel is selected, this processing routine is ended. When it is determined that the cancellation has not been selected, the process returns to step S82.
[0198]
If it is determined in step S82 that the mode option has been selected, it is determined which is selected (step S84). When it is determined that the selected mode is the auto mode, the CPU 41 of the control calculation unit 40 determines the positioning mode of the synchronization acquisition unit 20 as the auto mode (step S85).
[0199]
As described above, in this example, in the auto mode, the initial mode is the high-speed mode, so that the synchronization capturing unit 20 is notified. After step S85, the process returns to step S80. Receiving this notification, the DSP 23 of the synchronization acquisition unit 20 is set to the high-speed mode, and performs a synchronization acquisition operation with coarse read address shift of the memory 102.
[0200]
When it is determined in step S84 that the manual mode has been selected, as shown in FIG. 22, choices between the high speed mode and the high sensitivity mode are displayed on the screen of the display 5 of the GPS receiver (step S86).
[0201]
In this state, the jog dial 7 or the cursor button 63 is used to determine whether an operation of selecting a mode option of the high speed mode or the high sensitivity mode has been performed (step S87), and when it is determined that the mode option is not selected. Then, it is determined whether or not cancellation is selected by the jog dial 7 (step S88), and when it is determined that cancellation is selected, the process returns to step S80. If it is determined in step S88 that the cancellation has not been selected, the process returns to step S87.
[0202]
When it is determined in step S87 that the mode option has been selected, it is determined which is selected (step S89). When it is determined that the selected mode is the high sensitivity mode, the CPU 41 of the control calculation unit 40 determines the positioning mode of the synchronization acquisition unit 20 as the high sensitivity mode, and notifies the synchronization acquisition unit 20 to that effect. (Step S90). When it is determined that the selected high-speed mode is selected, the CPU 41 of the control calculation unit 40 determines the positioning mode of the synchronization acquisition unit 20 as the high-speed mode, and notifies the synchronization acquisition unit 20 accordingly ( Step S91).
[0203]
The synchronization acquisition unit 20 that has received the notification performs the synchronization acquisition operation by finely shifting the read start address of the memory 102 in the high sensitivity mode as described above, and starts the read of the memory 102 in the high speed mode. Synchronous acquisition operation is performed with a rough shift of the address. After step S90 and step S91, the process returns to step S80.
[0204]
As described above, according to the first example of the synchronization acquisition, even if the carrier frequency of the received signal from the GPS satellite is unknown, the processing in the frequency domain by FFT is actively used to The carrier component can be removed by detecting the synchronization between the carrier and the spreading code. Therefore, the detection of the correlation point between the GPS reception signal and the spread code by the digital matched filter using FFT can be realized with a high speed and simple configuration. The IF carrier frequency can be detected from the shift amount of the read start address of the memory 102.
[0205]
And according to the above-mentioned example, a GPS receiver is equipped with two modes, a high-speed mode and a high-sensitivity mode, so that positioning can always be performed quickly and accurately according to the reception location and reception environment. It becomes possible to.
[0206]
According to the above example, the high-speed mode and the high-sensitivity mode can be switched and selected by the user's manual operation, and the current mode and the reception status of the satellite wave are notified to the user. Based on the notification, the user can select an appropriate positioning mode.
[0207]
In the GPS receiver of the above-described example, when the satellite radio wave is weak and it is difficult to receive in the high speed mode, the positioning mode can be automatically changed to the high sensitivity mode, which is convenient. Further, since the user is notified at that time, the user can accurately grasp the current reception status of the GPS receiver.
[0208]
In addition, when the user obtains approval when switching the positioning mode from the high-speed mode to the high-sensitivity mode, it is possible to realize an auto mode of the positioning mode giving priority to the convenience for each user.
[0209]
In addition, you may make it always display what the present positioning mode is on the screen of the display 5 of a GPS receiver.
[0210]
In the above example, the FFT calculation of the spread code c (n) at the time of receiving the satellite signal is omitted by storing in the memory the spread code corresponding to each satellite that has been FFTed beforehand. can do. That is, the spread code generator 104 and the FFT processor 105 in FIG. 4 can be omitted.
[0211]
[Other examples of positioning mode selection processing]
FIG. 23 shows the appearance of the GPS receiver in this example. In this example, the jog dial 7 described above can be used to select and set the positioning mode, and operation buttons 64, 65, 65, 65, 65, 65, 66, and when any one of these operation buttons 64, 65, 66 is pressed, the GPS receiver performs synchronization acquisition in a positioning mode determined in advance corresponding to each operation button. It is.
[0212]
That is, in this example, the operation button 64 is an “indoor” button, and when the operation button 64 is pressed, the GPS receiver is set to perform synchronization acquisition in the high sensitivity mode. The operation button 65 is an “outdoor” button. When the operation button 65 is pressed, the GPS receiver is set to perform synchronization acquisition in the high-speed mode.
[0213]
Further, the operation button 66 is a “valley between buildings” button, and when this operation button 66 is pressed, the GPS receiver is set to perform synchronization acquisition in the high-speed mode. Since there are many multipaths in the valleys of the building, the synchronization acquisition unit 20 is controlled so as to select a more accurate radio wave.
[0214]
That is, the synchronization capturing unit 20 is in a state where a plurality of radio waves are captured simultaneously in an environment where the received electric field strength is strong and there are many multipaths. In this case, the radio wave reflected on the building or the like is delayed compared to the direct wave from the satellite. Therefore, in the GPS receiver, when the building valley button 66 is operated, among the plurality of radio waves captured at the same time, not the strength of the correlation, but the one that reaches the GPS receiver earliest (the most phasewise) (With a small delay) is captured as a direct wave from the satellite.
[0215]
FIG. 24 is a flowchart for explaining the positioning mode selection processing of the GPS receiver in this example. Each step in this flowchart is mainly executed by the CPU 41 of the control calculation unit 40.
[0216]
First, similarly to step S80 of FIG. 20, the user rotates the jog dial 7, selects menu display, determines whether or not the positioning mode is selected from the menu (step S101), and the positioning mode is selected. Then, the processing after step S81 in FIG. 20 is performed, and the process returns to step S101.
[0217]
In this example, when it is determined in step S101 that the positioning mode is not selected from the menu, it is determined whether or not the “indoor” button 64 is pressed (step S102), and it is determined that the button is pressed. Sometimes, the CPU 41 of the control calculation unit 40 determines the positioning mode of the synchronization acquisition unit 20 as the high sensitivity mode, and notifies the synchronization acquisition unit 20 accordingly (step S103). Then, the process returns to step S101.
[0218]
If it is determined in step S102 that the “indoor” button 64 has not been pressed, it is determined whether or not the “outdoor” button 65 has been pressed (step S104). If it is determined that the button has been pressed, the CPU 41 of the control calculation unit 40 Then, the positioning mode of the synchronization acquisition unit 20 is determined as the high-speed mode, and that is notified to the synchronization acquisition unit 20 (step S105). Then, the process returns to step S101.
[0219]
If it is determined in step S104 that the “outdoor” button 65 has not been pressed, it is determined whether or not the “building valley” button 66 has been pressed (step S106). If it is determined that the button has been pressed, the control calculation unit 40 The CPU 41 determines the positioning mode of the synchronization acquisition unit 20 as the high-speed mode, and notifies the synchronization acquisition unit 20 of that fact and an instruction to perform the synchronization acquisition process considering the multipath described above (step S107). . Then, the process returns to step S101.
[0220]
According to this example, the user operates the operation button indicating the environment in which the GPS receiver is currently used without knowing which environment the high sensitivity mode and the high speed mode are adapted to. The effect is that the GPS receiver can be set to an appropriate positioning mode.
[0221]
Also in this example, the screen of the display 5 displays the indoor mode, the outdoor mode, the valley mode of the building, or the corresponding high sensitivity mode or high speed mode, respectively, and the user indicates what the current mode is. You may make it alert | report.
[0222]
[Second example of synchronization acquisition by digital matched filter]
As described above, when the correlation point between the received signal and the spread code is detected by the digital matched filter, the unit data length for detecting the correlation point is usually set to one cycle length of the spread code.
[0223]
However, in the received signal from the GPS satellite, as described above, one bit of the data is for 20 cycles of the spread code, and the code of the same pattern is used for the 20 cycles. In the second example of the synchronization acquisition, the unit data length for detecting the correlation point between the received signal and the spread code by the digital matched filter is set to a plurality of cycle lengths of the spread code by making use of this characteristic. The sampling frequency in the sampling circuit 21 may be the same as in the above example.
[0224]
According to the second example of this synchronization acquisition, the IF carrier frequency detection accuracy is improved and the reception sensitivity is improved by performing FFT calculation processing on the received signal in units of a plurality of cycles of the spread code. Compared with the method of accumulating time domain signals, it is easier to perform synchronization acquisition of spreading codes and search for IF carrier frequencies. Hereinafter, the second example of the synchronization acquisition will be further described.
[0225]
In the time domain, there is a prior example in which a correlation point is detected for data of one cycle length obtained by performing cumulative addition over M cycles (M is an integer of 2 or more) of spreading codes (for example, US Pat. No. 4,998,111). Or "An Introduction to Snap Track TM Server-Aided GPS Technology, ION GPS-98 Proceedings ").
[0226]
That is, as shown in FIG. 25, in the method of the preceding example, the multiplication result of the spread code and the received signal r (n) is cumulatively added over M periods. The method of the preceding example uses the periodicity of the received signal from the GPS satellite and the statistical property of noise to increase the C / N, and the carrier of the received signal and the spreading code can be synchronized in advance. In this state, the C / N is improved M times, and therefore the reception sensitivity (correlation point detection sensitivity) is improved M times. And it improves to M times the detection accuracy of the carrier frequency.
[0227]
However, if the carrier of the received signal and the spreading code are not synchronized, M carriers having different phases are added and synthesized. In the result of cumulative addition, the essential GPS signal is canceled and the correlation peak is It cannot be detected.
[0228]
For this reason, when the carrier frequency of the received signal is unknown, it is necessary to search for the carrier frequency, and it is necessary to perform an inefficient operation such as performing cumulative addition for each frequency to be searched.
[0229]
On the other hand, in the first example of the above-described synchronization acquisition, the carrier of the received signal and the spreading code are determined by a simple method of shifting the read address from the memory of the FFT result in the frequency domain as described above. Therefore, the effect of cumulative addition can be maximized.
[0230]
In the second example of the synchronization acquisition, similarly to the first example described above, the carrier frequency of the received signal from the GPS satellite is unknown, and the carrier frequency is searched. In this case, the received signal r For (n), FFT is performed every M cycles of the spread code. Then, the carrier frequency of the received signal is searched for every M cycles of the spread code by controlling the shift amount of the read address from the memory of the FFT result of the received signal.
[0231]
The data d (n) in the equation (3) of FIG. 48 described above can be ignored since it becomes a fixed value of 1 or -1 during the M period of the spread code if M ≦ 20. Then, equation (3) becomes
r (n) = A · c (n) cos2πnf 0 + N (n)
When this is a discrete Fourier transform with M period length, the number of data is M × N (N is the number of data for one period of the spread code), so the relationship between k after the discrete Fourier transform and the actual frequency f is sampling For frequency fs
For 0 ≦ k ≦ MN / 2, f = kfs / MN
And
For MN / 2 <k <MN, f = (k−MN) fs / MN (where f <0)
Thus, the resolution becomes M times.
[0232]
However, the spread code c (n) is a periodic signal, and if the time of one period length is T (T = 1 millisecond in the GPS C / A code), the frequency component has an accuracy of f = 1 / T or less. There is no. Therefore, every M frequency components of the spread code c (n) in the FFT result R (k) (where 0 ≦ k <MN) after the discrete Fourier transform of the received signal r (n), that is, MN Concentrating on N points in the data, and the amplitude is cumulatively added for M periods, and therefore becomes M times the same frequency component in one period length. For simplicity of explanation, FIG. 26 shows a spectrum example when M = 4.
[0233]
In the example of FIG. 26, the signal spectrum is every M = 4, and there is no signal component between them. Except for N points, the frequency component of the spread code c (n) is zero. On the other hand, noise n (n) is an aperiodic signal in many cases, so that energy is distributed to all MN frequency components. Therefore, in the sum of N frequency components of the spread code c (n) in the FFT result R (k) of the received signal r (n), C / N is improved M times as in the cumulative addition in the time domain. Will do.
[0234]
In the received signal r (n), the carrier component cos2πnf shown in Expression (3) 0 If there is not, the frequency component of the spread code c (n) in the FFT result R (k) is concentrated in k = i × M (where 0 ≦ i <N). In the third example, the readout address of the FFT result R (k) from the memory is set to k = (i × M) −k per one cycle of the spread code. 0 K for carrier frequency 0 Only to cyclically shift.
[0235]
The configuration of the DSP 23 of the second example described above is the same as that shown in FIG. 4, but the capacity of the RAM 22 is set to M cycles of the spread code, for example, 16 cycles (16 milliseconds). Then, the capture processing operation is performed in units of data corresponding to M cycles of the spreading code. FIG. 27 shows a configuration diagram in which the above-described capture processing operation is reflected in the internal configuration of the DSP 23.
[0236]
That is, the FFT processing unit 101 obtains an FFT result R (K) having the FFT operation processing unit as the M period of the spread code and writes it in the memory 104. In FIG. 27, 0 ≦ k <N and 0 ≦ K <MN.
[0237]
Then, the read address is shift-controlled from this memory 102 and the FFT result is read out and supplied to the multiplier 103, and multiplied by the complex conjugate of the FFT result C (k) of the spread code c (n) from the memory 106. Is done.
[0238]
In the case of the third example, the correlation function F (k) obtained from the multiplication unit 103 is as shown in the equation (8) in FIG. In Equation (8), k is k in the complex conjugate of the FFT result C (k) of the spreading code, and k 0 For f 0 = K 0 Fs / MN.
[0239]
At this time, in FIG. 27, the correlation function f ′ (n) obtained from the inverse FFT processing unit 107 has M peaks in the range of 0 ≦ n <MN because R (K) includes an M-cycle spreading code. Will appear. However, since one correlation point may be detected for one cycle of the spreading code, the calculation in the inverse FFT processing unit 107 is 0 ≦, as in the case of the first and second embodiments described above. Only the range of n <N is required, and calculation in N ≦ n <MN is not necessary.
[0240]
As described above, according to the second example, by increasing the FFT of the received signal r (n) to M times one cycle of the spread code, the detection sensitivity of the correlation point, and thus the reception sensitivity is improved. be able to. In this case, the larger M is, the higher the reception sensitivity is. Therefore, it is possible to control the reception sensitivity by controlling the value of M.
[0241]
From the above, in the embodiment of the GPS receiver using the second example of the synchronization acquisition, the second example of the synchronization acquisition is used in the high sensitivity mode, and in the high speed mode, Thus, the unit data length for detecting the correlation point is set to one cycle length of the spread code.
[0242]
Note that the second example of the synchronization acquisition may be used not only in the high sensitivity mode but also in the high speed mode.
[0243]
Further, in the case of using the second example of the synchronization acquisition not only in the high sensitivity mode but also in the high speed mode, the value of M that determines the unit data length for detecting the correlation point is set to the high speed mode in the high sensitivity mode. You may comprise so that it may become larger than the case of.
[0244]
Even in the case of the second example of the synchronization acquisition, the spread code c at the time of receiving the satellite signal is stored in the memory by storing in advance the spread codes corresponding to the respective satellites. The FFT calculation of (n) can be omitted.
[0245]
[Third example of synchronization acquisition by digital matched filter]
In the second example of the above-described synchronization acquisition, the received signal r (n) including M periods (M> 1) of the spread code is subjected to FFT processing, thereby enabling search for an unknown carrier frequency and reception. Although the sensitivity can be improved, the number of data samples is changed from N to M times M in the case of one spread code period, so that the FFT calculation time becomes long and the memory 102 Capacity increases. A third example of synchronization acquisition improves on this problem.
[0246]
As shown in FIG. 26, since there are only M frequency components in the FFT result R (K) when the M period (M> 1) of the spread code is used as the FFT processing unit, M of those frequency components exist. Components between every other frequency component are not necessary.
[0247]
Here, the FFT result R (K) (where 0 ≦ K <NM) is changed to R (i × M), R (i × M + 1), R (i × M + 2),..., R (i × M + M -1) Divide into M groups (0 ≦ i <N). For simplicity of explanation, FIGS. 28 to 31 show examples of split spectrums of each set when M = 4 sets. Although the carrier frequency is unknown, one of the M sets has the energy of the GPS signal to be detected for correlation. In the example of FIGS. 28 to 31, the frequency component of the received signal r (n) is included in the set of R (i × M) in FIG. 28, and the other three split spectrums have only noise. ing.
[0248]
In an actual signal, the carrier frequency k 0 Is exactly k ′ = k 0 For example, k 0 Is k 0 'And k 0 Between '+1', that is, k 0 '≦ K <k 0 If it is '+1, k' = k 0 'And k' = k 0 Correlation is detected both with '+1, k 0 The closer to, the greater the correlation.
[0249]
When the FFT result R (K) is divided into M sets as described above, if M is a power of 2, each set can be calculated independently from the nature of the FFT calculation procedure.
[0250]
FIG. 32 is a signal flow diagram of FFT calculation of eight pieces of data g (0) to g (7). If the FFT result G (K) in FIG. 32 is divided into every fourth data, (G (0), G (4)), (G (1), G (5)), (G (2)) , G (6)), (G (3), G (7)). If attention is paid to (G (0), G (4)), it is understood that only the calculation shown in FIG. 33 is sufficient. The structure of this calculation is the same in the other groups (G (1), G (5)), (G (2), G (6)), (G (3), G (7)). It will be.
[0251]
When these four sets of data are examined one by one, first, (G (0), G (4)) is calculated, and when the examination is completed, the memory storing (G (0), G (4)) is stored. Open and go to the next group. (G (1), G (5)), (G (2), G (6)), (G (3), G (7)) By performing the above, the memory can have a memory capacity that is ¼ that of obtaining FFT for G (0) to G (7) collectively. The number of multiplications is the same when the calculation is divided into M and when the FFT calculation is performed collectively.
[0252]
The same as the above example, by making M a power of 2, R (i × M), R (i × M + 1), R (i × M + 2),..., R (i × M + M− The capacity of the memory that can be applied to 1) and stores the FFT result is 1 / M of MN, that is, N. In addition, when detecting correlation in the order of R (i × M), R (i × M + 1), R (i × M + 2),. If points can be detected, there is no need to examine the remaining pairs, so it can be expected that the processing time will be shorter than when the received signals for each M cycles of the spread code are detected by FFT processing.
[0253]
The flow of processing in the synchronization acquisition unit 20 in the third example of synchronization acquisition described above will be described with reference to the flowcharts of FIGS. In the examples of FIGS. 34 and 35, in order to minimize the number of FFTs, the carrier frequency search is performed for all the target satellites for each FFT set. Note that the flowcharts of FIGS. 34 and 35 mainly correspond to software processing in the DSP 23.
[0254]
First, a variable u (0 ≦ u <M) for the number of divided groups of R (K) (where 0 ≦ K <NM and K = i × M + u) is initialized (step S111), and then the frequency The IF data from the conversion unit 10 is sampled by the sampling circuit 21, and the sampling data is converted into M cycles of the spread code, for example, 16 cycles (16 milliseconds), and the signal r (n) (where 0 ≦ n ≦ MN ) To the RAM 22 (step S112). Next, the signal r (n) is FFTed by the FFT processing unit 101, and the FFT result R (K) is written in the memory 102 (step S113). Next, the FFT result C (k) of the spread code corresponding to the GPS satellite that received the signal is set in the memory 106 (step S114).
[0255]
Next, the initial value k of the shift amount of the read address from the memory 102 of the FFT result R (K) of the received signal r (n). 0 'Is determined from, for example, past data (step S115). And the determined initial value k 0 'Is set as the shift amount k of the read address of the FFT result from the memory 102, and the shift control change count v is set to the initial value v = 0 (step S116).
[0256]
Next, the FFT result R (K) of the received signal r (n) is read from the memory 102 with its read address shifted by k ′ (step S117). Then, the readout FFT result R (K−k ′) is multiplied by the complex conjugate of the FFT result C (k) of the spread code to obtain a correlation function F ′ (k) (step S118).
[0257]
Next, inverse FFT of the correlation function F ′ (k) is performed to obtain a time domain function f ′ (n) (step S119). Then, a peak value f ′ (np) is obtained for this function f ′ (n) (step S120), and it is determined whether or not the peak value f ′ (np) is larger than a preset threshold value fth. (Step S121 in FIG. 35).
[0258]
In step S121, when it is determined that the peak value f ′ (np) is larger than the preset threshold value fth, the discrete time (spread code phase) np for taking the peak value f ′ (np) is set. It is detected as a correlation point (step S122).
[0259]
Then, it is determined whether or not the detected correlation point np is the fourth one (step S123). When it is determined that the detected correlation point np is the fourth, the CPU 41 starts the receiver position calculation process, and the synchronization holding unit 30. The synchronization holding process is performed (step S124). Thereafter, the process proceeds to step S125. The process in step S124 may be performed for the fourth and subsequent items.
[0260]
It should be noted that the Doppler shift amount for the GPS satellite being received and the GPS receiver from the variable u regarding the number of divided sets of the shift amount k ′ and R (k) when the correlation point np detected in step S122 is obtained. The error of the oscillation frequency can be estimated.
[0261]
If it is determined in step S123 that the detected correlation point np is other than the fourth one, it is determined whether or not the above-described spread code synchronization search process has been completed for all satellites to be searched (step S125). When it is determined that the spread code synchronization search process for all satellites has been completed, it is determined whether or not the variable u is smaller than the maximum value M (step S127). If it is smaller, the variable u is incremented (step S128), and thereafter Then, the process returns to step S113, and the processes after step S113 are repeated.
[0262]
If it is determined in step S127 that the variable u is equal to or greater than the maximum value M, the search operation is terminated (step S129).
[0263]
If it is determined in step S125 that there is a satellite for which the spread code synchronization search has not ended, the satellite for which the spread code synchronization search is performed next is selected, and the spread code c (n) used by the selected satellite is spread. The sign is changed (step S126). And it returns to step S114 and performs the process after step S114 mentioned above.
[0264]
As a result of the determination in step S121, when the peak value f ′ (np) is smaller than the preset threshold value fth and a correlation point cannot be detected, it is determined what the current mode is (see FIG. 11 step S21). When it is determined that the current mode is the high sensitivity mode, the shift control change count v is set to a preset maximum value v. max Or less (step S131 in FIG. 36). This maximum value v max Corresponds to 1 kHz when converted to frequency.
[0265]
The shift control change count v is a preset maximum value v. max It is determined whether it is smaller than (step S132). This maximum value v max Corresponds to 1 kHz when converted to frequency.
[0266]
The shift control change count v is a preset maximum value v. max When it is determined that the shift control change number is smaller than 1, the shift control change count v is incremented by 1 (v = v + 1), and a new shift amount k ′ is
k ′ = k ′ + (− 1) v × v
(Step S133), the process returns to Step S117. Then, the processes after step S117 described above are repeated.
[0267]
In step S132, the shift control change count v is set to a preset maximum value m. max If it is determined that the number of times is greater than the predetermined number of times, it is determined whether or not the number of times determined to be larger is equal to or greater than a predetermined number of times predetermined for the current data in the RAM 22 (step S136). If not, the process returns to step S112, new data is taken into the RAM 22, and the above processing is repeated.
[0268]
If it is determined in step S136 that the number of times is equal to or greater than the predetermined number, it is determined whether or not the above-described spread code synchronization search process has been completed for all satellites to be searched (step S137). When it is determined that the spread code synchronization search process has been completed, it is determined whether or not the variable u is smaller than the maximum value M (step S138). If it is smaller, the variable u is incremented (step S139), and then the process returns to step S113. Then, the processing after step S113 is repeated.
[0269]
If it is determined in step S138 that the variable u is equal to the maximum value M or greater than the maximum value M, the control calculation unit 40 is notified that synchronization acquisition has failed (step S140), and then the search operation is performed. The process ends (step S141).
[0270]
If it is determined in step S137 that there is a satellite for which the spread code synchronization search has not ended, the satellite for which the spread code synchronization search is performed next is selected, and the spread code c (n) used by the selected satellite is spread. The sign is changed (step S142). And it returns to step S114 and performs the process after step S114 mentioned above.
[0271]
In addition, when the carrier frequency is known, it corresponds to R (i × M), R (i × M + 1), R (i × M + 2),..., R (i × M + M−1). If only the signal is calculated, the method of FFT of the received signal in units of time including multiple periods of the spread code can be similarly applied.
[0272]
[Fourth example of acquisition of synchronization by digital matched filter]
In the case of the second and third examples of the synchronization acquisition described above, M cycles of the spread code are taken into the RAM 22, and the DSP 23 reads the data for the M cycles and performs the FFT processing as described above. The synchronization acquisition process is performed. For this reason, there is a possibility that the processing data amount in the DSP 23 is large, the calculation amount is large, and the processing speed is slow.
[0273]
As described in the second example, the fourth example of this acquisition of synchronization captures IF data for M cycles of a spread code, for example, 16 cycles (16 milliseconds), into the RAM 22, and data for the M cycles. The unit performs synchronization acquisition processing with FFT operation. Before performing FFT processing in the FFT processing unit 101, preprocessing for reducing the number of data samples is performed to increase the processing speed. It is. Note that the sampling frequency in the sampling circuit 21 is, for example, 4.096 MHz.
[0274]
FIG. 37 shows a configuration example of the DSP 23 in the fourth example. In the fourth example, a pre-processing unit 130 is provided before the FFT processing unit 101. Other configurations are the same as those in the above example.
[0275]
The preprocessing unit 130 includes a RAM, and the memory capacity is one cycle of the spread code. That is, in this fourth example, the data for M cycles taken into the RAM 22 is equivalent to the data for one cycle of the same spreading code being repeated M times, and will be described in the second example of synchronization acquisition. As described above, since there is only a frequency component having data for one cycle of the spreading code, the preprocessing unit 130 determines one cycle of the spreading code from the data amount of M cycles of the spreading code. To reduce the amount of data in minutes.
[0276]
In this fourth example, as a preprocessing, a subset of discrete Fourier transform of data d (n) for M periods (0 ≦ n <L, L is the total number of data for M periods of the spread code) ( An algorithm for calculating S [0], S [1]... S [N-1] (where N is the number of sampling data for one period of the spread code) is performed. Here, the subset S [k] (k is a discrete frequency after the discrete Fourier transform and 0 ≦ k <N) can be defined as follows.
[0277]
S [k] = D [k × M + r]
Where D is the discrete Fourier transform of the data d,
M = L / N,
r is a constant according to the Doppler frequency, 0 ≦ r <M.
[0278]
FIG. 38 is a flowchart for executing an algorithm performed by the preprocessing unit 130.
[0279]
First, the variable k is initialized (k = 0) (step S151), and then S [k] = 0 is set to initialize the subset S [k] (step S152). Then, a repetitive variable t (0 ≦ t <M) is initialized (t = 0) (step S153). Next, the following (formula Q1) is calculated (step S154).
[0280]
Figure 0003912511
This processing of (Formula Q1) is performed by the value S [k] where the value of the variable t is “1” before. old To the next term for the value of the current variable t
d [t × N + k] × exp (2πj · r · t / M)
Is an operation to add.
[0281]
Since data d (n) is data obtained by sampling 1-bit IF digital data from the A / D converter 18, d [t × N + k] is +1 or −1. Therefore, the calculation of (Formula Q1) is one addition or subtraction.
[0282]
Further, in exp (2πj · r · t / M), the variable is only t, and t takes only a value from 0 to M−1, so that the term exp (2πj · r · t / M) By storing the value as a table of M points and using this table, this term exp (2πj · r · t / M) does not have to be calculated every time t is changed. Can be fast.
[0283]
When the calculation of (formula Q1) in step S154 is completed, the variable t is incremented by “1” (step S155). Then, it is determined whether or not the variable t is smaller than M (step S156). When the variable t is smaller than M, the process returns to step S154, and the calculation of (formula Q1) is repeated. When the variable t is greater than or equal to M, the following (formula Q2) is calculated (step S157).
[0284]
S [k] = S [k] old Xexp (2πj · r · k / L) (formula Q2)
This processing of (Formula Q2) is performed by the value S [k] in which the value of the variable k is "1" before old To the next term for the current value of the variable k
exp (2πj · r · k / L)
Is an operation of multiplying by.
[0285]
When the calculation of (Formula Q2) in Step S157 is completed, the obtained value of S [k] is written in the memory included in the preprocessing unit 130 (Step S158). Next, the variable k is incremented by “1” (step S159). Then, it is determined whether or not the variable k is smaller than N (step S160). When the variable k is smaller than N, the process returns to step S152 and the above calculation process is repeated. When the variable k is greater than or equal to N, the preprocessing is terminated and the fast Fourier transform process is started.
[0286]
With the above preprocessing, the FFT target is reduced from the L point of the total number of data for the M cycles of the spreading code to the N point for one cycle of the spreading code, so that the FFT operation can be speeded up. it can.
[0287]
[Fifth example of synchronization acquisition by digital matched filter]
As in the fourth example, the fifth example of the synchronization acquisition performs a preprocessing for reducing the number of data samples in the DSP 23 before the FFT processing unit 101 performs the FFT process, thereby increasing the processing speed. It is intended.
[0288]
The configuration example of the DSP 23 in the case of the fifth example is the same as that shown in FIG. 23 in the case of the fourth example. However, in the fifth example, the contents of the preprocessing performed by the preprocessing unit 130 are different from those in the fourth example.
[0289]
In this fifth example as well, the data for M cycles taken into the RAM 22 is equivalent to the data for one cycle of the same spreading code being repeated M times, as described in the second example of synchronization acquisition. Since there is only a frequency component having data for one cycle of the spreading code, the pre-processing unit 130 determines the data for one cycle of the spreading code from the data amount of M cycles of the spreading code. Reduce the amount.
[0290]
FIG. 39 is a diagram for explaining the preprocessing of the fifth example. In the example of FIG. 39, the sampling frequency in the sampling circuit 21 is 4.096 MHz, and M = 16, that is, a case where data is taken into the RAM 22 in units of 16 milliseconds and FFT processing is performed.
[0291]
As shown in FIG. 39, in this example, the IF data stored in the RAM 22 is 16 data groups d1 (n), d2 (n), d3 (n),. d16 (n). In this example, each of the data groups d1 (n), d2 (n), d3 (n),..., D16 (n) consists of 4096 points, and the entire data for 16 milliseconds. Then, it consists of 65536 points.
[0292]
From the head of each of the 16 data groups d1 (n), d2 (n), d3 (n),..., D16 (n), the value of the same point position is , Should have the same component of the spreading code. Moreover, as described above, the data of each point is 1 bit.
[0293]
Considering the above, in the case of the fifth example, as the memory 130MEM included in the preprocessing unit 130, a memory having 16 bits per word and a capacity of 4096 words is used.
[0294]
The data at the same point position from the head of each of the 16 data groups d1 (n), d2 (n), d3 (n),. Write to the same word address of the memory 130MEM to form a word. As a result, the data for 16 milliseconds is taken into the memory 130MEM as 4096 word data.
[0295]
The FFT operation process is executed for the 16-bit 1-word data. If the DSP 23 is capable of 16-bit processing, the number of memory accesses during FFT is 4096, which is 16 minutes compared to 65536 when no preprocessing is performed. 1 and the FFT processing can be speeded up.
[0296]
To generalize the above, in the case where FFT processing is performed with M cycles of data whose number of data for one cycle of the spread code is N as processing units, the preprocessing unit 130 uses the same spread code component. The position data is written to the same word address in the memory 130MEM.
[0297]
That is, when NM pieces of data are numbered sequentially from [0], 0, N, 2N,..., (M−1) Nth data is written to the word address “0” of the memory MEM. 1,1 + N, 1 + 2N,..., 1+ (M−1) Nth data is written to the word address “1” of the memory MEM,..., (N−1), (N−1) + N , (N−1) + 2N,..., (N−1) + (M−1) The Nth data is written to the word address “N−1” of the memory MEM.
[0298]
The FFT operation process is executed for this M-bit 1-word data. If the DSP 23 is capable of processing in units of w bits, the number of memory accesses during FFT is N × M / w times, compared to NM times when no preprocessing is performed. , And the FFT processing can be speeded up.
[0299]
The synchronization acquisition methods of the first to fifth examples described above are time-consuming in principle by the sliding correlator that is a conventional method, but the processing by the digital matched filter using FFT is performed by a high-speed DSP. By doing so, a significant reduction in processing time can be expected. In particular, in the case of the second to fifth examples, synchronization acquisition can be performed with high sensitivity by performing the FFT process in units of M cycles of the spread code.
[0300]
Furthermore, in the case of the third example to the fifth example, the FFT process can be performed at higher speed in units of M cycles of the spread code.
[0301]
Accordingly, the third to fifth examples of synchronization acquisition are used in the high sensitivity mode in the same manner as in the embodiment of the GPS receiver using the second example of synchronization acquisition. Sometimes, as usual, the unit data length for detecting the correlation point can be one cycle length of the spread code.
[0302]
Further, the third to fifth examples of the synchronization acquisition may be used not only in the high sensitivity mode but also in the high speed mode.
[0303]
Further, in the case of using the third to fifth examples of the synchronization acquisition not only in the high sensitivity mode but also in the high speed mode, the value of M for determining the unit data length for detecting the correlation point is set to the high sensitivity. The mode may be configured to be larger than that in the high-speed mode.
[0304]
Note that the correlation calculation method using the digital matched filter used in the above example of synchronization acquisition is not limited to the signal from the GPS satellite, but the spread of the received signal in which the carrier wave is modulated by the signal obtained by spectrum-spreading the data with a spreading code. The present invention can be applied to the case where code and carrier synchronization acquisition is performed. However, in the second example, the third example, the fourth example, and the fifth example, a period that is a multiple of one period of the spreading code is a data bit, as in a GPS satellite signal, and the spreading code The signals for a plurality of periods must be the same signal.
[0305]
If the synchronization acquisition unit 20 can acquire signals from four or more GPS satellites by the synchronization acquisition method as described above, the GPS receiver can determine the GPS receiver from the phase of these spreading codes and the IF carrier frequency. It is possible to calculate the position and velocity. That is, the positioning calculation can be performed without providing the synchronization holding unit 30.
[0306]
However, in order to perform positioning and velocity calculation with sufficient accuracy as a GPS receiver, it is necessary to detect the phase of the spread code and the IF carrier frequency with high accuracy. It is necessary to increase the time length of IF data fetched into the RAM 22.
[0307]
Furthermore, when the digital acquisition filter 20 is configured to use a digital matched filter, it must be considered that the digital matched filter itself does not have a synchronization holding function.
[0308]
If the navigation message is not acquired from the outside of the GPS receiver, the synchronization acquisition unit 20 needs to demodulate the navigation messages of four or more GPS satellites every 20 ms, and the DSP 23 always detects synchronization and the navigation message. Need to be demodulated at a fairly high speed.
[0309]
As described above, if the GPS receiver position calculation and speed calculation are performed with sufficient accuracy only by the synchronization acquisition unit 20, the cost increases due to the increase in the size of the hardware and the power consumption increases. It becomes a big problem at the time of manufacture.
[0310]
Therefore, in this embodiment, the synchronization acquisition with coarse accuracy is performed by the dedicated synchronization acquisition unit 20, and the synchronization holding unit 30 performs synchronization holding of a plurality of GPS satellite signals and demodulation of the navigation message. Then, the synchronization acquisition unit 20 transmits the detected GPS satellite number, the phase of the spread code, the IF carrier frequency, and the signal strength information including the correlation detection signal as data to the synchronization holding unit 30 through the control calculation unit 40. As will be described later, the synchronization holding unit 30 starts the operation using the data as an initial value.
[0311]
[Configuration of Synchronization Holding Unit 30]
In order to perform synchronization holding of a plurality of GPS satellite signals in parallel, the synchronization holding unit 30 includes a plurality of channels with each GPS satellite signal as one channel.
[0312]
FIG. 40 shows a configuration example of the synchronization holding unit 30 in this embodiment. The synchronization holding unit 30 includes channel synchronization holding units 30CH1, 30CH2,..., 30CHn for n channels and a control register 33. Each of the channel synchronization holding units 30CH1, 30CH2,..., 30CHn includes a Costas loop 31 and a DLL (Delay Locked Loop) 32.
[0313]
The control register 33 is connected to the CPU 41 of the control calculation unit 40 and receives parameters for determining the loop filter parameters of the Costas loop 31 and DLL 32 and filter characteristics, as will be described later. The data is set in the part designated by the CPU 41. The control register 33 receives correlation value information and frequency information from the Costas loop 31 and the loop filter of the DLL 32, and passes the information to the CPU 41 in response to access from the CPU 41.
[0314]
[Configuration of Costas Loop 31 and DLL 32]
FIG. 41 is a block diagram illustrating a configuration example of the Costas loop 31, and FIG. 42 is a block diagram illustrating a configuration example of the DLL 32.
[0315]
The Costas loop 31 is a part that holds IF carrier frequency synchronization and extracts a navigation message that is transmission data, and the DLL 32 is a part that holds phase synchronization of a spread code of a GPS satellite signal. The Costas loop 31 and the DLL 32 cooperate to perform spectrum despreading on the GPS satellite signal to obtain a pre-spread signal, and to demodulate the pre-spread signal to obtain a navigation message for control. It supplies to CPU41 of the calculating part 40. FIG. Hereinafter, the operation of the Costas loop 31 and the DLL 32 will be specifically described.
[0316]
[About Costas Loop 31]
The IF data from the frequency conversion unit 10 is supplied to the multiplier 201. The multiplier 201 is supplied with the spreading code from the spreading code generator 320 of the DLL 32 shown in FIG.
[0317]
The spread code generator 320 of the DLL 32 generates three phase spread codes: a coincidence (prompt) spread code P, a lead (early) spread code E, and a delay (rate) spread code L. In the DLL 32, as will be described later, the correlation between the forward spreading code E and the delayed spreading code L and the IF data is calculated, and the generation phase of the spreading code from the spreading code generator 320 is set so that the respective correlation values are equal. , So that the phase of the coincidence spreading code P matches the phase of the spreading code of the GPS satellite signal.
[0318]
The despreading multiplier 201 of the Costas loop 31 is supplied with the coincidence spreading code P from the spreading code generator 320 and is despread. The despread IF data from the multiplier 201 is supplied to multipliers 202 and 203.
[0319]
As shown in FIG. 41, the Costas loop 31 includes multipliers 202 and 203, low-pass filters 204 and 205, a phase detector 206, a loop filter 207, an NCO (Numerically Controlled Oscillator) 208, and , A correlation detector 209, a binarization circuit 210, a lock determination unit 211, and a switch circuit 212.
[0320]
The cutoff frequency information of the low-pass filters 204 and 205, the parameters that determine the filter characteristics of the loop filter 207, and the frequency information that determines the oscillation center frequency of the NCO 208 are synchronized with the synchronization acquisition unit 20, as will be described later. Based on the result, it is set from the CPU 41 through the control register 33.
[0321]
The switch circuit 212 is for opening and closing the loop of the Costas loop 31 and is turned on / off by a switching control signal from the CPU 41. In an initial state before the synchronization holding operation is started, the switch circuit 212 is turned off and the loop is opened. As described later, the synchronization holding operation is started and a Costas loop correlation detector is detected. When the correlation output 209 reaches a significant level, the switch circuit 212 is turned on to close the loop.
[0322]
The signal despread in the multiplier 201 is supplied to the multipliers 202 and 203. These multipliers 202 and 203 are supplied with the quadrature phase I (Sine) signal and the Q (Cosine) signal from the NCO 208 that are substantially set to the IF carrier frequency based on the frequency information from the CPU 41 of the control calculation unit 40. Is done.
[0323]
The multiplication results of the multipliers 202 and 203 are supplied to the phase detector 206 through the low-pass filters 204 and 205. The low-pass filters 204 and 205 receive cutoff frequency information from the CPU 41 of the control calculation unit 40 and remove out-of-band noise from signals supplied thereto.
[0324]
The phase detector 206 detects a phase error between the IF carrier and the frequency signal from the NCO 208 based on the signals from the low-pass filters 204 and 205, and supplies this phase error to the NCO 208 via the loop filter 207. As a result, the NCO 208 is controlled so that the phase of the output frequency signal from the NCO 208 is synchronized with the IF carrier component.
[0325]
Note that the loop filter 207 integrates the phase error information from the phase detector 206 in accordance with parameters supplied from the CPU 41 of the control calculation unit 40 to form an NCO control signal for controlling the NCO 208. As described above, the NCO 208 is configured such that the phase of the output frequency signal from the NCO 208 is synchronized with the IF carrier component by the NCO control signal from the loop filter 207.
[0326]
The outputs of the low-pass filters 204 and 205 of the Costas loop 31 are supplied to the correlation detector 209. The correlation detector 209 squares the output signals of the low-pass filters 204 and 205 supplied thereto, adds them, and outputs the result. The output of the correlation detector 209 indicates the correlation value CV (P) between the IF data and the coincidence spread code P from the spread code generator 320. The correlation value CV (P) is passed to the CPU 41 of the control calculation unit 40 through the control register 33.
[0327]
The output signal of the low-pass filter 204 is supplied to the binarization circuit 210, and navigation message data is output from the binarization circuit 210.
[0328]
Further, the correlation value CV (P) output from the correlation detector 209 is supplied to the lock determination unit 211. The lock determination unit 211 compares the correlation value CV (P) output with a predetermined threshold value. When the correlation value CV (P) output is larger than the threshold value, the synchronization hold is locked. When the correlation value CV (P) output is smaller than the threshold value, a lock determination output indicating that the synchronization holding is in the unlocked state is output.
[0329]
In this embodiment, this lock determination output is sent to the CPU 41 of the control calculation unit 40, and the CPU 41 recognizes the lock state and the unlock state of the synchronization holding unit 30 from this lock determination output.
[0330]
[About DLL32]
As shown in FIG. 42, in the DLL 32, the IF data from the frequency conversion unit 10 is supplied to multipliers 301 and 311. The multiplier 301 is supplied with the forward spreading code E from the spreading code generator 320, and the multiplier 311 is supplied with the delayed spreading code L from the spreading code generator 320.
[0331]
The multiplier 301 performs spectrum despreading by multiplying IF data and the advance spread code E, and supplies the despread signals to the multipliers 302 and 303. The multiplier 302 is supplied with the I signal from the NCO 208 of the aforementioned Costas loop 31, and the multiplier 303 is supplied with the Q signal from the NCO 208.
[0332]
The multiplier 302 multiplies the despread IF data by the I signal from the NCO 208 and supplies the result to the correlation detector 306 through the low-pass filter 304. Similarly, the multiplier 303 multiplies the despread IF data and the Q signal from the NCO 208 and supplies the result to the correlation detector 306 through the low-pass filter 305.
[0333]
Note that the low-pass filters 304 and 305 receive the cutoff frequency information from the CPU 41 of the control calculation unit 40 as in the case of the low-pass filters 204 and 205 of the Costas loop 31, and reduce the out-of-band noise of the signal supplied thereto. To be removed.
[0334]
The correlation detector 306 squares and adds the output signals from the low-pass filters 304 and 305 supplied thereto and outputs the result. The output from the correlation detector 306 indicates the correlation value CV (E) between the IF data and the forward spread code E from the spread code generator 320. The correlation value CV (E) is supplied to the phase detector 321 and stored in the control register 33 so that the CPU 41 of the control calculation unit 40 can use it.
[0335]
Similarly, the multiplier 311 performs spectrum despreading by multiplying the IF data and the delay spread code L, and supplies the despread signals to the multipliers 312 and 313. As described above, the multiplier 312 is supplied with the I signal from the NCO 208, and the multiplier 313 is supplied with the Q signal from the NCO 208.
[0336]
The multiplier 312 multiplies the despread IF data by the I signal from the NCO 208 and supplies the result to the correlation detector 316 through the low-pass filter 314. Similarly, the multiplier 313 multiplies the despread IF data by the Q signal from the NCO 208 and supplies the result to the correlation detector 316 through the low-pass filter 315. The low-pass filters 314 and 315 receive cut-off frequency information from the CPU 41 of the control calculation unit 40 and remove out-of-band noise from signals supplied thereto, as with the low-pass filters 304 and 305 described above. is there.
[0337]
The correlation detector 316 squares and adds the output signals from the low-pass filters 314 and 315 supplied thereto, and outputs the calculation result. The output from the correlation detector 316 indicates the correlation value CV (L) between the IF data and the delayed spread code L from the spread code generator 320. The correlation value CV (L) is supplied to the phase detector 321 and stored in the control register 33 so that the CPU 41 of the control calculation unit 40 can use it.
[0338]
The phase detector 321 calculates the difference between the coincidence spread code and the spread code of the GPS satellite signal as a difference between the correlation value CV (E) from the correlation detector 306 and the correlation value CV (L) from the correlation detector 316. A phase difference is detected, and a signal corresponding to the phase difference is supplied as a numerical control signal of the NCO 323 via the loop filter 322.
[0339]
An output signal of the NCO (Numerically Controlled Oscillator) 323 is supplied to the spread code generator 320, and the spread frequency from the spread code generator 320 is controlled by controlling the output frequency of the NCO 323. The generation phase of the code is controlled.
[0340]
As will be described later, the NCO 323 is supplied with frequency information for controlling the initial oscillation frequency from the CPU 41 of the control calculation unit 40 according to the synchronization acquisition result of the synchronization acquisition unit 20.
[0341]
The NCO 323 is controlled by the loop control in the DLL 32 described above, and the spread code generator 320 allows the spread code P, E, L so that the correlation value CV (E) and the correlation value CV (L) have the same level. Controls the generation phase. As a result, the coincidence spread code P generated from the spread code generator 320 is phase-synchronized with the spread code in which IF data is spread spectrum. As a result, the coincidence spread code P causes the IF data to be accurately reverse spectrum. The navigation message data is demodulated and output from the binarization circuit 210 in the Costas loop 31.
[0342]
The demodulated output of the navigation message data is supplied to a data demodulation circuit (not shown), demodulated into data usable by the control calculation unit 40, and then supplied to the control calculation unit 40. In the control calculation unit 40, the navigation message data is used for positioning calculation, and orbit information (almanac information and ephemeris information) is extracted as appropriate and stored in the orbit information memory 46.
[0343]
The loop filter 322 of the DLL 32 integrates the phase error information from the phase detector 321 based on the parameters supplied from the CPU 41 of the control calculation unit 40, similarly to the loop filter 207 of the Costas loop 31 described above. The NCO control signal for controlling the NCO 323 is formed.
[0344]
Also in the DLL 32, a switch circuit 324 for loop opening / closing control is provided between the loop filter 322 and the NCO 320, and is turned on / off by a switching control signal from the CPU 41.
[0345]
In an initial state before the synchronization holding operation is started, the switch circuit 324 is turned off and the loop is opened. As described later, the synchronization holding operation is started and the correlation detector of the Costas loop is started. When the correlation output 209 reaches a significant level, the switch circuit 324 is turned on to close the loop.
[0346]
[Transition from synchronization acquisition to synchronization maintenance]
In this embodiment, as described above, the synchronization acquisition unit 20 uses the detected GPS satellite number, the phase of the spread code, the IF carrier frequency, and the signal strength information as data as the CPU 41 of the control calculation unit 40. To pass. The signal strength information is not essential as information for shifting to the synchronization holding process.
[0347]
Based on the acquired data, the CPU 41 of the control calculation unit 40 generates data to be supplied to the synchronization holding unit 30 and passes it to the synchronization holding unit 30. The synchronization holding unit 30 starts the synchronization holding operation using the data as an initial value.
[0348]
The data passed from the CPU 41 of the control arithmetic unit 40 to the synchronization holding unit 30 is a numerical value for determining the initial oscillation frequency (oscillation center frequency) of the NCO 323 that controls the generation phase of the spread code from the spread code generator 320 of the DLL 32. Information, numerical information for determining the initial oscillation frequency (oscillation center frequency) of the NCO 208 of the Costas loop 31, parameters for determining the filter characteristics of the loop filters 207 and 322, low-pass filters 204, 205, 304, This is coefficient information for determining the cutoff frequencies of 305, 314, and 315 and determining the width of the frequency band.
[0349]
At this time, the information supplied from the CPU 41 to the synchronization holding unit 30 determines the GPS satellite number, phase and frequency at which the synchronization holding unit 30 starts the synchronization holding of the spread code and the synchronization holding of the IF carrier, and the filter characteristics. The CPU 41 generates the initial value data so as to start synchronization holding from the vicinity of the phase of the spread code and the IF carrier frequency detected as a result of synchronization acquisition by the synchronization acquisition unit 20. To do.
[0350]
Therefore, the synchronization holding unit 30 can start the synchronization holding operation from the vicinity of the phase of the spread code detected by the synchronization acquisition unit 20 and the vicinity of the detected IF carrier frequency to quickly set the synchronization holding locked state. become able to.
[0351]
By the way, in order for the GPS receiver to calculate the position and velocity, it is necessary to establish and maintain synchronization for four or more GPS satellites from the start of synchronization acquisition. Next, an example of a process until the synchronization acquisition unit 20 and the synchronization holding unit 30 and the CPU 41 that controls both of them hold the synchronization of signals from four or more GPS satellites will be described.
[0352]
[Example of synchronization acquisition / synchronization holding process]
In this example, when the synchronization acquisition unit 20 acquires one of the GPS satellite signals in synchronization, the CPU 41 immediately sends an interrupt instruction for starting the synchronization holding operation, the GPS satellite number as the synchronization acquisition result, and its spreading code. The signal strength representing the phase, IF carrier frequency, and correlation detection level is transferred, and when the transfer is completed, the synchronization acquisition for another GPS satellite is started.
[0353]
Each time the CPU 41 receives an interrupt instruction from the synchronization acquisition unit 20, the CPU 41 assigns an independent channel to the synchronization holding unit 30, sets an initial value, and starts a synchronization holding operation.
[0354]
FIG. 43 is a flowchart for explaining the flow of the synchronization acquisition process in the synchronization acquisition unit 20 in an example of the synchronization acquisition / synchronization holding process.
[0355]
First, initial setting for acquisition of synchronization is performed (step S171). In this initial setting, a GPS satellite to be searched for acquisition of synchronization and the search order are set based on valid orbit information stored in the orbit information memory 46 by the GPS receiver. Also, the carrier frequency considering the Doppler shift is calculated from the trajectory information, and the center and range of the IF carrier frequency to be searched are set.
[0356]
Also, if the GPS receiver has known the approximate oscillator error obtained in the past operation before turning on the power, the GPS receiver position is stored at the time of turning on the power, that is, the power is turned off last time. If the center and range of the IF carrier frequency to be searched are determined in accordance with the Doppler shift calculated from the trajectory information on the assumption that the position is the immediately preceding position, the time required until synchronization can be further reduced.
[0357]
When the initial setting is completed, one GPS satellite to be synchronously acquired is set according to the search order (step S172). As a result, the satellite number to be synchronized is determined, and the spread code for which the correlation is to be detected is determined.
[0358]
Next, the synchronization acquisition unit 20 starts fetching IF data sampled by the sampling circuit 21 into the RAM 22, and starts a timer at this start timing (step S173). Here, the timer 45 of the control calculation unit 40 is used as this timer. The timer 45 is also used when setting the synchronization holding process start timing, as will be described later.
[0359]
Next, in the DSP 23, correlation detection processing is performed on the spread code of the GPS satellite signal set in step S172, using any of the above-described examples of synchronization acquisition using the digital matched filter (step S174).
[0360]
Then, it is determined whether or not a correlation has been detected with respect to the spread code of the GPS satellite signal, that is, whether or not the GPS satellite signal has been acquired synchronously (step S175). And the information of the GPS satellite number, the phase of the spread code, the IF carrier frequency, and the signal strength are passed to the CPU 41 as a detection result of the synchronization acquisition (step S176).
[0361]
Then, it is determined whether or not the synchronization acquisition search for all of the GPS satellites to be searched has been completed (step S177), and if there are still GPS satellites to be searched, the process returns to step S172 and the next GPS to be synchronized and acquired. Set the satellite and repeat the above acquisition process. If it is determined in step S177 that the synchronization acquisition has been completed for all GPS satellites to be searched, the synchronization acquisition operation is terminated and the synchronization acquisition unit 20 is set to a standby state (standby state).
[0362]
When it is determined in step S175 that the correlation cannot be detected, it is determined whether or not the state has exceeded a predetermined time (step S178). If the predetermined time has not elapsed, the process returns to step S175 to return to the correlation. Continue detection.
[0363]
When it is determined in step S178 that the predetermined time has elapsed, the process proceeds to step S177, where it is determined whether or not the synchronization acquisition search for all the GPS satellites to be searched has been completed, and when there are still GPS satellites to be searched. Returning to step S172, the next GPS satellite to be synchronized is set, and the above-described synchronization capturing process is repeated.
[0364]
If it is determined in step S177 that the synchronization acquisition has been completed for all GPS satellites to be searched, the synchronization acquisition operation is terminated and the synchronization acquisition unit 20 is set to a standby state (standby state).
[0365]
In this embodiment, the CPU 41 can perform on / off control of power supply to the synchronization capturing unit 20 or on / off control of operation clock supply from the multiplication / frequency dividing circuit 3 to the synchronization capturing unit 20. In the standby state of the synchronization acquisition unit 20 described above, the CPU 41 turns off the power supply to the synchronization acquisition unit 20 or stops the operation clock supply, thereby suppressing unnecessary power consumption. Yes.
[0366]
When the synchronization acquisition unit 20 is configured with a digital matched filter as described above, it is desirable to operate with a high clock in order to speed up the FFT calculation in the DSP 23, and thus power consumption during operation increases. When the synchronization acquisition unit 20 finishes detecting synchronization acquisition of signals from all the initially set GPS satellites and the synchronization holding unit 30 holds four or more synchronizations, the role of the synchronization acquisition unit 20 ends.
[0367]
In this embodiment, as described above, the CPU 41 is in a standby state after the end of the role of the synchronization capturing unit 20, so that unnecessary power consumption in the synchronization capturing unit 20 is suppressed.
[0368]
In the above example, the CPU 41 shifts the synchronization acquisition unit 20 to the standby state after completing the synchronization acquisition for all the initially set GPS satellites. However, the synchronization holding unit 30 can hold the synchronization. After confirming that the number of GPS satellites is four or more, the CPU 41 may cause the synchronization acquisition unit 20 to shift to a standby state.
[0369]
Of course, the CPU 41 can return the synchronization acquisition unit 20 once in the standby state to the operation state when the synchronization acquisition unit 20 needs to be re-synchronized.
[0370]
Next, the control processing of the synchronization holding unit 30 performed by the CPU 41 that has received an interrupt instruction from the synchronization capturing unit 20 will be described with reference to the flowcharts of FIGS. 44 and 45.
[0371]
44, when the CPU 41 receives from the synchronization acquisition unit 20 information on the phase of the spread code, IF carrier frequency, GPS satellite number, and signal strength as an interrupt instruction and synchronization acquisition result, This is a process for allocating and starting synchronization holding. FIG. 45 is a flowchart for controlling synchronization holding processing in each channel of the synchronization holding unit 30 that has been started to hold synchronization by the CPU 41. First, the synchronization holding start process of FIG. 44 will be described.
[0372]
First, when the GPS receiver is turned on, the CPU 41 performs initial setting of constants to the NCO, low-pass filter, loop filter, etc. of the synchronization holding unit 30 (step S181). At this time, the Costas loop 31 and the DLL 32 are both initially in the loop open state.
[0373]
Next, the CPU 41 monitors the interrupt instruction from the synchronization acquisition unit 20 (step S182), and when detecting the interrupt instruction, the CPU 41 receives the GPS satellite number, the phase of the spread code, the IF carrier frequency, and the signal strength from the synchronization acquisition unit 20. Is set so that an independent channel is assigned to the received GPS satellite number (step S183).
[0374]
Then, the CPU 41 calculates the synchronization holding start timing from the phase of the spread code received from the synchronization acquisition unit 20, and also supplies the initial value supplied to each part in the allocated channel of the synchronization holding unit 30 to the synchronization acquisition unit 20. Is generated based on the IF carrier frequency received from (step S184).
[0375]
Then, the CPU 41 sends the generated initial value to each part in the channel assigned in step S183 of the synchronization holding unit 30 through the control register 33, and also in the channel assigned in step S183 in the synchronization holding unit 30. The generation phase of the coincidence spread code P from the spread code generator 320 is controlled to be the synchronization hold start timing, and the synchronization hold operation is started (step S185). At this time, the Costas loop 31 and DLL 32 remain open.
[0376]
As described above, a channel for holding synchronization is assigned to the GPS satellite signal acquired in synchronization, and when synchronization holding is started, the process returns to step S182 to wait for the next interrupt.
[0377]
Next, the synchronization holding process for each channel started as described above will be described with reference to the flowchart of FIG.
[0378]
First, the CPU 41 determines whether or not the correlation value CV (P) from the synchronization holding unit 30 has become a significant level (step S191), and when the correlation value CV (P) has become a significant level, the Costas loop 31. Then, the loop of the DLL 32 is closed and the synchronization holding operation is performed (step S192).
[0379]
Next, the CPU 41 monitors the lock determination output from the lock determination unit 211 of the Costas loop 31 of the synchronization holding unit 30 (step S193). Is incremented by 1 (step S194), and the synchronization holding state is continued (step S195).
[0380]
Then, during this synchronization holding operation, the CPU 41 monitors the lock determination output from the lock determination unit 211 of the Costas loop 31 (step S196), and when the synchronization holding lock is confirmed, returns to step S195 to hold the synchronization holding. Continue state. When it is determined in step S196 that the synchronization holding lock is released, the number of GPS satellites held in synchronization is decremented by 1 (step S197), and the processing when the synchronization holding is released is performed. Processing when the synchronization hold is lost will be described later.
[0381]
When the CPU 41 determines that the synchronization holding unit 30 has held the synchronization of four or more GPS satellite signals, the CPU 41 calculates the position of the GPS receiver and the velocity.
[0382]
When it is determined in step S191 that the correlation value CV (P) does not reach a significant level, it is determined whether or not the state has exceeded a predetermined time (step S199). When it is determined that the predetermined time has elapsed, The channel of the synchronization holding unit 30 assigned in step S183 in FIG. 44 is returned to the empty channel, and the synchronization holding of the channel is stopped (step S200).
[0383]
In step S193, when the lock state cannot be detected by the lock determination output, it is determined whether or not the predetermined time has passed for a predetermined time (step S201), and when it is determined that the predetermined time has passed, step S183 is determined. The channel of the synchronization holding unit 30 assigned in step 1 is returned to the empty channel, and the synchronization holding of the channel is stopped (step S200).
[0384]
Steps S199, S201, and S200 are provided for the following reason. That is, even if the correlation detected by the synchronization capturing unit 20 is at a significant level, there may be a false synchronization that occurs accidentally due to noise. The synchronization holding unit 30 does not establish synchronization for a false synchronization that does not persist, such as occurs unexpectedly. Therefore, if synchronization cannot be established within a certain search time by the synchronization holding unit 30, the synchronization holding operation is stopped, the assigned channel is returned to the free channel state, and the next interrupt is waited for. Is.
[0385]
By the way, in step S184 of FIG. 44 described above, the CPU 41 holds the synchronization so that the phase of the spreading code from the spreading code generator 320 of the synchronization holding unit 30 matches the phase of the spreading code detected by the synchronization acquisition unit 20. It is necessary to calculate the synchronization hold start timing of the unit 30, but at the time of the calculation, a predetermined time has elapsed until the synchronization acquisition of one GPS satellite signal is completed in the synchronization acquisition unit 20, and the Doppler It is necessary to consider that it is affected by the shift and the error of the reference oscillator 2 of the GPS receiver.
[0386]
The latter problem is due to the fact that the IF carrier frequency includes an error of the original reference oscillator 2 that generates a sampling clock to be taken into the memory of the IF data from the frequency converter 10.
[0387]
In this embodiment, since the synchronization acquisition unit 20 and the synchronization holding unit 30 operate with a clock having the same reference oscillator 2 as a transmission source, the synchronization acquisition unit 20 and the synchronization holding unit 30 have exactly the same frequency. It will have an error. Therefore, regarding the synchronization of the IF carrier, there is no problem with respect to starting the operation using the IF carrier frequency detected by the synchronization acquisition unit 20 by the synchronization holding unit 30 as an initial value.
[0388]
As described above, the synchronization acquisition unit 20 searches for a significant correlation according to the order in which the CPU 41 detects the GPS satellites determined from the orbit information. When the synchronization acquisition unit 41 can detect the first satellite with a reliable signal strength, the CPU 41 assigns one channel of the synchronization holding unit 30 and detects the detected satellite number and spreading code, as in the first example. The phase and IF carrier frequency are set, and the synchronization holding operation is started.
[0389]
[Other Embodiments]
In the above description of the embodiment, the detection result from the synchronization acquisition unit 20 is passed to the synchronization holding unit 30 via the CPU 41. However, as described above, the detection result directly from the synchronization acquisition unit 20 to the synchronization holding unit 30 is provided. Can be configured to be handed over.
[0390]
In the above example, a digital matched filter is used as the synchronization acquisition unit 20. However, in the present invention, the synchronization acquisition unit performs coarse accuracy synchronization acquisition, and passes the result to the synchronization holding unit. Since the purpose is to speed up the establishment of synchronization, the synchronization acquisition unit 20 is not limited to an example using a digital matched filter.
[0390]
Further, the digital matched filter is not limited to the example using the FFT as in the above example, but can be configured to use the transversal filter as described above.
[0392]
When the high sensitivity mode is set indoors and the high speed mode is set outdoors, the GPS receiver is provided with means for detecting whether it is indoors or outdoors, and the positioning mode is automatically set according to the detection result. You can also As a means for detecting indoors or outdoors, for example, a transmission antenna is attached to the housing of a GPS receiver so that the radiation direction of the radio wave is always in the vertical direction around the rotation axis. It is possible to use that the reflected wave of the radiated radio wave can be obtained by the receiving means if it is indoors, while the reflected wave of the radio wave is received indoors, but the reflected wave is hardly obtained if it is outdoors.
[0393]
The above is the case of the GPS satellite signal, but this application is not limited to the GPS satellite signal, but uses a spreading code such as GALILEO, which is being developed mainly in European countries. If applicable, it is applicable.
[0394]
【The invention's effect】
As described above, according to the present invention, the high-speed mode in which synchronization acquisition can be performed at high speed and the high-sensitivity mode in which synchronization acquisition can be performed with high sensitivity can be performed according to the use environment. Acquisition of satellite signals can be performed quickly and accurately in accordance with the use environment conditions.
[0395]
Then, by having the operating environment of the receiver provided by the user, the receiver can be switched to an appropriate positioning mode, resulting in a faster time until positioning. It becomes like this.
[0396]
Further, according to the present invention, since the receiver notifies the user of the positioning situation, the user's irritation to the positioning can be alleviated.
[0397]
In addition, according to the present invention, the function of the synchronization acquisition and the synchronization holding is separated, and the synchronization acquisition can be speeded up, so that the time required for the synchronization with the GPS signal from the conventional GPS receiver is shortened, Since the GPS receiver can display the position and speed promptly after the power is turned on, the GPS receiver can be switched between the high speed mode and the high sensitivity mode effectively. That is, in any of the high-speed mode and the high-sensitivity mode, the time until positioning is relatively short, and it is possible to mitigate giving an irritating feeling to the user.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration example of an embodiment of a positioning satellite signal receiver according to the present invention;
FIG. 2 is a diagram illustrating an example of an appearance of a receiver according to the embodiment.
FIG. 3 is a block diagram illustrating a configuration example of a synchronization acquisition unit that is a part of the receiver of the embodiment of FIG. 1;
4 is a block diagram showing an example of the internal configuration of a DSP that constitutes a part of the synchronization acquisition unit in the example of FIG. 3;
FIG. 5 is a diagram illustrating an example of a correlation result of spreading codes using a digital matched filter.
FIG. 6 is a diagram for explaining a general example of a method for synchronizing a received signal carrier and a spread code;
FIG. 7 is a diagram for explaining a first example of a synchronization acquisition method in the embodiment of the present invention;
FIG. 8 is a diagram illustrating a configuration of a main part considering an operation of a first example of a synchronization acquisition method.
FIG. 9 is a diagram showing a part of a flowchart for explaining the operation of the first example of the synchronization acquisition method;
FIG. 10 is a diagram showing a part of a flowchart for explaining the operation of the first example of the synchronization acquisition method;
FIG. 11 is a diagram showing a part of a flowchart for explaining the operation of the first example of the synchronization acquisition method;
FIG. 12 is a diagram illustrating a configuration of a main part in consideration of the operation of the first example of the synchronization acquisition method.
FIG. 13 is a view showing a part of a flowchart for explaining a positioning mode setting operation in the embodiment of the present invention;
FIG. 14 is a view showing a part of a flowchart for explaining a positioning mode setting operation in the embodiment of the present invention;
FIG. 15 is a diagram for explaining positioning mode setting operation according to the embodiment of the present invention;
FIG. 16 is a diagram for explaining positioning mode setting operation in the embodiment of the present invention;
FIG. 17 is a diagram for explaining positioning mode setting operation in the embodiment of the present invention;
FIG. 18 is a view showing a part of a flowchart for explaining the positioning mode setting operation in the embodiment of the present invention;
FIG. 19 is a diagram for explaining positioning mode setting operation in the embodiment of FIG. 18;
FIG. 20 is a flowchart for explaining positioning mode selection operation processing according to the embodiment of the present invention;
FIG. 21 is a diagram for explaining the positioning mode selection operation processing operation of FIG. 20;
22 is a diagram for explaining the positioning mode selection operation processing operation of FIG. 20;
FIG. 23 is a diagram showing an example of the external appearance of another embodiment of a receiver according to the present invention.
FIG. 24 is a flowchart for explaining positioning mode selection operation processing in another embodiment;
FIG. 25 is a diagram for explaining a second example of the synchronization acquisition method;
FIG. 26 is a diagram for explaining a second example of the synchronization acquisition method;
FIG. 27 is a diagram illustrating a configuration of a main part in consideration of the operation of the second example of the synchronization acquisition method.
FIG. 28 is a diagram for explaining a third example of the synchronization acquisition method;
FIG. 29 is a diagram for explaining a third example of the synchronization acquisition method;
FIG. 30 is a diagram for explaining a third example of the synchronization acquisition method;
FIG. 31 is a diagram for explaining a third example of the synchronization acquisition method;
FIG. 32 is a diagram for explaining a third example of the synchronization acquisition method;
FIG. 33 is a diagram for explaining a third example of the synchronization acquisition method;
FIG. 34 is a diagram showing a part of a flowchart for explaining the operation of the third example of the synchronization acquisition method;
FIG. 35 is a diagram showing a part of a flowchart for explaining the operation of the third example of the synchronization acquisition method;
FIG. 36 is a diagram showing a part of a flowchart for explaining the operation of the third example of the synchronization acquisition method;
FIG. 37 is a block diagram for explaining a fourth example of the synchronization acquisition method;
FIG. 38 is a flowchart for explaining the operation of the main part of the fourth example of the synchronization acquisition method;
FIG. 39 is a diagram for explaining the operation of the main part of the fifth example of the synchronization acquisition method;
40 is a block diagram illustrating a configuration example of a synchronization holding unit that is a part of FIG. 1. FIG.
41 is a block diagram illustrating a configuration example of a Costas loop that constitutes a part of the synchronization holding unit of FIG. 40. FIG.
42 is a block diagram illustrating a configuration example of a DLL that constitutes a part of the synchronization holding unit of FIG. 40. FIG.
FIG. 43 is a flowchart for explaining an exemplary flow of a synchronization acquisition process;
FIG. 44 is a flowchart for explaining a flow of a synchronization holding start process.
FIG. 45 is a flowchart for explaining the flow of synchronization holding processing for each channel;
FIG. 46 is a diagram showing a configuration of a signal from a GPS satellite.
FIG. 47 is a diagram for explaining conventional carrier and spreading code synchronization processing;
FIG. 48 is a diagram used for describing an embodiment of the present invention.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 10 ... Frequency conversion part, 20 ... Synchronization acquisition part, 21 ... Sampling circuit, 22 ... RAM, 23 ... DSP, 24 ... Memory for DSP, 30 ... Synchronization acquisition part, 31 ... Costas loop, 32 ... DLL, 33 ... Control register , 40 ... control unit, 41 ... CPU, 44 ... clock circuit, 45 ... timer, 46 ... memory for trajectory information

Claims (12)

受信側の拡散符号の位相を実質的に変えながら、衛星からの受信信号の拡散符号と受信側の拡散符号との相関を検出して前記受信信号の拡散符号の同期捕捉を行う際の、前記受信側の拡散符号の実質的な位相の変化幅が大きい高速モードと、前記実質的な位相の変化幅が小さい高感度モードとを備えると共に、
前記高速モードと、前記高感度モードとの切り換え選択操作を受け付けるためのモード切り換え操作手段と、
前記モード切り換え操作手段により切り換えられたモードを前記現在モードとして前記同期捕捉を実行する同期捕捉手段と、
を備え、
前記同期捕捉手段は、高速フーリエ変換処理を用いたデジタルマッチドフィルタを用いるものであり、少なくとも高感度モードにおいては、前記拡散符号のM周期(Mは2以上の2のべき乗)分の前記測位用衛星からの受信信号のデータを単位として行う
ことを特徴とする測位用衛星信号の受信機。
While substantially changing the phase of the spreading code on the receiving side, detecting the correlation between the spreading code of the received signal from the satellite and the spreading code on the receiving side and performing synchronization acquisition of the spreading code of the received signal, A high-speed mode in which the substantial phase change width of the spreading code on the receiving side is large, and a high-sensitivity mode in which the substantial phase change width is small, and
A mode switching operation means for accepting a switching selection operation between the high speed mode and the high sensitivity mode;
Synchronization acquisition means for executing the acquisition with the mode switched by the mode switching operation means as the current mode;
With
The synchronization acquisition means uses a digital matched filter using a fast Fourier transform process , and at least in the high sensitivity mode, for the positioning for M periods (M is a power of 2 of 2 or more) of the spread code. A satellite signal receiver for positioning, characterized in that the signal is received in units of data received from the satellite.
受信側の拡散符号の位相を実質的に変えながら、測位用衛星からの受信信号の拡散符号と受信側の拡散符号との相関を検出して前記受信信号の拡散符号の同期捕捉を行う際の、前記受信側の拡散符号の実質的な位相の変化幅が大きい高速モードと、前記実質的な位相の変化幅が小さい高感度モードとを備えると共に、
前記高速モードまたは前記高感度モードのいずれか一方を現在モードとして、前記同期捕捉を行う同期捕捉手段と、
前記現在モードでは前記同期捕捉が困難であるかどうかを判別する判別手段と、
前記判別手段において、前記現在モードでは前記同期捕捉が困難であると判別したときに、現在モードを、前記高速モードおよび前記高感度モードのうちの他方のモードに変更するモード変更手段と、
を備え、
前記同期捕捉手段は、高速フーリエ変換処理を用いたデジタルマッチドフィルタを用いるものであり、少なくとも高感度モードにおいては、前記拡散符号のM周期(Mは2以上の2のべき乗)分の前記測位用衛星からの受信信号のデータを単位として行う
ことを特徴とする測位用衛星信号の受信機。
While detecting the correlation between the spreading code of the received signal from the positioning satellite and the spreading code of the receiving side while substantially changing the phase of the spreading code on the receiving side, A high-speed mode in which the substantial phase change width of the spreading code on the receiving side is large, and a high-sensitivity mode in which the substantial phase change width is small,
Either one of the high-speed mode or the high-sensitivity mode as a current mode, and synchronization acquisition means for performing the synchronization acquisition;
Discriminating means for discriminating whether the synchronization acquisition is difficult in the current mode;
In the determination means, when it is determined that the synchronization acquisition is difficult in the current mode, the mode change means for changing the current mode to the other one of the high speed mode and the high sensitivity mode;
With
The synchronization acquisition means uses a digital matched filter using a fast Fourier transform process , and at least in the high sensitivity mode, for the positioning for M periods (M is a power of 2 of 2 or more) of the spread code. A satellite signal receiver for positioning, characterized in that the signal is received in units of data received from the satellite.
請求項2に記載の測位用衛星信号の受信機において、
前記高速モードまたは前記高感度モードのいずれか一方を現在モードの初期モードとして選択設定可能である
ことを特徴とする測位用衛星信号の受信機。
The positioning satellite signal receiver according to claim 2,
One of the high speed mode and the high sensitivity mode can be selected and set as an initial mode of the current mode. A positioning satellite signal receiver, characterized in that:
請求項1〜請求項3のいずれかに記載の測位用衛星信号の受信機において、
前記同期捕捉手段は、少なくとも前記高感度モードにおいては、前記拡散符号のM周期(Mは2以上の2のべき乗)分の前記測位用衛星からの受信信号のデータを前処理して、前記拡散符号の1周期分のデータ数にし、前記前処理の結果の前記拡散符号の1周期分のデータについて、前記デジタルマッチドフィルタを用いて相関演算をする
ことを特徴とする測位用衛星信号の受信機。
In the positioning satellite signal receiver according to any one of claims 1 to 3,
The synchronization acquisition means preprocesses the received signal data from the positioning satellite for M periods (M is a power of 2 greater than or equal to 2) of the spreading code at least in the high sensitivity mode, and performs the spreading. A satellite signal receiver for positioning, characterized in that the number of data corresponding to one cycle of a code is calculated, and the data corresponding to one cycle of the spreading code as a result of the preprocessing is subjected to correlation calculation using the digital matched filter. .
請求項4に記載の測位用衛星信号の受信機において、
記前処理は、前記拡散符号のM周期分の前記測位用衛星からの受信信号のデータ(d[0]・・・d[MN−1](Nは前記拡散符号の1周期分の前記測位用衛星からの受信信号のデータ数))のフーリエ変換の部分集合(S[0]・・・S[N−1])を計算するアルゴリズムを実行することである
ことを特徴とする測位用衛星信号の受信機。
ただし、
S[k]=D[k×M+r]
Dは、データdのフーリエ変換、
k=0,1,・・・,N−1
rはドップラー周波数による定数、0≦r<M
Te receiver smell of positioning satellite signals of claim 4,
Pre Symbol pretreatment, the data of the received signal from the spreading code for M cycles of said positioning satellite (d [0] ··· d [ MN-1] (N is the one period of the spread code The number of received signal data from the positioning satellite))) is calculated by executing an algorithm for calculating a subset (S [0]... S [N-1]) of the Fourier transform. Satellite signal receiver.
However,
S [k] = D [k × M + r]
D is the Fourier transform of the data d,
k = 0, 1,..., N−1
r is a constant depending on the Doppler frequency, 0 ≦ r <M
請求項に記載の測位用衛星信号の受信機において、
前記前処理は、前記拡散符号のM周期分の前記測位用衛星からの受信信号のデータの総数を、MNとしたとき、M個おきのデータは、まとめて、一つのワードとして、メモリに格納することにより、前記メモリにはM個のワードとして、前記拡散符号のM周期分の前記測位用衛星からの受信信号のデータを書き込むものであり、
前記メモリに書き込まれたワード単位のデータについて、高速フーリエ変換を行う
ことを特徴とする測位用衛星信号の受信機。
The positioning satellite signal receiver according to claim 5 ,
In the preprocessing, when the total number of received signal data from the positioning satellites for M cycles of the spreading code is MN, every M data is collectively stored in a memory as one word. By doing so, the memory stores the received signal data from the positioning satellite for M cycles of the spreading code as M words.
A satellite signal receiver for positioning, wherein fast Fourier transform is performed on data in units of words written in the memory.
受信側の拡散符号の位相を実質的に変えながら、測位用衛星からの受信信号の拡散符号と受信側の拡散符号との相関を検出して前記受信信号の拡散符号の同期捕捉を行う際の、前記受信側の拡散符号の実質的な位相の変化幅が大きい高速モードと、前記実質的な位相の変化幅が小さい高感度モードとを備えると共に、
モード切り換え操作手段を通じた前記高速モードと前記高感度モードとの切り換え選択操作を受け付ける工程と、
前記モード切り換え操作手段により切り換えられたモードを前記現在モードとして前記同期捕捉を実行する同期捕捉工程と、
を備え、
前記同期捕捉工程では、高速フーリエ変換処理を用いたデジタルマッチドフィルタを用いるものであり、少なくとも高感度モードにおいては、前記拡散符号のM周期(Mは2以上の2のべき乗)分の前記測位用衛星からの受信信号のデータを単位として行う
ことを特徴とする測位用衛星信号の受信方法。
While detecting the correlation between the spreading code of the received signal from the positioning satellite and the spreading code of the receiving side while substantially changing the phase of the spreading code on the receiving side, A high-speed mode in which the substantial phase change width of the spreading code on the receiving side is large, and a high-sensitivity mode in which the substantial phase change width is small,
Receiving a switching selection operation between the high speed mode and the high sensitivity mode through a mode switching operation means;
A synchronization acquisition step of executing the synchronization acquisition with the mode switched by the mode switching operation means as the current mode;
With
In the synchronization acquisition step, a digital matched filter using a fast Fourier transform process is used , and at least in the high sensitivity mode, the positioning code for M periods (M is a power of 2 of 2 or more) of the spread code. A satellite signal reception method for positioning, characterized in that data is received in units of satellite reception signals.
受信側の拡散符号の位相を実質的に変えながら、測位用衛星からの受信信号の拡散符号と受信側の拡散符号との相関を検出して前記受信信号の拡散符号の同期捕捉を行う際の、前記受信側の拡散符号の実質的な位相の変化幅が大きい高速モードと、前記実質的な位相の変化幅が小さい高感度モードとを備えると共に、
前記高速モードまたは前記高感度モードのいずれか一方を現在モードとして、前記同期捕捉を行う同期捕捉工程と、
前記現在モードでは前記同期捕捉が困難であるかどうかを判別する判別工程と、
前記判別工程において、前記現在モードでは前記同期捕捉が困難であると判別したときに、現在モードを、前記高速モードおよび前記高感度モードのうちの他方のモードに変更するモード変更工程と、
を備え、
前記同期捕捉工程では、高速フーリエ変換処理を用いたデジタルマッチドフィルタを用いるものであり、少なくとも高感度モードにおいては、前記拡散符号のM周期(Mは2以上の2のべき乗)分の前記測位用衛星からの受信信号のデータを単位として行う
ことを特徴とする測位用衛星信号の受信方法。
While detecting the correlation between the spreading code of the received signal from the positioning satellite and the spreading code of the receiving side while substantially changing the phase of the spreading code on the receiving side, A high-speed mode in which the substantial phase change width of the spreading code on the receiving side is large, and a high-sensitivity mode in which the substantial phase change width is small,
Either one of the high-speed mode or the high-sensitivity mode as a current mode, and a synchronization acquisition step for performing the synchronization acquisition;
A determination step of determining whether the synchronization acquisition is difficult in the current mode;
In the determining step, when it is determined that the synchronization acquisition is difficult in the current mode, the mode changing step of changing the current mode to the other one of the high speed mode and the high sensitivity mode;
With
In the synchronization acquisition step, a digital matched filter using a fast Fourier transform process is used , and at least in the high sensitivity mode, the positioning code for M periods (M is a power of 2 of 2 or more) of the spread code. A satellite signal reception method for positioning, characterized in that data is received in units of satellite reception signals.
請求項に記載の測位用衛星信号の受信方法において、
前記高速モードまたは前記高感度モードのいずれか一方を現在モードの初期モードとして選択設定可能である
ことを特徴とする測位用衛星信号の受信方法。
The positioning satellite signal receiving method according to claim 8 ,
Either of the high speed mode or the high sensitivity mode can be selected and set as an initial mode of the current mode. A positioning satellite signal receiving method, wherein:
請求項〜請求項のいずれかに記載の測位用衛星信号の受信方法において、
前記同期捕捉工程では、少なくとも前記高感度モードにおいては、前記拡散符号のM周期(Mは2以上の2のべき乗)分の前記測位用衛星からの受信信号のデータを前処理して、前記拡散符号の1周期分のデータ数にし、前記前処理の結果の前記拡散符号の1周期分のデータについて、前記デジタルマッチドフィルタを用いて相関演算をする
ことを特徴とする測位用衛星信号の受信方法。
In the receiving method of positioning satellite signals according to one of claims 7 to claim 9,
In the synchronization acquisition step, at least in the high-sensitivity mode, the spread signal data is preprocessed for M periods (M is a power of 2 greater than or equal to 2) of the spreading code, and the spreading is performed. A positioning satellite signal receiving method, wherein the number of data corresponding to one period of a code is calculated, and the data corresponding to one period of the spread code as a result of the preprocessing is subjected to correlation calculation using the digital matched filter. .
請求項10に記載の測位用衛星信号の受信方法において、
記前処理は、前記拡散符号のM周期分の前記測位用衛星からの受信信号のデータ(d[0]・・・d[MN−1](Nは前記拡散符号の1周期分の前記測位用衛星からの受信信号のデータ数))のフーリエ変換の部分集合(S[0]・・・S[N−1])を計算するアルゴリズムを実行することである
ことを特徴とする測位用衛星信号の受信方法。
ただし、
S[k]=D[k×M+r]
Dは、データdのフーリエ変換、
k=0,1,・・・,N−1
rはドップラー周波数による定数、0≦r<M
Te receiving method smell of the positioning satellite signals of claim 10,
Pre Symbol pretreatment, the data of the received signal from the spreading code for M cycles of said positioning satellite (d [0] ··· d [ MN-1] (N is the one period of the spread code The number of received signal data from the positioning satellite))) is calculated by executing an algorithm for calculating a subset (S [0]... S [N-1]) of the Fourier transform. Satellite signal reception method.
However,
S [k] = D [k × M + r]
D is the Fourier transform of the data d,
k = 0, 1,..., N−1
r is a constant depending on the Doppler frequency, 0 ≦ r <M
請求項11に記載の測位用衛星信号の受信方法において、
前記前処理は、前記拡散符号のM周期分の前記測位用衛星からの受信信号のデータの総数を、MNとしたとき、M個おきのデータは、まとめて、一つのワードとして、メモリに格納することにより、前記メモリにはM個のワードとして、前記拡散符号のM周期分の前記測位用衛星からの受信信号のデータを書き込むものであり、
前記メモリに書き込まれたワード単位のデータについて、高速フーリエ変換を行う
ことを特徴とする測位用衛星信号の受信方法。
The positioning satellite signal receiving method according to claim 11 ,
In the preprocessing, when the total number of received signal data from the positioning satellites for M cycles of the spreading code is MN, every M data is collectively stored in a memory as one word. By doing so, the memory stores the received signal data from the positioning satellite for M cycles of the spreading code as M words.
A method of receiving a positioning satellite signal, wherein fast Fourier transform is performed on data in units of words written in the memory.
JP2002191997A 2002-07-01 2002-07-01 Positioning satellite signal receiver and positioning satellite signal receiving method Expired - Fee Related JP3912511B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002191997A JP3912511B2 (en) 2002-07-01 2002-07-01 Positioning satellite signal receiver and positioning satellite signal receiving method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002191997A JP3912511B2 (en) 2002-07-01 2002-07-01 Positioning satellite signal receiver and positioning satellite signal receiving method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006328220A Division JP4359782B2 (en) 2006-12-05 2006-12-05 Positioning satellite signal receiver and positioning satellite signal receiving method

Publications (2)

Publication Number Publication Date
JP2004040297A JP2004040297A (en) 2004-02-05
JP3912511B2 true JP3912511B2 (en) 2007-05-09

Family

ID=31701412

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002191997A Expired - Fee Related JP3912511B2 (en) 2002-07-01 2002-07-01 Positioning satellite signal receiver and positioning satellite signal receiving method

Country Status (1)

Country Link
JP (1) JP3912511B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7358897B2 (en) * 2004-08-16 2008-04-15 Sony Ericsson Mobile Communicatios Ab Apparatus, methods and computer program products for GPS signal acquisition using an adaptive search engine
JP4588579B2 (en) * 2005-08-25 2010-12-01 株式会社日立国際電気 Synchronous detection device
JP4708098B2 (en) * 2005-06-17 2011-06-22 日本無線株式会社 GPS receiver
JP4655802B2 (en) * 2005-07-25 2011-03-23 富士通株式会社 Mobile terminal
JP2008224683A (en) * 2008-05-15 2008-09-25 Mazeran Systems Japan Kk Satellite positioning system
JP5321499B2 (en) * 2010-02-23 2013-10-23 セイコーエプソン株式会社 Signal acquisition method
JP5321500B2 (en) * 2010-02-23 2013-10-23 セイコーエプソン株式会社 Signal acquisition method
US20170212246A1 (en) * 2014-08-20 2017-07-27 Sony Semiconductor Solutions Corporation Receiving apparatus, receiving method, and program for global navigation satellite system
JP6999640B2 (en) * 2016-07-22 2022-01-18 ユー-ブロックス、アクチエンゲゼルシャフト Global Navigation Satellite System (GNSS) Signal Tracking
CN115085766A (en) * 2022-06-13 2022-09-20 重庆邮电大学 Power line communication timing synchronization implementation method based on FFT and IFFT cascade structure

Also Published As

Publication number Publication date
JP2004040297A (en) 2004-02-05

Similar Documents

Publication Publication Date Title
JP3726897B2 (en) GPS receiver and GPS satellite signal receiving method
EP1560036B1 (en) GPS reception method and GPS receiver
US7995860B2 (en) Spectrum spreading signal demodulation method and apparatus
US6772065B2 (en) GPS receiver and receiving method
JP5688115B2 (en) Improved GPS receiver using communication link
JP4359782B2 (en) Positioning satellite signal receiver and positioning satellite signal receiving method
US7266140B1 (en) GPS positioning method and GPS reception apparatus
JP4154609B2 (en) Satellite signal reception processing apparatus and satellite signal reception processing method
JP3912511B2 (en) Positioning satellite signal receiver and positioning satellite signal receiving method
US6907346B2 (en) GPS receiver apparatus and receiving method
EP2006706B1 (en) Coherent integration enhancement method, positioning method, storage medium, coherent integration enhancement circuit, positioning circuit, and electronic instrument
US20030108126A1 (en) Method and apparatus for acquiring a ranging signal of a positioning system
JP2007520100A (en) GPS receiver using differential correlation
JP3858983B2 (en) GPS satellite signal receiving method and GPS receiver
JP3760993B2 (en) GPS positioning method and GPS positioning device
JP2005201737A (en) Communication device
JP3906913B2 (en) Spread spectrum signal demodulation method and apparatus
JP2001281318A (en) Method and device for detecting pseudonoise code in gps receiver
JP2005331369A (en) Gps receiver and synchronization maintaining method in gps receiver
JP2006234847A (en) Gps receiver and positioning method of gps receiver
JP2003232844A (en) Receiving device
JP2005331368A (en) Gps receiver and synchronization retaining method in gps receiver
JP2004260478A (en) Communication device
JP2004260473A (en) Communication equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060809

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070123

R151 Written notification of patent or utility model registration

Ref document number: 3912511

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100209

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110209

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110209

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120209

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120209

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130209

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130209

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140209

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees