baharav_capacitive touch sensing signal and image processing algorithms

12
Capacitive touch sensing : Signal and image processing algorithms Zachi Baharav a and Ramakrishna Kakarala b a Corning West Technology Center, Corning Incorporated, 1891 Page Mill Rd., Palo Alto, CA b School of Computer Engineering, Nayang Technological University, Singapore ABSTRACT Capacitive touch sensors have been in use for many years, and recently gained center stage with the ubiquitous use in smart-phones. In this work we will analyze the most common method of projected capacitive sensing, that of absolute capacitive sensing, together with the most common sensing pattern, that of diamond-shaped sensors. After a brief introduction to the problem, and the reasons behind its popularity, we will formulate the problem as a reconstruction from projections. We derive analytic solutions for two simple cases: circular finger on a wire grid, and square finger on a square grid. The solutions give insight into the ambiguities of finding finger location from sensor readings. The main contribution of our paper is the discussion of interpolation algorithms including simple linear interpolation , curve fitting (parabolic and Gaussian), filtering, general look-up-table, and combinations thereof. We conclude with observations on the limits of the present algorithmic methods, and point to possible future research. Keywords: Capacitive Touch Sensor, Multi Touch. 1. INTRODUCTION Touch is one of the 6-senses humans use to feel and interact with their environment, and has long been a key component in human-computer interactions. It has come to the forefront in recent years with the explosion in electronic devices using it, most notably mobile phones. Prior to the development of touchscreen phones, touch sensing was used in many places including computer track-pads. With such a wide range of applications, there are many different requirements and constraints on the sensing system. 1 For example, some systems need to sense both human-finger, stylus, pencil, or pen, while others are tailored only for sensing sub-sets of those. Some systems, like smart-phones, have to be “clear”, meaning one should be able to see the content (usually an LCD screen) underneath the systems, while other systems can be opaque (like trackpads). Yet some systems need to be able to determine the locations of multiple fingers touching the screen, while other systems need merely to determine whether a button was pressed or not. And of course, there are differences in the size-constraints, power consumption, accuracy requirements, cost, and so on. Moreover, the wide range of requirements gives rise to different methods to sense touch. The most common technique today is still resistive touch sensing, which relies on two conductive layers separated by a small space, and when the user touches, a conductive path is created between the two layers. Note that this method relies on the pressure created when the user touches, and not on the presence of the finger/object per-se. Other methods to sense touch include optical methods, acoustic-waves, resistive-nodes, and various types of capacitive sensing: mutual, absolute, and surface. For a general review of touch technologies, which is updated frequently, a very good resource is Jeff Walker’s presentation. 2 For a treatment of the history of capacitive sensors see Baxter’s classic book. 3 In this paper we are focusing on absolute capacitance touch sensing, used to determine the location of one finger over a sensing-area. This method used to be the most common method for capacitive sensing, though in the last three years the focus has moved in many segments to mutual capacitive sensing, which enables a more detailed sensing of the space by creating a capacitance-image of the area sensed. Mutual capacitance is Further author information: Zachi Baharav - [email protected] , Ramakrishna Kakarala - [email protected]

Upload: haipeng-jin

Post on 03-Oct-2014

37 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Baharav_Capacitive Touch Sensing Signal and Image Processing Algorithms

Capacitive touch sensing : Signal and image processing

algorithms

Zachi Baharava and Ramakrishna Kakaralab

aCorning West Technology Center, Corning Incorporated, 1891 Page Mill Rd., Palo Alto, CAbSchool of Computer Engineering, Nayang Technological University, Singapore

ABSTRACT

Capacitive touch sensors have been in use for many years, and recently gained center stage with the ubiquitoususe in smart-phones. In this work we will analyze the most common method of projected capacitive sensing,that of absolute capacitive sensing, together with the most common sensing pattern, that of diamond-shapedsensors. After a brief introduction to the problem, and the reasons behind its popularity, we will formulate theproblem as a reconstruction from projections. We derive analytic solutions for two simple cases: circular fingeron a wire grid, and square finger on a square grid. The solutions give insight into the ambiguities of finding fingerlocation from sensor readings. The main contribution of our paper is the discussion of interpolation algorithmsincluding simple linear interpolation , curve fitting (parabolic and Gaussian), filtering, general look-up-table,and combinations thereof. We conclude with observations on the limits of the present algorithmic methods, andpoint to possible future research.

Keywords: Capacitive Touch Sensor, Multi Touch.

1. INTRODUCTION

Touch is one of the 6-senses humans use to feel and interact with their environment, and has long been a keycomponent in human-computer interactions. It has come to the forefront in recent years with the explosion inelectronic devices using it, most notably mobile phones. Prior to the development of touchscreen phones, touchsensing was used in many places including computer track-pads. With such a wide range of applications, thereare many different requirements and constraints on the sensing system.1 For example, some systems need tosense both human-finger, stylus, pencil, or pen, while others are tailored only for sensing sub-sets of those. Somesystems, like smart-phones, have to be “clear”, meaning one should be able to see the content (usually an LCDscreen) underneath the systems, while other systems can be opaque (like trackpads). Yet some systems needto be able to determine the locations of multiple fingers touching the screen, while other systems need merelyto determine whether a button was pressed or not. And of course, there are differences in the size-constraints,power consumption, accuracy requirements, cost, and so on.

Moreover, the wide range of requirements gives rise to different methods to sense touch. The most commontechnique today is still resistive touch sensing, which relies on two conductive layers separated by a small space,and when the user touches, a conductive path is created between the two layers. Note that this method relies onthe pressure created when the user touches, and not on the presence of the finger/object per-se. Other methodsto sense touch include optical methods, acoustic-waves, resistive-nodes, and various types of capacitive sensing:mutual, absolute, and surface. For a general review of touch technologies, which is updated frequently, a verygood resource is Jeff Walker’s presentation.2 For a treatment of the history of capacitive sensors see Baxter’sclassic book.3

In this paper we are focusing on absolute capacitance touch sensing, used to determine the location of onefinger over a sensing-area. This method used to be the most common method for capacitive sensing, thoughin the last three years the focus has moved in many segments to mutual capacitive sensing, which enables amore detailed sensing of the space by creating a capacitance-image of the area sensed. Mutual capacitance is

Further author information: Zachi Baharav - [email protected] , Ramakrishna Kakarala [email protected]

Page 2: Baharav_Capacitive Touch Sensing Signal and Image Processing Algorithms

the method, for example, used in the iPhone c© and in other devices capable of multi-touch sensing. Never theless, absolute capacitance is still heavily used in many applications where a less-expensive solution is required,or where there is no real need for capacitive imaging capability.

As the final goal of the sensing in our case is to determine a finger-touch coordinate, we focus in this paper onvarious methods to calculate the coordinate given the sensor data. The structure of the paper is thus as follows:in Sec. (2) we describe the general system we will be using, and lay down the terms to be used in the sequel.We touch briefly on projection-approach in Sec. (3) , and in Sec. (4) we analyze a special case, where thesensor is composed of thin-wires. This will lend itself to analytic solution. We also derive an analytic result forsquare fingers in Sec. 4.2. Sec. (5) discusses different methods for calculating the coordinates of the finger,and Sec. (6) describes the simulations and the results. We close with Sec. (7) , and point to possible futurework on the subject.

2. PROBLEM FORMULATION

In this section we describe an absolute capacitance sensing system, which is used to sense one finger, anddetermine its coordinate (location) over a rectangular area. Absolute capacitance sensing systems can be dividedin general into three main ingredients: physical sensor, electronic measurement, and signal processing.

Touch Sensor

PhysicalSensor

ElectronicMeasurement

SignalProcessing

Figure 1. Typical structure of absolute capacitance sensing system.

The physical sensor, which is the leftmost part in Fig. 1 is the element that serves as the capacitor to besensed. We measure its capacitance to the external world. When a finger (or other conductive element) comesclose enough to change this capacitance value, this change is measured and analyzed, and a finger location iscalculated. Since the capacitance between the finger and the trace can be thought of (in zero-order approximation)as a parallel-plate capacitor,4 we have

CParallel−Capacitor =ǫA

d, (1)

where epsilon is the dielectric constant of the material between the plates, A is the area of the plates, and d is thedistance between the plates. From (1) it follows that in order to have a large signal from an approaching finger,we need to have as much trace-area (A) exposed to the finger. Also, the smaller the distance (d) between thefinger and the sensor, the larger the signal is. We will delve into this further when we talk about the measurementshortly, but it is worth remembering that we want to cover the sensing area with electrodes as much as we can,and keep all of them as close to the finger as we can. If we leave some area unused, we will be wasting signalthat could have been captured.

In addition, following up with the parallel-plate capacitor model for the interaction between the finger and thesensor, we can deduce that the signal (or change of capacitance on the sensor) due to a finger will be proportionalto the overlapping area between the finger and the sensor. This is the regime where those two bodies constitutea parallel plate capacitor. We will use this fact extensively later on in the analysis and simulation parts.

Page 3: Baharav_Capacitive Touch Sensing Signal and Image Processing Algorithms

Electronic measurement, the middle element in Fig. 1, is the part that measures the change in the physicalproperty (capacitance), translates it to electronic signal, and usually convert it to digital-representation to beprocessed by the signal-processing block. In general, since capacitance describes the proportion ratio betweenvoltage and charge, there are two different methods to measure it: imposing known voltage on the sensor andmeasuring the resulting charge on it; or alternatively, imposing known charge on the sensor and measuring theresulting voltage. Other methods, which measure the complex impedance of the sensor, follow essentially thesame idea. We will not delve into the measurement process, as this is beyond the scope of this paper, howeverwe want to emphasize that this is far from a trivial problem. One needs to deal with various issue, for example :noise (from LCD, other electrical components, etc); small signal-changes due to finger compared to backgroundsignal (the change due finger can be a few pico-Farads, whereas the background capacitance of the sensor can bearound 50pF); need for high resolution in the reading in order to achieve good location accuracy (in the order ofa few femto-Farads), and more. Most of the methods today use techniques involving modulation of the signal,averaging, and other noise-avoiding tricks to facilitate the measurement.

Signal processing, the last part in Fig. 1, converts the signals from the sensor into finger coordinates, ges-ture recognition, and so on. This involves both traditional signal-processing, like signal conditioning, filtering(smoothing), and in addition algorithmic parts to analyze the data and deduce finger(s) location, tracking, andgestures interpretation.

The final result of this chain (sensor+measurement+analysis) should be robust to different usage modes(small/big finger, tap or draw, etc), manufacturing variability in the sensor, noise in the system, and at thesame time give good results in terms of responsiveness, accuracy (local and global), and most importantly, notto produce disturbing instabilities that will frustrate the user. We will delve more into the requirements as weget to evaluate the different algorithms.

The most common pattern for sensing absolute capacitance is described in Fig. 2, and is known as thediamond-pattern (for obvious reasons). It is composed of two layers, one called the columns-layer, and below itthe rows-layer. This configuration of the electrodes complies with the goal of having maximum exposure to thefinger, tiling the whole surface, and symmetrical for rows and columns. It does present the issue of the need fortwo layers, as otherwise the rows and columns will be short circuited. Most of our simulations will follow theuse of this pattern, though they apply to other configurations as well.

C1 C2 C3 C4

R1

R2

R3

R4

Columns

Row

s

Figure 2. Illustration of the diamond pattern of electrodes, which is the most common pattern for absolute capacitancesensing.

In this pattern, one can consider the measurements as “projections” of the capacitance “image” onto rowsand columns, where the rows and columns have the special “concatenated diamond” shape. This leads us to the

Page 4: Baharav_Capacitive Touch Sensing Signal and Image Processing Algorithms

following problem formulation:

Problem definition: Given the projections of capacitance-image over the sensor, find the location of afinger on the sensor.

Expanding a little more on this, we can elaborate:

Expansion on problem definition: The resulting coordinates should be robust to variations in the mea-surements (noise, temperature, manufacturing), and variations in the finger model (of how finger looks like),where robust means accuracy and stability.

In the general case, where the finger imprint on the capacitive image can be of any shape, and we may havemultiple fingers altogether, this is of course an ill-posed problem. We have too few measurements to enable aunique correct solution. However, as we will show, there are cases where one can look for exact solution. Inother cases, we will look for a stable solution, which is “best” according to some criteria. The rest of this workdeals with addressing the above problem, and analyzing various solution options.

One may wonder if this is a difficult problem: hasn’t it been solved already many times? After all, there aremany devices on the market using this technology already.

The Moto-labs study5 of finger tracing accuracy on various phones shows the devices on the market havesignificant errors when tracing straight lines. The study examined six different phones, and used a robotic-fingerto trace a grid pattern of straight lines on the screen of each one. However, though the robotic movement isstraight, the study found that the resulting lines reconstructed on the screen are often wiggly. We may concludethat the current generation of touchscreen phones has not solved the problem, and further investigation in theareas discussed in this paper are necessary.

3. PROJECTION APPROACH

Though the purpose of this paper is to investigate interpolation algorithms, it is useful to consider the inherentprojection of the finger capacitance onto the row and column traces as a type of Radon transform, similar towhat is studied in medical imaging.6 We know, by the Fourier slice theorem, that the Fourier transform atfrequency ω of the projection at any angle φ is

G(φ, ω) = F (ω sinφ,−ω cosφ), (2)

where F (u, v) is the 2-D Fourier transform of the function f(x, y).

The nature of the projection as shown in Figure 2 involves sampling the averaged value over a square aperture,and summing the resulting samples. Space does not permit a derivation of the transform, but it is worth notingthat the projection process may be modelled as follows. Suppose that finger capacitance is represented by atwo-dimensional (2-D) function f(x, y) = f(x) with Fourier transform F (u), with x, u denoting 2-D vectors.The Fourier transform of the diamond-shaped aperture is denoted H(u); note that this will be a 2-D sincfunction rotated 45-degrees. Then the aperture serves as a lowpass filter, and the observed signal is thereforeFo(u) = F (u)H(u). If Λ is a hexagonal 2-D sampling lattice having fundamental unit area A(Λ), with Λ∗

denoting the dual lattice, then the Fourier transform of the samples is

Fs(u) =1

A(Λ)

k∈Λ∗

Fo(u+ k) (3)

We can now derive the Fourier transform of the projection applying (2) to (3). The details are interesting; how-ever, we leave those to future work because the purpose of this paper lies in investigating practical interpolationmethods.

4. ANALYTIC SOLUTIONS

In this section we address two particular cases, which lend themselves to analytic analysis.

Page 5: Baharav_Capacitive Touch Sensing Signal and Image Processing Algorithms

4.1 Wire Grid Sensor

In this section we will derive a solution for the case where the sensing electrodes are simple wires, as depicted inFig. 3. In (a) the wire-grid is drawn, where we can assume each wire is much narrower than the pitch size, orthe finger size. Moreover, the overlap between the wires reduces to such a small area, that we will also neglectthat factor. Since the response of the sensor to the finger is proportional to the area overlap between the two,and since we assume thin wires with negligible overlap between themselves, the response to a round finger isreduced to being proportional to the length of the appropriate chord in the finger-circle.

C1 C2 C3 C4

R1

R2

R3

R4

Columns

Row

s

d

d

C1 C2 C3 C4

R1

R2

R3

R4

2 ∗Rf

(a) (b)

Figure 3. Wire-grid sensing electrodes pattern. (a) Basic configuration. (b) A round finger of size 2 ∗ Rf superimposedon the sensor from (a).

Now, let us assume that the finger radius is such that, unless at the edges of the sensor, it will always impactthe reading on exactly two columns and two rows. This translates to the requirement that

d > Rf > d/2, (4)

where d is the spacing between traces.

Fig. 4 describes such a scenario, depicting only the columns sensors. In this case, only columns 1 and 2will have readings, and we will denote those values as c1 and c2, respectively. Since we assume the response isproportional to the area covered by the finger, we immediately note that c1 and c2 are nothing but the respectivechords of a finger-circle. With the help of some basic geometry, and the notations in Fig. 4, we can write thefollowing 3 equations:

x1 =

Rf2 −

(c12

)2

, (5)

x2 =

Rf2 −

(c22

)2

, (6)

x1 + x2 = d. (7)

These comprise 3 independent equations, with 3 unknowns: x1, x2, and Rf . From substituting the first two inthe third one, we get one (non-linear) equation with only one unknown Rf :

d =

Rf2 −

(c12

)2

+

Rf2 −

(c22

)2

. (8)

Page 6: Baharav_Capacitive Touch Sensing Signal and Image Processing Algorithms

C1 C2 C3 C4

x1 x2

Rf

d

Figure 4. Notations for analytic computation.

There are a few things to note about this result:

• Analytic solution - The above is an exact solution for determining the x-coordinate and Rf , the radius ofthe finger. Considering the fact we have three unknowns ((x, y) coordinates of the center of the finger, andRf the radius), and 4 measurements (2 on rows and 2 on columns), it is not surprising we are able to finda unique analytic solution.

• Separation of variables - It is worth noting that the ‘X’ and ’Y’ coordinates can be computed independently.However, keeping in mind we do have 4-measurements for only 3 unknowns, we can exploit this to solvethe whole system of equations together in order to gain robustness to noise. Still, it is a closed solution,but is considering the possibility the noise, and thus is more robust. Stating it yet differently, the fact thatRf is the same for both axes, creates the coupling that can be exploited to overcome noise.

• Solving in real-time: LUT - Since we can write the equation in terms of Rf = Rf (c1, c2), we can use atwo-dimensional look-up-table to solve the equation in real-time. In this very symmetric sensor case, wecan use the same table for the X and Y axes. The size of the LUT depends on the resolution we want inthe X/Y directions, and the resolution of our measurements.

4.2 Analytic solution for square finger

We follow the method used above, but for the case of a square finger. Note that the diamond grid in Figure 2is the same as a square grid rotated 45 degrees. Suppose that we now have exactly one square finger, aligned tothe grid. Assume that the width of the square, W , satisfies a constraint similar to (4):

d > W > d/2. (9)

Here again d is the spacing between the electrodes. With respect to Figure 2, the constraint means that weobtain a non-zero reading on at least one trace Ri and one trace Cj , but not more than two of either the row orthe column readings are nonzero. When it produces a nonzero reading on one and only one Ri and Cj , then thefinger fits within the basic block of Figure 5.

Denoting as before the readings on each trace R or C by lowercase r or c, we see that, within this block,the finger position is not uniquely determined by the ri, cj values. We now show that there are in general foursymmetries, and that the contours of equal readings are hyperbolic in shape.

Page 7: Baharav_Capacitive Touch Sensing Signal and Image Processing Algorithms

Ri

Cj

W

u x

uy

Figure 5. A basic block of 2×2 diamond sensors is shown, with the horizontally connected row traces and vertical columntraces indicated. The square finger, assumed to be aligned to the grid, has width W , which is larger than a single diamond,but small enough to fit within the basic block.

From Figure 5 the reading on the hatched electrode for a square finger having position (ux, uy) is

ri = uxuy + (W − ux)(W − uy) = 2uxuy +W 2 − (ux + uy)W. (10)

Neglecting the constant term W 2 on the right, it can be seen that the contour lines of the 2uxuy term arehyperbolic in shape, and that the contour lines of the −(ux + uy)W term provide a linear correction. We cansolve (10) for uy as follows:

uy =ri − (W − ux)W

2ux −W. (11)

We obtain the same equation for the column reading on the plain electrodes in Figure 5, namely that

cj = W (ux + uy)− 2uxuy (12)

Clearly, ri + cj = W 2, an equation which when combined with (10) and (12) gives us three equations to solvefor ux, uy, and W . Note that by the algebraically-symmetric form in (10) and (12), if (ux, uy) is a solution,then so is (uy, ux), as well as (W − ux,W − uy) and (W − uy,W − ux); hence there is a four-fold symmetry tothe solution space. Figure 6 illustrates the symmetries by showing the contour lines of ri, cj on ux, uy space.The contour lines were obtained by simulation, with W = 75, and the trace spacing is d = 100

√2. The range of

coordinates ux, uy that fit within a basic block is therefore 25.

5. SUBPIXEL INTERPOLATION

Suppose that a finger gives readings on more than one electrode ri and more than one electrode cj . The problemof finding the position to a resolution smaller than d, the spacing of the diamond-shaped blocks in Figure 1,is formally similar to the problem of finding the peak location of a continuous function to subpixel level. Wedescribe briefly several popular algorithms for subpixel peak estimation.7 Below, assume that ri is the maximumvalue of the row trace readings, ri−1 is the row below the maximum, ri+1 is above, and similarly for the columnreadings. Table 1 summarizes four different algorithms for estimating subpixel location of the finger from thethree samples (ri−1, ri, ri+1). Similar equations hold for the column readings (ci−1, ci, ci+1).

To gain insight into the estimators used in the table, let us consider, for example, the estimator δ using thecenter of mass method. From the table, the equation is

δ =ri+1 − ri−1

ri−1 + ri + ri+1

. (13)

Page 8: Baharav_Capacitive Touch Sensing Signal and Image Processing Algorithms

ux

u y

ri contours

5 10 15 20 25

5

10

15

20

25

ux

u y

cj contours

5 10 15 20 25

5

10

15

20

25

r c

Figure 6. Illustration of four-fold symmetry in contour lines for row (column) readings for a square finger that fits in abasic block. The arrows indicate the direction in which r or c increase, respectively; note, for example, that r increases ifux, uy both increase, so moving diagonally upward in this figure is equivalent to moving the finger horizontally in Fig. 5.This figure, and others to follow, is best viewed in color.

Estimator Equation

Gaussian 1

2

ln ri−1−ln ri+1

ln ri−1−2 ln ri+ln ri+1

Center of mass ri+1−ri−1

ri−1+ri+ri+1

Linear 1

2

ri+1−ri−1

ri−min{ri−1,ri+1}

Parabolic 1

2

ri−1−ri+1

ri−1−2ri+ri+1

Table 1. Subpixel finger position estimators

The center of mass estimator may be derived by assuming that (ri−1, ri, ri+1) form a discrete probability dis-tribution located on the indices (−1, 0,+1), and solving for the mean of the distribution. Note that we assumethat ri is the peak value of the distribution; this implies |δ| ≤ 1

2, as we now show. In (13), we may set the

denominator ri−1 + ri + ri+1 to 1, by dividing both top and bottom by the sum. The numerator has upper andlower bounds

ri+1 ≥ ri+1 − ri−1 ≥ −ri−1 (14)

The upper bound ri+1 is reached if ri−1 = 0, which means ri+1 ≤ 1

2since ri+1 + ri = 1 and ri ≥ ri+1 by the

assumption that it’s the peak location. Hence δ ≤ 1

2and we can show similarly that δ ≥ − 1

2. For any value of δ,

the estimated location of the peak is i+δ, where i is the integer index of the maximum row reading, and δ serves asthe subpixel offset. For the other estimators, some insight may be gained by noting that the parabolic estimatoris the solution of a second-order Taylor series expansion of the finger capacitance; the Gaussian estimator issimilar, up to the log function, because the exponent of a Gaussian distribution is parabolic. Similarly, the linearestimator assumes that the shape of function is a straight line on both sides of the peak; see Fisher and Naidu7

for details.

Page 9: Baharav_Capacitive Touch Sensing Signal and Image Processing Algorithms

6. SIMULATIONS AND DISCUSSION

AMatlab simulation was used to compare the various methods discussed under different conditions. The diamondpattern used is described in Fig. 7. In (a) we describe a single row of diamond pattern. There are 16 rows inour simulated panel. In (b) a single column is described. There are 12 columns in our simulated panel. In (c)we combine rows and columns to create a full sensing panel. Each row and column are colored differently, andthus we have 12 + 16 = 28 different colors in the picture. Typical dimensions for the row and column spacing(and size) is about 5mm. This has to agree with the expected finger size, which is around 7mm to 15mm indiameter. Keep in mind the size is the one captured by the capacitive sensing electrodes, and thus takes intoaccount fringe-fields etc. In our simulation, the basic pitch, namely the distance between the center of any tworows (or columns) was discretized into 100 cells. Therefore, assuming a 5mm pitch, a pixel in the simulation isof size 50µm.

We used a round finger for the simulation, and added a profile to it’s capacitive characteristics. Fig. 8combines different views of the simulated finger. We used a Gaussian profile truncated to fit into a diameter of3 columns and rows. Since the pitch is 5mm, it means that the diameter of the finger influence is 15mm. Thistakes into account the thickness of the cover-glass and fringe-field effects.

Once we have a simulated sensor, and a simulated finger, we can evaluate the interaction between those. Wedo this by placing the finger with a center on a known location of the sensor, as described in Fig. 9(a). Wecan then compute the overlap between the finger (as weighted by the profile) and each of the sensors (rows orcolumns). This will give us the reading of the rows and columns, which are shown in Fig. 9(b-c).

Using these profiles as a starting point, we can then compute a location according to various algorithms, andcompare results. Keep in mind we also know the exact location of the center of the finger, which is where wesimulated it in the first place. Thus, we can also calculate error measures.

Taking it one step further, we can then simulate the finger performing a trajectory over the sensor. Wesimply put it each time in a new location, and for each location compute the profiles, and calculate “simulated”location. This will give us indication of periodic errors, and errors which depend on the location of the fingerrelative to the grid.

The results of such a process are described in Fig. 10. One can clearly see the periodic nature of the error,which is the result of the interaction between the finger trajectory and the underlying periodic diamond pattern.In addition, it is evident that some algorithms perform better than others, in terms of maximum-error and interms of mean-error. We then introduce multiplicative noise component to the raw profile data, and the resultsare given in Fig. 11. The amplitude of the noise is varied, and indeed one can see the different impacts of noiseon the various algorithms. Some algorithms are much more sensitive to noise.

One can compare the algorithms under different kind of noises (additive, white, correlated, and so on). Inaddition, different finger sizes, and shapes, will also effect the different algorithms differently. Results for thosecases will be shared in the presentation.

7. SUMMARY AND CONCLUSION

In this work we discussed the most common method of projected capacitive sensing, that of absolute capacitivesensing. We analyzed the problems involved in determining finger location from the most-common type of sensors,diamond-shaped sensors. We formulated the problem as a reconstruction from projections, and considered twosimple case. In the first case, that of circular finger, we derive analytically the solution for finger location. Werepeat the analytical approach for a second case of interest, that of a square finger. We describe interpolationalgorithms, and evaluate their performance.

This work just touched the tip of the iceberg, and there are many more issues to explore. Non-separablealgorithms, plausibly using an LUT implementation, might give us a hint at the optimal solution. Specificalgorithms which are optimal with regard to insensitivity to finger size or shape (within limits), are also ofparamount importance. In addition, the projections approach, using inverse transform of the projections, presentsa fertile field for investigation.

Page 10: Baharav_Capacitive Touch Sensing Signal and Image Processing Algorithms

2 4 6 8 10 12

1

1

2

4

6

8

10

12

14

16

(a) (b)Full panel: 28 traces

2 4 6 8 10 12

2

4

6

8

10

12

14

16

5

10

15

20

25

(c)

Figure 7. Panel diamond pattern: (a) Single row of diamond pattern.(b) Single column of diamond pattern. (c) Combiningrows and columns to create a full sensing panel.

Finger

1 2 3

1

2

3 0 1 2 3

0.4

0.5

0.6

0.7

0.8

0.9

1Finger cross section

(a) (b)

Figure 8. Simulated finger profile used in the simulations: (a) Color depicting magnitude. (b) Cross section of profile.

Page 11: Baharav_Capacitive Touch Sensing Signal and Image Processing Algorithms

Array with finger area super−imposed

2 4 6 8 10 12

2

4

6

8

10

12

14

16

(a)

0 2 4 6 8 10 12 14 160

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000Traces response: rows

1 2 3 4 5 6 7 8 9 10 11 120

2000

4000

6000

8000

10000

12000Traces response: cols

(b) (c)

Figure 9. (a) Finger superimposed on the Diamond pattern. (b) Response on the rows. (c) Response on the columns.

100 200 300 400 500 600 700 800 900 1000 1100 1200

200

400

600

800

1000

1200

1400

1600

Blue − exact routeRed − COM (max/mean error = 0.700224 // 0.417365 [mm])

Green − Linear = 0.519937 // 0.317378 [mm])Black − Gaussian = 0.385795 // 0.209413 [mm])Cyan − Parabolic = 0.252979 // 0.148013 [mm])

450 500 550 600 650900

920

940

960

980

1000

1020

1040

1060

1080

1100

Blue − exact routeRed − COM (max/mean error = 0.700224 // 0.417365 [mm])

Green − Linear = 0.519937 // 0.317378 [mm])Black − Gaussian = 0.385795 // 0.209413 [mm])Cyan − Parabolic = 0.252979 // 0.148013 [mm])

(a) (b)

Figure 10. (a) Simulating the finger at a different location, traveling along a straight line, and for each location calculatingthe response on the traces (rows and columns), and from that the estimated computed location. The exact travel locationis depicted as a Blue line, where the others depict different interpolation algorithms (see title of picture for more details).(b) Zooming in on part of the graph in (a).

Page 12: Baharav_Capacitive Touch Sensing Signal and Image Processing Algorithms

450 500 550 600 650900

920

940

960

980

1000

1020

1040

1060

1080

1100

Blue − exact routeRed − COM (max/mean error = 0.906636 // 0.432628 [mm])

Green − Linear = 0.676228 // 0.332286 [mm])Black − Gaussian = 0.551196 // 0.236180 [mm])Cyan − Parabolic = 0.556204 // 0.235776 [mm])

450 500 550 600 650900

920

940

960

980

1000

1020

1040

1060

1080

1100

Blue − exact routeRed − COM (max/mean error = 1.237692 // 0.559910 [mm])

Green − Linear = 1.264948 // 0.532050 [mm])Black − Gaussian = 1.149167 // 0.446962 [mm])Cyan − Parabolic = 1.490748 // 0.504834 [mm])

(a) (b)

Figure 11. Same trajectory as in the previous image, only this time a multiplicative noise is added to the measurement.(a) Noise is uniformly distributed with amplitude of 0.1. (b) Noise is uniformly distributed with 0.3 amplitude.

REFERENCES

[1] M. R. Cutkosky, R. D. Howe, W. R. P., “Force and tactile sensors,” in [Springer handbook of robotics ],Siciliano, B. and Khatib, O., eds., Springer-Verlag, Berlin (2007).

[2] Walker, J., “Touch technologies tutorial.” http://www.walkermobile.com/PublishedMaterial.htm (2010).[Online: accessed 8 Dec 2010].

[3] Baxter, L., [Capacitive Sensors: Design and Applications ], IEEE-Wiley (1996).

[4] Halliday D, Resnick R, W. J., [Fundamentals of Physics ], Wiley (2004).

[5] MotoLabs, “Diy touch screen analysis.” vimeo.com/motodevelopment (2010). [Online: accessed 10 Jan2010].

[6] Herman, G. T., [Fundamentals of computerized tomography: Image reconstruction from projection ], Springer,2nd ed. (2009).

[7] Fisher, R. B. and Naidu, D. K., “A comparison of algorithms for subpixel peak detection,” in [in Image Tech-

nology, Advances in Image Processing, Multimedia and Machine Vision ], 385–404, Springer-Verlag (1996).