図1は、第1デジタル信号S1の第1周波数f1と第2デジタル信号S2の第2周波数f2の比率を決定するための電子回路の好適な実施形態の、簡素化された回路図を示している。図1から分かるように、第1信号S1は、第1カウンタ2に入力され、第2信号S2は、第2カウンタ4に入力される。第1カウンタ2は、第1信号S1の各立ち上がりまたは立ち下がりエッジにてトリガまたはインクリメントされる。
また、図1から分かるように、第1信号S1は、第2カウンタ4にも、クロック信号として入力される。第2カウンタ4は、第1信号S1の立ち上がりまたは立ち下りエッジによってクロックされる。次いで、カウンタ4のカウント値が、第2信号S2の立ち上がりまたは立ち下がりエッジに従って変化する。
参照番号6は、第1カウンタ2に接続された第1レジスタを示す。第1レジスタは、第1カウンタ2のカウンティングの間に、第1カウンタの中間カウント値を格納するように配置される。すなわち、第1カウンタ2がカウンティングを続ける間に、第1レジスタ6は、第1カウンタ2の中間カウント値をサンプリングすることができる。
さらに、第2レジスタ8が設けられ、これは、第2カウンタ4に接続されている。図1から分かるように、第2レジスタ8は、第1レジスタ6にも接続される。第2レジスタ8は、第2カウンタ4のプリセットされたカウント値で、第2レジスタ8がトリガリング信号を第1レジスタ6に出力するように配置することができる。次いで、第1レジスタ6が、第2レジスタ8からトリガリング信号を受信すると、第1レジスタ6は、第1カウンタ2の中間カウント値をサンプリングする。したがって、第2レジスタ8は、第2カウンタ4がこれらのプリセットされた中間カウンタ値に達した場合に、第2レジスタ8が第1レジスタ6をトリガして、第1レジスタ6に第1カウンタ2の中間カウント値をサンプリングさせるように、第2カウンタ4の中間カウント値を定義することができる。
第1レジスタ6と第2レジスタ8の両方が、同期ユニット10に接続される。同期ユニット10は、第2カウンタ4によるプリセットカウント値の到達と、レジスタ6による第1カウンタ2のサンプリングとの間の期間を制御するように適合されている。すなわち、同期ユニット10は、第2カウンタ4によるプリセットカウント値の到達と、第1カウンタ2の中間カウント値のサンプリングとの間の時間関係を制御する。
第1レジスタ6は、第1メモリ12に接続される。第1メモリ12は、第1レジスタの拡張として機能する。したがって、図1に示される電子回路の動作の間、第1カウンタ2の中間カウント値のシーケンスが、第1メモリ12に格納される。
カウンタ2および4は、有限のステートマシン(FSM:finite state machine)であってもよい。また、点線の囲み内に含まれる、カウンタ2および4を含むすべての素子は、FPGA、PLD、EPLD、ASICまたは適切なICにより実現してもよい。
第2メモリ14が存在し、第2レジスタ8に接続されている。第2メモリ14において、第1カウンタ2がサンプリングされるカウンタ値すなわち時点をプリセットしてもよい。
第1メモリ12および第2メモリ14が、計算ユニット16に接続される。計算ユニットは、第1メモリ12および第2メモリ14に格納された第1カウンタ2および第2カウンタ4のカウント値のシーケンスに基づいて、2つの周波数S1およびS2の比率の推定を計算するように適合されている。周波数比率の決定後、計算ユニット16は、決定または測定結果を出力ユニット18に出力する。
同期ユニット10および計算ユニット16は、適切なハードウェアによって実現してもよい。これらは、有限のステートマシン(FSM)あるいはFPGA、PLD、EPLD、ASICまたは適合されたICによって実現してもよい。しかしながら、第1レジスタ6および第2レジスタ8、同期ユニット10、第1メモリ12および第2メモリ14ならびに計算ユニット16の周囲のグレーの線によって示されるように、これらの構成要素は、適切なプロセッサシステムによって実現してもよい。次に、システムの動作は、適切なプログラムによって制御される。このようなプログラムは、例えばCD−ROMなどの、適切な機械読み取り可能な媒体に格納させてもよい。このようなプログラムは、アセンブラまたはC++などの、任意の適切な言語によって記述することができる。レジスタ6および8ならびにメモリ12および14は、プロセッサの内部メモリによって実現してもよい。このようなメモリ領域への読み取りアクセスおよび書き込みアクセスは、割り込みサービスルーチンによって実施してもよい。
2つの周波数の比率f1/f2の推定値の決定は、計算ユニット16において決定することができ、以下のように記述することができる。
中間カウント値の対応するペア、すなわち対応する時点において決定された第1カウンタ2および第2カウンタ4の中間カウント値を、デカルト座標系(Cartesian coordinate system)における点で示す。そして、本発明の一態様によると、これらの点は、直線に沿う。本発明の一態様によると、対応する回帰直線の急峻度が計算され、この急峻度は、所望の周波数比率の推定値に対応する。直線は、本発明の一態様によると、線形回帰によって決定される。
本発明のこの好適な実施形態の変形によると、計算ユニット16は、経時的に変化する変調、すなわち2つの周波数の比率f1/f2、を計算するように適合されている。
周波数測定ユニットのタスクは、2つの独立するデジタルクロック信号の周波数比率を測定することであり、これらの信号は、ゲーティングクロックおよびコレクティングクロックとして示される。対応するクロック周波数およびクロック期間は、fg,fc,Tg=1/fgおよびTc=1/fcとして示すことができる。上述したように、従来の単純な周波数測定回路は、主要な素子として、2つのカウンタを備え、ゲーティングカウンタが、ゲーティングクロックによってクロックされ、コレクティングカウンタが、コレクティングクロックによってクロックされる。いくつかの比較ロジックと組み合わされたゲーティングカウンタは、コレクティングカウンタを、特定の数のゲーティングカウンタサイクルNgにわたってイネーブルすることによって、測定間隔を決定する。測定間隔の間にコレクティングカウンタがコレクトするサイクルの数は、Ncによって示される。所望の周波数比率fc/fgは、以下のように決定することができる。
測定間隔を、T
gとT
cの両方の倍数で表すと、次の式が導かれる。
ここで、N
gT
gは、秒の単位の測定間隔であり、また、−1<d<1である項dT
cは、測定間隔がT
cの整数倍ではないかもしれず、一方で、コレクティングカウンタがT
cの整数倍のみしか分解できない、ということを考慮している。dの性質は、後に述べられる。(1)は、次のように記述してもよい。
ここで、項ε=d/N
cは、相対測定誤差を表す。例を挙げると、d=1およびN
c=26・10
6に対する最悪の場合の相対誤差は、ε=0.04・10
−6である。これは、測定間隔N
cT
c=1秒およびT
c=1/
c=1/f
GSM=1/26MHzによる、典型的なGSM/GPS測定の状況を反映している。
新規な周波数測定手法を動機付けるために、問題に対するさらなる洞察が必要である。このために、クロック信号の正規化位相が導入され、カウンタの現在値が、その量子化バージョンを表すことが示される。
方形波クロック信号を、そのフーリエ基音(Fourier fundamental tone)の位相である、φ(t)に関連付けることができる。φ(t)は、初期位相φおよび周波数fによって次のように特徴付けられる直線ランプである。
なお、φ(t)は、この記述全体でアンラップ(unwrap)されるものと、暗黙のうちに理解され、間隔[0,2π]に限定されないことを意味する。
したがって、カウンタの現在値と、クロック信号の位相ランプの現在値の間には、関係がある。この関係をより明確にするために、量子化および正規化位相
は、次のように定義してもよい。
ここで、[x]は、0≦x−[x]<1が当てはまるような、x以下の最も近い整数である。量子化は、位相ランプを段形にさせ、正規化は、2π間隔を1サイクルに変える。よって、カウンタは、量子化および正規化クロック位相
を提供するものとみなすことができ、クロック信号のトリガリングエッジは、クロック位相φ(t)=0(モジュロ2π)に対応すると仮定する。
ゲーティングクロックおよびコレクティングクロックの非量子化正規化位相について、それぞれη
g=f
gtおよびη
c=φ
c/2π+f
ctと仮定する。これは、ゲーティングクロックの初期位相について、φ
g=0と仮定する通則を失うことを意味せず、その理由は、η
gとη
cの間の、関心が持たれる位相関係が、φ
cによりカバーされるからである。なお、η
gは、正規化時間η
g=t/T
gとみなすことができ、これは同様に、f
g=1/T
gのためであることに留意されたい。代入により、次式が得られる。
図3は、η
c(η
g)およびその量子化バージョン
例を示している。
図3は、コレクティングクロックの正規化位相対ゲーティングクロックの正規化位相を示している。コレクティングカウンタの現在値は、
とみなすことができる。従来の周波数測定回路は、コレクティングカウンタからの2つのサンプル
および
に依存する。点線の曲線は、φ
cのインパクト、η
cの一定の位相オフセットを示す。黒い曲線の場合、φ
cは、φ
cのどのようなさらなる減少も、
を、5から4に変化させるように選択される。点線の曲線の場合、φ
cは、φ
cのどのようなさらなる減少も、
を、16から15に変化させるように選択される。なお、
は、両方のケースに当てはまることに留意されたい。
したがって、周波数の測定は、位相ランプη
c(η
g)の急峻度の推定の問題に変化する。非量子化正規化位相へのアクセスがある場合は、正確な解は、次のようになる。
ここで、k
0=η
g(t
0)およびk
1=η
g(t
1)は、任意に選択することができる。本発明によると、近似値が求められる。
直接的な手法は、サンプル
および
を、η
c[k
0]およびη
c[k
1]の近似値としてのコレクティングカウンタから取る、従来の方法である。ここで、k
0とk
1は、測定間隔を測るゲーティングカウンタの1番目および最後の値であり、
は、第k番目のゲーティングクロック期間の開始時におけるコレクティングカウンタの値である。コレクティングカウンタの現在値を、ゲーティングクロックの立ち上がりエッジと共にサンプリングすることによって、
を得ることができる、ということを仮定すれば、十分であろう。点
および
は、接続線η
cを定義し、これは、η
cの近似とみなすことができる。よって、周波数比率は、次のように推定することができる。
図3は、
および
を、k
0=3およびk
1=7の選択について示している。黒い曲線と点線の曲線は、n
c(t)=φ
c/2π+f
ctの初期位相φ
cが、どのように推定値
の急峻度に影響するかを示している。φ
cに応じて、N
cは、周波数比率f
c/f
gの推定値が小さすぎるか、または大きすぎるという結果を伴って、15−5=10または16−5=11の値を取る。2つ以下の値しか取ることができず、かつ、取られる値は、コレクティングブロックとゲーティングクロックの間の位相関係に依存する、という通則が、どのような周波数値f
c/f
gに対しても適用される。
先の考察は、周波数推定の問題を、コレクティングクロックの非量子化位相ランプη
c(k)の急峻度をその量子化バージョンη
c[k]の観察に基づいて推定するタスクとして提起した。この状況を想像すると、従来の方法は、最適に及ばないように思われる。その理由は、2つのサンプル
のみが使用され、一方で、測定間隔内からの情報が無視されるからである。N
g=k
1−k
0のゲーティングクロックサイクルで持続する測定間隔を与えると、コレクティングカウンタから、ゲーティングクロックの立ち上がりエッジ毎に、合計でN
g+1個のサンプルを取ることができる。
これらのサンプル
は、図5において黒い点で示されている。これらは、黒い回帰直線
の周りで広がっている。回帰直線からのサンプル
は、中空の点で示されている。本発明によると、急峻度の観点から、
は
よりも良いη
cの推定値に見える。
実用上の理由からは、
のN
g+1サンプルからのサブセットを考慮することが、望まれるであろう。例えば、N
gがおよそ10
6である場合、回帰直線を、このような多数のサンプルに基づいて計算することは、望まれないかもしれない。上に述べたように、kは、ゲーティングクロックη
gの連続する正規化位相からの整数値を表す。これらの整数値からのサブセットは、次のように表すことができる。
ここで、mは、0≦m<Mとする、サイズMのサブセット内の指標である。
サブセットの例は、次の等距離グリッドである。
ここで、整数[N
g/M]は、グリッドの間隔である。
サブセットの他の例は、次の均一に微小変動するグリッドである。
ここで、rnd[m]は、R0≦rnd[m]≦R1の範囲にある、均一に分布した整数の確立変数であり、ここで、R0およびR1は整数である。シミュレーション結果は、微小変動するグリッドが、特定の群に対して有益となり得ることを示している。
いくつかのサブセットη
g[m]に対するサンプル
を与えると、回帰直線は、次のように決定される。次の仮説が仮定される。
一定の正規化位相オフセットa
0、および急峻度a
1は、誤差信号
のエネルギーEが、最小となるように選択される。未知数a
0およびa
1は、以下の式を解くことにより見出される。
これは、
の線形方程式を導き、この方程式は、
のデータ依存係数と、
のデータ独立係数とを有する。
未知数a0およびa1は、最初に(6)〜(10)を計算し、次に(5)を解くことに従う。
係数A
11、A
12、A
21およびA
22は、(データ)サンプル
から独立しているため、いくつかの適当な値Mおよびη
g[m]を選択した後に、一度計算すれば十分である。B
1およびB
2は、単にデータ依存であるため、サンプルη
g[m]の新しいセットに対して、新たに計算する必要がある。
計算負荷は、Mが大きい場合、サンプルMの数に比例し、よって、B1およびB2を計算する作業は、方程式(5)を解く作業に対して優位となる。
未知数の一定位相a0には、関心が持たれないため、これを明確に計算する必要はない。
正確さを減じた初期の周波数推定値を、1つ目のM0<Mサンプルに対してa1を計算することにより、得ることができる。さらなるサンプルが到着すると、a1の更新を、(6)〜(10)の累積する性質により、より少ない作業で計算することができる。
方程式(5)の簡潔な性質により、解a1を明確に示すことが可能である。結果として、この明確な解は、有限インパルス応答(FIR:Finite Impulse Response)フィルタの単一の出力サンプルに密接に関係する、と理解できる。(このフィルタは、ランプ形のインパルス応答を有し、通信理論から知られるように、整合フィルタとみなすことができる。)よって、いくつかの適当なFIRフィルタの実施を、選択してもよい。
測定する周波数比率が経時的に変化する場合、これを繰り返し測定することが望まれるかもしれない。更新レートに応じて、M個のサンプルの新たなセットが、前のサンプルのセットと重複してもしなくてもよい。重複がある場合、計算負荷のいくらかの減少が、可能となるかもしれない。
周波数比率は、M個のサンプルが取られる測定間隔の間に変化することが、知られているかもしれない。これは、例えば、各水晶発振器をスイッチングした後に、2つの周波数のうち1つが、漸近的かつべき指数的に決定されるためであろう。この場合、より洗練された回帰曲線のパラメータを推定することができる。
図5は、本発明に係る電子回路の第2の好適な実施形態の、簡素化された回路図を示しており、この電子回路は、本発明の一態様に係る上述の原則に従って動作する。
図5から分かるように、カウンタ30と、ラッチ40とが設けられている。また、図5から分かるように、信号ucが、カウンタ30のクロック入力に入力される。次いで、出力信号Xc1が、ラッチ40に出力され、ラッチ40のクロック入力が、信号ugを受信する。ラッチ40の出力信号は、信号Xg1である。
さらに、カウンタ32と比較器34とが設けられている。カウンタ32のクロック入力は、ゲーティングクロック信号ugを受信する。カウンタ32の出力信号が、比較器34に入力され、比較器34は、カウンタ32のカウント値出力がnに達するたびに、イネーブル信号をラッチ40に出力する。
グレーの線36は、コレクティングクロックucおよびゲーティングクロックugにより作動される回路のクロック領域遷移、すなわち素子間の境界を示している。
図6は、図5の電子回路で発生する各信号のタイミングチャートを示している。図6に見られるように、図5に示されている電子回路には、理想的な条件がある場合に、問題が生じる可能性がある。しかしながら、カウンタ出力信号Xc1のビットが、正確に同時に変化しないということに起因して、問題が生じるかもしれない。よって、ラッチ40の出力信号、すなわち信号Xg1は、いくつかの例では、カウンタビットが変化する間にゲーティングクロックucのサンプリングエッジが発生した場合は、誤っているかもしれない。
図7は、本発明に係る電子回路の第3の好適な実施形態の、簡素化された回路図を示している。本発明のこの第3の好適な実施形態に係るこの電子回路により、図5および図6を参照して説明された同期の問題を、避けることができる。
図7から分かるように、信号ucが、カウンタ50のクロックポートに入力され、カウンタ50の出力信号Xc1が、ラッチ2 52に入力される。ラッチ2 52のクロック入力は、信号ucも受信する。ラッチ2 52の出力信号Xc2が、ラッチ3 54に出力され、ラッチ3 54のクロック入力も、信号ucに接続される。
入力信号ugが、ANDゲート56の1つの入力に入力され、ANDゲート56の出力が、ラッチ1 58に入力される。ラッチ1 58のクロックポートも、入力信号ucに接続される。ラッチ1 58の出力信号Xc4が、インバータ60を介して、ANDゲート56の他の入力に返送される。さらに、信号Xc4が、他のカウンタ62のイネーブルポートに入力され、他のカウンタ62は、コレクティングクロックucによりクロックされる。カウンタ62のカウント信号が、比較器64に出力され、ここで、カウント信号は、比較値nと比較され、これにより、カウンタ信号62のカウント値がnに達するたびに、比較器64が出力信号を出力し、この出力信号は、ラッチ3 54にエーブル信号として入力される。クロック領域遷移は、ラッチ1 58に位置する。
図8は、図7に示される電子回路に発生する信号のタイミングチャートを示している。図8の1つ目のタイミングチャートは、信号ucを経時的に示している。2つ目のタイミングチャートは、信号Xc1を経時的に示している。3つ目のタイミングチャートは、信号Xc2を経時的に示している。4つ目のタイミングチャートは、信号ugを経時的に示している。5つ目のタイミングチャートは、信号Xc4を経時的に示しており、6つ目のタイミングチャートは、信号Xc3を経時的に示している。
図8に見られるように、図5に示されている回路に生じ得る同期の問題を、図7に示される電子回路によって避けることができ、この回路では、ゲーティング回路ugが、コレクティングクロックucと、コレクティングクロックの領域内に発生するすべてのさらなる処理とによってサンプリングされる。“ゲーティングクロック検出”信号Xc4は、この電子回路における重要な役割を果たす。nのコレクティングクロックサークルの間に、ゲーティングクロック信号ug内に、立ち上がりエッジが発生した場合、これは、コレクティングクロックサイクルn+1の間にXc4をハイに変化させ、サイクルn+2の間に、再びローに変化させる。これにより、Xc4を使用して、ラッチ3 54に、Xc1の遅延バージョンであるXc2を占有させることができる。
しかしながら、図5および図7に示される電子回路は、信号Xg1とXc3のいずれかが、コレクティングカウンタからのサンプルを表し、カウンタ値の同一のシーケンスを通じてサイクルするという点において、等価であることに留意する必要がある。これは、a)第nのコレクティングクロックサイクルの間のある時刻に、ゲーティングクロックugの立ち上がりエッジによって、Xc1の下のコレクティングクロックをサンプリングすることが、b)ゲーティングクロックugの立ち上がりエッジを、第nのコレクティングクロックサイクルの間のある時刻に検出し、後にクロックサイクルの数を調べることと、同じためである。
本発明のこれらの好適な実施形態の変形によると、すべての可能なサンプル(サンプリンググリッド)のサブセットを定義するために、回路は、比較器と、サンプリングをトリガするゲーティングクロックサイクルの数、km=ηg[m]を保持するレジスタとによって拡張してもよい。ひとたびトリガ条件が発生し、サンプリングが利用可能となると、サンプルを格納させ、次のトリガ時点をロードする必要がある。格納およびローディングは、割り込みサービスルーチンの制御下で、FIFOに対して、およびFIFOから行なうか、またはプロセッサメモリに対して、およびプロセッサメモリから行なうことができる。
有利なことに、本発明によると、測定間隔を延長しない一方で、測定誤差が著しく減少する。同様に、当該技術で知られている従来の手法のように、同じ測定誤差を維持することによって、測定間隔を縮小させることもできる。典型的な用途でのシミュレーションは、25のサンプルが利用可能である場合に、2の因数による測定誤差の減少を示している。因数nによるサンプル数の追加的な増加は、測定誤差の√nによる追加的な減少を生じさせる。