(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-26
(54)【発明の名称】全地球航法衛星システム信号を高速に検索するための方法および装置
(51)【国際特許分類】
G01S 19/30 20100101AFI20240918BHJP
【FI】
G01S19/30
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024513488
(86)(22)【出願日】2021-08-31
(85)【翻訳文提出日】2024-04-08
(86)【国際出願番号】 RU2021000375
(87)【国際公開番号】W WO2023033667
(87)【国際公開日】2023-03-09
(81)【指定国・地域】
(71)【出願人】
【識別番号】505315742
【氏名又は名称】トプコン ポジショニング システムズ, インク.
(74)【代理人】
【識別番号】110003937
【氏名又は名称】弁理士法人前川知的財産事務所
(72)【発明者】
【氏名】ドミトリー アナトーリエヴィチ ルプツォフ
(72)【発明者】
【氏名】レオニード ヴィクトロヴィッチ プルト
(72)【発明者】
【氏名】アンドレイ ヴィクトロヴィッチ ヴェイツェル
(72)【発明者】
【氏名】ヴィクトール アンドレーヴィッチ プラスロフ
【テーマコード(参考)】
5J062
【Fターム(参考)】
5J062CC07
5J062DD13
5J062DD22
(57)【要約】
GNSS受信機で実行されるGNSS信号を高速検索する方法および装置は、既知の擬似ランダムノイズ符号を持つ信号を受信するステップを含む。擬似ランダムノイズ符号が生成される際、符号生成器の状態情報が記憶される。ドップラーNCOを含む複数のNCOが、複数の想定されるドップラーに対してGNSS信号を同時に検索するために使用される。受信信号の送信元を特定するために受信信号に関連付けられた検索窓の初回確認が行われる。受信信号の送信元が特定できるか否かの判定後、検索窓の2回目の確認前に、状態情報が符号生成器にロードされる。検索窓は、全長PRN符号でシフトしている。状態情報の読み込みにより、高速検索モジュールを再調整することなく検索窓の連続確認が可能になるので、受信信号の分析処理が高速化する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
既知の擬似ランダムノイズ(PRN)符号を有する無線航法信号を高速検索するための装置であって、
既知のPRN符号を有する無線信号を受信するように構成されたアンテナと、
前記アンテナから前記無線信号を受信し、前記無線信号を中間周波数信号に移動するように構成された無線周波数(RF)パスと、
PRN要素の周期でパルスを出力するように構成された数値制御発振器と、
前記中間周波数信号をサンプリングするように構成されたアナログデジタル変換器(ADC)と、
前記ADCから信号を受信し、ゼロ周波数でサンプリングされた信号を出力するように構成されたデジタルミキサと、
前記デジタルミキサから前記ゼロ周波数でサンプリングされた信号を受け取るように構成されたデシメータと、
一対の量子化ユニットを介して前記デシメータから受信した入力のシフト配列とPRN符号要素の非シフト配列との畳み込みを計算するように構成された相関器と、
前記相関器から出力された値の結果を記憶するように構成されたメモリユニットと、
前記数値制御発振器から出力されるパルスに基づいて新規要素を計算するように構成された符号発生器と、
前記中間周波数信号の中間周波数を出力するように構成された中間周波数数値制御発振器と、
所定周期でパルスを出力する高速検索数値制御発振器(FSNCO)と、
を備え、
前記FSNCOの出力パルスに応答して、
前記デシメータはさらに、新しい出力サンプルを生成するように構成され、
前記相関器はさらに、前記新しい出力サンプルを含むように入力サンプルのシフト配列をシフトするように構成され、
前記相関器はさらに、PRN符号発生器の出力の現在の状態を含むようにPRN符号要素のシフト配列をシフトするように構成され、
前記相関器はさらに、前記高速検索数値制御発振器のS個のパルスの間に1回、前記PRN符号要素のシフト配列をPRN符号要素の非シフト配列にコピーするように構成され、
前記相関器はさらに、新規畳み込み値と新規畳み込み値のコヒーレントメトリックとを計算するように構成され、
補正器は、前記新規畳み込み値のコヒーレントメトリックと、前記記憶された結果とを比較し、前記新規畳み込み値が前記記憶された結果より大きい場合、前記新規畳み込み値を記憶されている結果に代えて記憶するよう構成され、
高速検索モジュールは、前記記憶されている結果の少なくとも1つの値について、高速検索数値制御発振器のS×kパルス毎に1回、前記受信無線信号内に既知のPRNコードとそのパラメータを有する信号があるか否かを判定するように構成される、
ことを特徴とする装置。
【請求項2】
前記FSNCOのS個のパルスに1回、ドップラー位相を出力するように構成されたドップラー数値制御発振器(DopNCO)と、
前記新規畳み込み値を前記DopNCOの出力における位相に比例する位相に回転させる、少なくともD-1個のデジタル位相シフタ(D-1は偶数整数)と、
をさらに備え、
前記メモリユニットはD×S値を記憶するように構成され、
前記FSNCOの各パルスに対する動作として、
前記D-1個の位相シフタの各々において、前記相関器からの出力値がDopNCO出力の位相に比例する位相に回転され、D-1個の回転位相畳み込み結果が生成されることと、
得られたD-1個の回転畳み込み結果および非回転畳み込み結果が、D×S値を記憶するように構成された前記メモリユニット内の以前の値に加算され、加算により得られたD個の結果が、前記メモリの同じアドレスに記憶されることと、
前記回転/非回転畳み込み結果と、前記D×S値を格納するように構成された前記メモリユニット内の以前の値と、の加算結果に従って、前記新しいD個の畳み込み値のコヒーレントメトリックを計算することと、
が実行されることを特徴とする、請求項1に記載の装置。
【請求項3】
S個のパルスのK番目の周期において、D×S個のコヒーレントメトリクスの中に、前記受信無線信号内の既知のPRNコードとそのパラメータとを有する信号があるか否かを判定することを特徴とする、
請求項2に記載の装置。
【請求項4】
再読込生成器を更に備え、
前記再読込生成器は、前記符号発生器の状態を記憶し、インコヒーレント期間の終了時にS×k+1パルスで前記符号発生器の記憶されている状態を前記符号発生器にロードする、
請求項1に記載の装置。
【請求項5】
コヒーレントカウンタと、
非コヒーレントカウンタと、
を更に備え、
前記コヒーレントカウンタは、S個のパルスのK個の周期を計数し、前記非コヒーレントカウンタは、前記コヒーレントカウンタの周期を計数するために使用することができ、前記非コヒーレントカウンタがインクリメントされる前の最後のS個のパルスにおいて、各D個のコヒーレントメトリクスは、D個の非コヒーレントメトリクスに加算される値に変換され、前記更新された非コヒーレントメトリクスと前記得られた値は、前記メモリユニットに記憶されることを特徴とする、
請求項1に記載の装置。
【請求項6】
制御アキュムレータをさらに含み、
前記制御アキュムレータは、前記FSNCOのレートで前進させられるN個の巡回シフトレジスタを備え、前記制御アキュムレータへの入力が構成に基づいて0に設定される、
請求項1に記載の装置。
【請求項7】
データソート中の推定値の加算は、前記期間S×k中のドップラーメトリクスの結果と、各オフセットに対するドップラーメトリクスとが別々にソートされることからなることを特徴とする、請求項1記載の装置。
【請求項8】
アンテナで無線信号を受信するステップであって、前記無線信号は既知のPRN符号を有するステップと、
前記アンテナからの前記無線信号をRFパスに送信するステップと、
中間周波数信号を用いて前記RFパスから前記信号を送信するステップと、
ADCで前記中間周波数信号をサンプリングするステップであって、パルス周期の前記サンプリングはPRN要素の数値制御発振器から出力されるステップと、
前記ADCからの受信信号に基づいて、デジタルミキサによりゼロ周波数でサンプリングされた信号を生成するステップと、
デシメータが前記ゼロ周波数でサンプリングされた信号を受信したことに応答して、前記デシメータの出力をシフト配列の入力に送信するステップと、
相関器において、一対の量子化ユニットを介して前記デシメータから受信した前記シフト配列入力とPRN符号要素の非シフト配列との畳み込みを計算するステップと、
前記相関器から出力される計算結果値を第1のメモリユニットに記憶するステップと、
符号発生器において、前記数値制御発振器から出力されるパルスに従って新規要素を計算するステップと、
高速サーチ数値制御発振器(FSNCO)から、所定周期でパルスを出力するステップと、
前記デシメータにより、前記所定周期のパルスに基づいて新規出力サンプルを生成するステップと、
前記相関器により、前記新規出力サンプルを含むように入力サンプルのシフト配列をシフトするステップと、
前記相関器により、PRN符号発生器の出力の現在の状態を含むようにPRN符号要素のシフト配列をシフトするステップと、
前記相関器により、前記数値制御発振器のS個のパルスの間に1回、前記PRN符号要素のシフト配列をPRN符号要素の非シフト配列にコピーするステップと、
前記相関器により、新規畳み込み値、および、当該新規畳み込み値のコヒーレント/非コヒーレントメトリックを計算するステップと、
補正器により、計算された非コヒーレントメトリック値に基づくメトリックと、記憶されている結果と、を比較し、前記新規メトリック値が前記記憶されている結果より大きい場合、新規畳み込み値が記憶されている結果の代わりに記憶されるステップと、
高速検索モジュールにより、前記記憶されている結果の少なくとも1つの値について、高速検索NCOのS×kパルスごとに1回、前記受信した無線信号内に既知のPRNコードとそのパラメータを有する信号があるか否かを判定するステップと、
を含む方法。
【請求項9】
ドップラー数値制御発振器(DopNCO)から前記FSNCOのS個のパルスに1回ドップラー位相を出力するステップと、
少なくともD-1個のデジタル位相シフタにより、前記新規畳み込み値をDopNCO出力における位相に比例する位相に回転させるステップと、
D×S値を前記メモリユニットに記憶するステップと、
前記D-1個の位相シフタの各々において、前記FSNCOの各パルスに対して、前記相関器からの前記出力値を、ドップラーNCO出力の位相に比例した位相に回転させてD-1個の回転位相畳み込み結果を生成するステップと、
前記メモリユニットにおいて、前記FSNCOの各パルスについて、前記得られたD-1回転畳み込み結果および非回転畳み込み結果を前記メモリユニット内の以前の値に加算し、前記加算で得られたD個の結果を同じアドレスで前記メモリユニットに記憶するステップと、
前記FSNCOの各パルスについて、前記新規結果の前記コヒーレントメトリックを計算するステップと、
をさらに含む、請求項8に記載の方法。
【請求項10】
前記得られたD-1個の回転畳み込み結果に基づいて得られたD-1個のメトリクスが、D×S値を記憶するように構成されたメモリユニットに入力され、
非回転/回転結果に基づいて得られたメトリクスが、前記結果を記憶するためにD×S値を記憶するように構成されたメモリユニットに入力され、
S×kパルス毎に1回、前記受信無線信号内の既知のPRN符号およびそのパラメータを持つ信号の有無が判定される、
ことを特徴とする請求項9に記載の方法。
【請求項11】
再読込生成器で前記符号発生器の状態を記憶するステップと、
前記インコヒーレント期間の終了時に、S×k+1パルスで、再読込発生器から前記符号発生器に、前記符号発生器の前記記憶された状態をロードするステップと、
をさらに含む請求項8に記載の方法。
【請求項12】
S個のパルスのK個の周期を計数するステップであって、前記K個の周期はコヒーレント積分期間として関連付けられているステップと、
コヒーレント積分期間の数を計数するステップであって、前記コヒーレント積分期間の数は非コヒーレント積分期間として関連付けられているステップと、
D個のコヒーレントメトリクスを、D個の非コヒーレントメトリクスに加算される値に変換するステップであって、各変換は、各コヒーレント積分期間の終了前の最後のS個のパルスからの各パルスに対して実行され、前記更新された非コヒーレントメトリクスは、D×S値をメモリユニットに記憶するように構成されているステップと、
をさらに含む請求項8に記載の方法。
【請求項13】
N個の巡回シフトレジスタをFSNCOのレートで前進させ、制御アキュムレータへの入力が構成に基づいてゼロに設定されるステップと、
をさらに含む、請求項8に記載の方法。
【請求項14】
データソート中の推定値の加算は、期間S×k中のドップラーメトリクスの結果と、各オフセットに対するドップラーメトリクスとが別々にソートされることからなることを特徴とする、請求項8記載の方法。
【請求項15】
既知の擬似ランダムノイズ符号を持つ信号を受信するステップと、
擬似ランダムノイズが符号発生器によって生成されるときの符号発生器の状態情報を記憶するステップと、
前記受信信号に関連する検索窓の1回目の確認を行うステップと、
前記受信信号の送信元が特定できるか否かを判定するステップと、
前記判定に応答して、前記検索窓の2回目の確認より前に、前記符号発生器に状態情報をロードするステップと、
を含む方法。
【請求項16】
前記擬似ランダムノイズが前記擬似ランダムノイズ符号に関連付けられる、請求項15に記載の方法。
【請求項17】
前記受信信号は、高速検索数値制御発振器周波数上の複数の多重化信号を用いて制御アキュムレータにより処理される、請求項15に記載の方法。
【請求項18】
前記複数の多重化信号のうちの1つがゼロ化される、請求項17に記載の方法。
【請求項19】
前記判定前に、前記受信信号に中間周波数を乗算することを特徴とする、請求項15に記載の方法。
【請求項20】
前記受信信号に回転角が加えられることを特徴とする、請求項15に記載の方法。
【請求項21】
前記回転角がドップラー数値制御発振器に基づくことを特徴とする、請求項20に記載の方法。
【請求項22】
前記検索窓を確認している間に生成された結果は、コヒーレントモードで記憶されることを特徴とする、請求項15に記載の方法。
【請求項23】
前記検索窓を確認している間に生成された結果は、非コヒーレントモードで記憶されることを特徴とする、請求項15に記載の方法。
【請求項24】
前記インコヒーレント期間の終了する時、および、前記コヒーレントカウンタがS個のパルスのK個の周期をカウントする時、高速検索モジュールが、前記ドップラ周波数それぞれに対する非コヒーレントメトリクスS×Dの複数の最大値を個別に検出/ソートし、それらを保存し、保存された値はCPUを読み出し、前記保存された値は、非コヒーレントメトリクス、コヒーレントメトリクス、および遅延数を含む、ことを特徴とする請求項5記載の装置。
【請求項25】
前記非コヒーレント積分期間の終了時に、前記ドップラー周波数それぞれに対するS×Dの非コヒーレントメトリクスのうちの複数の最大値が個別に選択され、前記選択された値がCPUによって読み取られ、前記保存された値は、非コヒーレントメトリクス、コヒーレントメトリクス、および遅延数を含むことを特徴とする、請求項12に記載の方法。
【請求項26】
前記インコヒーレント期間の終了の時、および、前記コヒーレントカウンタがS個のパルスのK個の周期をカウントする時、すべての非コヒーレントメトリックが加算され、その結果がCPUによって読み取られる、ことを特徴とする、請求項1記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、航法受信器および信号処理の方法に関する。特に、全地球航法衛星信号(GNSS)の高速検索、および、グローバルポジショニングシステム(GPS)、全地球航法衛星システム(GLONASS)、およびガリレオ衛星システムなどのさまざまなシステムの処理信号に関する。
【背景技術】
【0002】
全地球航法衛星システム(GNSS)は、衛星を使用して、受信機が取得した無線信号を送信する。受信機は、受信機の位置を決定する目的で、取得信号を使用する。GNSS信号は、符号遅延とドップラーオフセットを使用して検索されることが多い。検索窓Sを、検索ユニットから見た同時に考慮される遅延の数として定義すると、最も簡単に複数のチャネルを検索するには、符号生成器、符号NCO(CRNCO)および中間周波数NCO(IFNCO)を含む複数の数値制御発振器(NCO)、および、相関器、を含むコンポーネントを使用する。チャネルは、1つのドップラーオフセットに対して1つの信号を検索するように構成されており、初期化時に、異なるチャネルに対して異なる符号遅延を設定する必要がある。特定のドップラーオフセットを検索するには、チャネルを再起動またはリセットする必要がある。この方法では、多数のチャネルと、チャネルそれぞれに関連づけられている相関器、符号生成器、CRNCO、および、IFNCOが必要である。
【発明の概要】
【0003】
本開示は、一般に、全地球航法衛星システム(GNSS)に関し、より詳細には、GNSSシステムの受信機に関する。一実施形態において、既知の擬似ランダムノイズ(PRN)符号を有する無線航法信号を高速検索するための装置は、既知のPRN符号を有する信号を受信するためのアンテナを含む。無線周波数パスは、アンテナから無線信号を受信し、それらの信号を中間周波数信号に移動するように構成されている。数値制御発振器はPRN要素の周期でパルスを出力するように構成され、アナログデジタルコンバータ(ADC)は中間周波数信号をサンプリングするように構成されている。デジタルミキサは、ADCから信号を受信し、ゼロ周波数でサンプリングされた信号を出力するように構成されている。デシメータは、デジタルミキサからゼロ周波数でサンプリングされた信号を受信するように構成されている。相関器は、一対の量子化ユニットを介してデシメータから受信した入力のシフト配列と、PRN符号要素の非シフト配列と、の畳み込みを計算するように構成され、メモリユニットは、相関器から出力された値の結果を記憶するように構成されている。符号生成器は、数値制御発振器から出力されるパルスに従って新規要素を計算するように構成されている。中間周波数数値制御発振器は、中間周波数信号の中間周波数を出力するように構成されている。高速検索数値制御発振器(FSNCO)は所定期間でパルスを出力する。FNSCOの出力パルスに応答して、
デシメータは新規出力サンプルを生成するようにさらに構成され、相関器は新規出力サンプルを含むように入力サンプルのシフト配列をシフトするようにさらに構成され、相関器はPRN符号生成器の出力の現在の状態を含めるようPRN符号要素のシフト配列をシフトするように更に構成され、相関器は、PRN符号要素のシフト配列を、数値制御発振器のS個のパルスの間に1回、PRN符号要素の非シフト配列にコピーするようにさらに構成され、相関器は、新規畳み込み値と、新規畳み込み値のメトリックと、を計算するようにさらに構成され、補正器は、新規畳み込み値のメトリックと記憶されている結果をと比較し、新規畳み込み値が記憶されている結果より大きい場合、新規畳み込み値を記憶されている結果に代えて記憶するように構成され、および、
高速検索モジュールは、記憶されている結果の少なくとも1つの値について、S×kパルスごとに1回、受信無線信号内の既知のPRN符号を有する信号の利用可能性を判定するように構成されている。
【0004】
一実施形態において、ドップラー数値制御発振器(DopNCO)が、FSNCOのS個のパルスに1回、ドップラー位相を出力するように構成されている。この実施形態では、少なくともD-1個のデジタル移相シフタ(D-1は偶数の整数)が、新規畳み込み値をDopNCO出力の位相に比例する位相に回転させる。メモリユニットは、D×S値を記憶するようにさらに構成されている。本実施形態では、FSNCOの各パルスについて、次の操作が実行される。D-1個の位相シフタのそれぞれにおいて、相関器からの出力値はDopNCO出力の位相に比例する位相に回転し、D-1個の回転位相畳み込み結果を生成する。得られたD-1個の回転畳み込み結果と非回転畳み込み結果は、D×S値を記憶するように構成されたメモリユニット内の以前の値に加算される。そして、得られたD個の加算結果は、メモリの同じアドレスに記憶され、D×S値を記憶するように構成されたメモリユニットの以前の値に回転/非回転畳み込みの結果を加算した結果に従って、新規畳み込み値のメトリックが計算される。
【0005】
装置の一実施形態において、S個のパルスのK番目の周期で、得られたD-1個の回転畳み込み結果に基づいて得られたD-1個のメトリックが、D×S値を記憶するように構成されたメモリユニットに入力される。また、S個のパルスのK番目の周期で、非回転結果に基づいて得られたメトリックは、D×S値を記憶するように構成されたメモリユニットに結果を記憶するために入力され、S×k個のパルスごとに1回、受信無線信号内に既知のPRN符号とそのパラメータを有する信号の利用可能性が判定される。
【0006】
装置の一実施形態において、再読込生成器はS+1パルスにおける符号生成器の状態を記憶し、インコヒーレント期間の終わりのS×k+1パルスにおいて、再読込生成器は記憶されている符号生成器の状態を符号生成器に読み込む。
【0007】
一実施形態において、装置はコヒーレントカウンタと非コヒーレントカウンタをさらに備え、コヒーレントカウンタは各Sに対して畳み込み値を合計し、非コヒーレントカウンタは必要に応じてSに使用され、得られた値はD×S値を記憶するように構成されたメモリユニットに記憶される。
【0008】
一実施形態において、装置は、FSNCOのレートで前進するN個の巡回シフトレジスタを備える制御アキュムレータをさらに備え、制御アキュムレータへの入力は構成に基づいて0に設定される。
【0009】
装置の一実施形態において、データソート中の推定値の加算は期間S×k中のドップラーメトリックの結果を含み、各オフセットのドップラーメトリックは別々にソートされる。
【0010】
一実施形態において、無線航法信号の高速検索方法には、アンテナで既知のPRNコードを持つ無線信号を受信するステップが含まれる。アンテナからの無線信号はRFパスに送信され、その後、RFパスは中間周波数を使用して信号を送信する。中間周波数信号はADCでサンプリングされる。デジタルミキサは、ADCから受信した信号に基づいてゼロ周波数におけるサンプリング信号を生成する。デシメータがゼロ周波数におけるサンプリング信号を受信したことに応答して、入力のシフト配列がデシメータから送信される。一対の量子化ユニットを介してデシメータから受信した入力のシフト配列の畳み込みは、PRN符号要素の非シフト配列を用いて計算される。相関器の出力値の結果は、第1のメモリユニットに記憶される。符号生成器は、数値制御発振器から出力されるパルスに従って新規要素を計算する。高速検索数値制御発振器から、所定周期のパルスが出力される。デシメータは、所定周期のパルスに基づいて新しい出力サンプルを生成する。相関器は、入力サンプルのシフト配列をシフトして、新規出力サンプルを含める。相関器はまた、PRN符号要素のシフト配列をシフトして、PRN符号生成器の出力の現在の状態を含める。また、相関器は、数値制御発振器のS個のパルス中に1回、PRN符号要素のシフト配列をPRN符号要素の非シフト配列にコピーする。相関器は、新規畳み込み値と新規畳み込み値のメトリックも計算する。補正器は、新規畳み込み値のメトリックと、記憶されている結果と、を比較し、新規畳み込み値が記憶されている結果よりも大きい場合、新規畳み込み値を記憶されている結果に代えて記憶する。高速検索モジュールは、記憶されている結果の少なくとも一つの値に対し、S×k個のパルスごと1回、受信無線信号内に既知のPRN符号とそのパラメータとを有する信号の利用可能性を判定する。
【0011】
一実施形態において、GNSS受信器で実行されるGNSS信号を高速検索する方法は、既知の擬似ランダムノイズ符号を持つ信号を受信するステップを含む。符号生成器の状態情報は、擬似ランダムノイズが生成されたときに記憶される。擬似ランダムノイズは、擬似ランダムノイズ符号に関連付けられている。受信信号の送信元を特定するために受信信号に関連付けられた検索窓の1回目の確認(レビュー)が行われる。受信信号の送信元を特定できるか否かが判定された後、検索窓の2回目の確認の前に、状態情報が符号生成器に読み込まれる。状態情報の読み込みにより、高速検索モジュールを再調整することなく検索窓の連続確認が可能になるので、受信信号の分析処理が高速化する。一実施形態において、検索窓は、全長PRN符号だけシフトする。
【0012】
一実施形態において、受信信号は、高速検索数値制御発振器周波数上の複数の多重化信号を使用する制御アキュムレータによって処理される。複数の多重化信号のうちの1つはゼロにしてもよい。このゼロ化により、ゼロ化された信号は複数の信号の分析において無視される。一実施形態において、受信信号は、送信元を識別できるか否かを判定する前に、中間周波数で乗算される。一実施形態において、受信信号に回転角が加算される。回転角は、ドップラー数値制御発振器発振器に基づく。検索窓の確認中に生成された結果は、コヒーレントモードまたは非コヒーレントモードに記憶してもよい。非コヒーレントモードにより、重畳データを使用して信号を検索できる。
【0013】
一実施形態において、非コヒーレント期間の終わりに、コヒーレントカウンタがS個のパルスのK個の周期を計数すると、すべての非コヒーレントメトリックが加算され、結果はCPUによって読み取られる。
【0014】
一実施形態において、非コヒーレント期間の終わりに、コヒーレントカウンタがS個のパルスのK個の周期を計数すると、受信無線信号中に既知のPRN符号とそのパラメータを有する信号の利用可能性をD×S非コヒーレントメトリックの間で判定し、結果はCPUによって読み取られる。
【図面の簡単な説明】
【0015】
【
図2】
図1に示す高速検索モジュールの詳細を示す図である。
【
図3】
図2に示すデジタルミキサとデシメータの詳細を示す図である。
【
図4A】
図2に示されている制御カウンタの詳細を示す図である。
【
図5】
図2に示す部分並列相関器の詳細を示す図である。
【
図7A】
図2に示す制御アキュムレーションユニットの詳細を示す図である。
【
図7B】
図7Aに示す制御アキュムレーションユニットの標準的な動作を示す図である。
【0016】
【
図7C】
図7Aに示す制御アキュムレーションユニットの非アキュムレーションモードの動作を示す図である。
【0017】
【0018】
【0019】
【
図10】
図9に示すソートユニットの動作のフローチャートを示す図である。
【0020】
【
図11】
図2に示すパッカーの詳細を示す図である。
【0021】
【
図12】
図2に示すドップラーNCOが生成する信号を示す図である。
【0022】
【
図13】
図1に示す航法受信器の動作方法のフローチャートを示す図である。
【発明を実施するための形態】
【0023】
衛星信号の高速検索のための方法および装置は、全地球航法衛星システムの衛星から送信された信号を受信し処理する受信器を備える。
【0024】
図1は、衛星信号を受信し処理するための受信器110を示している。一実施形態において、擬似ランダムノイズ(以下PRNと表記する)を含む衛星信号がアンテナ100によって受信される。受信信号は、RFパス101(1)からアナログデジタル変換器(以下ADCと表記する)102(1)を通過する。変換された信号は、ADC102(1)から衛星チャネル103(1)および高速検索モジュール(以下FSNと表記する)104(1)に送信される。衛星チャネル103(1)およびFSM104(1)は、中間周波数に送信されるデジタル化信号を受信する。FSM104(1)は、中間周波数および参照符号遅延に基づいて信号検索を実行する。衛星チャネル103(1)は、ADC102(1)からのデジタル化信号を処理する。なお、RFパス101(1)~101(R)、ADC102(1)~102(R)、衛星チャネル103(1)~103(C)、および、FSM104(1)~104(F)、の複数セットを用いることができる。また、図に複数の類似パスが示されている場合でも、1つのチャネルのみについて説明し、その他の類似パスの構成および機能については、説明したパスと同様と理解される。
【0025】
タイミングモジュール105は、FSM104(1)と衛星チャネル103の制御を同期させる。タイミングモジュール105は、所定の数のクロックパルスを計数し、中央処理ユニット(以下CPUと表記する)106への割り込みを発生する。CPU106は、タイミングモジュール105、FSM104、および、衛星チャネル103を制御する。CPU106は、FSM104およびチャンネル103からの情報を処理し、通信モジュール107を介してデータをユーザー108に送信する。
【0026】
図2は、
図1に示されているFSM104(1)の詳細を示している。ここではFSM104(1)の構成および動作のみを説明するが、受信器110で使用される追加の高速検索モジュールの構成および動作も同様である。一実施形態において、FSM104(1)は、様々な信号と相互作用する以下のコンポーネントを備える。すなわち、FSM104(1)は、符号レート数値制御発振器(NCO)201(以下CRNCOと表記する)、符号生成器202、中間周波数NCO(IFNCO)204、参照符号(参照擬似ランダムノイズ(PRN)列)S203、デシメータ205、高速検索NCO(FSNCO)206、分周高速検索周波数S207、量子化ユニット208、量子化ユニット209、部分並列相関器210、I成分の「ユニット1」の数S211、Q成分の「ユニット1」の数S212、回転ユニット213、ドップラーNCO(DopNCO)214、回転信号(D…2)S215、検索器216、制御カウンタからの信号S217、遅延カウンタの動作終了信号(S403に等しい)S218、制御カウンタ219、パッカー220、メモリユニット221、コミュテータ222、制御アキュムレータ223、再読込生成器224、分周器225、補正器226、I成分の相関信号 S227、Q成分の相関信号S228、初期化ユニットを介する遅延カウンタの動作終了信号(S417に等しい)S229、非コヒーレントカウンタの動作終了信号S230、デジタルミキサ231、制御検索器232、メモリユニットからの読みだし信号S233、メモリユニットへの書き込み信号S234、および、中間周波数信号S235、を備える。
【0027】
一実施形態において、CPU106はFSM104内の次のユニットを制御する。すなわち、CPU106は、符号レートNCO(CRNCO)201、符号生成器202、高速検索NCO(FSNCO)206、量子化ユニット208、量子化ユニット209、部分並列相関器210、ドップラーNCO(DopNCO)214、検索器216、制御カウンタ219、パッカー220、コミュテータ222、制御アキュムレータ223、再読込生成器224、分周器225、および補正器226を制御する。
【0028】
一実施形態において、FSM104は、CPU106が選択した信号を検索する前に初期化が必要である。一実施形態において、初期化中に次の動作が実行される。コミュテータ222は、分析対象の目標信号に基づいてADC102(1)からADC102(R)のいずれかに電気的に接続する。制御アキュムレータ223は、必要に応じて調整される。CRNCO201において擬似ランダムノイズ(PRN)生成器の周波数が設定され、必要に応じて分周器225が調整される。符号生成器202および再読込生成器224が必要に応じて調整される。発振器/生成器IFNCO204の中間周波数S235が設定される。発振器FSNCO206における高速検索周波数が設定される。発振器DopNCO214においてドップラー周波数が設定される。ユニット402、ユニット405、およびユニット408の値は、制御カウンタ219において調整される。量子化ユニット208および量子化ユニット209の設定が調整される。そして、相関器226、パッカー220、および、部分並列相関器210が調整される。
【0029】
実施形態によると、初期化後、FSM104は次のように動作する。IFNCO204、CRNCO201、および、FSNCO206は、タイミングモジュール105からの信号に基づいて動作する。IFNCO204は、デジタルミキサ231に供給される中間周波数信号S235を生成する。FSNCO206の高速検索周波数は、制御アキュムレータ223および分周器225に入力される。その後、選択されたADC102からの信号がコミュテータ222から制御アキュムレータ223に供給される。必要に応じて、制御アキュムレータ223において、入力信号が0に設定される。制御アキュムレータ223からの出力信号は、デジタルミキサ231に入力される。高速検索周波数は、必要に応じて分周器225によって分周される。次に、分周器225は、分周高速検索周波数信号S207を出力し、この信号S207はデシメータ205、部分並列相関器210、および、制御カウンタ219に入力される。
【0030】
デジタルミキサ231では、制御アキュムレータ223およびIFNCO204からの信号が乗算され、デシメータ205に入力される。デシメータ205は、デジタルミキサ231から信号を受信し、その信号を分周高速検索周波数S207と一緒に蓄積および記憶する。記憶された信号は、量子化ユニット208および量子化ユニット209に入力される。量子化ユニット208および量子化ユニット209は、部分並列相関器210に入力される量子化信号を出力する。
【0031】
発振器CRNCO201は、再読込生成器224および符号生成器202に入力される符号周波数を生成する。符号生成器202は、PRN符号である参照符号S203を生成する。再読込生成器224は、必要に応じて符号生成器202の再初期化に使用される。参照符号信号S203は、部分並列相関器210に入力される。一実施形態において、符号生成器202は、多重化符号、BOC符号、MBOC符号、メモリ符号などを含むさまざまな符号形式を生成できる。一実施形態において、ユニット202は、符号を生成するために、周波数符号分周器と蛇行発生器とを備える。
【0032】
分周された高速検索周波数信号S207は、制御カウンタ219の入力に供給される。制御カウンタ219は、制御信号S217、制御信号S218、制御信号S229、および制御信号S230を生成する。制御信号S217は、制御検索器232、検索器216、および、パッカー220に供給される。制御信号S218はDopNCO214に入力され、制御信号S229は部分並列相関器210に入力され、制御信号S230はCPU106に入力される。
【0033】
制御カウンタからの信号S217は次の情報を含む。すなわち、遅延数S401、コヒーレントカウンタ閾値トリガ信号S406、MAX検出信号S412、非コヒーレントカウンタの動作終了信号S413、検出器の周波数S420、および、アキュムレーション処理開始信号S421、を含む。
【0034】
部分並列相関器210において、208の出力信号、209の出力信号、および、参照符号信号S203は、分周された高速検索周波数S207との相関に使用される。部分並列相関器210からは、時間内相関信号S211および時間内相関信号S212が出力される。
【0035】
信号S211および信号S212は補正器226に入力される。補正器226では、部分並列相関器210の相関時間に応じた数学演算が生成される。信号S227および信号S228は補正器226から出力される。
【0036】
信号S218はDopNCO214に入力される。信号S218に基づいて、DopNCO214は新しい回転信号S215(D…2)を生成する。信号S227、信号S228、および信号S215は、回転ユニット213に入力される。回転ユニット213では、信号S215を使用して信号S227と信号S228を回転する。
【0037】
検索器216(D)および検索器216(2)に入力される信号には、信号S217、信号S233、信号S234、信号S227、信号S228が含まれる(例:回転ユニット213(D)および回転ユニット213(2)からの出力)。
【0038】
制御検索器232は、メモリユニット221から読み出すときに信号S233を生成し、メモリユニット221に書き込むときに信号S234を生成する。制御検索器232は、メモリユニット221からの情報を検索器216(1)、検索器216(2)、…検索器216(D)に送信し、パッカー220を介してメモリユニット221と通信する。制御検索器232は、検索器S420が送信した周波数に基づいて信号S233および信号S234を生成し、パッカー220を介してメモリユニット221に対して読み書きを行う。
【0039】
検索器216は、遅延数S401ごとに信号S227および信号S228(回転ユニット213からの出力)を使用してコヒーレント動作および非コヒーレント動作を実行し、結果をメモリユニット221に記憶する。計算の一時的な結果は、パッカー220を介してメモリユニット221に読み書きされる。また、コヒーレントおよび非コヒーレントの記憶の最新の間隔で、すべての結果の中から最大の結果が選ばれ、保存される。選択された結果はメトリクスである。CPU106は、検索器216から取得したメトリックを読み取る。
【0040】
図7Aは、
図2に示されている制御アキュムレーションユニット223の詳細を示す。
図7Aに示されている制御アキュムレーションユニット223には、レジスタ700(1)、レジスタ700(2)、レジスタ700(3)からレジスタ700(N)、およびスイッチ701が含まれる。一実施形態において、レジスタ700は循環シフトレジスタである。
【0041】
与えられた例では、N=2Mである。動作前に、CPU106はレジスタ700に値を書き込む。FSNCO206からの出力信号はユニット223に供給される。高速検索周波数を使用して、レジスタ700(1)の値がレジスタ700(2)に書き込まれ、レジスタ700(2)からレジスタ700(3)に値が書き込まれ、レジスタ700(N-1)からさらにレジスタ700(N)に値が書き込まれ、レジスタ700(N)からレジスタ700(1)に値が書き込まれる。レジスタ700(N)の出力は、レジスタ700(1)の入力とスイッチ701の制御入力に接続される。コミュテータ222の出力は、スイッチ701の入力に供給される。スイッチ701の出力は、デジタルミキサ231の入力に接続される。レジスタ700(N)の出力で0が利用可能な場合、ユニット222の出力信号がスイッチ701の出力に供給される。レジスタ700(N)の出力で1が利用可能な場合、値「0」がスイッチ701の出力に供給される。
【0042】
図7Bは、標準動作モードを示している。プロセッサ106は、すべてのレジスタ700に0を書き込む。コミュテータ222からの信号は、制御アキュムレーションユニット223に入力される。標準動作モードでは、入力から出力への信号が変更されずに送信される。このモードでは、分周器225は周波数FSNCO206を分周せずに通過させる。
【0043】
図7Cは、非アキュムレーションモードで動作するプロセスを示す。本実施形態において、レジスタ700の数は4であり、レジスタ700(1)、レジスタ700(2)、レジスタ700(3)、およびレジスタ700(4)として識別される。プロセッサ(CPU)106は、次の値をレジスタ700に書き込む。すなわち、レジスタ700(1)=0、レジスタ700(2)=1、レジスタ700(3)=0、レジスタ700(4)=1。一例として、FSNCO206の1つのチップがない場合の本動作モードを説明する。コミュテータ222からの信号は、制御アキュムレーションユニット223に入力される。入力信号は、FSNCO206のチップを使用してゼロに設定される。FSNCO206の1つのチップは出力においてゼロに等しく、出力における次のチップ信号は入力信号に等しくなる。このモードでは、分周器225は周波数FSNCO206を2に分周する。
【0044】
図3は、デジタルミキサ231とデシメータ205の詳細を示している。デジタルミキサ231は、コサインユニット300、サインユニット301、乗算器302、および乗算器303を備える。デシメータ205は、加算ユニット304、加算ユニット305、レジスタ306、レジスタ307、バッファ308、バッファ309、スイッチ310、及びスイッチ311を備える。
【0045】
デジタルミキサ231は、233を通過したデジタル化信号をゼロ周波数に転送する。IFNCO204の周波数は、デジタルミキサ231に入力される。IFNCO204の周波数は、デジタルミキサ231のコサインユニット300およびサインユニット301に入力される。コサインユニット300の出力は、乗算器302に入力され、そこで制御アキュムレーションユニット223の出力と乗算される。サインユニット301の出力は、乗算器303に入力され、そこで制御アキュムレーションユニット223の出力と乗算される。乗算器302および乗算器303の出力は、デシメータ205に入力される。
【0046】
ユニット302の出力は加算ユニット304に入力され、そこでスイッチ310を通過したレジスタ306の出力信号と加算される。ユニット303の出力は加算ユニット305に入力され、そこでスイッチ311を通過したレジスタ307の出力信号と加算される。加算ユニット304の出力は、レジスタ306に入力される。加算ユニット305の出力はレジスタ307に入力される。
【0047】
ユニット304およびユニット305からの経時的な加算結果は、レジスタ306およびレジスタ307に記憶される。信号S207に従って、レジスタ306およびレジスタ307の値がバッファ308およびバッファ309に書き込まれる。信号S207に従って、スイッチ310の出力からのゼロが加算ユニット304に入力される。信号S207に従って、スイッチ311の出力からのゼロが加算ユニット305に入力される。バッファ308の出力は、量子化ユニット208の入力に供給される。バッファ309の出力は、量子化ユニット209の入力に供給される。必要に応じて、制御アキュムレーションユニット223の出力をゼロに設定することができ、その場合、乗算器302および乗算器303の出力も同様にゼロになる。
【0048】
図7Bに戻り、信号S217に従って、レジスタ306およびレジスタ307の値はゼロに等しくなる。制御アキュムレーションユニット223の入力信号はデシメータ205の出力に送信され、その値はレジスタ306およびレジスタ307に記憶される。
【0049】
図7Cに戻り、信号S217に従って、レジスタ306およびレジスタ307の値はゼロに等しくなる。次に、制御アキュムレーションユニット223は、レジスタ306およびレジスタ307の値をゼロに設定する。これにより、レジスタ306およびレジスタ307には、ある時間ゼロの値がある。この値をゼロとする設定が終了すると、値が再びレジスタ306およびレジスタ307に格納される。処理が再開する。
【0050】
図4Aは、
図2に示される制御カウンタ219の詳細を示している。一実施形態において、制御カウンタ219は、さまざまな信号と相互作用する以下の構成要素を備える。すなわち構成要素は、制御カウンタ219は、遅延カウンタ400、遅延数S401、閾値遅延カウンタ402、コヒーレントカウンタ404、閾値コヒーレント遅延ユニット405、コヒーレントカウンタ閾値トリガ信号S406、非コヒーレントカウンタ407、閾値非コヒーレント遅延408、非コヒーレントカウンタ閾値トリガ信号S409、ANDゲート410、ANDゲート411、MAX/検索MAXの検索信号S412、非コヒーレントカウンタ動作終了識別信号S413、コヒーレントカウンタ動作終了識別信号S414、ANDゲート415、遅延カウンタ動作終了識別信号S417、動作開始418、ANDゲート419、検索器からの周波数信号S420、および、アキュムレーション開始S421、を含む。
【0051】
FSM104を初期化するプロセスにおいて、CPU106は制御カウンタ219を始動し、閾値遅延カウンタ402、閾値コヒーレント遅延ユニット405、閾値非コヒーレント遅延ユニット408を割り当てる。
【0052】
初期化後、遅延カウンタ400は0に設定され、コヒーレントカウンタ404は0に設定され、非コヒーレントカウンタ407は0に設定される。分周された高速検索周波数信号S207は、制御カウンタ219に入力される。信号207は、遅延カウンタ400、ANDゲート415、およびANDゲート419にも入力される。
【0053】
分周高速検索信号S207が遅延カウンタ400に入力された場合、現在の値に1が追加される。遅延カウンタ400の出力信号は、閾値遅延カウンタ402に入力される。閾値遅延カウンタ402の出力はANDゲート415の入力に接続される。閾値遅延カウンタ402の入力における値がCPU106によって設定された閾値に等しく、分周高速検索信号S207がANDゲート415に入力される場合、遅延カウンタ動作終了信号S417が生成される。遅延カウンタ動作終了信号S417に従って、遅延カウンタ400は値0を取得する。
【0054】
遅延カウンタ動作終了信号S417は、遅延カウンタ400、初期ユニット416、開始ユニット418、および部分並列相関器210に入力される。遅延数信号S401は、遅延カウンタ400の出力である。遅延数信号S401は、検索器216に入力される。遅延カウンタ動作終了信号S417はS229と同じである。
【0055】
初期ユニット416は、ユニット404およびユニット407においてゼロを維持するために、遅延カウンタ動作終了信号S417の最初のパルスを遮断する。このような遮断は、初期時間に対応する(
図4B/4C/4Dを参照)。初期416を通過した遅延カウンタ動作終了信号S417は、初期を通過した遅延カウンタ終了信号S403である。
【0056】
信号S403は、コヒーレントカウンタ404、ANDゲート416、およびDoPNCOユニット214に入力される。初期モジュールを通過した遅延カウンタ終了信号S403は、S218と同じである。
【0057】
信号S403がコヒーレントカウンタ404に入力された場合、現在値に1が追加される。ユニット404の出力は、閾値コヒーレント遅延405に入力される。ユニット405の出力はANDゲート416の入力に接続される。閾値コヒーレント遅延405の入力における値がCPU106によって設定された閾値に等しく、ユニット416の入力においてS403が利用可能である場合、コヒーレントカウンタ動作終了信号S414が生成される。信号S414に従って、コヒーレントカウンタ404は値0をとる。
【0058】
信号S414は、コヒーレントカウンタ404、非コヒーレントカウンタ407、ANDゲート411に入力される。コヒーレントカウンタ閾値トリガ信号S406は、ユニット405から出力される。信号S406は、検索器216および演算ANDユニット410に入力される。
【0059】
信号S414が非コヒーレントカウンタ407に入力された場合、現在値に1が追加される。ユニット407の出力信号は、閾値非コヒーレント遅延ユニット408に入力される。ユニット408の出力は、ANDゲート411に接続される。閾値非コヒーレント遅延ユニット408の入力における値がCPU106によって設定された閾値に等しく、信号S414がユニット411に入力される場合、非コヒーレントカウンタ動作終了信号S413が生成される。信号S413に従って、ユニット407は値0をとる。
【0060】
信号S413は、非コヒーレントカウンタ407、検索器216およびCPU106に入力される。なお、信号S413は、CPU106に供給される信号S230と同じである。信号S409はユニット408から出力される。信号S409は、ANDゲート410およびANDゲート411に入力される。信号S406および信号S409はANDゲート410に入力される。信号S406と信号S409がユニット410に入力された場合、MAX探索信号S412が生成される。
【0061】
信号S417は開始ユニット418に入力される。ユニット418の出力は、ANDゲート419に入力される。ユニット418の出力信号がANDゲート419に入力されることで、信号S417の最初のパルスが発生するまで、信号S207がANDゲート419を通過できない。すなわち、ANDゲート419からの信号出力は、遅延カウンタ400がユニット402に割り当てられた閾値までカウントアップしてカウントリセットされた後(遅延カウンタ400の全サイクルが終了した後)に発生する。
【0062】
信号S420はユニット419の出力信号である。信号S421は開始ユニット418の出力に供給される。初期化後、信号S421=1である。信号S417の最初のパルスが開始ユニット418に入力される時、信号S421は値1である。信号S417の2番目のパルスが開始ユニット418に到達する時、信号S421は値0である。信号S421および信号S420は検索器216に入力される。
【0063】
遅延カウンタ400は、0からS-1までカウントする。ここで、S-1は、閾値遅延カウンタ402にプログラムされている最大数である。
【0064】
制御カウンタからの信号S217は、遅延数信号S401、コヒーレントカウンタ閾値トリガ信号S406、MAX検索信号S412、非コヒーレントカウンタ動作終了信号S413、検索器の周波数識別信号S420、アキュムレーション開始識別信号S421、を含む。
【0065】
図4B、
図4C、および
図4Dは、制御カウンタ219の3つの構成に関する動作ダイアグラムである。
【0066】
図4Bは、例1を示している。ここでは、閾値遅延カウンタ402=3、閾値コヒーレント遅延405=1、および、閾値非コヒーレント遅延408=1、である。
【0067】
図4Cは、例2を示している。ここでは、閾値遅延カウンタ402=3、閾値コヒーレント遅延405=0、および、閾値非コヒーレント遅延408=2、である。
【0068】
図4Dは、例3を示している。ここでは、閾値遅延カウンタ402=3、閾値コヒーレント遅延405=2、および、閾値非コヒーレント遅延408=0、である。
【0069】
図5は、
図2に示される部分並列相関器210の詳細を示す。部分並列相関器210は、符号シフトレジスタ(方式C)500(1)、符号シフトレジスタ500(2)、符号シフトレジスタ500(3)、符号シフトレジスタ500(S)、I成分シフトレジスタ(方式I)501(1)、I成分シフトレジスタ501(2)、I成分シフトレジスタ501(3)、I成分シフトレジスタ501(S)、参照符号シフトレジスタ(方式RC)502(1)、参照符号シフトレジスタ502(2)、参照符号シフトレジスタ502(3)、参照符号シフトレジスタ502(S)、Q成分シフトレジスタ(方式Q)503(1)、Q成分シフトレジスタ503(2)、Q成分シフトレジスタ504(3)、Q成分シフトレジスタ503(S)、乗算器504(1)、乗算器504(2)、乗算器504(3)、乗算器504(S)、乗算器505(1)、乗算器505(2)、乗算器505(3)、乗算器505(S)、加算ユニット506、加算ユニット507、キー508(S)、キー509(S)、を備える。
【0070】
一実施形態において、部分並列相関器210の初期化はキー508およびキー509によって開始される。
【0071】
一実施形態において、部分並列相関器210は次のように動作する。参照符号信号S203は、1または0となる値を持つビット数である。量子化ユニット208および量子化ユニット209は、入力に供給された値の符号を出力する。値0および1のビット数がユニット208およびユニット209の出力において出力される。
【0072】
信号S207は、部分並列相関器210に入力される。信号S207が利用可能である場合、符号シフトレジスタ500(1)、符号シフトレジスタ500(2)、符号シフトレジスタ500(3)、および符号シフトレジスタ500(S)はデータを確定する。参照符号信号S203は、符号シフトレジスタ500(1)に入力される。次に、符号シフトレジスタ500(1)からの出力信号が符号シフトレジスタ500(2)に入力される。符号シフトレジスタ500(2)からの出力信号は、符号シフトレジスタ500(3)に入力される。符号シフトレジスタ500(3)からの出力信号は、符号シフトレジスタ500(S)に入力される。
【0073】
信号S207が存在する場合、I成分シフトレジスタ501(1)、501(2)、501(3)、501(S)、および、Q成分シフトレジスタ503(1)、502(2)、503(3)、503(S)はデータを確定する。ユニット208の出力信号は、I成分シフトレジスタ501(1)に入力される。次に、I成分シフトレジスタ501(1)の出力信号は、I成分シフトレジスタ501(2)に入力される。I成分シフトレジスタ501(2)の出力信号は、I成分シフトレジスタ501(3)に入力される。I成分シフトレジスタ501(3)の出力は、I成分シフトレジスタ501(S)に入力される。ユニット209の出力信号は、Q成分シフトレジスタ503(1)に入力される。次に、Q成分シフトレジスタ503(1)の出力信号は、Q成分シフトレジスタ503(2)の入力に供給される。Q成分シフトレジスタ503(2)の出力信号は、Q成分シフトレジスタ503(3)力に供給される。Q成分シフトレジスタ503(3)の出力は、Q成分シフトレジスタ503(S)に入力される。
【0074】
参照符号シフトレジスタ502は、信号S229(S417)が存在する場合、データを確定する。500(1)の出力信号は、502(1)の入力に供給される。500(2)の出力信号は、502(2)の入力に供給される。500(3)の出力信号は、502(3)の入力に供給される。500(S)の出力信号は、502(S)の入力に供給される。ユニット502の値は、次の信号S229(S417)が利用可能になるまで変化しない。
【0075】
ユニット500、ユニット501、およびユニット503では、値は信号S207に従って移動する。501(1)および502(1)からの出力信号は、乗数器504(1)に入力される。501(2)および502(2)からの出力信号は、乗数器504(2)に入力される。同様に、501(3)および502(3)からの出力信号は、乗算器504(3)に入力される。501(S)および502(S)からの出力信号は乗算器504(S)に入力される。なお、ユニット504の出力信号はビットである。ユニット501およびユニット502の値は、ユニット504で乗算される。ユニット504からの出力信号は、ユニット506に入力される。
【0076】
ユニット504のより高位桁の一部は、キー508を通過する。必要に応じて、ユニット504の出力の一部はユニット506に入力されない。一実施形態において、ユニット504の出力がユニット506に入力されないかどうかは、CPU106によって閾値カウンタ遅延402に書き込まれる閾値に依存する。
【0077】
503(1)および502(1)からの出力信号は、乗数器505(1)に入力される。503(2)および502(2)からの出力信号は、乗数器505(2)に入力される。503(3)および502(3)からの出力信号は、乗数器505(3)に入力される。503(S)および502(S)からの出力信号は、乗算器505(S)に入力される。505(1)、505(2)、505(3)、および505(S)のそれぞれからの出力信号は、それぞれビットである。ユニット503およびユニット502の値は、ユニット505で乗算される。ユニット505からの出力信号は、ユニット507に供給される。
【0078】
ユニット505のより高位桁の一部は、キー509を通過する。必要に応じて、ユニット505の出力の一部はユニット507に入力されない。一実施形態において、ユニット505の出力がユニット507に入力されないかどうかは、CPU106によって閾値カウンタ遅延402に書き込まれる閾値に依存する。
【0079】
ユニット504の出力から供給されたユニット1の数は、ユニット506の出力に出力される。ユニット505の出力から供給されたユニット1の数は、ユニット507の出力に出力される。ユニット506からの合計出力は、I成分の「ユニット1」の数の信号S211に接続される。ユニット507からの合計出力は、Q成分の「ユニット1」の数信号S212に接続される。
【0080】
なお、一実施形態において、符号シフトレジスタ500は、PRN符号要素のシフト配列である。I成分シフトレジスタ501およびQ成分シフトレジスタQは、入力サンプルのシフト配列である。参照符号シフトレジスタ502は、PRN符号要素の非シフト配列である。シフト配列501と非シフト配列502の畳み込みは、ユニット504およびユニット506を使用して部分並列相関器210内で計算され、この畳み込みの結果が信号S211である。
【0081】
シフト配列503と非シフト配列502の畳み込みは、ユニット505およびユニット507を使用して部分並列相関器210内で計算され、この畳み込みの結果が信号S212である。
【0082】
図8は、
図2に示されている補正器226の詳細を示している。
補正器226は、X2乗算器800、X2乗算器801、加算ユニット802、加算ユニット803、および定数804で構成されている。一実施形態において、補正器226の初期化は次のように行われる。動作前に、CPU106はユニット804に値を設定し、ユニット804の定数の最大値はSに等しい。
【0083】
一実施形態において、補正器226の動作は次のように行われる。信号S211はX2乗算器800に入力される(ユニット506の出力)。X2乗算器800では、到着数に2が乗算される。X2乗数器800からの出力信号は、加算ユニット802に入力される。加算ユニット802では、ユニット804の出力からの定数が、X2乗算器800の出力からの値から減算される。加算ユニット802の出力は、検索器216(1)および回転ユニット213に入力される。加算ユニット802の出力は信号S227である。
【0084】
信号S212はX2乗算器801に入力される(ユニット507の出力)。X2乗算器801では、入力値が2倍される。X2乗算器801の出力は定数803に入力される。定数803では、ユニット801の出力の値から、ユニット804の出力からの定数が減算される。ユニット803の出力は、検索器216(1)および回転ユニット213に入力される。ユニット803の出力はS228である。
【0085】
出力506(S211)における数「1」を表す信号は501および502の畳み込み結果であり、補正器226から、501および502の数学的に正しい畳み込み数が出力S227に送られる。
【0086】
出力507(S212)での数「1」を表す信号は503および502の畳み込み結果であり、補正器226から、503及び502の数学的に正しい畳み込み数が出力S228に来る。
【0087】
FSM104を初期化する時、識別された構成要素で次の値が使用される。閾値カウンタ遅延402はS-1以下であり、キー508およびキー509はオンまたはオフであり、定数804はS以下である。
【0088】
補正器226の出力の式は次のとおりである。
【0089】
S227=加算ユニット(506)×2-定数(804)
【0090】
S228=加算ユニット(507)×2-定数(804)
【0091】
次の2つの例は、S227、S228、402、508、509、および804の間の接続を示しており、表には出力と定数の値が表示され、さまざまなシナリオの説明が含まれている。
【0092】
<例1>
【0093】
S=1023と仮定する。
【0094】
処理された遅延の数はSであり、S=1023である。
【0095】
閾値カウンタ遅延402=S-1=1023-1=1022である。。カウンタ遅延400は0から1022までカウントする。
【0096】
定数804=S=1023である。
【0097】
508(S)および509(S)はオンである。
【0098】
【0099】
<例2>
【0100】
S=1023-2=1021と仮定する。
【0101】
処理された遅延の数を2減らす。
【0102】
閾値カウンタ遅延402=(S-1)-2=(1023-1)-2=1020である。カウンタ遅延400は0から1020までカウントする。
【0103】
定数804=S=1021である。
【0104】
508(S)、509(S)、508(S-1)、509(S-1)が無効になっている。値504(S)および値504(S-1)は入力508に接続されていない。値505(S)および505(S-1)は入力509に接続されていない。
【0105】
【0106】
図6は、
図2に示された検索器216(1)、検索器216(2)、および検索器216(D)の詳細を示している。一実施形態において、検索器216は、様々な信号を受信および出力するための構成要素を備える。当該構成要素は、I成分の入力相関信号S601、Q成分の入力相関信号S602、I成分の加算ユニット603、Q成分の加算ユニット604、I成分の読み出し信号S605、Q成分の読み出し信号S606、推定値読み出し信号S607、スイッチ608、スイッチ609、スイッチ610、推定値計算ユニット611、推定値用加算ユニット612、I成分の書き込み信号S613、Q成分の書き込み信号成分S614、推定値の書き込み信号S615、スイッチ616、スイッチ617、スイッチ618、I成分の出力信号S619、Q成分の出力信号S620、推定値の出力信号S621、MAX622、およびスイッチ623、を含む。信号S619および信号S620はコヒーレントメトリックである。信号S621は非コヒーレントメトリックである。
【0107】
一実施形態において、検索器216の動作は次のとおりである。検索器216がメモリ211と相互作用する時、データの読み出し/書き込みはパッカー220を介して実行される。検索器216では、メモリユニット221のアドレスである信号S401に対してすべての演算が直列に実行され、S605、S606、S607がメモリ221から読み出され、ユニット603、604はIQ成分についての入力と読み出されたデータとを加算し、611がIQ成分に対して得られた総和の推定を実行し、612が入力と読み出された推定データとを加算し、IQ成分および推定についてS613、S614、S615がメモリ221書き込まれ、622が最大推定値を選択する。
【0108】
検索器216のすべての動作は、信号S420に従って実行される。制御検索器232は、検索器216のデータ処理の制御を実装している。制御検索器232は、メモリ221からの書き込み/読み出しデータの制御を生成する。メモリ読み出し信号S233に従って、メモリ221からデータが読み取れられる。メモリ書き込み信号S234に従って、メモリ211にデータが書き込まれる。
【0109】
上記動作後、リセット信号S421は1に等しくなるよう設定される。遅延カウンタ400の第1期間および第2期間の間は値1のままである。
【0110】
遅延カウンタ400の最初の動作期間中、信号S420は存在せず、この期間内にユニット500、ユニット501、およびユニット503が信号S207に従って満たされ、この期間が初期時間である(
図4B、
図4C、および
図4Dを参照)。信号S417に従って、コンポーネント500の値がコンポーネント502に再書き込みされる。さらに、コンポーネント500、501、503は信号S207に従って満たされ、コンポーネント502の値は信号S417が発生するまで変化しない。ユニット501、502、503の畳み込み結果は、補正器226を通過し、信号S227、S228として検索器216に入力される。信号S601はS227と同じであり、信号S602はS228と同じである。
【0111】
信号S601および信号S602のそれぞれの値は、それらの遅延数S401に対応する。そして、遅延カウンタ400は周期的に動作し、信号S601、S602は周期的に繰り返される遅延数S401に依存して来る。それぞれ、信号S601、S602の入力値を遅延ごとに順次処理することができる。
【0112】
遅延カウンタ400の第2の動作期間中、信号S421は1である。信号S420に従って、信号S601および信号S602は連続的に処理される。I成分の信号S605、Q成分の信号S606、および推定値の信号S607は、現遅延S401に対してメモリから読みだされる。信号S605はユニット608に供給され、信号S606はユニット609に供給され、信号S607はユニット610に供給される。信号S421がアクティブであるため、ユニット608、609、610の出力にゼロが供給される。
【0113】
ユニット608からの出力信号は、コンポーネント603に入力される。ユニット609からの出力信号は、コンポーネント604に入力される。ユニット610からの出力信号は、コンポーネント612に入力される。
【0114】
現在値S401のに対し、信号S601はコンポーネント603に入力される。現在値S401に対し、信号S602はコンポーネント604に入力される。信号S601と608の出力の値は、ユニット603で加算される。信号S602およびユニット609の出力の値はユニット604で加算される。信号S619はユニット603の出力である。信号S620はユニット604の出力である。
【0115】
S421=1では、メモリから読み出されたデータがゼロに設定され、ユニット501、ユニット502、およびユニット503に対して新規コヒーレント畳み込みアキュムレーションまたは必要に応じて新規非コヒーレント畳み込みアキュムレーションが開始される。
【0116】
信号S619および信号S620はコンポーネント611に入力される。次の数学的演算はコンポーネント601によって実行される。
【0117】
出力611=√(S619×S619+S620×S620)
【0118】
ユニット611からの出力値はコンポーネント623に入力される。S406=0の場合、同様にコンポーネント623=0である。S406=1の場合、コンポーネント611からの出力信号はコンポーネント623に入力される。コンポーネント623からの出力信号はコンポーネント612に入力される。610の出力と623の出力はユニット612で加算される。信号S621はコンポーネント612の出力である。
【0119】
S406=1では、コンポーネント500、コンポーネント501、およびコンポーネント503に対して畳み込み結果の非コヒーレントアキュムレーションが存在する。信号S619はコンポーネント616の入力に送られる。信号S620はコンポーネント617の入力に送られる。S406が「1」に等しい場合、616の出力および617の出力は「0」に設定される。S406が0に等しい場合、信号S619はコンポーネント616の出力に供給され、S620はコンポーネント617の出力に供給される。信号S613はコンポーネント616の出力である。信号S614はコンポーネント617の出力である。信号S613および信号S614は、パッカー220を介してメモリ221に書き込まれる。S406=1の場合、畳み込み501、502に対してコヒーレントアキュムレーションがゼロ化される(S406=1の場合、畳み込み501、502、503に対してコヒーレントアキュムレーションがゼロ化される)。遅延カウンタ400の次の期間では、信号S605=0および信号S606=0、つまりI成分とQ成分は0に等しく、ユニット501、ユニット502、およびユニット503における畳み込み結果のコヒーレントアキュムレーションが新たに開始される。
【0120】
信号S621はコンポーネント618に入力される。S412=1の場合、ユニット618の出力値=0である。S412=0の場合、S621はコンポーネント618の出力に供給される。信号S615はコンポーネント618の出力である。信号S615は、パッカー220を介してメモリ221に書き込まれる。
【0121】
S412=1の場合、畳み込み501、502、503に対して非コヒーレントアキュムレーションがゼロ化される(S412=1の場合、畳み込み501、502、503に対して非コヒーレントアキュムレーションがゼロ化される)。遅延カウンタ400の次の期間では、信号S607=0、つまり、推定値ユニットは0に等しく、ユニット501、502、503における畳み込み結果の非コヒーレントアキュムレーションが新たに開始される。
【0122】
信号S613、信号S614、および信号S615は、遅延数S401の現在値に対してメモリ221に書き込まれる。
【0123】
各遅延数S401に対して、信号S601がメモリからの値S605に加算され、メモリに信号S613として記憶される。信号S601は、コヒーレントカウンタ404の全動作期間にわたり記憶される。
【0124】
各遅延数S401について、信号S602がメモリからの値S606に加算され、メモリに信号S614として記憶される。信号S602は、コヒーレントカウンタ404の全動作期間にわたり記憶される。
【0125】
ユニット611の出力での各遅延数S401に対して、信号S619および信号S620に対する値が計算される。コヒーレントカウンタ404の各期間に対して、ユニット611の出力値とメモリ610の値が合計され、この合計は、非コヒーレントカウンタ407の動作期間内に記憶される。
【0126】
コヒーレントカウンタ404の動作終了時の遅延数S401ごとに、メモリ221に書き込まれる信号S613および信号S614は、S406に従って0に設定される。
【0127】
非コヒーレントカウンタ407の動作終了時の遅延数S401ごとに、メモリ221に書き込まれる信号S615は、S412に従って0に設定される。
【0128】
各遅延数S401に対し、非コヒーレントカウンタ407の動作終了時にS412が利用可能である場合、信号S619、信号S620、信号S621、コヒーレント/非コヒーレント畳み込み結果501、502、および503がユニットMAX622に供給される。
【0129】
図9は、
図6に示されているMAX622の詳細を示している。MAX622は、信号を受信する。当該信号は、I成分の出力S619、Q成分の出力S620、推定値の出力S621、遅延数S401、MAXの検索S412、非コヒーレントカウンタ動作終了信号S413、検索器周波数S420、を含む。
【0130】
MAX622には、さまざまな信号を送信および受信するコンポーネントが含まれている。当該コンポーネントは、制御MAX900、データ901(1)…901(M)、ソート済データのバッファ902(1)…902(M)、加算ユニット903、レジスタ904、 MAX/検索MAXの検索が実行されていることを示す信号S905、MAXの検索が終了したことを示す信号S906、バッファ907、単一の遅延の検索結果を示す信号、データをソートする信号S909(1)、S909(2)、S909(3)、…S909(M)、ANDゲート910、および、ソート信号S911、を含む。
【0131】
一実施形態において、MAX622は次のように動作する。MAX622は、コンポーネント407の期間中に入力データをソートするソートデバイスであり、ソートされたデータは、コンポーネント407の動作期間の完了後にCPU106によって記憶および読み出される。初期化時に、901、902、904、および907はすべてゼロに等しく設定される。
【0132】
一実施形態において、次の信号はMAX622に入力される。当該信号は、I成分の出力S619、Q成分の出力S620、推定ユニットの出力S621、遅延数S401、検索MAXを識別する信号S412、非コヒーレントカウンタの動作終了信号S413、検索器周波数信号S420、である。
【0133】
信号S412、S420はコンポーネント910に入力される。S412およびS420が1(信号が利用可能)に等しい場合、ユニット910の出力=1(信号が利用可能)である。ユニット910の出力は信号S911と同じである。信号S911は制御MAX900に入力される。
【0134】
信号S619、信号S620、および信号S621は、非コヒーレントカウンタ407の動作内に取得され、MAX622の各遅延数S401と一緒になる。単一の遅延S908の検索結果には、S401、S619、S620、および、S621の信号が含まれる。
【0135】
制御MAX900には、I成分の出力S619、Q成分の出力S620、推定値出力信号S621、遅延数S401、ソート信号S911、および、非コヒーレントカウンタ動作終了信号S413、の信号が入力される。
【0136】
S911が制御MAX900に入力されると、信号S908が各信号S401に対してソートされる。S908のソートは、信号S621を使用して実装される。ソートは、非コヒーレントカウンタ407が動作している間継続する。信号S909は、ソートされた値S908である。ユニット900からの信号S909は、ユニット901(1)、901(2)、901(3)、…、901(M)に入力され、そこに格納される。ソートされた値の数はMである。S908のソートが終了すると、必要に応じてユニット901の値が更新される。
【0137】
非コヒーレントカウンタ407の動作終了を確認する信号S413が検出されると、制御MAX900はS401の最終値についてのソート終了信号S908を待つ。ソートが完了すると信号S906が出力される。ソートされた値S909は、データ901(1)、901(2)、901(3)、…901(M)に書き込まれる。
【0138】
制御MAX900からの信号S906は、ソートデータ用バッファ902(1)、902(2)、902(3)、…、902(M)、レジスタ904、および、バッファ907、のコンポーネントに入力される。ソートが完了すると、ユニット901からの値は、信号S906に従って、ユニット902(1)、902(2)、902(3)、…902(M)に書き込まれる。信号S906に従って、ユニット901の値が0に設定される。
【0139】
ソートは、非コヒーレントカウンタ407の次の動作期間にわたって継続される。データ902は、次の信号S906が受信されるまで記憶される。CPU106は、902(1)、902(2)、902(3)、…902(M)から値を読み取る。
【0140】
ユニット900の出力での信号S905は、信号S911と同じである。
【0141】
信号S621は加算器903に入力される。レジスタ904の出力は、加算ユニット903とバッファ907に入力される。信号S621およびユニット904の出力信号は、ユニット903で加算される。ユニット903の出力は、ユニット904の入力に供給される。各遅延番号S401に対するS621値の合計は、S905(S911)が利用可能な場合、非コヒーレントカウンタ407の動作期間中にユニット904に記憶される。
【0142】
信号S906に従って、レジスタ904に記憶された合計S621がユニット907に書き込まれ、レジスタ904の値は0に設定される。非コヒーレントカウンタ407の次の動作期間が開始して、最初の信号S911が発生すると、ユニット904の入力値が0に設定される。各信号S401の非コヒーレント値の合計は、信号S420が利用可能な場合、信号S412=1の動作中にレジスタ904に記憶される。バッファ907からの値は、CPU106によって読み取られる。
【0143】
図10は、制御MAX900における単一の遅延に対する検索結果をソートするための方法のフローチャートを示しており、当該方法は1001において開始する。1002において、ソート信号が生成され、1003(1)、1003(2)、1003(3)、…1003(M)では、条件が確認され、1004(1)、1004(2)、1004(3)、…(M)において当該条件に基づいて演算が実行される。
【0144】
一実施形態において、制御MAX900内のソートユニットの動作は、以下の通り
図10の方法に従う。
【0145】
信号S911が検出された場合、制御MAX900のデータソートが開始する。データソートは、推定ユニットの出力信号S621に基づいて実行される。信号S621は入力推定値である。単一の遅延の検索結果S908には、信号S401、信号S619、信号S620、および信号S621が含まれる。推定値1は、データ901(1)からの信号S621である。推定値2はデータ901(2)からのS621であり、推定値3はデータ901(3)からのS621である。したがって、推定値Mはデータ901(M)からの信号S621である。
【0146】
初期化中、ユニット901は0に設定されている。FSM104が初期化されると、信号が入力されて1001から開始する。フローチャートのステップ1001からステップ1002に進む。ステップ1002において、当該方法は信号S911を分析する。S911=0の場合、フローチャートはステップ1001までループし、その後ユニット1002 に戻ります。S911=1の場合、フローチャートは1003(1)に進む。
【0147】
ステップ1003(1)において、「入力推定値が推定値1より大きい」という条件が分析される。この条件が満たされない場合、当該方法はステップ1003(2)に進む。ステップ1003(1)の条件が満たされる場合、次の動作が実行される。データ901(M-1)がデータ901(M)に書き込まれる。データ901(2)はデータ901(3)に書き込まれる。データ901(1)はデータ901(2)に書き込まれる。S908はデータ901(1)に書き込まれる。その後、当該方法はスタート1001に戻る。
【0148】
ステップ1003(2)において、「入力推定値が推定値2より大きい」という条件が分析される。この条件が満たされない場合、当該方法はステップ1003(3)に進む。当該条件が満たされる場合、次の操作が実行される。データ901(M-1)はデータ901(M)に書き込まれる。データ901(2)はデータ901(3)に書き込まれる。S908はデータ901(2)に書き込まれる。データ901(1)は変化しない。そして、当該方法はスタート1001に戻る。
【0149】
ステップ1003(3)において、「入力推定値が推定値3より大きい」という条件が分析される。1003(3)の条件が満たされない場合、当該方法はステップ1003(4)に進む。当該条件が満たされる場合、次の操作が実行される。データ901(M-1)がデータ901(M)に書き込まれる。S908はデータ901(3)に書き込まれる。データ901(2)は変化しない。データ901(1)は変化しなし。その後、当該方法はスタート1001に戻る。
【0150】
ステップ1003(M)において、「入力推定値が推定値Mよりも大きい」という条件が分析される。条件1003(M)が満たされない場合、当該方法はスタート1001に進む。当該条件が満たされる場合、以下の動作が実行される。S908がデータ901(M)に書き込まれる。データ901(3)は変化しない。データ901(2)は変化しない。データ901(1)は変化しない。その後、当該方法はスタート1001に戻る。
【0151】
図11は、
図2に示されるパッカー220の詳細を示している。一実施形態において、パッカー220は、データアンパッカー1100、アドレスS1101、データ読み出しS1102、読み取りS1103、書き込みS1104、データ書き込みS1105、データパッカー1106など、さまざまな信号を送信および受信するコンポーネントが含まれている。
【0152】
一実施形態において、パッカー220は、
図11および
図2に関連して以下に説明するように動作する。DopNCO214、回転ユニット213(2)…213(D)、および、検索器216(1)、216(2)、…216(D)と連携した信号検索のプロセスにおいて、取得結果は、パッカー220を介してメモリ221に読み書きされる。アドレスS1101として信号S401を使用し、信号S613、信号S614、および信号S615は、データパッカー1106を通過し、1ワードでメモリ221に書き込まれる。書き込みデータS1105は、同様にメモリユニット221に書き込まれるデータを含む。
【0153】
アドレスS1101として信号S401を使用して、データはメモリ221(または同様に読み取られた信号読み取りデータS1102)から1つの単語として読み取られる。データアンパッカー1100を通過する信号S1102は、アンパックされて信号S605、信号S606、および信号S607を生成し、その後、検索器216に送信される。
【0154】
検索器216の演算結果は信号S613、信号S614、および信号S615であり、メモリ221のアドレスS1101に書き込まれる。信号S613、信号S614、および信号S615のビット数は、ワード書き込みデータS1105のビット数を超えてもよい。その結果、信号S613、信号S614、および信号S615を異なる方法でパックすることができる。
【0155】
例えば、パッカー220の入力には整数があるが、パッカー220において、整数は、仮数部と指数部からなり、すべての数値が共通の指数を有する浮動小数点数の形式に変換される。仮数部は数値ごとに保持され異なるが、指数部は共通である。指数部は、すべての高位桁が仮数内に収まるように選択される。
【0156】
検索器216(1)、216(2)、…216(D)の出力からの信号S615(1)、S615(2)、…S615(D)は、共通の指数部によって結合される。検索器216(1)、216(2)、…216(D)の出力からの信号S613および信号S614も共通の指数部によって結合される。データパッキング時に得られる信号S615、信号S613、および信号S614の仮数部および指数部は、データパッカー1106の出力に供給される。データパック1100では、メモリから読み取られたデータは、仮数部、指数部、およびパッカー220の動作モードを考慮して、アンパックされる。
【0157】
一実施形態において、パッカー220は、CPU106がパッカー220の動作を開始するときに初期化される。一実施形態において、パッカー220は次のように動作する。
【0158】
S401はパッカー220に入力される。信号S1101は信号S401と同じである。信号S1101は、アドレスとしてメモリユニット221に入力される。信号S1102は、メモリ221から読み出されたデータのデータアンパッカー1100に入力される。メモリユニット221では、S1105はユニット1106の書き込みデータとして入力される。
【0159】
信号S233(1)はパッカー220に入力される。読み出し信号S1103は信号S233と同じである。S1103はメモリユニット221に読み出しとして入力される。信号S233が検出された場合、データは信号S1101で識別されるアドレスでメモリユニット221から読み取られ、信号S1102はユニット1100の入力に移動し、そこでアンパックされる。データアンパッカー1100から、これらの信号は、検索器216(1)、検索器216(2)、および検索器216(D)に入力される。ここで、検索器216(1)は信号S605(1)、信号S606(1)、および信号S607(1)を受信し、検索器216(2)は信号S605(2)、信号S606(2)および信号S607(2)を受信しており検索器216(D)は信号S605(D)、信号S606(D)、および信号S607(D)を受信する。
【0160】
信号S234(1)はパッカー220に入力される。書き込み信号S1104は信号S234と同じである。S1104はメモリ221に書き込みとして入力される。
【0161】
データパッカー1106では、入力された信号は次のようにパックされる。信号S613(1)、信号S614(1)、および信号S615(1)は検索器216(1)から出力される。信号S613(2)、信号S614(2)、および信号S615(2)は検索器216(2)から出力される。信号S613(D)、信号S614(D)、および信号S615(D)は検索器216(D)から出力される。
【0162】
信号S234が利用可能な場合、1106でパックされたデータは、アドレスS1101でメモリ221に書き込まれる(書き込みデータS1105)。
【0163】
検索器216のモードおよびドップラーNCOの数に応じて、ユニット221に一時データを記憶するための異なるパッキングモードおよびアンパッキングモードが存在する。
【0164】
ここではいくつかの例を示す。
【0165】
1)条件:ユニット405=0、ユニット408=0。
【0166】
結果:この場合、信号S613、信号S614、信号S615からのデータをメモリ221に保持する必要はない。
【0167】
2)条件:ユニット405は0より大きく、ユニット408=0。
【0168】
結果:この場合、信号S615からのデータをメモリ221に保持する必要はない。メモリ221には、信号S613および信号S614からのデータのみが保持される。
【0169】
3)条件:信号S613および信号S614の容量が信号S615の容量よりも優先される。
【0170】
結果:信号S613および信号S614からのデータをパックするためには、低位桁の指数と高位桁の仮数が使用される。信号S615の場合、高位桁の指数と低位桁の仮数が保持される。
【0171】
4)条件:信号S615の容量は、信号S613および信号S614の容量よりも優先される。
【0172】
結果:信号S615からのデータをパックするためには、低位桁の指数と高位桁の仮数が使用される。信号S613および信号S614の場合、高位桁の指数と低位桁の仮数が保持される。
【0173】
5)条件:メモリ221には、信号S615、信号S613、および信号S614の値のための十分なスペースがある。
【0174】
結果:信号S615、信号S613、および信号S614は、メモリ221に書き込まれる。
【0175】
図12は、
図2に示すドップラーNCO214の詳細を示す図である。ドップラーNCO214は、回転信号S215(D)、…S215(3)、S235、S215(2)…S215(D-1)を生成する。各回転信号S215は、左ドップラー周波数または右ドップラー周波数を生成するために使用される。
【0176】
中間周波数S235は、中心ドップラー周波数として機能する。右ドップラー周波数1はS215(2)を生成し、左ドップラー周波数1は信号S215(3)を使用してミラー状に生成される。右ドップラー周波数D/2は信号S215(D-1)を生成し、左ドップラー周波数D/2はS215(D-1)を使用してミラー状に生成される。
【0177】
FSM104では、Fdopのステップでドップラー周波数が生成される。これらの周波数には、センタードップラー、左ドップラー1、右ドップラー1、左ドップラーD/2、右ドップラーD/2、が含まれる。
【0178】
左ドップラー周波数(D/2…1)および右ドップラー周波数(D/2…1)は、CPU106によって設定されたシフトレジスタ500、シフトレジスタ501、シフトレジスタ502、シフトレジスタ503、およびユニット402のS長を考慮して、S218(S403に等しい)によって利用可能な位相で変化する。Fdopの計算式は次のとおりである。
【0179】
Fdop=(FIF/S)×d[N-1:0]/2N
【0180】
ここで、FIFは中間周波数S235であり、Sはシフトレジスタ500、シフトレジスタ501、シフトレジスタ502、シフトレジスタ503の長さであり(遅延カウンタ400は0からS-1までカウントする)、NはドップラーNCO位相のビット数であり、d[N-1:0]はドップラ―NCO214に書き込まれる数である。
【0181】
ドップラーNCO214の出力からの信号S215は、回転ユニット213に入力される。I成分信号S227とQ成分信号S228は、回転ユニット213に入力される。各回転ユニット213において、信号S227および信号S228は、S215によって設定された角度で位相が回転される。それらの回転信号S215(D…2)が左ドップラー(D/2…1)と右ドップラー(D/2…1)に対して生成され、S227とS228は異なる方法で位相を回転する。
【0182】
ユニット213(D)では、信号S227および信号S228が周波数左ドップラーD/2で位相を回転され(S215(D)が使用される)、検索器216(D)の入力に供給される。
【0183】
ユニット213(D-1)において、信号S227および信号S228は、周波数右ドップラーD/2で位相を回転され(S215(D-1)が使用される)、検索器216(D-1)の入力に供給される。
【0184】
ユニット213(3)では、信号S227および信号S228は、周波数左ドップラー1の周波数で位相を回転され(S215(3)が使用される)、検索器216(3)の入力に供給される。
【0185】
ユニット213(2)では、信号S227および信号S228が周波数右ドップラー1で位相が回転され(S215(2)が使用される)、検索器216(2)の入力に供給される。
【0186】
信号S227および信号S228は、中間周波数S235で検索器216(1)の入力に供給される。
【0187】
シフトレジスタ500、シフトレジスタ501、シフトレジスタ502、およびシフトレジスタ503と再読込生成器224の動作を、異なる時点での値を示すいくつかの表を含む例を用いて説明する。S=4、符号長=12、生成周波数CRNCO201がFSNCO206の周波数に等しい、と仮定する。符号生成器202の状態は、FSNCO206の5番目のチップとして記憶され、FSNCO206の13番目のチップにアップロードされる。表の500、501/503、および502の各行は、初期化中および信号検出を実行するステップ中に符号生成器202によって生成される符号チップのチップ番号を示す。
【0188】
【0189】
ステップ 1 参照符号 1 2 3 4 のチップ番号の符号を検索
【表4】
【0190】
ステップ2 参照符号1 2 3 4 + 5 6 7 8の記憶
【表5】
【0191】
ステップ3 参照符号 1 2 3 4 + 5 6 7 8 + 9 10 11 12の記憶
【表6】
【0192】
ステップ4 参照符号 5 6 7 8のチップ番号を検索
【表7】
【0193】
ステップ5 参照符号 5 6 7 8 + 9 10 11 12を記憶
【表8】
【0194】
ステップ6 参照符号 5 6 7 8 + 9 10 11 12 + 1 2 3 4を保存
【表9】
【0195】
ステップ7 参照符号 9 10 11 12のチップ番号の符号を検索
【表10】
【0196】
ステップ8 参照符号9 10 11 12 + 1 2 3 4を記憶
【表11】
【0197】
ステップ9 参照符号9 10 11 12 + 1 2 3 4の記憶
【表12】
【0198】
ステップ9の表は、信号が検出されたこと(ステップ4~6)、生成されたチップFSNCO206およびCRNCO201の番号18、22、26に対するレジスタ501、レジスタ502、レジスタ503の畳み込み結果の合計を示している。符号生成器202が生成した5番目の符号チップの参照符号が一致した。
【0199】
図2に示されるFSM104の機能は次のとおりである。FSM104で動作している場合、表示されている符号遅延の数を同時に決定するスライド窓/検索窓を取得することができる。
【0200】
検索の感度を高めるため、またはSより大きい符号長の場合、k時間の検索時間を増やす必要がある。コヒーレントアキュムレーションのおかげで、検索時間を増やすことができる。非コヒーレントアキュムレーションによって符号に課せられる/重複する情報シンボルが利用可能な場合にも、アキュムレーション時間の増加が可能になる。
【0201】
符号長がSより大きい場合、再読込生成器234も使用することができ、FSM104の動作開始後、スライド窓/検索窓Sが符号長全体に沿って移動され、すべての遅延についてメトリクスを取得することができる。
【0202】
高速検索NCO206を使用すると、1つの符号チップに対して異なる数の遅延を設定できる。たとえば、1つのGPS CAチップに2つのセミチップが使用され、周波数高速検索NCO206はCRNCO201の2倍である。
【0203】
多重化符号は、少なくともチップ符号により2つのチップとして使用される。高速検索NCO206、制御アキュムレーションユニット223、および分周器225を使用して、1つの符号を検索メカニズムに送信でき、もう1つの符号を入力信号においてゼロに設定できる。ドップラーNCO214および回転ユニット213は、検索窓Sの複数のドップラー周波数の結果を得ることができる。
【0204】
パッカー220のさまざまな動作モードにより、I成分またはQ成分の好ましい値を選択できたり、データのパッキング/アンパッキング中に推定できる。検索期間s×kの最後に、メトリックがソートされると、すべてのSの推定値が加算される。
【0205】
FSM104を使用して、CSK変調信号を受信することができる。たとえば、セミチップ符号を使用してGPS CA信号を受信するプロセスでは、高速検索NCO206の周波数は周波数CRNCO201の2倍であり、データは2ミリ秒以内にコヒーレントに蓄積されS=1023であり、閾値非コヒーレント408は0に設定される。この場合、すべてのレジスタ501、レジスタ502、およびレジスタ503の畳み込み結果は、各Sに対して遅延カウンタ400の4動作期間中にコヒーレントに記憶され、第4期間ではMAX622がメトリックをソートする。
【0206】
なお、再読込生成器224は、高速検索NCO206の1023+1番目のチップにおける符号生成器202の状態を覚えており、符号生成器が当該状態からすぐに開始できるようユニット202の記憶された状態を高速検索NCO206の1023×4+1番目のチップに記録する。データの設定により、FSM104を再調整せずに2046 GPS CAセミチップ符号を表示できる。
【0207】
図13は、実施形態による全地球航法衛星システム信号を高速検索するための方法1300のフローチャートを示している。一実施形態において、方法1300は、
図1に示される航法受信機110を使用して実行される。ステップ1302では、受信機が信号を受信する。信号は既知の擬似ランダムノイズ符号を有する。ステップ1304では、符号生成器が擬似ランダムノイズを生成するときに、符号生成器の状態情報が記憶される。一実施形態では、状態情報は、以前に生成されたものと同じ擬似ランダムノイズを生成するために符号発生器に入力する必要がある、符号発生器に関連する情報である。一実施形態では、符号発生器が生成する擬似ランダムノイズは、信号の擬似ランダムノイズ符号に関連付けられる。ステップ1306では、受信信号に関連する検索窓の一回目の確認(レビュー)を行われる。一実施形態において、検索窓は受信信号から得られたデータ列から構成される。上述したように、確認とは、受信信号の送信元(すなわち、受信信号を送信した衛星)の特定を試みることである。ステップ1308では、受信信号の送信元を特定できるかどうかが判定される。送信元が特定された後、情報を使用して受信器の位置を決定できる。ステップ1310では、決定に応答して検索窓を2回目に確認する前に、ステップ1304において記憶された以前の状態情報が符号生成器にロードされる。状態情報を符号生成器にロードすることで、FSM104を再調整することなく、検索窓を逐次確認することができる。一実施形態において、受信信号は、高速検索数値制御発振器周波数で複数の多重化信号を使用する制御アキュムレータによって処理される。複数の多重化信号のうちの1つはゼロにしてもよい。信号の1つをゼロにすると、ゼロにされた信号は複数の信号の分析において無視される。一実施形態において、ステップ1308での決定の前に、受信信号に中間周波数が乗算される。一実施形態において、受信信号に回転角が加算される。回転角は、ドップラー数値制御発振器に基づく。検索窓の確認中に生成された結果は、コヒーレントモードまたは非コヒーレントモードに記憶してもよい。非コヒーレントモードにより、重畳データを使用して信号を検索できる。
【0208】
以上の「発明を実施するための形態」は、あらゆる点において例示的であって限定的ではないものとして理解されるべきであり、本明細書に開示される本発明概念の範囲は、「発明を実施するための形態」から判断されるのではなく、各特許法において認められる全容に渡って解釈される特許請求の範囲から判断されるべきものである。当然のことながら、本明細書に図示、説明された実施形態は、本発明概念の原理を例示したにすぎず、本発明概念の範囲および趣旨から逸脱することなく、当業者によって様々な修正が行われてもよい。当業者は、本発明の概念の範囲および趣旨から逸脱することなく、他の様々な特徴の組合せを実現できるであろう。
【国際調査報告】