NIカウンタを使用して行う周波数測定の確度はどのくらいですか。このドキュメントでは、NI 660xカウンタ/タイマデバイスで周波数を測定する3つの方法と、周波数測定の確度を確認する方法について説明します。
周波数測定には、2つの誤差源があります。
合計測定誤差は、これら2つのソースの合計、または
PCI-6601およびPCI-6602で使用する水晶発振器は、温度に対する安定性が100万分の75(ppm)と定格されています。PXI-6602に使用する水晶発振器は200 ppmですが、PXIシャーシでは、PXI 6602は75 ppmの確度を持つPXIバックプレーンのクロックに自動的に位相ロックされます。位相ロックを有効にすると、PXI 6602の確度も75 ppmになります。
75 ppmは、100万Hzごとに周波数が±75 Hzずれることを意味します。20 MHz発振器を持つ6601ボードでは、使用された水晶による誤差は最大±75 Hz/1 MHz*20=±1500 Hzです。80 MHz発振器を持つ6602ボードでは、誤差は±6000 Hzです。
6608ボードの10 MHz恒温槽制御水晶発振器(OCXO)の周波数安定性は1年間で75 ppbです。これは、1年間で周波数が10 MHzで0.75 Hzずれることを意味します。6608ボードがPXIシャーシのスロット2に取り付けられている場合、NI-DAQソフトウェアはPXIバックプレーンのクロックの代わりにOCXOから10 MHzクロックを自動的に駆動します。これにより、位相クロックループ回路を持つ他のデバイスは、6608 OCXOの確度を活用することができます。たとえば、PXI 6602が同じPXIシャーシ内にある場合、その80 MHzタイムベースの誤差は±6000 Hzに対して±6 Hzになります。PXI-6608でPXIバックプレーンクロックを駆動および交換するには、PXIシャーシのコントローラの隣のスロット2に取り付ける必要があります。PXI-6608が他のスロットにある場合、水晶誤差はPXI-6602と同じになります。
PXI-6608クロックの共有方法については、「ユーザへのメモ:6608デバイスについてOCXOについて説明し、PXI-6608が自身のボードクロックと他のモジュールのクロックの安定性を向上させる方法を示すのに役立つ図を示します。
測定誤差は周波数測定に固有ですが、測定する周波数とNI 660xデバイスのタイムベースに最適な周波数測定方法を選択することで、測定誤差の影響を最小限に抑えることができます。このセクションでは、周波数測定の3つの方法と、各方法の測定確度に対する測定誤差の影響について説明します。
以下の3つの周波数測定方法があります。
方法1 - 逆周期測定
方法2 - 既知の時間のパルス数をカウント
方法3 - 既知のサイクル数の時間を測定する
このドキュメントに添付されている3つのサンプルVIは、以下の3つの方法を示しています。
Frequency 123.viでは、3つの方法のいずれかを使用できます。
周波数方法2.viは、指定した時間パルスをカウントします(方法2)。
Frequency Method 3.viは、指定されたサイクル数(方法3)の時間を測定します。
方法1:<B}逆周期測定
最も簡単な方法は周期測定です。周期は、既知のソース周波数の2つの連続する立ち上がりエッジまたは立ち下がりエッジ間の立ち上がりエッジまたは立ち下がりエッジをカウントすることで測定できます。既知のソースの周波数をカウントで除算することで、不明な信号の周期を計算できます。通常、20 MHzまたは80 MHzの内部タイムベースのいずれかが使用されますが、ハードウェアでサポートされている最大ソース周波数以下であれば、外部クロックソースも使用できます。
このタイプの測定は低周波数測定に適しています。測定する信号が完全な50 kHz周波数で、20 MHzの内部タイムベースを使用して測定するとします。20 MHzタイムベースが完全、つまり20 MHzタイムベースを生成する水晶発振器が完全であると仮定した場合、完全な50 kHz信号の2つの連続した立ち上がりエッジまたは立ち下がりエッジ間で400個のエッジをカウントする必要があります。ただし、2つの信号間の位相関係を制御することができないため、カウントは±1ずれる可能性があります。これは測定誤差と呼ばれます。したがって、カウンタは399、400、または401を返します。数学を実行すると、以下の結果になります。
| 返されたカウント: | 399 | 400 | 401 |
| 算出した周波数 (kHz): | 50.13 | 50 | 49.88 |
測定誤差による実際の周波数(50 kHz)からの偏差は、それほど大きくありません。実際、80 MHzタイムベースを使用すると、その偏差はさらに小さくなります。
| 返されたカウント: | 1599 | 1600 | 1601 |
| 算出した周波数 (kHz): | 50.03 | 50 | 49.97 |
同じ20 MHzソース周波数を使用して、測定する周波数が5 MHzの場合、カウンタは4を返します。測定誤差のため、カウントは±1になる可能性があり、3または5のカウントも期待できます。数学を実行すると、以下の結果になります。
| 返されたカウント: | 3 | 4 | 5 |
| 算出した周波数 (MHz): | 6.67 | 5 | 4 |
1つのカウントの差が、測定する周波数が高くなるにつれてサンプリング誤差が大きくなることがわかります。80 MHzタイムベースでも、実際の周波数から大きな偏差が生じます。
| 返されたカウント: | 15 | 16 | 17 |
| 算出した周波数 (MHz): | 5.33 | 5 | 4.7 |
この周波数測定方法を使用して測定誤差を計算するには、以下の式を使用します。
詳細については、以下の計算を参照してください。
方法2:既知の時間のパルス数をカウント
例:Frequency Method 2.vi または Frequency 123.vi (NI 660xデバイスで周波数測定を行う)
方法1は、測定する信号の周波数が既知のソース周波数よりも大幅に遅い場合に有効です。測定する信号の周波数がソース周波数に近づくにつれて、測定誤差が増加します。より高い未知周波数の周波数測定の確度を向上させるには、この2番目の測定方法である既知の時間のパルス数をカウントします。この構成では、カウンタは既知の信号周期中に不明な高周波数をカウントします。周波数は、カウントに不明な信号の周波数を乗算して計算できます。
上記の例を使用する場合、測定する周波数は5 MHzです。カウンタは、既知の周波数周期における5 MHzの立ち上がりエッジをカウントします。その周波数を10 Hzに設定し、完全なタイムベース(水晶発振器誤差なし)で生成されたと仮定します。これは、既知の周波数の2つの連続したエッジ (0.1秒) の間に500,000個のエッジをカウントする必要があることを意味します。10 Hzと5 MHzの信号間の位相関係を制御できないため、測定誤差は±1カウントのままです。計算すると、以下の結果になります。
| 返されたカウント: | 499999 | 500000 | 500001 |
| 算出した周波数 (MHz): | 4.99999 | 5 | 5.00001 |
この測定結果を上記の測定方法で計算した結果と比較すると、偏差が大幅に小さくなっていることがわかります。偏差は、低周波数の既知の信号を使用することでさらに改善できます。1 Hzの既知の周波数を使用して計算をやり直します。
| 返されたカウント: | 499999 | 500000 | 500001 |
| 算出した周波数 (MHz): | 4.99999 | 5 | 5.00001 |
つまり、2つのカウンタを使用することで、より高い周波数に対してより正確な周波数測定を行うことができます。カウントのゲートに使用される既知の信号の周期が大きいほど、測定誤差は小さくなります。この測定方法の測定誤差:
詳細については、以下の計算を参照してください。
方法3:既知のサイクル数の測定時間
例:Frequency Method 3.vi または Frequency 123.vi (NI 660xデバイスで周波数測定を行う)
ここまでは、逆周期と既知の時間のパルス数の2つの測定方法について説明してきました。逆周期測定法は低周波数測定に適していますが、2番目の測定法は高周波数信号でより高い確度を得ることができます。ただし、アプリケーションでパルス幅変調信号の測定が必要で、周波数範囲が低周波数と高周波数の両方にわたる場合は、この3番目の測定方法を検討できます。
測定方法2と同様に、この測定方法も2つのカウンタを使用します。最初のカウンタは測定する信号の周波数を分周するために使用され、2番目のカウンタは分周された周波数の周期を測定するために使用されます。実際の周波数は、結果の周波数測定を分周値で乗算することで計算できます。この周波数方法では、分周値が大きいほど結果の周波数が遅くなり、測定結果の精度が向上します。
この測定方法の測定誤差の計算は、方法1に似ています。
詳細については、以下の計算を参照してください。
最適な方法は、測定する周波数のタイプによって異なります。周期測定は最も簡単な方法で、1つのカウンタのみを必要としますが、周波数が増加すると測定誤差も増加します。2番目と3番目の測定方法は、どちらも2つのカウンタを使用します。2番目の方法(既知の時間カウンタをゲートし、エッジの数をカウントする)はより汎用的で、これらの低周波数の測定に非常に長いゲート時間を使用しない限り低周波数には適していません。
3番目の方法では、同じ測定時間でも確度が向上しますが、測定を行うサイクル数を指定する必要があるため、汎用的ではありません。この方法で測定する周波数を特定することが重要です。たとえば、10 MHzの信号では、1秒間に1000万サイクルの測定時間を使用します。1 MHz信号では、1000万サイクルを使用すると測定に10秒かかります。1 MHz信号の測定を1秒で完了するには、100万サイクルを超える測定を行う必要があります。
Fk = 既知のソース周波数
Fx = エラーがない場合に測定される周波数
Fm = 測定周波数
測定方法1の測定誤差計算:
Fk >> Fx
簡略化後:
測定誤差を計算するには
Fm=Fxの場合:エラー=0
Fm>Fxの場合:
Fm<Fxの場合:
測定方法2の測定誤差計算:
Fk << Fx
周波数を計算するには:
簡略化後:
Fm=Fx - Fk、FK、Fx、Fx + Fk
測定誤差を計算するには
測定方法3の測定誤差計算:
Fk >> Fx/x
測定誤差の計算は方法1と同じです。唯一の違いは、測定する周波数Fxを整数値xで除算する必要があることです。