关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 卡尔曼滤波在电容触摸屏坐标定位中的应用

卡尔曼滤波在电容触摸屏坐标定位中的应用

作者:任灿 陈益民 王文韬 张欢时间:2016-09-28来源:电子产品世界收藏
编者按:电容触摸屏在数据采集过程中不可避免地会产生系统噪声,为了提高触摸屏坐标定位的精确度,在对原始数据进行定位分析前,首先采用卡尔曼滤波方法对数据进行处理,再将数据在MATLAB中用定位算法计算出触摸屏的坐标值,并绘制坐标点图。结果表明,卡尔曼滤波确实能够有效去除噪声,从而提高触摸屏坐标定位的准确性,具有很高的实用性。

摘要在数据采集过程中不可避免地会产生系统噪声,为了提高触摸屏的精确度,在对原始数据进行定位分析前,首先采用方法对数据进行处理,再将数据在MATLAB中用定位算法计算出触摸屏的坐标值,并绘制坐标点图。结果表明,确实能够有效去除噪声,从而提高触摸屏的准确性,具有很高的实用性。

本文引用地址:http://www.eepw.com.cn/article/201609/310487.htm

引言

  随着信息时代的到来,人们对信息的检索、查询需求逐渐增多,因此,方便快捷的人机交互界面不可或缺,而其中首当其冲的应用技术便是触摸屏。触摸屏作为一种新的智能设备输入装置,其技术已经比较成熟,常见的类型可分为红外线、表面声波、电阻式和电容式等[1-2]。其中中使用较广泛的是投射电容式触摸屏,其根据制作、布线工艺和扫描方式不同又分为互电容和自电容。本文描述的是自电容,即分别由X、Y扫描电极与地或人构成自电容,扫描时,一端接地,另一端接激励或采样电路,分别对M+N个电极进行扫描,检测自电容[3-4]。在自电容的检测中,系统噪声会干扰到电容的检测,因而直接影响到后续触摸点坐标的确定。为此,针对主要影响因素——系统噪声进行滤波,还原初始数据的有效信号有利于提高触摸屏的准确度。在众多的滤波方法中,经过实验分析和对比,最终证实,在还原原始数据和算法实现方面都有较好的优势。

1 坐标定位原理和卡尔曼滤波原理

1.1 电容触摸屏坐标定位原理

  对于投射式电容触摸屏的定位来说,自电容是触摸屏感应块相对地之间的电容,当人体在触摸屏上施加激励信号时,就相当于一个接地的导体与感应块之间形成一个耦合电容[5-7]。自电容Cs与人体耦合电容Cp成并联关系,因此,总的电容值C=Cs+Cp,具体模型如图1所示。在触摸检测时,依次分别检测27个X轴和18个Y轴电极数组,根据触摸前后所有自电容量的变化值确定手指所在的X坐标和Y坐标,最后组合成平面的触摸坐标[8]。总共需扫描X+Y次,电容变化的差值在触摸中心点最大,随着触摸区域的扩散电容变化差值逐渐减小,整个区域电容值的变化整体上类似正态分布。

1.2 卡尔曼滤波原理

  卡尔曼滤波是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。能有效地从一组有限的包含噪声的数据中预测出物体的坐标位置。

  卡尔曼滤波主要是通过如下五个核心公式迭代得出某一时刻最优估计[9]

  上述方程组中,X(k+1|K)是上一状态的预测结果, X(k)是上一状态的最优结果,P(k+1|K)是X(k+1|K)对应的协方差,P(k)是X(k)对应的协方差。W(k)和V(k)分别是过程噪声和观测噪声,两者一般均视为高斯白噪声。Q、R为W(k)、V(k)相应的协方差,Kg为卡尔曼增益。状态估计是卡尔曼滤波的重要部分,一般情况下,受噪声干扰的随机状态量很难精确测得,但可进行一系列观测,并依据一组观测值按某种统计观点进行估计,以尽可能接近真实值。

2 电容参数值的测量和触摸区域的确定

2.1 电容参数值的测量

  在触碰未发生前,触摸屏每个通道都有一个可直接测得的基准电容Crefi,该值在一定范围内波动,且每个通道的值不尽相同,如图2所示,每个条形代表一个通道。同时,需要为未触碰前的每个通道的电容值设置一个阈值,表示基准电容值的最高波动范围。每个通道阈值因基准值不同而不同,与基准电容值的关系定义如下:

(6)

T_Valuei表示第i个通道的电容阈值。

  触碰后,中心触摸区域的电容值会快速发生较大的变化,边缘触摸区域有细微的变化,而未触摸的区域电容值未变。此时,根据测得的实时电容Ci,可以计算出电容变化差值

  以上是触摸前后X通道各种电容值的测量方法,Y通道的电容值测量方式与X通道一样。

2.2 电容触摸屏触摸区域的确定

  当触摸发生时,为确定发生触摸的区域,需对每个通道差值电容和阈值电容进行比较。当存在连续通道的差值电容值Cdiff大于或等于阈值电容T_Value,则将这样的通道称为触摸发生所覆盖的中心通道,如图2括号区间所示。这是因为可能存在瞬时噪声脉冲引起的其它某个通道的差值电容也大于阈值电容,因此,连续性保证了触摸中心通道区域的唯一性,从而排除了瞬时噪声的干扰。

  在触摸中心通道的左右相邻区域会存在差值电容值Cdiff小于阈值电容T_Value的通道,称为触摸边缘通道,如图2所示。同一方向的触摸中心通道和触摸边缘通道共同组成该方向上的实际触摸通道。由X方向的实际触摸通道与Y方向的实际触摸通道相交的区间即为触摸区域,如图3所示。其中小圆代表触摸中心区域,大圆代表整体触摸区域,两者之间的部分为触摸边缘区域。

3 具体设计实现

  试验时,使用27*18规格的触摸膜,选取触摸点经硬件电路采集数据保存到计算机。数据采集芯片需通过A/D转换方式采集模拟信号,当干扰作用于模拟信号后,A/D转换结果就会偏离真实值,必须多次采样,才能得到可信度较高的结果。之后,将硬件电路所采集数据作为卡尔曼滤波状态方程和观测方程的输入值,经过计算,在保证均方根误差较小的情况下,取得系数a=1.05,b=1.12。使用上述的卡尔曼核心公式进行迭代滤波,MATLAB实现代码为:

  for t=2:count %s count代表通道数。

  s(t|t-1)=a*s(t-1);%s(t|t-1)是t-1时刻的估计值,s(t-1)是t-1时刻最优估计。

  p(t|t-1)=a^2*p(t-1)+Q;%p(t-1)是s(t-1)的协方差,Q是W噪声的协方差。

  kg(t)=b*p(t|t-1)/(b^2*p(t|t-1)+R);% kg(t)增益,R是V噪声的协方差。

  s(t)=s(t|t-1)+kg(t)*(Y(t)-b*s(t|t-1));%s(t)是t时刻状态最优估算值,Y(t)为观测数据。

  p(t)=(1-c*kg(t))*p(t|t-1);%p(t)是t时刻s(t)的协方差。

  end

  经过滤波的数据在2.2部分确定的触摸区域基础上,给触摸中心区域和触摸边缘区域的通道加上不同的权重系数β1和 β2,两者的关系为:

β1+β2=1,β1>β2 (7)

  为了提高坐标定位的准确度,应该加大中心区域通道的权重系数,弱化边缘区域的权重系数。在使用改进的权重算法求坐标时,将电容变化差值Cdiff与该通道权重系数的乘积作为通道i的实际权重系数ωiωi的具体取值为:

(8)

  定义xj和yj为第j组数据的触摸定位坐标。因此,可以写出如下坐标定位公式:

(9)

(10)

本文来源于中国科技期刊《电子产品世界》2016年第9期第37页,欢迎您写论文时引用,并注明出处。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭