(57)【要約】【課題】クロック信号の周波数に応じて最適な回路規模で容易な制御を行って正確に所定のコードイネーブル信号を出力するコードＮＣＯを提供する。【解決手段】マルチプレクサ１には互いに素となる整数Ｎ，Ｍが入力されており、コンパレータ６の出力信号に応じていずれか一方を加算器２に出力する。加算器２はレジスタ５にラッチされている整数とマルチプレクサ１で出力される整数とを加算して、マルチプレクサ４を介してレジスタ５に出力し、レジスタ５はこの入力された整数をサンプリングクロック信号ＳＣＬＫの周波数ｆｓでラッチしてコンパレータ６に出力する。コンパレータ６は、整数Ｎ，Ｍおよび加算器２やレジスタ５のビット数Ｌにより設定される閾値に従い、レジスタ５の出力整数がこの閾値条件を満たすときにのみＨｉ状態となる信号を出力する。そして、コードＮＣＯはこの信号を周波数ｆ０のコードイネーブル信号として出力する。【選択図】  図１
2006086818.tif 000002
【特許請求の範囲】
【請求項１】
コード位相観測に用いるコードイネーブル信号を生成するコードＮＣＯにおいて、
互いに素となる２つの整数が入力され、選択信号により前記２つの整数のいずれかを出力する第１マルチプレクサと、
該第１マルチプレクサから出力された整数とレジスタから出力された整数とを加算して出力する加算器と、
該加算器から出力された整数とコード位相調整値を入力して、調整信号に基づきこれらのいずれかを出力する第２マルチプレクサと、
該第２マルチプレクサからの出力をサンプリングクロック信号に応じてラッチして出力するレジスタと、
該レジスタからの出力値が予め設定した所定整数値になることを検出して前記選択信号を出力する選択信号生成手段と、を備え、
前記選択信号を前記コードイネーブル信号とすることを特徴とするコードＮＣＯ。
【請求項２】
前記選択信号出力手段は、前記レジスタからの出力と、前記２つの整数から決定される閾値とを比較して前記選択信号を出力するコンパレータである請求項１に記載のコードＮＣＯ。
【請求項３】
前記選択信号出力手段は、前記レジスタの所定複数ビットの値をＡＮＤ処理した結果を用いて前記選択信号を出力するＡＮＤ演算手段である請求項１に記載のコードＮＣＯ。
【請求項４】
前記選択信号出力手段は、前記レジスタの所定複数ビットの値をＮＯＲ処理した結果を用いて前記選択信号を出力するＮＯＲ演算手段である請求項１に記載のコードＮＣＯ。
【請求項５】
コード位相観測に用いるコードイネーブル信号を生成するコードＮＣＯにおいて、
互いに素となる２つの整数が入力され、選択信号により前記２つの整数のいずれかを出力する第１マルチプレクサと、
該第１マルチプレクサから出力された整数とレジスタから出力された整数とを加算して出力するとともに、使用可能なビット領域の端部を検出して前記選択信号を出力する加算器と、
該加算器から出力された整数とコード位相調整値を入力して、調整信号に基づきこれらのいずれかを出力する第２マルチプレクサと、
第２マルチプレクサからの出力をサンプリングクロック信号に応じてラッチして出力するレジスタと、を備え、
前記選択信号を前記コードイネーブル信号とすることを特徴とするコードＮＣＯ。
【請求項６】
請求項１〜請求項５のいずれかに記載のコードＮＣＯを備え、
該コードＮＣＯから出力されるコードイネーブル信号に基づいて生成されるＰＮコードを用いて、ＧＰＳ信号のコード位相を捕捉・追尾することを特徴とするＧＰＳ受信機。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、Ｃ／ＡコードやＰ（Ｙ）コードであるＰＮコードの生成に用いるコードイネーブル信号を出力するコードＮＣＯと、該コードＮＣＯを備えたＧＰＳ受信機に関するものである。
【背景技術】
【０００２】
従来、ＧＰＳ受信機は、ＰＮコードにより変調された信号を復調することで、信号に含まれる、キャリア位相、コード位相、および航法メッセージ等を観測して測位に用いる。この信号の復調方法としては、まず、受信したＧＰＳ信号を同相信号と直交信号とに分離した後Ａ／Ｄ変換する。次に、キャリアＮＣＯから出力されるキャリア位相信号によりベースバンドの同相信号と直交信号とを生成し、これらの信号とＰＮコード発生器からのＰＮコードとを相関処理することで、キャリア位相、コード位相、および航法メッセージ等の情報を再生する。
【０００３】
そして、ＧＰＳ受信機には、このＰＮコード発生器にＰＮコードの発生タイミングを与えるコードイネーブル信号を生成するコード発生部としてコードＮＣＯが備えられている。
【０００４】
図１８は従来の一般的なコードＮＣＯの概略構成を示すブロック図である。
【０００５】
図１８に示すように、従来のコードＮＣＯは、加算器１０１、マルチプレクサ（ＭＰＸ）１０２、レジスタ１０３、およびラッチ回路１０４を備える。加算器１０１は、所定の設定値Ｐと、レジスタ１０３から出力された整数とを入力して、これらの加算値をマルチプレクサ１０２に出力する。ラッチ回路１０４は、図示しないマイクロプロセッサからコードＮＣＯの位相を調整するための位相調整値ＣＰＡ（Code Phase Adjustment）と、ライトイネーブル信号ＷＥとを入力して、ライトイネーブル信号ＷＥによるタイミングで位相調整値ＣＰＡを出力する。マルチプレクサ１０２は、加算器１０１から出力された整数とラッチ回路１０４から出力された位相調整値ＣＰＡとを入力して、調整タイミング信号ＡＤ（Adjust Timing）に応じて一方を出力する。レジスタ１０３はマルチプレクサ１０２から入力される信号をサンプリングクロック信号ＳＣＬＫ（以下、「クロック信号」と称す。）に基づきラッチして加算器１０１に出力するとともに、コードイネーブル信号として出力する。
【０００６】
この際、設定値Ｐは次の式により与えられる。
【０００７】
【数１】
2006086818.tif 000003
【０００８】
しかしながら、クロック信号ＳＣＬＫの周波数（ｆｓ）と、コードイネーブル信号の周波数ｆ０との関係から、設定値Ｐが整数になるとは限らない。この場合、いわゆる丸め誤差が生じ、コードＮＣＯのコード分解能が低下したり、累積誤差が発生したりする。ここで、分解能の低下の問題は加算器やレジスタのビット数を増加させることにより解消でき、累積誤差の発生は位相調整値を定期的に入力することにより解消できるが、コードＮＣＯの回路規模が大きくなったり、制御が複雑になったりするという新たな問題が生じる。
【０００９】
このような問題を解決する装置が特許文献１に記載されており、その概略構成を示すブロック図を図１９に示す。
【００１０】
図１９に示すように、従来の他の構成のコードＮＣＯはマルチプレクサ２０１、加算器２０２、ラッチ回路２０３を備える。
【００１１】
マルチプレクサ２０１はシフトモードまたはノーマルモードのいずれかで動作する。
シフトモードの場合に、マルチプレクサ２０１は、位相制御値（ＣＯＮＴＲＯＬ）を入力して加算器２０２に出力する。ここで、位相制御値（ＣＯＮＴＲＯＬ）は、加算器２０２およびラッチ回路２０３のビット数をＬとすると次式で表される。
【００１２】
【数２】
2006086818.tif 000004
【００１３】
ここで、ＳＨＩＦＴは現時点の位相から移動させる位相量であり、クロック信号（ＳＣＬＫ）の単位で表される。
【００１４】
また、マルチプレクサ２０１は、ノーマルモードの場合に、セレクタ端子（ＳＥＬＥＣＴ）に入力されるラッチ回路２０３のＱ１２の値に応じて、整数Ｎまたは整数Ｍを選択して出力する。ここで、Ｑ１２が「０」の時には整数Ｎを出力し、Ｑ１２が「１」の時には整数Ｍを出力する。
【００１５】
加算器２０２は、マルチプレクサ２０１から入力された値とラッチ回路２０３から出力された値とを加算して、ラッチ回路２０３に出力する。
ラッチ回路２０３は、入力されるクロック信号ＳＣＬＫを用いて、加算器２０２からの出力をラッチして出力する。この際、Ｑ１２が「１」ならば、ラッチ回路２０３の出力信号を、コードイネーブル信号ＣＥＣとして外部出力する。
【００１６】
このような構成のＮＣＯに出力では、コードイネーブル信号ＣＥＣの周波数ｆ０は次式で表すことができる。
【００１７】
【数３】
2006086818.tif 000005
【００１８】
そして、このコードＮＣＯは次のような条件で最適に用いられる。
【００１９】
その条件とは、クロック信号ＳＣＬＫの周波数ｆｓが２５ＭＨｚであり、ビット数Ｌが１２であって、整数Ｎを１０２３とし、整数Ｍを２６１９とする場合であり、この時、コードイネーブル信号ＣＥＣの周波数ｆ０は１０．２３ＭＨｚとなる。
【特許文献１】United States Patent,"5,663,733", Sep.2, 1997
【発明の開示】
【発明が解決しようとする課題】
【００２０】
ところが、前述の特許文献１に記載のコードＮＣＯでは、コードイネーブル信号ＣＥＣの周波数ｆ０が１０．２３ＭＨｚであるのに対してクロック信号ＳＣＬＫの周波数ｆｓが２５ＭＨｚである場合にのみ、最適な回路条件を得られるが、さらに、分解能をあげるためにクロック信号ＳＣＬＫの周波数ｆｓを高くした場合に、最適条件を得ることができなくなってしまう。
【００２１】
特許文献１に記載のコードＮＣＯのマシンステート（Machine State）と回路構成のビット数から実現できる状態空間（State Space）との関係を図２０に示す。
【００２２】
図２０は、マシンステートと状態空間との関係を示す状態図であり、（ａ）はマシンステートを状態空間にマッピングする前の状態図を示し、（ｂ）はマシンステートを状態空間にマッピングした後の状態図を示す。
【００２３】
図２０に示すように、入力されるクロック信号ＳＣＬＫの周波数ｆｓが２５ＭＨｚの場合、マシンステートは０〜２４９９の２５００のステートを有する。そして、図１９に示すコードＮＣＯでは、コードイネーブル信号ＣＥＣの周波数ｆ０１０．２３ＭＨｚに対応する１０２３のステートがマシンステートの上端側に位置し、マシンステートの１４７７〜２４９９が利用される。
【００２４】
一方で、ラッチ回路２０３の出力Ｑ１２は、マルチプレクサ２０１の出力用のイネーブル信号として用いられているので、コードイネーブル信号ＣＥＣに対応する１０２３のステートは、状態空間の全てのステート（０〜４０９５（２12−１））の上位半分に位置されなければならない。すなわち、状態空間の２０４７（２11―１）〜４０９５（２12−１）のステートに位置しなければならない。この結果、コードイネーブル信号ＣＥＣに対応する前記１０２３のステートは、状態空間の２０４７（２11−１）〜３０７６に位置させなければならない。
【００２５】
ところが、このような構成では、クロック周波数ｆｓを３０．７１ＭＨｚ以上とする場合、マシンステートが３０７１以上必要となる。これにより、３０．７１ＭＨｚ以上のクロック周波数ｆｓを実現させると状態空間の上位半分に１０２３以上のステートが存在してしまうので、１０．２３ＭＨｚのコードイネーブル信号を生成する事ができなくなる。この結果、前述の構成では、ビット数を増加させない限り、３０．７１ＭＨｚ以上のクロック信号で１０．２３ＭＨｚのコードイネーブル信号を発生することができない。すなわち、３０．７１ＭＨｚ以上のクロック信号に対して最適な回路規模で、容易な制御により１０．２３ＭＨｚのコードイネーブル信号を出力するコードＮＣＯを構成することができない。
【００２６】
したがって、この発明の目的は、従来のクロック信号より高周波数のクロック信号が入力されても、その周波数に応じて最適な回路規模で容易な制御を行って正確に所定のコードイネーブル信号を出力するコードＮＣＯ、およびこれを備えたＧＰＳ受信機を提供することにある。
【課題を解決するための手段】
【００２７】
この発明は、コード位相観測に用いるコードイネーブル信号を生成するコードＮＣＯにおいて、互いに素となる２つの整数が入力され、選択信号により２つの整数のいずれかを出力する第１マルチプレクサと、該第１マルチプレクサから出力された整数とレジスタから出力された整数とを加算して出力する加算器と、該加算器から出力された整数とコード位相調整値を入力して、調整信号に基づきこれらのいずれかを出力する第２マルチプレクサと、該第２マルチプレクサからの出力をサンプリングクロック信号に応じてラッチして出力するレジスタと、該レジスタからの出力値が予め設定した所定整数値になることを検出して選択信号を出力する選択信号生成手段と、を備え、この選択信号をコードイネーブル信号とすることを特徴としている。
【００２８】
この構成では、加算器により経時的に順次加算されて出力される整数が選択信号生成手段で設定されている所定整数値になると、選択信号生成手段から第１マルチプレクサに選択信号が出力される。例えば、加算器から出力される整数が予め設定された整数範囲内の所定整数値であればＨｉ状態「１」の選択信号が出力され、前記所定整数値でなければＬｏｗ状態「０」の選択信号が出力される。第１マルチプレクサは、入力された選択信号に応じて、入力される２つの整数のいずれかを加算器に出力する。すなわち、Ｌｏｗ状態「０」の選択信号の場合とＨｉ状態「１」の選択信号の場合とで異なる整数を加算器に出力する。このループ演算を行うことで、選択信号生成手段から出力される選択信号が所定の周期性を有する。ここで、第１マルチプレクサに入力される２つの整数と選択信号生成手段の所定整数値とを、使用するサンプリングクロック信号の周波数、得ようとするコードイネーブル信号の周波数、構成回路のビット数に応じて適宜設定することで、コードイネーブル信号の周波数となる所定の周波数でＨｉ状態「１」の選択信号が出力される。すなわち、所定周波数のコードイネーブル信号が出力される。
【００２９】
また、この発明は、選択信号出力手段を、レジスタからの出力と２つの整数から決定される閾値とを比較して選択信号を出力するコンパレータで構成することを特徴としている。
【００３０】
この構成では、加算器により経時的に順次加算されてレジスタでラッチされてから出力される整数がコンパレータで設定されている閾値に対して所定の関係となると、コンパレータから第１マルチプレクサに選択信号が出力される。例えば、加算器から出力される整数が前記閾値により設定される所定整数範囲内にあればＨｉ状態「１」の選択信号が出力され、前記所定整数範囲内になければＬｏｗ状態「０」の選択信号が出力される。第１マルチプレクサは、入力された選択信号に応じて、入力される２つの整数のいずれかを加算器に出力する。すなわち、Ｌｏｗ状態「０」の選択信号の場合とＨｉ状態「１」の選択信号の場合とで異なる整数を加算器に出力する。このループ演算を行うことで、コンパレータから出力される選択信号が所定の周期性を有する。ここで、第１マルチプレクサに入力される２つの整数とコンパレータの閾値および所定整数範囲とを、使用するサンプリングクロック信号の周波数、得ようとするコードイネーブル信号の周波数、構成回路のビット数に応じて適宜設定することで、コードイネーブル信号の周波数となる所定の周波数でＨｉ状態「１」の選択信号が出力される。すなわち、所定周波数のコードイネーブル信号が出力される。
【００３１】
また、この発明は、選択信号出力手段をレジスタの所定の複数ビットの値をＡＮＤ処理した結果を用いて選択信号を出力するＡＮＤ演算手段で構成することを特徴としている。
【００３２】
この構成では、レジスタの所定ビットの値が所定の関係となると、ＡＮＤ演算手段から第１マルチプレクサに選択信号が出力される。例えば、レジスタの最上位ビットおよびこの一つ下位のビットがともにＨｉ状態「１」であれば、ＡＮＤ演算手段からＨｉ状態「１」の選択信号が出力され、レジスタの最上位ビットおよびこの一つ下位のビットがともにＨｉ状態「１」でなければＬｏｗ状態「０」の選択信号が出力される。第１マルチプレクサは、入力された選択信号に応じて、入力される２つの整数のいずれかを加算器に出力する。すなわち、Ｌｏｗ状態「０」の選択信号の場合とＨｉ状態「１」の選択信号の場合とで異なる整数を加算器に出力する。このループ演算を行うことで、ＡＮＤ演算手段から出力される選択信号が所定の周期性を有する。ここで、第１マルチプレクサに入力される２つの整数とＡＮＤ演算手段がＡＮＤ処理するレジスタのビットを、使用するサンプリングクロック信号の周波数、得ようとするコードイネーブル信号の周波数、構成回路のビット数に応じて適宜設定することで、コードイネーブル信号の周波数となる所定の周波数でＨｉ状態「１」の選択信号が出力される。すなわち、所定周波数のコードイネーブル信号が出力される。
【００３３】
また、この発明は、選択信号出力手段をレジスタの所定の複数ビットの値をＮＯＲ処理した結果を用いて選択信号を出力するＮＯＲ演算手段で構成することを特徴としている。
【００３４】
この構成では、レジスタの所定ビットの値が所定の関係となると、ＮＯＲ演算手段から第１マルチプレクサに選択信号が出力される。例えば、レジスタの最上位ビットおよびこの一つ下位のビットがともにＬｏｗ状態「０」であれば、ＮＯＲ演算手段からＨｉ状態「１」の選択信号が出力され、レジスタの最上位ビットおよびこの一つ下位のビットがともにＬｏｗ状態「０」でなければＬｏｗ状態「０」の選択信号が出力される。第１マルチプレクサは、入力された選択信号に応じて、入力される２つの整数のいずれかを加算器に出力する。すなわち、Ｌｏｗ状態「０」の選択信号の場合とＨｉ状態「１」の選択信号の場合とで異なる整数を加算器に出力する。このループ演算を行うことで、ＮＯＲ演算手段から出力される選択信号が所定の周期性を有する。ここで、第１マルチプレクサに入力される２つの整数とＮＯＲ演算手段がＮＯＲ処理するレジスタのビットを、使用するサンプリングクロック信号の周波数、得ようとするコードイネーブル信号の周波数、構成回路のビット数に応じて適宜設定することで、コードイネーブル信号の周波数となる所定の周波数でＨｉ状態「１」の選択信号が出力される。すなわち、所定周波数のコードイネーブル信号が出力される。
【００３５】
また、この発明は、コード位相観測に用いるコードイネーブル信号を生成するコードＮＣＯにおいて、互いに素となる２つの整数が入力され、選択信号によりこれら２つの整数のいずれかを出力する第１マルチプレクサと、該第１マルチプレクサから出力された整数とレジスタから出力された整数とを加算して出力するとともに、使用可能なビット領域の端部を検出して選択信号を出力する加算器と、該加算器から出力された整数とコード位相調整値を入力して、調整信号に基づきこれらのいずれかを出力する第２マルチプレクサと、第２マルチプレクサからの出力をサンプリングクロック信号に応じてラッチして出力するレジスタと、を備え、選択信号をコードイネーブル信号とすることを特徴としている。
【００３６】
この構成では、加算器により経時的に順次加算されて出力される整数が加算器の上限または下限に達すると、加算器がこれを検出して第１マルチプレクサに選択信号が出力される。すなわち、加算器の上限および下限から演算により整数が変化する方向に対向する方向に所定範囲内に加算値が存在するかどうかにより、この状態に応じて次のタイミングで選択信号が出力される。例えば、加算器が上限又は下限を検出すれば、すなわち、前記所定範囲内に加算値が存在すれば、次のタイミングでＨｉ状態「１」の選択信号が出力される。一方、他の範囲に加算値が存在する間は、Ｌｏｗ状態「０」の選択信号が出力される。第１マルチプレクサは、入力された選択信号に応じて、入力される２つの整数のいずれかを加算器に出力する。すなわち、Ｌｏｗ状態「０」の選択信号の場合とＨｉ状態「１」の選択信号の場合とで異なる整数を加算器に出力する。このループ演算を行うことで、選択信号が所定の周期性を有する。ここで、第１マルチプレクサに入力される２つの整数を、使用するサンプルクロック信号の周波数、得ようとするコードイネーブル信号の周波数、構成回路のビット数に応じて適宜設定することで、コードイネーブル信号の周波数となる所定の周波数でＨｉ状態「１」の選択信号が出力される。すなわち、所定周波数のコードイネーブル信号が出力される。
【００３７】
また、この発明のＧＰＳ受信機は、前述のコードＮＣＯを備え、このコードＮＣＯから出力されるコードイネーブル信号に基づいて生成されるＰＮコードを用いて、ＧＰＳ信号のコード位相を捕捉・追尾することを特徴としている。
【００３８】
この構成では、前述のコードＮＣＯで正確にコードイネーブル信号が出力されるので、このコードイネーブル信号に基づき、正確なＰＮコードが生成される。このＰＮコードを用いることにより、ＧＰＳ信号との相関処理が高精度となる。これにより、コード位相の捕捉・追尾が高精度に行われ、高精度な相対測位が行われる。
【発明の効果】
【００３９】
この発明によれば、入力されるサンプリングクロック信号の周波数に応じて、最適な回路構成で、且つ容易な制御により所望周波数のコードイネーブル信号を高精度に出力するコードＮＣＯを小型に構成することができる。言い換えれば、サンプルクロック信号の周波数に影響されることなく、必要最小限のビット数で形成された回路構成要素を用いて、簡素な制御フローで高精度にコードイネーブル信号を出力するコードＮＣＯを構成することができる。
【００４０】
また、この発明によれば、前述のコードＮＣＯを用いることにより、高精度のＰＮコードを生成して、ＧＰＳ信号の相関処理を高精度に行うＧＰＳ受信機を構成することができる。そして、ＧＰＳ信号が高精度の相関処理されることで、コード位相の捕捉・追尾が確実に行われ、精度良く、且つ確実に相対測位を行うことができる。
【発明を実施するための最良の形態】
【００４１】
本発明の第１の実施形態に係るコードＮＣＯについて図１，２を参照して説明する。
図１は本実施形態に係るコードＮＣＯの構成を示すブロック図である。
図１に示すコードＮＣＯは、マルチプレクサ（ＭＰＸ）１，４と、加算器２と、ラッチ回路３と、レジスタ５と、コンパレータ６とを備える。そして、マルチプレクサ１，４、加算器２、ラッチ回路３，レジスタ５はビット数Ｌからなるディジタル演算回路で構成されている。
【００４２】
マルチプレクサ１は、互いに素となる２つ整数Ｎ，Ｍが入力されるとともに、コンパレータ６の出力信号である選択信号が入力される。そして、この選択信号に応じて、２つの整数Ｎ，Ｍのいずれかを出力する。例えば、本実施形態では、選択信号がＨｉ状態「１」である場合に整数Ｎを出力し、選択信号がＬｏｗ状態「０」である場合に整数Ｍを出力する。ここで、このマルチプレクサ１が本発明の「第１マルチプレクサ」に相当する。
【００４３】
加算器２は、マルチプレクサ１から出力される整数と、レジスタからの出力値とを加算して出力する。
ラッチ回路３は、コード位相を制御するための位相調整値ＣＰＡ（Code PhaseAdjustment）と、ライトイネーブル信号ＷＥとを入力して、ライトイネーブル信号ＷＥによるタイミングで位相調整値ＣＰＡを出力する。
【００４４】
マルチプレクサ４は、加算器２の出力値と、ラッチ回路３からの出力値（位相調整値ＣＰＡ）が入力されるとともに、調整タイミング信号ＡＤ（Adjust Timing）が入力される。そして、この調整タイミング信号ＡＤにより与えられるタイミングにより、加算器２からの出力値かラッチ回路３からの出力値のいずれか一方を出力する。具体的には、調整タイミング信号ＡＤが入力されたタイミングで位相調整値ＣＰＡを出力し（シフトモード）、それ以外のタイミングでは加算器２からの出力値を出力する（ノーマルモード）。ここで、このマルチプレクサ４が本発明の「第２マルチプレクサ」に相当する。
【００４５】
レジスタ５は、マルチプレクサ４の出力値と、サンプリングクロック信号ＳＣＬＫ（以下、「クロック信号」と称す）とが入力される。そして、レジスタ５はサンプリングクロック信号ＳＣＬＫの周波数（以下、「クロック周波数」と称す）ｆｓに応じてマルチプレクサ４の出力値をラッチして出力する。この出力値は、コンパレータ６に入力されるとともに、加算器２に入力される。
【００４６】
コンパレータ６は、レジスタ５の出力値を入力して、予め設定された閾値と比較して、比較結果に応じてＨｉ状態「１」またはＬｏｗ状態「０」のいずれかの値の選択信号を出力する。この閾値は、クロック周波数ｆｓと、得ようとするコードイネーブル信号の周波数ｆ０と、前記マルチプレクサ１に入力される整数Ｎとから設定されるものであり、
【００４７】
【数４】
2006086818.tif 000006
【００４８】
として、（Ｍ’−Ｎ−１）で与えられる。
【００４９】
そして、具体的に、図１に示すコードＮＣＯでは、レジスタ５の出力値が（Ｍ’−Ｎ−１）で設定される閾値よりも大きければコンパレータ６からの出力信号はＨｉ状態「１」となり、レジスタ５の出力値が（Ｍ’−Ｎ−１）で設定される閾値以下であればコンパレータ６からの出力信号はＬｏｗ状態「０」となる。ここで、このコンパレータ６が本発明の「選択信号生成手段」に相当する。
【００５０】
このようなコードＮＣＯでは、整数Ｎ，Ｍ、ビット数Ｌはクロック周波数ｆｓおよび得ようとするコードイネーブル信号の周波数ｆ０から、次式を用いて設定される。
【００５１】
【数５】
2006086818.tif 000007
【００５２】
【数６】
2006086818.tif 000008
【００５３】
【数７】
2006086818.tif 000009
【００５４】
このような設定を行い、図１に示す構成を用いることで、ノーマルモード時には、コンパレータ６からは周波数ｆ０に応じた周期で選択信号がＨｉ状態「１」となる（具体的な動作については次に示す）。この結果、コンパレータ６から出力される信号を取り出すことにより、所望とする周波数ｆ０のコードイネーブル信号を出力することができる。また、一方でシフトモード時にはコード位相のズレ量に応じたステート移動量の調整を行い、位相調整を行う。
【００５５】
ここで、図１に示すコードＮＣＯで、具体的に、整数Ｎ，Ｍ、ビット数Ｌ、クロック周波数ｆｓ、コードイネーブル信号の周波数ｆ０を設定した場合の動作について説明する。例えば、クロック周波数ｆｓを４０ＭＨｚとし、周波数ｆ０が１０．２３ＭＨｚのコードイネーブル信号を生成して出力する場合について説明する。
式（４）から、整数Ｎを１０２３と設定すると、整数Ｍ’は４０００に設定される。また、式（５）は、Ｍ’が２Ｌを超えない最小の整数となるようなＬを定義しているので、Ｍ’が４０００であることから、Ｌが１２に設定される。そして、式（６）からＭは１１１９に設定される。
【００５６】
このような場合の状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を図２に示す。
図２は、本実施形態のコードＮＣＯにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。
図２に示すように、図１に示すコードＮＣＯは、回路構成素子のビット数Ｌが１２であるので状態空間全体として４０９６（２12）のステートを有し、クロック周波数ｆｓが４０ＭＨｚであるのでマシンステートの総数が４０００となる。そして、このマシンステート４０００は状態空間のステート０から始まる。また、コードイネーブル信号の周波数ｆ０に対応するステート数は前記４０００のマシンステート内の１０２３のステートで表される。
【００５７】
ここで、前述のように、コンパレータ６は、レジスタ５から出力される整数値が閾値２９７６（＝４０００−１０２３−１）より大きければＨｉ状態「１」の選択信号を出力し、閾値２９７６以下であればＬｏｗ状態「０」の選択信号を出力する。そして、本実施形態のコードＮＣＯはこの選択信号をコードイネーブル信号として出力する。このため、コードイネーブル信号に対応するステートはマシンステート４０００内の閾値２９７７以上（２９７７〜３９９９）のステートで表される。すなわち、マシンステート４０００の最上位１０２３ステートに対応する。
【００５８】
また、マルチプレクサ１は、Ｌｏｗ状態「０」の選択信号が入力されると整数Ｎ（１０２３）を加算器２に出力し、Ｈｉ状態「１」の選択信号が入力されると整数Ｍ（１１１９）を加算器２に出力する。具体的には、マルチプレクサ１は、加算器２の出力をクロック周波数でラッチした値がステート番号０〜２９７６を取る場合には整数１０２３を出力し、加算器２の出力をクロック周波数でラッチした値がステート番号２９７７〜３９９９を取る場合には整数１１１９を出力する。
加算器２は入力される１０２３、１１１９いずれかの整数をレジスタ５の出力に加算する。このため、マシンステートのステートは通常増加する方向で遷移する。
【００５９】
この動作はクロック周波数に応じて繰り返し行われ、加算器２の出力をクロック周波数でラッチした値がステート番号２９７７〜３９９９を取る毎にコンパレータ６からＨｉ状態「１」の信号が出力される。
【００６０】
このような構成とすることで、従来技術の図１５に示したコードＮＣＯのようにコードイネーブル信号を出力するステートが状態空間の中央に位置されることなく、状態空間内に配置されたマシンステートの端に位置されるので、入力されるクロック周波数に応じて、所定の周波数のコードイネーブル信号を出力するステートを確実に実現することができる。この際、状態空間のステート数すなわち構成回路素子のビット数は、クロック周波数により設定されるステート数がビット数により得られるステート数を超えないように設定されるので、最小のビット数の回路構成を必ず実現することができる。
【００６１】
以上のように、本実施形態の構成のコードＮＣＯを用いることで、クロック周波数に応じて必要最小限のビット構成からなる回路構成素子を用い、容易な制御で確実に所望周波数のコードイネーブル信号を生成して出力することができる。
【００６２】
次に、第２の実施形態に係るコードＮＣＯについて図３，４を参照して説明する。
図３は本実施形態に係るコードＮＣＯの構成を示すブロック図である。
図３に示すように、本実施形態のコードＮＣＯはマルチプレクサ１に入力される整数と、コンパレータ６の閾値条件とが異なるものであり、他の構成は図１に示したコードＮＣＯと同じである。ここで、このコンパレータ６が本発明の「選択信号生成手段」に相当する。
【００６３】
本実施形態のコードＮＣＯのマルチプレクサ１には、整数（Ｍ’−Ｎ）と整数（２L−Ｎ）とが入力され、コンパレータ６からＨｉ状態「０」の選択信号が入力されると、整数（Ｍ’−Ｎ）を出力し、コンパレータ６からＬｏｗ状態「１」の選択信号が入力されると整数（２L−Ｎ）を出力する。また、本実施形態のコンパレータ６はレジスタ５からの出力値が整数Ｎよりも小さい場合にＨｉ状態「１」を出力し、レジスタ５からの出力値が整数Ｎ以上であればＬｏｗ状態「０」を出力する。
【００６４】
このような構成のコードＮＣＯにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を図４に示す。
【００６５】
図４は、本実施形態のコードＮＣＯにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。なお、本例でも、Ｌは１２、サンプルクロック周波数ｆｓは４０ＭＨｚ、コードイネーブル信号の周波数ｆ０は１０．２３ＭＨｚであり、整数Ｎは１０２３、整数Ｍ’は４０００とする。
図４に示すように、図３に示すコードＮＣＯは、図１に示したコードＮＣＯと基本回路構成が同じであるので、４０９６のステートからなる状態空間内に、ステート０から始まるマシンステート４０００が配置される。
【００６６】
ここで、本実施形態の構成では、コンパレータ６は、レジスタ５から出力される整数値が閾値１０２３未満であればＨｉ状態「１」の選択信号を出力し、閾値１０２３以上であればＬｏｗ状態「０」の選択信号を出力する。そして、コードＮＣＯはこの選択信号をコードイネーブル信号として出力する。このため、コードイネーブル信号に対応するステートはマシンステート４０００内の閾値１０２３未満（０〜１０２２）のステートで表される。すなわち、マシンステート４０００の最下位１０２３ステートに対応する。
【００６７】
また、マルチプレクサ１はＬｏｗ状態「０」の信号が入力されると整数値Ｍ’−Ｎ（＝２９７７）を出力し、Ｈｉ状態「１」の信号が入力されると整数値２L−Ｎ（＝３０７２）を出力することから、ステートは状態空間において減少する方向に遷移する。
【００６８】
そして、この動作はクロック周波数に応じて繰り返し行われ、加算器２の出力をクロック周波数でラッチした値がステート０〜１０２２を取る毎にコンパレータ６からＨｉ状態「１」の信号が出力される。
【００６９】
このような構成を用いても、前述の第１の実施形態に示したコードＮＣＯと同様の効果を奏することができる。
【００７０】
そして、コードＮＣＯの回路構成を、本実施形態（第２の実施形態）、または、第１の実施形態に示すようにすることで、設定条件、すなわち、入力する整数、閾値条件を変更するのみで、ステートの遷移方向を容易に逆転させることができる。これにより、従来のコードＮＣＯにおけるステートの遷移方向がいずれの方向であっても、本発明の前記２つの実施形態の構成を用いることで、高精度のコード位相観測を容易に実現することができる。この際、第１の実施形態で設定する整数（位相設定値）をＰ１とすると、第２の実施形態で設定する整数Ｐ２は、Ｐ２＝Ｍ−１−Ｐ１で容易に設定することができる。
【００７１】
この結果、従来使用しているＧＰＳ受信機の仕様に応じて設定条件を変化させるだけで、高精度のコード位相観測が容易に実現されるので、従来のＧＰＳ受信機からの改良が容易となる。
【００７２】
次に、第３の実施形態に係るコードＮＣＯについて、図５，６を参照して説明する。
【００７３】
図５は本実施形態のコードＮＣＯの構成を示すブロック図である。
図５に示すコードＮＣＯは、第１の実施形態の図１に示したコードＮＣＯのコンパレータ６をＡＮＤ演算部６１に置き換えたものであり、他の構成は図１に示すコードＮＣＯと同じである。
ＡＮＤ演算部６１は、レジスタ５の最上位ビットＬの出力と、その一つ下位のビット（Ｌ−１）の出力とを入力して、これらのＡＮＤ演算結果をマルチプレクサ１に出力する。すなわち、ＡＮＤ演算部６１は、レジスタ５の最上位ビットＬからの入力信号とその一つ下位のビット（Ｌ−１）からの入力信号とがともにＨｉ状態「１」の場合にのみ、Ｈｉ状態「１」の信号をマルチプレクサ１に出力する。また、これ以外の状態ではＬｏｗ状態「０」の信号をマルチプレクサ１に出力する。そして、本実施形態のコードＮＣＯはＡＮＤ演算部６１から出力されるこの信号をコードイネーブル信号として出力する。ここで、このＡＮＤ演算部６１が本発明の「選択信号生成手段」に相当する。
【００７４】
図６は本実施形態のコードＮＣＯにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。なお、本例でも、Ｌは１２、サンプルクロック周波数ｆｓは４０ＭＨｚ、コードイネーブル信号の周波数ｆ０は１０．２３ＭＨｚであり、整数Ｎは１０２３、整数Ｍは１１１９とする。
図５に示す構成では、前述のように最上位ビットとその一つ下位のビットがＨｉ状態である時にＨｉ状態「１」のコードイネーブル信号が出力されるので、コードイネーブル信号を出力する状態を示すステートは、状態空間０〜２12−１（＝４０９５）の上位側であるステート２11＋２10（＝３０７２）〜２12−２（＝４０９４）に位置づけられる。そして、マシンステートは２12−１−４０００（＝９５）〜２12−２（＝４０９４）に位置づけられる。また、マルチプレクサ１はＬｏｗ状態「０」の信号が入力されると整数１０２３を出力し、Ｈｉ状態「１」の信号が入力されると整数１１１９を出力する。具体的には、マルチプレクサ１は、加算器２の出力をクロック周波数でラッチした値がステート９５〜３０７１を取る場合には整数１０２３を出力し、加算器２の出力をクロック周波数でラッチした値がステート３０７２〜４０９４を取る場合には整数１１１９を出力する。
加算器２は入力される１０２３、１１１９いずれかの整数をレジスタ５の出力に加算する。このため、マシンステートのステートは通常増加する方向で遷移する。
【００７５】
この動作はクロック周波数に応じて繰り返し行われ、加算器２の出力をクロック周波数でラッチした値がステート番号３０７２〜４０９４を取る毎にＡＮＤ演算部６１からＨｉ状態「１」の信号が出力される。
【００７６】
なお、本実施形態のコードＮＣＯでは、前述のようにマシンステートの最下位ステートが９５（＝２12−１−４０００）であるので、シフトモード時には、位相調整値ＣＰＡに９５を加算した整数を入力することで、コード位相が正確に補正される。すなわち、ビット数Ｌ、コンパレータに入力する整数Ｎ，Ｍである場合に、２Ｌ−１−Ｍ’を位相調整値ＣＰＡに加算することでコード位相を正確に補正することができる。
【００７７】
このような構成とすることで、コンパレータを用いることなく、より簡素な構造でコードＮＣＯを最適な回路構成に実現することができる。
【００７８】
次に、第４の実施形態に係るコードＮＣＯについて図７，８を参照して説明する。
【００７９】
図７は本実施形態に係るコードＮＣＯの構成を示すブロック図である。
【００８０】
本実施形態のコードＮＣＯは、第３の実施形態に示したコードＮＣＯのＡＮＤ演算部６１をＮＯＲ演算部６２に置き換えたものであり、他の構成は、マルチプレクサ１に入力される値を除き、図５に示したコードＮＣＯと同じである。ここで、図７に示すマルチプレクサ１には、Ｍ，Ｎに替わりＭ’−Ｎ，２Ｌ−Ｎがそれぞれ入力される。
ＮＯＲ演算部６２は、レジスタ５の最上位ビットＬの出力と、その一つ下位のビットＬ−１の出力とを入力して、これらのＮＯＲ演算結果をマルチプレクサ１に出力する。すなわち、ＮＯＲ演算部６２は、レジスタ５の最上位ビットＬからの入力信号とその一つ下位のビットＬ−１からの入力信号とがともにＬｏｗ状態「０」の場合にのみ、Ｈｉ状態「１」の信号をマルチプレクサ１に出力する。また、これ以外の状態ではＬｏｗ状態「０」の信号をマルチプレクサ１に出力する。そして、本実施形態のコードＮＣＯはＮＯＲ演算部６２から出力されるこの信号をコードイネーブル信号として出力する。ここで、このＮＯＲ演算部６２が本発明の「選択信号生成手段」に相当する。
【００８１】
図８は本実施形態のコードＮＣＯにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。なお、本例でも、Ｌは１２、サンプルクロック周波数ｆｓは４０ＭＨｚ、コードイネーブル信号の周波数ｆ０は１０．２３ＭＨｚであり、整数Ｎは１０２３、整数Ｍ’は４０００とする。
図７に示す構成では、前述のように最上位ビットとその一つ下位のビットがＬｏｗ状態「０」である時にＨｉ状態「１」のコードイネーブル信号が出力されるので、コードイネーブル信号を出力する状態を示すステートは、状態空間０〜２12−１（＝４０９５）のステート１〜２10−１（＝１０２３）に位置づけられる。そして、マシンステートは１〜４０００に位置づけられる。また、マルチプレクサ１はＬｏｗ状態「０」の信号が入力されると整数２９７７を出力し、Ｈｉ状態「１」の信号が入力されると整数３０７２を出力する。具体的には、マルチプレクサ１は、加算器２の出力をクロック周波数でラッチした値がステート１０２４〜４０００を取る場合には整数２９７７を出力し、加算器２の出力をクロック周波数でラッチした値がステート１〜１０２３を取る場合には整数３０７２を出力する。
加算器２は入力される２９７７、３０７２いずれかの整数をレジスタ５の出力に加算する。このため、マシンステートのステートは通常減少する方向で遷移する。
【００８２】
この動作はクロック周波数に応じて繰り返し行われ、加算器２の出力をクロック周波数でラッチした値がステート番号１〜１０２３を取る毎にＮＯＲ演算部６２からＨｉ状態「１」の信号が出力される。
【００８３】
なお、本実施形態のコードＮＣＯでは、前述のようにマシンステートの最下位ステートが１（＝２10−１０２３）であるので、シフトモード時には、位相調整値ＣＰＡに１を加算した整数を入力することで、コード位相が正確に補正される。すなわち、ビット数Ｌ、コンパレータに入力する整数Ｎ，Ｍである場合に、２L-2−Ｎを位相調整値ＣＰＡに加算することでコード位相を正確に補正することができる。
【００８４】
このような構成とすることで、前述の第３の実施形態と同様に、コンパレータを用いることなく、より簡素な構造でコードＮＣＯを最適な回路構成に実現することができる。
【００８５】
次に、第５の実施形態に係るコードＮＣＯについて図９，１０を参照して説明する。
図９は本実施形態のコードＮＣＯの構成を示すブロック図である。
図９に示すコードＮＣＯは、マルチプレクサ（ＭＰＸ）１，４と、加算器７と、ラッチ回路３と、レジスタ５と、コンパレータ６とを備える。そして、マルチプレクサ１，４、加算器７、ラッチ回路３，レジスタ５はビット数Ｌからなるディジタル演算回路で構成されている。
【００８６】
マルチプレクサ１は、互いに素となる２つ整数Ｎ，Ｍが入力されるとともに、加算器７からキャリア信号が入力される。そして、このキャリア信号に応じて、２つの整数Ｎ，Ｍのいずれかを出力する。例えば、本実施形態では、キャリア信号がＨｉ状態「１」である場合に整数Ｎを出力し、キャリア信号がＬｏｗ状態「０」である場合に整数Ｍを出力する。ここで、このマルチプレクサ１が本発明の「第１マルチプレクサ」に相当し、キャリア信号が本発明の「選択信号」に相当する。
【００８７】
加算器７は、マルチプレクサ１から出力される整数と、レジスタからの出力値とを加算して出力する。また、加算器７は加算結果に応じてＨｉ状態とＬｏｗ状態との２値からなるキャリア信号をマルチプレクサ１に出力する。具体的には、加算器７は、加算結果がビット数で表される状態空間の上限に達して下位側に移動すると、Ｈｉ状態「１」のキャリア信号をマルチプレクサ１に出力し、加算結果がビット数で表される状態空間の上限に達しなければＬｏｗ状態「０」のキャリア信号をマルチプレクサ１に出力する。言い換えれば、加算後の整数が加算前の整数よりも小さければＨｉ状態「１」のキャリア信号を出力し、加算後の整数が加算前の整数よりも大きければＬｏｗ状態「０」のキャリア信号を出力する。
【００８８】
ラッチ回路３は、コード位相を制御するための位相調整値ＣＰＡ（Code PhaseAdjustment）と、ライトイネーブル信号ＷＥとを入力して、ライトイネーブル信号ＷＥによるタイミングで位相調整値ＣＰＡを出力する。
【００８９】
マルチプレクサ４は、加算器２の出力値と、ラッチ回路３からの出力値（位相調整値ＣＰＡ）が入力されるとともに、調整タイミング信号ＡＤ（Adjust Timing）が入力される。そして、この調整タイミング信号ＡＤにより与えられるタイミングにより、加算器２からの出力値かラッチ回路３からの出力値のいずれか一方を出力する。具体的には、調整タイミング信号ＡＤが入力されたタイミングで位相調整値ＣＰＡを出力し（シフトモード）、それ以外のタイミングでは加算器２からの出力値を出力する（ノーマルモード）。ここで、このマルチプレクサ４が本発明の「第２マルチプレクサ」に相当する。
【００９０】
レジスタ５は、マルチプレクサ４の出力値とクロック信号とが入力される。そして、レジスタ５はクロック周波数ｆｓに応じてマルチプレクサ４の出力値をラッチして加算器７に出力する。
【００９１】
なお、本実施形態のコードＮＣＯについても、整数Ｎ，Ｍ、ビット数Ｌはクロック周波数ｆｓおよび得ようとするコードイネーブル信号の周波数ｆ０から、前述の第１の実施形態と同様に設定される。
【００９２】
このような設定を行い、図９に示す構成を用いることで、ノーマルモード時には、加算器７からは周波数ｆ０に応じた周期でキャリア信号がＨｉ状態「１」となる（具体的な動作については次に示す）。この結果、加算器７から出力されるキャリア信号を取り出すことにより、所望とする周波数ｆ０のコードイネーブル信号を出力することができる。また、一方でシフトモード時にはコード位相のズレ量に応じたステート移動量の調整を行い、位相調整を行う。
【００９３】
ここで、図９に示すコードＮＣＯで、具体的に、整数Ｎ，Ｍ、ビット数Ｌ、クロック信号の周波数ｆｓ、コードイネーブル信号の周波数ｆ０を設定した場合の動作について説明する。例えば、クロック周波数ｆｓを４０ＭＨｚとし、周波数ｆ０が１０．２３ＭＨｚのコードイネーブル信号を生成して出力する場合について説明する。
式（４）から、整数Ｎを１０２３と設定すると、整数Ｍ’は４０００に設定される。また、式（５）は、Ｍ’が２Ｌを超えない最小の整数となるようなＬを定義しているので、Ｍ’が４０００であることから、Ｌが１２に設定される。そして、式（６）からＭは１１１９に設定される。
【００９４】
このような場合の状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を図１０に示す。
図１０は、本実施形態のコードＮＣＯにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。
図１０に示すように、図９に示すコードＮＣＯは、回路構成素子のビット数Ｌが１２であるので状態空間全体として４０９６（２12）のステートを有し、クロック周波数ｆｓが４０ＭＨｚであるのでマシンステートの総数が４０００となる。また、コードイネーブル信号の周波数ｆ０に対応するステート数は前記４０００のマシンステート内の１０２３のステートで表される。また、加算器７がビットの最上位（状態空間の上限）を検出することでＨｉ状態「１」のキャリア信号を発してビットの最上位から最下位に遷移するので、マシンステート４０００の最上位は状態空間の最上位４０９５に位置する。さらに、本実施形態のコードＮＣＯはこのキャリア信号をコードイネーブル信号として出力する。このため、コードイネーブル信号に対応するステートはマシンステート４０００内の閾値２９７７以上（２９７７〜３９９９）のステートで表される。これは、状態空間の最上位部の１０２３ステート、すなわち、３０７３〜４０９５のステートに対応する。
【００９５】
また、マルチプレクサ１は、Ｌｏｗ状態「０」の選択信号が入力されると整数Ｎ（１０２３）を加算器７に出力し、Ｈｉ状態「１」の選択信号が入力されると整数Ｍ（１１１９）を加算器７に出力し、加算器７は入力される１０２３、１１１９いずれかの整数をレジスタ５の出力に加算する。このため、マシンステートのステートは通常増加する方向で遷移する。
【００９６】
このような構成では、ステート３０７３〜４０９５（最上位）までの間における加算器７の出力をクロック周波数でラッチした時点で、加算器７からＨｉ状態「１」のキャリア信号が出力される。具体的には、加算器７の加算結果がステート３０７３〜４０９５の間に入り、これがレジスタ５でラッチされた時点では加算器７からはＬｏｗ状態「０」のキャリア信号が出力されている。この時点で、加算器７には整数Ｎ（＝１０２３）が入力され、加算器７はレジスタ６でラッチされた整数にこの整数Ｎ（＝１０２３）を加算する。この結果、加算値は状態空間の上限（４０９５）に達するので、加算器７はＨｉ状態「１」のキャリア信号を出力するとともに、前記レジスタ６にラッチされた整数に対して、新たにマルチプレクサ１から入力された整数Ｍ（＝１１１９）を加算して出力する。これにより、マシンステートは、ステート３０７３〜４０９５の状態からステート９６〜１１１８の状態に移動する。そして、この後は、加算器７の加算結果が再度ステート３０７３〜４０９５の整数となるまで、整数Ｎ（＝１０２３）が加算され続ける。
【００９７】
この動作はクロック周波数に応じて繰り返し行われ、加算器の出力をクロック周波数でラッチした値がステート３０７３〜４０９５の整数値を取る毎に加算器７からＨｉ状態「１」のキャリア信号が出力される。これにより、所定周波数ｆ０のコードイネーブル信号を生成して出力することができる。
【００９８】
なお、本実施形態のコードＮＣＯでは、前述のようにマシンステートの最下位ステートが９６であるので、シフトモード時には、位相調整値ＣＰＡに９６を加算した整数を入力することで、コード位相が正確に補正される。
【００９９】
このような構成とすることで、第１の実施形態と同様の効果を得ることができるとともに、本実施形態のコードＮＣＯは第１の実施形態からコンパレータを省略したものであるのでコードＮＣＯを小型化することができる。
【０１００】
次に、第６の実施形態に係るコードＮＣＯについて図１１，１２を参照して説明する。
図１１は本実施形態のコードＮＣＯの構成を示すブロック図である。
図１１に示すコードＮＣＯは、加算器７のキャリア信号出力部にインバータ回路８を備え、マルチプレクサ１に整数（Ｍ’−Ｎ）と整数（２L−Ｎ）とが入力されるものであり、他の構成は第５の実施形態の図９に示したコードＮＣＯと同じである。
【０１０１】
本実施形態のコードＮＣＯのマルチプレクサ１には、整数（Ｍ’−Ｎ）と整数（２L−Ｎ）とが入力され、インバータ８からＨｉ状態「１」の選択信号が入力されると、整数（Ｍ’−Ｎ）を出力し、インバータ８からＬｏｗ状態「０」の選択信号が入力されると整数（２L−Ｎ）を出力する。
【０１０２】
このような構成のコードＮＣＯにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を図１２に示す。
図１２は、本実施形態のコードＮＣＯにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。なお、本例でも、Ｌは１２、サンプルクロック周波数ｆｓは４０ＭＨｚ、コードイネーブル信号の周波数ｆ０は１０．２３ＭＨｚであり、整数Ｎは１０２３、整数Ｍ’は４０００とする。
【０１０３】
図１２に示すように、図１１に示すコードＮＣＯを用いることで、回路構成素子のビット数Ｌが１２であるので状態空間全体として４０９６（＝２12）のステートを有し、クロック周波数ｆｓが４０ＭＨｚであるのでマシンステートの総数が４０００となる。また、コードイネーブル信号の周波数ｆ０に対応するステート数は前記４０００のマシンステート内の１０２３のステートで表される。
【０１０４】
また、加算器７がビットの最上位（状態空間の上限）を検出することでＨｉ状態「１」のキャリア信号を発してビットの最上位から最下位に遷移するので、このような動作が行われた時には、インバータ８からマルチプレクサ１にＬｏｗ状態「０」の選択信号が入力される。この場合、マルチプレクサ１は整数値２L−Ｎ（＝３０７２）を出力する。一方、加算器７がビットの最上位（状態空間の上限）を検出せずＨｉ状態「１」のキャリア信号を発しない、すなわち加算器７からＬｏｗ状態「０」のキャリア信号が出力される時には、インバータ８からマルチプレクサ１にＨｉ状態「１」の選択信号が入力される。この場合マルチプレクサ１は整数値Ｍ’−Ｎ（＝２９７７）を出力する。これにより、レジスタ６でラッチされている整数がステート１０２３〜３９９９に存在する場合にＨｉ状態「１」のキャリア信号（Ｌｏｗ状態「０」の選択信号）がマルチプレクサ１に出力され、レジスタ６でラッチされている整数がステート０〜１０２２に存在する場合にＬｏｗ状態「０」のキャリア信号（Ｈｉ状態「１」の選択信号）がマルチプレクサ１に出力される。
【０１０５】
この結果、マシンステート４０００の最下位０は状態空間の最下位０に位置し、コードイネーブル信号に対応するステートはマシンステート４０００内の閾値１０２３未満（０〜１０２２）のステートで表される。これは、状態空間の最下位部の１０２３ステート、すなわち、０〜１０２２のステートに対応する。
【０１０６】
また、このような動作を行うことにより、レジスタ６でラッチされた整数がステート１０２３〜３９９９に存在する場合には、マシンステートのステートは減少する方向に遷移し、レジスタ６でラッチされた整数がステート０〜１０２２に存在する場合には、ステートは増加する方向に遷移する。そして、この動作は繰り返し行われ、加算器７の出力をクロック周波数でラッチした値がステート０〜１０２２を取る毎に加算器７からＬｏｗ状態「０」のキャリア信号が出力される。これにより、インバータ８からはＨｉ状態「１」の選択信号が出力されるので、この選択信号を所定周波数ｆ０のコードイネーブル信号として出力することができる。
【０１０７】
このような構成を用いても、前述の第５の実施形態に示したコードＮＣＯと同様の効果を奏することができる。
【０１０８】
そして、コードＮＣＯの回路構成を、本実施形態（第６の実施形態）、または、第５の実施形態に示すようにすることで、設定条件、すなわち、入力する整数、閾値条件を変更するのみで、ステートの移動方向を逆転させることができる。これにより、従来のコードＮＣＯにおけるステートの移動方向がいずれの方向であっても、本発明の前記２つの実施形態の構成を用いることで、高精度のコード位相観測を容易に且つより簡素な構造で実現することができる。この結果、従来使用しているＧＰＳ受信機の仕様に応じて設定条件を変化させるだけで、高精度のコード位相観測が容易に実現されるので、従来のＧＰＳ受信機からの改良が容易となる。
【０１０９】
次に、第７の実施形態に係るコードＮＣＯについて図１３，１４を参照して説明する。
図１３は本実施形態のコードＮＣＯの構成を示すブロック図であり、図１４は図１３に示すコードＮＣＯの状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。なお、本例でも、Ｌは１２、サンプルクロック周波数ｆｓは４０ＭＨｚ、コードイネーブル信号の周波数ｆ０は１０．２３ＭＨｚであり、整数Ｎは１０２３、整数Ｍ’は４０００とする。
図１３に示すように、本実施形態のコードＮＣＯは加算器７から出力されるキャリア信号をレジスタ６でラッチした後に、マルチプレクサ１に出力する構造であり、他の構成は第５の実施形態に示したコードＮＣＯと同じである。
【０１１０】
このような構成のコードＮＣＯでは、Ｈｉ状態「１」のキャリア信号がマルチプレクサ１に出力されるタイミングが第３の実施形態に示したコードＮＣＯに対してサンプリングクロック信号ＳＣＬＫの１タイミング分だけ遅れたものである。このため、この構成では、マシンステートは０〜１０２２、１１１９〜４０９５（＝２12−１）となり、Ｈｉ状態「１」のコードイネーブル信号が出力されるタイミングでのステートは０〜１０２２となる。そして、本実施形態の構成を用いても、第５の実施形態と同様の効果を得ることができる。
【０１１１】
次に、第８の実施形態に係るコードＮＣＯについて図１５，１６を参照して説明する。
図１５は本実施形態のコードＮＣＯの構成を示すブロック図であり、図１６は図１５に示すコードＮＣＯの状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。なお、本例でも、Ｌは１２、サンプルクロック周波数ｆｓは４０ＭＨｚ、コードイネーブル信号の周波数ｆ０は１０．２３ＭＨｚであり、整数Ｎは１０２３、整数Ｍ’は４０００とする。
図１５に示すように、本実施形態のコードＮＣＯはインバータ８から出力される選択信号をレジスタ６でラッチした後に、マルチプレクサ１に出力する構造であり、他の構成は第４の実施形態に示したコードＮＣＯと同じである。
【０１１２】
このような構成のコードＮＣＯでは、Ｈｉ状態「１」の選択信号がマルチプレクサ１に出力されるタイミングが第４の実施形態に示したコードＮＣＯに対してサンプリングクロック信号ＳＣＬＫの１タイミング分だけ遅れたものである。このため、この構成では、マシンステートは０〜２９７６、３０７３〜４０９５（＝２12−１）となり、Ｈｉ状態「１」のコードイネーブル信号が出力されるタイミングでのステートは３０７３〜４０９５（＝２12−１）となる。そして、本実施形態の構成を用いても、第６の実施形態と同様の効果を得ることができる。
【０１１３】
前述の各実施形態のコードＮＣＯの具体的な説明は、サンプルクロック周波数ｆｓを４０ＭＨｚ、コードイネーブル信号の周波数ｆ０を１０．２３ＭＨｚとした場合について示したものであるが、前述の各実施形態の構成を用いて、適宜各設定条件（整数Ｎ，Ｍ、ビット数Ｌ）を設定することにより、所定周波数のコードイネーブル信号に対してこれよりも高周波数のサンプリングクロック信号を用いるコードＮＣＯを、それぞれに設定された周波数条件に応じて最適な回路構成で実現することができる。
【０１１４】
次に、第９の実施形態に係るＧＰＳ受信機について図１７を参照して説明する。
図１７は本実施形態に係るＧＰＳ受信機の構成を示すブロック図である。
【０１１５】
図１７に示すように、本実施形態のＧＰＳ受信機は、アンテナ１１と、ＲＦ処理部１２と、Ａ／Ｄコンバータ１３と、フェーズローテータ１４と、相関器１５と、ＰＮコード発生器１６と、コードＮＣＯ１７と、キャリアＮＣＯ１８と、マイクロプロセッサ１９とを備える。
【０１１６】
アンテナ１１はＬ１波およびＬ２波からなるＧＰＳ信号を受信して、ＲＦ処理部１２に出力する。ＲＦ処理部１２は入力されたＧＰＳ信号を中間周波数の同相信号と直交信号とに変換してＡ／Ｄコンバータ１３に出力する。また、ＲＦ処理部１２は、入力されたＧＰＳ信号からサンプルクロック信号を検出して、これを各ブロックに出力する。Ａ／Ｄコンバータ１３は、入力された同相信号と直交信号とをＡ／Ｄ変換してフェーズローテータ１４に出力する。
【０１１７】
フェーズローテータ１４は、入力されたディジタル形式の同相信号と直交信号とを、キャリアＮＣＯ１８から入力されるキャリア位相に基づきベースバンドの同相信号と直交信号とに変換して相関器１５に出力する。相関器１５はＧＰＳ衛星数に応じた数の相関処理部を備え、ＰＮコード発生器１６から出力されるＰＮコードに基づいて相関処理を行いキャリア位相誤差およびコード位相誤差を推定演算してマイクロプロセッサ１９に出力する。マイクロプロセッサ１９は、入力されたキャリア位相誤差およびコード位相誤差を用いてキャリア位相およびコード位相（擬似距離）を推定演算するとともに測位を行って、図示しない表示部等に出力する。
【０１１８】
コードＮＣＯ１７は、マイクロプロセッサ１９から入力されるコード位相誤差に関する制御信号に従うとともに、所定のループ処理により、所定周波数のコードイネーブル信号を生成してＰＮコード発生器１６に出力する。ＰＮコード発生器１６は、コードイネーブル信号に従い予め記憶されたＣ／ＡコードまたはＰ（Ｙ）コードを相関器１５の各相関処理部に出力する。
【０１１９】
キャリアＮＣＯ１８は、マイクロプロセッサ１９から入力されるキャリア位相誤差に関する制御信号に基づいてキャリア位相を演算して、フェーズローテータ１４に出力する。
【０１２０】
このようなＧＰＳ受信機のコードＮＣＯ１７に前述の各実施形態に示したコードＮＣＯを用いる。これにより、高精度且つ正確にコードイネーブル信号が生成されるので、ＰＮコード発生器１６は高精度で且つ正確なＰＮコードを相関器１５に出力することができる。この結果、相関器１５は高精度且つ正確にコード位相およびキャリア位相を推定演算することができ、測位精度が向上する。また、コードＮＣＯの構成を所望の周波数条件に応じた最小かつ最適な回路構成で実現することができるので、所望とする条件に応じて、高精度で、且つ最適な回路構成のＧＰＳ受信機を小型に形成することができる。
【０１２１】
さらには、コードＮＣＯのステート移動方向を任意に選んで構成することができるので、従来のＧＰＳ受信機のコードＮＣＯのみを改変する場合にも、ＧＰＳ受信機の他部の構成を殆ど替えることなく、キャリア位相の推定演算、コード位相の推定演算、および測位をより高精度に改善することができる。すなわち、従来在る資産（実機および設計データ）を有効に活用することができる。
【０１２２】
なお、前述の実施形態ではＧＰＳ受信機を用いたＧＰＳシステムを例に説明を行ったが、他のＰＮコードを信号に用いる全ての無線航法システム（ＧＮＳＳ）、例えば、ＧＡＬＩＬＥＯシステムやＧＬＯＮＡＳＳシステムにも前述の構成を適用することができ、前述の効果を奏することができる。さらには、ＰＮコードで変調された無線信号を受信する、一般的な無線通信システムおよびこれに用いる無線通信機にも前述の構成を適用でき、前述の効果を奏することができる。
【図面の簡単な説明】
【０１２３】
【図１】第１の実施形態に係るコードＮＣＯの構成を示すブロック図
【図２】第１の実施形態のコードＮＣＯにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図
【図３】第２の実施形態に係るコードＮＣＯの構成を示すブロック図
【図４】第２の実施形態のコードＮＣＯにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図
【図５】第３の実施形態に係るコードＮＣＯの構成を示すブロック図
【図６】第３の実施形態のコードＮＣＯにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図
【図７】第４の実施形態に係るコードＮＣＯの構成を示すブロック図
【図８】第４の実施形態のコードＮＣＯにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図
【図９】第５の実施形態に係るコードＮＣＯの構成を示すブロック図
【図１０】第５の実施形態のコードＮＣＯにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図
【図１１】第６の実施形態に係るコードＮＣＯの構成を示すブロック図
【図１２】第６の実施形態のコードＮＣＯにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図
【図１３】第７の実施形態に係るコードＮＣＯの構成を示すブロック図
【図１４】第７の実施形態のコードＮＣＯにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図
【図１５】第８の実施形態に係るコードＮＣＯの構成を示すブロック図
【図１６】第８の実施形態のコードＮＣＯにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図
【図１７】第９の実施形態に係るＧＰＳ受信機の構成を示すブロック図
【図１８】従来の一般的なコードＮＣＯの概略構成を示すブロック図
【図１９】特許文献１に記載のコードＮＣＯの概略構成を示すブロック図
【図２０】従来のコードＮＣＯのマシンステートと状態空間との関係を示す状態図
【符号の説明】
【０１２４】
１，４，１０２，２０１−マルチプレクサ（ＭＰＸ）
２，７，１０１，２０２−加算器
３，１０４，２０３−ラッチ回路
５，１０３−レジスタ
６−コンパレータ
６１−ＡＮＤ演算部
６２−ＮＯＲ演算部
８−インバータ
１１−アンテナ
１２−ＲＦ処理部
１３−Ａ／Ｄコンバータ
１４−フェーズローテータ
１５−相関器
１６−ＰＮコード発生器
１７−コードＮＣＯ
１８−キャリアＮＣＯ
１９−マイクロプロセッサ
【図１】
2006086818.tif 000010
【図２】
2006086818.tif 000011
【図３】
2006086818.tif 000012
【図４】
2006086818.tif 000013
【図５】
2006086818.tif 000014
【図６】
2006086818.tif 000015
【図７】
2006086818.tif 000016
【図８】
2006086818.tif 000017
【図９】
2006086818.tif 000018
【図１０】
2006086818.tif 000019
【図１１】
2006086818.tif 000020
【図１２】
2006086818.tif 000021
【図１３】
2006086818.tif 000022
【図１４】
2006086818.tif 000023
【図１５】
2006086818.tif 000024
【図１６】
2006086818.tif 000025
【図１７】
2006086818.tif 000026
【図１８】
2006086818.tif 000027
【図１９】
2006086818.tif 000028
【図２０】
2006086818.tif 000029