进行精准频率测量

概述

使用NI计数器进行的频率测量有多精确?本文档介绍了使用NI 660x计数器/定时器设备进行频率测量的三种方法,并说明如何确定频率测量的精度。

内容

频率测量误差来源

频率测量中的误差有两个来源:

  • 晶体振荡器频率误差
  • 测量误差


总测量误差是这两个来源的总和,或:

测量误差 = 晶体振荡器误差 + 测量误差

晶体振荡误差

PCI-6601和PCI-6602所用晶体振荡器的额定温度稳定性为75 ppm(百万分之75)。PXI-6602使用的晶体振荡器为200 ppm,但在PXI机箱中,PXI 6602将自动锁相到PXI背板的时钟,精度为75 ppm。启用锁相后,PXI 6602的精度也将达到75 ppm。

75 ppm表示每100万赫兹的频率可能偏差+/- 75 Hz。对于带有20 MHz振荡器的6601板卡,由于所用晶体引起的误差可能高达+/- 75Hz/1MHz*20= +/-1500 Hz。对于具有80 MHz振荡器的6602板卡,误差为+/- 6000 Hz。

6608板上的10 MHz恒温晶体振荡器(OCXO)一年的频率稳定性为75 ppb。这意味着,在10 MHz的频率范围内,一年内频率可能会偏离0.75 Hz。当6608板卡位于PXI机箱的插槽2中时,NI-DAQ软件会自动将OCXO的10 MHz时钟驱动为替换PXI背板时钟。这使得具有相位时钟环路电路的其他设备能够利用6608 OCXO的精度。例如,如果PXI 6602位于同一PXI机箱,其80 MHz时基的误差为+/- 6Hz,而不是+/- 6000 Hz。此处的一个重要说明是,为了让PXI-6608驱动并替换PXI背板时钟,它必须位于PXI机箱的插槽2中,即控制器旁边的插槽。如PXI-6608位于其他插槽,晶体误差与PXI-6602相同。

关于PXI-6608时钟共享的详细信息,请参见用户须知:关于6608设备。它介绍了OCXO,并带有一个程序框图,用于演示PXI-6608如何提高自身板卡时钟和其他模块的时钟稳定性。

测量误差频率测量方法


测量误差是频率测量中固有的,但选择最适合所测频率和NI 660x设备时基的频率测量方法可以将测量误差的影响降至最低。在本节中,我们将介绍三种频率测量方法,并说明测量误差对每种方法测量精度的影响。

下面介绍的三种频率测量方法是:
方法1-周期测量求倒数
方法2-计算已知时间内的脉冲数
方法3-测量已知周期数的时间

本文档附带的三个示例VI演示了以下三种方法:
频率123支持用户使用三种方法中的任意一种。
频率方法2对指定时间内的脉冲进行计数(方法2)。
频率方法3测量指定周期数的时间(方法3)。

方法1:周期测量求倒数
最简单的方法是周期测量。通过计算未知频率的两个连续上升沿或下降沿之间的已知源频率的上升沿或下降沿,可测量周期。将已知源的频率除以计数,可计算未知信号的周期。通常使用内部时基(20 MHz或80 MHz),但外部时钟源也可使用,前提是其小于或等于硬件支持的最大源频率。

此类测量适用于低频测量。假设待测信号是完美的50 kHz频率,并且使用20 MHz内部时基进行测量。假设20 MHz时基为理想,即用于生成20 MHz时基的晶体振荡器为理想,则理想50 kHz信号的两个连续上升沿或下降沿之间应计数400个边沿。但是,由于我们无法控制两个信号之间的相位关系,计数可能会偏差+/- 1。这称为测量误差。因此,计数器将返回399、400或401。数学运算得到下列结果:

 

返回计数:399400401
计算频率(kHz):50.135049.88

测量误差导致与实际频率(50 kHz)的偏差并不大。事实上,如果使用80 MHz时基,该偏差将更小。

 

返回计数:159916001601
计算频率(kHz):50.035049.97

如待测频率为5 MHz,使用相同的20 MHz源频率,计数器应返回计数4。由于测量误差,计数可能为+/- 1,因此计数可能为3或5。数学运算得到下列结果:

 

返回计数:345
计算频率(MHz):6.6754

可以看到,当待测频率增加时,一个计数值的差异将导致更大的采样误差。即使使用80 MHz时基,实际频率仍有较大偏差:

 

返回计数:151617
计算频率(MHz):5.3354.7

通过该频率测量方法计算测量误差,公式如下:



详细信息见下面的计算。

方法2:计算已知时间内的脉冲数
范例:使用NI 660x设备进行频率测量时的频率方法2.vi或频率123.vi

只要待测信号的频率明显低于已知源频率,方法1就能正常工作。随着待测信号频率的增加,接近源频率时,测量误差也会增加。为了提高未知频率较高的频率测量精度,可以使用第二种测量方法,即对已知时间内的脉冲进行计数。在该配置中,计数器将在已知信号周期内计数未知高频的数量。频率可通过计数乘以未知信号的频率得到。

如上例所示,待测频率为5 MHz。计数器将在已知频率周期内计数5 MHz的上升沿。假设我们选择由理想时基(没有晶体振荡器误差)生成的10 Hz频率。这意味着,在已知频率的两个连续边沿(0.1秒)中,我们应该计数500,000个边沿。由于仍然无法控制10 Hz和5 MHz信号之间的相位关系,测量误差仍将为+/- 1计数。计算得到下列结果:

 

返回计数:499999500000500001
计算频率(MHz):4.9999955.00001

将该测量结果与之前测量方法计算的结果进行比较,可以看到偏差大大降低。使用更低频率的已知信号可进一步减小偏差。我们使用1 Hz已知频率重做计算:

 

返回计数:499999500000500001
计算频率(MHz):4.9999955.00001

总之,使用两个计数器可获得更精确的高频频率测量。用于门控计数的已知信号周期越大,测量误差越小。该测量方法的测量误差:



详细信息见下面的计算。

方法3:测量已知周期数的时间
范例:使用NI 660x设备进行频率测量时的频率方法3.vi或频率123.vi

到目前为止,我们已经讨论了两种测量方法:周期倒数和已知时间内的脉冲计数。反周期测量方法适用于低频测量,而第二种测量方法对于高频信号可获得更高的精度。但是,如果应用需要测量脉宽调制信号,且频率范围涵盖低频和高频,则可考虑第三种测量方法。

与测量方法2类似,该测量方法也使用两个计数器。第一个计数器用于分频待测信号,第二个计数器用于测量分频后的周期。实际频率可通过将测得的频率乘以分频值得到。使用该频率方法,分频值越大,得到的频率越低,测量结果也越准确。

该测量方法的测量误差计算与方法1类似:



详细信息见下面的计算。

方法最佳?


最佳方法取决于您的待测量频率类型。周期测量是最简单的方法,只需要一个计数器;但是,随着频率的增加,测量误差也会增加。第二和第三种测量方法均使用2个计数器。第二种方法(在已知时间内对计数器进行门控并计算边沿数量)更为通用,不适用于低频,除非使用很长的门控时间测量这些低频。

第三种方法对于相同的测量时间具有更好的精度,但并非通用,因为需要指定测量的周期数。了解使用该方法的测量频率期望值非常重要。例如,对于10 MHz信号,1秒测量时间将使用1000万个周期。对于1 MHz信号,使用1000万个周期将需要10秒的测量时间。为了在1秒内完成1 MHz信号的测量,需要在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 &gt;> Fx/x

测量误差的计算与方法1相同。唯一的区别是,现在需要将待测频率Fx除以整数x:

Was this information helpful?

Yes

No