摘要:电容接触屏在数据收集进程中不可避免地会产生体系噪声,为了进步接触屏坐标定位的准确度,在对原始数据进行定位剖析前,首要选用卡尔曼滤波办法对数据进行处理,再将数据在MATLAB顶用定位算法核算出接触屏的坐标值,并制造坐标点图。成果表明,卡尔曼滤波的确能够有用去除噪声,然后进步接触屏坐标定位的准确性,具有很高的实用性。
导言
跟着信息时代的到来,人们对信息的检索、查询需求逐步增多,因而,方便快捷的人机交互界面不可或缺,而其间首战之地的应用技能就是接触屏。接触屏作为一种新的智能设备输入设备,其技能现已比较老练,常见的类型可分为红外线、外表声波、电阻式和电容式等[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页,欢迎您写论文时引证,并注明出处。