对于有一段信号的频率,我们可以用Counter来测量,利用Counter来进行频率测量的方法主要有三种,即Inverse Period,Averaging以及Divide Down,这次我将比较简单地对它们进行介绍以及比较,使大家能否在实际应用中选择最appropriate的方法.
首先是Inverse Period方法,它其实是用Counter来测量一段信号的周期方法的Extention,我们将待测信号输入Counter的Gate端,然后在Source端引入一个20MHz(E系列DAQ卡)或者80MHz(M系列DAQ卡)的时基,这样在信号的一段周期内对时基进行计数,从而可得到信号的周期,在这基础上再求倒数后就得到了频率值.
Averaging是要用到2个counter来进行,如下图所示.首先通过第一个Counter来生成一个已知的周期的信号,输入第二个Counter的Gate端,然后将待测信号输入其Source端,即在一个已知周期内数信号的周期数,这样再除一下即可得到频率值.
第三种方法叫Divide Down,其实质是与Inverse Period类似,只是在此之前先将待测信号通过一个Counter进行降频处理,然后再输入到第二个Counter进行周期测量,求倒后得到频率值,如下图所示.
那么我们怎么在实际应用中选择最合适的方法来测量信号频率呢?换句话来讲就是这三种测量方法到底有些什么区别以及各自的适用范围在哪呢?这就是我们下面要讨论的问题.
三种方法的最本质区别在于一个叫同步误差的概念,即Synchronized Error,如下图所示,Gate端的信号的周期为Source端方波的4倍,按理论来说最终计数值应为4,但是在实际测量时由于Gate和Source是不同步的,所以会引起误差,即多数一个或者少数一个,也就是说在Gate的周期内记数不可避免的会引起±1的误差,这个就叫做Synchronized Error.
那么我们这就来比较一下三种方法所会产生的测量误差,首先是Inverse Period,从下表中可以明显看到,对于低频信号,测量的误差只有0.004%左右,但一旦到了高频(5MHz)时所产生的误差就相当大,令人无法接受了.因此可知Inverse Period的方法适用于低频的测量,另外它只用到一个Counter,这也是它的highlight之一.
Averaging方法所产生的误差见下表,对于Averaging,有一个Measurement Time的参数,首先我们看5kHz时的情况,在Measurement Time为0.001时所产生的误差很大,在0.1时则变得比较小;那么在5MHz时,可以看到其测量产生的绝对误差与5kHz时一样,但是相对误差就小得很多.因此,对于Averaging,它适用于高频信号的测量,另外它的Measurement Time如果设得较大,则测量频率的精度就越高,但另一方面也增加了测量的时间,这里有个Trade-Off的关系.
最后一种方法Divide Down的误差如下表所示,这里有个Divisor的概念,即降频倍数,也就是实际信号降频的倍数,这个是可调的.我们可以看到,提高降频倍数可以提高测量精度,另外Divide Down所能测的频率范围比较广,因此适合于测量频率范围比较大的未知信号.
在LabVIEW中可以方便地用DAQmx系列的vi来实现对频率的测量,如下图就是非常简单的频率测量程序框图;值得一说的是如果选择Averaging或者Divide Down时,你将信号输入哪个Counter,那么在Channel Create那选择的就是哪个Counter.
文章评论(0条评论)
登录后参与讨论