频率测量的方法详解

电子说

1.2w人已加入

描述

一般来说,频率测量的方法有:

1,计频法:所谓频率,就是单位时间内信号周期变化的次数。如果以1s为单位,测出此时间区间内的脉冲个数就是频率。这样的精度并不高,如果把单位时间放大到10s、100s等,这样精度会提高很多。

2,计时法:测量一个脉冲来的时间和结束的时间,二者之差便是信号周期,取其倒数便是频率。但是如果待测频率很高,脉冲周期非常短,这就要求很高的计时器来测量这微小的时间差,所以这种方法测量高频往往难以满足精度要求。但是测量10个,100个……脉冲周期就会很容易一些,精确一些。

单独使用某一种,虽然加大测量范围,可以提高精度,但是还是有所缺陷。如果使用混合方法来实现,可以计算出高精度的频率。

计频法:设置时间阀值,对该时间内采集脉冲计数,计数为N;计时法,精确测N个脉冲所用时间,计时为T。则计时计频测出频率为F=N/T.

以上就是实现原理。

实现方法:

1,一般使用MCU自带的捕获功能来捕获上升沿或下降沿。启动中断来判断。假如使用下降沿,来一个下降沿就在中断中加一个数,这样就记录了脉冲数。并且读取第一个脉冲来的时候的时间,即你时间阀值内的第一个脉冲时间。之后来一个脉冲读取一次时间。这样两个时间差,就是所记录脉冲个数的时间差。

2,使用定时器功能,周期性的定时中断。每个周期计算一次频率,即根据统计的脉冲数和时间来计算。这样每个周期就计算出了一个频率值。

这样计算的频率值可能存在误差,比如突然又干扰等因数造成频率不稳定。这样就要多次测量,采取滤波方法来去除干扰。

滤波方法很多,根据具体应用选择合适滤波方法,如限幅滤波法,算术平均滤波法、中位值滤波法、滑动平均滤波法、一阶滞后滤波法、消抖滤波法等等。

在AS7.0的工程中增加如下图的ASF库,即可实现,

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分