# Analysis of Multi-Level Simultaneous Driving Technique for Capacitive Touch Sensors
## 2 Capacitive Touch Sensing System  
### System Model  
A theoretical model for capacitive touch sensors can be derived from a multiple input multiple output (MIMO) system that is stimulated by orthogonal active signals [8]. In a two-dimensional (2-D) capacitive touch panel with _NT_ TX and _NR_ reception (RX) channels, we first consider a row vector of the capacitance matrix is assumed to be \(\mathbf{c}_{j}=\left\{c_{1j},c_{2j},\cdots,c_{NTj}\right\}\). Let \(N_{code}\) and \(N_{chip}\) be the code length and the chip length for code division multiplexing, respectively. Assume that \(N_{chip}\) should be sufficiently lengthy to support the settling time of the amplifier and the input network. In \(\mathbf{H}\) with _NT_ rows and \(N_{code}\times N_{chip}\) columns where \(NT\leq N_{code}\times N_{chip}\), the inner product of any two different row vectors is zero. Then, the signal \(\mathbf{X}_{j}\) passing through a capacitance vector \(\mathbf{c}_{j}\) can be decoded as \(\mathbf{r}_{j}=\left\{r_{1j},r_{2j},\cdots,r_{NTj}\right\}\), as follows:  
\[\mathbf{r}_{j} = \mathbf{X}_{j}\mathbf{H}^{\top}=\left(\alpha V_{TX}\mathbf{H}+\mathbf{Z}_{j} \right)\mathbf{H}^{\top}\] \[\simeq \alpha V_{TX}\cdot N_{code}\cdot N_{chip}\cdot\mathbf{I}_{NT}\]  
where \(\alpha\) is the voltage-to-voltage conversion parameter from the driver to the receiver circuit. It will be determined by the input network including \(\mathbf{c}_{j}\), the feedback components of the amplifier, and the gain of the post-stage filters. \(V_{TX}\) is the reference voltage level for generating the TX driving sequence in conjunction with \(\mathbf{H}\) matrix. \(\mathbf{Z}_{j}\) is an error and noise vector at receiver \(j\) originating from different path characteristics and noise components. In [8; 16], it was additive to the final decoded output for simplicity. To extract the SNR based on the length of spreading codes (\(\mathbf{H}\)), it is added to the capacitive signals \(\mathbf{X}_{j}\). In this paper, only the dynamic components for \(\mathbf{Z}_{j}\) was considered. If \(\mathbf{Z}_{j}\) can be minimized as a zero vector, after being decoded via multiplication by \(\mathbf{H}^{\top}\), \(\mathbf{H}\) is then converted to \(\left(N_{code}\times N_{chip}\right)\cdot\mathbf{I}_{NT}\), where \(\mathbf{I}_{NT}\) is the \(NT\times NT\) identity matrix. For the construction of \(\mathbf{H}\) satisfying (1), entire or partial rows of the Hadamard matrix \(\mathbf{H}^{*}\) can be utilized, as follows:  
\[\mathbf{H}=\mathbf{H}^{*}\otimes\mathbf{I}_{1,N_{chip}}\otimes\left[-1,\ \ \ 1\right] \tag{2}\]  
where \(\otimes\) is the Kronecker product added to the alternating current (AC) signal to detect the capacitive element, and \(\mathbf{J}_{1,N_{chip}}\) is an \(1\times N_{chip}\) matrix of ones. The number of columns in \(\mathbf{H}^{*}\) is defined as \(N_{code}\). It is assumed that \(N_{chip}\) is predetermined by analog and digital sensing circuits for the given sensor device. We define \(T_{chip}\) as a unit chip period; thus, the length of the total code sequence is \(N_{code}\times N_{chip}\times T_{chip}\). Figure 1 shows an example of two-channel simultaneous driving and sensing of capacitive signals in a touch panel based on (1) and (2). For simplicity, \(\mathbf{H}^{*}\) is chosen as the Hadamard matrix with order two. To pass the capacitive elements \(c_{11}\) and \(c_{21}\), it is expanded to \(\mathbf{H}\) by (2) and then used to generate actual driving signals, \(\mathbf{X}_{j}=\alpha\cdot V_{TX}\cdot\mathbf{H}\) in (1). The AC signals for TX1 and TX2 propagate along \(c_{11}\) and \(c_{21}\), respectively. After multiplication by the operational gain \(\alpha\) at receiver \(j\), the acquired charges are detected by the identity, \(Q=CV\). Because there are two codes per TX channel, the detected charges are represented as two sample voltages, which are equivalent to the integrated current in the circuit capacitance during each \(N_{code}\times N_{chip}\) period. These two samples are then decoded using \(\mathbf{H}^{\top}\).