Touch Position Recovery Algorithm for Differential Sensing Touch Screen

  • cc icon

    Differential sensing methods are more effective in alleviating panel noise than single-line sensing, and thus have been increasingly used in the touch screen industry. However, they have a drawback: they tend to cancel out multiple touches and need touch position recovery algorithms. This paper introduces a novel algorithm of touch position recovery for differential sensing, which is a low-complexity but high-accuracy approach for determining multiple touch positions. We have implemented the proposed method in a touch screen controller system on a chip. In the simulation experiments using realistic touch screen models and a differential sensing circuit, the algorithm exhibited a high detection performance of a signal-to-noise ratio gain of up to 52.21 dB. Therefore, we can conclude that the proposed method is substantially more accurate than the previous method. Further, the proposed method incurs little or no overhead in terms of the detection speed and the chip size.


    Differential sensing , Recovery algorithm , Touch controller , Touch screen panel


    Recently, there is an increasing demand for large touch screen panels (TSPs) in the touch screen industry. With the availability of relatively large touch screens, TSPs have been adopted for various applications such as television screens, digital signage, and medical devices. Owing to the development of these devices, most of the recent touch applications require additional functions such as a multi-touch function. Further, since a touch screen can serve as both a display terminal and an input device, it often replaces a mouse or a keyboard [1-3].

    Various types of TSPs have been developed to improve the detection performance and to support a wide range of applications. Nowadays, projected-capacitance type TSPs have been increasingly adopted in most touch screen applications. Fig. 1 shows the general architecture of a projected-capacitance TSP with a human finger [4].

    Projected-capacitance TSPs are further divided into the self-capacitance and the mutual-capacitance types [5-7]. Self-capacitance TSPs use rows and columns of conductors overlaid in a grid pattern, and mutual-capacitance TSPs use an array of capacitors located at each intersection of the conductor grid. Fig. 2 shows the structure of self-capacitance and mutual-capacitance TSPs. The detection method of projected-capacitance TSPs involves the measurement of the capacitance changes inferred by touched objects. In the case of self-capacitance panels, a controller detects the changes in the capacitance for each row and column. The self-capacitance TSPs, however, suffer from ghost point problems in the case of multiple touches, which is a serious drawback [8]. Mutual-capacitance TSPs, on the other hand, have two conductive layers for driving and sensing the signal. Since their controller measures the mutual capacitance between the two layers, mutual-capacitance type panels can better distinguish multiple touches.

    To sense an RX signal from a mutual-capacitance TSP, either a single-line sensing or a differential sensing method can be used for recognizing the changes in the mutual capacitance throughout the TSP. While the early techniques usually drive TX lines sequentially, the latest techniques often drive the TX lines concurrently. As an example of the concurrent driving techniques, frequency division concurrent sensing (FDCS) [9] has been reported to provide a fast sensing speed for large touch screens.

    The sensed signal from the RX lines is passed to an analog-to-digital converter (ADC) followed by a microcontroller unit (MCU), where software algorithms filter noise and calculate the touch positions [1,2,10-12]. The software algorithms running on MCUs, however, suffer from a critically low processing speed. Therefore, conventional software-based algorithms are often unacceptable for large TSPs. For example, the 23-inch TSP used for our experiments has 44 TX lines and 78 RX lines, and therefore, the number of touch points is 3,432. The complexity of a software algorithm rapidly increases with an increase in the number of touch points, which in turn increases with an increase in the TSP size. The speed of the touch position calculations of a TSP is, in general, calculated using Eqs. (1) and (2). Eqs. (1) and (2) express the resulting frame scan rate and report rate, respectively. Here, Ntx and Nrx denote the number of TX lines and the number of RX lines, respectively. Tdrive represents the period of the TX driving signal. Eq. (1) shows that the time required to finish one frame scan is a function of (Ntx × Nrx). Furthermore, Talgorithm indicates the time taken to process the touch position calculation algorithm, which usually is the software running in an MCU. Eqs. (1) and (2) show that the scan rate and the report rate tend to rapidly increase with an increase in the size of the touch screen.


    On the other hand, although the TSP size is being continuously increased because of the market demand, the target report rate requirement has mostly remained the same or in some cases, increased to meet the tight performance goal. To reduce the processing time and increase the report rate, we need to develop new high-speed algorithms or hardware-based methods.

    In this paper, we propose a touch position recovery algorithm with a differential sensing circuit. The rest of this paper is organized as follows. In Section II, we briefly discuss the existing touch screen sensing methods, and the result of sensing a TSP. The proposed algorithm and the experimental results are described in Sections III and IV, respectively. Finally, we present the conclusion in Section V.


      >  A. Single-Line Sensing Method

    The touch positions in mutual-capacitance touch screens are determined by measuring the change in the mutual capacitance. The single-line sensing method has been most widely used thus far because of its simplicity. In this method, the drive circuit applies stimulus signals to a driving (TX) line. As its stimulus signals, it often employs chopping signals, pulses, or sinusoidal signals. Then, the sensing circuit sequentially reads out the sensing (RX) lines to measure the changes in capacitance. Most of the single-line sensing circuits convert the charge in the mutual capacitors to a voltage by integrating the sensed RX signal. An ADC translates the voltage into digital values that directly indicate the mutual capacitance variation, as shown in Fig. 3 [13]. Therefore, the touch position recovery algorithm of single-line sensing is as simple as noise filters. However, this method has a disadvantage: it is very difficult to remove the common-mode noise, a dominant noise in most TSPs.

      >  B. Differential Sensing Method

    Another approach is a differential sensing method, which can effectively reduce the common-mode noise and has thus received more attention. Differential sensing removes the common-mode noise affecting pairs of adjacent cells (touch points) on the same TX line, which is the most prominent noise type in TSPs [7]. Fig. 4 illustrates a conventional differential sensing circuit. A differential amplifier subtracts the RX signals from each pair of adjacent cells. A differential integrator accumulates the signal difference while cancelling high-frequency noise. Once the differential sensing is carried out for all the RX line pairs, a driving signal is applied to the next TX line, and then, the abovementioned process is repeated. The differential sensing method usually provides a substantially higher signal-to-noise ratio (SNR) than the single-line sensing method. However, it suffers from the multi-touch cancellation problem. If two differential RX lines are both touched, the two touched signals cancel each other and thus, may not be detected correctly.

    A differential sensing method called the delta (Δ)-integration scheme [14,15] has been reported to detect the touched position effectively. It reads two RX lines that are Δ distance apart rather than two adjacent RX lines. However, this method treats a touched signal or an untouched signal as a binary value and counts the binary values to form a wide hill of touched areas. Therefore, it is only effective to detect a wide touched area. Further, it is not suitable for highly accurate multi-touch detection methods, which must distinguish multiple touch points having small areas and many levels of touch strength.

    In this paper, we propose a new method that can accurately detect multiple touches of very small areas and a range of touch strength levels. It employs a recovery algorithm that recovers all the original touch points accurately even in the case of the multi-touch cancellation problem.

      >  C. Frequency Division Concurrent Sensing Method

    While the differential sensing method improves the SNR, it usually yields the same frame scan rate and the single-line sensing method. Recently, in order to improve the frame scan rate, concurrent sensing methods have been proposed, which drive multiple TX lines concurrently.

    For example, a concurrent sensing method called FDCS [16] concurrently drives multiple sine waves of orthogonal frequencies onto all the TX lines. Then, its sensing circuit reads out each RX signal, which is the sum of all the sine waves propagated from all the TX lines. Thereafter, it determines the touch positions by analyzing the fast Fourier transform (FFT) of the sine waves [16]. Fig. 5 illustrates the operation of the FDCS method.

    In addition to its high speed, the concurrent sensing method can employ differential sensing to achieve a high SNR. However, for such a concurrent differential sensing method, the multi-touch cancellation problem described above still remains as the cause of a critical TSP malfunction, a false-negative detection.

    Therefore, the proposed touch position recovery method is an effective approach to both differential sensing and concurrent differential sensing methods.


    When a human finger touches a screen, not only the touched point but also its adjacent points experience changes in the mutual capacitance. This follows from the fact that TSPs usually have a small spacing between the crossing points for a high resolution. For example, Fig. 6(a) illustrates a touch point sensed using the single-line sensing method. The yellow circle indicates the center point of the touch position. The orange and the red squares denote the adjacent points affected by touch. The mutual capacitors of the adjacent points experience smaller capacitance changes than the center point. The blue squares shown in Fig. 6(a) represent untouched points. Fig. 6(b) shows the amplitude variation at the center and the adjacent points of the touch position. Fig. 6(b) has only one summit, and therefore, the software algorithm can easily determine the touch position by searching for the highest value. However, this method would not remove the noise.

    Fig. 7(a) shows the result of the differential sensing method. Depending on which RX line was touched, its differential integration result can be either a positive or a negative voltage. The amplitude variation shown in Fig. 7(b) appears as one positive and one negative summit. Therefore, in contrast to the single-line sensing method, the differential sensing method needs a special algorithm to accurately recover the touch positions. One such algorithm is proposed in this section. Fig. 8 depicts a flow chart of the proposed algorithm. The algorithm starts with a differential sensing step, which iteratively scans all RX lines of the TSP. Each sensed data sample is stored in the memory after the ADC. Once the differential sensing step completes the scanning of one frame, the recovery algorithm step begins.

    The remaining steps of the proposed algorithm are to find the peak values and to determine their positions as the touched points. The proposed algorithm iteratively processes two data samples and accumulates the intermediate results throughout all the RX differential data over each TX line. One of the two data samples is the intermediate result calculated in the previous iteration, and the other data sample is the next differential data sample read from the memory. The key recovery process of the algorithm involves adding these two data samples, as expressed in Eq. (3). It recovers the original touch points traversing backwards from the final differentially sensed data towards the first differentially sensed data.


    For example, Fig. 9 illustrates how the proposed algorithm recovers the original touched points in a TSP. The first column shows a set of raw RX data for one TX line. The second column gives the intermediate results of the recovery process of Eq. (3). The third column shows the recovered RX touched data corresponding to the raw data. It is observed that the recovered results are not exactly the same as the raw data, but they have enhanced touch data with lower noise than the raw data. This enhancement is the consequence of the following advantages of the proposed method. While its differential sensing step can eliminate most of the common-mode noise, the accumulation process of its recovery step can further suppress the high-frequency random noise. An example is given in Section IV.

    In addition, the proposed algorithm employs only simple accumulation operations; therefore, it can be easily implemented using low-cost hardware or possibly even software. Furthermore, it enables the simultaneous processing of an unlimited number of multiple touches with little overhead on the processing time. This is a significant advantage over the previous differential sensing approaches.


    The proposed algorithm has been implemented on the top of our touch screen controller system on a chip (SoC) design employing a differential sensing circuit. The differential sensing circuit in the SoC consists of a differential integrator, a rotating auto-zeroing offset cancellation circuit [17], and an ADC supporting 8 bits. The rotating auto-zeroing offset cancellation circuit can eliminate the mismatch of the differential amplifier and thus, allow an accurate measurement of the difference between two adjacent cells.

    This sensing circuit has been implemented using a Magnachip/SK Hynix 0.18-μm CMOS process. To accurately evaluate its performance, we applied to the simulation the actual noise signals measured from a 23-inch commercial TSP. Fig. 10 illustrates the measured noise, where the blue and the red signals represent the noise signals measured from the RX lines RX1 and RX2, respectively. The green signal represents the differential signal obtained by subtracting the blue and the red signals.

    To evaluate the operation and the performance of the proposed method, we conducted extensive simulations by using an accurate TSP model with 9 TX lines and 16 RX lines. We drove pulse waves onto one TX line, and read out each pair of RX lines sequentially. We considered two touch cases:

    1) TSP has one touch point and 8 surrounding points as shown in Fig. 11(a).

    2) TSP has two touch points and 18 surrounding points as shown in Fig. 11(b).

    In each iteration of the differential sensing step of the proposed algorithm, the ADC receives 15 differential data samples since there are a total of 16 RX lines. In the case of Fig. 11(a), the following four differential pairs are expected to observe large differential values, while others show very small values: RX(5,6), RX(6,7), RX(7,8), and RX(8,9). Similarly, in Fig. 11(b), nine differential pairs are expected to show large differential values.

    Fig. 12(a) shows the integration results of the simulation experiment illustrated in Fig. 11(a). While the four differential integration values show large values as marked by red circles, all other integration values are negligible, since their RX signal pairs have similar values. Similarly, Fig. 12(b) shows the integration results of the simulation experiment illustrated in Fig. 11(b). There are nine differential integrations that have large values. The resulting differential integration values are sampled by the ADC. Then, the sampled ADC data are processed by the proposed algorithm. Fig. 13 illustrates the calculation process of the proposed algorithm for the two examples illustrated in Fig. 11(a) and (b). In this experiment, we applied a threshold to filter out noise signals that are less than the threshold. Therefore, it can enhance the untouched signals and further improve the detection performance. After the proposed algorithm recovers the original touch strength values, we can select the peak values and their positions as the touched points.

    For the example of the recovered values shown in Fig. 13(a), the peak value of 90 is the touched point. The slightly lowered values, 63 and 64 around 90, are the affected points surrounding the touched point. Note that the amplitude of the recovered values look like the amplitude of the single-line sensing case illustrated in Fig. 6. For another example, the recovered values shown in Fig. 13(b) have two peak values, 98 and 99, which indicate the two touched points.

    We calculate the SNR by using Eqs. (4)–(6). These equations are commonly used for measuring the performance of the touch screen detection methods and circuits. Therefore, using these equations, we calculate the SNR gain of the proposed algorithm to be 52.21 dB (42.17 – (–10.04) dB). Here, 42.17 dB is the SNR of the recovered signals based on the proposed algorithm, while 10.04 dB is the SNR measured at the RX lines of the TSP under experiment.

    Table 1 compares a single-line sensing method [13], the delta-integration method [14], and the proposed method conducted an experiment with a real TSP that consists of 44 TX and 78 RX lines. While the previous methods provide the output SNR of 28.86 dB and 39 dB, respectively, the proposed method presents the output SNR of 42.17 dB. The proposed method provides a higher SNR than the single-line sensing scheme, owing to its common noise cancellation ability. On the other hand, the proposed method performs better than the delta-integration method, since the proposed recovery algorithm can filter out the remaining noise and maintain the high-resolution sensing data.



    Although differential sensing methods provide a better SNR than single-line sensing methods, they often suffer from the multi-touch cancellation problem. In this paper, a simple but highly accurate algorithm was introduced, which recovers the multi-touch values from differential sensing values. It can accurately recover not only the multi-touch positions but also the strength of the touches. The proposed method recovers the touched values by using the high-resolution ADC-sampled data. Therefore, it can provide a substantially higher accuracy than a previous method such as [14] without sacrificing the processing speed and the hardware cost. In addition, it is highly effective in detecting touches with very small touched areas, which was not addressed by the previous work [14].

    The proposed method consists of only an adder and a comparator, and therefore, it allows a low-cost chip implementation with a negligible area overhead. Simulation experiments have shown that the proposed recovery algorithm provides a high SNR gain of 52.21 dB even before applying any noise-filtering process.

  • 1. Lin C. L., Chang Y. M., Chen H. S., Chuang C. Y., Chu T. C. 2015 “Position tracking based on particle filter for self-capacitance single-touch screen panels,” [Journal of Display Technology] Vol.11 P.165-169 google doi
  • 2. Li P. Y., Li Z. W. 2014 “Study on calibration algorithm of embedded touch screen,” [Journal of Multimedia] Vol.9 P.605-610 google
  • 3. Lin C. L., Li C. S., Chang Y. M., Lin T. C., Chen J. F., Lin U. C. 2013 “Pressure sensitive stylus and algorithm for touchscreen panel,” [Journal of Display Technology] Vol.9 P.17-23 google doi
  • 4. Kim S. M., Cho H., Nam M., Choi S. G., Cho K. 2015 “Low-power touch-sensing circuit with reduced scanning algorithm for touch screen panels on mobile devices,” [Journal of Display Technology] Vol.11 P.36-43 google doi
  • 5. Mada N. K., Jagadish H. “Waking up a capacitive touch-sensing device with an MCU peripheral,” 2011 [Internet] google
  • 6. Yang I. S., Kwon O. K. 2011 “A touch controller using differential sensing method for on-cell capacitive touch screen panel systems,” [IEEE Transactions on Consumer Electronics] Vol.57 P.1027-1032 google doi
  • 7. Mohamed M. G. M., Kim H., Cho T. W. 2015 “A fast sensing method using concurrent driving and sequential sensing for large capacitance touch screens,” [Journal of the Institute of Electronics and Information Engineers] Vol.52 P.62-70 google doi
  • 8. Wu X., Lee B. W., Joung C., Jang S. 2010 “Touchware: a software based implementation for high resolution multi-touch applications,” [in Proceedings of IEEE 10th International Conference on Computer and Information Technology] P.1703-1710 google
  • 9. Seo I., Cho T. W., Kim H. W., Jang H. G., Lee S. W. 2013 “Frequency domain concurrent sensing technique for large touch screen panels,” [in Proceedings of the IEEK Fall Conference] P.55-58 google
  • 10. Lim D. H., Park J. E., Jeong D. K. 2012 “A low-noise differential front-end and its controller for capacitive touch screen panels,” [in Proceedings of the European Solid-State Circuits Conference (ESSCIRC)] P.237-240 google
  • 11. Lin C. L., Chang Y. M., Hung C. C., Tu C. D., Chuang C. Y. 2015 “Position estimation and smooth tracking with a fuzzy-logic-based adaptive strong tracking kalman filter for capacitive touch panels,” [IEEE Transactions on Industrial Electronics] Vol.62 P.5097-5108 google doi
  • 12. Bae S. H., Lee Y. S. 2014 “Implementation of a high-performance touch controller and differential sensing circuit,” [International Journal of Computer and Information Technology] Vol.3 P.1177-1180 google
  • 13. Seo I., Kim H. 2015 “Dual sensing with voltage shifting scheme for high sensitivity touch screen detection,” [Journal of the Institute of Electronics and Information Engineers] Vol.52 P.71-79 google doi
  • 14. Yang J. H., Jung S. C., Son Y. S., Ryu S. T., Cho G. H. 2013 “A noise-immune high-speed readout circuit for in-cell touch screen panels,” [IEEE Transactions on Circuits and Systems I] Vol.60 P.1800-1809 google doi
  • 15. Yang J. H., Park S. H., Choi J. M., Kim H. S., Park C. B., Ryu S. T., Cho G. H. 2013 “A highly noise-immune touch controller using Filtered-Delta-Integration and a charge-interpolation technique for 10.1-inch capacitive touch-screen panels,” [in Proceedings of 2013 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC)] P.390-391 google
  • 16. Kim J., Mohamed M. G. A., Kim H. 2015 “Design of a frequency division concurrent sine wave generator for an efficient touch screen controller SoC,” [in Proceedings of 2015 IEEE International Symposium on Consumer Electronics (ISCE)] P.1-2 google
  • 17. Won D. M., Kim H. 2015 “Touch screen sensing circuit with rotating auto-zeroing offset cancellation,” [Journal of Information and Communication Convergence Engineering] Vol.13 P.189-196 google doi
  • [Fig. 1.] Architecture of projected-capacitance TSP.
    Architecture of projected-capacitance TSP.
  • [Fig. 2.] Structure of (a) self-capacitance TSP and (b) mutual-capacitance TSP.
    Structure of (a) self-capacitance TSP and (b) mutual-capacitance TSP.
  • [] 
  • [] 
  • [Fig. 3.] Single-line sensing scheme.
    Single-line sensing scheme.
  • [Fig. 4.] Differential sensing scheme.
    Differential sensing scheme.
  • [Fig. 5.] FDCS scheme.
    FDCS scheme.
  • [Fig. 6.] (a) Part of single-line sensing result and (b) amplitude shape of touch point and adjacent pixel.
    (a) Part of single-line sensing result and (b) amplitude shape of touch point and adjacent pixel.
  • [Fig. 7.] (a) Part of differential sensing result and (b) amplitude shape of touch point and adjacent pixel.
    (a) Part of differential sensing result and (b) amplitude shape of touch point and adjacent pixel.
  • [Fig. 8.] Flow chart of proposed algorithm.
    Flow chart of proposed algorithm.
  • [] 
  • [Fig. 9.] Proposed touch point recovery method.
    Proposed touch point recovery method.
  • [Fig. 10.] Noise waves measured from real TSP.
    Noise waves measured from real TSP.
  • [Fig. 11.] Simulation experiments. (a) TSP with 1 touch point and 8 affected points and (b) TSP with 2 touch points and 18 affected points.
    Simulation experiments. (a) TSP with 1 touch point and 8 affected points and (b) TSP with 2 touch points and 18 affected points.
  • [Fig. 12.] Differential sensing result. (a) TSP with 1 touch point and 8 affected points and (b) TSP with 2 touch points and 18 affected points.
    Differential sensing result. (a) TSP with 1 touch point and 8 affected points and (b) TSP with 2 touch points and 18 affected points.
  • [Fig. 13.] Example calculation results of the proposed algorithm using ADC data samples: (a) for the case of 1 touch point and 8 affected points and (b) for the case of 2 touch points and 18 affected points.
    Example calculation results of the proposed algorithm using ADC data samples: (a) for the case of 1 touch point and 8 affected points and (b) for the case of 2 touch points and 18 affected points.
  • [] 
  • [] 
  • [] 
  • [Table 1.] Performance comparison table
    Performance comparison table