(57)【特許請求の範囲】
【請求項１】
測位衛星から電波送信された衛星信号の送信周波数を含む周波数帯の電波信号を受信可能な受信手段と、
前記受信手段により受信された前記電波信号をデジタルデータに変換する変換手段と、
前記デジタルデータから所定の受信周波数における前記衛星信号を検出するための所定の演算を行う検出演算手段と、
前記検出演算手段に、第１の周波数範囲に亘り第１の周波数間隔で設定された受信周波数に係る入力信号データを、前記デジタルデータから１データサンプル当たり予め設定された最大ビット数以下の第１のビット数で１の受信周波数ずつ順番に取得させて前記所定の演算を行わせ、当該所定の演算の結果に基づいて前記衛星信号が検出される受信周波数を検索する捕捉手段と、
前記捕捉手段により前記衛星信号が検出された際の受信強度に応じて定められる前記第１のビット数以下の第２のビット数と、１データサンプル当たり当該第２のビット数の前記入力信号データから前記検出演算手段が並列に前記所定の演算を実行可能な並列処理数と、を設定する設定手段と、
前記検出演算手段に、前記捕捉手段により前記衛星信号が検出された受信周波数を含む第２の周波数範囲に亘り前記第１の周波数間隔より狭い第２の周波数間隔で設定された受信周波数に係る入力信号データを、前記デジタルデータから１データサンプル当たり前記第２のビット数で前記並列処理数個の受信周波数ずつ取得させて並列に前記所定の演算を行わせ、当該所定の演算の結果に基づいて前記衛星信号の前記受信周波数を特定する特定手段と
を備え、
前記検出演算手段は、予め定められた最大並列処理数以下の受信周波数に係る前記入力信号データに対して並列に前記所定の演算を実行可能であり、
前記並列処理数は、当該並列処理数個のデータサンプルの合計ビット数が前記最大ビット数以下であり、且つ、前記最大並列処理数以下であるように定められる
ことを特徴とする衛星電波受信装置。
【請求項２】
前記第１のビット数は、前記最大ビット数と等しく、前記並列処理数は、前記第１のビット数を前記第２のビット数で除した商の値である
ことを特徴とする請求項１に記載の衛星電波受信装置。
【請求項３】
前記第２のビット数の入力信号データは、前記第１のビット数の入力信号データのうち、当該第２のビット数分の上位ビットデータである
ことを特徴とする請求項１又は２に記載の衛星電波受信装置。
【請求項４】
前記第２のビット数は、前記捕捉手段により検出された前記衛星信号の受信強度が所定の値以上となるように設定される
ことを特徴とする請求項３に記載の衛星電波受信装置。
【請求項５】
前記検出演算手段は、設定された受信周波数のベースバンド信号を前記入力信号データとして取得し、当該ベースバンド信号と、前記測位衛星において前記衛星信号をスペクトル拡散変調する拡散コードとの相関を求める
ことを特徴とする請求項１〜４の何れか一項に記載の衛星電波受信装置。
【請求項６】
前記検出演算手段は、前記ベースバンド信号と前記拡散コードとの相関を求めるマッチドフィルタを備え、
当該マッチドフィルタは、前記設定手段により設定された前記並列処理数及び前記第２のビット数に基づき、当該並列処理数個の受信周波数に係る前記第２のビット数の入力信号データが並列に入力され、当該並列処理数個の入力信号データと前記拡散コードとの相関を各々求める構成に変更可能である
ことを特徴とする請求項５に記載の衛星電波受信装置。
【請求項７】
前記最大並列処理数個の異なる周波数信号を出力するローカル周波数発振手段を備え、
前記検出演算手段は、当該ローカル周波数発振手段から出力される周波数信号の各々に対して前記デジタルデータを混合することにより、異なる受信周波数の前記ベースバンド信号を並列的に取得する
ことを特徴とする請求項５又は６に記載の衛星電波受信装置。
【請求項８】
前記第２の周波数範囲は、前記第１の周波数範囲より狭く、且つ、前記捕捉手段による前記衛星信号の受信周波数に対し、上下にそれぞれ少なくとも前記第１周波数間隔の範囲内を含むように設定される
ことを特徴とする請求項１〜７の何れか一項に記載の衛星電波受信装置。
【請求項９】
前記検出演算手段により前記並列処理数個の受信周波数に対して並列に相関が求められる場合に、当該並列に求められた相関値が各々独立に記憶される演算結果記憶手段
を備えることを特徴とする請求項１〜８の何れか一項に記載の衛星電波受信装置。
【請求項１０】
前記捕捉手段は、複数の前記測位衛星からの前記衛星信号を並列的に検出可能であり、前記特定手段は、前記捕捉手段により複数の前記測位衛星からの前記衛星信号が検出された場合には、当該検出された前記衛星信号のうち、最も受信強度の高い前記測位衛星からの前記衛星信号の受信周波数を特定する
ことを特徴とする請求項１〜９の何れか一項に記載の衛星電波受信装置。
【請求項１１】
前記捕捉手段は、複数の前記測位衛星からの前記衛星信号を並列的に検出可能であり、前記特定手段は、前記捕捉手段により複数の前記測位衛星からの前記衛星信号が検出された場合には、当該検出された前記測位衛星からの前記衛星信号の受信周波数を各々特定する
ことを特徴とする請求項１〜９の何れか一項に記載の衛星電波受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、測位衛星から電波を受信して衛星信号を取得する衛星電波受信装置に関する。
【背景技術】
【０００２】
従来、ＧＰＳ（Global Positioning System）をはじめとするＧＮＳＳ（Global Navigation Satellite System）に係る測位衛星から送信された電波を受信する受信装置を備え、時刻情報や位置情報を取得することのできる電子腕時計といった携帯型装置がある。このような携帯型装置では、取得された時刻情報や位置情報に基づいて表示時刻の修正を行ったり、タイムゾーンの設定を行ったりすることが出来る。
【０００３】
測位衛星から出力される衛星信号は、測位衛星ごとに設定された固有の拡散コード（擬似雑音）を用いて拡散変調されて電波送信されている。この電波を受信する際には、受信する測位衛星で設定されている拡散コードを用いて逆拡散することで、この測位衛星からの衛星信号を復号、取得することができる。測位衛星は、所定の軌道上を各々移動しており、測位衛星の軌道情報を持たず、何れの測位衛星が可視状態であって電波を受信可能であるかが事前に分からない受信装置では、受信された受信電波信号に対して全ての測位衛星の拡散コードにより総当りで逆拡散処理を行って衛星信号を検出し、受信可能な測位衛星を識別する捕捉処理を行う。
【０００４】
このような捕捉処理には、以前より、マッチドフィルタ（スライディング相関器）が用いられ、また、複数衛星の拡散コードによる逆拡散処理が並列的に行われることで、捕捉処理の高速化が図られている。更に、特許文献１には、データの読み書きを行うメモリを複数備え、同時並列的に行われる逆拡散処理のデータをこれら複数のメモリに対して並列的に読み書きさせることで演算処理に対するＩ／Ｏ処理での遅延を防ぐ技術が開示されている。
【０００５】
また、特許文献２には、捕捉処理を行う相関部と、取得されたデータに基づいて位置や時刻の計算処理を行うマイクロプロセッサとにそれぞれ供給される電力やクロック信号を各々必要な期間および周波数に設定することによって電力消費を低減させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−１５９６７０号公報
【特許文献２】特開２００２−１２２６５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
測位衛星から送信された電波は、測位衛星が高速で地球の周りを移動することによるドップラー効果により、送信周波数とは異なる周波数で受信される。従って、予め現在位置データや測位衛星の軌道情報を有しない受信装置で測位衛星からの電波を受信する際には、ドップラー効果により変化しうる周波数範囲で測位衛星からの電波の受信周波数を検索する必要がある。この結果、捕捉処理に要する時間は、検索を行う受信周波数の幅に比例して長くなるという問題がある。
【０００８】
しかしながら、マッチドフィルタなどにおいて受信データを記憶する記憶部は、捕捉処理に用いられる他の部分と比較して捕捉処理回路のサイズ上で占める割合が大きい。従って、複数の受信周波数に係る受信データを並列的に処理するための記憶部を各々設けて捕捉処理の高速化を図ろうとすると、捕捉処理を行う回路規模が大きくなってしまうという課題があった。
【０００９】
この発明の目的は、回路規模を大型化させずに測位衛星からの電波を受信する時間を短縮することの出来る衛星電波受信装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、上記目的を達成するため、
測位衛星から電波送信された衛星信号の送信周波数を含む周波数帯の電波信号を受信可能な受信手段と、
前記受信手段により受信された前記電波信号をデジタルデータに変換する変換手段と、
前記デジタルデータから所定の受信周波数における前記衛星信号を検出するための所定の演算を行う検出演算手段と、
前記検出演算手段に、第１の周波数範囲に亘り第１の周波数間隔で設定された受信周波数に係る入力信号データを、前記デジタルデータから１データサンプル当たり予め設定された最大ビット数以下の第１のビット数で１の受信周波数ずつ順番に取得させて前記所定の演算を行わせ、当該所定の演算の結果に基づいて前記衛星信号が検出される受信周波数を検索する捕捉手段と、
前記捕捉手段により前記衛星信号が検出された際の受信強度に応じて定められる前記第１のビット数以下の第２のビット数と、１データサンプル当たり当該第２のビット数の前記入力信号データから前記検出演算手段が並列に前記所定の演算を実行可能な並列処理数と、を設定する設定手段と、
前記検出演算手段に、前記捕捉手段により前記衛星信号が検出された受信周波数を含む第２の周波数範囲に亘り前記第１の周波数間隔より狭い第２の周波数間隔で設定された受信周波数に係る入力信号データを、前記デジタルデータから１データサンプル当たり前記第２のビット数で前記並列処理数個の受信周波数ずつ取得させて並列に前記所定の演算を行わせ、当該所定の演算の結果に基づいて前記衛星信号の前記受信周波数を特定する特定手段と
を備え、
前記検出演算手段は、予め定められた最大並列処理数以下の受信周波数に係る前記入力信号データに対して並列に前記所定の演算を実行可能であり、
前記並列処理数は、当該並列処理数個のデータサンプルの合計ビット数が前記最大ビット数以下であり、且つ、前記最大並列処理数以下であるように定められる
ことを特徴とする衛星電波受信装置である。
【発明の効果】
【００１１】
本発明に従うと、衛星電波受信装置において、回路規模を大型化させずに測位衛星からの電波を受信する時間を短縮することが出来るという効果がある。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態の衛星電波受信装置の構成及び信号の流れを示すブロック図である。
【図２】捕捉エンジン及びこれに関連する部分の構成を示す図である。
【図３】捕捉エンジンにおけるＩ／Ｑ変換部、積分器、及び、二乗回路を説明する図である。
【図４】捕捉エンジンにおける相関器を説明する図である。
【図５】二回目の検索動作における相関器の動作形態を説明する図である。
【図６】中間周波数生成部が備えるＮＣＯの構成を説明する図である。
【図７】捕捉エンジンにおいて、一のＧＰＳ衛星のＣ／Ａコードを生成して一の受信周波数で当該一のＧＰＳ衛星からの電波を受信した場合の捕捉エンジンからの出力データの例を示す図である。
【図８】検索処理においてコントローラのＣＰＵが実行する制御処理の手順を示すフローチャートである。
【図９】検索処理においてコントローラのＣＰＵが実行する制御処理の手順を示すフローチャートである。
【図１０】検索処理においてコントローラのＣＰＵが実行する制御処理の手順を示すフローチャートである。
【図１１】検索処理においてコントローラのＣＰＵが実行する制御処理の手順を示すフローチャートである。
【図１２】検出動作処理の制御手順を示すフローチャートである。
【図１３】検索処理内でメモリに記憶されるデータの配列パターンを示した図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態の衛星電波受信装置を図面に基づいて説明する。
【００１４】
図１は、本実施形態の衛星電波受信装置の構成および信号の流れを示すブロック図である。
【００１５】
この衛星電波受信装置１は、例えば、携帯型時計に搭載されて、ＧＰＳ衛星からの受信電波に基づいて時刻情報を出力するものである。衛星電波受信装置１は、受信アンテナＡＮＴと、低雑音増幅器（ＬＮＡ）１１と、狭帯域フィルタ１２と、発振回路１３と、ＲＦ部１４と、ベースバンド部１５などを備えている。
【００１６】
受信アンテナＡＮＴは、ＧＰＳ衛星から送信されているＬ１帯（１．５７５４２ＧＨｚ）の電波が受信可能なアンテナである。また、狭帯域フィルタ１２は、例えば、ＳＡＷフィルタ（表面弾性波フィルタ）であり、１〜１０ＭＨｚ程度の帯域を有する。この帯域幅は、ドップラー効果や衛星電波受信装置１の計器誤差によるＧＰＳ衛星からの送信周波数と衛星電波受信装置１による受信周波数との間のずれの大きさに比べて十分に広い。これらの受信アンテナＡＮＴ、低雑音増幅器１１、及び、狭帯域フィルタ１２により受信手段が構成される。 
【００１７】
発振回路１３には、例えば、温度補償回路を備えた水晶発振器（ＴＣＸＯ）が一般的に用いられている。この発振回路１３は、基準周波数として、例えば、１６．３６８ＭＨｚの信号を生成して出力する。
【００１８】
ＲＦ部１４は、受信した電波に基づく搬送波周波数の受信信号（電波信号）を中間周波数帯の信号に変換し、デジタルデータ化して出力する。このＲＦ部１４は、ダウンコンバータ１４１と、ＰＬＬ（Phase Locked Loop）１４２と、ＡＤＣ（アナログ・デジタル変換器）１４３（変換手段）などを備えている。
【００１９】
ダウンコンバータ１４１は、受信電波信号を中間周波数の信号に変換する回路であり、例えば、ミキサや狭帯域フィルタを備えている。中間周波数ＩＦ０は、例えば、４ＭＨｚ程度の値である。
【００２０】
ＰＬＬ１４２は、発振回路１３の出力信号に同期してダウンコンバータ１４１のミキサに所定のローカル周波数の信号を入力する回路であり、例えば、ＶＣＯ（Voltage Controlled Oscillator）、プリスケーラ、および、位相比較器などを備えている。ＶＣＯは、入力される直流電圧によって定められる周波数の信号を生成してダウンコンバータ１４１のミキサに出力する。プリスケーラは、このＶＣＯの出力信号を分周して、位相比較器に出力する。位相比較器は、ＶＣＯが出力する分周信号の位相と、発振回路の出力信号の位相とを比較して、これらの位相差に基づいてＶＣＯへ出力する直流電圧を変化させる。このような構成によりローカル周波数を制御することで、一定の周波数信号を安定してダウンコンバータ１４１へ出力することが可能となる。
【００２１】
ＡＤＣ１４３は、中間周波数帯の信号に変換されてダウンコンバータ１４１から出力された受信電波信号を所定のサンプリング周波数でデジタル値に変換してデジタルデータとしてベースバンド部１５へ出力する。ＡＤＣ１４３から出力される各デジタル値は、特に制限されないが、後述するベースバンド部１５の記憶容量及び処理能力に応じて適宜設定される。本実施形態の衛星電波受信装置１では、１つのデジタル値（データサンプル）は、それぞれ１２ビットのデータである。
【００２２】
ベースバンド部１５は、捕捉エンジン１５１と、追尾エンジン１５２と、中間周波数生成部１５３（ローカル周波数発振手段）と、逆拡散コード生成部１５４と、演算処理部１５５などを備えている。また、ベースバンド部１５には、ベースバンド部１５の動作を統括し、ＣＰＵ（Central Processing Unit）などを含むコントローラ１５６（捕捉手段、設定手段、特定手段）と、一時データを記憶するＲＡＭ（Random Access Memory）などのメモリ１５７（演算結果記憶手段）とが含まれている（図２参照）。
【００２３】
捕捉エンジン１５１は、ＲＦ部１４から入力したデジタル信号（入力信号データ）から衛星信号を検出して、その受信周波数と衛星識別番号とを特定するための演算処理を行う回路であり、後に詳述する。
【００２４】
追尾エンジン１５２は、捕捉エンジン１５１による演算処理で特定された受信周波数および衛星識別番号により受信される衛星信号と、衛星電波受信装置１の内部クロックとの間で位相同期点を検出し、また、この位相同期を維持して復調した衛星信号を継続的に出力する回路である。
【００２５】
中間周波数生成部１５３は、中間周波数ローカル信号（周波数信号）を生成して、捕捉エンジン１５１、又は、追尾エンジン１５２に出力する。本実施形態の衛星電波受信装置１におけるベースバンド部１５に設けられた中間周波数生成部１５３は、３個のＮＣＯ（Numerically-Controlled Oscillator、数値制御発振器）１５３ａ、１５３ｂ、１５３ｃにより構成されている（図２参照）。これらのＮＣＯ１５３ａ〜１５３ｃにより生成される中間周波数ローカル信号の周波数は、ＮＣＯ１５３ａ〜１５３ｃに対して各々別個に入力される設定値により、独立に細かく制御される。また、ＮＣＯ１５３ａ〜１５３ｃは、それぞれＩ相（In Phase）ローカル信号と、このＩ相ローカル信号に直交するＱ相（Quadrature Phase）ローカル信号とを出力可能に構成されている。
【００２６】
逆拡散コード生成部１５４は、拡散コードを生成し、この拡散コードを捕捉エンジン１５１、又は、追尾エンジン１５２に出力する。本実施形態の衛星電波受信装置１における逆拡散コード生成部１５４では、衛星識別番号が指定されると、この衛星識別番号に対応する測位衛星で拡散コードとして用いられているＣ／Ａコードが生成される。Ｃ／Ａコードは、一周期１ｍｓの期間に送信される１０２３個の二値符号データ（チップ）の配列により構成されている。
これらの捕捉エンジン１５１および逆拡散コード生成部１５４により、検出演算手段が構成される。
【００２７】
演算処理部１５５は、追尾エンジン１５２で復調されて出力された衛星信号を復号して時刻データを取得する。また、演算処理部１５５は、必要に応じてＧＰＳ衛星の位置の算出、および、衛星電波受信装置１の現在位置の算出を行って、これらの取得データや算出データを所定のフォーマットで出力する。
【００２８】
次に、捕捉エンジン１５１の内部構成について説明する。
【００２９】
図２は、捕捉エンジン１５１およびこれに関連する部分の構成を示す図である。
【００３０】
捕捉エンジン１５１は、Ｉ／Ｑ変換部１５１１と、積分部１５１２と、相関器１５１３と、二乗回路１５１４などを備えている。
【００３１】
Ｉ／Ｑ変換部１５１１は、ＲＦ部１４で中間周波数帯のデジタル信号に変換された受信電波信号から直交する２成分のベースバンド信号を分離して出力する。Ｉ／Ｑ変換部１５１１には、第１Ｉ／Ｑ変換部１５１１ａ、第２Ｉ／Ｑ変換部１５１１ｂ、及び、第３Ｉ／Ｑ変換部１５１１ｃが含まれている。このうち、第１Ｉ／Ｑ変換部１５１１ａには、常に信号が入力されるのに対し、第２Ｉ／Ｑ変換部１５１１ｂ、及び、第３Ｉ／Ｑ変換部１５１１ｃには、それぞれ、コントローラ１５６により制御されるスイッチ１５１０ａ、１５１０ｂのオン、オフにより、信号入力の有無が制御される。
【００３２】
積分部１５１２は、Ｉ／Ｑ変換部１５１１から出力されたベースバンド信号をそれぞれＣ／Ａコード１チップの長さ、即ち、１／１０２３ｍｓ（〜１μｓ）に亘って積分して、それぞれＩ相データ、Ｑ相データとして出力する。積分部１５１２は、第１積分器１５１２ａ、第２積分器１５１２ｂ、及び、第３積分器１５１２ｃを備え、各々、第１Ｉ／Ｑ変換部１５１１ａ、第２Ｉ／Ｑ変換部１５１１ｂ、及び、第３Ｉ／Ｑ変換部１５１１ｃから出力されたベースバンド信号をそれぞれＣ／Ａコード１チップの長さに亘って積分して、それぞれＩ相データＦＩ１〜ＦＩ３、Ｑ相データＦＱ１〜ＦＱ３として出力する。或いは、これらの積分部１５１２は、Ｃ／Ａコード１チップの長さに比して周期の短い交流成分をカットするローパスフィルタであってもよい。
【００３３】
図３は、第１Ｉ／Ｑ変換部１５１１ａ、第１積分器１５１２ａ、及び、第１二乗回路１５１４ａを説明する図である。
【００３４】
図３（ａ）に示すように、第１Ｉ／Ｑ変換部１５１１ａは、２個のミキサにおいて、入力されたデジタル信号と、ＮＣＯ１５３ａから出力された中間周波数ＩＦ１のＩ相ローカル信号およびＱ相ローカル信号とをそれぞれ混合して、中間周波数ＩＦ１に対応する受信周波数のＩ相のベースバンド信号及びＱ相のベースバンド信号を出力する。出力された信号は、第１積分器１５１２ａに送られて、積分された１チップ分のデータがＩ相データＦＩ１、Ｑ相データＦＱ１として出力される。第２Ｉ／Ｑ変換部１５１１ｂ、及び、第３Ｉ／Ｑ変換部１５１１ｃは、何れも第１Ｉ／Ｑ変換部１５１１ａと同一の内部構成を有し、２個のミキサにおいて、それぞれ、入力されたデジタル信号と、ＮＣＯ１５３ｂ及びＮＣＯ１５３ｃから出力された中間周波数ＩＦ２、ＩＦ３のＩ相ローカル信号およびＱ相ローカル信号とを混合する。そして、これらのミキサで生成され、出力された中間周波数ＩＦ２、ＩＦ３に対応する受信周波数のＩ相のベースバンド信号及びＱ相のベースバンド信号は、第２積分器１５１２ｂ及び第３積分器１５１２ｃに送られて、積分された１チップ分のデータがＩ相データＦＩ２、ＦＩ３、及び、Ｑ相データＦＱ２、ＦＱ３としてそれぞれ出力される。
【００３５】
図４、図５は、捕捉エンジン１５１における相関器１５１３を説明する図である。
【００３６】
相関器１５１３は、例えば、マッチドフィルタである。この相関器１５１３は、積分部１５１２の出力データ（Ｉ相データＦＩ１〜ＦＩ３、Ｑ相データＦＱ１〜ＦＱ３）と、逆拡散コード生成部１５４で生成されたＣ／ＡコードとをＣ／Ａコード１周期分（１０２３個）ずつ保持して、Ｉ相データＦＩ１〜ＦＩ３の各値及びＱ相データＦＱ１〜ＦＱ３の各値と、Ｃ／Ａコードの各値との間の相関をそれぞれ求める。図４、図５に示すように、相関器１５１３は、シフトレジスタ１５１３ａ、１５１３ｂ、ＲＡＭ１５１３ｃ、セレクタ１５１３ｄ、乗算器群１５１３ｅ、１５１３ｆ、および、加算器１５１３ｇ〜１５１３ｌを備えている。このうち、加算器１５１３ｈ、１５１３ｉ、１５１３ｋ、１５１３ｌは、後述するように、シフトレジスタ１５１３ａ、１５１３ｂ、及び、乗算器群１５１３ｅ、１５１３ｆにおける処理動作の内容によって使われない場合がある。
【００３７】
シフトレジスタ１５１３ａ、１５１３ｂには、１２ビット（最大ビット数）のデータが１０２３段に亘って保持される。シフトレジスタ１５１３ａには、Ｉ相データＦＩ１〜ＦＩ３が積分部１５１２から入力される。また、シフトレジスタ１５１３ｂには、Ｑ相データＦＱ１〜ＦＱ３が積分部１５１２から入力される。シフトレジスタ１５１３ａ、１５１３ｂは、それぞれ１個（１データサンプル）当たり１２ビットのデータを１０２３個保持する形態と、１データサンプル当たり６ビットのデータを２列並列に１０２３個ずつ保持する形態と、１データサンプル当たり４ビットのデータを３列並列的に１０２３個ずつ保持する形態との間で切り替えることが出来るようになっている。
【００３８】
シフトレジスタ１５１３ａ、１５１３ｂにおけるデータ保持形態の切り替えは、スイッチ１５１０ａ、１５１０ｂのオンオフと連動して制御される。スイッチ１５１０ａ、１５１０ｂが何れもオフの期間には、図４に示すように、第１積分器１５１２ａから出力された１２ビットのＩ相データＦＩ１および１２ビットのＱ相データＦＱ１がそのまま順番にそれぞれシフトレジスタ１５１３ａ、１５１３ｂに入力され、１０２３個ずつ蓄積される。このとき、第２積分器１５１２ｂ及び第３積分器１５１２ｃからは、シフトレジスタ１５１３ａ、１５１３ｂにデータが入力されない。
【００３９】
一方、スイッチ１５１０ａがオン、スイッチ１５１０ｂがオフの期間には、図５（ａ）に示すように、第１積分器１５１２ａ及び第２積分器１５１２ｂからそれぞれ出力された１２ビットのＩ相データＦＩ１、ＦＩ２に基づく６ビットのデータが並列にシフトレジスタ１５１３ａへ入力され、また、第１積分器１５１２ａ及び第２積分器１５１２ｂからそれぞれ出力された１２ビットのＱ相データＦＱ１、ＦＱ２に基づく６ビットのデータが並列にシフトレジスタ１５１３ｂへ入力される。そして、それぞれ１０２３個のデータがシフトレジスタ１５１３ａ、１５１３ｂに入力された順に直列に蓄積されていく。このとき第３積分器１５１２ｃからは、シフトレジスタ１５１３ａ、１５１３ｂにデータが入力されない。
【００４０】
また、スイッチ１５１０ａ、１５１０ｂが何れもオンの期間には、図５（ｂ）に示すように、第１積分器１５１２ａ、第２積分器１５１２ｂ、及び、第３積分器１５１２ｃからそれぞれ出力された１２ビットのＩ相データＦＩ１〜ＦＩ３に基づく４ビットのデータが並列にシフトレジスタ１５１３ａへ入力され、また、第１積分器１５１２ａ、第２積分器１５１２ｂ、及び、第３積分器１５１２ｃからそれぞれ出力された１２ビットのＱ相データＦＱ１〜ＦＱ３に基づく４ビットのデータが並列にシフトレジスタ１５１３ｂへ入力される。そして、それぞれ、１０２３個のデータがシフトレジスタ１５１３ａ、１５１３ｂに入力された順に直列に蓄積されていく。
【００４１】
第１積分器１５１２ａ及び第２積分器１５１２ｂからシフトレジスタ１５１３ａ、１５１３ｂへ入力されるデータを１２ビットから６ビットに変換する際には、例えば、１２ビットデータのうち上位６ビットのみを取得するように構成することが出来る。また、第１積分器１５１２ａ、第２積分器１５１２ｂ、及び、第３積分器１５１２ｃからシフトレジスタ１５１３ａ、１５１３ｂへ入力されるデータを１２ビットから４ビットに変換する際には、例えば、１２ビットデータのうち上位４ビットのみを取得するように構成することが出来る。
【００４２】
ＲＡＭ１５１３ｃには、Ｃ／Ａコード一周期分に当たる１０２３チップの二値符号データが逆拡散コード生成部１５４から入力される。本実施形態のＲＡＭ１５１３ｃは、最大４衛星分のＣ／Ａコードを一度に記憶可能であり、これら記憶された４衛星分のＣ／Ａコードの中から何れか一つのＧＰＳ衛星のＣ／Ａコードがセレクタ１５１３ｄにより選択される。ＲＡＭ１５１３ｃに格納される各符号データは、特に制限されないが、衛星電波受信装置１の小型化及び演算の簡略化のため、１ビットで表される。
【００４３】
乗算器群１５１３ｅは、ＲＡＭ１５１３ｃに記憶されたＣ／Ａコードの中からセレクタ１５１３ｄにより選択されたＧＰＳ衛星のＣ／Ａコードを表す各チップデータと、第１積分器１５１２ａ、第２積分器１５１２ｂ、及び、第３積分器１５１２ｃからそれぞれ入力されてシフトレジスタ１５１３ａに記憶された同位相、即ち、同一順番に入力された各Ｉ相データとを乗算し、それぞれ加算器１５１３ｇ〜１５１３ｉに出力する。一方、乗算器群１５１３ｆは、ＲＡＭ１５１３ｃに記憶されたＣ／Ａコードの中からセレクタ１５１３ｄにより選択されたＧＰＳ衛星のＣ／Ａコードを表す各チップデータと、第１積分器１５１２ａ、第２積分器１５１２ｂ、及び、第３積分器１５１２ｃから入力されてシフトレジスタ１５１３ｂに記憶された同位相の各Ｑ相データとを乗算し、加算器１５１３ｊ〜１５１３ｌにそれぞれ出力する。
【００４４】
図５（ｂ）に示すように、加算器１５１３ｇ、１５１３ｊは、乗算器群１５１３ｅ、１５１３ｆから入力された第１積分器１５１２ａからのＩ相データＦＩ１及びＱ相データＦＱ１に係る乗算値の総和をそれぞれ求めて、Ｉ相データの相関値ＲＩ１、および、Ｑ相データの相関値ＲＱ１として第１二乗回路１５１４ａに出力する。また、加算器１５１３ｈ、１５１３ｋは、乗算器群１５１３ｅ、１５１３ｆから入力された第２積分器１５１２ｂからのＩ相データＦＩ２及びＱ相データＦＱ２に係る乗算値の総和をそれぞれ求めて、Ｉ相データの相関値ＲＩ２、及び、Ｑ相データの相関値ＲＱ２として第２二乗回路１５１４ｂに出力する。また、加算器１５１３ｉ、１５１３ｌは、乗算器群１５１３ｅ、１５１３ｆから入力された第３積分器１５１２ｃからのＩ相データＦＩ３及びＱ相データＦＱ３に係る乗算値の総和を求めて、Ｉ相データの相関値ＲＩ３、及び、Ｑ相データの相関値ＲＱ３として第３二乗回路１５１４ｃに出力する。
【００４５】
ここで、スイッチ１５１０ａ、１５１０ｂが何れもオフの期間には、図４に示すように、第１積分器１５１２ａからの出力に基づく加算器１５１３ｇ、１５１３ｊのみにデータが入力され、加算器１５１３ｈ、１５１３ｉ、１５１３ｋ、１５１３ｌは利用されない。また、スイッチ１５１０ａがオンであり、スイッチ１５１０ｂがオフの期間には、図５（ａ）に示すように、加算器１５１３ｇ、１５１３ｊに加えて、第２積分器１５１２ｂからの出力に基づく加算器１５１３ｈ、１５１３ｋにもデータが入力され、加算器１５１３ｉ、１５１３ｌは利用されない。
【００４６】
二乗回路１５１４は、第１二乗回路１５１４ａ、第２二乗回路１５１４ｂ、及び、第３二乗回路１５１４ｃにより構成される。
図３（ｂ）に示すように、第１二乗回路１５１４ａは、相関器１５１３から出力されたＩ相データの相関値ＲＩ１及びＱ相データの相関値ＲＱ１をそれぞれ二乗して加算する。また、第２二乗回路１５１４ｂは、Ｉ相データの相関値ＲＩ２及びＱ相データの相関値ＲＱ２をそれぞれ二乗して加算する。また、第３二乗回路１５１４ｃは、Ｉ相データの相関値ＲＩ３及びＱ相データの相関値ＲＱ３をそれぞれ二乗して加算する。これらの計算結果は、ベースバンド部１５のメモリ１５７へそれぞれ独立に送られて後述する所定のアドレスに記憶される。なお、第１二乗回路１５１４ａ、第２二乗回路１５１４ｂ、第３二乗回路１５１４ｃは、求められた二乗和の平方根を出力することとしても良い。
【００４７】
図６は、中間周波数生成部１５３が備えるＮＣＯ１５３ａ〜１５３ｃの構成を示すブロック図である。
【００４８】
ＮＣＯ１５３ａ〜１５３ｃは、同一の構成であり、ここでは一つのＮＣＯ１５３ａについて説明する。本実施形態のＮＣＯ１５３ａは、ＤＤＳ（Direct Digital Synthesizer）の回路構成をとり、加算器１５３１、１５３２と、レジスタ１５３３と、ＣＯＳ＿ＲＯＭ１５３４と、ＳＩＮ＿ＲＯＭ１５３５などを備えている。
【００４９】
加算器１５３１は、設定されたＩＦタイミングの値およびオフセットの値が入力されてこれらの値を加算する。加算器１５３１で加算された値は、加算器１５３２に送られる。加算器１５３２は、この加算器１５３１から入力された値とレジスタ１５３３から入力された値とを加算して、ＣＯＳ＿ＲＯＭ１５３４およびＳＩＮ＿ＲＯＭ１５３５に出力するとともに、レジスタ１５３３に記憶させる。即ち、加算器１５３２およびレジスタ１５３３は、位相アキュムレータとして機能する構成であり、レジスタ１５３３に記憶される値は、予め定められた時間間隔で、加算器１５３１から加算器１５３２に入力された値ずつ増加していく。そして、レジスタ１５３３に記憶された値が最大値となった後に再び０に戻ることで、一周期の経過が示されることになる。加算器１５３２およびレジスタ１５３３は、特に限られないが、例えば、３２ビットのデータ容量を有する。
【００５０】
ＣＯＳ＿ＲＯＭ１５３４およびＳＩＮ＿ＲＯＭ１５３５は、それぞれ、振幅が１の余弦関数および正弦関数の一周期を、例えば、８ビットで表される２５６の位相に等分割し、各位相での余弦関数および正弦関数の値を位相に対応するアドレスに格納したＲＯＭ（Read Only Memory）である。ＣＯＳ＿ＲＯＭ１５３４およびＳＩＮ＿ＲＯＭ１５３５は、位相の値が入力されると対応するアドレスから余弦関数および正弦関数の値を読み出し、出力するルックアップテーブルとして用いられる。本実施形態のＮＣＯでは、加算器１５３２からＣＯＳ＿ＲＯＭ１５３４およびＳＩＮ＿ＲＯＭ１５３５に３２ビットの数値が入力されると、例えば、そのうちの上位８ビットの値によって示される位相に対応するアドレスから余弦関数および正弦関数の値が読み出される。そして、これらの値が予め定められた位相間隔及び時間間隔で次々に読み出されていくことで、これら位相間隔及び時間間隔に対応する周波数のＩ相ローカル信号ＬｏＩおよびＱ相ローカル信号ＬｏＱが生成される。なお、入力された数値のうち、下位２４ビットの値に基づいてＣＯＳ＿ＲＯＭ１５３４およびＳＩＮ＿ＲＯＭ１５３５から読み出された値を線形補間し、例えば、１２ビットの値として出力することとしてもよい。
【００５１】
ここで、ＩＦタイミングの設定入力値は、標準の中間周波数、即ち、本実施形態のＮＣＯ１５３ａ〜１５３ｃでは、中間周波数ＩＦ０＝４．０９２ＭＨｚに対応する値である。従って、中間周波数のオフセット値（周波数チャンネル）が０の場合には、ＮＣＯ１５３ａ〜１５３ｃからは、４．０９２ＭＨｚのローカル周波数信号が出力される。一方、オフセット値を０から変化させることにより、出力するローカル周波数を４．０９２ＭＨｚからデジタル的に増減させることが可能となる。本実施形態のＮＣＯ１５３ａ〜１５３ｃでは、周波数チャンネルの変化１に対応する周波数変化量Δｆを１００Ｈｚとする。従って、周波数チャンネルが１増加するごとに出力されるローカル周波数が中間周波数ＩＦ０から１００Ｈｚずつ上昇し、周波数チャンネルが１減少するごとに出力されるローカル周波数が中間周波数ＩＦ０から１００Ｈｚずつ低下する。従って、例えば、±１５ｋＨｚの範囲内で捕捉処理を行う場合には、−１５０チャンネルから＋１５０チャンネルまでの範囲で周波数チャンネルを変化させることになる。
【００５２】
上記の構成により、本実施形態の捕捉エンジン１５１では、最大３つ（最大並列処理数）の周波数のデータを並列的に処理することが出来る。
【００５３】
次に、本実施形態の衛星電波受信装置１の捕捉エンジン１５１における衛星電波の検索手順について説明する。
【００５４】
図７は、捕捉エンジン１５１において、一のＧＰＳ衛星のＣ／Ａコードを生成して一の受信周波数で当該一のＧＰＳ衛星からの電波を受信した場合の捕捉エンジン１５１からの出力データの例を示す図である。
【００５５】
シフトレジスタ１５１３ａ、１５１３ｂに記憶された一の中間周波数に係るベースバンドデータ２０４６個（Ｉ相データ１０２３個及びＱ相データ１０２３個）と、逆拡散コード生成部１５４からＲＡＭ１５１３ｃに入力されてセレクタ１５１３ｄにより選択された一のＣ／Ａコードを示す１０２３個のチップデータとの間の位相差は、シフトレジスタ１５１３ａ、１５１３ｂに１データずつ入力するごとに１つずつずれていき、Ｃ／Ａコードの１周期に１回１チップ未満となる。拡散コードでは、異なる位相のデータ配列間での自己相関はとても低く、従って、位相差が１チップ分以上ある場合には、出力値は、常に非常に小さいノイズレベルの値となる。これに対し、位相差が１チップ分未満となったときには、出力値が急激に増大する。即ち、第１二乗回路１５１４ａ及び第２二乗回路１５１４ｂから出力される相関値において、一周期の中でこの出力値の増大が検出されたか否かによって衛星信号が検出されたか否かを判断することができる。そこで、本実施形態の捕捉エンジン１５１では、一周期分取得された相関値における最大値を選択し、この最大値と、非最大の各値の平均値との比により算出されるＳ／Ｎ値を用いて衛星信号の検出有無を判断する。また、Ｓ／Ｎ値として、例えば、上記算出された値の対数を利用してもよい。或いは、最大値自体を所定の基準値と比較することとしても良い。
【００５６】
上記相関値の算出は、各ＧＰＳ衛星のＣ／Ａコードおよび各受信周波数に対して行われる必要がある。ＧＰＳ衛星からの電波の受信周波数は、ＧＰＳ衛星からの送信周波数に対してＧＰＳ衛星の移動速度によるドップラー速度、及び、発振回路１３の発振周波数に含まれるオフセット誤差といった計器誤差の影響の範囲内で変化する。この周波数変化量Δｆは、通常の状態では、最大で±１５ｋＨｚ程度である。従って、ダウンコンバータ１４１により中間周波数帯に変換された受信電波信号からベースバンド信号を抽出する際にＮＣＯ１５３ａ〜１５３ｃからそれぞれ出力される中間周波数ＩＦ１〜ＩＦ３のローカル周波数信号も、中間周波数ＩＦ０からの周波数変化量Δｆを同じ範囲で変化させることで受信周波数を特定する必要がある。受信周波数を１００Ｈｚ程度の精度で特定するには、周波数変化量Δｆを３００回程度切り換えて繰り返し捕捉エンジン１５１による演算を行わせることで検索動作を行わなければならない。
【００５７】
そこで、本実施形態の衛星電波受信装置１では、先ず、一度目の検索動作として、±１５ｋＨｚの範囲内（第１の周波数範囲）において５００Ｈｚの周波数間隔（第１の周波数間隔）で１衛星当たり６０回の検索を行う。そして、最大のＳ／Ｎ値が得られたＣ／Ａコード、および、周波数に基づき、二度目の検索動作として、当該Ｃ／Ａコードにおいて当該周波数を中心とした±４００Ｈｚ程度の範囲内（第２の周波数範囲）で周波数変化量Δｆを１００Ｈｚ間隔（第２の周波数間隔）として再度検索を行うことにより、受信周波数を特定する。
【００５８】
次に、捕捉エンジン１５１を用いた衛星電波の検索処理の動作手順についてフローチャートを用いて説明する。
【００５９】
図８〜図１１は、全てのＧＰＳ衛星、及び、設定された周波数範囲全体の中からＧＰＳ衛星からの電波の検索を行う検索処理において、コントローラ１５６のＣＰＵが実行する制御処理の手順を示したフローチャートである。また、図１２は、図８〜図１１内でそれぞれ呼び出される検出動作処理の制御手順を示すフローチャートである。また、図１３は、検索処理内でメモリ１５７に記憶されるデータの配列パターンを示した図である。
【００６０】
検索処理が開始されると、コントローラ１５６のＣＰＵは、先ず、捕捉エンジン１５１における演算設定を１２ビット（第１のビット数）分解能、４衛星同時サーチとする（ステップＳ１）。具体的には、ＣＰＵは、スイッチ１５１０ａ、１５１０ｂ、第２積分器１５１２ｂ、第３積分器１５１２ｃ、及び、ＮＣＯ１５３ｂ、１５３ｃをオフし、また、第１積分器１５１２ａから１２ビットのＩ相データＦＩ１及びＱ相データＦＱ１をそれぞれシフトレジスタ１５１３ａ、１５１３ｂに入力させるように設定する。
【００６１】
次に、ＣＰＵは、初期値として周波数チャンネルｃｈを「−１５０」に設定し、また、衛星識別番号ｎを「１」に設定する（ステップＳ２）。
【００６２】
ＣＰＵは、逆拡散コード生成部１５４に検出衛星番号として衛星識別番号ｎ〜ｎ＋３を順番に入力し、衛星識別番号ｎ〜ｎ＋３に対応するＧＰＳ衛星におけるＣ／Ａコードを生成、出力させて、それぞれＲＡＭ１５１３ｃに記憶させる（ステップＳ３）。また、ＣＰＵは、設定された周波数チャンネルｃｈをＮＣＯ１５３ａへ入力するオフセット値として設定する（ステップＳ４）。
【００６３】
ステップＳ１〜Ｓ４における変数の設定が完了すると、コントローラ１５６のＣＰＵは、検出動作処理を呼び出して、ＧＰＳ衛星から送信された信号の一度目の検索動作を行う（ステップＳ５）。図１２に示すこの検出動作処理では、ＣＰＵは、先ず、捕捉エンジン１５１全体に動作クロックを供給し、第１Ｉ／Ｑ変換部１５１１ａ及び第１積分器１５１２ａで算出された１２ビットのＩ相データＦＩ１をシフトレジスタ１５１３ａへ順番に格納させ、また、第１Ｉ／Ｑ変換部１５１１ａ及び第１積分器１５１２ａで算出された１２ビットのＱ相データＦＱ１をシフトレジスタ１５１３ｂへ順番に格納させる。シフトレジスタ１５１３ａ、１５１３ｂのすべてのレジスタに１２ビットデータが格納されると、ＣＰＵは、次のＩ相データＦＩ１がシフトレジスタ１５１３ａに入力される前に、セレクタ１５１３ｄを操作して衛星識別番号ｎ〜ｎ＋３に対応するＧＰＳ衛星のＣ／Ａコードを順番に乗算器群１５１３ｅ、１５１３ｆへ出力させる。そして、これらのＣ／Ａコードデータと、シフトレジスタ１５１３ａのＩ相データＦＩ１及びシフトレジスタ１５１３ｂのＱ相データＦＱ１とにより演算処理が行われ、第１二乗回路１５１４ａで相関値が算出されると、ＣＰＵは、これら４衛星分の相関値の出力を順番に周波数チャンネルｃｈ＝−１５０、位相Ｐ＝０の値としてメモリ１５７に記憶させる。
【００６４】
それから、コントローラ１５６のＣＰＵは、Ｉ相データＦＩ１又はＱ相データＦＱ１がそれぞれシフトレジスタ１５１３ａ、１５１３ｂに交互に１つずつ入力されて位相Ｐが変化するごとにセレクタ１５１３ｄを動作させて、衛星識別番号ｎ〜ｎ＋３に対応するＧＰＳ衛星のＣ／Ａコードを順番に乗算器群１５１３ｅ、１５１３ｆへ出力させる。そして、演算処理が行われて第１二乗回路１５１４ａ及び第２二乗回路１５１４ｂで相関値が算出されると、ＣＰＵは、これらの相関値をメモリ１５７における当該位相Ｐのアドレスへ順番に記憶させていく。捕捉エンジン１５１において、Ｃ／Ａコードの位相Ｐ、受信周波数Ｆ（即ち、周波数チャンネルｃｈ）、及び、衛星識別番号ｎの３つの変数を設定して求められた相関値の出力データは、図１３（ａ）に示すように、これらの３つの変数による三次元配列で表されるアドレスに記憶される。
【００６５】
全２０４６位相の相関値がメモリ１５７に記憶されると（ステップＳ１０１）、ＣＰＵは、各周波数チャンネルｃｈにおいて、４衛星分のデータから各々得られた最大の相関値を取得する（ステップＳ１０２）。続いて、ＣＰＵは、その最大値が得られた周波数チャンネルｃｈ及びＧＰＳ衛星における当該最大値以外の相関値の平均値を求めて、ノイズレベルを算出する（ステップＳ１０３）。そして、ＣＰＵは、ステップＳ１０２の処理で取得された最大の相関値と、ステップＳ１０３の処理で算出されたノイズレベルの相関値との比を算出してＳ／Ｎ値とする（ステップＳ１０４）。それから、ＣＰＵの処理は、検索処理に戻る。
【００６６】
ステップＳ５における検出動作処理が終了してＣＰＵの処理が検索処理に復帰すると、ＣＰＵは、先ず、検出動作処理で求められたＳ／Ｎ値および最大のＳ／Ｎ値が取得された衛星識別番号ｎをメモリ１５７に記憶させる（ステップＳ６）。図１３（ｂ）に示すように、検出動作処理が行われた周波数チャンネルｃｈ、衛星識別番号ｎ、Ｓ／Ｎ値がテーブルに記憶される。
【００６７】
次に、ＣＰＵは、周波数チャンネルｃｈに５を加算する（ステップＳ７）。ＣＰＵは、新たな周波数チャンネルｃｈが「１５５」であるか否かを判別する（ステップＳ８）。周波数チャンネルｃｈが「１５５」ではないと判別された場合には、“ＮＯ”に分岐し、ＣＰＵの処理はステップＳ４に戻って、ＣＰＵは、新たに設定された周波数チャンネルｃｈにおける相関値の算出処理を行う（ステップＳ４〜Ｓ７）。
【００６８】
一方、ステップＳ８の判別処理において、周波数チャンネルｃｈが「１５５」であると判別された場合には、ＣＰＵの処理は、“ＹＥＳ”に分岐する。ＣＰＵは、周波数チャンネルｃｈを初期化して「−１５０」に戻すと共に、衛星識別番号ｎに４を加算する（ステップＳ９）。
【００６９】
ＣＰＵは、ステップＳ９の処理で新たに設定された衛星識別番号ｎが「３３」であるか否かを判別する（ステップＳ１０）。衛星識別番号ｎが「３３」ではないと判別された場合には、ＣＰＵの処理は、ステップＳ３に戻り、ＣＰＵは、検出衛星番号として新たに設定された衛星識別番号ｎ〜ｎ＋３に対応するＧＰＳ衛星について、相関値を取得する処理を繰り返す（ステップＳ３〜Ｓ７）。
【００７０】
ステップＳ１０の判別処理で、衛星識別番号ｎが「３３」であると判別された場合には、ＣＰＵの処理は、ステップＳ１１へ移行する。ＣＰＵは、図１３（ｂ）に示したメモリ１５７のテーブルに記憶されたＳ／Ｎ値の中から最大値を検索し、当該最大値における衛星識別番号ｎを一次検出衛星識別番号ｎ１として設定し、また、周波数チャンネルｃｈの値を一次検出チャンネルｃｈ１として設定する。
【００７１】
ステップＳ１１の処理により一度目の検索動作が終了すると、コントローラ１５６のＣＰＵは、二度目の検索動作の設定を開始する。図９に示すように、先ず、コントローラ１５６のＣＰＵは、取得された最大のＳ／Ｎ値が所定の基準値Ａ以下であるか否かを判別する（ステップＳ１６）。最大のＳ／Ｎ値が基準値Ａ以下であると判別された場合には、“ＹＥＳ”に分岐して、ＣＰＵの処理は、ステップＳ２１へ移行する。また、最大のＳ／Ｎ値が基準値Ａより大きいと判別された場合には、次に、ＣＰＵは、取得された最大のＳ／Ｎ値が基準値Ａより大きい所定の基準値Ｂ（即ち、基準値Ｂ＞基準値Ａ）以下であるか否かを判別する（ステップＳ１７）。最大のＳ／Ｎ値が所定の基準値Ｂ以下であると判別された場合には、“ＹＥＳ”に分岐し、ＣＰＵの処理は、ステップＳ４１に移行する。一方、最大のＳ／Ｎ値が所定の基準値Ｂより大きいと判別された場合には、“ＮＯ”に分岐し、ＣＰＵの処理は、ステップＳ６１に移行する。
【００７２】
ここで、基準値Ａ、Ｂは、取得された最大のＳ／Ｎ値に応じて設定される。例えば、最大のＳ／Ｎ値の値が１２ビット中上位４ビットを用いる大きな値であれば、下位８ビットを省略して上位４ビットのみで二度目の検索動作を行わせることが出来る。或いは、１２ビットのデータにおいて隣接する３ビットごとに論理和を求めて４ビットにまとめることとしても良い。一方、例えば、最大のＳ／Ｎ値の値が１２ビット中上位６ビットを用いる大きさの値であれば、下位６ビットを省略して上位６ビットのみで二度目の検索動作を行わせることが出来る。或いは、１２ビットのデータにおいて隣接する２ビットごとに論理和を求めて６ビットにまとめることとしても良い。その他、これらのビット数変換方法の組み合わせや他のビット数変換方法であっても良い。
【００７３】
最大のＳ／Ｎ値が基準値Ａ以下であって、ＣＰＵの処理がステップＳ２１に移行すると、ＣＰＵは、捕捉エンジン１５１における２度目の検索処理に係る演算設定として、分解能（第２のビット数）を１２ビット、並列にサーチを行う周波数の数（並列処理数）を１周波数とする（ステップＳ２１）。具体的には、ＣＰＵは、一度目の検索動作と同様に、スイッチ１５１０ａ、１５１０ｂ、第２積分器１５１２ｂ、第３積分器１５１２ｃ、ＮＣＯ１５３ｂ、１５３ｃを何れもオフのままとし、また、第１積分器１５１２ａから１２ビットデータをシフトレジスタ１５１３ａ、１５１３ｂに入力させる。
【００７４】
次に、ＣＰＵは、検出衛星番号として一次検出衛星識別番号ｎ１に設定する（ステップＳ２２）。それから、ＣＰＵは、変数ｍを０に設定する（ステップＳ２３）。また、ＣＰＵは、周波数チャンネルｃｈを「ｃｈ１−４＋ｍ」に設定して、この設定された周波数チャンネルｃｈをＮＣＯ１５３ａに入力するオフセット値として設定する（ステップＳ２４）。
【００７５】
ステップＳ２１〜Ｓ２４の処理で設定が行われると、ＣＰＵは、二度目の検出動作処理を実行する（ステップＳ２５）。この検出動作処理では、図１２に示したように、先ず、ＣＰＵは、捕捉エンジン１５１に、一次検出衛星識別番号ｎ１に対応するＧＰＳ衛星のＣ／Ａコードにより、各位相Ｐ、各周波数チャンネルｃｈ＝ｃｈ１−４＋ｍにおける相関値を算出させる。そして、ＣＰＵは、求められた相関値をメモリ１５７に記憶させる（ステップＳ１０１）。この相関値は、メモリ１５７上において、周波数チャンネルｃｈ及び位相Ｐの２つの変数によって設定された二次元配列によって表されるアドレスに記憶される。
【００７６】
設定された周波数チャンネルｃｈにおける全ての位相Ｐに対して相関値が求められてメモリ１５７に記憶されると、ＣＰＵは、当該周波数チャンネルｃｈにおける最大の相関値を取得し（ステップＳ１０２）、ノイズレベルを計算して（ステップＳ１０３）、この周波数チャンネルｃｈにおけるＳ／Ｎ値を算出する（ステップＳ１０４）。これらステップＳ１０２〜Ｓ１０４の処理の内容は、ステップＳ５で実行された一度目の検出動作処理における各処理の内容と同様であり、詳しい説明を省略する。それから、ＣＰＵの処理は、検索処理に戻る。
【００７７】
ＣＰＵの処理が検索処理に戻ると、ＣＰＵは、求められたＳ／Ｎ値をテーブルに保存する（ステップＳ２６）。
【００７８】
ＣＰＵは、変数ｍに１を加算する（ステップＳ２７）。それから、ＣＰＵは、この変数ｍの値が９であるか否かを判別する（ステップＳ２８）。変数ｍが９ではないと判別された場合には、ＣＰＵの処理は、ステップＳ２４に戻り、ＣＰＵは、捕捉エンジン１５１に、新たに設定された周波数チャンネルｃｈにおける検索動作を行わせる（ステップＳ２４〜Ｓ２７）。即ち、この場合の二度目の検索動作では、一次検出チャンネルｃｈ１に対応する受信周波数に対して±４００Ｈｚの範囲において１００Ｈｚの周波数間隔で合計９回Ｓ／Ｎ値を求める処理が実行される。
【００７９】
一方、ステップＳ２８における判別処理で、変数ｍが９であると判別された場合には、ＣＰＵは、周波数チャンネルｃｈ＝ｃｈ１−４〜ｃｈ１＋４において算出されてメモリ１５７に記憶されたＳ／Ｎ値の中で、最大の値が得られた周波数チャンネルｃｈの値を二次検出チャンネルｃｈｍに設定する（ステップＳ２９）。そして、ＣＰＵは、一次検出チャンネルｃｈ１と二次検出チャンネルｃｈｍとが等しいか否かを判別する（ステップＳ３０）。一次検出チャンネルｃｈ１と二次検出チャンネルｃｈｍとが等しくないと判別された場合には、ＣＰＵは、二次検出チャンネルｃｈｍの値を一次検出チャンネルｃｈ１として設定する（ステップＳ３３）。それから、ＣＰＵの処理はステップＳ２３に戻って、ＣＰＵは、新たな一次検出チャンネルｃｈ１に基づいて「二度目の検索動作」に係る処理を繰り返して行う（ステップＳ２３〜ステップＳ２９）。なお、このステップＳ３０の判別処理、ステップＳ３３の処理、及び、ステップＳ３０の判別結果に基づく再検索処理を省略することとしても良い。
【００８０】
ステップＳ３０の判別処理で、一次検出チャンネルｃｈ１と二次検出チャンネルｃｈｍとが等しいと判別された場合には、この検索結果をメモリ１５７のテーブルに保存し（ステップＳ３１）、二次検出チャンネルｃｈｍをキャリア周波数として特定して（ステップＳ３２）、検索処理を終了する。
【００８１】
次に、一度目の検索動作で得られた最大のＳ／Ｎ値がＡより大きくＢ以下であって、ステップＳ１６の判別処理で“ＮＯ”に分岐し、次いで、ステップＳ１７の判別処理で“ＹＥＳ“に分岐した場合の処理手順について説明する。
【００８２】
この場合には、ＣＰＵの処理がステップＳ４１に移行すると、図１０に示すように、先ず、コントローラ１５６のＣＰＵは、捕捉エンジン１５１における演算設定を６ビット分解能、２周波数同時サーチとする。具体的には、ＣＰＵは、スイッチ１５１０ａをオン、１５１０ｂをオフとし、また、第２積分器１５１２ｂ及びＮＣＯ１５３ｂをオンし、第３積分器１５１２ｃ及びＮＣＯ１５３ｃをオフのままとする。また、ＣＰＵは、第１積分器１５１２ａ及び第２積分器１５１２ｂからのデータをシフトレジスタ１５１３ａ、１５１３ｂにそれぞれ６ビットずつ並列に入力させるように設定する。
【００８３】
次に、ＣＰＵは、検出衛星番号として一次検出衛星識別番号ｎ１に設定する（ステップＳ４２）。それから、ＣＰＵは、変数ｍを０に設定する（ステップＳ４３）。また、ＣＰＵは、周波数チャンネルｃｈを「ｃｈ１−４＋ｍ」、「ｃｈ１−３＋ｍ」に設定して、これらの設定された周波数チャンネルｃｈをＮＣＯ１５３ａ、１５３ｂへ入力するオフセット値としてそれぞれ設定する（ステップＳ４４）。
【００８４】
ステップＳ４１〜Ｓ４４の処理で設定が行われると、ＣＰＵは、二度目の検出動作処理を実行する（ステップＳ４５）。この検出動作処理では、図１２で示したように、先ず、ＣＰＵは、捕捉エンジン１５１に、一次検出衛星識別番号ｎ１に対応するＧＰＳ衛星のＣ／Ａコードにより、各位相Ｐにおいて２つの周波数チャンネルｃｈ＝ｃｈ１−４＋ｍ、ｃｈ１−３＋ｍに対して並列的に相関値を算出させる。そして、ＣＰＵは、求められた相関値をメモリ１５７に記憶させる（ステップＳ１０１）。この相関値は、メモリ１５７上に周波数チャンネルｃｈおよび位相Ｐの２つの変数によって設定された二次元配列内に記憶される。ここで、求められた相関値を実際に記憶するメモリ１５７上の実アドレスは、相関値を出力する第１二乗回路１５１４ａ又は第２二乗回路１５１４ｂにそれぞれ対応してメモリ１５７ａ又は１５７ｂに設定される。このように、メモリ１５７は、第１二乗回路１５１４ａ及び第２二乗回路１５１４ｂの動作タイミングが重なっても平行して書込みが可能に構成されている。
【００８５】
設定された２つの周波数チャンネルにおいて全ての位相Ｐに対して求められた相関値がメモリ１５７に記憶されると、ＣＰＵは、周波数チャンネルｃｈごとに最大の相関値を取得し（ステップＳ１０２）、ノイズレベルを計算して（ステップＳ１０３）、各周波数チャンネルｃｈにおけるＳ／Ｎ値を算出する（ステップＳ１０４）。ステップＳ１０２〜Ｓ１０４の処理は、ステップＳ５、Ｓ２５で実行された検出動作処理における各処理と同様であり、詳しい説明を省略する。このステップＳ４５の検出動作処理に係るステップＳ１０４の処理では、２つの周波数チャンネルにおけるＳ／Ｎ値が一度の処理で並列的に求められる。それから、ＣＰＵの処理は、検索処理に戻る。
【００８６】
ＣＰＵの処理が検索処理に戻ると、ＣＰＵは、求められた２つのＳ／Ｎ値をテーブルに保存する（ステップＳ４６）。
【００８７】
ＣＰＵは、変数ｍに２を加算する（ステップＳ４７）。それから、ＣＰＵは、この変数ｍの値が１０であるか否かを判別する（ステップＳ４８）。変数ｍが１０でないと判別された場合には、ＣＰＵの処理は、ステップＳ４４に戻り、捕捉エンジン１５１に、新たに設定された２つの周波数チャンネルｃｈにおける検索動作を行わせる（ステップＳ４４〜Ｓ４７）。即ち、この場合の二度目の検索動作では、一次検出チャンネルｃｈ１に対応する受信周波数に対して−４００Ｈｚ〜＋５００Ｈｚの範囲において、１００Ｈｚの周波数間隔で一度に２つの周波数でのＳ／Ｎ値を求めることで、合計５回このＳ／Ｎ値の算出処理が行われる。
【００８８】
一方、ステップＳ４８における判別処理で、変数ｍが１０であると判別された場合には、ＣＰＵは、周波数チャンネルｃｈ＝ｃｈ１−４〜ｃｈ１＋４において算出されてメモリ１５７のテーブルに記憶されたＳ／Ｎ値の中で、最大の値が得られた周波数チャンネルｃｈの値を二次検出チャンネルｃｈｍに設定する（ステップＳ４９）。そして、ＣＰＵは、一次検出チャンネルｃｈ１と二次検出チャンネルｃｈｍとが等しいか否かを判別する（ステップＳ５０）。一次検出チャンネルｃｈ１と二次検出チャンネルｃｈｍとが等しくないと判別された場合には、ＣＰＵは、二次検出チャンネルｃｈｍの値を一次検出チャンネルｃｈ１として設定する（ステップＳ５３）。それから、ＣＰＵの処理はステップＳ４３に戻って、ＣＰＵは、新たな一次検出チャンネルｃｈ１に基づいて二度目の検索動作に係る各処理を繰り返す（ステップＳ４３〜Ｓ４９）。
なお、このステップＳ５０の判別処理、ステップＳ５３の処理、及び、ステップＳ５０の判別処理に基づく再検索を省略することも出来る。
【００８９】
ステップＳ５０の判別処理で、一次検出チャンネルｃｈ１と二次検出チャンネルｃｈｍとが等しいと判別された場合には、この検索結果をメモリ１５７のテーブルに保存し（ステップＳ５１）、二次検出チャンネルｃｈｍをキャリア周波数として特定して（ステップＳ５２）、検索処理を終了する。
【００９０】
このように、一度目の検索動作で取得された最大Ｓ／Ｎ値が基準値Ａよりは大きいが、この基準値Ａより大きい基準値Ｂ以下であるという場合には、サイズの大きいシフトレジスタ１５１３ａ、１５１３ｂを半分のビットサイズの並列に２列設けられたシフトレジスタとして動作させ、他の構成要素である第２Ｉ／Ｑ変換部１５１１ｂ、第２積分器１５１２ｂ、第２二乗回路１５１４ｂ、ＮＣＯ１５３ｂ、及び、メモリ１５７ｂを動作させることで、捕捉エンジン１５１のサイズをあまり変化させずに二度目の検索動作に要する時間を短縮することが出来る。
【００９１】
次に、最大のＳ／Ｎ値が基準値Ｂよりも大きく、ステップＳ１６、Ｓ１７の判別処理で何れも“ＮＯ”に分岐して、ＣＰＵの処理がステップＳ６１に移行した場合の処理手順について説明する。
【００９２】
ＣＰＵの処理がステップＳ６１に移行すると、図１１に示すように、先ず、コントローラ１５６のＣＰＵは、捕捉エンジン１５１における演算設定を４ビット分解能、３周波数同時サーチとする。具体的には、ＣＰＵは、スイッチ１５１０ａ、１５１０ｂを何れもオンとし、また、第２積分器１５１２ｂ、第３積分器１５１２ｃ、ＮＣＯ１５３ｂ、１５３ｃを何れもオンとする。また、第１積分器１５１２ａ、第２積分器１５１２ｂ、及び、第３積分器１５１２ｃからそれぞれ４ビットずつのデータを並列にシフトレジスタ１５１３ａ、１５１３ｂに入力させるように設定する。
【００９３】
次に、ＣＰＵは、検出衛星番号として一次検出衛星識別番号ｎ１に設定する（ステップＳ６２）。それから、ＣＰＵは、変数ｍを０に設定する（ステップＳ６３）。また、ＣＰＵは、周波数チャンネルｃｈを「ｃｈ１−４＋ｍ」、「ｃｈ１−３＋ｍ」、「ｃｈ１−２＋ｍ」の３種類に設定して、これらの設定された周波数チャンネルｃｈをＮＣＯ１５３ａ〜１５３ｃへ入力するオフセット値としてそれぞれ設定する（ステップＳ６４）。
【００９４】
ステップＳ６１〜Ｓ６４の処理で設定が行われると、ＣＰＵは、二度目の検出動作処理を実行する（ステップＳ６５）。この検出動作処理では、図１２で示したように、先ず、ＣＰＵは、捕捉エンジン１５１に、一次検出衛星識別番号ｎ１に対応するＧＰＳ衛星のＣ／Ａコードにより、各位相Ｐにおいて３つの周波数チャンネルｃｈ＝ｃｈ１−４＋ｍ、ｃｈ１−３＋ｍ、ｃｈ１−２＋ｍに対して並列的に相関値を算出させる。そして、ＣＰＵは、求められた相関値をメモリ１５７に記憶させる（ステップＳ１０１）。これらの相関値は、メモリ１５７上に周波数チャンネルｃｈおよび位相Ｐの２つの変数によって設定された二次元配列内に記憶される。ここで、求められた相関値を実際に記憶するメモリ１５７上の実アドレスは、相関値を出力する第１二乗回路１５１４ａ、第２二乗回路１５１４ｂ、又は、第３二乗回路１５１４ｃにそれぞれ対応してメモリ１５７ａ、１５７ｂ、１５７ｃに設定される。
【００９５】
設定された３つの周波数チャンネルにおいて全ての位相Ｐに対して求められた相関値がメモリ１５７に記憶されると、ＣＰＵは、周波数チャンネルｃｈごとに最大の相関値を取得し（ステップＳ１０２）、ノイズレベルを計算して（ステップＳ１０３）、各周波数チャンネルｃｈにおけるＳ／Ｎ値を算出する（ステップＳ１０４）。ステップＳ１０２〜Ｓ１０４の処理は、ステップＳ５、Ｓ２５、Ｓ４５で実行された検出動作処理における各処理と同様であり、詳しい説明を省略する。このステップＳ６５の検出動作処理に係るステップＳ１０４の処理では、３つの周波数チャンネルにおけるＳ／Ｎ値が一度の処理で並列的に求められる。それから、ＣＰＵの処理は、検索処理に戻る。
【００９６】
ＣＰＵの処理が検索処理に戻ると、ＣＰＵは、求められた３つのＳ／Ｎ値をテーブルに保存する（ステップＳ６６）。
【００９７】
ＣＰＵは、変数ｍに３を加算する（ステップＳ６７）。それから、ＣＰＵは、この変数ｍの値が９であるか否かを判別する（ステップＳ６８）。変数ｍが９ではないと判別された場合には、ＣＰＵの処理は、ステップＳ６４に戻り、捕捉エンジン１５１に、新たに設定された３つの周波数チャンネルｃｈにおける検索動作を行わせる（ステップＳ６４〜Ｓ６７）。即ち、この場合の二度目の検索動作では、一次検出チャンネルｃｈ１に対応する受信周波数に対して±４００Ｈｚの範囲において、１００Ｈｚの周波数間隔で一度に３つずつＳ／Ｎ値を求めることで、合計３回このＳ／Ｎ値の算出処理が行われる。
【００９８】
一方、ステップＳ６８における判別処理で、変数ｍが９であると判別された場合には、ＣＰＵは、周波数チャンネルｃｈ＝ｃｈ１−４〜ｃｈ１＋４において算出されてメモリ１５７のテーブルに記憶されたＳ／Ｎ値の中で、最大の値が得られた周波数チャンネルｃｈの値を二次検出チャンネルｃｈｍに設定する（ステップＳ６９）。そして、ＣＰＵは、一次検出チャンネルｃｈ１と二次検出チャンネルｃｈｍとが等しいか否かを判別する（ステップＳ７０）。一次検出チャンネルｃｈ１と二次検出チャンネルｃｈｍとが等しくないと判別された場合には、ＣＰＵは、二次検出チャンネルｃｈｍの値を一次検出チャンネルｃｈ１として設定する（ステップＳ７３）。それから、ＣＰＵの処理はステップＳ６３に戻って、ＣＰＵは、新たな一次検出チャンネルｃｈ１に基づいて二度目の検索動作に係る各処理を繰り返す（ステップＳ６３〜Ｓ６９）。
なお、このステップＳ７０の判別処理、ステップＳ７３の処理、及び、ステップＳ７０の判別処理に基づく再検索を省略することとしても良い。
【００９９】
ステップＳ７０の判別処理で、一次検出チャンネルｃｈ１と二次検出チャンネルｃｈｍとが等しいと判別された場合には、この検索結果をメモリ１５７のテーブルに保存し（ステップＳ７１）、二次検出チャンネルｃｈｍをキャリア周波数として特定して（ステップＳ７２）、検索処理を終了する。
【０１００】
このように、一度目の検索動作で取得された最大のＳ／Ｎ値が基準値Ｂより大きい場合には、サイズの大きいシフトレジスタ１５１３ａ、１５１３ｂを１／３のビットサイズの並列に３列設けられたシフトレジスタとして動作させることで、捕捉エンジン１５１のサイズをあまり変化させずに二度目の検索動作の所要時間を更に短縮することが出来る。
【０１０１】
以上のように、本実施形態の衛星電波受信装置１によれば、受信アンテナＡＮＴと、低雑音増幅器（ＬＮＡ）１１と、狭帯域フィルタ１２とによりＧＰＳ衛星から電波送信された衛星信号を受信可能であり、捕捉エンジン１５１では、受信周波数の掃引と、相関器１５１３を用いた逆拡散の処理により、衛星信号の受信周波数と位相とを特定する。この受信周波数の特定の際には、先ず、一度目の検索動作として、受信可能性のある全周波数を粗い５００ｋＨｚステップで検索を行い、衛星信号が検出された場合には、当該周波数を含む範囲において１００ｋＨｚステップで二度目の検索動作を行うことで受信周波数を特定する。また、この２度目の検索動作では、一度目の検索動作で検出された衛星信号の強度に基づいて、相関器１５１３のシフトレジスタ１５１３ａ、１５１３ｂに入力する受信信号のビット数を変化させる。本実施形態では、１データサンプル当たり１２ビットのデータを入力可能なシフトレジスタ１５１３ａ、１５１３ｂを２つの６ビットデータ又は３つの４ビットデータの入力が可能な構成に変更可能であり、また、同時に最大３つの周波数の信号を出力することが出来るので、同時に複数の周波数の６ビットデータ又は４ビットデータについて衛星信号の検索動作を行わせることで、衛星信号の受信周波数を特定するまでの時間を短縮することが出来る。
【０１０２】
また、ここで、複数の周波数信号を出力するための構成要素であるＩ／Ｑ変換部１５１１、積分部１５１２、二乗回路１５１４、および、ＮＣＯ１５３は、シフトレジスタ１５１３ａ、１５１３ｂに比較して個々のサイズが十分に小さいので、３系統の受信信号を並列に流す構成としてもシフトレジスタ１５１３ａ、１５１３ｂを並列に複数設ける構成と比較してサイズの増加が十分に抑えられる。従って、シフトレジスタ１５１３ａ、１５１３ｂの内部構成を二度目の検索動作で変更させて３系統の並列信号処理に対応させることで、捕捉エンジン１５１のサイズを大きく増加させること無く二度目の検索動作の所要時間を短縮することが出来る。
【０１０３】
また、特に、一度目の検索動作の際にシフトレジスタ１５１３ａ、１５１３ｂの１データサンプル当たり最大記憶容量と等しい１２ビットデジタルデータを取得し、二度目の検索動作の際にこの１２ビットを並列受信周波数の数（１〜３）で割ったビット数のデジタルデータを各々取得することで、シフトレジスタ１５１３ａ、１５１３ｂの記憶容量を必要十分な量とすることができ、従って、シフトレジスタ１５１３ａ、１５１３ｂのサイズを変化させたり、記憶容量を無駄にしたりすることなく短時間で衛星信号の受信周波数を特定することが出来る。
【０１０４】
また、二度目の検索動作の際には、一度目の検索動作と同様にデジタル変換された１２ビットデータから上位６ビットを選択してシフトレジスタ１５１３ａ、１５１３ｂへ入力させることとするので、ＡＤＣ１４３、Ｉ／Ｑ変換部１５１１や積分部１５１２の構成を変更することなく容易に入力ビット数の変換を行うことが出来る。
【０１０５】
また、二度目の検索動作の際にシフトレジスタ１５１３ａ、１５１３ｂに入力されるデジタルデータのデータサンプル当たりのビット数は、一度目の検索動作の際に検索された衛星信号の受信強度に応じ、上位４ビット又は６ビットが選択された結果、取得される衛星信号の受信強度がゼロにならないように設定されるので、必要な情報が取得可能な範囲でビット数を抑えて効率よく複数の受信周波数に係るデータに対する相関値を並列に算出することが出来る。
【０１０６】
また、捕捉エンジン１５１における衛星信号の検索は、中間周波数生成部１５３のＮＣＯ１５３ａ、１５３ｂへの入力値に基づいて設定される受信周波数のベースバンド信号と、測位衛星において衛星信号をスペクトル拡散変調するＣ／Ａコードとの相関値を求めることにより行うので、安定的且つ容易に周波数を制御しながら迅速に衛星信号の検索を行うことが出来る。
【０１０７】
また、ベースバンド信号とＣ／Ａコードとの相関値は、１データサンプル当たり１２ビットのデジタルデータを入力可能なマッチドフィルタ（相関器１５１３）によって求められる。そして、このマッチドフィルタは、二度目の検索動作の際に最大３つの受信周波数に係る合計最大１２ビットのデジタルデータを並列的に入力して、それぞれＣ／Ａコードとの相関値を求めることが可能な構成なので、全周波数、及び、全位相における相関値の算出が高速化されると共に、マッチドフィルタのサイズを変化させること無く最大３周波数の入力データに対する相関値の算出を並列的に行うことが出来る。
【０１０８】
また、ダウンコンバータ１４１で中間周波数帯に変換された受信電波信号からベースバンド信号を取得するための中間周波数生成部１５３は、ＮＣＯ１５３ａ〜１５３ｃを独立に備え、各々異なる周波数信号を出力して、中間周波数帯の受信電波信号と混合させることで、マッチドフィルタに対し容易に最大３つの受信周波数のベースバンド信号を並列的に入力させることができる。また、ＮＣＯ１５３ａ〜１５３ｃは、マッチドフィルタのシフトレジスタ１５１３ａ、１５１３ｂに比較して十分にサイズが小さいので、並列化によってもサイズの増大にはほとんど影響しない。
【０１０９】
また、二度目の検索動作の際には、一度目の検索動作の際に衛星信号が検出された周波数に対して上下に、一度目の検索動作に係る周波数間隔１ステップ分である±５００Ｈｚ程度の範囲でのみ検索を行うので、二度目の検索時間を更に短縮することが出来る。
【０１１０】
また、二度目の検索動作の際に捕捉エンジン１５１で並列的に算出され、第１二乗回路１５１４ａ、第２二乗回路１５１４ｂ及び、第３二乗回路１５１４ｃから出力される相関値は、それぞれ独立したメモリ１５７ａ、１５７ｂ、１５７ｃに記憶されるので、第１二乗回路１５１４ａ、第２二乗回路１５１４ｂ、及び、第３二乗回路１５１４ｃからの出力タイミングが重なってもメモリへの書込みタイミングが遅延する心配が無い。
【０１１１】
また、一度目の検索動作においては、ＲＡＭ１５１３ｃとセレクタ１５１３ｄとを用いて複数のＧＰＳ衛星からの衛星信号を並列的に検出可能であり、二度目の検索動作においては、検出された衛星信号のうち、最も受信強度の高いＧＰＳ衛星からの衛星信号についてのみ検出を行って受信周波数を特定するので、不要なＧＰＳ衛星からの衛星信号の検索処理を行わないことによる検索処理の時間短縮を図ることが出来る。
【０１１２】
また、複数衛星の受信データが必要な場合には、一度目の検索動作において検出された衛星信号を送信したＧＰＳ衛星に対してのみ二度目の検索動作を行うこととすることも可能であるので、不要なＧＰＳ衛星からの衛星信号の検索動作を行わないことによる検索処理の時間短縮を図ることが出来る。
【０１１３】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。
例えば、上記実施の形態では、１データサンプル当たり１２ビットのデジタルデータを記憶、処理可能な相関器１５１３に対して一度目の検索動作時に１データサンプル当たり１２ビット、二度目の検索動作時に１２、６、４ビットのデータを入力することで、無駄な記憶容量が出ないように設定したが、例えば、１データサンプル当たり１０ビットのデジタルデータを記憶、処理可能な相関器に１０、５、３ビットのデータを入力する場合のように、余りのビットが生じる構成であっても良い。
【０１１４】
また、上記実施の形態では、一度目の検索動作時における衛星信号の受信強度が強いほど、二度目の検索動作時におけるダイナミックレンジを狭めることとしたが、反対に、一度目の検索動作時における衛星信号強度が弱いほど二度目の検索動作時におけるダイナミックレンジを狭め、１２ビットデジタルデータのうち、設定されたビット数の下位ビットデータを取得することとしても良い。
【０１１５】
また、上記実施の形態では、一度目の検索動作により検出された最も受信強度の高いＧＰＳ衛星からの受信周波数のみを二度目の検索動作で特定することとしたが、複数のＧＰＳ衛星からの衛星信号が検出された場合には、それぞれに対して二度目の検索動作を行うこととしても良い。
【０１１６】
また、上記実施の形態では、測位衛星としてＧＰＳ測位衛星を例に挙げて説明したが、これに限られない。例えば、ＧＡＬＩＬＥＯやＧＬＯＮＡＳＳなど、他のＧＮＳＳに係る測位衛星のデータを併用することとしても良い。
その他、上記実施の形態で示した具体的な細部の構成や数値、処理の順番などは、本発明の趣旨を逸脱しない範囲において適宜変更可能である。
【０１１７】
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
【０１１８】
［付記］
＜請求項１＞
測位衛星から電波送信された衛星信号の送信周波数を含む周波数帯の電波信号を受信可能な受信手段と、
前記受信手段により受信された前記電波信号をデジタルデータに変換する変換手段と、
前記デジタルデータから所定の受信周波数における前記衛星信号を検出するための所定の演算を行う検出演算手段と、
前記検出演算手段に、第１の周波数範囲に亘り第１の周波数間隔で設定された受信周波数に係る入力信号データを、前記デジタルデータから１データサンプル当たり予め設定された最大ビット数以下の第１のビット数で１の受信周波数ずつ順番に取得させて前記所定の演算を行わせ、当該所定の演算の結果に基づいて前記衛星信号が検出される受信周波数を検索する捕捉手段と、
前記捕捉手段により前記衛星信号が検出された際の受信強度に応じて定められる前記第１のビット数以下の第２のビット数と、１データサンプル当たり当該第２のビット数の前記入力信号データから前記検出演算手段が並列に前記所定の演算を実行可能な並列処理数と、を設定する設定手段と、
前記検出演算手段に、前記捕捉手段により前記衛星信号が検出された受信周波数を含む第２の周波数範囲に亘り前記第１の周波数間隔より狭い第２の周波数間隔で設定された受信周波数に係る入力信号データを、前記デジタルデータから１データサンプル当たり前記第２のビット数で前記並列処理数個の受信周波数ずつ取得させて並列に前記所定の演算を行わせ、当該所定の演算の結果に基づいて前記衛星信号の前記受信周波数を特定する特定手段と
を備え、
前記検出演算手段は、予め定められた最大並列処理数以下の受信周波数に係る前記入力信号データに対して並列に前記所定の演算を実行可能であり、
前記並列処理数は、当該並列処理数個のデータサンプルの合計ビット数が前記最大ビット数以下であり、且つ、前記最大並列処理数以下であるように定められる
ことを特徴とする衛星電波受信装置。
＜請求項２＞
前記第１のビット数は、前記最大ビット数と等しく、前記並列処理数は、前記第１のビット数を前記第２のビット数で除した商の値である
ことを特徴とする請求項１に記載の衛星電波受信装置。
＜請求項３＞
前記第２のビット数の入力信号データは、前記第１のビット数の入力信号データのうち、当該第２のビット数分の上位ビットデータである
ことを特徴とする請求項１又は２に記載の衛星電波受信装置。
＜請求項４＞
前記第２のビット数は、前記捕捉手段により検出された前記衛星信号の受信強度が所定の値以上となるように設定される
ことを特徴とする請求項３に記載の衛星電波受信装置。
＜請求項５＞
前記検出演算手段は、設定された受信周波数のベースバンド信号を前記入力信号データとして取得し、当該ベースバンド信号と、前記測位衛星において前記衛星信号をスペクトル拡散変調する拡散コードとの相関を求める
ことを特徴とする請求項１〜４の何れか一項に記載の衛星電波受信装置。
＜請求項６＞
前記検出演算手段は、前記ベースバンド信号と前記拡散コードとの相関を求めるマッチドフィルタを備え、
当該マッチドフィルタは、前記設定手段により設定された前記並列処理数及び前記第２のビット数に基づき、当該並列処理数個の受信周波数に係る前記第２のビット数の入力信号データが並列に入力され、当該並列処理数個の入力信号データと前記拡散コードとの相関を各々求める構成に変更可能である
ことを特徴とする請求項５に記載の衛星電波受信装置。
＜請求項７＞
前記最大並列処理数個の異なる周波数信号を出力するローカル周波数発振手段を備え、
前記検出演算手段は、当該ローカル周波数発振手段から出力される周波数信号の各々に対して前記デジタルデータを混合することにより、異なる受信周波数の前記ベースバンド信号を並列的に取得する
ことを特徴とする請求項５又は６に記載の衛星電波受信装置。
＜請求項８＞
前記第２の周波数範囲は、前記第１の周波数範囲より狭く、且つ、前記捕捉手段による前記衛星信号の受信周波数に対し、上下にそれぞれ少なくとも前記第１周波数間隔の範囲内を含むように設定される
ことを特徴とする請求項１〜７の何れか一項に記載の衛星電波受信装置。
＜請求項９＞
前記検出演算手段により前記並列処理数個の受信周波数に対して並列に相関が求められる場合に、当該並列に求められた相関値が各々独立に記憶される演算結果記憶手段
を備えることを特徴とする請求項１〜８の何れか一項に記載の衛星電波受信装置。
＜請求項１０＞
前記捕捉手段は、複数の前記測位衛星からの前記衛星信号を並列的に検出可能であり、前記特定手段は、前記捕捉手段により複数の前記測位衛星からの前記衛星信号が検出された場合には、当該検出された前記衛星信号のうち、最も受信強度の高い前記測位衛星からの前記衛星信号の受信周波数を特定する
ことを特徴とする請求項１〜９の何れか一項に記載の衛星電波受信装置。
＜請求項１１＞
前記捕捉手段は、複数の前記測位衛星からの前記衛星信号を並列的に検出可能であり、前記特定手段は、前記捕捉手段により複数の前記測位衛星からの前記衛星信号が検出された場合には、当該検出された前記測位衛星からの前記衛星信号の受信周波数を各々特定する
ことを特徴とする請求項１〜９の何れか一項に記載の衛星電波受信装置。
【符号の説明】
【０１１９】
１     衛星電波受信装置
１１   低雑音増幅器
１２   狭帯域フィルタ
１３   発振回路
１４   ＲＦ部
１４１ ダウンコンバータ
１５   ベースバンド部
１５１ 捕捉エンジン
１５２ 追尾エンジン
１５３ 中間周波数生成部
１５４ 逆拡散コード生成部
１５５ 演算処理部
１５６ コントローラ
１５７、１５７ａ〜１５７ｃ  メモリ
１５１０ａ、１５１０ｂ      スイッチ
１５１１      Ｉ／Ｑ変換部
１５１１ａ    第１Ｉ／Ｑ変換部
１５１１ｂ    第２Ｉ／Ｑ変換部
１５１１ｃ    第３Ｉ／Ｑ変換部
１５１２      積分部
１５１２ａ    第１積分器
１５１２ｂ    第２積分器
１５１２ｃ    第３積分器
１５１３      相関器
１５１３ａ、１５１３ｂ      シフトレジスタ
１５１３ｃ    ＲＡＭ
１５１３ｄ    セレクタ
１５１３ｅ、１５１３ｆ      乗算器群
１５１３ｇ〜１５１３ｌ      加算器
１５１４      二乗回路
１５１４ａ    第１二乗回路
１５１４ｂ    第２二乗回路
１５１４ｃ    第３二乗回路
１５３１、１５３２   加算器
１５３３      レジスタ
１５３４      ＣＯＳ＿ＲＯＭ
１５３５      ＳＩＮ＿ＲＯＭ
ＡＮＴ 受信アンテナ
【図１】
0005382083.tif 000002
【図２】
0005382083.tif 000003
【図３】
0005382083.tif 000004
【図４】
0005382083.tif 000005
【図５】
0005382083.tif 000006
【図６】
0005382083.tif 000007
【図７】
0005382083.tif 000008
【図８】
0005382083.tif 000009
【図９】
0005382083.tif 000010
【図１０】
0005382083.tif 000011
【図１１】
0005382083.tif 000012
【図１２】
0005382083.tif 000013
【図１３】
0005382083.tif 000014