怎样才能在20ms的时间内精确测量出的计算出一个大约100khz信号的频率,允许误差大概在5hz以内

2019-07-21 00:27发布

我尝试了使用输入捕获,PWM输入模式,和外部时钟 1模式,其中发外部时钟1 的准确度最高,但是也有1赫兹的误差,不知道是我的算法问题还是 本来就有这种问题,而且当我缩短测量时间至20ms时,误差就会被放大至约20HZ,我想问一下,还有什么比较好的方法没有,或者是能不能对我说的三个方法优化一下使达到要求?   



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
edmund1234
2019-07-21 12:50
假定你测量脉冲的时间为T, 问题是这个T的开始及结束, 是没办法保证它跟被测的信号同步的, 就算你搞一大堆事情, 弄到开始可以同步, 但结束是没有办法的

比如T你设定在20ms, 从t=0时开始输入时钟, 但t=0的时候被测量信跟就一定在上升沿或下降沿吗?这就是不同步, 其实这都可以解决
没法解决的是结束的时候, 长如在20ms内应该有2000个数, 那2000.99个的时候你还是只能测到2000个, 是不?
所以最大误差就是一个计数, 你把它反推就能算出来20ms测量时最大误差是50Hz。
明白?

一周热门 更多>