- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电容式触摸按键动态自适应校正方法
电容式触摸按键动态自适应校正方法
【摘要】本文通过样本数据滤波、样本数据稳定性评价、以及基准值分析计算等方法的综合运用,解决触摸按键在环境变化时所带来的不可靠影响,满足触摸按键在各种环境条件下的自适应工作要求。
【关键词】电容式触摸按键;防脉冲干扰平均值滤波;滑动平均值滤波;样本标准差
1.引言
触摸按键作为人机交互的重要方式正逐渐地替代物理按键。目前触摸按键在消费电子产品中的应用相当广泛,特别是在家用电器设备上,如电视机、电冰箱、DVD、小家电等等。触摸按键因其操作简便、美观、以及体积小巧而受到了消费者的认可和青睐。
目前大多数触摸按键采用电容式感应按键原理,然而电容式触摸按键不可避免地会受到周围环境的影响,如触摸按键周围的温湿度、内外电磁干扰噪声、触摸按键感应触点与手指触点之间的距离和填充介质的变化等等。由于周围环境的不可预见性,所以导致触摸按键不可避免地会存在不可靠的因素,从而导致误判断触发或触发失效等问题。目前对于触摸按键,大部分都是根据预先的测试调校结果,给定一个固定的触发基准经验值,然后通过当前的采集值和基准经验值进行比较分析,判断出按键是否触发。该类方法在面对以上提出的环境变化所带来的不可靠影响显得无能为力。
本文下面叙述的内容,能够根据周围环境的变化,动态调节按键触发的基准值,解决环境变化所带来的不可靠影响。
2.自适应校正方法的原理
触摸按键是否触发是根据当前采集到的数值与基准值进行比较分析所得到的,这里的基准值是触摸按键是否触发的判断标准。
当触摸按键周围环境发生变化时,所采集到的触摸按键数值会随着环境的变化而变化,但是如果基准值固定不变的话,就可能会导致误判断触发或触发失效等问题。我们的目的是根据当前触摸按键周围环境的变化情况去动态地改变基准值,使得判断标准能够适应当前环境的变化情况,这样便能够更加准确可靠地实现触摸按键的功能。
那么怎样才能获得和当前环境相适应的基准值呢?
触摸按键在环境稳定的情况下(必须排除数据采集时???环境的不稳定情况),在没有按键触发时所采集到的数值便能够反映出当前触摸按键周围的环境情况,该数值便是可以随着环境的变化而变化的基准值。
3.软件滤波方法
由于触摸按键样本数据采集时,难免会受到各种噪声干扰,为了提高样本数据的采集质量,我们必须对采集到的数据进行滤波处理。
(1)“防脉冲干扰平均值滤波”:
该滤波的主要目的是消除尖脉冲干扰。在许多的数据采集系统中,不可避免地会产生尖脉冲干扰,这种干扰一般持续时间短、峰值大,对这样的数据进行数字滤波处理时,仅仅采用算术平均或移动平均滤波时,尽管对脉冲干扰进行了1/n的处理,但其剩余值仍然较大,满足不了系统数据采集的要求。
(2)“滑动平均值滤波”:
该滤波方法是把N个采样数据看成一个数列,数列的长度N固定不变,每进行一次新的采样就把采样结果插入队头并同时舍去队尾的一个数据,这样队列就始终存储有最新的N个数据。通过计算这些最新数据的平均值,就可以得到最新的采集结果。滑动平均值滤波平滑度高、灵敏度低,对周期性的干扰具有良好的抑制作用,但对于随机脉冲干扰的抑制作用差。
本自适应校正方法先采用“防脉冲干扰平均值滤波”进行样本数据滤波,然后再采用“滑动平均值滤波”进行标准值的滤波处理计算,这两种滤波方法能够很好地实现优势互补,组合成适用于触摸按键自适应校正的复合数字滤波器。特别强调的是,数字滤波中参数的大小必须根据实际的系统要求进行设置,否则也会给整个触摸按键的功能带来不利的影响。
4.实施步骤
总体步骤实施流程如图1所示:
图1 总体步骤实施流程图
步骤一:
采集每个触摸按键的数据样本,并进行“防脉冲干扰平均值滤波”处理,为了描述简练,本实施例只对一个触摸按键进行处理描述。
防脉冲干扰平均值滤波的计算公式为:
其中:
RSample为最终的滤波计算结果;
N每个触摸按键采集的数据样本个数;
M为舍去的最大(或最小)干扰样本值的个数;
Xk为排序后的样本值,且X1≤X2…≤Xk,k≥3。
假设采集到的数据样本数组为:
Sample[N]={S0,S1,…,SN-1},其中N为每个触摸按键采集的数据样本个数。
例如,采集到的数据为:
Sample[10]={98,97,96,100,97,101, 99,99,97,98}
对Sample[N]进行排序的具体实现流程图,如图2所示:
图2 对Sample[N]进行排序的具体实现流程图
排序后的数组为:
Samp[10]={96,97,97,97,98,98,99, 99,100,1
文档评论(0)