(57)【要約】      （修正有）【課題】発振器の温度関連周波数変動を補償する方法が提供される。【解決手段】１）外部基準周波数信号を用い動作温度範囲の全域で発振器補償データを得ること、２）発振器補償データを第一表に格納すること、３）所与の動作温度ごとに、第一表から対応する発振器補償データを取得し適用することで温度関連周波数変動を補償すること、４）動作温度範囲の全域で、各々が一連の温度ビンに細別された一連の温度スロットを定義すること、を含み、ａ）動作温度を測定し、動作温度が変化するに伴い温度ごとに、外部基準周波数信号を用いて発振器補償値を決定すること、ｂ）決定した発振器補償値を、第二表の対応する温度ビンに蓄積すること、ｃ）所定の時間間隔で、第二表の温度ビンに蓄積されたデータを用いて第一表の一つ以上のスロットごとに格納された発振器補償データを決定または更新すること、を含む。【選択図】図３
2017207470.tif 000002
【特許請求の範囲】
【請求項１】
発振器の温度関連周波数変動を補償する方法であって、前記方法は、
外部基準周波数信号を用いることによって所定の動作温度範囲の全域にわたる発振器補償データを得ることと、
前記発振器補償データを第一表に格納することと、
所与の動作温度ごとに、前記第一表を用いることによって対応する発振器補償データを取得し、前記発振器補償データを適用することによって前記温度関連周波数変動を補償することと、を含み、
前記所定の動作温度範囲に対して、各々が一連の温度ビンに細別された一連の温度スロットを定義すること、をさらに含むとともに、
前記した、外部基準周波数信号を用いることによって前記所定の動作温度範囲にわたる発振器補償データを得るというステップは、
ａ）動作温度を測定し、前記動作温度が変化するに伴い温度ごとに、前記外部基準周波数信号を用いることによって発振器補償値を決定することと、
ｂ）決定した前記発振器補償値を、第二表の対応する温度ビンに蓄積することと、
ｃ）所定の時間間隔で、前記第二表の前記温度ビンに蓄積されたデータを用いることによって前記第一表の一つ以上のスロットごとに格納された前記発振器補償データを決定または更新することと、を含む
ことを特徴とする方法。
【請求項２】
前記の「前記発振器補償データを適用することによって前記温度関連周波数変動を補償する」というステップは、前記発振器を較正するために現在温度に基づいて前記発振器に前記発振器補償データを適用することによって、温度補償された発振器周波数を得ること、を含む
ことを特徴とする、請求項１に記載の方法。
【請求項３】
前記の「前記発振器補償データを適用することによって前記温度関連周波数変動を補償する」というステップは、較正を行わない発振器として動作する前記発振器からの周波数出力を入力として使用する処理動作に前記発振器補償データを適用すること、を含む
ことを特徴とする、請求項１に記載の方法。
【請求項４】
前記現在温度を含む現在温度スロット内の複数の温度ビン、および、
前記現在温度スロットと連続している一つ以上の温度スロットと関係付けられた複数の温度ビン、
と関係付けられたデータだけを前記第二表に保持すること、を含み、
データを保持する対象となる温度スロットの総数は、温度スロットの総数よりも少ない
ことを特徴とする、請求項１乃至請求項３のいずれかに記載の方法。
【請求項５】
連続している前記温度スロットまたは各温度スロットは、前記現在温度スロットに隣接する温度スロットである
ことを特徴とする、請求項４に記載の方法。
【請求項６】
ステップｂ）は、発振器補償値ごとに、前記発振器補償値を前記第二表に格納された前記ビンごとの合計に加算することと、前記ビンごとのカウントを増分することと、を含む
ことを特徴とする、請求項１乃至請求項５のいずれかに記載の方法。
【請求項７】
中間の第三表を維持することを含み、
ステップｃ）は、前記所定の時間間隔で、前記第二表の前記温度ビンに蓄積されたデータを用いることによって前記第三表の対応する前記スロットごとに格納されたデータを決定または更新することと、前記第三表内の前記データを用いることによって前記第一表にデータを追加することと、を含む
ことを特徴とする、請求項１乃至請求項６のいずれかに記載の方法。
【請求項８】
前記の「前記第二表の前記温度ビンに蓄積されたデータを用いることによって前記第三表の対応するスロットごとに格納されたデータを決定または更新する」というステップは、スロットごとに、前記スロットの前記ビン内のデータに対する線形適合のパラメータを決定または更新することと、前記第三表に前記パラメータを格納することと、を含む
ことを特徴とする、請求項７に記載の方法。
【請求項９】
前記パラメータは、前記スロットの所与の温度についての発振器補償値および変化率の値である
ことを特徴とする、請求項８に記載の方法。
【請求項１０】
前記の「前記パラメータを更新する」というステップは、スロットごとに、現在格納されている前記パラメータを新たに決定されたそれぞれのパラメータと組み合わせることを含む
ことを特徴とする、請求項８または請求項９に記載の方法。
【請求項１１】
前記第三表に各パラメータの差異値をスロットごとに格納することをさらに含み、
前記の「組み合わせる」というステップは、関係付けられた前記差異値を考慮に入れている
ことを特徴とする、請求項１０に記載の方法。
【請求項１２】
前記の「前記第三表内の前記データを用いることによって前記第一表にデータを追加する」というステップは、スロット境界で線形適合度を整列させるために各スロットのパラメータを調整することを含む
ことを特徴とする、請求項８乃至請求項１１のいずれかに記載の方法。
【請求項１３】
前記の「前記第一表を用いることによって対応する発振器補償データを取得する」というステップは、前記第一表のデータを内挿補間することによって現在の前記動作温度の発振器補償値を取得することを含む
ことを特徴とする、請求項８乃至請求項１２のいずれかに記載の方法。
【請求項１４】
ステップｃ）は、所与の温度スロットごとに、蓄積された値の総数が所定の閾値を超えたと判定するとともに、前記スロット内のビンの総数のうち少なくとも所定数のビン分の値が蓄積されたと判定した場合に、実行される
ことを特徴とする、請求項１乃至請求項１３のいずれかに記載の方法。
【請求項１５】
所与のスロットについて両方の条件が満たされない場合、ビン合計のうち最大のものを識別して、最大の合計が所定の閾値を超えるか否かについての判定が行われ、超えていれば、前記スロットについてのすべてのビン合計およびカウント値を一より大きい係数分だけ減らし、超えていなければ、前記スロットについてのビン合計およびカウント値はそのままにしておく
ことを特徴とする、請求項６に従属するときの請求項１４に記載の方法。
【請求項１６】
ステップａ）において、「前記外部基準周波数信号を用いることによって発振器補償値を決定する」というステップは、
前記外部基準周波数信号を前記発振器の出力または前記発振器から得た出力と混合することによって、周波数差を決定することと、
高調波成分が前記発振器の出力または前記発振器から得た出力と近しい関係にある信号を受信中に前記基準周波数信号のサイクルをカウントすることと、
所定の時間間隔で、前記外部基準周波数信号と前記発振器の出力または前記発振器から得た出力との間の位相差を測定することと、のうちいずれかを含む
ことを特徴とする、請求項１乃至請求項１５のいずれかに記載の方法。
【請求項１７】
発振器と、外部基準周波数信号を提供する少なくとも一つの全地球的航法衛星システム（ＧＮＳＳ）無線信号を受信する受信機と、を有するＧＮＳＳ用受信機を動作させる方法であって、請求項２、または、請求項２に従属するときの請求項４乃至請求項１６のいずれかに記載の方法を使用することによって、前記発振器を較正する
ことを特徴とする方法。
【請求項１８】
発振器と、
外部基準周波数信号を受信する受信機と、
物理メモリと、
温度センサと、
前記外部基準周波数信号を用いることによって動作温度範囲の全域で発振器補償データを得て、前記発振器補償データを前記物理メモリ内の第一表に格納し、所与の動作温度ごとに、前記第一表を用いることによって対応する発振器補償データを取得し、そのデータを適用することによって前記温度関連周波数変動を補償する処理回路と、を備える装置であって、
プロセッサが、動作温度範囲の全域で、一連の温度ビンに細別された一連の温度スロットを定義し、前記プロセッサが外部基準周波数信号を用いることによって、動作温度範囲の全域で発振器補償データを得るように構成されており、当該動作は、
ａ）動作温度を測定し、前記動作温度が変化するに伴い温度ごとに、前記外部基準周波数信号を用いることによって発振器補償値を決定することと、
ｂ）決定された前記発振器補償値を、前記物理メモリ内にある第二表の対応する温度ビンに蓄積することと、
ｃ）所定の時間間隔で、前記第二表の前記温度ビンに蓄積されたデータを用いることによって前記第一表の一つ以上のスロットごとに格納された前記発振器補償データを決定または更新することと、によって行う
ことを特徴とする装置。
【請求項１９】
請求項１８に記載の装置を備える全地球的航法衛星システム用受信機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発振器の周波数変動のうち温度に関連するものを補償することに関する。
【背景技術】
【０００２】
発振器は、広範囲のシステムで使用され、信頼性の高い基準周波数を提供する。発振器設計が異なれば安定性の度合いも異なり、通常は、安定性のレベルが高くなるとコストも増加する。さまざまな種類の発振器が、温度依存性および経時変化による変動に悩まされている。この問題は、水晶発振器で特に深刻である。一部の発振器設計においては、発振器によって生成された（内部）周波数と外部の周波数基準値との間の周波数ずれを決定することによって、発振器を較正することができる。一部の全地球的航法衛星システム（ＧＮＳＳ）用受信機は、この手法を適用し、一つ以上の衛星信号搬送波周波数を外部周波数基準値として利用している。典型的なＧＮＳＳ用受信機は、動作目的で発振器を連続的に使用する。発振器出力を安定した周波数基準値として用いて、ＧＮＳＳ信号を低い周波数に変換したり、スペクトラム拡散ベースバンド信号を「逆拡散」するために使用するローカルコードレプリカを生成したりする。一部の全地球的航法衛星システム（ＧＮＳＳ）用受信機は、一つ以上の衛星信号キャリア周波数を外部周波数基準値として用いて、周波数ずれを測定および追跡し、内部計算でこのずれを考慮するが、発振器を較正することは行わない。他のＧＮＳＳ用受信機は、発振器を較正する。すなわち、周波数ずれを用いることによって制御電圧を決定し、この制御電圧を水晶発振器回路に印加することによって温度による影響および経時変化による影響を調整することができる。
【０００３】
ただし、外部周波数基準値が利用できないと、周回衛星からの信号が遮断されたり、一時的な干渉を受けたりすることがある。この現象が起こった場合、受信機が、直前の（正常時の）動作期間中に収集されたデータに基づいて補償された発振器周波数値を維持しようとする、「動作継続」モードになることが望ましい。温度補償を提供するさまざまな方式が従来技術において知られている。
【０００４】
特許文献１は、所定の発振器温度・周波数移行曲線に依存する発振器温度影響補償方式を開示している。温度センサによって周囲温度を測定し、それを用いて移行曲線の値を求め温度補償電圧を決定する。経時変化の影響は、適切な値を用いることで対処する。特許文献２は、温度を含む物理的パラメータによって発振周波数を予測するメカニズムを提供している。基準信号を利用できない期間にこのメカニズムを用いて、発振器制御電圧を調整する。
【０００５】
発振器の温度特性は、多くの場合、個々の発振器に固有なものである。あらかじめ定義された関数を使用しても、個々の発振器の動作まで配慮できるようにはならない。特許文献３は、最初のデバイス較正時に温度を補償値に対応づける参照表を作成して格納することを含む代替手法を記載している。しかしながら、そのような手法は、個々のデバイス特性をある程度まで配慮することができるが、デバイスの経時変化を補償することはできない。特許文献４もこれに関連した手法を開示している。
【０００６】
より良い手法として、動的に維持される参照表の使用が考えられる。特許文献５は、この手法を例示している。参照表は、外部周波数基準値を用いて周囲温度および周波数ずれ／補償値を定期的に測定および記録することによって作成される。外部周波数基準を得られないときは、周囲温度を測定しそれを用いて参照表から周波数ずれまたは補償値を得る。この手法は、参照表を動的に更新することによって経時変化の影響が本質的に補償されるという利点を有している。
【０００７】
特許文献６は、格納された補償値を使用するが、発振器周波数が基準信号から規定の許容値を超えて変動すると基準信号を用いて温度補償係数を調整するメカニズムを提供することによって、水晶発振器の経時変化に伴う問題を解決する。
【０００８】
動的に更新されて、温度を周波数ずれまたは補償値に対応づける参照表を使用することは、温度による変動および経時変化による影響があってもローカルの水晶発振器またはそれらの出力を補償する効果的なメカニズムとなる。しかし、従来技術の手法では、発生し得る十分に広範囲の動作温度を十分な温度分解能で補償できるようにするために、比較的大量のデータを収集して格納する必要がある。特にモバイル受信機の場合、メモリ要件はかなりのコストとハードウェア的なオーバーヘッドをもたらす。
【先行技術文献】
【特許文献】
【０００９】
特許文献１：米国特許番号第４９２２２１２号
特許文献２：米国特開２００２／０１５８６９３号
特許文献３：米国特許番号第４７４６８７９号
特許文献４：米国特許番号第５８９２４０８号
特許文献５：米国特開２００６／０２６７７０３号
特許文献６：米国特許番号第５３９２００５号
特許文献７：欧州特許番号第２８７１４９４号
【発明の概要】
【００１０】
本発明の第一態様によれば、発振器の温度関連周波数変動を補償する方法が提供される。この方法は、外部基準周波数信号を用いることによって所定の動作温度範囲の全域にわたる発振器補償データを得ることと、前記発振器補償データを第一表に格納することと、所与の動作温度ごとに、前記第一表を用いることによって対応する発振器補償データを取得し、前記発振器補償データを適用することによって前記温度関連周波数変動を補償することと、を含む。
【００１１】
この方法はさらに、前記所定の動作温度範囲に対して、各々が一連の温度ビンに細別された一連の温度スロットを定義すること、を含む。前記した、外部基準周波数信号を用いることによって前記所定の動作温度範囲にわたる発振器補償データを得るステップは、
ａ）動作温度を測定し、前記動作温度が変化するに伴い温度ごとに、前記外部基準周波数信号を用いることによって発振器補償値を決定することと、
ｂ）決定した前記発振器補償値を、第二表の対応する温度ビンに蓄積することと、
ｃ）所定の時間間隔で、前記第二表の前記温度ビンに蓄積されたデータを用いることによって前記第一表の一つ以上のスロットごとに格納された前記発振器補償データを決定または更新することと、を含む。
【００１２】
本発明の少なくともいくつかの実施形態は、メモリ要件を制限または低減するという問題に対する解決策を提供する。これは、全体の動作範囲にわたってデータ収集しなくてもそのうちの比較的小領域にわたって動的にデータ収集することによって達成できる。
【００１３】
前記の「前記発振器補償データを適用することによって前記温度関連周波数変動を補償する」というステップは、前記発振器を較正するために現在温度に基づいて前記発振器に前記発振器補償データを適用することによって、温度補償された発振器周波数を得ること、を含む。
【００１４】
前記の「前記発振器補償データを適用することによって前記温度関連周波数変動を補償する」というステップは、較正を行わない発振器として動作する前記発振器からの周波数出力を入力として使用する処理動作に前記発振器補償データを適用すること、を含んでもよい。
【００１５】
前記方法は、さらに、
前記現在温度を含む現在温度スロット内の複数の温度ビン、および、
前記現在温度スロットと連続している一つ以上の温度スロットと関係付けられた複数の温度ビン、
と関係付けられたデータだけを前記第二表に保持すること、を含んでもよい。ここで、データを保持する対象となる温度スロットの総数は、温度スロットの総数よりも少ない。連続している前記温度スロットまたは各温度スロットは、前記現在温度スロットに隣接する温度スロットであると考えられる。
【００１６】
上述した前記方法において、ステップｂ）は、発振器補償値ごとに、前記発振器補償値を前記第二表に格納された前記ビンごとの合計に加算することと、前記ビンごとのカウントを増分することと、を含んでもよい。
【００１７】
前記方法は、中間の第三表を維持することを含んでもよく、この場合、ステップｃ）は、前記所定の時間間隔で、前記第二表の前記温度ビンに蓄積されたデータを用いることによって前記第三表の対応する前記スロットごとに格納されたデータを決定または更新することと、前記第三表内の前記データを用いることによって前記第一表にデータを追加することと、を含む。前記の「前記第二表の前記温度ビンに蓄積されたデータを用いることによって前記第三表の対応するスロットごとに格納されたデータを決定または更新する」というステップは、スロットごとに、前記スロットの前記ビン内のデータに対する線形適合のパラメータを決定または更新することと、前記第三表に前記パラメータを格納することと、を含んでもよい。これらのパラメータは、前記スロットの所与の温度についての発振器補償値および変化率の値であってもよい。前記の「前記パラメータを更新する」というステップは、スロットごとに、現在格納されている前記パラメータを新たに決定されたそれぞれのパラメータと組み合わせることを含んでもよい。
【００１８】
前記方法は、前記第三表に各パラメータの偏差値をスロットごとに格納することをさらに含み、前記の「組み合わせる」というステップは、関係付けられた前記偏差値を考慮に入れている。前記第三表内の前記データを用いることによって前記第一表にデータを追加するステップは、スロット境界で線形適合度を整列させるために各スロットのパラメータを調整することを含んでもよい。
【００１９】
前記の「前記第一表を用いることによって対応する発振器補償データを取得する」というステップは、前記第一表のデータを内挿補間することによって現在の前記動作温度の発振器補償値を取得することを含んでもよい。
【００２０】
ステップｃ）は、所与の温度スロットごとに、蓄積された値の総数が所定の閾値を超えたと判定するとともに、前記スロット内のビンの総数のうち少なくとも所定数のビン分の値が蓄積されたと判定した場合に、実行されてもよい 。所与のスロットについて両方の条件が満たされない場合、ビン合計のうち最大のものを識別して、最大の合計が所定の閾値を超えるか否かについての判定が行われ、超えていれば、前記スロットについてのすべてのビン合計およびカウント値を一より大きい係数分だけ減らし、超えていなければ、前記スロットについてのビン合計およびカウント値はそのままにする。
【００２１】
ステップａ）において、前記外部基準周波数信号を用いることによって発振器補償値を決定するステップは、
前記外部基準周波数信号を前記発振器の出力または前記発振器から得た出力と混合することによって、周波数差を決定することと、
高調波成分が前記発振器の出力または前記発振器から得た出力と近しい関係にある信号を受信中に前記基準周波数信号のサイクルをカウントすることと、
所定の時間間隔で、前記外部基準周波数信号と前記発振器の出力または前記発振器から得た出力との間の位相差を測定することと、のうちいずれかを含んでもよい。
【００２２】
本発明の第二態様によれば、発振器と、外部基準周波数信号を提供する少なくとも一つの全地球的航法衛星システム（ＧＮＳＳ）無線信号を受信する受信機と、を有するＧＮＳＳ用受信機を動作させる方法が提供され、この方法は、上述した前記方法を使用することによって、前記発振器を較正することができる。
【００２３】
本発明の第三態様によれば、
発振器と、
外部基準周波数信号を受信する受信機と、
物理メモリと、
温度センサと、
前記外部基準周波数信号を用いることによって動作温度範囲の全域で発振器補償データを得て、前記発振器補償データを前記物理メモリ内の第一表に格納し、所与の動作温度ごとに、前記第一表を用いることによって対応する発振器補償データを取得し、そのデータを適用することによって前記温度関連周波数変動を補償する処理回路と、を備える装置が提供される。
【００２４】
前記装置は、プロセッサが、動作温度範囲の全域で、一連の温度ビンに細別された一連の温度スロットを定義し、プロセッサが外部基準周波数信号を用いることによって、動作温度範囲の全域で発振器補償データを得るように構成されており、具体的には、
ａ）動作温度を測定し、前記動作温度が変化するに伴い温度ごとに、前記外部基準周波数信号を用いることによって発振器補償値を決定することと、
ｂ）決定された前記発振器補償値を、前記物理メモリ内にある第二表の対応する温度ビンに蓄積することと、
ｃ）所定の時間間隔で、前記第二表の前記温度ビンに蓄積されたデータを用いることによって前記第一表の一つ以上のスロットごとに格納された前記発振器補償データを決定または更新することと、によって行う。
【００２５】
本発明の第四態様によれば、本発明の第三態様の前記装置を備える全地球的航法衛星システム用受信機が提供される。
【図面の簡単な説明】
【００２６】
【図１】発振器の出力信号と基準信号との間の周波数差を測定する装置を概略的に示している。
【図２】ＧＮＳＳ用受信機の実際の構成を概略的に示している。
【図３】一実施形態に係る、細別表と大別表との間の関係を概略的に示している。
【図４】図３の大別表の内容を図で表現したものである。
【図５】一実施形態に係る補償表を図で表現したものである。
【図６】一実施形態に係る方法の概要を示すフローチャートである。
【図７】基準周波数信号の周波数と発振器が生成する信号の周波数との間のずれを決定する別システムを概略的に示している。
【図８】基準周波数信号の周波数と発振器が生成する信号の周波数との間のずれを決定するさらに別の方式を概略的に示している。
【発明を実施するための形態】
【００２７】
次に、発振器、例えば、ＧＮＳＳ用受信機内で周波数基準を提供するために使用される発振器の温度補償を行うことができる方法および装置について説明する。この方法および装置は、温度と発振器制御値との間の対応づけを提供する補償参照表に依存するものである。ある実施形態によれば、これらの発振器制御値は、周波数基準信号からの周波数のずれを解消するために発振器（回路）に印加すべき補償電圧に（例えば、数字で）対応する。このような電圧を「ゼロ制御電圧」と呼ぶことがあり、（デジタル）制御値を「ゼロ制御値」と呼ぶことがある。
【００２８】
図１は、発振器１の出力と受信信号２の周波数（「基準周波数」）との間の周波数差を最小にするために発振器１の制御を行う装置の概略図である。発振器からの出力と受信信号２はミキサ３に供給され、この結果はローパスフィルタ４を用いてフィルタリングされる。生成された差分信号は、アナログデジタル変換器５によってデジタル化され、プロセッサ６に渡される。プロセッサ上で稼働し、例えば高速フーリエ変換（ＦＦＴ）を実行するソフトウェアが、基準周波数と発振器周波数との間の周波数のずれを推定する。この推定に基づいて、制御値を決定し、これをデジタルアナログ変換器７に渡す。デジタルアナログ変換器の出力は、ゼロ制御電圧（または多少のずれを許す電圧）である。この装置は、外部基準信号が利用可能な正常動作中および基準信号が利用できない動作継続期間中を含めて、常に動作することによって、発振器１にゼロ制御電圧を供給する。正常動作中、この装置は、本質的に周波数ロックループとして動作しており、強制的に差分周波数（または誤差）をゼロにすることによって、発振器が外部基準の周波数と本質的に等しい安定した周波数を出力するようにする。
【００２９】
発振器の周囲温度を記録する温度センサ８が設けられている。温度センサ８は、したがって発振器の近くに配置されることが好ましい。装置が正常に動作しているとき、すなわち基準周波数が利用可能であるとき、周期的な間隔で、ゼロ制御値（すなわち、正しい発振器周波数を生成するのに必要な制御値）および現在温度が記録される。このデータを次に使用して、物理メモリ９ａに格納されている補償表９を更新する。基準周波数が利用できずに動作を継続する期間中に、補償表を参照する値として現在温度を用いることによって、デジタルアナログ変換器７に供給すべき制御値を取得することができる。この表は適切な制御値をプロセッサに返し、プロセッサはこの値をデジタルアナログ変換器７に供給する。このようにして、基準周波数が利用できなくても温度補償を行うことができる。動作継続期間中に、プロセッサ６は、温度変化が所定の量を超えると制御値を再読込してもよい。
【００３０】
他の実施形態においては、基準周波数を、発振器周波数に基づく合成周波数と比較することができ、ここで、合成周波数は発振器周波数に位相ロックされた、より高い周波数の信号である。合成された信号は、発振器周波数の整数倍または発振器周波数の整数比のいずれかの周波数を有する。なお、単基板デジタルアナログ変換器（ＤＡＣ）チップではなく、フィルタ付きのパルス幅変調器（ＰＷＭ）を含む任意の形式のＤＡＣを使用することもできる。最後に、それぞれの素子をシリコン基板レベルで一枚の単基板チップに集積してもよい。
【００３１】
ＧＮＳＳ用受信機には、発振器を較正するのに必要なすべての要素が組み込まれている。 ＧＮＳＳ信号自体は正確な周波数基準値であるが、衛星および受信機が動くので周波数がドップラー効果の影響を受けるという合併症を伴う。しかしながら、ＧＮＳＳ用受信機は、自らの速度を計算するとともに、軌道方程式に基づいて衛星速度を計算する。したがって、該受信機は、予想される、ドップラー効果による信号のずれを非常に正確に計算することができ、定期的に計算する。
【００３２】
図２は、スーパーヘテロダインアーキテクチャを有する典型的なＧＮＳＳ用受信機の概略図である。 ＧＮＳＳフロントエンドのスーパーヘテロダインアーキテクチャは、典型的には少なくとも二つの局部発振器信号を有するが、それより増やすことも可能である。図２において、発振器１１および位相ロック合成器１２から受信した二つの局部発振器信号ＬＯ１およびＬＯ２が示されている。衛星信号１０を受信し、第一フィルタ１３および増幅器１４を通過したものとする。この結果は、次に第一ミキサ１５に入力されて第一局部発振器信号１７と混合され、結果が第二フィルタ１６を通過することによって、中間周波数にダウンコンバートされた信号を生成する。このプロセスを、第二局部発振器信号２０を受信する第二ミキサ１８および第三フィルタ１９を用いて繰り返すことによって、ダウンコンバートされた低周波信号を生成する。最終的な低周波信号には、位置データを得るために回収すべき情報が含まれる。この回収作業は、アナログデジタル変換器２１を使用して信号をデジタル化し、プロセッサ２２を使用してデジタル化されたデータを処理することによって実行される。この処理は、デジタル領域において低周波数信号をベース帯域にダウンコンバートすることを含んでもよい。
【００３３】
プロセッサ２２内でデータを利用して発振器制御値を生成することもできることが理解されよう。例えば、発振器周波数が変動すると、低周波数信号をベース帯域に変換する際に非ゼロ周波数信号が出力される。この信号は、本質的に、図１を参照して上述した差分信号である。プロセッサは、この差分信号を用いることによって上述のように必要な制御値を決定し、この値はデジタルアナログ変換器２３を介して発振器に戻される。前述のように、周期的に測定された温度値および対応する制御値から補償表２４が生成される。
【００３４】
図１および図２は「最終」補償表のみを示しているが、この表に含まれるデータは、「細別」表および「大別」表によって得られる。次に、この手順を説明する。
【００３５】
装置の動作温度範囲は、例えば、摂氏２度の等サイズからなる、多数の連続した温度スロットに大別される。細別表の各スロットは、これも等サイズからなる、多数の連続した温度「ビン」にさらに細別される。一例として、各スロットは１６個のビンに細別することができる。細別表データが格納されている物理メモリ（物理メモリ９ａの一部であってもよい）は複数のビン領域に分割され、大別表が格納されている物理メモリ（これも物理メモリ９ａの一部の可能性がある）は複数のスロット領域に分割される。一例として、温度とメモリアドレスとの関係を対応づけることによって、温度をスロットおよびビンに対応づけることができる。
【００３６】
図３は、一実施形態に係る細別表２５と大別表２６との間の関係を示す。細別表は複数のビン２７で構成され、大別表は複数のスロット２８で構成される。スロット２８ｂは、現在温度に対応する。細別表は、大別表の三つのスロットにわたる測定値を記録するのに十分なビンを含む。スロット当たり１６個のビンがあるので、この細別表は合計４８個のビンを含む。細別表の１６個のビンからなる中央ブロック３０は、大別表内の現在温度に対応するスロット２８ｂと関係付けられている。細別表の別ブロックであるビン３１、３２は、スロット２８ｂの両側にあって現在温度に対応するスロット２８ａ、２８ｃとそれぞれ関係付けられている。
【００３７】
正常動作時には、温度および計算されたゼロ制御値のペアがプロセッサによって周期的に得られる。 各収集ポイント（時間）において、細別表の当該温度に対応するビンに保持されている（決定された制御値の）合計に当該制御値が加算される。 当該ビン内で維持更新されているカウントも、当該合計に組み込まれた制御値の数を示すように増分される。 ビンの合計がオーバーフローするのを回避するために、そのビンの合計が閾値を超える場合、合計とカウントの両方を整数の因数、例えば４で除算する。 この因数処理は、両方とも同じ因数で除算するため、合計をカウントで除算することによって得られる平均値（下記参照）に影響しない。 ただし、ビンに合計される新しい値に高い重み付けを与えるという効果がある。 このようにすれば、蓄積処理を行う間に経時変化が発生する可能性があるため、新しい値のほうが発振器の現在の状態をよりよく反映することができるという利点がある。
【００３８】
細別表の４８個のビン全体として、現在温度を追跡するために１６個のビンつまり一スロットの増分で移動する「スライドウィンドウ」を形成する。再び図３を参照すると、現在温度がスロット２８ａ内に移動した場合、細別表２５のビンは一スロット左に再割り当てされる。同様に、現在温度が反対方向すなわちスロット２８ｃに移動した場合、細別表２５のビンは一スロット右側に再割り当てされる。もはやウィンドウに含まれないスロットに対応するビン内に含まれるデータは、破棄または上書きされる。この手法によれば、ビンおよび関係付けられたデータを動作範囲全体にわたって維持する必要がないので、ビンに格納されるデータの量は最小限で済む。しかし、短い動作継続期間中に起こり得る温度の変動をカバーすることができる比較的小さな温度範囲、例えばこの例で言えば現在温度の両側で２〜３度、にわたってビンおよびデータを維持する。この手法によれば、以下でさらに説明するように、データの統計分析も行うことができる。当然のことながら、当業者であれば、三つを超えるスロットに対応するビンを維持するかまたはすべてのスロットに対応するビンを維持するなど、細別ビンの他の配置も可能であると理解するであろう。本発明は、細別表および大別表をいずれか一つの配置に限定しない。
【００３９】
細別表のビンに格納されたデータは、大別表２６にデータを追加して更新するために、時間的に離散した間隔で、例えば周期的に一分間ごとなど、処理される。しかし、このような （周期的な）処理動作の最初のステップは、細別表のビンによってカバーされるスロットの各々について、十分なデータが収集されたことを確認することが考えられる。一実施形態では、細別表は、スロットごとに、スロット内の全てのビンについての総和値（Ｍと呼ぶ）を記録することが必要となる。この値は、ビンのカウントをすべて合計したものである。次にデータ処理を行って転送するかどうかの基準は、総和Ｍが所定の閾値を超えることである。別の実施形態では、所与のスロットのビンのデータは、例えば５０％を超えるなどビンの所定の割合が占有されている場合にのみ処理される。さらに別の実施形態では、所与のスロットのデータが処理される前に、両方の基準が満たされなければならない。すなわち、総和Ｍが所定の閾値を超えなければならず、占有されたビンの割合が所定の割合を超えなければならない。もちろん、当業者であれば、スロットごとにデータの処理を進めてもよいかどうかを決定する他の基準を適用することもできることを理解するであろう。いずれにしても、基準が満たされている場合、スロットごとのデータ処理が継続され、そうでなければ、当該スロットのビンごとのデータ収集が再開される。
【００４０】
基準が満たされていると仮定すると、スロットごとのデータ処理は、細別表の現在「使用中の」ビンに対応する大別表の各スロットにデータを追加する目的で、制御値と温度との関係に関して、次のように行われる。この例では、当該関係は、「ｙ切片」（所与の温度における制御値を表すパラメータＡ）および傾き（パラメータＢ）によって定義される線形のものである。この方法では、「ｙ切片」は、温度スロットの下限の制御値に対応する。一実施形態では、最小二乗回帰法を使用してパラメータＡおよびＢが決定される。以下に説明する実施例では、スロットｊの下限値および傾きをそれぞれＡｊおよびＢｊと表す。当業者は、パラメータＡが下限値を表す必要はなく、スロット内の任意の他の既知の領域であってもよいことを理解するであろう。
【００４１】
2017207470.tif 000003
【００４２】
次に、標本分散公式を使用して温度分散を計算する。
［数式３］
2017207470.tif 000004
式（３）
（注意：式（３）の分母における項Ｍ−１の代わりに、項Ｍを使用してもよい）
次に、標準最小自乗回帰式を用いて勾配を推定する。
［数式４］
2017207470.tif 000005
式（４）
【００４３】
次に、標準公式と勾配の推定値とを用いて、スロットの下限値Ａを推定する。
［数式５］
2017207470.tif 000006
式（５）
【００４４】
一実施形態では、所与のスロットｊに対応するＡおよびＢの偏差は、偏差Ｃｉが一定であって単位元に等しいという仮定を用いて決定される。したがって、ＡおよびＢの偏差は、式６および式７によってそれぞれ決定される。
［数式６］
2017207470.tif 000007
式（６）
［数式７］
2017207470.tif 000008
式（７）
【００４５】
別の実施形態では、Ｃｉの個々の偏差から推定値を生成する。別の実施形態では、偏差ごとに任意の因数を使用する。（偏差は更新中にのみ使用することによって新しく計算された値を表内に格納されたＡおよびＢの値に対して重み付けするので、因数処理が一貫している必要があるだけで、因数処理が物理的意味を与える必要はない。
【００４６】
処理が完了すると、スロープＢｊおよび下限値Ａｊの値を大別表のスロットｊに入力する。特定のスロットに対応する入力欄が空欄の場合、新しく計算した値を単純にそのスロットに対して挿入する。スロットに既にデータが含まれている場合、古い値と新しい値に重み付けを適用して更新値を生成することによって、既存のデータを更新する。一実施形態では、重み付けは以下のように適用する。
［数式８］
2017207470.tif 000009
式（８）
ここで、Ajはスロットｊの制御値の更新値であり、AjOldは、更新前のスロットｊの制御値の値であり、AjNewはスロットｊの補償値について推定された新しい値である。
【００４７】
2017207470.tif 000010
【００４８】
一実施形態では、類似の方法を使用することによってパラメータＢの値を更新することもできる。
【００４９】
式（９）で利得について計算した値は、Ａの古い値と新しい値の相対的な偏差によって決まる。現在の測定値については相対的に小さい偏差、したがって新しい値が比較的高い精度であるということは、新しい値により大きな重みを割り当てることを意味する。同様に、古い値の偏差が少ない場合、この値に大きな重みを与えたことになる。
【００５０】
当業者であれば、利得の値を提供する他の手法もあることを理解するであろう。例えば、固定された利得値を用いてもよいし、前回の更新から経過した時間に関連する利得を用いてもよい。後者の場合、大別表内の任意の特定のスロットについて長い更新間隔時間が経過した場合、式（９）の利得はこれを反映することが望ましい。一実施形態では、制御値の偏差を更新することによって、最後の更新以降の経時変化に起因して発生する補償値シフトを反映すれば、これを達成できる。
【００５１】
一実施形態では、スロットの更新に先立って、大別表内の制御値の偏差は、最後の更新以降の経時変化に起因する偏差増加を考慮して調整する。これは通常、スロットが最後に更新されてからの経過時間が閾値を超えた場合にのみ行う。この閾値およびスロット内の偏差を更新する公式は、採用する発振器の種類の経時変化特性によって決まる。経時変化は主に制御値特性の垂直シフトを引き起こすため、変化率パラメータBjの偏差についてはそのような調整は行われない。
【００５２】
更新が完了すると、大別表には、スロットごとに、パラメータＡおよびＢと、それぞれの差異値とが含まれる。図４は、大別表のパラメータＡおよびＢを図式的に示している。図３に示す大別表２６のいくつかのスロット４４と、該スロットについて計算したパラメータＡ  ４５とパラメータＢ  ４６とを示している。大別表は、発振器を補償するために直接使用するものではない（別の実施形態ではそうであるかもしれないが）。むしろ、更新するたびに、また電源投入時に不揮発性メモリから復元するときにも使用して、上記の補償表にデータを追加する。補償表は、差異値を含まないことを除き、大別表と同じ形式である。
【００５３】
例えば図４から明らかな不連続性の問題を克服するために、平滑化処理つまりフィルタ処理を大別表のデータに適用する。一実施形態では、当該の表を平滑化する処理は、値を調整することによって隣接するスロット内の値を考慮することを含み、このフィルタ処理を行うことによって、表の精度が向上する。一実施形態では、この処理は、複数のスロットについてのパラメータＡおよびＢの値の加重平均をとることによって実行する。一実施形態では、以下の式を適用してパラメータＡを調整する。
［数式１０］
2017207470.tif 000011
式（１０）
【００５４】
一実施形態では、パラメータＢを以下のように平滑化する。
［数式１１］
2017207470.tif 000012
式（１１）
【００５５】
当業者であれば、他の平滑化技術を用いることもできることを理解するであろう。例えば、パラメータＡを次のように平滑化してもよい。
［数式１２］
2017207470.tif 000013
式（１２）
あるいは、より多くのスロット、例えば、現在温度スロットの各側に二つづつスロットがある五つのスロットにわたって、重み付け平均を実行してもよい。本発明は、データを平滑化する方法に関していずれか一つに限定していない。
【００５６】
図５は、一実施形態に係る平滑化処理を行った結果の一例を図示化したものである。スロット４８ごとに、平滑化されていない線４９および平滑化された線５０の両方が示されている。一実施形態では、補償表内のすべてのスロットにデータを追加する前に、空きスロットは、隣接するスロットのデータを内挿補間することによってデータを追加することができる。正確な変化率推定値を補償表に追加すれば、比較的粗い参照表を用いる場合よりもはるかに正確に内挿補間および外挿補間を行えることを理解されよう。
【００５７】
図６は、一実施形態に係る補償表を構築する方法の概要を示すフローチャートである。ステップＳ１において、基準信号の周波数と発振器信号の周波数との差分つまりずれを取得する。ステップＳ２において、発振器の現在の周囲温度を測定する。制御ループを使用することによって、Ｓ３でゼロ制御値を決定することができる（決定した値を発振回路に適用することによって、発振回路の周波数を基準信号の周波数に合うように駆動する）。次に、ステップＳ４において、発振器の現在温度に対応する細別表のビンを更新する。これは、決定したゼロ制御値を（ビンの）合計に加算することを含む。ステップＳ５において、ビンのカウントも増分する。
【００５８】
ステップＳ６で、（更新されたビンと関係付けられた）対応するスロットを更新する基準が満たされるかどうかを判定する。基準が満たされない場合、ステップＳ２およびＳ２に従って、温度とともに周波数差分の測定値をさらに収集する。一方、基準が満たされる場合、ステップＳ７で、スロットごとの切片Ａおよび勾配Ｂを決定し（それぞれの偏差を考慮して）、大別表のスロットデータを更新する。ステップＳ８で、大別表内の更新されたスロットデータを平滑化することによって補償表のスロットデータの更新を行う。その後、処理はステップＳ１に戻る。
【００５９】
既述のように、正常な動作期間中、すなわち基準周波数が利用可能である場合、クローズループ処理を適用することによって（図１）発振器周波数と基準周波数との間の差分を最小にする。しかし、受信機が動作継続状態になると、補償（参照）表を使用しながら、現在の測定温度に基づいてゼロ制御値を決定する必要がある。これには、まず、動作継続を開始する直前の時間間隔に対応する実際の（適用済みの）ゼロ制御値の平均を決定することが含まれる。ゼロ制御値は、その前の時間間隔に対応する温度の平均を用いて、補償表のデータから内挿補間される。この目的のために、最近測定された温度および決定されたゼロ制御値については、すべてメモリ内に維持される。そして、これらのうち二つのゼロ制御値の間の差分が決定される。その後、動作継続中に、現在温度を用い補償表のデータを内挿補間して得られたゼロ制御値にこの差分を（補正値として）加えることによって、適用すべきゼロ制御値を推定する。この値は、動作継続中に温度が変化すると、更新される。
【００６０】
経時変化は、主として、全周波数範囲にわたって周波数がずれることによって周波数対温度の特性に影響することが知られている。このことは、わずかな変化の範囲では制御特性が直線性を有すると仮定すると、経時変化が制御値のずれを生じさせることを意味する。したがって、上記の補正は、大別表が構築されて以来の（補正表に保持される）経時変化モデルを補正するために必要なずれの推定値である。
【００６１】
電源投入直後には、直前の期間について利用可能なデータがないため、受信機は補償表を用い、単に大別表を内挿補間することによって制御値を決定することができる。結果である制御値は、発振器が（補償表が作成されて以来）経時変化することを考慮していないが、利用可能な最良の推定値である。
【００６２】
上述の実施形態では、例えば図１および図２を参照すると、周波数差分（ずれ）は、発振器の出力を直接的または間接的に基準信号と混合することによって得られる。しかし、もちろん、周波数差分を取得する他の手法を利用してもよい。図７は、デジタル領域で周波数比較を実行する手法を示している。これには、高調波成分が比較すべき周波数と近しい関係にある信号の一周期内における基準周波数のサイクルをカウントすることが含まれる。
【００６３】
2017207470.tif 000014
【００６４】
2017207470.tif 000015
【００６５】
図８はこの手法を示しており、内部の４８ＭＨｚクロックのサイクルごとに、プロセッサの汎用入出力ピン（ＧＰＩＯ）における外部の２６ＭＨｚ発振器からの信号をサンプリングする。同様の方式は、ほぼすべての任意の二つの周波数についても得ることができる。図示した例では、４８ＭＨｚの内部サンプリングクロックと２６ＭＨｚの外部クロックとの間の位相遷移を示している。このパターンは、２４クロックサイクルごとに繰り返される。特定の時点での位相にかかわらず、２４クロックサイクル後の位相は同じになる。
【００６６】
「サンプリング結果」の行は、任意の特定のサンプリングクロックサイクルごとにＧＰＩＯピンを読み取ることによって測定されるものを表している。 ＧＰＩＯピンには２６ＭＨｚのクロックが供給される。該パターンが２４クロックサイクルごとに繰り返されるため、任意の特定のステップｘにおけるサンプリング値を、任意の整数値ｎについて、「ｘ＋（２４＊ｎ）」クロックサイクル後にピンを読み取ることによっても、測定することができる。
【００６７】
サンプリング０から見て最小の位相ステップは、サンプリング１３（＋１５度）かサンプリング１１（−１５度）のいずれかである。１３クロックサイクルごとに測定を行う場合、各測定値は直前の測定値から位相が１５度だけ前に進む。結果のサンプリング値は次のようになる。
11111111111000000000000111111111111000000000000111111111111 .....
１２個のサンプリング値ごとに出力の遷移を測定すると、クロック間の位相が１８０度（１３個のクロックサイクルのうち１２個）シフトしたと測定されるであろう。特定の位相を決定するために、０から１への遷移が観察されるまで、１３クロックサイクルごとにサンプリングが実行される。この時点で、信号間の位相は０度に最も近い。
【００６８】
準安定状態（または単なるクロック間の位相雑音）のせいで、この遷移形態においては遷移が発生する最も近いサンプリング値で誤差が出る可能性がある。次の測定は１３クロックサイクル後に行われ、その時点で安定しているはずなので、準安定状態は伝播しにくいと思われる。位相を測定するこの技術には、１５度の潜在的な誤差があり、これは約１.６ｎｓの位相測定誤差である。サンプリング値を１１クロックサイクルごとに一回取る場合、位相はやはり毎回１５度ずつシフトするが、反対方向にシフトする。 
【００６９】
この情報を利用し、次のアルゴリズムを用いて位相を解決することができる。
ループ：
［ＧＰＩＯ入力］が「低」の場合、１３クロックサイクル後にループを繰り返す。
［ＧＰＩＯ入力］が「高」の場合：
最後のループが 「低」を測定した場合、位相は現在０以上１５度以下なので終了。
そうでない場合、［最後のループが「高」を測定した]ならば１１クロックサイクル後にループを繰り返す。
このループの最後には、位相は０以上１５度以下となり、位相ノイズによって準安定状態が発生した場合はプラス１５度かマイナス１５度になる。この時点で、クロックサイクルの現在時刻と最後のクロックの時刻が読み込まれ、二つの値の差が記録される。
【００７０】
この方式を利用し、所要位相を達成できるよう外部発振器を較正することによって、内部クロックと外部発振器信号との間に特定の所要位相を設定することもできる。０度以外の特定の位相が所要となる場合は、所望の位相進みの１５度ごとに、この差分に１３を加算することによって設定することができる。
【００７１】
このような方式を温度補償と組み合わせて使用する方法の例を以下に示す。ＧＮＳＳ用受信機は、自分の発振器が前述のようにＧＮＳＳ信号を参照しつつ較正するように設計してもよい。ＧＮＳＳ信号を動作継続している間、該受信機は、前述のように、温度補償方式を使用することによって自らの周波数を維持することができる。また、ＧＰＩＯピン上にある外部発振器からの信号を、内部発振器信号か、または合成器を用いて内部発振器から得た別周波数のクロックかを使用して、サンプリングすることができる。後者の場合、サンプリングクロックの安定性は、該クロックが合成器によって位相ロックされる相手である内部発振器信号の安定性と等しくなる。さて、上述の手段によって、外部発振器の周波数は、ＧＮＳＳ信号を基準にしながら較正を行う内部発振器周波数のクロックと正確に結びついているサンプリングクロックを基準にして推定することができる。
【００７２】
別の実施形態では、外部発振器信号から合成器を用いて得られる信号（外部クロック）の周波数をこの手法で測定することができる
【００７３】
もちろん内部発振器が較正を行う必要はない。公称値からのずれはＧＮＳＳ信号を基準にして簡単に追跡でき、外部発振器の周波数は、内部発振器周波数のずれを考慮してＧＮＳＳ信号を参照することによって推定することもできる。
【００７４】
さらに改善する場合、外部発振器を較正することによって、所要の周波数を達成することもできる。
【００７５】
別の改善策では、外部発振器を較正することによってサンプリングクロックを基準にして外部クロックの所要の位相シフトを達成することができる。これは、サンプリングクロックを利用することによって、外部クロックを用いてクロッキングを行う外部回路によってラッチされるタイミングパルスも生成する場合に有用となり得る。所要の位相ずれを維持することによって、外部発振器の周波数も極めて安定に保たれる。
【００７６】
当業者であれば、本発明の範囲から逸脱することなく、上述の実施形態に様々な変更を加えることができることが理解されよう。
【図１】
2017207470.tif 000016
【図２】
2017207470.tif 000017
【図３】
2017207470.tif 000018
【図４】
2017207470.tif 000019
【図５】
2017207470.tif 000020
【図６】
2017207470.tif 000021
【図７】
2017207470.tif 000022
【図８】
2017207470.tif 000023
【外国語明細書】
2017207470000001.pdf