JP2006086818A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2006086818A5 JP2006086818A5 JP2004269583A JP2004269583A JP2006086818A5 JP 2006086818 A5 JP2006086818 A5 JP 2006086818A5 JP 2004269583 A JP2004269583 A JP 2004269583A JP 2004269583 A JP2004269583 A JP 2004269583A JP 2006086818 A5 JP2006086818 A5 JP 2006086818A5
- Authority
- JP
- Japan
- Prior art keywords
- code
- output
- state
- signal
- integer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 241001442055 Vipera berus Species 0.000 claims description 91
- 238000005070 sampling Methods 0.000 claims description 15
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 7
- 239000000969 carrier Substances 0.000 description 43
- 238000010586 diagram Methods 0.000 description 42
- 230000000875 corresponding Effects 0.000 description 33
- 239000000470 constituent Substances 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 230000003247 decreasing Effects 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 2
- 230000003111 delayed Effects 0.000 description 2
- 230000000051 modifying Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
Description
この発明は、C/AコードやP(Y)コードであるPNコードの生成に用いるコードイネーブル信号を出力するコードNCOと、該コードNCOを備えたGPS受信機に関するものである。
従来、GPS受信機は、PNコードにより変調された信号を復調することで、信号に含まれる、キャリア位相、コード位相、および航法メッセージ等を観測して測位に用いる。この信号の復調方法としては、まず、受信したGPS信号を同相信号と直交信号とに分離した後A/D変換する。次に、キャリアNCOから出力されるキャリア位相信号によりベースバンドの同相信号と直交信号とを生成し、これらの信号とPNコード発生器からのPNコードとを相関処理することで、キャリア位相、コード位相、および航法メッセージ等の情報を再生する。
そして、GPS受信機には、このPNコード発生器にPNコードの発生タイミングを与えるコードイネーブル信号を生成するコード発生部としてコードNCOが備えられている。
図18は従来の一般的なコードNCOの概略構成を示すブロック図である。
図18に示すように、従来のコードNCOは、加算器101、マルチプレクサ(MPX)102、レジスタ103、およびラッチ回路104を備える。加算器101は、所定の設定値Pと、レジスタ103から出力された整数とを入力して、これらの加算値をマルチプレクサ102に出力する。ラッチ回路104は、図示しないマイクロプロセッサからコードNCOの位相を調整するための位相調整値CPA(Code Phase Adjustment)と、ライトイネーブル信号WEとを入力して、ライトイネーブル信号WEによるタイミングで位相調整値CPAを出力する。マルチプレクサ102は、加算器101から出力された整数とラッチ回路104から出力された位相調整値CPAとを入力して、調整タイミング信号AD(Adjust Timing)に応じて一方を出力する。レジスタ103はマルチプレクサ102から入力される信号をサンプリングクロック信号SCLK(以下、「クロック信号」と称す。)に基づきラッチして加算器101に出力するとともに、コードイネーブル信号として出力する。
この際、設定値Pは次の式により与えられる。
しかしながら、クロック信号SCLKの周波数(fs)と、コードイネーブル信号の周波数f0との関係から、設定値Pが整数になるとは限らない。この場合、いわゆる丸め誤差が生じ、コードNCOのコード分解能が低下したり、累積誤差が発生したりする。ここで、分解能の低下の問題は加算器やレジスタのビット数を増加させることにより解消でき、累積誤差の発生は位相調整値を定期的に入力することにより解消できるが、コードNCOの回路規模が大きくなったり、制御が複雑になったりするという新たな問題が生じる。
このような問題を解決する装置が特許文献1に記載されており、その概略構成を示すブロック図を図19に示す。
図19に示すように、従来の他の構成のコードNCOはマルチプレクサ201、加算器202、ラッチ回路203を備える。
マルチプレクサ201はシフトモードまたはノーマルモードのいずれかで動作する。
シフトモードの場合に、マルチプレクサ201は、位相制御値(CONTROL)を入力して加算器202に出力する。ここで、位相制御値(CONTROL)は、加算器202およびラッチ回路203のビット数をLとすると次式で表される。
シフトモードの場合に、マルチプレクサ201は、位相制御値(CONTROL)を入力して加算器202に出力する。ここで、位相制御値(CONTROL)は、加算器202およびラッチ回路203のビット数をLとすると次式で表される。
ここで、SHIFTは現時点の位相から移動させる位相量であり、クロック信号(SCLK)の単位で表される。
また、マルチプレクサ201は、ノーマルモードの場合に、セレクタ端子(SELECT)に入力されるラッチ回路203のQ12の値に応じて、整数Nまたは整数Mを選択して出力する。ここで、Q12が「0」の時には整数Nを出力し、Q12が「1」の時には整数Mを出力する。
加算器202は、マルチプレクサ201から入力された値とラッチ回路203から出力された値とを加算して、ラッチ回路203に出力する。
ラッチ回路203は、入力されるクロック信号SCLKを用いて、加算器202からの出力をラッチして出力する。この際、Q12が「1」ならば、ラッチ回路203の出力信号を、コードイネーブル信号CECとして外部出力する。
ラッチ回路203は、入力されるクロック信号SCLKを用いて、加算器202からの出力をラッチして出力する。この際、Q12が「1」ならば、ラッチ回路203の出力信号を、コードイネーブル信号CECとして外部出力する。
このような構成のNCOに出力では、コードイネーブル信号CECの周波数f0は次式で表すことができる。
そして、このコードNCOは次のような条件で最適に用いられる。
その条件とは、クロック信号SCLKの周波数fsが25MHzであり、ビット数Lが12であって、整数Nを1023とし、整数Mを2619とする場合であり、この時、コードイネーブル信号CECの周波数f0は10.23MHzとなる。
United States Patent, "5,663,733", Sep.2, 1997
ところが、前述の特許文献1に記載のコードNCOでは、コードイネーブル信号CECの周波数f0が10.23MHzであるのに対してクロック信号SCLKの周波数fsが25MHzである場合にのみ、最適な回路条件を得られるが、さらに、分解能をあげるためにクロック信号SCLKの周波数fsを高くした場合に、最適条件を得ることができなくなってしまう。
特許文献1に記載のコードNCOのマシンステート(Machine State)と回路構成のビット数から実現できる状態空間(State Space)との関係を図20に示す。
図20は、マシンステートと状態空間との関係を示す状態図であり、(a)はマシンステートを状態空間にマッピングする前の状態図を示し、(b)はマシンステートを状態空間にマッピングした後の状態図を示す。
図20に示すように、入力されるクロック信号SCLKの周波数fsが25MHzの場合、マシンステートは0〜2499の2500のステートを有する。そして、図19に示すコードNCOでは、コードイネーブル信号CECの周波数f010.23MHzに対応する1023のステートがマシンステートの上端側に位置し、マシンステートの1477〜2499が利用される。
一方で、ラッチ回路203の出力Q12は、マルチプレクサ201の出力用のイネーブル信号として用いられているので、コードイネーブル信号CECに対応する1023のステートは、状態空間の全てのステート(0〜4095(212−1))の上位半分に位置されなければならない。すなわち、状態空間の2048(2 11 )〜4095(212−1)のステートに位置しなければならない。この結果、コードイネーブル信号CECに対応する前記1023のステートは、状態空間の2048(2 11 )〜3070に位置させなければならない。
ところが、このような構成では、クロック周波数fsを30.71MHz以上とする場合、マシンステートが3071以上必要となる。これにより、30.71MHz以上のクロック周波数fsを実現させると状態空間の上位半分に1023以上のステートが存在してしまうので、10.23MHzのコードイネーブル信号を生成する事ができなくなる。この結果、前述の構成では、ビット数を増加させない限り、30.71MHz以上のクロック信号で10.23MHzのコードイネーブル信号を発生することができない。すなわち、30.71MHz以上のクロック信号に対して最適な回路規模で、容易な制御により10.23MHzのコードイネーブル信号を出力するコードNCOを構成することができない。
したがって、この発明の目的は、従来のクロック信号より高周波数のクロック信号が入力されても、その周波数に応じて最適な回路規模で容易な制御を行って正確に所定のコードイネーブル信号を出力するコードNCO、およびこれを備えたGPS受信機を提供することにある。
この発明は、コード位相観測に用いるコードイネーブル信号を生成するコードNCOにおいて、互いに素となる2つの整数が入力され、選択信号により2つの整数のいずれかを出力する第1マルチプレクサと、該第1マルチプレクサから出力された整数とレジスタから出力された整数とを加算して出力する加算器と、該加算器から出力された整数とコード位相調整値を入力して、調整信号に基づきこれらのいずれかを出力する第2マルチプレクサと、該第2マルチプレクサからの出力をサンプリングクロック信号に応じてラッチして出力するレジスタと、該レジスタからの出力値が予め設定した所定整数値になることを検出して選択信号を出力する選択信号生成手段と、を備え、この選択信号をコードイネーブル信号とすることを特徴としている。
この構成では、加算器により経時的に順次加算されて出力される整数が選択信号生成手段で設定されている所定整数値になると、選択信号生成手段から第1マルチプレクサに選択信号が出力される。例えば、加算器から出力される整数が予め設定された整数範囲内の所定整数値であればHi状態「1」の選択信号が出力され、前記所定整数値でなければLow状態「0」の選択信号が出力される。第1マルチプレクサは、入力された選択信号に応じて、入力される2つの整数のいずれかを加算器に出力する。すなわち、Low状態「0」の選択信号の場合とHi状態「1」の選択信号の場合とで異なる整数を加算器に出力する。このループ演算を行うことで、選択信号生成手段から出力される選択信号が所定の周期性を有する。ここで、第1マルチプレクサに入力される2つの整数と選択信号生成手段の所定整数値とを、使用するサンプリングクロック信号の周波数、得ようとするコードイネーブル信号の周波数、構成回路のビット数に応じて適宜設定することで、コードイネーブル信号の周波数となる所定の周波数でHi状態「1」の選択信号が出力される。すなわち、所定周波数のコードイネーブル信号が出力される。
また、この発明は、選択信号生成手段を、レジスタからの出力と2つの整数から決定される閾値とを比較して選択信号を出力するコンパレータで構成することを特徴としている。
この構成では、加算器により経時的に順次加算されてレジスタでラッチされてから出力される整数がコンパレータで設定されている閾値に対して所定の関係となると、コンパレータから第1マルチプレクサに選択信号が出力される。例えば、加算器から出力される整数が前記閾値により設定される所定整数範囲内にあればHi状態「1」の選択信号が出力され、前記所定整数範囲内になければLow状態「0」の選択信号が出力される。第1マルチプレクサは、入力された選択信号に応じて、入力される2つの整数のいずれかを加算器に出力する。すなわち、Low状態「0」の選択信号の場合とHi状態「1」の選択信号の場合とで異なる整数を加算器に出力する。このループ演算を行うことで、コンパレータから出力される選択信号が所定の周期性を有する。ここで、第1マルチプレクサに入力される2つの整数とコンパレータの閾値および所定整数範囲とを、使用するサンプリングクロック信号の周波数、得ようとするコードイネーブル信号の周波数、構成回路のビット数に応じて適宜設定することで、コードイネーブル信号の周波数となる所定の周波数でHi状態「1」の選択信号が出力される。すなわち、所定周波数のコードイネーブル信号が出力される。
また、この発明は、選択信号生成手段をレジスタの所定の複数ビットの値をAND処理した結果を用いて選択信号を出力するAND演算手段で構成することを特徴としている。
この構成では、レジスタの所定ビットの値が所定の関係となると、AND演算手段から第1マルチプレクサに選択信号が出力される。例えば、レジスタの最上位ビットおよびこの一つ下位のビットがともにHi状態「1」であれば、AND演算手段からHi状態「1」の選択信号が出力され、レジスタの最上位ビットおよびこの一つ下位のビットがともにHi状態「1」でなければLow状態「0」の選択信号が出力される。第1マルチプレクサは、入力された選択信号に応じて、入力される2つの整数のいずれかを加算器に出力する。すなわち、Low状態「0」の選択信号の場合とHi状態「1」の選択信号の場合とで異なる整数を加算器に出力する。このループ演算を行うことで、AND演算手段から出力される選択信号が所定の周期性を有する。ここで、第1マルチプレクサに入力される2つの整数とAND演算手段がAND処理するレジスタのビットを、使用するサンプリングクロック信号の周波数、得ようとするコードイネーブル信号の周波数、構成回路のビット数に応じて適宜設定することで、コードイネーブル信号の周波数となる所定の周波数でHi状態「1」の選択信号が出力される。すなわち、所定周波数のコードイネーブル信号が出力される。
また、この発明は、選択信号生成手段をレジスタの所定の複数ビットの値をNOR処理した結果を用いて選択信号を出力するNOR演算手段で構成することを特徴としている。
この構成では、レジスタの所定ビットの値が所定の関係となると、NOR演算手段から第1マルチプレクサに選択信号が出力される。例えば、レジスタの最上位ビットおよびこの一つ下位のビットがともにLow状態「0」であれば、NOR演算手段からHi状態「1」の選択信号が出力され、レジスタの最上位ビットおよびこの一つ下位のビットがともにLow状態「0」でなければLow状態「0」の選択信号が出力される。第1マルチプレクサは、入力された選択信号に応じて、入力される2つの整数のいずれかを加算器に出力する。すなわち、Low状態「0」の選択信号の場合とHi状態「1」の選択信号の場合とで異なる整数を加算器に出力する。このループ演算を行うことで、NOR演算手段から出力される選択信号が所定の周期性を有する。ここで、第1マルチプレクサに入力される2つの整数とNOR演算手段がNOR処理するレジスタのビットを、使用するサンプリングクロック信号の周波数、得ようとするコードイネーブル信号の周波数、構成回路のビット数に応じて適宜設定することで、コードイネーブル信号の周波数となる所定の周波数でHi状態「1」の選択信号が出力される。すなわち、所定周波数のコードイネーブル信号が出力される。
また、この発明は、コード位相観測に用いるコードイネーブル信号を生成するコードNCOにおいて、互いに素となる2つの整数が入力され、選択信号によりこれら2つの整数のいずれかを出力する第1マルチプレクサと、該第1マルチプレクサから出力された整数とレジスタから出力された整数とを加算して出力するとともに、使用可能なビット領域の端部を検出して選択信号を出力する加算器と、該加算器から出力された整数とコード位相調整値を入力して、調整信号に基づきこれらのいずれかを出力する第2マルチプレクサと、第2マルチプレクサからの出力をサンプリングクロック信号に応じてラッチして出力するレジスタと、を備え、選択信号をコードイネーブル信号とすることを特徴としている。
この構成では、加算器により経時的に順次加算されて出力される整数が加算器の上限または下限に達すると、加算器がこれを検出して第1マルチプレクサに選択信号が出力される。すなわち、加算器の上限および下限から演算により整数が変化する方向に対向する方向に所定範囲内に加算値が存在するかどうかにより、この状態に応じて次のタイミングで選択信号が出力される。例えば、加算器が上限又は下限を検出すれば、すなわち、前記所定範囲内に加算値が存在すれば、次のタイミングでHi状態「1」の選択信号が出力される。一方、他の範囲に加算値が存在する間は、Low状態「0」の選択信号が出力される。第1マルチプレクサは、入力された選択信号に応じて、入力される2つの整数のいずれかを加算器に出力する。すなわち、Low状態「0」の選択信号の場合とHi状態「1」の選択信号の場合とで異なる整数を加算器に出力する。このループ演算を行うことで、選択信号が所定の周期性を有する。ここで、第1マルチプレクサに入力される2つの整数を、使用するサンプルクロック信号の周波数、得ようとするコードイネーブル信号の周波数、構成回路のビット数に応じて適宜設定することで、コードイネーブル信号の周波数となる所定の周波数でHi状態「1」の選択信号が出力される。すなわち、所定周波数のコードイネーブル信号が出力される。
また、この発明のGPS受信機は、前述のコードNCOを備え、このコードNCOから出力されるコードイネーブル信号に基づいて生成されるPNコードを用いて、GPS信号のコード位相を捕捉・追尾することを特徴としている。
この構成では、前述のコードNCOで正確にコードイネーブル信号が出力されるので、このコードイネーブル信号に基づき、正確なPNコードが生成される。このPNコードを用いることにより、GPS信号との相関処理が高精度となる。これにより、コード位相の捕捉・追尾が高精度に行われ、高精度な相対測位が行われる。
この発明によれば、入力されるサンプリングクロック信号の周波数に応じて、最適な回路構成で、且つ容易な制御により所望周波数のコードイネーブル信号を高精度に出力するコードNCOを小型に構成することができる。言い換えれば、サンプルクロック信号の周波数に影響されることなく、必要最小限のビット数で形成された回路構成要素を用いて、簡素な制御フローで高精度にコードイネーブル信号を出力するコードNCOを構成することができる。
また、この発明によれば、前述のコードNCOを用いることにより、高精度のPNコードを生成して、GPS信号の相関処理を高精度に行うGPS受信機を構成することができる。そして、GPS信号が高精度の相関処理されることで、コード位相の捕捉・追尾が確実に行われ、精度良く、且つ確実に相対測位を行うことができる。
本発明の第1の実施形態に係るコードNCOについて図1,2を参照して説明する。
図1は本実施形態に係るコードNCOの構成を示すブロック図である。
図1に示すコードNCOは、マルチプレクサ(MPX)1,4と、加算器2と、ラッチ回路3と、レジスタ5と、コンパレータ6とを備える。そして、マルチプレクサ1,4、加算器2、ラッチ回路3,レジスタ5はビット数Lからなるディジタル演算回路で構成されている。
図1は本実施形態に係るコードNCOの構成を示すブロック図である。
図1に示すコードNCOは、マルチプレクサ(MPX)1,4と、加算器2と、ラッチ回路3と、レジスタ5と、コンパレータ6とを備える。そして、マルチプレクサ1,4、加算器2、ラッチ回路3,レジスタ5はビット数Lからなるディジタル演算回路で構成されている。
マルチプレクサ1は、互いに素となる2つ整数N,Mが入力されるとともに、コンパレータ6の出力信号である選択信号が入力される。そして、この選択信号に応じて、2つの整数N,Mのいずれかを出力する。例えば、本実施形態では、選択信号がHi状態「1」である場合に整数Nを出力し、選択信号がLow状態「0」である場合に整数Mを出力する。ここで、このマルチプレクサ1が本発明の「第1マルチプレクサ」に相当する。
加算器2は、マルチプレクサ1から出力される整数と、レジスタからの出力値とを加算して出力する。
ラッチ回路3は、コード位相を制御するための位相調整値CPA(Code Phase Adjustment)と、ライトイネーブル信号WEとを入力して、ライトイネーブル信号WEによるタイミングで位相調整値CPAを出力する。
ラッチ回路3は、コード位相を制御するための位相調整値CPA(Code Phase Adjustment)と、ライトイネーブル信号WEとを入力して、ライトイネーブル信号WEによるタイミングで位相調整値CPAを出力する。
マルチプレクサ4は、加算器2の出力値と、ラッチ回路3からの出力値(位相調整値CPA)が入力されるとともに、調整タイミング信号AD(Adjust Timing)が入力される。そして、この調整タイミング信号ADにより与えられるタイミングにより、加算器2からの出力値かラッチ回路3からの出力値のいずれか一方を出力する。具体的には、調整タイミング信号ADが入力されたタイミングで位相調整値CPAを出力し(シフトモード)、それ以外のタイミングでは加算器2からの出力値を出力する(ノーマルモード)。ここで、このマルチプレクサ4が本発明の「第2マルチプレクサ」に相当する。
レジスタ5は、マルチプレクサ4の出力値と、サンプリングクロック信号SCLK(以下、「クロック信号」と称す)とが入力される。そして、レジスタ5はサンプリングクロック信号SCLKの周波数(以下、「クロック周波数」と称す)fsに応じてマルチプレクサ4の出力値をラッチして出力する。この出力値は、コンパレータ6に入力されるとともに、加算器2に入力される。
コンパレータ6は、レジスタ5の出力値を入力して、予め設定された閾値と比較して、比較結果に応じてHi状態「1」またはLow状態「0」のいずれかの値の選択信号を出力する。この閾値は、クロック周波数fsと、得ようとするコードイネーブル信号の周波数f0と、前記マルチプレクサ1に入力される整数Nとから設定されるものであり、
として、(M’−N−1)で与えられる。
そして、具体的に、図1に示すコードNCOでは、レジスタ5の出力値が(M’−N−1)で設定される閾値よりも大きければコンパレータ6からの出力信号はHi状態「1」となり、レジスタ5の出力値が(M’−N−1)で設定される閾値以下であればコンパレータ6からの出力信号はLow状態「0」となる。ここで、このコンパレータ6が本発明の「選択信号生成手段」に相当する。
このようなコードNCOでは、整数N,M、ビット数Lはクロック周波数fsおよび得ようとするコードイネーブル信号の周波数f0から、次式を用いて設定される。
このような設定を行い、図1に示す構成を用いることで、ノーマルモード時には、コンパレータ6からは周波数f0に応じた周期で選択信号がHi状態「1」となる(具体的な動作については次に示す)。この結果、コンパレータ6から出力される信号を取り出すことにより、所望とする周波数f0のコードイネーブル信号を出力することができる。また、一方でシフトモード時にはコード位相のズレ量に応じたステート移動量の調整を行い、位相調整を行う。
ここで、図1に示すコードNCOで、具体的に、整数N,M、ビット数L、クロック周波数fs、コードイネーブル信号の周波数f0を設定した場合の動作について説明する。例えば、クロック周波数fsを40MHzとし、周波数f0が10.23MHzのコードイネーブル信号を生成して出力する場合について説明する。
式(4)から、整数Nを1023と設定すると、整数M’は4000に設定される。また、式(5)は、M’が2Lを超えない最小の整数となるようなLを定義しているので、M’が4000であることから、Lが12に設定される。そして、式(6)からMは1119に設定される。
式(4)から、整数Nを1023と設定すると、整数M’は4000に設定される。また、式(5)は、M’が2Lを超えない最小の整数となるようなLを定義しているので、M’が4000であることから、Lが12に設定される。そして、式(6)からMは1119に設定される。
このような場合の状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を図2に示す。
図2は、本実施形態のコードNCOにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。
図2に示すように、図1に示すコードNCOは、回路構成素子のビット数Lが12であるので状態空間全体として4096(212)のステートを有し、クロック周波数fsが40MHzであるのでマシンステートの総数が4000となる。そして、この4000のマシンステートは状態空間のステート番号0から始まる。また、コードイネーブル信号の周波数f0に対応するステート数は前記4000のマシンステート内の1023のステートで表される。
図2は、本実施形態のコードNCOにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。
図2に示すように、図1に示すコードNCOは、回路構成素子のビット数Lが12であるので状態空間全体として4096(212)のステートを有し、クロック周波数fsが40MHzであるのでマシンステートの総数が4000となる。そして、この4000のマシンステートは状態空間のステート番号0から始まる。また、コードイネーブル信号の周波数f0に対応するステート数は前記4000のマシンステート内の1023のステートで表される。
ここで、前述のように、コンパレータ6は、レジスタ5から出力される整数値が閾値2976(=4000−1023−1)より大きければHi状態「1」の選択信号を出力し、閾値2976以下であればLow状態「0」の選択信号を出力する。そして、本実施形態のコードNCOはこの選択信号をコードイネーブル信号として出力する。このため、コードイネーブル信号に対応するステートは4000のマシンステート内の閾値2977以上(2977〜3999)のステートで表される。すなわち、4000のマシンステートの最上位1023のステートに対応する。
また、マルチプレクサ1は、Low状態「0」の選択信号が入力されると整数N(1023)を加算器2に出力し、Hi状態「1」の選択信号が入力されると整数M(1119)を加算器2に出力する。具体的には、マルチプレクサ1は、加算器2の出力をクロック周波数でラッチした値がステート番号0〜2976を取る場合には整数1023を出力し、加算器2の出力をクロック周波数でラッチした値がステート番号2977〜3999を取る場合には整数1119を出力する。
加算器2は入力される1023、1119いずれかの整数をレジスタ5の出力に加算する。このため、マシンステートのステートは通常増加する方向で遷移する。
加算器2は入力される1023、1119いずれかの整数をレジスタ5の出力に加算する。このため、マシンステートのステートは通常増加する方向で遷移する。
この動作はクロック周波数に応じて繰り返し行われ、加算器2の出力をクロック周波数でラッチした値がステート番号2977〜3999を取る毎にコンパレータ6からHi状態「1」の信号が出力される。
このような構成とすることで、従来技術の図19に示したコードNCOのようにコードイネーブル信号を出力するステートが状態空間の中央に位置されることなく、状態空間内に配置されたマシンステートの端に位置されるので、入力されるクロック周波数に応じて、所定の周波数のコードイネーブル信号を出力するステートを確実に実現することができる。この際、状態空間のステート数すなわち構成回路素子のビット数は、クロック周波数により設定されるステート数がビット数により得られるステート数を超えないように設定されるので、最小のビット数の回路構成を必ず実現することができる。
以上のように、本実施形態の構成のコードNCOを用いることで、クロック周波数に応じて必要最小限のビット構成からなる回路構成素子を用い、容易な制御で確実に所望周波数のコードイネーブル信号を生成して出力することができる。
次に、第2の実施形態に係るコードNCOについて図3,4を参照して説明する。
図3は本実施形態に係るコードNCOの構成を示すブロック図である。
図3に示すように、本実施形態のコードNCOはマルチプレクサ1に入力される整数と、コンパレータ6の閾値条件とが異なるものであり、他の構成は図1に示したコードNCOと同じである。ここで、このコンパレータ6が本発明の「選択信号生成手段」に相当する。
図3は本実施形態に係るコードNCOの構成を示すブロック図である。
図3に示すように、本実施形態のコードNCOはマルチプレクサ1に入力される整数と、コンパレータ6の閾値条件とが異なるものであり、他の構成は図1に示したコードNCOと同じである。ここで、このコンパレータ6が本発明の「選択信号生成手段」に相当する。
本実施形態のコードNCOのマルチプレクサ1には、整数(M’−N)と整数(2L−N)とが入力され、コンパレータ6からHi状態「1」の選択信号が入力されると、整数(M’−N)を出力し、コンパレータ6からLow状態「0」の選択信号が入力されると整数(2L−N)を出力する。また、本実施形態のコンパレータ6はレジスタ5からの出力値が整数Nよりも小さい場合にHi状態「1」を出力し、レジスタ5からの出力値が整数N以上であればLow状態「0」を出力する。
このような構成のコードNCOにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を図4に示す。
図4は、本実施形態のコードNCOにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。なお、本例でも、Lは12、サンプルクロック周波数fsは40MHz、コードイネーブル信号の周波数f0は10.23MHzであり、整数Nは1023、整数M’は4000とする。
図4に示すように、図3に示すコードNCOは、図1に示したコードNCOと基本回路構成が同じであるので、4096のステートからなる状態空間内に、ステート番号0から始まる4000のマシンステートが配置される。
図4に示すように、図3に示すコードNCOは、図1に示したコードNCOと基本回路構成が同じであるので、4096のステートからなる状態空間内に、ステート番号0から始まる4000のマシンステートが配置される。
ここで、本実施形態の構成では、コンパレータ6は、レジスタ5から出力される整数値が閾値1023未満であればHi状態「1」の選択信号を出力し、閾値1023以上であればLow状態「0」の選択信号を出力する。そして、コードNCOはこの選択信号をコードイネーブル信号として出力する。このため、コードイネーブル信号に対応するステートは4000のマシンステート内の閾値1023未満(0〜1022)のステートで表される。すなわち、4000のマシンステートの最下位1023のステートに対応する。
また、マルチプレクサ1はHi状態「1」の信号が入力されると整数値M’−N(=2977)を出力し、Low状態「0」の信号が入力されると整数値2L−N(=3073)を出力することから、ステートは状態空間において減少する方向に遷移する。
そして、この動作はクロック周波数に応じて繰り返し行われ、加算器2の出力をクロック周波数でラッチした値がステート番号0〜1022を取る毎にコンパレータ6からHi状態「1」の信号が出力される。
このような構成を用いても、前述の第1の実施形態に示したコードNCOと同様の効果を奏することができる。
そして、コードNCOの回路構成を、本実施形態(第2の実施形態)、または、第1の実施形態に示すようにすることで、設定条件、すなわち、入力する整数、閾値条件を変更するのみで、ステートの遷移方向を容易に逆転させることができる。これにより、従来のコードNCOにおけるステートの遷移方向がいずれの方向であっても、本発明の前記2つの実施形態の構成を用いることで、高精度のコード位相観測を容易に実現することができる。この際、第1の実施形態で設定する整数(位相設定値)をP1とすると、第2の実施形態で設定する整数P2は、P2=M’−1−P1で容易に設定することができる。
この結果、従来使用しているGPS受信機の仕様に応じて設定条件を変化させるだけで、高精度のコード位相観測が容易に実現されるので、従来のGPS受信機からの改良が容易となる。
次に、第3の実施形態に係るコードNCOについて、図5,6を参照して説明する。
図5は本実施形態のコードNCOの構成を示すブロック図である。
図5に示すコードNCOは、第1の実施形態の図1に示したコードNCOのコンパレータ6をAND演算部61に置き換えたものであり、他の構成は図1に示すコードNCOと同じである。
AND演算部61は、レジスタ5の最上位ビットLの出力と、その一つ下位のビット(L−1)の出力とを入力して、これらのAND演算結果をマルチプレクサ1に出力する。すなわち、AND演算部61は、レジスタ5の最上位ビットLからの入力信号とその一つ下位のビット(L−1)からの入力信号とがともにHi状態「1」の場合にのみ、Hi状態「1」の信号をマルチプレクサ1に出力する。また、これ以外の状態ではLow状態「0」の信号をマルチプレクサ1に出力する。そして、本実施形態のコードNCOはAND演算部61から出力されるこの信号をコードイネーブル信号として出力する。ここで、このAND演算部61が本発明の「選択信号生成手段」に相当する。
図5に示すコードNCOは、第1の実施形態の図1に示したコードNCOのコンパレータ6をAND演算部61に置き換えたものであり、他の構成は図1に示すコードNCOと同じである。
AND演算部61は、レジスタ5の最上位ビットLの出力と、その一つ下位のビット(L−1)の出力とを入力して、これらのAND演算結果をマルチプレクサ1に出力する。すなわち、AND演算部61は、レジスタ5の最上位ビットLからの入力信号とその一つ下位のビット(L−1)からの入力信号とがともにHi状態「1」の場合にのみ、Hi状態「1」の信号をマルチプレクサ1に出力する。また、これ以外の状態ではLow状態「0」の信号をマルチプレクサ1に出力する。そして、本実施形態のコードNCOはAND演算部61から出力されるこの信号をコードイネーブル信号として出力する。ここで、このAND演算部61が本発明の「選択信号生成手段」に相当する。
図6は本実施形態のコードNCOにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。なお、本例でも、Lは12、サンプルクロック周波数fsは40MHz、コードイネーブル信号の周波数f0は10.23MHzであり、整数Nは1023、整数Mは1119とする。
図5に示す構成では、前述のように最上位ビットとその一つ下位のビットがHi状態である時にHi状態「1」のコードイネーブル信号が出力されるので、コードイネーブル信号を出力する状態を示すステートは、状態空間0〜212−1(=4095)の上位側であるステート番号211+210(=3072)〜212−2(=4094)に位置づけられる。そして、マシンステートは212−1−4000(=95)〜212−2(=4094)に位置づけられる。また、マルチプレクサ1はLow状態「0」の信号が入力されると整数1023を出力し、Hi状態「1」の信号が入力されると整数1119を出力する。具体的には、マルチプレクサ1は、加算器2の出力をクロック周波数でラッチした値がステート番号95〜3071を取る場合には整数1023を出力し、加算器2の出力をクロック周波数でラッチした値がステート番号3072〜4094を取る場合には整数1119を出力する。
加算器2は入力される1023、1119いずれかの整数をレジスタ5の出力に加算する。このため、マシンステートのステートは通常増加する方向で遷移する。
図5に示す構成では、前述のように最上位ビットとその一つ下位のビットがHi状態である時にHi状態「1」のコードイネーブル信号が出力されるので、コードイネーブル信号を出力する状態を示すステートは、状態空間0〜212−1(=4095)の上位側であるステート番号211+210(=3072)〜212−2(=4094)に位置づけられる。そして、マシンステートは212−1−4000(=95)〜212−2(=4094)に位置づけられる。また、マルチプレクサ1はLow状態「0」の信号が入力されると整数1023を出力し、Hi状態「1」の信号が入力されると整数1119を出力する。具体的には、マルチプレクサ1は、加算器2の出力をクロック周波数でラッチした値がステート番号95〜3071を取る場合には整数1023を出力し、加算器2の出力をクロック周波数でラッチした値がステート番号3072〜4094を取る場合には整数1119を出力する。
加算器2は入力される1023、1119いずれかの整数をレジスタ5の出力に加算する。このため、マシンステートのステートは通常増加する方向で遷移する。
この動作はクロック周波数に応じて繰り返し行われ、加算器2の出力をクロック周波数でラッチした値がステート番号3072〜4094を取る毎にAND演算部61からHi状態「1」の信号が出力される。
なお、本実施形態のコードNCOでは、前述のようにマシンステートの最下位のステート番号が95(=212−1−4000)であるので、シフトモード時には、位相調整値CPAに95を加算した整数を入力することで、コード位相が正確に補正される。すなわち、ビット数L、コンパレータに入力する整数N,Mである場合に、2L−1−M’を位相調整値CPAに加算することでコード位相を正確に補正することができる。
このような構成とすることで、コンパレータを用いることなく、より簡素な構造でコードNCOを最適な回路構成に実現することができる。
次に、第4の実施形態に係るコードNCOについて図7,8を参照して説明する。
図7は本実施形態に係るコードNCOの構成を示すブロック図である。
本実施形態のコードNCOは、第3の実施形態に示したコードNCOのAND演算部61をNOR演算部62に置き換えたものであり、他の構成は、マルチプレクサ1に入力される値を除き、図5に示したコードNCOと同じである。ここで、図7に示すマルチプレクサ1には、M,Nに替わりM’−N,2L−Nがそれぞれ入力される。
NOR演算部62は、レジスタ5の最上位ビットLの出力と、その一つ下位のビットL−1の出力とを入力して、これらのNOR演算結果をマルチプレクサ1に出力する。すなわち、NOR演算部62は、レジスタ5の最上位ビットLからの入力信号とその一つ下位のビットL−1からの入力信号とがともにLow状態「0」の場合にのみ、Hi状態「1」の信号をマルチプレクサ1に出力する。また、これ以外の状態ではLow状態「0」の信号をマルチプレクサ1に出力する。そして、本実施形態のコードNCOはNOR演算部62から出力されるこの信号をコードイネーブル信号として出力する。ここで、このNOR演算部62が本発明の「選択信号生成手段」に相当する。
NOR演算部62は、レジスタ5の最上位ビットLの出力と、その一つ下位のビットL−1の出力とを入力して、これらのNOR演算結果をマルチプレクサ1に出力する。すなわち、NOR演算部62は、レジスタ5の最上位ビットLからの入力信号とその一つ下位のビットL−1からの入力信号とがともにLow状態「0」の場合にのみ、Hi状態「1」の信号をマルチプレクサ1に出力する。また、これ以外の状態ではLow状態「0」の信号をマルチプレクサ1に出力する。そして、本実施形態のコードNCOはNOR演算部62から出力されるこの信号をコードイネーブル信号として出力する。ここで、このNOR演算部62が本発明の「選択信号生成手段」に相当する。
図8は本実施形態のコードNCOにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。なお、本例でも、Lは12、サンプルクロック周波数fsは40MHz、コードイネーブル信号の周波数f0は10.23MHzであり、整数Nは1023、整数M’は4000とする。
図7に示す構成では、前述のように最上位ビットとその一つ下位のビットがLow状態「0」である時にHi状態「1」のコードイネーブル信号が出力されるので、コードイネーブル信号を出力する状態を示すステートは、状態空間0〜212−1(=4095)のステート番号1〜210−1(=1023)に位置づけられる。そして、マシンステートは1〜4000に位置づけられる。また、マルチプレクサ1はHi状態「1」の信号が入力されると整数2977を出力し、Low状態「0」の信号が入力されると整数3073を出力する。具体的には、マルチプレクサ1は、加算器2の出力をクロック周波数でラッチした値がステート番号1024〜4000を取る場合には整数3073を出力し、加算器2の出力をクロック周波数でラッチした値がステート番号1〜1023を取る場合には整数2977を出力する。
加算器2は入力される2977、3073いずれかの整数をレジスタ5の出力に加算する。このため、マシンステートのステートは通常減少する方向で遷移する。
図7に示す構成では、前述のように最上位ビットとその一つ下位のビットがLow状態「0」である時にHi状態「1」のコードイネーブル信号が出力されるので、コードイネーブル信号を出力する状態を示すステートは、状態空間0〜212−1(=4095)のステート番号1〜210−1(=1023)に位置づけられる。そして、マシンステートは1〜4000に位置づけられる。また、マルチプレクサ1はHi状態「1」の信号が入力されると整数2977を出力し、Low状態「0」の信号が入力されると整数3073を出力する。具体的には、マルチプレクサ1は、加算器2の出力をクロック周波数でラッチした値がステート番号1024〜4000を取る場合には整数3073を出力し、加算器2の出力をクロック周波数でラッチした値がステート番号1〜1023を取る場合には整数2977を出力する。
加算器2は入力される2977、3073いずれかの整数をレジスタ5の出力に加算する。このため、マシンステートのステートは通常減少する方向で遷移する。
この動作はクロック周波数に応じて繰り返し行われ、加算器2の出力をクロック周波数でラッチした値がステート番号1〜1023を取る毎にNOR演算部62からHi状態「1」の信号が出力される。
なお、本実施形態のコードNCOでは、前述のようにマシンステートの最下位のステート番号が1(=210−1023)であるので、シフトモード時には、位相調整値CPAに1を加算した整数を入力することで、コード位相が正確に補正される。すなわち、ビット数L、コンパレータに入力する整数N,Mである場合に、2L-2−Nを位相調整値CPAに加算することでコード位相を正確に補正することができる。
このような構成とすることで、前述の第3の実施形態と同様に、コンパレータを用いることなく、より簡素な構造でコードNCOを最適な回路構成に実現することができる。
次に、第5の実施形態に係るコードNCOについて図9,10を参照して説明する。
図9は本実施形態のコードNCOの構成を示すブロック図である。
図9に示すコードNCOは、マルチプレクサ(MPX)1,4と、加算器7と、ラッチ回路3と、レジスタ5と、コンパレータ6とを備える。そして、マルチプレクサ1,4、加算器7、ラッチ回路3,レジスタ5はビット数Lからなるディジタル演算回路で構成されている。
図9は本実施形態のコードNCOの構成を示すブロック図である。
図9に示すコードNCOは、マルチプレクサ(MPX)1,4と、加算器7と、ラッチ回路3と、レジスタ5と、コンパレータ6とを備える。そして、マルチプレクサ1,4、加算器7、ラッチ回路3,レジスタ5はビット数Lからなるディジタル演算回路で構成されている。
マルチプレクサ1は、互いに素となる2つ整数N,Mが入力されるとともに、加算器7からキャリア信号が入力される。そして、このキャリア信号に応じて、2つの整数N,Mのいずれかを出力する。例えば、本実施形態では、キャリア信号がHi状態「1」である場合に整数Nを出力し、キャリア信号がLow状態「0」である場合に整数Mを出力する。ここで、このマルチプレクサ1が本発明の「第1マルチプレクサ」に相当し、キャリア信号が本発明の「選択信号」に相当する。
加算器7は、マルチプレクサ1から出力される整数と、レジスタからの出力値とを加算して出力する。また、加算器7は加算結果に応じてHi状態とLow状態との2値からなるキャリア信号をマルチプレクサ1に出力する。具体的には、加算器7は、加算結果がビット数で表される状態空間の上限に達して下位側に移動すると、Hi状態「1」のキャリア信号をマルチプレクサ1に出力し、加算結果がビット数で表される状態空間の上限に達しなければLow状態「0」のキャリア信号をマルチプレクサ1に出力する。言い換えれば、加算後の整数が加算前の整数よりも小さければHi状態「1」のキャリア信号を出力し、加算後の整数が加算前の整数よりも大きければLow状態「0」のキャリア信号を出力する。
ラッチ回路3は、コード位相を制御するための位相調整値CPA(Code Phase Adjustment)と、ライトイネーブル信号WEとを入力して、ライトイネーブル信号WEによるタイミングで位相調整値CPAを出力する。
マルチプレクサ4は、加算器7の出力値と、ラッチ回路3からの出力値(位相調整値CPA)が入力されるとともに、調整タイミング信号AD(Adjust Timing)が入力される。そして、この調整タイミング信号ADにより与えられるタイミングにより、加算器7からの出力値かラッチ回路3からの出力値のいずれか一方を出力する。具体的には、調整タイミング信号ADが入力されたタイミングで位相調整値CPAを出力し(シフトモード)、それ以外のタイミングでは加算器7からの出力値を出力する(ノーマルモード)。ここで、このマルチプレクサ4が本発明の「第2マルチプレクサ」に相当する。
レジスタ5は、マルチプレクサ4の出力値とクロック信号とが入力される。そして、レジスタ5はクロック周波数fsに応じてマルチプレクサ4の出力値をラッチして加算器7に出力する。
なお、本実施形態のコードNCOについても、整数N,M、ビット数Lはクロック周波数fsおよび得ようとするコードイネーブル信号の周波数f0から、前述の第1の実施形態と同様に設定される。
このような設定を行い、図9に示す構成を用いることで、ノーマルモード時には、加算器7からは周波数f0に応じた周期でキャリア信号がHi状態「1」となる(具体的な動作については次に示す)。この結果、加算器7から出力されるキャリア信号を取り出すことにより、所望とする周波数f0のコードイネーブル信号を出力することができる。また、一方でシフトモード時にはコード位相のズレ量に応じたステート移動量の調整を行い、位相調整を行う。
ここで、図9に示すコードNCOで、具体的に、整数N,M、ビット数L、クロック信号の周波数fs、コードイネーブル信号の周波数f0を設定した場合の動作について説明する。例えば、クロック周波数fsを40MHzとし、周波数f0が10.23MHzのコードイネーブル信号を生成して出力する場合について説明する。
式(4)から、整数Nを1023と設定すると、整数M’は4000に設定される。また、式(5)は、M’が2Lを超えない最小の整数となるようなLを定義しているので、M’が4000であることから、Lが12に設定される。そして、式(6)からMは1119に設定される。
式(4)から、整数Nを1023と設定すると、整数M’は4000に設定される。また、式(5)は、M’が2Lを超えない最小の整数となるようなLを定義しているので、M’が4000であることから、Lが12に設定される。そして、式(6)からMは1119に設定される。
このような場合の状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を図10に示す。
図10は、本実施形態のコードNCOにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。
図10に示すように、図9に示すコードNCOは、回路構成素子のビット数Lが12であるので状態空間全体として4096(212)のステートを有し、クロック周波数fsが40MHzであるのでマシンステートの総数が4000となる。また、コードイネーブル信号の周波数f0に対応するステート数は前記4000のマシンステート内の1023のステートで表される。また、加算器7がビットの最上位(状態空間の上限)を検出することでHi状態「1」のキャリア信号を発してビットの最上位から最下位に遷移するので、4000のマシンステートの最上位は状態空間の最上位4095に位置する。さらに、本実施形態のコードNCOはこのキャリア信号をコードイネーブル信号として出力する。このため、コードイネーブル信号に対応するステートは4000のマシンステート内の閾値2977以上(2977〜3999)のステートで表される。これは、状態空間の最上位部の1023ステート、すなわち、3073〜4095のステートに対応する。
図10は、本実施形態のコードNCOにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。
図10に示すように、図9に示すコードNCOは、回路構成素子のビット数Lが12であるので状態空間全体として4096(212)のステートを有し、クロック周波数fsが40MHzであるのでマシンステートの総数が4000となる。また、コードイネーブル信号の周波数f0に対応するステート数は前記4000のマシンステート内の1023のステートで表される。また、加算器7がビットの最上位(状態空間の上限)を検出することでHi状態「1」のキャリア信号を発してビットの最上位から最下位に遷移するので、4000のマシンステートの最上位は状態空間の最上位4095に位置する。さらに、本実施形態のコードNCOはこのキャリア信号をコードイネーブル信号として出力する。このため、コードイネーブル信号に対応するステートは4000のマシンステート内の閾値2977以上(2977〜3999)のステートで表される。これは、状態空間の最上位部の1023ステート、すなわち、3073〜4095のステートに対応する。
また、マルチプレクサ1は、Low状態「0」の選択信号が入力されると整数N(1023)を加算器7に出力し、Hi状態「1」の選択信号が入力されると整数M(1119)を加算器7に出力し、加算器7は入力される1023、1119いずれかの整数をレジスタ5の出力に加算する。このため、マシンステートのステートは通常増加する方向で遷移する。
このような構成では、ステート番号3073〜4095(最上位)までの間における加算器7の出力をクロック周波数でラッチした時点で、加算器7からHi状態「1」のキャリア信号が出力される。具体的には、加算器7の加算結果がステート番号3073〜4095の間に入り、これがレジスタ5でラッチされた時点では加算器7からはLow状態「0」のキャリア信号が出力されている。この時点で、加算器7には整数N(=1023)が入力され、加算器7はレジスタ5でラッチされた整数にこの整数N(=1023)を加算する。この結果、加算値は状態空間の上限(4095)に達するので、加算器7はHi状態「1」のキャリア信号を出力するとともに、前記レジスタ5にラッチされた整数に対して、新たにマルチプレクサ1から入力された整数M(=1119)を加算して出力する。これにより、マシンステートは、ステート番号3073〜4095の状態からステート番号96〜1118の状態に移動する。そして、この後は、加算器7の加算結果が再度ステート番号3073〜4095の整数となるまで、整数N(=1023)が加算され続ける。
この動作はクロック周波数に応じて繰り返し行われ、加算器の出力をクロック周波数でラッチした値がステート番号3073〜4095の整数値を取る毎に加算器7からHi状態「1」のキャリア信号が出力される。これにより、所定周波数f0のコードイネーブル信号を生成して出力することができる。
なお、本実施形態のコードNCOでは、前述のようにマシンステートの最下位のステート番号が96であるので、シフトモード時には、位相調整値CPAに96を加算した整数を入力することで、コード位相が正確に補正される。
このような構成とすることで、第1の実施形態と同様の効果を得ることができるとともに、本実施形態のコードNCOは第1の実施形態からコンパレータを省略したものであるのでコードNCOを小型化することができる。
次に、第6の実施形態に係るコードNCOについて図11,12を参照して説明する。
図11は本実施形態のコードNCOの構成を示すブロック図である。
図11に示すコードNCOは、加算器7のキャリア信号出力部にインバータ回路8を備え、マルチプレクサ1に整数(M’−N)と整数(2L−N)とが入力されるものであり、他の構成は第5の実施形態の図9に示したコードNCOと同じである。
図11は本実施形態のコードNCOの構成を示すブロック図である。
図11に示すコードNCOは、加算器7のキャリア信号出力部にインバータ回路8を備え、マルチプレクサ1に整数(M’−N)と整数(2L−N)とが入力されるものであり、他の構成は第5の実施形態の図9に示したコードNCOと同じである。
本実施形態のコードNCOのマルチプレクサ1には、整数(M’−N)と整数(2L−N)とが入力され、インバータ8からHi状態「1」の選択信号が入力されると、整数(M’−N)を出力し、インバータ8からLow状態「0」の選択信号が入力されると整数(2L−N)を出力する。
このような構成のコードNCOにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を図12に示す。
図12は、本実施形態のコードNCOにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。なお、本例でも、Lは12、サンプルクロック周波数fsは40MHz、コードイネーブル信号の周波数f0は10.23MHzであり、整数Nは1023、整数M’は4000とする。
図12は、本実施形態のコードNCOにおける状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。なお、本例でも、Lは12、サンプルクロック周波数fsは40MHz、コードイネーブル信号の周波数f0は10.23MHzであり、整数Nは1023、整数M’は4000とする。
図12に示すように、図11に示すコードNCOを用いることで、回路構成素子のビット数Lが12であるので状態空間全体として4096(=212)のステートを有し、クロック周波数fsが40MHzであるのでマシンステートの総数が4000となる。また、コードイネーブル信号の周波数f0に対応するステート数は前記4000のマシンステート内の1023のステートで表される。
また、加算器7がビットの最上位(状態空間の上限)を検出することでHi状態「1」のキャリア信号を発してビットの最上位から最下位に遷移するので、このような動作が行われた時には、インバータ8からマルチプレクサ1にLow状態「0」の選択信号が入力される。この場合、マルチプレクサ1は整数値2L−N(=3073)を出力する。一方、加算器7がビットの最上位(状態空間の上限)を検出せずHi状態「1」のキャリア信号を発しない、すなわち加算器7からLow状態「0」のキャリア信号が出力される時には、インバータ8からマルチプレクサ1にHi状態「1」の選択信号が入力される。この場合マルチプレクサ1は整数値M’−N(=2977)を出力する。これにより、レジスタ5でラッチされている整数がステート1023〜3999に存在する場合にHi状態「1」のキャリア信号(Low状態「0」の選択信号)がマルチプレクサ1に出力され、レジスタ5でラッチされている整数がステート0〜1022に存在する場合にLow状態「0」のキャリア信号(Hi状態「1」の選択信号)がマルチプレクサ1に出力される。
この結果、4000のマシンステートの最下位0は状態空間の最下位0に位置し、コードイネーブル信号に対応するステートは4000のマシンステート内の閾値1023未満(0〜1022)のステートで表される。これは、状態空間の最下位部の1023のステート、すなわち、0〜1022のステートに対応する。
また、このような動作を行うことにより、レジスタ5でラッチされた整数がステート1023〜3999に存在する場合には、マシンステートのステートは減少する方向に遷移し、レジスタ5でラッチされた整数がステート0〜1022に存在する場合には、ステートは増加する方向に遷移する。そして、この動作は繰り返し行われ、加算器7の出力をクロック周波数でラッチした値がステート0〜1022を取る毎に加算器7からLow状態「0」のキャリア信号が出力される。これにより、インバータ8からはHi状態「1」の選択信号が出力されるので、この選択信号を所定周波数f0のコードイネーブル信号として出力することができる。
このような構成を用いても、前述の第5の実施形態に示したコードNCOと同様の効果を奏することができる。
そして、コードNCOの回路構成を、本実施形態(第6の実施形態)、または、第5の実施形態に示すようにすることで、設定条件、すなわち、入力する整数、閾値条件を変更するのみで、ステートの移動方向を逆転させることができる。これにより、従来のコードNCOにおけるステートの移動方向がいずれの方向であっても、本発明の前記2つの実施形態の構成を用いることで、高精度のコード位相観測を容易に且つより簡素な構造で実現することができる。この結果、従来使用しているGPS受信機の仕様に応じて設定条件を変化させるだけで、高精度のコード位相観測が容易に実現されるので、従来のGPS受信機からの改良が容易となる。
次に、第7の実施形態に係るコードNCOについて図13,14を参照して説明する。
図13は本実施形態のコードNCOの構成を示すブロック図であり、図14は図13に示すコードNCOの状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。なお、本例でも、Lは12、サンプルクロック周波数fsは40MHz、コードイネーブル信号の周波数f0は10.23MHzであり、整数Nは1023、整数M’は4000とする。
図13に示すように、本実施形態のコードNCOは加算器7から出力されるキャリア信号をレジスタ5でラッチした後に、マルチプレクサ1に出力する構造であり、他の構成は第5の実施形態に示したコードNCOと同じである。
図13は本実施形態のコードNCOの構成を示すブロック図であり、図14は図13に示すコードNCOの状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。なお、本例でも、Lは12、サンプルクロック周波数fsは40MHz、コードイネーブル信号の周波数f0は10.23MHzであり、整数Nは1023、整数M’は4000とする。
図13に示すように、本実施形態のコードNCOは加算器7から出力されるキャリア信号をレジスタ5でラッチした後に、マルチプレクサ1に出力する構造であり、他の構成は第5の実施形態に示したコードNCOと同じである。
このような構成のコードNCOでは、Hi状態「1」のキャリア信号がマルチプレクサ1に出力されるタイミングが第3の実施形態に示したコードNCOに対してサンプリングクロック信号SCLKの1タイミング分だけ遅れたものである。このため、この構成では、マシンステートは0〜1022、1119〜4095(=212−1)となり、Hi状態「1」のコードイネーブル信号が出力されるタイミングでのステートは0〜1022となる。そして、本実施形態の構成を用いても、第5の実施形態と同様の効果を得ることができる。
次に、第8の実施形態に係るコードNCOについて図15,16を参照して説明する。
図15は本実施形態のコードNCOの構成を示すブロック図であり、図16は図15に示すコードNCOの状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。なお、本例でも、Lは12、サンプルクロック周波数fsは40MHz、コードイネーブル信号の周波数f0は10.23MHzであり、整数Nは1023、整数M’は4000とする。
図15に示すように、本実施形態のコードNCOはインバータ8から出力される選択信号をレジスタ5でラッチした後に、マルチプレクサ1に出力する構造であり、他の構成は第4の実施形態に示したコードNCOと同じである。
図15は本実施形態のコードNCOの構成を示すブロック図であり、図16は図15に示すコードNCOの状態空間とマシンステートとコードイネーブル信号に対応するステートとの関係を示す状態図である。なお、本例でも、Lは12、サンプルクロック周波数fsは40MHz、コードイネーブル信号の周波数f0は10.23MHzであり、整数Nは1023、整数M’は4000とする。
図15に示すように、本実施形態のコードNCOはインバータ8から出力される選択信号をレジスタ5でラッチした後に、マルチプレクサ1に出力する構造であり、他の構成は第4の実施形態に示したコードNCOと同じである。
このような構成のコードNCOでは、Hi状態「1」の選択信号がマルチプレクサ1に出力されるタイミングが第4の実施形態に示したコードNCOに対してサンプリングクロック信号SCLKの1タイミング分だけ遅れたものである。このため、この構成では、マシンステートは0〜2976、3073〜4095(=212−1)となり、Hi状態「1」のコードイネーブル信号が出力されるタイミングでのステートは3073〜4095(=212−1)となる。そして、本実施形態の構成を用いても、第6の実施形態と同様の効果を得ることができる。
前述の各実施形態のコードNCOの具体的な説明は、サンプルクロック周波数fsを40MHz、コードイネーブル信号の周波数f0を10.23MHzとした場合について示したものであるが、前述の各実施形態の構成を用いて、適宜各設定条件(整数N,M、ビット数L)を設定することにより、所定周波数のコードイネーブル信号に対してこれよりも高周波数のサンプリングクロック信号を用いるコードNCOを、それぞれに設定された周波数条件に応じて最適な回路構成で実現することができる。
次に、第9の実施形態に係るGPS受信機について図17を参照して説明する。
図17は本実施形態に係るGPS受信機の構成を示すブロック図である。
図17は本実施形態に係るGPS受信機の構成を示すブロック図である。
図17に示すように、本実施形態のGPS受信機は、アンテナ11と、RF処理部12と、A/Dコンバータ13と、フェーズローテータ14と、相関器15と、PNコード発生器16と、コードNCO17と、キャリアNCO18と、マイクロプロセッサ19とを備える。
アンテナ11はL1波およびL2波からなるGPS信号を受信して、RF処理部12に出力する。RF処理部12は入力されたGPS信号を中間周波数の同相信号と直交信号とに変換してA/Dコンバータ13に出力する。また、RF処理部12は、入力されたGPS信号からサンプルクロック信号を検出して、これを各ブロックに出力する。A/Dコンバータ13は、入力された同相信号と直交信号とをA/D変換してフェーズローテータ14に出力する。
フェーズローテータ14は、入力されたディジタル形式の同相信号と直交信号とを、キャリアNCO18から入力されるキャリア位相に基づきベースバンドの同相信号と直交信号とに変換して相関器15に出力する。相関器15はGPS衛星数に応じた数の相関処理部を備え、PNコード発生器16から出力されるPNコードに基づいて相関処理を行いキャリア位相誤差およびコード位相誤差を推定演算してマイクロプロセッサ19に出力する。マイクロプロセッサ19は、入力されたキャリア位相誤差およびコード位相誤差を用いてキャリア位相およびコード位相(擬似距離)を推定演算するとともに測位を行って、図示しない表示部等に出力する。
コードNCO17は、マイクロプロセッサ19から入力されるコード位相誤差に関する制御信号に従うとともに、所定のループ処理により、所定周波数のコードイネーブル信号を生成してPNコード発生器16に出力する。PNコード発生器16は、コードイネーブル信号に従い予め記憶されたC/AコードまたはP(Y)コードを相関器15の各相関処理部に出力する。
キャリアNCO18は、マイクロプロセッサ19から入力されるキャリア位相誤差に関する制御信号に基づいてキャリア位相を演算して、フェーズローテータ14に出力する。
このようなGPS受信機のコードNCO17に前述の各実施形態に示したコードNCOを用いる。これにより、高精度且つ正確にコードイネーブル信号が生成されるので、PNコード発生器16は高精度で且つ正確なPNコードを相関器15に出力することができる。この結果、相関器15は高精度且つ正確にコード位相およびキャリア位相を推定演算することができ、測位精度が向上する。また、コードNCOの構成を所望の周波数条件に応じた最小かつ最適な回路構成で実現することができるので、所望とする条件に応じて、高精度で、且つ最適な回路構成のGPS受信機を小型に形成することができる。
さらには、コードNCOのステート移動方向を任意に選んで構成することができるので、従来のGPS受信機のコードNCOのみを改変する場合にも、GPS受信機の他部の構成を殆ど替えることなく、キャリア位相の推定演算、コード位相の推定演算、および測位をより高精度に改善することができる。すなわち、従来在る資産(実機および設計データ)を有効に活用することができる。
なお、前述の実施形態ではGPS受信機を用いたGPSシステムを例に説明を行ったが、他のPNコードを信号に用いる全ての無線航法システム(GNSS)、例えば、GALILEOシステムやGLONASSシステムにも前述の構成を適用することができ、前述の効果を奏することができる。さらには、PNコードで変調された無線信号を受信する、一般的な無線通信システムおよびこれに用いる無線通信機にも前述の構成を適用でき、前述の効果を奏することができる。
1,4,102,201−マルチプレクサ(MPX)
2,7,101,202−加算器
3,104,203−ラッチ回路
5,103−レジスタ
6−コンパレータ
61−AND演算部
62−NOR演算部
8−インバータ
11−アンテナ
12−RF処理部
13−A/Dコンバータ
14−フェーズローテータ
15−相関器
16−PNコード発生器
17−コードNCO
18−キャリアNCO
19−マイクロプロセッサ
2,7,101,202−加算器
3,104,203−ラッチ回路
5,103−レジスタ
6−コンパレータ
61−AND演算部
62−NOR演算部
8−インバータ
11−アンテナ
12−RF処理部
13−A/Dコンバータ
14−フェーズローテータ
15−相関器
16−PNコード発生器
17−コードNCO
18−キャリアNCO
19−マイクロプロセッサ
Claims (6)
- コード位相観測に用いるコードイネーブル信号を生成するコードNCOにおいて、
互いに素となる2つの整数が入力され、選択信号により前記2つの整数のいずれかを出力する第1マルチプレクサと、
該第1マルチプレクサから出力された整数とレジスタから出力された整数とを加算して出力する加算器と、
該加算器から出力された整数とコード位相調整値を入力して、調整信号に基づきこれらのいずれかを出力する第2マルチプレクサと、
該第2マルチプレクサからの出力をサンプリングクロック信号に応じてラッチして出力するレジスタと、
該レジスタからの出力値が予め設定した所定整数値になることを検出して前記選択信号を出力する選択信号生成手段と、を備え、
前記選択信号を前記コードイネーブル信号とすることを特徴とするコードNCO。 - 前記選択信号生成手段は、前記レジスタからの出力と、前記2つの整数から決定される閾値とを比較して前記選択信号を出力するコンパレータである請求項1に記載のコードNCO。
- 前記選択信号生成手段は、前記レジスタの所定複数ビットの値をAND処理した結果を用いて前記選択信号を出力するAND演算手段である請求項1に記載のコードNCO。
- 前記選択信号生成手段は、前記レジスタの所定複数ビットの値をNOR処理した結果を用いて前記選択信号を出力するNOR演算手段である請求項1に記載のコードNCO。
- コード位相観測に用いるコードイネーブル信号を生成するコードNCOにおいて、
互いに素となる2つの整数が入力され、選択信号により前記2つの整数のいずれかを出力する第1マルチプレクサと、
該第1マルチプレクサから出力された整数とレジスタから出力された整数とを加算して出力するとともに、使用可能なビット領域の端部を検出して前記選択信号を出力する加算器と、
該加算器から出力された整数とコード位相調整値を入力して、調整信号に基づきこれらのいずれかを出力する第2マルチプレクサと、
第2マルチプレクサからの出力をサンプリングクロック信号に応じてラッチして出力するレジスタと、を備え、
前記選択信号を前記コードイネーブル信号とすることを特徴とするコードNCO。 - 請求項1〜請求項5のいずれかに記載のコードNCOを備え、
該コードNCOから出力されるコードイネーブル信号に基づいて生成されるPNコードを用いて、GPS信号のコード位相を捕捉・追尾することを特徴とするGPS受信機。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004269583A JP4339215B2 (ja) | 2004-09-16 | 2004-09-16 | コードncoおよびgps受信機 |
PCT/JP2005/012331 WO2006030576A1 (ja) | 2004-09-16 | 2005-07-04 | コードncoおよびgps受信機 |
US11/663,147 US7573337B2 (en) | 2004-09-16 | 2005-07-04 | Code NCO and GPS receiver |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004269583A JP4339215B2 (ja) | 2004-09-16 | 2004-09-16 | コードncoおよびgps受信機 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006086818A JP2006086818A (ja) | 2006-03-30 |
JP2006086818A5 true JP2006086818A5 (ja) | 2007-06-07 |
JP4339215B2 JP4339215B2 (ja) | 2009-10-07 |
Family
ID=36059837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004269583A Expired - Fee Related JP4339215B2 (ja) | 2004-09-16 | 2004-09-16 | コードncoおよびgps受信機 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7573337B2 (ja) |
JP (1) | JP4339215B2 (ja) |
WO (1) | WO2006030576A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2008151749A (ru) * | 2008-12-26 | 2010-07-10 | Андрей Владимирович Вейцель (RU) | Метод построения виброустойчивого навигационного приемника спутниковых сигналов |
US9618626B2 (en) | 2013-04-11 | 2017-04-11 | Topcon Positioning Systems, Inc. | Common coordinate-quartz loop for reducing the impact of shock and vibration on global navigation satellite system measurements |
US11483025B2 (en) * | 2019-12-10 | 2022-10-25 | Samsung Electronics Co., Ltd | System and method for providing a unified global navigation satellite system (GNSS) receiver |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4556984A (en) * | 1983-12-27 | 1985-12-03 | Motorola, Inc. | Frequency multiplier/divider apparatus and method |
JPH07191274A (ja) * | 1993-12-27 | 1995-07-28 | Canon Inc | 画像表示装置 |
US5663733A (en) * | 1995-08-28 | 1997-09-02 | Trimble Navigation Limited | Digital bandwidth compression for optimum tracking in satellite positioning system receiver |
US6125325A (en) * | 1996-04-25 | 2000-09-26 | Sirf Technology, Inc. | GPS receiver with cross-track hold |
US6067328A (en) * | 1996-12-12 | 2000-05-23 | Alliedsignal | High precision hardware carrier frequency and phase aiding in a GPS receiver |
US7281025B2 (en) * | 2003-12-18 | 2007-10-09 | Tektronix, Inc. | Triggered DDS pulse generator architecture |
-
2004
- 2004-09-16 JP JP2004269583A patent/JP4339215B2/ja not_active Expired - Fee Related
-
2005
- 2005-07-04 US US11/663,147 patent/US7573337B2/en not_active Expired - Fee Related
- 2005-07-04 WO PCT/JP2005/012331 patent/WO2006030576A1/ja active Application Filing
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4755920B2 (ja) | キャリア位相追尾装置および擬似雑音コード信号追尾装置 | |
JP4828308B2 (ja) | 位相変調系列再生装置 | |
CN101351962B (zh) | 调节脉冲检测阈值的方法和装置、脉冲检测的方法和装置以及相应的接收机 | |
CN1109413C (zh) | 在gps接收机中消除多普勒复制谐波的方法 | |
JP5918351B2 (ja) | 信号サーチ方法、信号サーチプログラム、信号サーチ装置、gnss信号受信装置、および情報機器端末 | |
JP4339215B2 (ja) | コードncoおよびgps受信機 | |
JP6061773B2 (ja) | 信号処理装置、信号処理方法及び信号処理プログラム | |
JP2002350526A (ja) | 情報エレメントの境界を決定する方法、システム、及び電子装置 | |
JP4777353B2 (ja) | Gps測位方法及びgps測位装置 | |
JP2006086818A5 (ja) | ||
CN111308519A (zh) | 导航卫星捕获方法、装置、设备及介质 | |
JP2000338218A (ja) | Gps受信機 | |
CN108627863B (zh) | 基于dft的gnss导航电文数据解调方法、装置及gnss接收终端 | |
JP5005446B2 (ja) | 自立型高感度衛星信号受信機 | |
KR100613831B1 (ko) | 펄스밀도변조기 | |
JP2011058923A (ja) | 衛星信号受信装置 | |
CN100504848C (zh) | 数字相关的方法和设备 | |
JP2005064983A (ja) | スペクトラム拡散信号受信装置 | |
WO2013140910A1 (ja) | 信号サーチ方法、信号サーチプログラム、信号サーチ装置、gnss信号受信装置、および情報機器端末 | |
JP5942402B2 (ja) | 受信方法及び受信装置 | |
JP4437811B2 (ja) | 回線品質測定装置 | |
JP2012093106A (ja) | 衛星信号受信機 | |
JP2008245253A (ja) | 基準シンボルレートのナイキスト周波数よりも大きなオフセットを有するtdma信号のための、繰り返しによるパイロット信号を用いた周波数オフセット推定及びc/i比計測法 | |
JP2009168451A (ja) | 測位装置 | |
CN107272029B (zh) | 一种捕获导航信号的方法和装置 |