本帖最后由 会笑的星星 于 2020-3-3 10:39 编辑
我在之前写的采样定理的解释与应用一文中曾提到,对于信号采样而言,如果我们需要把握信号的所有细节,单片机的采样频率必须要满足采样定理的要求。如果我们只是把握信号变化趋势,比如只需要知道某一个时刻传感器输出值的大小,我们是不需要满足采样定理的要求的。对于不需要满足采样定理的情况,我们就不需要那么高的采样频率,适当延长采样时间间隔,这样除了可以降低整机功耗以外,还有一个好处就是减少噪音对信号的影响。本文就来讨论为什么适当的延长采样时间间隔可以减少噪音对信号的影响,我将使用excel来分析这个问题。
对于只把握趋势的信号,比如某种气体传感器输出会随着气体浓度的上升而上升,当气体浓度恒定后,传感器的输出处于平稳期,当气体浓度下降后,传感器输出下降,整个过程如下图所示。通常针对类应用我们都是考察传感器的输出值是否超过一个阈值,超过了就报警,降到阈值以下就消警。这里,我主要以传感器输出信号的上升过程为例来讨论上述问题。
我们先在excel中模拟一个线性上升并附加有随机噪音的信号,并假设这个信号是气体传感器的输出信号,这个信号伴随气体浓度的升高而增大。首先在表中的A列输入一系列线性上升的信号(我这里准备了50个数据点,数据点之间的差值为2),然后在B列使用excel提供的RANDBETWEEN(-5,5)函数产生一个随机噪音,我这里的随机噪音范围是(-5,+5),最后把A列与B列的数据相加,把得到的结果放在C列,如下图所示。
选中C列中的全部数据,单击excel的插入 -> 折线图,生成的附带噪音的传感器输出信号图如下。
我们有了使用excel模拟的附带有噪音的原始信号,接着我们使用excel完成对这个信号的采样。我们只要在表中C列每间隔相等的数据点取一个数据就可以,通过这个步骤来模拟单片机对信号的采样。这一步怎么做呢,我在这里简单的讲一下。
首先,选中C列中的全部数据,之后点击excel软件的开始->条件格式->新建规则,出现如下对话框,按照图中的指示设置好选项即可。
点击确定后,C列就成了下图中的模样,可以看到无色数据点的间隔就是3。
其次,选中C1单元格(附加噪音后的数据),点击excel软件开始->排序和筛选->筛选,产生如下效果。
最后,点击上图中箭头指示的小按钮,之后点击按颜色筛选,把无填充的单元格筛选出来。最终效果如下。
通过上述步骤,我们模拟了每隔3个点采样一次原始数据。我们用采样后的数据点生成的信号如下。
与原始信号相比,每隔3个点采样的信号曲线更为平滑。如果我们再增加采样间隔,比如每隔6个点采样一次数据,它的结果会怎么样呢。这里我直接把仿真的结果放在下图,从图中可以看出,相比每隔3个点采样,每隔6个采样其信号波形更为平滑。
基于上述的分析,我们可以发现,对于上升传感器输出信号而言采样间隔越大,信号越平滑,也就是受噪音影响越小。不过要注意的是,当传感器输出信号上升到头后,此时信号处于平稳期,长间隔采样间隔相比短采样间隔除功耗外并没有什么优势,短间隔采样避免不了噪音影响,长间隔采样也避免不了噪音的影响。当传感器输出信号开始下降后,此过程与信号上升类似,使用长采样间隔会减少噪音对信号的影响。
知道这个结论对我们有什么指导意义呢。对于不需要考虑采样定理的应用,我们应该在能满足要求的情况下尽量采用长间隔采样,这样除了节省功耗以外(主要是低功耗设备),也能在一定程度上减轻噪音对信号的影响。你可能还会问到底多长的采样间隔才算长,我的回答是因问题而议,没有也不可能有标准答案。
参考: 采样定理的解释与应用: https://bbs.21ic.com/icview-2893068-1-1.html
excel在信号分析中的应用(一) https://bbs.21ic.com/icview-2924228-1-1.html
|