Hadamard matrix based projected mutual capacitance touch panel decoding
First Claim
1. A method of decoding a touch upon a touch panel, by a touch panel decoding circuit coupled to the touch panel, the touch panel comprising M drive channels and N sense channels, the method comprising a scan of the touch panel, a scan comprising the steps, for each column Ci of an excitation matrix E, and i=1 to N:
- a. generating a product of Ci and a cover code, the cover code comprising a matrix, CC, having M rows and N columns, where generating the product of Ci and the cover code comprises generating the product of Ci and the ith column, CCi, of the cover code matrix, and where coefficients of the cover code comprise at least one of real-values, complex values, or a value that is one of −
1, +1, and 0;
b. driving the M drive channels with M drive signals generated by the product of Ci and the cover code; and
c. receiving and demodulating the N sense channels to form an M×
N matrix of touch panel decoding data, wherein the demodulating is performed using the inverse matrix, E−
1, of the excitation matrix, E.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems for and methods of decoding the coordinates a touch upon a touch panel. The touch panel comprises drive channels and sense channels. A Hadamard excitation matrix and a cover code are used to generate drive signals to the drive channels of the touch panel. Sense channels of the touch panel are demodulated and decoded using an inverse excitation matrix. The inverse of an Hadamard excitation matrix is the same as the Hadamard excitation matrix. A Hadamard excitation matrix is orthogonal and enables the use of cyclic extension of excitation of the drive signals to reduce the effect of phase shift of drive signals propagated to the sense channels. The cover code enables reduction of the dynamic range of amplifiers at the sense channels.
-
Citations
29 Claims
-
1. A method of decoding a touch upon a touch panel, by a touch panel decoding circuit coupled to the touch panel, the touch panel comprising M drive channels and N sense channels, the method comprising a scan of the touch panel, a scan comprising the steps, for each column Ci of an excitation matrix E, and i=1 to N:
-
a. generating a product of Ci and a cover code, the cover code comprising a matrix, CC, having M rows and N columns, where generating the product of Ci and the cover code comprises generating the product of Ci and the ith column, CCi, of the cover code matrix, and where coefficients of the cover code comprise at least one of real-values, complex values, or a value that is one of −
1, +1, and 0;b. driving the M drive channels with M drive signals generated by the product of Ci and the cover code; and c. receiving and demodulating the N sense channels to form an M×
N matrix of touch panel decoding data, wherein the demodulating is performed using the inverse matrix, E−
1, of the excitation matrix, E. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A touch panel decoding circuit configured to be coupled to a touch panel, the touch panel having M drive channels and N sense channels, the decoding circuit comprising:
-
a. an invertible excitation matrix, E, comprising at least N selectable columns, Ci, i=1 to N, each having at least M coefficients; and b. a cover code configured to be logically coupled to a selected one of the at least N selectable columns of the excitation matrix E, such that a product of the selected column and the cover code is configured to provide a drive signal to each of the M drive channels, the cover code comprising a matrix, CC, having M rows and N columns, where the product of the selected column, Ci, and the cover code comprises the product of Ci and the ith column, CCi, of the cover code matrix, and where coefficients of the cover code comprise at least one of real-values, complex values, or a value that is one of −
1, +1, and 0. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
Specification