Introduction
Capacitive sensors are extensively applied in many consumer electronics because they make user interfaces become more intuitive, more convenient, and more interactive. These types of sensors could be used as electrical buttons and switches to replace the traditional mechanical ones. Besides, they also provide the multi-touch functionality, which enables rich ways to control devices, so a large number of smartphones and tablets have appeared in the past ten years.
Capacitive touch ICs suffer from various noises, such as display noise, charger noise, and inherent noise. Inherent noise refers to random noise signals that can be significantly reduced through proper circuit design since this type of noise is due to the fundamental properties of circuits. However, charger noise and display noise are interference noises that physically couple into the sensor through the battery charger and the display components. They cannot be reduced just by circuit design skills because they are irrelevant to the essentials of the circuits. Fortunately, display noise is a predictable characteristic of the display, so it can be resolved during the touch solution development. That is to say, display noise does not happen again once it is reduced during the design phase of the product. However, charger noise is unpredictable, depending on the charger to be used.
Noise reduction plays an important role in the multi-touch algorithm because it affects the accuracy of touch points. For charger noise, inaccurate touch points and fake touch points may appear so that a device has a wrong behavior. The makers of chargers often simplify their designs to reduce their manufacturing costs, which results in large noises accordingly. The intensity of charger noises can exceed touch signals over 10 times [2]. Besides, the frequency of charger noise varies for each different charger. Moreover, charger noise only appears when a touch event happens. So it is more difficult to detect charger noise. Therefore, industry identifies charger noise as the most difficult problem in capacitive touch applications [2]. Mohamed et al. [3] mentioned that their noise analysis is regularly done by measuring noise spectrum at all frequencies using Fast Fourier Transform (FFT) while no driving signal is applied. Because their FFT method is computationally expensive, it has a high hardware cost and a large power consumption. To find out charger noise efficiently, we propose a real-time charger noise analysis algorithm, which is a low-cost implementation and can be easily integrated into the current devices without a lot of modifications.
There are a few papers proposed to resolve the noise problem [4]–[10]. They all presented that repeated integration is an effective method for this problem. However, the aforementioned works focused on the analog front-end implementation. They need large capacitors for charge accumulation, which is a heavy burden on the competitive hardware cost. In addition, they cannot detect charger noise quickly and do a real-time manipulation. Moreover, they did not propose the formal charger noise model to prove whether or not the method is effective under any condition. Unfortunately, as the noise frequency is close to the sensing frequency, the method may become ineffective and cannot handle the noise immediately. We present the mathematical model of charger noise and prove that repeated integration is effective under certain conditions.
To make repeated integration effective, Klein [2] indicated that the frequency hopping is a method to find an effective sensing frequency. However, he did not explain when and how to execute frequency hopping. Hotelling et al. [11] used three sensing frequencies to get three map values, and performed median filtering on the three maps. There are two drawbacks of this method. On the one hand, it reduces its frame rate by up to 2/3. On the other hand, it is ineffective if it meets two or more noisy frequencies at the same time. To keep the original frame rate and to avoid noisy frequencies, we propose an efficient algorithm to detect the charger noise frequency and to find a good sensing frequency fast and dynamically.
There are two types of capacitance sensing methods: mutual capacitance sensing and self-capacitive sensing. We focus on mutual capacitance sensing in this paper. The common diagram of the mutual capacitance sensing is shown in Fig. 1. The X-Y crossings of the patterns form the mutual capacitors. When fingers touch the panel, the charges at the sensing nodes change. A capacitive touch IC converts the quantities of charges to digital values, which are also called sensing values.
In mutual capacitance sensing, a time-multiplexed or time-interleaved acquisition is a conventional method to capture a variation of one mutual capacitor at one time slot. Recently, the parallel sensing method is widely used to increase the frame rate and handle the larger touch screens. This method mainly repeats several front-end analog circuits to reduce the total capture time of a whole sensing map. Nevertheless, the number of front-end analog circuits needs to be carefully estimated to prevent an unnecessary waste. On the other hand, the parallel driving method [10], [12]–[15] is also extensively applied in industry to get a better signal-to-noise ratio (SNR). As the number of parallel driving channels is larger, the SNR is better. Unfortunately, the parallel driving method cannot basically improve the frame rate because the parallel driving sequence needs to be long enough to obtain the sufficient information for decoding the mixed signals. After that, we can get the touch signals of those nodes. Note that the parallel driving method cannot be applied to self-capacitive sensing.
The driving sequence for the parallel driving channels is usually generated based on orthogonal codes, such as Walsh-Hadamard (W-H) codes. As the number of parallel driving channels grows, the received signals at sensing channels may be larger than the limited supply voltage level. To deal with this problem and let the number of parallel driving channels grow as possible, Park et al. [16] presented the application of various weighing matrices to lower the received signals. Moreover, Ma et al. [17] presented the application of the differential Manchester code to detect the variation between the un-touch and touch condition without the problem of the large received signals. This parallel driving method is suitable for combating random noise because the samples of a random noise are regarded as uncorrelated random variables. However, it is weak for charger noise, which is a periodic noise. Hence, we propose the random delay technique to make the samples of a periodic noise also regarded as uncorrelated random variables.
A conventional multi-touch algorithm framework is shown in Fig. 2 [18]. There are four main steps to obtain coordinates of touch points and their identifications (IDs). The first two steps control the operations of hardware, and use the algorithms of software to analyze noise and to reduce noise. The two steps may be executed iteratively to obtain a noiseless data map. After getting a noiseless data map, accurate touch points could be calculated, presented in [19]–[23]. After getting the coordinates of the touch points, the tracking algorithm is used to identify and track the corresponding touch points in two sequential frames, presented in [24]–[29]. The third and fourth steps are pure software-related topics. However, the first and second steps need an efficient hardware-software co-design to achieve a performance and cost optimization. Although most works presented the advanced hardware solutions to achieve better performance, such as SNR and speed, than the previous ones, they did not consider the manufacturing cost and the other side effects. In this paper, we show that our methods assist in analyzing noise and selecting an appropriate sensing frequency dynamically to improve the SNR and keep the speed, while they do not need to change the original hardware architecture and merely slightly increase the hardware cost for analysis.
To sum up, our work has the following distinguished features and theoretical findings:
The mathematical model of charger noise is presented and it is proved that repeated integration is effective under certain conditions.
To keep the original frame rate and to avoid noisy frequencies, an efficient algorithm is proposed to detect the charger noise frequency and to find a good sensing frequency fast and dynamically.
The random delay technique is proposed to make the samples of a periodic noise regarded as uncorrelated random variables, which makes the parallel driving method effective for charger noise.
Our methods do not need to change the original hardware architecture and merely slightly increase the hardware cost for analysis.
Experimental results show that our algorithm takes acceptable run-time on a 50 MHz ARM-M0 processor based on the user experience in [30]. In addition, the results also show that our methods can increase SNR by over 45 dB, compared to that without our charger noise reduction algorithm.
The rest of this paper is organized as follows. Section II gives an introduction to the circuit model affected by charger noise, presents the mathematical model of charger noise, and formulates the charger noise reduction problem. Section III presents 1) that the combination of frequency hopping and repeated integration is an effective method, 2) an efficient DFT-based algorithm to select a good sensing frequency, 3) parallel driving with random delay to enhance SNR, and 4) an efficient hardware-software co-design about adopting these methods. Experimental results are reported in Section IV, and discussion is given in Section V. Conclusions are given in Section VI.
Modeling of Charger Noise
In this section, we introduce the cause of charger noise, give its mathematical model and formulate the charger noise reduction problem.
An AC/DC charger is a device that converts AC into DC and then supplies DC to a circuit via external power and ground pins as shown in Fig. 3(a). The voltage of DC, which is the difference in electric potential between a power pin and a ground pin, is generally constant and stable. Although the electric potentials of the power pin and the ground pin may fluctuate, the circuit can work properly as long as the potential difference is desired. However, for touch ICs, when fingers touch on a touch screen, the fluctuation phenomena would emerge because fingers have another reference point (the earth’s ground). For a clear explanation, we illustrate the charger noise caused by the fluctuation with the model of a basic mutual-capacitive touch sensing architecture as shown in Fig. 3(b), where \begin{equation*} N(t)=\sum _{n=1}^{K}A_{n}\cos (2\pi {f_{d}}nt+{\varphi }_{n}), \quad K = \lfloor 1000/f_{d}\rfloor,\tag{1}\end{equation*}
The sampling function of a touch controller is derived by:\begin{equation*} S[m]=T+N[m]=T\!+\!\sum _{n=1}^{K}A_{n}\cos (2\pi {f_{d}}nm/f_{s}\!+\!{\varphi }_{n}),\tag{2}\end{equation*}
After our modeling of charger noise, our objective is to minimize the interference from the charger noise for extracting the original touch signal. Because repeated integration is a well-known method to suppress a periodic noise, the objective is further formulated as follows:
Charger Noise Reduction Problem: Determine the sensing frequency \begin{align*} \frac {1}{r}\sum _{m=1}^{r}N[m]\approx&0.\tag{3}\\[-3pt] \Longrightarrow I=\frac {1}{r}\sum _{m=1}^{r}S[m]\approx&T.\tag{4}\end{align*}
Theorems and an Effective and Efficient Algorithm
In this section, we 1) prove that the combination of frequency hopping and repeated integration is an effective method, 2) propose an efficient DFT-based algorithm to select a good sensing frequency, 3) propose parallel driving with random delay to enhance SNR, 4) summarize the whole algorithm flow, and 5) propose an efficient hardware-software co-design about adopting these methods.
A. Theorems for the Charger Noise Reduction Problem
First, the charger noise reduction problem (3) can be transformed to (5) because of the commutative law for addition. The solution to (6) is also a solution to (5). Therefore, we can solve (6) to get a solution to the charger noise reduction problem.\begin{align*} \sum _{n=1}^{K}\left({\frac {1}{r}\sum _{m=1}^{r}A_{n}\cos (2\pi {f_{d}}nm/f_{s}+{\varphi }_{n})}\right)\approx&0\tag{5}\\[-4pt] \sum _{m=1}^{r}A_{k}\cos (2\pi {f_{d}}km/f_{s}\!+\!{\varphi }_{k})\approx&0, \!\!\quad k\!\in \!{\{1,2,\ldots,K\}} \\[-4pt]\tag{6}\end{align*}
The following theorems are used to get the solutions for (6):
Theorem 1:
(Repeated Integration Theorem) If 1) \begin{equation*} \sum _{m=1}^{r}A_{k}\cos (2\pi {f_{d}}km/f_{s}+{\varphi }_{k}) = 0, \quad k\in {\{1,2,\ldots,K\}}.\tag{7}\end{equation*}
Proof 1:
Because \begin{equation*} \sum _{m=1}^{r}A_{k}\cos (2\pi {f_{d}}km/f_{s}+{\varphi }_{k}) = \sum _{m=1}^{r}A_{k}\cos (2\pi {c}km/r+{\varphi }_{k}).\end{equation*}
\begin{align*}&\hspace {-0.8pc}\left({A_{k}\cos \left({2\pi {ck}\frac {1}{r}+{\varphi }_{k}}\right)+A_{k}\cos \left({2\pi {ck}\frac {r/2k+1}{r}+{\varphi }_{k}}\right)}\right)\\[3pt]&+\,\left({A_{k}\cos \left({2\pi {ck}\frac {2}{r}+{\varphi }_{k}}\right)+A_{k}\cos \left({2\pi {ck}\frac {r/2k+2}{r}+{\varphi }_{k}}\right)}\right)\\[3pt]&+\,\left({A_{k}\cos \left({2\pi {ck}\frac {3}{r}+{\varphi }_{k}}\right)+A_{k}\cos \left({2\pi {ck}\frac {r/2k+3}{r}+{\varphi }_{k}}\right)}\right)\\[3pt]&+\ldots \\[3pt]&+\,\left({A_{k}\cos \left({2\pi {ck}\frac {r/2k}{r}+{\varphi }_{k}}\right)+A_{k}\cos \left({2\pi {ck}\frac {r/k}{r}+{\varphi }_{k}}\right)}\right)\end{align*}
\begin{align*}&\hspace {-2pc}2A_{k}\cos \left({\frac {\pi {c}}{2}}\right)\cos \left({\pi {ck}\frac {r/2k+2}{r}+{\varphi }_{k}}\right)\\[3pt]&+\,2A_{k}\cos \left({\frac {\pi {c}}{2}}\right)\cos \left({\pi {ck}\frac {r/2k+4}{r}+{\varphi }_{k}}\right)\\[3pt]&+\,2A_{k}\cos \left({\frac {\pi {c}}{2}}\right)\cos \left({\pi {ck}\frac {r/2k+6}{r}+{\varphi }_{k}}\right)\\[3pt]&+\ldots \\&+\,2A_{k}\cos \left({\frac {\pi {c}}{2}}\right)\cos \left({\pi {ck}\frac {3r/2k}{r}+{\varphi }_{k}}\right)\\[3pt]{}\end{align*}
Theorem 1 states that if we can obtain the noise frequency
Property 1:
If 1)
Theorem 2:
(Repeated Integration Theorem for Aliasing 1) If 1)
Proof 2:
Because
Therefore, \begin{align*}&\hspace {-2pc}\sum _{m=1}^{r}A_{k}\cos (2\pi {f_{d}}km/f_{s}+{\varphi }_{k})\\=&\sum _{m=1}^{r}A_{k}\cos (2\pi ({f_{s}-f_{mirror}})km/f_{s}+{\varphi }_{k})\\=&\sum _{m=1}^{r}A_{k}\cos (2\pi {km}- 2\pi {f_{mirror}km/f_{s}}+{\varphi }_{k})\\=&\sum _{m=1}^{r}A_{k}\cos (2\pi {f_{mirror}km/f_{s}}-{\varphi }_{k}).\end{align*}
Theorem 3:
(Repeated Integration Theorem for Aliasing 2) If 1)
Proof 3:
Because
Therefore, \begin{align*}&\hspace {-2pc}\sum _{m=1}^{r}A_{k}\cos (2\pi {f_{d}}km/f_{s}+{\varphi }_{k})\\=&\sum _{m=1}^{r}A_{k}\cos (2\pi ({f_{folded}+y\times f_{s}})km/f_{s}+{\varphi }_{k})\\=&\sum _{m=1}^{r}A_{k}\cos (2\pi {f_{folded}km/f_{s}}+ 2\pi {ykm}+{\varphi }_{k})\\=&\sum _{m=1}^{r}A_{k}\cos (2\pi {f_{folded}km/f_{s}}+{\varphi }_{k}).\end{align*}
Theorem 4:
(Repeated Integration Theorem for Aliasing 3) If 1)
Proof 4:
Because
Therefore, \begin{align*}&\hspace {-2pc}\sum _{m=1}^{r}A_{k}\cos (2\pi {f_{d}}km/f_{s}+{\varphi }_{k})\\=&\sum _{m=1}^{r}A_{k}\cos (2\pi ({y\times f_{s}}-f_{mirror,folded})km/f_{s}+{\varphi }_{k})\\=&\sum _{m=1}^{r}A_{k}\cos (2\pi {ykm} - 2\pi {f_{mirror,folded}km/f_{s}} +{\varphi }_{k})\\=&\sum _{m=1}^{r}A_{k}\cos (2\pi {f_{mirror,folded}km/f_{s}}-{\varphi }_{k}).\end{align*}
B. DFT for Finding Where the Noises are
As charger noise always changes with different chargers, we need to design a real-time monitor to observe the behavior of noise and to find the frequency of noise. Once we obtain the frequency of noise, we can choose an appropriate sensing frequency to eliminate noise. First, we choose a default sensing frequency \begin{equation*} X_{k}=|\sum _{n=0}^{r-1}S[n]\times e^{-j2\pi {kn}/r}|, \quad 0 \leq k \leq r/2,~ k\in {\mathbb {Z}},\tag{8}\end{equation*}
C. Parallel Driving and Random Delay
Parallel driving almost exists in every mutual-capacitive touch device because it is useful for combating random noise. The conventional parallel driving method is suitable for combating random noise because random noise samples are regarded as uncorrelated random variables. However, the conventional parallel driving method is weak for charger noise because periodic noise may result in the correlated samples which have non-zero covariances. (Refer to the note after the proof of Theorem 5.) So, we apply the random delay technique to represent the samples of a periodic noise as uncorrelated random variables. Therefore, parallel driving with random delay can combat not only random noise but also periodic noise.
Fig. 4 shows the difference between the sequential driving and the parallel driving. See Fig. 4(a) for an example of the sequential driving. The driver sends one driving signal in one time slot, and then the sensor captures the coupling signal from the sensing channel. The coupling signal represents the touch signal of a certain node. The sensing values in Fig. 4(a) are shown in Fig. 5(a), where the values of the node \begin{equation*} D_{4\times 4}= \begin{bmatrix} 1 &\quad 1 &\quad 1 &\quad -1 \\ 1 &\quad 1 &\quad -1 &\quad 1 \\ 1 &\quad -1 &\quad 1 &\quad 1 \\ -1 &\quad 1 &\quad 1 &\quad 1 \\ \end{bmatrix}\!.\tag{9}\end{equation*}
Driving methods for the mutual-capacitive touch sensors. (a) The driver sends one driving signal in one time slot, which is called a sequential driving. (b) The driver sends multiple driving signals in one time slot, which is called a parallel driving.
An example of the values captured by a sensor. (a) In a case of sequential driving, the values of the node
Parallel driving has a better SNR than sequential driving when they have the same total driving and sensing time. If the noise is a random noise, the SNR of parallel driving has a
An example of the values captured by a sensor with a noise. (a) In a case of sequential driving, the values of the node
Definition 1:
the entries of
are all 1 or −1.$\mathbf {D}$ is an orthogonal matrix.$(1/\sqrt {p})\cdot \mathbf {D}$
Definition 2:
Lemma 1:
The standard deviation of
Proof:
\begin{align*} \sigma (N_{t_{i}})=&\sqrt {E[N_{t_{i}}^{2}]-(E[N_{t_{i}}])^{2}}.\\ \sigma (-N_{t_{i}})=&\sqrt {E[(-N_{t_{i}})^{2}]-(E[-N_{t_{i}}])^{2}} \\=&\sqrt {E[N_{t_{i}}^{2}]-(E[-N_{t_{i}}])^{2}}\\=&\sqrt {E[N_{t_{i}}^{2}]-(-E[N_{t_{i}}])^{2}}\\=&\sqrt {E[N_{t_{i}}^{2}]-(E[N_{t_{i}}])^{2}}=\sigma (N_{t_{i}}).\end{align*}
Theorem 5:
(Parallel Driving Theorem for Noise Reduction) If 1)
Proof 5:
Let \begin{equation*} \mathbf {r}=\mathbf {D}\mathbf {v}+\mathbf {n}.\tag{10}\end{equation*}
By multiplying \begin{equation*} \mathbf {v'}=\mathbf {D}^{-1}\mathbf {r}=\mathbf {v}+\mathbf {D}^{-1}\mathbf {n}=\mathbf {v}+\mathbf {n'},\tag{11}\end{equation*}
From (11), the decoded touch signals also have the decoded noises except the original touch signals. Because the original touch signals are constant, the variance of the decoded touch signals can be expressed by:\begin{equation*} Var(N'_{i})=Var\left({\sum _{j=1}^{p}D^{-1}[i,j]\times {N_{t_{j}}}}\right),\tag{12}\end{equation*}
Because \begin{align*} ((1/\sqrt {p})\cdot \mathbf {D}^{T})((1/\sqrt {p})\cdot \mathbf {D})=&\mathbf {I}=\mathbf {D}^{-1}\mathbf {D}\\ \Longleftrightarrow (1/p)\cdot \mathbf {D}^{T}\mathbf {D}=&\mathbf {D}^{-1}\mathbf {D}\\ \Longleftrightarrow \mathbf {D}^{-1}=&(1/p)\cdot \mathbf {D}^{T},\tag{13}\end{align*}
We then replace \begin{align*} Var(N'_{i})=&Var\left({\sum _{j=1}^{p}(1/p)\cdot {D^{-T}[i,j]}\times {N_{t_{j}}}}\right)\tag{14}\\=&(1/p^{2})Var\left({\sum _{j=1}^{p}\cdot {D^{-T}[i,j]}\times {N_{t_{j}}}}\right).\tag{15}\end{align*}
Because of Definition 1, Definition 2, and Lemma 1, the entries of \begin{align*} Var(N'_{i})=&(1/p^{2})Var\left({\sum _{j=1}^{p}{N_{t_{j}}}}\right)\tag{16}\\ =&(1/p^{2})(\sum _{j=1}^{p}Var({N_{t_{j}}})\\&+\,2\sum _{j,k:1< =j< k< =p}Cov(N_{t_{j}},N_{t_{k}}))\tag{17}\\=&(1/p^{2})\sum _{j=1}^{p}Var({N_{t_{j}}})\tag{18}\\=&(1/p)Var({N_{t_{1}}})\tag{19}\\=&(1/p)Var({N_{o}}),\tag{20}\end{align*}
Therefore, \begin{equation*} \sigma (N'_{i})=(1/\sqrt {p})\cdot \sigma (N_{o}).\tag{21}\end{equation*}
Note that if \begin{equation*} \sigma (N'_{i})>(1/\sqrt {p})\cdot \sigma (N_{o}).\tag{22}\end{equation*}
Thus, we apply the random delay technique to make each sampling independent and identically distributed (i.i.d.) so that charger noise can be effectively suppressed like random noise. Between two driving signals, a random delay, which is a uniform distribution on [0,
D. Integration of Parallel Driving and Repeated Integration
Repeated integration is the most effective method to suppress charger noise. However, because of the limited samples, DFT can find the frequency region where noise falls, but cannot find its exact frequency. Therefore, the noise may not be totally suppressed and could be suppressed further. On the other hand, in mutual capacitance sensing, parallel driving is common, so we are required to integrate repeated integration into it. Besides, we can simultaneously utilize parallel driving with random delay to suppress charger noise further.
There are two steps for the integration of parallel driving and repeated integration (I-PDRI). The first step is that each driving pattern of parallel driving consists of a driving group of repeated integration. Each driving pattern obtains one value of repeated integration. The second step is that we insert a random delay after each driving group until the last driving group. Finally, the inverse matrix of the driving matrix is used to obtain those decoded touch signals. See Fig. 8 for an example. We use the driving matrix
An example of the parallel driving method with random delay combined with the repeated integration method.
The following theorem shows its SNR improvement:
Corollary 1:
(Corollary of Theorem 5) The noise standard deviation of I-PDRI is
Proof 6:
Based on the proof of Theorem 5, (10) can be extended for I-PDRI to be:\begin{equation*} \mathbf {r}_{m}=\mathbf {D}\mathbf {v}+\mathbf {n}_{m},\tag{23}\end{equation*}
After doing repeated integration, we can obtain:\begin{equation*} \mathbf {\overline {r}}=\frac {1}{r}\sum _{m=1}^{r}\mathbf {r}_{m}=\mathbf {D}\mathbf {v}+\mathbf {\overline {n}},\tag{24}\end{equation*}
The
The rest of this proof is the same with the proof of Theorem 5. Finally, we can obtain:\begin{equation*} \sigma (\overline {N'}_{i})=(1/\sqrt {p})\cdot \sigma (\overline {N}_{o}),\tag{25}\end{equation*}
The repeated integration method can rapidly suppress the charger noise as mentioned in Sec. III-A. In addition, the parallel driving method with random delay can further reduce the charger noise with a slightly increased time caused by random delay. The more parallel driving channels are used, the greater the noise reduction is.
E. The Whole Algorithm Flow for Noise Reduction
Our previously discussed algorithm flow is shown in Fig. 9. The three main steps are summarized as follows:
I-PDRI: We control the driving circuit and obtain the sensing values using the sensing frequency from the previous analysis. If we have no previous analysis at the beginning, a default setting is used. The sensing value of each parallel driving group on the panel is calculated by repeated integration from a series of consecutive sampling values. After the completion of one parallel driving group, the next group starts. In this process, we record some sampling values for the next analysis. We are not required to record all sampling values for the next step, which would be unnecessary and wasteful of hardware resources. This is because charger noise is a type of finger-coupled noise. Therefore, we only record the sampling values of a certain suspicious touch point. A certain suspicious touch point can be picked from the noisy sensing channels. After picking the node, we drive the node and do sufficient samplings for noise analysis.
DFT-based noise analysis: After the previous step, we obtain the sensing values of a whole frame and a series of consecutive sampling values. We first calculate the intensities of frequency components by (8). Then, we search for the noisy frequency bin, and consider whether the noise frequency, the sensing frequency and the repeating number meet Theorems 1, 2, 3, or 4. If any of those theorems have been met, we pass the sensing values of a whole frame to the next stage and then calculate the accurate touch points as shown in Fig. 2.
Frequency hopping: If none of the aforementioned theorems have been met, we use the noise frequency and the repeating number to calculate an appropriate sensing frequency. When the current sensing frequency is close to the frequency of noise, we cannot find the noisy frequency bin. This is because the noise signal appears at the first bin like a DC signal. Therefore, we change the sensing frequency periodically. To separate the noise frequency from the first bin, the frequency change range must be larger than the number
.$f_{s}/r$
Assume that
F. Hardware-Software Co-Design
To optimize the computing efficiency, our algorithm can be implemented with a pipeline architecture as shown in Fig. 10. When the DFT-based noise analysis step and the frequency hopping step are executed, the I-PDRI step for the next frame is executed simultaneously. The I-PDRI step is implemented by hardware because regular and continuous sampling requires hardware to accurately control the sampling duration. The DFT-based noise analysis step and the frequency hopping step are implemented by software because they have very low time complexities and do not need to be accelerated.
Experimental Results
To verify the correctness and effectiveness of our algorithm and theorems, we constructed a platform to simulate a mutual-capacitive touch system using C/C++. The touch system had 12 driving channels and 8 sensing channels. The sensing frequency was initially set to 300 KHz, the background noise was random noise with amplitude [−100, 100], and the amplitude of each touch point was 1000. Charger noise was finger-coupled, so we directly added charger noise to touch points in our experiments, which was the same as the industry testing standard [2]. The form of charger noise is a combination of a fundamental frequency and its harmonics [2]. The fundamental frequency of our charger noise was set to 290 KHz, and the amplitudes for the fundamental frequency and the second harmonic were set to 3000, which was much larger than that of the touch signal. The intensity of every signal is a transformation of its sensing value (voltage).
Four scenarios were proposed to evaluate the performance of the algorithms:
Scenario 1 was sequential driving without repeated integration.
Scenario 2 was sequential driving with repeated integration, which is mainly used to discuss the effectiveness of Theorems 1, 2, 3 and 4. The repeating numbers were 16, 32, 64, and 128, respectively.
Scenario 3 was parallel driving with random delay but without repeated integration, which is mainly used to discuss the effectiveness of Theorem 5. The driving matrices were 2-by-2, 4-by-4, and 8-by-8, respectively. The 2-by-2 matrix is
The 4-by-4 matrix is\begin{equation*} D_{2\times 2}= \begin{bmatrix} 1 &\quad 1 \\ 1 &\quad -1 \\ \end{bmatrix}\!.\end{equation*} View Source\begin{equation*} D_{2\times 2}= \begin{bmatrix} 1 &\quad 1 \\ 1 &\quad -1 \\ \end{bmatrix}\!.\end{equation*}
as (9).$D_{4\times 4}$ The 8-by-8 matrix is
\begin{equation*} D_{8\times 8}= \begin{bmatrix} D_{4\times 4} &\quad D_{4\times 4} \\ D_{4\times 4} &\quad -D_{4\times 4} \\ \end{bmatrix}\!.\end{equation*} View Source\begin{equation*} D_{8\times 8}= \begin{bmatrix} D_{4\times 4} &\quad D_{4\times 4} \\ D_{4\times 4} &\quad -D_{4\times 4} \\ \end{bmatrix}\!.\end{equation*}
Scenario 4 was I-PDRI, which is mainly used to discuss the effectiveness of Theorems 1, 2, 3 and 4, and Corollary 1. The repeating number was 64. The driving matrices were the same as those in Scenario 3.
These scenarios were investigated under two cases:
Case 1 was five fingers touching on the panel with the background noise and the charger noise.
Case 2 was five fingers touching on the panel only with the background noise and without the charger noise. This case was a comparison group to show the SNR differences with that of Case 1 influenced by charger noise.
The SNR in a touch system is calculated using the following equations [3]:\begin{align*} SNR=&20\times \log _{10}{\frac {AVG_{touch}-AVG_{un-touch}}{\sigma (n)}};\tag{26}\\ \sigma (n)=&\sqrt {\frac {\sum _{n=1}^{100}(S_{touch}[n]-AVG_{touch})}{100}},\tag{27}\end{align*}
Table 1 shows the SNRs among all the scenarios under the two cases before frequency hopping, where the sensing frequency is 300 KHz. Fig. 11(a) shows Scenario 1 under Case 2, which only has the background noise. Fig. 11(b) shows Scenario 1 under Case 1. These two figures show that the charger noise severely interfered with the sensing channels, so we were not able to differentiate where the touch points were. Fig. 12(a) shows Scenario 2 with the repeating number 64 under Case 1. As shown in Fig. 12(a), the noise was not suppressed enough because the sensing frequency may have been in a little close proximity to the frequency of the charger noise. These results proved that it is necessary to get a well-tuned sensing frequency. Note that the SNRs of Fig. 11(b) and Fig. 12(a) are approximately −9.96 dB and 14.55 dB, respectively.
(a) The raw map only with the background noise. (b) The raw map with the background noise and the charger noise.
(a) The raw map with the repeated integration method for Fig. 11(b). (b) The raw map with the repeated integration method and the frequency hopping method for Fig. 11(b).
Next, we executed the noise analysis and frequency hopping steps to find a well-tuned sensing frequency. The algorithm first found a sensing channel where a suspicious touch point was and used the data of a certain node on the sensing channel for analysis. For the chosen point, we did 256 continuous samplings. Then, the algorithm analyzed the data using (8). Fig. 13(a) shows the intensities of all frequency components. The noisy frequency bins are the 9-th bin and the 8-th bin. For the 9-th bin,
The intensities of all frequency components are calculated by (8). (a) When the sensing frequency is 300 KHz, the 9-th and 8-th frequency bins are noisy. (b) When the sensing frequency is 326 KHz, the 28-th frequency bin is noisy.
After frequency hopping, Table 2 shows the SNRs among all the scenarios under the two cases, where the sensing frequency is 326 KHz. Fig. 12(b) shows Scenario 2 with the repeating number 64 under Case 1, where the touch signals are distinguishable, and its SNR achieved 30.04 dB. Besides, Fig. 13(b) shows the intensities of all frequency components with the new sensing frequency. The noisy frequency falls in the 28-th frequency bin, which is far away from the sensing frequency and meets one of Theorems 1, 2, 3, and 4.
Because our touch system is mutual-capacitive, we applied the parallel driving method with random delay to improve SNR further. Fig. 14 shows the maps of Scenario 4 under Case 1 with a 4-by-4 driving matrix before decoding and after decoding. Before decoding, the SNR was 30.04 dB, which was the same as that of the sequential driving. However, after decoding, the SNR achieved 36.10 dB with approximately 6 dB of improvement. When we used an 8-by-8 driving matrix, the SNR achieved 39.08 dB. Relative to Scenario 1, we obtained 49.04 dB of improvement at most.
The maps with the parallel driving method with random delay for Fig. 12(b). (a) Before decoding. (b) After decoding.
In the original settings, the fundamental frequency of the charger noise is lower than the sensing frequency. To fully verify the effectiveness of our algorithm, we changed the fundamental frequency of charger noise to 310 KHz, which is the mirrored frequency with respect to the sensing frequency 300 KHz. We obtained the similar frequency spectrum as Fig. 13(a). Hence, we still identified the frequency
Discussion
First, we summarize the SNR improvements among all scenarios in the experimental results. Then, we discuss the effectiveness of the repeating time based on Theorems 1, 2, 3, and 4 from the experimental results. Finally, we discuss the appropriate execution time for our algorithm.
A. The Improvements of SNRs
In Case 2, see all the SNRs in four tables, the SNRs are the same because the SNRs have no relationship with the sensing frequency for the random noise. Besides, Scenario 2 shows that the repeating time
In Case 1 of Table 2, we found that the SNRs of Scenario2 with the repeating time 64 have approximately 40 dB of improvement after frequency hopping relative to Scenario 1. This shows that the frequency hopping and the repeated integration is the most effective method to eliminate charger noise. Scenario 4 shows that a
B. The Effectiveness of the Repeating Time
In Scenario 2 under Case 1 of Table 2, we also changed the repeating time to 128 and 32 in separate trials. For the repeating time 128, we obtained an SNR of 30.39 dB which only represented less than 1 dB of improvement relative to the repeating time 64. This proved that when Theorem 1, 2, 3, or 4 is met, the periodic noise can be almost entirely suppressed. Regarding the repeating time 32, its SNR was 14.55 dB, which was similar to the SNR without frequency hopping. It’s because
C. The Appropriate Execution Time
The acceptable latency is 10 ms based on the user experience in [30], so we must consider whether our algorithm can be run in 10 ms. In our algorithm flow, because the repeated integration step is implemented by hardware, we can increase the number of the receivers to reduce the total sensing time, but it will increase the hardware cost. For example, our touch system needs 3 receivers for the sensing frequency 326 KHz and the repeating number 64, or 8 receivers for the sensing frequency 326 KHz and the repeating number 128. Because our touch panel had only 8 sensing channels, we were only able to use 8 receivers. Regarding the hardware, the noise analysis and frequency hopping steps were implemented by software. To verify the computing efficiency, we ran the noise analysis and frequency hopping steps on an ARM-M0 processor operating at 50 MHz. The execution time was 3.5 ms for 256 sampling data, which was acceptable. If other parts of the multi-touch algorithm take much time, the execution times of the two steps can be reduced to 1.6 ms and 0.5 ms for 128 sampling data and 64 sampling data, respectively. The use of an excessively small number of sampling data would sacrifice the accuracy of noise analysis, but it may still achieve a sufficient SNR.
Conclusions
Capacitive sensors suffer from various noises, such as display noise, charger noise, and inherent noise. Charger noise is unpredictable and depends on the charger to be used. Therefore, the industry consensus is that charger noise is the most difficult problem in capacitive touch applications. First, we have presented the mathematical model of charger noise, which is the form of charger noise is the combination of a fundamental frequency and its harmonics. Then, we have proven that the combination of frequency hopping and repeated integration is effective to suppress charger noise under certain conditions, as shown in Theorems 1, 2, 3, and 4. Based on those theorems, we could find an appropriate sensing frequency and a certain repeating number for charger noise. As charger noise always changes with different chargers, a DFT-based real-time monitor has been designed to observe the behavior of noise and to find the frequency of noise. After we obtain the frequency of noise, we can choose an appropriate sensing frequency to eliminate noise. To obtain a higher SNR, the parallel driving is a common technique for mutual capacitive sensors without increasing sensing time. However, it is suitable for a random noise, not for a periodic noise. Therefore, we have proposed the random delay technique to make a periodic noise become an uncorrelated noise. Integrating repeated integration into parallel driving with random delay, we can suppress charger noise further. In addition, to optimize the computing efficiency, we have introduced the methods to implement these ideas in hardware pipeline and software, which only increases little hardware cost.
Based on the results achieved, it was concluded that our algorithm can increase SNR a lot for the charger noise, which is also with theorems supporting. For charger noise, frequency hopping and repeated integration can have approximately 40 dB of improvement relative to sequential driving without repeated integration. I-PDRI can an improvement factor of
Finally, our results are limited to the charger noise and the random noise in mutual-capacitive touch applications. The other types of applications, such as self-capacitive touch applications, optical touch applications, biometric capacitive fingerprint applications, and biometric optical fingerprint applications, could be considered based on our algorithm and theorems in future studies.
ACKNOWLEDGMENT
The authors thank Wallace Academic Editing for editing this manuscript. They also thank Dr. C. C. Chen for offering assistance in completing this revision. This paper was presented at the 2017 IEEE International Symposium on Circuits and Systems [1].